fastlane-plugin-alioss 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 981fe34e7c62cfb03bd85a920e1ae094474f3f222f2d11b072574c87606fbaad
|
4
|
+
data.tar.gz: 517a60e29e26ee0a9a88d3c60f3d008fc91ab71169c1838562b0e933f0b8256d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 55774636d73d5b0db4ae66a3c8e92edf26e6696b878c892650748d33c8aea6733c39635b3cabba496cde32c638fbd3eb45696c57ca379a2399410ba7f485e2f9
|
7
|
+
data.tar.gz: 29e9041568666684a4744ec000c178015019fb3bf2ff56adb6000baab9d0c690a715cc1946611b76632a742eac524699368ffb59c61a074c5431acaa3fcb3995
|
data/lib/assets/index.html
CHANGED
@@ -1 +1 @@
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><title>Scan QRCode to download App</title><style type="text/css">body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center;background-color:#fff;min-height:100vh;display:flex;flex-direction:column;align-items:center;font-size:calc(10px + 1.5vmin);color:#000;padding:30px}.App-line{border-top:1px solid #e7ebed;width:100%;margin-top:8vmin}.App-icon{max-width:120px;max-height:120px;border-radius:20px}.App-box-0{background-color:#f2f6f8}.App-box-0,.App-box-1{cursor:pointer;width:100%;height:36px;display:flex;flex-direction:row;align-items:center;justify-content:center;font-size:calc(10px + .1vmin)}.App-box-1{background-color:#fff}.App-box-0:hover,.App-box-1:hover{background-color:#ffe4e1}.App-detail-text{font-size:calc(10px + .8vmin);color:#666}.App-install-button{cursor:pointer;background-color:#28caad;font-size:18px;font-weight:700;padding:8px 60px;margin:30px 0;border-radius:30px;color:#fff}.App-update-desc{width:80%;padding:8px;border:1px solid #e7ebed;background-color:#f7f7f7;font-size:calc(10px + .6vmin);color:#666}.App-logo{height:40vmin}.App-link{color:#09d3ac}</style></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(a){function e(e){for(var t,r,n=e[0],o=e[1],u=e[2],l=0,i=[];l<n.length;l++)r=n[l],Object.prototype.hasOwnProperty.call(p,r)&&p[r]&&i.push(p[r][0]),p[r]=0;for(t in o)Object.prototype.hasOwnProperty.call(o,t)&&(a[t]=o[t]);for(s&&s(e);i.length;)i.shift()();return c.push.apply(c,u||[]),f()}function f(){for(var e,t=0;t<c.length;t++){for(var r=c[t],n=!0,o=1;o<r.length;o++){var u=r[o];0!==p[u]&&(n=!1)}n&&(c.splice(t--,1),e=l(l.s=r[0]))}return e}var r={},p={1:0},c=[];function l(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return a[e].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.m=a,l.c=r,l.d=function(e,t,r){l.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(t,e){if(1&e&&(t=l(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(l.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)l.d(r,n,function(e){return t[e]}.bind(null,n));return r},l.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(t,"a",t),t},l.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},l.p="/";var t=this["webpackJsonpalioss-html"]=this["webpackJsonpalioss-html"]||[],n=t.push.bind(t);t.push=e,t=t.slice();for(var o=0;o<t.length;o++)e(t[o]);var s=n;f()}([])</script><script type="text/javascript">(this["webpackJsonpalioss-html"]=this["webpackJsonpalioss-html"]||[]).push([[2],[function(e,r,o){"use strict";e.exports=o(47)},function(e,r){e.exports=function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}},function(e,r,o){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.userAgentParser=function(e,r){var o="(?:^|[^A-Z0-9-_]|[^A-Z0-9-]_|sprd-)(?:".concat(e,")");try{var t=RegExp(o,"i").exec(r);return t?t.slice(1):null}catch(n){return null}}},function(e,r,o){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.variableReplacement=function(e,r){var o=new RegExp("\\$\\d","g");return null===e?"":e.replace(o,(function(e){var o=parseInt(e.substr(1),10);return r[o-1]||""}))}},function(e,r,o){var t=o(54),n=o(55),l=o(56);e.exports=function(e,r){return t(e)||n(e,r)||l()}},function(e,r,o){"use strict";var t=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var n=t(o(57));r.formatVersion=function(e,r){if(void 0===e)return"";var o=n.default(e,".").replace(new RegExp("_","g"),"."),t=o.split(".");return/^\d+$/.test(t.join(""))?0!==r&&Number.isInteger(parseFloat(o))?parseInt(o,10).toFixed(1):t.length>1&&null!==r?t.slice(0,r+1).join("."):o:o},r.parseBrowserEngineVersion=function(e,r){if(!r)return"";var o=new RegExp("".concat(r,"\\s*\\/?\\s*((?:(?=\\d+\\.\\d)\\d+[.\\d]*|\\d{1,7}(?=(?:\\D|$))))"),"i"),t=e.match(o);return t?t.pop():""}},function(e,r){var o,t=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];r.getSymbolSize=function(e){if(!e)throw new Error('"version" cannot be null or undefined');if(e<1||e>40)throw new Error('"version" should be in range from 1 to 40');return 4*e+17},r.getSymbolTotalCodewords=function(e){return t[e]},r.getBCHDigit=function(e){for(var r=0;0!==e;)r++,e>>>=1;return r},r.setToSJISFunction=function(e){if("function"!==typeof e)throw new Error('"toSJISFunc" is not a valid function.');o=e},r.isKanjiModeEnabled=function(){return"undefined"!==typeof o},r.toSJIS=function(e){return o(e)}},function(e,r,o){var t=o(33),n=o(34);r.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},r.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},r.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},r.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},r.MIXED={bit:-1},r.getCharCountIndicator=function(e,r){if(!e.ccBits)throw new Error("Invalid mode: "+e);if(!t.isValid(r))throw new Error("Invalid version: "+r);return r>=1&&r<10?e.ccBits[0]:r<27?e.ccBits[1]:e.ccBits[2]},r.getBestModeForData=function(e){return n.testNumeric(e)?r.NUMERIC:n.testAlphanumeric(e)?r.ALPHANUMERIC:n.testKanji(e)?r.KANJI:r.BYTE},r.toString=function(e){if(e&&e.id)return e.id;throw new Error("Invalid mode")},r.isValid=function(e){return e&&e.bit&&e.ccBits},r.from=function(e,o){if(r.isValid(e))return e;try{return function(e){if("string"!==typeof e)throw new Error("Param is not a string");switch(e.toLowerCase()){case"numeric":return r.NUMERIC;case"alphanumeric":return r.ALPHANUMERIC;case"kanji":return r.KANJI;case"byte":return r.BYTE;default:throw new Error("Unknown mode: "+e)}}(e)}catch(t){return o}}},function(e,r,o){"use strict";function t(e){return function(e){if(Array.isArray(e)){for(var r=0,o=new Array(e.length);r<e.length;r++)o[r]=e[r];return o}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}o.d(r,"a",(function(){return t}))},function(e,r,o){"use strict";var t=o(18);l.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()}catch(r){return!1}}();var n=l.TYPED_ARRAY_SUPPORT?2147483647:1073741823;function l(e,r,o){return l.TYPED_ARRAY_SUPPORT||this instanceof l?"number"===typeof e?d(this,e):function(e,r,o,t){if("number"===typeof r)throw new TypeError('"value" argument must not be a number');if("undefined"!==typeof ArrayBuffer&&r instanceof ArrayBuffer)return function(e,r,o,t){if(o<0||r.byteLength<o)throw new RangeError("'offset' is out of bounds");if(r.byteLength<o+(t||0))throw new RangeError("'length' is out of bounds");var n;n=void 0===o&&void 0===t?new Uint8Array(r):void 0===t?new Uint8Array(r,o):new Uint8Array(r,o,t);l.TYPED_ARRAY_SUPPORT?n.__proto__=l.prototype:n=m(e,n);return n}(e,r,o,t);if("string"===typeof r)return function(e,r){var o=0|s(r),t=a(e,o),n=t.write(r);n!==o&&(t=t.slice(0,n));return t}(e,r);return function(e,r){if(l.isBuffer(r)){var o=0|i(r.length),t=a(e,o);return 0===t.length?t:(r.copy(t,0,0,o),t)}if(r){if("undefined"!==typeof ArrayBuffer&&r.buffer instanceof ArrayBuffer||"length"in r)return"number"!==typeof r.length||(n=r.length)!==n?a(e,0):m(e,r);if("Buffer"===r.type&&Array.isArray(r.data))return m(e,r.data)}var n;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,r)}(this,e,r,o):new l(e,r,o)}function i(e){if(e>=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return 0|e}function a(e,r){var o;return l.TYPED_ARRAY_SUPPORT?(o=new Uint8Array(r)).__proto__=l.prototype:(null===(o=e)&&(o=new l(r)),o.length=r),o}function d(e,r){var o=a(e,r<0?0:0|i(r));if(!l.TYPED_ARRAY_SUPPORT)for(var t=0;t<r;++t)o[t]=0;return o}function m(e,r){for(var o=r.length<0?0:0|i(r.length),t=a(e,o),n=0;n<o;n+=1)t[n]=255&r[n];return t}function u(e,r){var o;r=r||1/0;for(var t=e.length,n=null,l=[],i=0;i<t;++i){if((o=e.charCodeAt(i))>55295&&o<57344){if(!n){if(o>56319){(r-=3)>-1&&l.push(239,191,189);continue}if(i+1===t){(r-=3)>-1&&l.push(239,191,189);continue}n=o;continue}if(o<56320){(r-=3)>-1&&l.push(239,191,189),n=o;continue}o=65536+(n-55296<<10|o-56320)}else n&&(r-=3)>-1&&l.push(239,191,189);if(n=null,o<128){if((r-=1)<0)break;l.push(o)}else if(o<2048){if((r-=2)<0)break;l.push(o>>6|192,63&o|128)}else if(o<65536){if((r-=3)<0)break;l.push(o>>12|224,o>>6&63|128,63&o|128)}else{if(!(o<1114112))throw new Error("Invalid code point");if((r-=4)<0)break;l.push(o>>18|240,o>>12&63|128,o>>6&63|128,63&o|128)}}return l}function s(e){return l.isBuffer(e)?e.length:"undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer)?e.byteLength:("string"!==typeof e&&(e=""+e),0===e.length?0:u(e).length)}l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"undefined"!==typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1})),l.prototype.write=function(e,r,o){void 0===r?(o=this.length,r=0):void 0===o&&"string"===typeof r?(o=this.length,r=0):isFinite(r)&&(r|=0,isFinite(o)?o|=0:o=void 0);var t=this.length-r;if((void 0===o||o>t)&&(o=t),e.length>0&&(o<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");return function(e,r,o,t){return function(e,r,o,t){for(var n=0;n<t&&!(n+o>=r.length||n>=e.length);++n)r[n+o]=e[n];return n}(u(r,e.length-o),e,o,t)}(this,e,r,o)},l.prototype.slice=function(e,r){var o,t=this.length;if((e=~~e)<0?(e+=t)<0&&(e=0):e>t&&(e=t),(r=void 0===r?t:~~r)<0?(r+=t)<0&&(r=0):r>t&&(r=t),r<e&&(r=e),l.TYPED_ARRAY_SUPPORT)(o=this.subarray(e,r)).__proto__=l.prototype;else{var n=r-e;o=new l(n,void 0);for(var i=0;i<n;++i)o[i]=this[i+e]}return o},l.prototype.copy=function(e,r,o,t){if(o||(o=0),t||0===t||(t=this.length),r>=e.length&&(r=e.length),r||(r=0),t>0&&t<o&&(t=o),t===o)return 0;if(0===e.length||0===this.length)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(o<0||o>=this.length)throw new RangeError("sourceStart out of bounds");if(t<0)throw new RangeError("sourceEnd out of bounds");t>this.length&&(t=this.length),e.length-r<t-o&&(t=e.length-r+o);var n,i=t-o;if(this===e&&o<r&&r<t)for(n=i-1;n>=0;--n)e[n+r]=this[n+o];else if(i<1e3||!l.TYPED_ARRAY_SUPPORT)for(n=0;n<i;++n)e[n+r]=this[n+o];else Uint8Array.prototype.set.call(e,this.subarray(o,o+i),r);return i},l.prototype.fill=function(e,r,o){if("string"===typeof e){if("string"===typeof r?(r=0,o=this.length):"string"===typeof o&&(o=this.length),1===e.length){var t=e.charCodeAt(0);t<256&&(e=t)}}else"number"===typeof e&&(e&=255);if(r<0||this.length<r||this.length<o)throw new RangeError("Out of range index");if(o<=r)return this;var n;if(r>>>=0,o=void 0===o?this.length:o>>>0,e||(e=0),"number"===typeof e)for(n=r;n<o;++n)this[n]=e;else{var i=l.isBuffer(e)?e:new l(e),a=i.length;for(n=0;n<o-r;++n)this[n+r]=i[n%a]}return this},l.concat=function(e,r){if(!t(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return a(null,0);var o;if(void 0===r)for(r=0,o=0;o<e.length;++o)r+=e[o].length;var n=d(null,r),i=0;for(o=0;o<e.length;++o){var m=e[o];if(!l.isBuffer(m))throw new TypeError('"list" argument must be an Array of Buffers');m.copy(n,i),i+=m.length}return n},l.byteLength=s,l.prototype._isBuffer=!0,l.isBuffer=function(e){return!(null==e||!e._isBuffer)},e.exports.alloc=function(e){var r=new l(e);return r.fill(0),r},e.exports.from=function(e){return new l(e)}},function(e,r,o){"use strict";function t(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}o.d(r,"a",(function(){return t}))},function(e,r,o){var t=o(30)(Object,"create");e.exports=t},function(e,r,o){var t=o(127);e.exports=function(e,r){for(var o=e.length;o--;)if(t(e[o][0],r))return o;return-1}},function(e,r,o){var t=o(133);e.exports=function(e,r){var o=e.__data__;return t(r)?o["string"==typeof r?"string":"hash"]:o.map}},function(e,r,o){var t=o(15).Symbol;e.exports=t},function(e,r,o){var t=o(58),n="object"==typeof self&&self&&self.Object===Object&&self,l=t||n||Function("return this")();e.exports=l},function(e,r){var o=Array.isArray;e.exports=o},function(e,r,o){var t=o(25),n=o(62),l="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||n(e)&&t(e)==l}},function(e,r){var o={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==o.call(e)}},function(e,r){r.L={bit:1},r.M={bit:0},r.Q={bit:3},r.H={bit:2},r.isValid=function(e){return e&&"undefined"!==typeof e.bit&&e.bit>=0&&e.bit<4},r.from=function(e,o){if(r.isValid(e))return e;try{return function(e){if("string"!==typeof e)throw new Error("Param is not a string");switch(e.toLowerCase()){case"l":case"low":return r.L;case"m":case"medium":return r.M;case"q":case"quartile":return r.Q;case"h":case"high":return r.H;default:throw new Error("Unknown EC Level: "+e)}}(e)}catch(t){return o}}},function(e,r,o){"use strict";function t(e,r){for(var o=e.toString();o.length<r;)o="0"+o;return o}function n(e){return t(e,2)}function l(r,o){"string"!==typeof r&&(o=r,r=e.exports.ISO8601_FORMAT),o||(o=e.exports.now());var l=n(o.getDate()),i=n(o.getMonth()+1),a=n(o.getFullYear()),d=n(a.substring(2,4)),m=r.indexOf("yyyy")>-1?a:d,u=n(o.getHours()),s=n(o.getMinutes()),g=n(o.getSeconds()),c=t(o.getMilliseconds(),3),x=function(e){var r=Math.abs(e),o=String(Math.floor(r/60)),t=String(r%60);return 1===o.length&&(o="0"+o),1===t.length&&(t="0"+t),e<0?"+"+o+t:"-"+o+t}(o.getTimezoneOffset());return r.replace(/dd/g,l).replace(/MM/g,i).replace(/y{1,4}/g,m).replace(/hh/g,u).replace(/mm/g,s).replace(/ss/g,g).replace(/SSS/g,c).replace(/O/g,x)}function i(e,r,o,t){e["set"+(t?"":"UTC")+r](o)}e.exports=l,e.exports.asString=l,e.exports.parse=function(r,o,t){if(!r)throw new Error("pattern must be supplied");return function(r,o,t){var n=r.indexOf("O")<0,l=[{pattern:/y{1,4}/,regexp:"\\d{1,4}",fn:function(e,r){i(e,"FullYear",r,n)}},{pattern:/MM/,regexp:"\\d{1,2}",fn:function(e,r){i(e,"Month",r-1,n)}},{pattern:/dd/,regexp:"\\d{1,2}",fn:function(e,r){i(e,"Date",r,n)}},{pattern:/hh/,regexp:"\\d{1,2}",fn:function(e,r){i(e,"Hours",r,n)}},{pattern:/mm/,regexp:"\\d\\d",fn:function(e,r){i(e,"Minutes",r,n)}},{pattern:/ss/,regexp:"\\d\\d",fn:function(e,r){i(e,"Seconds",r,n)}},{pattern:/SSS/,regexp:"\\d\\d\\d",fn:function(e,r){i(e,"Milliseconds",r,n)}},{pattern:/O/,regexp:"[+-]\\d{3,4}|Z",fn:function(e,r){"Z"===r&&(r=0);var o=Math.abs(r),t=(r>0?-1:1)*(o%100+60*Math.floor(o/100));e.setUTCMinutes(e.getUTCMinutes()+t)}}],a=l.reduce((function(e,r){return r.pattern.test(e.regexp)?(r.index=e.regexp.match(r.pattern).index,e.regexp=e.regexp.replace(r.pattern,"("+r.regexp+")")):r.index=-1,e}),{regexp:r,index:[]}),d=l.filter((function(e){return e.index>-1}));d.sort((function(e,r){return e.index-r.index}));var m=new RegExp(a.regexp).exec(o);if(m){var u=t||e.exports.now();return d.forEach((function(e,r){e.fn(u,m[r+1])})),u}throw new Error("String '"+o+"' could not be parsed as '"+r+"'")}(r,o,t)},e.exports.now=function(){return new Date},e.exports.ISO8601_FORMAT="yyyy-MM-ddThh:mm:ss.SSS",e.exports.ISO8601_WITH_TZ_OFFSET_FORMAT="yyyy-MM-ddThh:mm:ss.SSSO",e.exports.DATETIME_FORMAT="dd MM yyyy hh:mm:ss.SSS",e.exports.ABSOLUTETIME_FORMAT="hh:mm:ss.SSS"},function(e,r,o){"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable;function i(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var r={},o=0;o<10;o++)r["_"+String.fromCharCode(o)]=o;if("0123456789"!==Object.getOwnPropertyNames(r).map((function(e){return r[e]})).join(""))return!1;var t={};return"abcdefghijklmnopqrst".split("").forEach((function(e){t[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},t)).join("")}catch(n){return!1}}()?Object.assign:function(e,r){for(var o,a,d=i(e),m=1;m<arguments.length;m++){for(var u in o=Object(arguments[m]))n.call(o,u)&&(d[u]=o[u]);if(t){a=t(o);for(var s=0;s<a.length;s++)l.call(o,a[s])&&(d[a[s]]=o[a[s]])}}return d}},function(e,r,o){"use strict";var t=o(4),n=o(1);Object.defineProperty(r,"__esModule",{value:!0});var l=o(5),i=o(3),a=o(2),d=o(74),m=o(75),u={36:"360 Phone Browser","3B":"360 Browser",AA:"Avant Browser",AB:"ABrowse",AF:"ANT Fresco",AG:"ANTGalio",AL:"Aloha Browser",AM:"Amaya",AO:"Amigo",AN:"Android Browser",AR:"Arora",AV:"Amiga Voyager",AW:"Amiga Aweb",AT:"Atomic Web Browser",AS:"Avast Secure Browser",BB:"BlackBerry Browser",BD:"Baidu Browser",BS:"Baidu Spark",BE:"Beonex",BJ:"Bunjalloo",BL:"B-Line",BR:"Brave",BK:"BriskBard",BX:"BrowseX",CA:"Camino",CC:"Coc Coc",CD:"Comodo Dragon",C1:"Coast",CX:"Charon",CF:"Chrome Frame",HC:"Headless Chrome",CH:"Chrome",CI:"Chrome Mobile iOS",CK:"Conkeror",CM:"Chrome Mobile",CN:"CoolNovo",CO:"CometBird",CP:"ChromePlus",CR:"Chromium",CY:"Cyberfox",CS:"Cheshire",CU:"Cunaguaro",DB:"dbrowser",DE:"Deepnet Explorer",DF:"Dolphin",DO:"Dorado",DL:"Dooble",DI:"Dillo",EI:"Epic",EL:"Elinks",EB:"Element Browser",EP:"GNOME Web",ES:"Espial TV Browser",FB:"Firebird",FD:"Fluid",FE:"Fennec",FF:"Firefox",FK:"Firefox Focus",FL:"Flock",FM:"Firefox Mobile",FW:"Fireweb",FN:"Fireweb Navigator",GA:"Galeon",GE:"Google Earth",HJ:"HotJava",IA:"Iceape",IB:"IBrowse",IC:"iCab",I2:"iCab Mobile",I1:"Iridium",ID:"IceDragon",IV:"Isivioo",IW:"Iceweasel",IE:"Internet Explorer",IM:"IE Mobile",IR:"Iron",JS:"Jasmine",JI:"Jig Browser",KI:"Kindle Browser",KM:"K-meleon",KO:"Konqueror",KP:"Kapiko",KY:"Kylo",KZ:"Kazehakase",LB:"Liebao",LG:"LG Browser",LI:"Links",LU:"LuaKit",LS:"Lunascape",LX:"Lynx",MB:"MicroB",MC:"NCSA Mosaic",ME:"Mercury",MF:"Mobile Safari",MI:"Midori",MU:"MIUI Browser",MS:"Mobile Silk",MX:"Maxthon",NB:"Nokia Browser",NO:"Nokia OSS Browser",NV:"Nokia Ovi Browser",NE:"NetSurf",NF:"NetFront",NL:"NetFront Life",NP:"NetPositive",NS:"Netscape",NT:"NTENT Browser",OB:"Obigo",OD:"Odyssey Web Browser",OF:"Off By One",OE:"ONE Browser",OI:"Opera Mini",OM:"Opera Mobile",OP:"Opera",ON:"Opera Next",OO:"Opera Touch",OR:"Oregano",OV:"Openwave Mobile Browser",OW:"OmniWeb",OT:"Otter Browser",PL:"Palm Blazer",PM:"Pale Moon",PP:"Oppo Browser",PR:"Palm Pre",PU:"Puffin",PW:"Palm WebPro",PA:"Palmscape",PX:"Phoenix",PO:"Polaris",PT:"Polarity",PS:"Microsoft Edge",QQ:"QQ Browser",QT:"Qutebrowser",QZ:"QupZilla",RK:"Rekonq",RM:"RockMelt",SB:"Samsung Browser",SA:"Sailfish Browser",SC:"SEMC-Browser",SE:"Sogou Explorer",SF:"Safari",SH:"Shiira",SK:"Skyfire",SS:"Seraphic Sraf",SL:"Sleipnir",SM:"SeaMonkey",SN:"Snowshoe",SR:"Sunrise",SP:"SuperBird",ST:"Streamy",SX:"Swiftfox",TZ:"Tizen Browser",TS:"TweakStyle",UC:"UC Browser",VI:"Vivaldi",VB:"Vision Mobile Browser",WE:"WebPositive",WF:"Waterfox",WO:"wOSBrowser",WT:"WeTab Browser",YA:"Yandex Browser",XI:"Xiino"},s=["36","PU","SK","MF","OI","OM","DB","ST","BL","IV","FM","C1","AL","SA"],g=function e(r){var o=this;n(this,e),this.options={versionTruncation:1},this.parse=function(e){var r={type:"",name:"",version:"",engine:"",engineVersion:""},n=!0,u=!1,s=void 0;try{for(var g,c=d[Symbol.iterator]();!(n=(g=c.next()).done);n=!0){var x=g.value,p=a.userAgentParser(x.regex,e);if(p){var f=i.variableReplacement(x.version,p),S=l.formatVersion(f,o.options.versionTruncation),h=S&&parseFloat(l.formatVersion(f,1))||"";if(x.engine&&(r.engine=x.engine.default,x.engine&&x.engine.versions&&h)){var v=Object.entries(x.engine.versions).sort((function(e,r){return parseFloat(e[0])>parseFloat(r[0])?1:-1})),A=!0,b=!1,T=void 0;try{for(var M,P=v[Symbol.iterator]();!(A=(M=P.next()).done);A=!0){var y=M.value,L=t(y,2),E=L[0],_=L[1];parseFloat(E)<=h&&(r.engine=_)}}catch(I){b=!0,T=I}finally{try{A||null==P.return||P.return()}finally{if(b)throw T}}}r.type="browser",r.name=i.variableReplacement(x.name,p),r.version=S;break}}}catch(I){u=!0,s=I}finally{try{n||null==c.return||c.return()}finally{if(u)throw s}}if(!r.engine){var w=!0,B=!1,C=void 0;try{for(var G,N=m[Symbol.iterator]();!(w=(G=N.next()).done);w=!0){var O=G.value;if(RegExp(O.regex,"i").exec(e)){r.engine=O.name;break}}}catch(I){B=!0,C=I}finally{try{w||null==N.return||N.return()}finally{if(B)throw C}}}return r.engineVersion=l.formatVersion(l.parseBrowserEngineVersion(e,r.engine),o.options.versionTruncation),r},this.options=Object.assign({},this.options,r)};g.getBrowserShortName=function(e){for(var r=0,o=Object.entries(u);r<o.length;r++){var n=o[r],l=t(n,2),i=l[0];if(l[1]===e)return i}return""},g.isMobileOnlyBrowser=function(e){return s.includes(g.getBrowserShortName(e))},r.default=g},function(e,r,o){var t=o(14),n=o(59),l=o(16),i=o(17),a=1/0,d=t?t.prototype:void 0,m=d?d.toString:void 0;e.exports=function e(r){if("string"==typeof r)return r;if(l(r))return n(r,e)+"";if(i(r))return m?m.call(r):"";var o=r+"";return"0"==o&&1/r==-a?"-0":o}},function(e,r){var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(t){"object"===typeof window&&(o=window)}e.exports=o},function(e,r,o){var t=o(14),n=o(60),l=o(61),i="[object Null]",a="[object Undefined]",d=t?t.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?a:i:d&&d in Object(e)?n(e):l(e)}},function(e,r,o){var t=o(66),n=o(67),l=o(68);e.exports=function(e,r,o){return r===r?l(e,r,o):t(e,n,o)}},function(e,r,o){var t=o(23);e.exports=function(e){return null==e?"":t(e)}},function(e,r,o){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.buildModel=function(e){return"Build"===(e=(e=e.replace(/_/g," ")).replace(RegExp(" TD$","i"),""))?"":e}},function(e,r,o){var t=o(104);e.exports=function(e,r,o){var n=null==e?void 0:t(e,r);return void 0===n?o:n}},function(e,r,o){var t=o(114),n=o(119);e.exports=function(e,r){var o=n(e,r);return t(o)?o:void 0}},function(e,r){e.exports=function(e){var r=typeof e;return null!=e&&("object"==r||"function"==r)}},function(e,r,o){var t=o(19),n=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],l=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];r.getBlocksCount=function(e,r){switch(r){case t.L:return n[4*(e-1)+0];case t.M:return n[4*(e-1)+1];case t.Q:return n[4*(e-1)+2];case t.H:return n[4*(e-1)+3];default:return}},r.getTotalCodewordsCount=function(e,r){switch(r){case t.L:return l[4*(e-1)+0];case t.M:return l[4*(e-1)+1];case t.Q:return l[4*(e-1)+2];case t.H:return l[4*(e-1)+3];default:return}}},function(e,r){r.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}},function(e,r){var o="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+",t="(?:(?![A-Z0-9 $%*+\\-./:]|"+(o=o.replace(/u/g,"\\u"))+")(?:.|[\r\n]))+";r.KANJI=new RegExp(o,"g"),r.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),r.BYTE=new RegExp(t,"g"),r.NUMERIC=new RegExp("[0-9]+","g"),r.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");var n=new RegExp("^"+o+"$"),l=new RegExp("^[0-9]+$"),i=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");r.testKanji=function(e){return n.test(e)},r.testNumeric=function(e){return l.test(e)},r.testAlphanumeric=function(e){return i.test(e)}},function(e,r){function o(e){if("number"===typeof e&&(e=e.toString()),"string"!==typeof e)throw new Error("Color should be defined as hex string");var r=e.slice().replace("#","").split("");if(r.length<3||5===r.length||r.length>8)throw new Error("Invalid hex color: "+e);3!==r.length&&4!==r.length||(r=Array.prototype.concat.apply([],r.map((function(e){return[e,e]})))),6===r.length&&r.push("F","F");var o=parseInt(r.join(""),16);return{r:o>>24&255,g:o>>16&255,b:o>>8&255,a:255&o,hex:"#"+r.slice(0,6).join("")}}r.getOptions=function(e){e||(e={}),e.color||(e.color={});var r="undefined"===typeof e.margin||null===e.margin||e.margin<0?4:e.margin,t=e.width&&e.width>=21?e.width:void 0,n=e.scale||4;return{width:t,scale:t?4:n,margin:r,color:{dark:o(e.color.dark||"#000000ff"),light:o(e.color.light||"#ffffffff")},type:e.type,rendererOpts:e.rendererOpts||{}}},r.getScale=function(e,r){return r.width&&r.width>=e+2*r.margin?r.width/(e+2*r.margin):r.scale},r.getImageWidth=function(e,o){var t=r.getScale(e,o);return Math.floor((e+2*o.margin)*t)},r.qrToImageData=function(e,o,t){for(var n=o.modules.size,l=o.modules.data,i=r.getScale(n,t),a=Math.floor((n+2*t.margin)*i),d=t.margin*i,m=[t.color.light,t.color.dark],u=0;u<a;u++)for(var s=0;s<a;s++){var g=4*(u*a+s),c=t.color.light;if(u>=d&&s>=d&&u<a-d&&s<a-d)c=m[l[Math.floor((u-d)/i)*n+Math.floor((s-d)/i)]?1:0];e[g++]=c.r,e[g++]=c.g,e[g++]=c.b,e[g]=c.a}}},function(e,r,o){"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(r){console.error(r)}}}(),e.exports=o(48)},function(e,r,o){"use strict";function t(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}o.d(r,"a",(function(){return t}))},function(e,r,o){"use strict";function t(e,r){for(var o=0;o<r.length;o++){var t=r[o];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}function n(e,r,o){return r&&t(e.prototype,r),o&&t(e,o),e}o.d(r,"a",(function(){return n}))},function(e,r,o){"use strict";function t(e){return(t=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}o.d(r,"a",(function(){return t}))},function(e,r,o){"use strict";var t=function(){if("undefined"!==typeof self)return self;if("undefined"!==typeof window)return window;if("undefined"!==typeof t)return t;throw new Error("unable to locate global object")}();e.exports=r=t.fetch,r.default=t.fetch.bind(t),r.Headers=t.Headers,r.Request=t.Request,r.Response=t.Response},function(e,r,o){"use strict";var t=o(1),n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},l=n(o(53)),i=n(o(86)),a=n(o(99)),d=n(o(101)),m=n(o(22)),u=o(103),s=n(o(29)),g=o(2),c=o(139);e.exports=function e(r){var o=this;t(this,e),this.options={skipBotDetection:!1,versionTruncation:1},this.parse=function(e){var r={client:o.clientParser.parse(e),os:o.operatingSystemParser.parse(e),device:o.deviceParser.parse(e),bot:o.options.skipBotDetection?null:o.botParser.parse(e)};if(!s.default(r,"device.brand")){var t=o.vendorFragmentParser.parse(e);t&&(r.device||(r.device=o.createDeviceObject()),r.device.brand=t)}var n=s.default(r,"os.name"),l=s.default(r,"os.version"),i=a.default.getOsFamily(s.default(r,"os.name"));return!s.default(r,"device.brand")&&["Apple TV","iOS","Mac"].includes(n)&&(r.device||(r.device=o.createDeviceObject()),r.device.brand="Apple"),!s.default(r,"device.type")&&"Android"===i&&["Chrome","Chrome Mobile"].includes(s.default(r,"client.name"))&&(g.userAgentParser("Chrome/[.0-9]* Mobile",e)?(r.device||(r.device=o.createDeviceObject()),r.device.type="smartphone"):g.userAgentParser("Chrome/[.0-9]* (?!Mobile)",e)&&(r.device||(r.device=o.createDeviceObject()),r.device.type="tablet")),(!s.default(r,"device.type")&&o.hasAndroidTabletFragment(e)||g.userAgentParser("Opera Tablet",e))&&(r.device||(r.device=o.createDeviceObject()),r.device.type="tablet"),!s.default(r,"device.type")&&o.hasAndroidMobileFragment(e)&&(r.device||(r.device=o.createDeviceObject()),r.device.type="smartphone"),s.default(r,"device.type")||"Android"!==n||""===l||(-1===c.versionCompare(l,"2.0")?(r.device||(r.device=o.createDeviceObject()),r.device.type="smartphone"):c.versionCompare(l,"3.0")>=0&&-1===c.versionCompare(l,"4.0")&&(r.device||(r.device=o.createDeviceObject()),r.device.type="tablet")),r.device&&"feature phone"===s.default(r,"device.type")&&"Android"===i&&(r.device.type="smartphone"),!s.default(r,"device.type")&&o.isToucheEnabled(e)&&("Windows RT"===n||"Windows"===n&&c.versionCompare(l,"8.0")>=0)&&(r.device||(r.device=o.createDeviceObject()),r.device.type="tablet"),g.userAgentParser("Opera TV Store",e)&&(r.device||(r.device=o.createDeviceObject()),r.device.type="television"),!s.default(r,"device.type")&&["Kylo","Espial TV Browser"].includes(s.default(r,"client.name"))&&(r.device||(r.device=o.createDeviceObject()),r.device.type="television"),!s.default(r,"device.type")&&o.isDesktop(r,i)&&(r.device||(r.device=o.createDeviceObject()),r.device.type="desktop"),r},this.hasAndroidMobileFragment=function(e){return g.userAgentParser("Android( [.0-9]+)?; Mobile;",e)},this.hasAndroidTabletFragment=function(e){return g.userAgentParser("Android( [.0-9]+)?; Tablet;",e)},this.isDesktop=function(e,r){return!!e.os&&(!o.usesMobileBrowser(e.client)&&a.default.getDesktopOsArray().includes(r))},this.usesMobileBrowser=function(e){return!!e&&("browser"===s.default(e,"type")&&m.default.isMobileOnlyBrowser(s.default(e,"name")))},this.isToucheEnabled=function(e){return g.userAgentParser("Touch",e)},this.createDeviceObject=function(){return{type:"",brand:"",model:""}},this.options=Object.assign({},this.options,r),this.clientParser=new l.default(this.options),this.deviceParser=new i.default,this.operatingSystemParser=new a.default(this.options),this.vendorFragmentParser=new d.default,this.botParser=new u}},function(e,r,o){"use strict";var t=o(43);var n,l=(n=o.n(t).a.toCanvas,function(){var e=Array.prototype.slice.call(arguments);return new Promise((function(r,o){e.push((function(e,t){e?o(e):r(t)})),n.apply(null,e)}))}),i=function(e){var r=e.canvas,o=e.content,t=e.width,n=void 0===t?0:t,i=e.nodeQrCodeOptions,m=void 0===i?{}:i;return m.errorCorrectionLevel=m.errorCorrectionLevel||d(o),a(o,m).then((function(e){return m.scale=0===n?void 0:n/e*4,l(r,o,m)}))},a=function(e,r){var o=document.createElement("canvas");return l(o,e,r).then((function(){return o.width}))},d=function(e){return e.length>36?"M":e.length>16?"Q":"H"},m=function(e){var r=e.canvas,o=(e.content,e.logo);if(o){var t=r.width,n=o.logoSize,l=void 0===n?.15:n,i=o.borderColor,a=o.bgColor,d=void 0===a?i||"#ffffff":a,m=o.borderSize,s=void 0===m?.05:m,g=o.crossOrigin,c=o.borderRadius,x=void 0===c?8:c,p=o.logoRadius,f=void 0===p?0:p,S="string"===typeof o?o:o.src,h=t*l,v=t*(1-l)/2,A=t*(l+s),b=t*(1-l-s)/2,T=r.getContext("2d");u(T)(b,b,A,A,x),T.fillStyle=d,T.fill();var M=new Image;(g||f)&&M.setAttribute("crossOrigin",g||"anonymous"),M.src=S;return new Promise((function(e,r){M.onload=function(){f?function(e){var r=document.createElement("canvas");r.width=v+h,r.height=v+h,r.getContext("2d").drawImage(e,v,v,h,h),u(T)(v,v,h,h,f),T.fillStyle=T.createPattern(r,"no-repeat"),T.fill()}(M):function(e){T.drawImage(e,v,v,h,h)}(M),e()}}))}},u=function(e){return function(r,o,t,n,l){var i=Math.min(t,n);return l>i/2&&(l=i/2),e.beginPath(),e.moveTo(r+l,o),e.arcTo(r+t,o,r+t,o+n,l),e.arcTo(r+t,o+n,r,o+n,l),e.arcTo(r,o+n,r,o,l),e.arcTo(r,o,r+t,o,l),e.closePath(),e}},s=function(e){return i(e).then((function(){return e})).then(m)},g=function(e,r){var o=e.src,t=document.createElement("a");t.download=r,t.href=o,document.body.appendChild(t),t.click(),document.body.removeChild(t)},c={toCanvas:s,toImage:function(e){var r=document.createElement("canvas");return e.canvas=r,e.logo&&("string"===typeof e.logo&&(e.logo={src:e.logo}),e.logo.crossOrigin="Anonymous"),s(e).then((function(){var o=e.image,t=void 0===o?new Image:o,n=e.downloadName,l=void 0===n?"qr-code":n,i=e.download;if(t.src=r.toDataURL(),!0===i||function(e){return"function"===typeof e}(i)){(i=!0===i?function(e){return e()}:i)((function(){g(t,l)}))}}))}};r.a=c},function(e,r,o){var t=o(140),n=o(141),l=o(162),i=o(163);function a(e,r,o,l,i){var a=[].slice.call(arguments,1),d=a.length,m="function"===typeof a[d-1];if(!m&&!t())throw new Error("Callback required as last argument");if(!m){if(d<1)throw new Error("Too few arguments provided");return 1===d?(o=r,r=l=void 0):2!==d||r.getContext||(l=o,o=r,r=void 0),new Promise((function(t,i){try{var a=n.create(o,l);t(e(a,r,l))}catch(d){i(d)}}))}if(d<2)throw new Error("Too few arguments provided");2===d?(i=o,o=r,r=l=void 0):3===d&&(r.getContext&&"undefined"===typeof i?(i=l,l=void 0):(i=l,l=o,o=r,r=void 0));try{var u=n.create(o,l);i(null,e(u,r,l))}catch(s){i(s)}}r.create=n.create,r.toCanvas=a.bind(null,l.render),r.toDataURL=a.bind(null,l.renderToDataURL),r.toString=a.bind(null,(function(e,r,o){return i.render(e,o)}))},function(e,r,o){"use strict";function t(e){return(t="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(e){return(n="function"===typeof Symbol&&"symbol"===t(Symbol.iterator)?function(e){return t(e)}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":t(e)})(e)}var l=o(10);function i(e,r){return!r||"object"!==n(r)&&"function"!==typeof r?Object(l.a)(e):r}o.d(r,"a",(function(){return i}))},function(e,r,o){"use strict";function t(e,r){return(t=Object.setPrototypeOf||function(e,r){return e.__proto__=r,e})(e,r)}function n(e,r){if("function"!==typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),r&&t(e,r)}o.d(r,"a",(function(){return n}))},,function(e,r,o){"use strict";var t=o(21),n="function"===typeof Symbol&&Symbol.for,l=n?Symbol.for("react.element"):60103,i=n?Symbol.for("react.portal"):60106,a=n?Symbol.for("react.fragment"):60107,d=n?Symbol.for("react.strict_mode"):60108,m=n?Symbol.for("react.profiler"):60114,u=n?Symbol.for("react.provider"):60109,s=n?Symbol.for("react.context"):60110,g=n?Symbol.for("react.forward_ref"):60112,c=n?Symbol.for("react.suspense"):60113;n&&Symbol.for("react.suspense_list");var x=n?Symbol.for("react.memo"):60115,p=n?Symbol.for("react.lazy"):60116;n&&Symbol.for("react.fundamental"),n&&Symbol.for("react.responder"),n&&Symbol.for("react.scope");var f="function"===typeof Symbol&&Symbol.iterator;function S(e){for(var r="https://reactjs.org/docs/error-decoder.html?invariant="+e,o=1;o<arguments.length;o++)r+="&args[]="+encodeURIComponent(arguments[o]);return"Minified React error #"+e+"; visit "+r+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v={};function A(e,r,o){this.props=e,this.context=r,this.refs=v,this.updater=o||h}function b(){}function T(e,r,o){this.props=e,this.context=r,this.refs=v,this.updater=o||h}A.prototype.isReactComponent={},A.prototype.setState=function(e,r){if("object"!==typeof e&&"function"!==typeof e&&null!=e)throw Error(S(85));this.updater.enqueueSetState(this,e,r,"setState")},A.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},b.prototype=A.prototype;var M=T.prototype=new b;M.constructor=T,t(M,A.prototype),M.isPureReactComponent=!0;var P={current:null},y={current:null},L=Object.prototype.hasOwnProperty,E={key:!0,ref:!0,__self:!0,__source:!0};function _(e,r,o){var t,n={},i=null,a=null;if(null!=r)for(t in void 0!==r.ref&&(a=r.ref),void 0!==r.key&&(i=""+r.key),r)L.call(r,t)&&!E.hasOwnProperty(t)&&(n[t]=r[t]);var d=arguments.length-2;if(1===d)n.children=o;else if(1<d){for(var m=Array(d),u=0;u<d;u++)m[u]=arguments[u+2];n.children=m}if(e&&e.defaultProps)for(t in d=e.defaultProps)void 0===n[t]&&(n[t]=d[t]);return{$$typeof:l,type:e,key:i,ref:a,props:n,_owner:y.current}}function w(e){return"object"===typeof e&&null!==e&&e.$$typeof===l}var B=/\/+/g,C=[];function G(e,r,o,t){if(C.length){var n=C.pop();return n.result=e,n.keyPrefix=r,n.func=o,n.context=t,n.count=0,n}return{result:e,keyPrefix:r,func:o,context:t,count:0}}function N(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>C.length&&C.push(e)}function O(e,r,o){return null==e?0:function e(r,o,t,n){var a=typeof r;"undefined"!==a&&"boolean"!==a||(r=null);var d=!1;if(null===r)d=!0;else switch(a){case"string":case"number":d=!0;break;case"object":switch(r.$$typeof){case l:case i:d=!0}}if(d)return t(n,r,""===o?"."+I(r,0):o),1;if(d=0,o=""===o?".":o+":",Array.isArray(r))for(var m=0;m<r.length;m++){var u=o+I(a=r[m],m);d+=e(a,u,t,n)}else if(null===r||"object"!==typeof r?u=null:u="function"===typeof(u=f&&r[f]||r["@@iterator"])?u:null,"function"===typeof u)for(r=u.call(r),m=0;!(a=r.next()).done;)d+=e(a=a.value,u=o+I(a,m++),t,n);else if("object"===a)throw t=""+r,Error(S(31,"[object Object]"===t?"object with keys {"+Object.keys(r).join(", ")+"}":t,""));return d}(e,"",r,o)}function I(e,r){return"object"===typeof e&&null!==e&&null!=e.key?function(e){var r={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,(function(e){return r[e]}))}(e.key):r.toString(36)}function X(e,r){e.func.call(e.context,r,e.count++)}function D(e,r,o){var t=e.result,n=e.keyPrefix;e=e.func.call(e.context,r,e.count++),Array.isArray(e)?F(e,t,o,(function(e){return e})):null!=e&&(w(e)&&(e=function(e,r){return{$$typeof:l,type:e.type,key:r,ref:e.ref,props:e.props,_owner:e._owner}}(e,n+(!e.key||r&&r.key===e.key?"":(""+e.key).replace(B,"$&/")+"/")+o)),t.push(e))}function F(e,r,o,t,n){var l="";null!=o&&(l=(""+o).replace(B,"$&/")+"/"),O(e,D,r=G(r,l,t,n)),N(r)}function $(){var e=P.current;if(null===e)throw Error(S(321));return e}var R={Children:{map:function(e,r,o){if(null==e)return e;var t=[];return F(e,t,null,r,o),t},forEach:function(e,r,o){if(null==e)return e;O(e,X,r=G(null,null,r,o)),N(r)},count:function(e){return O(e,(function(){return null}),null)},toArray:function(e){var r=[];return F(e,r,null,(function(e){return e})),r},only:function(e){if(!w(e))throw Error(S(143));return e}},createRef:function(){return{current:null}},Component:A,PureComponent:T,createContext:function(e,r){return void 0===r&&(r=null),(e={$$typeof:s,_calculateChangedBits:r,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:u,_context:e},e.Consumer=e},forwardRef:function(e){return{$$typeof:g,render:e}},lazy:function(e){return{$$typeof:p,_ctor:e,_status:-1,_result:null}},memo:function(e,r){return{$$typeof:x,type:e,compare:void 0===r?null:r}},useCallback:function(e,r){return $().useCallback(e,r)},useContext:function(e,r){return $().useContext(e,r)},useEffect:function(e,r){return $().useEffect(e,r)},useImperativeHandle:function(e,r,o){return $().useImperativeHandle(e,r,o)},useDebugValue:function(){},useLayoutEffect:function(e,r){return $().useLayoutEffect(e,r)},useMemo:function(e,r){return $().useMemo(e,r)},useReducer:function(e,r,o){return $().useReducer(e,r,o)},useRef:function(e){return $().useRef(e)},useState:function(e){return $().useState(e)},Fragment:a,Profiler:m,StrictMode:d,Suspense:c,createElement:_,cloneElement:function(e,r,o){if(null===e||void 0===e)throw Error(S(267,e));var n=t({},e.props),i=e.key,a=e.ref,d=e._owner;if(null!=r){if(void 0!==r.ref&&(a=r.ref,d=y.current),void 0!==r.key&&(i=""+r.key),e.type&&e.type.defaultProps)var m=e.type.defaultProps;for(u in r)L.call(r,u)&&!E.hasOwnProperty(u)&&(n[u]=void 0===r[u]&&void 0!==m?m[u]:r[u])}var u=arguments.length-2;if(1===u)n.children=o;else if(1<u){m=Array(u);for(var s=0;s<u;s++)m[s]=arguments[s+2];n.children=m}return{$$typeof:l,type:e.type,key:i,ref:a,props:n,_owner:d}},createFactory:function(e){var r=_.bind(null,e);return r.type=e,r},isValidElement:w,version:"16.12.0",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentDispatcher:P,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:y,IsSomeRendererActing:{current:!1},assign:t}},k={default:R},U=k&&R||k;e.exports=U.default||U},function(e,r,o){"use strict";var t=o(0),n=o(21),l=o(49);function i(e){for(var r="https://reactjs.org/docs/error-decoder.html?invariant="+e,o=1;o<arguments.length;o++)r+="&args[]="+encodeURIComponent(arguments[o]);return"Minified React error #"+e+"; visit "+r+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!t)throw Error(i(227));var a=null,d={};function m(){if(a)for(var e in d){var r=d[e],o=a.indexOf(e);if(!(-1<o))throw Error(i(96,e));if(!s[o]){if(!r.extractEvents)throw Error(i(97,e));for(var t in s[o]=r,o=r.eventTypes){var n=void 0,l=o[t],m=r,c=t;if(g.hasOwnProperty(c))throw Error(i(99,c));g[c]=l;var x=l.phasedRegistrationNames;if(x){for(n in x)x.hasOwnProperty(n)&&u(x[n],m,c);n=!0}else l.registrationName?(u(l.registrationName,m,c),n=!0):n=!1;if(!n)throw Error(i(98,t,e))}}}}function u(e,r,o){if(c[e])throw Error(i(100,e));c[e]=r,x[e]=r.eventTypes[o].dependencies}var s=[],g={},c={},x={};function p(e,r,o,t,n,l,i,a,d){var m=Array.prototype.slice.call(arguments,3);try{r.apply(o,m)}catch(u){this.onError(u)}}var f=!1,S=null,h=!1,v=null,A={onError:function(e){f=!0,S=e}};function b(e,r,o,t,n,l,i,a,d){f=!1,S=null,p.apply(A,arguments)}var T=null,M=null,P=null;function y(e,r,o){var t=e.type||"unknown-event";e.currentTarget=P(o),function(e,r,o,t,n,l,a,d,m){if(b.apply(this,arguments),f){if(!f)throw Error(i(198));var u=S;f=!1,S=null,h||(h=!0,v=u)}}(t,r,void 0,e),e.currentTarget=null}function L(e,r){if(null==r)throw Error(i(30));return null==e?r:Array.isArray(e)?Array.isArray(r)?(e.push.apply(e,r),e):(e.push(r),e):Array.isArray(r)?[e].concat(r):[e,r]}function E(e,r,o){Array.isArray(e)?e.forEach(r,o):e&&r.call(o,e)}var _=null;function w(e){if(e){var r=e._dispatchListeners,o=e._dispatchInstances;if(Array.isArray(r))for(var t=0;t<r.length&&!e.isPropagationStopped();t++)y(e,r[t],o[t]);else r&&y(e,r,o);e._dispatchListeners=null,e._dispatchInstances=null,e.isPersistent()||e.constructor.release(e)}}function B(e){if(null!==e&&(_=L(_,e)),e=_,_=null,e){if(E(e,w),_)throw Error(i(95));if(h)throw e=v,h=!1,v=null,e}}var C={injectEventPluginOrder:function(e){if(a)throw Error(i(101));a=Array.prototype.slice.call(e),m()},injectEventPluginsByName:function(e){var r,o=!1;for(r in e)if(e.hasOwnProperty(r)){var t=e[r];if(!d.hasOwnProperty(r)||d[r]!==t){if(d[r])throw Error(i(102,r));d[r]=t,o=!0}}o&&m()}};function G(e,r){var o=e.stateNode;if(!o)return null;var t=T(o);if(!t)return null;o=t[r];e:switch(r){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":(t=!t.disabled)||(t=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!t;break e;default:e=!1}if(e)return null;if(o&&"function"!==typeof o)throw Error(i(231,r,typeof o));return o}var N=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;N.hasOwnProperty("ReactCurrentDispatcher")||(N.ReactCurrentDispatcher={current:null}),N.hasOwnProperty("ReactCurrentBatchConfig")||(N.ReactCurrentBatchConfig={suspense:null});var O=/^(.*)[\\\/]/,I="function"===typeof Symbol&&Symbol.for,X=I?Symbol.for("react.element"):60103,D=I?Symbol.for("react.portal"):60106,F=I?Symbol.for("react.fragment"):60107,$=I?Symbol.for("react.strict_mode"):60108,R=I?Symbol.for("react.profiler"):60114,k=I?Symbol.for("react.provider"):60109,U=I?Symbol.for("react.context"):60110,V=I?Symbol.for("react.concurrent_mode"):60111,H=I?Symbol.for("react.forward_ref"):60112,Y=I?Symbol.for("react.suspense"):60113,W=I?Symbol.for("react.suspense_list"):60120,K=I?Symbol.for("react.memo"):60115,z=I?Symbol.for("react.lazy"):60116;I&&Symbol.for("react.fundamental"),I&&Symbol.for("react.responder"),I&&Symbol.for("react.scope");var Q="function"===typeof Symbol&&Symbol.iterator;function Z(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=Q&&e[Q]||e["@@iterator"])?e:null}function J(e){if(null==e)return null;if("function"===typeof e)return e.displayName||e.name||null;if("string"===typeof e)return e;switch(e){case F:return"Fragment";case D:return"Portal";case R:return"Profiler";case $:return"StrictMode";case Y:return"Suspense";case W:return"SuspenseList"}if("object"===typeof e)switch(e.$$typeof){case U:return"Context.Consumer";case k:return"Context.Provider";case H:var r=e.render;return r=r.displayName||r.name||"",e.displayName||(""!==r?"ForwardRef("+r+")":"ForwardRef");case K:return J(e.type);case z:if(e=1===e._status?e._result:null)return J(e)}return null}function j(e){var r="";do{e:switch(e.tag){case 3:case 4:case 6:case 7:case 10:case 9:var o="";break e;default:var t=e._debugOwner,n=e._debugSource,l=J(e.type);o=null,t&&(o=J(t.type)),t=l,l="",n?l=" (at "+n.fileName.replace(O,"")+":"+n.lineNumber+")":o&&(l=" (created by "+o+")"),o="\n in "+(t||"Unknown")+l}r+=o,e=e.return}while(e);return r}var q=!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement),ee=null,re=null,oe=null;function te(e){if(e=M(e)){if("function"!==typeof ee)throw Error(i(280));var r=T(e.stateNode);ee(e.stateNode,e.type,r)}}function ne(e){re?oe?oe.push(e):oe=[e]:re=e}function le(){if(re){var e=re,r=oe;if(oe=re=null,te(e),r)for(e=0;e<r.length;e++)te(r[e])}}function ie(e,r){return e(r)}function ae(e,r,o,t){return e(r,o,t)}function de(){}var me=ie,ue=!1,se=!1;function ge(){null===re&&null===oe||(de(),le())}new Map;var ce=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,xe=Object.prototype.hasOwnProperty,pe={},fe={};function Se(e,r,o,t,n,l){this.acceptsBooleans=2===r||3===r||4===r,this.attributeName=t,this.attributeNamespace=n,this.mustUseProperty=o,this.propertyName=e,this.type=r,this.sanitizeURL=l}var he={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){he[e]=new Se(e,0,!1,e,null,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var r=e[0];he[r]=new Se(r,1,!1,e[1],null,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){he[e]=new Se(e,2,!1,e.toLowerCase(),null,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){he[e]=new Se(e,2,!1,e,null,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){he[e]=new Se(e,3,!1,e.toLowerCase(),null,!1)})),["checked","multiple","muted","selected"].forEach((function(e){he[e]=new Se(e,3,!0,e,null,!1)})),["capture","download"].forEach((function(e){he[e]=new Se(e,4,!1,e,null,!1)})),["cols","rows","size","span"].forEach((function(e){he[e]=new Se(e,6,!1,e,null,!1)})),["rowSpan","start"].forEach((function(e){he[e]=new Se(e,5,!1,e.toLowerCase(),null,!1)}));var ve=/[\-:]([a-z])/g;function Ae(e){return e[1].toUpperCase()}function be(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function Te(e,r,o,t){var n=he.hasOwnProperty(r)?he[r]:null;(null!==n?0===n.type:!t&&(2<r.length&&("o"===r[0]||"O"===r[0])&&("n"===r[1]||"N"===r[1])))||(function(e,r,o,t){if(null===r||"undefined"===typeof r||function(e,r,o,t){if(null!==o&&0===o.type)return!1;switch(typeof r){case"function":case"symbol":return!0;case"boolean":return!t&&(null!==o?!o.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,r,o,t))return!0;if(t)return!1;if(null!==o)switch(o.type){case 3:return!r;case 4:return!1===r;case 5:return isNaN(r);case 6:return isNaN(r)||1>r}return!1}(r,o,n,t)&&(o=null),t||null===n?function(e){return!!xe.call(fe,e)||!xe.call(pe,e)&&(ce.test(e)?fe[e]=!0:(pe[e]=!0,!1))}(r)&&(null===o?e.removeAttribute(r):e.setAttribute(r,""+o)):n.mustUseProperty?e[n.propertyName]=null===o?3!==n.type&&"":o:(r=n.attributeName,t=n.attributeNamespace,null===o?e.removeAttribute(r):(o=3===(n=n.type)||4===n&&!0===o?"":""+o,t?e.setAttributeNS(t,r,o):e.setAttribute(r,o))))}function Me(e){var r=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===r||"radio"===r)}function Pe(e){e._valueTracker||(e._valueTracker=function(e){var r=Me(e)?"checked":"value",o=Object.getOwnPropertyDescriptor(e.constructor.prototype,r),t=""+e[r];if(!e.hasOwnProperty(r)&&"undefined"!==typeof o&&"function"===typeof o.get&&"function"===typeof o.set){var n=o.get,l=o.set;return Object.defineProperty(e,r,{configurable:!0,get:function(){return n.call(this)},set:function(e){t=""+e,l.call(this,e)}}),Object.defineProperty(e,r,{enumerable:o.enumerable}),{getValue:function(){return t},setValue:function(e){t=""+e},stopTracking:function(){e._valueTracker=null,delete e[r]}}}}(e))}function ye(e){if(!e)return!1;var r=e._valueTracker;if(!r)return!0;var o=r.getValue(),t="";return e&&(t=Me(e)?e.checked?"true":"false":e.value),(e=t)!==o&&(r.setValue(e),!0)}function Le(e,r){var o=r.checked;return n({},r,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=o?o:e._wrapperState.initialChecked})}function Ee(e,r){var o=null==r.defaultValue?"":r.defaultValue,t=null!=r.checked?r.checked:r.defaultChecked;o=be(null!=r.value?r.value:o),e._wrapperState={initialChecked:t,initialValue:o,controlled:"checkbox"===r.type||"radio"===r.type?null!=r.checked:null!=r.value}}function _e(e,r){null!=(r=r.checked)&&Te(e,"checked",r,!1)}function we(e,r){_e(e,r);var o=be(r.value),t=r.type;if(null!=o)"number"===t?(0===o&&""===e.value||e.value!=o)&&(e.value=""+o):e.value!==""+o&&(e.value=""+o);else if("submit"===t||"reset"===t)return void e.removeAttribute("value");r.hasOwnProperty("value")?Ce(e,r.type,o):r.hasOwnProperty("defaultValue")&&Ce(e,r.type,be(r.defaultValue)),null==r.checked&&null!=r.defaultChecked&&(e.defaultChecked=!!r.defaultChecked)}function Be(e,r,o){if(r.hasOwnProperty("value")||r.hasOwnProperty("defaultValue")){var t=r.type;if(!("submit"!==t&&"reset"!==t||void 0!==r.value&&null!==r.value))return;r=""+e._wrapperState.initialValue,o||r===e.value||(e.value=r),e.defaultValue=r}""!==(o=e.name)&&(e.name=""),e.defaultChecked=!e.defaultChecked,e.defaultChecked=!!e._wrapperState.initialChecked,""!==o&&(e.name=o)}function Ce(e,r,o){"number"===r&&e.ownerDocument.activeElement===e||(null==o?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+o&&(e.defaultValue=""+o))}function Ge(e,r){return e=n({children:void 0},r),(r=function(e){var r="";return t.Children.forEach(e,(function(e){null!=e&&(r+=e)})),r}(r.children))&&(e.children=r),e}function Ne(e,r,o,t){if(e=e.options,r){r={};for(var n=0;n<o.length;n++)r["$"+o[n]]=!0;for(o=0;o<e.length;o++)n=r.hasOwnProperty("$"+e[o].value),e[o].selected!==n&&(e[o].selected=n),n&&t&&(e[o].defaultSelected=!0)}else{for(o=""+be(o),r=null,n=0;n<e.length;n++){if(e[n].value===o)return e[n].selected=!0,void(t&&(e[n].defaultSelected=!0));null!==r||e[n].disabled||(r=e[n])}null!==r&&(r.selected=!0)}}function Oe(e,r){if(null!=r.dangerouslySetInnerHTML)throw Error(i(91));return n({},r,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Ie(e,r){var o=r.value;if(null==o){if(o=r.defaultValue,null!=(r=r.children)){if(null!=o)throw Error(i(92));if(Array.isArray(r)){if(!(1>=r.length))throw Error(i(93));r=r[0]}o=r}null==o&&(o="")}e._wrapperState={initialValue:be(o)}}function Xe(e,r){var o=be(r.value),t=be(r.defaultValue);null!=o&&((o=""+o)!==e.value&&(e.value=o),null==r.defaultValue&&e.defaultValue!==o&&(e.defaultValue=o)),null!=t&&(e.defaultValue=""+t)}function De(e){var r=e.textContent;r===e._wrapperState.initialValue&&""!==r&&null!==r&&(e.value=r)}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var r=e.replace(ve,Ae);he[r]=new Se(r,1,!1,e,null,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var r=e.replace(ve,Ae);he[r]=new Se(r,1,!1,e,"http://www.w3.org/1999/xlink",!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var r=e.replace(ve,Ae);he[r]=new Se(r,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1)})),["tabIndex","crossOrigin"].forEach((function(e){he[e]=new Se(e,1,!1,e.toLowerCase(),null,!1)})),he.xlinkHref=new Se("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0),["src","href","action","formAction"].forEach((function(e){he[e]=new Se(e,1,!1,e.toLowerCase(),null,!0)}));var Fe={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function $e(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Re(e,r){return null==e||"http://www.w3.org/1999/xhtml"===e?$e(r):"http://www.w3.org/2000/svg"===e&&"foreignObject"===r?"http://www.w3.org/1999/xhtml":e}var ke,Ue=function(e){return"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(r,o,t,n){MSApp.execUnsafeLocalFunction((function(){return e(r,o)}))}:e}((function(e,r){if(e.namespaceURI!==Fe.svg||"innerHTML"in e)e.innerHTML=r;else{for((ke=ke||document.createElement("div")).innerHTML="<svg>"+r.valueOf().toString()+"</svg>",r=ke.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;r.firstChild;)e.appendChild(r.firstChild)}}));function Ve(e,r){if(r){var o=e.firstChild;if(o&&o===e.lastChild&&3===o.nodeType)return void(o.nodeValue=r)}e.textContent=r}function He(e,r){var o={};return o[e.toLowerCase()]=r.toLowerCase(),o["Webkit"+e]="webkit"+r,o["Moz"+e]="moz"+r,o}var Ye={animationend:He("Animation","AnimationEnd"),animationiteration:He("Animation","AnimationIteration"),animationstart:He("Animation","AnimationStart"),transitionend:He("Transition","TransitionEnd")},We={},Ke={};function ze(e){if(We[e])return We[e];if(!Ye[e])return e;var r,o=Ye[e];for(r in o)if(o.hasOwnProperty(r)&&r in Ke)return We[e]=o[r];return e}q&&(Ke=document.createElement("div").style,"AnimationEvent"in window||(delete Ye.animationend.animation,delete Ye.animationiteration.animation,delete Ye.animationstart.animation),"TransitionEvent"in window||delete Ye.transitionend.transition);var Qe=ze("animationend"),Ze=ze("animationiteration"),Je=ze("animationstart"),je=ze("transitionend"),qe="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" ");function er(e){var r=e,o=e;if(e.alternate)for(;r.return;)r=r.return;else{e=r;do{0!==(1026&(r=e).effectTag)&&(o=r.return),e=r.return}while(e)}return 3===r.tag?o:null}function rr(e){if(13===e.tag){var r=e.memoizedState;if(null===r&&(null!==(e=e.alternate)&&(r=e.memoizedState)),null!==r)return r.dehydrated}return null}function or(e){if(er(e)!==e)throw Error(i(188))}function tr(e){if(!(e=function(e){var r=e.alternate;if(!r){if(null===(r=er(e)))throw Error(i(188));return r!==e?null:e}for(var o=e,t=r;;){var n=o.return;if(null===n)break;var l=n.alternate;if(null===l){if(null!==(t=n.return)){o=t;continue}break}if(n.child===l.child){for(l=n.child;l;){if(l===o)return or(n),e;if(l===t)return or(n),r;l=l.sibling}throw Error(i(188))}if(o.return!==t.return)o=n,t=l;else{for(var a=!1,d=n.child;d;){if(d===o){a=!0,o=n,t=l;break}if(d===t){a=!0,t=n,o=l;break}d=d.sibling}if(!a){for(d=l.child;d;){if(d===o){a=!0,o=l,t=n;break}if(d===t){a=!0,t=l,o=n;break}d=d.sibling}if(!a)throw Error(i(189))}}if(o.alternate!==t)throw Error(i(190))}if(3!==o.tag)throw Error(i(188));return o.stateNode.current===o?e:r}(e)))return null;for(var r=e;;){if(5===r.tag||6===r.tag)return r;if(r.child)r.child.return=r,r=r.child;else{if(r===e)break;for(;!r.sibling;){if(!r.return||r.return===e)return null;r=r.return}r.sibling.return=r.return,r=r.sibling}}return null}var nr,lr,ir,ar=!1,dr=[],mr=null,ur=null,sr=null,gr=new Map,cr=new Map,xr=[],pr="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit".split(" "),fr="focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture".split(" ");function Sr(e,r,o,t){return{blockedOn:e,topLevelType:r,eventSystemFlags:32|o,nativeEvent:t}}function hr(e,r){switch(e){case"focus":case"blur":mr=null;break;case"dragenter":case"dragleave":ur=null;break;case"mouseover":case"mouseout":sr=null;break;case"pointerover":case"pointerout":gr.delete(r.pointerId);break;case"gotpointercapture":case"lostpointercapture":cr.delete(r.pointerId)}}function vr(e,r,o,t,n){return null===e||e.nativeEvent!==n?(e=Sr(r,o,t,n),null!==r&&(null!==(r=ct(r))&&lr(r)),e):(e.eventSystemFlags|=t,e)}function Ar(e){var r=gt(e.target);if(null!==r){var o=er(r);if(null!==o)if(13===(r=o.tag)){if(null!==(r=rr(o)))return e.blockedOn=r,void l.unstable_runWithPriority(e.priority,(function(){ir(o)}))}else if(3===r&&o.stateNode.hydrate)return void(e.blockedOn=3===o.tag?o.stateNode.containerInfo:null)}e.blockedOn=null}function br(e){if(null!==e.blockedOn)return!1;var r=Co(e.topLevelType,e.eventSystemFlags,e.nativeEvent);if(null!==r){var o=ct(r);return null!==o&&lr(o),e.blockedOn=r,!1}return!0}function Tr(e,r,o){br(e)&&o.delete(r)}function Mr(){for(ar=!1;0<dr.length;){var e=dr[0];if(null!==e.blockedOn){null!==(e=ct(e.blockedOn))&&nr(e);break}var r=Co(e.topLevelType,e.eventSystemFlags,e.nativeEvent);null!==r?e.blockedOn=r:dr.shift()}null!==mr&&br(mr)&&(mr=null),null!==ur&&br(ur)&&(ur=null),null!==sr&&br(sr)&&(sr=null),gr.forEach(Tr),cr.forEach(Tr)}function Pr(e,r){e.blockedOn===r&&(e.blockedOn=null,ar||(ar=!0,l.unstable_scheduleCallback(l.unstable_NormalPriority,Mr)))}function yr(e){function r(r){return Pr(r,e)}if(0<dr.length){Pr(dr[0],e);for(var o=1;o<dr.length;o++){var t=dr[o];t.blockedOn===e&&(t.blockedOn=null)}}for(null!==mr&&Pr(mr,e),null!==ur&&Pr(ur,e),null!==sr&&Pr(sr,e),gr.forEach(r),cr.forEach(r),o=0;o<xr.length;o++)(t=xr[o]).blockedOn===e&&(t.blockedOn=null);for(;0<xr.length&&null===(o=xr[0]).blockedOn;)Ar(o),null===o.blockedOn&&xr.shift()}function Lr(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}function Er(e){do{e=e.return}while(e&&5!==e.tag);return e||null}function _r(e,r,o){(r=G(e,o.dispatchConfig.phasedRegistrationNames[r]))&&(o._dispatchListeners=L(o._dispatchListeners,r),o._dispatchInstances=L(o._dispatchInstances,e))}function wr(e){if(e&&e.dispatchConfig.phasedRegistrationNames){for(var r=e._targetInst,o=[];r;)o.push(r),r=Er(r);for(r=o.length;0<r--;)_r(o[r],"captured",e);for(r=0;r<o.length;r++)_r(o[r],"bubbled",e)}}function Br(e,r,o){e&&o&&o.dispatchConfig.registrationName&&(r=G(e,o.dispatchConfig.registrationName))&&(o._dispatchListeners=L(o._dispatchListeners,r),o._dispatchInstances=L(o._dispatchInstances,e))}function Cr(e){e&&e.dispatchConfig.registrationName&&Br(e._targetInst,null,e)}function Gr(e){E(e,wr)}function Nr(){return!0}function Or(){return!1}function Ir(e,r,o,t){for(var n in this.dispatchConfig=e,this._targetInst=r,this.nativeEvent=o,e=this.constructor.Interface)e.hasOwnProperty(n)&&((r=e[n])?this[n]=r(o):"target"===n?this.target=t:this[n]=o[n]);return this.isDefaultPrevented=(null!=o.defaultPrevented?o.defaultPrevented:!1===o.returnValue)?Nr:Or,this.isPropagationStopped=Or,this}function Xr(e,r,o,t){if(this.eventPool.length){var n=this.eventPool.pop();return this.call(n,e,r,o,t),n}return new this(e,r,o,t)}function Dr(e){if(!(e instanceof this))throw Error(i(279));e.destructor(),10>this.eventPool.length&&this.eventPool.push(e)}function Fr(e){e.eventPool=[],e.getPooled=Xr,e.release=Dr}n(Ir.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!==typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=Nr)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!==typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=Nr)},persist:function(){this.isPersistent=Nr},isPersistent:Or,destructor:function(){var e,r=this.constructor.Interface;for(e in r)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=Or,this._dispatchInstances=this._dispatchListeners=null}}),Ir.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},Ir.extend=function(e){function r(){}function o(){return t.apply(this,arguments)}var t=this;r.prototype=t.prototype;var l=new r;return n(l,o.prototype),o.prototype=l,o.prototype.constructor=o,o.Interface=n({},t.Interface,e),o.extend=t.extend,Fr(o),o},Fr(Ir);var $r=Ir.extend({animationName:null,elapsedTime:null,pseudoElement:null}),Rr=Ir.extend({clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),kr=Ir.extend({view:null,detail:null}),Ur=kr.extend({relatedTarget:null});function Vr(e){var r=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===r&&(e=13):e=r,10===e&&(e=13),32<=e||13===e?e:0}var Hr={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Yr={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Wr={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Kr(e){var r=this.nativeEvent;return r.getModifierState?r.getModifierState(e):!!(e=Wr[e])&&!!r[e]}function zr(){return Kr}for(var Qr=kr.extend({key:function(e){if(e.key){var r=Hr[e.key]||e.key;if("Unidentified"!==r)return r}return"keypress"===e.type?13===(e=Vr(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Yr[e.keyCode]||"Unidentified":""},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:zr,charCode:function(e){return"keypress"===e.type?Vr(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?Vr(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Zr=0,Jr=0,jr=!1,qr=!1,eo=kr.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:zr,button:null,buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},movementX:function(e){if("movementX"in e)return e.movementX;var r=Zr;return Zr=e.screenX,jr?"mousemove"===e.type?e.screenX-r:0:(jr=!0,0)},movementY:function(e){if("movementY"in e)return e.movementY;var r=Jr;return Jr=e.screenY,qr?"mousemove"===e.type?e.screenY-r:0:(qr=!0,0)}}),ro=eo.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),oo=eo.extend({dataTransfer:null}),to=kr.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:zr}),no=Ir.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),lo=eo.extend({deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null}),io=[["blur","blur",0],["cancel","cancel",0],["click","click",0],["close","close",0],["contextmenu","contextMenu",0],["copy","copy",0],["cut","cut",0],["auxclick","auxClick",0],["dblclick","doubleClick",0],["dragend","dragEnd",0],["dragstart","dragStart",0],["drop","drop",0],["focus","focus",0],["input","input",0],["invalid","invalid",0],["keydown","keyDown",0],["keypress","keyPress",0],["keyup","keyUp",0],["mousedown","mouseDown",0],["mouseup","mouseUp",0],["paste","paste",0],["pause","pause",0],["play","play",0],["pointercancel","pointerCancel",0],["pointerdown","pointerDown",0],["pointerup","pointerUp",0],["ratechange","rateChange",0],["reset","reset",0],["seeked","seeked",0],["submit","submit",0],["touchcancel","touchCancel",0],["touchend","touchEnd",0],["touchstart","touchStart",0],["volumechange","volumeChange",0],["drag","drag",1],["dragenter","dragEnter",1],["dragexit","dragExit",1],["dragleave","dragLeave",1],["dragover","dragOver",1],["mousemove","mouseMove",1],["mouseout","mouseOut",1],["mouseover","mouseOver",1],["pointermove","pointerMove",1],["pointerout","pointerOut",1],["pointerover","pointerOver",1],["scroll","scroll",1],["toggle","toggle",1],["touchmove","touchMove",1],["wheel","wheel",1],["abort","abort",2],[Qe,"animationEnd",2],[Ze,"animationIteration",2],[Je,"animationStart",2],["canplay","canPlay",2],["canplaythrough","canPlayThrough",2],["durationchange","durationChange",2],["emptied","emptied",2],["encrypted","encrypted",2],["ended","ended",2],["error","error",2],["gotpointercapture","gotPointerCapture",2],["load","load",2],["loadeddata","loadedData",2],["loadedmetadata","loadedMetadata",2],["loadstart","loadStart",2],["lostpointercapture","lostPointerCapture",2],["playing","playing",2],["progress","progress",2],["seeking","seeking",2],["stalled","stalled",2],["suspend","suspend",2],["timeupdate","timeUpdate",2],[je,"transitionEnd",2],["waiting","waiting",2]],ao={},mo={},uo=0;uo<io.length;uo++){var so=io[uo],go=so[0],co=so[1],xo=so[2],po="on"+(co[0].toUpperCase()+co.slice(1)),fo={phasedRegistrationNames:{bubbled:po,captured:po+"Capture"},dependencies:[go],eventPriority:xo};ao[co]=fo,mo[go]=fo}var So={eventTypes:ao,getEventPriority:function(e){return void 0!==(e=mo[e])?e.eventPriority:2},extractEvents:function(e,r,o,t){var n=mo[e];if(!n)return null;switch(e){case"keypress":if(0===Vr(o))return null;case"keydown":case"keyup":e=Qr;break;case"blur":case"focus":e=Ur;break;case"click":if(2===o.button)return null;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":e=eo;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":e=oo;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":e=to;break;case Qe:case Ze:case Je:e=$r;break;case je:e=no;break;case"scroll":e=kr;break;case"wheel":e=lo;break;case"copy":case"cut":case"paste":e=Rr;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":e=ro;break;default:e=Ir}return Gr(r=e.getPooled(n,r,o,t)),r}},ho=l.unstable_UserBlockingPriority,vo=l.unstable_runWithPriority,Ao=So.getEventPriority,bo=10,To=[];function Mo(e){var r=e.targetInst,o=r;do{if(!o){e.ancestors.push(o);break}var t=o;if(3===t.tag)t=t.stateNode.containerInfo;else{for(;t.return;)t=t.return;t=3!==t.tag?null:t.stateNode.containerInfo}if(!t)break;5!==(r=o.tag)&&6!==r||e.ancestors.push(o),o=gt(t)}while(o);for(o=0;o<e.ancestors.length;o++){r=e.ancestors[o];var n=Lr(e.nativeEvent);t=e.topLevelType;for(var l=e.nativeEvent,i=e.eventSystemFlags,a=null,d=0;d<s.length;d++){var m=s[d];m&&(m=m.extractEvents(t,r,l,n,i))&&(a=L(a,m))}B(a)}}var Po=!0;function yo(e,r){Lo(r,e,!1)}function Lo(e,r,o){switch(Ao(r)){case 0:var t=Eo.bind(null,r,1);break;case 1:t=_o.bind(null,r,1);break;default:t=Bo.bind(null,r,1)}o?e.addEventListener(r,t,!0):e.addEventListener(r,t,!1)}function Eo(e,r,o){ue||de();var t=Bo,n=ue;ue=!0;try{ae(t,e,r,o)}finally{(ue=n)||ge()}}function _o(e,r,o){vo(ho,Bo.bind(null,e,r,o))}function wo(e,r,o,t){if(To.length){var n=To.pop();n.topLevelType=e,n.eventSystemFlags=r,n.nativeEvent=o,n.targetInst=t,e=n}else e={topLevelType:e,eventSystemFlags:r,nativeEvent:o,targetInst:t,ancestors:[]};try{if(r=Mo,o=e,se)r(o,void 0);else{se=!0;try{me(r,o,void 0)}finally{se=!1,ge()}}}finally{e.topLevelType=null,e.nativeEvent=null,e.targetInst=null,e.ancestors.length=0,To.length<bo&&To.push(e)}}function Bo(e,r,o){if(Po)if(0<dr.length&&-1<pr.indexOf(e))e=Sr(null,e,r,o),dr.push(e);else{var t=Co(e,r,o);null===t?hr(e,o):-1<pr.indexOf(e)?(e=Sr(t,e,r,o),dr.push(e)):function(e,r,o,t){switch(r){case"focus":return mr=vr(mr,e,r,o,t),!0;case"dragenter":return ur=vr(ur,e,r,o,t),!0;case"mouseover":return sr=vr(sr,e,r,o,t),!0;case"pointerover":var n=t.pointerId;return gr.set(n,vr(gr.get(n)||null,e,r,o,t)),!0;case"gotpointercapture":return n=t.pointerId,cr.set(n,vr(cr.get(n)||null,e,r,o,t)),!0}return!1}(t,e,r,o)||(hr(e,o),wo(e,r,o,null))}}function Co(e,r,o){var t=Lr(o);if(null!==(t=gt(t))){var n=er(t);if(null===n)t=null;else{var l=n.tag;if(13===l){if(null!==(t=rr(n)))return t;t=null}else if(3===l){if(n.stateNode.hydrate)return 3===n.tag?n.stateNode.containerInfo:null;t=null}else n!==t&&(t=null)}}return wo(e,r,o,t),null}function Go(e){if(!q)return!1;var r=(e="on"+e)in document;return r||((r=document.createElement("div")).setAttribute(e,"return;"),r="function"===typeof r[e]),r}var No=new("function"===typeof WeakMap?WeakMap:Map);function Oo(e){var r=No.get(e);return void 0===r&&(r=new Set,No.set(e,r)),r}function Io(e,r,o){if(!o.has(e)){switch(e){case"scroll":Lo(r,"scroll",!0);break;case"focus":case"blur":Lo(r,"focus",!0),Lo(r,"blur",!0),o.add("blur"),o.add("focus");break;case"cancel":case"close":Go(e)&&Lo(r,e,!0);break;case"invalid":case"submit":case"reset":break;default:-1===qe.indexOf(e)&&yo(e,r)}o.add(e)}}var Xo={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Do=["Webkit","ms","Moz","O"];function Fo(e,r,o){return null==r||"boolean"===typeof r||""===r?"":o||"number"!==typeof r||0===r||Xo.hasOwnProperty(e)&&Xo[e]?(""+r).trim():r+"px"}function $o(e,r){for(var o in e=e.style,r)if(r.hasOwnProperty(o)){var t=0===o.indexOf("--"),n=Fo(o,r[o],t);"float"===o&&(o="cssFloat"),t?e.setProperty(o,n):e[o]=n}}Object.keys(Xo).forEach((function(e){Do.forEach((function(r){r=r+e.charAt(0).toUpperCase()+e.substring(1),Xo[r]=Xo[e]}))}));var Ro=n({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ko(e,r){if(r){if(Ro[e]&&(null!=r.children||null!=r.dangerouslySetInnerHTML))throw Error(i(137,e,""));if(null!=r.dangerouslySetInnerHTML){if(null!=r.children)throw Error(i(60));if(!("object"===typeof r.dangerouslySetInnerHTML&&"__html"in r.dangerouslySetInnerHTML))throw Error(i(61))}if(null!=r.style&&"object"!==typeof r.style)throw Error(i(62,""))}}function Uo(e,r){if(-1===e.indexOf("-"))return"string"===typeof r.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function Vo(e,r){var o=Oo(e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument);r=x[r];for(var t=0;t<r.length;t++)Io(r[t],e,o)}function Ho(){}function Yo(e){if("undefined"===typeof(e=e||("undefined"!==typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(r){return e.body}}function Wo(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Ko(e,r){var o,t=Wo(e);for(e=0;t;){if(3===t.nodeType){if(o=e+t.textContent.length,e<=r&&o>=r)return{node:t,offset:r-e};e=o}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=Wo(t)}}function zo(){for(var e=window,r=Yo();r instanceof e.HTMLIFrameElement;){try{var o="string"===typeof r.contentWindow.location.href}catch(t){o=!1}if(!o)break;r=Yo((e=r.contentWindow).document)}return r}function Qo(e){var r=e&&e.nodeName&&e.nodeName.toLowerCase();return r&&("input"===r&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===r||"true"===e.contentEditable)}var Zo="$",Jo="/$",jo="$?",qo="$!",et=null,rt=null;function ot(e,r){switch(e){case"button":case"input":case"select":case"textarea":return!!r.autoFocus}return!1}function tt(e,r){return"textarea"===e||"option"===e||"noscript"===e||"string"===typeof r.children||"number"===typeof r.children||"object"===typeof r.dangerouslySetInnerHTML&&null!==r.dangerouslySetInnerHTML&&null!=r.dangerouslySetInnerHTML.__html}var nt="function"===typeof setTimeout?setTimeout:void 0,lt="function"===typeof clearTimeout?clearTimeout:void 0;function it(e){for(;null!=e;e=e.nextSibling){var r=e.nodeType;if(1===r||3===r)break}return e}function at(e){e=e.previousSibling;for(var r=0;e;){if(8===e.nodeType){var o=e.data;if(o===Zo||o===qo||o===jo){if(0===r)return e;r--}else o===Jo&&r++}e=e.previousSibling}return null}var dt=Math.random().toString(36).slice(2),mt="__reactInternalInstance$"+dt,ut="__reactEventHandlers$"+dt,st="__reactContainere$"+dt;function gt(e){var r=e[mt];if(r)return r;for(var o=e.parentNode;o;){if(r=o[st]||o[mt]){if(o=r.alternate,null!==r.child||null!==o&&null!==o.child)for(e=at(e);null!==e;){if(o=e[mt])return o;e=at(e)}return r}o=(e=o).parentNode}return null}function ct(e){return!(e=e[mt]||e[st])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function xt(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(i(33))}function pt(e){return e[ut]||null}var ft=null,St=null,ht=null;function vt(){if(ht)return ht;var e,r,o=St,t=o.length,n="value"in ft?ft.value:ft.textContent,l=n.length;for(e=0;e<t&&o[e]===n[e];e++);var i=t-e;for(r=1;r<=i&&o[t-r]===n[l-r];r++);return ht=n.slice(e,1<r?1-r:void 0)}var At=Ir.extend({data:null}),bt=Ir.extend({data:null}),Tt=[9,13,27,32],Mt=q&&"CompositionEvent"in window,Pt=null;q&&"documentMode"in document&&(Pt=document.documentMode);var yt=q&&"TextEvent"in window&&!Pt,Lt=q&&(!Mt||Pt&&8<Pt&&11>=Pt),Et=String.fromCharCode(32),_t={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},wt=!1;function Bt(e,r){switch(e){case"keyup":return-1!==Tt.indexOf(r.keyCode);case"keydown":return 229!==r.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function Ct(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}var Gt=!1;var Nt={eventTypes:_t,extractEvents:function(e,r,o,t){var n;if(Mt)e:{switch(e){case"compositionstart":var l=_t.compositionStart;break e;case"compositionend":l=_t.compositionEnd;break e;case"compositionupdate":l=_t.compositionUpdate;break e}l=void 0}else Gt?Bt(e,o)&&(l=_t.compositionEnd):"keydown"===e&&229===o.keyCode&&(l=_t.compositionStart);return l?(Lt&&"ko"!==o.locale&&(Gt||l!==_t.compositionStart?l===_t.compositionEnd&&Gt&&(n=vt()):(St="value"in(ft=t)?ft.value:ft.textContent,Gt=!0)),l=At.getPooled(l,r,o,t),n?l.data=n:null!==(n=Ct(o))&&(l.data=n),Gr(l),n=l):n=null,(e=yt?function(e,r){switch(e){case"compositionend":return Ct(r);case"keypress":return 32!==r.which?null:(wt=!0,Et);case"textInput":return(e=r.data)===Et&&wt?null:e;default:return null}}(e,o):function(e,r){if(Gt)return"compositionend"===e||!Mt&&Bt(e,r)?(e=vt(),ht=St=ft=null,Gt=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(r.ctrlKey||r.altKey||r.metaKey)||r.ctrlKey&&r.altKey){if(r.char&&1<r.char.length)return r.char;if(r.which)return String.fromCharCode(r.which)}return null;case"compositionend":return Lt&&"ko"!==r.locale?null:r.data;default:return null}}(e,o))?((r=bt.getPooled(_t.beforeInput,r,o,t)).data=e,Gr(r)):r=null,null===n?r:null===r?n:[n,r]}},Ot={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function It(e){var r=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===r?!!Ot[e.type]:"textarea"===r}var Xt={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"blur change click focus input keydown keyup selectionchange".split(" ")}};function Dt(e,r,o){return(e=Ir.getPooled(Xt.change,e,r,o)).type="change",ne(o),Gr(e),e}var Ft=null,$t=null;function Rt(e){B(e)}function kt(e){if(ye(xt(e)))return e}function Ut(e,r){if("change"===e)return r}var Vt=!1;function Ht(){Ft&&(Ft.detachEvent("onpropertychange",Yt),$t=Ft=null)}function Yt(e){if("value"===e.propertyName&&kt($t))if(e=Dt($t,e,Lr(e)),ue)B(e);else{ue=!0;try{ie(Rt,e)}finally{ue=!1,ge()}}}function Wt(e,r,o){"focus"===e?(Ht(),$t=o,(Ft=r).attachEvent("onpropertychange",Yt)):"blur"===e&&Ht()}function Kt(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return kt($t)}function zt(e,r){if("click"===e)return kt(r)}function Qt(e,r){if("input"===e||"change"===e)return kt(r)}q&&(Vt=Go("input")&&(!document.documentMode||9<document.documentMode));var Zt,Jt={eventTypes:Xt,_isInputEventSupported:Vt,extractEvents:function(e,r,o,t){var n=r?xt(r):window,l=n.nodeName&&n.nodeName.toLowerCase();if("select"===l||"input"===l&&"file"===n.type)var i=Ut;else if(It(n))if(Vt)i=Qt;else{i=Kt;var a=Wt}else(l=n.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===n.type||"radio"===n.type)&&(i=zt);if(i&&(i=i(e,r)))return Dt(i,o,t);a&&a(e,n,r),"blur"===e&&(e=n._wrapperState)&&e.controlled&&"number"===n.type&&Ce(n,"number",n.value)}},jt={mouseEnter:{registrationName:"onMouseEnter",dependencies:["mouseout","mouseover"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["mouseout","mouseover"]},pointerEnter:{registrationName:"onPointerEnter",dependencies:["pointerout","pointerover"]},pointerLeave:{registrationName:"onPointerLeave",dependencies:["pointerout","pointerover"]}},qt={eventTypes:jt,extractEvents:function(e,r,o,t,n){var l="mouseover"===e||"pointerover"===e,i="mouseout"===e||"pointerout"===e;if(l&&0===(32&n)&&(o.relatedTarget||o.fromElement)||!i&&!l)return null;if(n=t.window===t?t:(n=t.ownerDocument)?n.defaultView||n.parentWindow:window,i?(i=r,null!==(r=(r=o.relatedTarget||o.toElement)?gt(r):null)&&(r!==(l=er(r))||5!==r.tag&&6!==r.tag)&&(r=null)):i=null,i===r)return null;if("mouseout"===e||"mouseover"===e)var a=eo,d=jt.mouseLeave,m=jt.mouseEnter,u="mouse";else"pointerout"!==e&&"pointerover"!==e||(a=ro,d=jt.pointerLeave,m=jt.pointerEnter,u="pointer");if(e=null==i?n:xt(i),n=null==r?n:xt(r),(d=a.getPooled(d,i,o,t)).type=u+"leave",d.target=e,d.relatedTarget=n,(t=a.getPooled(m,r,o,t)).type=u+"enter",t.target=n,t.relatedTarget=e,u=r,(a=i)&&u)e:{for(e=u,i=0,r=m=a;r;r=Er(r))i++;for(r=0,n=e;n;n=Er(n))r++;for(;0<i-r;)m=Er(m),i--;for(;0<r-i;)e=Er(e),r--;for(;i--;){if(m===e||m===e.alternate)break e;m=Er(m),e=Er(e)}m=null}else m=null;for(e=m,m=[];a&&a!==e&&(null===(i=a.alternate)||i!==e);)m.push(a),a=Er(a);for(a=[];u&&u!==e&&(null===(i=u.alternate)||i!==e);)a.push(u),u=Er(u);for(u=0;u<m.length;u++)Br(m[u],"bubbled",d);for(u=a.length;0<u--;)Br(a[u],"captured",t);return o===Zt?(Zt=null,[d]):(Zt=o,[d,t])}};var en="function"===typeof Object.is?Object.is:function(e,r){return e===r&&(0!==e||1/e===1/r)||e!==e&&r!==r},rn=Object.prototype.hasOwnProperty;function on(e,r){if(en(e,r))return!0;if("object"!==typeof e||null===e||"object"!==typeof r||null===r)return!1;var o=Object.keys(e),t=Object.keys(r);if(o.length!==t.length)return!1;for(t=0;t<o.length;t++)if(!rn.call(r,o[t])||!en(e[o[t]],r[o[t]]))return!1;return!0}var tn=q&&"documentMode"in document&&11>=document.documentMode,nn={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange".split(" ")}},ln=null,an=null,dn=null,mn=!1;function un(e,r){var o=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;return mn||null==ln||ln!==Yo(o)?null:("selectionStart"in(o=ln)&&Qo(o)?o={start:o.selectionStart,end:o.selectionEnd}:o={anchorNode:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset},dn&&on(dn,o)?null:(dn=o,(e=Ir.getPooled(nn.select,an,e,r)).type="select",e.target=ln,Gr(e),e))}var sn={eventTypes:nn,extractEvents:function(e,r,o,t){var n,l=t.window===t?t.document:9===t.nodeType?t:t.ownerDocument;if(!(n=!l)){e:{l=Oo(l),n=x.onSelect;for(var i=0;i<n.length;i++)if(!l.has(n[i])){l=!1;break e}l=!0}n=!l}if(n)return null;switch(l=r?xt(r):window,e){case"focus":(It(l)||"true"===l.contentEditable)&&(ln=l,an=r,dn=null);break;case"blur":dn=an=ln=null;break;case"mousedown":mn=!0;break;case"contextmenu":case"mouseup":case"dragend":return mn=!1,un(o,t);case"selectionchange":if(tn)break;case"keydown":case"keyup":return un(o,t)}return null}};C.injectEventPluginOrder("ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" ")),T=pt,M=ct,P=xt,C.injectEventPluginsByName({SimpleEventPlugin:So,EnterLeaveEventPlugin:qt,ChangeEventPlugin:Jt,SelectEventPlugin:sn,BeforeInputEventPlugin:Nt}),new Set;var gn=[],cn=-1;function xn(e){0>cn||(e.current=gn[cn],gn[cn]=null,cn--)}function pn(e,r){cn++,gn[cn]=e.current,e.current=r}var fn={},Sn={current:fn},hn={current:!1},vn=fn;function An(e,r){var o=e.type.contextTypes;if(!o)return fn;var t=e.stateNode;if(t&&t.__reactInternalMemoizedUnmaskedChildContext===r)return t.__reactInternalMemoizedMaskedChildContext;var n,l={};for(n in o)l[n]=r[n];return t&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=l),l}function bn(e){return null!==(e=e.childContextTypes)&&void 0!==e}function Tn(e){xn(hn),xn(Sn)}function Mn(e){xn(hn),xn(Sn)}function Pn(e,r,o){if(Sn.current!==fn)throw Error(i(168));pn(Sn,r),pn(hn,o)}function yn(e,r,o){var t=e.stateNode;if(e=r.childContextTypes,"function"!==typeof t.getChildContext)return o;for(var l in t=t.getChildContext())if(!(l in e))throw Error(i(108,J(r)||"Unknown",l));return n({},o,{},t)}function Ln(e){var r=e.stateNode;return r=r&&r.__reactInternalMemoizedMergedChildContext||fn,vn=Sn.current,pn(Sn,r),pn(hn,hn.current),!0}function En(e,r,o){var t=e.stateNode;if(!t)throw Error(i(169));o?(r=yn(e,r,vn),t.__reactInternalMemoizedMergedChildContext=r,xn(hn),xn(Sn),pn(Sn,r)):xn(hn),pn(hn,o)}var _n=l.unstable_runWithPriority,wn=l.unstable_scheduleCallback,Bn=l.unstable_cancelCallback,Cn=l.unstable_shouldYield,Gn=l.unstable_requestPaint,Nn=l.unstable_now,On=l.unstable_getCurrentPriorityLevel,In=l.unstable_ImmediatePriority,Xn=l.unstable_UserBlockingPriority,Dn=l.unstable_NormalPriority,Fn=l.unstable_LowPriority,$n=l.unstable_IdlePriority,Rn={},kn=void 0!==Gn?Gn:function(){},Un=null,Vn=null,Hn=!1,Yn=Nn(),Wn=1e4>Yn?Nn:function(){return Nn()-Yn};function Kn(){switch(On()){case In:return 99;case Xn:return 98;case Dn:return 97;case Fn:return 96;case $n:return 95;default:throw Error(i(332))}}function zn(e){switch(e){case 99:return In;case 98:return Xn;case 97:return Dn;case 96:return Fn;case 95:return $n;default:throw Error(i(332))}}function Qn(e,r){return e=zn(e),_n(e,r)}function Zn(e,r,o){return e=zn(e),wn(e,r,o)}function Jn(e){return null===Un?(Un=[e],Vn=wn(In,qn)):Un.push(e),Rn}function jn(){if(null!==Vn){var e=Vn;Vn=null,Bn(e)}qn()}function qn(){if(!Hn&&null!==Un){Hn=!0;var e=0;try{var r=Un;Qn(99,(function(){for(;e<r.length;e++){var o=r[e];do{o=o(!0)}while(null!==o)}})),Un=null}catch(o){throw null!==Un&&(Un=Un.slice(e+1)),wn(In,jn),o}finally{Hn=!1}}}var el=3;function rl(e,r,o){return 1073741821-(1+((1073741821-e+r/10)/(o/=10)|0))*o}function ol(e,r){if(e&&e.defaultProps)for(var o in r=n({},r),e=e.defaultProps)void 0===r[o]&&(r[o]=e[o]);return r}var tl={current:null},nl=null,ll=null,il=null;function al(){il=ll=nl=null}function dl(e,r){var o=e.type._context;pn(tl,o._currentValue),o._currentValue=r}function ml(e){var r=tl.current;xn(tl),e.type._context._currentValue=r}function ul(e,r){for(;null!==e;){var o=e.alternate;if(e.childExpirationTime<r)e.childExpirationTime=r,null!==o&&o.childExpirationTime<r&&(o.childExpirationTime=r);else{if(!(null!==o&&o.childExpirationTime<r))break;o.childExpirationTime=r}e=e.return}}function sl(e,r){nl=e,il=ll=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(e.expirationTime>=r&&(Yi=!0),e.firstContext=null)}function gl(e,r){if(il!==e&&!1!==r&&0!==r)if("number"===typeof r&&1073741823!==r||(il=e,r=1073741823),r={context:e,observedBits:r,next:null},null===ll){if(null===nl)throw Error(i(308));ll=r,nl.dependencies={expirationTime:0,firstContext:r,responders:null}}else ll=ll.next=r;return e._currentValue}var cl=!1;function xl(e){return{baseState:e,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function pl(e){return{baseState:e.baseState,firstUpdate:e.firstUpdate,lastUpdate:e.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function fl(e,r){return{expirationTime:e,suspenseConfig:r,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Sl(e,r){null===e.lastUpdate?e.firstUpdate=e.lastUpdate=r:(e.lastUpdate.next=r,e.lastUpdate=r)}function hl(e,r){var o=e.alternate;if(null===o){var t=e.updateQueue,n=null;null===t&&(t=e.updateQueue=xl(e.memoizedState))}else t=e.updateQueue,n=o.updateQueue,null===t?null===n?(t=e.updateQueue=xl(e.memoizedState),n=o.updateQueue=xl(o.memoizedState)):t=e.updateQueue=pl(n):null===n&&(n=o.updateQueue=pl(t));null===n||t===n?Sl(t,r):null===t.lastUpdate||null===n.lastUpdate?(Sl(t,r),Sl(n,r)):(Sl(t,r),n.lastUpdate=r)}function vl(e,r){var o=e.updateQueue;null===(o=null===o?e.updateQueue=xl(e.memoizedState):Al(e,o)).lastCapturedUpdate?o.firstCapturedUpdate=o.lastCapturedUpdate=r:(o.lastCapturedUpdate.next=r,o.lastCapturedUpdate=r)}function Al(e,r){var o=e.alternate;return null!==o&&r===o.updateQueue&&(r=e.updateQueue=pl(r)),r}function bl(e,r,o,t,l,i){switch(o.tag){case 1:return"function"===typeof(e=o.payload)?e.call(i,t,l):e;case 3:e.effectTag=-4097&e.effectTag|64;case 0:if(null===(l="function"===typeof(e=o.payload)?e.call(i,t,l):e)||void 0===l)break;return n({},t,l);case 2:cl=!0}return t}function Tl(e,r,o,t,n){cl=!1;for(var l=(r=Al(e,r)).baseState,i=null,a=0,d=r.firstUpdate,m=l;null!==d;){var u=d.expirationTime;u<n?(null===i&&(i=d,l=m),a<u&&(a=u)):(Ed(u,d.suspenseConfig),m=bl(e,0,d,m,o,t),null!==d.callback&&(e.effectTag|=32,d.nextEffect=null,null===r.lastEffect?r.firstEffect=r.lastEffect=d:(r.lastEffect.nextEffect=d,r.lastEffect=d))),d=d.next}for(u=null,d=r.firstCapturedUpdate;null!==d;){var s=d.expirationTime;s<n?(null===u&&(u=d,null===i&&(l=m)),a<s&&(a=s)):(m=bl(e,0,d,m,o,t),null!==d.callback&&(e.effectTag|=32,d.nextEffect=null,null===r.lastCapturedEffect?r.firstCapturedEffect=r.lastCapturedEffect=d:(r.lastCapturedEffect.nextEffect=d,r.lastCapturedEffect=d))),d=d.next}null===i&&(r.lastUpdate=null),null===u?r.lastCapturedUpdate=null:e.effectTag|=32,null===i&&null===u&&(l=m),r.baseState=l,r.firstUpdate=i,r.firstCapturedUpdate=u,_d(a),e.expirationTime=a,e.memoizedState=m}function Ml(e,r,o){null!==r.firstCapturedUpdate&&(null!==r.lastUpdate&&(r.lastUpdate.next=r.firstCapturedUpdate,r.lastUpdate=r.lastCapturedUpdate),r.firstCapturedUpdate=r.lastCapturedUpdate=null),Pl(r.firstEffect,o),r.firstEffect=r.lastEffect=null,Pl(r.firstCapturedEffect,o),r.firstCapturedEffect=r.lastCapturedEffect=null}function Pl(e,r){for(;null!==e;){var o=e.callback;if(null!==o){e.callback=null;var t=r;if("function"!==typeof o)throw Error(i(191,o));o.call(t)}e=e.nextEffect}}var yl=N.ReactCurrentBatchConfig,Ll=(new t.Component).refs;function El(e,r,o,t){o=null===(o=o(t,r=e.memoizedState))||void 0===o?r:n({},r,o),e.memoizedState=o,null!==(t=e.updateQueue)&&0===e.expirationTime&&(t.baseState=o)}var _l={isMounted:function(e){return!!(e=e._reactInternalFiber)&&er(e)===e},enqueueSetState:function(e,r,o){e=e._reactInternalFiber;var t=xd(),n=yl.suspense;(n=fl(t=pd(t,e,n),n)).payload=r,void 0!==o&&null!==o&&(n.callback=o),hl(e,n),fd(e,t)},enqueueReplaceState:function(e,r,o){e=e._reactInternalFiber;var t=xd(),n=yl.suspense;(n=fl(t=pd(t,e,n),n)).tag=1,n.payload=r,void 0!==o&&null!==o&&(n.callback=o),hl(e,n),fd(e,t)},enqueueForceUpdate:function(e,r){e=e._reactInternalFiber;var o=xd(),t=yl.suspense;(t=fl(o=pd(o,e,t),t)).tag=2,void 0!==r&&null!==r&&(t.callback=r),hl(e,t),fd(e,o)}};function wl(e,r,o,t,n,l,i){return"function"===typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(t,l,i):!r.prototype||!r.prototype.isPureReactComponent||(!on(o,t)||!on(n,l))}function Bl(e,r,o){var t=!1,n=fn,l=r.contextType;return"object"===typeof l&&null!==l?l=gl(l):(n=bn(r)?vn:Sn.current,l=(t=null!==(t=r.contextTypes)&&void 0!==t)?An(e,n):fn),r=new r(o,l),e.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,r.updater=_l,e.stateNode=r,r._reactInternalFiber=e,t&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=l),r}function Cl(e,r,o,t){e=r.state,"function"===typeof r.componentWillReceiveProps&&r.componentWillReceiveProps(o,t),"function"===typeof r.UNSAFE_componentWillReceiveProps&&r.UNSAFE_componentWillReceiveProps(o,t),r.state!==e&&_l.enqueueReplaceState(r,r.state,null)}function Gl(e,r,o,t){var n=e.stateNode;n.props=o,n.state=e.memoizedState,n.refs=Ll;var l=r.contextType;"object"===typeof l&&null!==l?n.context=gl(l):(l=bn(r)?vn:Sn.current,n.context=An(e,l)),null!==(l=e.updateQueue)&&(Tl(e,l,o,n,t),n.state=e.memoizedState),"function"===typeof(l=r.getDerivedStateFromProps)&&(El(e,r,l,o),n.state=e.memoizedState),"function"===typeof r.getDerivedStateFromProps||"function"===typeof n.getSnapshotBeforeUpdate||"function"!==typeof n.UNSAFE_componentWillMount&&"function"!==typeof n.componentWillMount||(r=n.state,"function"===typeof n.componentWillMount&&n.componentWillMount(),"function"===typeof n.UNSAFE_componentWillMount&&n.UNSAFE_componentWillMount(),r!==n.state&&_l.enqueueReplaceState(n,n.state,null),null!==(l=e.updateQueue)&&(Tl(e,l,o,n,t),n.state=e.memoizedState)),"function"===typeof n.componentDidMount&&(e.effectTag|=4)}var Nl=Array.isArray;function Ol(e,r,o){if(null!==(e=o.ref)&&"function"!==typeof e&&"object"!==typeof e){if(o._owner){if(o=o._owner){if(1!==o.tag)throw Error(i(309));var t=o.stateNode}if(!t)throw Error(i(147,e));var n=""+e;return null!==r&&null!==r.ref&&"function"===typeof r.ref&&r.ref._stringRef===n?r.ref:((r=function(e){var r=t.refs;r===Ll&&(r=t.refs={}),null===e?delete r[n]:r[n]=e})._stringRef=n,r)}if("string"!==typeof e)throw Error(i(284));if(!o._owner)throw Error(i(290,e))}return e}function Il(e,r){if("textarea"!==e.type)throw Error(i(31,"[object Object]"===Object.prototype.toString.call(r)?"object with keys {"+Object.keys(r).join(", ")+"}":r,""))}function Xl(e){function r(r,o){if(e){var t=r.lastEffect;null!==t?(t.nextEffect=o,r.lastEffect=o):r.firstEffect=r.lastEffect=o,o.nextEffect=null,o.effectTag=8}}function o(o,t){if(!e)return null;for(;null!==t;)r(o,t),t=t.sibling;return null}function t(e,r){for(e=new Map;null!==r;)null!==r.key?e.set(r.key,r):e.set(r.index,r),r=r.sibling;return e}function n(e,r,o){return(e=zd(e,r)).index=0,e.sibling=null,e}function l(r,o,t){return r.index=t,e?null!==(t=r.alternate)?(t=t.index)<o?(r.effectTag=2,o):t:(r.effectTag=2,o):o}function a(r){return e&&null===r.alternate&&(r.effectTag=2),r}function d(e,r,o,t){return null===r||6!==r.tag?((r=Jd(o,e.mode,t)).return=e,r):((r=n(r,o)).return=e,r)}function m(e,r,o,t){return null!==r&&r.elementType===o.type?((t=n(r,o.props)).ref=Ol(e,r,o),t.return=e,t):((t=Qd(o.type,o.key,o.props,null,e.mode,t)).ref=Ol(e,r,o),t.return=e,t)}function u(e,r,o,t){return null===r||4!==r.tag||r.stateNode.containerInfo!==o.containerInfo||r.stateNode.implementation!==o.implementation?((r=jd(o,e.mode,t)).return=e,r):((r=n(r,o.children||[])).return=e,r)}function s(e,r,o,t,l){return null===r||7!==r.tag?((r=Zd(o,e.mode,t,l)).return=e,r):((r=n(r,o)).return=e,r)}function g(e,r,o){if("string"===typeof r||"number"===typeof r)return(r=Jd(""+r,e.mode,o)).return=e,r;if("object"===typeof r&&null!==r){switch(r.$$typeof){case X:return(o=Qd(r.type,r.key,r.props,null,e.mode,o)).ref=Ol(e,null,r),o.return=e,o;case D:return(r=jd(r,e.mode,o)).return=e,r}if(Nl(r)||Z(r))return(r=Zd(r,e.mode,o,null)).return=e,r;Il(e,r)}return null}function c(e,r,o,t){var n=null!==r?r.key:null;if("string"===typeof o||"number"===typeof o)return null!==n?null:d(e,r,""+o,t);if("object"===typeof o&&null!==o){switch(o.$$typeof){case X:return o.key===n?o.type===F?s(e,r,o.props.children,t,n):m(e,r,o,t):null;case D:return o.key===n?u(e,r,o,t):null}if(Nl(o)||Z(o))return null!==n?null:s(e,r,o,t,null);Il(e,o)}return null}function x(e,r,o,t,n){if("string"===typeof t||"number"===typeof t)return d(r,e=e.get(o)||null,""+t,n);if("object"===typeof t&&null!==t){switch(t.$$typeof){case X:return e=e.get(null===t.key?o:t.key)||null,t.type===F?s(r,e,t.props.children,n,t.key):m(r,e,t,n);case D:return u(r,e=e.get(null===t.key?o:t.key)||null,t,n)}if(Nl(t)||Z(t))return s(r,e=e.get(o)||null,t,n,null);Il(r,t)}return null}function p(n,i,a,d){for(var m=null,u=null,s=i,p=i=0,f=null;null!==s&&p<a.length;p++){s.index>p?(f=s,s=null):f=s.sibling;var S=c(n,s,a[p],d);if(null===S){null===s&&(s=f);break}e&&s&&null===S.alternate&&r(n,s),i=l(S,i,p),null===u?m=S:u.sibling=S,u=S,s=f}if(p===a.length)return o(n,s),m;if(null===s){for(;p<a.length;p++)null!==(s=g(n,a[p],d))&&(i=l(s,i,p),null===u?m=s:u.sibling=s,u=s);return m}for(s=t(n,s);p<a.length;p++)null!==(f=x(s,n,p,a[p],d))&&(e&&null!==f.alternate&&s.delete(null===f.key?p:f.key),i=l(f,i,p),null===u?m=f:u.sibling=f,u=f);return e&&s.forEach((function(e){return r(n,e)})),m}function f(n,a,d,m){var u=Z(d);if("function"!==typeof u)throw Error(i(150));if(null==(d=u.call(d)))throw Error(i(151));for(var s=u=null,p=a,f=a=0,S=null,h=d.next();null!==p&&!h.done;f++,h=d.next()){p.index>f?(S=p,p=null):S=p.sibling;var v=c(n,p,h.value,m);if(null===v){null===p&&(p=S);break}e&&p&&null===v.alternate&&r(n,p),a=l(v,a,f),null===s?u=v:s.sibling=v,s=v,p=S}if(h.done)return o(n,p),u;if(null===p){for(;!h.done;f++,h=d.next())null!==(h=g(n,h.value,m))&&(a=l(h,a,f),null===s?u=h:s.sibling=h,s=h);return u}for(p=t(n,p);!h.done;f++,h=d.next())null!==(h=x(p,n,f,h.value,m))&&(e&&null!==h.alternate&&p.delete(null===h.key?f:h.key),a=l(h,a,f),null===s?u=h:s.sibling=h,s=h);return e&&p.forEach((function(e){return r(n,e)})),u}return function(e,t,l,d){var m="object"===typeof l&&null!==l&&l.type===F&&null===l.key;m&&(l=l.props.children);var u="object"===typeof l&&null!==l;if(u)switch(l.$$typeof){case X:e:{for(u=l.key,m=t;null!==m;){if(m.key===u){if(7===m.tag?l.type===F:m.elementType===l.type){o(e,m.sibling),(t=n(m,l.type===F?l.props.children:l.props)).ref=Ol(e,m,l),t.return=e,e=t;break e}o(e,m);break}r(e,m),m=m.sibling}l.type===F?((t=Zd(l.props.children,e.mode,d,l.key)).return=e,e=t):((d=Qd(l.type,l.key,l.props,null,e.mode,d)).ref=Ol(e,t,l),d.return=e,e=d)}return a(e);case D:e:{for(m=l.key;null!==t;){if(t.key===m){if(4===t.tag&&t.stateNode.containerInfo===l.containerInfo&&t.stateNode.implementation===l.implementation){o(e,t.sibling),(t=n(t,l.children||[])).return=e,e=t;break e}o(e,t);break}r(e,t),t=t.sibling}(t=jd(l,e.mode,d)).return=e,e=t}return a(e)}if("string"===typeof l||"number"===typeof l)return l=""+l,null!==t&&6===t.tag?(o(e,t.sibling),(t=n(t,l)).return=e,e=t):(o(e,t),(t=Jd(l,e.mode,d)).return=e,e=t),a(e);if(Nl(l))return p(e,t,l,d);if(Z(l))return f(e,t,l,d);if(u&&Il(e,l),"undefined"===typeof l&&!m)switch(e.tag){case 1:case 0:throw e=e.type,Error(i(152,e.displayName||e.name||"Component"))}return o(e,t)}}var Dl=Xl(!0),Fl=Xl(!1),$l={},Rl={current:$l},kl={current:$l},Ul={current:$l};function Vl(e){if(e===$l)throw Error(i(174));return e}function Hl(e,r){pn(Ul,r),pn(kl,e),pn(Rl,$l);var o=r.nodeType;switch(o){case 9:case 11:r=(r=r.documentElement)?r.namespaceURI:Re(null,"");break;default:r=Re(r=(o=8===o?r.parentNode:r).namespaceURI||null,o=o.tagName)}xn(Rl),pn(Rl,r)}function Yl(e){xn(Rl),xn(kl),xn(Ul)}function Wl(e){Vl(Ul.current);var r=Vl(Rl.current),o=Re(r,e.type);r!==o&&(pn(kl,e),pn(Rl,o))}function Kl(e){kl.current===e&&(xn(Rl),xn(kl))}var zl={current:0};function Ql(e){for(var r=e;null!==r;){if(13===r.tag){var o=r.memoizedState;if(null!==o&&(null===(o=o.dehydrated)||o.data===jo||o.data===qo))return r}else if(19===r.tag&&void 0!==r.memoizedProps.revealOrder){if(0!==(64&r.effectTag))return r}else if(null!==r.child){r.child.return=r,r=r.child;continue}if(r===e)break;for(;null===r.sibling;){if(null===r.return||r.return===e)return null;r=r.return}r.sibling.return=r.return,r=r.sibling}return null}function Zl(e,r){return{responder:e,props:r}}var Jl=N.ReactCurrentDispatcher,jl=N.ReactCurrentBatchConfig,ql=0,ei=null,ri=null,oi=null,ti=null,ni=null,li=null,ii=0,ai=null,di=0,mi=!1,ui=null,si=0;function gi(){throw Error(i(321))}function ci(e,r){if(null===r)return!1;for(var o=0;o<r.length&&o<e.length;o++)if(!en(e[o],r[o]))return!1;return!0}function xi(e,r,o,t,n,l){if(ql=l,ei=r,oi=null!==e?e.memoizedState:null,Jl.current=null===oi?Ni:Oi,r=o(t,n),mi){do{mi=!1,si+=1,oi=null!==e?e.memoizedState:null,li=ti,ai=ni=ri=null,Jl.current=Oi,r=o(t,n)}while(mi);ui=null,si=0}if(Jl.current=Gi,(e=ei).memoizedState=ti,e.expirationTime=ii,e.updateQueue=ai,e.effectTag|=di,e=null!==ri&&null!==ri.next,ql=0,li=ni=ti=oi=ri=ei=null,ii=0,ai=null,di=0,e)throw Error(i(300));return r}function pi(){Jl.current=Gi,ql=0,li=ni=ti=oi=ri=ei=null,ii=0,ai=null,di=0,mi=!1,ui=null,si=0}function fi(){var e={memoizedState:null,baseState:null,queue:null,baseUpdate:null,next:null};return null===ni?ti=ni=e:ni=ni.next=e,ni}function Si(){if(null!==li)li=(ni=li).next,oi=null!==(ri=oi)?ri.next:null;else{if(null===oi)throw Error(i(310));var e={memoizedState:(ri=oi).memoizedState,baseState:ri.baseState,queue:ri.queue,baseUpdate:ri.baseUpdate,next:null};ni=null===ni?ti=e:ni.next=e,oi=ri.next}return ni}function hi(e,r){return"function"===typeof r?r(e):r}function vi(e){var r=Si(),o=r.queue;if(null===o)throw Error(i(311));if(o.lastRenderedReducer=e,0<si){var t=o.dispatch;if(null!==ui){var n=ui.get(o);if(void 0!==n){ui.delete(o);var l=r.memoizedState;do{l=e(l,n.action),n=n.next}while(null!==n);return en(l,r.memoizedState)||(Yi=!0),r.memoizedState=l,r.baseUpdate===o.last&&(r.baseState=l),o.lastRenderedState=l,[l,t]}}return[r.memoizedState,t]}t=o.last;var a=r.baseUpdate;if(l=r.baseState,null!==a?(null!==t&&(t.next=null),t=a.next):t=null!==t?t.next:null,null!==t){var d=n=null,m=t,u=!1;do{var s=m.expirationTime;s<ql?(u||(u=!0,d=a,n=l),s>ii&&_d(ii=s)):(Ed(s,m.suspenseConfig),l=m.eagerReducer===e?m.eagerState:e(l,m.action)),a=m,m=m.next}while(null!==m&&m!==t);u||(d=a,n=l),en(l,r.memoizedState)||(Yi=!0),r.memoizedState=l,r.baseUpdate=d,r.baseState=n,o.lastRenderedState=l}return[r.memoizedState,o.dispatch]}function Ai(e){var r=fi();return"function"===typeof e&&(e=e()),r.memoizedState=r.baseState=e,e=(e=r.queue={last:null,dispatch:null,lastRenderedReducer:hi,lastRenderedState:e}).dispatch=Ci.bind(null,ei,e),[r.memoizedState,e]}function bi(e){return vi(hi)}function Ti(e,r,o,t){return e={tag:e,create:r,destroy:o,deps:t,next:null},null===ai?(ai={lastEffect:null}).lastEffect=e.next=e:null===(r=ai.lastEffect)?ai.lastEffect=e.next=e:(o=r.next,r.next=e,e.next=o,ai.lastEffect=e),e}function Mi(e,r,o,t){var n=fi();di|=e,n.memoizedState=Ti(r,o,void 0,void 0===t?null:t)}function Pi(e,r,o,t){var n=Si();t=void 0===t?null:t;var l=void 0;if(null!==ri){var i=ri.memoizedState;if(l=i.destroy,null!==t&&ci(t,i.deps))return void Ti(0,o,l,t)}di|=e,n.memoizedState=Ti(r,o,l,t)}function yi(e,r){return Mi(516,192,e,r)}function Li(e,r){return Pi(516,192,e,r)}function Ei(e,r){return"function"===typeof r?(e=e(),r(e),function(){r(null)}):null!==r&&void 0!==r?(e=e(),r.current=e,function(){r.current=null}):void 0}function _i(){}function wi(e,r){return fi().memoizedState=[e,void 0===r?null:r],e}function Bi(e,r){var o=Si();r=void 0===r?null:r;var t=o.memoizedState;return null!==t&&null!==r&&ci(r,t[1])?t[0]:(o.memoizedState=[e,r],e)}function Ci(e,r,o){if(!(25>si))throw Error(i(301));var t=e.alternate;if(e===ei||null!==t&&t===ei)if(mi=!0,e={expirationTime:ql,suspenseConfig:null,action:o,eagerReducer:null,eagerState:null,next:null},null===ui&&(ui=new Map),void 0===(o=ui.get(r)))ui.set(r,e);else{for(r=o;null!==r.next;)r=r.next;r.next=e}else{var n=xd(),l=yl.suspense;l={expirationTime:n=pd(n,e,l),suspenseConfig:l,action:o,eagerReducer:null,eagerState:null,next:null};var a=r.last;if(null===a)l.next=l;else{var d=a.next;null!==d&&(l.next=d),a.next=l}if(r.last=l,0===e.expirationTime&&(null===t||0===t.expirationTime)&&null!==(t=r.lastRenderedReducer))try{var m=r.lastRenderedState,u=t(m,o);if(l.eagerReducer=t,l.eagerState=u,en(u,m))return}catch(s){}fd(e,n)}}var Gi={readContext:gl,useCallback:gi,useContext:gi,useEffect:gi,useImperativeHandle:gi,useLayoutEffect:gi,useMemo:gi,useReducer:gi,useRef:gi,useState:gi,useDebugValue:gi,useResponder:gi,useDeferredValue:gi,useTransition:gi},Ni={readContext:gl,useCallback:wi,useContext:gl,useEffect:yi,useImperativeHandle:function(e,r,o){return o=null!==o&&void 0!==o?o.concat([e]):null,Mi(4,36,Ei.bind(null,r,e),o)},useLayoutEffect:function(e,r){return Mi(4,36,e,r)},useMemo:function(e,r){var o=fi();return r=void 0===r?null:r,e=e(),o.memoizedState=[e,r],e},useReducer:function(e,r,o){var t=fi();return r=void 0!==o?o(r):r,t.memoizedState=t.baseState=r,e=(e=t.queue={last:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:r}).dispatch=Ci.bind(null,ei,e),[t.memoizedState,e]},useRef:function(e){return e={current:e},fi().memoizedState=e},useState:Ai,useDebugValue:_i,useResponder:Zl,useDeferredValue:function(e,r){var o=Ai(e),t=o[0],n=o[1];return yi((function(){l.unstable_next((function(){var o=jl.suspense;jl.suspense=void 0===r?null:r;try{n(e)}finally{jl.suspense=o}}))}),[e,r]),t},useTransition:function(e){var r=Ai(!1),o=r[0],t=r[1];return[wi((function(r){t(!0),l.unstable_next((function(){var o=jl.suspense;jl.suspense=void 0===e?null:e;try{t(!1),r()}finally{jl.suspense=o}}))}),[e,o]),o]}},Oi={readContext:gl,useCallback:Bi,useContext:gl,useEffect:Li,useImperativeHandle:function(e,r,o){return o=null!==o&&void 0!==o?o.concat([e]):null,Pi(4,36,Ei.bind(null,r,e),o)},useLayoutEffect:function(e,r){return Pi(4,36,e,r)},useMemo:function(e,r){var o=Si();r=void 0===r?null:r;var t=o.memoizedState;return null!==t&&null!==r&&ci(r,t[1])?t[0]:(e=e(),o.memoizedState=[e,r],e)},useReducer:vi,useRef:function(){return Si().memoizedState},useState:bi,useDebugValue:_i,useResponder:Zl,useDeferredValue:function(e,r){var o=bi(),t=o[0],n=o[1];return Li((function(){l.unstable_next((function(){var o=jl.suspense;jl.suspense=void 0===r?null:r;try{n(e)}finally{jl.suspense=o}}))}),[e,r]),t},useTransition:function(e){var r=bi(),o=r[0],t=r[1];return[Bi((function(r){t(!0),l.unstable_next((function(){var o=jl.suspense;jl.suspense=void 0===e?null:e;try{t(!1),r()}finally{jl.suspense=o}}))}),[e,o]),o]}},Ii=null,Xi=null,Di=!1;function Fi(e,r){var o=Wd(5,null,null,0);o.elementType="DELETED",o.type="DELETED",o.stateNode=r,o.return=e,o.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=o,e.lastEffect=o):e.firstEffect=e.lastEffect=o}function $i(e,r){switch(e.tag){case 5:var o=e.type;return null!==(r=1!==r.nodeType||o.toLowerCase()!==r.nodeName.toLowerCase()?null:r)&&(e.stateNode=r,!0);case 6:return null!==(r=""===e.pendingProps||3!==r.nodeType?null:r)&&(e.stateNode=r,!0);case 13:default:return!1}}function Ri(e){if(Di){var r=Xi;if(r){var o=r;if(!$i(e,r)){if(!(r=it(o.nextSibling))||!$i(e,r))return e.effectTag=-1025&e.effectTag|2,Di=!1,void(Ii=e);Fi(Ii,o)}Ii=e,Xi=it(r.firstChild)}else e.effectTag=-1025&e.effectTag|2,Di=!1,Ii=e}}function ki(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Ii=e}function Ui(e){if(e!==Ii)return!1;if(!Di)return ki(e),Di=!0,!1;var r=e.type;if(5!==e.tag||"head"!==r&&"body"!==r&&!tt(r,e.memoizedProps))for(r=Xi;r;)Fi(e,r),r=it(r.nextSibling);if(ki(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(i(317));e:{for(e=e.nextSibling,r=0;e;){if(8===e.nodeType){var o=e.data;if(o===Jo){if(0===r){Xi=it(e.nextSibling);break e}r--}else o!==Zo&&o!==qo&&o!==jo||r++}e=e.nextSibling}Xi=null}}else Xi=Ii?it(e.stateNode.nextSibling):null;return!0}function Vi(){Xi=Ii=null,Di=!1}var Hi=N.ReactCurrentOwner,Yi=!1;function Wi(e,r,o,t){r.child=null===e?Fl(r,null,o,t):Dl(r,e.child,o,t)}function Ki(e,r,o,t,n){o=o.render;var l=r.ref;return sl(r,n),t=xi(e,r,o,t,l,n),null===e||Yi?(r.effectTag|=1,Wi(e,r,t,n),r.child):(r.updateQueue=e.updateQueue,r.effectTag&=-517,e.expirationTime<=n&&(e.expirationTime=0),ua(e,r,n))}function zi(e,r,o,t,n,l){if(null===e){var i=o.type;return"function"!==typeof i||Kd(i)||void 0!==i.defaultProps||null!==o.compare||void 0!==o.defaultProps?((e=Qd(o.type,null,t,null,r.mode,l)).ref=r.ref,e.return=r,r.child=e):(r.tag=15,r.type=i,Qi(e,r,i,t,n,l))}return i=e.child,n<l&&(n=i.memoizedProps,(o=null!==(o=o.compare)?o:on)(n,t)&&e.ref===r.ref)?ua(e,r,l):(r.effectTag|=1,(e=zd(i,t)).ref=r.ref,e.return=r,r.child=e)}function Qi(e,r,o,t,n,l){return null!==e&&on(e.memoizedProps,t)&&e.ref===r.ref&&(Yi=!1,n<l)?ua(e,r,l):Ji(e,r,o,t,l)}function Zi(e,r){var o=r.ref;(null===e&&null!==o||null!==e&&e.ref!==o)&&(r.effectTag|=128)}function Ji(e,r,o,t,n){var l=bn(o)?vn:Sn.current;return l=An(r,l),sl(r,n),o=xi(e,r,o,t,l,n),null===e||Yi?(r.effectTag|=1,Wi(e,r,o,n),r.child):(r.updateQueue=e.updateQueue,r.effectTag&=-517,e.expirationTime<=n&&(e.expirationTime=0),ua(e,r,n))}function ji(e,r,o,t,n){if(bn(o)){var l=!0;Ln(r)}else l=!1;if(sl(r,n),null===r.stateNode)null!==e&&(e.alternate=null,r.alternate=null,r.effectTag|=2),Bl(r,o,t),Gl(r,o,t,n),t=!0;else if(null===e){var i=r.stateNode,a=r.memoizedProps;i.props=a;var d=i.context,m=o.contextType;"object"===typeof m&&null!==m?m=gl(m):m=An(r,m=bn(o)?vn:Sn.current);var u=o.getDerivedStateFromProps,s="function"===typeof u||"function"===typeof i.getSnapshotBeforeUpdate;s||"function"!==typeof i.UNSAFE_componentWillReceiveProps&&"function"!==typeof i.componentWillReceiveProps||(a!==t||d!==m)&&Cl(r,i,t,m),cl=!1;var g=r.memoizedState;d=i.state=g;var c=r.updateQueue;null!==c&&(Tl(r,c,t,i,n),d=r.memoizedState),a!==t||g!==d||hn.current||cl?("function"===typeof u&&(El(r,o,u,t),d=r.memoizedState),(a=cl||wl(r,o,a,t,g,d,m))?(s||"function"!==typeof i.UNSAFE_componentWillMount&&"function"!==typeof i.componentWillMount||("function"===typeof i.componentWillMount&&i.componentWillMount(),"function"===typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"===typeof i.componentDidMount&&(r.effectTag|=4)):("function"===typeof i.componentDidMount&&(r.effectTag|=4),r.memoizedProps=t,r.memoizedState=d),i.props=t,i.state=d,i.context=m,t=a):("function"===typeof i.componentDidMount&&(r.effectTag|=4),t=!1)}else i=r.stateNode,a=r.memoizedProps,i.props=r.type===r.elementType?a:ol(r.type,a),d=i.context,"object"===typeof(m=o.contextType)&&null!==m?m=gl(m):m=An(r,m=bn(o)?vn:Sn.current),(s="function"===typeof(u=o.getDerivedStateFromProps)||"function"===typeof i.getSnapshotBeforeUpdate)||"function"!==typeof i.UNSAFE_componentWillReceiveProps&&"function"!==typeof i.componentWillReceiveProps||(a!==t||d!==m)&&Cl(r,i,t,m),cl=!1,d=r.memoizedState,g=i.state=d,null!==(c=r.updateQueue)&&(Tl(r,c,t,i,n),g=r.memoizedState),a!==t||d!==g||hn.current||cl?("function"===typeof u&&(El(r,o,u,t),g=r.memoizedState),(u=cl||wl(r,o,a,t,d,g,m))?(s||"function"!==typeof i.UNSAFE_componentWillUpdate&&"function"!==typeof i.componentWillUpdate||("function"===typeof i.componentWillUpdate&&i.componentWillUpdate(t,g,m),"function"===typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(t,g,m)),"function"===typeof i.componentDidUpdate&&(r.effectTag|=4),"function"===typeof i.getSnapshotBeforeUpdate&&(r.effectTag|=256)):("function"!==typeof i.componentDidUpdate||a===e.memoizedProps&&d===e.memoizedState||(r.effectTag|=4),"function"!==typeof i.getSnapshotBeforeUpdate||a===e.memoizedProps&&d===e.memoizedState||(r.effectTag|=256),r.memoizedProps=t,r.memoizedState=g),i.props=t,i.state=g,i.context=m,t=u):("function"!==typeof i.componentDidUpdate||a===e.memoizedProps&&d===e.memoizedState||(r.effectTag|=4),"function"!==typeof i.getSnapshotBeforeUpdate||a===e.memoizedProps&&d===e.memoizedState||(r.effectTag|=256),t=!1);return qi(e,r,o,t,l,n)}function qi(e,r,o,t,n,l){Zi(e,r);var i=0!==(64&r.effectTag);if(!t&&!i)return n&&En(r,o,!1),ua(e,r,l);t=r.stateNode,Hi.current=r;var a=i&&"function"!==typeof o.getDerivedStateFromError?null:t.render();return r.effectTag|=1,null!==e&&i?(r.child=Dl(r,e.child,null,l),r.child=Dl(r,null,a,l)):Wi(e,r,a,l),r.memoizedState=t.state,n&&En(r,o,!0),r.child}function ea(e){var r=e.stateNode;r.pendingContext?Pn(0,r.pendingContext,r.pendingContext!==r.context):r.context&&Pn(0,r.context,!1),Hl(e,r.containerInfo)}var ra,oa,ta,na,la={dehydrated:null,retryTime:0};function ia(e,r,o){var t,n=r.mode,l=r.pendingProps,i=zl.current,a=!1;if((t=0!==(64&r.effectTag))||(t=0!==(2&i)&&(null===e||null!==e.memoizedState)),t?(a=!0,r.effectTag&=-65):null!==e&&null===e.memoizedState||void 0===l.fallback||!0===l.unstable_avoidThisFallback||(i|=1),pn(zl,1&i),null===e){if(void 0!==l.fallback&&Ri(r),a){if(a=l.fallback,(l=Zd(null,n,0,null)).return=r,0===(2&r.mode))for(e=null!==r.memoizedState?r.child.child:r.child,l.child=e;null!==e;)e.return=l,e=e.sibling;return(o=Zd(a,n,o,null)).return=r,l.sibling=o,r.memoizedState=la,r.child=l,o}return n=l.children,r.memoizedState=null,r.child=Fl(r,null,n,o)}if(null!==e.memoizedState){if(n=(e=e.child).sibling,a){if(l=l.fallback,(o=zd(e,e.pendingProps)).return=r,0===(2&r.mode)&&(a=null!==r.memoizedState?r.child.child:r.child)!==e.child)for(o.child=a;null!==a;)a.return=o,a=a.sibling;return(n=zd(n,l,n.expirationTime)).return=r,o.sibling=n,o.childExpirationTime=0,r.memoizedState=la,r.child=o,n}return o=Dl(r,e.child,l.children,o),r.memoizedState=null,r.child=o}if(e=e.child,a){if(a=l.fallback,(l=Zd(null,n,0,null)).return=r,l.child=e,null!==e&&(e.return=l),0===(2&r.mode))for(e=null!==r.memoizedState?r.child.child:r.child,l.child=e;null!==e;)e.return=l,e=e.sibling;return(o=Zd(a,n,o,null)).return=r,l.sibling=o,o.effectTag|=2,l.childExpirationTime=0,r.memoizedState=la,r.child=l,o}return r.memoizedState=null,r.child=Dl(r,e,l.children,o)}function aa(e,r){e.expirationTime<r&&(e.expirationTime=r);var o=e.alternate;null!==o&&o.expirationTime<r&&(o.expirationTime=r),ul(e.return,r)}function da(e,r,o,t,n,l){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:r,rendering:null,last:t,tail:o,tailExpiration:0,tailMode:n,lastEffect:l}:(i.isBackwards=r,i.rendering=null,i.last=t,i.tail=o,i.tailExpiration=0,i.tailMode=n,i.lastEffect=l)}function ma(e,r,o){var t=r.pendingProps,n=t.revealOrder,l=t.tail;if(Wi(e,r,t.children,o),0!==(2&(t=zl.current)))t=1&t|2,r.effectTag|=64;else{if(null!==e&&0!==(64&e.effectTag))e:for(e=r.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&aa(e,o);else if(19===e.tag)aa(e,o);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===r)break e;for(;null===e.sibling;){if(null===e.return||e.return===r)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}t&=1}if(pn(zl,t),0===(2&r.mode))r.memoizedState=null;else switch(n){case"forwards":for(o=r.child,n=null;null!==o;)null!==(e=o.alternate)&&null===Ql(e)&&(n=o),o=o.sibling;null===(o=n)?(n=r.child,r.child=null):(n=o.sibling,o.sibling=null),da(r,!1,n,o,l,r.lastEffect);break;case"backwards":for(o=null,n=r.child,r.child=null;null!==n;){if(null!==(e=n.alternate)&&null===Ql(e)){r.child=n;break}e=n.sibling,n.sibling=o,o=n,n=e}da(r,!0,o,null,l,r.lastEffect);break;case"together":da(r,!1,null,null,void 0,r.lastEffect);break;default:r.memoizedState=null}return r.child}function ua(e,r,o){null!==e&&(r.dependencies=e.dependencies);var t=r.expirationTime;if(0!==t&&_d(t),r.childExpirationTime<o)return null;if(null!==e&&r.child!==e.child)throw Error(i(153));if(null!==r.child){for(o=zd(e=r.child,e.pendingProps,e.expirationTime),r.child=o,o.return=r;null!==e.sibling;)e=e.sibling,(o=o.sibling=zd(e,e.pendingProps,e.expirationTime)).return=r;o.sibling=null}return r.child}function sa(e){e.effectTag|=4}function ga(e,r){switch(e.tailMode){case"hidden":r=e.tail;for(var o=null;null!==r;)null!==r.alternate&&(o=r),r=r.sibling;null===o?e.tail=null:o.sibling=null;break;case"collapsed":o=e.tail;for(var t=null;null!==o;)null!==o.alternate&&(t=o),o=o.sibling;null===t?r||null===e.tail?e.tail=null:e.tail.sibling=null:t.sibling=null}}function ca(e){switch(e.tag){case 1:bn(e.type)&&Tn();var r=e.effectTag;return 4096&r?(e.effectTag=-4097&r|64,e):null;case 3:if(Yl(),Mn(),0!==(64&(r=e.effectTag)))throw Error(i(285));return e.effectTag=-4097&r|64,e;case 5:return Kl(e),null;case 13:return xn(zl),4096&(r=e.effectTag)?(e.effectTag=-4097&r|64,e):null;case 19:return xn(zl),null;case 4:return Yl(),null;case 10:return ml(e),null;default:return null}}function xa(e,r){return{value:e,source:r,stack:j(r)}}ra=function(e,r){for(var o=r.child;null!==o;){if(5===o.tag||6===o.tag)e.appendChild(o.stateNode);else if(4!==o.tag&&null!==o.child){o.child.return=o,o=o.child;continue}if(o===r)break;for(;null===o.sibling;){if(null===o.return||o.return===r)return;o=o.return}o.sibling.return=o.return,o=o.sibling}},oa=function(){},ta=function(e,r,o,t,l){var i=e.memoizedProps;if(i!==t){var a,d,m=r.stateNode;switch(Vl(Rl.current),e=null,o){case"input":i=Le(m,i),t=Le(m,t),e=[];break;case"option":i=Ge(m,i),t=Ge(m,t),e=[];break;case"select":i=n({},i,{value:void 0}),t=n({},t,{value:void 0}),e=[];break;case"textarea":i=Oe(m,i),t=Oe(m,t),e=[];break;default:"function"!==typeof i.onClick&&"function"===typeof t.onClick&&(m.onclick=Ho)}for(a in ko(o,t),o=null,i)if(!t.hasOwnProperty(a)&&i.hasOwnProperty(a)&&null!=i[a])if("style"===a)for(d in m=i[a])m.hasOwnProperty(d)&&(o||(o={}),o[d]="");else"dangerouslySetInnerHTML"!==a&&"children"!==a&&"suppressContentEditableWarning"!==a&&"suppressHydrationWarning"!==a&&"autoFocus"!==a&&(c.hasOwnProperty(a)?e||(e=[]):(e=e||[]).push(a,null));for(a in t){var u=t[a];if(m=null!=i?i[a]:void 0,t.hasOwnProperty(a)&&u!==m&&(null!=u||null!=m))if("style"===a)if(m){for(d in m)!m.hasOwnProperty(d)||u&&u.hasOwnProperty(d)||(o||(o={}),o[d]="");for(d in u)u.hasOwnProperty(d)&&m[d]!==u[d]&&(o||(o={}),o[d]=u[d])}else o||(e||(e=[]),e.push(a,o)),o=u;else"dangerouslySetInnerHTML"===a?(u=u?u.__html:void 0,m=m?m.__html:void 0,null!=u&&m!==u&&(e=e||[]).push(a,""+u)):"children"===a?m===u||"string"!==typeof u&&"number"!==typeof u||(e=e||[]).push(a,""+u):"suppressContentEditableWarning"!==a&&"suppressHydrationWarning"!==a&&(c.hasOwnProperty(a)?(null!=u&&Vo(l,a),e||m===u||(e=[])):(e=e||[]).push(a,u))}o&&(e=e||[]).push("style",o),l=e,(r.updateQueue=l)&&sa(r)}},na=function(e,r,o,t){o!==t&&sa(r)};var pa="function"===typeof WeakSet?WeakSet:Set;function fa(e,r){var o=r.source,t=r.stack;null===t&&null!==o&&(t=j(o)),null!==o&&J(o.type),r=r.value,null!==e&&1===e.tag&&J(e.type);try{console.error(r)}catch(n){setTimeout((function(){throw n}))}}function Sa(e){var r=e.ref;if(null!==r)if("function"===typeof r)try{r(null)}catch(o){Rd(e,o)}else r.current=null}function ha(e,r){switch(r.tag){case 0:case 11:case 15:va(2,0,r);break;case 1:if(256&r.effectTag&&null!==e){var o=e.memoizedProps,t=e.memoizedState;r=(e=r.stateNode).getSnapshotBeforeUpdate(r.elementType===r.type?o:ol(r.type,o),t),e.__reactInternalSnapshotBeforeUpdate=r}break;case 3:case 5:case 6:case 4:case 17:break;default:throw Error(i(163))}}function va(e,r,o){if(null!==(o=null!==(o=o.updateQueue)?o.lastEffect:null)){var t=o=o.next;do{if(0!==(t.tag&e)){var n=t.destroy;t.destroy=void 0,void 0!==n&&n()}0!==(t.tag&r)&&(n=t.create,t.destroy=n()),t=t.next}while(t!==o)}}function Aa(e,r,o){switch("function"===typeof Hd&&Hd(r),r.tag){case 0:case 11:case 14:case 15:if(null!==(e=r.updateQueue)&&null!==(e=e.lastEffect)){var t=e.next;Qn(97<o?97:o,(function(){var e=t;do{var o=e.destroy;if(void 0!==o){var n=r;try{o()}catch(l){Rd(n,l)}}e=e.next}while(e!==t)}))}break;case 1:Sa(r),"function"===typeof(o=r.stateNode).componentWillUnmount&&function(e,r){try{r.props=e.memoizedProps,r.state=e.memoizedState,r.componentWillUnmount()}catch(o){Rd(e,o)}}(r,o);break;case 5:Sa(r);break;case 4:Pa(e,r,o)}}function ba(e){var r=e.alternate;e.return=null,e.child=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.alternate=null,e.firstEffect=null,e.lastEffect=null,e.pendingProps=null,e.memoizedProps=null,null!==r&&ba(r)}function Ta(e){return 5===e.tag||3===e.tag||4===e.tag}function Ma(e){e:{for(var r=e.return;null!==r;){if(Ta(r)){var o=r;break e}r=r.return}throw Error(i(160))}switch(r=o.stateNode,o.tag){case 5:var t=!1;break;case 3:case 4:r=r.containerInfo,t=!0;break;default:throw Error(i(161))}16&o.effectTag&&(Ve(r,""),o.effectTag&=-17);e:r:for(o=e;;){for(;null===o.sibling;){if(null===o.return||Ta(o.return)){o=null;break e}o=o.return}for(o.sibling.return=o.return,o=o.sibling;5!==o.tag&&6!==o.tag&&18!==o.tag;){if(2&o.effectTag)continue r;if(null===o.child||4===o.tag)continue r;o.child.return=o,o=o.child}if(!(2&o.effectTag)){o=o.stateNode;break e}}for(var n=e;;){var l=5===n.tag||6===n.tag;if(l){var a=l?n.stateNode:n.stateNode.instance;if(o)if(t){var d=a;a=o,8===(l=r).nodeType?l.parentNode.insertBefore(d,a):l.insertBefore(d,a)}else r.insertBefore(a,o);else t?(8===(d=r).nodeType?(l=d.parentNode).insertBefore(a,d):(l=d).appendChild(a),null!==(d=d._reactRootContainer)&&void 0!==d||null!==l.onclick||(l.onclick=Ho)):r.appendChild(a)}else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}}function Pa(e,r,o){for(var t,n,l=r,a=!1;;){if(!a){a=l.return;e:for(;;){if(null===a)throw Error(i(160));switch(t=a.stateNode,a.tag){case 5:n=!1;break e;case 3:case 4:t=t.containerInfo,n=!0;break e}a=a.return}a=!0}if(5===l.tag||6===l.tag){e:for(var d=e,m=l,u=o,s=m;;)if(Aa(d,s,u),null!==s.child&&4!==s.tag)s.child.return=s,s=s.child;else{if(s===m)break;for(;null===s.sibling;){if(null===s.return||s.return===m)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}n?(d=t,m=l.stateNode,8===d.nodeType?d.parentNode.removeChild(m):d.removeChild(m)):t.removeChild(l.stateNode)}else if(4===l.tag){if(null!==l.child){t=l.stateNode.containerInfo,n=!0,l.child.return=l,l=l.child;continue}}else if(Aa(e,l,o),null!==l.child){l.child.return=l,l=l.child;continue}if(l===r)break;for(;null===l.sibling;){if(null===l.return||l.return===r)return;4===(l=l.return).tag&&(a=!1)}l.sibling.return=l.return,l=l.sibling}}function ya(e,r){switch(r.tag){case 0:case 11:case 14:case 15:va(4,8,r);break;case 1:break;case 5:var o=r.stateNode;if(null!=o){var t=r.memoizedProps,n=null!==e?e.memoizedProps:t;e=r.type;var l=r.updateQueue;if(r.updateQueue=null,null!==l){for(o[ut]=t,"input"===e&&"radio"===t.type&&null!=t.name&&_e(o,t),Uo(e,n),r=Uo(e,t),n=0;n<l.length;n+=2){var a=l[n],d=l[n+1];"style"===a?$o(o,d):"dangerouslySetInnerHTML"===a?Ue(o,d):"children"===a?Ve(o,d):Te(o,a,d,r)}switch(e){case"input":we(o,t);break;case"textarea":Xe(o,t);break;case"select":r=o._wrapperState.wasMultiple,o._wrapperState.wasMultiple=!!t.multiple,null!=(e=t.value)?Ne(o,!!t.multiple,e,!1):r!==!!t.multiple&&(null!=t.defaultValue?Ne(o,!!t.multiple,t.defaultValue,!0):Ne(o,!!t.multiple,t.multiple?[]:"",!1))}}}break;case 6:if(null===r.stateNode)throw Error(i(162));r.stateNode.nodeValue=r.memoizedProps;break;case 3:(r=r.stateNode).hydrate&&(r.hydrate=!1,yr(r.containerInfo));break;case 12:break;case 13:if(o=r,null===r.memoizedState?t=!1:(t=!0,o=r.child,rd=Wn()),null!==o)e:for(e=o;;){if(5===e.tag)l=e.stateNode,t?"function"===typeof(l=l.style).setProperty?l.setProperty("display","none","important"):l.display="none":(l=e.stateNode,n=void 0!==(n=e.memoizedProps.style)&&null!==n&&n.hasOwnProperty("display")?n.display:null,l.style.display=Fo("display",n));else if(6===e.tag)e.stateNode.nodeValue=t?"":e.memoizedProps;else{if(13===e.tag&&null!==e.memoizedState&&null===e.memoizedState.dehydrated){(l=e.child.sibling).return=e,e=l;continue}if(null!==e.child){e.child.return=e,e=e.child;continue}}if(e===o)break e;for(;null===e.sibling;){if(null===e.return||e.return===o)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}La(r);break;case 19:La(r);break;case 17:case 20:case 21:break;default:throw Error(i(163))}}function La(e){var r=e.updateQueue;if(null!==r){e.updateQueue=null;var o=e.stateNode;null===o&&(o=e.stateNode=new pa),r.forEach((function(r){var t=Ud.bind(null,e,r);o.has(r)||(o.add(r),r.then(t,t))}))}}var Ea="function"===typeof WeakMap?WeakMap:Map;function _a(e,r,o){(o=fl(o,null)).tag=3,o.payload={element:null};var t=r.value;return o.callback=function(){nd||(nd=!0,ld=t),fa(e,r)},o}function wa(e,r,o){(o=fl(o,null)).tag=3;var t=e.type.getDerivedStateFromError;if("function"===typeof t){var n=r.value;o.payload=function(){return fa(e,r),t(n)}}var l=e.stateNode;return null!==l&&"function"===typeof l.componentDidCatch&&(o.callback=function(){"function"!==typeof t&&(null===id?id=new Set([this]):id.add(this),fa(e,r));var o=r.stack;this.componentDidCatch(r.value,{componentStack:null!==o?o:""})}),o}var Ba,Ca=Math.ceil,Ga=N.ReactCurrentDispatcher,Na=N.ReactCurrentOwner,Oa=0,Ia=8,Xa=16,Da=32,Fa=0,$a=1,Ra=2,ka=3,Ua=4,Va=5,Ha=Oa,Ya=null,Wa=null,Ka=0,za=Fa,Qa=null,Za=1073741823,Ja=1073741823,ja=null,qa=0,ed=!1,rd=0,od=500,td=null,nd=!1,ld=null,id=null,ad=!1,dd=null,md=90,ud=null,sd=0,gd=null,cd=0;function xd(){return(Ha&(Xa|Da))!==Oa?1073741821-(Wn()/10|0):0!==cd?cd:cd=1073741821-(Wn()/10|0)}function pd(e,r,o){if(0===(2&(r=r.mode)))return 1073741823;var t=Kn();if(0===(4&r))return 99===t?1073741823:1073741822;if((Ha&Xa)!==Oa)return Ka;if(null!==o)e=rl(e,0|o.timeoutMs||5e3,250);else switch(t){case 99:e=1073741823;break;case 98:e=rl(e,150,100);break;case 97:case 96:e=rl(e,5e3,250);break;case 95:e=2;break;default:throw Error(i(326))}return null!==Ya&&e===Ka&&--e,e}function fd(e,r){if(50<sd)throw sd=0,gd=null,Error(i(185));if(null!==(e=Sd(e,r))){var o=Kn();1073741823===r?(Ha&Ia)!==Oa&&(Ha&(Xa|Da))===Oa?bd(e):(vd(e),Ha===Oa&&jn()):vd(e),(4&Ha)===Oa||98!==o&&99!==o||(null===ud?ud=new Map([[e,r]]):(void 0===(o=ud.get(e))||o>r)&&ud.set(e,r))}}function Sd(e,r){e.expirationTime<r&&(e.expirationTime=r);var o=e.alternate;null!==o&&o.expirationTime<r&&(o.expirationTime=r);var t=e.return,n=null;if(null===t&&3===e.tag)n=e.stateNode;else for(;null!==t;){if(o=t.alternate,t.childExpirationTime<r&&(t.childExpirationTime=r),null!==o&&o.childExpirationTime<r&&(o.childExpirationTime=r),null===t.return&&3===t.tag){n=t.stateNode;break}t=t.return}return null!==n&&(Ya===n&&(_d(r),za===Ua&&rm(n,Ka)),om(n,r)),n}function hd(e){var r=e.lastExpiredTime;return 0!==r?r:em(e,r=e.firstPendingTime)?(r=e.lastPingedTime)>(e=e.nextKnownPendingLevel)?r:e:r}function vd(e){if(0!==e.lastExpiredTime)e.callbackExpirationTime=1073741823,e.callbackPriority=99,e.callbackNode=Jn(bd.bind(null,e));else{var r=hd(e),o=e.callbackNode;if(0===r)null!==o&&(e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90);else{var t=xd();if(1073741823===r?t=99:1===r||2===r?t=95:t=0>=(t=10*(1073741821-r)-10*(1073741821-t))?99:250>=t?98:5250>=t?97:95,null!==o){var n=e.callbackPriority;if(e.callbackExpirationTime===r&&n>=t)return;o!==Rn&&Bn(o)}e.callbackExpirationTime=r,e.callbackPriority=t,r=1073741823===r?Jn(bd.bind(null,e)):Zn(t,Ad.bind(null,e),{timeout:10*(1073741821-r)-Wn()}),e.callbackNode=r}}}function Ad(e,r){if(cd=0,r)return tm(e,r=xd()),vd(e),null;var o=hd(e);if(0!==o){if(r=e.callbackNode,(Ha&(Xa|Da))!==Oa)throw Error(i(327));if(Dd(),e===Ya&&o===Ka||Pd(e,o),null!==Wa){var t=Ha;Ha|=Xa;for(var n=Ld();;)try{Bd();break}catch(d){yd(e,d)}if(al(),Ha=t,Ga.current=n,za===$a)throw r=Qa,Pd(e,o),rm(e,o),vd(e),r;if(null===Wa)switch(n=e.finishedWork=e.current.alternate,e.finishedExpirationTime=o,t=za,Ya=null,t){case Fa:case $a:throw Error(i(345));case Ra:tm(e,2<o?2:o);break;case ka:if(rm(e,o),o===(t=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=Nd(n)),1073741823===Za&&10<(n=rd+od-Wn())){if(ed){var l=e.lastPingedTime;if(0===l||l>=o){e.lastPingedTime=o,Pd(e,o);break}}if(0!==(l=hd(e))&&l!==o)break;if(0!==t&&t!==o){e.lastPingedTime=t;break}e.timeoutHandle=nt(Od.bind(null,e),n);break}Od(e);break;case Ua:if(rm(e,o),o===(t=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=Nd(n)),ed&&(0===(n=e.lastPingedTime)||n>=o)){e.lastPingedTime=o,Pd(e,o);break}if(0!==(n=hd(e))&&n!==o)break;if(0!==t&&t!==o){e.lastPingedTime=t;break}if(1073741823!==Ja?t=10*(1073741821-Ja)-Wn():1073741823===Za?t=0:(t=10*(1073741821-Za)-5e3,0>(t=(n=Wn())-t)&&(t=0),(o=10*(1073741821-o)-n)<(t=(120>t?120:480>t?480:1080>t?1080:1920>t?1920:3e3>t?3e3:4320>t?4320:1960*Ca(t/1960))-t)&&(t=o)),10<t){e.timeoutHandle=nt(Od.bind(null,e),t);break}Od(e);break;case Va:if(1073741823!==Za&&null!==ja){l=Za;var a=ja;if(0>=(t=0|a.busyMinDurationMs)?t=0:(n=0|a.busyDelayMs,t=(l=Wn()-(10*(1073741821-l)-(0|a.timeoutMs||5e3)))<=n?0:n+t-l),10<t){rm(e,o),e.timeoutHandle=nt(Od.bind(null,e),t);break}}Od(e);break;default:throw Error(i(329))}if(vd(e),e.callbackNode===r)return Ad.bind(null,e)}}return null}function bd(e){var r=e.lastExpiredTime;if(r=0!==r?r:1073741823,e.finishedExpirationTime===r)Od(e);else{if((Ha&(Xa|Da))!==Oa)throw Error(i(327));if(Dd(),e===Ya&&r===Ka||Pd(e,r),null!==Wa){var o=Ha;Ha|=Xa;for(var t=Ld();;)try{wd();break}catch(n){yd(e,n)}if(al(),Ha=o,Ga.current=t,za===$a)throw o=Qa,Pd(e,r),rm(e,r),vd(e),o;if(null!==Wa)throw Error(i(261));e.finishedWork=e.current.alternate,e.finishedExpirationTime=r,Ya=null,Od(e),vd(e)}}return null}function Td(e,r){var o=Ha;Ha|=1;try{return e(r)}finally{(Ha=o)===Oa&&jn()}}function Md(e,r){var o=Ha;Ha&=-2,Ha|=Ia;try{return e(r)}finally{(Ha=o)===Oa&&jn()}}function Pd(e,r){e.finishedWork=null,e.finishedExpirationTime=0;var o=e.timeoutHandle;if(-1!==o&&(e.timeoutHandle=-1,lt(o)),null!==Wa)for(o=Wa.return;null!==o;){var t=o;switch(t.tag){case 1:var n=t.type.childContextTypes;null!==n&&void 0!==n&&Tn();break;case 3:Yl(),Mn();break;case 5:Kl(t);break;case 4:Yl();break;case 13:case 19:xn(zl);break;case 10:ml(t)}o=o.return}Ya=e,Wa=zd(e.current,null),Ka=r,za=Fa,Qa=null,Ja=Za=1073741823,ja=null,qa=0,ed=!1}function yd(e,r){for(;;){try{if(al(),pi(),null===Wa||null===Wa.return)return za=$a,Qa=r,null;e:{var o=e,t=Wa.return,n=Wa,l=r;if(r=Ka,n.effectTag|=2048,n.firstEffect=n.lastEffect=null,null!==l&&"object"===typeof l&&"function"===typeof l.then){var i=l,a=0!==(1&zl.current),d=t;do{var m;if(m=13===d.tag){var u=d.memoizedState;if(null!==u)m=null!==u.dehydrated;else{var s=d.memoizedProps;m=void 0!==s.fallback&&(!0!==s.unstable_avoidThisFallback||!a)}}if(m){var g=d.updateQueue;if(null===g){var c=new Set;c.add(i),d.updateQueue=c}else g.add(i);if(0===(2&d.mode)){if(d.effectTag|=64,n.effectTag&=-2981,1===n.tag)if(null===n.alternate)n.tag=17;else{var x=fl(1073741823,null);x.tag=2,hl(n,x)}n.expirationTime=1073741823;break e}l=void 0,n=r;var p=o.pingCache;if(null===p?(p=o.pingCache=new Ea,l=new Set,p.set(i,l)):void 0===(l=p.get(i))&&(l=new Set,p.set(i,l)),!l.has(n)){l.add(n);var f=kd.bind(null,o,i,n);i.then(f,f)}d.effectTag|=4096,d.expirationTime=r;break e}d=d.return}while(null!==d);l=Error((J(n.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display."+j(n))}za!==Va&&(za=Ra),l=xa(l,n),d=t;do{switch(d.tag){case 3:i=l,d.effectTag|=4096,d.expirationTime=r,vl(d,_a(d,i,r));break e;case 1:i=l;var S=d.type,h=d.stateNode;if(0===(64&d.effectTag)&&("function"===typeof S.getDerivedStateFromError||null!==h&&"function"===typeof h.componentDidCatch&&(null===id||!id.has(h)))){d.effectTag|=4096,d.expirationTime=r,vl(d,wa(d,i,r));break e}}d=d.return}while(null!==d)}Wa=Gd(Wa)}catch(v){r=v;continue}break}}function Ld(){var e=Ga.current;return Ga.current=Gi,null===e?Gi:e}function Ed(e,r){e<Za&&2<e&&(Za=e),null!==r&&e<Ja&&2<e&&(Ja=e,ja=r)}function _d(e){e>qa&&(qa=e)}function wd(){for(;null!==Wa;)Wa=Cd(Wa)}function Bd(){for(;null!==Wa&&!Cn();)Wa=Cd(Wa)}function Cd(e){var r=Ba(e.alternate,e,Ka);return e.memoizedProps=e.pendingProps,null===r&&(r=Gd(e)),Na.current=null,r}function Gd(e){Wa=e;do{var r=Wa.alternate;if(e=Wa.return,0===(2048&Wa.effectTag)){e:{var o=r,t=Ka,l=(r=Wa).pendingProps;switch(r.tag){case 2:case 16:break;case 15:case 0:break;case 1:bn(r.type)&&Tn();break;case 3:Yl(),Mn(),(l=r.stateNode).pendingContext&&(l.context=l.pendingContext,l.pendingContext=null),(null===o||null===o.child)&&Ui(r)&&sa(r),oa(r);break;case 5:Kl(r),t=Vl(Ul.current);var a=r.type;if(null!==o&&null!=r.stateNode)ta(o,r,a,l,t),o.ref!==r.ref&&(r.effectTag|=128);else if(l){var d=Vl(Rl.current);if(Ui(r)){var m=(l=r).stateNode;o=l.type;var u=l.memoizedProps,s=t;switch(m[mt]=l,m[ut]=u,a=void 0,t=m,o){case"iframe":case"object":case"embed":yo("load",t);break;case"video":case"audio":for(m=0;m<qe.length;m++)yo(qe[m],t);break;case"source":yo("error",t);break;case"img":case"image":case"link":yo("error",t),yo("load",t);break;case"form":yo("reset",t),yo("submit",t);break;case"details":yo("toggle",t);break;case"input":Ee(t,u),yo("invalid",t),Vo(s,"onChange");break;case"select":t._wrapperState={wasMultiple:!!u.multiple},yo("invalid",t),Vo(s,"onChange");break;case"textarea":Ie(t,u),yo("invalid",t),Vo(s,"onChange")}for(a in ko(o,u),m=null,u)u.hasOwnProperty(a)&&(d=u[a],"children"===a?"string"===typeof d?t.textContent!==d&&(m=["children",d]):"number"===typeof d&&t.textContent!==""+d&&(m=["children",""+d]):c.hasOwnProperty(a)&&null!=d&&Vo(s,a));switch(o){case"input":Pe(t),Be(t,u,!0);break;case"textarea":Pe(t),De(t);break;case"select":case"option":break;default:"function"===typeof u.onClick&&(t.onclick=Ho)}a=m,l.updateQueue=a,(l=null!==a)&&sa(r)}else{o=r,s=a,u=l,m=9===t.nodeType?t:t.ownerDocument,d===Fe.html&&(d=$e(s)),d===Fe.html?"script"===s?((u=m.createElement("div")).innerHTML="<script><\/script>",m=u.removeChild(u.firstChild)):"string"===typeof u.is?m=m.createElement(s,{is:u.is}):(m=m.createElement(s),"select"===s&&(s=m,u.multiple?s.multiple=!0:u.size&&(s.size=u.size))):m=m.createElementNS(d,s),(u=m)[mt]=o,u[ut]=l,ra(u,r,!1,!1),r.stateNode=u;var g=t,x=Uo(s=a,o=l);switch(s){case"iframe":case"object":case"embed":yo("load",u),t=o;break;case"video":case"audio":for(t=0;t<qe.length;t++)yo(qe[t],u);t=o;break;case"source":yo("error",u),t=o;break;case"img":case"image":case"link":yo("error",u),yo("load",u),t=o;break;case"form":yo("reset",u),yo("submit",u),t=o;break;case"details":yo("toggle",u),t=o;break;case"input":Ee(u,o),t=Le(u,o),yo("invalid",u),Vo(g,"onChange");break;case"option":t=Ge(u,o);break;case"select":u._wrapperState={wasMultiple:!!o.multiple},t=n({},o,{value:void 0}),yo("invalid",u),Vo(g,"onChange");break;case"textarea":Ie(u,o),t=Oe(u,o),yo("invalid",u),Vo(g,"onChange");break;default:t=o}ko(s,t),m=void 0,d=s;var p=u,f=t;for(m in f)if(f.hasOwnProperty(m)){var S=f[m];"style"===m?$o(p,S):"dangerouslySetInnerHTML"===m?null!=(S=S?S.__html:void 0)&&Ue(p,S):"children"===m?"string"===typeof S?("textarea"!==d||""!==S)&&Ve(p,S):"number"===typeof S&&Ve(p,""+S):"suppressContentEditableWarning"!==m&&"suppressHydrationWarning"!==m&&"autoFocus"!==m&&(c.hasOwnProperty(m)?null!=S&&Vo(g,m):null!=S&&Te(p,m,S,x))}switch(s){case"input":Pe(u),Be(u,o,!1);break;case"textarea":Pe(u),De(u);break;case"option":null!=o.value&&u.setAttribute("value",""+be(o.value));break;case"select":(t=u).multiple=!!o.multiple,null!=(u=o.value)?Ne(t,!!o.multiple,u,!1):null!=o.defaultValue&&Ne(t,!!o.multiple,o.defaultValue,!0);break;default:"function"===typeof t.onClick&&(u.onclick=Ho)}(l=ot(a,l))&&sa(r)}null!==r.ref&&(r.effectTag|=128)}else if(null===r.stateNode)throw Error(i(166));break;case 6:if(o&&null!=r.stateNode)na(o,r,o.memoizedProps,l);else{if("string"!==typeof l&&null===r.stateNode)throw Error(i(166));t=Vl(Ul.current),Vl(Rl.current),Ui(r)?(a=(l=r).stateNode,t=l.memoizedProps,a[mt]=l,(l=a.nodeValue!==t)&&sa(r)):(a=r,(l=(9===t.nodeType?t:t.ownerDocument).createTextNode(l))[mt]=a,r.stateNode=l)}break;case 11:break;case 13:if(xn(zl),l=r.memoizedState,0!==(64&r.effectTag)){r.expirationTime=t;break e}l=null!==l,a=!1,null===o?void 0!==r.memoizedProps.fallback&&Ui(r):(a=null!==(t=o.memoizedState),l||null===t||null!==(t=o.child.sibling)&&(null!==(u=r.firstEffect)?(r.firstEffect=t,t.nextEffect=u):(r.firstEffect=r.lastEffect=t,t.nextEffect=null),t.effectTag=8)),l&&!a&&0!==(2&r.mode)&&(null===o&&!0!==r.memoizedProps.unstable_avoidThisFallback||0!==(1&zl.current)?za===Fa&&(za=ka):(za!==Fa&&za!==ka||(za=Ua),0!==qa&&null!==Ya&&(rm(Ya,Ka),om(Ya,qa)))),(l||a)&&(r.effectTag|=4);break;case 7:case 8:case 12:break;case 4:Yl(),oa(r);break;case 10:ml(r);break;case 9:case 14:break;case 17:bn(r.type)&&Tn();break;case 19:if(xn(zl),null===(l=r.memoizedState))break;if(a=0!==(64&r.effectTag),null===(u=l.rendering)){if(a)ga(l,!1);else if(za!==Fa||null!==o&&0!==(64&o.effectTag))for(o=r.child;null!==o;){if(null!==(u=Ql(o))){for(r.effectTag|=64,ga(l,!1),null!==(a=u.updateQueue)&&(r.updateQueue=a,r.effectTag|=4),null===l.lastEffect&&(r.firstEffect=null),r.lastEffect=l.lastEffect,l=t,a=r.child;null!==a;)o=l,(t=a).effectTag&=2,t.nextEffect=null,t.firstEffect=null,t.lastEffect=null,null===(u=t.alternate)?(t.childExpirationTime=0,t.expirationTime=o,t.child=null,t.memoizedProps=null,t.memoizedState=null,t.updateQueue=null,t.dependencies=null):(t.childExpirationTime=u.childExpirationTime,t.expirationTime=u.expirationTime,t.child=u.child,t.memoizedProps=u.memoizedProps,t.memoizedState=u.memoizedState,t.updateQueue=u.updateQueue,o=u.dependencies,t.dependencies=null===o?null:{expirationTime:o.expirationTime,firstContext:o.firstContext,responders:o.responders}),a=a.sibling;pn(zl,1&zl.current|2),r=r.child;break e}o=o.sibling}}else{if(!a)if(null!==(o=Ql(u))){if(r.effectTag|=64,a=!0,null!==(t=o.updateQueue)&&(r.updateQueue=t,r.effectTag|=4),ga(l,!0),null===l.tail&&"hidden"===l.tailMode&&!u.alternate){null!==(r=r.lastEffect=l.lastEffect)&&(r.nextEffect=null);break}}else Wn()>l.tailExpiration&&1<t&&(r.effectTag|=64,a=!0,ga(l,!1),r.expirationTime=r.childExpirationTime=t-1);l.isBackwards?(u.sibling=r.child,r.child=u):(null!==(t=l.last)?t.sibling=u:r.child=u,l.last=u)}if(null!==l.tail){0===l.tailExpiration&&(l.tailExpiration=Wn()+500),t=l.tail,l.rendering=t,l.tail=t.sibling,l.lastEffect=r.lastEffect,t.sibling=null,l=zl.current,pn(zl,l=a?1&l|2:1&l),r=t;break e}break;case 20:case 21:break;default:throw Error(i(156,r.tag))}r=null}if(l=Wa,1===Ka||1!==l.childExpirationTime){for(a=0,t=l.child;null!==t;)(o=t.expirationTime)>a&&(a=o),(u=t.childExpirationTime)>a&&(a=u),t=t.sibling;l.childExpirationTime=a}if(null!==r)return r;null!==e&&0===(2048&e.effectTag)&&(null===e.firstEffect&&(e.firstEffect=Wa.firstEffect),null!==Wa.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=Wa.firstEffect),e.lastEffect=Wa.lastEffect),1<Wa.effectTag&&(null!==e.lastEffect?e.lastEffect.nextEffect=Wa:e.firstEffect=Wa,e.lastEffect=Wa))}else{if(null!==(r=ca(Wa)))return r.effectTag&=2047,r;null!==e&&(e.firstEffect=e.lastEffect=null,e.effectTag|=2048)}if(null!==(r=Wa.sibling))return r;Wa=e}while(null!==Wa);return za===Fa&&(za=Va),null}function Nd(e){var r=e.expirationTime;return r>(e=e.childExpirationTime)?r:e}function Od(e){var r=Kn();return Qn(99,Id.bind(null,e,r)),null}function Id(e,r){do{Dd()}while(null!==dd);if((Ha&(Xa|Da))!==Oa)throw Error(i(327));var o=e.finishedWork,t=e.finishedExpirationTime;if(null===o)return null;if(e.finishedWork=null,e.finishedExpirationTime=0,o===e.current)throw Error(i(177));e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90,e.nextKnownPendingLevel=0;var n=Nd(o);if(e.firstPendingTime=n,t<=e.lastSuspendedTime?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:t<=e.firstSuspendedTime&&(e.firstSuspendedTime=t-1),t<=e.lastPingedTime&&(e.lastPingedTime=0),t<=e.lastExpiredTime&&(e.lastExpiredTime=0),e===Ya&&(Wa=Ya=null,Ka=0),1<o.effectTag?null!==o.lastEffect?(o.lastEffect.nextEffect=o,n=o.firstEffect):n=o:n=o.firstEffect,null!==n){var l=Ha;Ha|=Da,Na.current=null,et=Po;var a=zo();if(Qo(a)){if("selectionStart"in a)var d={start:a.selectionStart,end:a.selectionEnd};else e:{var m=(d=(d=a.ownerDocument)&&d.defaultView||window).getSelection&&d.getSelection();if(m&&0!==m.rangeCount){d=m.anchorNode;var u=m.anchorOffset,s=m.focusNode;m=m.focusOffset;try{d.nodeType,s.nodeType}catch(I){d=null;break e}var g=0,c=-1,x=-1,p=0,f=0,S=a,h=null;r:for(;;){for(var v;S!==d||0!==u&&3!==S.nodeType||(c=g+u),S!==s||0!==m&&3!==S.nodeType||(x=g+m),3===S.nodeType&&(g+=S.nodeValue.length),null!==(v=S.firstChild);)h=S,S=v;for(;;){if(S===a)break r;if(h===d&&++p===u&&(c=g),h===s&&++f===m&&(x=g),null!==(v=S.nextSibling))break;h=(S=h).parentNode}S=v}d=-1===c||-1===x?null:{start:c,end:x}}else d=null}d=d||{start:0,end:0}}else d=null;rt={focusedElem:a,selectionRange:d},Po=!1,td=n;do{try{Xd()}catch(I){if(null===td)throw Error(i(330));Rd(td,I),td=td.nextEffect}}while(null!==td);td=n;do{try{for(a=e,d=r;null!==td;){var A=td.effectTag;if(16&A&&Ve(td.stateNode,""),128&A){var b=td.alternate;if(null!==b){var T=b.ref;null!==T&&("function"===typeof T?T(null):T.current=null)}}switch(1038&A){case 2:Ma(td),td.effectTag&=-3;break;case 6:Ma(td),td.effectTag&=-3,ya(td.alternate,td);break;case 1024:td.effectTag&=-1025;break;case 1028:td.effectTag&=-1025,ya(td.alternate,td);break;case 4:ya(td.alternate,td);break;case 8:Pa(a,u=td,d),ba(u)}td=td.nextEffect}}catch(I){if(null===td)throw Error(i(330));Rd(td,I),td=td.nextEffect}}while(null!==td);if(T=rt,b=zo(),A=T.focusedElem,d=T.selectionRange,b!==A&&A&&A.ownerDocument&&function e(r,o){return!(!r||!o)&&(r===o||(!r||3!==r.nodeType)&&(o&&3===o.nodeType?e(r,o.parentNode):"contains"in r?r.contains(o):!!r.compareDocumentPosition&&!!(16&r.compareDocumentPosition(o))))}(A.ownerDocument.documentElement,A)){null!==d&&Qo(A)&&(b=d.start,void 0===(T=d.end)&&(T=b),"selectionStart"in A?(A.selectionStart=b,A.selectionEnd=Math.min(T,A.value.length)):(T=(b=A.ownerDocument||document)&&b.defaultView||window).getSelection&&(T=T.getSelection(),u=A.textContent.length,a=Math.min(d.start,u),d=void 0===d.end?a:Math.min(d.end,u),!T.extend&&a>d&&(u=d,d=a,a=u),u=Ko(A,a),s=Ko(A,d),u&&s&&(1!==T.rangeCount||T.anchorNode!==u.node||T.anchorOffset!==u.offset||T.focusNode!==s.node||T.focusOffset!==s.offset)&&((b=b.createRange()).setStart(u.node,u.offset),T.removeAllRanges(),a>d?(T.addRange(b),T.extend(s.node,s.offset)):(b.setEnd(s.node,s.offset),T.addRange(b))))),b=[];for(T=A;T=T.parentNode;)1===T.nodeType&&b.push({element:T,left:T.scrollLeft,top:T.scrollTop});for("function"===typeof A.focus&&A.focus(),A=0;A<b.length;A++)(T=b[A]).element.scrollLeft=T.left,T.element.scrollTop=T.top}rt=null,Po=!!et,et=null,e.current=o,td=n;do{try{for(A=t;null!==td;){var M=td.effectTag;if(36&M){var P=td.alternate;switch(T=A,(b=td).tag){case 0:case 11:case 15:va(16,32,b);break;case 1:var y=b.stateNode;if(4&b.effectTag)if(null===P)y.componentDidMount();else{var L=b.elementType===b.type?P.memoizedProps:ol(b.type,P.memoizedProps);y.componentDidUpdate(L,P.memoizedState,y.__reactInternalSnapshotBeforeUpdate)}var E=b.updateQueue;null!==E&&Ml(0,E,y);break;case 3:var _=b.updateQueue;if(null!==_){if(a=null,null!==b.child)switch(b.child.tag){case 5:a=b.child.stateNode;break;case 1:a=b.child.stateNode}Ml(0,_,a)}break;case 5:var w=b.stateNode;null===P&&4&b.effectTag&&ot(b.type,b.memoizedProps)&&w.focus();break;case 6:case 4:case 12:break;case 13:if(null===b.memoizedState){var B=b.alternate;if(null!==B){var C=B.memoizedState;if(null!==C){var G=C.dehydrated;null!==G&&yr(G)}}}break;case 19:case 17:case 20:case 21:break;default:throw Error(i(163))}}if(128&M){b=void 0;var N=td.ref;if(null!==N){var O=td.stateNode;switch(td.tag){case 5:b=O;break;default:b=O}"function"===typeof N?N(b):N.current=b}}td=td.nextEffect}}catch(I){if(null===td)throw Error(i(330));Rd(td,I),td=td.nextEffect}}while(null!==td);td=null,kn(),Ha=l}else e.current=o;if(ad)ad=!1,dd=e,md=r;else for(td=n;null!==td;)r=td.nextEffect,td.nextEffect=null,td=r;if(0===(r=e.firstPendingTime)&&(id=null),1073741823===r?e===gd?sd++:(sd=0,gd=e):sd=0,"function"===typeof Vd&&Vd(o.stateNode,t),vd(e),nd)throw nd=!1,e=ld,ld=null,e;return(Ha&Ia)!==Oa?null:(jn(),null)}function Xd(){for(;null!==td;){var e=td.effectTag;0!==(256&e)&&ha(td.alternate,td),0===(512&e)||ad||(ad=!0,Zn(97,(function(){return Dd(),null}))),td=td.nextEffect}}function Dd(){if(90!==md){var e=97<md?97:md;return md=90,Qn(e,Fd)}}function Fd(){if(null===dd)return!1;var e=dd;if(dd=null,(Ha&(Xa|Da))!==Oa)throw Error(i(331));var r=Ha;for(Ha|=Da,e=e.current.firstEffect;null!==e;){try{var o=e;if(0!==(512&o.effectTag))switch(o.tag){case 0:case 11:case 15:va(128,0,o),va(0,64,o)}}catch(t){if(null===e)throw Error(i(330));Rd(e,t)}o=e.nextEffect,e.nextEffect=null,e=o}return Ha=r,jn(),!0}function $d(e,r,o){hl(e,r=_a(e,r=xa(o,r),1073741823)),null!==(e=Sd(e,1073741823))&&vd(e)}function Rd(e,r){if(3===e.tag)$d(e,e,r);else for(var o=e.return;null!==o;){if(3===o.tag){$d(o,e,r);break}if(1===o.tag){var t=o.stateNode;if("function"===typeof o.type.getDerivedStateFromError||"function"===typeof t.componentDidCatch&&(null===id||!id.has(t))){hl(o,e=wa(o,e=xa(r,e),1073741823)),null!==(o=Sd(o,1073741823))&&vd(o);break}}o=o.return}}function kd(e,r,o){var t=e.pingCache;null!==t&&t.delete(r),Ya===e&&Ka===o?za===Ua||za===ka&&1073741823===Za&&Wn()-rd<od?Pd(e,Ka):ed=!0:em(e,o)&&(0!==(r=e.lastPingedTime)&&r<o||(e.lastPingedTime=o,e.finishedExpirationTime===o&&(e.finishedExpirationTime=0,e.finishedWork=null),vd(e)))}function Ud(e,r){var o=e.stateNode;null!==o&&o.delete(r),0===(r=0)&&(r=pd(r=xd(),e,null)),null!==(e=Sd(e,r))&&vd(e)}Ba=function(e,r,o){var t=r.expirationTime;if(null!==e){var n=r.pendingProps;if(e.memoizedProps!==n||hn.current)Yi=!0;else{if(t<o){switch(Yi=!1,r.tag){case 3:ea(r),Vi();break;case 5:if(Wl(r),4&r.mode&&1!==o&&n.hidden)return r.expirationTime=r.childExpirationTime=1,null;break;case 1:bn(r.type)&&Ln(r);break;case 4:Hl(r,r.stateNode.containerInfo);break;case 10:dl(r,r.memoizedProps.value);break;case 13:if(null!==r.memoizedState)return 0!==(t=r.child.childExpirationTime)&&t>=o?ia(e,r,o):(pn(zl,1&zl.current),null!==(r=ua(e,r,o))?r.sibling:null);pn(zl,1&zl.current);break;case 19:if(t=r.childExpirationTime>=o,0!==(64&e.effectTag)){if(t)return ma(e,r,o);r.effectTag|=64}if(null!==(n=r.memoizedState)&&(n.rendering=null,n.tail=null),pn(zl,zl.current),!t)return null}return ua(e,r,o)}Yi=!1}}else Yi=!1;switch(r.expirationTime=0,r.tag){case 2:if(t=r.type,null!==e&&(e.alternate=null,r.alternate=null,r.effectTag|=2),e=r.pendingProps,n=An(r,Sn.current),sl(r,o),n=xi(null,r,t,e,n,o),r.effectTag|=1,"object"===typeof n&&null!==n&&"function"===typeof n.render&&void 0===n.$$typeof){if(r.tag=1,pi(),bn(t)){var l=!0;Ln(r)}else l=!1;r.memoizedState=null!==n.state&&void 0!==n.state?n.state:null;var a=t.getDerivedStateFromProps;"function"===typeof a&&El(r,t,a,e),n.updater=_l,r.stateNode=n,n._reactInternalFiber=r,Gl(r,t,e,o),r=qi(null,r,t,!0,l,o)}else r.tag=0,Wi(null,r,n,o),r=r.child;return r;case 16:if(n=r.elementType,null!==e&&(e.alternate=null,r.alternate=null,r.effectTag|=2),e=r.pendingProps,function(e){if(-1===e._status){e._status=0;var r=e._ctor;r=r(),e._result=r,r.then((function(r){0===e._status&&(r=r.default,e._status=1,e._result=r)}),(function(r){0===e._status&&(e._status=2,e._result=r)}))}}(n),1!==n._status)throw n._result;switch(n=n._result,r.type=n,l=r.tag=function(e){if("function"===typeof e)return Kd(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===H)return 11;if(e===K)return 14}return 2}(n),e=ol(n,e),l){case 0:r=Ji(null,r,n,e,o);break;case 1:r=ji(null,r,n,e,o);break;case 11:r=Ki(null,r,n,e,o);break;case 14:r=zi(null,r,n,ol(n.type,e),t,o);break;default:throw Error(i(306,n,""))}return r;case 0:return t=r.type,n=r.pendingProps,Ji(e,r,t,n=r.elementType===t?n:ol(t,n),o);case 1:return t=r.type,n=r.pendingProps,ji(e,r,t,n=r.elementType===t?n:ol(t,n),o);case 3:if(ea(r),null===(t=r.updateQueue))throw Error(i(282));if(n=null!==(n=r.memoizedState)?n.element:null,Tl(r,t,r.pendingProps,null,o),(t=r.memoizedState.element)===n)Vi(),r=ua(e,r,o);else{if((n=r.stateNode.hydrate)&&(Xi=it(r.stateNode.containerInfo.firstChild),Ii=r,n=Di=!0),n)for(o=Fl(r,null,t,o),r.child=o;o;)o.effectTag=-3&o.effectTag|1024,o=o.sibling;else Wi(e,r,t,o),Vi();r=r.child}return r;case 5:return Wl(r),null===e&&Ri(r),t=r.type,n=r.pendingProps,l=null!==e?e.memoizedProps:null,a=n.children,tt(t,n)?a=null:null!==l&&tt(t,l)&&(r.effectTag|=16),Zi(e,r),4&r.mode&&1!==o&&n.hidden?(r.expirationTime=r.childExpirationTime=1,r=null):(Wi(e,r,a,o),r=r.child),r;case 6:return null===e&&Ri(r),null;case 13:return ia(e,r,o);case 4:return Hl(r,r.stateNode.containerInfo),t=r.pendingProps,null===e?r.child=Dl(r,null,t,o):Wi(e,r,t,o),r.child;case 11:return t=r.type,n=r.pendingProps,Ki(e,r,t,n=r.elementType===t?n:ol(t,n),o);case 7:return Wi(e,r,r.pendingProps,o),r.child;case 8:case 12:return Wi(e,r,r.pendingProps.children,o),r.child;case 10:e:{if(t=r.type._context,n=r.pendingProps,a=r.memoizedProps,dl(r,l=n.value),null!==a){var d=a.value;if(0===(l=en(d,l)?0:0|("function"===typeof t._calculateChangedBits?t._calculateChangedBits(d,l):1073741823))){if(a.children===n.children&&!hn.current){r=ua(e,r,o);break e}}else for(null!==(d=r.child)&&(d.return=r);null!==d;){var m=d.dependencies;if(null!==m){a=d.child;for(var u=m.firstContext;null!==u;){if(u.context===t&&0!==(u.observedBits&l)){1===d.tag&&((u=fl(o,null)).tag=2,hl(d,u)),d.expirationTime<o&&(d.expirationTime=o),null!==(u=d.alternate)&&u.expirationTime<o&&(u.expirationTime=o),ul(d.return,o),m.expirationTime<o&&(m.expirationTime=o);break}u=u.next}}else a=10===d.tag&&d.type===r.type?null:d.child;if(null!==a)a.return=d;else for(a=d;null!==a;){if(a===r){a=null;break}if(null!==(d=a.sibling)){d.return=a.return,a=d;break}a=a.return}d=a}}Wi(e,r,n.children,o),r=r.child}return r;case 9:return n=r.type,t=(l=r.pendingProps).children,sl(r,o),t=t(n=gl(n,l.unstable_observedBits)),r.effectTag|=1,Wi(e,r,t,o),r.child;case 14:return l=ol(n=r.type,r.pendingProps),zi(e,r,n,l=ol(n.type,l),t,o);case 15:return Qi(e,r,r.type,r.pendingProps,t,o);case 17:return t=r.type,n=r.pendingProps,n=r.elementType===t?n:ol(t,n),null!==e&&(e.alternate=null,r.alternate=null,r.effectTag|=2),r.tag=1,bn(t)?(e=!0,Ln(r)):e=!1,sl(r,o),Bl(r,t,n),Gl(r,t,n,o),qi(null,r,t,!0,e,o);case 19:return ma(e,r,o)}throw Error(i(156,r.tag))};var Vd=null,Hd=null;function Yd(e,r,o,t){this.tag=e,this.key=o,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=r,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=t,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function Wd(e,r,o,t){return new Yd(e,r,o,t)}function Kd(e){return!(!(e=e.prototype)||!e.isReactComponent)}function zd(e,r){var o=e.alternate;return null===o?((o=Wd(e.tag,r,e.key,e.mode)).elementType=e.elementType,o.type=e.type,o.stateNode=e.stateNode,o.alternate=e,e.alternate=o):(o.pendingProps=r,o.effectTag=0,o.nextEffect=null,o.firstEffect=null,o.lastEffect=null),o.childExpirationTime=e.childExpirationTime,o.expirationTime=e.expirationTime,o.child=e.child,o.memoizedProps=e.memoizedProps,o.memoizedState=e.memoizedState,o.updateQueue=e.updateQueue,r=e.dependencies,o.dependencies=null===r?null:{expirationTime:r.expirationTime,firstContext:r.firstContext,responders:r.responders},o.sibling=e.sibling,o.index=e.index,o.ref=e.ref,o}function Qd(e,r,o,t,n,l){var a=2;if(t=e,"function"===typeof e)Kd(e)&&(a=1);else if("string"===typeof e)a=5;else e:switch(e){case F:return Zd(o.children,n,l,r);case V:a=8,n|=7;break;case $:a=8,n|=1;break;case R:return(e=Wd(12,o,r,8|n)).elementType=R,e.type=R,e.expirationTime=l,e;case Y:return(e=Wd(13,o,r,n)).type=Y,e.elementType=Y,e.expirationTime=l,e;case W:return(e=Wd(19,o,r,n)).elementType=W,e.expirationTime=l,e;default:if("object"===typeof e&&null!==e)switch(e.$$typeof){case k:a=10;break e;case U:a=9;break e;case H:a=11;break e;case K:a=14;break e;case z:a=16,t=null;break e}throw Error(i(130,null==e?e:typeof e,""))}return(r=Wd(a,o,r,n)).elementType=e,r.type=t,r.expirationTime=l,r}function Zd(e,r,o,t){return(e=Wd(7,e,t,r)).expirationTime=o,e}function Jd(e,r,o){return(e=Wd(6,e,null,r)).expirationTime=o,e}function jd(e,r,o){return(r=Wd(4,null!==e.children?e.children:[],e.key,r)).expirationTime=o,r.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},r}function qd(e,r,o){this.tag=r,this.current=null,this.containerInfo=e,this.pingCache=this.pendingChildren=null,this.finishedExpirationTime=0,this.finishedWork=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=o,this.callbackNode=null,this.callbackPriority=90,this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}function em(e,r){var o=e.firstSuspendedTime;return e=e.lastSuspendedTime,0!==o&&o>=r&&e<=r}function rm(e,r){var o=e.firstSuspendedTime,t=e.lastSuspendedTime;o<r&&(e.firstSuspendedTime=r),(t>r||0===o)&&(e.lastSuspendedTime=r),r<=e.lastPingedTime&&(e.lastPingedTime=0),r<=e.lastExpiredTime&&(e.lastExpiredTime=0)}function om(e,r){r>e.firstPendingTime&&(e.firstPendingTime=r);var o=e.firstSuspendedTime;0!==o&&(r>=o?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:r>=e.lastSuspendedTime&&(e.lastSuspendedTime=r+1),r>e.nextKnownPendingLevel&&(e.nextKnownPendingLevel=r))}function tm(e,r){var o=e.lastExpiredTime;(0===o||o>r)&&(e.lastExpiredTime=r)}function nm(e,r,o,t){var n=r.current,l=xd(),a=yl.suspense;l=pd(l,n,a);e:if(o){r:{if(er(o=o._reactInternalFiber)!==o||1!==o.tag)throw Error(i(170));var d=o;do{switch(d.tag){case 3:d=d.stateNode.context;break r;case 1:if(bn(d.type)){d=d.stateNode.__reactInternalMemoizedMergedChildContext;break r}}d=d.return}while(null!==d);throw Error(i(171))}if(1===o.tag){var m=o.type;if(bn(m)){o=yn(o,m,d);break e}}o=d}else o=fn;return null===r.context?r.context=o:r.pendingContext=o,(r=fl(l,a)).payload={element:e},null!==(t=void 0===t?null:t)&&(r.callback=t),hl(n,r),fd(n,l),l}function lm(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}function im(e,r){null!==(e=e.memoizedState)&&null!==e.dehydrated&&e.retryTime<r&&(e.retryTime=r)}function am(e,r){im(e,r),(e=e.alternate)&&im(e,r)}function dm(e,r,o){var t=new qd(e,r,o=null!=o&&!0===o.hydrate),n=Wd(3,null,null,2===r?7:1===r?3:0);t.current=n,n.stateNode=t,e[st]=t.current,o&&0!==r&&function(e){var r=Oo(e);pr.forEach((function(o){Io(o,e,r)})),fr.forEach((function(o){Io(o,e,r)}))}(9===e.nodeType?e:e.ownerDocument),this._internalRoot=t}function mm(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function um(e,r,o,t,n){var l=o._reactRootContainer;if(l){var i=l._internalRoot;if("function"===typeof n){var a=n;n=function(){var e=lm(i);a.call(e)}}nm(r,i,e,n)}else{if(l=o._reactRootContainer=function(e,r){if(r||(r=!(!(r=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==r.nodeType||!r.hasAttribute("data-reactroot"))),!r)for(var o;o=e.lastChild;)e.removeChild(o);return new dm(e,0,r?{hydrate:!0}:void 0)}(o,t),i=l._internalRoot,"function"===typeof n){var d=n;n=function(){var e=lm(i);d.call(e)}}Md((function(){nm(r,i,e,n)}))}return lm(i)}function sm(e,r){var o=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!mm(r))throw Error(i(200));return function(e,r,o){var t=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:D,key:null==t?null:""+t,children:e,containerInfo:r,implementation:o}}(e,r,null,o)}dm.prototype.render=function(e,r){nm(e,this._internalRoot,null,void 0===r?null:r)},dm.prototype.unmount=function(e){var r=this._internalRoot,o=void 0===e?null:e,t=r.containerInfo;nm(null,r,null,(function(){t[st]=null,null!==o&&o()}))},nr=function(e){if(13===e.tag){var r=rl(xd(),150,100);fd(e,r),am(e,r)}},lr=function(e){if(13===e.tag){xd();var r=el++;fd(e,r),am(e,r)}},ir=function(e){if(13===e.tag){var r=xd();fd(e,r=pd(r,e,null)),am(e,r)}},ee=function(e,r,o){switch(r){case"input":if(we(e,o),r=o.name,"radio"===o.type&&null!=r){for(o=e;o.parentNode;)o=o.parentNode;for(o=o.querySelectorAll("input[name="+JSON.stringify(""+r)+'][type="radio"]'),r=0;r<o.length;r++){var t=o[r];if(t!==e&&t.form===e.form){var n=pt(t);if(!n)throw Error(i(90));ye(t),we(t,n)}}}break;case"textarea":Xe(e,o);break;case"select":null!=(r=o.value)&&Ne(e,!!o.multiple,r,!1)}},ie=Td,ae=function(e,r,o,t){var n=Ha;Ha|=4;try{return Qn(98,e.bind(null,r,o,t))}finally{(Ha=n)===Oa&&jn()}},de=function(){(Ha&(1|Xa|Da))===Oa&&(function(){if(null!==ud){var e=ud;ud=null,e.forEach((function(e,r){tm(r,e),vd(r)})),jn()}}(),Dd())},me=function(e,r){var o=Ha;Ha|=2;try{return e(r)}finally{(Ha=o)===Oa&&jn()}};var gm={createPortal:sm,findDOMNode:function(e){if(null==e)return null;if(1===e.nodeType)return e;var r=e._reactInternalFiber;if(void 0===r){if("function"===typeof e.render)throw Error(i(188));throw Error(i(268,Object.keys(e)))}return e=null===(e=tr(r))?null:e.stateNode},hydrate:function(e,r,o){if(!mm(r))throw Error(i(200));return um(null,e,r,!0,o)},render:function(e,r,o){if(!mm(r))throw Error(i(200));return um(null,e,r,!1,o)},unstable_renderSubtreeIntoContainer:function(e,r,o,t){if(!mm(o))throw Error(i(200));if(null==e||void 0===e._reactInternalFiber)throw Error(i(38));return um(e,r,o,!1,t)},unmountComponentAtNode:function(e){if(!mm(e))throw Error(i(40));return!!e._reactRootContainer&&(Md((function(){um(null,null,e,!1,(function(){e._reactRootContainer=null,e[st]=null}))})),!0)},unstable_createPortal:function(){return sm.apply(void 0,arguments)},unstable_batchedUpdates:Td,flushSync:function(e,r){if((Ha&(Xa|Da))!==Oa)throw Error(i(187));var o=Ha;Ha|=1;try{return Qn(99,e.bind(null,r))}finally{Ha=o,jn()}},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{Events:[ct,xt,pt,C.injectEventPluginsByName,g,Gr,function(e){E(e,Cr)},ne,le,Bo,B,Dd,{current:!1}]}};!function(e){var r=e.findFiberByHostInstance;(function(e){if("undefined"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var r=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(r.isDisabled||!r.supportsFiber)return!0;try{var o=r.inject(e);Vd=function(e){try{r.onCommitFiberRoot(o,e,void 0,64===(64&e.current.effectTag))}catch(t){}},Hd=function(e){try{r.onCommitFiberUnmount(o,e)}catch(t){}}}catch(t){}})(n({},e,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:N.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=tr(e))?null:e.stateNode},findFiberByHostInstance:function(e){return r?r(e):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))}({findFiberByHostInstance:gt,bundleType:0,version:"16.12.0",rendererPackageName:"react-dom"});var cm={default:gm},xm=cm&&gm||cm;e.exports=xm.default||xm},function(e,r,o){"use strict";e.exports=o(50)},function(e,r,o){"use strict";var t,n,l,i,a;if(Object.defineProperty(r,"__esModule",{value:!0}),"undefined"===typeof window||"function"!==typeof MessageChannel){var d=null,m=null,u=function e(){if(null!==d)try{var o=r.unstable_now();d(!0,o),d=null}catch(t){throw setTimeout(e,0),t}},s=Date.now();r.unstable_now=function(){return Date.now()-s},t=function(e){null!==d?setTimeout(t,0,e):(d=e,setTimeout(u,0))},n=function(e,r){m=setTimeout(e,r)},l=function(){clearTimeout(m)},i=function(){return!1},a=r.unstable_forceFrameRate=function(){}}else{var g=window.performance,c=window.Date,x=window.setTimeout,p=window.clearTimeout;if("undefined"!==typeof console){var f=window.cancelAnimationFrame;"function"!==typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!==typeof f&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if("object"===typeof g&&"function"===typeof g.now)r.unstable_now=function(){return g.now()};else{var S=c.now();r.unstable_now=function(){return c.now()-S}}var h=!1,v=null,A=-1,b=5,T=0;i=function(){return r.unstable_now()>=T},a=function(){},r.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported"):b=0<e?Math.floor(1e3/e):5};var M=new MessageChannel,P=M.port2;M.port1.onmessage=function(){if(null!==v){var e=r.unstable_now();T=e+b;try{v(!0,e)?P.postMessage(null):(h=!1,v=null)}catch(o){throw P.postMessage(null),o}}else h=!1},t=function(e){v=e,h||(h=!0,P.postMessage(null))},n=function(e,o){A=x((function(){e(r.unstable_now())}),o)},l=function(){p(A),A=-1}}function y(e,r){var o=e.length;e.push(r);e:for(;;){var t=Math.floor((o-1)/2),n=e[t];if(!(void 0!==n&&0<_(n,r)))break e;e[t]=r,e[o]=n,o=t}}function L(e){return void 0===(e=e[0])?null:e}function E(e){var r=e[0];if(void 0!==r){var o=e.pop();if(o!==r){e[0]=o;e:for(var t=0,n=e.length;t<n;){var l=2*(t+1)-1,i=e[l],a=l+1,d=e[a];if(void 0!==i&&0>_(i,o))void 0!==d&&0>_(d,i)?(e[t]=d,e[a]=o,t=a):(e[t]=i,e[l]=o,t=l);else{if(!(void 0!==d&&0>_(d,o)))break e;e[t]=d,e[a]=o,t=a}}}return r}return null}function _(e,r){var o=e.sortIndex-r.sortIndex;return 0!==o?o:e.id-r.id}var w=[],B=[],C=1,G=null,N=3,O=!1,I=!1,X=!1;function D(e){for(var r=L(B);null!==r;){if(null===r.callback)E(B);else{if(!(r.startTime<=e))break;E(B),r.sortIndex=r.expirationTime,y(w,r)}r=L(B)}}function F(e){if(X=!1,D(e),!I)if(null!==L(w))I=!0,t($);else{var r=L(B);null!==r&&n(F,r.startTime-e)}}function $(e,o){I=!1,X&&(X=!1,l()),O=!0;var t=N;try{for(D(o),G=L(w);null!==G&&(!(G.expirationTime>o)||e&&!i());){var a=G.callback;if(null!==a){G.callback=null,N=G.priorityLevel;var d=a(G.expirationTime<=o);o=r.unstable_now(),"function"===typeof d?G.callback=d:G===L(w)&&E(w),D(o)}else E(w);G=L(w)}if(null!==G)var m=!0;else{var u=L(B);null!==u&&n(F,u.startTime-o),m=!1}return m}finally{G=null,N=t,O=!1}}function R(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var k=a;r.unstable_ImmediatePriority=1,r.unstable_UserBlockingPriority=2,r.unstable_NormalPriority=3,r.unstable_IdlePriority=5,r.unstable_LowPriority=4,r.unstable_runWithPriority=function(e,r){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var o=N;N=e;try{return r()}finally{N=o}},r.unstable_next=function(e){switch(N){case 1:case 2:case 3:var r=3;break;default:r=N}var o=N;N=r;try{return e()}finally{N=o}},r.unstable_scheduleCallback=function(e,o,i){var a=r.unstable_now();if("object"===typeof i&&null!==i){var d=i.delay;d="number"===typeof d&&0<d?a+d:a,i="number"===typeof i.timeout?i.timeout:R(e)}else i=R(e),d=a;return e={id:C++,callback:o,priorityLevel:e,startTime:d,expirationTime:i=d+i,sortIndex:-1},d>a?(e.sortIndex=d,y(B,e),null===L(w)&&e===L(B)&&(X?l():X=!0,n(F,d-a))):(e.sortIndex=i,y(w,e),I||O||(I=!0,t($))),e},r.unstable_cancelCallback=function(e){e.callback=null},r.unstable_wrapCallback=function(e){var r=N;return function(){var o=N;N=r;try{return e.apply(this,arguments)}finally{N=o}}},r.unstable_getCurrentPriorityLevel=function(){return N},r.unstable_shouldYield=function(){var e=r.unstable_now();D(e);var o=L(w);return o!==G&&null!==G&&null!==o&&null!==o.callback&&o.startTime<=e&&o.expirationTime<G.expirationTime||i()},r.unstable_requestPaint=k,r.unstable_continueExecution=function(){I||O||(I=!0,t($))},r.unstable_pauseExecution=function(){},r.unstable_getFirstCallbackNode=function(){return L(w)},r.unstable_Profiling=null},,,function(e,r,o){"use strict";var t=o(1),n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var l=n(o(22)),i=n(o(76)),a=n(o(78)),d=n(o(80)),m=n(o(82)),u=n(o(84)),s=[a.default,i.default,m.default,u.default,l.default,d.default];r.default=function e(r){var o=this;t(this,e),this.options={versionTruncation:1},this.parse=function(e){var r=!0,t=!1,n=void 0;try{for(var l,i=s[Symbol.iterator]();!(r=(l=i.next()).done);r=!0){var a=new(0,l.value)(o.options).parse(e);if(""!==a.type)return a}}catch(d){t=!0,n=d}finally{try{r||null==i.return||i.return()}finally{if(t)throw n}}return null},this.options=Object.assign({},this.options,r)}},function(e,r){e.exports=function(e){if(Array.isArray(e))return e}},function(e,r){e.exports=function(e,r){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var o=[],t=!0,n=!1,l=void 0;try{for(var i,a=e[Symbol.iterator]();!(t=(i=a.next()).done)&&(o.push(i.value),!r||o.length!==r);t=!0);}catch(d){n=!0,l=d}finally{try{t||null==a.return||a.return()}finally{if(n)throw l}}return o}}},function(e,r){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,r,o){var t=o(23),n=o(63),l=o(65),i=o(69),a=o(70),d=o(27),m=/^\s+|\s+$/g;e.exports=function(e,r,o){if((e=d(e))&&(o||void 0===r))return e.replace(m,"");if(!e||!(r=t(r)))return e;var u=a(e),s=a(r),g=i(u,s),c=l(u,s)+1;return n(u,g,c).join("")}},function(e,r,o){(function(r){var o="object"==typeof r&&r&&r.Object===Object&&r;e.exports=o}).call(this,o(24))},function(e,r){e.exports=function(e,r){for(var o=-1,t=null==e?0:e.length,n=Array(t);++o<t;)n[o]=r(e[o],o,e);return n}},function(e,r,o){var t=o(14),n=Object.prototype,l=n.hasOwnProperty,i=n.toString,a=t?t.toStringTag:void 0;e.exports=function(e){var r=l.call(e,a),o=e[a];try{e[a]=void 0;var t=!0}catch(d){}var n=i.call(e);return t&&(r?e[a]=o:delete e[a]),n}},function(e,r){var o=Object.prototype.toString;e.exports=function(e){return o.call(e)}},function(e,r){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,r,o){var t=o(64);e.exports=function(e,r,o){var n=e.length;return o=void 0===o?n:o,!r&&o>=n?e:t(e,r,o)}},function(e,r){e.exports=function(e,r,o){var t=-1,n=e.length;r<0&&(r=-r>n?0:n+r),(o=o>n?n:o)<0&&(o+=n),n=r>o?0:o-r>>>0,r>>>=0;for(var l=Array(n);++t<n;)l[t]=e[t+r];return l}},function(e,r,o){var t=o(26);e.exports=function(e,r){for(var o=e.length;o--&&t(r,e[o],0)>-1;);return o}},function(e,r){e.exports=function(e,r,o,t){for(var n=e.length,l=o+(t?1:-1);t?l--:++l<n;)if(r(e[l],l,e))return l;return-1}},function(e,r){e.exports=function(e){return e!==e}},function(e,r){e.exports=function(e,r,o){for(var t=o-1,n=e.length;++t<n;)if(e[t]===r)return t;return-1}},function(e,r,o){var t=o(26);e.exports=function(e,r){for(var o=-1,n=e.length;++o<n&&t(r,e[o],0)>-1;);return o}},function(e,r,o){var t=o(71),n=o(72),l=o(73);e.exports=function(e){return n(e)?l(e):t(e)}},function(e,r){e.exports=function(e){return e.split("")}},function(e,r){var o=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");e.exports=function(e){return o.test(e)}},function(e,r){var o="[\\ud800-\\udfff]",t="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",n="\\ud83c[\\udffb-\\udfff]",l="[^\\ud800-\\udfff]",i="(?:\\ud83c[\\udde6-\\uddff]){2}",a="[\\ud800-\\udbff][\\udc00-\\udfff]",d="(?:"+t+"|"+n+")"+"?",m="[\\ufe0e\\ufe0f]?"+d+("(?:\\u200d(?:"+[l,i,a].join("|")+")[\\ufe0e\\ufe0f]?"+d+")*"),u="(?:"+[l+t+"?",t,i,a,o].join("|")+")",s=RegExp(n+"(?="+n+")|"+u+m,"g");e.exports=function(e){return e.match(s)||[]}},function(e){e.exports=JSON.parse('[{"regex":"Hawk/TurboBrowser(?:/v?(\\\\d+[\\\\.\\\\d]+))?","name":"Hawk Turbo Browser","version":"$1","engine":{"default":"Blink"}},{"regex":"FreeU(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"FreeU","version":"$1","engine":{"default":"Blink"}},{"regex":"NoxBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Nox Browser","version":"$1","engine":{"default":"Blink"}},{"regex":"Basilisk(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Basilisk","version":"$1","engine":{"default":"Gecko"}},{"regex":"SputnikBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Sputnik Browser","version":"$1","engine":{"default":"Blink"}},{"regex":"TNSBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"K.Browser","version":"$1","engine":{"default":"Blink"}},{"regex":"OculusBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Oculus Browser","version":"$1"},{"regex":"JioBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Jio Browser","version":"$1","engine":{"default":"Blink"}},{"regex":"Hola(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"hola! Browser","version":"$1","engine":{"default":"Blink"}},{"regex":"HuaweiBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Huawei Browser","version":"$1"},{"regex":"VivoBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"vivo Browser","version":"$1"},{"regex":"RealmeBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Realme Browser","version":"$1"},{"regex":"Beaker ?Browser(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Beaker Browser","version":"$1","engine":{"default":"Blink"}},{"regex":"QwantMobile(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Qwant Mobile","version":"$1","engine":{"default":"Gecko"}},{"regex":"Qwant/(\\\\d+[\\\\.\\\\d]+)","name":"Qwant Mobile","version":"$1","engine":{"default":"Gecko"}},{"regex":"TenFourFox(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"TenFourFox","version":"$1","engine":{"default":"Gecko"}},{"regex":"AOLShield(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"AOL Shield","version":"$1","engine":{"default":"Gecko"}},{"regex":"Edge[ /](\\\\d+[\\\\.\\\\d]+)","name":"Microsoft Edge","version":"$1","engine":{"default":"Edge"}},{"regex":"EdgiOS[ /](\\\\d+[\\\\.\\\\d]+)","name":"Microsoft Edge","version":"$1","engine":{"default":"WebKit"}},{"regex":"EdgA[ /](\\\\d+[\\\\.\\\\d]+)","name":"Microsoft Edge","version":"$1","engine":{"default":"Blink"}},{"regex":"Edg[ /](\\\\d+[\\\\.\\\\d]+)","name":"Microsoft Edge","version":"$1","engine":{"default":"Blink"}},{"regex":"QIHU 360[ES]E","name":"360 Browser","version":""},{"regex":"360 Aphone Browser(?: \\\\((\\\\d+[\\\\.\\\\d]+)(?:beta)?\\\\))?","name":"360 Phone Browser","version":"$1","engine":{"default":"WebKit"}},{"regex":"SailfishBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Sailfish Browser","version":"$1","engine":{"default":"Gecko"}},{"regex":"IceCat(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"IceCat","version":"$1","engine":{"default":"Gecko"}},{"regex":"Mobicip","name":"Mobicip","version":"","engine":{"default":"Gecko"}},{"regex":"Camino(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Camino","version":"$1","engine":{"default":"Gecko"}},{"regex":"Waterfox(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Waterfox","version":"$1","engine":{"default":"Gecko"}},{"regex":"AlohaBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Aloha Browser","version":"$1"},{"regex":"Avast(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Avast Secure Browser","version":"$1"},{"regex":"Epic(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Epic","version":"$1","engine":{"default":"Gecko"}},{"regex":"Fennec(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Fennec","version":"$1","engine":{"default":"Gecko"}},{"regex":"Firefox.*Tablet browser (\\\\d+[\\\\.\\\\d]+)","name":"MicroB","version":"$1","engine":{"default":"Gecko"}},{"regex":"Maemo Browser(?: (\\\\d+[\\\\.\\\\d]+))?","name":"MicroB","version":"$1","engine":{"default":"Gecko"}},{"regex":"Deepnet Explorer (\\\\d+[\\\\.\\\\d]+)?","name":"Deepnet Explorer","version":"$1"},{"regex":"Avant Browser","name":"Avant Browser","version":"","engine":{"default":""}},{"regex":"OppoBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Oppo Browser","version":"$1"},{"regex":"Chrome/(\\\\d+[\\\\.\\\\d]+).*MRCHROME","name":"Amigo","version":"$1","engine":{"default":"WebKit","versions":{"28":"Blink"}}},{"regex":"AtomicBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Atomic Web Browser","version":"$1"},{"regex":"Bunjalloo(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Bunjalloo","version":"$1"},{"regex":"Brave(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Brave","version":"$1","engine":{"default":"Blink"}},{"regex":"Iridium(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Iridium","version":"$1"},{"regex":"Iceweasel(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Iceweasel","version":"$1","engine":{"default":"Gecko"}},{"regex":"WebPositive","name":"WebPositive","version":"","engine":{"default":"WebKit"}},{"regex":"PaleMoon(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Pale Moon","version":"$1","engine":{"default":"Gecko"}},{"regex":"CometBird(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"CometBird","version":"$1","engine":{"default":"Gecko"}},{"regex":"IceDragon(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"IceDragon","version":"$1","engine":{"default":"Gecko"}},{"regex":"Flock(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Flock","version":"$1","engine":{"default":"Gecko","versions":{"3":"WebKit"}}},{"regex":"jig browser(?: web;|9i?)?(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Jig Browser","version":"$1"},{"regex":"Kapiko(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Kapiko","version":"$1","engine":{"default":"Gecko"}},{"regex":"Kylo(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Kylo","version":"$1","engine":{"default":"Gecko"}},{"regex":"Cunaguaro(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Cunaguaro","version":"$1"},{"regex":"(?:Focus|Klar)(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Firefox Focus","version":"$1"},{"regex":"Cyberfox(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Cyberfox","version":"$1","engine":{"default":"Gecko"}},{"regex":"Firefox/(\\\\d+[\\\\.\\\\d]+).*\\\\(Swiftfox\\\\)","name":"Swiftfox","version":"$1","engine":{"default":"Gecko"}},{"regex":"(?:Mobile|Tablet).*Firefox(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Firefox Mobile","version":"$1","engine":{"default":"Gecko"}},{"regex":"FxiOS/(\\\\d+[\\\\.\\\\d]+)","name":"Firefox Mobile iOS","version":"$1","engine":{"default":"WebKit"}},{"regex":"Firefox(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Firefox","version":"$1","engine":{"default":"Gecko"}},{"regex":"(?:BonEcho|GranParadiso|Lorentz|Minefield|Namoroka|Shiretoko)/(\\\\d+[\\\\.\\\\d]+)","name":"Firefox","version":"$1","engine":{"default":"Gecko"}},{"regex":"ANTFresco(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"ANT Fresco","version":"$1"},{"regex":"ANTGalio(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"ANTGalio","version":"$1"},{"regex":"(?:Espial|Escape)(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Espial TV Browser","version":"$1"},{"regex":"RockMelt(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"RockMelt","version":"$1","engine":{"default":"WebKit"}},{"regex":"Fireweb Navigator(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Fireweb Navigator","version":"$1"},{"regex":"Fireweb(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Fireweb","version":"$1"},{"regex":"(?:Navigator|Netscape6?)(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Netscape","version":"$1","engine":{"default":""}},{"regex":"(?:Polarity)(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Polarity","version":"$1"},{"regex":"(?:QupZilla)(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"QupZilla","version":"$1"},{"regex":"(?:Dooble)(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Dooble","version":"$1"},{"regex":"Whale/(\\\\d+[\\\\.\\\\d]+)","name":"Whale Browser","version":"$1","engine":{"default":"Blink"}},{"regex":"Obigo[ ]?(?:InternetBrowser|Browser)?(?:[ /]([a-z0-9]*))?","name":"Obigo","version":"$1"},{"regex":"Obigo|Teleca","name":"Obigo","version":""},{"regex":"UCMini(?:[ /]?(\\\\d+[\\\\.\\\\d]+))?","name":"UC Browser Mini","version":"$1"},{"regex":"UC[ ]?Browser.* \\\\(UCMini\\\\)","name":"UC Browser Mini","version":""},{"regex":"(?:Opera Tablet.*Version|Opera/.+Opera Mobi.+Version|Mobile.+OPR)/(\\\\d+[\\\\.\\\\d]+)","name":"Opera Mobile","version":"$1","engine":{"default":"Presto","versions":{"15":"Blink"}}},{"regex":"MMS/(\\\\d+[\\\\.\\\\d]+)","name":"Opera Neon","version":"$1","engine":{"default":"Blink"}},{"regex":"OMI/(\\\\d+[\\\\.\\\\d]+)","name":"Opera Devices","version":"$1","engine":{"default":"Blink"}},{"regex":"OPT/(\\\\d+[\\\\.\\\\d]+)","name":"Opera Touch","version":"$1","engine":{"default":"Blink"}},{"regex":"Opera/(\\\\d+[\\\\.\\\\d]+).+Opera Mobi","name":"Opera Mobile","version":"$1","engine":{"default":"Presto","versions":{"15":"Blink"}}},{"regex":"Opera ?Mini/(?:att/)?(\\\\d+[\\\\.\\\\d]+)","name":"Opera Mini","version":"$1","engine":{"default":"Presto"}},{"regex":"Opera ?Mini.+Version/(\\\\d+[\\\\.\\\\d]+)","name":"Opera Mini","version":"$1","engine":{"default":"Presto"}},{"regex":"OPiOS/(\\\\d+[\\\\.\\\\d]+)","name":"Opera Mini iOS","version":"$1","engine":{"default":"WebKit"}},{"regex":"Opera.+Edition Next.+Version/(\\\\d+[\\\\.\\\\d]+)","name":"Opera Next","version":"$1","engine":{"default":"Presto","versions":{"15":"Blink"}}},{"regex":"(?:Opera|OPR)[/ ](?:9.80.*Version/)?(\\\\d+[\\\\.\\\\d]+).+Edition Next","name":"Opera Next","version":"$1","engine":{"default":"Presto","versions":{"15":"Blink"}}},{"regex":"(?:Opera[/ ]?|OPR[/ ])(?:9.80.*Version/)?(\\\\d+[\\\\.\\\\d]+)","name":"Opera","version":"$1","engine":{"default":"","versions":{"7":"Presto","15":"Blink","3.5":"Elektra"}}},{"regex":"rekonq(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Rekonq","version":"$1","engine":{"default":"WebKit"}},{"regex":"CoolNovo(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"CoolNovo","version":"$1","engine":{"default":""}},{"regex":"(?:Comodo[ _])?Dragon(?!fruit)(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Comodo Dragon","version":"$1","engine":{"default":"WebKit","versions":{"28":"Blink"}}},{"regex":"ChromePlus(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"ChromePlus","version":"$1","engine":{"default":""}},{"regex":"Conkeror(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Conkeror","version":"$1","engine":{"default":"Gecko"}},{"regex":"Konqueror(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Konqueror","version":"$1","engine":{"default":"KHTML","versions":{"4":""}}},{"regex":"baidubrowser(?:[/ ](\\\\d+[\\\\.\\\\d]*))?","name":"Baidu Browser","version":"$1"},{"regex":"FlyFlow(?:[/ ](\\\\d+[\\\\.\\\\d]*))?","name":"Baidu Browser","version":"$1"},{"regex":"(?:(?:BD)?Spark|BIDUBrowser)[/ ](\\\\d+[\\\\.\\\\d]*)","name":"Baidu Spark","version":"$1"},{"regex":"YaBrowser(?:/(\\\\d+[\\\\.\\\\d]*))?","name":"Yandex Browser","version":"$1","engine":{"default":"Blink"}},{"regex":"Vivaldi(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Vivaldi","version":"$1","engine":{"default":"Blink"}},{"regex":"TweakStyle(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"TweakStyle","version":"$1","engine":{"default":"Blink"}},{"regex":"Midori(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Midori","version":"$1","engine":{"default":"WebKit"}},{"regex":"Mercury(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Mercury","version":"$1"},{"regex":"(?:Maxthon|MxBrowser)[ /](\\\\d+[\\\\.\\\\d]+)","name":"Maxthon","version":"$1","engine":{"default":"","versions":{"3":"WebKit"}}},{"regex":"(?:Maxthon|MyIE2|Uzbl)","name":"Maxthon","version":"","engine":{"default":""}},{"regex":"Puffin(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Puffin","version":"$1"},{"regex":"MobileIron(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Iron Mobile","version":"$1","engine":{"default":"Blink"}},{"regex":"Iron(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Iron","version":"$1","engine":{"default":"WebKit","versions":{"28":"Blink"}}},{"regex":"Epiphany(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"GNOME Web","version":"$1","engine":{"default":"Gecko","versions":{"2.9.16":"","2.28":"WebKit"}}},{"regex":"LieBaoFast(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"LieBaoFast","version":"$1"},{"regex":"LBBrowser(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"Cheetah Browser","version":"$1"},{"regex":"SE (\\\\d+[\\\\.\\\\d]+)","name":"Sogou Explorer","version":"$1"},{"regex":"M?QQBrowser/Mini([\\\\.\\\\d]+)?","name":"QQ Browser Mini","version":"$1","engine":{"default":""}},{"regex":"M?QQBrowser(?:/([\\\\.\\\\d]+))?","name":"QQ Browser","version":"$1","engine":{"default":""}},{"regex":"(?:MIUIBrowser|MiuiBrowser)(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"MIUI Browser","version":"$1","engine":{"default":""}},{"regex":"coc_coc_browser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Coc Coc","version":"$1","engine":{"default":"WebKit","versions":{"28":"Blink"}}},{"regex":"DuckDuckGo/(\\\\d+[\\\\.\\\\d]*)","name":"DuckDuckGo Privacy Browser","version":"$1","engine":{"default":"Blink"}},{"regex":"Samsung ?Browser(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Samsung Browser","version":"$1"},{"regex":"Streamy(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Streamy","version":"$1","engine":{"default":"WebKit"}},{"regex":"isivioo","name":"Isivioo","version":"","engine":{"default":"WebKit"}},{"regex":"UC[ ]?Browser(?:[ /]?(\\\\d+[\\\\.\\\\d]+))?","name":"UC Browser","version":"$1"},{"regex":"UCWEB(?:[ /]?(\\\\d+[\\\\.\\\\d]+))?","name":"UC Browser","version":"$1"},{"regex":"UC AppleWebKit","name":"UC Browser","version":""},{"regex":"Tenta/(\\\\d+[\\\\.\\\\d]+)","name":"Tenta Browser","version":"$1","engine":{"default":"Webkit"}},{"regex":"Rocket/(\\\\d+[\\\\.\\\\d]+)","name":"Firefox Rocket","version":"$1","engine":{"default":"Webkit"}},{"regex":"Web Explorer/(\\\\d+[\\\\.\\\\d]+).*Chrome","name":"Web Explorer","version":"$1","engine":{"default":"Webkit"}},{"regex":"SznProhlizec/(\\\\d+[\\\\.\\\\d]+)","name":"Seznam Browser","version":"$1","engine":{"default":"Blink"}},{"regex":"SogouMobileBrowser/(\\\\d+[\\\\.\\\\d]+)","name":"Sogou Mobile Browser","version":"$1","engine":{"default":""}},{"regex":"Mint Browser/(\\\\d+[\\\\.\\\\d]+)","name":"Mint Browser","version":"$1","engine":{"default":""}},{"regex":"Ecosia (?:android|ios)@(\\\\d+[\\\\.\\\\d]+)","name":"Ecosia","version":"$1","engine":{"default":""}},{"regex":"ACHEETAHI","name":"CM Browser","version":"","engine":{"default":""}},{"regex":"Kiwi Chrome","name":"Kiwi","version":"","engine":{"default":""}},{"regex":"Mb2345Browser/(\\\\d+[\\\\.\\\\d]+)","name":"2345 Browser","version":"$1","engine":{"default":""}},{"regex":"QtWebEngine/(\\\\d+[\\\\.\\\\d]+)","name":"QtWebEngine","version":"$1","engine":{"default":""}},{"regex":"Silk/(\\\\d+[\\\\.\\\\d]+) like Chrome","name":"Mobile Silk","version":"$1","engine":{"default":"Blink"}},{"regex":"Silk(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Mobile Silk","version":"$1","engine":{"default":"WebKit"}},{"regex":"Version/.* Chrome(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Chrome Webview","version":"$1","engine":{"default":"WebKit","versions":{"28":"Blink"}}},{"regex":"CrMo(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Chrome Mobile","version":"$1","engine":{"default":"WebKit","versions":{"28":"Blink"}}},{"regex":"CriOS(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Chrome Mobile iOS","version":"$1","engine":{"default":"WebKit"}},{"regex":"Chrome(?:/(\\\\d+[\\\\.\\\\d]+))? Mobile","name":"Chrome Mobile","version":"$1","engine":{"default":"WebKit","versions":{"28":"Blink"}}},{"regex":"chromeframe(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Chrome Frame","version":"$1","engine":{"default":"WebKit"}},{"regex":"Chromium(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Chromium","version":"$1","engine":{"default":"WebKit","versions":{"28":"Blink"}}},{"regex":"HeadlessChrome(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Headless Chrome","version":"$1","engine":{"default":"Blink"}},{"regex":"Chrome(?!book)(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Chrome","version":"$1","engine":{"default":"WebKit","versions":{"28":"Blink"}}},{"regex":"(?:Tizen|SLP) Browser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Tizen Browser","version":"$1"},{"regex":"Blazer(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Palm Blazer","version":"$1"},{"regex":"Pre/(\\\\d+[\\\\.\\\\d]+)","name":"Palm Pre","version":"$1"},{"regex":"(?:hpw|web)OS/(\\\\d+[\\\\.\\\\d]+)","name":"wOSBrowser","version":"$1"},{"regex":"WebPro(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"Palm WebPro","version":"$1"},{"regex":"Palmscape(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"Palmscape","version":"$1"},{"regex":"Jasmine(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"Jasmine","version":"$1"},{"regex":"Lynx(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Lynx","version":"$1","engine":{"default":"Text-based"}},{"regex":"NCSA_Mosaic(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"NCSA Mosaic","version":"$1"},{"regex":"ABrowse(?: (\\\\d+[\\\\.\\\\d]+))?","name":"ABrowse","version":"$1"},{"regex":"amaya(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Amaya","version":"$1"},{"regex":"AmigaVoyager(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Amiga Voyager","version":"$1"},{"regex":"Amiga-Aweb(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Amiga Aweb","version":"$1"},{"regex":"Arora(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Arora","version":"$1","engine":{"default":"WebKit"}},{"regex":"Beonex(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Beonex","version":"$1","engine":{"default":"Gecko"}},{"regex":"bline(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"B-Line","version":"$1","engine":{"default":"WebKit"}},{"regex":"BrowseX \\\\((\\\\d+[\\\\.\\\\d]+)","name":"BrowseX","version":"$1"},{"regex":"Charon(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Charon","version":"$1"},{"regex":"Cheshire(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Cheshire","version":"$1"},{"regex":"dbrowser","name":"dbrowser","version":"","engine":{"default":"WebKit"}},{"regex":"Dillo(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Dillo","version":"$1","engine":{"default":"Dillo"}},{"regex":"Dolfin(?:/(\\\\d+[\\\\.\\\\d]+))?|dolphin","name":"Dolphin","version":"$1","engine":{"default":"WebKit"}},{"regex":"Elinks(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Elinks","version":"$1","engine":{"default":"Text-based"}},{"regex":"Element Browser(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"Element Browser","version":"$1"},{"regex":"Firebird(?! Build)(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Firebird","version":"$1","engine":{"default":"Gecko"}},{"regex":"Fluid(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Fluid","version":"$1","engine":{"default":"WebKit"}},{"regex":"Galeon(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Galeon","version":"$1","engine":{"default":"Gecko"}},{"regex":"Google Earth(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Google Earth","version":"$1","engine":{"default":"WebKit"}},{"regex":"HotJava(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"HotJava","version":"$1"},{"regex":"IBrowse(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"IBrowse","version":"$1"},{"regex":"iCabMobile(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"iCab Mobile","version":"$1","engine":{"default":"WebKit"}},{"regex":"iCab(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"iCab","version":"$1","engine":{"default":"iCab","versions":{"4":"WebKit"}}},{"regex":"Sleipnir(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"Sleipnir","version":"$1","engine":{"default":""}},{"regex":"Lunascape(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Lunascape","version":"$1","engine":{"default":""}},{"regex":"IEMobile[ /](\\\\d+[\\\\.\\\\d]+)","name":"IE Mobile","version":"$1","engine":{"default":"Trident"}},{"regex":"MSIE (\\\\d+[\\\\.\\\\d]+).*XBLWP7","name":"IE Mobile","version":"$1","engine":{"default":"Trident"}},{"regex":"MSIE.*Trident/4.0","name":"Internet Explorer","version":"8.0","engine":{"default":"Trident"}},{"regex":"MSIE.*Trident/5.0","name":"Internet Explorer","version":"9.0","engine":{"default":"Trident"}},{"regex":"MSIE.*Trident/6.0","name":"Internet Explorer","version":"10.0","engine":{"default":"Trident"}},{"regex":"Trident/[78].0","name":"Internet Explorer","version":"11.0","engine":{"default":"Trident"}},{"regex":"MSIE (\\\\d+[\\\\.\\\\d]+)","name":"Internet Explorer","version":"$1","engine":{"default":"Trident"}},{"regex":"IE[ /](\\\\d+[\\\\.\\\\d]+)","name":"Internet Explorer","version":"$1","engine":{"default":"Trident"}},{"regex":"Kazehakase(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Kazehakase","version":"$1","engine":{"default":""}},{"regex":"Kindle/(\\\\d+[\\\\.\\\\d]+)","name":"Kindle Browser","version":"$1"},{"regex":"K-meleon(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"K-meleon","version":"$1","engine":{"default":"Gecko"}},{"regex":"Links(?: \\\\((\\\\d+[\\\\.\\\\d]+))?","name":"Links","version":"$1","engine":{"default":"Text-based"}},{"regex":"LG Browser(?:/(\\\\d+[\\\\.\\\\d]+))","name":"LG Browser","version":"$1"},{"regex":"LuaKit(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"LuaKit","version":"$1"},{"regex":"UP.Browser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Openwave Mobile Browser","version":"$1"},{"regex":"Openwave(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Openwave Mobile Browser","version":"$1"},{"regex":"OmniWeb(?:/[v]?(\\\\d+[\\\\.\\\\d]+))?","name":"OmniWeb","version":"$1","engine":{"default":"WebKit"}},{"regex":"Phoenix(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Phoenix","version":"$1"},{"regex":"NetFrontLifeBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"NetFront Life","version":"$1","engine":{"default":"NetFront"}},{"regex":"NetFront(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"NetFront","version":"$1","engine":{"default":"NetFront"}},{"regex":"PLAYSTATION|NINTENDO 3|AppleWebKit.+ NX/\\\\d+\\\\.\\\\d+\\\\.\\\\d+","name":"NetFront","version":""},{"regex":"NetPositive(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"NetPositive","version":"$1"},{"regex":"NTENTBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"NTENT Browser","version":"$1"},{"regex":"Odyssey Web Browser(?:.*OWB/(\\\\d+[\\\\.\\\\d]+))?","name":"Odyssey Web Browser","version":"$1"},{"regex":"OffByOne","name":"Off By One","version":""},{"regex":"OneBrowser(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"ONE Browser","version":"$1","engine":{"default":"WebKit"}},{"regex":"Oregano(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"Oregano","version":"$1"},{"regex":"Otter(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"Otter Browser","version":"$1"},{"regex":"(?:Polaris|Embider)(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Polaris","version":"$1"},{"regex":"SEMC-Browser(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"SEMC-Browser","version":"$1"},{"regex":"Sraf(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Seraphic Sraf","version":"$1","engine":{"default":"Blink"}},{"regex":"Shiira(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Shiira","version":"$1","engine":{"default":"WebKit"}},{"regex":"Skyfire(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Skyfire","version":"$1"},{"regex":"Snowshoe(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Snowshoe","version":"$1","engine":{"default":"WebKit"}},{"regex":"Sunrise(?:Browser)?(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Sunrise","version":"$1"},{"regex":"SuperBird(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"SuperBird","version":"$1"},{"regex":"Vision-Browser(?:/(\\\\d+[\\\\.\\\\d]+))","name":"Vision Mobile Browser","version":"$1"},{"regex":"WeTab-Browser","name":"WeTab Browser","version":""},{"regex":"Xiino(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Xiino","version":"$1"},{"regex":"(?:NokiaBrowser|BrowserNG)(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Nokia Browser","version":"$1"},{"regex":"Series60/5\\\\.0","name":"Nokia Browser","version":"7.0"},{"regex":"Series60/(\\\\d+[\\\\.\\\\d]+)","name":"Nokia OSS Browser","version":"$1"},{"regex":"S40OviBrowser/(\\\\d+[\\\\.\\\\d]+)","name":"Nokia Ovi Browser","version":"$1"},{"regex":"^Nokia|Nokia[EN]?\\\\d+","name":"Nokia Browser","version":""},{"regex":"BlackBerry|PlayBook|BB10","name":"BlackBerry Browser","version":""},{"regex":"BriskBard(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"BriskBard","version":"$1"},{"regex":"Android","name":"Android Browser","version":"","engine":{"default":"WebKit"}},{"regex":"Coast(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Coast","version":"$1"},{"regex":"qutebrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Qutebrowser","version":"$1"},{"regex":"(?:(?:iPod|iPad|iPhone).+Version|MobileSafari)/(\\\\d+[\\\\.\\\\d]+)","name":"Mobile Safari","version":"$1","engine":{"default":"WebKit"}},{"regex":"(?:Version/(\\\\d+[\\\\.\\\\d]+).*)?Mobile.*Safari/","name":"Mobile Safari","version":"$1","engine":{"default":"WebKit"}},{"regex":"(?:iPod|iPhone|iPad)","name":"Mobile Safari","version":"","engine":{"default":"WebKit"}},{"regex":"Version/(\\\\d+[\\\\.\\\\d]+).*Safari/|Safari/\\\\d+","name":"Safari","version":"$1","engine":{"default":"WebKit"}},{"regex":"Dorado WAP-Browser[/ ](\\\\d+[\\\\.\\\\d]+)","name":"Dorado","version":"$1"},{"regex":"NetSurf(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"NetSurf","version":"$1","engine":{"default":"NetSurf"}}]')},function(e){e.exports=JSON.parse('[{"regex":"NetFront","name":"NetFront"},{"regex":"Edge","name":"Edge"},{"regex":"Trident","name":"Trident"},{"regex":"Blink","name":"Blink"},{"regex":"(?:Apple)?WebKit","name":"WebKit"},{"regex":"Presto","name":"Presto"},{"regex":"(?<!like )Gecko","name":"Gecko"},{"regex":"KHTML","name":"KHTML"},{"regex":"NetSurf","name":"NetSurf"}]')},function(e,r,o){"use strict";var t=o(1);Object.defineProperty(r,"__esModule",{value:!0});var n=o(5),l=o(3),i=o(2),a=o(77);r.default=function e(r){var o=this;t(this,e),this.options={versionTruncation:1},this.parse=function(e){var r={type:"",name:"",version:""},t=!0,d=!1,m=void 0;try{for(var u,s=a[Symbol.iterator]();!(t=(u=s.next()).done);t=!0){var g=u.value,c=i.userAgentParser(g.regex,e);if(c){r.type="mobile app",r.name=l.variableReplacement(g.name,c),r.version=n.formatVersion(l.variableReplacement(g.version,c),o.options.versionTruncation);break}}}catch(x){d=!0,m=x}finally{try{t||null==s.return||s.return()}finally{if(d)throw m}}return r},this.options=Object.assign({},this.options,r)}},function(e){e.exports=JSON.parse('[{"regex":"AndroidDownloadManager(?:[ /]([\\\\d\\\\.]+))?","name":"AndroidDownloadManager","version":"$1"},{"regex":"(?:Apple)?News(?:[ /][\\\\d\\\\.]+)? Version(?:[ /]([\\\\d\\\\.]+))?","name":"Apple News","version":"$1"},{"regex":"bPod","name":"bPod","version":""},{"regex":"(?:MessengerForiOS|MESSENGER).(?:FBAV)(?:[ /]([\\\\d\\\\.]+))?","name":"Facebook Messenger","version":"$1"},{"regex":"(?:FBAV|com.facebook.katana)(?:[ /]([\\\\d\\\\.]+))?","name":"Facebook","version":"$1"},{"regex":"FeedR(?:/([\\\\d\\\\.]+))?","name":"FeedR","version":"$1"},{"regex":"com.google.android.apps.magazines","name":"Google Play Newsstand","version":""},{"regex":"com.google.GooglePlus","name":"Google Plus","version":""},{"regex":"MicroMessenger/([^ ]+)","name":"WeChat","version":"$1"},{"regex":".*__weibo__([0-9\\\\.]+)__","name":"Sina Weibo","version":"$1"},{"regex":"Pinterest(?:/([\\\\d\\\\.]+))?","name":"Pinterest","version":"$1"},{"regex":"Podcatcher Deluxe","name":"Podcatcher Deluxe","version":""},{"regex":"com.google.android.youtube(?:/([\\\\d\\\\.]+))?","name":"YouTube","version":"$1"},{"regex":"([^/]+)/(\\\\d+(?:\\\\.\\\\d+)+) \\\\((?:iPhone|iPad); iOS [0-9\\\\.]+; Scale/[0-9\\\\.]+\\\\)","name":"$1","version":"$2"},{"regex":"WhatsApp(?:[ /]([\\\\d\\\\.]+))?","name":"WhatsApp","version":"$1"},{"regex":"Line(?:[ /]([\\\\d\\\\.]+))","name":"Line","version":"$1"},{"regex":"Instacast(?:HD)?/(\\\\d\\\\.[\\\\d\\\\.abc]+) CFNetwork/([\\\\d\\\\.]+) Darwin/([\\\\d\\\\.]+)","name":"Instacast","version":"$1"},{"regex":"Podcasts/([\\\\d\\\\.]+)","name":"Podcasts","version":"$1"},{"regex":"Pocket Casts(?:, (?:Android|iOS) v([\\\\d\\\\.]+))?","name":"Pocket Casts","version":"$1"},{"regex":"Podcat/([\\\\d\\\\.]+)","name":"Podcat","version":"$1"},{"regex":"BeyondPod","name":"BeyondPod","version":null},{"regex":"AntennaPod/?([\\\\d\\\\.]+)?","name":"AntennaPod","version":"$1"},{"regex":"Overcast/([\\\\d\\\\.]+)","name":"Overcast","version":"$1"},{"regex":"Player FM","name":"Player FM","version":""},{"regex":"Podkicker(?: Pro)?/([\\\\d\\\\.]+)","name":"Podkicker","version":"$1"},{"regex":"PodcastRepublic/([\\\\d\\\\.]+)","name":"Podcast Republic","version":"$1"},{"regex":"Castro/(\\\\d+)","name":"Castro","version":"$1"},{"regex":"Castro 2 ([\\\\d\\\\.]+)/[\\\\d]+ Like iTunes","name":"Castro 2","version":"$1"},{"regex":"Castro 2","name":"Castro 2","version":""},{"regex":"DoggCatcher","name":"DoggCatcher","version":null},{"regex":"PodcastAddict/v([\\\\d]+)","name":"Podcast & Radio Addict","version":"$1"},{"regex":"Podcat/([\\\\d]+) CFNetwork/([\\\\d\\\\.]+) Darwin/([\\\\d\\\\.]+)","name":"Podcat","version":"$1"},{"regex":"i[cC]atcher[^\\\\d]+([\\\\d\\\\.]+)","name":"iCatcher","version":"$1"},{"regex":"YelpApp/([\\\\d\\\\.]+)","name":"Yelp Mobile","version":"$1"},{"regex":"jp.co.yahoo.android.yjtop/([\\\\d\\\\.]+)","name":"Yahoo! Japan","version":"$1"},{"regex":"RSSRadio/([\\\\d]+)?","name":"RSSRadio","version":"$1"},{"regex":"SogouSearch Android[\\\\d\\\\.]+ version([\\\\d\\\\.]+)?","name":"SogouSearch App","version":"$1"},{"regex":"NewsArticle/([\\\\d\\\\.]+)?","name":"NewsArticle App","version":"$1"},{"regex":"tieba/([\\\\d\\\\.]+)?","name":"tieba","version":"$1"},{"regex":"com\\\\.douban\\\\.group/([\\\\d\\\\.]+)?","name":"douban App","version":"$1"},{"regex":"BingWeb/([\\\\d\\\\.]+)?","name":"BingWebApp","version":"$1"},{"regex":"GSA/([\\\\d\\\\.]+)?","name":"Google Search App","version":"$1"},{"regex":"Flipboard/([\\\\d\\\\.]+)?","name":"Flipboard App","version":"$1"},{"regex":"Instagram[ /]([\\\\d\\\\.]+)?","name":"Instagram App","version":"$1"},{"regex":"baiduboxapp/([\\\\d\\\\.]+)?","name":"Baidu Box App","version":"$1"},{"regex":"Crosswalk(?!.*Streamy)/([\\\\d\\\\.]+)?","name":"CrosswalkApp","version":"$1"}]')},function(e,r,o){"use strict";var t=o(1);Object.defineProperty(r,"__esModule",{value:!0});var n=o(5),l=o(3),i=o(2),a=o(79);r.default=function e(r){var o=this;t(this,e),this.options={versionTruncation:1},this.parse=function(e){var r={type:"",name:"",version:"",url:""},t=!0,d=!1,m=void 0;try{for(var u,s=a[Symbol.iterator]();!(t=(u=s.next()).done);t=!0){var g=u.value,c=i.userAgentParser(g.regex,e);if(c){r.type="feed reader",r.name=l.variableReplacement(g.name,c),r.version=n.formatVersion(l.variableReplacement(g.version,c),o.options.versionTruncation),r.url=g.url;break}}}catch(x){d=!0,m=x}finally{try{t||null==s.return||s.return()}finally{if(d)throw m}}return r},this.options=Object.assign({},this.options,r)}},function(e){e.exports=JSON.parse('[{"regex":"Akregator(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Akregator","version":"$1","url":"http://userbase.kde.org/Akregator","type":"Feed Reader"},{"regex":"Apple-PubSub(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Apple PubSub","version":"$1","url":"https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/pubsub.1.html","type":"Feed Reader"},{"regex":"BashPodder","name":"BashPodder","version":"","url":"http://lincgeek.org/bashpodder/","type":"Feed Reader"},{"regex":"Breaker/v([\\\\d\\\\.]+)","name":"Breaker","version":"$1","url":"https://www.breaker.audio/","type":"Feed Reader App"},{"regex":"Downcast/([\\\\d\\\\.]+)","name":"Downcast","version":"$1","url":"http://downcastapp.com/","type":"Feed Reader App"},{"regex":"FeedDemon(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"FeedDemon","version":"$1","url":"http://www.feeddemon.com/","type":"Feed Reader"},{"regex":"Feeddler(?:RSS|PRO)(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Feeddler RSS Reader","version":"$1","url":"http://www.chebinliu.com/projects/iphone/feeddler-rss-reader/","type":"Feed Reader App"},{"regex":"gPodder/([\\\\d\\\\.]+)","name":"gPodder","version":"$1","url":"http://gpodder.org/","type":"Feed Reader App"},{"regex":"JetBrains Omea Reader(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"JetBrains Omea Reader","version":"$1","url":"http://www.jetbrains.com/omea/reader/","type":"Feed Reader"},{"regex":"Liferea(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Liferea","version":"$1","url":"http://liferea.sf.net/","type":"Feed Reader"},{"regex":"NetNewsWire(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"NetNewsWire","version":"$1","url":"http://netnewswireapp.com/","type":"Feed Reader"},{"regex":"NewsBlur (?:iPhone|iPad) App(?: v(\\\\d+[\\\\.\\\\d]+))?","name":"NewsBlur Mobile App","version":"$1","url":"http://www.newsblur.com","type":"Feed Reader App"},{"regex":"NewsBlur(?:/(\\\\d+[\\\\.\\\\d]+))","name":"NewsBlur","version":"$1","url":"http://www.newsblur.com","type":"Feed Reader"},{"regex":"newsbeuter(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Newsbeuter","version":"$1","url":"http://www.newsbeuter.org/","type":"Feed Reader"},{"regex":"PritTorrent/([\\\\d\\\\.]+)","name":"PritTorrent","version":"$1","url":"http://bitlove.org","type":"Feed Reader"},{"regex":"Pulp[/ ](\\\\d+[\\\\.\\\\d]+)","name":"Pulp","version":"$1","url":"http://www.acrylicapps.com/pulp/","type":"Feed Reader App"},{"regex":"ReadKit(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"ReadKit","version":"$1","url":"http://readkitapp.com/","type":"Feed Reader App"},{"regex":"Reeder(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Reeder","version":"$1","url":"http://reederapp.com/","type":"Feed Reader App"},{"regex":"RSSBandit(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"RSS Bandit","version":"$1","url":"http://www.rssbandit.org)","type":"Feed Reader"},{"regex":"RSS Junkie(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"RSS Junkie","version":"$1","url":"https://play.google.com/store/apps/details?id=com.bitpowder.rssjunkie","type":"Feed Reader App"},{"regex":"RSSOwl(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"RSSOwl","version":"$1","url":"http://www.rssowl.org/","type":"Feed Reader"},{"regex":"Stringer","name":"Stringer","version":"","url":"https://github.com/swanson/stringer","type":"Feed Reader"}]')},function(e,r,o){"use strict";var t=o(1);Object.defineProperty(r,"__esModule",{value:!0});var n=o(5),l=o(3),i=o(2),a=o(81);r.default=function e(r){var o=this;t(this,e),this.options={versionTruncation:1},this.parse=function(e){var r={type:"",name:"",version:"",url:""},t=!0,d=!1,m=void 0;try{for(var u,s=a[Symbol.iterator]();!(t=(u=s.next()).done);t=!0){var g=u.value,c=i.userAgentParser(g.regex,e);if(c){r.type="library",r.name=l.variableReplacement(g.name,c),r.version=n.formatVersion(l.variableReplacement(g.version,c),o.options.versionTruncation),r.url=g.url||"";break}}}catch(x){d=!0,m=x}finally{try{t||null==s.return||s.return()}finally{if(d)throw m}}return r},this.options=Object.assign({},this.options,r)}},function(e){e.exports=JSON.parse('[{"regex":"Wget(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Wget","version":"$1"},{"regex":"Guzzle(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Guzzle (PHP HTTP Client)","version":"$1"},{"regex":"(?:lib)?curl(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"curl","version":"$1"},{"regex":"python-requests(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Python Requests","version":"$1"},{"regex":"Python-urllib(?:/?(\\\\d+[\\\\.\\\\d]+))?","name":"Python urllib","version":"$1"},{"regex":"Java(?:/?(\\\\d+[\\\\.\\\\d]+))?","name":"Java","version":"$1"},{"regex":"(?:perlclient|libwww-perl)(?:/?(\\\\d+[\\\\.\\\\d]+))?","name":"Perl","version":"$1"},{"regex":"okhttp/([\\\\d\\\\.]+)","name":"OkHttp","version":"$1"},{"regex":"HTTP_Request2(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"HTTP_Request2","version":"$1"},{"regex":"HTTP_Request2(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"HTTP_Request2","version":"$1","url":"http://pear.php.net/package/http_request2"},{"regex":"Mechanize(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Mechanize","version":"$1","url":"http://github.com/sparklemotion/mechanize/"},{"regex":"aiohttp(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"aiohttp","version":"$1"},{"regex":"Google-HTTP-Java-Client(?:/(\\\\d+[\\\\.\\\\d\\\\w-]+))?","name":"Google HTTP Java Client","version":"$1"},{"regex":"WWW-Mechanize(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"WWW-Mechanize","version":"$1"},{"regex":"Faraday(?: v(\\\\d+[\\\\.\\\\d]+))?","name":"Faraday","version":"$1"},{"regex":"(?:Go-http-client|Go )/?(?:(\\\\d+[\\\\.\\\\d]+))?(?: package http)?","name":"Go-http-client","version":"$1"},{"regex":"urlgrabber(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"urlgrabber (yum)","version":"$1"},{"regex":"libdnf(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"libdnf","version":"$1"},{"regex":"HTTPie(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"HTTPie","version":"$1"}]')},function(e,r,o){"use strict";var t=o(1);Object.defineProperty(r,"__esModule",{value:!0});var n=o(5),l=o(3),i=o(2),a=o(83);r.default=function e(r){var o=this;t(this,e),this.options={versionTruncation:1},this.parse=function(e){var r={type:"",name:"",version:""},t=!0,d=!1,m=void 0;try{for(var u,s=a[Symbol.iterator]();!(t=(u=s.next()).done);t=!0){var g=u.value,c=i.userAgentParser(g.regex,e);if(c){r.type="media player",r.name=l.variableReplacement(g.name,c),r.version=n.formatVersion(l.variableReplacement(g.version,c),o.options.versionTruncation);break}}}catch(x){d=!0,m=x}finally{try{t||null==s.return||s.return()}finally{if(d)throw m}}return r},this.options=Object.assign({},this.options,r)}},function(e){e.exports=JSON.parse('[{"regex":"Audacious(?:[ /]([\\\\d\\\\.]+))?","name":"Audacious","version":"$1"},{"regex":"Banshee(?:[ /]([\\\\d\\\\.]+))?","name":"Banshee","version":"$1"},{"regex":"Boxee(?:[ /]([\\\\d\\\\.]+))?","name":"Boxee","version":"$1"},{"regex":"Clementine(?:[ /]([\\\\d\\\\.]+))?","name":"Clementine","version":"$1"},{"regex":"Deezer(?:/([\\\\d\\\\.]+))?","name":"Deezer","version":"$1"},{"regex":"iTunes(?:-iPhone|-iPad)?(?:/([\\\\d\\\\.]+))?","name":"iTunes","version":"$1"},{"regex":"FlyCast(?:/([\\\\d\\\\.]+))?","name":"FlyCast","version":"$1"},{"regex":"foobar2000(?:/([\\\\d\\\\.]+))?","name":"Foobar2000","version":"$1"},{"regex":"MediaMonkey(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"MediaMonkey","version":"$1"},{"regex":"Miro(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Miro","version":"$1"},{"regex":"NexPlayer(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"NexPlayer","version":"$1"},{"regex":"Nightingale(?:/([\\\\d\\\\.]+))?","name":"Nightingale","version":"$1"},{"regex":"QuickTime(?:(?:(?:.+qtver=)|(?:(?: E-)?[\\\\./]))([\\\\d\\\\.]+))?","name":"QuickTime","version":"$1"},{"regex":"Songbird(?:/([\\\\d\\\\.]+))?","name":"Songbird","version":"$1"},{"regex":"SubStream(?:/([\\\\d\\\\.]+))?","name":"SubStream","version":"$1"},{"regex":"(?:Lib)?VLC(?:/([\\\\d\\\\.]+))?","name":"VLC","version":"$1"},{"regex":"Winamp(?:MPEG)?(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Winamp","version":"$1"},{"regex":"(?:Windows-Media-Player|NSPlayer)(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Windows Media Player","version":"$1"},{"regex":"XBMC(?:/([\\\\d\\\\.]+))?","name":"XBMC","version":"$1"},{"regex":"Kodi(?:/([\\\\d\\\\.]+))?","name":"Kodi","version":"$1"},{"regex":"stagefright(?:/([\\\\d\\\\.]+))?","name":"Stagefright","version":"$1"}]')},function(e,r,o){"use strict";var t=o(1);Object.defineProperty(r,"__esModule",{value:!0});var n=o(5),l=o(3),i=o(2),a=o(85);r.default=function e(r){var o=this;t(this,e),this.options={versionTruncation:1},this.parse=function(e){var r={type:"",name:"",version:""},t=!0,d=!1,m=void 0;try{for(var u,s=a[Symbol.iterator]();!(t=(u=s.next()).done);t=!0){var g=u.value,c=i.userAgentParser(g.regex,e);if(c){r.type="personal information manager",r.name=l.variableReplacement(g.name,c),r.version=n.formatVersion(l.variableReplacement(g.version,c),o.options.versionTruncation);break}}}catch(x){d=!0,m=x}finally{try{t||null==s.return||s.return()}finally{if(d)throw m}}return r},this.options=Object.assign({},this.options,r)}},function(e){e.exports=JSON.parse('[{"regex":"Outlook-Express(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Outlook Express","version":"$1"},{"regex":"Microsoft Outlook(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Microsoft Outlook","version":"$1"},{"regex":"(?:Thunderbird|Icedove|Shredder)(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Thunderbird","version":"$1"},{"regex":"Airmail(?: (\\\\d+[\\\\.\\\\d]+))?","name":"Airmail","version":"$1"},{"regex":"Lotus-Notes(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Lotus Notes","version":"$1"},{"regex":"Barca(?:Pro)?(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Barca","version":"$1"},{"regex":"Postbox(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Postbox","version":"$1"},{"regex":"MailBar(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"MailBar","version":"$1"},{"regex":"The Bat!(?: Voyager)?(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"The Bat!","version":"$1"},{"regex":"DAVdroid(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"DAVdroid","version":"$1"},{"regex":"(?:SeaMonkey|Iceape)(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"SeaMonkey","version":"$1"}]')},function(e,r,o){"use strict";var t=o(1),n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var l=n(o(87)),i=n(o(89)),a=n(o(91)),d=n(o(93)),m=n(o(95)),u=n(o(97)),s=[m.default,d.default,l.default,a.default,u.default,i.default];r.default=function e(){t(this,e),this.parse=function(e){var r=!0,o=!1,t=void 0;try{for(var n,l=s[Symbol.iterator]();!(r=(n=l.next()).done);r=!0){var i=(new(0,n.value)).parse(e);if(""!==i.type)return i}}catch(a){o=!0,t=a}finally{try{r||null==l.return||l.return()}finally{if(o)throw t}}return null}}},function(e,r,o){"use strict";var t=o(4),n=o(1);Object.defineProperty(r,"__esModule",{value:!0});var l=o(3),i=o(2),a=o(88);r.default=function e(){n(this,e),this.parse=function(e){for(var r={type:"",brand:"",model:""},o=0,n=Object.entries(a);o<n.length;o++){var d=n[o],m=t(d,2),u=m[0],s=m[1],g=i.userAgentParser(s.regex,e);if(g){if(r.type="camera",r.brand=u,s.model)r.model=l.variableReplacement(s.model,g).trim();else if(s.models){var c=!0,x=!1,p=void 0;try{for(var f,S=s.models[Symbol.iterator]();!(c=(f=S.next()).done);c=!0){var h=f.value,v=i.userAgentParser(h.regex,e);if(v){r.model=l.variableReplacement(h.model,v).trim();break}}}catch(A){x=!0,p=A}finally{try{c||null==S.return||S.return()}finally{if(x)throw p}}}break}}return r}}},function(e){e.exports=JSON.parse('{"Nikon":{"regex":"Coolpix S800c","device":"camera","model":"Coolpix S800c"},"Samsung":{"regex":"EK-G[CN][0-9]{3}","device":"camera","models":[{"regex":"EK-GN120","model":"GALAXY NX"},{"regex":"EK-GC100","model":"GALAXY Camera"},{"regex":"EK-GC110","model":"GALAXY Camera WiFi only"},{"regex":"EK-GC200","model":"GALAXY Camera 2"},{"regex":"EK-GC([0-9]{3})","model":"GALAXY Camera $1"}]}}')},function(e,r,o){"use strict";var t=o(4),n=o(1);Object.defineProperty(r,"__esModule",{value:!0});var l=o(3),i=o(2),a=o(28),d=o(90);r.default=function e(){n(this,e),this.parse=function(e){for(var r={type:"",brand:"",model:""},o=0,n=Object.entries(d);o<n.length;o++){var m=n[o],u=t(m,2),s=u[0],g=u[1],c=i.userAgentParser(g.regex,e);if(c){if(r.type=g.device,r.brand=s,g.model)r.model=a.buildModel(l.variableReplacement(g.model,c)).trim();else if(g.models){var x=!0,p=!1,f=void 0;try{for(var S,h=g.models[Symbol.iterator]();!(x=(S=h.next()).done);x=!0){var v=S.value,A=i.userAgentParser(v.regex,e);if(A){r.model=a.buildModel(l.variableReplacement(v.model,A)).trim(),v.device&&(r.type=v.device),v.brand&&(r.brand=v.brand);break}}}catch(b){p=!0,f=b}finally{try{x||null==h.return||h.return()}finally{if(p)throw f}}}break}}return"tv"===r.type&&(r.type=r.type.replace("tv","television")),"Unknown"===r.brand&&(r.brand=""),r}}},function(e){e.exports=JSON.parse('{"Tunisie Telecom":{"regex":"StarTrail TT[);/ ]","device":"smartphone","model":"StarTrail by TT"},"SFR":{"regex":"StarShine|StarTrail|STARADDICT|StarText|StarNaute|StarXtrem|StarTab","device":"smartphone","models":[{"regex":"StarXtrem[);/ ]","model":"StarXtrem"},{"regex":"StarTrail ?4[);/ ]","model":"StarTrail 4"},{"regex":"StarTrail III[);/ ]","model":"StarTrail 3"},{"regex":"StarTrail II[);/ ]","model":"StarTrail 2"},{"regex":"StarTrail[);/ ]","model":"StarTrail"},{"regex":"StarShine II[);/ ]","model":"StarShine 2"},{"regex":"StarShine[);/ ]","model":"StarShine"},{"regex":"STARADDICT 4[);/ ]","model":"Staraddict 4"},{"regex":"STARADDICT III[);/ ]","model":"Staraddict 3"},{"regex":"STARADDICT II Plus[);/ ]","model":"Staraddict 2 Plus"},{"regex":"STARADDICT II[);/ ]","model":"Staraddict 2"},{"regex":"STARADDICT[);/ ]","model":"Staraddict"},{"regex":"StarText II[);/ ]","model":"StarText 2"},{"regex":"StarText[);/ ]","model":"StarText"},{"regex":"StarNaute II[);/ ]","model":"StarNaute 2"},{"regex":"StarNaute[);/ ]","model":"StarNaute"},{"regex":"StarTab","model":"StarTab","device":"tablet"},{"regex":"((?:StarShine|StarTrail|STARADDICT|StarText|StarNaute|StarXtrem)[^;/]*) Build","model":"$1"}]},"HTC":{"regex":"HTC|Sprint (?:APA|ATP)|ADR(?!910L)[a-z0-9]+|NexusHD2|Amaze[ _]4G[);/ ]|(Desire|Sensation|Evo ?3D|IncredibleS|Wildfire|Butterfly)[ _]?([^;/]+) Build|(Amaze[ _]4G|One ?[XELSV\\\\+]+)[);/ ]|SPV E6[05]0|One M8|X525a|PG86100|PC36100|XV6975|PJ83100[);/ ]|2PYB2|2PZC5|0PJA10|0PJA2","device":"smartphone","models":[{"regex":"2PZC5[);/ ]","model":"U11"},{"regex":"XV6975[);/ ]","model":"Imagio"},{"regex":"PG86100[);/ ]","model":"Evo 3G"},{"regex":"PC36100[);/ ]","model":"Evo 4G"},{"regex":"PJ83100[);/ ]","model":"One X"},{"regex":"(?:0PJA2|0PJA10)[);/ ]","model":"One M9"},{"regex":"ADR6300","model":"Droid Incredible"},{"regex":"ADR6400L","model":"ThunderBolt"},{"regex":"ADR6410LRA","model":"Droid Incredible 3"},{"regex":"SPV E600","model":"Excalibur"},{"regex":"SPV E650","model":"Vox"},{"regex":"X525a","model":"One X+"},{"regex":"2PYB2","model":"Bolt"},{"regex":"NexusHD2","model":"HD2"},{"regex":"HTC[ _\\\\-]P715a","device":"tablet","model":"P715a"},{"regex":"HTC[ _\\\\-]Flyer Build","device":"tablet","model":"Flyer"},{"regex":"HTC[ _\\\\-]Flyer[ _\\\\-]([\\\\w]{1,5})","device":"tablet","model":"Flyer $1"},{"regex":"HTC[ _\\\\-]One[ _\\\\-]max[);/ ]","device":"phablet","model":"One max"},{"regex":"HTC[ _]([^/;]+) [0-9]+(?:\\\\.[0-9]+)+ Build","model":"$1"},{"regex":"HTC[ _]([^/;]+) Build","model":"$1"},{"regex":"HTC[ _]([a-z0-9]+[ _\\\\-]?(?:[a-z0-9_+\\\\-])*)","model":"$1"},{"regex":"USCCHTC(\\\\d+)","model":"$1"},{"regex":"Sprint (ATP.*) Build","device":"tablet","model":"$1 (Sprint)"},{"regex":"Sprint (APA.*) Build","model":"$1 (Sprint)"},{"regex":"HTC(?:[\\\\-/ ])?([a-z0-9\\\\-_]+)","model":"$1"},{"regex":"HTC;(?: )?([a-z0-9 ]+)","model":"$1"},{"regex":"(Desire|Sensation|Evo ?3D|IncredibleS|Wildfire|Butterfly)[ _]?([^;/]+) Build","model":"$1 $2"},{"regex":"(Amaze[ _]4G|One ?[XELSV\\\\+]*) Build","model":"$1"},{"regex":"(ADR[^;/]+) Build","model":"$1"},{"regex":"(ADR[a-z0-9]+)","model":"$1"},{"regex":"(One M8)","model":"$1"}]},"Microsoft":{"regex":"KIN\\\\.(One|Two)|RM-(?:1031|106[57]|109[02]|1096|1099|1109|1114|1127|1141|1154)|Microsoft; Lumia","device":"smartphone","models":[{"regex":"KIN\\\\.(One|Two)","device":"feature phone","model":"Kin $1"},{"regex":"RM-1031","model":"Lumia 532"},{"regex":"RM-106[57]","model":"Lumia 640 XL"},{"regex":"RM-1096","model":"Lumia 640 XL"},{"regex":"RM-109[02]","model":"Lumia 535"},{"regex":"RM-1099","model":"Lumia 430"},{"regex":"RM-1109","model":"Lumia 640"},{"regex":"RM-1114","model":"Lumia 435"},{"regex":"RM-1127","model":"Lumia 550"},{"regex":"RM-1141","model":"Lumia 540"},{"regex":"RM-1154","model":"Lumia 650"},{"regex":"Microsoft; Lumia ([^;/)]+)[;/)]","model":"Lumia $1"}]},"Nokia":{"regex":"Nokia|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}","device":"smartphone","models":[{"regex":"TA-10(07|23|29|35)","model":"2"},{"regex":"TA-10(20|28|32|38)","model":"3"},{"regex":"TA-10(24|27|44|53)","model":"5"},{"regex":"TA-10(00|03|21|25|33|39|54)","model":"6"},{"regex":"TA-1041","model":"7"},{"regex":"TA-10(04|12|52)","model":"8"},{"regex":"Nokia ([A-Za-z0-9\\\\. ]+) Build","model":"$1"},{"regex":"RX-51 N900","model":"N900"},{"regex":"Nokia(N[0-9]+)","model":"$1"},{"regex":"Nokia-([a-z0-9]+)","model":"N$1"},{"regex":"NOKIA; (?!Qt;)([a-z0-9\\\\- ]+)","model":"$1"},{"regex":"NOKIA[ _]?([a-z0-9\\\\-]+)","model":"$1"},{"regex":"NOKIA/([a-z0-9 ]+)","model":"$1"},{"regex":"(Lumia [a-z0-9\\\\-]+ XL)","device":"phablet","model":"$1"},{"regex":"(Lumia [a-z0-9\\\\-]+)","model":"$1"},{"regex":"Maemo RX-51 ([a-z0-9]+)","model":"$1"},{"regex":"Maemo RX-34","model":"N800"},{"regex":"NokiaInternal|Nokia-WAP-Toolkit|Nokia-MIT-Browser|Nokia Mobile|Nokia Browser|Nokia/Series","model":""},{"regex":"portalmmm/2\\\\.0 (N7[37]|NK[a-z0-9]+)","model":"$1"},{"regex":"nok([0-9]+)","model":"$1"},{"regex":"Symbian.*\\\\s([a-z0-9]+)$","device":"feature phone","model":"$1"}]},"CnM":{"regex":"CnM","device":"tablet","models":[{"regex":"CnM[ \\\\-](?:Touchpad|TP)[ \\\\-]([0-9\\\\.]+)","model":"Touchpad $1"}]},"RIM":{"regex":"BB10;|BlackBerry|rim[0-9]+|PlayBook|STV100-[1234]|STH100-[12]|BBA100-[12]|BBB100-[1234567]|BBC100-1|BBD100-[126]|BBE100-[123456789]|BBF100-[123456789]|BBG100-1|BBH100-1","device":"smartphone","models":[{"regex":"BBA100-[12]","model":"BlackBerry DTEK60"},{"regex":"BBB100-[1234567]","model":"KEYone"},{"regex":"BBC100-1","model":"Aurora"},{"regex":"BBD100-[126]","model":"Motion"},{"regex":"BBE100-[123456789]","model":"KEY2 LE"},{"regex":"BBF100-[1234567]","model":"KEY2"},{"regex":"BBF100-8","model":"KEY2 Silver"},{"regex":"BBF100-9","model":"KEY2 Black"},{"regex":"BBG100-1","model":"Evolve"},{"regex":"BBH100-1","model":"Evolve X"},{"regex":"STV100-[1234]","model":"BlackBerry Priv"},{"regex":"STH100-[12]","model":"BlackBerry DTEK50"},{"regex":"BB10; ([a-z0-9\\\\- ]+)\\\\)","model":"BlackBerry $1"},{"regex":"PlayBook.+RIM Tablet OS","model":"BlackBerry Playbook","device":"tablet"},{"regex":"BlackBerry(?: )?([a-z0-9]+)","model":"BlackBerry $1"},{"regex":"rim([0-9]+)","model":"BlackBerry $1"},{"regex":"BlackBerry","model":"BlackBerry"}]},"Palm":{"regex":"(?:Pre|Pixi)/(\\\\d+)\\\\.(\\\\d+)|Palm|Treo|Xiino","device":"smartphone","models":[{"regex":"((?:Pre|Pixi))/(\\\\d+\\\\.\\\\d+)","model":"$1 $2"},{"regex":"Palm(?:[ \\\\-])?((?!OS|Source|scape)[a-z0-9]+)","model":"$1"},{"regex":"Treo([a-z0-9]+)","model":"Treo $1"},{"regex":"Tungsten","model":"Tungsten"},{"regex":"Xiino|Palmscape","model":""}]},"HP":{"regex":"TouchPad/\\\\d+\\\\.\\\\d+|hp-tablet|HP ?iPAQ|webOS.*P160U|HP Slate|HP [78]|Compaq [7|8]|HP; [^;/)]+","device":"smartphone","models":[{"regex":"HP Slate 6 Voice Tab","model":"Slate 6 VoiceTab","device":"phablet"},{"regex":"HP ([78][^/;]*) Build","model":"Slate $1","device":"tablet"},{"regex":"Compaq ([78][^/;]*) Build","model":"Compaq $1","device":"tablet"},{"regex":"HP Slate ?(.+) Build","model":"Slate $1","device":"tablet"},{"regex":"HP Slate ?([0-9]+)","model":"Slate $1","device":"tablet"},{"regex":"TouchPad/(\\\\d+\\\\.\\\\d+)|hp-tablet","model":"TouchPad","device":"tablet"},{"regex":"HP; ([^;/)]+)","model":"$1"},{"regex":"HP(?: )?iPAQ(?: )?([a-z0-9]+)","model":"iPAQ $1"},{"regex":"webOS.*(P160U)","model":"Veer"}]},"TiPhone":{"regex":"TiPhone ?([a-z0-9]+)","device":"smartphone","model":"$1"},"Apple":{"regex":"(?:iTunes-)?Apple[ _]?TV|(?:Apple-|iTunes-)?(?<!like )(?:iPad|iPhone)|iPh[0-9],[0-9]|CFNetwork","models":[{"regex":"(?:Apple-)?iPh(?:one)?1[C,_]1","model":"iPhone","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?1[C,_]2","model":"iPhone 3G","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?2[C,_]1","model":"iPhone 3GS","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?3[C,_][123]","model":"iPhone 4","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?4[C,_]1|1C2%254enohPi","model":"iPhone 4S","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?5[C,_][12]","model":"iPhone 5","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?5[C,_][34]","model":"iPhone 5C","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?6[C,_][12]","model":"iPhone 5S","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?7[C,_]1|1C2%257enohPi","model":"iPhone 6 Plus","device":"phablet"},{"regex":"(?:Apple-)?iPh(?:one)?7[C,_]2","model":"iPhone 6","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?8[C,_]2","model":"iPhone 6s Plus","device":"phablet"},{"regex":"(?:Apple-)?iPh(?:one)?8[C,_]1|iPhone 6s","model":"iPhone 6s","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?8[C,_]4","model":"iPhone SE","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?9[C,_][13]","model":"iPhone 7","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?9[C,_][24]","model":"iPhone 7 Plus","device":"phablet"},{"regex":"(?:Apple-)?iPh(?:one)?10[C,_][14]","model":"iPhone 8","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?10[C,_][25]","model":"iPhone 8 Plus","device":"phablet"},{"regex":"(?:Apple-)?iPh(?:one)?10[C,_][36]|iPhone X","model":"iPhone X","device":"phablet"},{"regex":"(?:Apple-)?iPh(?:one)?11[C,_][2]","model":"iPhone XS","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?11[C,_][46]","model":"iPhone XS Max","device":"phablet"},{"regex":"(?:Apple-)?iPh(?:one)?11[C,_][8]","model":"iPhone XR","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?12[C,_][1]","model":"iPhone 11","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?12[C,_][3]","model":"iPhone 11 Pro","device":"phablet"},{"regex":"(?:Apple-)?iPh(?:one)?12[C,_][5]","model":"iPhone 11 Pro Max","device":"phablet"},{"regex":"(?:Apple-)?iPad1[C,_]1","model":"iPad","device":"tablet"},{"regex":"(?:Apple-)?iPad2[C,_][1234]","model":"iPad 2","device":"tablet"},{"regex":"(?:Apple-)?iPad2[C,_][567]","model":"iPad Mini","device":"tablet"},{"regex":"(?:Apple-)?iPad3[C,_][123]","model":"iPad 3","device":"tablet"},{"regex":"(?:Apple-)?iPad3[C,_][456]","model":"iPad 4","device":"tablet"},{"regex":"(?:Apple-)?iPad4[C,_][123]","model":"iPad Air","device":"tablet"},{"regex":"(?:Apple-)?iPad4[C,_][456]","model":"iPad Mini 2","device":"tablet"},{"regex":"(?:Apple-)?iPad4[C,_][789]","model":"iPad Mini 3","device":"tablet"},{"regex":"(?:Apple-)?iPad5[C,_][12]","model":"iPad Mini 4","device":"tablet"},{"regex":"(?:Apple-)?iPad5[C,_][34]","model":"iPad Air 2","device":"tablet"},{"regex":"(?:Apple-)?iPad6[C,_][34]","model":"iPad Pro 9.7","device":"tablet"},{"regex":"(?:Apple-)?iPad6[C,_][78]","model":"iPad Pro 12.9","device":"tablet"},{"regex":"(?:Apple-)?iPad6[C,_](?:11|12)","model":"iPad 5 9.7","device":"tablet"},{"regex":"(?:Apple-)?iPad7[C,_][12]","model":"iPad Pro 2 12.9","device":"tablet"},{"regex":"(?:Apple-)?iPad7[C,_][34]","model":"iPad Pro 10.5","device":"tablet"},{"regex":"(?:Apple-)?iPad7[C,_][56]","model":"iPad 6 9.7","device":"tablet"},{"regex":"(?:Apple-)?iPad7[C,_](?:11|12)","model":"iPad 7 10.2","device":"tablet"},{"regex":"(?:Apple-)?iPad8[C,_][1-4]","model":"iPad Pro 3 11.0","device":"tablet"},{"regex":"(?:Apple-)?iPad8[C,_][5-8]","model":"iPad Pro 3 12.9","device":"tablet"},{"regex":"Apple-?TV2[C,_]1","model":"Apple TV 2","device":"tv"},{"regex":"Apple-?TV3[C,_][12]","model":"Apple TV 3","device":"tv"},{"regex":"Apple-?TV5[C,_]3","model":"Apple TV 4","device":"tv"},{"regex":"Apple-?TV6[C,_]2","model":"Apple TV 4K","device":"tv"},{"regex":"(?:iTunes-)?Apple[ _]?TV","model":"Apple TV","device":"tv"},{"regex":"HomePod","model":"HomePod","device":"smart speaker"},{"regex":"iTunes-iPad/[0-9]+(?:\\\\.[0-9]+)* \\\\(([^;]+);","model":"iPad $1","device":"tablet"},{"regex":"(?:Apple-)?iPad","model":"iPad","device":"tablet"},{"regex":"iTunes-iPhone/[0-9]+(?:\\\\.[0-9]+)* \\\\(([^;]+);","model":"iPhone $1","device":"smartphone"},{"regex":"(?:Apple-)?iPhone ?(3GS?|4S?|5[CS]?|6(:? Plus)?)?","model":"iPhone $1","device":"smartphone"}]},"MicroMax":{"regex":"(?:MicroMax[ \\\\-\\\\_]?[a-z0-9]+|Q327)|P70221 Build","device":"smartphone","models":[{"regex":"AQ5001","model":"Canvas Juice 2"},{"regex":"E481","model":"Canvas 5"},{"regex":"P70221 Build","model":"Canvas Tab","device":"tablet"},{"regex":"Q327","model":"Bolt"},{"regex":"Q417","model":"Canvas Mega"},{"regex":"Q424","model":"Bolt Selfie"},{"regex":"Q426","model":"Canvas Mega 2"},{"regex":"MicroMax(?:[ \\\\-\\\\_])?(P[a-z0-9]+)","model":"$1","device":"tablet"},{"regex":"MicroMax(?:[ \\\\-\\\\_])?([a-z0-9]+)","model":"$1"}]},"3Q":{"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|RC7802F|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","device":"tablet","models":[{"regex":"MT0724B|LC0901D|LC0816C|LC0810C|LC0809B|LC0808B|LC0804B|LC0725B|LC0723B","model":"Qoo! P-Pad"},{"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","model":"Qoo! Q-Pad"},{"regex":"MT7801C|QS9718C|QS9719D|VM0711A|OC1020A","model":"Qoo! Surf"},{"regex":"TS9708B","model":"Surf TS1009B"},{"regex":"AC7803C|AC0732C","model":"Qoo! Lite"},{"regex":"MT0812E|RC7802F","model":"Qoo! Meta"},{"regex":"EL72B|(?:3Q_)?ER71B","model":"Qoo! Q-Book"}]},"4Good":{"regex":"4Good[ _]|(?:4Good)?(S450m [43]G|S555m 4G|S501m 3G|T700i_3G|Light A103)","device":"smartphone","models":[{"regex":"T700i_3G","model":"T700i 3G","device":"tablet"},{"regex":"S555m[_ ]4G","model":"People"},{"regex":"(S(?:450m|501m)[_ ][43]G|Light A103)","model":"$1"},{"regex":"4Good[ _]([^;/]+) Build","model":"$1"},{"regex":"4Good[ _]([^);/ ]+)","model":"$1"}]},"AllCall":{"regex":"AllCall_|Heat[34]|Hot ?[125][^;/]+ Build","device":"smartphone","models":[{"regex":"AllCall_(Alpha|Atom|Bro|Madrid)","model":"$1"},{"regex":"AllCall_S1_X","model":"S1 X"},{"regex":"AllCall_S1","model":"S1"},{"regex":"AllCall_RIO_S","model":"Rio S"},{"regex":"AllCall_RIO_PRO","model":"Rio Pro"},{"regex":"AllCall_RIO","model":"Rio"},{"regex":"Heat([34])","model":"Heat $1"},{"regex":"Hot ?([125][^;/]+) Build","model":"Hot $1"}]},"Bravis":{"regex":"Bravis[ _]|A501 Bright|NB(?:106M|10[1-8]|751|7[145]|8[57]1|76)|NP101|NP 104 3G|B501|N1-570 Space","device":"smartphone","models":[{"regex":"A501 Bright","model":"A501 Bright"},{"regex":"Bravis[_ ]X500","model":"Trace Pro"},{"regex":"Bravis[_ ]A506","model":"Crystal"},{"regex":"Bravis[_ ]A553","model":"Discovery"},{"regex":"BRAVIS[ _]TAU","model":"Tau"},{"regex":"BRAVIS[ _]DELTA","model":"Delta"},{"regex":"BRAVIS[ _]TREND","model":"Trend"},{"regex":"B501","model":"Easy"},{"regex":"N1-570","model":"Space"},{"regex":"BRAVIS[ ]A554","model":"A554 Grand"},{"regex":"BRAVIS[ _]SLIM[ _]3G","model":"Slim 3G","device":"tablet"},{"regex":"Bravis[_ ]([^;\\\\)]+) Build","model":"$1"},{"regex":"(NB(?:106M|10[1-8]|751|7[145]|8[57]1|76)|NP101)","model":"$1","device":"tablet"},{"regex":"NP 104 3G","model":"NP104 3G","device":"tablet"}]},"Acer":{"regex":"acer|(?<!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[);/ ]|A1-830|A1-81[01]|A1-7[23]4|A3-A[1234][01]|B1-7[1235678][01]|B1-7[23]3|B1-8[1235]0|B1-A71|B3-A[12]0|B3-A3[02]|E39[);/ ]|S5[12]0 Build|DA[0-9]+HQ?L[);/ ]|Aspire V5-121|Predator G9-793|GT-810","device":"smartphone","models":[{"regex":"DA220HQL[);/ ]","model":"DA220HQL","device":"smart display"},{"regex":"DA241HL[);/ ]","model":"DA241HL","device":"smart display"},{"regex":"(DA[0-9]+HQ?L)[);/ ]","model":"$1","device":"smart display"},{"regex":"A1-81[01]","model":"Iconia A","device":"tablet"},{"regex":"A1-830","model":"Iconia A1","device":"tablet"},{"regex":"A1-7[23]4","model":"Iconia Talk S","device":"tablet"},{"regex":"A3-A[12][01]","model":"Iconia A3","device":"tablet"},{"regex":"A3-A[34]0","model":"Iconia Tab 10","device":"tablet"},{"regex":"B1-7[5678]0|B1-730HD","model":"Iconia One 7","device":"tablet"},{"regex":"B1-7[123][01]|B1-A71","model":"Iconia B1","device":"tablet"},{"regex":"B1-7[23]3","model":"Iconia Talk 7","device":"tablet"},{"regex":"B1-8[1235]0","model":"Iconia One 8","device":"tablet"},{"regex":"B3-A[12]0|B3-A3[02]","model":"Iconia One 10","device":"tablet"},{"regex":"A101","model":"Vangogh","device":"tablet"},{"regex":"A200","model":"Picasso E","device":"tablet"},{"regex":"A50[01]","model":"Picasso","device":"tablet"},{"regex":"Acer One 7","model":"One 7","device":"tablet"},{"regex":"GT-810","model":"Predator 8","device":"tablet"},{"regex":"E39[);/ ]","model":"Liquid E700"},{"regex":"E310[);/ ]","model":"Liquid Mini"},{"regex":"E320(?:-orange)?[);/ ]","model":"Liquid Express"},{"regex":"E310[);/ ]","model":"beTouch E210"},{"regex":"Android.*V360[);/ ]","model":"Liquid E1 Duo"},{"regex":"Android.*V370[);/ ]","model":"Liquid E2 Duo"},{"regex":"S510[);/ ]","model":"Liquid S1"},{"regex":"S520[);/ ]","model":"Liquid S2"},{"regex":"(?:Acer_)?P400[);/ ]","model":"neoTouch P400"},{"regex":"(?:Acer_)?P300[);/ ]","model":"neoTouch P300"},{"regex":"(?:Acer_)?S200[);/ ]","model":"neoTouch S200"},{"regex":"(?:Acer_)?E100[);/ ]","model":"beTouch E100"},{"regex":"Android.*Z1([234])0[);/ ]","model":"Liquid Z$1"},{"regex":"Android.*Z110[);/ ]","model":"Liquid Z110"},{"regex":"Android.*Z150[);/ ]","model":"Liquid Z5 Duo"},{"regex":"Android.*Z160[);/ ]","model":"Liquid Z4 Duo"},{"regex":"Android.*Z(5\\\\d{2})[);/ ]","model":"Liquid Z$1"},{"regex":"Android.*S57[);/ ]","model":"Liquid Jade Z"},{"regex":"Android.*T02[);/ ]","model":"Liquid Z530"},{"regex":"Android.*T03[);/ ]","model":"Liquid Z630"},{"regex":"Android.*T04[);/ ]","model":"Liquid Z630S"},{"regex":"Android.*T06[);/ ]","model":"Liquid Zest"},{"regex":"Android.*T07[);/ ]","model":"Liquid Zest 4G"},{"regex":"Android.*T08[);/ ]","model":"Liquid Zest Plus"},{"regex":"TM01[);/ ]","model":"Liquid M330"},{"regex":"M220[);/ ]","model":"Liquid M220"},{"regex":"AcerTD600","model":"TD600"},{"regex":"Android.*S55[);/ ]","model":"Liquid Jade"},{"regex":"(?:Acer )?(Chromebook R1[13])","model":"$1","device":"desktop"},{"regex":"(?:Acer )?(Chromebook 14)","model":"$1","device":"desktop"},{"regex":"(Aspire V5-121)","model":"$1","device":"desktop"},{"regex":"(Predator G9-793)","model":"$1","device":"desktop"},{"regex":"Acer; ?([^;\\\\(\\\\)/]+)","model":"$1"},{"regex":"Acer(?! ?inc)[ _\\\\-]?([^;\\\\(\\\\)/]+)[();/ ]","model":"$1"},{"regex":"acer[\\\\-_]([a-z0-9]+)","model":"$1"},{"regex":"a(101|110|2[10]0|211|50[10]|51[10]|70[10])[);/ ]","model":"Iconia Tab A$1","device":"tablet"}]},"Advan":{"regex":"(i7U|S45E|5061|S50H|I7D|i55[KD]|i4U|S7D|S4Z|i5[KE]|S5E[ _]NXT) Build","device":"smartphone","models":[{"regex":"i7U","model":"I Lite i7U"},{"regex":"S5E[ _]NXT","model":"S5E NXT"},{"regex":"i(55[KD]|5[KE])","model":"I$1"},{"regex":"i4U","model":"I4U"},{"regex":"(S45E|5061|S50H|I7D|S7D|S4Z)","model":"$1"}]},"Advance":{"regex":"Hollogram|HL6246|IntroTr3544|Tr3845","device":"smartphone","models":[{"regex":"IntroTr3544|Tr3845","model":"Intro","device":"tablet"},{"regex":"HL6246","model":"Hollogram HL6246"},{"regex":"Hollogram ([^;\\\\)]+) Build","model":"Hollogram $1"}]},"AGM":{"regex":"AGM ([^/;\\\\)]+)(?: Build|\\\\))","device":"smartphone","models":[{"regex":"AGM ([^/;\\\\)]+)(?: Build|\\\\))","model":"$1"}]},"Airness":{"regex":"AIRNESS-([\\\\w]+)","device":"feature phone","model":"$1"},"Aiwa":{"regex":"AW790|M300","device":"smartphone","models":[{"regex":"AW790","model":"AW790"},{"regex":"M300","model":"M300","device":"phablet"}]},"Akai":{"regex":"Akai[ _-]|Eco[ _]E2|Glory[ _](?:G[1235]|L[123]|O[125])|TAB-[79]8[03]0Q?|X6 METAL|AKTB-703MZ","device":"smartphone","models":[{"regex":"TAB-([79]8[03]0Q?)","device":"tablet","model":"TAB $1"},{"regex":"(AKTB-703MZ)","device":"tablet","model":"$1"},{"regex":"X6 METAL","model":"iLike"},{"regex":"Glory[ _](G[1235]|L[123]|O[125])","model":"Glory $1"},{"regex":"Eco[ _]E2","model":"Eco E2"},{"regex":"Akai[ _-]([^;/]+) Build","model":"$1"},{"regex":"Akai[ _-]([^;/]+)[;/)]","model":"$1"}]},"Arian Space":{"regex":"Arian Space","device":"tablet","models":[{"regex":"100 ST1004PG","model":"100"},{"regex":"80 SS8003PG","model":"80"},{"regex":"71 ST7002PG","model":"71"},{"regex":"70 ST7001RW","model":"70"}]},"Alcatel":{"regex":"Alcatel|Alc(?!or )[a-z0-9]+|One[ _]?Touch|idol3|(?: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[ADEFGX]|4035[ADXY]|4045[ADEX]|4047[ADFGNX]|4049[DEGMX]|4060[SW]|4114E|5009[AD]|5010[DEGSUX]|5011A|5012[DFG]|5015[ADEX]|5016[AXJ]|5017[ABDEOX]|5019D|5022[EDX]|5023[EF]|5024A|5025[DEG]|5026[AD]|5027B|5033[AX]|5033D[ _]RU|5034D|5038[ADEX]|5041C|5042[ADEFGWX]|5044[ADGIKOPSTY]|5045[ADFGIJTXY]|5046[ADGIJSTUY]|5047[DIUY]|5049[EGSWZ]|5050[ASXY]|5051[ADEJMTWX]|5052[AD]|5054[ADNSTWX]|5056[ADEGIJMNTUWX]|5057M|5058[AIY]|5059[ADXYZ]|5065[ADNWX]|5070D|5080[ADFQUX]|5085[ABCDGHIJNOQY]|5086[ADY]|5090[AIY]|5095[IKY]|5098[OS]|5099[ADYUI]|5116J|5145A|6016[ADEX]|6036[AXY]|6037[BKY]|6039[AHJKY]|6043[AD]|6044D|6045[BFIKOY]|6050[AFY]|6055[ABDHIKPUYZ]|6058[ADX]|6060S|6062W|6070K|7040[ADEFKRT]|7041[DX]|7043[AEKY]|7044[AX]|7045Y|7048[ASWX]|7055A|7070X|8030Y|8050[DEGX]|8063|9001[DIX]|9002X|9003[AX]|9024O|9005X|9007[ATX]|9008[ADIJNTUX]|9010X|9022X|9203A|A570BL|I213|I216X)[);/ ]|TIMXL","device":"smartphone","models":[{"regex":"(?:5022[EDX]|5070D)[);/ ]","model":"One Touch Pop Star"},{"regex":"6044D[);/ ]","model":"One Touch Pop Up"},{"regex":"(?:4015[ATX]|4016A)[);/ ]","model":"One Touch Pop C1"},{"regex":"(?:4015[DN]|4016[DX])[);/ ]","model":"One Touch Pop C1 Dual SIM"},{"regex":"4032[AX][);/ ]","model":"One Touch Pop C2"},{"regex":"4032[DE][);/ ]","model":"One Touch Pop C2 Dual SIM"},{"regex":"(?:7040[AFK]|7041X)[);/ ]","model":"One Touch Pop C7"},{"regex":"(?:7040[DE]|7041D)[);/ ]","model":"One Touch Pop C7 Dual SIM"},{"regex":"4018[ADEFMX][);/ ]","model":"One Touch Pop D1"},{"regex":"4035[ADXY][);/ ]","model":"One Touch Pop D3"},{"regex":"5038[ADEX][);/ ]","model":"One Touch Pop D5"},{"regex":"4045[AX][);/ ]","model":"One Touch Pop 2 4\\""},{"regex":"4045[DE][);/ ]","model":"One Touch Pop 2 4\\" Dual SIM"},{"regex":"5042[AFGWX][);/ ]","model":"One Touch Pop 2 4.5\\""},{"regex":"5042[DE][);/ ]","model":"One Touch Pop 2 4.5\\" Dual SIM"},{"regex":"(?:7043[AY]|7044[AX])[);/ ]","model":"One Touch Pop 2 5\\""},{"regex":"7043[EK][);/ ]","model":"One Touch Pop 2 5\\" Dual SIM"},{"regex":"50[16]5X[);/ ]","model":"One Touch Pop 3"},{"regex":"(?:5015[AE]|5016[AJ]|5065[ADWX]|5116J)[);/ ]","model":"One Touch Pop 3 5\\""},{"regex":"(?:5025[DEG]|5054[ADSTX])[);/ ]","model":"One Touch Pop 3 5.5\\""},{"regex":"5015D[);/ ]","model":"One Touch Pop 3 Dual SIM"},{"regex":"5051[AEJMTWX][);/ ]","model":"One Touch Pop 4"},{"regex":"5051D[);/ ]","model":"One Touch Pop 4 Dual SIM"},{"regex":"5033D[ _]RU","model":"One Touch 5033D"},{"regex":"5095[IKY][);/ ]","model":"One Touch Pop 4S"},{"regex":"5056[ADEGJMTUX][);/ ]","model":"One Touch Pop 4+"},{"regex":"7070X[);/ ]","model":"One Touch Pop 4 6\\""},{"regex":"5057M[);/ ]","model":"One Touch Pop Mirage"},{"regex":"5050[ASXY][);/ ]","model":"One Touch Pop S3"},{"regex":"7045Y[);/ ]","model":"One Touch Pop S7"},{"regex":"6037[BKY][);/ ]","model":"One Touch Idol 2"},{"regex":"5027B[);/ ]","model":"One Touch Dawn"},{"regex":"5024A[);/ ]","model":"1S"},{"regex":"5034D[);/ ]","model":"3L"},{"regex":"7040[RT][);/ ]","model":"One Touch Fierce 2"},{"regex":"5056[NW]","model":"One Touch Fierce 4"},{"regex":"5054[NW]","model":"One Touch Fierce XL"},{"regex":"6016[AX][);/ ]","model":"One Touch Idol 2 mini"},{"regex":"6016[DE][);/ ]","model":"One Touch Idol 2 mini Dual SIM"},{"regex":"6036[AXY][);/ ]","model":"One Touch Idol 2 mini S"},{"regex":"6050[AFY][);/ ]","model":"One Touch Idol 2S"},{"regex":"6039[AHJKY][);/ ]|idol3","model":"One Touch Idol 3"},{"regex":"6045[BFIKOY][);/ ]","model":"One Touch Idol 3 5.5\\""},{"regex":"6055[ABDHIKPUYZ][);/ ]","model":"One Touch Idol 4"},{"regex":"6070K[);/ ]","model":"One Touch Idol 4S"},{"regex":"6058[ADX][);/ ]","model":"One Touch Idol 5"},{"regex":"6060S[);/ ]","model":"One Touch Idol 5S"},{"regex":"6043[AD][);/ ]","model":"One Touch Idol X+"},{"regex":"8030Y[);/ ]","model":"One Touch Hero 2"},{"regex":"7055A[);/ ]","model":"One Touch Hero 2C"},{"regex":"5065N[);/ ]","model":"TRU"},{"regex":"5056I","model":"One Touch Optus X Smart"},{"regex":"A570BL","model":"One Touch Pixi Avion LTE"},{"regex":"4024[DEX][);/ ]","model":"One Touch Pixi First"},{"regex":"4014D[);/ ]","model":"One Touch Pixi 2"},{"regex":"4009[AFIKMSX][);/ ]","model":"One Touch Pixi 3 3.5\\""},{"regex":"4009[DE][);/ ]","model":"One Touch Pixi 3 3.5\\" Dual SIM"},{"regex":"(?:4003[AJ]|4013[DEJKMX]|4014[AEKMX]|4114E)[);/ ]","model":"One Touch Pixi 3 4\\""},{"regex":"(?:4027[ADNX]|4028[AEJS]|5019D)[);/ ]","model":"One Touch Pixi 3 4.5\\""},{"regex":"5017[ABDEOX][);/ ]","model":"One Touch Pixi 3 4.5\\" 4G"},{"regex":"9002X[);/ ]","model":"One Touch Pixi 3 7\\"","device":"phablet"},{"regex":"9007A[);/ ]","model":"One Touch Pixi 3 7\\"","device":"tablet"},{"regex":"9007[TX][);/ ]","model":"One Touch Pixi 3 7\\" 4G","device":"tablet"},{"regex":"9022X[);/ ]","model":"One Touch Pixi 3 8\\"","device":"phablet"},{"regex":"9010X[);/ ]","model":"One Touch Pixi 3 10\\"","device":"tablet"},{"regex":"4017[ADEFSX][);/ ]","model":"One Touch Pixi 4 3.5\\""},{"regex":"4034[ADEFGX][);/ ]","model":"One Touch Pixi 4 4\\""},{"regex":"4060[SW][);/ ]","model":"One Touch Pixi 4 4.5\\""},{"regex":"5023[EF][);/ ]","model":"One Touch Pixi 4 Plus Power"},{"regex":"5010[DEGSUX][);/ ]","model":"One Touch Pixi 4 5\\" 3G"},{"regex":"5012[DFG][);/ ]","model":"One Touch Pixi 4 5.5\\" 3G"},{"regex":"(?:5045[ADFGIJTXY]|5145A)[);/ ]","model":"One Touch Pixi 4 5\\" 4G"},{"regex":"5098O[);/ ]","model":"One Touch Pixi Theatre"},{"regex":"5046[ADIJTUY][);/ ]","model":"A3"},{"regex":"(?:5011A|5049[EG])[);/ ]","model":"A3 Plus"},{"regex":"9008[ADIJNTUX]","model":"A3 XL"},{"regex":"9203A[);/ ]","model":"A3 7\\" 3G","device":"tablet"},{"regex":"5085[BQ][);/ ]","model":"A5"},{"regex":"5085[ADHIJY][);/ ]","model":"A5 LED"},{"regex":"5085N[);/ ]","model":"A5 Max LED"},{"regex":"5090[AIY][);/ ]","model":"A7"},{"regex":"5046[GS][);/ ]","model":"A30"},{"regex":"5049S[);/ ]","model":"A30 Plus"},{"regex":"5049Z[);/ ]","model":"A30 Fierce"},{"regex":"5085[GO]","model":"A50"},{"regex":"5049W[);/ ]","model":"Revvl"},{"regex":"8050[GX][);/ ]","model":"One Touch Pixi 4 6\\" 3G"},{"regex":"8050[ED][);/ ]","model":"One Touch Pixi 4 6\\" 3G Dual SIM"},{"regex":"(?:5098S|9001[DIX])[);/ ]","model":"One Touch Pixi 4 6\\" 4G"},{"regex":"9003[AX][);/ ]","model":"One Touch Pixi 4 7\\" 3G","device":"tablet"},{"regex":"8063[);/ ]","model":"One Touch Pixi 4 7\\" WiFi","device":"tablet"},{"regex":"9024O[);/ ]","model":"One Touch Pixi 5","device":"tablet"},{"regex":"I216X[);/ ]","model":"One Touch Pixi 7","device":"tablet"},{"regex":"I213[);/ ]","model":"One Touch Pixi 7","device":"tablet"},{"regex":"9005X[);/ ]","model":"One Touch Pixi 8","device":"tablet"},{"regex":"P320X","model":"One Touch POP 8","device":"tablet"},{"regex":"P310X","model":"One Touch POP 7","device":"tablet"},{"regex":"7048[ASWX][);/ ]","model":"One Touch Go Play"},{"regex":"(?:Alcatel-)?OT-802[);/ ]","model":"Wave"},{"regex":"ALCATEL_ONE_TOUCH_768T[);/ ]","model":"Island"},{"regex":"(?:TRIBE_)?3075A[);/ ]","model":"One Touch Tribe"},{"regex":"ALCATEL_one_touch_585[);/ ]","model":"One Touch 585"},{"regex":"ALCATEL_ONE_TOUCH_838[);/ ]","model":"One Touch 838"},{"regex":"ALCATEL_one_touch_813d[);/ ]","model":"One Touch 813D"},{"regex":"ALCATEL_one_touch_813[);/ ]","model":"One Touch 813"},{"regex":"OT871A","model":"One Touch 871A"},{"regex":"(?:Alcatel[ _])?One[ _]?Touch[ _]((?:T[0-9]+|TAB[^/;]+|EVO[78](?:HD)?)) Build","device":"tablet","model":"One Touch $1"},{"regex":"(?:Alcatel[ _])?One[ _]?Touch([^/;]*) Build","model":"One Touch$1"},{"regex":"(?:Alcatel[ _])?One[ _]?Touch([^/;\\\\)]*)\\\\)","model":"One Touch$1"},{"regex":"5080[ADFQUX][);/ ]","model":"Shine Lite"},{"regex":"TIMXL","model":"TIM XL"},{"regex":"5085C","model":"PulseMix"},{"regex":"4049[DEGMX][);/ ]","model":"U3"},{"regex":"5044[ADIKOPTY][);/ ]","model":"U5"},{"regex":"4047[DFXN][);/ ]","model":"U5 3G"},{"regex":"5047[DIUY][);/ ]","model":"U5 HD"},{"regex":"4047G[);/ ]","model":"U5 Lite"},{"regex":"4047A[);/ ]","model":"U5 Plus"},{"regex":"4044[CV][);/ ]","model":"Quick Flip"},{"regex":"4044O[);/ ]","model":"Cingular Flip 2"},{"regex":"4044[MNT][);/ ]","model":"Go Flip"},{"regex":"5044[GS][);/ ]","model":"U50"},{"regex":"5033[AX][);/ ]","model":"1"},{"regex":"5009[AD][);/ ]","model":"1C"},{"regex":"5059[ADXYZ][);/ ]","model":"1X"},{"regex":"5052[AD][);/ ]","model":"3"},{"regex":"5099[ADYUI][);/ ]","model":"3V"},{"regex":"5026[AD][);/ ]","model":"3C"},{"regex":"5058[AIY][);/ ]","model":"3X"},{"regex":"5086[ADY][);/ ]","model":"5"},{"regex":"6062W[);/ ]","model":"7"},{"regex":"Alcatel UP","model":""},{"regex":"(?:ALCATEL_)?A383G[);/ ]","model":"Big Easy Plus"},{"regex":"5041C","model":"TETRA"},{"regex":"ALCATEL([^/;]+) Build","model":"$1"},{"regex":"ALCATEL[ \\\\-]?([^/;\\\\)]+)","model":"$1"},{"regex":"ALCATEL_([^/;\\\\)]+)","model":"$1"},{"regex":"Alc([a-z0-9]+)","model":"$1"}]},"Allview":{"regex":"Allview|A4You|A5_(?:Easy(?:_TM)?|Ready(?:_TM)?|Quad|Quad_Plus_TM)|A[56789]_Lite|A5Smiley|A6_Duo|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_Style|7_Xtreme|6_Qmax|4_Quad)|V(?:[13]_Viper|1_Viper_I|2_Viper_(?:E|I|S|X|X_plus|Xe))|X(?:[1234]_Soul_Xtreme|[12345]_Soul|3_Soul_Lite|[24]Soul_Mini(?:_TM)?|4_Soul_Mini_S(?:_TM)?|[234]_Soul_Style(?:_TM)?|2_Soul_Style_Plus|2_Twin)|Viva_H801","device":"smartphone","models":[{"regex":"A4You","model":"A4 You"},{"regex":"AX2_Frenzy","model":"AX2 Frenzy","device":"tablet"},{"regex":"AX4Nano","model":"AX4 Nano"},{"regex":"AX5NanoQ","model":"AX5 Nano Q","device":"tablet"},{"regex":"C6_Duo","model":"C6 Duo"},{"regex":"E([23])_Living","model":"E$1 Living"},{"regex":"E3_Jump","model":"E3 Jump"},{"regex":"E3_Sign","model":"E3 Sign"},{"regex":"E4_Lite","model":"E4 Lite"},{"regex":"M9_Connect","model":"M9 Connect"},{"regex":"P43_Easy","model":"P43 Easy"},{"regex":"P(41|[458])_eMagic(?:_TM)?","model":"P$1 eMagic"},{"regex":"P([567])_Lite(?:_TM)?","model":"P$1 Lite"},{"regex":"P6_plus","model":"P6 Plus"},{"regex":"P6_Qmax","model":"P6 Qmax"},{"regex":"P([45678])_Pro","model":"P$1 Pro"},{"regex":"P4_Quad","model":"P4 Quad"},{"regex":"P9_Energy_Lite_2017","model":"P9 Energy Lite (2017)"},{"regex":"P9_Energy_S","model":"P9 Energy S"},{"regex":"P([69])_Energy_Lite","model":"P$1 Energy Lite"},{"regex":"P8_Energy_PRO","model":"P8 Energy Pro"},{"regex":"P([689])_Energy_mini(?:_TM)?","model":"P$1 Energy Mini"},{"regex":"P([5689])_Energy","model":"P$1 Energy"},{"regex":"P7_Seon","model":"P7 Seon"},{"regex":"P7_Xtreme","model":"P7 Xtreme"},{"regex":"P([589])(?:_)?Life(?:_TM)?","model":"P$1 Life"},{"regex":"P10_Style","model":"P10 Style"},{"regex":"V([12])_Viper_I4G(?:_TM)?","model":"V$1 Viper I 4G"},{"regex":"V1_Viper_I","model":"V1 Viper I"},{"regex":"V([13])_Viper","model":"V$1 Viper"},{"regex":"V2_Viper_X_plus","model":"V2 Viper X Plus"},{"regex":"V2_Viper_(E|I|S|X(?:e)?)","model":"V2 Viper $1"},{"regex":"X([124])_Soul_Xtreme","model":"X$1 Soul Xtreme"},{"regex":"X4_Soul_Infinity_(L|N|S|Z)","model":"X4 Soul Infinity $1"},{"regex":"X([34])_Soul_Lite","model":"X$1 Soul Lite"},{"regex":"X4_Soul_Mini_S(?:_TM)?","model":"X4 Soul Mini S"},{"regex":"X([2345])_Soul_Mini(?:_TM)?","model":"X$1 Soul Mini"},{"regex":"X3_Soul_PLUS","model":"X3 Soul Plus"},{"regex":"X([35])_Soul_Pro","model":"X$1 Soul Pro"},{"regex":"X2_Soul_Style_Plus","model":"X2 Soul Style Plus"},{"regex":"X([234])_Soul_Style(?:_TM)?","model":"X$1 Soul Style"},{"regex":"X([12345])_Soul","model":"X$1 Soul"},{"regex":"X2_Twin","model":"X2 Twin"},{"regex":"A5_Easy(?:_TM)?","model":"A5 Easy"},{"regex":"A([56789])_Lite","model":"A$1 Lite"},{"regex":"A5_Ready(?:_TM)?","model":"A5 Ready"},{"regex":"A5Smiley","model":"A5 Smiley"},{"regex":"A5_Quad_Plus_TM","model":"A5 Quad Plus"},{"regex":"A5_Quad","model":"A5 Quad"},{"regex":"A6_Duo","model":"A6 Duo"},{"regex":"Impera S","model":"Impera S"},{"regex":"ALLVIEW P4i","model":"AllDro P4"},{"regex":"Allview_P2","model":"AllDro"},{"regex":"AllviewCityPlus","device":"tablet","model":"City Plus"},{"regex":"AllviewCity","device":"tablet","model":"City"},{"regex":"AllviewAX2Frenzy","device":"tablet","model":"AX2 Frenzy"},{"regex":"Allview2SpeedDuo","device":"tablet","model":"Alldro 2 Speed Duo"},{"regex":"Allview3SpeedQuad","device":"tablet","model":"Alldro 3 Speed Quad"},{"regex":"Viva_H801","device":"tablet","model":"Viva H801"},{"regex":"ALLVIEW ?SPEEDI","device":"tablet","model":"Speed I"},{"regex":"ALLVIEW ?SPEED","device":"tablet","model":"Speed"},{"regex":"ALLVIEWSPEED","device":"tablet","model":"Speed"},{"regex":"AX4Nano","device":"tablet","model":"AX4 Nano"},{"regex":"ALLVIEW_TX1_Quasar","device":"tablet","model":"TX1 Quasar"},{"regex":"Allview[ _-]([^;/]+) Build","model":"$1"},{"regex":"Allview[ _-]([^;/]+)[;/)]","model":"$1"}]},"Allwinner":{"regex":"QUAD-CORE A64 p3","device":"tablet","model":"A64 QUAD-CORE p3"},"altron":{"regex":"AL-555|GI-626","device":"smartphone","models":[{"regex":"AL-555","model":"AL-555"},{"regex":"GI-626","device":"phablet","model":"GI-626"}]},"AMGOO":{"regex":"AM(350|355|40[257]|41[05]|450|50[89]|52[037]|51[58]|53[05])","device":"smartphone","models":[{"regex":"AM350","model":"Jack Pro"},{"regex":"AM(355|407)","model":"Tigo"},{"regex":"AM402","model":"Pronto"},{"regex":"AM410","model":"Unico"},{"regex":"AM450","model":"Swift"},{"regex":"AM508","model":"Fuego"},{"regex":"AM509","model":"Uno"},{"regex":"AM515","model":"D1"},{"regex":"AM518","model":"C1"},{"regex":"AM520","model":"Pro"},{"regex":"AM523","model":"Plus"},{"regex":"AM527","model":"Geo"},{"regex":"AM530","model":"A1"},{"regex":"AM535","model":"P1"},{"regex":"AM([0-9]{3})","model":"AM$1"}]},"Amoi":{"regex":"Amoi|A862W","device":"smartphone","models":[{"regex":"A862W","model":"A862W"},{"regex":"Amoi[\\\\- /]([a-z0-9]+)","model":"$1"},{"regex":"Amoisonic-([a-z0-9]+)","model":"$1"}]},"Ainol":{"regex":"Numy|novo[0-9]","device":"tablet","models":[{"regex":"Numy 3G AX1","model":"Novo 7 Numy AX1 3G"},{"regex":"Numy_3G_AX3","model":"Numy AX3 Sword"},{"regex":"Numy_3G_BW1","model":"Numy 3G Talos 2"},{"regex":"Numy[ _]([^;/]+) Build","model":"Numy $1"},{"regex":"Novo([0-9]+)[ \\\\-]([^;/]+) Build","model":"Novo $1 $2"}]},"Archos":{"regex":"(?:YL-)?Archos","device":"smartphone","models":[{"regex":"Archos (Oxygen 63)[);/ ]","model":"$1"},{"regex":"Archos ?5[);/ ]","device":"tablet","model":"5"},{"regex":"(?:YL-)?Archos ([^/;]*(?:PAD)[^/;]*) Build","device":"tablet","model":"$1"},{"regex":"Archos ((?:[789]|10)[0-9]?[a-z]* ?(?:G9|G10|Helium|Titanium|Cobalt|Platinum|Xenon|Carbon|Neon|XS|IT)[^/;]*) Build","device":"tablet","model":"$1"},{"regex":"(?:YL-)?Archos ([a-z0-9 ]+) Build","model":"$1"},{"regex":"(?:YL-)?Archos ([a-z0-9]+)","model":"$1"}]},"Axxion":{"regex":"Axxion ATAB-[0-9]+[);/ ]","device":"tablet","models":[{"regex":"Axxion ATAB-([0-9]+)[);/ ]","model":"ATAB-$1"}]},"MEU":{"regex":"MEU ([a-z0-9]+) Build","device":"smartphone","model":"$1"},"Arnova":{"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","device":"tablet","models":[{"regex":"ARCHM901","model":"M901"},{"regex":"AN7CG2","model":"7c G2"},{"regex":"AN7G2I|AN7G2|AN7G2DTE","model":"7 G2"},{"regex":"AN7G3","model":"7 G3"},{"regex":"AN7BG3","model":"7b G3"},{"regex":"AN7CG3","model":"7c G3"},{"regex":"AN7DG3-CP","model":"Childpad"},{"regex":"AN7DG3","model":"7d G3"},{"regex":"AN7FG3","model":"7f G3"},{"regex":"AN7HG3","model":"7h G3"},{"regex":"A80KSC","model":"8"},{"regex":"AN8G2","model":"8 G2"},{"regex":"AN8G3","model":"8 G3"},{"regex":"AN8BG3","model":"8b G3"},{"regex":"AN8CG3","model":"8c G3"},{"regex":"AN9G2I","model":"9i G2"},{"regex":"AN9G2","model":"9 G2"},{"regex":"AN9G3","model":"9 G3"},{"regex":"A101B2|A101C|AN10G2","model":"10 G2"},{"regex":"A101B","model":"10"},{"regex":"AN10BG2|AN10BG2DT|AN10BG2I","model":"10b G2"},{"regex":"AN10BG3|AN10BG3DT|AN10BG3-LZ","model":"10b G3"},{"regex":"AN10CG3","model":"10c G3"},{"regex":"AN10DG3","model":"10d G3"},{"regex":"ARNOVA 90G3","model":"90 G3"},{"regex":"ARNOVA 90 G4","model":"90 G4"},{"regex":"ARNOVA 97G4","model":"97 G4"},{"regex":"ARNOVA 101 G4","model":"101 G4"},{"regex":"Arnova ([^/;]*) Build","model":"$1"}]},"ARRIS":{"regex":"ARRIS","device":"tv","models":[{"regex":"ARRIS[,;] ([^),;/]+)","model":"$1"}]},"Ask":{"regex":"ASK ","device":"smartphone","models":[{"regex":"SP618","model":"SP618"}]},"ANS":{"regex":"UL40 Build","device":"smartphone","model":"UL40"},"Assistant":{"regex":"(AS[-_](?:543[1-6]|44[12]1|541[12]|54[23]1|6431|401L)|AP-(?:721N|7[25]7G|106|941))[;/)_ ]","device":"smartphone","models":[{"regex":"AS[-_]401L ","model":"Asper"},{"regex":"AS-5432 ","model":"Agio"},{"regex":"AS-5433 Secret","model":"Secret"},{"regex":"AS-5433 ","model":"Max Secret"},{"regex":"AS-5421","model":"Surf"},{"regex":"AS-44[12]1","model":"Unami"},{"regex":"AS-5431","model":"Prima"},{"regex":"AS-5435","model":"Shine"},{"regex":"AS-5436[ _]","model":"Grid"},{"regex":"AS-6431","model":"Rider"},{"regex":"AS-5411[_ ]","model":"Max Ritm"},{"regex":"AS-5412 Max","model":"AS-5412 Max"},{"regex":"AP-721N","model":"AP-721N Force","device":"tablet"},{"regex":"AP-941","model":"AP-941","device":"tablet"},{"regex":"AP-106","model":"AP-106 Force","device":"tablet"},{"regex":"(AP-7[25]7G)[/;) ]","device":"tablet","model":"$1"}]},"Ark":{"regex":"(ARK[_ -])?Benefit[_ -]([^/;]*) Build|EDGE A5HD|ICON (R40\\\\+|R45)|Impulse[ _](P[12])|Wizard_1[/;) ]","device":"smartphone","models":[{"regex":"(?:ARK[_ -])?Benefit[_ -]([^/;]*) Build","model":"Benefit $1"},{"regex":"Impulse[ _]P1\\\\+","model":"Impulse P1 Plus"},{"regex":"Impulse[ _](P[12])","model":"Impulse $1"},{"regex":"EDGE (A5HD)","model":"Edge $1"},{"regex":"ICON (R40\\\\+|R45)","model":"Icon $1"},{"regex":"Wizard_1","model":"Wizard 1"}]},"Garmin-Asus":{"regex":"Garmin-Asus|Garminfone","device":"smartphone","models":[{"regex":"Garminfone[ \\\\-_]([^;/]*)Build","model":"Garminfone $1"},{"regex":"Garmin-Asus[ \\\\-_]([^;/]+)Build","model":"$1"},{"regex":"Garmin-Asus[ \\\\-_]([^;/]+)[\\\\)/]","model":"$1"}]},"Asus":{"regex":"Asus|Transformer|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)[);/ ]|ZB(631|602|633|55[135]|50[01])KL|ZC(55[134]|520|600)KL|ZA550KL|ZE(520|620|55[2345])KL|ZD55[23]KL|ZS6[23]0KL|ZB(500KG|601KL)","device":"smartphone","models":[{"regex":"ME171[);/ ]","model":"Eee Pad MeMO 171","device":"tablet"},{"regex":"ME172V","model":"MeMO Pad","device":"tablet"},{"regex":"ME302C[);/ ]","model":"MeMO Pad FHD 10","device":"tablet"},{"regex":"ME302KL[);/ ]","model":"MeMO Pad FHD 10 LTE","device":"tablet"},{"regex":"ME301T[);/ ]","model":"MeMO Pad Smart 10","device":"tablet"},{"regex":"X Pad 10 LTE[);/ ]","model":"X Pad 10 LTE","device":"tablet"},{"regex":"(?:K01[3A]|K007|K00R)[);/ ]|MeMO Pad 7","model":"MeMO Pad 7","device":"tablet"},{"regex":"K01E[);/ ]","model":"MeMO Pad 10 ME103K","device":"tablet"},{"regex":"K00U|ME173X[);/ ]","model":"MeMO Pad HD 7","device":"tablet"},{"regex":"(?:K011|K00L)[);/ ]","model":"MeMO Pad 8","device":"tablet"},{"regex":"K014[);/ ]","model":"MeMO Pad 8.9","device":"tablet"},{"regex":"K00S[);/ ]","model":"MeMO Pad HD 7 Dual SIM","device":"tablet"},{"regex":"K00F[);/ ]","model":"MeMO Pad 10","device":"tablet"},{"regex":"K00C[);/ ]","model":"Transformer Pad TF701T","device":"tablet"},{"regex":"K010[);/ ]","model":"Transformer Pad TF103C","device":"tablet"},{"regex":"K018[);/ ]","model":"Transformer Pad TF103CG","device":"tablet"},{"regex":"TF300T[);/ ]","model":"Transformer Pad TF300T","device":"tablet"},{"regex":"K01B[);/ ]","model":"Transformer Pad TF303K","device":"tablet"},{"regex":"Slider SL101","model":"Eee Pad Slider SL101","device":"tablet"},{"regex":"P01[YZ]","model":"ZenPad C 7.0","device":"tablet"},{"regex":"P008 Build","model":"ZenPad Z8","device":"tablet"},{"regex":"P001","model":"ZenPad Z10","device":"tablet"},{"regex":"(?:ASUS_)?P00J","model":"ZenPad Z8s","device":"tablet"},{"regex":"P01[VW]","model":"ZenPad 7.0","device":"tablet"},{"regex":"P024 Build|P00A","model":"ZenPad 8.0","device":"tablet"},{"regex":"P01MA(?: Build|\\\\))|P01M(?: Build|\\\\))","model":"ZenPad S 8.0","device":"tablet"},{"regex":"P027","model":"ZenPad 3S 10","device":"tablet"},{"regex":"(?:ASUS_)?P00I","model":"ZenPad 3S 10 LTE","device":"tablet"},{"regex":"(?:ASUS_)?P00C|P02[138]|P00L|P01T_1","model":"ZenPad 10","device":"tablet"},{"regex":"ME371MG[);/ ]","model":"Fonepad","device":"phablet"},{"regex":"K00G[);/ ]","model":"Fonepad Note 6","device":"phablet"},{"regex":"(?:K012|K00E)[);/ ]","model":"Fonepad 7","device":"phablet"},{"regex":"K00Z[);/ ]","model":"Fonepad 7 Dual SIM","device":"phablet"},{"regex":"K016[);/ ]","model":"Fonepad 8","device":"phablet"},{"regex":"(?:ASUS_)?T00N","model":"PadFone S"},{"regex":"(?:ASUS_)?A002(A)?","model":"ZenFone AR"},{"regex":"(?:ASUS_)?A006","model":"ZenFone V"},{"regex":"(?:ASUS_)?A009","model":"ZenFone V Live"},{"regex":"(?:ASUS_)?Z007","model":"ZenFone C"},{"regex":"(?:ASUS_)?(X00PD|ZB555KL)","model":"ZenFone Max M1"},{"regex":"(?:ASUS_)?(ZB601KL)","model":"ZenFone Max Pro M1"},{"regex":"(?:ASUS_)?(X01AD|ZB633KL)","model":"ZenFone Max M2"},{"regex":"(?:ASUS_)?(?:Z00[AD]|Z008D|Z008|Z00AD[AB]?)","model":"ZenFone 2"},{"regex":"(?:ASUS_)?A007|ZA550KL|ZB553KL|ZB501KL","model":"ZenFone Live"},{"regex":"(?:ASUS_)?X00RD","model":"ZenFone Live L1"},{"regex":"(?:ASUS_)Z00YD","model":"Live"},{"regex":"(?:ASUS_)?(?:Z00[ERLMT]D|Z011D)","model":"ZenFone 2 Laser"},{"regex":"(?:ASUS_)?(?:T00[IQ1]|Z01KD)","model":"ZenFone 4"},{"regex":"(?:ASUS_)?(?:T00[JF]|X00QD|X00QSA|ZE620KL)","model":"ZenFone 5"},{"regex":"(?:ASUS_)?T00P","model":"ZenFone 5 LTE"},{"regex":"(?:ASUS_)?(?:T00K|X017DA|X017D|ZC600KL)","model":"ZenFone 5 Lite"},{"regex":"(?:ASUS_)?(?:Z01RD|ZS620KL)","model":"ZenFone 5Z"},{"regex":"(?:ASUS_)?(?:T00G|Z002|ZS630KL)","model":"ZenFone 6"},{"regex":"(?:ASUS_)?Z010D","model":"ZenFone Max"},{"regex":"(?:ASUS_)?X018D","model":"ZenFone Max Plus M1"},{"regex":"(?:ASUS_)?X00TD","model":"ZenFone Max Pro M1"},{"regex":"(?:ASUS_)?X01BDA|ZB631KL","model":"ZenFone Max Pro M2"},{"regex":"(?:ASUS_)?X014D","model":"ZenFone Go Plus"},{"regex":"(?:ASUS_)?(L001|X00[7AB]D|X009[DB][DA]|Z00[SV]D|ZB500K[LG]|ZB551KL)","model":"ZenFone Go"},{"regex":"(?:ASUS_)?X013D","model":"ZenFone Go Life"},{"regex":"(?:ASUS_)?(X003)","model":"ZenFone Pegasus"},{"regex":"(?:ASUS_)?X005","model":"ZenFone Pegasus 5000"},{"regex":"(?:ASUS_)?X550","model":"ZenFone Pegasus 2 Plus"},{"regex":"(?:ASUS_)?(X00GD)","model":"ZenFone Pegasus 3S Max"},{"regex":"(?:ASUS_)?(X008)","model":"ZenFone 3 Pegasus"},{"regex":"(?:ASUS_)?(ZE553KL|Z01HD)","model":"ZenFone 3 Zoom"},{"regex":"(?:ASUS_)?Z00UD","model":"ZenFone Selfie"},{"regex":"(?:ASUS_)?(Z016[DS]|Z01FD)","model":"ZenFone 3 Deluxe"},{"regex":"(?:ASUS_)?(Z017DA|ZE520KL|ZE552KL|Z017D|Z012(D|S))","model":"ZenFone 3"},{"regex":"(?:ASUS_)?Z01B[DS]|ZC551KL","model":"ZenFone 3 Laser"},{"regex":"(?:ASUS_)?X00DD|ZC553KL","model":"ZenFone 3 Max"},{"regex":"(?:ASUS_)?A001","model":"ZenFone 3 Ultra"},{"regex":"(?:ASUS_)?(X00LDA|Z01MD)","model":"ZenFone 4 Selfie"},{"regex":"(?:ASUS_)?(?:X00LD|Z01KS|Z01KDA|ZE554KL)","model":"ZenFone 4"},{"regex":"(?:ASUS_)?X00[HIK]D|ZC554KL|ZC520KL","model":"ZenFone 4 Max"},{"regex":"(?:ASUS_)?X015D","model":"ZenFone 4 Max Plus"},{"regex":"ZD552KL","model":"ZenFone 4 Selfie Pro"},{"regex":"ZD553KL","model":"ZenFone 4 Selfie"},{"regex":"(?:ASUS_)?Z01GD","model":"ZenFone 4 Pro"},{"regex":"(?:ASUS_)?ZB602KL","model":"ZenFone Max Pro"},{"regex":"(?:ASUS_)?Z00XS","model":"ZenFone Zoom"},{"regex":"(?:ASUS_)?Z01QD","model":"ROG Phone"},{"regex":"(?:ASUS_)?I001DA","model":"ROG Phone 2"},{"regex":"Asus(?:-|;)?([a-z0-9]+)","model":"$1"},{"regex":"(PadFone(?: [^;/]+)?) Build","model":"$1"},{"regex":"(PadFone(?: [a-z0-9]+)?)","model":"$1"},{"regex":"(?:Asus|Transformer) ((?:Pad |Prime )?TF[0-9a-z]+)","device":"tablet","model":"Transformer $1"},{"regex":"Chromebook Flip C100PA","device":"tablet","model":"Chromebook Flip C100PA"}]},"Audiovox":{"regex":"Audiovox|CDM|UTS(?:TARCOM)?\\\\-|audio[a-z0-9\\\\-]+","device":"smartphone","models":[{"regex":"Audiovox[_\\\\-]([a-z0-9\\\\-]+)","model":"$1"},{"regex":"CDM(?:-)?([a-z0-9]+)","model":"CDM-$1"},{"regex":"UTS(?:TARCOM)?-([a-z0-9\\\\-]+)","model":"CDM-$1"},{"regex":"audio([a-z0-9\\\\-]+)","model":"CDM-$1"}]},"AVH":{"regex":"Excer_10_PRO","device":"smartphone","models":[{"regex":"Excer_10_PRO","device":"tablet","model":"Excer 10 Pro"}]},"Avvio":{"regex":"Avvio[ _]?([a-z0-9\\\\-]+)","device":"smartphone","models":[{"regex":"Avvio[ _]PAD","model":"PAD","device":"tablet"},{"regex":"Avvio[ _]?([a-z0-9\\\\-]+)","model":"$1"}]},"Azumi Mobile":{"regex":"Azumi[_ ]","device":"smartphone","models":[{"regex":"Azumi[_ ]([^/;]+) Build","model":"$1"},{"regex":"Azumi[_ ]([a-z0-9_]+)","model":"$1"}]},"Barnes & Noble":{"regex":"Nook|BN[TR]V[0-9]+","device":"tablet","models":[{"regex":"Nook([a-z0-9]+)","model":"Nook $1"},{"regex":"Nook[ _]([^/;]+)[ _]Build","model":"Nook $1"},{"regex":"(BN[TR]V[0-9]+)","model":"Nook $1"}]},"BGH":{"regex":"(?!Positivo )BGH ([^/;\\\\)]+)(?: Build|\\\\))","device":"smartphone","models":[{"regex":"Y([17]00|2[01]0|1010)","device":"tablet","model":"Y$1"},{"regex":"BGH (\\\\+Simple|Mini)","device":"tablet","model":"$1"},{"regex":"Y710 KIDS","device":"tablet","model":"Y710 Kids"},{"regex":"JOY X2","model":"Joy X2"},{"regex":"BGH ([^/;\\\\)]+)(?: Build|\\\\))","model":"$1"}]},"Bitel":{"regex":"Bitel[ _-]([^/;]+) Build|B(840[5789]|841[0456]|850[2346]|860[146]|9401|950[12345])","device":"smartphone","models":[{"regex":"(B(840[5789]|841[0456]|850[2346]|860[146]|9401|950[12345]))","model":"$1"},{"regex":"Bitel[ _-]([^/;]+) Build","model":"$1"}]},"Blu":{"regex":"BLU |(?:blu|Dash)[ _]([^/;]+) Build|Studio (5.5|View XL|Mega|C 8\\\\+8|C HD|C|G|Selfie LTE|Touch|M HD|M5 Plus|J[1258]|X|X8 HD)|Advance (4.0 ?[LM]|5.0(?: HD)?|A4)|ENERGY (DIAMOND|XL)|LIFE XL|Dash XL|PURE XL|Life One X2|GRAND 5.5 HD|R1 (HD|PLUS)|Tank Xtreme 5.0|Tank Xtreme Pro","device":"smartphone","models":[{"regex":"Advance (4.0 ?[LM]|4.0|5.0(?: HD)?|A4)","model":"Advance $1"},{"regex":"Studio (5.0 C|5.5|View XL|Mega|C 8\\\\+8|C HD|C|G|Touch|M HD|M5 Plus|J[1258]|X|X8 HD)","model":"Studio $1"},{"regex":"STUDIO SELFIE LTE","model":"Studio Selfie LTE"},{"regex":"STUDIO ONE","model":"Studio One"},{"regex":"STUDIO SELFIE (2|LTE)","model":"Studio Selfie $1"},{"regex":"ENERGY DIAMOND","model":"Energy Diamond"},{"regex":"ENERGY XL","model":"Energy XL"},{"regex":"ENERGY X PLUS 2","model":"Energy X Plus 2"},{"regex":"ENERGY X PLUS","model":"Energy X Plus"},{"regex":"LIFE XL","model":"Life XL"},{"regex":"Dash XL","model":"Dash XL"},{"regex":"PURE XL","model":"Pure XL"},{"regex":"Life One X2","model":"Life One X2"},{"regex":"LIFE ONE","model":"Life One"},{"regex":"NEO X PLUS","model":"Neo X Plus"},{"regex":"NEO (XL|X)","model":"Neo $1"},{"regex":"GRAND 5.5 HD","model":"Grand 5.5 HD"},{"regex":"Grand X LTE","model":"Grand X LTE"},{"regex":"R1 HD","model":"R1 HD"},{"regex":"R1 PLUS","model":"R1 Plus"},{"regex":"Tank Xtreme 5.0","model":"Tank Xtreme 5.0"},{"regex":"Tank Xtreme Pro","model":"Tank Xtreme Pro"},{"regex":"VIVO AIR LTE","model":"Vivo Air LTE"},{"regex":"DASH[ _]([^/;]+) Build","model":"Dash $1"},{"regex":"DASH (5.0|L|M|X2|X)","model":"Dash $1"},{"regex":"blu[ _]([^/;]+) Build","model":"$1"}]},"Bluegood":{"regex":"BLUEGOOD","device":"smartphone","models":[{"regex":"V6","model":"V6"}]},"Blackview":{"regex":"(BV([2456789]000|(5[58]|9[56])00)(?:[ _](?:PRO))?|(P10000(?:[ _](?:PRO))?)|omega[ _]pro|Alife[ _][PS]1|Heatwave|DM550|BV9700Pro)","device":"smartphone","models":[{"regex":"(BV6000S)","model":"$1"},{"regex":"(BV9700)Pro","model":"$1 Pro"},{"regex":"BV9000Pro-F","model":"BV9000 Pro F"},{"regex":"(BV([48]000|9[56]00))Pro","model":"$1 Pro"},{"regex":"(BV([2456789]000|(5[58]|95)00)(?:[ _](?:PRO))?)","model":"$1"},{"regex":"(P10000(?:[ _](?:PRO))?)","model":"$1"},{"regex":"omega[ _]pro","model":"Omega Pro"},{"regex":"(Alife[ _][PS]1|DM550|Heatwave)","model":"$1"}]},"Bluboo":{"regex":"Bluboo|Xfire|Maya Build","device":"smartphone","models":[{"regex":"Maya Build","model":"Maya"},{"regex":"Xfire2","model":"Xfire 2"},{"regex":"Xfire","model":"Xfire"},{"regex":"Bluboo[ _-]?([^;/)]+) Build","model":"$1"},{"regex":"Bluboo[ _-]?([^;/)]+)","model":"$1"}]},"Black Fox":{"regex":"BMM[ _-]?((44[123]D|431D|533D|54[12]S|541[AB]|54[123]D|531[ABD]))[;/) ]","device":"smartphone","models":[{"regex":"BMM443D","model":"B7 Fox+"},{"regex":"BMM442D","model":"B7"},{"regex":"BMM531D","model":"B6"},{"regex":"BMM531A","model":"B5"},{"regex":"BMM541A","model":"B5+"},{"regex":"BMM543D","model":"B4"},{"regex":"BMM441D","model":"B4 Mini"},{"regex":"BMM541B","model":"B4 Mini NFC"},{"regex":"BMM531B","model":"B4 Mini (2019)"},{"regex":"BMM542D","model":"B3+"},{"regex":"BMM541D","model":"B3"},{"regex":"BMM[ _-]?(533D|431D|54[12]S)[;/) ]","model":"BMM $1"}]},"bogo":{"regex":"BO-(FRSP4|LFSPBS5)","device":"smartphone","models":[{"regex":"BO-(FRSP4|LFSPBS5)","model":"$1"}]},"Boway":{"regex":"(?:sprd-)?(BOWAY)","device":"smartphone","models":[{"regex":"BOWAY[ _-]([^/;]+)[ _]Build","model":"$1"},{"regex":"([^/;]+) Build/BOWAY","model":"$1"},{"regex":".*BOWAY[ _-]([^/;]+)/","model":"$1"}]},"Brondi":{"regex":"(?:CENTURION|GLADIATOR| GLORY|LUXURY|SENSUELLE|VICTORY)(?:[ _-]?[2-6])?[);/ ]|Surfing Tab","device":"smartphone","models":[{"regex":"CENTURION(?:[ _-]?([2-6]))?[);/ ]","model":"CENTURION $1"},{"regex":"GLADIATOR(?:[ _-]?([2-6]))?[);/ ]","model":"GLADIATOR $1"},{"regex":"GLORY(?:[ _-]?([2-6]))?[);/ ]","model":"GLORY $1"},{"regex":"LUXURY(?:[ _-]?([2-6]))?[);/ ]","model":"LUXURY $1"},{"regex":"SENSUELLE(?:[ _-]?([2-6]))?[);/ ]","model":"SENSUELLE $1"},{"regex":"VICTORY(?:[ _-]?([2-6]))?[);/ ]","model":"VICTORY $1"},{"regex":"Surfing Tab ([^;/]+) Build","model":"SURFING TAB $1","device":"tablet"},{"regex":"Surfing Tab ([^;/]+)[);/ ]","model":"SURFING TAB $1","device":"tablet"}]},"VGO TEL":{"regex":"Venture V8","device":"smartphone","models":[{"regex":"Venture V8","model":"Venture V8"}]},"Vivo":{"regex":"((?:VIV-|BBG-)?vivo)|V1813BA|V1818T|V1731CA|V1809T|V1813T|V1818A","device":"smartphone","models":[{"regex":"(?:VIV-|BBG-)?vivo[ _]1601 Build","model":"V5"},{"regex":"V1813BA","model":"Z3"},{"regex":"V1809T","model":"X23"},{"regex":"V1818T","model":"Y93"},{"regex":"V1813T","model":"Y97"},{"regex":"V1731CA","model":"Y73"},{"regex":"vivo 1816","model":"Y91i"},{"regex":"vivo 1817","model":"Y91"},{"regex":"V1818A","model":"Y93"},{"regex":"vivo 1812","model":"Y81i"},{"regex":"(?:VIV-|BBG-)?vivo[ _]([^/;]+) Build","model":"$1"},{"regex":"(?:VIV-|BBG-)?vivo[ _]([^);/]+)[);/]+","model":"$1"}]},"Vinsoc":{"regex":"(XA Pro) Build","device":"smartphone","model":"$1"},"Bird":{"regex":"BIRD[\\\\-. _]([^;/]+)","device":"feature phone","models":[{"regex":"BIRD[\\\\-. _]([^;/]+) Build","model":"$1"},{"regex":"BIRD[\\\\-. _]([^;/]+)","model":"$1"}]},"Becker":{"regex":"Becker-([a-z0-9]+)","device":"feature phone","model":"$1"},"Beeline":{"regex":"Beeline","device":"smartphone","models":[{"regex":"Beeline[_ ]Pro[_ ]([26])","model":"Pro $1"},{"regex":"Tab (Fast|Pro)","model":"Tab $1","device":"tablet"},{"regex":"Tab ([0-9])","model":"Tab $1","device":"tablet"},{"regex":"Tab","model":"Tab","device":"tablet"},{"regex":"E700","model":"E700"},{"regex":"Smart2","model":"Smart 2"},{"regex":"Smart ([0-9])","model":"Smart $1"},{"regex":"Smart Dual","model":"Smart Dual"}]},"Beetel":{"regex":"Beetel ([a-z0-9]+)","device":"feature phone","model":"$1"},"BenQ-Siemens":{"regex":"BENQ-SIEMENS - ([a-z0-9]+)","device":"feature phone","model":"$1"},"BenQ":{"regex":"BENQ(?:[ \\\\-])?([a-z0-9]+)","device":"feature phone","model":"$1"},"Blaupunkt":{"regex":"Blaupunkt|Atlantis[_ ](?:1001A|1010A|A10\\\\.G402)|Discovery[_ ](?:111C|1000C|1001A?)|Endeavour[_ ](?:785|101[GLM]|1000|1001|101[03]|1100)|Polaris[_ ]803","device":"tablet","models":[{"regex":"Discovery[_ ]111C","model":"Discovery 111C"},{"regex":"Discovery[_ ]1000C","model":"Discovery 1000C"},{"regex":"Discovery[_ ]1001A","model":"Discovery 1001A"},{"regex":"Discovery[_ ]1001","model":"Discovery 1001"},{"regex":"Endeavour[_ ](101[GLM]|785|100[01]|101[03]|1100)","model":"Endeavour $1"},{"regex":"Polaris[_ ](803)","model":"Polaris $1"},{"regex":"Atlantis[_ ](1001A|1010A|A10\\\\.G402)","model":"Atlantis $1"},{"regex":"Blaupunkt (SL 0[24]|SM 01)","device":"smartphone","model":"$1"}]},"Bmobile":{"regex":"Bmobile[_ ]|AX-?([1-9][0-9]{2,3}[eEO+]?|7OO)","device":"smartphone","models":[{"regex":"AX-?([1-9][0-9]{2,3}[eEO+]?)","model":"AX$1"},{"regex":"AX7OO","model":"AX700"},{"regex":"Bmobile[_ ]([^/;]+) Build","model":"$1"},{"regex":"Bmobile[_ ]([a-z0-9]+)","model":"$1"}]},"bq":{"regex":"Aquaris|bq [^/;]+ Build|BQS-([0-9]{4})|(BQ(ru)?[_ -][0-9]{3,4})","device":"smartphone","models":[{"regex":"BQ(ru)?-(5209L|5044)","model":"Strike LTE"},{"regex":"BQ(S|ru)?-(5070|6040L)","model":"Magic"},{"regex":"BQ-9011(G)?","model":"Vision","device":"tablet"},{"regex":"BQ-8068L","model":"Hornet Plus Pro"},{"regex":"BQ-8067L","model":"Hornet Plus","device":"tablet"},{"regex":"BQ-8052G","model":"BQ-8052G","device":"tablet"},{"regex":"BQ-8041L","model":"Art","device":"tablet"},{"regex":"BQ-7084G","model":"Simple","device":"tablet"},{"regex":"BQ-7061G","model":"Andros","device":"tablet"},{"regex":"BQ-7051G","model":"Elba","device":"tablet"},{"regex":"BQ-7036L","model":"Hornet","device":"tablet"},{"regex":"BQ-7022(G)?","model":"Canion","device":"tablet"},{"regex":"BQ-7021G","model":"Hit","device":"tablet"},{"regex":"BQ-7010G","model":"Max","device":"tablet"},{"regex":"BQ-7006G","model":"Union","device":"tablet"},{"regex":"BQ-7003","model":"Jamaica","device":"tablet"},{"regex":"BQ-6200L|BQ-6000L","model":"Aurora"},{"regex":"BQ(ru)?[ -]6015L","model":"Universe"},{"regex":"BQ-6010G","model":"Practic"},{"regex":"BQ-6001L|BQ-6050","model":"Jumbo"},{"regex":"BQ-5707G","model":"Next Music"},{"regex":"BQ-5702","model":"Spring"},{"regex":"BQ-5700L","model":"Space X"},{"regex":"BQ-5594","model":"Strike Power Max"},{"regex":"BQ-5591","model":"Jeans"},{"regex":"BQ-5522","model":"Next"},{"regex":"BQ(ru)?-5521","model":"Strike Power Max"},{"regex":"BQ-5520L","model":"Silk"},{"regex":"BQ-5519L","model":"Fast Plus"},{"regex":"BQ-5517L","model":"Twin Pro"},{"regex":"BQ-5516L","model":"Twin"},{"regex":"BQS-5515","model":"Wide"},{"regex":"BQ-5515(L)?","model":"Fast"},{"regex":"BQ-5512L|BQ-5528L","model":"Strike Forward"},{"regex":"BQ-5511L","model":"Bliss"},{"regex":"BQ(ru)?-5510","model":"Strike Power Max 4G"},{"regex":"BQ-5508L","model":"Next LTE"},{"regex":"BQ-5507L","model":"Iron Max"},{"regex":"BQ(ru)?-5504","model":"Strike Selfie Max"},{"regex":"BQ(ru)?-5503","model":"Nice 2"},{"regex":"BQS-5502","model":"Hammer"},{"regex":"BQS-5501","model":"Kawasaki"},{"regex":"BQS-5500","model":"Vancouver"},{"regex":"BQ-5500L","model":"Advance"},{"regex":"BQ-5302G","model":"Velvet 2"},{"regex":"BQ-5301","model":"Strike View"},{"regex":"BQ-5300G","model":"Velvet View"},{"regex":"BQ(ru)?-5211|BQS-5020","model":"Strike"},{"regex":"BQ-5206L","model":"Balance"},{"regex":"BQ(ru)?-5204|BQS-5050","model":"Strike Selfie"},{"regex":"BQ(ru)?-5203","model":"Vision"},{"regex":"BQ(ru)?-5202","model":"Space Lite"},{"regex":"BQ(ru)?-5201","model":"Space"},{"regex":"BQ-5082","model":"Sense 2"},{"regex":"BQ-5071","model":"Belief"},{"regex":"BQS-5065|BQ-5340","model":"Choice"},{"regex":"BQ(ru)?-5059|BQ-5514G","model":"Strike Power"},{"regex":"BQ-5058","model":"Strike Power Easy"},{"regex":"BQ(ru)?-5057","model":"Strike 2"},{"regex":"BQ-5056|BQS-5030","model":"Fresh"},{"regex":"BQS-5055","model":"Turbo Plus"},{"regex":"BQ(ru)?-5054","model":"Crystal"},{"regex":"BQ-5052","model":"Sense"},{"regex":"BQ(S)?-5045","model":"Fast"},{"regex":"BQ(ru)?-5037|BQ-5514L","model":"Strike Power 4G"},{"regex":"BQ(ru)?-5035","model":"Velvet"},{"regex":"BQ(ru)?-5033","model":"Shark"},{"regex":"BQ-5032","model":"Element"},{"regex":"BQS-5025","model":"High Way"},{"regex":"BQ(ru)?-5022","model":"Bond"},{"regex":"BQ-5015L","model":"First"},{"regex":"BQ-5012L","model":"Rich"},{"regex":"BQS-5011","model":"Monte Carlo"},{"regex":"BQ-5010G","model":"Spot"},{"regex":"BQS-5010","model":"Prague"},{"regex":"BQ-5009L","model":"Trend"},{"regex":"BQS-500[59]","model":"Sydney"},{"regex":"BQ-5008L","model":"Brave"},{"regex":"BQ-5007L","model":"Iron"},{"regex":"BQS-5006","model":"Los Angeles"},{"regex":"BQ-5005L","model":"Intense"},{"regex":"BQS-5004","model":"Paris"},{"regex":"BQ-5003L","model":"Shark Pro"},{"regex":"BQ-5002G","model":"Fun"},{"regex":"BQS-5002","model":"Colombo"},{"regex":"BQ-5001L","model":"Contact"},{"regex":"BQS-5001","model":"Milan"},{"regex":"BQ(ru|S)?-5000","model":"Tokyo"},{"regex":"BQS-4800","model":"Blade"},{"regex":"BQS-4707","model":"Montreal"},{"regex":"BQS-4702","model":"\u041esaka"},{"regex":"BQS-4701","model":"Venice"},{"regex":"BQ-(?:4585|5011G)","model":"Fox View"},{"regex":"BQS-4570","model":"Drive"},{"regex":"BQS-4560","model":"Golf"},{"regex":"BQS-4555","model":"Turbo"},{"regex":"BQS-4550","model":"Richmond"},{"regex":"BQ-(?:4526|5004G)","model":"Fox"},{"regex":"BQS-4525","model":"Vienna"},{"regex":"BQS-4516","model":"Singapore"},{"regex":"BQS-4515","model":"Moscow"},{"regex":"BQS-4510","model":"Florence"},{"regex":"BQS-4505","model":"Santiago"},{"regex":"BQS-4503","model":"Dubai"},{"regex":"BQS-4502","model":"Kingston"},{"regex":"BQS-4501 Bristol","model":"Bristol"},{"regex":"BQ-4501G","model":"Fox Easy"},{"regex":"BQ-4077","model":"Shark Mini"},{"regex":"BQ(ru)?-4072","model":"Strike Mini"},{"regex":"BQ(ru)?[- ]402[68]","model":"Up!"},{"regex":"BQS-4010","model":"Aspen"},{"regex":"BQS-4009","model":"Orleans"},{"regex":"BQS-4008","model":"Shanghai"},{"regex":"BQS-4007","model":"Valencia"},{"regex":"BQS-4005","model":"Seoul"},{"regex":"BQS-4004","model":"Dusseldorf"},{"regex":"BQS-4003","model":"Verona"},{"regex":"BQ-4001G","model":"Cool"},{"regex":"BQS-4001","model":"Oxford"},{"regex":"BQS-3510","model":"Aspen Mini"},{"regex":"BQS-3503","model":"Bombay"},{"regex":"BQ-1085L","model":"Hornet Max Pro","device":"tablet"},{"regex":"BQ-1084L","model":"Hornet Max","device":"tablet"},{"regex":"BQ-1083G","model":"Armor Pro Plus","device":"tablet"},{"regex":"BQ-1082G","model":"Armor Pro","device":"tablet"},{"regex":"BQ-1077L","model":"Armor Pro LTE","device":"tablet"},{"regex":"BQ(ru)?-1057L","model":"Passion","device":"tablet"},{"regex":"BQ-1051G","model":"Corsika","device":"tablet"},{"regex":"BQ-1050G","model":"Hawaii","device":"tablet"},{"regex":"BQ-1008G","model":"Grace","device":"tablet"},{"regex":"Aquaris M8","model":"Aquaris M8","device":"tablet"},{"regex":"BQ(ru)?[_ ]5590","model":"Spring"},{"regex":"BQ(S)?-(6016L|5520)","model":"Mercury"},{"regex":"BQ(S)?-(5701L|5060)","model":"Slim"},{"regex":"(BQ-7850|BQ-700[12]G|BQ-8002G|BQ-905[12]G|BQ-9702G|BQ-7056G)","model":"$1","device":"tablet"},{"regex":"BQ-8006G","model":"Java","device":"tablet"},{"regex":"BQ-7062G","model":"Fiji","device":"tablet"},{"regex":"BQ(ru)?-1081G","model":"Grace 3G","device":"tablet"},{"regex":"BQ-7802G","model":"Luzon","device":"tablet"},{"regex":"BQ-7008G","model":"Clarion","device":"tablet"},{"regex":"BQ-7064G","model":"Fusion","device":"tablet"},{"regex":"BQ-7050G","model":"Malta","device":"tablet"},{"regex":"BQ-7000G","model":"\u0421harm","device":"tablet"},{"regex":"BQ-7005G","model":"Maui","device":"tablet"},{"regex":"BQ-7098G","model":"Armor Power","device":"tablet"},{"regex":"BQ-1007","model":"Necker","device":"tablet"},{"regex":"BQ-1045(G)?","model":"Orion","device":"tablet"},{"regex":"BQ-1054L","model":"Nexion","device":"tablet"},{"regex":"BQ(ru)?-7083","model":"7083","device":"tablet"},{"regex":"BQ(ru)?-1056L","model":"1056L","device":"tablet"},{"regex":"(?:bq )?(Aquaris[^/;]*) Build","model":"$1"},{"regex":"Aquaris (E(4.5|[56])|M(5|10)|U2 Lite|U2|U (Lite|Plus)|V Plus|X5 Plus|X5|X Pro|[CMUVX])","model":"Aquaris $1"},{"regex":"bq ([^/;]+) Build","model":"$1","device":"tablet"}]},"Bush":{"regex":"Bush[ _-]","device":"smartphone","models":[{"regex":"BUSH ([^;/]+)Tablet Build","model":"$1Tablet","device":"tablet"},{"regex":"BUSH ([^;/]+) Build","model":"$1"}]},"CAGI":{"regex":"CAGI-","device":"smartphone","models":[{"regex":"CAGI-OMEGA","model":"Omega"},{"regex":"CAGI-([a-z0-9_\\\\-]+)","model":"$1"}]},"Capitel":{"regex":"Capitel-([a-z0-9]+)","device":"feature phone","model":"$1"},"Captiva":{"regex":"Captiva[ _-]([^;/]+) Build","device":"tablet","model":"Pad $1"},"Casio":{"regex":"(C811|C7[57]1)(?: 4G)?[);/ ]","device":"smartphone","models":[{"regex":"C751[);/ ]","model":"G\'zOne Ravine"},{"regex":"C771[);/ ]","model":"G\'zOne Commando"},{"regex":"C811 4G[);/ ]","model":"G\'zOne Commando 4G LTE"}]},"Casper":{"regex":"CASPER_|VIA_(G4|M4|P2|V8C)","device":"smartphone","models":[{"regex":"CASPER_VIA_(E2|M[13]|V[69])","model":"VIA $1"},{"regex":"VIA_(G4|M4|P2|V8C)","model":"VIA $1"}]},"Cat":{"regex":"Cat ?(tablet|stargate|nova)|B15Q","device":"tablet","models":[{"regex":"B15Q","model":"B15Q","device":"smartphone"},{"regex":"Cat ?(?:tablet)? ?((?:Galactica|Nova|StarGate|PHOENIX)[^/;]*) Build","model":"$1"},{"regex":"Cat ?tablet","model":"Nova"}]},"Carrefour":{"regex":"CT(?:10[0123]0|7[12]0|820)(?:W|FR)?[);/ ]","device":"tablet","models":[{"regex":"CT820","model":"Touch Tablet Neo2"},{"regex":"CT(10[0123]0(?:W|FR)?)","model":"CT$1"},{"regex":"CT(7[12]0(?:W|FR)?)","model":"CT$1"}]},"Celkon":{"regex":"Celkon","device":"smartphone","models":[{"regex":"Celkon[ _*](C[78]20)","model":"$1","device":"tablet"},{"regex":"Celkon[ _*](CT[^;/]+) Build","model":"$1","device":"tablet"},{"regex":"Celkon[ _*]([^;/]+) Build","model":"$1"},{"regex":"Celkon[\\\\. _*]([^;/\\\\)]+)[\\\\)/]","model":"$1"}]},"Changhong":{"regex":"Changhong","device":"tv","models":[{"regex":"Changhong-([^);/]+)","model":"$1"}]},"Cherry Mobile":{"regex":"Cherry|Flare([ _])?(2X|4|A[123]|J[1235]|P[13]|S[456]|X2)|Flare S Play|Flare_HD_MAX|FLARE LITE|Flare XL Plus|Fusion Bolt|OMEGA HD 4","device":"smartphone","models":[{"regex":"Cherry(?: ?Mobile)?[ _]?([^/;]+) Build","model":"$1"},{"regex":"(Flare2X)","model":"$1"},{"regex":"Flare_HD_MAX","model":"Flare HD Max"},{"regex":"FLARE LITE","model":"Flare Lite"},{"regex":"Flare S Play","model":"Flare S Play"},{"regex":"Flare XL Plus","model":"Flare XL Plus"},{"regex":"Flare[ _](A2|J3|P1|S[46])[ _]Lite","model":"Flare $1 Lite"},{"regex":"Flare[ _](J[12]|S5)[ _]mini","model":"Flare $1 Mini"},{"regex":"Flare J2S","model":"Flare J2s"},{"regex":"Flare S4 Max LTE","model":"Flare S4 Max LTE"},{"regex":"Flare S4 Max","model":"Flare S4 Max"},{"regex":"FlareS5LiteDTV ","model":"Flare S5 Lite DTV"},{"regex":"Flare_S6_Plus","model":"Flare S6 Plus"},{"regex":"FLARE S6 POWER","model":"Flare S6 Power"},{"regex":"Flare(?:[ _])?(4|A[13]|J[135]|P[13]|S4|X2)","model":"Flare $1"},{"regex":"OMEGA HD 4","model":"Omega HD 4"},{"regex":"(Fusion Bolt)","model":"$1","device":"tablet"}]},"China Mobile":{"regex":"(M812C|1501_M02|9930i|A1303|A309W|M651CY) Build","device":"smartphone","models":[{"regex":"M651CY","model":"A3"},{"regex":"(M812C|1501_M02|9930i|A1303|A309W)","model":"$1"}]},"Comio":{"regex":"Comio|CT701G PLUS|CT701W|GT100","device":"smartphone","models":[{"regex":"GT100","model":"GT100","device":"tablet"},{"regex":"CT701W","model":"CT701W","device":"tablet"},{"regex":"CT701G PLUS","model":"CT701G Plus","device":"tablet"},{"regex":"Comio[ _-]?([^;/)]+) Build","model":"$1"},{"regex":"Comio[ _-]?([^;/)]+)","model":"$1"}]},"Compal":{"regex":"Compal-[a-z0-9]+","device":"feature phone","model":"$1"},"ComTrade Tesla":{"regex":"Tesla|Impulse 7.85 3G|Smartphone_6.1|SP(?:6.2|6.2_Lite)|TTL(?:713G|8)","device":"smartphone","models":[{"regex":"TeslaEvo5.0","model":"Evo 5.0"},{"regex":"(Gravity 9.7 SHD)","model":"$1","device":"tablet"},{"regex":"(Impulse 7.85 3G)","model":"$1","device":"tablet"},{"regex":"Tesla_SP([^/;]+)L Build","model":"Smartphone $1 Lite"},{"regex":"Smartphone_6.1","model":"Smartphone 6.1"},{"regex":"SP6.2_Lite","model":"Smartphone 6.2 Lite"},{"regex":"Tesla_SP([^/;]+) Build","model":"Smartphone $1"},{"regex":"SP([^/;]+) Build","model":"Smartphone $1"},{"regex":"Smartphone ([36])","model":"Smartphone $1"},{"regex":"Tesla_Tablet_785","model":"7.85\\"","device":"tablet"},{"regex":"TTH7","model":"H7","device":"tablet"},{"regex":"TTL7 Build","model":"L7","device":"tablet"},{"regex":"Tesla_Tablet_L7_3G","model":"L7 3G","device":"tablet"},{"regex":"(L7.1)","model":"$1","device":"tablet"},{"regex":"TTL713G","model":"L7.1 3G","device":"tablet"},{"regex":"(L7 Quad) Build","model":"$1","device":"tablet"},{"regex":"(L7 Quad Lite)","model":"$1","device":"tablet"},{"regex":"TTL8 Build","model":"L8","device":"tablet"},{"regex":"(L8.1)","model":"$1","device":"tablet"},{"regex":"TESLA_TABLET_M7","model":"M7","device":"tablet"},{"regex":"Tesla_Tablet_M8","model":"M8","device":"tablet"}]},"ConCorde":{"regex":"ConCorde ([^/;]+) Build","device":"smartphone","models":[{"regex":"ConCorde Tab ?([^/;]+) Build","model":"Tab $1","device":"tablet"},{"regex":"ConCorde ReadMan ?([^/;]+) Build","model":"ReadMan $1","device":"tablet"},{"regex":"ConCorde ([^/;]+) Build","model":"$1"}]},"Condor":{"regex":"Allure M3|(?:PGN\\\\-?[456][012][0-9]|PHS\\\\-601|Plume L1)[;/) ]|CTAB[^/;]+ Build","device":"smartphone","models":[{"regex":"CTAB([^/;]+) Build","device":"tablet","model":"CTAB $1"},{"regex":"PHS\\\\-601","model":"C8"},{"regex":"PGN\\\\-?403","model":"C4+ Noir"},{"regex":"PGN\\\\-?404","model":"C7 Mini"},{"regex":"PGN\\\\-?409","model":"Plume P4"},{"regex":"PGN\\\\-?504","model":"C5"},{"regex":"PGN\\\\-?505","model":"C8S"},{"regex":"PGN\\\\-?506","model":"C7"},{"regex":"Allure M3","model":"Allure M3"},{"regex":"PGN\\\\-?507","model":"Allure A9"},{"regex":"PGN\\\\-?508","model":"C6+"},{"regex":"PGN\\\\-?509","model":"C6 Pro"},{"regex":"PGN\\\\-?511","model":"Allure A9 Plus"},{"regex":"PGN\\\\-?513","model":"Griffe G4"},{"regex":"PGN\\\\-?514","model":"Plume P7"},{"regex":"PGN\\\\-?515","model":"Plume P4 Pro"},{"regex":"PGN\\\\-?516","model":"Plume P5"},{"regex":"PGN\\\\-?51[78]","model":"Plume P6"},{"regex":"PGN\\\\-?521","model":"Griffe G4 Plus"},{"regex":"PGN\\\\-?522","model":"P6 Plus"},{"regex":"PGN\\\\-?523","model":"P7 Plus"},{"regex":"PGN\\\\-?527","model":"Plume P4 Plus"},{"regex":"PGN\\\\-?528","model":"Plume P6 Pro Lte"},{"regex":"PGN\\\\-?605","model":"Plume P8"},{"regex":"PGN\\\\-?606","model":"Allure A55"},{"regex":"PGN\\\\-?607","model":"Allure A100"},{"regex":"PGN\\\\-?608","model":"Allure A55 Slim"},{"regex":"PGN\\\\-?609","model":"Allure A100 Lite"},{"regex":"PGN\\\\-?610","model":"Plume P8 Lite"},{"regex":"PGN\\\\-?611","model":"Allure A8"},{"regex":"PGN\\\\-?612","model":"Allure A8 Plus"},{"regex":"PGN\\\\-?613","model":"Allure A55 Plus"},{"regex":"Plume L1","model":"Plume L1"},{"regex":"PGN\\\\-?([0-9]{3})","model":"PGN-$1"}]},"Coolpad":{"regex":"(?:YL-)?Coolpad|8190Q[ ;/\\\\)]|(8295|5860S) Build|CP8676_I0[23] Build|CP8298_I00 Build|REVVLPLUS C3701A|VCR-I0","device":"smartphone","models":[{"regex":"VCR-I0","model":"Cool Play 6"},{"regex":"REVVLPLUS C3701A","model":"REVVL Plus","device":"phablet"},{"regex":"8190Q[ ;/\\\\)]","model":"8190Q"},{"regex":"(5860S|8295) Build","model":"$1"},{"regex":"CP8676_I02 Build","model":"Note 3"},{"regex":"CP8676_I03 Build","model":"Note 3 Plus"},{"regex":"CP8298_I00 Build","model":"Note 3 Lite"},{"regex":"(?:YL-)?Coolpad[ _\\\\-]?([^/;]+) Build","model":"$1"},{"regex":"(?:YL-)?Coolpad[ _\\\\-]?([a-z0-9\\\\-]+)","model":"$1"}]},"Clarmin":{"regex":"Clarmin","device":"smartphone","models":[{"regex":"Clarmin_B6","model":"B6"}]},"Cricket":{"regex":"Cricket-([a-z0-9]+)","device":"feature phone","model":"$1"},"Crius Mea":{"regex":"(Q7A\\\\+?)[);/ ]","device":"tablet","model":"$1"},"Crosscall":{"regex":"Crosscall|ODYSSEY_Plus|Odyssey S1|Trekker-[MSX][1234]|Action-X3","device":"smartphone","models":[{"regex":"Action-X3","model":"Action-X3"},{"regex":"Crosscall ([^;/]+) Build","model":"$1"},{"regex":"ODYSSEY_Plus","model":"ODYSSEY+"},{"regex":"Odyssey S1","model":"ODYSSEY S1"},{"regex":"Trekker-([MSX][1234](?: Core)?)","model":"Trekker-$1"}]},"Cube":{"regex":"(<!myPhone ?)Cube|(U[0-9]+GT|K8GT)|(T8-PLUSM?S?)[);/ ]","device":"tablet","models":[{"regex":"U27GT","model":"Talk 8"},{"regex":"T8-PLUSM?S?[);/ ]","model":"T8 Ultimate"},{"regex":"U55GT","model":"Talk 79"},{"regex":"U65GT","model":"Talk 9X"},{"regex":"(U[0-9]+GT[^;/]*) Build","model":"$1"},{"regex":"(U[0-9]+GT(?:[0-9]|[\\\\-_][a-z]+)?)","model":"$1"},{"regex":"(K8GT)","model":"$1"}]},"CUBOT":{"regex":"CUBOT","device":"smartphone","models":[{"regex":"CHEETAH 2","model":"Cheetah 2"},{"regex":"DINOSAUR","model":"Dinosaur"},{"regex":"KING KONG","model":"King Kong"},{"regex":"CUBOT_MANITO","model":"Manito"},{"regex":"MAX","model":"Max"},{"regex":"NOTE Plus","model":"Note Plus"},{"regex":"CUBOT_NOTE_S","model":"Note S"},{"regex":"CUBOT_NOVA","model":"Nova"},{"regex":"CUBOT_POWER","model":"Power"},{"regex":"CUBOT_X18_Plus","model":"X18 Plus"},{"regex":"CUBOT[ _](A5|C6W|H3|J3|P7|P20|R9|R11|X18)","model":"$1"},{"regex":"CUBOT ([^;/]+) Build","model":"$1"},{"regex":"([^;/]+) Build/CUBOT","model":"$1"}]},"Concord":{"regex":"Concord[ _-]|Flyfix 6|C-721[);/ ]","device":"smartphone","models":[{"regex":"M10","model":"M10"},{"regex":"Flyfix 6","model":"Flyfix 6"},{"regex":"C-721","model":"Flyfix Q","device":"tablet"}]},"Crescent":{"regex":"WING 5|WING9|Venus[ _][14]","device":"smartphone","models":[{"regex":"WING 5","model":"Wing 5"},{"regex":"WING9","model":"Wing 9"},{"regex":"Venus[ _]([14])","model":"Venus $1"}]},"Cyrus":{"regex":"Cyrus[ _-]","device":"smartphone","models":[{"regex":"Cyrus[ _-]?([^;/)]+) Build","model":"$1"},{"regex":"Cyrus[ _-]?([^;/)]+)[);/ ]","model":"$1"}]},"Datang":{"regex":"DATANG","device":"smartphone","models":[{"regex":"(?:DATANG[ _-])+([^;/]+) Build","model":"$1"},{"regex":"(?:DATANG[ _-])+([^;/)]+)[;/)]","model":"$1"}]},"Datsun":{"regex":"DATSUN","device":"smartphone","models":[{"regex":"DATSUN_D5500","model":"D5500"}]},"Danew":{"regex":"Dslide ?([^;/]+) Build|Konnect_(504|601)","device":"smartphone","models":[{"regex":"Konnect_(504|601)","model":"Konnect $1"},{"regex":"Dslide ?([^;/]+) Build","device":"tablet","model":"DSlide $1"}]},"Denver":{"regex":"(TA[CDQ]-[0-9]+)","device":"tablet","model":"$1"},"Dell":{"regex":"Dell[^a-z]|Venue|XCD35","device":"smartphone","models":[{"regex":"XCD35","model":"XCD35"},{"regex":"(?:Dell )?Venue Build","model":"Venue","device":"smartphone"},{"regex":"Dell; Venue Pro","model":"Venue Pro","device":"smartphone"},{"regex":"(?:Dell )?(Streak|Venue) ?([^/;]*) Build","model":"$1 $2","device":"tablet"},{"regex":"Dell; ((?:Streak|Venue)[^;/\\\\)]*)","model":"$1","device":"tablet"},{"regex":"Dell; ([^;/\\\\)]+)","model":"$1"},{"regex":"Dell[ _\\\\-]([^/;]+) Build","model":"$1"}]},"Desay":{"regex":"Desay","device":"smartphone","models":[{"regex":"Desay[ _-]?([^;/)]+) Build","model":"$1"},{"regex":"Desay[ _-]?([^;/)]+)[);/ ]","model":"$1"}]},"DEXP":{"regex":"DEXP|(?:Ursus|Ixion)[ _]([^;/)]+)|H135[ _]Build|(BL150|BS155|BS160|BS550|BS650)[);/ ]","device":"smartphone","models":[{"regex":"Ixion[_ ]([^;/]+)(?: Build|\\\\))","model":"Ixion $1"},{"regex":"Ursus ([^;/]+) Build","model":"Ursus $1","device":"tablet"},{"regex":"H135[ _]Build","model":"Atlas","device":"desktop"},{"regex":"(BL150|BS155|BS160|BS550|BS650)[);/ ]","model":"$1"},{"regex":"DEXP[ _]([^;/]+) Build","model":"$1"},{"regex":"DEXP[ _]([^);/]+)[);/ ]","model":"$1"}]},"Dbtel":{"regex":"DBTEL(?:[\\\\-/])?([a-z0-9]+)","device":"feature phone","model":"$1"},"Dialog":{"regex":"Dialog ?([^;/]+) Build","device":"smartphone","model":"$1"},"Dicam":{"regex":"DICAM-([a-z0-9]+)","device":"feature phone","model":"$1"},"Digi":{"regex":"Digi[ _]([^);/]+)[);/ ]","device":"smartphone","model":"$1"},"Digicel":{"regex":"DIGICEL","device":"smartphone","models":[{"regex":"DL810","model":"DL810"},{"regex":"DIGICEL ([^/;]+) Build","model":"$1"}]},"Digiland":{"regex":"DL1008M","device":"smartphone","models":[{"regex":"DL1008M","device":"tablet","model":"DL1008M"}]},"Digma":{"regex":"Digma[_ ]([^;/]+) Build|HIT HT707[10]MG|CITI 1902 3G|(CITI (?:[A-Z0-9]+) 3G) C[ST]500[67]PG|iDrQ10 3G|iDxD8 3G|iDnD7|HIT 4G HT7074ML|IDX5|(iDx10|iDx7)|MVM900H(?:WZ|C)|MVM908HCZ|iDxD10 3G|(iDxD[45]|iDxQ5)|iDxD7[_ ]3G|PS604M|PT452E|Linx A400 3G LT4001PG|Linx C500 3G LT5001PG|Linx PS474S|LS504[01]PL|LT40(47|54)MG|LS405[01]MG|LS5053ML|LT5048MG|LT5052ML|LT4049PG|NS6902QL|NS9797MG|((?:Optima|Platina|Plane)[ _](?:[EM])?(?:[0-9\\\\.ST]+|Prime)(?:[ _][43]G)?)|(VOX[ _](?:[0-9\\\\.A-Z]+)[_ ][43]G)","device":"smartphone","models":[{"regex":"HIT HT707[10]MG","model":"HIT 3G","device":"tablet"},{"regex":"iDx5","model":"iDx5"},{"regex":"iDxD10 3G","model":"iDxD10 3G","device":"tablet"},{"regex":"(VOX[ _](?:[0-9\\\\.A-Z]+)[_ ][43]G)","model":"$1"},{"regex":"PS604M","model":"Linx 6.0"},{"regex":"LT4049PG","model":"Linx Atom 3G"},{"regex":"LT5048MG","model":"Linx Joy 3G"},{"regex":"LT5052ML","model":"Linx Base 4G"},{"regex":"LT4047MG","model":"Linx Alfa 3G"},{"regex":"LS4050MG","model":"Linx X1 3G"},{"regex":"LS4051MG","model":"Linx X1 Pro 3G"},{"regex":"LT4054MG","model":"Linx Argo 3G"},{"regex":"LS5041PL","model":"Linx Trix 4G"},{"regex":"LS5040PL","model":"Linx Rage 4G"},{"regex":"LS5053ML","model":"Linx Pay 4G"},{"regex":"(Linx A400 3G) LT4001PG","model":"$1"},{"regex":"(Linx C500 3G) LT5001PG","model":"$1"},{"regex":"(Linx PS474S)","model":"$1"},{"regex":"PT452E","model":"Linx 4.5"},{"regex":"MVM900H(?:WZ|C)","model":"iDx8","device":"tablet"},{"regex":"MVM908HCZ","model":"iDx9","device":"tablet"},{"regex":"(iDxD7[_ ]3G)","model":"$1","device":"tablet"},{"regex":"(iDx10|iDx7)","model":"$1"},{"regex":"(iDxD[45]|iDxQ5)","model":"$1"},{"regex":"HIT 4G HT7074ML","model":"HIT 4G","device":"tablet"},{"regex":"(CITI 1902 3G)","model":"$1","device":"tablet"},{"regex":"(CITI (?:[A-Z0-9]+) 3G) C[ST]500[67]PG","model":"$1","device":"tablet"},{"regex":"iDxD8 3G","model":"D-Plane2 8","device":"tablet"},{"regex":"(iDrQ10 3G|iDnD7)","model":"$1","device":"tablet"},{"regex":"NS6902QL","model":"Platina 7.2 4G","device":"tablet"},{"regex":"NS9797MG","model":"Platina 7.2 3G","device":"tablet"},{"regex":"((?:Optima|Platina|Plane)[ _](?:[EM])?(?:[0-9\\\\.STNM]+|Prime)(?:[ _][43]G)?)","model":"$1","device":"tablet"},{"regex":"Digma[_ ]([^;/]+) Build","model":"$1","device":"tablet"}]},"DoCoMo":{"regex":"DoCoMo|\\\\;FOMA|KGT/1\\\\.0","device":"feature phone","models":[{"regex":"DoCoMo/[12]\\\\.0[/ ]([a-z0-9]+)","model":"$1"},{"regex":"([a-z0-9]+)(?:_W)?\\\\;FOMA","model":"$1"},{"regex":"KGT/1\\\\.0 ([a-z0-9]+)","model":"$1"}]},"Doogee":{"regex":"DOOGEE[ _-]|Valencia2_Y100pro|X5max(?:[_ ]PRO)?|(KISSME|BIGBOY|COLLO[23]?|DAGGER|DISCOVERY2?|FIND|HOTWIND|LATTE|MAX|MINT|MOON|PIXELS|RAINBOX|TURBO|VALENCIA|VOYAGER2?|TITANS2?)[ -_](DG[0-9]+C?)[);/ ]|BL[579]000[);/ ]|BL12000|BL5500[_ ]Lite","device":"smartphone","models":[{"regex":"Valencia2_Y100pro","model":"Valencia2 Y100pro"},{"regex":"(BL[579]000)[);/ ]","model":"$1"},{"regex":"BL12000 PRO","model":"BL12000 Pro"},{"regex":"BL5500[_ ]Lite","model":"BL5500 Lite"},{"regex":"BL12000","model":"BL12000"},{"regex":"KISSME-DG580","model":"Kissme DG580"},{"regex":"(X5max(?:[_ ]PRO)?)","model":"$1"},{"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?)[);/ ]","model":"$1 $2"},{"regex":"DOOGEE[ _-]([^);/]+) Build","model":"$1"},{"regex":"DOOGEE[ _-]([^);/]+)[);/ ]","model":"$1"}]},"Doov":{"regex":"(?:Doov-)?Doov[ _]","device":"smartphone","models":[{"regex":"(?:Doov-)?Doov[ _]([^;/]+) Build","model":"$1"},{"regex":"(?:Doov-)?Doov[ _]([^);/]+)[);/ ]","model":"$1"}]},"Dopod":{"regex":"Dopod(?: )?([a-z0-9]+)","device":"feature phone","model":"$1"},"Doro":{"regex":"Doro","device":"smartphone","models":[{"regex":"Doro[ _-]?([^;/)]+) Build","model":"$1"},{"regex":"Doro[ _-]([0-9a-z]+)","model":"$1"}]},"Dune HD":{"regex":"DuneHD","device":"tv","models":[{"regex":"DuneHD/\\\\d.\\\\d \\\\([a-z]+__([a-z0-9_-]+);","model":"$1"},{"regex":"DuneHD/\\\\d.\\\\d \\\\(([a-z0-9_-]+);","model":"$1"}]},"DNS":{"regex":"(?:DNS|AirTab)[ _\\\\-]([^;/]+)Build|S4505M[);/ ]","device":"smartphone","models":[{"regex":"S4505M[);/ ]","model":"S4505M"},{"regex":"AirTab[ _\\\\-]([^;/]+)Build","model":"AirTab $1","device":"tablet"},{"regex":"DNS[ _\\\\-]([^;/]+)Build","model":"$1"}]},"E-Boda":{"regex":"E-Boda|Eclipse_(?:G400M|G500)","device":"smartphone","models":[{"regex":"E-Boda ((?:Revo|Izzycomm|Essential|Intelligence|Supreme)[^/;]+) Build","device":"tablet","model":"$1"},{"regex":"Eclipse_(G400M|G500)","model":"Eclipse $1"},{"regex":"E-Boda ([^/;]+) Build","model":"$1"}]},"Easypix":{"regex":"EasyPad|EasyPhone","device":"smartphone","models":[{"regex":"(EasyPhone[^/;]+) Build","model":"$1"},{"regex":"(EasyPad[^/;]+) Build","model":"$1","device":"tablet"}]},"EBEST":{"regex":"EBEST","device":"smartphone","models":[{"regex":"EBEST[ _-]?([^;/)]+) Build","model":"$1"},{"regex":"EBEST[ _-]?([^;/)]+)[);/ ]","model":"$1"}]},"Echo Mobiles":{"regex":"ECHO[ _](HOLI|HORIZON|MAX|MOSS|NOTE|POWER|SMART)","device":"smartphone","models":[{"regex":"ECHO_HORIZON_LITE","model":"HORIZON Lite"},{"regex":"ECHO_SMART_4G","model":"SMART 4G"},{"regex":"ECHO[ _](HOLI|MAX|MOSS|NOTE|POWER|SMART)","model":"$1"}]},"ECS":{"regex":"(?:TA10CA3|TM105A?|TR10CS1)[);/ ]","device":"tablet","models":[{"regex":"TA10CA3[);/ ]","model":"TA10CA3"},{"regex":"TR10CS1[);/ ]","model":"TR10CS1"},{"regex":"TM105A[);/ ]","model":"TM105A"},{"regex":"TM105[);/ ]","model":"TM105"}]},"EE":{"regex":"Hawk_from_EE","device":"smartphone","models":[{"regex":"Hawk_from_EE","model":"Hawk"}]},"Eks Mobility":{"regex":"S5LS|X4UPlus","device":"smartphone","models":[{"regex":"S5LS","model":"S5LS"},{"regex":"X4UPlus","model":"X4U Plus"}]},"Elephone":{"regex":"Elephone|P6000( ?Pro| ?Plus|\\\\+| ?02)? Build","device":"smartphone","models":[{"regex":"Elephone[ _\\\\-]([^/;]+) Build","model":"$1"},{"regex":"P6000(\\\\+| ?Plus) Build","model":"P6000 Plus"},{"regex":"P6000 02 Build","model":"P6000 02"},{"regex":"P6000 ?Pro Build","model":"P6000 Pro"},{"regex":"(P[68]000)","model":"$1"}]},"Elenberg":{"regex":"(TAB(?:101|728)[ _]3G|TAB7(?:[03]8|16|40|3[30]))[/;) ]","device":"tablet","model":"$1"},"Energy Sistem":{"regex":"ENERGY[ _-]?([^;/]+) Build","device":"tablet","model":"$1"},"Ericy":{"regex":"Ericy-([a-z0-9]+)","device":"feature phone","model":"$1"},"Essential":{"regex":"PH-1[ )]","device":"smartphone","models":[{"regex":"PH-1[ )]","model":"PH-1"}]},"E-tel":{"regex":"E-tel_i250","device":"smartphone","models":[{"regex":"E-tel[_ ]i250","model":"i250"}]},"Evercoss":{"regex":"A75A\\\\* Build","device":"smartphone","models":[{"regex":"A75A\\\\*","model":"A75A Star"}]},"Eurostar":{"regex":"(ET7002C-H12|Onyx-[13]S)[/;) ]","device":"smartphone","models":[{"regex":"Onyx-([13]S)[/;) ]","model":"Onyx $1"},{"regex":"ET7002C-H12[/;) ]","model":"ePad 4S","device":"tablet"}]},"Eton":{"regex":"Eton","device":"smartphone","models":[{"regex":"Eton[ _-]?([^;/)]+) Build","model":"$1"},{"regex":"Eton[ _-]?([^;/)]+)[);/ ]","model":"$1"}]},"Essentielb":{"regex":"(Wooze[_ ](?:I5|L|XL)) Build","device":"smartphone","model":"$1"},"Rikomagic":{"regex":"MK(80[28][^/;]*) Build","device":"tv","model":"MK$1"},"Rinno":{"regex":"Rinno (R(?:400|505))","device":"smartphone","model":"$1"},"Riviera":{"regex":"RIVIERA ","device":"smartphone","models":[{"regex":"F23","model":"F23"}]},"Senseit":{"regex":"SENSEIT[ _]?([^;/)]+) Build","device":"smartphone","model":"$1"},"Sony":{"regex":"Sony(?: ?Ericsson)?|SGP|Xperia|([456]0[12]|701)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)|D200[45]|D21(?:0[45]|14)|D22(?:0[236]|12|43)|D230[2356]|D240[36]|D25(?:02|33)|D510[236]|D530[36]|D5316|D5322|D5503|D58[03]3|D65(?:0[23]|43|63)|D66[03458]3|D66[14]6|D6708|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|65[35]3|66[0358]3|68[358]3)|I[34]312|I4332|F311[12356]|F331[13]|F321[12356]|F5[13]21|F5122|F813[12]|F833[12]|G312[135]|G311[26]|G322[136]|G3212|G331[123]|G3412|G3416|G342[136]|G823[12]|G834[123]|G8[14]4[12]|H(?:3113|3123|3133|3213|3223|3311|3321|4113|4133|4213|4233|4311|4331|4413|4433|82[167]6|83[12]4|8416|9436)|(?:WT|LT|SO|ST|SK|MK)[0-9]+[a-z]+[0-9]*(?: Build|\\\\))|X?L39H|XM50[ht]|W960|portalmmm/2\\\\.0 K|S3[69]h|SOL2[246]|SOV3[1234567]|X10[ia]v?|E1[05][ai]v?|MT[0-9]{2}[a-z]? Build|SO-0(?:[12]C|[345]D|[234]E|[1235]F|[1234]G|[134]H|[1234]J|[12]K)|R800[aix]|J9110|J81[17]0|I[34]113|I3[12]23|I42[19]3|H9493|H8296|H8166|H4493|LiveWithWalkman","device":"smartphone","models":[{"regex":"(?:Sony(?:Ericsson)?)?E10[ai]v?","model":"Xperia X10 mini","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?U20","model":"Xperia X10 mini pro","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?E15[ai]v?","model":"Xperia X8","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?(LT15[ai]?v?|SO-01C)","model":"Xperia arc","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?LT18[ai]v?","model":"Xperia arc S","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?MT11","model":"Xperia neo V","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?MT15","model":"Xperia neo","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?MT27","model":"Xperia Sola","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?MK16[ai]","model":"Xperia pro","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?ST15[ai]","model":"Xperia mini","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?ST17[ai]","model":"Xperia active","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?ST18[ai]","model":"Xperia ray","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?SK17[ai]?","model":"Xperia mini pro","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?X10[ai]v?","model":"Xperia X10","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)M1","model":"Aspen","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?R800","model":"Xperia PLAY","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?WT19|LiveWithWalkman","model":"Live with Walkman","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?CK13i","model":"txt","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?CK15[ai]","model":"txt pro","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?F100i","model":"Jalou","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?J105","model":"Naite","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?J108","model":"Cedar","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?J10","model":"Elm","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?J20","model":"Hazel","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?U10","model":"Aino","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?U100","model":"Yari","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?U1","model":"Satio","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?U5","model":"Vivaz","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?U8","model":"Vivaz pro","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?W20","model":"Zylo","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?W100","model":"Spiro","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?W150","model":"Yendo","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?W960","model":"W960","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?WT13","model":"Mix Walkman","brand":"Sony Ericsson","device":"feature phone"},{"regex":"SO-04G","model":"Xperia A4"},{"regex":"(?:Sony(?:Ericsson)?)?I(?:4113|31[12]3)","model":"Xperia 10"},{"regex":"(?:Sony(?:Ericsson)?)?I(?:42[19]3|3223)","model":"Xperia 10 Plus"},{"regex":"(?:Sony(?:Ericsson)?)?J(?:9110|81[17]0)","model":"Xperia 1"},{"regex":"(?:Sony(?:Ericsson)?)?LT22i","model":"Xperia P"},{"regex":"(?:Sony(?:Ericsson)?)?LT25i","model":"Xperia V"},{"regex":"(?:Sony(?:Ericsson)?)?LT26ii","model":"Xperia SL"},{"regex":"(?:Sony(?:Ericsson)?)?LT26i","model":"Xperia S"},{"regex":"(?:Sony(?:Ericsson)?)?SO-02C","model":"Xperia arco"},{"regex":"(?:Sony(?:Ericsson)?)?SO-03D","model":"Xperia arco HD"},{"regex":"(?:Sony(?:Ericsson)?)?LT26w","model":"Xperia arco S"},{"regex":"(?:Sony(?:Ericsson)?)?LT28[aih]","model":"Xperia ion"},{"regex":"(?:Sony(?:Ericsson)?)?LT29i","model":"Xperia TX"},{"regex":"(?:Sony(?:Ericsson)?)?LT30a","model":"Xperia T LTE"},{"regex":"(?:Sony(?:Ericsson)?)?LT30p","model":"Xperia T"},{"regex":"(?:Sony(?:Ericsson)?)?ST21[ia]2","model":"Xperia tipo dual"},{"regex":"(?:Sony(?:Ericsson)?)?ST21[ia]","model":"Xperia tipo"},{"regex":"(?:Sony(?:Ericsson)?)?ST23[ia]","model":"Xperia miro"},{"regex":"(?:Sony(?:Ericsson)?)?ST25[ia]","model":"Xperia U"},{"regex":"(?:Sony(?:Ericsson)?)?SOL22","model":"Xperia UL"},{"regex":"(?:Sony(?:Ericsson)?)?ST26[ia]","model":"Xperia J"},{"regex":"(?:Sony(?:Ericsson)?)?ST27[ia]","model":"Xperia go"},{"regex":"(?:Sony(?:Ericsson)?)?C150[45]","model":"Xperia E"},{"regex":"(?:Sony(?:Ericsson)?)?C160[45]","model":"Xperia E Dual"},{"regex":"(?:Sony(?:Ericsson)?)?(?:E210[45]|E2115|E2124)","model":"Xperia E4"},{"regex":"(?:Sony(?:Ericsson)?)?E20[05]3|E2006","model":"Xperia E4G"},{"regex":"(?:Sony(?:Ericsson)?)?C190[45]","model":"Xperia M"},{"regex":"(?:Sony(?:Ericsson)?)?C200[45]","model":"Xperia M Dual"},{"regex":"(?:Sony(?:Ericsson)?)?C210[45]|S36h","model":"Xperia L"},{"regex":"(?:Sony(?:Ericsson)?)?C230[45]|S39h","model":"Xperia C"},{"regex":"(?:Sony(?:Ericsson)?)?C530[236]","model":"Xperia SP"},{"regex":"(?:Sony(?:Ericsson)?)?C550[23]","model":"Xperia ZR"},{"regex":"(?:Sony(?:Ericsson)?)?C650[236]","model":"Xperia ZL"},{"regex":"(?:Sony(?:Ericsson)?)?(?:C66(?:0[236]|16)|SO-02E)","model":"Xperia Z"},{"regex":"(?:Sony(?:Ericsson)?)?(?:C68(?:0[26]|[34]3)|XL39H|SOL24)","device":"phablet","model":"Xperia Z Ultra"},{"regex":"(?:Sony(?:Ericsson)?)?(?:C69(?:0[236]|16|43)|L39H|SO-0[12]F)","model":"Xperia Z1"},{"regex":"(?:Sony(?:Ericsson)?)?D200[45]","model":"Xperia E1"},{"regex":"(?:Sony(?:Ericsson)?)?D21(?:0[45]|14)","model":"Xperia E1 Dual"},{"regex":"(?:Sony(?:Ericsson)?)?D22(?:0[236]|43)","model":"Xperia E3"},{"regex":"(?:Sony(?:Ericsson)?)?D2212","model":"Xperia E3 Dual"},{"regex":"(?:Sony(?:Ericsson)?)?E20[34]3","model":"Xperia E4g Dual"},{"regex":"H33[12]1","model":"Xperia L2"},{"regex":"H43[13]1","model":"Xperia L2 Dual"},{"regex":"I3312","model":"Xperia L3"},{"regex":"I43[13]2","model":"Xperia L3 Dual"},{"regex":"(?:Sony(?:Ericsson)?)?D2302","model":"Xperia M2 Dual"},{"regex":"(?:Sony(?:Ericsson)?)?D230[356]","model":"Xperia M2"},{"regex":"(?:Sony(?:Ericsson)?)?D240[36]","model":"Xperia M2 Aqua"},{"regex":"(?:Sony(?:Ericsson)?)?(?:E230[36]|E23[35]3)","model":"Xperia M4 Aqua"},{"regex":"(?:Sony(?:Ericsson)?)?(?:E2312|E2363)","model":"Xperia M4 Aqua Dual"},{"regex":"(?:Sony(?:Ericsson)?)?E56[05][36]","model":"Xperia M5"},{"regex":"(?:Sony(?:Ericsson)?)?E56[436]3","model":"Xperia M5 Dual"},{"regex":"(?:Sony(?:Ericsson)?)?D2502","model":"Xperia C3 Dual"},{"regex":"(?:Sony(?:Ericsson)?)?D2533","model":"Xperia C3"},{"regex":"(?:Sony(?:Ericsson)?)?E53[05]3|E5306","model":"Xperia C4"},{"regex":"(?:Sony(?:Ericsson)?)?E53[0346]3","model":"Xperia C4 Dual"},{"regex":"(?:Sony(?:Ericsson)?)?E5506|E5553","model":"Xperia C5 Ultra"},{"regex":"(?:Sony(?:Ericsson)?)?E55[36]3","model":"Xperia C5 Ultra Dual"},{"regex":"(?:Sony(?:Ericsson)?)?D510[236]","model":"Xperia T3"},{"regex":"(?:Sony(?:Ericsson)?)?(?:D530[36]|D5316|XM50[ht])","model":"Xperia T2 Ultra","device":"phablet"},{"regex":"(?:Sony(?:Ericsson)?)?D5322","model":"Xperia T2 Ultra Dual","device":"phablet"},{"regex":"(?:Sony(?:Ericsson)?)?D5503","model":"Xperia Z1 Compact"},{"regex":"(?:Sony(?:Ericsson)?)?(?:D58[03]3|SO-02G)","model":"Xperia Z3 Compact"},{"regex":"(?:Sony(?:Ericsson)?)?(?:D65(?:0[23]|43)|SO-03F)","model":"Xperia Z2"},{"regex":"D6563","model":"Xperia Z2a"},{"regex":"(?:Sony(?:Ericsson)?)?(?:D66[045]3|D66[14]6|SO-01G|SOL26|401SO)","model":"Xperia Z3"},{"regex":"(?:Sony(?:Ericsson)?)?(?:D6633|D6683)","model":"Xperia Z3 Dual"},{"regex":"(?:Sony(?:Ericsson)?)?(?:E65[35]3)","model":"Xperia Z3+"},{"regex":"(?:Sony(?:Ericsson)?)?(?:D6708)","model":"Xperia Z3v"},{"regex":"SOV31|402SO|SO-03G","model":"Xperia Z4"},{"regex":"(?:Sony(?:Ericsson)?)?(?:E58[02]3)","model":"Xperia Z5 Compact"},{"regex":"(?:Sony(?:Ericsson)?)?(?:E66[05]3|SOV32|501SO|SO-01H)","model":"Xperia Z5"},{"regex":"(?:Sony(?:Ericsson)?)?E66[38]3","model":"Xperia Z5 Dual"},{"regex":"(?:Sony(?:Ericsson)?)?(?:E68[58]3|SO-03H)","model":"Xperia Z5 Premium"},{"regex":"(?:Sony(?:Ericsson)?)?E6833","model":"Xperia Z5 Premium Dual"},{"regex":"(?:Sony(?:Ericsson)?)?F311[135]","model":"Xperia XA"},{"regex":"(?:Sony(?:Ericsson)?)?F311[26]","model":"Xperia XA Dual"},{"regex":"(?:Sony(?:Ericsson)?)?F321[135]","model":"Xperia XA Ultra"},{"regex":"(?:Sony(?:Ericsson)?)?F321[26]","model":"Xperia XA Ultra Dual"},{"regex":"(?:Sony(?:Ericsson)?)?F833[12]|SOV34|601SO|SO-01J","model":"Xperia XZ"},{"regex":"(?:Sony(?:Ericsson)?)?(?:701SO|SOV36|G834[123]|SO-01K)","model":"Xperia XZ1"},{"regex":"(?:Sony(?:Ericsson)?)?G8441|SO-02K","model":"Xperia XZ1 Compact"},{"regex":"(?:Sony(?:Ericsson)?)?F331[13]","model":"Xperia E5"},{"regex":"(?:Sony(?:Ericsson)?)?G312[135]|G311[26]","model":"Xperia XA1"},{"regex":"(?:Sony(?:Ericsson)?)?G341[26]|G342[13]","model":"Xperia XA1 Plus"},{"regex":"(?:Sony(?:Ericsson)?)?G3426","model":"Xperia XA1 Plus Dual"},{"regex":"(?:Sony(?:Ericsson)?)?G322[136]|G3212","model":"Xperia XA1 Ultra"},{"regex":"(?:Sony(?:Ericsson)?)?H31[123]3","model":"Xperia XA2"},{"regex":"(?:Sony(?:Ericsson)?)?H41[13]3","model":"Xperia XA2 Dual"},{"regex":"H44[19]3","model":"Xperia XA2 Plus Dual"},{"regex":"H4433","model":"H4433"},{"regex":"(?:Sony(?:Ericsson)?)?H(?:3213|3223|4213|4233)","model":"Xperia XA2 Ultra"},{"regex":"(?:Sony(?:Ericsson)?)?G823[12]|SOV35|602SO|SO-03J","model":"Xperia XZs"},{"regex":"(?:Sony(?:Ericsson)?)?G814[12]|SO-04J","model":"Xperia XZ Premium"},{"regex":"(?:Sony(?:Ericsson)?)?(?:H83[12]4|H82[17]6|SOV37|H8296)","model":"Xperia XZ2"},{"regex":"H8266","model":"Xperia XZ2 Dual"},{"regex":"H8166","model":"Xperia XZ2 Premium Dual"},{"regex":"(?:Sony(?:Ericsson)?)?H(8416|9436|9493)","model":"Xperia XZ3"},{"regex":"(?:Sony(?:Ericsson)?)?G331[13]","model":"Xperia L1"},{"regex":"(?:Sony(?:Ericsson)?)?G3312","model":"Xperia L1 Dual"},{"regex":"(?:Sony(?:Ericsson)?)?SO-04E","model":"Xperia A"},{"regex":"(?:Sony(?:Ericsson)?)?SO-04D","model":"Xperia GX"},{"regex":"(?:Sony(?:Ericsson)?)?SO-05D","model":"Xperia SX"},{"regex":"(?:Sony(?:Ericsson)?)?F5121","model":"Xperia X"},{"regex":"(?:Sony(?:Ericsson)?)?F5122","model":"Xperia X Dual"},{"regex":"(?:Sony(?:Ericsson)?)?F5321|SO-02J","model":"Xperia X Compact"},{"regex":"(?:Sony(?:Ericsson)?)?(?:F8131|502SO|SOV33|SO-04H)","model":"Xperia X Performance"},{"regex":"(?:Sony(?:Ericsson)?)?F8132","model":"Xperia X Performance Dual"},{"regex":"SGP(?:311|312|321)[);/ ]|SO-03E","model":"Xperia Tablet Z","device":"tablet"},{"regex":"SGP(?:511|512|521)[);/ ]|SO-05F","model":"Xperia Tablet Z2","device":"tablet"},{"regex":"SGP(?:6[24]1)[);/ ]","model":"Xperia Tablet Z3 Compact","device":"tablet"},{"regex":"SGPT(?:12|121|122|123|13|131|132|133)[);/ ]","model":"Xperia Tablet S","device":"tablet"},{"regex":"SonyBDP|SonyDBV","model":"Blu-ray Player","device":"tv"},{"regex":"(?:Sony-)?(KDL?-?[0-9a-z]+)","model":"$1","device":"tv"},{"regex":"Opera TV Store.*(?:Sony-)([0-9a-z\\\\-_]+)","model":"$1","device":"tv"},{"regex":"((?:WT|SO|ST|SK|MK)[0-9]+[a-z]*[0-9]*)(?: Build|\\\\))","model":"$1","brand":"Sony Ericsson"},{"regex":"(MT[0-9]{2}[a-z]?)[);/ ]","model":"$1","brand":"Sony Ericsson"},{"regex":"portalmmm/2.0 K([a-z0-9]+)","model":"K$1","brand":"Sony Ericsson"},{"regex":"Sony ?Ericsson?([^/;]*) Build","model":"$1","brand":"Sony Ericsson"},{"regex":"SonyEricsson([CGJKPTWZ][0-9]+[a-z]+)/","model":"$1","brand":"Sony Ericsson","device":"feature phone"},{"regex":"Sony ?Ericsson ?([a-z0-9\\\\-]+)","model":"$1","brand":"Sony Ericsson"},{"regex":"Sony (Tablet[^/;]*) Build","model":"$1","device":"tablet"},{"regex":"(SGP[^/;]*) Build","model":"$1","device":"tablet"},{"regex":"Xperia ([^/;]*Tablet[^/;]*) Build","model":"Xperia $1","device":"tablet"},{"regex":"Xperia ([^;/]+) Build","model":"Xperia $1"},{"regex":"Sony[ -]?([^/;]*) Build","model":"$1"},{"regex":"Sony[ -]?([a-z0-9\\\\-]+)","model":"$1"}]},"Ergo":{"regex":"ERGO|(B502 Basic|B504[_ ]Unit|A502[_ ]Aurum|A503[ _]Optima|Prime B400|A551 Sky 4G|A553 Power|A555 Universe|Force F500|GoTab GBT9|GoTab Gti8)","device":"smartphone","models":[{"regex":"B502 Basic","model":"B502 Basic"},{"regex":"B504[_ ]Unit","model":"B504 Unit"},{"regex":"A500 Best","model":"A500 Best"},{"regex":"A550 Maxx","model":"A550 Maxx"},{"regex":"Prime B400","model":"Prime B400"},{"regex":"A502[_ ]Aurum","model":"A502 Aurum"},{"regex":"A503[ _]Optima","model":"A503 Optima"},{"regex":"A551 Sky 4G","model":"A551 Sky 4G"},{"regex":"A553 Power","model":"A553 Power"},{"regex":"A555 Universe","model":"A555 Universe"},{"regex":"ERGO[_ ]A556","model":"A556"},{"regex":"ERGO[_ ]F500","model":"F500"},{"regex":"ERGO[_ ]F501","model":"F501"},{"regex":"B500 First","model":"B500 First"},{"regex":"Force F500","model":"Force F500"},{"regex":"GoTab GBT9","model":"GoTab GBT9","device":"tablet"},{"regex":"GoTab Gti8","model":"GoTab GTi8","device":"tablet"},{"regex":"ERGO[_ ]Tab[ _]Crystal[ _]Lite","model":"Tab Crystal Lite","device":"tablet"},{"regex":"ERGO[_ ]Tab[ _]Hero[ _]II","model":"Tab Hero II","device":"tablet"}]},"Ericsson":{"regex":"(?:Ericsson(?:/ )?[a-z0-9]+)|(?:R380 2.0 WAP1.1)","device":"feature phone","models":[{"regex":"Ericsson(?:/ )?([a-z0-9]+)","model":"$1"},{"regex":"R380 2.0 WAP1.1","model":"R380"}]},"Energizer":{"regex":"PowerMax","device":"smartphone","models":[{"regex":"PowerMax(P[0-9]+S?)","model":"Power Max $1"}]},"eTouch":{"regex":"eTouch ?([a-z0-9]+)","device":"smartphone","model":"$1"},"Etuline":{"regex":"(ETL-S(?:3520|4521|5042|5084|6022)|ETL-T(?:752G|882G|9[78]0))[/); ]","device":"smartphone","models":[{"regex":"(ETL-S(?:[^/); ]+))","model":"$1"},{"regex":"(ETL-T(?:[^/); ]+))","device":"tablet","model":"$1"}]},"Storex":{"regex":"eZee[^a-z]*Tab ?([^;/]*) Build|STOREX LinkBox","device":"tablet","models":[{"regex":"eZee[^a-z]*Tab ?([^;/]*) Build","model":"eZee\'Tab$1"},{"regex":"STOREX LinkBox","model":"LinkBox","device":"tv"}]},"Evertek":{"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","device":"smartphone","models":[{"regex":"(E70[25]0HD|E805[01]HD|E9054HD|E8050HG|E7914HG)","device":"tablet","model":"Everpad $1"},{"regex":"(Ever(?:Glory|Shine|Miracle|Mellow|Classic|Trendy|Fancy|Vivid|Slim|Glow|Magic|Smart|Star)[^/;]*) Build","model":"$1"}]},"Evolio":{"regex":"Evolio|M4MAGIC","device":"smartphone","models":[{"regex":"M4MAGIC","model":"M4 Magic"},{"regex":"Evolio_M5Pro","model":"M5 Pro"},{"regex":"Evolio[ _](M6|S4 Cobalt|S5|X10|Yuppi)","model":"$1"}]},"Evolveo":{"regex":"EVOLVEO[ _]([^;/]*) Build","device":"smartphone","models":[{"regex":"Smart TV ([^;/]*) Build","device":"tv","model":"Smart TV $1"},{"regex":"EVOLVEO[ _]([^;/]*) Build","model":"$1"}]},"Explay":{"regex":"Explay|ActiveD[ _]|Atlant |Informer[ _][0-9]+|CinemaTV 3G|Surfer[ _][0-9\\\\.]|sQuad[ _][0-9\\\\.]|Onliner[1-3]|RioPlay|Leader","device":"tablet","models":[{"regex":"ActiveD[ _]7.4[ _]3G","model":"ActiveD 7.4 3G"},{"regex":"ActiveD[ _]8.2[ _]3G","model":"ActiveD 8.2 3G"},{"regex":"CinemaTV[ _]3G","model":"CinemaTV 3G"},{"regex":"Informer[ _]([0-9]+(?:[ _]3G)?)","model":"Informer $1"},{"regex":"Surfer[ _]([0-9\\\\.]+(?:[ _]3G)?)","model":"Surfer $1"},{"regex":"sQuad[ _]([0-9\\\\.]+(?:[ _]3G)?)","model":"sQuad $1"},{"regex":"Onliner([1-3])","model":"Onliner $1"},{"regex":"Atlant[;/) ]","device":"smartphone","model":"Atlant"},{"regex":"Explay[ _-]([^;/]+) Build","model":"$1"},{"regex":"Explay[ _-]([^;/]+)[;/)]","model":"$1"},{"regex":"(RioPlay)[;/) ]","device":"smartphone","model":"Rio Play"},{"regex":"Leader","model":"Leader"}]},"EvroMedia":{"regex":"Playpad[ _]","device":"tablet","models":[{"regex":"Playpad 3G GOO","model":"Play Pad 3G Goo"},{"regex":"PlayPad 3GTab XL","model":"Play Pad 3G Tab XL"}]},"EKO":{"regex":"EKO","device":"smartphone","models":[{"regex":"EKO[ _-]?([^;/)]+) Build","model":"$1"},{"regex":"EKO[ _-]?([^;/)]+)[);/ ]","model":"$1"}]},"Extrem":{"regex":"Rock X9+","device":"smartphone","models":[{"regex":"Rock X9+","model":"Rock X9+"}]},"Ezze":{"regex":"EZZE-|EZ[a-z0-9]+","device":"feature phone","models":[{"regex":"EZZE-([a-z0-9]+)","model":"$1"},{"regex":"EZ([a-z0-9]+)","model":"EZ$1"}]},"Ezio":{"regex":"EZIO-([a-z0-9]+)","device":"feature phone","model":"$1"},"Forstar":{"regex":"Amosta 3G5","device":"smartphone","models":[{"regex":"Amosta 3G5","model":"Amosta 3G5"}]},"Foxconn":{"regex":"InFocus M[0-9]+[a-z]?","device":"smartphone","models":[{"regex":"InFocus M([0-9]+[a-z]?)","model":"InFocus M$1"}]},"Fondi":{"regex":"Fondi[- _]([^;/)]+)|(T702|Q008B|Q010B|Q718B|Q902|T602B|T707G|T708B|T725B|T725B1|T907B)(?:\\\\)| Build)","device":"smartphone","models":[{"regex":"(T702|T602B)","model":"$1"},{"regex":"(Q008B|Q010B|Q718B|Q902|T707G|T708B|T725B|T725B1|T907B)","device":"tablet","model":"$1"},{"regex":"Fondi[- _]([^;/)]+)","model":"$1"}]},"Fairphone":{"regex":"(FP(?:1U?|2))[);/ ]","device":"smartphone","model":"$1"},"Famoco":{"regex":"(FX[123]00)","device":"smartphone","model":"$1"},"FiGO":{"regex":"ATRIUM II F55L2|TRIO F40LT|EPIC F50G|Gravity X55L|Orion M50L|ULTRA M50G|M405B|VIRTUE3|F55L Build","device":"smartphone","models":[{"regex":"ATRIUM II F55L2","model":"Atrium II"},{"regex":"(F55L)","model":"$1"},{"regex":"TRIO F40LT","model":"Trio F40LT"},{"regex":"EPIC F50G","model":"Epic F50G"},{"regex":"(Gravity X55L|Orion M50L)","model":"$1"},{"regex":"ULTRA M50G","model":"Prime"},{"regex":"M405B_8GB","model":"Virtue II 8GB"},{"regex":"M405B","model":"Virtue II"},{"regex":"VIRTUE3","model":"Virtue III"}]},"FNB":{"regex":"ConeXis (A[12]|X[12])|SP5045V","device":"smartphone","models":[{"regex":"SP5045V","model":"SP5045V"},{"regex":"ConeXis A1","model":"ConeXis A1"},{"regex":"ConeXis A2","model":"ConeXis A2"},{"regex":"ConeXis X1","model":"ConeXis X1"},{"regex":"ConeXis X2","model":"ConeXis X2"}]},"Fujitsu":{"regex":"F-01[FHJK]|F-02[EFGH]|F-03[DEFGH]|F-04[EG]|F-05[DEFJ]|F-06E|F-07[DE]|F-08D|F-09[DE]|F-10D|F-11D|F-12C|M532|FARTM933KZ[);/ ]","device":"smartphone","models":[{"regex":"F-01F","model":"Arrows NX F-01F"},{"regex":"F-01J","model":"Arrows NX F-01J"},{"regex":"F-01K","model":"Arrows NX F-01K"},{"regex":"F-01H","model":"Arrows Fit F-01H"},{"regex":"F-02E","model":"Arrows X F-02E"},{"regex":"F-02G","model":"Arrows NX F-02G"},{"regex":"F-02H","model":"Arrows NX F-02H"},{"regex":"F-03D","model":"Arrows Kiss F-03D"},{"regex":"F-03E","model":"Arrows Kiss F-03E"},{"regex":"F-03F","model":"Disney Mobile F-03F"},{"regex":"F-03H","model":"Arrows SV F-03H"},{"regex":"F-04E","model":"Arrows V F-04E"},{"regex":"F-04G","model":"Arrows NX F-04G"},{"regex":"F-05D","model":"Arrows X LTE F-05D"},{"regex":"F-05F","model":"Arrows NX F-05F"},{"regex":"F-05J","model":"Arrows Be F-05J"},{"regex":"F-06E","model":"Arrows NX F-06E"},{"regex":"F-07D","model":"Arrows \u03bc F-07D"},{"regex":"F-07E","model":"Disney Mobile F-07E"},{"regex":"F-08D","model":"Disney Mobile F-08D"},{"regex":"F-09D","model":"ANTEPRIMA F-09D"},{"regex":"F-09E","model":"Raku-Raku Smartphone Premium F-09E"},{"regex":"F-10D","model":"Arrows X F-10D"},{"regex":"F-11D","model":"Arrows Me F-11D"},{"regex":"F-12C","model":"F-12C"},{"regex":"F-02F","model":"Arrows Tab F-02F","device":"tablet"},{"regex":"F-03G","model":"Arrows Tab F-03G","device":"tablet"},{"regex":"F-05E","model":"Arrows Tab F-05E","device":"tablet"},{"regex":"FARTM933KZ","model":"Arrows Tab M504/HA4","device":"tablet"},{"regex":"M532[);/ ]","model":"Stylistic","device":"tablet"}]},"G-TiDE":{"regex":"G-TiDE","device":"smartphone","models":[{"regex":"Shining7","model":"Shining 7"},{"regex":"G-TiDE_(A1|S[34])","model":"$1"},{"regex":"G-TiDE V6","model":"V6"},{"regex":"E(57|60|66|72|77)","model":"$1"}]},"Gemini":{"regex":"(GEM[0-9]+[a-z]*)","device":"tablet","model":"$1"},"Geotel":{"regex":"GEOTEL","device":"smartphone","models":[{"regex":"G1","model":"G1"}]},"Ghia":{"regex":"GHIA|QS702","device":"smartphone","models":[{"regex":"QS702","model":"QS702"},{"regex":"GHIA_ZEUS_3G","model":"Zeus 3G"},{"regex":"GHIA_AXIS7","model":"Axis 7","device":"tablet"}]},"Gigabyte":{"regex":"GSmart [a-z0-9 ]+ Build|Gigabyte-[a-z0-9]+","device":"smartphone","models":[{"regex":"(GSmart [a-z0-9 ]+) Build","model":"$1"},{"regex":"Gigabyte-([a-z0-9]+)","model":"$1"}]},"Gigaset":{"regex":"Gigaset","device":"smartphone","models":[{"regex":"Gigaset QV(1030|830)","model":"Gigaset QV$1","device":"tablet"},{"regex":"Gigaset ([^;/]+) Build","model":"$1"},{"regex":"Gigaset ([^;/)]+)[);/ ]","model":"$1"}]},"Ginzzu":{"regex":"GINZZU[_ ]|((?:RS(?:7[14]|81|9[67])D)|S50[45]0|S5120|RS(6[12]|94)D|S40[23]0|RS8502|RS9602)[);/ ]","device":"smartphone","models":[{"regex":"GINZZU[_ ]?(S40[17]0|S4710|ST6040)","model":"$1"},{"regex":"GINZZU[_ ]?(GT-7105)","model":"$1","device":"tablet"},{"regex":"(RS6[12]D) ULTIMATE","model":"$1 Ultimate"},{"regex":"((?:RS(?:7[14]|81|9[67])D)|S50[45]0|S5120|S40[23]0|RS8502|RS9602|RS94D)[);/ ]","model":"$1"}]},"Gionee":{"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 ","device":"smartphone","models":[{"regex":"GN810[);/ ]","model":"GN810","device":"phablet"},{"regex":"GN([0-9]{3,4}[a-z]?)[);/ ]","model":"GN$1"},{"regex":"V188S[);/ ]","model":"V188S"},{"regex":"V188[);/ ]","model":"V188"},{"regex":"F103( Pro)? Build","model":"F103$1"},{"regex":"M7 Power","model":"M7 Power"},{"regex":"P5 mini Build","model":"P5 mini"},{"regex":"P7 Max Build","model":"P7 Max"},{"regex":"(?:(?:GIO-)?GIONEE[ _-])?Dream_D1[);/ ]","model":"Dream D1"},{"regex":"(?:GIO-)?GIONEE[ _-]([a-z0-9_-]+).*Android","model":"$1"},{"regex":"Android.*(?:GIO-)?GIONEE[ _-]([a-z0-9_-]+)","model":"$1"},{"regex":"(?:GIO-)?GIONEE[ _-]?([a-z0-9]+)","model":"$1","device":"feature phone"}]},"Grape":{"regex":"(?:Grape[ _])?GTM-5([^;/]+) Build","device":"smartphone","model":"GTM-5$1"},"Vizio":{"regex":"Vizio|VAP430|VTAB1008","device":"tv","models":[{"regex":"VAP430","model":"VAP430"},{"regex":"VTAB1008","device":"tablet","model":"VTAB1008"}]},"GOCLEVER":{"regex":"GOCLEVER|QUANTUM_[0-9]{3}|QUANTUM [0-9]{1}|QUANTUM 700N|QUANTUM_(1010N|1010M|900)|ARIES|INSIGNIA|ORION_|ELIPSO|LIBRA[ _]97","device":"smartphone","models":[{"regex":"QUANTUM_(1010N|1010M|900)","model":"QUANTUM $1","device":"tablet"},{"regex":"INSIGNIA_785_PRO","model":"INSIGNIA 785 PRO","device":"tablet"},{"regex":"(ORION|ARIES|ELIPSO)[_ ](71|101|102)","model":"$1 $2","device":"tablet"},{"regex":"TQ700N","model":"QUANTUM 700N","device":"tablet"},{"regex":"((?:QUANTUM|ARIES|INSIGNIA|ORION|ELIPSO)[ _-]?[^;/]+) Build","model":"$1"},{"regex":"GOCLEVER[ _-]TAB[ _-]?([^;/]+) Build","model":"TAB $1","device":"tablet"},{"regex":"GOCLEVER[ _-]?([^;/]+) Build","model":"$1"},{"regex":"TAB ([^;/)]+) Build/GOCLEVER","model":"TAB $1","device":"tablet"},{"regex":"([^;/)]+) Build/GOCLEVER","model":"$1"},{"regex":"GOCLEVER[ _-]?TAB[ _-]([^;/)]+)[;/)]","model":"TAB $1","device":"tablet"},{"regex":"GOCLEVER[ _-]?([^;/)]+)[;/)]","model":"$1"},{"regex":"LIBRA[ _]97","model":"Libra 97","device":"tablet"}]},"GoMobile":{"regex":"GO Onyx|GO[0-9]{3,4}","device":"smartphone","models":[{"regex":"GO Onyx","model":"Go Onyx"},{"regex":"GO([0-9]{3,4})","model":"Go$1"}]},"Goly":{"regex":"Goly[ _-]","device":"smartphone","models":[{"regex":"Goly[ _-]([^;/]+) Build","model":"$1"},{"regex":"Goly[ _-]([^;/)]+)[;/)]","model":"$1"}]},"Google":{"regex":"Nexus|GoogleTV|Glass|CrKey[^a-z0-9]|Pixel(?: Build|\\\\))|Pixel (?:XL|C|[23]|[23] XL)","device":"smartphone","models":[{"regex":"Glass","model":"Glass"},{"regex":"Galaxy Nexus","model":"Galaxy Nexus"},{"regex":"(Nexus (?:S|4|5X?|One))","model":"$1"},{"regex":"(Nexus (?:6P?))","device":"phablet","model":"$1"},{"regex":"(Nexus (?:7|9|10))","device":"tablet","model":"$1"},{"regex":"CrKey[^a-z0-9]","model":"Chromecast","device":"tv"},{"regex":"GoogleTV","device":"tv","model":"GoogleTV"},{"regex":"Pixel(?: Build|\\\\))","model":"Pixel"},{"regex":"Pixel XL","model":"Pixel XL"},{"regex":"Pixel 3 XL","model":"Pixel 3 XL"},{"regex":"Pixel 2 XL","model":"Pixel 2 XL"},{"regex":"Pixel 3","model":"Pixel 3"},{"regex":"Pixel 2","model":"Pixel 2"},{"regex":"Pixel C","device":"tablet","model":"Pixel C"}]},"Gradiente":{"regex":"GRADIENTE","device":"feature phone","models":[{"regex":"GRADIENTE-([a-z0-9]+)","model":"$1"},{"regex":"GRADIENTE ([a-z0-9\\\\-]+)","model":"$1"}]},"Grundig":{"regex":"GR?-TB[0-9]+[a-z]*|GRUNDIG|portalmmm/2\\\\.0 G","device":"tv","models":[{"regex":"(GR?-TB[0-9]+[a-z]*)","device":"tablet","model":"$1"},{"regex":"GRUNDIG ([a-z0-9]+)","model":"$1"},{"regex":"portalmmm/2\\\\.0 G([a-z0-9]+)","model":"G$1"}]},"Hafury":{"regex":"HAFURY","device":"smartphone","models":[{"regex":"(MIX|UMAX)","model":"$1"}]},"Haier":{"regex":"Haier|(?:HW-)?W(?:716|757|860|970)[);/ ]|(?:HM-)?(G(?:152|303|353|552|70[01])?-FL|G(?:303)?-W|I(?:557)?-FL)|(?:PAD[ _](D71|G781|d85))","device":"smartphone","models":[{"regex":"(?:HM-)?(G(?:152|353|552|70[01])|G(?:303)|I(?:557))","model":"$1"},{"regex":"(?:HW-)?W(716|757|860|970)[);/ ]","model":"W$1"},{"regex":"PAD[ -_](D71|G781|d85)","device":"tablet","model":"$1"},{"regex":"Haier[ _\\\\-](H[WT]-[^/;]+) Build","model":"$1"},{"regex":"Haier[ _\\\\-](H[WT]-[a-z0-9_\\\\-]+)","model":"$1"},{"regex":"Haier[ _\\\\-](sy[0-9]+)","model":"$1"},{"regex":"Haier[ _\\\\-]([a-z0-9\\\\-]+)","model":"$1","device":"feature phone"}]},"HannSpree":{"regex":"(HSG[0-9]{4})|SN97T41W|SN1AT71W\\\\(B\\\\)|SN70T51A|SN70T31?|T7-QC","device":"tablet","models":[{"regex":"(HSG[0-9]{4})","model":"$1"},{"regex":"SN1AT71W\\\\(B\\\\)","model":"SN1AT71W(B)"},{"regex":"SN70T31","model":"SN70T31"},{"regex":"SN70T3","model":"SN70T3"},{"regex":"SN70T51A","model":"SN70T51A"},{"regex":"SN97T41W","model":"SN97T41W"},{"regex":"T7-QC","model":"SNAT71BUE"}]},"Hasee":{"regex":"Hasee","device":"smartphone","models":[{"regex":"Hasee ([^;/]+) Build","model":"$1"},{"regex":"Hasee ([^;/)]+)[);/ ]","model":"$1"}]},"Hisense":{"regex":"(?:HS-)?Hisense ([^;/]+) Build|Hisense [^);/]+|HS-(?:G|U|EG?|I|L|T|X)[0-9]+[a-z0-9\\\\-]*|E270BSA|M470BS[AE]|E2281|EG680|HLTE700T","device":"smartphone","models":[{"regex":"E270BSA","device":"tablet","model":"Sero 7"},{"regex":"M470BS[AE]","device":"tablet","model":"Sero 7 Pro"},{"regex":"E2281","device":"tablet","model":"Sero 8"},{"regex":"HLTE700T","model":"A6"},{"regex":"EG680","model":"Smartfren Andromax Z"},{"regex":"(HS-(?:G|U|EG?|I|L|T|X)[0-9]+[a-z0-9\\\\-]*)","model":"$1"},{"regex":"(?:HS-)?Hisense ([^;/]+) Build","model":"$1"},{"regex":"Hisense ([^);/]+)","model":"$1"}]},"Hi-Level":{"regex":"HLV-T([a-z0-9]+)","device":"tablet","model":"HLV-T$1"},"Hoffmann":{"regex":"(HOFFMANN|Neo[_ ]A[139]00)[);/ ]","device":"smartphone","models":[{"regex":"Neo[_ ](A[139]00)","model":"Neo $1"},{"regex":"HOFFMANN[ _]X[-_ ](Prime|Twist)","model":"X $1"}]},"Homtom":{"regex":"Homtom|(?:HT[0-9]{1,2})(?: ?Pro)?[);/ ]","device":"smartphone","models":[{"regex":"(HT[0-9]{1,2}(?: ?Pro)?)[);/ ]","model":"$1"},{"regex":"Homtom ([^;/]+) Build","model":"$1"}]},"Hosin":{"regex":"HOSIN[ _-]","device":"smartphone","models":[{"regex":"HOSIN[ _-]([^;/]+) Build","model":"$1"},{"regex":"HOSIN[ _-]([^;/]+)[;/)]","model":"$1"}]},"Hoozo":{"regex":"HOOZO[_ ](MT232|MT Pad 116 LTE|X1001)[);/ ]","device":"tablet","model":"$1"},"Huawei":{"regex":"(HW-)?(?:Huawei|Ideos|Honor[ _]?|(?:(?:AGS|AGS2|ALE|ALP|AMN|ANE|ARE|ARS|ATH|ATU|AUM|BAC|BAH|BAH2|BG2|BGO|BKK|BKL|BLA|BLL|BLN|BND|BTV|CAG|CAM|CAN|CAZ|CHC|CHE[12]?|CHM|CLT|CMR|COL|COR|CPN|CRO|CRR|CUN|DIG|DIG|DLI|DRA|DUA|DUB|DUK|EDI|ELE|EML|EVA|EVR|FDR|FIG|FLA|FRD|GRA|HLK|HMA|HRY|HWI|H[36]0|INE|JAT|JDN|JDN2|JKM|JMM|JSN|KIW|KNT|KOB|KSA|LDN|LLD|LND|LON|LUA|LY[AO]|MAR|MHA|MRD|MYA|NCE|NEM|NEO|NXT|PAR|PCT|PIC|PLE|PLK|POT|PRA|RIO|RNE|RVL|SCC|SCL|SEA|SHT|SLA|SNE|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,2}?)|H1711|U(?:8230|8500|8661|8665|8667|8800|8818|8860|9200|9508))[);/ ])|hi6210sft|HRY-LX1MEB|GEM-70[1-3]L|PE-UL00","device":"smartphone","models":[{"regex":"ARS-([AT]L00|L22)[);/ ]","model":"Y Max"},{"regex":"U(8230|8661|8667)[);/ ]","model":"U$1"},{"regex":"TAG-[ACT]L00","model":"Enjoy 5S"},{"regex":"DIG-(?:TL10|AL00)","model":"Enjoy 6S"},{"regex":"NCE-AL[10]0","model":"Enjoy 6"},{"regex":"SLA-(?:AL00|TL10)","model":"Enjoy 7"},{"regex":"DUA-[TA]L00","model":"Honor Play 7"},{"regex":"FIG-(?:AL[10]0|TL10)","model":"Enjoy 7S"},{"regex":"LDN-(?:AL[12]0|TL20)","model":"Enjoy 8"},{"regex":"ATU-(?:AL1|TL10)","model":"Enjoy 8e"},{"regex":"FLA-AL10","model":"Enjoy 8 Plus"},{"regex":"MRD-[TA]L00","model":"Enjoy 9e"},{"regex":"U8500[);/ ]","model":"Ideos X2"},{"regex":"U8510[);/ ]","model":"Ideos X3"},{"regex":"U8665[);/ ]","model":"Fusion 2"},{"regex":"G735-L(?:03|12|23)","model":"G Play"},{"regex":"CHC-U(?:0[13]|23)","model":"G Play Mini"},{"regex":"DIG-L21HN","model":"Honor 6C"},{"regex":"DIG-L2[12]","model":"GR3 (2017)"},{"regex":"BLL-L2[12]","model":"GR5 (2017)"},{"regex":"U8800[);/ ]","model":"Ideos X5"},{"regex":"U8818[);/ ]","model":"Ascend G300"},{"regex":"G527-U081","model":"Ascend G527"},{"regex":"G620S-L0[13]","model":"Ascend G620S"},{"regex":"G630-U251","model":"Ascend G630"},{"regex":"U8860[);/ ]","model":"Honor"},{"regex":"H1711[);/ ]","model":"Ascend XT2"},{"regex":"U9200[);/ ]","model":"Ascend P1"},{"regex":"U9500[);/ ]","model":"Ascend D1"},{"regex":"Y221-U(?:[12]2|[0345]3)","model":"Ascend Y221"},{"regex":"Y550-L03","model":"Ascend Y550"},{"regex":"U9508[);/ ]","model":"Honor 2"},{"regex":"YAL-(?:L21|AL00)","model":"Honor 20"},{"regex":"YAL-L41[);/ ]","model":"Honor 20 Pro"},{"regex":"VOG-AL00[);/ ]","model":"Honor P30 Pro"},{"regex":"CHE2?-[UT]L00[HM]?|CHE1-CL[12]0|CHE2-L(?:1[12]|23)|Che1-L04|CHE-TL00","model":"Honor 4X"},{"regex":"CHM-[CUT]L00[HM]?","model":"Honor Play 4C"},{"regex":"JDN-AL00","model":"Honor Pad 2","device":"tablet"},{"regex":"JAT-AL00","model":"Honor Play 8A"},{"regex":"KNT-(?:AL[12]0|[TU]L10)","model":"Honor V8"},{"regex":"DUK-AL20","model":"Honor V9"},{"regex":"JMM-AL[10]0","model":"Honor V9 Play"},{"regex":"BKL-(?:AL00|AL20|AL30|L09|TL10)","model":"Honor V10"},{"regex":"PCT-[TA]L10","model":"Honor V20"},{"regex":"BKL-L04","model":"Honor View 10"},{"regex":"PCT-L29","model":"Honor View 20"},{"regex":"(?:Honor_|HW-)?G621-TL00M?[);/ ]","model":"G621"},{"regex":"(?:Honor_|HW-)?H30-(?:C00|L01M?|L02|U10|T00|T10)(?:_TD)?[);/ ]","model":"Honor 3C"},{"regex":"(?:Honor_|HW-)?SCL-(?:AL00|CL00|TL00H?)(?:_TD)?[);/ ]","model":"Honor 4A"},{"regex":"(?:Honor_|HW-)?CAM-(?:AL00|TL00H|TL00)(?:_TD)?[);/ ]","model":"Honor 5A"},{"regex":"(?:Honor_|HW-)?KIW-(?:AL10|TL00H|[TC]L00|L2[124]|UL00)(?:_TD)?[);/ ]","model":"Honor 5X"},{"regex":"(?:Honor_|HW-)?CHM-U01(?:_TD)?[);/ ]","model":"Honor 4C"},{"regex":"(?:Honor_|HW-)?H60-L(?:01|02|03|04|11|12)(?:_TD)?[);/ ]","model":"Honor 6"},{"regex":"MYA-TL10","model":"Honor 6 Play"},{"regex":"PE-UL00","model":"Honor 6 Plus"},{"regex":"(?:Honor_|HW-)?SCL-L01(?:_TD)?[);/ ]","model":"Honor Y6"},{"regex":"(?:Honor_|HW-)?LYO-L21","model":"Honor Y6 II Compact"},{"regex":"(?:Honor_|HW-)?PLK-(?:AL10|CL00|TL00|TL01H?|UL00|L01)[);/ ]","model":"Honor 7"},{"regex":"AUM-(?:AL[20]0|L33[A]?|TL20)","model":"Honor 7A"},{"regex":"AUM-L29","model":"Honor 7A Pro"},{"regex":"(?:Honor_|HW-)?(?:LND-(?:AL[34]0|L29|TL40)|AUM-L41)[);/ ]","model":"Honor 7C"},{"regex":"(?:Honor_|HW-)?DUA-(?:L22|LX3)[);/ ]","model":"Honor 7S"},{"regex":"(?:Honor_|HW-)?NEM-(?:AL10|L51|UL10|TL00)[);/ ]","model":"Honor 5C"},{"regex":"(?:Honor_|HW-)?NEM-(?:L22|TL00H)[);/ ]","model":"Honor 5C Dual SIM"},{"regex":"(?:Honor_|HW-)?NEM-L21[);/ ]","model":"Honor 7 Lite"},{"regex":"(?:HONOR[ _]?)?DLI-(?:AL10|L[24]2|TL20)","model":"Honor 6A"},{"regex":"JMM-L22","model":"Honor 6C Pro"},{"regex":"(?:HONOR[ _]?)?BLN-(?:L2[124]|AL[1234]0|TL[01]0)","model":"Honor 6X"},{"regex":"ATH-(?:AL00|UL00|TL00H)","model":"Honor 7i"},{"regex":"(?:HONOR[ _]?)?BND-(?:AL[01]0|TL10|L2[14]|L31)","model":"Honor 7X"},{"regex":"FRD-(?:AL[01]0|L0[249]|L1[49]|DL00)","model":"Honor 8"},{"regex":"JAT-L(29|X[13])","model":"Honor 8A"},{"regex":"BKK-(?:AL[10]0|L21|L22|LX2)","model":"Honor 8C"},{"regex":"JSN-L(?:2[123]|42)|JSN-[TA]L00[a]?","model":"Honor 8X"},{"regex":"KSA-LX9","model":"Honor 8S"},{"regex":"ARE-(?:AL[10]0|L22HN|TL00)","model":"Honor 8X Max"},{"regex":"PRA-(?:AL00X|AL00|TL10)","model":"Honor 8 Lite"},{"regex":"DUK-(?:L09|TL30)","model":"Honor 8 Pro"},{"regex":"JAT-L41","model":"Honor 8A Pro"},{"regex":"VEN-L22","model":"Honor 8 Smart"},{"regex":"STF-(?:AL[10]0|L09|TL10)","model":"Honor 9"},{"regex":"HLK-AL00","model":"Honor 9X"},{"regex":"LLD-AL[23]0","model":"Honor 9i"},{"regex":"LLD-(?:AL[01]0|L[23]1|TL10)","model":"Honor 9 Lite"},{"regex":"COL-(?:AL[01]0|TL[01]0|L29)","model":"Honor 10"},{"regex":"HRY-(?:AL00|LX[12])|HRY-LX1MEB","model":"Honor 10 Lite"},{"regex":"VKY-TL00","model":"Honor P10 Plus"},{"regex":"CAM-UL00","model":"Honor Holly 3"},{"regex":"TRT-AL00","model":"Honor Holly 4 Plus"},{"regex":"TNY-AL00","model":"Honor Magic 2"},{"regex":"COR-(?:AL[01]0|L29|TL10)","model":"Honor Play"},{"regex":"EDI-AL10","model":"Honor Note 8"},{"regex":"RVL-AL09","model":"Honor Note 10"},{"regex":"GRA-(?:L09|UL00)","model":"P8"},{"regex":"ALE-L(?:02|21|23)|ALE-UL00|ALE-TL00","model":"P8 Lite (2015)"},{"regex":"PRA-L(?:A1|X2|X1|X3)|hi6210sft","model":"P8 Lite (2017)"},{"regex":"CAN-L[01][123]","model":"Nova"},{"regex":"CAZ-(?:AL[01]0|TL[12]0)","model":"Nova"},{"regex":"PIC-(?:[AT]L00|LX9)","model":"Nova 2"},{"regex":"HWI-[AT]L00","model":"Nova 2S"},{"regex":"BAC-(?:L01|TL00)","model":"Nova 2 Plus"},{"regex":"BAC-(?:AL00|L2[12])","model":"Nova 2 Plus Dual SIM"},{"regex":"RNE-L[02]2","model":"Nova 2I"},{"regex":"PAR-(?:[AT]L00|LX[19]|TL20)","model":"Nova 3"},{"regex":"ANE-AL00","model":"Nova 3e"},{"regex":"INE-(?:AL00|LX1r|LX[12]|TL00)","model":"Nova 3i"},{"regex":"SEA-AL10","model":"Nova 5 Pro"},{"regex":"VCE-(L22|[AT]L00)","model":"Nova 4"},{"regex":"MAR-AL00","model":"Nova 4e"},{"regex":"WAS-AL00","model":"Nova Youth"},{"regex":"DIG-L01","model":"Nova Smart"},{"regex":"RIO-L03","model":"GX8"},{"regex":"EVA-(?:AL[10]0|L[012]9|[TCD]L00)","model":"P9"},{"regex":"VNS-L(?:[23]1|62)","model":"P9 Lite"},{"regex":"SLA-L(?:02|03|22|23)","model":"P9 Lite Mini"},{"regex":"DIG-L(?:03|23)","model":"P9 Lite Smart"},{"regex":"VIE-(?:AL10|L[02]9)","model":"P9 Plus"},{"regex":"VTR-(?:L[02]9|AL00|TL00)","model":"P10"},{"regex":"WAS-(?:L(?:X1|X1A|X2|X2J|X3|03T)|TL10)","model":"P10 Lite"},{"regex":"BAC-L[02]3","model":"P10 Selfie"},{"regex":"VKY-(?:AL00|L09|L29)","model":"P10 Plus"},{"regex":"EML-(?:[TA]L00|L[02]9)","model":"P20"},{"regex":"ANE-(?:LX[123]|TL00)","model":"P20 Lite"},{"regex":"CLT-(?:AL0[01]|TL00|L(?:04|[02]9))","model":"P20 Pro"},{"regex":"ELE-L(?:04|09|29)|ELE-AL00","model":"P30"},{"regex":"VOG-L(?:04|09|29)|VOG-TL00","model":"P30 Pro"},{"regex":"MAR-LX(1M|2)","model":"P30 Lite"},{"regex":"MAR-LX[13]A","model":"P30 Lite Dual SIM"},{"regex":"FIG-L(?:A1|X[123])","model":"P smart"},{"regex":"STK-LX1","model":"P smart Z"},{"regex":"POT-LX[13]","model":"P smart (2019)"},{"regex":"POT-[TA]L00a","model":"9S"},{"regex":"CRO-(?:L[02]2|U00)","model":"Y3 (2017)"},{"regex":"CAG-L[02]2","model":"Y3 (2018)"},{"regex":"LUA-U22","model":"Y3II"},{"regex":"CUN-L(?:0[123]|2[123]|33)","model":"Y5II"},{"regex":"CUN-U29","model":"Y5II"},{"regex":"MYA-(?:L(?:02|03|2[23])|U29)","model":"Y5 (2017)"},{"regex":"AMN-LX[129]","model":"Y5 (2019)"},{"regex":"CRO-L[02]3","model":"Y5 Lite (2017)"},{"regex":"CAG-L[02]3","model":"Y5 Lite (2018)"},{"regex":"DRA-(?:LX2|AL00)","model":"Y5 Prime (2018)"},{"regex":"DRA-LX5","model":"Y5 lite"},{"regex":"MYA-L13","model":"Y5 Pro (2017)"},{"regex":"SCC-U21","model":"Y6"},{"regex":"MYA-L11","model":"Y6 (2016)"},{"regex":"MYA-(L41|AL10)","model":"Y6 (2017)"},{"regex":"CAM-L(?:03|21|23|32)","model":"Y6II"},{"regex":"ATU-L(?:11|21|22|X3)","model":"Y6 (2018)"},{"regex":"MRD-L(?:X1[F]?|X3)","model":"Y6 (2019)"},{"regex":"TIT-(?:AL00|L01)","model":"Y6 Pro"},{"regex":"MRD-LX2","model":"Y6 Pro (2019)"},{"regex":"ATU-L(?:31|42)","model":"Y6 Prime (2018)"},{"regex":"TRT-LX[123]","model":"Y7 (2017)"},{"regex":"LDN-L(?:01|X3)","model":"Y7 (2018)"},{"regex":"DUB-(?:LX[13]|TL00)","model":"Y7 (2019)"},{"regex":"DUB-AL20","model":"Y7 Pro (2019)"},{"regex":"LDN-(?:AL00|L21)|TRT-TL10","model":"Y7 Prime"},{"regex":"LDN-(?:LX2|TL10)|TRT-(?:L21A|L53)","model":"Y7 Prime (2018)"},{"regex":"DUB-(?:LX2|AL00)","model":"Y7 Pro (2019)"},{"regex":"FLA-(LX[123]|AL20|TL10)","model":"Y9 (2018)"},{"regex":"JKM-(?:[TA]L00|LX[123])","model":"Y9 (2019)"},{"regex":"STK-(L2[12]|LX3)","model":"Y9 Prime (2019)"},{"regex":"Y625-U03","model":"Y625"},{"regex":"Y635-L0[123]","model":"Y635"},{"regex":"Y635-L21","model":"Y635 Dual SIM"},{"regex":"NXT-(?:AL10|L29)","model":"Mate 8"},{"regex":"MHA-(?:L[02]9|[AT]L00)","model":"Mate 9"},{"regex":"BLL-L23","model":"Mate 9 Lite"},{"regex":"LON-(?:AL00|L29)","model":"Mate 9 Pro"},{"regex":"ALP-(?:[TA]L00|L[02]9)","model":"Mate 10"},{"regex":"RNE-(?:AL00|L(?:01|03|21|23))","model":"Mate 10 Lite"},{"regex":"BLA-(?:A09|L[02]9|[TA]L00)","model":"Mate 10 Pro"},{"regex":"HMA-(?:[AT]L00|L[02]9)","model":"Mate 20"},{"regex":"VOG-AL10","model":"P30 Pro"},{"regex":"LYA-AL00P","model":"Mate 20 RS"},{"regex":"LYA-(?:AL[01]0|L[02]9|L0C|TL00)","model":"Mate 20 Pro"},{"regex":"SNE-(?:AL00|LX[0-3])","model":"Mate 20 Lite"},{"regex":"EVR-(?:[TA]L00|L29)","model":"Mate 20 X"},{"regex":"CRR-(?:L09|UL00)","model":"Mate S"},{"regex":"NEO-AL00","model":"Mate RS"},{"regex":"NEO-L29","model":"Mate RS Porsche Design"},{"regex":"BND-L34","model":"Mate SE"},{"regex":"Bucare Y330-U05","model":"Y330-U05"},{"regex":"DRA-L(?:01|03|21|23|X3)","model":"Y5 (2018)"},{"regex":"ATH-UL0[16]","model":"ShotX"},{"regex":"T1-A21w","device":"tablet","model":"Honor Tablet Note"},{"regex":"CMR-(?:AL[01]9|W09)","device":"tablet","model":"MediaPad M5 10.8"},{"regex":"GEM-70[1-3]L","device":"tablet","model":"MediaPad X2"},{"regex":"JDN2-(:?L09|AL00)|BAH2-(?:L09|W19)","device":"tablet","model":"MediaPad M5 lite"},{"regex":"SHT-(?:AL|W)09","device":"tablet","model":"MediaPad M5 8.4"},{"regex":"VRD-AL09","device":"tablet","model":"MediaPad M6 8.4"},{"regex":"BTV-W09","device":"tablet","model":"MediaPad M3 8"},{"regex":"BAH-W09|CPN-(?:L|W)09|CPN-AL00","device":"tablet","model":"MediaPad M3 Lite"},{"regex":"BAH-(?:L09|AL00)","device":"tablet","model":"MediaPad M3 Lite 10"},{"regex":"BTV-DL09","device":"tablet","model":"MediaPad M3"},{"regex":"AGS2-(?:[LW]09|L03)","device":"tablet","model":"MediaPad T5 10"},{"regex":"AGS-(?:L0[39]|W09)","device":"tablet","model":"MediaPad T3 10"},{"regex":"KOB-(?:L|W)09","device":"tablet","model":"MediaPad T3 8"},{"regex":"BG2-(?:U0[13]|W09)","device":"tablet","model":"MediaPad T3 7"},{"regex":"BGO-L03","device":"tablet","model":"MediaPad T2 7.0"},{"regex":"(?:BGO-DL09|PLE-70[13]L)","device":"tablet","model":"MediaPad T2 7.0 Pro"},{"regex":"JDN-L01","device":"tablet","model":"MediaPad T2 8.0 Pro"},{"regex":"FDR-A01(?:L|w)","device":"tablet","model":"MediaPad T2 10.0 Pro"},{"regex":"T1-A21L","device":"tablet","model":"MediaPad T1 10"},{"regex":"(MediaPad[^/;]*) Build","device":"tablet","model":"$1"},{"regex":"Ideos([^;/]*) Build","model":"Ideos$1"},{"regex":"(?:HUAWEI )?MT([0-9]+)","device":"phablet","model":"Ascend Mate $1"},{"regex":"Huawei[ _\\\\-]?([^/;]*) Build","model":"$1"},{"regex":"(?:HW-)?Huawei(?:/1\\\\.0/0?(?:Huawei))?[_\\\\- /]?([a-z0-9\\\\-_]+)","model":"$1"},{"regex":"Huawei; ([a-z0-9 \\\\-]+)","model":"$1"}]},"Hyundai":{"regex":"Hyundai|Ultra (?:Active|Air|Charm|Dream|Energy|Latitude|Link|Live|Shadow|Shine|Storm|Style|Sync|Trend|Vision|Wave)|G(24027|2552[34])K|W25042L","device":"smartphone","models":[{"regex":"Ultra (Active|Air|Charm|Dream|Energy Lite|Energy Plus|Energy|Latitude|Link|Live II|Live|Shadow|Shine|Storm|Style|Sync|Trend|Vision|Wave)","model":"Ultra $1"},{"regex":"G25523K","model":"Eternity G23"},{"regex":"G25524K","model":"Eternity G24"},{"regex":"G24027K","model":"Eternity G27"},{"regex":"W25042L","model":"Eternity W42"},{"regex":"Hyundai ([^;/]+) Build","model":"$1","device":"tablet"},{"regex":"Hyundai[ _\\\\-]?([a-z0-9_-]+)","model":"$1","device":"tablet"}]},"i-Joy":{"regex":"i-Joy|i-Call|(?:Neon[79]|Sygnus|Deox|Elektra (?:M|L|XL|XXL))[);/ ]","device":"smartphone","models":[{"regex":"Elektra M[);/ ]","model":"Elektra M"},{"regex":"Elektra L[);/ ]","model":"Elektra L"},{"regex":"Elektra XL[);/ ]","model":"Elektra XL"},{"regex":"Elektra XXL[);/ ]","model":"Elektra XXL","device":"phablet"},{"regex":"Neon([79])[);/ ]","model":"Neon $1","device":"tablet"},{"regex":"Sygnus[);/ ]","model":"Sygnus","device":"tablet"},{"regex":"Deox[);/ ]","model":"Deox","device":"tablet"},{"regex":"i-Call ([^;/]+) Build","model":"i-Call $1"},{"regex":"i-Joy ([^;/]+) Build","model":"$1"}]},"iBall":{"regex":"iBall[ _]([^/;]*)[ _]Build","device":"tablet","model":"$1"},"iRola":{"regex":"iRola ([^/;]+) Build|(DX758|DX752|DX752|DX758[ _]?Pro) Build","device":"tablet","models":[{"regex":"DX758[ _]?Pro","model":"DX758 Pro"},{"regex":"(DX758|DX752)","model":"$1"},{"regex":"iRola ([^/;]+) Build","model":"$1"}]},"Irbis":{"regex":"TZ(150|165|17[5-8]|77[17]|753|794|8[34]1|85[47]|86[45]|88[124]|89[12]|49|716|772)|T(?:Zone|Zart)|(SP(?:0[56]|2[01]|4[1-36]|45[45]|50))[;)\\\\ ]","device":"tablet","models":[{"regex":"(TZ(?:150|165|17[5-8]|77[17]|753|794|8[34]1|85[47]|86[45]|88[124]|89[12]|49|716|772)|T(?:Zone|Zart))[;)\\\\ ]","model":"$1"},{"regex":"(SP(?:0[56]|2[01]|4[1-36]|45[45]|50))[;)\\\\ ]","device":"smartphone","model":"$1"}]},"iBerry":{"regex":"AUXUS ([^/;]+) Build","device":"smartphone","models":[{"regex":"AUXUS (Core[^/;]+) Build","device":"tablet","model":"$1"},{"regex":"AUXUS ([^/;]+) Build","model":"$1"}]},"iHunt":{"regex":"iHunt|One_ Love_|TITAN_P11000_PRO|Like_(3|4U|3_Pro)|X300 Elite","device":"smartphone","models":[{"regex":"iHunt_Like","model":"Like"},{"regex":"One_ Love_","model":"One Love"},{"regex":"TITAN_P11000_PRO","model":"Titan P11000 Pro"},{"regex":"Like_3_Pro","model":"Like 3 Pro"},{"regex":"Like_3","model":"Like 3"},{"regex":"Like_4U","model":"Like 4U"},{"regex":"X300 Elite","model":"X300 Elite"}]},"IconBIT":{"regex":"NT-(3506M|0704S|0909T|1009T|10[01]1T|1017T|3601P/3602P|3603P|3702S|3805C|3905T|3701S|0701S|0805C|0902S|370[23]M)","device":"tablet","models":[{"regex":"NT-3506M","device":"smartphone","model":"NetTAB Mercury Quad FHD"},{"regex":"NT-0704S","model":"NetTAB Sky LE"},{"regex":"NT-0909T","model":"NetTAB Thor IZ"},{"regex":"NT-1009T","model":"NetTAB Thor quad II"},{"regex":"NT-10[01]1T","model":"NetTAB Thor LE"},{"regex":"NT-1017T","model":"NetTAB Thor 3G quad"},{"regex":"NT-3601P/3602P","model":"NetTAB Pocket 3G"},{"regex":"NT-3603P","model":"NetTAB Pocket 3G Slim"},{"regex":"NT-3702S","model":"NetTAB Sky HD 3G"},{"regex":"NT-3805C","model":"NetTAB Skat 3G quad"},{"regex":"NT-3701S","model":"NetTAB Sky 3G duo"},{"regex":"NT-3905T","model":"NetTAB Thor ZX 3G"},{"regex":"NT-0701S","model":"NetTAB Sky net"},{"regex":"NT-0805C","model":"NetTAB Skat MX"},{"regex":"NT-0902S","model":"NetTAB Space quad RX"},{"regex":"NT-3702M","model":"NetTAB Matrix 3G duo"},{"regex":"NT-3703M","model":"NetTAB Matrix 3GT"}]},"LYF":{"regex":"(LYF[ _])?LS-[456][0-9]{3}|LYF/[^/]+/","device":"smartphone","models":[{"regex":"LS-4004","model":"Flame 2"},{"regex":"LS-5501","model":"Earth 1"},{"regex":"LS-5021","model":"Earth 2"},{"regex":"LS-5505","model":"Water F1"},{"regex":"LS-4503","model":"Flame LS-4503"},{"regex":"LS-4001","model":"Flame 3"},{"regex":"LS-4003","model":"Flame 4"},{"regex":"LS-4002","model":"Flame 5"},{"regex":"LS-4005","model":"Flame 6"},{"regex":"(LYF[ _])?LS-4006","model":"Flame 7"},{"regex":"LS-4008","model":"Flame 7S"},{"regex":"LS-450[58]","model":"Flame 8"},{"regex":"LS-5002","model":"Water 1"},{"regex":"LS-5005","model":"Water 4"},{"regex":"LS-5006","model":"Water 6"},{"regex":"LS-5008","model":"Water 2"},{"regex":"LS-5009","model":"Wind 6"},{"regex":"LS-5013","model":"Wind 5"},{"regex":"LS-5014","model":"Wind 4"},{"regex":"LS-5010","model":"Wind 1"},{"regex":"LS-5015","model":"Water 8"},{"regex":"LS-5016","model":"Wind 7"},{"regex":"LS-5504","model":"Water 7"},{"regex":"LS-5017","model":"Water 11"},{"regex":"LS-5018","model":"Wind 4S"},{"regex":"LS-5020","model":"Water 10"},{"regex":"LS-5201","model":"Water F1S"},{"regex":"LS-5502","model":"Wind 3"},{"regex":"LS-5503","model":"Water 3"},{"regex":"LS-5506","model":"Water 9"},{"regex":"LS-6001","model":"Wind 2"},{"regex":"LYF/([^/]+)/","model":"$1"}]},"Lumus":{"regex":"NEOSR620[;)/ ]","device":"smartphone","model":"Neo SR620"},"M4tel":{"regex":"M4 SS[0-9]{4}(?:-R)?|M4_B[23]","device":"smartphone","models":[{"regex":"SS1050","model":"Joy"},{"regex":"SS1060","model":"Live"},{"regex":"SS1070","model":"Sense"},{"regex":"SS1080","model":"Max One"},{"regex":"SS1090","model":"Max Ultra"},{"regex":"SS4020","model":"Play"},{"regex":"SS4040","model":"In Touch"},{"regex":"SS4045","model":"Style"},{"regex":"SS4345","model":"Soul Mini"},{"regex":"SS4350","model":"Soul"},{"regex":"SS4445","model":"Style Access"},{"regex":"SS4450","model":"Share"},{"regex":"SS4451","model":"Believe"},{"regex":"SS4452","model":"Dream"},{"regex":"SS4453","model":"Inspiration"},{"regex":"SS4455","model":"Excite"},{"regex":"SS4456","model":"Evolution"},{"regex":"SS4457-R","model":"Ever"},{"regex":"SS4457","model":"Elegance"},{"regex":"SS4458-R","model":"Feel Plus"},{"regex":"SS4458","model":"Attitude"},{"regex":"M4_B([23])","model":"B$1"}]},"IMO Mobile":{"regex":"IMO Q2","device":"smartphone","models":[{"regex":"IMO Q2","model":"Q2"}]},"iLA":{"regex":"iLA[-_ ](Silk|X)[);/ ]","device":"smartphone","model":"$1"},"iNew":{"regex":"iNew|(?:V7A|V3 Plus|V3-?E|V3C)(?: Build|[;/\\\\)])","device":"smartphone","models":[{"regex":"V3C(?: Build|[;/\\\\)])","model":"V3C"},{"regex":"V3-?E(?: Build|[;/\\\\)])","model":"V3-E"},{"regex":"V3 Plus(?: Build|[;/\\\\)])","model":"V3 Plus"},{"regex":"V7A(?: Build|[;/\\\\)])","model":"V7A"},{"regex":"iNew[ -_]([^;/]+) Build","model":"$1"}]},"iPro":{"regex":"Kylin[ _]5.[05]","device":"smartphone","models":[{"regex":"Kylin_5.0S","model":"Kylin 5.0S"},{"regex":"Kylin 5.0","model":"Kylin 5.0"},{"regex":"Kylin 5.5","model":"Kylin 5.5"}]},"Infinix":{"regex":"Infinix","device":"smartphone","models":[{"regex":"Infinix[ _-]X260","model":"Buzz"},{"regex":"Infinix[ _-]X502","model":"Alpha Marvel"},{"regex":"Infinix[ _-]X570","model":"Alpha"},{"regex":"Infinix[ _-]X350","model":"Surf Smart"},{"regex":"Infinix[ _-]X351","model":"Surf Smart 3G"},{"regex":"Infinix[ _-]X352","model":"Surf Smart 2"},{"regex":"Infinix[ _-]X403","model":"Surf Spice"},{"regex":"Infinix[ _-]X503","model":"Surf Bravo"},{"regex":"Infinix[ _-]X511","model":"Surf Noir"},{"regex":"Infinix[ _-]X400","model":"Race"},{"regex":"Infinix[ _-]X401","model":"Race Lite"},{"regex":"Infinix[ _-]X450","model":"Race Bolt"},{"regex":"Infinix[ _-]X451","model":"Race Bolt Q"},{"regex":"Infinix[ _-]X454","model":"Race Bolt 2"},{"regex":"Infinix[ _-]X500","model":"Race Eagle"},{"regex":"Infinix[ _-]X501","model":"Race Jet"},{"regex":"Infinix[ _-]X506","model":"Zero"},{"regex":"Infinix[ _-]X509","model":"Zero 2"},{"regex":"Infinix[ _-]X552","model":"Zero 3"},{"regex":"Infinix[ _-]X555","model":"Zero 4"},{"regex":"Infinix[ _-]X(?:574|602)","model":"Zero 4 Plus"},{"regex":"Infinix[ _-]X603","model":"Zero 5"},{"regex":"Infinix[ _-]X603B","model":"Zero 5 Pro"},{"regex":"Infinix[ _-]X507","model":"Hot"},{"regex":"Infinix[ _-]X510","model":"Hot 2"},{"regex":"Infinix[ _-]X55[34]","model":"Hot 3"},{"regex":"Infinix[ _-]X521","model":"Hot S"},{"regex":"Infinix[ _-]X522","model":"Hot S2"},{"regex":"Infinix[ _-]X557","model":"Hot 4"},{"regex":"Infinix[ _-]X556","model":"Hot 4 Pro"},{"regex":"Infinix[ _-]X559c","model":"Hot 5"},{"regex":"Infinix[ _-]X559","model":"Hot 5 Lite"},{"regex":"Infinix[ _-]X606[BC]?","model":"Hot 6"},{"regex":"Infinix[ _-]X608","model":"Hot 6 Pro"},{"regex":"Infinix[ _-]X573B?","model":"Hot S3"},{"regex":"Infinix[ _-]X556","model":"Hot 4 Pro"},{"regex":"Infinix[ _-]X5010","model":"Smart"},{"regex":"Infinix[ _-]X5515F","model":"Smart 2"},{"regex":"Infinix[ _-]X5514D","model":"Smart 2 Pro"},{"regex":"Infinix[ _-]X551","model":"Hot Note","device":"phablet"},{"regex":"Infinix[ _-]X600","model":"Note 2","device":"phablet"},{"regex":"Infinix[ _-]X601","model":"Note 3","device":"phablet"},{"regex":"Infinix[ _-]X572","model":"Note 4","device":"phablet"},{"regex":"Infinix[ _-]X571","model":"Note 4 Pro","device":"phablet"},{"regex":"Infinix[ _-]X604","model":"Note 5","device":"phablet"},{"regex":"Infinix HOT ([a-z]?[1-6])( (?:Lite|Plus|Pro))?","model":"Hot $1$2"},{"regex":"Infinix[ _-](X[78]00)","device":"tablet","model":"$1"},{"regex":"Infinix[ _-](X\\\\d+)","model":"$1"},{"regex":"Infinix[ _-]([a-z0-9_\\\\-]+)","model":"$1"}]},"InFocus":{"regex":"IF(9001|9007|9021|9035) Build","device":"smartphone","models":[{"regex":"IF9001","model":"Turbo 5"},{"regex":"IF9007","model":"A3"},{"regex":"IF9021","model":"Turbo 5 Plus"},{"regex":"IF9035","model":"A2"}]},"InnJoo":{"regex":"InnJoo","device":"smartphone","models":[{"regex":"InnJoo[ _]X","model":"X"}]},"Inkti":{"regex":"intki[ _]([^/;]*)[ _]Build","device":"smartphone","model":"$1"},"Innostream":{"regex":"INNO([a-z0-9]+)","device":"feature phone","model":"INNO$1"},"INQ":{"regex":"INQ[/ ]","device":"feature phone","models":[{"regex":"INQ/([a-z0-9\\\\-]+)","model":"$1"},{"regex":"INQ ([^;/]+) Build","model":"$1","device":"smartphone"}]},"Intex":{"regex":"Intex|(Aqua|Cloud[ _][XY][0-9]{1}|Cloud (?:Fame|Glory) 4G)","device":"smartphone","models":[{"regex":"Intex[ _]([^/;]*)[ _]Build","model":"$1"},{"regex":"(Cloud (?:Fame|Glory) 4G)","model":"$1"},{"regex":"(Aqua|Cloud)[ _\\\\.]([^/;\\\\)]+)(?:[ _]Build|(?<!Build)/|\\\\))","model":"$1 $2"},{"regex":"Intex[ _]([a-z0-9_+\\\\-]+)","model":"$1"}]},"i-mate":{"regex":"i-mate ([a-z0-9]+)","device":"feature phone","model":"$1"},"i-mobile":{"regex":"i-mobile ?[a-z0-9]+|i-Style|IQ ?(9\\\\.1|5\\\\.5|5\\\\.6A?)","device":"feature phone","models":[{"regex":"i-mobile (i-note[^/;]*) Build","model":"$1","device":"tablet"},{"regex":"i-Style ?([^;/]+) Build","model":"i-Style $1","device":"smartphone"},{"regex":"IQ ?(9\\\\.1|5\\\\.5|5\\\\.6A?)","model":"IQ $1","device":"smartphone"},{"regex":"i-mobile (IQ[^/;]*) Build","model":"$1","device":"smartphone"},{"regex":"i-mobile(?: )?([a-z0-9\\\\- ]+) Build","model":"$1"},{"regex":"i-mobile(?: )?([a-z0-9]+)","model":"$1"}]},"iKoMo":{"regex":"iKoMo ([a-z0-9]+)","device":"feature phone","model":"$1"},"iOcean":{"regex":"iOCEAN|M6752|W180|X7[ _]?S|X8 mini","device":"smartphone","models":[{"regex":"X7S-T","model":"X7S-T"},{"regex":"X8 mini pro","model":"X8 Mini Pro"},{"regex":"X8 mini","model":"X8 Mini"},{"regex":"X7[ _]?S","model":"X7S Elite"},{"regex":"(M6752|W180) Build","model":"$1"},{"regex":"iOCEAN[ _\\\\-]?([^/;]+) Build","model":"$1"},{"regex":"iOCEAN[ _\\\\-]?([^);/ ]+)","model":"$1"}]},"iView":{"regex":"733TPC","device":"smartphone","models":[{"regex":"733TPC","device":"tablet","model":"733TPC"}]},"Impression":{"regex":"(?:Impression[ _\\\\-]?([^/;]+)|A502|I10\\\\-LE|ImPad[ _]?(.*)|ImSmart[ _]?(.*)) Build","device":"tablet","models":[{"regex":"(A502)","model":"$1","device":"smartphone"},{"regex":"ImSmart[ _]?(.*) Build","model":"ImSmart $1","device":"smartphone"},{"regex":"ImPad[ _]?(.*) Build","model":"ImPad $1"},{"regex":"(I10\\\\-LE)","model":"$1","device":"smartphone"},{"regex":"Impression[ _\\\\-]?([^/;]+) Build","model":"$1"}]},"iTel":{"regex":"itel|iNote","device":"smartphone","models":[{"regex":"iNote ([^/;]*)Build","model":"iNote $1"},{"regex":"iNote_([a-z0-9\\\\-_]+)","model":"iNote $1"},{"regex":"iTel ([^/;]*)Build","model":"$1"},{"regex":"iTel[_ ]([a-z0-9\\\\-_]*)","model":"$1"}]},"JAY-Tech":{"regex":"TPC-[A-Z0-9]+|TPCY-TX[TE][^);/ ]+","device":"tablet","models":[{"regex":"TPC-([A-Z0-9]+)","model":"Tablet PC $1"},{"regex":"(TPCY-TX[TE][^);/ ]+)","model":"$1"}]},"Jiayu":{"regex":"(JY-[a-z0-9]+)[);/ ]","device":"smartphone","model":"$1"},"Jolla":{"regex":"Jolla","device":"smartphone","model":""},"Just5":{"regex":"JUST5(-)?SPACER(s)?|COSMO[_ ](L707|L808)|BLASTER|FREEDOM[ _](C100|M303|X1)|Freedom","device":"smartphone","models":[{"regex":"COSMO[_ ](L707|L808)","model":"Cosmo $1"},{"regex":"FREEDOM[ _](C100|M303|X1)","model":"Freedom $1"},{"regex":"Freedom","model":"Freedom"},{"regex":"JUST5(-)?SPACER2s","model":"Spacer 2S"},{"regex":"JUST5(-)?SPACER2","model":"Spacer 2"},{"regex":"JUST5SPACER","model":"Spacer"},{"regex":"BLASTER 2","model":"Blaster 2"},{"regex":"BLASTER","model":"Blaster"}]},"Kalley":{"regex":"ELEMENT Q","device":"smartphone","models":[{"regex":"ELEMENT Q","model":"Element Q"}]},"Kaan":{"regex":"KAAN[ _](N[12]|A1)[);/ ]","device":"smartphone","model":"$1"},"Kazam":{"regex":"Kazam ([^;/]+) Build|Trooper_X[0-9][0-9][);/ ]|Tornado 348","device":"smartphone","models":[{"regex":"Tornado 348","model":"Tornado 348"},{"regex":"Trooper_X([0-9])([0-9])[);/ ]","model":"Trooper X$1.$2"},{"regex":"Kazam ([^;/]+) Build","model":"$1"}]},"Keneksi":{"regex":"KENEKSI|(Hemera|Teta Dual)[);/ ]","device":"smartphone","models":[{"regex":"(Hemera|Teta Dual)[);/ ]","model":"$1"},{"regex":"KENEKSI[ _-]liberty","model":"Liberty"},{"regex":"KENEKSI[ _-]FLASH","model":"Flash"},{"regex":"KENEKSI[ _-]SUN","model":"Sun"},{"regex":"KENEKSI[ _-]ZETA","model":"Zeta"},{"regex":"KENEKSI[ _-]SIGMA","model":"Sigma"},{"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)","model":"$1"}]},"Kempler & Strauss":{"regex":"Alumini_?3_?Plus|Alumini ?[23]|KEMPLER_(TV|X)","device":"smartphone","models":[{"regex":"Alumini ?2","model":"Alumini 2"},{"regex":"Alumini_?3_?Plus","model":"Alumini 3 Plus"},{"regex":"Alumini3","model":"Alumini 3"},{"regex":"KEMPLER_TV","model":"TV"},{"regex":"KEMPLER_X","model":"X"}]},"Kiano":{"regex":"Kiano|Elegance_5_0|CORE 10.1 DUAL 3G|Intelect ?(7|8|10)|Slim ?Tab ?\\\\d+(?:[_ ]3GR?)?[);/ ]|Cavion[_ ]","device":"smartphone","models":[{"regex":"Slim ?Tab ?(\\\\d+)(?:[_ ]3GR?)?","model":"Slim Tab $1","device":"tablet"},{"regex":"Cavion[_ ](?:Base[_ ])?(\\\\d+)","model":"Cavion Base $1","device":"tablet"},{"regex":"CORE 10.1 DUAL 3G","model":"CORE 10.1 DUAL 3G","device":"tablet"},{"regex":"Elegance_5_0","model":"Elegance 5.0"},{"regex":"(Kiano)?(Intelect|Elegance) ?(7|8|10)?","model":"$2 $3","device":"tablet"},{"regex":"Kiano[ _]([^;/]+) Build","model":"$1"}]},"Kingsun":{"regex":"Kingsun[ _-]","device":"smartphone","models":[{"regex":"Kingsun[ _-]([^;/]+) Build","model":"$1"},{"regex":"Kingsun[ -]((?!Build)[a-z0-9_-]+)","model":"$1"}]},"Kocaso":{"regex":"Kocaso|M(?:729|7[357][026][hw]?|76[01236][bw]?|83[016]|8[567]0|1050s|106[012368]w?|1070|X736(?:-kit)?|X780)[);/ ]","device":"tablet","models":[{"regex":"M729[);/ ]","model":"M729"},{"regex":"M(7[357][026])[hw]?[);/ ]","model":"M$1"},{"regex":"M(76[01236])[bw]?[);/ ]","model":"M$1"},{"regex":"MX780[);/ ]","model":"MX780"},{"regex":"M(83[016])[);/ ]","model":"M$1"},{"regex":"M(8[567]0)[);/ ]","model":"M$1"},{"regex":"M851[);/ ]","model":"M851"},{"regex":"M1050S[);/ ]","model":"M1050s"},{"regex":"M(106[012368])W?[);/ ]","model":"M$1"},{"regex":"M1070[);/ ]","model":"M1070"},{"regex":"MX736(?:-kit)?[);/ ]","model":"MX736"},{"regex":"MX780[);/ ]","model":"MX780"},{"regex":"Kocaso[ _\\\\-]?([^;/]+) Build","model":"$1"},{"regex":"Kocaso[ _\\\\-]?([a-z0-9_-]+)","model":"$1"}]},"Kogan":{"regex":"Kogan","device":"smartphone","models":[{"regex":"Kogan[ _-]([^;/]+) Build","model":"$1"},{"regex":"Kogan[ _-]([a-z0-9_-]+)","model":"$1"}]},"Komu":{"regex":"Komu[ -]","device":"smartphone","models":[{"regex":"Komu[ -]([^;/]+) Build","model":"$1"},{"regex":"Komu[ -]([a-z0-9_-]+)","model":"$1"}]},"Koobee":{"regex":"Koobee","device":"smartphone","models":[{"regex":"Koobee[ _\\\\-]?([^;/]+) Build","model":"$1"},{"regex":"Koobee[ _\\\\-]?([a-z0-9_-]+)","model":"$1"}]},"Kumai":{"regex":"(?:KM-)?Kumai","device":"smartphone","models":[{"regex":"(?:KM-)?Kumai[ _\\\\-]?([^;/]+) Build","model":"$1"},{"regex":"(?:KM-)?Kumai[ _\\\\-]?([a-z0-9_-]+)","model":"$1"}]},"KT-Tech":{"regex":"(KM-[a-z0-9]+|EV-[a-z0-9]+)[);/ ]","device":"smartphone","model":"$1"},"KDDI":{"regex":"kddi-([a-z0-9]+)","device":"feature phone","model":"$1"},"Kodak":{"regex":"KODAK|IM5[);/ ]","device":"smartphone","models":[{"regex":"IM5","model":"IM5"},{"regex":"KODAK_SMARTWAY_((M|T)1)","model":"Smartway $1"},{"regex":"SMARTWAY X1","model":"Smartway X1"},{"regex":"Tablet (7|10)","device":"tablet","model":"Tablet $1"}]},"KOPO":{"regex":"KOPO[ _-]","device":"smartphone","models":[{"regex":"KOPO[ _\\\\-]?([^/;]+) Build","model":"$1"},{"regex":"KOPO[ _\\\\-]?([^);/ ]+)","model":"$1"}]},"Koridy":{"regex":"KORIDY[ _-]([^/;]+) Build","device":"smartphone","model":"$1"},"KRONO":{"regex":"NET1100","device":"smartphone","models":[{"regex":"NET1100","model":"NET 1100"}]},"K-Touch":{"regex":"K-?Touch[ _][a-z0-9]+","device":"smartphone","models":[{"regex":"K-?Touch[ _]([^/;]*)[ _]Build","model":"$1"},{"regex":"K-?Touch[ _]([a-z0-9]+)","model":"$1"}]},"Kyocera":{"regex":"Kyocera|KWC-|QC-|C5120|C5170|C5155|C5215|C6730|C6750|C6522N?|C6530N|C6740|C6743|E6[89]10|KYL21|KYY23|S2151|KC-S701","device":"smartphone","models":[{"regex":"C5120","model":"Milano"},{"regex":"C5155","model":"Rise"},{"regex":"C5170","model":"Hydro"},{"regex":"C5215","model":"Hydro EDGE"},{"regex":"C6522N?","model":"Hydro XTRM"},{"regex":"C6730","model":"Hydro ICON"},{"regex":"C6750","model":"Hydro ELITE"},{"regex":"C6530N","model":"Hydro LIFE"},{"regex":"C6740(N)?","model":"Hydro WAVE"},{"regex":"C6743","model":"Hydro Reach"},{"regex":"E6810","model":"DuraForce Pro"},{"regex":"E6910","model":"DuraForce Pro 2"},{"regex":"KC-S701","model":"Torque"},{"regex":"KYL21","model":"Digno S"},{"regex":"KYY23","model":"Urbano L03"},{"regex":"(?:Kyocera-)?E6790","model":"DuraForce XD"},{"regex":"S2151","model":"Coast","device":"feature phone"},{"regex":"Kyocera-KZ-([a-z0-9]+)","model":"KZ $1"},{"regex":"Kyocera(?:[\\\\-/])?([a-z0-9]+)","model":"$1"},{"regex":"(?:KWC|QC)-([a-z0-9]+)","model":"$1"}]},"Kr\xfcger&Matz":{"regex":"Kruger Matz|MOVE_","device":"smartphone","models":[{"regex":"MOVE_6_mini","model":"MOVE 6 Mini"},{"regex":"MOVE_([78])","model":"MOVE $1"},{"regex":"DRIVE 4 mini LTE","model":"DRIVE 4 mini LTE"}]},"LAIQ":{"regex":"LAIQ","device":"smartphone","models":[{"regex":"(Glam|New York)","model":"$1"}]},"AIS":{"regex":"iris708","device":"smartphone","models":[{"regex":"iris708","model":"LAVA PRO 4.5"}]},"Lava":{"regex":"Lava[ _]|iris[ _]?([^/;]+)(?:\\\\)| Build)|A(?:67|76) Build|X1 Selfie Build|X41 Plus Build|Flair Z1|PixelV1|Z61_2GB","device":"smartphone","models":[{"regex":"Flair Z1","model":"Flair Z1"},{"regex":"A67 Build","model":"A67"},{"regex":"A76 Build","model":"A76"},{"regex":"PixelV1","model":"Pixel V1"},{"regex":"X1 Selfie Build","model":"Iris X1 Selfie"},{"regex":"X41 Plus Build","model":"X41 Plus"},{"regex":"LAVA_A3","model":"A3"},{"regex":"LAVA_R1","model":"R1"},{"regex":"Z61_2GB","model":"Z61"},{"regex":"iris[ _]?([^/;]+)(?:\\\\)| Build)","model":"Iris $1"},{"regex":"Lava[ _]?([^/;]+)(?:/| Build)","model":"$1"}]},"Landvo":{"regex":"XM[123]00|(?<!Blade )S6 Build","device":"smartphone","models":[{"regex":"S6 Build","model":"S6"},{"regex":"XM([123])00([^/;]*) Build","model":"XM$100$2"}]},"Land Rover":{"regex":"Land[ ]?Rover[d]?[ _-](X1[0-9]|Explore|T878|L15\\\\+|V18|V[168]|X)[;/) ]","device":"smartphone","model":"$1"},"Lanix":{"regex":"LANIX-([a-z0-9]+)|Ilium[ _]|X120C","device":"smartphone","models":[{"regex":"ILIUM[ _]PAD[ _]([^;/]+) Build","model":"Ilium Pad $1","device":"tablet"},{"regex":"X120C","model":"Ilium X120C"},{"regex":"Ilium[ _](Alpha 3|L(?:200|6[12]0|9[125]0|1[0124]00|1050|1120)|LT5[012]0|M[1379]|S(?:106|520|6[27]0)|X(?:1[12]0|2[0126]0|5[12]0|500B|710))","model":"Ilium $1"},{"regex":"ILIUM[ _]([^;/]+) Build","model":"Ilium $1"},{"regex":"LANIX-([a-z0-9]+)","device":"feature phone","model":"$1"}]},"Lark":{"regex":"(Lark|Cumulus|Evolution|FreeMe|Ultimate (?:X4|7i))[ _-]|Build/Lark|Bjorn[_ ]SP-500","device":"tablet","models":[{"regex":"Cumulus[ _](5\\\\.5|[56])[ _]HD","model":"Cumulus $1 HD","device":"smartphone"},{"regex":"FreeMe X2 ([79]) (?:ver|v)?\\\\.([23])","model":"FreeMe X2 $1 Version $2"},{"regex":"FreeMe X4 7 3G HD","model":"FreeMe X4 7HD 3G"},{"regex":"FreeMe[ _]X2[ _]([7-9])","model":"FreeMe X2 $1"},{"regex":"FreeMe X4[ _]7[_ ]HD","model":"FreeMe X4 7HD"},{"regex":"FreeMe X4[ _]9","model":"FreeMe X4 9"},{"regex":"(?:Lark[ _-])?Evolution[ _](X2 7 3G-GPS|X4[_ ]10\\\\.1|10|X4[_ ]7[ _]IPS)","model":"Evolution $1"},{"regex":"Ultimate (X4 10\\\\.1 3G IPS|X4 8s 3G|7i)","model":"Ultimate $1"},{"regex":"PHABLET 7","model":"Phablet 7"},{"regex":"Phablet 6\\\\.0","model":"Phablet 6.0","device":"smartphone"},{"regex":"Bjorn[_ ]SP-500","model":"Bjorn SP-500","device":"smartphone"},{"regex":"Cirrus[ _](4\\\\.5|[45])","model":"Cirrus $1","device":"smartphone"},{"regex":"Lark[ _](Stratus[_ ]5)","model":"$1","device":"smartphone"}]},"LCT":{"regex":"LCT_([a-z0-9]+)","device":"feature phone","model":"$1"},"Le Pan":{"regex":"Le ?Pan|TC970 ([^;/]+)Build","device":"tablet","models":[{"regex":"TC802A","model":"Le Pan Mini"},{"regex":"TC970 ([^;/]+)Build","model":"TC970 $1"},{"regex":"Le ?Pan ?(II|S)[);/ ]","model":"Le Pan $1"},{"regex":"Le ?Pan ?([^;/]+) Build","model":"$1"}]},"Leagoo":{"regex":"LEAGOO|M5 EDGE|KIICAA POWER|Leapad[ _]7s","device":"smartphone","models":[{"regex":"LEAGOO[- _](Z[156]|M8)[);/ ]","model":"$1"},{"regex":"LEAGOO[- _]M8Pro[);/ ]","model":"M8 Pro"},{"regex":"M5 EDGE","model":"M5 Edge"},{"regex":"KIICAA POWER","model":"KICCAA Power"},{"regex":"(Leapad[ _]7s)","model":"$1","device":"tablet"}]},"Ledstar":{"regex":"Trendy 5.0","device":"smartphone","models":[{"regex":"Trendy 5.0","model":"Trendy 5.0"}]},"LeEco":{"regex":"Letv|LeEco|X[89]00\\\\+[;/) ]|Le ?X[0-9][^;/]+|Le Max|Le [12]|X900 Build","device":"smartphone","models":[{"regex":"X800\\\\+","model":"Le 1 Pro"},{"regex":"X900\\\\+","model":"Max X900+"},{"regex":"X50[10]","model":"Le 1S"},{"regex":"X900 Build","model":"Le X900"},{"regex":"Le ?X526 Build","model":"Le 2"},{"regex":"Le ?X([^;/]+) Build","model":"Le X$1"},{"regex":"Le ?X([^) ;/]+)","model":"Le X$1"},{"regex":"Le ?([12][^;/]+) Build","model":"Le $1"},{"regex":"Le Max([^;/]*) Build","model":"Le Max$1"},{"regex":"Le Max([^ ;/]*)","model":"Le Max$1"},{"regex":"LeEco ([^;/]+) Build","model":"$1"}]},"Leotec":{"regex":"LESPH501[14]","device":"smartphone","models":[{"regex":"LESPH5011","model":"Argon e250"},{"regex":"LESPH5014","model":"Krypton K150"}]},"Lephone":{"regex":"lephone[ _]","device":"smartphone","models":[{"regex":"lephone[ _](K7|K10)","device":"feature phone","model":"$1"},{"regex":"lephone[ _](W(1[0125]|[279])|T2)[/;) ]","model":"$1"},{"regex":"lephone_W7_plus","model":"W7 Plus"}]},"Lenco":{"regex":"Lenco ([^/;]*) Build","device":"tablet","model":"$1"},"Lenovo":{"regex":"(?:LNV-)?Lenovo|IdeaTab|IdeaPad|Thinkpad|Yoga Tablet|Tab2A[0-9]-[0-9]{2}[a-z]?|YT3-X50L|ZUK[ -_]|K50a40|TB-(8504F|X304F|X704V|X704A)|A2107A-H|S6000[ ;)]|Z2 Plus","device":"smartphone","models":[{"regex":"Lenovo ?G780","model":"G780","device":"desktop"},{"regex":"Lenovo ?A3500-FL","model":"IdeaTab A7-40","device":"tablet"},{"regex":"Lenovo ?A3500-(H|HV|F)","model":"IdeaTab A7-50","device":"tablet"},{"regex":"Lenovo ?A5500-[HF]","model":"IdeaTab A8-50","device":"tablet"},{"regex":"Lenovo ?A7600-[HF]","model":"IdeaTab A10-70","device":"tablet"},{"regex":"A2107A-H","model":"A2107","device":"tablet"},{"regex":"TB2-X30[FL]","model":"Tab 2 A10-30","device":"tablet"},{"regex":"YT3-X50[FL]","model":"Yoga Tab 3","device":"tablet"},{"regex":"TB3-730X","model":"TAB3 7","device":"tablet"},{"regex":"TB3-710[IF]","model":"TAB3 7 Essential","device":"tablet"},{"regex":"TB3-850[FM]","model":"TAB3 8","device":"tablet"},{"regex":"Lenovo TB-X304[FL]","model":"TAB4 10","device":"tablet"},{"regex":"TB-X704V","model":"TAB4 10 Plus","device":"tablet"},{"regex":"TB-X704A","model":"Moto Tab","device":"tablet"},{"regex":"Lenovo ?B8000(-[FH])?","model":"Yoga Tablet 10","device":"tablet"},{"regex":"Lenovo ?B6000(-[FH])?","model":"Yoga Tablet 8","device":"tablet"},{"regex":"YT3-X90(L|F|X)","model":"Yoga 3 Pro","device":"tablet"},{"regex":"YT3-850[FL]","model":"Yoga Tab 3 8","device":"tablet"},{"regex":"S6000[ ;)]","model":"IdeaTab S6000","device":"tablet"},{"regex":"Lenovo ([ASB][0-9]{4})[A-Z]?\\\\-[EHF]","model":"IdeaTab $1","device":"tablet"},{"regex":"ThinkPadTablet_(A[0-9]{3})_","model":"ThinkPad Tablet $1","device":"tablet"},{"regex":"ThinkPad ?Tablet([^;/]*) Build","model":"ThinkPad Tablet$1","device":"tablet"},{"regex":"IdeaPad ?([^;/]*) Build","model":"IdeaPad $1","device":"tablet"},{"regex":"Lenovo TAB ?([^/;]*) Build","model":"TAB $1","device":"tablet"},{"regex":"Lenovo ?A3300-(?:GV|H)","model":"TAB 2 A7-30","device":"tablet"},{"regex":"TB-8504F","model":"TAB 4 8","device":"tablet"},{"regex":"TB-X304F","model":"TAB 4 10","device":"tablet"},{"regex":"Lenovo TB-X505F","model":"M10","device":"tablet"},{"regex":"Tab2A([0-9]-[0-9]{2}[a-z]?)","model":"TAB 2 A$1","device":"tablet"},{"regex":"IdeaTab[ \\\\-_]?([a-z0-9]+)","model":"IdeaTab $1","device":"tablet"},{"regex":"Yoga Tablet([^;/]+) Build","model":"Yoga Tablet$1","device":"tablet"},{"regex":"Lenovo TB\\\\-X704F Build/NMF26F","model":"Tab 4 10 Plus","device":"tablet"},{"regex":"Lenovo (TB[0-9]?\\\\-[a-z0-9\\\\-]+) Build","model":"$1","device":"tablet"},{"regex":"Z2 Plus","model":"Z2 Plus"},{"regex":"Z2151","model":"ZUK Edge"},{"regex":"Z213[12]","model":"ZUK Z2"},{"regex":"Z2121","model":"ZUK Z2 Pro"},{"regex":"ZUK[ -_]([^/;]*)(?: Build|\\\\))","model":"ZUK $1"},{"regex":"K10a40(?: Build|\\\\))","model":"C2"},{"regex":"k50a40 Build","model":"K3 Note"},{"regex":"A7010a48 Build","model":"K4 Note"},{"regex":"A7010a48(?: Build|\\\\))","model":"K4 Vibe"},{"regex":"A7020a4[08](?: Build|\\\\))","model":"K5 Note"},{"regex":"(?:Lenovo-)?A6020(?:a40|l36)(?: Build|\\\\))","model":"K5 Vibe"},{"regex":"A6020a46(?: Build|\\\\))","model":"K5 Vibe Plus"},{"regex":"k33a48(?: Build|\\\\))","model":"K6"},{"regex":"k53a48(?: Build|\\\\))","model":"K6 Note"},{"regex":"K33a42(?: Build|\\\\))","model":"K6 Power"},{"regex":"P1(?:ma40|a42) Build","model":"P1 Vibe"},{"regex":"P1a42(?: Build|\\\\))","model":"P1 Pro"},{"regex":"P2a42(?: Build|\\\\))","model":"P2"},{"regex":"Z90a40 Build","model":"Vibe Shot"},{"regex":"S1a40 Build","model":"Vibe S1"},{"regex":"Lenovo ([^/;]*) Build","model":"$1"},{"regex":"(?:LNV-|Lenovo-)?Lenovo[ \\\\-_]?([a-z0-9_+\\\\-]+)","model":"$1"}]},"Lexand":{"regex":"(?:SC7 PRO HD|S5A[1-4]|S4A[1-5]|S6A1|A811|A802)[);/ ]|Lexand ([^;/]+) Build","device":"smartphone","models":[{"regex":"A(811|802)","device":"tablet","model":"A$1"},{"regex":"S4A1","model":"Vega"},{"regex":"S4A2","model":"Irida"},{"regex":"S4A3","model":"Pallada"},{"regex":"S4A5","model":"Oxygen"},{"regex":"S4A4 NEON","model":"S4A4 Neon"},{"regex":"S5A1","model":"Callisto"},{"regex":"S5A2","model":"Overon"},{"regex":"S5A3","model":"Capella"},{"regex":"S5A4","model":"Argon"},{"regex":"S6A1","model":"Antares"},{"regex":"SC7 PRO HD","model":"SC7 PRO HD"},{"regex":"Lexand ([^;/]+) Build","model":"$1"}]},"Lexibook":{"regex":"(MFC[0-9]{3}[a-z]{2,})","device":"tablet","models":[{"regex":"MFC191FR","model":"Tablet Ultra 3 XL"},{"regex":"MFC045FR","model":"TabTab"},{"regex":"MFC163FR","model":"Tablet Master 3"},{"regex":"MFC142FR","model":"Tablet Kids"},{"regex":"MFC250FR","model":"Tablet Junior"},{"regex":"MFC270FR","model":"Tablet Junior Power Touch"},{"regex":"MFC280FR","model":"Tablet Junior 2"},{"regex":"MFC156FR","model":"Tablet One"},{"regex":"MFC155FR","model":"Tablet Master"},{"regex":"MFC157FR","model":"Tablet Master 2"},{"regex":"MFC17[05]FR","model":"Tablet Ultra"},{"regex":"MFC375FR","model":"Tablet Ultra 2"},{"regex":"MFC162FR","model":"Power Tablet"},{"regex":"MFC180FR","model":"Tablet Advanced"},{"regex":"MFC181FR","model":"Tablet Advanced 2"},{"regex":"MFC500FR","model":"Tablet XL"},{"regex":"MFC190BBFR","model":"Barbie Tablet"},{"regex":"MFC195DCFR","model":"Tablet Disney Cars HD"},{"regex":"MFC195FUFR","model":"Furby Tablet"},{"regex":"MFC195DPFR","model":"Tablet Disney Princesse HD"},{"regex":"MFC140FR","model":"LapTab"},{"regex":"MFC141FR","model":"LapTab 2"},{"regex":"(MFC[0-9]{3}[a-z]{2,})","model":"$1"}]},"LG":{"regex":"LG|portalmmm/2\\\\.0 (?:KE|KG|KP|L3)|(?:VX[0-9]+|L-0[12]D|L-07C|P713|LM-(Q910|V350[N]?|V409N|X510WM|X525|Q815[SL]|X410([KL]|UM|PM)|X420N|X510[KLS]|X415[KLS]|Q850|Q925L|Q725[KL]|Q710(?:FGN|\\\\(FGN\\\\)|\\\\.FGN?)?|X2[12]0(?:APM|\\\\(G\\\\)|CM|G)?|G710(N|VM)?|V405|V500N|G820(N|QM[0127]|UMB)?|(X410|Q610)(?:\\\\(FGN?\\\\)|\\\\.FN|\\\\.F(?:GN?)?)))[);/ ]|NetCast|RS987|RS500|VS(?:50[01]|835|98[78]|99[56]|(410|415|425|500)PP)|Nexsus 5|LML(414D|211B|713D|212V)L|LM-X(625N|210K|212\\\\(G\\\\)|410S)|VK810 4G|VK815","device":"smartphone","models":[{"regex":"LG-D325","model":"L70"},{"regex":"LM-X210APM","model":"Phoenix 4"},{"regex":"LG-D85[0125]","model":"G3"},{"regex":"LG-D72[2458]","model":"G3 Beat"},{"regex":"LG-H81[158]","model":"G4"},{"regex":"LG-H525n?","model":"G4c"},{"regex":"LG-(?:H540|H630)","model":"G4 Stylus"},{"regex":"LG-H735","model":"G4 Beat"},{"regex":"LG-H8(?:20|30|5[08]|60)|VS987","model":"G5"},{"regex":"LG-H84[05]","model":"G5 SE"},{"regex":"VS988","model":"G6"},{"regex":"LM-Q850","model":"G7 Fit"},{"regex":"LM-Q910","model":"G7 One"},{"regex":"LM-G820(N|QM[0127]|UMB)?","model":"G8"},{"regex":"VS501","model":"K20"},{"regex":"(?:LG-)?H502","model":"Magna"},{"regex":"(?:LG-)?H343","model":"Risio"},{"regex":"(?:LG-)?H650","model":"Zero"},{"regex":"(?:LG-)?M154","model":"Risio 2"},{"regex":"(?:LG-)?P500H","model":"Optimus One"},{"regex":"P713","model":"Optimus L7II"},{"regex":"L-01D","model":"Optimus LTE L-01D"},{"regex":"L-02D","model":"PRADA phone L-02D"},{"regex":"L-07C","model":"Optimus Bright L-07C"},{"regex":"(?:LG-)?F800(?:S|K|L)?","model":"V20"},{"regex":"LM-Q710(?:\\\\(FGN\\\\)|[\\\\.]?FGN)","model":"Q Stylus Plus"},{"regex":"LM-Q[67]10\\\\.FG[);/ ]","model":"Q7"},{"regex":"LM-(Q725[KL]|Q610.FGN)[);/ ]","model":"Q7+"},{"regex":"LM-Q815[SL]","model":"Q8+"},{"regex":"LM-Q925L","model":"Q9"},{"regex":"VS835","model":"Stylo 2 V"},{"regex":"LM-Q710|LML713DL","model":"Stylo 4"},{"regex":"LM-G710(N|VM)?","model":"G7 ThinQ"},{"regex":"LM-X210CM","model":"Fortune 2"},{"regex":"LM-X410\\\\.F[);/ ]","model":"Premier Pro"},{"regex":"LML414DL[);/ ]","model":"Premier Pro LTE"},{"regex":"LM-X525","model":"Q60"},{"regex":"LM-X210K","model":"X2"},{"regex":"LM-X510WM","model":"X Power 3"},{"regex":"LM-X(?:41[05]K|410S)","model":"X4"},{"regex":"LM-X(415[LS]|410L)","model":"X4+"},{"regex":"LM-X410\\\\.FN","model":"K11"},{"regex":"LM-X410(UM|PM)","model":"K30"},{"regex":"LM-X410","model":"LM-X410"},{"regex":"LM-X420N","model":"X4 (2019)"},{"regex":"LM-X510[KLS]","model":"X5"},{"regex":"LM-X625N1","model":"X6"},{"regex":"LM-X210[G]?","model":"Aristo 2"},{"regex":"LM-X220","model":"Aristo 3"},{"regex":"LM-V40(5|9N)","model":"V40 ThinQ"},{"regex":"LM-V500N","model":"V50"},{"regex":"(?:LG-)?(?:RS987|H901|H96[0128]|VS990)","model":"V10"},{"regex":"(?:LG-)?RS500","model":"K8 4G"},{"regex":"(?:LG-)?VS500","model":"K8 V"},{"regex":"LM-X212\\\\(G\\\\)","model":"K8 (2018)"},{"regex":"(?:LG-)?H91[058]","model":"V20"},{"regex":"(?:LG-)?H990(?:DS|N|T)?","model":"V20"},{"regex":"(?:LG-)?LS997","model":"V20"},{"regex":"(?:LG-)?VS995","model":"V20"},{"regex":"(?:LG-)?US999","model":"V20"},{"regex":"VS996","model":"V30"},{"regex":"(?:LG-)?VS410PP","model":"Optimus Zone"},{"regex":"LM-V350[N]?","model":"V35"},{"regex":"(?:LG-)?VS415PP","model":"Optimus Zone 2"},{"regex":"(?:LG-)?VS425PP","model":"Optimus Zone 3"},{"regex":"(?:LG-)?K100","model":"K3"},{"regex":"(?:LG-?)?(?:K|MS)33[02]","model":"K7"},{"regex":"(?:LG-?)?(?:K|MS)350","model":"K8"},{"regex":"VS500PP","model":"K8 V"},{"regex":"(?:LG-)?K420(?:N)?","model":"K10"},{"regex":"(?:LG-)?K430(?:DS|DSF|DSY)?","model":"K10"},{"regex":"(?:LG-)?M250N?","model":"K10 (2017)"},{"regex":"(?:LG-)?F670[KLS]?","model":"K10"},{"regex":"(?:LG-)?M255","model":"K20"},{"regex":"(?:LG-?)?[MT]P260","model":"K20 Plus"},{"regex":"(?:LG-)?M700(?:N|A|DSK|AN)?","model":"Q6"},{"regex":"(?:LG-?)?K220","model":"X Power"},{"regex":"(?:LG-?)?M320","model":"X Power 2"},{"regex":"(?:LG-)?K371","model":"Phoenix 2"},{"regex":"(?:LG-)?M150","model":"Phoenix 3"},{"regex":"(?:LG-)?F100[SL]","model":"Optimus Vu"},{"regex":"(?:LG-)?P880","model":"Optimus 4X HD"},{"regex":"(?:LG-)?H340n?","model":"Leon"},{"regex":"(?:LG-)?H422","model":"Spirit"},{"regex":"(?:LG)?C660","model":"Optimus Pro"},{"regex":"LML211BL|LML212VL","model":"Rebel 4"},{"regex":"LG-V490","model":"G Pad 8.0","device":"tablet"},{"regex":"LG-V500","model":"G Pad 8.3","device":"tablet"},{"regex":"LG-V700","model":"G Pad 10.1","device":"tablet"},{"regex":"LG-V935","model":"G Pad II 10.1","device":"tablet"},{"regex":"LG-V521","model":"G Pad X 8.0","device":"tablet"},{"regex":"VK810","model":"G Pad 8.3 LTE","device":"tablet"},{"regex":"VK815","model":"G Pad X 8.3","device":"tablet"},{"regex":"webOS.TV","device":"tv","model":"WebOS TV"},{"regex":"LGE_DLNA_SDK|NetCast","device":"tv","model":"NetCast"},{"regex":"LGE(?: |-LG| LG-AX|-)([a-z0-9]+)","model":"$1"},{"regex":"LGE;([a-z0-9\\\\-]+)","model":"$1"},{"regex":"LG[ _\\\\-](V90.*|Optimus[ _\\\\-]Pad.*) Build","device":"tablet","model":"$1"},{"regex":"LG(?:/|-LG| |-)?([^/;]*) Build","model":"$1"},{"regex":"LG(?:/|-LG| |-)?([a-z0-9]+)","model":"$1"},{"regex":"LG; ([a-z0-9 ]+)","model":"$1"},{"regex":"portalmmm/2.0 ((?:KE|KG|KP|L3)[a-z0-9]+)","model":"$1"},{"regex":"(VX[0-9]+)","model":"$1"}]},"Lingwin":{"regex":"Lingwin[ _\\\\-]","device":"smartphone","models":[{"regex":"Lingwin[ _\\\\-]?([^/;]+) Build","model":"$1"},{"regex":"Lingwin[ _\\\\-]?([^);/ ]+)","model":"$1"}]},"Logicom":{"regex":"(TAB950|TAB1062|E731|E812|E912|E1031|POWER BOT|La Tab 72|(?:B|C|M|ID|VR)[ _]?BOT[ _]?(?:TAB[ _])?([0-9]+\\\\+?)(?:PLUS)?|KT712A_4\\\\.4|L-?IXIR[0-9]*|L-ITE|L-?EMENT|Le Lift)[_);/ ]","device":"tablet","models":[{"regex":"La Tab 72","model":"La Tab 72"},{"regex":"KT712A_4.4","model":"L-ixir Tab 701"},{"regex":"LIXIR1041","model":"L-ixir Tab 1041"},{"regex":"L-?IXIR TAB ([^;/]+) Build","model":"L-ixir Tab $1"},{"regex":"L-ITE[ _]([^;/]+) Build","model":"L-ite Tab $1"},{"regex":"L-?EMENT[ _](?:TAB)?([^;/]+) Build","model":"L-ement Tab $1"},{"regex":"(TAB950|TAB1062|E731|E812|E912|E1031)[);/ ]","model":"$1"},{"regex":"POWER BOT","model":"POWER BOT"},{"regex":"((?:B|C|M|ID|VR))[ _]?BOT[ _]?((?:TAB[ _])?([0-9]+\\\\+?)(?:PLUS)?)","model":"$1 BOT $2"},{"regex":"Le Lift","model":"Le Lift","device":"smartphone"}]},"Konka":{"regex":"KONKA[_ ]([a-z0-9]+)","device":"smartphone","models":[{"regex":"E5660S","model":"Viva 5660s"},{"regex":"W830","model":"Tango 830"},{"regex":"W(9[67]0)","model":"Expose $1"},{"regex":"W990","model":"Tuxedo 990"},{"regex":"KONKA[_ ]([a-z0-9]+)","device":"feature phone","model":"$1"}]},"Konrow":{"regex":"(?:BIGCOOL|COOLFIVE|COOL-K|Just5|Link5)[);/ ]","device":"smartphone","models":[{"regex":"BIGCOOL[);/ ]","model":"BigCool"},{"regex":"COOL-K[);/ ]","model":"Cool-K"},{"regex":"COOLFIVE[);/ ]","model":"Cool Five"},{"regex":"Just5[);/ ]","model":"Just 5"},{"regex":"Link5[);/ ]","model":"Link 5"}]},"Karbonn":{"regex":"(?:Browser-)?Karbonn|K9 Kavach 4G|K9 Music 4G|K9 Smart|K9 VIRAAT 4G","device":"smartphone","models":[{"regex":"K9 Kavach 4G","model":"K9 Kavach 4G"},{"regex":"K9 Music 4G","model":"K9 Music 4G"},{"regex":"K9 Smart 1GB","model":"K9 Smart"},{"regex":"K9 Smart 4G","model":"K9 Smart 4G"},{"regex":"K9 Smart Grand","model":"K9 Smart Grand"},{"regex":"K9 Smart Yuva","model":"K9 Smart Yuva"},{"regex":"K9 Smart","model":"K9 Smart"},{"regex":"karbonnK9 Viraat 4G|K9 VIRAAT 4G","model":"K9 Viraat 4G"},{"regex":"Titanium[ _]S2[ _]Plus","model":"Titanium S2 Plus"},{"regex":"Titanium_S99","model":"Titanium S99"},{"regex":"Karbonn ([a-z0-9]+) WAP-Browser","model":"$1","device":"feature phone"},{"regex":"WAP Browser-Karbonn ([a-z0-9]+)/","model":"$1","device":"feature phone"},{"regex":"Karbonn_([^;/)]+)","model":"$1"},{"regex":"Karbonn ([^;/]+) Build","model":"$1"},{"regex":"Karbonn ([^;/]+)/","model":"$1"}]},"Sagem":{"regex":"SAGEM|portalmmm/2.0 (?:SG|my)","device":"smartphone","models":[{"regex":"SAGEM-(my[a-z0-9\\\\-]+)","model":"$1","device":"feature phone"},{"regex":"SAGEM ([a-z0-9]+)","model":"$1"},{"regex":"SAGEM-([a-z0-9\\\\-]+)","model":"$1"},{"regex":"portalmmm/2.0 ((?:SG|my)[a-z0-9]+)","model":"$1"}]},"Coby Kyros":{"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))[);/ ]","device":"tablet","model":"$1"},"Mpman":{"regex":"(?:MPQC|MPDC)[0-9]+|PH(?:150|340|350|360|451|500|520)|(?: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)|MGP7)[);/ ]","device":"tablet","models":[{"regex":"((?:MPQC|MPDC)[0-9]+[^/;]+) Build","model":"$1"},{"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)|MGP7)[);/ ]","model":"$1"},{"regex":"(PH(?:150|340|350|360|451|500|520))","model":"$1","device":"smartphone"}]},"Majestic":{"regex":"MAJESTIC[ _-]|CRONO ?[0-9]+","device":"smartphone","models":[{"regex":"MAJESTIC[ _]Tab([^;/]+)Build","model":"Tab$1","device":"tablet"},{"regex":"MAJESTIC[ _]Tab([^);/]+)[);/]","model":"Tab$1","device":"tablet"},{"regex":"MAJESTIC[ _]([^;/]+)Build","model":"$1"},{"regex":"MAJESTIC[ _]([^);/]+)[);/]","model":"$1"},{"regex":"CRONO ?([0-9]+) Build","model":"Crono $1"},{"regex":"CRONO ?([0-9]+)[);/]","model":"Crono $1"}]},"Manta Multimedia":{"regex":"MSP950(1[45]|2[01])|MSP96017|((?<!/)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))[);/ ]","device":"smartphone","models":[{"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))[);/ ]","device":"tablet","model":"$1"},{"regex":"MSP95014","model":"Titano 3"},{"regex":"MSP95015","model":"Mezo 2"},{"regex":"MSP95020","model":"Rocky 2"},{"regex":"MSP95021","model":"Rocky 3 Pro"},{"regex":"MSP96017","model":"Forto 2"}]},"Masstel":{"regex":"Masstel","device":"smartphone","models":[{"regex":"Masstel[_ ](Juno[_ ]Q3|X9|N4[56]0|N5[2458]0|N536|M05|M1[29]0|M1[125]|M250|M25)[);/ ]","model":"$1"},{"regex":"Masstel[_ ]\\\\((M18)\\\\)","model":"$1"},{"regex":"Masstel_Tab7LTE[);/ ]","model":"Tab 7 LTE","device":"tablet"},{"regex":"Masstel Tab (840|700i)[);/ ]","model":"Tab $1","device":"tablet"}]},"Maxwest":{"regex":"Astro_5N_LTE|Virtue Z5","device":"smartphone","models":[{"regex":"Astro_5N_LTE","model":"Astro 5N LTE"},{"regex":"Virtue Z5","model":"Virtue Z5"}]},"Maze":{"regex":"SSB-500|Alpha[_ ]X","device":"smartphone","models":[{"regex":"SSB-500","model":"SSB-500"},{"regex":"Alpha[_ ]X","model":"Alpha X"}]},"Mediacom":{"regex":"(?:SmartPad7503G|SmartPad970s2(?:3G)?|M[_-][MPS]P[0-9a-z]+|M-IPRO[0-9a-z]+)[);/ ]","device":"tablet","models":[{"regex":"SmartPad7503G[);/ ]","model":"SmartPad 750 3G"},{"regex":"SmartPad970s23G[);/ ]","model":"SmartPad 970 S2 3G"},{"regex":"SmartPad970s2[);/ ]","model":"SmartPad 970 S2"},{"regex":"M-MP84[02]M[);/ ]","model":"SmartPad 8.0 Mobile"},{"regex":"M-MP940M[);/ ]","model":"SmartPad 9.7 Mobile"},{"regex":"M-MP(?:710|720|725|726|740)GOx?[);/ ]","model":"SmartPad 7.0 Go"},{"regex":"M-MP876S2[);/ ]","model":"SmartPad 8.0 S2"},{"regex":"M-MP8S2[AB]?3G[);/ ]","model":"SmartPad 8.0 S2 3G"},{"regex":"M-MP(101|102|860|875)S2[BW]?[);/ ]","model":"SmartPad $1 S2"},{"regex":"M-MP85S23G[);/ ]","model":"SmartPad 875 S2 3G"},{"regex":"M-SP1AGO3G","model":"SmartPad 10 Go 3G"},{"regex":"M-MP10[45][01]S2[);/ ]","model":"SmartPad 10.1 S2"},{"regex":"M-MP1S2[AB]3G[);/ ]","model":"SmartPad 10.1 S2 3G"},{"regex":"M-MP8[24]S4[);/ ]","model":"SmartPad 8.0 S4"},{"regex":"M-MP8S4[AB]3G[);/ ]","model":"SmartPad 8.0 S4 3G"},{"regex":"M-MP9S4A3G[);/ ]","model":"SmartPad 9.7 S4 3G"},{"regex":"M-MP1[02]S4[);/ ]","model":"SmartPad 10.1 S4"},{"regex":"M-MP1040MC?[);/ ]","model":"SmartPad 10.1 HD S4 3G"},{"regex":"M-MP1S4[AB]3G[);/ ]","model":"SmartPad 10.1 S4 3G"},{"regex":"M-MP8PA3G[);/ ]","model":"SmartPad 8.0 HD Pro 3G"},{"regex":"M-MP10PA[);/ ]","model":"SmartPad 10.1 HD Pro"},{"regex":"M-MP10PA3G[);/ ]","model":"SmartPad 10.1 HD Pro 3G"},{"regex":"M-IPRO([18][01]0)[BW][);/ ]","model":"SmartPad 8.0 HD iPro$1 3G"},{"regex":"(?:M-MP75S23G|M-MP72[01]M)[);/ ]","model":"SmartPad 7.0 Mobile","device":"phablet"},{"regex":"M-MP7S2[ABDK]3G[);/ ]","model":"SmartPad 7.0 S2 3G","device":"phablet"},{"regex":"M-MP5303G[);/ ]","model":"SmartPad Mini Mobile","device":"phablet"},{"regex":"M-PPAG550[);/ ]","model":"PhonePad Duo G550","device":"phablet"},{"regex":"M-PP2G530[);/ ]","model":"PhonePad Duo G530","device":"phablet"},{"regex":"M-PPG700[);/ ]","model":"PhonePad Duo G700","device":"phablet"},{"regex":"M-PPxS531[);/ ]","model":"PhonePad Duo S531","device":"phablet"},{"regex":"M-PP2S550[);/ ]","model":"PhonePad Duo S550","device":"phablet"},{"regex":"M-PP2S650C?[);/ ]","model":"PhonePad Duo S650","device":"phablet"},{"regex":"M-PPxS551U[);/ ]","model":"PhonePad Duo S551U","device":"phablet"},{"regex":"M-PP[ABC]G500[);/ ]","model":"PhonePad Duo G500","device":"smartphone"},{"regex":"M-PP2S500[BC]?[);/ ]","model":"PhonePad Duo S500","device":"smartphone"},{"regex":"M[_-]PP[Ax]X(470|510|520)U[);/ ]","model":"PhonePad Duo X$1U","device":"smartphone"},{"regex":"M-PPxG(400|501)[);/ ]","model":"PhonePad Duo G$1","device":"smartphone"},{"regex":"M-PPxS(470|501)[);/ ]","model":"PhonePad Duo S$1","device":"smartphone"},{"regex":"M-MP([0-9a-z]+)","model":"SmartPad $1"}]},"Medion":{"regex":"Medion|(?:MD_)?LIFETAB|X5001[);/ ]|([SPX]10[0-9]{2}X|E10[45]1X)[);/ ]","device":"smartphone","models":[{"regex":"(?:MD_)?LIFETAB_([a-z0-9]+)","device":"tablet","model":"Lifetab $1"},{"regex":"X5001","model":"Life X5001"},{"regex":"(E10[45]1X)[);/ ]","device":"tablet","model":"$1"},{"regex":"([SPX]10[0-9]{2}X)[);/ ]","model":"Lifetab $1","device":"tablet"},{"regex":"Medion(?: Smartphone)? ([^/;]+) Build","model":"$1"}]},"MEEG":{"regex":"MEEG[ _-]","device":"smartphone","models":[{"regex":"MEEG[ _\\\\-]?([^/;]+) Build","model":"$1"},{"regex":"MEEG[ _\\\\-]?([^);/ ]+)","model":"$1"}]},"Meizu":{"regex":"Meizu|MZ-[a-z]|(M04[05]|MZ-16s|M35[1356]|M6T|MX[ -]?[2345](?: Pro)?|(?:MZ-)?m[1-6] note|M57[18]C|M3[ESX]|M031|m1 metal|M1 E|M2|M2 E|M5s Build|PRO 6|PRO 7-H)[);/ ]","device":"smartphone","models":[{"regex":"(?:MZ-)?M571C","device":"phablet","model":"M2 Note"},{"regex":"(?:MZ-)?m([1-6]) note[);/ ]","device":"phablet","model":"M$1 Note"},{"regex":"M1 E[);/ ]","model":"M1E"},{"regex":"M2 E[);/ ]","model":"M2E"},{"regex":"(?:MZ-)?M578C|M2[);/ ]","model":"M2"},{"regex":"M6T","model":"M6T"},{"regex":"M3E","model":"M3E"},{"regex":"M3S","model":"M3S"},{"regex":"M3X","model":"M3X"},{"regex":"M5S","model":"M5S"},{"regex":"(M04[05]|MX[ -]?2)[);/ ]","model":"MX2"},{"regex":"(M35[1356]|MX[ -]?3)[);/ ]","model":"MX3"},{"regex":"MX[ -]?4 Pro[);/ ]","model":"MX4 Pro"},{"regex":"MX[ -]?4[);/ ]","model":"MX4"},{"regex":"MX[ -]?5[);/ ]","model":"MX5"},{"regex":"m1 metal","model":"M1 Metal"},{"regex":"PRO 6","model":"PRO 6"},{"regex":"PRO 7-H","model":"PRO 7"},{"regex":"M031","model":"MX Dual Core"},{"regex":"(?:MZ-)?Meizu[_ ]([^/;]+) Build","model":"$1"},{"regex":"(?:MZ-)?Meizu[_ ]([a-z0-9_]+)","model":"$1"},{"regex":"MZ-([^/;]+) Build","model":"$1"}]},"Memup":{"regex":"SlidePad ?([^;/]*) Build|SPNG?[0-9]{2,4}[a-z]{0,2}[ ;/)]|SP704CE?","device":"tablet","models":[{"regex":"SlidePad ?([^;/]*) Build","model":"SlidePad $1"},{"regex":"SPNG([0-9]{2,4}[a-z]{0,2})[ ;/)]","model":"SlidePad NG$1"},{"regex":"SP704(CE?)","model":"SlidePad 704$1"}]},"Mecer":{"regex":"(M785|800P3[12]C|101P51C|X1010)[);/ ]","device":"tablet","models":[{"regex":"M785[);/ ]","model":"Xpress Smartlife M785"},{"regex":"X1010[);/ ]","model":"X1010"},{"regex":"800P31C[);/ ]","model":"Xpress Smartlife 800P31C"},{"regex":"800P32C[);/ ]","model":"Xpress Smartlife 800P32C"},{"regex":"101P51C[);/ ]","model":"Xpress Smartlife 101P51C"}]},"Mio":{"regex":"MIO(?:/)?([a-z0-9]+)","device":"smartphone","model":"$1"},"Miray":{"regex":"MIDM[_-]|MPM[_-]","device":"smartphone","models":[{"regex":"MIDM[_-]([a-z0-9]+)","model":"MIDM $1","device":"tablet"},{"regex":"MPM[_-]([a-z0-9]+)","model":"MPM $1"}]},"Mitsubishi":{"regex":"MITSU|portalmmm/[12]\\\\.0 M","device":"feature phone","models":[{"regex":"MITSU/[a-z0-9.]+ \\\\(([a-z0-9]+)\\\\)","model":"$1"},{"regex":"MITSU[ \\\\-]?([a-z0-9]+)","model":"$1"},{"regex":"portalmmm/[12]\\\\.0 (M[a-z0-9]+)","model":"$1"}]},"MIXC":{"regex":"(M35|M20|G7106|G7108)[ );/]","device":"smartphone","models":[{"regex":"(M[0-9]{1,2})[ );/]","model":"$1"},{"regex":"(G[0-9]{4})[ );/]","model":"$1"}]},"Mobiola":{"regex":"(MS5[50]X6|MS55X5|MS55L1|MS50L1|MS43A3000|MS45A4000|MS50A4000|MS50A4500|MS50A5000|MS50A6000|MS50B11000|MB-2900 QUATTRO|POLYS[_ ]MS45L1|Wave5)","device":"smartphone","models":[{"regex":"MS50X6","model":"Atmos II"},{"regex":"POLYS[_ ]MS45L1","model":"Polys MS45L1"},{"regex":"MS55X6","model":"Atmos Pro II"},{"regex":"MS55X5","model":"Atmos Pro"},{"regex":"MS55L1","model":"GAIA"},{"regex":"MS50L1","model":"Inti"},{"regex":"MB-2900 QUATTRO","model":"MB-2900 Quattro"},{"regex":"MS43A3000","model":"MS43A3000"},{"regex":"MS45A4000","model":"eOn 45"},{"regex":"MS50A4000","model":"eOn 50"},{"regex":"MS50A4500","model":"eOn 50 Elegance"},{"regex":"MS50A5000","model":"eOn 50 Quad 8"},{"regex":"MS50A6000","model":"eOn 50 Quad 16"},{"regex":"MS50B11000","model":"MS50B11000"},{"regex":"Wave5","model":"Wave 5"}]},"Mobiistar":{"regex":"Mobiistar|Zumbo_|PRIME X MAX","device":"smartphone","models":[{"regex":"mobiistar_LAI_Zumbo Build","model":"Zumbo"},{"regex":"Zumbo_S_2017 Build","model":"Lai Zumbo S (2017)"},{"regex":"Zumbo_S_2017_Lite Build","model":"Lai Zumbo S Lite (2017)"},{"regex":"mobiistar ZUMBO S2( Dual)? Build","model":"Zumbo S2"},{"regex":"Mobiistar_LAI_Zumbo_J Build","model":"Lai Zumbo J"},{"regex":"Mobiistar_LAI_Zumbo_J_2017 Build","model":"Lai Zumbo J (2017)"},{"regex":"Mobiistar_Zumbo_J2","model":"Lai Zumbo J2"},{"regex":"mobiistar ZUMBO Power","model":"Zumbo Power"},{"regex":"mobiistar[ _]LAI[ _]YUNA[ _]([1XCS])","model":"Lai Yuna $1"},{"regex":"mobiistar LAI Yuki","model":"Lai Yuki"},{"regex":"mobiistar[ _]LAI[ _]ZORO[ _]([23])","model":"Lai Zoro $1"},{"regex":"mobiistar[ _]LAI[ _]Zena","model":"Lai Zena"},{"regex":"mobiistar[ _]LAI[ _]Z([12])?","model":"Lai Z$1"},{"regex":"mobiistar_ZORO_4G","model":"Zoro 4G"},{"regex":"mobiistar touch LAI 512","model":"Touch Lai 512"},{"regex":"mobiistar LAI 504([KC])","model":"Lai 504$1"},{"regex":"mobiistar LAI Y Build","model":"Lai Y"},{"regex":"mobiistar PRIME X 2017 Build","model":"Prime X"},{"regex":"mobiistar[ _]PRIME[ _](X1|558|X[ _]Plus|X[ _]Grand) Build","model":"Prime $1"},{"regex":"PRIME X MAX 2018","model":"Prime X Max"},{"regex":"mobiistar[ _]KOOL([ _]Lite)?","model":"Kool$1"},{"regex":"mobiistar KAT 452 Build","model":"Kat 452"},{"regex":"mobiistar_LAI_YOLLO Build","model":"Lai Yollo"},{"regex":"Mobiistar[ _]([^;/]+) Build","model":"$1"}]},"MSI":{"regex":"Primo ?(?:91|76)|Enjoy 7 Plus","device":"tablet","models":[{"regex":"Primo ?76","model":"Primo 76"},{"regex":"Primo ?91","model":"Primo 91"},{"regex":"Enjoy 7 Plus","model":"Enjoy 7 Plus"}]},"MLLED":{"regex":"MLLED[ _]","device":"smartphone","models":[{"regex":"MLLED[ _]([^;/]+)Build","model":"$1"},{"regex":"MLLED[ _]([^);/]+)[);/]","model":"$1"}]},"Mobistel":{"regex":"(Cynus[ _][^/;]+) Build","device":"smartphone","model":"$1"},"Mecool":{"regex":"(KM9PRO|BB2 PRO|KII PRO)[);/ ]","device":"tv","models":[{"regex":"KM9PRO","model":"KM9 Pro"},{"regex":"BB2 PRO","model":"BB2 Pro"},{"regex":"KII PRO","model":"KII Pro"}]},"Modecom":{"regex":"Modecom|Free(?:Way )?Tab|xino z[\\\\d]+ x[\\\\d]+","device":"tablet","models":[{"regex":"xino Z([\\\\d]+) X([\\\\d]+)","model":"Xino Z$1 X$2","device":"smartphone"},{"regex":"FreeTab[ _\\\\-]?([^/;]+)? Build","model":"FreeTab $1"},{"regex":"FreeTab[ _\\\\-]?((?!Build)[^);/ ]+)?","model":"FreeTab $1"},{"regex":"FreeWay Tab[ _\\\\-]?([^/;]+) Build","model":"FreeWay Tab $1"},{"regex":"FreeWay Tab[ _\\\\-]?((?!Build)[^);/ ]+)","model":"FreeWay Tab $1"}]},"Mofut":{"regex":"Mofut","device":"smartphone","models":[{"regex":"Mofut[ _\\\\-]?([^/;]+) Build","model":"$1"},{"regex":"Mofut[ _\\\\-]?((?!Build)[^);/ ]+)","model":"$1"}]},"Motorola":{"regex":"MOT(?!TO)|(?<!AN)DROID ?(?:Build|[a-z0-9]+)|portalmmm/2.0 (?:E378i|L6|L7|v3)|XOOM [^;/]*Build|XT1021|(?:XT|MZ|MB|ME)[0-9]{3,4}[a-z]?(?:\\\\(Defy\\\\)|-0[1-5])?(?: Build|\\\\))","device":"smartphone","models":[{"regex":"MOT-V360","model":"V360","device":"feature phone"},{"regex":"(?:MOT-|Motorola-)?XT300","model":"Spice"},{"regex":"(?:MOT-|Motorola-)?XT30[35]","model":"Motosmart ME"},{"regex":"(?:MOT-|Motorola-)?XT31[16]","model":"Fire"},{"regex":"(?:MOT-|Motorola-)?XT32[01]","model":"Defy Mini"},{"regex":"(?:MOT-|Motorola-)?XT3(?:89|90)","model":"Motosmart"},{"regex":"(?:MOT-|Motorola-)?XT502","model":"Quench"},{"regex":"(?:MOT-|Motorola-)?XT531","model":"Fire XT"},{"regex":"(?:MOT-|Motorola-)?XT535","model":"Defy"},{"regex":"(?:MOT-|Motorola-)?XT55[567]C?","model":"Defy XT"},{"regex":"(?:MOT-|Motorola-)?XT603","model":"Admiral"},{"regex":"(?:MOT-|Motorola-)?XT610","model":"Droid Pro"},{"regex":"(?:MOT-|Motorola-)?XT615","model":"Motoluxe"},{"regex":"(?:MOT-|Motorola-)?XT621","model":"Primus"},{"regex":"(?:MOT-|Motorola-)?XT626","model":"IronRock"},{"regex":"(?:MOT-|Motorola-)?XT682","model":"Atrix"},{"regex":"(?:MOT-|Motorola-)?XT685","model":"Motoluxe Dual-SIM"},{"regex":"(?:MOT-|Motorola-)?XT687","model":"Atrix TV"},{"regex":"(?:MOT-|Motorola-)?XT720","model":"Milestone"},{"regex":"(?:MOT-|Motorola-)?XT800W","model":"Glam"},{"regex":"(?:MOT-|Motorola-)?XT860","model":"Milestone 3"},{"regex":"(?:MOT-|Motorola-)?XT881","model":"Electrify 2"},{"regex":"(?:MOT-|Motorola-)?XT882","model":"Moto XT882"},{"regex":"(?:MOT-|Motorola-)?XT88[56]","model":"Droid RAZR V"},{"regex":"(?:MOT-|Motorola-)?XT890","model":"Droid RAZR i"},{"regex":"(?:MOT-|Motorola-)?XT894","model":"Droid 4"},{"regex":"(?:MOT-|Motorola-)?XT897","model":"Photon Q"},{"regex":"(?:MOT-|Motorola-)?XT901","model":"Electrify M"},{"regex":"(?:MOT-|Motorola-)?XT90[567]","model":"Droid RAZR M"},{"regex":"(?:MOT-|Motorola-)?XT910S?","model":"Droid RAZR"},{"regex":"(?:MOT-|Motorola-)?XT91[4568]","model":"Droid RAZR D1"},{"regex":"(?:MOT-|Motorola-)?XT9(?:19|20)","model":"Droid RAZR D3"},{"regex":"(?:MOT-|Motorola-)?XT925","model":"Droid RAZR HD"},{"regex":"(?:MOT-|Motorola-)?XT102[12]","model":"Moto E"},{"regex":"(?:MOT-|Motorola-)?XT1706","model":"Moto E3 Power"},{"regex":"(?:MOT-|Motorola-)?XT1030","model":"Droid Mini"},{"regex":"(?:MOT-|Motorola-)?XT1096","model":"Moto X2"},{"regex":"(?:MOT-|Motorola-)?XT1254","model":"Droid Turbo"},{"regex":"(?:MOT-|Motorola-)?XT10(?:28|3[1234]|68|69)","model":"Moto G"},{"regex":"(?:MOT-|Motorola-)?XT10(?:49|5[23568]|60|9[23457])","model":"Moto X"},{"regex":"(?:MOT-|Motorola-)?XT1562","model":"Moto X Play"},{"regex":"(?:MOT-|Motorola-)?XT1080","model":"Droid Ultra"},{"regex":"(?:MOT-|Motorola-)?XT1650-05","model":"Moto Z"},{"regex":"(?:MOT-|Motorola-)?XT1635(?:-0[1-3])?","model":"Moto Z Play"},{"regex":"(?:MOT-|Motorola-)?XT1663","model":"Moto M"},{"regex":"Moto ([CGEXZ]) ?\\\\(([a-z0-9]+)\\\\)( Plus| Play)?","model":"Moto $1$2$3"},{"regex":"Moto ?([CGEXZ])([0-9]+)( Plus| Play)?","model":"Moto $1$2$3"},{"regex":"Moto ?([CGEXZ])( Plus| Play)?","model":"Moto $1$2"},{"regex":"Motorola[ _\\\\-]([a-z0-9]+)","model":"$1"},{"regex":"MOTORAZR[ _\\\\-]([a-z0-9]+)","model":"RAZR $1"},{"regex":"MOTORIZR[ _\\\\-]([a-z0-9]+)","model":"RIZR $1"},{"regex":"MOT(?!OROLA)[O]?[_\\\\-]?([a-z0-9.]+)","model":"$1"},{"regex":"(?<!AN)DROID ?([a-z0-9 ]*) Build","model":"DROID $1"},{"regex":"(?<!AN)DROID ?([a-z0-9]+)","model":"DROID $1"},{"regex":"portalmmm/2.0 ((?:E378i|L6|L7|V3)[a-z0-9]+)","model":"$1"},{"regex":"(XOOM [^;/]*)Build","device":"tablet","model":"$1"},{"regex":"(MZ[0-9]{3})[);/ ]","device":"tablet","model":"$1"},{"regex":"((?:ME|MB|XT)[0-9]{3,4}(?:\\\\(Defy\\\\))?)[);/ ]","model":"$1"}]},"Movic":{"regex":"MOVIC","device":"smartphone","models":[{"regex":"MOVIC[ -]W([2345])","model":"W$1"}]},"MTN":{"regex":"MTN-","device":"smartphone","models":[{"regex":"MTN-(L860|S620)","model":"Sm@rt Mini $1"},{"regex":"MTN-8978P","device":"tablet","model":"Steppa"},{"regex":"MTN-([a-z0-9_\\\\-]+)","model":"MTN-$1"}]},"MyPhone":{"regex":"(?:MyPhone|MyPad|MyTab)[ _][^;/]+ Build|Cube_LTE|myTab10II|HAMMER[ _]ENERGY|HAMMER_AXE_M_LTE|Hammer Titan 2|C-Smart_pix","device":"smartphone","models":[{"regex":"MyPad[ _]([^;/]+) Build","model":"MyPad $1","device":"tablet"},{"regex":"MyTab[ _]([^;/]+) Build","model":"MyTab $1","device":"tablet"},{"regex":"myTab10II","model":"MyTab 10 II","device":"tablet"},{"regex":"Cube_LTE","model":"Cube LTE"},{"regex":"HAMMER[ _]ENERGY","model":"Hammer Energy"},{"regex":"HAMMER_AXE_M_LTE","model":"Hammer Axe M LTE"},{"regex":"Hammer Titan 2","model":"Hammer Titan 2"},{"regex":"C-Smart_pix","model":"C-Smart Pix"},{"regex":"MyPhone[ _]([^;/]+) Build","model":"$1"}]},"MyWigo":{"regex":"MyWigo ","device":"smartphone","models":[{"regex":"City3","model":"City 3"}]},"Myria":{"regex":" (Myria_[^/;]+|502M|Cozy|Easy tab 9|Grand) Build|Myria_FIVE|Myria_Grand_4G|Myria_Wide_2|Myria_Wide_4G","device":"smartphone","models":[{"regex":"Myria_([^/;]+) Build","model":"$1"},{"regex":"Myria_FIVE","model":"Five"},{"regex":"(502M|Grand)","model":"$1"},{"regex":"Myria_Grand_4G","model":"Grand 4G"},{"regex":"Myria_Wide_4G","model":"Wide 4G"},{"regex":"Myria_Wide_2","model":"Wide 2"},{"regex":"(Cozy|Easy tab 9)","model":"$1","device":"tablet"}]},"M.T.T.":{"regex":"M.T.T.","device":"smartphone","models":[{"regex":"M.T.T. ?Tablet([^;/]+)? Build","device":"tablet","model":"Tablet$1"},{"regex":"M.T.T. ?([^;/]+) Build","model":"$1"}]},"Navon":{"regex":"Superme_Max","device":"smartphone","models":[{"regex":"Superme_Max","model":"Supreme Max"}]},"NOA":{"regex":"NOA[ _]|HummerLE","device":"smartphone","models":[{"regex":"NOA[_ ]CORE[_ ]FORTE","model":"Core Forte"},{"regex":"HummerLE","model":"Hummer LE"},{"regex":"NOA[_ ]Hummer[_ ]Lite","model":"Hummer Lite"},{"regex":"NOA[_ ]MOVEse","model":"Move SE"},{"regex":"NOA[_ ]NEXT","model":"Next"},{"regex":"NOA[_ ]VISION[_ ]H3SE","model":"Vision H3SE"},{"regex":"NOA[_ ]VISION[_ ]H3","model":"Vision H3"},{"regex":"NOA[_ ]LOOP","model":"Loop"},{"regex":"NOA[_ ]H4se","model":"H4SE"},{"regex":"NOA[_ ]Mg12","model":"MG12"},{"regex":"NOA[_ ]H44SE","model":"H44SE"},{"regex":"NOA[_ ]H10LE","model":"H10LE"},{"regex":"NOA[_ ]([^;)/ ]+)","model":"$1"}]},"Nobby":{"regex":"Nobby[ ]S500[;/) ]","device":"smartphone","model":"S500"},"NEC":{"regex":"NEC[ _\\\\-]|KGT/2\\\\.0|portalmmm/1\\\\.0 (?:DB|N)|(?:portalmmm|o2imode)/2.0[ ,]N","device":"smartphone","models":[{"regex":"(?:NEC[ _\\\\-]|KGT/2\\\\.0 )([a-z0-9]+)","model":"$1"},{"regex":"portalmmm/1\\\\.0 ((?:DB|N)[a-z0-9]+)","model":"$1"},{"regex":"(?:portalmmm|o2imode)/2\\\\.0[ ,](N[a-z0-9]+)","model":"$1"}]},"Neffos":{"regex":"Neffos","device":"smartphone","models":[{"regex":"Neffos[_ ]Y50","model":"Y50"},{"regex":"Neffos[_ ]((?:Y|N|C|X)[0-9][A-Z]?(?: Max| Lite)?)","model":"$1"}]},"Nextbit":{"regex":"(Robin) Build","device":"smartphone","model":"$1"},"Newgen":{"regex":"NEWGEN\\\\-([a-z0-9]+)","device":"feature phone","model":"$1"},"Netgear":{"regex":"GTV100","device":"tv","models":[{"regex":"GTV100","model":"NeoTV Prime"}]},"NeuImage":{"regex":"NIM-","device":"smartphone","models":[{"regex":"NIM-(450D|550O|600Q)","model":"$1"}]},"NextBook":{"regex":"Next[0-9]|NX785QC8G|NXM900MC|NX008HD8G|NX010HI8G|NXM908HC|NXM726","device":"tablet","models":[{"regex":"NX008HD8G","model":"Premium 8 HD"},{"regex":"NXM908HC","model":"Premium 9"},{"regex":"NX010HI8G","model":"Premium 10 Hi"},{"regex":"NX785QC8G","model":"8"},{"regex":"NXM900MC","model":"8 HD"},{"regex":"NXM726","model":"Premium 7"},{"regex":"Next([0-9]+[^;/]+) Build","model":"Next $1"}]},"NGM":{"regex":"NGM[_ ][a-z0-9]+|(Forward|Dynamic)[ _]?[^/;]+(?:Build|/)","device":"smartphone","models":[{"regex":"(Forward|Dynamic)[ _]?([^/;]+) Build","model":"$1 $2"},{"regex":"(Forward|Dynamic)[ _]?([^/;]+)/","model":"$1 $2"},{"regex":"NGM ([^;/]+) Build","model":"$1"},{"regex":"NGM_([a-z0-9]+)","model":"$1"}]},"Nexian":{"regex":"S?Nexian","device":"smartphone","models":[{"regex":"S?Nexian[ ]?([a-z0-9\\\\-]+)","model":"$1"},{"regex":"S?Nexian-([a-z0-9]+)","model":"$1"}]},"Noain":{"regex":"NOAIN","device":"smartphone","models":[{"regex":"NOAIN[ _-]([^;/]+) Build","model":"$1"},{"regex":"NOAIN[ _-]([^;/)]+)[;/)]","model":"$1"}]},"Noblex":{"regex":"Noblex|NBX-","device":"smartphone","models":[{"regex":"(?:Noblex|NBX)[ _-]([^;/]+) Build","model":"$1"},{"regex":"(?:Noblex|NBX)[ _-]([^;/)]+)[;/)]","model":"$1"}]},"Nomi":{"regex":"Nomi[ _-]|C101010 Ultra2[;/) ]","device":"smartphone","models":[{"regex":"C101010 Ultra2","model":"Ultra 2","device":"tablet"},{"regex":"Nomi[ _-]([^;/]+) Build","model":"$1"},{"regex":"Nomi[ _-]([^;/)]+)[;/)]","model":"$1"}]},"NUU Mobile":{"regex":"N(5702|5001)L[;)/ ]","device":"smartphone","models":[{"regex":"N5702L","model":"G3"},{"regex":"(N5001L)[;)/ ]","model":"$1"}]},"NYX Mobile":{"regex":"NYX[ _]","device":"smartphone","models":[{"regex":"NYX_A1","model":"A1"},{"regex":"NYX_Blink","model":"Blink"},{"regex":"NYX_EGO","model":"Ego"},{"regex":"NYX_FENIX","model":"Fenix"},{"regex":"NYX_FLY_II","model":"Fly II"},{"regex":"NYX_FLY_MINI","model":"Fly Mini"},{"regex":"NYX_FLY","model":"Fly"},{"regex":"NYX_HIT","model":"Hit"},{"regex":"NYX_JAK","model":"Jak"},{"regex":"NYX_JOIN","model":"Join"},{"regex":"NYX_NOBA_II","model":"Noba II"},{"regex":"NYX_NOBA","model":"Noba"},{"regex":"NYX_ORBIS","model":"Orbis"},{"regex":"NYX[ _]REX","model":"Rex"},{"regex":"NYX_SHADE","model":"Shade"},{"regex":"NYX_SKY","model":"Sky"},{"regex":"NYX_SPARK","model":"Spark"},{"regex":"NYX_VOX","model":"Vox"},{"regex":"NYX_ZEUZ_HD","model":"Zeus HD"}]},"Nous":{"regex":"NS([356]|500[2-68]|5511|5502)[;/) ]","device":"smartphone","models":[{"regex":"(NS[0-9]{1,4})[;/) ]","model":"$1"}]},"Nvidia":{"regex":"(SHIELD Tablet K1) Build","device":"tablet","models":[{"regex":"(SHIELD Tablet K1) Build","model":"$1"}]},"O+":{"regex":"O\\\\+[ _](Air|Crunch|Ultra|Upsized|Venti)","device":"smartphone","models":[{"regex":"O\\\\+[ _](Crunch|Ultra 2.0|Ultra|Upsized|Venti 4G)","model":"$1"},{"regex":"O\\\\+_AIR","model":"Air"}]},"O2":{"regex":"Xda|O2[ \\\\-]|COCOON","device":"smartphone","models":[{"regex":"(Xda[ _][a-z0-9_]+)","model":"$1"},{"regex":"(COCOON)","model":"$1"},{"regex":"O2 ([a-z0-9 ]+)","model":"$1"},{"regex":"O2-([a-z0-9]+)","model":"$1"}]},"Odys":{"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","device":"tablet","models":[{"regex":"XELIO[_ ]A10","model":"Xelio A10"},{"regex":"XELIOPHONETAB3","model":"Xelio Phonetab 3"},{"regex":"XELIO_NEXT_10_PLUS_3G","model":"Xelio Next 10 Plus 3G"},{"regex":"XELIO_PHONE_TAB7_3G","model":"Xelio Phonetab 7 3G"},{"regex":"XELIO10EXTREME","model":"Xelio 10 Xtreme"},{"regex":"XELIO10_PLUS_3G","model":"Xelio 10 Plus 3G"},{"regex":"ELEMENT10_PLUS_3G","model":"Element 10 Plus 3G"},{"regex":"CONNECT8PLUS","model":"Connect 8 Plus"},{"regex":"CONNECT7PRO","model":"Connect 7 Pro"},{"regex":"MAVEN_?10_PRO_PLUS_3G","model":"Maven 10 Pro Plus 3G"},{"regex":"MAVEN_?10_?PLUS","model":"Maven 10 Plus"},{"regex":"MAVEN_?10_?PRO","model":"Maven 10 Pro"},{"regex":"MAVEN_?10_?HD","model":"Maven 10 HD"},{"regex":"RAPID_?7_?LTE","model":"Rapid 7 LTE"},{"regex":"RAPID_?10_?LTE","model":"Rapid 10 LTE"},{"regex":"TAO_X10","model":"Tao X10"},{"regex":"SPACE10_PLUS_3G","model":"Space 10 Plus 3G"},{"regex":"SPACE10_PRO_3G","model":"Space 10 Pro 3G"},{"regex":"THOR_?10 Build","model":"Thor 10"},{"regex":"ADM816HC","model":"Neo X"},{"regex":"EOS10","model":"EOS 10"},{"regex":"AEON","model":"Aeon"},{"regex":"FALCON_10_PLUS_3G","model":"Falcon 10 Plus 3G"},{"regex":"FUSION","model":"Fusion 7"},{"regex":"NEO6[_ ]LTE","model":"Neo 6 LTE","device":"smartphone"},{"regex":"ADM8000KP","model":"Titan"},{"regex":"THOR_?10_PLUS_3G","model":"Thor 10 Plus 3G"},{"regex":"IEOS[ _]([^/;]+) Build","model":"Ieos $1"},{"regex":"(?:ODYS[ _-])?NOON Build","model":"Noon"},{"regex":"(?:ODYS[ _-])?NOON_PRO Build","model":"Noon Pro"},{"regex":"Odys[ _-]([^/;]+) Build","model":"$1"}]},"Obi":{"regex":"Obi[ _-]|(SJ1\\\\.5|SJ2\\\\.6|S400|S452\\\\+|S451|S453|S501|S502|S503\\\\+?|S507|S520|S550|S551|falcon)[ _]","device":"smartphone","models":[{"regex":"SJ2\\\\.6","model":"SJ2.6"},{"regex":"SJ1\\\\.5","model":"SJ1.5"},{"regex":"(?:Obi_)?S400","model":"Skipper"},{"regex":"(?:Obi_)?S451|falcon","model":"Flacon"},{"regex":"(?:Obi_)?S452\\\\+","model":"Python"},{"regex":"(?:Obi_)?S453","model":"Fox"},{"regex":"(?:Obi_)?S501","model":"Wolverine"},{"regex":"(?:Obi_)?S502","model":"Leopard"},{"regex":"(?:Obi_)?S503\\\\+","model":"Boa Plus"},{"regex":"(?:Obi_)?S503","model":"Boa"},{"regex":"(?:Obi_)?S507","model":"Pelican"},{"regex":"(?:Obi_)?S520","model":"Octopus"},{"regex":"(?:Obi_)?S550","model":"Crane"},{"regex":"(?:Obi_)?S551","model":"Hornbill"},{"regex":"(?:Obi_)?S454","model":"Alligator"},{"regex":"Obi[ _-]([^;/]+) Build","model":"$1"},{"regex":"Obi[ _-]([^;/)]+)[;/)]","model":"$1"}]},"Onda":{"regex":"Onda","device":"smartphone","models":[{"regex":"ONDA MID","model":"MID","device":"tablet"},{"regex":"([a-z0-9]+)[ _]Onda","model":"$1"},{"regex":"Onda ([a-z0-9]+)","model":"$1"}]},"OnePlus":{"regex":"(?:du_)?ONEPLUS|(?:A0001|A200[135]|A300[03]|A3010|A5000|A600[03]|A601[03]|E100[135]|GM191[03517]|GM190[013])(?: Build|\\\\))","device":"smartphone","models":[{"regex":"GM191[03517]","model":"7 Pro"},{"regex":"GM190[013]","model":"7"},{"regex":"A0001","model":"One"},{"regex":"A200[135]|OnePlus2","model":"2"},{"regex":"E100[135]","model":"X"},{"regex":"A3010|OnePlus3T","model":"3T"},{"regex":"A300[03]|OnePlus3","model":"3"},{"regex":"A5010|OnePlus5T","model":"5T"},{"regex":"A5000|OnePlus5","model":"5"},{"regex":"A600[03]|OnePlus6","model":"6"},{"regex":"A601[03]","model":"6T"},{"regex":"(?:du_)?ONEPLUS ?([^;/]+) Build","model":"$1"}]},"OPPO":{"regex":"(?:OB-)?OPPO[ _]?([a-z0-9]+)|N1T|(?:X90[07][0679]|U707T?|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|A33f|A33fw|A37fw?|PAAM00|PAC[T|M]00|PBAM00)[);/ ]|R7kf|R7plusf|R7Plusm|A1601|CPH[0-9]{4}|PCAM10|PADM00|PBBT00|PBBM[03]0|RMX18(0[1579]|11|3[13]|2[15]|[45]1|45)|CPH19(69|79|23|1[179])|RMX(1827|194[135]|19[01]1|1971)|PC[CD]M00|PBAT00|PBCM[13]0|PBE[MT]00|PBFM00|PAFM00","device":"smartphone","models":[{"regex":"(?:OPPO[ _]?)?U707T?[);/ ]","model":"Find Way S"},{"regex":"(?:OPPO[ _]?)?CPH1979[);/ ]","model":"Reno Z"},{"regex":"CPH1945","model":"Reno2 Z"},{"regex":"CPH1969","model":"F11 Pro"},{"regex":"CPH1911","model":"F11"},{"regex":"CPH1917","model":"Reno"},{"regex":"CPH1921","model":"Reno 5G"},{"regex":"PCCM00","model":"Reno 10X"},{"regex":"CPH1919","model":"Reno 10X Zoom"},{"regex":"CPH1923","model":"A1K"},{"regex":"CPH1909","model":"A5S"},{"regex":"(?:OPPO[ _]?)?X909T?[);/ ]","model":"Find 5"},{"regex":"(?:OPPO[ _]?)?X907[067][);/ ]","model":"Find 7"},{"regex":"(?:OPPO[ _]?)?X900[067][);/ ]","model":"Find 7a"},{"regex":"(?:OPPO[ _]?)?X9009[);/ ]","model":"F1 Plus"},{"regex":"(?:OPPO[ _]?)?R8006[);/ ]","model":"R1L"},{"regex":"(?:OPPO[ _]?)?R800[07][);/ ]","model":"R1S"},{"regex":"(?:OPPO[ _]?)?R8015[);/ ]","model":"Find Guitar"},{"regex":"(?:OPPO[ _]?)?R810[679][);/ ]","model":"R5"},{"regex":"(?:OPPO[ _]?)?R7kf[);/ ]","model":"R7 Lite"},{"regex":"(?:OPPO[ _]?)?R7Plusf[);/ ]","model":"R7 Plus F"},{"regex":"(?:OPPO[ _]?)?R7Plusm[);/ ]","model":"R7 Plus"},{"regex":"(?:OPPO[ _]?)?R8111[);/ ]","model":"Find Melody"},{"regex":"(?:OPPO[ _]?)?R8113[);/ ]","model":"Piano"},{"regex":"(?:OPPO[ _]?)?R815[TW]?[);/ ]","model":"Find Clover"},{"regex":"(?:OPPO[ _]?)?R821T?[);/ ]","model":"Find Muse"},{"regex":"(?:OPPO[ _]?)?R827T?[);/ ]","model":"Find 5 Mini"},{"regex":"(?:OPPO[ _]?)?A33fw[);/ ]","model":"Neo 7s"},{"regex":"(?:OPPO[ _]?)?A33f[);/ ]","model":"Neo 7"},{"regex":"(?:OPPO[ _]?)?R831[SL][);/ ]","model":"Neo 5"},{"regex":"(?:OPPO[ _]?)?R831K[);/ ]","model":"Neo 3"},{"regex":"(?:OPPO[ _]?)?R831T?[);/ ]","model":"Neo"},{"regex":"(?:OPPO[ _]?)?N520[79][);/ ]","model":"N3"},{"regex":"(?:OPPO[ _]?)?N5117[);/ ]","model":"N1 Mini"},{"regex":"(?:OPPO[ _]?)?CPH1609[);/ ]","model":"F3"},{"regex":"(?:OPPO[ _]?)?CPH1707[);/ ]","model":"R11"},{"regex":"(?:OPPO[ _]?)?CPH1715[);/ ]","model":"A77"},{"regex":"(?:OPPO[ _]?)?CPH1717[);/ ]","model":"A71"},{"regex":"(?:OPPO[ _]?)?CPH1719[);/ ]","model":"R11s"},{"regex":"(?:OPPO[ _]?)?CPH1721[);/ ]","model":"R11s Plus"},{"regex":"(?:OPPO[ _]?)?CPH172[37][);/ ]","model":"F5"},{"regex":"(?:OPPO[ _]?)?CPH1725[);/ ]","model":"F5 Youth"},{"regex":"(?:OPPO[ _]?)?CPH1605[);/ ]","model":"A39"},{"regex":"(?:OPPO[ _]?)?CPH1607[);/ ]","model":"R9s"},{"regex":"(?:OPPO[ _]?)?CPH1611[);/ ]","model":"R9s Plus"},{"regex":"(?:OPPO[ _]?)?CPH1613[);/ ]","model":"F3 Plus"},{"regex":"(?:OPPO[ _]?)?CPH170[15][);/ ]","model":"A57"},{"regex":"(?:OPPO[ _]?)?CPH1729[);/ ]","model":"A83"},{"regex":"(?:OPPO[ _]?)?CPH1801[);/ ]","model":"A71"},{"regex":"(?:OPPO[ _]?)?CPH18(0[35]|53)[);/ ]","model":"A3s"},{"regex":"(?:OPPO[ _]?)?(?:CPH1809|PBAT00)[);/ ]","model":"A5"},{"regex":"CPH1933","model":"A5 (2020)"},{"regex":"(?:OPPO[ _]?)?CPH1938[);/ ]","model":"A9 (EN)"},{"regex":"CPH1937","model":"A9 (2020)"},{"regex":"(?:OPPO[ _]?)?CPH18(19|21)[);/ ]","model":"F7"},{"regex":"(?:OPPO[ _]?)?CPH1823[);/ ]","model":"F9 Pro"},{"regex":"(?:OPPO[ _]?)?CPH1827[);/ ]","model":"A83 (2018)"},{"regex":"(?:OPPO[ _]?)?CPH1831[);/ ]","model":"R15 Pro"},{"regex":"(?:OPPO[ _]?)?CPH1835[);/ ]","model":"R15"},{"regex":"(?:OPPO[ _]?)?CPH1837[);/ ]","model":"A3"},{"regex":"(?:OPPO[ _]?)?CPH1851[);/ ]","model":"AX5"},{"regex":"CPH1920","model":"AX5s"},{"regex":"(?:OPPO[ _]?)?CPH1859[);/ ]","model":"F7"},{"regex":"(?:OPPO[ _]?)?CPH1861[);/ ]","model":"RealMe 1"},{"regex":"(?:OPPO[ _]?)?PBCM30[);/ ]","model":"K1"},{"regex":"RMX1811","model":"RealMe C1"},{"regex":"RMX194[135]","model":"RealMe C2"},{"regex":"RMX1831","model":"RealMe U1"},{"regex":"(?:OPPO[ _]?)?(?:CPH187[15]|PAFM00)[);/ ]","model":"Find X"},{"regex":"(?:OPPO[ _]?)?CPH1877[);/ ]","model":"R17 Pro"},{"regex":"(?:OPPO[ _]?)?(?:CPH1879|PBE[MT]00)[);/ ]","model":"R17"},{"regex":"(?:OPPO[ _]?)?(?:CPH1825|CPH1881)[);/ ]","model":"F9"},{"regex":"(?:OPPO[ _]?)?CPH1893[);/ ]","model":"R17 Neo"},{"regex":"(?:OPPO[ _]?)?(?:CPH1901|PBFM00)[);/ ]","model":"A7"},{"regex":"(?:OPPO[ _]?)?CPH1903[);/ ]","model":"AX7"},{"regex":"(?:OPPO[ _]?)?A37f(w)?(?: Build|\\\\))","model":"A37f$1"},{"regex":"(?:OPPO[ _]?)?PADM00","model":"A3"},{"regex":"(?:OPPO[ _]?)?PBAM00","model":"A5"},{"regex":"(?:OPPO[ _]?)?A1601[);/ ]","model":"F1s"},{"regex":"(?:OPPO[ _]?)?R1011 Build","model":"Joy Plus"},{"regex":"(?:OPPO[ _]?)?(?:PAC[TM]00|PAAM00)[);/ ]","model":"R15"},{"regex":"PBCM10[);/ ]","model":"R15x"},{"regex":"RMX180[59]","model":"Realme 2"},{"regex":"RMX180[17]","model":"Realme 2 Pro"},{"regex":"RMX1833|RMX182[15]","model":"Realme 3"},{"regex":"RMX1827","model":"Realme 3i"},{"regex":"RMX1851","model":"Realme 3 Pro"},{"regex":"RMX1901","model":"Realme X"},{"regex":"RMX1911","model":"Realme 5"},{"regex":"RMX1971","model":"Realme 5 Pro"},{"regex":"(PBBT00|PBBM00)[);/ ]","model":"A7x"},{"regex":"PCDM00[);/ ]","model":"A7n"},{"regex":"PBBM30[);/ ]","model":"A3s"},{"regex":"N1T?[);/ ]","model":"N1T","device":"phablet"},{"regex":"PCAM10","model":"A9"},{"regex":"R([0-9]{3,4}[KSTW]?)[);/ ]","model":"R$1"},{"regex":"(?:OB-)?OPPO[ _]?([a-z0-9]+)","model":"$1"}]},"Opsson":{"regex":"Opsson|IUSAI","device":"smartphone","models":[{"regex":"IUSAI[ _]([^/;]+) Build","model":"Iusai $1"},{"regex":"IUSAI[ _]([^/;\\\\)]+)[/;\\\\)]","model":"Iusai $1"},{"regex":"Opsson[ _]([^/;]+) Build","model":"$1"},{"regex":"(?:Opsson-)?Opsson[ -_]([^/;]+)/","model":"$1"}]},"Orange":{"regex":"SPV[ \\\\-]?([a-z0-9]+)|Orange[ _-](?!Tahiti-LS\\\\))([^/;]+)( Build|\\\\))(?<!Tahiti-LS\\\\))|SC/IHD92|FunTab ([^/;]+) Build","device":"smartphone","models":[{"regex":"SC/IHD92","model":"Livebox Play","device":"tv"},{"regex":"Sego","model":"Sego","device":"tablet"},{"regex":"FunTab ([^/;]+) Build","model":"FunTab $1","device":"tablet"},{"regex":"Orange[ _-](Rise)(3[12]|5[12])[ ;/)]","model":"$1 $2"},{"regex":"Orange[ _-](Dive)72[ ;/)]","model":"$1 72"},{"regex":"Orange[ _-](Daytona|Dive (30|7[13])|Dublin|Fova|Gova|Hi 4G|Hiro|Kivo|Monte Carlo|Neva 80|Neva play|Nura|Reyo|Rise[_ ](3[034]|40|5[34])|Rono|Roya|San Francisco|Tactile internet 2|Tado|Yomi|Yumo|Zali)[ ;/)]","model":"$1"},{"regex":"SPV[ \\\\-]?([a-z0-9]+)","model":"SPV $1"}]},"Ouki":{"regex":"OUKI|OK[AU][0-9]+[a-z]* Build","device":"smartphone","models":[{"regex":"OUKI[ _-]?([^;/]+) Build","model":"$1"},{"regex":"([^;/)]+) Build/OUKI","model":"$1"},{"regex":"OUKI[ _-]?([^;/)]+)[;/)]","model":"$1"},{"regex":"(OK[AU][0-9]+[a-z]*) Build","model":"$1"}]},"Overmax":{"regex":"OV-[a-z]+(?:[^;(/]*)[();/ ]|Qualcore 1010","device":"tablet","models":[{"regex":"OV-V10","model":"Vertis Yard","device":"smartphone"},{"regex":"OV-Vertis[ _-]([^;/]+) Build","model":"Vertis $1","device":"smartphone"},{"regex":"Qualcore 1010","model":"Qualcore 1010","device":"tablet"},{"regex":"(OV-[a-z]+(?:[^;(/]*))(?<!Build)[();/ ]","model":"$1"}]},"Oysters":{"regex":"Oysters|T84ERI[ _]3G|T72HM3G|(T74HMi|T84Bi)[_ ]4G","device":"tablet","models":[{"regex":"Oysters ((?:Arctic|Indian|Atlantic|Pacific)[^/;]+) Build","device":"smartphone","model":"$1"},{"regex":"Oysters ([^/;]+) Build","model":"$1"},{"regex":"(T84ERI[ _]3G|T72HM3G|(?:(T74HMi|T84Bi)[_ ]4G))","model":"$1"}]},"\xf6wn":{"regex":"OWN","device":"smartphone","models":[{"regex":"FUN ([67])","model":"Fun $1"},{"regex":"FUN 5\\\\(4G\\\\)","model":"Fun 5 4G"},{"regex":"OWN[ _](S3000D|S3010|S3020D|S4010|S4025)","model":"$1"},{"regex":"One Plus","model":"One Plus"},{"regex":"One","model":"One"},{"regex":"SMART 9","model":"Smart 9"}]},"Panacom":{"regex":"T-i708D","device":"smartphone","models":[{"regex":"T-i708D","device":"tablet","model":"T-i708D"}]},"Panasonic":{"regex":"Panasonic|PANATV[0-9]+|Viera/|P902i[);/ ]|Eluga[ _]|FZ-N1|P55 Novo 4G","device":"smartphone","models":[{"regex":"Eluga[ _-]([^;/]+) Build","model":"Eluga $1"},{"regex":"Eluga[ _-]([^;/]+)[;/)]","model":"Eluga $1"},{"regex":"FZ-N1","model":"Toughpad"},{"regex":"P55 Novo 4G","model":"P55 Novo 4G"},{"regex":"P902i[);/ ]","device":"feature phone","model":"P902i"},{"regex":"Panasonic MIL DLNA","device":"tv","model":"Viera Cast"},{"regex":"PANATV[0-9]+|Viera/","device":"tv","model":"Smart TV"},{"regex":"Panasonic[ _\\\\-]?([a-z0-9]+)","model":"$1"},{"regex":"portalmmm/2.0 (P[a-z0-9]+)","model":"$1"}]},"PCBOX":{"regex":"Art-PCB-V116|Bee-PCB-V216|Clap-PCB-I316|PCB-T(103|715)","device":"smartphone","models":[{"regex":"Art-PCB-V116","model":"Art"},{"regex":"Bee-PCB-V216","model":"Bee"},{"regex":"Clap-PCB-I316","model":"Clap"},{"regex":"PCB-T103","device":"tablet","model":"Curi Lite"},{"regex":"PCB-T715","device":"tablet","model":"T715"}]},"PCD":{"regex":"PH4001","device":"smartphone","models":[{"regex":"PH4001","model":"PH4001"}]},"PCD Argentina":{"regex":"PCD[ ]?50[689]","device":"smartphone","models":[{"regex":"PCD[ ]?(50[689])","model":"$1"}]},"Pentagram":{"regex":"Pentagram|Quadra|Monster X5","device":"tablet","models":[{"regex":"(?:PENTAGRAM[_ ])?EON[_ ]PRIX","model":"Eon Prix"},{"regex":"Quadra 7( UltraSlim)?","model":"Quadra 7 UltraSlim"},{"regex":"Monster X5?","model":"Monster X5","device":"smartphone"},{"regex":"Quadra ?([^);/]*) Build","model":"Quadra $1"},{"regex":"Pentagram ?TAB ?([^);/]*) Build","model":"Tab $1"},{"regex":"Pentagram ?([^);/]*) Build","model":"$1","device":"smartphone"}]},"Philips":{"regex":"Philips|AND1E[);/ ]|NETTV/|PI3210G|TLE(821L|722G)","device":"smartphone","models":[{"regex":"AND1E(?: TV)?[);/ ]","model":"Android TV","device":"tv"},{"regex":"(PI3210G)","model":"$1","device":"tablet"},{"regex":"(TLE821L)[);/ ]","model":"$1 4G LTE","device":"tablet"},{"regex":"(TLE722G)[);/ ]","model":"$1","device":"tablet"},{"regex":"Philips, BDP([0-9]{4})","model":"Blu-ray Player (BDP$1)","device":"tv"},{"regex":"(NETTV/[0-9\\\\.]{5})","model":"NetTV Series","device":"tv"},{"regex":"Philips-FISIO ([a-z0-9]+)","model":"Fisio $1"},{"regex":"Philips[ _-]?([a-z0-9\\\\-@]+)","model":"$1"}]},"phoneOne":{"regex":"phoneOne[ \\\\-]?([a-z0-9]+)","device":"smartphone","model":"$1"},"Primepad":{"regex":"PD\\\\-(3127NC|3127) Build","device":"tablet","models":[{"regex":"PD\\\\-3127NC Build","model":"PD-3127NC"},{"regex":"PD\\\\-3127 Build","model":"PD-3127"}]},"Pioneer":{"regex":"Pioneer|.*; R1 Build","device":"smartphone","models":[{"regex":".*; R1 Build","model":"R1","device":"tablet"},{"regex":"Pioneer[ _-]?([^;/]+) Build","model":"$1"},{"regex":"Pioneer[ _-]?([^;/)]+)[;/)]","model":"$1"}]},"Pixus":{"regex":"Pixus|Ride[_ ]4G[;)\\\\ ]","device":"tablet","models":[{"regex":"Ride[_ ]4G","model":"Ride 4G"},{"regex":"Raze","model":"Raze","device":"smartphone"}]},"PULID":{"regex":"PULID[ _]|F1[01357]\\\\+? Build","device":"smartphone","models":[{"regex":"F(1[01357]\\\\+?) Build","model":"F$1"},{"regex":"PULID[ _]([^;/]+) Build","model":"$1"},{"regex":"PULID[ _]([a-z0-9_]+)\\\\)","model":"$1"}]},"Point of View":{"regex":"POV_TV|POV_TAB|MOB-5045","device":"tablet","models":[{"regex":"POV_TV-HDMI-KB-01","model":"HDMI Smart TV Dongle","device":"tv"},{"regex":"POV_TV-HDMI-200BT","model":"Mini PC HDMI Dongle","device":"tv"},{"regex":"MOB-5045","model":"Mobii Phone 5045","device":"smartphone"},{"regex":"POV_TAB-P506","model":"ONYX 506 Navi"},{"regex":"POV_TAB[_-]NAVI7[_-]3G[_-]M","model":"ONYX 507 Navi"},{"regex":"POV_TAB-P527S","model":"ONYX 527S"},{"regex":"POV_TAB-P547","model":"ONYX 547 Navi"},{"regex":"POV_TAB-PROTAB26","model":"ProTab 26 XXL IPS"},{"regex":"POV_TAB-PROTAB25XXL8?","model":"ProTab 25XXL"},{"regex":"POV_TAB-PL1015","model":"Mobii 1015"},{"regex":"POV_TAB-PROTAB([a-z0-9]+)","model":"ProTab $1"},{"regex":"POV_TAB-P?([a-z0-9]+)","model":"Mobii $1"}]},"Pomp":{"regex":"POMP[ _-]","device":"smartphone","models":[{"regex":"POMP[ _-]([^;/]+) Build","model":"$1"},{"regex":"POMP[ _-]([^;/)]+)[;/)]","model":"$1"}]},"PPTV":{"regex":"(KING 7S?)","device":"smartphone","model":"$1"},"ProScan":{"regex":"PLT([^;/]+) Build","device":"tablet","model":"PLT$1"},"RCA Tablets":{"regex":"RCT([^;/]+) Build|RCA RLTP4028","device":"smartphone","models":[{"regex":"RCA RLTP4028","model":"RLTP4028"},{"regex":"RCT([^;/]+) Build","device":"tablet","model":"RCT$1"}]},"Readboy":{"regex":"Readboy[ _-]","device":"tablet","models":[{"regex":"Readboy[ _-]([^;/]+) Build","model":"$1"},{"regex":"Readboy[ _-]([^;/]+)[;/)]","model":"$1"}]},"Roku":{"regex":"Roku/DVP","device":"tv","model":"Digital Video Player"},"Rokit":{"regex":"IO Pro","device":"smartphone","models":[{"regex":"IO Pro","model":"IO Pro"}]},"Rombica":{"regex":"SSQ-A0500[);/ ]","device":"tv","model":"Smart Stick 4K"},"Rover":{"regex":"Rover ([0-9]+)","device":"feature phone","model":"$1"},"RT Project":{"regex":"Shock 5","device":"smartphone","models":[{"regex":"Shock 5","model":"Shock 5"}]},"Safaricom":{"regex":"NEON_RAY","device":"smartphone","models":[{"regex":"NEON_RAY","model":"Neon Ray"}]},"Santin BiTBiZ":{"regex":"BiTBiZ","device":"smartphone","models":[{"regex":"BiTBiZ_V58","model":"V58"}]},"Siemens":{"regex":"SIEMENS|SIE-|portalmmm/2\\\\.0 SI|S55|SL45i","device":"smartphone","models":[{"regex":"SIEMENS[ \\\\-]([a-z0-9]+)","model":"$1"},{"regex":"SIE(?:MENS )?[\\\\-]?([a-z0-9]+)","model":"$1"},{"regex":"(?:SIE-)?(S55|SL45i)","model":"$1"},{"regex":"portalmmm/2.0 (SI[a-z0-9]+)","model":"$1"}]},"Samsung":{"regex":"SAMSUNG(?! ?Browser)|Maple |SC-(?:02[CH]|04E|01F)|N[57]100|N5110|N9100|S(?:CH|GH|PH|EC|AM|HV|HW|M)-|SMART-TV|GT-|Galaxy|(?:portalmmm|o2imode)/2\\\\.0 [SZ]|sam[rua]|vollo Vi86[);/ ]|(?:OTV-)?SMT-E5015|ISW11SC|SCV3[1-9]|404SC","device":"smartphone","models":[{"regex":"GT-B9150","device":"tv","model":"Home Sync"},{"regex":"(?:OTV-)?SMT-E5015","device":"tv","model":"SMT-E5015"},{"regex":"Maple ","device":"tv","model":""},{"regex":"(?:SAMSUNG-)?(?:GT-)?N5100","device":"tablet","model":"GALAXY Note 8.0\\""},{"regex":"(?:SAMSUNG-)?(?:GT-)?N5110","device":"tablet","model":"GALAXY Note 8.0\\" WiFi"},{"regex":"(?:SAMSUNG-)?GT-N5120","device":"tablet","model":"GALAXY Note 8.0\\" LTE"},{"regex":"(?:SAMSUNG-)?GT-N8000","device":"tablet","model":"GALAXY Note 10.1\\""},{"regex":"(?:SAMSUNG-)?GT-N8010","device":"tablet","model":"GALAXY Note 10.1\\" WiFi"},{"regex":"(?:SAMSUNG-)?GT-N8020","device":"tablet","model":"GALAXY Note 10.1\\" LTE"},{"regex":"(?:SAMSUNG-)?GT-P1000M?|SCH-I800","device":"tablet","model":"GALAXY Tab"},{"regex":"(?:SAMSUNG-)?GT-P3100B?","device":"tablet","model":"GALAXY Tab 2 7\\""},{"regex":"(?:SAMSUNG-)?GT-P311[03]","device":"tablet","model":"GALAXY Tab 2 7\\" WiFi"},{"regex":"(?:SAMSUNG-)?GT-P5100|SCH-I915","device":"tablet","model":"GALAXY Tab 2 10.1\\""},{"regex":"(?:SAMSUNG-)?GT-P511[03]","device":"tablet","model":"GALAXY Tab 2 10.1\\" WiFi"},{"regex":"(?:SAMSUNG-)?GT-P5200","device":"tablet","model":"GALAXY Tab 3 10.1\\""},{"regex":"(?:SAMSUNG-)?GT-P5210","device":"tablet","model":"GALAXY Tab 3 10.1\\" WiFi"},{"regex":"(?:SAMSUNG-)?GT-P5220","device":"tablet","model":"GALAXY Tab 3 10.1\\" LTE"},{"regex":"(?:SAMSUNG-)?GT-P6200","device":"tablet","model":"GALAXY Tab 7\\" Plus"},{"regex":"(?:SAMSUNG-)?GT-P6201","device":"tablet","model":"GALAXY Tab 7\\" Plus N"},{"regex":"(?:SAMSUNG-)?GT-P6810","device":"tablet","model":"GALAXY Tab 7.7\\""},{"regex":"(?:SAMSUNG-)?GT-P7100","device":"tablet","model":"GALAXY Tab 10.1v"},{"regex":"(?:SAMSUNG-)?GT-P75[01]0","device":"tablet","model":"GALAXY Tab 10.1\\""},{"regex":"(?:SAMSUNG-)?SM-P600","device":"tablet","model":"GALAXY Note 10.1\\" 2014 Edition WiFi"},{"regex":"(?:SAMSUNG-)?SM-P60[12]","device":"tablet","model":"GALAXY Note 10.1\\" 2014 Edition"},{"regex":"(?:SAMSUNG-)?SM-(?:P605|P607T)","device":"tablet","model":"GALAXY Note 10.1\\" 2014 Edition LTE"},{"regex":"(?:SAMSUNG-)?SM-P900","device":"tablet","model":"GALAXY NotePRO 12.2\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-P901","device":"tablet","model":"GALAXY NotePRO 12.2\\""},{"regex":"(?:SAMSUNG-)?SM-P905","device":"tablet","model":"GALAXY NotePRO 12.2\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-P205","device":"tablet","model":"Galaxy Tab A with S Pen (2019)"},{"regex":"(?:SAMSUNG-)?SM-T110","device":"tablet","model":"GALAXY Tab 3 7.0\\" Lite WiFi"},{"regex":"(?:SAMSUNG-)?SM-T830X","device":"tablet","model":"GALAXY Tab S4"},{"regex":"(?:SAMSUNG-)?SM-T111","device":"tablet","model":"GALAXY Tab 3 7.0\\" Lite"},{"regex":"(?:SAMSUNG-)?SM-T116(?:BU|NU|NY)?","device":"tablet","model":"GALAXY Tab 3 V"},{"regex":"(?:SAMSUNG-)?SM-T2105","device":"tablet","model":"GALAXY Tab 3 7.0\\" Kids"},{"regex":"(?:SAMSUNG-)?SM-T210R?","device":"tablet","model":"GALAXY Tab 3 7.0\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T21(?:1|7[AS])","device":"tablet","model":"GALAXY Tab 3 7.0\\""},{"regex":"(?:SAMSUNG-)?SM-T230(?:NU)?","device":"tablet","model":"GALAXY Tab 4 7.0\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T231","device":"tablet","model":"GALAXY Tab 4 7.0\\" 3G"},{"regex":"(?:SAMSUNG-)?SM-T310","device":"tablet","model":"GALAXY Tab 3 8.0\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T311","device":"tablet","model":"GALAXY Tab 3 8.0\\""},{"regex":"(?:SAMSUNG-)?SM-T315","device":"tablet","model":"GALAXY Tab 3 8.0\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-T330","device":"tablet","model":"GALAXY Tab 4 8.0\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T335","device":"tablet","model":"GALAXY Tab 4 8.0\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-T520","device":"tablet","model":"GALAXY TabPRO 10.1\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T535","device":"tablet","model":"GALAXY Tab 4 10.1\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-T320","device":"tablet","model":"GALAXY TabPRO 8.4\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T325","device":"tablet","model":"GALAXY TabPRO 8.4\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-T525","device":"tablet","model":"GALAXY TabPRO 10.1\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-T530(?:NU)?","device":"tablet","model":"GALAXY Tab 4 10.1\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T700","device":"tablet","model":"GALAXY Tab S 8.4\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T705","device":"tablet","model":"GALAXY Tab S 8.4\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-T800","device":"tablet","model":"GALAXY Tab S 10.5\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T805","device":"tablet","model":"GALAXY Tab S 10.5\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-T813","device":"tablet","model":"GALAXY Tab S2 9.7\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T815","device":"tablet","model":"GALAXY Tab S2 9.7\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-T820","device":"tablet","model":"GALAXY Tab S3 9.7\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T825","device":"tablet","model":"GALAXY Tab S3 9.7\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-T900","device":"tablet","model":"GALAXY TabPRO 12.2\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T280","device":"tablet","model":"GALAXY Tab A 7.0\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T285","device":"tablet","model":"GALAXY Tab A 7.0\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-T3[58]0","device":"tablet","model":"GALAXY Tab A 8.0\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-(?:P350|T3[58]5)","device":"tablet","model":"GALAXY Tab A 8.0\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-T295","device":"tablet","model":"GALAXY Tab A 8.0\\" LTE (2019)"},{"regex":"(?:SAMSUNG-)?SM-(?:P355([MY])?|T550)","device":"tablet","model":"GALAXY Tab A 9.7\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-(?:P550|P555(M)?|T555)","device":"tablet","model":"GALAXY Tab A 9.7\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-(?:T58[05]|P58[05])","device":"tablet","model":"GALAXY Tab A 10.1\\" WiFi (2016)"},{"regex":"(?:SAMSUNG-)?SM-T597","device":"tablet","model":"GALAXY Tab A 10.5\\" LTE (2018)"},{"regex":"(?:SAMSUNG-)?SM-T37[57]","device":"tablet","model":"GALAXY Tab E 8.0\\""},{"regex":"(?:SAMSUNG-)?SM-T560","device":"tablet","model":"GALAXY Tab E 9.6\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T561","device":"tablet","model":"GALAXY Tab E 9.6\\" 3G"},{"regex":"(?:SAMSUNG-)?SM-T365","device":"tablet","model":"GALAXY Tab Active"},{"regex":"(?:SAMSUNG-)?SM-T39[57]","device":"tablet","model":"GALAXY Tab Active 2"},{"regex":"(?:SAMSUNG-)?SM-M305","device":"tablet","model":"GALAXY M30"},{"regex":"(?:SAMSUNG-)?SM-M405","device":"tablet","model":"GALAXY M40"},{"regex":"(?:SAMSUNG-)?SM-G850[AMSWY]","model":"GALAXY Alpha"},{"regex":"(?:SAMSUNG-)?GT-B5330","model":"GALAXY Chat"},{"regex":"(?:SAMSUNG-)?SM-A605K","model":"GALAXY Jean"},{"regex":"(?:SAMSUNG-)?GT-B5510","model":"GALAXY Y Pro"},{"regex":"(?:SAMSUNG-)?GT-B5512","model":"GALAXY Y Pro Duos"},{"regex":"(?:SAMSUNG-)?GT-B7510","model":"GALAXY Pro"},{"regex":"(?:SAMSUNG-)?GT-I5700","model":"GALAXY Spica"},{"regex":"(?:SAMSUNG-)?GT-I5801","model":"GALAXY Apollo"},{"regex":"(?:SAMSUNG-)?GT-I5800","model":"GALAXY 3"},{"regex":"(?:SAMSUNG-)?GT-I8000","model":"Omnia II"},{"regex":"(?:SAMSUNG-)?GT-I8150","model":"GALAXY W"},{"regex":"(?:SAMSUNG-)?GT-S5830","model":"GALAXY Ace"},{"regex":"(?:SAMSUNG-)?GT-I8160","model":"GALAXY Ace 2"},{"regex":"(?:SAMSUNG-)?SM-G313(?:HY|M[LUY]|[FM])","model":"GALAXY Ace 4"},{"regex":"(?:SAMSUNG-)?SM-G313[HU]","model":"GALAXY Ace 4 Lite"},{"regex":"(?:SAMSUNG-)?GT-I8190","model":"GALAXY S III mini"},{"regex":"(?:SAMSUNG-)?GT-I8200","model":"GALAXY S III mini Value Edition"},{"regex":"(?:SAMSUNG-)?GT-I826[02]","model":"GALAXY Core"},{"regex":"(?:SAMSUNG-)?GT-I8320","model":"H1"},{"regex":"(?:SAMSUNG-)?GT-I85[23]0","model":"GALAXY Beam"},{"regex":"(?:SAMSUNG-)?SM-G600S","model":"GALAXY Wide"},{"regex":"(?:SAMSUNG-)?GT-I855[028]","model":"GALAXY Win"},{"regex":"(?:SAMSUNG-)?GT-I8580","model":"GALAXY Core Advance"},{"regex":"(?:SAMSUNG-)?GT-I8730","model":"GALAXY Express"},{"regex":"(?:SAMSUNG-)?SM-E500(?:F|H|HQ|M)","model":"GALAXY E5"},{"regex":"(?:SAMSUNG-)?SM-E700(?:0|9|F|H|M)","model":"GALAXY E7"},{"regex":"(?:SAMSUNG-)?GT-I90(?:00|08|18|88)","model":"GALAXY S"},{"regex":"(?:SAMSUNG-)?GT-I9001","model":"GALAXY S Plus"},{"regex":"(?:SAMSUNG-)?GT-I9003","model":"GALAXY SL"},{"regex":"(?:SAMSUNG-)?GT-I9010","model":"GALAXY S Giorgio Armani"},{"regex":"(?:SAMSUNG-)?GT-I9070","model":"GALAXY S Advance"},{"regex":"(?:SAMSUNG-)?GT-I910[08]","model":"GALAXY S II"},{"regex":"(?:SAMSUNG-)?ISW11SC","model":"GALAXY S II WiMAX"},{"regex":"(?:SAMSUNG-)?GT-I9103","model":"GALAXY R"},{"regex":"(?:SAMSUNG-)?GT-I9105","model":"GALAXY S II Plus"},{"regex":"(?:SAMSUNG-)?SM-G730(?:W8|[AV])","model":"GALAXY S3 mini"},{"regex":"(?:SAMSUNG-)?(?:GT-I919[05]|SCH-I435)","model":"GALAXY S4 mini"},{"regex":"(?:SAMSUNG-)?GT-I9515","model":"GALAXY S4 Value Edition"},{"regex":"(?:SAMSUNG-)?GT-I9295","model":"GALAXY S4 ACTIVE"},{"regex":"(?:SAMSUNG-)?(?:GT-I9300|SCH-I535|SCH-L710)","model":"GALAXY S III"},{"regex":"(?:SAMSUNG-)?(?:GT-I9305|SCH-R530)","model":"GALAXY S III LTE"},{"regex":"(?:SAMSUNG-)?(?:GT-I9500|GT-I9502|GT-I9505|SCH-I545|SCH-I959|SCH-R970|GALAXY-S4|SGH-M919N?)","model":"GALAXY S4"},{"regex":"(?:SAMSUNG-)?GT-I9506","model":"GALAXY S4 with LTE+"},{"regex":"(?:SAMSUNG-)?GT-S5280","model":"GALAXY STAR"},{"regex":"(?:SAMSUNG-)?GT-S5301","model":"GALAXY POCKET Plus"},{"regex":"(?:SAMSUNG-)?GT-S5310","model":"GALAXY POCKET Neo"},{"regex":"(?:SAMSUNG-)?SM-G110[BHM]","model":"GALAXY POCKET 2"},{"regex":"(?:SAMSUNG-)?GT-S5360","model":"GALAXY Y Hello Kitty"},{"regex":"(?:SAMSUNG-)?GT-S6310","model":"GALAXY Young"},{"regex":"(?:SAMSUNG-)?GT-S6312","model":"GALAXY Young DUOS"},{"regex":"(?:SAMSUNG-)?SM-G130(?:BT|HN|[EHMU])","model":"GALAXY Young 2"},{"regex":"(?:SAMSUNG-)?SM-G130BU","model":"GALAXY Young 2 Pro"},{"regex":"(?:SAMSUNG-)?GT-S6790","model":"GALAXY FAME Lite with NFC"},{"regex":"(?:SAMSUNG-)?GT-S6810","model":"GALAXY FAME"},{"regex":"(?:SAMSUNG-)?GT-S7275","model":"GALAXY ACE 3"},{"regex":"(?:SAMSUNG-)?GT-S7390","model":"GALAXY Trend Lite"},{"regex":"(?:SAMSUNG-)?GT-S7500","model":"GALAXY ACE Plus"},{"regex":"(?:SAMSUNG-)?(?:GT-S7560|SCH-I699)","model":"GALAXY Trend"},{"regex":"(?:SAMSUNG-)?(?:GT-S7562|SCH-I919)","model":"GALAXY S DUOS"},{"regex":"(?:SAMSUNG-)?GT-S7582","model":"GALAXY S DUOS 2"},{"regex":"(?:SAMSUNG-)?SM-(?:G31[36]HU|G313HZ)","model":"GALAXY S DUOS 3"},{"regex":"(?:SAMSUNG-)?GT-S7580","model":"GALAXY Trend Plus"},{"regex":"(?:SAMSUNG-)?GT-S7710","model":"GALAXY Xcover 2"},{"regex":"(?:SAMSUNG-)?GT-S8500","model":"Wave"},{"regex":"(?:SAMSUNG-)?GT-S8530","model":"Wave II"},{"regex":"(?:SAMSUNG-)?GT-S8600","model":"Wave 3"},{"regex":"(?:SAMSUNG-)?GT-S5380","model":"Wave Y"},{"regex":"(?:SAMSUNG-)?GT-S7250","model":"Wave M"},{"regex":"(?:SAMSUNG-)?GT-S5250","model":"Wave 525"},{"regex":"(?:SAMSUNG-)?GT-S5330","model":"Wave 533"},{"regex":"(?:SAMSUNG-)?GT-S5780","model":"Wave 578"},{"regex":"(?:SAMSUNG-)?GT-S7230","model":"Wave 723"},{"regex":"(?:SAMSUNG-)?SM-(?:C101|C105([AL])?)","model":"GALAXY S4 zoom"},{"regex":"(?:SAMSUNG-)?SM-(?:C111(M)?|C115)","model":"GALAXY K zoom"},{"regex":"(?:SAMSUNG-)?SM-G350","model":"GALAXY CORE Plus"},{"regex":"(?:SAMSUNG-)?SM-G360[FH]?","model":"GALAXY CORE Prime"},{"regex":"(?:SAMSUNG-)?SM-G361[FH]?","model":"GALAXY CORE Prime Value Edition"},{"regex":"(?:SAMSUNG-)?SM-G386F","model":"GALAXY CORE LTE"},{"regex":"(?:SAMSUNG-)?SM-G3815","model":"GALAXY EXPRESS II"},{"regex":"(?:SAMSUNG-)?SM-G388F","model":"GALAXY Xcover 3"},{"regex":"(?:SAMSUNG-)?SM-G390F","model":"GALAXY Xcover 4"},{"regex":"(?:SAMSUNG-)?SM-G800","model":"GALAXY S5 mini"},{"regex":"(?:SAMSUNG-)?SM-G9009D","model":"GALAXY S5 Dual-SIM"},{"regex":"(?:SAMSUNG-)?SM-(?:G900|G906[KLS])|GALAXY-S5","model":"GALAXY S5"},{"regex":"(?:SAMSUNG-)?SM-G901F","model":"GALAXY S5 LTE+"},{"regex":"(?:SAMSUNG-)?SM-G870[AFW]","model":"GALAXY S5 Active"},{"regex":"(?:SAMSUNG-)?SM-G903[FMW]","model":"GALAXY S5 Neo"},{"regex":"(?:SAMSUNG-)?SM-G860P","model":"GALAXY S5 K Sport"},{"regex":"(?:SAMSUNG-)?SM-G920(?:F[DQ]|W8|[089AFIKLPRSTVX])","model":"GALAXY S6"},{"regex":"(?:SAMSUNG-)?SM-G890A","model":"GALAXY S5 Active"},{"regex":"404SC","model":"GALAXY S6 edge (Softbank)"},{"regex":"(?:SAMSUNG-)?SM-G925[0ADFIKLPRSTVW]|SCV31","model":"GALAXY S6 edge"},{"regex":"(?:SAMSUNG-)?SM-G928(?:7C|R4|W8|[07ACFGIKLPSTV])","model":"GALAXY S6 edge+"},{"regex":"(?:SAMSUNG-)?SM-G930(?:FD|W8|[0AFKLPRSTUV])","model":"GALAXY S7"},{"regex":"(?:SAMSUNG-)?SM-G935(?:R4|W8|[0AFKLPSTUVX])|SC-02H|SCV33","model":"GALAXY S7 edge"},{"regex":"(?:SAMSUNG-)?SM-G891A","model":"GALAXY S7 active"},{"regex":"(?:SAMSUNG-)?SM-G950[08FNUW]?|SCV36","model":"GALAXY S8"},{"regex":"(?:SAMSUNG-)?SM-G892[AU]","model":"GALAXY S8 Active"},{"regex":"(?:SAMSUNG-)?SM-G955[AFKLNPRTUVW0]|SCV35","model":"GALAXY S8+"},{"regex":"(?:SAMSUNG-)?SM-G960[FNUWX0]|SCV38","model":"GALAXY S9"},{"regex":"(?:SAMSUNG-)?SM-G965[FNUWX0]|SCV39","model":"GALAXY S9+"},{"regex":"(?:SAMSUNG-)?SM-G973","model":"GALAXY S10"},{"regex":"(?:SAMSUNG-)?SM-G975[0FUW]","model":"GALAXY S10+"},{"regex":"(?:SAMSUNG-)?SM-G970[FU]","model":"GALAXY S10e"},{"regex":"(?:SAMSUNG-)?SCH-I200","model":"GALAXY Stellar"},{"regex":"(?:SAMSUNG-)?SCH-I829","model":"GALAXY Style Duos"},{"regex":"(?:SAMSUNG-)?(?:SGH-S730|SCH-R740)","model":"GALAXY Discover"},{"regex":"(?:SAMSUNG-)?SCH-S738","model":"GALAXY Centura"},{"regex":"vollo Vi86[);/ ]","model":"Vollo Vi86"},{"regex":"(?:SAMSUNG-)?SM-A300(?:FU|YZ|[0FGHMY])","model":"GALAXY A3 (2015)"},{"regex":"(?:SAMSUNG-)?SM-A310(?:N0|[FMY])","model":"GALAXY A3 (2016)"},{"regex":"(?:SAMSUNG-)?SM-A320(?:FL|F|Y)","model":"GALAXY A3 (2017)"},{"regex":"(?:SAMSUNG-)?SM-A500[LSWY]","model":"GALAXY A5"},{"regex":"(?:SAMSUNG-)?SM-A500[FGHKM0]","model":"GALAXY A5 Duos"},{"regex":"(?:SAMSUNG-)?SM-A500FU","model":"GALAXY A5 (2015)"},{"regex":"(?:SAMSUNG-)?SM-A510[0FKLMSY]","model":"GALAXY A5 (2016)"},{"regex":"(?:SAMSUNG-)?SM-A520[FKLSW]","model":"GALAXY A5 (2017)"},{"regex":"(?:SAMSUNG-)?SM-A600(?:AZ|FN|GN|T1|[AFGNPT])","model":"GALAXY A6"},{"regex":"(?:SAMSUNG-)?SM-A605(?:[FG]N|[FG])","model":"GALAXY A6+"},{"regex":"(?:SAMSUNG-)?SM-A700(?:YD|[0FHKLS])","model":"GALAXY A7"},{"regex":"(?:SAMSUNG-)?SM-A710[08FKLMSY]","model":"GALAXY A7 (2016)"},{"regex":"(?:SAMSUNG-)?SM-A720[FS]","model":"GALAXY A7 (2017)"},{"regex":"(?:SAMSUNG-)?SM-A750(?:GN|[FG])","model":"GALAXY A7 (2018)"},{"regex":"(?:SAMSUNG-)?SM-A(?:530F|800[0FISY])|SCV32","model":"GALAXY A8"},{"regex":"(?:SAMSUNG-)?SM-G885[FSY]","model":"GALAXY A8 Star"},{"regex":"(?:SAMSUNG-)?SM-A810(?:YZ|[FS])","model":"GALAXY A8 (2016)"},{"regex":"(?:SAMSUNG-)?SM-A530[NW]","model":"GALAXY A8 (2018)"},{"regex":"(?:SAMSUNG-)?SM-A730F","model":"GALAXY A8+ (2018)"},{"regex":"(?:SAMSUNG-)?SM-A9000","model":"GALAXY A9"},{"regex":"SM-A9\\\\[7\\\\]","model":"GALAXY A9 7"},{"regex":"(?:SAMSUNG-)?SM-A920F","model":"GALAXY A9 (2018)"},{"regex":"(?:SAMSUNG-)?SM-A910[0F]","model":"GALAXY A9 Pro"},{"regex":"(?:SAMSUNG-)?SM-A105[FGM]","model":"GALAXY A10"},{"regex":"(?:SAMSUNG-)?SM-A205[FG]","model":"GALAXY A20"},{"regex":"(?:SAMSUNG-)?SM-A202[FG]","model":"GALAXY A20e"},{"regex":"(?:SAMSUNG-)?SM-A305(?:FN|GT|[FG])","model":"GALAXY A30"},{"regex":"(?:SAMSUNG-)?SM-A405FN","model":"GALAXY A40"},{"regex":"(?:SAMSUNG-)?SM-A3051","model":"GALAXY A40s"},{"regex":"(?:SAMSUNG-)?SM-A505(?:FN|[FG])","model":"GALAXY A50"},{"regex":"(?:SAMSUNG-)?SM-A705(?:FN|[FG])","model":"GALAXY A70"},{"regex":"(?:SAMSUNG-)?GT-I9301I","model":"GALAXY S III Neo"},{"regex":"(?:SAMSUNG-)?SM-J100(?:FN|MU|[FHM])","model":"GALAXY J1"},{"regex":"(?:SAMSUNG-)?SM-J105(?:B|H)","model":"GALAXY J1 mini"},{"regex":"(?:SAMSUNG-)?SM-J106M","model":"GALAXY J1 mini Prime"},{"regex":"(?:SAMSUNG-)?SM-J120[AFHMT]","model":"GALAXY J1 (2016)"},{"regex":"(?:SAMSUNG-)?SM-J110[FHML]","model":"GALAXY J1 Ace"},{"regex":"(?:SAMSUNG-)?SM-J111[FM]","model":"GALAXY J1 Ace"},{"regex":"(?:SAMSUNG-)?SM-J200[FGHY]","model":"GALAXY J2"},{"regex":"(?:SAMSUNG-)?SM-J(?:210F|250[FM])","model":"GALAXY J2 Pro"},{"regex":"(?:SAMSUNG-)?SM-J320(?:FN|[AFGHMNPV])","model":"GALAXY J3 (2016)"},{"regex":"(?:SAMSUNG-)?SM-J330(?:F|G)","model":"GALAXY J3 (2017)"},{"regex":"(?:SAMSUNG-)?SM-J337W","model":"GALAXY J3 (2018)"},{"regex":"(?:SAMSUNG-)?SM-J400[FGM]","model":"GALAXY J4"},{"regex":"(?:SAMSUNG-)?SM-J500(?:F|FN|G|Y|M|H)","model":"GALAXY J5 (2015)"},{"regex":"(?:SAMSUNG-)?SM-J510(?:F|FN|MN)","model":"GALAXY J5 (2016)"},{"regex":"(?:SAMSUNG-)?SM-J530","model":"GALAXY J5 (2017)"},{"regex":"(?:SAMSUNG-)?SM-G570[FMY]","model":"GALAXY J5 Prime"},{"regex":"(?:SAMSUNG-)?SM-J600[FG]","model":"GALAXY J6"},{"regex":"(?:SAMSUNG-)?SM-J610[GF]","model":"GALAXY J6+"},{"regex":"(?:SAMSUNG-)?SM-J410F","model":"GALAXY J4 Core"},{"regex":"(?:SAMSUNG-)?SM-J415(?:F|FN)","model":"GALAXY J4+"},{"regex":"(?:SAMSUNG-)?SM-J7[01]0(?:8|F|FN|H|K|M|MN)","model":"GALAXY J7"},{"regex":"(?:SAMSUNG-)?SM-J700P","model":"GALAXY J7 (2015)"},{"regex":"(?:SAMSUNG-)?SM-J737U","model":"GALAXY J7 (2018)"},{"regex":"(?:SAMSUNG-)?SM-J700(?:T1|T)","model":"GALAXY J7 (2016)"},{"regex":"(?:SAMSUNG-)?SM-C710F","model":"GALAXY J7+ (C7)"},{"regex":"(?:SAMSUNG-)?SM-G610[FMY]","model":"GALAXY J7 Prime"},{"regex":"(?:SAMSUNG-)?SM-G611(?:FF|MT|M)","model":"GALAXY J7 Prime 2"},{"regex":"(?:SAMSUNG-)?SM-G615[F]","model":"GALAXY J7 Max"},{"regex":"(?:SAMSUNG-)?SM-J730(?:F|G|GM)","model":"GALAXY J7 Pro"},{"regex":"(?:SAMSUNG-)?SM-J701(?:F|M)","model":"GALAXY J7 Core"},{"regex":"(?:SAMSUNG-)?SM-J727(?:P|T|V)","model":"GALAXY J7 V"},{"regex":"SM-J7\\\\[7\\\\]","model":"GALAXY J7 7"},{"regex":"(?:SAMSUNG-)?SM-J810","model":"GALAXY J8"},{"regex":"SM-J8 Pro","model":"GALAXY J8 Pro"},{"regex":"SM-J9\\\\[7\\\\] Prime","model":"GALAXY J9 7 Prime"},{"regex":"SM-J9\\\\[8\\\\] Pro","model":"GALAXY J9 8 Pro"},{"regex":"(?:SAMSUNG-)?SM-M105F","model":"GALAXY M10"},{"regex":"(?:SAMSUNG-)?SM-M205[FG]","model":"GALAXY M20"},{"regex":"(?:SAMSUNG-)?SM-G850F","model":"GALAXY Alpha"},{"regex":"(?:SAMSUNG-)?SM-G910S","model":"GALAXY Round"},{"regex":"(?:SAMSUNG-)?SM-(?:G550FY|G5510|G5520)","model":"GALAXY On5"},{"regex":"(?:SAMSUNG-)?SM-G600(?:FY|[0F])","model":"GALAXY On7"},{"regex":"(?:SAMSUNG-)?SM-G610[0KLS]","model":"GALAXY On7 (2016)"},{"regex":"(?:SAMSUNG-)?SM-G611[FS]","model":"GALAXY On7 Prime"},{"regex":"(?:SAMSUNG-)?SM-C5000","model":"GALAXY C5"},{"regex":"(?:SAMSUNG-)?SM-C501[08]","model":"GALAXY C5 Pro"},{"regex":"(?:SAMSUNG-)?SM-C7000","model":"GALAXY C7"},{"regex":"(?:SAMSUNG-)?SM-C701[08F]","model":"GALAXY C7 Pro"},{"regex":"(?:SAMSUNG-)?SM-C710[08]","model":"GALAXY C8"},{"regex":"(?:SAMSUNG-)?SM-C900[08FY]","model":"GALAXY C9 Pro"},{"regex":"(?:SAMSUNG-)?SM-Z130H","model":"GALAXY Z1"},{"regex":"(?:SAMSUNG-)?SM-Z200[FMY]","model":"GALAXY Z2"},{"regex":"(?:SAMSUNG-)?SM-Z300H","model":"GALAXY Z3"},{"regex":"(?:SAMSUNG-)?SM-Z400[FY]","model":"GALAXY Z4"},{"regex":"(?:SAMSUNG-)?SM-G150","model":"GALAXY Folder"},{"regex":"(?:SAMSUNG-)?SM-G165","model":"GALAXY Folder 2"},{"regex":"(?:SAMSUNG-)?GT-I9060","model":"GALAXY Grand Neo","device":"phablet"},{"regex":"(?:SAMSUNG-)?GT-I9063","model":"GALAXY Grand Neo Duos","device":"phablet"},{"regex":"(?:SAMSUNG-)?GT-I9(?:080|128)","model":"GALAXY Grand","device":"phablet"},{"regex":"(?:SAMSUNG-)?GT-I9168","model":"GALAXY Grand Neo+","device":"phablet"},{"regex":"(?:SAMSUNG-)?GT-I9082","model":"GALAXY Grand Duos","device":"phablet"},{"regex":"(?:SAMSUNG-)?GT-N7000","model":"GALAXY Note","device":"phablet"},{"regex":"(?:SAMSUNG-)?(?:(?:GT-)?N7100|SCH-I605|SCH-N719|SCH-R950|SPH-L900)","model":"GALAXY Note II","device":"phablet"},{"regex":"(?:SAMSUNG-)?GT-N7105","model":"GALAXY Note II LTE","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-G710[25L]?","model":"GALAXY Grand 2","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-G720(?:AX|N0|2)","model":"GALAXY Grand Max"},{"regex":"(?:SAMSUNG-)?SM-G53(?:0F|0FZ|0Y|0H|0FZ|1F|1H)","model":"GALAXY Grand Prime","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-G532F","model":"GALAXY Grand Prime Plus","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-G532MT","model":"GALAXY J2 Prime (TV)","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-G532[MG]","model":"GALAXY J2 Prime","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-N7502","model":"GALAXY Note 3 Neo Duos","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-N750[L50]?","model":"GALAXY Note 3 Neo","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-N9002","model":"GALAXY Note 3 Duos","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-N900(?:[05689][VQ]?|[AKLPSTV]|W8)?","model":"GALAXY Note 3","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-N910|N9100","model":"GALAXY Note 4","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-N915","model":"GALAXY Note 4 Edge","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-N920[0ACGIKLST]","model":"GALAXY Note 5","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-N9208","model":"GALAXY Note 5 Duos","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-G750(?:8Q|[9AFH])","model":"GALAXY Mega 2","device":"phablet"},{"regex":"(?:SAMSUNG-)?GT-I915[028]","model":"GALAXY Mega 5.8","device":"phablet"},{"regex":"(?:SAMSUNG-)?GT-I920[05]","model":"GALAXY Mega 6.3","device":"phablet"},{"regex":"(?:SAMSUNG-)?(?:SM-N930F|SCV34)","model":"GALAXY Note 7","device":"phablet"},{"regex":"(?:SAMSUNG[- ])?SM-N950|SCV37","model":"GALAXY Note 8","device":"phablet"},{"regex":"(?:SAMSUNG[- ])?SM-N960","model":"GALAXY Note 9","device":"phablet"},{"regex":"(?:SAMSUNG[- ])?SM-N970(?:0|8|9|D|F|J|K|L|S|U1|U|W8|X)","model":"GALAXY Note 10","device":"phablet"},{"regex":"(?:SAMSUNG[- ])?(?:SM-N975(?:0|F|U|U1|W|X|Xu)|SM-N976[BV])","model":"GALAXY Note 10+","device":"phablet"},{"regex":"(?:SAMSUNG-)?GT-E2152","model":"E2152","device":"feature phone"},{"regex":"(?:SAMSUNG-)?(GT-(P|N8|N5)[0-9]+[a-z]?)","device":"tablet","model":"$1"},{"regex":"SC-02C","model":"GALAXY S II"},{"regex":"SC-01F","model":"GALAXY Note 3","device":"phablet"},{"regex":"SC-04E","model":"GALAXY S4"},{"regex":"(?:SAMSUNG-)?((?:SM-[TNP]|GT-P)[a-z0-9_\\\\-]+)","device":"tablet","model":"$1"},{"regex":"((?:SCH|SGH|SPH|SHV|SHW|GT|SM)-[a-z0-9_\\\\-]+)","model":"$1"},{"regex":"SMART-TV","device":"tv","model":"Smart TV"},{"regex":"Galaxy ([^/;]+) Build","model":"GALAXY $1"},{"regex":"Galaxy ([a-z0-9]+)","model":"GALAXY $1"},{"regex":"SAMSUNG[\\\\-][ ]?([a-z0-9]+[\\\\-_][a-z0-9]+)","model":"$1"},{"regex":"SAMSUNG;[ ]?([a-z0-9]+[\\\\-_][a-z0-9]+)","model":"$1"},{"regex":"SAMSUNG[ _/\\\\-]?([a-z0-9\\\\-]+)","model":"$1"},{"regex":"SAMSUNG;[ ]?([a-z0-9 ]+)","model":"$1"},{"regex":"SEC-([a-z0-9]+)","model":"$1"},{"regex":"SAM-([a-z0-9]+)","model":"SCH-$1"},{"regex":"(?:portalmmm|o2imode)/2\\\\.0 ([SZ][a-z0-9]+)","model":"$1"},{"regex":"sam([rua][0-9]+)","model":"SCH-$1"}]},"Sanei":{"regex":"(?:8312D|G(60[25]|70[3568]G?|785|803)|N83(?:-2cpu)?|N91) Build","device":"smartphone","models":[{"regex":"N83","model":"N83"},{"regex":"N91","model":"N91"},{"regex":"8312D","model":"G101"},{"regex":"G(60[25]|70[3568]G?|785|803)","model":"G$1"}]},"Selfix":{"regex":"SELFIX","device":"smartphone","models":[{"regex":"SELFIX_SLASH6","model":"Slash 6"},{"regex":"VOYAGER-V45","model":"Voyager V45"}]},"Sencor":{"regex":"Sencor|ELEMENT[ _]?(?:7|8|9\\\\.7|10[ _]1)(?:[ _]?V[23])?[);/ ]|ELEMENT[ _]?(?:P[0-9]+)[);/ ]","device":"tablet","models":[{"regex":"(?:SENCOR[ _])?ELEMENT[ _]?7[ _]?V3","model":"Element 7 V3"},{"regex":"(?:SENCOR[ _])?ELEMENT[ _]?7[ _]?V2[ _]BASIC","model":"Element 7 V2 Basic"},{"regex":"(?:SENCOR[ _])?ELEMENT[ _]?7[ _]?V2","model":"Element 7 V2"},{"regex":"(?:SENCOR[ _])?ELEMENT[ _]8[ _]?V3","model":"Element 8 V3"},{"regex":"(?:SENCOR[ _])?ELEMENT[ _]8[ _]?V2","model":"Element 8 V2"},{"regex":"(?:SENCOR[ _])?ELEMENT8","model":"Element 8"},{"regex":"(?:SENCOR[ _])?ELEMENT[ _]9\\\\.7[ _]?V3","model":"Element 9.7 V3"},{"regex":"(?:SENCOR[ _])?ELEMENT[ _]9\\\\.7[ _]?V2","model":"Element 9.7 V2"},{"regex":"(?:SENCOR[ _])?ELEMENT[ _]9\\\\.7","model":"Element 9.7"},{"regex":"(?:SENCOR[ _])?ELEMENT10[ _]1","model":"Element 10.1"},{"regex":"(?:SENCOR[ _])?ELEMENT[ _]?P([0-9]+)","model":"Element P$1","device":"smartphone"},{"regex":"Sencor[ _]([^;/]+) Build","model":"$1"}]},"Senwa":{"regex":"Senwa|(?:S\\\\-?(?:471|7[12]5|6[01]5|915|905TL|1000)|V705B)[ /;\\\\)]","device":"smartphone","models":[{"regex":"S\\\\-?471[ /;\\\\)]","model":"Jazz"},{"regex":"S\\\\-?605[ /;\\\\)]","model":"City"},{"regex":"S\\\\-?905TL[ /;\\\\)]","model":"Odin"},{"regex":"S\\\\-?1000[ /;\\\\)]","model":"Odin"},{"regex":"S\\\\-?(615|7[12]5|915)[ /;\\\\)]","model":"S$1"},{"regex":"V705B[ /;\\\\)]","model":"V705B"},{"regex":"Senwa[ _-]*([^;/]+) Build","model":"$1"},{"regex":"Senwa[ _-]*([^ ;/)]+)[ ;/)]","model":"$1"}]},"Sky":{"regex":"(SKY|Elite|Fuego)[_ ][3-7]\\\\.[05]([A-Z]{1,2})?|Elite_5_5_Octa|Platinum_(5.0M|M5)","device":"smartphone","models":[{"regex":"Platinum_(5.0M|M5)","model":"Platinum 5.0M"},{"regex":"Elite_5_5_Octa","model":"Elite 5.5 Octa"},{"regex":"Elite[_ ]([3-7]\\\\.[05](?:[A-Z]{1,2})?\\\\+?)","model":"Elite $1"},{"regex":"Fuego[_ ]([3-7]\\\\.[05](?:[A-Z]{1,2})?\\\\+?)","model":"Fuego $1"},{"regex":"SKY[_ ]([3-7]\\\\.[05](?:[A-Z]{1,2})?)","model":"$1"}]},"Skyworth":{"regex":"Sky_?worth","device":"tv","models":[{"regex":"Sky_?worth ([^;/]+) Build","model":"$1"}]},"Smartfren":{"regex":"Smartfren|Androtab|Andromax|PD6D1J|AD682J|AD68[89]G|AD6B1H|AD9A1H|AD682H|AD683G","device":"smartphone","models":[{"regex":"S7 Build","model":"Andromax Tab 7.0","device":"tablet"},{"regex":"PD6D1J","model":"Andromax V3s"},{"regex":"AD682J","model":"Andromax T"},{"regex":"AD688G","model":"Andromax C2"},{"regex":"AD689G","model":"Andromax i3"},{"regex":"AD682H","model":"Andromax i3s"},{"regex":"AD6B1H","model":"Andromax G2 Hot"},{"regex":"AD9A1H","model":"Andromax G2"},{"regex":"AD683G","model":"Andromax I"},{"regex":"New Andromax-i","model":"New Andromax I"},{"regex":"Andromax[ _\\\\-]([^/;]+) Build","model":"Andromax $1"},{"regex":"Andromax[ _\\\\-]([a-z0-9]+)","model":"Andromax $1"},{"regex":"Smartfren[ _\\\\-]([^/;\\\\)]+)(?: Build|[/;\\\\)])","model":"$1"},{"regex":"(Androtab[^/;]+) Build","model":"$1","device":"tablet"}]},"Smartisan":{"regex":"SM(?:70[15]|801|901|919)|OD10[35]|YQ60[1357][ /;\\\\)]","device":"smartphone","models":[{"regex":"SM70[15]","model":"T1"},{"regex":"SM801","model":"T2"},{"regex":"SM901","model":"M1"},{"regex":"SM919","model":"M1L"},{"regex":"YQ60[1357]","model":"U1"},{"regex":"OD10[35]","model":"Pro"}]},"STF Mobile":{"regex":"Fractal|AERIAL PLUS|Origins Pro","device":"smartphone","models":[{"regex":"Fractal","model":"Fractal"},{"regex":"Origins Pro","model":"Origins Pro"},{"regex":"AERIAL PLUS","model":"Aerial Plus"}]},"STK":{"regex":"STK[_ ]","device":"smartphone","models":[{"regex":"STK[_ ]([^/;]+) Build","model":"$1"},{"regex":"STK[_ ]([a-z0-9]+)","model":"$1"}]},"Stonex":{"regex":"STX[ -]([^;/]+)","device":"smartphone","models":[{"regex":"STX[ -]([^;/]+) Build","model":"$1"},{"regex":"STX[ -]([a-z0-9_-]+)","model":"$1"}]},"SuperSonic":{"regex":"(SC-[0-9]+[a-z]+)","device":"tablet","model":"$1"},"Supra":{"regex":"SUPRA ([^;/]+) Build|NVTAB 7.0 3G","device":"smartphone","models":[{"regex":"SUPRA ([^;/]+) Build","device":"tablet","model":"$1"},{"regex":"(NVTAB 7.0 3G)","device":"tablet","model":"$1"}]},"Sumvision":{"regex":"(Cyclone [^/;]+) Build","device":"tablet","model":"$1"},"SunVan":{"regex":"SUNVAN[ _\\\\-]","device":"smartphone","models":[{"regex":"SUNVAN[ _\\\\-]?([^/;]+) Build","model":"$1"},{"regex":"SUNVAN[ _\\\\-]?([^);/ ]+)","model":"$1"}]},"SWISSMOBILITY":{"regex":"SCHR9GR|ZUR722M","device":"smartphone","models":[{"regex":"SCHR9GR","model":"SCHON R9"},{"regex":"ZUR722M","device":"phablet","model":"Z72 go"}]},"Thomson":{"regex":"(?:Primo(7|8)|QM73[45]-8G|QM734-2|QM736-8G\\\\(HD\\\\)|8950|MID1002)[);/ ]|(?:Tlink|Every)[0-9]+","device":"tablet","models":[{"regex":"Primo(7|8)","model":"Primo $1"},{"regex":"QM734-2","model":"QM734-2"},{"regex":"QM734-8G","model":"QM734-8G"},{"regex":"QM735-8G","model":"QM735-8G"},{"regex":"QM736-8G\\\\(HD\\\\)","model":"QM736-8G (HD)"},{"regex":"8950 Build","model":"3G 8950"},{"regex":"Tlink([0-9]+)","device":"smartphone","model":"Tlink$1"},{"regex":"Every([0-9]+)","device":"smartphone","model":"Every$1"}]},"Pantech":{"regex":"Pantech|P[GN]-|PT-[a-z0-9]{3,}|TX[T]?[0-9]+|IM-[a-z0-9]+[);/ ]|ADR910L","device":"smartphone","models":[{"regex":"ADR910L","model":"Star Q"},{"regex":"IM-A870K","model":"Vega Iron"},{"regex":"Pantech[ \\\\-]?([a-z0-9]+)","model":"$1"},{"regex":"Pantech_([a-z0-9\\\\-]+)","model":"$1"},{"regex":"(P[GTN]-[a-z0-9]+)","model":"$1"},{"regex":"(TX[T]?[0-9]+)","model":"$1"},{"regex":"(IM-[a-z0-9]+)[);/ ]","model":"$1"}]},"Ployer":{"regex":"MOMO([0-9]|miniS)","device":"tablet","models":[{"regex":"MOMOminiS","model":"MOMO mini S"},{"regex":"MOMO([0-9][^);/]*) Build","model":"MOMO $1"},{"regex":"MOMO([0-9][^);/]*)[);/]","model":"MOMO $1"}]},"Plum":{"regex":"PLUM ","device":"smartphone","models":[{"regex":"Z405","model":"Gator 3"}]},"Polaroid":{"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|PSPC(505|550)|PSPCK21NA|PSPCL20A0|PSPCM20A0|PSPCZ20A0","device":"smartphone","models":[{"regex":"P4005A","model":"Turbo C4"},{"regex":"P5005A","model":"Turbo C5"},{"regex":"P4006A","model":"Turbo D4"},{"regex":"P4526A","model":"Turbo E"},{"regex":"PSPC(505|550)","model":"Cosmo $1"},{"regex":"P5006A","model":"Cosmo K"},{"regex":"P5526A","model":"Cosmo K Plus"},{"regex":"PSPCK21NA","model":"Cosmo K2 Plus"},{"regex":"P5026A","model":"Cosmo L"},{"regex":"PSPCL20A0","model":"Cosmo L2"},{"regex":"PSPCM20A0","model":"Cosmo M2"},{"regex":"P5046A","model":"Cosmo P5s"},{"regex":"P5525A","model":"Cosmo Q5s"},{"regex":"P5047A","model":"Cosmo Z"},{"regex":"PSPCZ20A0","model":"Cosmo Z2"},{"regex":"P5025A","model":"L5s"},{"regex":"PRO4611(?:PR201)?","model":"Pro4611"},{"regex":"PROV400","model":"Agate"},{"regex":"PROV350","model":"ProV350"},{"regex":"PRO([VG]?(?:[0-9]{3,}[a-z]*|[0-9]{2}[a-z]))","model":"Pro$1"},{"regex":"(MID(?:1014|0714))","model":"$1","device":"tablet"},{"regex":"((?:PMID|MIDC)[0-9a-z]+)[);/ ]","model":"$1","device":"tablet"},{"regex":"Polaroid","model":"","device":"tablet"}]},"PolyPad":{"regex":"POLY ?PAD","device":"tablet","models":[{"regex":"POLY ?PAD[_ \\\\.]([a-z0-9]+)[);/ ]","model":"$1"},{"regex":"POLY ?PAD[_\\\\.]([a-z0-9]+)","model":"$1"}]},"Polytron":{"regex":"POLYTRON|W8480|W7430|PW1100S|W7550|W7531|W8570|R2401","device":"smartphone","models":[{"regex":"R2508","model":"Rocket"},{"regex":"POLYTRON[ _]R1500","model":"Rocket Q-Five"},{"regex":"R2401","model":"Rocket 2X"},{"regex":"POLYTRON[ _-]R2402","model":"Rocket R2402"},{"regex":"POLYTRON[ _-]R2403","model":"Rocket R1"},{"regex":"POLYTRON[ _-]R2406","model":"Rocket R2"},{"regex":"POLYTRON[ _-]R2407","model":"Rocket R3"},{"regex":"POLYTRON[ _-]R2457","model":"Rocket S2"},{"regex":"POLYTRON[ _-]R2509SE","model":"Rocket T6 SE"},{"regex":"POLYTRON[ _-]R2509","model":"Rocket T6"},{"regex":"POLYTRON[ _-]R2506","model":"Rocket T4"},{"regex":"POLYTRON[ _-]R3450","model":"Rocket Jetz"},{"regex":"POLYTRON[ _-]R3500","model":"Rocket Jetz 5.0"},{"regex":"4G450","model":"Zap 5"},{"regex":"W6500","model":"Quadra Rocket"},{"regex":"W7452","model":"Quadra S2"},{"regex":"W7550","model":"Quadra V5"},{"regex":"W8570","model":"Quadra V7"},{"regex":"POLYTRON[ _]L501","model":"Rocket L501"},{"regex":"POLYTRON[ _]P520","model":"Prime 7S"},{"regex":"4G500","model":"Zap 6 Cleo"},{"regex":"W8480","model":"Crystal 4 W8480"},{"regex":"W7531","model":"Wizard V"},{"regex":"W7430","model":"Quadra Mini W7430"},{"regex":"POLYTRON[ _]4G501","model":"Zap 6 Posh"},{"regex":"POLYTRON[ _]4G502","model":"Zap 6 Power"},{"regex":"POLYTRON[ _]4G503","model":"Zap 6 Flaz"},{"regex":"POLYTRON[_ ]?[ _]4G550","model":"Zap 6 Note"},{"regex":"POLYTRON[ _]4G551","model":"Zap 6 Posh Note"},{"regex":"PW1100S","model":"PW1100S"},{"regex":"Q2352","model":"Q2352"},{"regex":"POLYTRON[ _]T7800","model":"Cosmica T7800","device":"tablet"},{"regex":"POLYTRON[ _]T7700","model":"Rocket Pad","device":"tablet"}]},"Positivo":{"regex":"YPY_S450","device":"smartphone","models":[{"regex":"YPY_S450","model":"YPY S450"}]},"Prestigio":{"regex":"(?:PMP|PAP|PMT|PSP)[0-9]+[a-z0-9_]+[);/ ]","device":"tablet","models":[{"regex":"PMT3277_3G","model":"MultiPad Ranger 7.0 3G"},{"regex":"PMT3201_4G","model":"Grace 4G"},{"regex":"PMT3287_3G","model":"MultiPad Ranger 8.0 3G"},{"regex":"PSP7546DUO([ _][A-Z]{2})?","model":"X Pro"},{"regex":"PSP7610DUO([ _][A-Z]{2})?","model":"S Max"},{"regex":"(PM[PT][0-9]+[a-z0-9_]+)[);/ ]","model":"$1"},{"regex":"((?:PAP|PSP)[0-9]+[a-z0-9_]+(?: DUO)?)[);/ ]","model":"$1","device":"smartphone"}]},"Sanyo":{"regex":"Sanyo|MobilePhone[ ;]","device":"feature phone","models":[{"regex":"SCP-?6750","model":"Katana Eclipse X"},{"regex":"SCP-?6760","model":"Incognito"},{"regex":"SCP-?6780","model":"Innuendo"},{"regex":"SANYO[ \\\\-_]([a-z0-9\\\\-]+)","model":"$1"},{"regex":"MobilePhone ([a-z0-9\\\\-]+)","model":"$1"}]},"Qilive":{"regex":"Qilive [0-9][^;/]*|Q(8S55IN4G2|10S5[37]IN4G|10S5IN4GR|10S6IN4G|6T7IN)","device":"smartphone","models":[{"regex":"Q8S55IN4G2","model":"Q8 5.5\\" 4G"},{"regex":"Q10S53IN4G","model":"Q10 5.3\\" 4G"},{"regex":"Q10S57IN4G","model":"Q10 5.7\\" 4G"},{"regex":"Q10S5IN4GR","model":"Q10 5.0\\" 4G"},{"regex":"Q10S6IN4G","model":"Q10 6.0\\" 4G"},{"regex":"Q6T7IN","model":"Q6","device":"tablet"},{"regex":"Qilive ([0-5][^;/]*) Build","model":"$1"},{"regex":"Qilive ([0-5][^;/]*)/","model":"$1"},{"regex":"Qilive ([6-9][^;/]*) Build","model":"$1","device":"tablet"},{"regex":"Qilive ([6-9][^;/]*)/","model":"$1","device":"tablet"}]},"QMobile":{"regex":"QMobile|QTab|Q-Smart|Noir X1S|LUNA PRO|NICE S","device":"smartphone","models":[{"regex":"QTab[ _-]([^;/]+) Build","model":"$1 Tab","device":"tablet"},{"regex":"QTab[ _-]([^;/)]+)[;/)]","model":"$1 Tab","device":"tablet"},{"regex":"(?:QMobile|Q-Smart)[ _-]([^;/]+) Build","model":"$1"},{"regex":"(?:QMobile|Q-Smart)[ _-]([^;/)]+)[;/)]","model":"$1"},{"regex":"Noir X1S","model":"Noir X1S"},{"regex":"LUNA PRO","model":"Luna Pro"},{"regex":"NICE S","model":"Nice S"}]},"Quantum":{"regex":"Quantum (Fit|Mini|V|You E)","device":"smartphone","models":[{"regex":"Quantum (Fit|Mini|V|You E)","model":"$1"}]},"Quechua":{"regex":"Quechua Phone 5","device":"smartphone","model":"Quechua Phone 5"},"Ramos":{"regex":"Ramos ?([^/;]+) Build","device":"tablet","model":"$1"},"Sendo":{"regex":"Sendo([a-z0-9]+)","device":"feature phone","model":"$1"},"Turbo-X":{"regex":"Turbo-X","device":"smartphone","models":[{"regex":"Turbo-X Ice[);/ ]","device":"tablet","model":"Ice"},{"regex":"Turbo-X Tablet([^;/]+) Build","device":"tablet","model":"Tablet$1"},{"regex":"Turbo-X ([^;/]+) Build","model":"$1"}]},"Silent Circle":{"regex":"Blackphone 2","device":"smartphone","model":"Blackphone 2"},"Sigma":{"regex":"Sigma|(X-Style[ _]?Tab[_ ]A([0-9]{2,3})|X[-_ ]?treme[-_ ]?PQ[0-9]{2})[);/ ]","device":"smartphone","models":[{"regex":"X[-_ ]?treme[-_ ]?PQ([0-9]{2})[);/ ]","model":"X-Treme PQ$1"},{"regex":"X-Style[ _]?Tab[_ ]A([0-9]{2,3})[);/ ]","model":"X-Style Tab A$1","device":"tablet"}]},"Spice":{"regex":"Spice","device":"smartphone","models":[{"regex":"Spice[ _\\\\-]?([^/;]+)(?:[\\\\)]| Build)","model":"$1"},{"regex":"Spice[ _\\\\-]?([^/;]+)(?:/|$)","model":"$1"}]},"Sharp":{"regex":"SHARP|SBM|SH-?[0-9]+[a-z]?[);/ ]|SH-Z10|AQUOS|506SH|SHL22|FS80(1[08]|32|28|0[29])[);/ ]|TG-L900S","device":"smartphone","models":[{"regex":"506SH","model":"Aquos Xx3"},{"regex":"SH-Z10","model":"Aquos zero"},{"regex":"SH-02E","model":"Aquos Phone Zeta"},{"regex":"SH06D","model":"Aquos Phone SH-06D"},{"regex":"SHL22","model":"Aquos Phone SHL22"},{"regex":"FS8010","model":"Aquos S2"},{"regex":"FS8032","model":"Aquos S3"},{"regex":"FS8018","model":"Aquos S3 Mini"},{"regex":"TG-L900S","model":"Luna S"},{"regex":"FS8002","model":"Z2"},{"regex":"FS8009","model":"Z3"},{"regex":"FS8028","model":"R1S"},{"regex":"SH-08E","device":"tablet","model":"Sharp Aquos Pad"},{"regex":"(LC-(?:[0-9]{2})[a-z0-9]+)(?:[);/ ]|$)","device":"tv","model":"$1"},{"regex":"SHARP-AQUOS|AQUOSBrowser","device":"tv","model":"Aquos Net Plus"},{"regex":"SHARP[ \\\\-]([a-z0-9\\\\-]+)","model":"$1"},{"regex":"(?:SHARP|SBM)([a-z0-9]+)","model":"$1"},{"regex":"(SH-?[0-9]+[a-z]?)[);/ ]","model":"$1"}]},"Softbank":{"regex":"Softbank|J-PHONE","device":"smartphone","models":[{"regex":"Softbank/[12]\\\\.0/([a-z0-9]+)","model":"$1"},{"regex":"([a-z0-9]+);Softbank;","model":"$1"},{"regex":"J-PHONE/[0-9]\\\\.[0-9]/([a-z0-9\\\\-]+)","model":"$1"}]},"Sonim":{"regex":"Sonim[ -]|XP[67]700[);/ ]","device":"smartphone","models":[{"regex":"Sonim-XP3400","model":"XP3400","device":"feature phone"},{"regex":"XP6700[);/ ]","model":"XP6700"},{"regex":"XP7700[);/ ]","model":"XP7700"}]},"Star":{"regex":"N(9[5678]00|8800|9000|9977)[);/ ]","device":"smartphone","models":[{"regex":"N9000","model":"Note 3"},{"regex":"N(9[5678]00|8800|9977)[);/ ]","model":"N$1"}]},"Amazon":{"regex":"KF(?:OT|TT|JWI|JWA|[DFS]OWI|A[PRSU]WI|T[BH]WI|SAW[IA]|GIWI|SUWI)[);/ ]|Kindle|Silk/\\\\d+\\\\.\\\\d+|Amazon (?:Tate|Jem)|AFT[BMST]|SD4930UR","device":"tablet","models":[{"regex":"AFTB","model":"Fire TV","device":"tv"},{"regex":"AFT[MST]","model":"Fire TV stick","device":"tv"},{"regex":"KFFOWI[);/ ]","model":"Fire 7\\""},{"regex":"KFTT[);/ ]","model":"Kindle Fire HD"},{"regex":"KFJWI[);/ ]|Amazon Jem","model":"Kindle Fire HD 8.9\\" WiFi"},{"regex":"KFJWA[);/ ]","model":"Kindle Fire HD 8.9\\" 4G"},{"regex":"KFSOWI[);/ ]|Amazon Tate","model":"Kindle Fire HD 7\\" WiFi"},{"regex":"KFTHWI[);/ ]","model":"Kindle Fire HDX 7\\" WiFi"},{"regex":"KFTHWA[);/ ]","model":"Kindle Fire HDX 7\\" 4G"},{"regex":"KFAPWI[);/ ]","model":"Kindle Fire HDX 8.9\\" WiFi"},{"regex":"KFAPWA[);/ ]","model":"Kindle Fire HDX 8.9\\" 4G"},{"regex":"KFARWI[);/ ]","model":"Fire HD 6"},{"regex":"KFASWI[);/ ]","model":"Fire HD 7"},{"regex":"KFAUWI[);/ ]","model":"Fire HD 7 2017"},{"regex":"KFGIWI[);/ ]","model":"Fire HD 8 2016"},{"regex":"KFDOWI[);/ ]","model":"Fire HD 8 2017"},{"regex":"KFSAWI[);/ ]","model":"Fire HDX 8.9"},{"regex":"KFSAWA[);/ ]","model":"Fire HDX 8.9 4G"},{"regex":"KFTBWI[);/ ]","model":"Fire HD 10"},{"regex":"KFSUWI[);/ ]","model":"Fire HD 10 (2017)"},{"regex":"SD4930UR","model":"Fire Phone","device":"smartphone"},{"regex":"KFOT|Kindle Fire|Silk/\\\\d+\\\\.\\\\d+","model":"Kindle Fire"},{"regex":"Kindle","model":"Kindle"}]},"Symphony":{"regex":"SYMPHONY[ \\\\_]([a-z0-9]+)|roar (V20|E80)","device":"smartphone","models":[{"regex":"roar V20","model":"Roar V20"},{"regex":"roar E80","model":"Roar E80"},{"regex":"SYMPHONY[ \\\\_]([a-z0-9]+)","model":"$1"}]},"Syrox":{"regex":"(SYX-(?:T70[04]|T10[12]))[;)/ ]","device":"tablet","model":"$1"},"Qtek":{"regex":"Qtek[ _]?([a-z0-9]+)","device":"smartphone","model":"$1"},"Q-Touch":{"regex":"(Q09) Build","device":"smartphone","model":"$1"},"T-Mobile":{"regex":"T-Mobile[ _][a-z0-9 ]+|REVVL 2 PLUS","device":"smartphone","models":[{"regex":"REVVL 2 PLUS","model":"REVVL 2 Plus"},{"regex":"T-Mobile[ _]([a-z0-9_ ]+) Build","model":"$1"},{"regex":"T-Mobile[ _]([a-z0-9_ ]+)","model":"$1"}]},"TB Touch":{"regex":"Ignis [89]","device":"tablet","models":[{"regex":"Ignis ([89])","model":"Ignis $1"}]},"TCL":{"regex":"TCL[_ -][a-z0-9]+|(TCL[_ -][^;/]+|7040N) Build|TCLGalaG60|A502DL","device":"smartphone","models":[{"regex":"TCLGalaG60","model":"Gala G60"},{"regex":"TCL[_ -]([^;/]+) Build","model":"$1"},{"regex":"TCL[_ -]([a-z0-9]+)","model":"$1"},{"regex":"(7040N)","model":"$1"},{"regex":"A502DL","model":"LX"}]},"Teclast":{"regex":"Teclast|Tbook","device":"tablet","models":[{"regex":"Tbook[_ -]([^;/]+) Build","model":"Tbook $1"},{"regex":"Teclast[_ -]([^;/]+) Build","model":"$1"}]},"Tecno Mobile":{"regex":"Tecno|Phantom6|Phantom6-Plus|DP7C Pro-SGA1","device":"smartphone","models":[{"regex":"Phantom6-Plus","model":"Phantom 6 Plus"},{"regex":"Phantom6","model":"Phantom 6"},{"regex":"TECNO[ _]ID6[);/ ]","model":"Camon iClick 2"},{"regex":"Tecno[ _]7C[);/ ]","model":"DroidPad 7C","device":"tablet"},{"regex":"DP7C Pro-SGA1[);/ ]","model":"DroidPad 7C Pro","device":"tablet"},{"regex":"TECNO[ _]DP10A Pro[);/ ]","model":"DroidPad 10A Pro","device":"tablet"},{"regex":"TECNO[ _]P904[);/ ]","model":"DroidPad 10D 4G","device":"tablet"},{"regex":"Tecno[ _]CB7[j]?","model":"Camon i4"},{"regex":"Tecno[ _]DP8D[);/ ]","model":"DroidPad 8D","device":"tablet"},{"regex":"Tecno[ _]LB8","model":"Pouvoir 3 Plus"},{"regex":"Tecno ([^;/]+) Build","model":"$1"},{"regex":"Tecno[ _]?([a-z0-9_\\\\-]+)","model":"$1"}]},"TechPad":{"regex":"Tech ?pad|XTAB[ _-]|Dual C1081HD|S813G","device":"tablet","models":[{"regex":"S813G","model":"S813G"},{"regex":"Dual C1081HD","model":"XTAB C1081HD"},{"regex":"XTAB[ _-]([^/;]+) Build","model":"XTAB $1"},{"regex":"Tech ?pad[ _-]([^/;]+) Build","model":"$1","device":"smartphone"}]},"Tesco":{"regex":"Hudl ([^/;]+) Build|W032i-C3[);/ ]","device":"tablet","models":[{"regex":"Hudl ([^/;]+) Build","model":"Hudl $1"},{"regex":"W032i-C3[);/ ]","model":"Op3n Dott"}]},"teXet":{"regex":"Texet|(NaviPad [^/;]*) Build|TM-(?:1046|1058|1057|1067|3000|3200R|3500|4003|4071|450[34]|451[30]|4377|4082R|550[83]|5010|5017|507[4-7]|5[23]77|6003|6906|702[13]|7055HD|709[69]|9747BT|9758|9751HD|9767|5513|520[410]|5505|507[13]|5581|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[10]|9743W|9750HD|7043XD|7049|7887|7037W|702[46])|TB-(771A|711A)|X-Force[\\\\(-]?TM-5009\\\\)?|X-Plus[\\\\(-]?TM-5577\\\\)?|X-pad (?:AIR 8|iX 7) 3G","device":"tablet","models":[{"regex":"TM-9749","model":"X-pad Plus 7.1 3G"},{"regex":"TM-9746","model":"X-pad Plus 7 3G"},{"regex":"TM-8051","model":"X-pad Force 8i 3G"},{"regex":"TM-1058","model":"X-Force 10 3G"},{"regex":"TM-8048","model":"X-pad Force 8 3G"},{"regex":"(NaviPad [^/;]*) Build","model":"$1"},{"regex":"TM-7055HD","model":"NaviPad 3G"},{"regex":"TM-9758","model":"X-pad Style 10"},{"regex":"(X-pad (?:AIR 8|iX 7) 3G)","model":"$1"},{"regex":"TM-7096","model":"X-pad NAVI 7.3 3G"},{"regex":"TM-7099","model":"X-pad NAVI 7.4 3G"},{"regex":"TM-1046","model":"X-pad NAVI 10 3G"},{"regex":"TM-7859","model":"X-pad NAVI 8.2 3G"},{"regex":"TM-7049","model":"NaviPad TM-7049 3G"},{"regex":"TM-7887","model":"NaviPad TM-7887 3G"},{"regex":"TM-8066","model":"X-pad Rapid 8.2 4G"},{"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[10]|9750HD|7043XD|7037W|702[46])|TB-(?:771A|711A|8041HD))","model":"$1"},{"regex":"TM-4503","device":"smartphone","model":"X-Quad"},{"regex":"(TM-(?:3000|3200R|4003|4083|4377|4504|451[30]|500[35]|5[23]77|5571|3204R|520[04]|5581|5505|507[13]|5017|507[4-7]|6003|5513))","device":"smartphone","model":"$1"},{"regex":"TM-5006","device":"smartphone","model":"X-Line"},{"regex":"TM-5007","device":"smartphone","model":"X-Shine"},{"regex":"TM-5201","device":"smartphone","model":"Rock"},{"regex":"TM-4515","device":"smartphone","model":"X-Style"},{"regex":"TM-9767","model":"X-pad Style 10 3G"},{"regex":"TM-(5016|3500)","device":"smartphone","model":"X-Maxi 2"},{"regex":"TM-4071","device":"smartphone","model":"X-Smart"},{"regex":"TM-4982","device":"smartphone","model":"iX-Maxi"},{"regex":"TM-5010","device":"smartphone","model":"X-Selfie"},{"regex":"TM-4082R","device":"smartphone","model":"X-Driver Quad"},{"regex":"TM-5503","device":"smartphone","model":"X-Mage"},{"regex":"TM-5508","device":"smartphone","model":"X-Cosmo"},{"regex":"X-Force[\\\\(-]?TM-5009\\\\)?","device":"smartphone","model":"X-Force"},{"regex":"X-Plus[\\\\(-]?TM-5577\\\\)?","device":"smartphone","model":"X-Plus"}]},"Telefunken":{"regex":"TEL-1013GIQA","device":"smartphone","models":[{"regex":"TEL-1013GIQA","device":"tablet","model":"Giqa 10.1 3G"}]},"Telego":{"regex":"TELEGO","device":"smartphone","models":[{"regex":"TELEGO-W503","model":"W503"}]},"Telenor":{"regex":"Telenor","device":"smartphone","models":[{"regex":"Telenor[ _]([^;/]+) Build","model":"$1"},{"regex":"Telenor[ _]([^a-z0-9_]+)\\\\)","model":"$1"}]},"Telit":{"regex":"Telit","device":"feature phone","models":[{"regex":"Telit_Mobile_Terminals-([a-z0-9]+)","model":"$1"},{"regex":"Telit[\\\\-_]?([a-z0-9]+)","model":"$1"}]},"ThL":{"regex":"ThL[ _-]","device":"smartphone","models":[{"regex":"ThL[ _-]*([^;/]+) Build","model":"$1"},{"regex":"ThL[ _-]*([^ ;/)]+)[ ;/)]","model":"$1"}]},"TIANYU":{"regex":"TIANYU","device":"feature phone","models":[{"regex":"TIANYU ([a-z0-9]+)","model":"$1"},{"regex":"TIANYU-KTOUCH/([a-z0-9]+)","model":"$1"}]},"Timovi":{"regex":"Tmovi|Infinit_Lite_2","device":"smartphone","models":[{"regex":"Tmovi[ _]Prime","model":"Prime"},{"regex":"TMOVI_YEAH_BEAT","model":"Yeah Beat"},{"regex":"YeahLIVE","model":"Yeah LIVE"},{"regex":"Infinit Lite","model":"Infinit Lite"},{"regex":"Infinit_Lite_2","model":"Infinit Lite 2"}]},"Tooky":{"regex":"TOOKY","device":"smartphone","models":[{"regex":"TOOKY (A19|W1|T8[368]|T1982)[);/ ]","model":"$1"},{"regex":"TOOKY A9PLUS[);/ ]","model":"A9 Plus"}]},"Tolino":{"regex":"Tolino Tab ([^/;]+) Build","device":"tablet","model":"Tolino Tab $1"},"Top House":{"regex":"Coto[_ ]|X1013","device":"smartphone","models":[{"regex":"Coto W418","model":"Coto W418"},{"regex":"COTO_T117","model":"Coto T117","device":"tablet"},{"regex":"X1013","model":"X1013","device":"tablet"},{"regex":"COTO_T40017","model":"T40017"}]},"Toplux":{"regex":"Toplux ([a-z0-9]+)","device":"feature phone","model":"$1"},"Touchmate":{"regex":"TOUCHMATE|(TM-(?:MID1020A|MID710|MID798|MID792|MID788D|SM500N|SM410))","device":"smartphone","models":[{"regex":"(TM-(?:MID1020A|MID710|MID798|MID792|MID788D))","device":"tablet","model":"$1"},{"regex":"(TM-(?:SM500N|SM410))","model":"$1"},{"regex":"Touchmate ([^/;]+) Build","model":"$1"}]},"TrekStor":{"regex":"(?:TrekStor|Surftab) ([^/;]+) Build|Surftab[^;\\\\)]*(?:[;\\\\)]|$)|ST10216-2A|VT10416-[12]","device":"tablet","models":[{"regex":"ST10216-2A|VT10416-[12]","model":"SurfTab 10.1"},{"regex":"TrekStor ([^/;]+) Build","model":"$1"},{"regex":"Surftab ([^/;]+) Build","model":"SurfTab $1"},{"regex":"Surftab[ _]([^;\\\\)]*)(?:[;\\\\)]|$)","model":"SurfTab $1"}]},"Trevi":{"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","device":"tablet","models":[{"regex":"TAB[ _]?(7|8)[ _]3G[ _]V8","model":"TAB $1 3G V8"},{"regex":"TAB[ _]?9[ _]3G[ _]V8","model":"TAB 9 3G V8"},{"regex":"TAB[ _]?9[ _]3G","model":"TAB 9 3G"},{"regex":"TAB[ _]10[ _]3G[ _]V16","model":"TAB 10 3G V16"},{"regex":"MINITAB 3GV","model":"MINITAB 3G V"},{"regex":"(?:Trevi_)?Phablet[ _]4[ _]?C","model":"Phablet 4 C","device":"smartphone"},{"regex":"(?:Trevi_)?Phablet[ _]4[ _]?S","model":"Phablet 4 S","device":"smartphone"},{"regex":"(?:Trevi_)?Phablet[ _]4.5[ _]?Q","model":"Phablet 4.5Q","device":"smartphone"},{"regex":"(?:Trevi_)?PHABLET[ _]5[ _]?S","model":"Phablet 5 S","device":"smartphone"},{"regex":"(?:Trevi_)?PHABLET[ _]5,3[ _]?Q","model":"Phablet 5.3 Q","device":"phablet"},{"regex":"(?:Trevi_)?REVERSE[ _]5.5[ _]?Q","model":"Phablet 5.5 Q REVERSE","device":"phablet"},{"regex":"(?:Trevi_)?PHABLET[ _]6[ _]?S","model":"Phablet 6 S","device":"phablet"},{"regex":"Trevi[_]([^;/]+) Build","model":"$1"}]},"TVC":{"regex":"(NuclearSX-SP5)","device":"smartphone","model":"Nuclear SX-SP5"},"U.S. Cellular":{"regex":"USCC-","device":"smartphone","models":[{"regex":"USCC-E6762","model":"Kyocera DuraForce"},{"regex":"(USCC-[a-z0-9_\\\\-]+)","model":"$1"}]},"Uhappy":{"regex":"Uhappy|UP?580|UP350|UP[35679]20","device":"smartphone","models":[{"regex":"UP([35679]20)","model":"UP$1"},{"regex":"UP350","model":"UP350"},{"regex":"UP580","model":"UP580"},{"regex":"U580","model":"U580"},{"regex":"Uhappy[ _-]([^;/]+) Build","model":"$1"},{"regex":"Uhappy[ _-]?([^;/)]+)[);/ ]","model":"$1"}]},"Unimax":{"regex":"U((?:67[013]|680)C|(?:452|504)TL|683CL)[);/ ]","device":"smartphone","model":"U$1"},"Unowhy":{"regex":"QOOQ ","device":"tablet","model":"QOOQ"},"UTStarcom":{"regex":"utstar[ _-]?([a-z0-9]+)","device":"feature phone","model":"$1"},"Ulefone":{"regex":"Ulefone|Power_[35]|(Armor(?:[ _]2)?|U00[78][ _]Pro|Be[ _]X|Be[ _]Touch(?:[ _][23])?|Be[ _](?:One|Pure)(?:[ _]Lite)?) Build","device":"smartphone","models":[{"regex":"Be[ _]Touch([ _][23])?","model":"Be Touch$1"},{"regex":"Be[ _]Pure[ _]Lite","model":"Be Pure Lite"},{"regex":"Be[ _]Pure","model":"Be Pure"},{"regex":"Be[ _]One[ _]Lite","model":"Be One Lite"},{"regex":"Be[ _]One","model":"Be One"},{"regex":"Be[ _]X","model":"Be X"},{"regex":"U007 Pro","model":"U007 Pro"},{"regex":"U008 Pro","model":"U008 Pro"},{"regex":"Armor[ _]2 Build","model":"Armor 2"},{"regex":"Armor Build","model":"Armor"},{"regex":"Power_([35])","model":"Power $1"},{"regex":"Ulefone[_ ](X|S1[ _]Pro|S[17])[);\\\\ ]","model":"$1"},{"regex":"Ulefone[ _-]?([^;/]+) Build","model":"$1"},{"regex":"Ulefone[ _-]?([^;/)]+)[;/)]","model":"$1"}]},"UMIDIGI":{"regex":"UMI(?:DIGI)?[ _]","device":"smartphone","models":[{"regex":"UMI(?:DIGI)?[ _]([^/;]+) Build","model":"$1"}]},"Uniscope":{"regex":"Uniscope","device":"smartphone","models":[{"regex":"Uniscope[ _\\\\-]?([^/;]+) Build","model":"$1"},{"regex":"Uniscope[ _\\\\-]?([^);/ ]+)","model":"$1"}]},"Unnecto":{"regex":"Unnecto|(?:U513|U5151|U61[1356]|U7[12]0|U-830|U90[35])[);/ ]","device":"smartphone","models":[{"regex":"U513","model":"Drone XT"},{"regex":"U5151","model":"Bolt"},{"regex":"U611","model":"Quattro X"},{"regex":"U613","model":"Quattro S"},{"regex":"U615","model":"Quattro M"},{"regex":"U616","model":"U616"},{"regex":"U710","model":"Quattro U710"},{"regex":"U720","model":"Quattro Z"},{"regex":"U-830","model":"Rush"},{"regex":"U903","model":"Air"},{"regex":"U905","model":"Air 5.5"}]},"Unonu":{"regex":"Unonu[ _-]","device":"smartphone","models":[{"regex":"Unonu[ _-]([^;/]+) Build","model":"$1"},{"regex":"Unonu[ _-]?([^;/)]+)[);/ ]","model":"$1"}]},"UTOK":{"regex":"UTOK (45[01]D)","device":"smartphone","model":"$1"},"Vastking":{"regex":"(M910A|M783K|M783K-16G|M1072R-3G)[);/ ]","device":"tablet","model":"$1"},"ViewSonic":{"regex":"ViewSonic|VSD[0-9]+[);/ ]|ViewPad|ViewPhone","device":"smart display","models":[{"regex":"(?:ViewSonic-)?V500[);/ ]","model":"V500","device":"smartphone"},{"regex":"(?:ViewSonic-)?ViewPhone ?([^;/]+) Build","model":"ViewPhone $1","device":"smartphone"},{"regex":"(?:ViewSonic-)?ViewPad ?([^;/]+) Build","model":"ViewPad $1","device":"tablet"},{"regex":"(VSD[0-9]+)[);/ ]","model":"$1"}]},"Vitelcom":{"regex":"Vitelcom|portalmmm/[12].0 TSM","device":"feature phone","models":[{"regex":"TSM-([a-z0-9]+)","model":"$1"},{"regex":"TSM([a-z0-9\\\\-]+)","model":"$1"},{"regex":"portalmmm/[12].0 (TSM[a-z0-9 ]+)","model":"$1"}]},"Fengxiang":{"regex":"(vKB011B|vKB004L)","device":"tablet","model":"$1"},"VK Mobile":{"regex":"VK(?!share)[\\\\-]?([a-z0-9 ]+)([;\\\\)/ ]| Build)","device":"feature phone","model":"$1"},"Vernee":{"regex":"Vernee|Mars Pro|Apollo (?:Lite|X)|Thor (?:E|Plus)","device":"smartphone","models":[{"regex":"Apollo Lite","model":"Apollo Lite"},{"regex":"Apollo X","model":"Apollo X"},{"regex":"Mars Pro","model":"Mars Pro"},{"regex":"Thor E","model":"Thor E"},{"regex":"Thor Plus","model":"Thor Plus"},{"regex":"Vernee_M5","model":"M5"},{"regex":"Vernee[ _-]([^;/]+) Build","model":"$1"},{"regex":"Vernee[ _-]([a-z0-9_-]+)","model":"$1"}]},"Vertu":{"regex":"Vertu[ ]?([a-z0-9]+)","device":"feature phone","model":"$1"},"Venso":{"regex":"(CX-508)[/;) ]","device":"smartphone","model":"$1"},"Verizon":{"regex":"QTA(SUN[12]|XIA1|QZ3|QZ3KID|IR7)|QMV7B","device":"tablet","models":[{"regex":"QTAXIA1|QTAIR7","model":"Ellipsis 10"},{"regex":"QTASUN1","model":"Ellipsis 8 HD"},{"regex":"QTASUN2","model":"Ellipsis 8 HD 4G LTE"},{"regex":"QTAQZ3KID","model":"Ellipsis Kids LTE"},{"regex":"QTAQZ3","model":"Ellipsis 8"},{"regex":"QMV7B","model":"Ellipsis 7"}]},"Verykool":{"regex":"verykool","device":"smartphone","models":[{"regex":"verykool[ _]?([^/;]+) Build","model":"$1"}]},"Vestel":{"regex":"Venus[ _](V[1-9]|Z[1-9]0)|V_?TAB|VP74|VT97PRO|VSP145M|VSP250G|VSP355[GS]","device":"smartphone","models":[{"regex":"VT97PRO","model":"VTab 9.7 Pro","device":"tablet"},{"regex":"VP74","model":"VTab Lite II","device":"tablet"},{"regex":"VTAB10","model":"VTab 10","device":"tablet"},{"regex":"V_TAB_7_ECO_III ","model":"VTab 7 Eco 3","device":"tablet"},{"regex":"V_TAB_([0-9]{4}[A-Z]?)","model":"VTab $1","device":"tablet"},{"regex":"VSP145M","model":"Venus 4.5"},{"regex":"VSP250G","model":"Venus 5.0V"},{"regex":"VSP355G","model":"Venus 5.5V"},{"regex":"VSP355S","model":"Venus 5.5X"},{"regex":"Venus[ _]V([1-9])","model":"Venus V$1"},{"regex":"Venus[ _]Z([1-9]0)","model":"Venus Z$1"}]},"Videocon":{"regex":"Videocon[_ \\\\-]|VT75C","device":"smartphone","models":[{"regex":"Videocon[_ \\\\-]([a-z0-9]+)","model":"$1"},{"regex":"VT75C[/;) ]","model":"VT75C"}]},"Vodafone":{"regex":"Vodafone[ _-]|Smart ?Tab ?(?:III? ?)?(?:|4G|7|10)[);/ -]|VodafoneSmartChat|VFD[ _][0-9]+[;/) ]|VFD320|VF6[89]5|VF-795","device":"smartphone","models":[{"regex":"VFD 100","model":"Smart Mini"},{"regex":"VF685","model":"Smart Kicka"},{"regex":"VF695","model":"Smart First 6"},{"regex":"VFD 200","model":"Smart First 7"},{"regex":"VFD 300","model":"Smart Mini 7"},{"regex":"VFD 50[02]","model":"Smart Turbo 7"},{"regex":"VFD 51[013]","model":"Smart E8"},{"regex":"VFD 600","model":"Smart Prime 7"},{"regex":"VFD320","model":"Smart C9"},{"regex":"VFD 820","model":"Smart X9"},{"regex":"VFD 610","model":"Smart N8"},{"regex":"Smart ultra 6","model":"Smart Ultra 6"},{"regex":"VFD 700","model":"Smart Ultra 7"},{"regex":"VFD 720","model":"Smart N9"},{"regex":"VFD 900","model":"Smart Platinum 7"},{"regex":"Vodafone[ _]875[);/ ]","model":"Smart Mini"},{"regex":"Vodafone[ _]975N?[);/ ]","model":"Smart 3"},{"regex":"Vodafone[ _]785[);/ ]","model":"Smart 4 Mini"},{"regex":"Vodafone[ _]890N[);/ ]","model":"Smart 4 Turbo"},{"regex":"Vodafone[ _]985N[);/ ]","model":"Smart 4 Power"},{"regex":"VodafoneSmartChat","model":"Smart Chat"},{"regex":"VF-795","model":"Smart Speed 6"},{"regex":"VFD 1100","device":"tablet","model":"Tab Mini 7"},{"regex":"VFD 1300","device":"tablet","model":"Smart Tab N8"},{"regex":"VFD 1400","device":"tablet","model":"Tab Prime 7"},{"regex":"Smart ?Tab ?3G","device":"tablet","model":"Smart Tab 3G"},{"regex":"Smart ?Tab ?4G","device":"tablet","model":"Smart Tab 4G"},{"regex":"Smart ?Tab ?4","model":"Smart Tab 4","device":"tablet"},{"regex":"SmartTab7[);/ -]","model":"Smart Tab 7","device":"tablet"},{"regex":"SmartTab10[);/ -]","model":"Smart Tab 10","device":"tablet"},{"regex":"Smart ?Tab ?II ?7","model":"Smart Tab II 7","device":"tablet"},{"regex":"Smart ?Tab ?II ?10","model":"Smart Tab II 10","device":"tablet"},{"regex":"Smart ?Tab ?III ?7","model":"Smart Tab III 7","device":"tablet"},{"regex":"Smart ?Tab ?III ?10","model":"Smart Tab III 10","device":"tablet"},{"regex":"VFD[ _]([0-9]+)[;/) ]","model":"VFD $1"},{"regex":"Vodafone[ _-]([^;/]+) Build","model":"$1"},{"regex":"Vodafone[ _-]([a-z0-9_-]+)","model":"$1"}]},"Vonino":{"regex":"Vonino|Zun[ _]X[OS]?|Xylo[ _][XSP]|Volt[ _][XS]|Gyga[ _](?:X|S|QS|XS)|Pluri[ _](?:[BCMQ]7|[CQ]8)|Magnet[ _]M[19]|Jax[ _](?:Q|QS|S|X|Mini)|Navo_QS|Onyx_(QS|Z)|Orin_QS|Sirius_QS|Xavy_T7","device":"smartphone","models":[{"regex":"Zun[ _]XO","model":"Zun XO"},{"regex":"Zun[ _]XS","model":"Zun XS"},{"regex":"Zun[ _]X","model":"Zun X"},{"regex":"Xylo[ _](P|S|X)","model":"Xylo $1"},{"regex":"Volt[ _]S_A7","model":"Volt S A7"},{"regex":"Volt[ _]S","model":"Volt S"},{"regex":"Volt[ _]X","model":"Volt X"},{"regex":"Gyga[ _]QS","model":"Gyga QS"},{"regex":"Gyga[ _]XS","model":"Gyga XS"},{"regex":"Gyga[ _](S|X)","model":"Gyga $1"},{"regex":"Jax[ _]QS","model":"Jax QS"},{"regex":"Jax[ _]S_A7","model":"Jax S A7"},{"regex":"Jax[ _](S|Q|X)","model":"Jax $1"},{"regex":"Jax[ _]Mini","model":"Jax Mini"},{"regex":"Pluri[ _](B|C|M|Q)7","model":"Pluri $17","device":"tablet"},{"regex":"Pluri[ _](C|Q)8","model":"Pluri $18","device":"tablet"},{"regex":"Magnet[ _]M([19])","model":"Magnet M$1","device":"tablet"},{"regex":"Navo_QS","model":"Navo QS","device":"tablet"},{"regex":"Onyx_(QS|Z)","model":"Onyx $1","device":"tablet"},{"regex":"Orin_QS","model":"Orin QS","device":"tablet"},{"regex":"Sirius_QS","model":"Sirius QS","device":"tablet"},{"regex":"Xavy_T7","model":"Xavy T7","device":"tablet"}]},"Vorago":{"regex":"VORAGO","device":"smartphone","models":[{"regex":"CELL-500","model":"CELL-500"}]},"Voto":{"regex":"VOTO[ _\\\\-]|VT8[89]8[;/) ]","device":"smartphone","models":[{"regex":"VOTO[ _\\\\-]?([^/;]+) Build","model":"$1"},{"regex":"VOTO[ _\\\\-]?([^);/ ]+)","model":"$1"},{"regex":"(VT8[89]8)[;/) ]","model":"$1"}]},"Voxtel":{"regex":"Voxtel_([a-z0-9]+)","device":"feature phone","model":"$1"},"Vulcan":{"regex":"VP5004A","device":"smartphone","models":[{"regex":"VP5004A","model":"VP5004A"}]},"Walton":{"regex":"Walton|Walpad|Primo[ _](C[1234]?|D[12345]|E[12345]|EF[23]?|EM|F[1234567]i?|G[123457]|GF[234]?|GH[23]?|GM|H[2346]|HM|N|N1|NF|NX2?|R[1234]|RH2?|RM2?|RX[23]?|S[123456]|V1|X[1234]|Z|ZX)","device":"smartphone","models":[{"regex":"Walpad ([^;/]+) Build","device":"tablet","model":"Primo Walpad $1"},{"regex":"Primo S6 infinity","model":"Primo S6 Infinity"},{"regex":"Walton[ _]([^;/]+) Build","model":"$1"},{"regex":"Walton[ _]([^;/]+)\\\\)","model":"$1"},{"regex":"Primo[ _]([^;/]+) Build","model":"Primo $1"},{"regex":"Primo[ _]([0-9a-z]+)","model":"Primo $1"}]},"WellcoM":{"regex":"WELLCOM[ _\\\\-/]([a-z0-9]+)","device":"smartphone","model":"$1"},"Wexler":{"regex":"Wexler|TAB[ _]10Q[);/ ]|ZEN[ _](?:4\\\\.5|4\\\\.7|5)","device":"tablet","models":[{"regex":"(?:Wexler[ _\\\\-\\\\.])?ZEN[ _]4\\\\.5[);/ ]","model":"ZEN 4.5","device":"smartphone"},{"regex":"(?:Wexler[ _\\\\-\\\\.])?ZEN[ _]4\\\\.7[);/ ]","model":"ZEN 4.7","device":"smartphone"},{"regex":"(?:Wexler[ _\\\\-\\\\.])?ZEN[ _]5[);/ ]","model":"ZEN 5","device":"smartphone"},{"regex":"(?:Wexler[ _\\\\-\\\\.])?TAB[ _]10Q[);/ ]","model":"TAB 10Q"},{"regex":"Wexler[ _\\\\-\\\\.]([^;/]+) Build","model":"$1"},{"regex":"Wexler[ _\\\\-\\\\.]([^);/]+)[);/]","model":"$1"}]},"Wiko":{"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|Kite|Robby|Lenny[2-9]?|Slide|Sunset[2-9]?|Sunny[2-9]?|Tommy[2-9]?|PULP(?: Fab)?|Wax|HARRY|WIM Lite|Ridge(?: Fab)?|U FEEL(?: Prime| Lite)?|U PULSE(?: LITE)?|View XL|View Prime)(?: Plus)?(?: 4G)?(?: Build|$)|W_(?:C800|K[346]00)|LENNY[234]|SUNSET2|JERRY|Tommy3|PULP FAB 4G|WC300","device":"smartphone","models":[{"regex":"(?:Wiko-)?Cink([^/;]*) Build","model":"Cink$1"},{"regex":"(?:WIKO-)?CINK_([a-z0-9_]+)","model":"Cink $1"},{"regex":"(?:Wiko-)?Highway([^/;]*) Build","model":"Highway$1"},{"regex":"(?:WIKO-)?HIGHWAY_([a-z0-9_]+)","model":"Highway $1"},{"regex":"(?:WIKO-)?Iggy","model":"Iggy"},{"regex":"(?:WIKO-)?FEVER","model":"Fever"},{"regex":"(?:WIKO-)?Stairway","model":"Stairway"},{"regex":"(?:WIKO-)?Ridge Fab 4G","model":"Ridge Fab 4G"},{"regex":"(?:WIKO-)?Ridge 4G","model":"Ridge 4G"},{"regex":"(?:WIKO-)?Ridge","model":"Ridge"},{"regex":"(?:WIKO-)?Rainbow ([^/;]+) Build","model":"Rainbow $1"},{"regex":"(?:WIKO-)?Rainbow","model":"Rainbow"},{"regex":"(?:WIKO-)?Darkside","model":"Darkside"},{"regex":"(?:WIKO-)?Darkmoon","model":"Darkmoon"},{"regex":"(?:WIKO-)?Darkfull","model":"Darkfull"},{"regex":"(?:WIKO-)?Darknight","model":"Darknight"},{"regex":"(?:WIKO-)?Sublim","model":"Sublim"},{"regex":"(?:WIKO-)?Ozzy","model":"Ozzy"},{"regex":"(?:WIKO-)?Barry","model":"Barry"},{"regex":"(?:WIKO-)?Birdy","model":"Birdy"},{"regex":"(?:WIKO-)?Bloom","model":"Bloom"},{"regex":"(?:WIKO-)?JIMMY","model":"Jimmy"},{"regex":"JERRY MAX","model":"Jerry Max"},{"regex":"W_K300","model":"Jerry 3"},{"regex":"(?:WIKO-)?Jerry2","model":"Jerry 2"},{"regex":"(?:WIKO-)?Jerry","model":"Jerry"},{"regex":"(?:WIKO-)?Getaway","model":"Getaway"},{"regex":"(?:WIKO-)?Goa","model":"Goa"},{"regex":"(?:WIKO-)?Freddy","model":"Freddy"},{"regex":"(?:WIKO-)?Kite","model":"Kite"},{"regex":"W_K400","model":"Lenny 5"},{"regex":"(?:WIKO-)?Lenny[ -_]?3 Max","model":"Lenny 3 Max"},{"regex":"(?:WIKO-)?Lenny[ -_]?4 Plus","model":"Lenny 4 Plus"},{"regex":"(?:WIKO-)?Lenny[ -_]?([2-9])","model":"Lenny $1"},{"regex":"(?:WIKO-)?Lenny","model":"Lenny"},{"regex":"(?:WIKO-)?Slide","model":"Slide"},{"regex":"(?:WIKO-)?Sunset2","model":"Sunset 2"},{"regex":"(?:WIKO-)?Sunset","model":"Sunset"},{"regex":"(?:WIKO-)?Sunny2 Plus","model":"Sunny 2 Plus"},{"regex":"(?:WIKO-)?Sunny2","model":"Sunny 2"},{"regex":"(?:WIKO-)?Sunny","model":"Sunny"},{"regex":"(W_K600|Tommy3)","model":"Tommy 3"},{"regex":"(?:WIKO-)?Tommy2 Plus","model":"Tommy 2 Plus"},{"regex":"(?:WIKO-)?Tommy2","model":"Tommy 2"},{"regex":"(?:WIKO-)?Tommy","model":"Tommy"},{"regex":"(?:WIKO-)?Wax","model":"Wax"},{"regex":"(?:WIKO-)?HARRY","model":"Harry"},{"regex":"(?:WIKO-)?WIM Lite","model":"WIM Lite"},{"regex":"(?:WIKO-)?Pulp Fab 4G","model":"Pulp Fab 4G"},{"regex":"(?:WIKO-)?Pulp Fab","model":"Pulp Fab"},{"regex":"(?:WIKO-)?Pulp 4G","model":"Pulp 4G"},{"regex":"(?:WIKO-)?Pulp","model":"Pulp"},{"regex":"(?:WIKO-)?Robby","model":"Robby"},{"regex":"(?:WIKO-)?U PULSE LITE","model":"U Pulse Lite"},{"regex":"(?:WIKO-)?U PULSE","model":"U Pulse"},{"regex":"(?:WIKO-)?U FEEL LITE","model":"U Feel Lite"},{"regex":"(?:WIKO-)?U FEEL PRIME","model":"U Feel Prime"},{"regex":"(?:WIKO-)?U FEEL","model":"U Feel"},{"regex":"(?:WIKO-)?View XL","model":"View XL"},{"regex":"(?:WIKO-)?View Prime","model":"View Prime"},{"regex":"WC300","model":"View Lite"},{"regex":"W_C800","model":"View 2"},{"regex":"Wiko ([^/;]+) Build","model":"$1"},{"regex":"Wiko ([^/; ]+)","model":"$1"}]},"Wink":{"regex":"Wink_","device":"smartphone","models":[{"regex":"Wink_City_(SE|S)","model":"City $1"}]},"Weimei":{"regex":"weplus_3","device":"smartphone","models":[{"regex":"weplus_3","model":"WePlus 3"}]},"Wileyfox":{"regex":"(?:Wileyfox [^/]+)|Swift 2[;/) ]","device":"smartphone","models":[{"regex":"Wileyfox Spark \\\\+","model":"Spark +"},{"regex":"Wileyfox Spark X","model":"Spark X"},{"regex":"Wileyfox (Spark|Swift)","model":"$1"},{"regex":"Wileyfox ([^/]+) Build","model":"$1"},{"regex":"Swift 2 (X|Plus)[;/) ]","model":"Swift 2 $1"},{"regex":"Swift 2[;/) ]","model":"Swift 2"}]},"Wolder":{"regex":"miSmart|miTab|WIAM \\\\#24","device":"smartphone","models":[{"regex":"WIAM \\\\#24","model":"Wiam #24"},{"regex":"miSmart[ \\\\-_]?([^/]+) Build","model":"miSmart $1"},{"regex":"miTab[ \\\\-_]?([^/]+) Build","device":"tablet","model":"miTab $1"}]},"Wolfgang":{"regex":"AT[ _-]AS([0-9A-Z]+)[);/ ]","device":"smartphone","model":"AT-AS$1"},"Wonu":{"regex":"Wonu ([a-z0-9]+)","device":"feature phone","model":"$1"},"Woo":{"regex":"SP5026i-Scorpio","device":"smartphone","models":[{"regex":"SP5026i-Scorpio","model":"Scorpio"}]},"Woxter":{"regex":"Woxter[ _]([^/;]+) Build","device":"tablet","model":"$1"},"X-View":{"regex":"ZEN_U5+","device":"smartphone","models":[{"regex":"ZEN_U5+","model":"ZEN U5+"}]},"Xiaomi":{"regex":"Xiaomi(?!/MiuiBrowser)|(?: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|SKR-[AH]0|SKW-[AH]0|POCO F1","device":"smartphone","models":[{"regex":"SKR-[AH]0","model":"Black Shark"},{"regex":"SKW-[AH]0","model":"Black Shark 2"},{"regex":"Xiaomi_2014501|2014501 Build","model":"Hongmi 4G"},{"regex":"Xiaomi_2014011|2014011 Build","model":"Hongmi 1S"},{"regex":"Xiaomi_201302[23]|201302[23] Build","model":"Hongmi"},{"regex":"Xiaomi_2014818|2014818 Build","model":"Hongmi 2 3G"},{"regex":"Xiaomi_2014817|2014817 Build","model":"Hongmi 2"},{"regex":"Xiaomi_201481[123]|201481[123] Build","model":"Hongmi 2 4G"},{"regex":"Mi 9 SE[);/ ]","model":"MI 9 SE"},{"regex":"MI 8 Lite[);/ ]","model":"MI 8 Lite"},{"regex":"MI 5s Plus[);/ ]","model":"MI 5s Plus"},{"regex":"Xiaomi_2013061|2013061 Build","model":"MI 3"},{"regex":"Mi-4c[);/ ]","model":"MI 4C"},{"regex":"MI MAX 3[);/ ]","model":"MI MAX 3"},{"regex":"MI MAX 2[);/ ]","model":"MI MAX 2"},{"regex":"Mi A2 Lite[);/ ]","model":"MI A2 Lite"},{"regex":"MIX 3[);/ ]","model":"MI MIX 3"},{"regex":"MIX 2S[);/ ]","model":"MI MIX 2S"},{"regex":"MIX 2[);/ ]","model":"MI MIX 2"},{"regex":"MIX[);/ ]","model":"MI MIX"},{"regex":"POCOPHONE F1|POCO F1","model":"Pocophone F1"},{"regex":"Redmi 5 Plus","model":"Redmi 5 Plus"},{"regex":"HM 2A[);/ ]","model":"Redmi 2A"},{"regex":"HM 1S[CW]?[);/ ]","model":"Redmi 1S"},{"regex":"HM 1[);/ ]","model":"Redmi 1"},{"regex":"MI PAD 4 PLUS[);/ ]","model":"Mi Pad 4 Plus","device":"tablet"},{"regex":"MI PAD 4[);/ ]","model":"Mi Pad 4","device":"tablet"},{"regex":"MI PAD 3[);/ ]","model":"Mi Pad 3","device":"tablet"},{"regex":"MI PAD 2[);/ ]","model":"Mi Pad 2","device":"tablet"},{"regex":"MI PAD[);/ ]","model":"Mi Pad","device":"tablet"},{"regex":"HM NOTE 1W (?:Build|MIUI)","device":"phablet","model":"Redmi Note"},{"regex":"HM NOTE 1TD (?:Build|MIUI)","device":"phablet","model":"Hongmi Note 1TD"},{"regex":"HM NOTE 1(?:LTE|S)(?:W|GLOBAL|TD)? (?:Build|MIUI)","device":"phablet","model":"Redmi Note 4G"},{"regex":"Redmi Note 6 Pro","model":"Redmi Note 6 Pro","device":"phablet"},{"regex":"Redmi Note 5 Pro","model":"Redmi Note 5 Pro","device":"phablet"},{"regex":"Redmi Note 5A Prime","model":"Redmi Note 5A Prime","device":"phablet"},{"regex":"Redmi[ _]Note[ _]([^;/) ]+)?","model":"Redmi Note $1","device":"phablet"},{"regex":"Redmi[ _]([^;/) ]+)?","model":"Redmi $1"},{"regex":"MI[ _]Note[ _]([^;/) ]+)?","model":"MI Note $1","device":"phablet"},{"regex":"(MI(?:-One)?[ _](?:[^;/]*))Build","model":"$1"},{"regex":"(MI [a-z0-9]+|MI-One[ _]?[a-z0-9]+)[);/ ]","model":"$1"},{"regex":"HM Note ([^/;]+) (?:Build|MIUI)","device":"phablet","model":"Note"},{"regex":"HM ([^/;]+) (?:Build|MIUI)","model":"HM $1"},{"regex":"Xiaomi[ _]([^/;]+)(?: Build|$)","model":"$1"}]},"Xion":{"regex":"XI-CE(?:655|U[48])","device":"smartphone","models":[{"regex":"XI-CE(655|U[48])","model":"CE$1"}]},"Xolo":{"regex":"Xolo|(?:Q600|Q700s?|Q800|Q1000s|Q1000[ _]Opus|Q1010i|Q2000|Omega[ _]5.[05])[);/ ]|BLACK-1XM","device":"smartphone","models":[{"regex":"BLACK-1XM","model":"Black 1X"},{"regex":"(Q600 Club|Q600|Q700s?|Q800|Q1000s Plus|Q1000s|Q1000[ _]Opus|Q1010i|Q2000|Omega[ _]5.[05])[);/ ]","model":"$1"},{"regex":"Xolo[ _]?([^;/]+) Build","model":"$1"},{"regex":"Xolo[ _]?([a-z0-9_-]+)","model":"$1"}]},"Yarvik":{"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","device":"tablet","models":[{"regex":"Luna TAB07-920N","model":"Luna 7"},{"regex":"Luna TAB07-10[01]","model":"Luna 7c"},{"regex":"Luna TAB274","model":"Luna 7c"},{"regex":"Luna TAB474","model":"Luna 10"},{"regex":"Luna TAB10-150","model":"Luna 10c"},{"regex":"TAB09-410","model":"Noble 9.7"},{"regex":"TAB10-410","model":"Noble 10.1"},{"regex":"TAB07-485","model":"Noble Mini"},{"regex":"Xenta-TAB07-21[01]","model":"Xenta 7c"},{"regex":"TAB07-200","model":"Xenta 7ic"},{"regex":"TAB08-200","model":"Xenta 8ic"},{"regex":"TAB08-201-3G","model":"Xenta 8c"},{"regex":"TAB9-200","model":"Xenta 9.7ic"},{"regex":"TAB09-211","model":"Xenta 9.7ic+"},{"regex":"TAB10-2[01]1","model":"Xenta 10ic"},{"regex":"TAB13-201","model":"Xenta 13c"}]},"Yes":{"regex":"M631Y","device":"smartphone","models":[{"regex":"M631Y","model":"Altitude"}]},"Yezz":{"regex":"Yezz|ANDY[ _]|4E4|A5EI","device":"smartphone","models":[{"regex":"ANDY_35E2I","model":"Andy 3.5E2I"},{"regex":"ANDY_35EI2","model":"Andy 3.5EI2"},{"regex":"Andy 3.5EI","model":"Andy 3.5EI"},{"regex":"ANDY_45EL","model":"Andy 4.5EL"},{"regex":"Andy 4.7T","model":"Andy 4.7T"},{"regex":"ANDY_4E2I","model":"Andy 4E2I"},{"regex":"4E4","model":"Andy 4E4"},{"regex":"ANDY_4EI2","model":"Andy 4EI2"},{"regex":"Yezz-AC4EI","model":"Andy 4EI"},{"regex":"ANDY_4EL2_LTE","model":"Andy 4EL2 LTE"},{"regex":"Andy_55EI","model":"Andy 55EI"},{"regex":"ANDY_5EI","model":"Andy 5EI"},{"regex":"Andy 5EL2 LTE","model":"Andy 5EL2 LTE"},{"regex":"Andy_5ML_LTE","model":"Andy 5ML LTE"},{"regex":"Andy_5T","model":"Andy 5T"},{"regex":"A3.5EP","model":"Andy A3.5EP"},{"regex":"A5EI","model":"Andy A5EI"},{"regex":"ANDY_C5QL","model":"Andy C5QL"}]},"Yu":{"regex":"YU5010A|AO5510","device":"smartphone","models":[{"regex":"YU5010A","model":"Yuphoria"},{"regex":"AO5510","model":"Yureka"}]},"Yuandao":{"regex":"N101[ _]DUAL(?:[ _]CORE)?(?:[ _]?2|\\\\|\\\\|)?(?:[ _]V11)?[);/ ]","device":"tablet","model":"N101"},"Yusun":{"regex":"Yusun|LA2-T","device":"smartphone","models":[{"regex":"LA2-T","model":"LA2-T"},{"regex":"Yusun ([^;/]+) Build","model":"$1"},{"regex":"Yusun ([a-z0-9_\\\\-\\\\+]+)","model":"$1"}]},"Ytone":{"regex":"YTONE[ _\\\\-]","device":"smartphone","models":[{"regex":"YTONE[ _\\\\-]?([^/;]+) Build","model":"$1"},{"regex":"YTONE[ _\\\\-]?([^);/ ]+)","model":"$1"}]},"Zonda":{"regex":"(ZM(?:CK|EM|TFTV|TN)[a-z0-9]+)|ZA409","device":"feature phone","models":[{"regex":"ZA409","device":"smartphone","model":"Muzic"},{"regex":"(ZM(?:CK|EM|TFTV|TN)[a-z0-9]+)","model":"$1"}]},"ZYQ":{"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))[); ]","device":"smartphone","models":[{"regex":"Q638","model":"I7"},{"regex":"Q2624","model":"Cheer 3G"},{"regex":"Q2602","model":"TV Next"},{"regex":"Q2728","model":"Zone 3G"},{"regex":"Q2729","model":"Q2729"},{"regex":"Q2688","model":"Q2688"},{"regex":"Q2623","model":"Win 3G"},{"regex":"Q2626","model":"Care 3G"},{"regex":"Q3623","model":"Braw 3G"},{"regex":"Q3022","model":"Q3022"},{"regex":"Q328 m9","model":"Q328 M9"},{"regex":"Q328","model":"Speed 3G"},{"regex":"Q668","model":"TV I4"},{"regex":"J77","model":"Q.Dee"},{"regex":"Q\\\\.Up C5","model":"Q.Up C5"},{"regex":"Q\\\\.Up","model":"Q.Up"},{"regex":"Q\\\\.Boss P99","model":"Q.Boss P99"},{"regex":"Q[._]Dee R09","model":"Q.Dee R09"},{"regex":"Q\\\\.Good M9","model":"Q.Good M9"},{"regex":"Q[._]Hi S1","model":"Q.Hi S1"},{"regex":"Q[._]Hi","model":"Q.Hi"},{"regex":"Q[._]Hot P7 3G","model":"Q.Hot P7 3G"},{"regex":"Q[._]Hot","model":"Q.Hot"},{"regex":"Q[._]Me Phone7 3G","model":"Q.Me Phone 7 3G"},{"regex":"Q[._]Me Plus7","model":"Q.Me Plus 7"},{"regex":"Q[._]Me","model":"Q.Me"},{"regex":"Q[._]Mate R99","model":"Q.Mate R99"},{"regex":"Q[._]Next B7","model":"Q.Next B7"},{"regex":"Q[._]Next J2","model":"Q.Next J2"},{"regex":"Q[._]TOP-X8","model":"Q.Top X8"},{"regex":"Q[._]You","model":"Q.You"},{"regex":"QTAB Tab4","model":"QTab Tab4","device":"tablet"},{"regex":"ZYQ-Q88","model":"Q88","device":"tablet"}]},"Toshiba":{"regex":"Toshiba|TSBNetTV/|portalmmm/[12].0 TS|T-01C|T-0[12]D|IS04|IS11T|AT1S0|AT300SE|AT(10-A|10[PL]E-A|100|200|270|300|330|374|400|470|500|503|570|703|830)","device":"smartphone","models":[{"regex":"T-01C","model":"Regza T-01C"},{"regex":"T-01D","model":"Regza T-01D"},{"regex":"T-02D","model":"Regza T-02D"},{"regex":"IS04","model":"Regza IS04"},{"regex":"IS11T","model":"Regza IS11T"},{"regex":"AT1S0","model":"Regza AT1S0","device":"tablet"},{"regex":"AT300SE","model":"Regza AT300SE","device":"tablet"},{"regex":"AT500a","model":"Regza AT500a","device":"tablet"},{"regex":"AT(100|200|270|300|330|374|400|470|500|503|570|703|830)","model":"Regza AT$1","device":"tablet"},{"regex":"AT10([PL])E-A","model":"Excite AT10$1-A","device":"tablet"},{"regex":"AT10-A","model":"Excite AT10-A","device":"tablet"},{"regex":"TSBNetTV/","device":"tv","model":""},{"regex":"Toshiba[ /_\\\\-]?([a-z0-9_ \\\\-]+) Build","model":"$1"},{"regex":"Toshiba[ /_\\\\-]?([a-z0-9_\\\\-]+)","model":"$1"},{"regex":"portalmmm/[12].0 (TS[a-z0-9 ]+)","model":"$1"}]},"Vivax":{"regex":"VIVAX|(Fly5[_ ]Lite)[;)/ ]","device":"smartphone","models":[{"regex":"Fly5[_ ]Lite","model":"Fly 5 Lite"},{"regex":"VIVAX[ _]Fly3","model":"Fly 3"},{"regex":"SMART Point X5010","model":"Smart Point X5010"}]},"Fly":{"regex":"Fly(?!Flow|touch)|FS50[1-9]|FS51[0-8]|FS52[0-9]|FS530|FS55[134]|FS40[1-9]|FS45[1-9]|4FS06|MERIDIAN-|(?:IQ[0-9]{3,})[ _]?(?:Quad|Firebird|Quattro|Turbo|Magic)?(?: Build|[;/\\\\)])","device":"smartphone","models":[{"regex":"(?:Fly_)?IQ310(?: Build|[;/\\\\)])","model":"Panorama","device":"tablet"},{"regex":"(?:Fly_)?IQ236(?: Build|[;/\\\\)])","model":"Victory"},{"regex":"FS506","model":"Cirrus 3"},{"regex":"FS403","model":"Cumulus 1"},{"regex":"FS508","model":"Cirrus 6"},{"regex":"FS511","model":"Cirrus 7"},{"regex":"FS509","model":"Nimbus 9"},{"regex":"FS406","model":"Stratus 5"},{"regex":"FS404","model":"Stratus 3"},{"regex":"FS504","model":"Cirrus 2"},{"regex":"FS407","model":"Stratus 6"},{"regex":"FS401","model":"Stratus 1"},{"regex":"FS402","model":"Stratus 2"},{"regex":"FS501","model":"Nimbus 3"},{"regex":"FS502","model":"Cirrus 1"},{"regex":"FS507","model":"Cirrus 4"},{"regex":"FS505","model":"Nimbus 7"},{"regex":"FS551","model":"Nimbus 4"},{"regex":"FS514","model":"Cirrus 8"},{"regex":"FS553","model":"Cirrus 9"},{"regex":"FS554","model":"Power Plus FHD"},{"regex":"FS517","model":"Cirrus 11"},{"regex":"FS516","model":"Cirrus 12"},{"regex":"FS518","model":"Cirrus 13"},{"regex":"FS520","model":"Selfie 1"},{"regex":"FS521","model":"Power Plus 1"},{"regex":"FS522","model":"Cirrus 14"},{"regex":"FS523","model":"Cirrus 16"},{"regex":"FS524","model":"Knockout"},{"regex":"FS526","model":"Power Plus 2"},{"regex":"FS527","model":"Nimbus 17"},{"regex":"FS528","model":"Memory Plus"},{"regex":"FS529","model":"\u0421hamp"},{"regex":"FS530","model":"Power Plus XXL"},{"regex":"FS454","model":"Nimbus 8"},{"regex":"FS452","model":"Nimbus 2"},{"regex":"FS512","model":"Nimbus 10"},{"regex":"FS510","model":"Nimbus 12"},{"regex":"FS451","model":"Nimbus 1"},{"regex":"FS405","model":"Stratus 4"},{"regex":"FS408","model":"Stratus 8"},{"regex":"FS409","model":"Stratus 9"},{"regex":"FS455","model":"Nimbus 11"},{"regex":"FS456","model":"Nimbus 14"},{"regex":"FS457","model":"Nimbus 15"},{"regex":"FS459","model":"Nimbus 16"},{"regex":"FS458","model":"Stratus 7"},{"regex":"(?:Fly_)?IQ237(?: Build|[;/\\\\)])","model":"Dynamic"},{"regex":"(?:Fly_)?IQ238(?: Build|[;/\\\\)])","model":"Jazz"},{"regex":"(?:Fly_)?IQ240(?: Build|[;/\\\\)])","model":"Whizz"},{"regex":"(?:Fly_)?IQ255(?: Build|[;/\\\\)])","model":"Pride"},{"regex":"(?:Fly_)?IQ270(?: Firebird)?(?: Build|[;/\\\\)])","model":"Firebird"},{"regex":"(?:Fly_)?IQ275(?: Build|[;/\\\\)])","model":"Marathon"},{"regex":"(?:Fly_)?IQ285(?: Turbo)?(?: Build|[;/\\\\)])","model":"Turbo"},{"regex":"(?:Fly_)?IQ430(?: Build|[;/\\\\)])","model":"Evoke"},{"regex":"(?:Fly_)?IQ431(?: Build|[;/\\\\)])","model":"Glory"},{"regex":"(?:Fly_)?IQ432(?: Build|[;/\\\\)])","model":"Era Nano 1"},{"regex":"(?:Fly_)?IQ434(?: Build|[;/\\\\)])","model":"Era Nano 5"},{"regex":"(?:Fly_)?IQ436(?: Build|[;/\\\\)])","model":"Era Nano 3"},{"regex":"(?:Fly_)?IQ440(?: Build|[;/\\\\)])","model":"Energy"},{"regex":"(?:Fly_)?IQ441(?: Build|[;/\\\\)])","model":"Radiance"},{"regex":"(?:Fly_)?IQ442(?: Build|[;/\\\\)])","model":"Miracle"},{"regex":"(?:Fly_)?IQ442 Quad(?: Build|[;/\\\\)])","model":"Miracle 2"},{"regex":"(?:Fly_)?IQ443(?: Build|[;/\\\\)])","model":"Trend"},{"regex":"(?:Fly_)?IQ444(?: Quattro)?(?: Build|[;/\\\\)])","model":"Diamond 2"},{"regex":"(?:Fly_)?IQ445(?: Build|[;/\\\\)])","model":"Genius"},{"regex":"(?:Fly_)?IQ446(?: Magic)?(?: Build|[;/\\\\)])","model":"Magic"},{"regex":"(?:Fly_)?IQ447(?: Build|[;/\\\\)])","model":"Era Life 1"},{"regex":"(?:Fly_)?IQ448(?: Build|[;/\\\\)])","model":"Chic"},{"regex":"(?:Fly_)?IQ449(?: Build|[;/\\\\)])","model":"Pronto"},{"regex":"(?:Fly_)?IQ450(?: Build|[;/\\\\)])","model":"Horizon"},{"regex":"(?:Fly_)?IQ450[ _]Quattro(?: Build|[;/\\\\)])","model":"Horizon 2"},{"regex":"(?:Fly_)?IQ451(?: Build|[;/\\\\)])","model":"Vista"},{"regex":"(?:Fly_)?IQ452 Quad(?: Build|[;/\\\\)])","model":"Ego Vision 1"},{"regex":"(?:Fly_)?IQ454(?: Build|[;/\\\\)])","model":"Evo Tech 1"},{"regex":"(?:Fly_)?IQ456(?: Build|[;/\\\\)])","model":"Era Life 2"},{"regex":"(?:Fly_)?IQ4403(?: Build|[;/\\\\)])","model":"Energy 3"},{"regex":"(?:Fly_)?IQ4404(?: Build|[;/\\\\)])","model":"Spark"},{"regex":"(?:Fly_)?IQ4406(?: Build|[;/\\\\)])","model":"Era Nano 6"},{"regex":"(?:Fly_)?IQ4410 Quad(?: Build|[;/\\\\)])","model":"Phoenix"},{"regex":"(?:Fly_)?IQ4411(?: Build|[;/\\\\)])","model":"Energy 2"},{"regex":"(?:Fly_)?IQ4412 Quad(?: Build|[;/\\\\)])","model":"Coral"},{"regex":"(?:Fly_)?IQ4413[ _]Quad(?: Build|[;/\\\\)])","model":"Evo Chic 3"},{"regex":"(?:Fly_)?IQ4414 Quad(?: Build|[;/\\\\)])","model":"Evo Tech 3"},{"regex":"(?:Fly_)?IQ4415 Quad(?: Build|[;/\\\\)])","model":"Era Style 3"},{"regex":"(?:Fly_)?IQ4490(?: Build|[;/\\\\)])","model":"Era Nano 4"},{"regex":"(?:Fly_)?IQ4504 Quad(?: Build|[;/\\\\)])","model":"Evo Energy 5"},{"regex":"(?:Fly_)?IQ([0-9]+) ?(?:Quad|Firebird|Quattro)? Build","model":"IQ$1"},{"regex":"Fly[ _\\\\-]?([a-z0-9_]+)/","model":"$1","device":"feature phone"},{"regex":"Flylife[ _\\\\-]?([^/;]+) Build","model":"Flylife $1","device":"tablet"},{"regex":"Fly[ _\\\\-]?([a-z0-9]+)","model":"$1"},{"regex":"MERIDIAN-([a-z0-9]+)","model":"$1"}]},"FinePower":{"regex":"FinePower[_ ]?([AB][1-9]|[CD][1-9])[;)/ ]","device":"smartphone","models":[{"regex":"FinePower[_ ]?([AB][1-9])[;)/ ]","model":"$1","device":"tablet"},{"regex":"FinePower[_ ]?([CD][1-9])[;)/ ]","model":"$1"}]},"Freetel":{"regex":"(FTJ152[ABCD]|FT141B|FT142D_LTEXM|FT142A?|FTJ161[AB]|FTJ1[56]2E|FTJ162D|FTE161[GE])[;)/ ]","device":"smartphone","models":[{"regex":"FTJ152C","model":"Samurai Miyabi"},{"regex":"FTJ161A","model":"Musashi"},{"regex":"FTE161E","model":"Ice 2"},{"regex":"FTE161G","model":"Ice 2 Plus"},{"regex":"FTJ162E","model":"Raijin"},{"regex":"FT141B","model":"Nico"},{"regex":"FT142D_LTEXM","model":"XM"},{"regex":"FT142A?","model":"Priori 2"},{"regex":"FTJ152A","model":"Priori 3"},{"regex":"FTJ162D","model":"Priori 4"},{"regex":"FTJ152B","model":"Priori 3S LTE"},{"regex":"FTJ152D","model":"Samurai Kiwami"},{"regex":"FTJ161B","model":"Samurai Rei"},{"regex":"FTJ152E","model":"Katana 1"}]},"Zeemi":{"regex":"ZEEMI[ _-]","device":"smartphone","models":[{"regex":"ZEEMI[ _-]([^/;]+) Build","model":"$1"},{"regex":"ZEEMI[ _-]([^/;)]+)[/;)]","model":"$1"}]},"Zenek":{"regex":"Z5007|Z551[679]|Z6001","device":"smartphone","models":[{"regex":"Z5517","model":"Leopardo"},{"regex":"Z6001","model":"Libelula"},{"regex":"Z5007","model":"Oso"},{"regex":"Z5519","model":"Ping\xfbino"},{"regex":"Z5516","model":"Zebra"}]},"Zopo":{"regex":"(?:ZOPO[_ ])?(Flash X3|ZP[0-9]{2,}[^/;]+) Build","device":"smartphone","models":[{"regex":"ZP998[);/ ]","model":"C2 II"},{"regex":"(?:ZOPO_)?ZP980[+][);/ ]","model":"ZP980+"},{"regex":"(?:ZOPO_)?ZP980[);/ ]","model":"Scorpio"},{"regex":"ZP952[);/ ]","model":"Speed 7 Plus"},{"regex":"ZP951[);/ ]","model":"Speed 7"},{"regex":"ZP950[+h]?[);/ ]","model":"Leader Max"},{"regex":"ZP(?:900H?|910)[);/ ]","model":"Leader"},{"regex":"ZP(?:800H|810)[);/ ]","model":"Libero HD"},{"regex":"ZP500[+]?[);/ ]","model":"Libero"},{"regex":"ZP330[);/ ]","model":"Color C"},{"regex":"ZP300[S+]?[);/ ]","model":"Field"},{"regex":"ZP200[+]?[);/ ]","model":"Shining"},{"regex":"ZP100[);/ ]","model":"Pilot"},{"regex":"(Flash X3|ZP[0-9]{2,}[^/;]+) Build","model":"$1"}]},"ZTE":{"regex":"ZTE|AxonPhone|([a-z0-9]+)_USA_Cricket|(?:Blade (?:L110|L[2357]|L7A|S6|V[6789]|V8Q|V8 SE|V9 VITA|X7|A(310|460|465|475|520|530|602)|V580)|N9[15]8St|NX(?:403A|404H|406E|40[X2]|507J|503A|505J|506J|508J|510J|512J|511J|513J|521J|523J_V1|529J|531J|541J|549J|551J|563J|569[HJ]|573J|575J|591J|595J|597J|601J|907J|616J)|N951[0579]|N9180|N9101|N913[67]|N952[01]|N9560|N9810|N799D|[UV]9180|[UV]9815|Z(?:233V|331|667T|768G|792|81[25]|82[08]|83[12359]|85[125]|851M|(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)|Apex2|G (LTE|Lux)|Vec)[);/ ]|KIS II Max|Kis 3|Z930L","device":"smartphone","models":[{"regex":"N799D[);/ ]","model":"Blade Eg"},{"regex":"N918St[);/ ]","model":"V5S"},{"regex":"N958St[);/ ]","model":"V5 Max"},{"regex":"N9101[);/ ]","model":"Imperial"},{"regex":"N9120[);/ ]","model":"Avid"},{"regex":"N9136[);/ ]","model":"Prestige 2"},{"regex":"N9137[);/ ]","model":"Tempo X"},{"regex":"N9180[);/ ]","model":"V5"},{"regex":"N9510[);/ ]","model":"Warp 4G"},{"regex":"N9517[);/ ]","model":"Blade Force"},{"regex":"N9515[);/ ]","model":"Warp Sync"},{"regex":"N9519[);/ ]","model":"Warp 7"},{"regex":"N9520[);/ ]","model":"Boost Max"},{"regex":"N9521[);/ ]","model":"Boost Max+"},{"regex":"N9560[);/ ]","model":"Max XL"},{"regex":"N9810[);/ ]","model":"Vital"},{"regex":"NX40[X2][);/ ]","model":"Nubia Z5 mini"},{"regex":"NX(403[AE]|406E|404H)[);/ ]","model":"Nubia Z5S Mini"},{"regex":"NX503A[);/ ]","model":"Nubia Z5S"},{"regex":"NX506J[);/ ]","model":"Nubia Z7"},{"regex":"NX507J[);/ ]","model":"Nubia Z7 mini"},{"regex":"NX505J[);/ ]","model":"Nubia Z7 max"},{"regex":"NX508J[);/ ]","model":"Nubia Z9"},{"regex":"NX5[12]1J[);/ ]","model":"Nubia Z9 mini"},{"regex":"NX510J[);/ ]","model":"Nubia Z9 max"},{"regex":"NX512J[);/ ]","model":"Nubia Z9 max dual"},{"regex":"NX531J[);/ ]","model":"Nubia Z11"},{"regex":"NX523J_V1","model":"Nubia Z11 Max"},{"regex":"NX529J[);/ ]","model":"Nubia Z11 mini"},{"regex":"NX549J[);/ ]","model":"Nubia Z11 mini S"},{"regex":"NX616J[);/ ]","model":"Nubia Z18S"},{"regex":"NX551J[);/ ]","model":"Nubia M2"},{"regex":"NX563J[);/ ]","model":"Nubia Z17"},{"regex":"NX569H[);/ ]","model":"Nubia Z17 Mini"},{"regex":"NX595J","model":"Nubia Z17S"},{"regex":"NX513J[);/ ]","model":"Nubia My Prague"},{"regex":"NX591J[);/ ]","model":"Nubia Z17 Lite"},{"regex":"NX569J","model":"Nubia Z17 mini"},{"regex":"NX601J[);/ ]","model":"Nubia X6"},{"regex":"NX573J","model":"Nubia M2 Lite"},{"regex":"NX907J[);/ ]","model":"Nubia M2 Play"},{"regex":"NX541J","model":"Nubia N1"},{"regex":"NX597J","model":"Nubia N1 Lite"},{"regex":"NX575J","model":"Nubia N2"},{"regex":"[UV]9180[);/ ]","model":"V5 Red Bull"},{"regex":"[UV]9815[);/ ]","model":"Grand Memo LTE"},{"regex":"V779M","model":"Joey Jump 2"},{"regex":"V807","model":"Blade C"},{"regex":"V809","model":"Blade C2"},{"regex":"(?:ZTE_)?V829","model":"Blade G Pro"},{"regex":"V882","model":"Lord"},{"regex":"V967S","model":"Grand X2"},{"regex":"V970M?|V987","model":"Grand X"},{"regex":"V8000","model":"Nova 4"},{"regex":"Z95[67]","model":"Grand X4"},{"regex":"Z987","model":"Grand X Max+"},{"regex":"(?:ZTE_)?Grand[ _]Era","model":"Grand Era"},{"regex":"V788D","model":"Kis Plus"},{"regex":"Z331[);/ ]","model":"Z331"},{"regex":"Blade (A(0620|310|452|460|462|465|475|510|512|520|530|602|612|910)|L110|V0730|V0800|V580|V1000)[);/ ]","model":"Blade $1"},{"regex":"Blade L2 Plus[);/ ]","model":"Blade L2 Plus"},{"regex":"Blade L2[);/ ]","model":"Blade L2"},{"regex":"Blade L3 Plus[);/ ]","model":"Blade L3 Plus"},{"regex":"Blade L3 Apex[);/ ]","model":"Blade L3 Apex"},{"regex":"Blade L3[);/ ]","model":"Blade L3"},{"regex":"Blade L5 Plus[);/ ]","model":"Blade L5 Plus"},{"regex":"Blade L5[);/ ]","model":"Blade L5"},{"regex":"Blade L6[);/ ]","model":"Blade L6"},{"regex":"Blade L7A[);/ ]","model":"Blade L7A"},{"regex":"Blade L7[);/ ]","model":"Blade L7"},{"regex":"Blade L8[);/ ]","model":"Blade L8"},{"regex":"Blade S6 Plus[);/ ]","model":"Blade S6 Plus"},{"regex":"Blade S6[);/ ]","model":"Blade S6"},{"regex":"T920[);/ ]","model":"Blade S7"},{"regex":"Blade V6 MAX[);/ ]","model":"Blade V6 Max"},{"regex":"Blade V6 Plus[);/ ]","model":"Blade V6 Plus"},{"regex":"Blade V6[);/ ]","model":"Blade V6"},{"regex":"Blade (?:V7 Lite|V0720)[);/ ]","model":"Blade V7 Lite"},{"regex":"Blade V7[);/ ]","model":"Blade V7"},{"regex":"Blade X7[);/ ]","model":"Blade X7"},{"regex":"Blade V8Q[);/ ]","model":"Blade V8Q"},{"regex":"Blade V8 SE[);/ ]","model":"Blade V8 SE"},{"regex":"Blade V9 Vita[);/ ]","model":"Blade V9 Vita"},{"regex":"Blade V9[);/ ]","model":"Blade V9"},{"regex":"Blade V10 Vita[);/ ]","model":"Blade V10 Vita"},{"regex":"BLADE V0820[);/ ]","model":"Blade V8 Lite"},{"regex":"BLADE V0850[);/ ]","model":"Blade V8 Mini"},{"regex":"(Apex2|G (LTE|Lux)|Vec)","model":"Blade $1"},{"regex":"Z768G[);/ ]","model":"Midnight"},{"regex":"Z820","model":"Obsidian"},{"regex":"Z986U","model":"Blade Max 3"},{"regex":"Z971","model":"Blade Spark"},{"regex":"Z978","model":"Blade V8 Pro"},{"regex":"Z839","model":"Blade Vantage"},{"regex":"Z930L","model":"Unico LTE"},{"regex":"Z965","model":"Blade X"},{"regex":"Z981","model":"Blade Z Max Pro"},{"regex":"Z982","model":"Blade Z Max"},{"regex":"Z983","model":"Blade X Max"},{"regex":"Z717[BV]L[);/ ]","model":"Citrine LTE"},{"regex":"Z233VL","model":"Cymbal-C LTE"},{"regex":"Z233V","model":"Cymbal LTE"},{"regex":"Z232TL","model":"Cymbal-G LTE"},{"regex":"Z353VL","model":"Cymbal-T LTE"},{"regex":"Z718TL","model":"Jasper LTE"},{"regex":"KIS II Max","model":"Kis II Max"},{"regex":"Kis 3","model":"Kis 3"},{"regex":"(?:Z798BL|Z799VL)[);/ ]","model":"Majesty Pro LTE"},{"regex":"Z899VL","model":"Majesty Pro Plus LTE"},{"regex":"Z828TL","model":"Midnight Pro LTE"},{"regex":"Z792","model":"Fanfare"},{"regex":"Z812","model":"Maven"},{"regex":"Z815","model":"Fanfare 2"},{"regex":"Z831","model":"Maven 2"},{"regex":"Z832","model":"Sonata 3"},{"regex":"Z835","model":"Maven 3"},{"regex":"Z851[);/ ]","model":"Prelude Plus"},{"regex":"Z851M","model":"Overture 3"},{"regex":"Z852","model":"Fanfare 3"},{"regex":"Z828","model":"Avid Plus"},{"regex":"Z855","model":"Avid 4"},{"regex":"Z833","model":"Avid TRIO"},{"regex":"(?:Z836BL|Z837VL)[);/ ]","model":"ZFive 2 LTE"},{"regex":"Z558VL","model":"ZFive C LTE"},{"regex":"Z557BL","model":"ZFive G LTE"},{"regex":"(?:Z861BL|Z862VL)[);/ ]","model":"ZFive L LTE"},{"regex":"Z916BL","model":"ZMax Grand LTE"},{"regex":"Z917VL","model":"ZMax Champ LTE"},{"regex":"(?:Z958|Z955A)[);/ ]","model":"ZMax 2"},{"regex":"Z963VL","model":"Max Duo LTE"},{"regex":"Z970","model":"ZMax Z970"},{"regex":"Z986DL","model":"MAX Blue LTE"},{"regex":"Z992","model":"Avail 2"},{"regex":"Z999","model":"Axon M"},{"regex":"B2016","model":"Axon Mini"},{"regex":"A2015","model":"Axon Tianji"},{"regex":"A2017[GU]?","model":"Axon 7"},{"regex":"A2019G Pro","model":"Axon Pro"},{"regex":"B2017G","model":"Axon 7 Mini"},{"regex":"A2020G? Pro[);/ ]","model":"Axon 10 Pro"},{"regex":"Z667T","model":"Zinger"},{"regex":"V?975|geek","model":"Geek"},{"regex":"Z716BL","model":"Citrine LTE"},{"regex":"X500","model":"Score"},{"regex":"X501","model":"Groove"},{"regex":"G-X991","model":"Rio"},{"regex":"F-450","model":"Adamant"},{"regex":"AxonPhone ([^;/]+) Build","model":"AxonPhone $1"},{"regex":"([a-z0-9]+)_USA_Cricket","model":"$1"},{"regex":"ZTE[\\\\- ](V98|V96A|V81|V70)[);/ ]","model":"$1","device":"tablet"},{"regex":"ZTE[\\\\- ]([a-z0-9\\\\-_ ]+) Build","model":"$1"},{"regex":"ZTE-(?:G |G-)?([a-z0-9 _]+)","model":"$1"},{"regex":"ZTE[ _]([a-z0-9]+)","model":"$1"}]},"Zuum":{"regex":"Zuum[ _-]|COVET|MAGNO|ONIX S|STEDI|STELLAR Z","device":"smartphone","models":[{"regex":"COVET","model":"Covet"},{"regex":"MAGNO","model":"Magno"},{"regex":"ONIX S","model":"Onix S"},{"regex":"STEDI","model":"Stedi"},{"regex":"STELLAR Z","model":"Stellar Z"},{"regex":"Zuum[ _-]([^;/]+) Build","model":"$1"},{"regex":"Zuum[ _-]?([^;/)]+)[);/ ]","model":"$1"}]},"Zen":{"regex":"(Admire[_ ][^/;]+|Cinemax[^/;)]+)(?:Build|\\\\))","device":"smartphone","model":"$1"},"Zync":{"regex":"ZYNC|(Cloud Z5|Z1000|Z18|Z99 Dual Core|Z99[_ ][23]G|Z99|Z900[_ ]Plus|Z909|Z930[+]|Z930)","device":"tablet","models":[{"regex":"(Z18|Z99 Dual Core|Z99[_ ][23]G|Z99|Z900[_ ]Plus|Z909|Z930[+]|Z930)","model":"$1"},{"regex":"(Z1000[^/;]+)Build","model":"$1"},{"regex":"Cloud (Z5)","model":"Cloud $1"},{"regex":"ZYNC Cloud[ _]([^;]+)Build","model":"Cloud $1"},{"regex":"ZYNC[ _]([^;]+)Build","model":"$1"}]},"Lemhoov":{"regex":"Lemhoov","device":"smartphone","models":[{"regex":"Lemhoov[ _-]([^/;]+) Build","model":"$1"}]},"MTC":{"regex":"MTC[ _](97[82]|970|982[OT]|982|1078)|SMART[ _](Race|Sprint)[ _]4G|MTC975","device":"smartphone","models":[{"regex":"MTC[ _](97[82]|970[H]?|982[OT]|982)","model":"$1"},{"regex":"MTC(975)","model":"$1"},{"regex":"MTC[ _](1078)","model":"$1","device":"tablet"},{"regex":"SMART[ _]Race[ _]4G","model":"Smart Race 4G"},{"regex":"SMART[ _]Sprint[ _]4G","model":"Smart Sprint 4G"}]},"MegaFon":{"regex":"MFLoginPh|(MFLogin4|MS3B|SP-A5|SP-A20i)[)\\\\; ]","device":"smartphone","models":[{"regex":"MFLoginPh","model":"Login+"},{"regex":"MFLogin4","model":"Login 4 LTE"},{"regex":"MS3B","model":"Optima"},{"regex":"SP-A20i","model":"Mint"},{"regex":"(SP-A5)","model":"$1"}]},"Inoi":{"regex":"INOI","device":"smartphone","models":[{"regex":"INOI_([^;/]+)(?:Build|\\\\))","model":"$1"}]},"Vertex":{"regex":"Lion_Dual|V709X|Baccara|Eagle[ _]4G|Impress[ _]([^;/]+)(?:Build|\\\\))","device":"smartphone","models":[{"regex":"(Lion_Dual|Baccara|Eagle[ _]4G)","model":"$1"},{"regex":"(Impress[ _]([^;/]+))(?:Build|\\\\))","model":"$1"},{"regex":"(V709X)","device":"tablet","model":"$1"}]},"Unknown":{"regex":"WebTV/(\\\\d+\\\\.\\\\d+)","device":"tv","model":"Web TV"},"Starway":{"regex":"Andromeda[ _]S(707|84[05])[;/) ]","device":"tablet","model":"Andromeda S$1"},"Savio":{"regex":"TB-PO1 Build","device":"tv","models":[{"regex":"(TB-PO1)","model":"$1"}]},"Simbans":{"regex":"TangoTab|Presto[ )]|Ultimax|Valumax|S72-B|SX2W","device":"tablet","models":[{"regex":"TangoTab","model":"TangoTab"},{"regex":"Ultimax","model":"Ultimax"},{"regex":"Valumax","model":"Valumax"},{"regex":"Presto","model":"Presto"},{"regex":"S72-B","model":"S72-B"},{"regex":"SX2W","model":"SX2W"}]},"MYFON":{"regex":"MYPAD7s","device":"tablet","model":"My Pad 7s"},"X-TIGI":{"regex":"X[-_]TIGI","device":"smartphone","models":[{"regex":"X-TIGI_JOY10_PRO","model":"Joy 10 Pro","device":"tablet"},{"regex":"X-TIGI_JOY7_MAX","model":"Joy 7 Max","device":"tablet"},{"regex":"X-TIGI[_ ]V28[_ ]LTE","model":"V28 LTE"},{"regex":"X[-_]TIGI[ _-]([^/;)]+) Build","model":"$1"}]},"Xiaolajiao":{"regex":"(LA2-(?:L|S[N]?))[);/ ]","device":"smartphone","model":"$1"},"R-TV":{"regex":"R-TV BOX[ _]?(MINI\\\\+|X99|X10 PRO|[RXS]10)","device":"tv","model":"Box $1"},"NEXBOX":{"regex":"(MXQ|MXQ-Pro)-NEXBOX|NEXBOX-([^) ]+)","device":"tv","models":[{"regex":"MXQ-Pro-NEXBOX","model":"MXQ Pro"},{"regex":"MXQ-NEXBOX","model":"MXQ"},{"regex":"NEXBOX-([^) ]+)","model":"$1"}]},"True":{"regex":"SMART[ _](MAX 4.0 PLUS|4G Speedy 5.0 Plus)","device":"smartphone","models":[{"regex":"SMART MAX 4.0 PLUS","model":"Smart Max 4.0 Plus"},{"regex":"SMART 4G Speedy 5.0 Plus","model":"Smart 4G Speedy 5.0 Plus"}]},"Yandex":{"regex":"(YNDX-000SB)[;)\\\\ ]","device":"smartphone","model":"$1"},"FORME":{"regex":"FORME[ _-]","device":"smartphone","models":[{"regex":"FORME[ _-]F520[;)\\\\ ]","model":"Forever"},{"regex":"FORME[ _-](A37|R7S)[;)\\\\ ]","model":"$1"}]},"Shuttle":{"regex":"(PNT-704[025])[;)/ ]","device":"tablet","model":"$1"}}')},function(e,r,o){"use strict";var t=o(4),n=o(1);Object.defineProperty(r,"__esModule",{value:!0});var l=o(3),i=o(2),a=o(28),d=o(92);r.default=function e(){var r=this;n(this,e),this.parse=function(e){var o={type:"",brand:"",model:""};if(!r.isHbbTv(e))return o;o.type="television";for(var n=0,m=Object.entries(d);n<m.length;n++){var u=m[n],s=t(u,2),g=s[0],c=s[1],x=i.userAgentParser(c.regex,e);if(x){if(o.brand=g,c.model)o.model=a.buildModel(l.variableReplacement(c.model,x)).trim();else if(c.models){var p=!0,f=!1,S=void 0;try{for(var h,v=c.models[Symbol.iterator]();!(p=(h=v.next()).done);p=!0){var A=h.value,b=i.userAgentParser(A.regex,e);if(b){o.model=a.buildModel(l.variableReplacement(A.model,b)).trim();break}}}catch(T){f=!0,S=T}finally{try{p||null==v.return||v.return()}finally{if(f)throw S}}}break}}return o},this.isHbbTv=function(e){return i.userAgentParser("HbbTV/([1-9]{1}(?:.[0-9]{1}){1,2})",e)}}},function(e){e.exports=JSON.parse('{"Airties":{"regex":"Airties","device":"tv","models":[{"regex":"Airties; ?([^);/]+)","model":"$1"}]},"Altech UEC":{"regex":"Altech UEC","device":"tv","models":[{"regex":"Altech UEC; ?([^);/]+)","model":"$1"}]},"BangOlufsen":{"regex":"Bangolufsen","device":"tv","model":"BeoVision"},"Changhong":{"regex":"Changhong","device":"tv","models":[{"regex":"Changhong; ?([^);/]+)","model":"$1"}]},"CreNova":{"regex":"CreNova","device":"tv","model":"CNV001"},"DMM":{"regex":"DMM","device":"tv","model":"Dreambox"},"Grundig":{"regex":"(OWB|Grundig|Arcelik)","device":"tv","model":""},"Hisense":{"regex":"Hisense","device":"tv","models":[{"regex":"(L[A-Z]{2,3}[0-9]{2}[A-Z][0-9]{3,4}[A-Z]{0,6}[0-9]?[A-Z]?)","model":"$1"},{"regex":"(H[A-Z]?[0-9]{2}[A-Z][0-9]{3,4}[A-Z]{0,4})","model":"$1"}]},"Humax":{"regex":"Humax","device":"tv","models":[{"regex":"(HD-FOX C|HD (FOX\\\\+|NANO)|iCord (HD\\\\+|MINI|Cable)|(CX|IR)HD-5100(C|S)|HM9503HD)","model":"$1"},{"regex":"HMS1000S","model":"HMS-1000S"},{"regex":"Humax; ([^);/]+)","model":"$1"}]},"Ikea":{"regex":"Ikea","device":"tv","models":[{"regex":"(LF1V[0-9]{3})","model":"$1"}]},"Intek":{"regex":"Intek","device":"tv","models":[{"regex":"(Vantage|VT-100|VT-1)","model":"$1"}]},"Inverto":{"regex":"Inverto","device":"tv","models":[{"regex":"inverto; ([^);/]+)","model":"$1"},{"regex":"(Volksbox Web Edition|Volksbox Essential|Volksbox II|Volksbox)","model":"$1"}]},"LG":{"regex":"LGE","device":"tv","models":[{"regex":"(NetCast [0-9]{1}.[0-9]{1}|GLOBAL_PLAT3)","model":"$1"},{"regex":"(OLED[0-9]{2}[A-Z][0-9][A-Z])","model":"$1"},{"regex":"LGE;? ?([0-9]{2}[A-Z]{2}[0-9]{2,4}[A-Z]?)","model":"$1"}]},"Loewe":{"regex":"Loewe","device":"tv","models":[{"regex":"([A-Z]{2}[0-9]{3})","model":"$1"}]},"MediaTek":{"regex":"MTK","device":"tv","models":[{"regex":"(MT[0-9]{4})","model":"$1"}]},"Medion":{"regex":"Medion","device":"tv","models":[{"regex":"(MB[0-9]{2})","model":"$1"}]},"Metz":{"regex":"Metz","device":"tv","model":""},"Panasonic":{"regex":"Panasonic","device":"tv","models":[{"regex":"(VIERA [0-9]{1,4})|(DIGA [A-Z]{1}[0-9]{4})","model":"$1"},{"regex":"DIGA Webkit ([A-Z]{1}[0-9]{4})","model":"DIGA $1"}]},"PEAQ":{"regex":"PEAQ","device":"tv","models":[{"regex":"(LF1V[0-9]{3})","model":"$1"}]},"Philips":{"regex":"Philips|NETTV/","device":"tv","models":[{"regex":"Philips[,;] ?((?! )[^),;/]+)","model":"$1"},{"regex":"NETTV/[0-9\\\\.]{5}","model":"NetTV Series"}]},"Samsung":{"regex":"Samsung|Maple_2011","device":"tv","models":[{"regex":"SmartTV(201[2-9])","model":"Smart TV $1"},{"regex":"Maple_2011","model":"Smart TV 2011"}]},"Selevision":{"regex":"Selevision","device":"tv","models":[{"regex":"Selevision; (?:Selevision )?([^);/]+)","model":"$1"},{"regex":"(EMC1000i)","model":"$1"}]},"Sharp":{"regex":"Sharp","device":"tv","models":[{"regex":"Sharp[,;] ?((?! |HbbTV)[^),;/]+)","model":"$1"},{"regex":"(LE[0-9]{3}[A-Z]{0,3})","model":"$1"}]},"Skyworth":{"regex":"Sky_worth","device":"tv","models":[{"regex":"Sky_worth;([^);/]+)","model":"$1"}]},"Smart":{"regex":"Smart[^a-z]","device":"tv","models":[{"regex":"Smart; ([^);/]+)","model":"$1"},{"regex":"([A-Z]{2}[0-9]{2}|ZAPPIX)","model":"$1"}]},"Sony":{"regex":"Sony","device":"tv","models":[{"regex":"(KDL?-?[0-9]{2}[A-Z]{1,2}[0-9]{1,5})","model":"$1"}]},"TechniSat":{"regex":"TechniSat","device":"tv","models":[{"regex":"((DigiCorder|MultyVision|Digit) (ISIO S|ISIO C|ISIO))","model":"$1"}]},"TechnoTrend":{"regex":"TechnoTrend","device":"tv","models":[{"regex":"([A-Z]{1}-[0-9]{3})","model":"$1"}]},"Telefunken":{"regex":"Telefunken","device":"tv","models":[{"regex":"(MB[0-9]{2})","model":"$1"}]},"TCL":{"regex":"TCL","device":"tv","models":[{"regex":"(LF1V[0-9]{3})","model":"$1"}]},"Thomson":{"regex":"THOMSON|THOM","device":"tv","models":[{"regex":"(LF1V[0-9]{3})","model":"$1"}]},"Toshiba":{"regex":"Toshiba","device":"tv","models":[{"regex":"(([0-9]{2}|DTV_)[A-Z]{2}[0-9]{1,3})","model":"$1"}]},"Vestel":{"regex":"Vestel","device":"tv","models":[{"regex":"(MB[0-9]{2})","model":"$1"}]},"Videoweb":{"regex":"videoweb|tv2n","device":"tv","models":[{"regex":"(tv2n)","model":"$1"},{"regex":"(videowebtv)","model":"VideoWeb TV"}]}}')},function(e,r,o){"use strict";var t=o(4),n=o(1);Object.defineProperty(r,"__esModule",{value:!0});var l=o(3),i=o(2),a=o(94);r.default=function e(){n(this,e),this.parse=function(e){for(var r={type:"",brand:"",model:""},o=0,n=Object.entries(a);o<n.length;o++){var d=n[o],m=t(d,2),u=m[0],s=m[1],g=i.userAgentParser(s.regex,e);if(g){r.type="car",r.brand=u,s.model&&(r.model=l.variableReplacement(s.model,g).trim());break}}return r}}},function(e){e.exports=JSON.parse('{"Tesla":{"regex":"QtCarBrowser","device":"car browser","model":"Model S"}}')},function(e,r,o){"use strict";var t=o(4),n=o(1);Object.defineProperty(r,"__esModule",{value:!0});var l=o(3),i=o(2),a=o(96);r.default=function e(){n(this,e),this.parse=function(e){for(var r={type:"",brand:"",model:""},o=0,n=Object.entries(a);o<n.length;o++){var d=n[o],m=t(d,2),u=m[0],s=m[1],g=i.userAgentParser(s.regex,e);if(g){if(r.type=s.device,r.brand=u,s.model)r.model=l.variableReplacement(s.model,g).trim();else if(s.models){var c=!0,x=!1,p=void 0;try{for(var f,S=s.models[Symbol.iterator]();!(c=(f=S.next()).done);c=!0){var h=f.value,v=i.userAgentParser(h.regex,e);if(v){r.model=l.variableReplacement(h.model,v).trim();break}}}catch(A){x=!0,p=A}finally{try{c||null==S.return||S.return()}finally{if(x)throw p}}}break}}return r}}},function(e){e.exports=JSON.parse('{"Archos":{"regex":"Archos.*GAMEPAD([2]?)","device":"console","model":"Gamepad $1"},"Microsoft":{"regex":"Xbox","device":"console","models":[{"regex":"Xbox One","model":"Xbox One"},{"regex":"Xbox","model":"Xbox 360"}]},"Nintendo":{"regex":"Nintendo (([3]?DS[i]?)|Wii[U]?)","device":"console","model":"$1"},"OUYA":{"regex":"OUYA","device":"console","model":"OUYA"},"Sega":{"regex":"Dreamcast","device":"console","model":"Dreamcast"},"Sony":{"regex":"PlayStation (3|4|Portable|Vita)","device":"console","model":"PlayStation $1"}}')},function(e,r,o){"use strict";var t=o(4),n=o(1);Object.defineProperty(r,"__esModule",{value:!0});var l=o(3),i=o(2),a=o(98);r.default=function e(){n(this,e),this.parse=function(e){for(var r={type:"",brand:"",model:""},o=0,n=Object.entries(a);o<n.length;o++){var d=n[o],m=t(d,2),u=m[0],s=m[1],g=i.userAgentParser(s.regex,e);if(g){if(r.type=s.device,r.brand=u,s.model)r.model=l.variableReplacement(s.model,g).trim();else if(s.models){var c=!0,x=!1,p=void 0;try{for(var f,S=s.models[Symbol.iterator]();!(c=(f=S.next()).done);c=!0){var h=f.value,v=i.userAgentParser(h.regex,e);if(v){r.model=l.variableReplacement(h.model,v).trim();break}}}catch(A){x=!0,p=A}finally{try{c||null==S.return||S.return()}finally{if(x)throw p}}}break}}return r}}},function(e){e.exports=JSON.parse('{"Apple":{"regex":"(?:Apple-)?iPod","device":"portable media player","models":[{"regex":"(?:Apple-)?iPod1[C,]1","model":"iPod Touch 1G"},{"regex":"(?:Apple-)?iPod2[C,]1","model":"iPod Touch 2G"},{"regex":"(?:Apple-)?iPod3[C,]1","model":"iPod Touch 3"},{"regex":"(?:Apple-)?iPod4[C,]1","model":"iPod Touch 4"},{"regex":"(?:Apple-)?iPod5[C,]1","model":"iPod Touch 5"},{"regex":"(?:Apple-)?iPod7[C,]1","model":"iPod Touch 6"},{"regex":"(?:Apple-)?iPod","model":"iPod Touch"}]},"Cowon":{"regex":"COWON ([^;/]+) Build","device":"portable media player","model":"$1"},"Microsoft":{"regex":"Microsoft ZuneHD","device":"portable media player","model":"Zune HD"},"Panasonic":{"device":"portable media player","regex":"(SV-MV100)","model":"$1"},"Samsung":{"regex":"YP-(G[SIPB]?1|G[57]0|GB70D)","device":"portable media player","models":[{"regex":"YP-G[B]?1","model":"Galaxy Player 4.0"},{"regex":"YP-G70","model":"Galaxy Player 5.0"},{"regex":"YP-GS1","model":"Galaxy Player 3.6"},{"regex":"YP-GI1","model":"Galaxy Player 4.2"},{"regex":"YP-GP1","model":"Galaxy Player 5.8 "},{"regex":"YP-G50","model":"Galaxy Player 50"},{"regex":"YP-GB70D","model":"Galaxy Player 70 Plus"}]}}')},function(e,r,o){"use strict";var t=o(4),n=o(1);Object.defineProperty(r,"__esModule",{value:!0});var l=o(5),i=o(3),a=o(2),d=o(100),m=["AmigaOS","IBM","GNU/Linux","Mac","Unix","Windows","BeOS","Chrome OS"],u={AIX:"AIX",AND:"Android",AMG:"AmigaOS",ATV:"Apple TV",ARL:"Arch Linux",BTR:"BackTrack",SBA:"Bada",BEO:"BeOS",BLB:"BlackBerry OS",QNX:"BlackBerry Tablet OS",BMP:"Brew",CES:"CentOS",COS:"Chrome OS",CYN:"CyanogenMod",DEB:"Debian",DFB:"DragonFly",FED:"Fedora",FOS:"Firefox OS",FIR:"Fire OS",BSD:"FreeBSD",GNT:"Gentoo",GTV:"Google TV",HPX:"HP-UX",HAI:"Haiku OS",IRI:"IRIX",INF:"Inferno",KOS:"KaiOS",KNO:"Knoppix",KBT:"Kubuntu",LIN:"GNU/Linux",LBT:"Lubuntu",VLN:"VectorLinux",MAC:"Mac",MAE:"Maemo",MDR:"Mandriva",SMG:"MeeGo",MCD:"MocorDroid",MIN:"Mint",MLD:"MildWild",MOR:"MorphOS",NBS:"NetBSD",MTK:"MTK / Nucleus",WII:"Nintendo",NDS:"Nintendo Mobile",OS2:"OS/2",T64:"OSF1",OBS:"OpenBSD",PSP:"PlayStation Portable",PS3:"PlayStation",RHT:"Red Hat",ROS:"RISC OS",REM:"Remix OS",RZD:"RazoDroiD",SAB:"Sabayon",SSE:"SUSE",SAF:"Sailfish OS",SLW:"Slackware",SOS:"Solaris",SYL:"Syllable",SYM:"Symbian",SYS:"Symbian OS",S40:"Symbian OS Series 40",S60:"Symbian OS Series 60",SY3:"Symbian^3",TDX:"ThreadX",TIZ:"Tizen",UBT:"Ubuntu",WTV:"WebTV",WIN:"Windows",WCE:"Windows CE",WIO:"Windows IoT",WMO:"Windows Mobile",WPH:"Windows Phone",WRT:"Windows RT",XBX:"Xbox",XBT:"Xubuntu",YNS:"YunOs",IOS:"iOS",POS:"palmOS",WOS:"webOS"},s={Android:["AND","CYN","FIR","REM","RZD","MLD","MCD","YNS"],AmigaOS:["AMG","MOR"],"Apple TV":["ATV"],BlackBerry:["BLB","QNX"],Brew:["BMP"],BeOS:["BEO","HAI"],"Chrome OS":["COS"],"Firefox OS":["FOS","KOS"],"Gaming Console":["WII","PS3"],"Google TV":["GTV"],IBM:["OS2"],iOS:["IOS"],"RISC OS":["ROS"],"GNU/Linux":["LIN","ARL","DEB","KNO","MIN","UBT","KBT","XBT","LBT","FED","RHT","VLN","MDR","GNT","SAB","SLW","SSE","CES","BTR","SAF"],Mac:["MAC"],"Mobile Gaming Console":["PSP","NDS","XBX"],"Real-time OS":["MTK","TDX"],"Other Mobile":["WOS","POS","SBA","TIZ","SMG","MAE"],Symbian:["SYM","SYS","SY3","S60","S40"],Unix:["SOS","AIX","HPX","BSD","NBS","OBS","DFB","SYL","IRI","T64","INF"],WebTV:["WTV"],Windows:["WIN"],"Windows Mobile":["WPH","WMO","WCE","WRT","WIO"]},g=function e(r){var o=this;n(this,e),this.options={versionTruncation:1},this.parse=function(e){var r={name:"",version:"",platform:o.parsePlatform(e)},t=!0,n=!1,m=void 0;try{for(var u,s=d[Symbol.iterator]();!(t=(u=s.next()).done);t=!0){var g=u.value,c=a.userAgentParser(g.regex,e);if(c)return r.name=i.variableReplacement(g.name,c),r.version=l.formatVersion(i.variableReplacement(g.version,c),o.options.versionTruncation),"lubuntu"===r.name&&(r.name="Lubuntu"),"debian"===r.name&&(r.name="Debian"),"YunOS"===r.name&&(r.name="YunOs"),r}}catch(x){n=!0,m=x}finally{try{t||null==s.return||s.return()}finally{if(n)throw m}}return null},this.parsePlatform=function(e){return a.userAgentParser("arm",e)?"ARM":a.userAgentParser("WOW64|x64|win64|amd64|x86_64",e)?"x64":a.userAgentParser("i[0-9]86|i86pc",e)?"x86":""},this.options=Object.assign({},this.options,r)};g.getDesktopOsArray=function(){return m},g.getOsFamily=function(e){for(var r=g.getOsShortName(e),o=0,n=Object.entries(s);o<n.length;o++){var l=n[o],i=t(l,2),a=i[0];if(i[1].includes(r))return a}return""},g.getOsShortName=function(e){for(var r=0,o=Object.entries(u);r<o.length;r++){var n=o[r],l=t(n,2),i=l[0];if(l[1]===e)return i}return""},r.default=g},function(e){e.exports=JSON.parse('[{"regex":"Tizen[ /]?(\\\\d+[\\\\.\\\\d]+)?","name":"Tizen","version":"$1"},{"regex":"Sailfish|Jolla","name":"Sailfish OS","version":""},{"regex":"(?:Ali)?YunOS[ /]?(\\\\d+[\\\\.\\\\d]+)?","name":"YunOS","version":"$1"},{"regex":"Windows Phone (?:OS)?[ ]?(\\\\d+[\\\\.\\\\d]+)","name":"Windows Phone","version":"$1"},{"regex":"XBLWP7|Windows Phone","name":"Windows Phone","version":""},{"regex":"Windows CE(?: (\\\\d+[\\\\.\\\\d]+))?","name":"Windows CE","version":"$1"},{"regex":"(?:IEMobile|Windows ?Mobile)(?: (\\\\d+[\\\\.\\\\d]+))?","name":"Windows Mobile","version":"$1"},{"regex":"Windows NT 6.2; ARM;","name":"Windows RT","version":""},{"regex":"Windows NT 6.3; ARM;","name":"Windows RT","version":"8.1"},{"regex":"Windows IoT 10.0","name":"Windows IoT","version":"10"},{"regex":"KAIOS(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"KaiOS","version":"$1"},{"regex":"RazoDroiD(?: v(\\\\d+[\\\\.\\\\d]*))?","name":"RazoDroiD","version":"$1"},{"regex":"MildWild(?: CM-(\\\\d+[\\\\.\\\\d]*))?","name":"MildWild","version":"$1"},{"regex":"CyanogenMod(?:[\\\\-/](?:CM)?(\\\\d+[\\\\.\\\\d]*))?","name":"CyanogenMod","version":"$1"},{"regex":"(?:.*_)?MocorDroid(?:(\\\\d+[\\\\.\\\\d]*))?","name":"MocorDroid","version":"$1"},{"regex":"Fire OS(?:/(\\\\d+[\\\\.\\\\d]*))?","name":"Fire OS","version":"$1"},{"regex":"(?:(?:Orca-)?Android|Adr)[ /](?:[a-z]+ )?(\\\\d+[\\\\.\\\\d]*)","name":"Android","version":"$1"},{"regex":"Android|Silk-Accelerated=[a-z]{4,5}","name":"Android","version":""},{"regex":"(?:TwitterAndroid).*[ /](?:[a-z]+ )?(\\\\d+[\\\\.\\\\d]*)","name":"Android","version":"$1"},{"regex":"BeyondPod|AntennaPod|Podkicker|DoggCatcher|Player FM|okhttp|Podcatcher Deluxe","name":"Android","version":""},{"regex":"AmigaOS[ ]?(\\\\d+[\\\\.\\\\d]+)","name":"AmigaOS","version":"$1"},{"regex":"AmigaOS|AmigaVoyager|Amiga-AWeb","name":"AmigaOS","version":""},{"regex":"ThreadX(?:/(\\\\d+[\\\\.\\\\d]*))?","name":"ThreadX","version":"$1"},{"regex":"Nucleus(?:(?: |/v?)(\\\\d+[\\\\.\\\\d]*))?","name":"MTK / Nucleus","version":"$1"},{"regex":"MTK(?:(?: |/v?)(\\\\d+[\\\\.\\\\d]*))?","name":"MTK / Nucleus","version":"$1"},{"regex":"Maemo","name":"Maemo","version":""},{"regex":"Arch ?Linux(?:[ /\\\\-](\\\\d+[\\\\.\\\\d]+))?","name":"Arch Linux","version":"$1"},{"regex":"VectorLinux(?: package)?(?:[ /\\\\-](\\\\d+[\\\\.\\\\d]+))?","name":"VectorLinux","version":"$1"},{"regex":"Linux; .*((?:Debian|Knoppix|Mint|Ubuntu|Kubuntu|Xubuntu|Lubuntu|Fedora|Red Hat|Mandriva|Gentoo|Sabayon|Slackware|SUSE|CentOS|BackTrack))[ /](\\\\d+[\\\\.\\\\d]+)","name":"$1","version":"$2"},{"regex":"(Debian|Knoppix|Mint|Ubuntu|Kubuntu|Xubuntu|Lubuntu|Fedora|Red Hat|Mandriva|Gentoo|Sabayon|Slackware|SUSE|CentOS|BackTrack)(?:(?: Enterprise)? Linux)?(?:[ /\\\\-](\\\\d+[\\\\.\\\\d]+))?","name":"$1","version":"$2"},{"regex":"(?:webOS|Palm webOS)(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"webOS","version":"$1"},{"regex":"(?:PalmOS|Palm OS)(?:[/ ](\\\\d+[\\\\.\\\\d]+))?|Palm","name":"palmOS","version":"$1"},{"regex":"Xiino(?:.*v\\\\. (\\\\d+[\\\\.\\\\d]+))?","name":"palmOS","version":"$1"},{"regex":"MorphOS(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"MorphOS","version":"$1"},{"regex":"CYGWIN_NT-10.0|Windows NT 10.0|Windows 10","name":"Windows","version":"10"},{"regex":"CYGWIN_NT-6.4|Windows NT 6.4|Windows 10","name":"Windows","version":"10"},{"regex":"CYGWIN_NT-6.3|Windows NT 6.3|Windows 8.1","name":"Windows","version":"8.1"},{"regex":"CYGWIN_NT-6.2|Windows NT 6.2|Windows 8","name":"Windows","version":"8"},{"regex":"CYGWIN_NT-6.1|Windows NT 6.1|Windows 7","name":"Windows","version":"7"},{"regex":"CYGWIN_NT-6.0|Windows NT 6.0|Windows Vista","name":"Windows","version":"Vista"},{"regex":"CYGWIN_NT-5.2|Windows NT 5.2|Windows Server 2003 / XP x64","name":"Windows","version":"Server 2003"},{"regex":"CYGWIN_NT-5.1|Windows NT 5.1|Windows XP","name":"Windows","version":"XP"},{"regex":"CYGWIN_NT-5.0|Windows NT 5.0|Windows 2000","name":"Windows","version":"2000"},{"regex":"CYGWIN_NT-4.0|Windows NT 4.0|WinNT|Windows NT","name":"Windows","version":"NT"},{"regex":"CYGWIN_ME-4.90|Win 9x 4.90|Windows ME","name":"Windows","version":"ME"},{"regex":"CYGWIN_98-4.10|Win98|Windows 98","name":"Windows","version":"98"},{"regex":"CYGWIN_95-4.0|Win32|Win95|Windows 95|Windows_95","name":"Windows","version":"95"},{"regex":"Windows 3.1","name":"Windows","version":"3.1"},{"regex":"Windows","name":"Windows","version":""},{"regex":"Haiku","name":"Haiku OS","version":""},{"regex":"CFNetwork/889","name":"iOS","version":"11.1"},{"regex":"CFNetwork/887.*(x86_64)","name":"Mac","version":"10.13"},{"regex":"CFNetwork/887","name":"iOS","version":"11.0"},{"regex":"CFNetwork/811.*(x86_64)","name":"Mac","version":"10.12"},{"regex":"CFNetwork/811","name":"iOS","version":"10.3"},{"regex":"CFNetwork/808\\\\.3","name":"iOS","version":"10.3"},{"regex":"CFNetwork/808\\\\.2","name":"iOS","version":"10.2"},{"regex":"CFNetwork/808\\\\.1","name":"iOS","version":"10.1"},{"regex":"CFNetwork/808\\\\.0","name":"iOS","version":"10.0"},{"regex":"CFNetwork/808","name":"iOS","version":"10"},{"regex":"CFNetwork/758\\\\.4\\\\.3","name":"iOS","version":"9.3.2"},{"regex":"CFNetwork/758\\\\.3\\\\.15","name":"iOS","version":"9.3"},{"regex":"CFNetwork/758\\\\.2\\\\.[78]","name":"iOS","version":"9.2"},{"regex":"CFNetwork/758\\\\.1\\\\.6","name":"iOS","version":"9.1"},{"regex":"CFNetwork/758\\\\.0\\\\.2","name":"iOS","version":"9.0"},{"regex":"CFNetwork/711\\\\.5\\\\.6","name":"iOS","version":"8.4.1"},{"regex":"CFNetwork/711\\\\.4\\\\.6","name":"iOS","version":"8.4"},{"regex":"CFNetwork/711\\\\.3\\\\.18","name":"iOS","version":"8.3"},{"regex":"CFNetwork/711\\\\.2\\\\.23","name":"iOS","version":"8.2"},{"regex":"CFNetwork/711\\\\.1\\\\.1[26]","name":"iOS","version":"8.1"},{"regex":"CFNetwork/711\\\\.0\\\\.6","name":"iOS","version":"8.0"},{"regex":"CFNetwork/672\\\\.1","name":"iOS","version":"7.1"},{"regex":"CFNetwork/672\\\\.0","name":"iOS","version":"7.0"},{"regex":"CFNetwork/609\\\\.1","name":"iOS","version":"6.1"},{"regex":"CFNetwork/60[29]","name":"iOS","version":"6.0"},{"regex":"CFNetwork/548\\\\.1","name":"iOS","version":"5.1"},{"regex":"CFNetwork/548\\\\.0","name":"iOS","version":"5.0"},{"regex":"CFNetwork/485\\\\.13","name":"iOS","version":"4.3"},{"regex":"CFNetwork/485\\\\.12","name":"iOS","version":"4.2"},{"regex":"CFNetwork/485\\\\.10","name":"iOS","version":"4.1"},{"regex":"CFNetwork/485\\\\.2","name":"iOS","version":"4.0"},{"regex":"CFNetwork/467\\\\.12","name":"iOS","version":"3.2"},{"regex":"CFNetwork/459","name":"iOS","version":"3.1"},{"regex":"(?:CPU OS|iPh(?:one)?[ _]OS|iOS)[ _/](\\\\d+(?:[_\\\\.]\\\\d+)*)","name":"iOS","version":"$1"},{"regex":"(?:Apple-)?(?:iPhone|iPad|iPod)(?:.*Mac OS X.*Version/(\\\\d+\\\\.\\\\d+)|; Opera)?","name":"iOS","version":"$1"},{"regex":"Podcasts/(?:[\\\\d\\\\.]+)|Instacast(?:HD)?/(?:\\\\d\\\\.[\\\\d\\\\.abc]+)|Pocket Casts, iOS|Overcast|Castro|Podcat|i[cC]atcher|RSSRadio/","name":"iOS","version":""},{"regex":"iTunes-(iPod|iPad|iPhone)/(?:[\\\\d\\\\.]+)","name":"iOS","version":""},{"regex":"CFNetwork/807","name":"Mac","version":"10.12"},{"regex":"CFNetwork/760","name":"Mac","version":"10.11"},{"regex":"CFNetwork/720","name":"Mac","version":"10.10"},{"regex":"CFNetwork/673","name":"Mac","version":"10.9"},{"regex":"CFNetwork/596","name":"Mac","version":"10.8"},{"regex":"CFNetwork/520","name":"Mac","version":"10.7"},{"regex":"CFNetwork/454","name":"Mac","version":"10.6"},{"regex":"CFNetwork/(?:438|422|339|330|221|220|217)","name":"Mac","version":"10.5"},{"regex":"CFNetwork/12[89]","name":"Mac","version":"10.4"},{"regex":"CFNetwork/1\\\\.2","name":"Mac","version":"10.3"},{"regex":"CFNetwork/1\\\\.1","name":"Mac","version":"10.2"},{"regex":"Mac[ +]OS[ +]X(?:[ /](?:Version )?(\\\\d+(?:[_\\\\.]\\\\d+)+))?","name":"Mac","version":"$1"},{"regex":"Mac (\\\\d+(?:[_\\\\.]\\\\d+)+)","name":"Mac","version":"$1"},{"regex":"Darwin|Macintosh|Mac_PowerPC|PPC|Mac PowerPC|iMac|MacBook","name":"Mac","version":""},{"regex":"CrOS [a-z0-9_]+ .* Chrome/(\\\\d+[\\\\.\\\\d]+)","name":"Chrome OS","version":"$1"},{"regex":"(?:BB10;.+Version|Black[Bb]erry[0-9a-z]+|Black[Bb]erry.+Version)/(\\\\d+[\\\\.\\\\d]+)","name":"BlackBerry OS","version":"$1"},{"regex":"RIM Tablet OS (\\\\d+[\\\\.\\\\d]+)","name":"BlackBerry Tablet OS","version":"$1"},{"regex":"RIM Tablet OS|QNX|Play[Bb]ook","name":"BlackBerry Tablet OS","version":""},{"regex":"BlackBerry","name":"BlackBerry OS","version":""},{"regex":"bPod","name":"BlackBerry OS","version":""},{"regex":"BeOS","name":"BeOS","version":""},{"regex":"Symbian/3.+NokiaBrowser/7\\\\.3","name":"Symbian^3","version":"Anna"},{"regex":"Symbian/3.+NokiaBrowser/7\\\\.4","name":"Symbian^3","version":"Belle"},{"regex":"Symbian/3","name":"Symbian^3","version":""},{"regex":"(?:Series ?60|SymbOS|S60)(?:[ /]?(\\\\d+[\\\\.\\\\d]+|V\\\\d+))?","name":"Symbian OS Series 60","version":"$1"},{"regex":"Series40","name":"Symbian OS Series 40","version":""},{"regex":"SymbianOS/(\\\\d+[\\\\.\\\\d]+)","name":"Symbian OS","version":"$1"},{"regex":"MeeGo|WeTab","name":"MeeGo","version":""},{"regex":"Symbian(?: OS)?|SymbOS","name":"Symbian OS","version":""},{"regex":"Nokia","name":"Symbian","version":""},{"regex":"(?:Mobile|Tablet);.+Firefox/\\\\d+\\\\.\\\\d+","name":"Firefox OS","version":""},{"regex":"RISC OS(?:-NC)?(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"RISC OS","version":"$1"},{"regex":"Inferno(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"Inferno","version":"$1"},{"regex":"bada(?:[ /](\\\\d+[\\\\.\\\\d]+))","name":"Bada","version":"$1"},{"regex":"bada","name":"Bada","version":""},{"regex":"(?:Brew MP|BREW|BMP)(?:[ /](\\\\d+[\\\\.\\\\d]+))","name":"Brew","version":"$1"},{"regex":"Brew MP|BREW|BMP","name":"Brew","version":""},{"regex":"GoogleTV(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"Google TV","version":"$1"},{"regex":"AppleTV(?:/?(\\\\d+[\\\\.\\\\d]+))?","name":"Apple TV","version":"$1"},{"regex":"WebTV/(\\\\d+[\\\\.\\\\d]+)","name":"WebTV","version":"$1"},{"regex":"RemixOS 5.1.1","name":"Remix OS","version":"1"},{"regex":"RemixOS 6.0","name":"Remix OS","version":"2"},{"regex":"RemixOS","name":"Remix OS","version":""},{"regex":"(?:SunOS|Solaris)(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Solaris","version":"$1"},{"regex":"AIX(?:[/ ]?(\\\\d+[\\\\.\\\\d]+))?","name":"AIX","version":"$1"},{"regex":"HP-UX(?:[/ ]?(\\\\d+[\\\\.\\\\d]+))?","name":"HP-UX","version":"$1"},{"regex":"FreeBSD(?:[/ ]?(\\\\d+[\\\\.\\\\d]+))?","name":"FreeBSD","version":"$1"},{"regex":"NetBSD(?:[/ ]?(\\\\d+[\\\\.\\\\d]+))?","name":"NetBSD","version":"$1"},{"regex":"OpenBSD(?:[/ ]?(\\\\d+[\\\\.\\\\d]+))?","name":"OpenBSD","version":"$1"},{"regex":"DragonFly(?:[/ ]?(\\\\d+[\\\\.\\\\d]+))?","name":"DragonFly","version":"$1"},{"regex":"Syllable(?:[/ ]?(\\\\d+[\\\\.\\\\d]+))?","name":"Syllable","version":"$1"},{"regex":"IRIX(?:;64)?(?:[/ ]?(\\\\d+[\\\\.\\\\d]+))","name":"IRIX","version":"$1"},{"regex":"OSF1(?:[/ ]?v?(\\\\d+[\\\\.\\\\d]+))?","name":"OSF1","version":"$1"},{"regex":"Nintendo Wii","name":"Nintendo","version":"Wii"},{"regex":"PlayStation ?([3|4])","name":"PlayStation","version":"$1"},{"regex":"Xbox|KIN\\\\.(?:One|Two)","name":"Xbox","version":"360"},{"regex":"Nitro|Nintendo ([3]?DS[i]?)","name":"Nintendo Mobile","version":"$1"},{"regex":"PlayStation ((?:Portable|Vita))","name":"PlayStation Portable","version":"$1"},{"regex":"OS/2","name":"OS/2","version":""},{"regex":"Linux(?:OS)?[^a-z]","name":"GNU/Linux","version":""}]')},function(e,r,o){"use strict";var t=o(4),n=o(1);Object.defineProperty(r,"__esModule",{value:!0});var l=o(2),i=o(102);r.default=function e(){n(this,e),this.parse=function(e){for(var r=0,o=Object.entries(i);r<o.length;r++){var n=o[r],a=t(n,2),d=a[0],m=a[1],u=!0,s=!1,g=void 0;try{for(var c,x=m[Symbol.iterator]();!(u=(c=x.next()).done);u=!0){var p=c.value;if(l.userAgentParser(p,e))return d}}catch(f){s=!0,g=f}finally{try{u||null==x.return||x.return()}finally{if(s)throw g}}}return""}}},function(e){e.exports=JSON.parse('{"Dell":["MDDR(JS)?","MDDC(JS)?","MDDS(JS)?"],"Acer":["MAAR(JS)?"],"Sony":["MASE(JS)?","MASP(JS)?","MASA(JS)?"],"Asus":["MAAU","NP0[26789]","ASJB","ASU2(JS)?"],"Samsung":["MASM(JS)?","SMJB"],"Lenovo":["MALC(JS)?","MALE(JS)?","MALN(JS)?","LCJB","LEN2"],"Toshiba":["MATM(JS)?","MATB(JS)?","MATP(JS)?","TNJB","TAJB"],"Medion":["MAMD"],"MSI":["MAMI(JS)?","MAM3"],"Gateway":["MAGW(JS)?"],"Fujitsu":["MAFS(JS)?","FSJB"],"Compaq":["CPDTDF","CPNTDF(JS?)","CMNTDF(JS)?","CMDTDF(JS)?"],"HP":["HPCMHP","HPNTDF(JS)?","HPDTDF(JS)?"],"Hyrican":["MANM(JS)?"]}')},function(e,r,o){"use strict";var t=o(1),n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},l=o(2),i=n(o(29)),a=o(138);e.exports=function e(){t(this,e),this.parse=function(e){var r=!0,o=!1,t=void 0;try{for(var n,d=a[Symbol.iterator]();!(r=(n=d.next()).done);r=!0){var m=n.value;if(l.userAgentParser(m.regex,e))return{name:m.name,category:m.category||"",url:m.url||"",producer:{name:i.default(m,"producer.name",""),url:i.default(m,"producer.url","")}}}}catch(u){o=!0,t=u}finally{try{r||null==d.return||d.return()}finally{if(o)throw t}}return null}}},function(e,r,o){var t=o(105),n=o(137);e.exports=function(e,r){for(var o=0,l=(r=t(r,e)).length;null!=e&&o<l;)e=e[n(r[o++])];return o&&o==l?e:void 0}},function(e,r,o){var t=o(16),n=o(106),l=o(107),i=o(27);e.exports=function(e,r){return t(e)?e:n(e,r)?[e]:l(i(e))}},function(e,r,o){var t=o(16),n=o(17),l=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,i=/^\w*$/;e.exports=function(e,r){if(t(e))return!1;var o=typeof e;return!("number"!=o&&"symbol"!=o&&"boolean"!=o&&null!=e&&!n(e))||(i.test(e)||!l.test(e)||null!=r&&e in Object(r))}},function(e,r,o){var t=o(108),n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,l=/\\(\\)?/g,i=t((function(e){var r=[];return 46===e.charCodeAt(0)&&r.push(""),e.replace(n,(function(e,o,t,n){r.push(t?n.replace(l,"$1"):o||e)})),r}));e.exports=i},function(e,r,o){var t=o(109),n=500;e.exports=function(e){var r=t(e,(function(e){return o.size===n&&o.clear(),e})),o=r.cache;return r}},function(e,r,o){var t=o(110),n="Expected a function";function l(e,r){if("function"!=typeof e||null!=r&&"function"!=typeof r)throw new TypeError(n);var o=function o(){var t=arguments,n=r?r.apply(this,t):t[0],l=o.cache;if(l.has(n))return l.get(n);var i=e.apply(this,t);return o.cache=l.set(n,i)||l,i};return o.cache=new(l.Cache||t),o}l.Cache=t,e.exports=l},function(e,r,o){var t=o(111),n=o(132),l=o(134),i=o(135),a=o(136);function d(e){var r=-1,o=null==e?0:e.length;for(this.clear();++r<o;){var t=e[r];this.set(t[0],t[1])}}d.prototype.clear=t,d.prototype.delete=n,d.prototype.get=l,d.prototype.has=i,d.prototype.set=a,e.exports=d},function(e,r,o){var t=o(112),n=o(124),l=o(131);e.exports=function(){this.size=0,this.__data__={hash:new t,map:new(l||n),string:new t}}},function(e,r,o){var t=o(113),n=o(120),l=o(121),i=o(122),a=o(123);function d(e){var r=-1,o=null==e?0:e.length;for(this.clear();++r<o;){var t=e[r];this.set(t[0],t[1])}}d.prototype.clear=t,d.prototype.delete=n,d.prototype.get=l,d.prototype.has=i,d.prototype.set=a,e.exports=d},function(e,r,o){var t=o(11);e.exports=function(){this.__data__=t?t(null):{},this.size=0}},function(e,r,o){var t=o(115),n=o(116),l=o(31),i=o(118),a=/^\[object .+?Constructor\]$/,d=Function.prototype,m=Object.prototype,u=d.toString,s=m.hasOwnProperty,g=RegExp("^"+u.call(s).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!l(e)||n(e))&&(t(e)?g:a).test(i(e))}},function(e,r,o){var t=o(25),n=o(31),l="[object AsyncFunction]",i="[object Function]",a="[object GeneratorFunction]",d="[object Proxy]";e.exports=function(e){if(!n(e))return!1;var r=t(e);return r==i||r==a||r==l||r==d}},function(e,r,o){var t=o(117),n=function(){var e=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();e.exports=function(e){return!!n&&n in e}},function(e,r,o){var t=o(15)["__core-js_shared__"];e.exports=t},function(e,r){var o=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return o.call(e)}catch(r){}try{return e+""}catch(r){}}return""}},function(e,r){e.exports=function(e,r){return null==e?void 0:e[r]}},function(e,r){e.exports=function(e){var r=this.has(e)&&delete this.__data__[e];return this.size-=r?1:0,r}},function(e,r,o){var t=o(11),n="__lodash_hash_undefined__",l=Object.prototype.hasOwnProperty;e.exports=function(e){var r=this.__data__;if(t){var o=r[e];return o===n?void 0:o}return l.call(r,e)?r[e]:void 0}},function(e,r,o){var t=o(11),n=Object.prototype.hasOwnProperty;e.exports=function(e){var r=this.__data__;return t?void 0!==r[e]:n.call(r,e)}},function(e,r,o){var t=o(11),n="__lodash_hash_undefined__";e.exports=function(e,r){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=t&&void 0===r?n:r,this}},function(e,r,o){var t=o(125),n=o(126),l=o(128),i=o(129),a=o(130);function d(e){var r=-1,o=null==e?0:e.length;for(this.clear();++r<o;){var t=e[r];this.set(t[0],t[1])}}d.prototype.clear=t,d.prototype.delete=n,d.prototype.get=l,d.prototype.has=i,d.prototype.set=a,e.exports=d},function(e,r){e.exports=function(){this.__data__=[],this.size=0}},function(e,r,o){var t=o(12),n=Array.prototype.splice;e.exports=function(e){var r=this.__data__,o=t(r,e);return!(o<0)&&(o==r.length-1?r.pop():n.call(r,o,1),--this.size,!0)}},function(e,r){e.exports=function(e,r){return e===r||e!==e&&r!==r}},function(e,r,o){var t=o(12);e.exports=function(e){var r=this.__data__,o=t(r,e);return o<0?void 0:r[o][1]}},function(e,r,o){var t=o(12);e.exports=function(e){return t(this.__data__,e)>-1}},function(e,r,o){var t=o(12);e.exports=function(e,r){var o=this.__data__,n=t(o,e);return n<0?(++this.size,o.push([e,r])):o[n][1]=r,this}},function(e,r,o){var t=o(30)(o(15),"Map");e.exports=t},function(e,r,o){var t=o(13);e.exports=function(e){var r=t(this,e).delete(e);return this.size-=r?1:0,r}},function(e,r){e.exports=function(e){var r=typeof e;return"string"==r||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==e:null===e}},function(e,r,o){var t=o(13);e.exports=function(e){return t(this,e).get(e)}},function(e,r,o){var t=o(13);e.exports=function(e){return t(this,e).has(e)}},function(e,r,o){var t=o(13);e.exports=function(e,r){var o=t(this,e),n=o.size;return o.set(e,r),this.size+=o.size==n?0:1,this}},function(e,r,o){var t=o(17),n=1/0;e.exports=function(e){if("string"==typeof e||t(e))return e;var r=e+"";return"0"==r&&1/e==-n?"-0":r}},function(e){e.exports=JSON.parse('[{"regex":"360Spider(-Image|-Video)?","name":"360Spider","category":"Search bot","url":"http://www.so.com/help/help_3_2.html","producer":{"name":"Online Media Group, Inc.","url":""}},{"regex":"Aboundex","name":"Aboundexbot","category":"Search bot","url":"http://www.aboundex.com/crawler/","producer":{"name":"Aboundex.com","url":"http://www.aboundex.com"}},{"regex":"AcoonBot","name":"Acoon","category":"Search bot","url":"http://www.acoon.de/robot.asp","producer":{"name":"Acoon GmbH","url":"http://www.acoon.de"}},{"regex":"AddThis\\\\.com","name":"AddThis.com","category":"Social Media Agent","url":"","producer":{"name":"Clearspring Technologies, Inc.","url":"http://www.clearspring.com"}},{"regex":"AhrefsBot","name":"aHrefs Bot","category":"Crawler","url":"http://ahrefs.com/robot","producer":{"name":"Ahrefs Pte Ltd","url":"http://ahrefs.com/robot"}},{"regex":"ia_archiver|alexabot|verifybot","name":"Alexa Crawler","category":"Search bot","url":"https://alexa.zendesk.com/hc/en-us/sections/200100794-Crawlers","producer":{"name":"Alexa Internet","url":"http://www.alexa.com"}},{"regex":"alexa site audit","name":"Alexa Site Audit","category":"Site Monitor","url":"http://www.alexa.com/help/webmasters","producer":{"name":"Alexa Internet","url":"http://www.alexa.com"}},{"regex":"Amazon[ -]Route ?53[ -]Health[ -]Check[ -]Service","name":"Amazon Route53 Health Check","category":"Service Agent","producer":{"name":"Amazon Web Services","url":"https://aws.amazon.com/"}},{"regex":"AmorankSpider","name":"Amorank Spider","category":"Crawler","url":"http://amorank.com/webcrawler.html","producer":{"name":"Amorank","url":"http://www.amorank.com"}},{"regex":"ApacheBench","name":"ApacheBench","category":"Benchmark","url":"https://httpd.apache.org/docs/2.4/programs/ab.html","producer":{"name":"The Apache Software Foundation","url":"http://www.apache.org/foundation/"}},{"regex":"Applebot","name":"Applebot","category":"Crawler","url":"http://www.apple.com/go/applebot","producer":{"name":"Apple Inc","url":"http://www.apple.com"}},{"regex":"Arachni","name":"Arachni","category":"Security Checker","url":"http://www.arachni-scanner.com","producer":{"name":"Sarosys LLC","url":"http://www.sarosys.com/"}},{"regex":"Castro 2, Episode Duration Lookup","name":"Castro 2","category":"Service Agent","url":"http://supertop.co/castro/","producer":{"name":"Supertop","url":"http://supertop.co"}},{"regex":"Curious George","name":"Analytics SEO Crawler","category":"Crawler","url":"http://www.analyticsseo.com/crawler","producer":{"name":"Analytics SEO","url":"http://www.analyticsseo.com"}},{"regex":"archive\\\\.org_bot|special_archiver","name":"archive.org bot","category":"Crawler","url":"http://www.archive.org/details/archive.org_bot","producer":{"name":"The Internet Archive","url":"http://www.archive.org"}},{"regex":"Ask Jeeves/Teoma","name":"Ask Jeeves","category":"Search bot","url":"","producer":{"name":"Ask Jeeves Inc.","url":"http://www.ask.com"}},{"regex":"Backlink-Check\\\\.de","name":"Backlink-Check.de","category":"Crawler","url":"http://www.backlink-check.de/bot.html","producer":{"name":"Mediagreen Medienservice","url":"http://www.backlink-check.de"}},{"regex":"BacklinkCrawler","name":"BacklinkCrawler","category":"Crawler","url":"http://www.backlinktest.com/crawler.html","producer":{"name":"2.0Promotion GbR","url":"http://www.backlinktest.com"}},{"regex":"baiduspider(-image)?|baidu Transcoder|baidu.*spider","name":"Baidu Spider","category":"Search bot","url":"http://www.baidu.com/search/spider.htm","producer":{"name":"Baidu","url":"http://www.baidu.com"}},{"regex":"BazQux","name":"BazQux Reader","url":"https://bazqux.com/fetcher","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"MSNBot|msrbot|bingbot|BingPreview|msnbot-(UDiscovery|NewsBlogs)|adidxbot","name":"BingBot","category":"Search bot","url":"http://search.msn.com/msnbot.htmn","producer":{"name":"Microsoft Corporation","url":"http://www.microsoft.com"}},{"regex":"Blekkobot","name":"Blekkobot","category":"Search bot","url":"http://blekko.com/about/blekkobot","producer":{"name":"Blekko","url":"http://blekko.com"}},{"regex":"BLEXBot(Test)?","name":"BLEXBot Crawler","category":"Crawler","url":"http://webmeup-crawler.com","producer":{"name":"WebMeUp","url":"http://webmeup.com"}},{"regex":"Bloglovin","name":"Bloglovin","url":"http://www.bloglovin.com","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"Blogtrottr","name":"Blogtrottr","url":"","category":"Feed Fetcher","producer":{"name":"Blogtrottr Ltd","url":"https://blogtrottr.com/"}},{"regex":"BountiiBot","name":"Bountii Bot","category":"Search bot","url":"http://bountii.com/contact.php","producer":{"name":"Bountii Inc.","url":"http://bountii.com"}},{"regex":"Browsershots","name":"Browsershots","category":"Service Agent","url":"http://browsershots.org/faq","producer":{"name":"Browsershots.org","url":"http://browsershots.org"}},{"regex":"BUbiNG","name":"BUbiNG","category":"Crawler","url":"http://law.di.unimi.it/BUbiNG.html","producer":{"name":"The Laboratory for Web Algorithmics (LAW)","url":"http://law.di.unimi.it/software.php#buging"}},{"regex":"(?<!HTC)[ _]Butterfly/","name":"Butterfly Robot","category":"Search bot","url":"http://labs.topsy.com/butterfly","producer":{"name":"Topsy Labs","url":"http://labs.topsy.com"}},{"regex":"CareerBot","name":"CareerBot","category":"Crawler","url":"http://www.career-x.de/bot.html","producer":{"name":"career-x GmbH","url":"http://www.career-x.de"}},{"regex":"CCBot","name":"ccBot crawler","category":"Crawler","url":"http://commoncrawl.org/faq/","producer":{"name":"reddit inc.","url":"http://www.reddit.com"}},{"regex":"Cliqzbot","name":"Cliqzbot","category":"Crawler","url":"http://cliqz.com/company/cliqzbot","producer":{"name":"10betterpages GmbH","url":"http://cliqz.com"}},{"regex":"Cloudflare-AMP","name":"CloudFlare AMP Fetcher","category":"Crawler","url":"https://amp.cloudflare.com/doc/fetcher.html","producer":{"name":"CloudFlare","url":"http://www.cloudflare.com"}},{"regex":"CloudFlare-AlwaysOnline","name":"CloudFlare Always Online","category":"Site Monitor","url":"http://www.cloudflare.com/always-online","producer":{"name":"CloudFlare","url":"http://www.cloudflare.com"}},{"regex":"coccoc/","name":"C\u1ed1c C\u1ed1c Bot","url":"http://help.coccoc.com/","category":"Search bot","producer":{"name":"C\u1ed1c C\u1ed1c","url":"http://coccoc.com/"}},{"regex":"collectd","name":"Collectd","url":"https://collectd.org/","category":"Site Monitor","producer":{"name":"Collectd","url":"https://collectd.org/"}},{"regex":"CommaFeed","name":"CommaFeed","url":"http://www.commafeed.com","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"CSS Certificate Spider","name":"CSS Certificate Spider","category":"Crawler","url":"http://www.css-security.com/certificatespider/","producer":{"name":"Certified Security Solutions","url":"https://www.css-security.com/company/about-us/"}},{"regex":"Datadog Agent","name":"Datadog Agent","url":"https://github.com/DataDog/dd-agent","category":"Site Monitor","producer":{"name":"Datadog","url":"https://www.datadoghq.com/"}},{"regex":"Datanyze","name":"Datanyze","url":"","category":"Crawler","producer":{"name":"Datanyze","url":"https://www.datanyze.com"}},{"regex":"Dataprovider","name":"Dataprovider","category":"Crawler","url":"","producer":{"name":"Dataprovider B.V.","url":"https://www.dataprovider.com/"}},{"regex":"Daum(oa)?[ /][0-9]","name":"Daum","category":"Search bot","url":"http://tab.search.daum.net/aboutWebSearch_en.html","producer":{"name":"Daum Communications Corp.","url":"http://www.kakaocorp.com/main"}},{"regex":"Dazoobot","name":"Dazoobot","category":"Search bot","url":"","producer":{"name":"DAZOO.FR","url":"http://dazoo.fr"}},{"regex":"discobot(-news)?","name":"Discobot","category":"Search bot","url":"http://discoveryengine.com/discobot.html","producer":{"name":"Discovery Engine","url":"http://discoveryengine.com"}},{"regex":"Domain Re-Animator Bot|support@domainreanimator.com","name":"Domain Re-Animator Bot","category":"Crawler","url":"","producer":{"name":"Domain Re-Animator, LLC","url":"http://domainreanimator.com"}},{"regex":"DotBot","name":"DotBot","category":"Crawler","url":"http://www.opensiteexplorer.org/dotbot","producer":{"name":"SEOmoz, Inc.","url":"http://moz.com/"}},{"regex":"DuckDuck(?:Go-Favicons-)?Bot","name":"DuckDuckGo Bot","category":"Search bot","url":"https://duckduckgo.com/duckduckbot","producer":{"name":"DuckDuckGo","url":"https://duckduckgo.com/"}},{"regex":"EasouSpider","name":"Easou Spider","category":"Search bot","url":"http://www.easou.com/search/spider.html","producer":{"name":"easou ICP","url":"http://www.easou.com"}},{"regex":"EMail Exractor","name":"EMail Exractor","category":"Crawler","url":"","producer":{"name":"","url":""}},{"regex":"evc-batch","name":"evc-batch","category":"Crawler","url":"","producer":{"name":"eVenture Capital Partners II, LLC","url":"http://www.eventures.vc/"}},{"regex":"Exabot(-Thumbnails|-Images)?|ExaleadCloudview","name":"ExaBot","category":"Crawler","url":"http://www.exabot.com/go/robot","producer":{"name":"Dassault Syst\xe8mes","url":"http://www.3ds.com"}},{"regex":"ExactSeek Crawler","name":"ExactSeek Crawler","category":"Search bot","url":"http://www.exactseek.com","producer":{"name":"Jayde Online, Inc.","url":"http://www.jaydeonlineinc.com"}},{"regex":"Ezooms","name":"Ezooms","category":"Crawler","url":"","producer":{"name":"SEOmoz, Inc.","url":"http://moz.com/"}},{"regex":"facebookexternalhit|facebookplatform","name":"Facebook External Hit","category":"Social Media Agent","url":"https://www.facebook.com/externalhit_uatext.php","producer":{"name":"Facebook","url":"http://www.facebook.com"}},{"regex":"Feedbin","name":"Feedbin","url":"http://feedbin.com/","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"FeedBurner","name":"FeedBurner","url":"http://www.feedburner.com","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"Feed Wrangler","name":"Feed Wrangler","url":"https://feedwrangler.net/","category":"Feed Fetcher","producer":{"name":"David Smith & Developing Perspective, LLC","url":"https://david-smith.org"}},{"regex":"(Meta)?Feedly(Bot|App)?","name":"Feedly","url":"http://www.feedly.com","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"Feedspot","name":"Feedspot","url":"http://www.feedspot.com","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"Fever/[0-9]","name":"Fever","url":"http://feedafever.com/","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"FlipboardProxy|FlipboardRSS","name":"Flipboard","url":"http://flipboard.com/browserproxy","category":"Feed Fetcher","producer":{"name":"Flipboard","url":"http://flipboard.com/"}},{"regex":"Findxbot","name":"Findxbot","category":"Crawler","url":"http://www.findxbot.com"},{"regex":"FreshRSS","name":"FreshRSS","category":"Feed Fetcher","url":"https://freshrss.org/"},{"regex":"Genieo","name":"Genieo Web filter","category":"","url":"http://www.genieo.com/webfilter.html","producer":{"name":"Genieo","url":"http://www.genieo.com"}},{"regex":"GigablastOpenSource","name":"Gigablast","category":"Search bot","url":"https://github.com/gigablast/open-source-search-engine","producer":{"name":"Matt Wells","url":"http://www.gigablast.com/faq.html"}},{"regex":"Gluten Free Crawler","name":"Gluten Free Crawler","category":"Crawler","url":"http://glutenfreepleasure.com/","producer":{"name":"","url":""}},{"regex":"ichiro/mobile goo","name":"Goo","category":"Search bot","url":"http://search.goo.ne.jp/option/use/sub4/sub4-1","producer":{"name":"NTT Resonant","url":"http://goo.ne.jp"}},{"regex":"Google Search Console","name":"Google Search Console","category":"Crawler","url":"https://search.google.com/search-console/about","producer":{"name":"Google Inc.","url":"http://www.google.com"}},{"regex":"Google Page Speed Insights","name":"Google PageSpeed Insights","category":"Site Monitor","url":"http://developers.google.com/speed/pagespeed/insights/","producer":{"name":"Google Inc.","url":"http://www.google.com"}},{"regex":"google_partner_monitoring","name":"Google Partner Monitoring","category":"Site Monitor","url":"","producer":{"name":"Google Inc.","url":"http://www.google.com"}},{"regex":"Google-Structured-Data-Testing-Tool","name":"Google Structured Data Testing Tool","category":"Validator","url":"https://search.google.com/structured-data/testing-tool","producer":{"name":"Google Inc.","url":"http://www.google.com"}},{"regex":"via ggpht\\\\.com GoogleImageProxy","name":"Gmail Image Proxy","category":"Crawler","url":"","producer":{"name":"Google Inc.","url":"http://www.google.com"}},{"regex":"SeznamEmailProxy","name":"Seznam Email Proxy","category":"Crawler","url":"","producer":{"name":"Seznam.cz, a.s.","url":"http://www.seznam.cz/"}},{"regex":"Seznam-Zbozi-robot","name":"Seznam Zbozi.cz","category":"Crawler","url":"","producer":{"name":"Seznam.cz, a.s.","url":"https://www.zbozi.cz/"}},{"regex":"Heurekabot-Feed","name":"Heureka Feed","category":"Crawler","url":"https://sluzby.heureka.cz/napoveda/heurekabot/","producer":{"name":"Heureka.cz, a.s.","url":"https://www.heureka.cz/"}},{"regex":"ShopAlike","name":"ShopAlike","category":"Crawler","url":"","producer":{"name":"Visual Meta","url":"https://www.shopalike.cz/"}},{"regex":"Googlebot(-Mobile|-Image|-Video|-News)?|Feedfetcher-Google|Google-Test|Google-Site-Verification|Google Web Preview|AdsBot-Google(-Mobile)?|Google-Adwords-Instant|APIs-Google|Mediapartners-Google|Google.*/\\\\+/web/snippet|GoogleProducer|Google[ -]Publisher[ -]Plugin|Google-Shopping-Quality|Google-Adwords-DisplayAds|Google-Assess|Google-AdWords-Express|Google-speakr|Google-Read-Aloud","name":"Googlebot","category":"Search bot","url":"http://www.google.com/bot.html","producer":{"name":"Google Inc.","url":"http://www.google.com"}},{"regex":"heritrix","name":"Heritrix","category":"Crawler","url":"https://webarchive.jira.com/wiki/display/Heritrix/Heritrix","producer":{"name":"The Internet Archive","url":"http://www.archive.org"}},{"regex":"HubSpot ","name":"HubSpot","category":"Crawler","producer":{"name":"HubSpot Inc.","url":"https://www.hubspot.com"}},{"regex":"HTTPMon","name":"HTTPMon","category":"Site Monitor","url":"http://www.httpmon.com","producer":{"name":"towards GmbH","url":"http://www.towards.ch/"}},{"regex":"ICC-Crawler","name":"ICC-Crawler","category":"Crawler","url":"http://www.nict.go.jp/en/univ-com/plan/crawl.html","producer":{"name":"","url":""}},{"regex":"iisbot","name":"IIS Site Analysis","category":"Crawler","url":"http://www.iis.net/iisbot.html","producer":{"name":"Microsoft Corporation","url":"http://www.microsoft.com"}},{"regex":"ips-agent","name":"IPS Agent","category":"crawler","producer":{"name":"VeriSign, Inc","url":"http://www.verisign.com/"}},{"regex":"IP-Guide\\\\.com","name":"IP-Guide Crawler","category":"Crawler","url":"","producer":{"name":"","url":"https://ip-guide.com"}},{"regex":"kouio","name":"Kouio","url":"http://kouio.com/","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"larbin","name":"Larbin web crawler","category":"Crawler","url":"http://larbin.sourceforge.net","producer":{"name":"","url":""}},{"regex":"([A-z0-9]*)-Lighthouse","name":"Lighthouse","category":"Site Monitor","url":"https://developers.google.com/web/tools/lighthouse","producer":{"name":"Lighthouse","url":"https://developers.google.com/web/tools/lighthouse"}},{"regex":"linkdexbot(-mobile)?|linkdex\\\\.com","name":"Linkdex Bot","category":"Search bot","url":"http://www.linkdex.com/bots","producer":{"name":"Mojeek Ltd.","url":"http://www.mojeek.com"}},{"regex":"LinkedInBot","name":"LinkedIn Bot","category":"Social Media Agent","url":"http://www.linkedin.com","producer":{"name":"LinkedIn","url":"http://www.linkedin.com"}},{"regex":"ltx71","name":"LTX71","url":"http://ltx71.com/","producer":{"name":"","url":""}},{"regex":"Mail\\\\.RU(_Bot)?","name":"Mail.Ru Bot","category":"Search bot","url":"http://help.mail.ru/webmaster/indexing/robots/types_robots","producer":{"name":"Mail.Ru Group","url":"http://corp.mail.ru"}},{"regex":"magpie-crawler","name":"Magpie-Crawler","category":"Social Media Agent","url":"http://www.brandwatch.com/magpie-crawler/","producer":{"name":"Brandwatch","url":"http://www.brandwatch.com"}},{"regex":"MagpieRSS","name":"MagpieRSS","url":"http://magpierss.sourceforge.net/","category":"Feed Parser","producer":{"name":"","url":""}},{"regex":"masscan","name":"masscan","url":"https://github.com/robertdavidgraham/masscan","category":"Crawler","producer":{"name":"Robert Graham","url":"https://github.com/robertdavidgraham"}},{"regex":"Mastodon/","name":"Mastodon Bot","category":"Social Media Agent"},{"regex":"meanpathbot","name":"Meanpath Bot","category":"Search bot","url":"http://www.meanpath.com/meanpathbot.html","producer":{"name":"Meanpath","url":"http://www.meanpath.com"}},{"regex":"MetaJobBot","name":"MetaJobBot","category":"Crawler","url":"http://www.metajob.at/the/crawler","producer":{"name":"MetaJob","url":"http://www.metajob.at"}},{"regex":"MetaInspector","name":"MetaInspector","category":"Crawler","url":"https://github.com/jaimeiniesta/metainspector"},{"regex":"MixrankBot","name":"Mixrank Bot","category":"Crawler","url":"http://mixrank.com","producer":{"name":"Online Media Group, Inc.","url":""}},{"regex":"MJ12bot","name":"MJ12 Bot","category":"Search bot","url":"http://majestic12.co.uk/bot.php","producer":{"name":"Majestic-12","url":"http://majestic12.co.uk"}},{"regex":"Mnogosearch","name":"Mnogosearch","category":"Search bot","url":"http://www.mnogosearch.org/","producer":{"name":"Lavtech.Com Corp.","url":""}},{"regex":"MojeekBot","name":"MojeekBot","category":"Search bot","url":"http://www.mojeek.com/bot.html","producer":{"name":"Mojeek Ltd.","url":"http://www.mojeek.com"}},{"regex":"munin","name":"Munin","category":"Site Monitor","url":"http://munin-monitoring.org/","producer":{"name":"Munin","url":"http://munin-monitoring.org/"}},{"regex":"NalezenCzBot","name":"NalezenCzBot","category":"Crawler","url":"http://www.nalezen.cz/about-crawler","producer":{"name":"Jaroslav Kubo\u0161","url":""}},{"regex":"check_http/v","name":"Nagios check_http","category":"Site Monitor","url":"https://nagios.org","producer":{"name":"Nagios Plugins Development Team","url":"https://nagios.org"}},{"regex":"Netcraft( Web Server Survey| SSL Server Survey|SurveyAgent)","name":"Netcraft Survey Bot","category":"Search bot","url":"","producer":{"name":"Netcraft","url":"http://www.netcraft.com"}},{"regex":"netEstate NE Crawler","name":"netEstate","category":"Crawler","url":"http://www.website-datenbank.de/Impressum","producer":{"name":"netEstate GmbH","url":"https://www.netestate.de/en/"}},{"regex":"Netvibes","name":"Netvibes","url":"http://www.netvibes.com/","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"NewsBlur .*(Fetcher|Finder)","name":"NewsBlur","url":"http://www.newsblur.com","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"NewsGatorOnline","name":"NewsGator","url":"http://www.newsgator.com","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"nlcrawler","name":"NLCrawler","category":"Crawler","url":"","producer":{"name":"Northern Light","url":"http://northernlight.com"}},{"regex":"Nmap Scripting Engine","name":"Nmap","category":"Security Checker","url":"https://nmap.org/book/nse.html","producer":{"name":"Nmap","url":"https://nmap.org/"}},{"regex":"Octopus [0-9]","name":"Octopus"},{"regex":"omgili(?:bot)?","name":"Omgili bot","category":"Search bot","url":"http://www.omgili.com/Crawler.html","producer":{"name":"Omgili","url":"http://www.omgili.com"}},{"regex":"OpenindexSpider","name":"Openindex Spider","category":"Search bot","url":"http://www.openindex.io/en/webmasters/spider.html","producer":{"name":"Openindex B.V.","url":"http://www.openindex.io"}},{"regex":"spbot","name":"OpenLinkProfiler","category":"Crawler","url":"http://openlinkprofiler.org/bot","producer":{"name":"Axandra GmbH","url":"http://www.axandra.com"}},{"regex":"OpenWebSpider","name":"OpenWebSpider","category":"Crawler","url":"http://www.openwebspider.org","producer":{"name":"OpenWebSpider Lab","url":"http://lab.openwebspider.org"}},{"regex":"OrangeBot|VoilaBot","name":"Orange Bot","category":"Search bot","url":"http://lemoteur.orange.fr","producer":{"name":"Orange","url":"http://www.orange.fr"}},{"regex":"PaperLiBot","name":"PaperLiBot","category":"Search bot","url":"http://support.paper.li/entries/20023257-what-is-paper-li","producer":{"name":"Smallrivers SA","url":"http://www.paper.li"}},{"regex":"phantomas/","name":"Phantomas","category":"Site Monitor","url":"https://github.com/macbre/phantomas"},{"regex":"phpservermon","name":"PHP Server Monitor","category":"Site Monitor","url":"https://github.com/phpservermon/phpservermon","producer":{"name":"PHP Server Monitor","url":"http://www.phpservermonitor.org/"}},{"regex":"PocketParser","name":"PocketParser","category":"Read-it-later Service","url":"https://getpocket.com/pocketparser_ua","producer":{"name":"Pocket","url":"https://getpocket.com/"}},{"regex":"PritTorrent","name":"PritTorrent","category":"Crawler","url":"https://github.com/astro/prittorrent","producer":{"name":"Bitlove","url":"http://bitlove.org/"}},{"regex":"psbot(-page)?","name":"Picsearch bot","category":"Search bot","url":"http://www.picsearch.com/bot.html","producer":{"name":"Picsearch","url":"http://www.picsearch.com"}},{"regex":"Pingdom\\\\.com","name":"Pingdom Bot","category":"Site Monitor","url":"","producer":{"name":"Pingdom AB","url":"https://www.pingdom.com"}},{"regex":"Quora Link Preview","name":"Quora Link Preview","category":"Crawler","url":"","producer":{"name":"Quora","url":"http://www.quora.com"}},{"regex":"RamblerMail","name":"RamblerMail Image Proxy","category":"Crawler","url":"","producer":{"name":"Rambler&Co","url":"https://rambler-co.ru/"}},{"regex":"QuerySeekerSpider","name":"QuerySeekerSpider","category":"Crawler","url":"http://queryseeker.com/bot.html","producer":{"name":"QueryEye Inc.","url":"http://queryeye.com"}},{"regex":"Qwantify","name":"Qwantify","category":"Crawler","url":"https://www.qwant.com/","producer":{"name":"Qwant Corporation","url":"https://www.qwant.com/"}},{"regex":"Rainmeter","name":"Rainmeter","category":"Crawler","url":"https://www.rainmeter.net"},{"regex":"redditbot","name":"Reddit Bot","category":"Social Media Agent","url":"http://www.reddit.com/feedback","producer":{"name":"reddit inc.","url":"http://www.reddit.com"}},{"regex":"Riddler","name":"Riddler","category":"Security search bot","url":"https://riddler.io/about","producer":{"name":"F-Secure","url":"https://www.f-secure.com"}},{"regex":"rogerbot","name":"Rogerbot","category":"Crawler","url":"http://moz.com/help/pro/what-is-rogerbot-","producer":{"name":"SEOmoz, Inc.","url":"http://moz.com/"}},{"regex":"ROI Hunter","name":"ROI Hunter","category":"Crawler","url":"","producer":{"name":"Roihunter a.s.","url":"http://roihunter.com/"}},{"regex":"SafeDNSBot","name":"SafeDNSBot","category":"Crawler","url":"https://www.safedns.com/searchbot","producer":{"name":"SafeDNS, Inc.","url":"https://www.safedns.com/"}},{"regex":"Scrapy","name":"Scrapy","category":"Crawler","url":"http://scrapy.org"},{"regex":"Screaming Frog SEO Spider","name":"Screaming Frog SEO Spider","category":"Crawler","url":"http://www.screamingfrog.co.uk/seo-spider","producer":{"name":"Screaming Frog Ltd","url":"http://www.screamingfrog.co.uk"}},{"regex":"ScreenerBot","name":"ScreenerBot","category":"Crawler","url":"http://www.screenerbot.com","producer":{"name":"","url":""}},{"regex":"SemrushBot","name":"Semrush Bot","category":"Crawler","url":"http://www.semrush.com/bot.html","producer":{"name":"SEMrush","url":"http://www.semrush.com"}},{"regex":"SensikaBot","name":"Sensika Bot","category":"","url":"","producer":{"name":"Sensika","url":"http://sensika.com"}},{"regex":"SEOENG(World)?Bot","name":"SEOENGBot","category":"Crawler","url":"http://www.seoengine.com/seoengbot.htm","producer":{"name":"SEO Engine","url":"http://www.seoengine.com"}},{"regex":"SEOkicks-Robot","name":"SEOkicks-Robot","category":"Crawler","url":"http://www.seokicks.de/robot.html","producer":{"name":"SEOkicks","url":"https://www.seokicks.de/"}},{"regex":"seoscanners\\\\.net","name":"Seoscanners.net","category":"Crawler","url":""},{"regex":"SkypeUriPreview","name":"Skype URI Preview","category":"Service Agent","url":"","producer":{"name":"Skype Communications S.\xe0.r.l.","url":"https://www.skype.com"}},{"regex":"SeznamBot|SklikBot|Seznam screenshot-generator","name":"Seznam Bot","category":"Search bot","url":"http://www.mapy.cz/cz/seznambot.html","producer":{"name":"Seznam.cz, a.s.","url":"http://www.seznam.cz/"}},{"regex":"ShopWiki","name":"ShopWiki","category":"Search tools","url":"http://www.shopwiki.com/wiki/Help:Bot","producer":{"name":"ShopWiki Corp.","url":"http://www.shopwiki.com"}},{"regex":"SilverReader","name":"SilverReader","url":"http://silverreader.com","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"SimplePie","name":"SimplePie","url":"http://www.simplepie.org","category":"Feed Parser","producer":{"name":"","url":""}},{"regex":"SISTRIX Crawler","name":"SISTRIX Crawler","category":"Crawler","url":"http://crawler.sistrix.net","producer":{"name":"SISTRIX GmbH","url":"http://www.sistrix.de"}},{"regex":"SISTRIX Optimizer","name":"SISTRIX Optimizer","category":"Crawler","url":"https://optimizer.sistrix.com","producer":{"name":"SISTRIX GmbH","url":"http://www.sistrix.de"}},{"regex":"SiteSucker","name":"SiteSucker","category":"Crawler","url":"http://ricks-apps.com/osx/sitesucker/"},{"regex":"sixy.ch","name":"Sixy.ch","category":"Site Monitor","url":"http://sixy.ch","producer":{"name":"Manuel Kasper","url":"https://neon1.net/"}},{"regex":"Slackbot|Slack-ImgProxy","name":"Slackbot","category":"Crawler","url":"https://api.slack.com/robots","producer":{"name":"Slack Technologies","url":"http://slack.com"}},{"regex":"(Sogou (web|inst|Pic) spider)|New-Sogou-Spider","name":"Sogou Spider","category":"Search bot","url":"http://www.sogou.com/docs/help/webmasters.htm","producer":{"name":"Sohu, Inc.","url":"http://www.sogou.com"}},{"regex":"Sosospider|Sosoimagespider","name":"Soso Spider","category":"Search bot","url":"http://help.soso.com/webspider.htm","producer":{"name":"Tencent Holdings","url":"http://www.soso.com"}},{"regex":"sqlmap/","name":"sqlmap","category":"Security Checker","url":"http://sqlmap.org/","producer":{"name":"sqlmap","url":"http://sqlmap.org/"}},{"regex":"SSL Labs","name":"SSL Labs","category":"Validator","url":"https://www.ssllabs.com/about/assessment.html","producer":{"name":"SSL Labs","url":"https://www.ssllabs.com/about/assessment.html"}},{"regex":"StatusCake","name":"StatusCake","category":"Site Monitor","url":"https://www.statuscake.com","producer":{"name":"StatusCake","url":"https://www.statuscake.com"}},{"regex":"Superfeedr bot","name":"Superfeedr Bot","category":"Feed Fetcher","url":"","producer":{"name":"Superfeedr","url":"https://superfeedr.com/"}},{"regex":"Sparkler/[0-9]","name":"Sparkler","category":"Crawler","url":"https://github.com/USCDataScience/sparkler"},{"regex":"Spinn3r","name":"Spinn3r","category":"Crawler","url":"http://spinn3r.com/robot","producer":{"name":"Tailrank Inc","url":"http://spinn3r.com"}},{"regex":"Sputnik(Image)?Bot","name":"Sputnik Bot","category":"","url":"","producer":{"name":"","url":""}},{"regex":"SurveyBot","name":"Survey Bot","category":"Search bot","url":"http://www.domaintools.com/webmasters/surveybot.php","producer":{"name":"Domain Tools","url":"http://www.domaintools.com"}},{"regex":"TarmotGezgin","name":"Tarmot Gezgin","url":"http://www.tarmot.com/gezgin/","category":"Search bot"},{"regex":"TelegramBot","name":"TelegramBot","url":"https://telegram.org/blog/bot-revolution"},{"regex":"TLSProbe","name":"TLSProbe","url":"https://scan.trustnet.venafi.com/","category":"Security search bot","producer":{"name":"Venafi TrustNet","url":"https://www.venafi.com"}},{"regex":"TinEye-bot","name":"TinEye Crawler","category":"Search bot","url":"http://www.tineye.com/crawler.html","producer":{"name":"Id\xe9e Inc.","url":"http://ideeinc.com"}},{"regex":"Tiny Tiny RSS","name":"Tiny Tiny RSS","url":"http://tt-rss.org","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"trendictionbot","name":"Trendiction Bot","category":"Crawler","url":"http://www.trendiction.de/bot","producer":{"name":"Talkwalker Inc.","url":"http://www.talkwalker.com"}},{"regex":"TurnitinBot","name":"TurnitinBot","category":"Crawler","url":"http://www.turnitin.com/robot/crawlerinfo.html","producer":{"name":"iParadigms, LLC.","url":"http://www.turnitin.com"}},{"regex":"TweetedTimes Bot","name":"TweetedTimes Bot","category":"Crawler","url":"http://tweetedtimes.com","producer":{"name":"TweetedTimes","url":"http://tweetedtimes.com/"}},{"regex":"TweetmemeBot","name":"Tweetmeme Bot","category":"Crawler","url":"http://tweetmeme.com/","producer":{"name":"Mediasift","url":""}},{"regex":"Twitterbot","name":"Twitterbot","category":"Social Media Agent","url":"https://dev.twitter.com/docs/cards/getting-started","producer":{"name":"Twitter","url":"http://www.twitter.com"}},{"regex":"UniversalFeedParser","name":"UniversalFeedParser","category":"Feed Fetcher","url":"https://github.com/kurtmckee/feedparser","producer":{"name":"Kurt McKee","url":"https://github.com/kurtmckee"}},{"regex":"via secureurl\\\\.fwdcdn\\\\.com","name":"UkrNet Mail Proxy","category":"Crawler","url":"","producer":{"name":"UkrNet Ltd","url":"https://www.ukr.net/"}},{"regex":"Uptimebot","name":"Uptimebot","category":"Site Monitor","url":"https://uptime.com/uptimebot","producer":{"name":"Uptime","url":"https://uptime.com"}},{"regex":"UptimeRobot","name":"Uptime Robot","category":"Site Monitor","url":"","producer":{"name":"Uptime Robot","url":"http://uptimerobot.com"}},{"regex":"URLAppendBot","name":"URLAppendBot","category":"Crawler","url":"http://www.profound.net/urlappendbot.html","producer":{"name":"Profound Networks","url":"http://www.profound.net"}},{"regex":"Vagabondo","name":"Vagabondo","category":"Crawler","url":"","producer":{"name":"WiseGuys","url":"http://www.wise-guys.nl/"}},{"regex":"vkShare; ","name":"VK Share Button","category":"Crawler","url":"http://vk.com/dev/Share","producer":{"name":"VK","url":"http://vk.com/"}},{"regex":"VSMCrawler","name":"Visual Site Mapper Crawler","category":"Crawler","url":"http://www.visualsitemapper.com/crawler","producer":{"name":"Alentum Software Ltd.","url":"http://www.alentum.com"}},{"regex":"Jigsaw","name":"W3C CSS Validator","category":"Validator","url":"http://jigsaw.w3.org/css-validator","producer":{"name":"W3C","url":"http://www.w3.org"}},{"regex":"W3C_I18n-Checker","name":"W3C I18N Checker","category":"Validator","url":"http://validator.w3.org/i18n-checker","producer":{"name":"W3C","url":"http://www.w3.org"}},{"regex":"W3C-checklink","name":"W3C Link Checker","category":"Validator","url":"http://validator.w3.org/checklink","producer":{"name":"W3C","url":"http://www.w3.org"}},{"regex":"W3C_Validator|Validator.nu","name":"W3C Markup Validation Service","category":"Validator","url":"http://validator.w3.org/services","producer":{"name":"W3C","url":"http://www.w3.org"}},{"regex":"W3C-mobileOK","name":"W3C MobileOK Checker","category":"Validator","url":"http://validator.w3.org/mobile","producer":{"name":"W3C","url":"http://www.w3.org"}},{"regex":"W3C_Unicorn","name":"W3C Unified Validator","category":"Validator","url":"http://validator.w3.org/unicorn","producer":{"name":"W3C","url":"http://www.w3.org"}},{"regex":"Wappalyzer","name":"Wappalyzer","url":"https://github.com/AliasIO/Wappalyzer","producer":{"name":"AliasIO","url":"https://github.com/AliasIO"}},{"regex":"PTST/","name":"WebPageTest","category":"Site Monitor","url":"https://www.webpagetest.org"},{"regex":"WeSEE(:Search)?","name":"WeSEE:Search","category":"Search bot","url":"http://www.wesee.com/bot","producer":{"name":"WeSEE Ltd","url":"http://www.wesee.com"}},{"regex":"WebbCrawler","name":"WebbCrawler","category":"Crawler","url":"http://badcheese.com/crawler.html","producer":{"name":"Steve Webb","url":"http://badcheese.com"}},{"regex":"websitepulse[+ ]checker","name":"WebSitePulse","category":"Site Monitor","url":"http://badcheese.com/crawler.html","producer":{"name":"WebSitePulse","url":"http://www.websitepulse.com/"}},{"regex":"WordPress","name":"WordPress","category":"Service Agent","url":"https://wordpress.org/","producer":{"name":"Wordpress.org","url":"https://wordpress.org/"}},{"regex":"Wotbox","name":"Wotbox","category":"Search bot","url":"http://www.wotbox.com/bot/","producer":{"name":"Wotbox","url":"http://www.wotbox.com"}},{"regex":"yacybot","name":"YaCy","category":"Search bot","url":"http://yacy.net/bot.html","producer":{"name":"YaCy","url":"http://yacy.net"}},{"regex":"Yahoo! Slurp|Yahoo!-AdCrawler","name":"Yahoo! Slurp","category":"Search bot","url":"http://help.yahoo.com/ysearch/slurp","producer":{"name":"Yahoo! Inc.","url":"http://www.yahoo.com"}},{"regex":"Yahoo Link Preview|Yahoo:LinkExpander:Slingstone","name":"Yahoo! Link Preview","category":"Crawler","url":"https://help.yahoo.com/kb/mail/yahoo-link-preview-SLN23615.html","producer":{"name":"Yahoo! Inc.","url":"http://www.yahoo.com"}},{"regex":"YahooCacheSystem","name":"Yahoo! Cache System","category":"Crawler","url":"","producer":{"name":"Yahoo! Inc.","url":"http://www.yahoo.com"}},{"regex":"Yandex(SpravBot|ScreenshotBot|MobileBot|AccessibilityBot|ForDomain|Vertis|Market|Catalog|Calendar|Sitelinks|AdNet|Pagechecker|Webmaster|Media|Video|Bot|Images|Antivirus|Direct|Blogs|Favicons|ImageResizer|Verticals|News(links)?|Metrika|\\\\.Gazeta Bot)|YaDirectFetcher","name":"Yandex Bot","category":"Search bot","url":"http://www.yandex.com/bots","producer":{"name":"Yandex LLC","url":"http://company.yandex.com"}},{"regex":"Yeti","name":"Yeti/Naverbot","category":"Search bot","url":"http://help.naver.com/robots/","producer":{"name":"Naver","url":"http://www.naver.com"}},{"regex":"YoudaoBot","name":"Youdao Bot","category":"Search bot","url":"http://www.youdao.com/help/webmaster/spider","producer":{"name":"NetEase, Inc.","url":"http://corp.163.com"}},{"regex":"YOURLS v[0-9]","name":"Yourls","category":"Crawler","url":"http://yourls.org"},{"regex":"YRSpider|YYSpider","name":"Yunyun Bot","category":"Search bot","url":"http://www.yunyun.com/SiteInfo.php?r=about","producer":{"name":"YunYun","url":"http://www.yunyun.com"}},{"regex":"zgrab","name":"zgrab","category":"Security Checker","url":"https://github.com/zmap/zgrab"},{"regex":"Zookabot","name":"Zookabot","category":"Crawler","url":"http://zookabot.com","producer":{"name":"Hwacha ApS","url":"http://hwacha.dk"}},{"regex":"ZumBot","name":"ZumBot","category":"Search bot","url":"http://help.zum.com/inquiry","producer":{"name":"ZUM internet","url":"http://www.zuminternet.com/"}},{"regex":"YottaaMonitor","name":"Yottaa Site Monitor","category":"Site Monitor","url":"http://www.yottaa.com/products/site-monitor","producer":{"name":"Yottaa","url":"http://www.yottaa.com/"}},{"regex":"Yahoo Ad monitoring.*yahoo-ad-monitoring-SLN24857.*","name":"Yahoo Gemini","category":"Crawler","url":"https://help.yahoo.com/kb/yahoo-ad-monitoring-SLN24857.html","producer":{"name":"Yahoo! Inc.","url":"http://www.yahoo.com"}},{"regex":".*Java.*outbrain","name":"Outbrain","category":"Crawler","url":"","producer":{"name":"Outbrain","url":"http://www.outbrain.com/"}},{"regex":"HubPages.*crawlingpolicy","name":"HubPages","category":"Crawler","url":"http://hubpages.com/help/crawlingpolicy","producer":{"name":"HubPages","url":"http://hubpages.com/"}},{"regex":"Pinterest/\\\\d\\\\.\\\\d.*www\\\\.pinterest\\\\.com.*","name":"Pinterest","url":"","category":"Crawler","producer":{"name":"Pinterest","url":"http://www.pinterest.com/"}},{"regex":"Site24x7","name":"Site24x7 Website Monitoring","category":"Site Monitor","url":"https://www.site24x7.com/site24x7-faq.html","producer":{"name":"Site24x7","url":"https://www.site24x7.com"}},{"regex":"s~snapchat-proxy","name":"Snapchat Proxy","category":"Crawler","url":"https://www.snapchat.com","producer":{"name":"Snapchat Inc.","url":"https://www.snapchat.com"}},{"regex":"Let\'s Encrypt validation server","name":"Let\'s Encrypt Validation","category":"Service Agent","url":"https://letsencrypt.org/how-it-works/","producer":{"name":"Let\'s Encrypt","url":"https://letsencrypt.org"}},{"regex":"GrapeshotCrawler","name":"Grapeshot","category":"Crawler","url":"https://www.grapeshot.com/crawler","producer":{"name":"Grapeshot","url":"https://www.grapeshot.com"}},{"regex":"www\\\\.monitor\\\\.us","name":"Monitor.Us","category":"Site Monitor","url":"http://www.monitor.us","producer":{"name":"Monitor.Us","url":"http://www.monitor.us"}},{"regex":"Catchpoint( bot)?","name":"Catchpoint","category":"Site Monitor","url":"","producer":{"name":"Catchpoint Systems","url":"http://www.catchpoint.com/"}},{"regex":"bitlybot","name":"BitlyBot","category":"Crawler","url":"https://bitly.com","producer":{"name":"Bitly, Inc.","url":"https://bitly.com"}},{"regex":"Zao/","name":"Zao","category":"Crawler"},{"regex":"lycos","name":"Lycos"},{"regex":"Slurp","name":"Inktomi Slurp"},{"regex":"Speedy Spider","name":"Speedy"},{"regex":"ScoutJet","name":"ScoutJet"},{"regex":"nrsbot|netresearch","name":"NetResearchServer"},{"regex":"scooter","name":"Scooter"},{"regex":"gigabot","name":"Gigabot"},{"regex":"charlotte","name":"Charlotte"},{"regex":"Pompos","name":"Pompos"},{"regex":"ichiro","name":"ichiro"},{"regex":"PagePeeker","name":"PagePeeker"},{"regex":"WebThumbnail","name":"WebThumbnail"},{"regex":"Willow Internet Crawler","name":"Willow Internet Crawler"},{"regex":"EmailWolf","name":"EmailWolf"},{"regex":"NetLyzer FastProbe","name":"NetLyzer FastProbe"},{"regex":"AdMantX.*admantx\\\\.com","name":"ADMantX"},{"regex":"Server Density Service Monitoring.*","name":"Server Density"},{"regex":"RSSRadio \\\\(Push Notification Scanner;support@dorada\\\\.co\\\\.uk\\\\)","name":"RSSRadio Bot"},{"regex":"(A6-Indexer|nuhk|TsolCrawler|Yammybot|Openbot|Gulper Web Bot|grub-client|Download Demon|SearchExpress|Microsoft URL Control|borg|altavista|dataminr.com|tweetedtimes.com|TrendsmapResolver|teoma|blitzbot|oegp|furlbot|http%20client|polybot|htdig|mogimogi|larbin|scrubby|searchsight|seekbot|semanticdiscovery|snappy|vortex(?! Build)|zeal|fast-webcrawler|converacrawler|dataparksearch|findlinks|BrowserMob|HttpMonitor|ThumbShotsBot|URL2PNG|ZooShot|GomezA|Google SketchUp|Read%20Later|Minimo|RackspaceBot)","name":"Generic Bot"},{"regex":"^sentry","name":"Sentry Bot","producer":{"name":"Sentry","url":"https://sentry.io"}},{"regex":"^Spotify","name":"Spotify","producer":{"name":"Spotify","url":"https://www.spotify.com"}},{"regex":"Nutch","name":"Nutch-based Bot","category":"Crawler","url":"https://nutch.apache.org","producer":{"name":"The Apache Software Foundation","url":"http://www.apache.org/foundation/"}},{"regex":"[a-z0-9\\\\-_]*((?<!cu|power[ _]|m[ _])bot(?![ _]TAB|[ _]?5[0-9])|crawler|crawl|checker|archiver|transcoder|spider)([^a-z]|$)","name":"Generic Bot"}]')},function(e,r,o){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.versionCompare=function(e,r,o){var t,n,l=0,i={dev:-6,alpha:-5,a:-5,beta:-4,b:-4,RC:-3,rc:-3,"#":-2,p:1,pl:1},a=function(e){return(e=(e=(""+e).replace(/[_\-+]/g,".")).replace(/([^.\d]+)/g,".$1.").replace(/\.{2,}/g,".")).length?e.split("."):[-8]},d=function(e){return e?isNaN(e)?i[e]||-7:parseInt(e,10):0};for(e=a(e),r=a(r),n=Math.max(e.length,r.length),t=0;t<n;t++)if(e[t]!==r[t]){if(e[t]=d(e[t]),r[t]=d(r[t]),e[t]<r[t]){l=-1;break}if(e[t]>r[t]){l=1;break}}if(!o)return l;switch(o){case">":case"gt":return l>0;case">=":case"ge":return l>=0;case"<=":case"le":return l<=0;case"===":case"=":case"eq":return 0===l;case"<>":case"!==":case"ne":return 0!==l;case"":case"<":case"lt":return l<0;default:return null}}},function(e,r){e.exports=function(){return"function"===typeof Promise&&Promise.prototype&&Promise.prototype.then}},function(e,r,o){var t=o(9),n=o(6),l=o(19),i=o(142),a=o(143),d=o(144),m=o(145),u=o(146),s=o(32),g=o(147),c=o(154),x=o(155),p=o(7),f=o(156),S=o(18);function h(e,r,o){var t,n,l=e.size,i=x.getEncodedBits(r,o);for(t=0;t<15;t++)n=1===(i>>t&1),t<6?e.set(t,8,n,!0):t<8?e.set(t+1,8,n,!0):e.set(l-15+t,8,n,!0),t<8?e.set(8,l-t-1,n,!0):t<9?e.set(8,15-t-1+1,n,!0):e.set(8,15-t-1,n,!0);e.set(l-8,8,1,!0)}function v(e,r,o){var l=new i;o.forEach((function(r){l.put(r.mode.bit,4),l.put(r.getLength(),p.getCharCountIndicator(r.mode,e)),r.write(l)}));var a=8*(n.getSymbolTotalCodewords(e)-s.getTotalCodewordsCount(e,r));for(l.getLengthInBits()+4<=a&&l.put(0,4);l.getLengthInBits()%8!==0;)l.putBit(0);for(var d=(a-l.getLengthInBits())/8,m=0;m<d;m++)l.put(m%2?17:236,8);return function(e,r,o){for(var l=n.getSymbolTotalCodewords(r),i=s.getTotalCodewordsCount(r,o),a=l-i,d=s.getBlocksCount(r,o),m=d-l%d,u=Math.floor(l/d),c=Math.floor(a/d),x=c+1,p=u-c,f=new g(p),S=0,h=new Array(d),v=new Array(d),A=0,b=t.from(e.buffer),T=0;T<d;T++){var M=T<m?c:x;h[T]=b.slice(S,S+M),v[T]=f.encode(h[T]),S+=M,A=Math.max(A,M)}var P,y,L=t.alloc(l),E=0;for(P=0;P<A;P++)for(y=0;y<d;y++)P<h[y].length&&(L[E++]=h[y][P]);for(P=0;P<p;P++)for(y=0;y<d;y++)L[E++]=v[y][P];return L}(l,e,r)}function A(e,r,o,t){var l;if(S(e))l=f.fromArray(e);else{if("string"!==typeof e)throw new Error("Invalid data");var i=r;if(!i){var s=f.rawSplit(e);i=c.getBestVersionForData(s,o)}l=f.fromString(e,i||40)}var g=c.getBestVersionForData(l,o);if(!g)throw new Error("The amount of data is too big to be stored in a QR Code");if(r){if(r<g)throw new Error("\nThe chosen QR Code version cannot contain this amount of data.\nMinimum version required to store current data is: "+g+".\n")}else r=g;var x=v(r,o,l),p=n.getSymbolSize(r),A=new a(p);return function(e,r){for(var o=e.size,t=m.getPositions(r),n=0;n<t.length;n++)for(var l=t[n][0],i=t[n][1],a=-1;a<=7;a++)if(!(l+a<=-1||o<=l+a))for(var d=-1;d<=7;d++)i+d<=-1||o<=i+d||(a>=0&&a<=6&&(0===d||6===d)||d>=0&&d<=6&&(0===a||6===a)||a>=2&&a<=4&&d>=2&&d<=4?e.set(l+a,i+d,!0,!0):e.set(l+a,i+d,!1,!0))}(A,r),function(e){for(var r=e.size,o=8;o<r-8;o++){var t=o%2===0;e.set(o,6,t,!0),e.set(6,o,t,!0)}}(A),function(e,r){for(var o=d.getPositions(r),t=0;t<o.length;t++)for(var n=o[t][0],l=o[t][1],i=-2;i<=2;i++)for(var a=-2;a<=2;a++)-2===i||2===i||-2===a||2===a||0===i&&0===a?e.set(n+i,l+a,!0,!0):e.set(n+i,l+a,!1,!0)}(A,r),h(A,o,0),r>=7&&function(e,r){for(var o,t,n,l=e.size,i=c.getEncodedBits(r),a=0;a<18;a++)o=Math.floor(a/3),t=a%3+l-8-3,n=1===(i>>a&1),e.set(o,t,n,!0),e.set(t,o,n,!0)}(A,r),function(e,r){for(var o=e.size,t=-1,n=o-1,l=7,i=0,a=o-1;a>0;a-=2)for(6===a&&a--;;){for(var d=0;d<2;d++)if(!e.isReserved(n,a-d)){var m=!1;i<r.length&&(m=1===(r[i]>>>l&1)),e.set(n,a-d,m),-1===--l&&(i++,l=7)}if((n+=t)<0||o<=n){n-=t,t=-t;break}}}(A,x),isNaN(t)&&(t=u.getBestMask(A,h.bind(null,A,o))),u.applyMask(t,A),h(A,o,t),{modules:A,version:r,errorCorrectionLevel:o,maskPattern:t,segments:l}}r.create=function(e,r){if("undefined"===typeof e||""===e)throw new Error("No input text");var o,t,i=l.M;return"undefined"!==typeof r&&(i=l.from(r.errorCorrectionLevel,l.M),o=c.from(r.version),t=u.from(r.maskPattern),r.toSJISFunc&&n.setToSJISFunction(r.toSJISFunc)),A(e,o,i,t)}},function(e,r){function o(){this.buffer=[],this.length=0}o.prototype={get:function(e){var r=Math.floor(e/8);return 1===(this.buffer[r]>>>7-e%8&1)},put:function(e,r){for(var o=0;o<r;o++)this.putBit(1===(e>>>r-o-1&1))},getLengthInBits:function(){return this.length},putBit:function(e){var r=Math.floor(this.length/8);this.buffer.length<=r&&this.buffer.push(0),e&&(this.buffer[r]|=128>>>this.length%8),this.length++}},e.exports=o},function(e,r,o){var t=o(9);function n(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=t.alloc(e*e),this.reservedBit=t.alloc(e*e)}n.prototype.set=function(e,r,o,t){var n=e*this.size+r;this.data[n]=o,t&&(this.reservedBit[n]=!0)},n.prototype.get=function(e,r){return this.data[e*this.size+r]},n.prototype.xor=function(e,r,o){this.data[e*this.size+r]^=o},n.prototype.isReserved=function(e,r){return this.reservedBit[e*this.size+r]},e.exports=n},function(e,r,o){var t=o(6).getSymbolSize;r.getRowColCoords=function(e){if(1===e)return[];for(var r=Math.floor(e/7)+2,o=t(e),n=145===o?26:2*Math.ceil((o-13)/(2*r-2)),l=[o-7],i=1;i<r-1;i++)l[i]=l[i-1]-n;return l.push(6),l.reverse()},r.getPositions=function(e){for(var o=[],t=r.getRowColCoords(e),n=t.length,l=0;l<n;l++)for(var i=0;i<n;i++)0===l&&0===i||0===l&&i===n-1||l===n-1&&0===i||o.push([t[l],t[i]]);return o}},function(e,r,o){var t=o(6).getSymbolSize;r.getPositions=function(e){var r=t(e);return[[0,0],[r-7,0],[0,r-7]]}},function(e,r){r.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var o=3,t=3,n=40,l=10;function i(e,o,t){switch(e){case r.Patterns.PATTERN000:return(o+t)%2===0;case r.Patterns.PATTERN001:return o%2===0;case r.Patterns.PATTERN010:return t%3===0;case r.Patterns.PATTERN011:return(o+t)%3===0;case r.Patterns.PATTERN100:return(Math.floor(o/2)+Math.floor(t/3))%2===0;case r.Patterns.PATTERN101:return o*t%2+o*t%3===0;case r.Patterns.PATTERN110:return(o*t%2+o*t%3)%2===0;case r.Patterns.PATTERN111:return(o*t%3+(o+t)%2)%2===0;default:throw new Error("bad maskPattern:"+e)}}r.isValid=function(e){return null!=e&&""!==e&&!isNaN(e)&&e>=0&&e<=7},r.from=function(e){return r.isValid(e)?parseInt(e,10):void 0},r.getPenaltyN1=function(e){for(var r=e.size,t=0,n=0,l=0,i=null,a=null,d=0;d<r;d++){n=l=0,i=a=null;for(var m=0;m<r;m++){var u=e.get(d,m);u===i?n++:(n>=5&&(t+=o+(n-5)),i=u,n=1),(u=e.get(m,d))===a?l++:(l>=5&&(t+=o+(l-5)),a=u,l=1)}n>=5&&(t+=o+(n-5)),l>=5&&(t+=o+(l-5))}return t},r.getPenaltyN2=function(e){for(var r=e.size,o=0,n=0;n<r-1;n++)for(var l=0;l<r-1;l++){var i=e.get(n,l)+e.get(n,l+1)+e.get(n+1,l)+e.get(n+1,l+1);4!==i&&0!==i||o++}return o*t},r.getPenaltyN3=function(e){for(var r=e.size,o=0,t=0,l=0,i=0;i<r;i++){t=l=0;for(var a=0;a<r;a++)t=t<<1&2047|e.get(i,a),a>=10&&(1488===t||93===t)&&o++,l=l<<1&2047|e.get(a,i),a>=10&&(1488===l||93===l)&&o++}return o*n},r.getPenaltyN4=function(e){for(var r=0,o=e.data.length,t=0;t<o;t++)r+=e.data[t];return Math.abs(Math.ceil(100*r/o/5)-10)*l},r.applyMask=function(e,r){for(var o=r.size,t=0;t<o;t++)for(var n=0;n<o;n++)r.isReserved(n,t)||r.xor(n,t,i(e,n,t))},r.getBestMask=function(e,o){for(var t=Object.keys(r.Patterns).length,n=0,l=1/0,i=0;i<t;i++){o(i),r.applyMask(i,e);var a=r.getPenaltyN1(e)+r.getPenaltyN2(e)+r.getPenaltyN3(e)+r.getPenaltyN4(e);r.applyMask(i,e),a<l&&(l=a,n=i)}return n}},function(e,r,o){var t=o(9),n=o(148),l=o(150).Buffer;function i(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}i.prototype.initialize=function(e){this.degree=e,this.genPoly=n.generateECPolynomial(this.degree)},i.prototype.encode=function(e){if(!this.genPoly)throw new Error("Encoder not initialized");var r=t.alloc(this.degree),o=l.concat([e,r],e.length+this.degree),i=n.mod(o,this.genPoly),a=this.degree-i.length;if(a>0){var d=t.alloc(this.degree);return i.copy(d,a),d}return i},e.exports=i},function(e,r,o){var t=o(9),n=o(149);r.mul=function(e,r){for(var o=t.alloc(e.length+r.length-1),l=0;l<e.length;l++)for(var i=0;i<r.length;i++)o[l+i]^=n.mul(e[l],r[i]);return o},r.mod=function(e,r){for(var o=t.from(e);o.length-r.length>=0;){for(var l=o[0],i=0;i<r.length;i++)o[i]^=n.mul(r[i],l);for(var a=0;a<o.length&&0===o[a];)a++;o=o.slice(a)}return o},r.generateECPolynomial=function(e){for(var o=t.from([1]),l=0;l<e;l++)o=r.mul(o,[1,n.exp(l)]);return o}},function(e,r,o){var t=o(9),n=t.alloc(512),l=t.alloc(256);!function(){for(var e=1,r=0;r<255;r++)n[r]=e,l[e]=r,256&(e<<=1)&&(e^=285);for(r=255;r<512;r++)n[r]=n[r-255]}(),r.log=function(e){if(e<1)throw new Error("log("+e+")");return l[e]},r.exp=function(e){return n[e]},r.mul=function(e,r){return 0===e||0===r?0:n[l[e]+l[r]]}},function(e,r,o){"use strict";(function(e){var t=o(151),n=o(152),l=o(153);function i(){return d.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,r){if(i()<r)throw new RangeError("Invalid typed array length");return d.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(r)).__proto__=d.prototype:(null===e&&(e=new d(r)),e.length=r),e}function d(e,r,o){if(!d.TYPED_ARRAY_SUPPORT&&!(this instanceof d))return new d(e,r,o);if("number"===typeof e){if("string"===typeof r)throw new Error("If encoding is specified then the first argument must be a string");return s(this,e)}return m(this,e,r,o)}function m(e,r,o,t){if("number"===typeof r)throw new TypeError('"value" argument must not be a number');return"undefined"!==typeof ArrayBuffer&&r instanceof ArrayBuffer?function(e,r,o,t){if(r.byteLength,o<0||r.byteLength<o)throw new RangeError("'offset' is out of bounds");if(r.byteLength<o+(t||0))throw new RangeError("'length' is out of bounds");r=void 0===o&&void 0===t?new Uint8Array(r):void 0===t?new Uint8Array(r,o):new Uint8Array(r,o,t);d.TYPED_ARRAY_SUPPORT?(e=r).__proto__=d.prototype:e=g(e,r);return e}(e,r,o,t):"string"===typeof r?function(e,r,o){"string"===typeof o&&""!==o||(o="utf8");if(!d.isEncoding(o))throw new TypeError('"encoding" must be a valid string encoding');var t=0|x(r,o),n=(e=a(e,t)).write(r,o);n!==t&&(e=e.slice(0,n));return e}(e,r,o):function(e,r){if(d.isBuffer(r)){var o=0|c(r.length);return 0===(e=a(e,o)).length?e:(r.copy(e,0,0,o),e)}if(r){if("undefined"!==typeof ArrayBuffer&&r.buffer instanceof ArrayBuffer||"length"in r)return"number"!==typeof r.length||(t=r.length)!==t?a(e,0):g(e,r);if("Buffer"===r.type&&l(r.data))return g(e,r.data)}var t;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,r)}function u(e){if("number"!==typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function s(e,r){if(u(r),e=a(e,r<0?0:0|c(r)),!d.TYPED_ARRAY_SUPPORT)for(var o=0;o<r;++o)e[o]=0;return e}function g(e,r){var o=r.length<0?0:0|c(r.length);e=a(e,o);for(var t=0;t<o;t+=1)e[t]=255&r[t];return e}function c(e){if(e>=i())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i().toString(16)+" bytes");return 0|e}function x(e,r){if(d.isBuffer(e))return e.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!==typeof e&&(e=""+e);var o=e.length;if(0===o)return 0;for(var t=!1;;)switch(r){case"ascii":case"latin1":case"binary":return o;case"utf8":case"utf-8":case void 0:return k(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*o;case"hex":return o>>>1;case"base64":return U(e).length;default:if(t)return k(e).length;r=(""+r).toLowerCase(),t=!0}}function p(e,r,o){var t=!1;if((void 0===r||r<0)&&(r=0),r>this.length)return"";if((void 0===o||o>this.length)&&(o=this.length),o<=0)return"";if((o>>>=0)<=(r>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return B(this,r,o);case"utf8":case"utf-8":return L(this,r,o);case"ascii":return _(this,r,o);case"latin1":case"binary":return w(this,r,o);case"base64":return y(this,r,o);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,r,o);default:if(t)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),t=!0}}function f(e,r,o){var t=e[r];e[r]=e[o],e[o]=t}function S(e,r,o,t,n){if(0===e.length)return-1;if("string"===typeof o?(t=o,o=0):o>2147483647?o=2147483647:o<-2147483648&&(o=-2147483648),o=+o,isNaN(o)&&(o=n?0:e.length-1),o<0&&(o=e.length+o),o>=e.length){if(n)return-1;o=e.length-1}else if(o<0){if(!n)return-1;o=0}if("string"===typeof r&&(r=d.from(r,t)),d.isBuffer(r))return 0===r.length?-1:h(e,r,o,t,n);if("number"===typeof r)return r&=255,d.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(e,r,o):Uint8Array.prototype.lastIndexOf.call(e,r,o):h(e,[r],o,t,n);throw new TypeError("val must be string, number or Buffer")}function h(e,r,o,t,n){var l,i=1,a=e.length,d=r.length;if(void 0!==t&&("ucs2"===(t=String(t).toLowerCase())||"ucs-2"===t||"utf16le"===t||"utf-16le"===t)){if(e.length<2||r.length<2)return-1;i=2,a/=2,d/=2,o/=2}function m(e,r){return 1===i?e[r]:e.readUInt16BE(r*i)}if(n){var u=-1;for(l=o;l<a;l++)if(m(e,l)===m(r,-1===u?0:l-u)){if(-1===u&&(u=l),l-u+1===d)return u*i}else-1!==u&&(l-=l-u),u=-1}else for(o+d>a&&(o=a-d),l=o;l>=0;l--){for(var s=!0,g=0;g<d;g++)if(m(e,l+g)!==m(r,g)){s=!1;break}if(s)return l}return-1}function v(e,r,o,t){o=Number(o)||0;var n=e.length-o;t?(t=Number(t))>n&&(t=n):t=n;var l=r.length;if(l%2!==0)throw new TypeError("Invalid hex string");t>l/2&&(t=l/2);for(var i=0;i<t;++i){var a=parseInt(r.substr(2*i,2),16);if(isNaN(a))return i;e[o+i]=a}return i}function A(e,r,o,t){return V(k(r,e.length-o),e,o,t)}function b(e,r,o,t){return V(function(e){for(var r=[],o=0;o<e.length;++o)r.push(255&e.charCodeAt(o));return r}(r),e,o,t)}function T(e,r,o,t){return b(e,r,o,t)}function M(e,r,o,t){return V(U(r),e,o,t)}function P(e,r,o,t){return V(function(e,r){for(var o,t,n,l=[],i=0;i<e.length&&!((r-=2)<0);++i)o=e.charCodeAt(i),t=o>>8,n=o%256,l.push(n),l.push(t);return l}(r,e.length-o),e,o,t)}function y(e,r,o){return 0===r&&o===e.length?t.fromByteArray(e):t.fromByteArray(e.slice(r,o))}function L(e,r,o){o=Math.min(e.length,o);for(var t=[],n=r;n<o;){var l,i,a,d,m=e[n],u=null,s=m>239?4:m>223?3:m>191?2:1;if(n+s<=o)switch(s){case 1:m<128&&(u=m);break;case 2:128===(192&(l=e[n+1]))&&(d=(31&m)<<6|63&l)>127&&(u=d);break;case 3:l=e[n+1],i=e[n+2],128===(192&l)&&128===(192&i)&&(d=(15&m)<<12|(63&l)<<6|63&i)>2047&&(d<55296||d>57343)&&(u=d);break;case 4:l=e[n+1],i=e[n+2],a=e[n+3],128===(192&l)&&128===(192&i)&&128===(192&a)&&(d=(15&m)<<18|(63&l)<<12|(63&i)<<6|63&a)>65535&&d<1114112&&(u=d)}null===u?(u=65533,s=1):u>65535&&(u-=65536,t.push(u>>>10&1023|55296),u=56320|1023&u),t.push(u),n+=s}return function(e){var r=e.length;if(r<=E)return String.fromCharCode.apply(String,e);var o="",t=0;for(;t<r;)o+=String.fromCharCode.apply(String,e.slice(t,t+=E));return o}(t)}r.Buffer=d,r.SlowBuffer=function(e){+e!=e&&(e=0);return d.alloc(+e)},r.INSPECT_MAX_BYTES=50,d.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"===typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(r){return!1}}(),r.kMaxLength=i(),d.poolSize=8192,d._augment=function(e){return e.__proto__=d.prototype,e},d.from=function(e,r,o){return m(null,e,r,o)},d.TYPED_ARRAY_SUPPORT&&(d.prototype.__proto__=Uint8Array.prototype,d.__proto__=Uint8Array,"undefined"!==typeof Symbol&&Symbol.species&&d[Symbol.species]===d&&Object.defineProperty(d,Symbol.species,{value:null,configurable:!0})),d.alloc=function(e,r,o){return function(e,r,o,t){return u(r),r<=0?a(e,r):void 0!==o?"string"===typeof t?a(e,r).fill(o,t):a(e,r).fill(o):a(e,r)}(null,e,r,o)},d.allocUnsafe=function(e){return s(null,e)},d.allocUnsafeSlow=function(e){return s(null,e)},d.isBuffer=function(e){return!(null==e||!e._isBuffer)},d.compare=function(e,r){if(!d.isBuffer(e)||!d.isBuffer(r))throw new TypeError("Arguments must be Buffers");if(e===r)return 0;for(var o=e.length,t=r.length,n=0,l=Math.min(o,t);n<l;++n)if(e[n]!==r[n]){o=e[n],t=r[n];break}return o<t?-1:t<o?1:0},d.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},d.concat=function(e,r){if(!l(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return d.alloc(0);var o;if(void 0===r)for(r=0,o=0;o<e.length;++o)r+=e[o].length;var t=d.allocUnsafe(r),n=0;for(o=0;o<e.length;++o){var i=e[o];if(!d.isBuffer(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(t,n),n+=i.length}return t},d.byteLength=x,d.prototype._isBuffer=!0,d.prototype.swap16=function(){var e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var r=0;r<e;r+=2)f(this,r,r+1);return this},d.prototype.swap32=function(){var e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var r=0;r<e;r+=4)f(this,r,r+3),f(this,r+1,r+2);return this},d.prototype.swap64=function(){var e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var r=0;r<e;r+=8)f(this,r,r+7),f(this,r+1,r+6),f(this,r+2,r+5),f(this,r+3,r+4);return this},d.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?L(this,0,e):p.apply(this,arguments)},d.prototype.equals=function(e){if(!d.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===d.compare(this,e)},d.prototype.inspect=function(){var e="",o=r.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,o).match(/.{2}/g).join(" "),this.length>o&&(e+=" ... ")),"<Buffer "+e+">"},d.prototype.compare=function(e,r,o,t,n){if(!d.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===r&&(r=0),void 0===o&&(o=e?e.length:0),void 0===t&&(t=0),void 0===n&&(n=this.length),r<0||o>e.length||t<0||n>this.length)throw new RangeError("out of range index");if(t>=n&&r>=o)return 0;if(t>=n)return-1;if(r>=o)return 1;if(this===e)return 0;for(var l=(n>>>=0)-(t>>>=0),i=(o>>>=0)-(r>>>=0),a=Math.min(l,i),m=this.slice(t,n),u=e.slice(r,o),s=0;s<a;++s)if(m[s]!==u[s]){l=m[s],i=u[s];break}return l<i?-1:i<l?1:0},d.prototype.includes=function(e,r,o){return-1!==this.indexOf(e,r,o)},d.prototype.indexOf=function(e,r,o){return S(this,e,r,o,!0)},d.prototype.lastIndexOf=function(e,r,o){return S(this,e,r,o,!1)},d.prototype.write=function(e,r,o,t){if(void 0===r)t="utf8",o=this.length,r=0;else if(void 0===o&&"string"===typeof r)t=r,o=this.length,r=0;else{if(!isFinite(r))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");r|=0,isFinite(o)?(o|=0,void 0===t&&(t="utf8")):(t=o,o=void 0)}var n=this.length-r;if((void 0===o||o>n)&&(o=n),e.length>0&&(o<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");t||(t="utf8");for(var l=!1;;)switch(t){case"hex":return v(this,e,r,o);case"utf8":case"utf-8":return A(this,e,r,o);case"ascii":return b(this,e,r,o);case"latin1":case"binary":return T(this,e,r,o);case"base64":return M(this,e,r,o);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,e,r,o);default:if(l)throw new TypeError("Unknown encoding: "+t);t=(""+t).toLowerCase(),l=!0}},d.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var E=4096;function _(e,r,o){var t="";o=Math.min(e.length,o);for(var n=r;n<o;++n)t+=String.fromCharCode(127&e[n]);return t}function w(e,r,o){var t="";o=Math.min(e.length,o);for(var n=r;n<o;++n)t+=String.fromCharCode(e[n]);return t}function B(e,r,o){var t=e.length;(!r||r<0)&&(r=0),(!o||o<0||o>t)&&(o=t);for(var n="",l=r;l<o;++l)n+=R(e[l]);return n}function C(e,r,o){for(var t=e.slice(r,o),n="",l=0;l<t.length;l+=2)n+=String.fromCharCode(t[l]+256*t[l+1]);return n}function G(e,r,o){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+r>o)throw new RangeError("Trying to access beyond buffer length")}function N(e,r,o,t,n,l){if(!d.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(r>n||r<l)throw new RangeError('"value" argument is out of bounds');if(o+t>e.length)throw new RangeError("Index out of range")}function O(e,r,o,t){r<0&&(r=65535+r+1);for(var n=0,l=Math.min(e.length-o,2);n<l;++n)e[o+n]=(r&255<<8*(t?n:1-n))>>>8*(t?n:1-n)}function I(e,r,o,t){r<0&&(r=4294967295+r+1);for(var n=0,l=Math.min(e.length-o,4);n<l;++n)e[o+n]=r>>>8*(t?n:3-n)&255}function X(e,r,o,t,n,l){if(o+t>e.length)throw new RangeError("Index out of range");if(o<0)throw new RangeError("Index out of range")}function D(e,r,o,t,l){return l||X(e,0,o,4),n.write(e,r,o,t,23,4),o+4}function F(e,r,o,t,l){return l||X(e,0,o,8),n.write(e,r,o,t,52,8),o+8}d.prototype.slice=function(e,r){var o,t=this.length;if((e=~~e)<0?(e+=t)<0&&(e=0):e>t&&(e=t),(r=void 0===r?t:~~r)<0?(r+=t)<0&&(r=0):r>t&&(r=t),r<e&&(r=e),d.TYPED_ARRAY_SUPPORT)(o=this.subarray(e,r)).__proto__=d.prototype;else{var n=r-e;o=new d(n,void 0);for(var l=0;l<n;++l)o[l]=this[l+e]}return o},d.prototype.readUIntLE=function(e,r,o){e|=0,r|=0,o||G(e,r,this.length);for(var t=this[e],n=1,l=0;++l<r&&(n*=256);)t+=this[e+l]*n;return t},d.prototype.readUIntBE=function(e,r,o){e|=0,r|=0,o||G(e,r,this.length);for(var t=this[e+--r],n=1;r>0&&(n*=256);)t+=this[e+--r]*n;return t},d.prototype.readUInt8=function(e,r){return r||G(e,1,this.length),this[e]},d.prototype.readUInt16LE=function(e,r){return r||G(e,2,this.length),this[e]|this[e+1]<<8},d.prototype.readUInt16BE=function(e,r){return r||G(e,2,this.length),this[e]<<8|this[e+1]},d.prototype.readUInt32LE=function(e,r){return r||G(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},d.prototype.readUInt32BE=function(e,r){return r||G(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},d.prototype.readIntLE=function(e,r,o){e|=0,r|=0,o||G(e,r,this.length);for(var t=this[e],n=1,l=0;++l<r&&(n*=256);)t+=this[e+l]*n;return t>=(n*=128)&&(t-=Math.pow(2,8*r)),t},d.prototype.readIntBE=function(e,r,o){e|=0,r|=0,o||G(e,r,this.length);for(var t=r,n=1,l=this[e+--t];t>0&&(n*=256);)l+=this[e+--t]*n;return l>=(n*=128)&&(l-=Math.pow(2,8*r)),l},d.prototype.readInt8=function(e,r){return r||G(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},d.prototype.readInt16LE=function(e,r){r||G(e,2,this.length);var o=this[e]|this[e+1]<<8;return 32768&o?4294901760|o:o},d.prototype.readInt16BE=function(e,r){r||G(e,2,this.length);var o=this[e+1]|this[e]<<8;return 32768&o?4294901760|o:o},d.prototype.readInt32LE=function(e,r){return r||G(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},d.prototype.readInt32BE=function(e,r){return r||G(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},d.prototype.readFloatLE=function(e,r){return r||G(e,4,this.length),n.read(this,e,!0,23,4)},d.prototype.readFloatBE=function(e,r){return r||G(e,4,this.length),n.read(this,e,!1,23,4)},d.prototype.readDoubleLE=function(e,r){return r||G(e,8,this.length),n.read(this,e,!0,52,8)},d.prototype.readDoubleBE=function(e,r){return r||G(e,8,this.length),n.read(this,e,!1,52,8)},d.prototype.writeUIntLE=function(e,r,o,t){(e=+e,r|=0,o|=0,t)||N(this,e,r,o,Math.pow(2,8*o)-1,0);var n=1,l=0;for(this[r]=255&e;++l<o&&(n*=256);)this[r+l]=e/n&255;return r+o},d.prototype.writeUIntBE=function(e,r,o,t){(e=+e,r|=0,o|=0,t)||N(this,e,r,o,Math.pow(2,8*o)-1,0);var n=o-1,l=1;for(this[r+n]=255&e;--n>=0&&(l*=256);)this[r+n]=e/l&255;return r+o},d.prototype.writeUInt8=function(e,r,o){return e=+e,r|=0,o||N(this,e,r,1,255,0),d.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[r]=255&e,r+1},d.prototype.writeUInt16LE=function(e,r,o){return e=+e,r|=0,o||N(this,e,r,2,65535,0),d.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):O(this,e,r,!0),r+2},d.prototype.writeUInt16BE=function(e,r,o){return e=+e,r|=0,o||N(this,e,r,2,65535,0),d.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):O(this,e,r,!1),r+2},d.prototype.writeUInt32LE=function(e,r,o){return e=+e,r|=0,o||N(this,e,r,4,4294967295,0),d.TYPED_ARRAY_SUPPORT?(this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=255&e):I(this,e,r,!0),r+4},d.prototype.writeUInt32BE=function(e,r,o){return e=+e,r|=0,o||N(this,e,r,4,4294967295,0),d.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):I(this,e,r,!1),r+4},d.prototype.writeIntLE=function(e,r,o,t){if(e=+e,r|=0,!t){var n=Math.pow(2,8*o-1);N(this,e,r,o,n-1,-n)}var l=0,i=1,a=0;for(this[r]=255&e;++l<o&&(i*=256);)e<0&&0===a&&0!==this[r+l-1]&&(a=1),this[r+l]=(e/i>>0)-a&255;return r+o},d.prototype.writeIntBE=function(e,r,o,t){if(e=+e,r|=0,!t){var n=Math.pow(2,8*o-1);N(this,e,r,o,n-1,-n)}var l=o-1,i=1,a=0;for(this[r+l]=255&e;--l>=0&&(i*=256);)e<0&&0===a&&0!==this[r+l+1]&&(a=1),this[r+l]=(e/i>>0)-a&255;return r+o},d.prototype.writeInt8=function(e,r,o){return e=+e,r|=0,o||N(this,e,r,1,127,-128),d.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[r]=255&e,r+1},d.prototype.writeInt16LE=function(e,r,o){return e=+e,r|=0,o||N(this,e,r,2,32767,-32768),d.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):O(this,e,r,!0),r+2},d.prototype.writeInt16BE=function(e,r,o){return e=+e,r|=0,o||N(this,e,r,2,32767,-32768),d.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):O(this,e,r,!1),r+2},d.prototype.writeInt32LE=function(e,r,o){return e=+e,r|=0,o||N(this,e,r,4,2147483647,-2147483648),d.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24):I(this,e,r,!0),r+4},d.prototype.writeInt32BE=function(e,r,o){return e=+e,r|=0,o||N(this,e,r,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),d.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):I(this,e,r,!1),r+4},d.prototype.writeFloatLE=function(e,r,o){return D(this,e,r,!0,o)},d.prototype.writeFloatBE=function(e,r,o){return D(this,e,r,!1,o)},d.prototype.writeDoubleLE=function(e,r,o){return F(this,e,r,!0,o)},d.prototype.writeDoubleBE=function(e,r,o){return F(this,e,r,!1,o)},d.prototype.copy=function(e,r,o,t){if(o||(o=0),t||0===t||(t=this.length),r>=e.length&&(r=e.length),r||(r=0),t>0&&t<o&&(t=o),t===o)return 0;if(0===e.length||0===this.length)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(o<0||o>=this.length)throw new RangeError("sourceStart out of bounds");if(t<0)throw new RangeError("sourceEnd out of bounds");t>this.length&&(t=this.length),e.length-r<t-o&&(t=e.length-r+o);var n,l=t-o;if(this===e&&o<r&&r<t)for(n=l-1;n>=0;--n)e[n+r]=this[n+o];else if(l<1e3||!d.TYPED_ARRAY_SUPPORT)for(n=0;n<l;++n)e[n+r]=this[n+o];else Uint8Array.prototype.set.call(e,this.subarray(o,o+l),r);return l},d.prototype.fill=function(e,r,o,t){if("string"===typeof e){if("string"===typeof r?(t=r,r=0,o=this.length):"string"===typeof o&&(t=o,o=this.length),1===e.length){var n=e.charCodeAt(0);n<256&&(e=n)}if(void 0!==t&&"string"!==typeof t)throw new TypeError("encoding must be a string");if("string"===typeof t&&!d.isEncoding(t))throw new TypeError("Unknown encoding: "+t)}else"number"===typeof e&&(e&=255);if(r<0||this.length<r||this.length<o)throw new RangeError("Out of range index");if(o<=r)return this;var l;if(r>>>=0,o=void 0===o?this.length:o>>>0,e||(e=0),"number"===typeof e)for(l=r;l<o;++l)this[l]=e;else{var i=d.isBuffer(e)?e:k(new d(e,t).toString()),a=i.length;for(l=0;l<o-r;++l)this[l+r]=i[l%a]}return this};var $=/[^+\/0-9A-Za-z-_]/g;function R(e){return e<16?"0"+e.toString(16):e.toString(16)}function k(e,r){var o;r=r||1/0;for(var t=e.length,n=null,l=[],i=0;i<t;++i){if((o=e.charCodeAt(i))>55295&&o<57344){if(!n){if(o>56319){(r-=3)>-1&&l.push(239,191,189);continue}if(i+1===t){(r-=3)>-1&&l.push(239,191,189);continue}n=o;continue}if(o<56320){(r-=3)>-1&&l.push(239,191,189),n=o;continue}o=65536+(n-55296<<10|o-56320)}else n&&(r-=3)>-1&&l.push(239,191,189);if(n=null,o<128){if((r-=1)<0)break;l.push(o)}else if(o<2048){if((r-=2)<0)break;l.push(o>>6|192,63&o|128)}else if(o<65536){if((r-=3)<0)break;l.push(o>>12|224,o>>6&63|128,63&o|128)}else{if(!(o<1114112))throw new Error("Invalid code point");if((r-=4)<0)break;l.push(o>>18|240,o>>12&63|128,o>>6&63|128,63&o|128)}}return l}function U(e){return t.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace($,"")).length<2)return"";for(;e.length%4!==0;)e+="=";return e}(e))}function V(e,r,o,t){for(var n=0;n<t&&!(n+o>=r.length||n>=e.length);++n)r[n+o]=e[n];return n}}).call(this,o(24))},function(e,r,o){"use strict";r.byteLength=function(e){var r=m(e),o=r[0],t=r[1];return 3*(o+t)/4-t},r.toByteArray=function(e){var r,o,t=m(e),i=t[0],a=t[1],d=new l(function(e,r,o){return 3*(r+o)/4-o}(0,i,a)),u=0,s=a>0?i-4:i;for(o=0;o<s;o+=4)r=n[e.charCodeAt(o)]<<18|n[e.charCodeAt(o+1)]<<12|n[e.charCodeAt(o+2)]<<6|n[e.charCodeAt(o+3)],d[u++]=r>>16&255,d[u++]=r>>8&255,d[u++]=255&r;2===a&&(r=n[e.charCodeAt(o)]<<2|n[e.charCodeAt(o+1)]>>4,d[u++]=255&r);1===a&&(r=n[e.charCodeAt(o)]<<10|n[e.charCodeAt(o+1)]<<4|n[e.charCodeAt(o+2)]>>2,d[u++]=r>>8&255,d[u++]=255&r);return d},r.fromByteArray=function(e){for(var r,o=e.length,n=o%3,l=[],i=0,a=o-n;i<a;i+=16383)l.push(u(e,i,i+16383>a?a:i+16383));1===n?(r=e[o-1],l.push(t[r>>2]+t[r<<4&63]+"==")):2===n&&(r=(e[o-2]<<8)+e[o-1],l.push(t[r>>10]+t[r>>4&63]+t[r<<2&63]+"="));return l.join("")};for(var t=[],n=[],l="undefined"!==typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,d=i.length;a<d;++a)t[a]=i[a],n[i.charCodeAt(a)]=a;function m(e){var r=e.length;if(r%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var o=e.indexOf("=");return-1===o&&(o=r),[o,o===r?0:4-o%4]}function u(e,r,o){for(var n,l,i=[],a=r;a<o;a+=3)n=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(255&e[a+2]),i.push(t[(l=n)>>18&63]+t[l>>12&63]+t[l>>6&63]+t[63&l]);return i.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},function(e,r){r.read=function(e,r,o,t,n){var l,i,a=8*n-t-1,d=(1<<a)-1,m=d>>1,u=-7,s=o?n-1:0,g=o?-1:1,c=e[r+s];for(s+=g,l=c&(1<<-u)-1,c>>=-u,u+=a;u>0;l=256*l+e[r+s],s+=g,u-=8);for(i=l&(1<<-u)-1,l>>=-u,u+=t;u>0;i=256*i+e[r+s],s+=g,u-=8);if(0===l)l=1-m;else{if(l===d)return i?NaN:1/0*(c?-1:1);i+=Math.pow(2,t),l-=m}return(c?-1:1)*i*Math.pow(2,l-t)},r.write=function(e,r,o,t,n,l){var i,a,d,m=8*l-n-1,u=(1<<m)-1,s=u>>1,g=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,c=t?0:l-1,x=t?1:-1,p=r<0||0===r&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(a=isNaN(r)?1:0,i=u):(i=Math.floor(Math.log(r)/Math.LN2),r*(d=Math.pow(2,-i))<1&&(i--,d*=2),(r+=i+s>=1?g/d:g*Math.pow(2,1-s))*d>=2&&(i++,d/=2),i+s>=u?(a=0,i=u):i+s>=1?(a=(r*d-1)*Math.pow(2,n),i+=s):(a=r*Math.pow(2,s-1)*Math.pow(2,n),i=0));n>=8;e[o+c]=255&a,c+=x,a/=256,n-=8);for(i=i<<n|a,m+=n;m>0;e[o+c]=255&i,c+=x,i/=256,m-=8);e[o+c-x]|=128*p}},function(e,r){var o={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==o.call(e)}},function(e,r,o){var t=o(6),n=o(32),l=o(19),i=o(7),a=o(33),d=o(18),m=t.getBCHDigit(7973);function u(e,r){return i.getCharCountIndicator(e,r)+4}function s(e,r){var o=0;return e.forEach((function(e){var t=u(e.mode,r);o+=t+e.getBitsLength()})),o}r.from=function(e,r){return a.isValid(e)?parseInt(e,10):r},r.getCapacity=function(e,r,o){if(!a.isValid(e))throw new Error("Invalid QR Code version");"undefined"===typeof o&&(o=i.BYTE);var l=8*(t.getSymbolTotalCodewords(e)-n.getTotalCodewordsCount(e,r));if(o===i.MIXED)return l;var d=l-u(o,e);switch(o){case i.NUMERIC:return Math.floor(d/10*3);case i.ALPHANUMERIC:return Math.floor(d/11*2);case i.KANJI:return Math.floor(d/13);case i.BYTE:default:return Math.floor(d/8)}},r.getBestVersionForData=function(e,o){var t,n=l.from(o,l.M);if(d(e)){if(e.length>1)return function(e,o){for(var t=1;t<=40;t++){if(s(e,t)<=r.getCapacity(t,o,i.MIXED))return t}}(e,n);if(0===e.length)return 1;t=e[0]}else t=e;return function(e,o,t){for(var n=1;n<=40;n++)if(o<=r.getCapacity(n,t,e))return n}(t.mode,t.getLength(),n)},r.getEncodedBits=function(e){if(!a.isValid(e)||e<7)throw new Error("Invalid QR Code version");for(var r=e<<12;t.getBCHDigit(r)-m>=0;)r^=7973<<t.getBCHDigit(r)-m;return e<<12|r}},function(e,r,o){var t=o(6),n=t.getBCHDigit(1335);r.getEncodedBits=function(e,r){for(var o=e.bit<<3|r,l=o<<10;t.getBCHDigit(l)-n>=0;)l^=1335<<t.getBCHDigit(l)-n;return 21522^(o<<10|l)}},function(e,r,o){var t=o(7),n=o(157),l=o(158),i=o(159),a=o(160),d=o(34),m=o(6),u=o(161);function s(e){return unescape(encodeURIComponent(e)).length}function g(e,r,o){for(var t,n=[];null!==(t=e.exec(o));)n.push({data:t[0],index:t.index,mode:r,length:t[0].length});return n}function c(e){var r,o,n=g(d.NUMERIC,t.NUMERIC,e),l=g(d.ALPHANUMERIC,t.ALPHANUMERIC,e);return m.isKanjiModeEnabled()?(r=g(d.BYTE,t.BYTE,e),o=g(d.KANJI,t.KANJI,e)):(r=g(d.BYTE_KANJI,t.BYTE,e),o=[]),n.concat(l,r,o).sort((function(e,r){return e.index-r.index})).map((function(e){return{data:e.data,mode:e.mode,length:e.length}}))}function x(e,r){switch(r){case t.NUMERIC:return n.getBitsLength(e);case t.ALPHANUMERIC:return l.getBitsLength(e);case t.KANJI:return a.getBitsLength(e);case t.BYTE:return i.getBitsLength(e)}}function p(e,r){var o,d=t.getBestModeForData(e);if((o=t.from(r,d))!==t.BYTE&&o.bit<d.bit)throw new Error('"'+e+'" cannot be encoded with mode '+t.toString(o)+".\n Suggested mode is: "+t.toString(d));switch(o!==t.KANJI||m.isKanjiModeEnabled()||(o=t.BYTE),o){case t.NUMERIC:return new n(e);case t.ALPHANUMERIC:return new l(e);case t.KANJI:return new a(e);case t.BYTE:return new i(e)}}r.fromArray=function(e){return e.reduce((function(e,r){return"string"===typeof r?e.push(p(r,null)):r.data&&e.push(p(r.data,r.mode)),e}),[])},r.fromString=function(e,o){for(var n=function(e,r){for(var o={},n={start:{}},l=["start"],i=0;i<e.length;i++){for(var a=e[i],d=[],m=0;m<a.length;m++){var u=a[m],s=""+i+m;d.push(s),o[s]={node:u,lastCount:0},n[s]={};for(var g=0;g<l.length;g++){var c=l[g];o[c]&&o[c].node.mode===u.mode?(n[c][s]=x(o[c].lastCount+u.length,u.mode)-x(o[c].lastCount,u.mode),o[c].lastCount+=u.length):(o[c]&&(o[c].lastCount=u.length),n[c][s]=x(u.length,u.mode)+4+t.getCharCountIndicator(u.mode,r))}}l=d}for(g=0;g<l.length;g++)n[l[g]].end=0;return{map:n,table:o}}(function(e){for(var r=[],o=0;o<e.length;o++){var n=e[o];switch(n.mode){case t.NUMERIC:r.push([n,{data:n.data,mode:t.ALPHANUMERIC,length:n.length},{data:n.data,mode:t.BYTE,length:n.length}]);break;case t.ALPHANUMERIC:r.push([n,{data:n.data,mode:t.BYTE,length:n.length}]);break;case t.KANJI:r.push([n,{data:n.data,mode:t.BYTE,length:s(n.data)}]);break;case t.BYTE:r.push([{data:n.data,mode:t.BYTE,length:s(n.data)}])}}return r}(c(e,m.isKanjiModeEnabled())),o),l=u.find_path(n.map,"start","end"),i=[],a=1;a<l.length-1;a++)i.push(n.table[l[a]].node);return r.fromArray(function(e){return e.reduce((function(e,r){var o=e.length-1>=0?e[e.length-1]:null;return o&&o.mode===r.mode?(e[e.length-1].data+=r.data,e):(e.push(r),e)}),[])}(i))},r.rawSplit=function(e){return r.fromArray(c(e,m.isKanjiModeEnabled()))}},function(e,r,o){var t=o(7);function n(e){this.mode=t.NUMERIC,this.data=e.toString()}n.getBitsLength=function(e){return 10*Math.floor(e/3)+(e%3?e%3*3+1:0)},n.prototype.getLength=function(){return this.data.length},n.prototype.getBitsLength=function(){return n.getBitsLength(this.data.length)},n.prototype.write=function(e){var r,o,t;for(r=0;r+3<=this.data.length;r+=3)o=this.data.substr(r,3),t=parseInt(o,10),e.put(t,10);var n=this.data.length-r;n>0&&(o=this.data.substr(r),t=parseInt(o,10),e.put(t,3*n+1))},e.exports=n},function(e,r,o){var t=o(7),n=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function l(e){this.mode=t.ALPHANUMERIC,this.data=e}l.getBitsLength=function(e){return 11*Math.floor(e/2)+e%2*6},l.prototype.getLength=function(){return this.data.length},l.prototype.getBitsLength=function(){return l.getBitsLength(this.data.length)},l.prototype.write=function(e){var r;for(r=0;r+2<=this.data.length;r+=2){var o=45*n.indexOf(this.data[r]);o+=n.indexOf(this.data[r+1]),e.put(o,11)}this.data.length%2&&e.put(n.indexOf(this.data[r]),6)},e.exports=l},function(e,r,o){var t=o(9),n=o(7);function l(e){this.mode=n.BYTE,this.data=t.from(e)}l.getBitsLength=function(e){return 8*e},l.prototype.getLength=function(){return this.data.length},l.prototype.getBitsLength=function(){return l.getBitsLength(this.data.length)},l.prototype.write=function(e){for(var r=0,o=this.data.length;r<o;r++)e.put(this.data[r],8)},e.exports=l},function(e,r,o){var t=o(7),n=o(6);function l(e){this.mode=t.KANJI,this.data=e}l.getBitsLength=function(e){return 13*e},l.prototype.getLength=function(){return this.data.length},l.prototype.getBitsLength=function(){return l.getBitsLength(this.data.length)},l.prototype.write=function(e){var r;for(r=0;r<this.data.length;r++){var o=n.toSJIS(this.data[r]);if(o>=33088&&o<=40956)o-=33088;else{if(!(o>=57408&&o<=60351))throw new Error("Invalid SJIS character: "+this.data[r]+"\nMake sure your charset is UTF-8");o-=49472}o=192*(o>>>8&255)+(255&o),e.put(o,13)}},e.exports=l},function(e,r,o){"use strict";var t={single_source_shortest_paths:function(e,r,o){var n={},l={};l[r]=0;var i,a,d,m,u,s,g,c=t.PriorityQueue.make();for(c.push(r,0);!c.empty();)for(d in a=(i=c.pop()).value,m=i.cost,u=e[a]||{})u.hasOwnProperty(d)&&(s=m+u[d],g=l[d],("undefined"===typeof l[d]||g>s)&&(l[d]=s,c.push(d,s),n[d]=a));if("undefined"!==typeof o&&"undefined"===typeof l[o]){var x=["Could not find a path from ",r," to ",o,"."].join("");throw new Error(x)}return n},extract_shortest_path_from_predecessor_list:function(e,r){for(var o=[],t=r;t;)o.push(t),e[t],t=e[t];return o.reverse(),o},find_path:function(e,r,o){var n=t.single_source_shortest_paths(e,r,o);return t.extract_shortest_path_from_predecessor_list(n,o)},PriorityQueue:{make:function(e){var r,o=t.PriorityQueue,n={};for(r in e=e||{},o)o.hasOwnProperty(r)&&(n[r]=o[r]);return n.queue=[],n.sorter=e.sorter||o.default_sorter,n},default_sorter:function(e,r){return e.cost-r.cost},push:function(e,r){var o={value:e,cost:r};this.queue.push(o),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};e.exports=t},function(e,r,o){var t=o(35);r.render=function(e,r,o){var n=o,l=r;"undefined"!==typeof n||r&&r.getContext||(n=r,r=void 0),r||(l=function(){try{return document.createElement("canvas")}catch(e){throw new Error("You need to specify a canvas element")}}()),n=t.getOptions(n);var i=t.getImageWidth(e.modules.size,n),a=l.getContext("2d"),d=a.createImageData(i,i);return t.qrToImageData(d.data,e,n),function(e,r,o){e.clearRect(0,0,r.width,r.height),r.style||(r.style={}),r.height=o,r.width=o,r.style.height=o+"px",r.style.width=o+"px"}(a,l,i),a.putImageData(d,0,0),l},r.renderToDataURL=function(e,o,t){var n=t;"undefined"!==typeof n||o&&o.getContext||(n=o,o=void 0),n||(n={});var l=r.render(e,o,n),i=n.type||"image/png",a=n.rendererOpts||{};return l.toDataURL(i,a.quality)}},function(e,r,o){var t=o(35);function n(e,r){var o=e.a/255,t=r+'="'+e.hex+'"';return o<1?t+" "+r+'-opacity="'+o.toFixed(2).slice(1)+'"':t}function l(e,r,o){var t=e+r;return"undefined"!==typeof o&&(t+=" "+o),t}r.render=function(e,r,o){var i=t.getOptions(r),a=e.modules.size,d=e.modules.data,m=a+2*i.margin,u=i.color.light.a?"<path "+n(i.color.light,"fill")+' d="M0 0h'+m+"v"+m+'H0z"/>':"",s="<path "+n(i.color.dark,"stroke")+' d="'+function(e,r,o){for(var t="",n=0,i=!1,a=0,d=0;d<e.length;d++){var m=Math.floor(d%r),u=Math.floor(d/r);m||i||(i=!0),e[d]?(a++,d>0&&m>0&&e[d-1]||(t+=i?l("M",m+o,.5+u+o):l("m",n,0),n=0,i=!1),m+1<r&&e[d+1]||(t+=l("h",a),a=0)):n++}return t}(d,a,i.margin)+'"/>',g='viewBox="0 0 '+m+" "+m+'"',c='<svg xmlns="http://www.w3.org/2000/svg" '+(i.width?'width="'+i.width+'" height="'+i.width+'" ':"")+g+' shape-rendering="crispEdges">'+u+s+"</svg>\n";return"function"===typeof o&&o(null,c),c}}]]);</script><script type="text/javascript">(this["webpackJsonpalioss-html"]=this["webpackJsonpalioss-html"]||[]).push([[0],{164:function(e,t,n){"use strict";n.r(t);var a=n(0),i=n.n(a),s=n(36),l=n.n(s),c=(n(51),n(8)),o=n(37),r=n(38),p=n(44),m=n(39),u=n(10),d=n(45),h=(n(52),n(40)),v=n.n(h),f=n(41),b=n.n(f),w=n(20),g=n.n(w),y=n(42),E=function(e){function t(e){var n;Object(o.a)(this,t),(n=Object(p.a)(this,Object(m.a)(t).call(this,e))).installApp=n.installApp.bind(Object(u.a)(n)),n.selectRow=n.selectRow.bind(Object(u.a)(n));var a=(new b.a).parse(navigator.userAgent);return n.state={url:"config.json",device:a,list:[],current:null,isInstalling:!1,headerTitle:"__html_header_title__"},n.ref=i.a.createRef(),n}return Object(d.a)(t,e),Object(r.a)(t,[{key:"componentDidMount",value:function(){var e=this,t=this.state,n=t.url,a=t.device;v()(n).then((function(e){return e.json()})).then((function(t){var n=t.ipaList||[],i=t.apkList||[],s=t.appList||[],l=[];"iOS"===a.os.name?l=Object(c.a)(n):"Android"===a.os.name?l=Object(c.a)(i):"desktop"===a.device.type&&(l=[].concat(Object(c.a)(n),Object(c.a)(i),Object(c.a)(s))),e.setState({list:Object(c.a)(l),current:l.pop()})}))}},{key:"componentDidUpdate",value:function(e,t,n){var a=this.ref.current;a&&y.a.toCanvas({canvas:a,content:window.location.href,width:260,logo:{src:"icon.png",radius:8}})}},{key:"installApp",value:function(){var e=this,t=this.state,n=t.current,a=t.device;n&&("iOS"===a.os.name?(window.location.href="itms-services://?action=download-manifest&url="+n.domain+n.path+"manifest.plist",setTimeout((function(){e.setState({isInstalling:!0})}),1e3)):window.location.href=n.domain+n.path+n.name),console.log(this.refs.qrcode)}},{key:"selectRow",value:function(e){this.setState({current:e})}},{key:"render",value:function(){var e=this,t=this.state,n=t.list,a=t.current,s=t.isInstalling,l=t.headerTitle;return a&&0!==n.length?i.a.createElement("div",{className:"App"},i.a.createElement("p",null,l),i.a.createElement("img",{src:"icon.png",className:"App-icon",alt:""}),i.a.createElement("p",{className:"App-detail-text"},"\u7248\u672c\uff1a",a.version," (build ",a.build,") \u5927\u5c0f\uff1a",(a.size/1024/1024).toFixed(2)," MB \u66f4\u65b0\u65f6\u95f4 \uff1a",g()("yyyy-MM-dd hh:mm:ss",new Date(1e3*a.time))),i.a.createElement("div",{className:"App-update-desc"},a.desc),i.a.createElement("button",{id:"install-app",className:"App-install-button",onClick:this.installApp},s?"\u6b63\u5728\u5b89\u88c5...":"\u5b89\u88c5App"),i.a.createElement("canvas",{ref:this.ref}),i.a.createElement("div",{className:"App-line"}," "),i.a.createElement("p",null,"\u5386\u53f2\u7248\u672c"),i.a.createElement("div",{style:{border:"1px solid #e7ebed",width:"100%"}},n.map((function(t,n){var a=n%2===0?"App-box-0":"App-box-1";return i.a.createElement("div",{key:n,className:a,onClick:function(){e.selectRow(t)}},i.a.createElement("p",{style:{marginRight:"10%"}},t.version," (build ",t.build," )"),i.a.createElement("p",null,g()("yyyy-MM-dd hh:mm:ss",new Date(1e3*t.time))))})))):i.a.createElement("div",{className:"App"},i.a.createElement("p",null,l),i.a.createElement("img",{src:"icon.png",className:"App-icon",alt:""}),i.a.createElement("p",null,"Sorry\uff0c\u672a\u627e\u5230\u4efb\u4f55\u8f6f\u4ef6\u5305\uff01"))}}]),t}(i.a.Component);Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));l.a.render(i.a.createElement(E,null),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()}))},46:function(e,t,n){e.exports=n(164)},51:function(e,t,n){},52:function(e,t,n){}},[[46,1,2]]]);</script></body></html>
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><title>Scan QRCode to download App</title><style type="text/css">body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center;background-color:#fff;min-height:100vh;display:flex;flex-direction:column;align-items:center;font-size:calc(10px + 1.5vmin);color:#000;padding:30px}.App-line{border-top:1px solid #e7ebed;width:100%;margin-top:8vmin}.App-icon{max-width:120px;max-height:120px;border-radius:20px}.App-box-0{background-color:#f2f6f8}.App-box-0,.App-box-1{cursor:pointer;width:100%;height:36px;display:flex;flex-direction:row;align-items:center;justify-content:center;font-size:calc(10px + .1vmin)}.App-box-1{background-color:#fff}.App-box-0:hover,.App-box-1:hover{background-color:#ffe4e1}.App-detail-text{font-size:calc(10px + .8vmin);color:#666}.App-install-button{cursor:pointer;background-color:#28caad;font-size:18px;font-weight:700;padding:8px 60px;margin:30px 0;border-radius:30px;color:#fff}.App-update-desc{width:80%;padding:8px;border:1px solid #e7ebed;background-color:#f7f7f7;font-size:calc(10px + .6vmin);color:#666}.App-history-version{border:1px solid #e7ebed;width:100%}.App-logo{height:40vmin}.App-link{color:#09d3ac}</style></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(a){function e(e){for(var t,r,n=e[0],o=e[1],u=e[2],l=0,i=[];l<n.length;l++)r=n[l],Object.prototype.hasOwnProperty.call(p,r)&&p[r]&&i.push(p[r][0]),p[r]=0;for(t in o)Object.prototype.hasOwnProperty.call(o,t)&&(a[t]=o[t]);for(s&&s(e);i.length;)i.shift()();return c.push.apply(c,u||[]),f()}function f(){for(var e,t=0;t<c.length;t++){for(var r=c[t],n=!0,o=1;o<r.length;o++){var u=r[o];0!==p[u]&&(n=!1)}n&&(c.splice(t--,1),e=l(l.s=r[0]))}return e}var r={},p={1:0},c=[];function l(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return a[e].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.m=a,l.c=r,l.d=function(e,t,r){l.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(t,e){if(1&e&&(t=l(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(l.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)l.d(r,n,function(e){return t[e]}.bind(null,n));return r},l.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(t,"a",t),t},l.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},l.p="/";var t=this["webpackJsonpalioss-html"]=this["webpackJsonpalioss-html"]||[],n=t.push.bind(t);t.push=e,t=t.slice();for(var o=0;o<t.length;o++)e(t[o]);var s=n;f()}([])</script><script type="text/javascript">(this["webpackJsonpalioss-html"]=this["webpackJsonpalioss-html"]||[]).push([[2],[function(e,r,o){"use strict";e.exports=o(47)},function(e,r){e.exports=function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}},function(e,r,o){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.userAgentParser=function(e,r){var o="(?:^|[^A-Z0-9-_]|[^A-Z0-9-]_|sprd-)(?:".concat(e,")");try{var t=RegExp(o,"i").exec(r);return t?t.slice(1):null}catch(n){return null}}},function(e,r,o){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.variableReplacement=function(e,r){var o=new RegExp("\\$\\d","g");return null===e?"":e.replace(o,(function(e){var o=parseInt(e.substr(1),10);return r[o-1]||""}))}},function(e,r,o){var t=o(54),n=o(55),l=o(56);e.exports=function(e,r){return t(e)||n(e,r)||l()}},function(e,r,o){"use strict";function t(e){return function(e){if(Array.isArray(e)){for(var r=0,o=new Array(e.length);r<e.length;r++)o[r]=e[r];return o}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}o.d(r,"a",(function(){return t}))},function(e,r,o){"use strict";var t=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var n=t(o(57));r.formatVersion=function(e,r){if(void 0===e)return"";var o=n.default(e,".").replace(new RegExp("_","g"),"."),t=o.split(".");return/^\d+$/.test(t.join(""))?0!==r&&Number.isInteger(parseFloat(o))?parseInt(o,10).toFixed(1):t.length>1&&null!==r?t.slice(0,r+1).join("."):o:o},r.parseBrowserEngineVersion=function(e,r){if(!r)return"";var o=new RegExp("".concat(r,"\\s*\\/?\\s*((?:(?=\\d+\\.\\d)\\d+[.\\d]*|\\d{1,7}(?=(?:\\D|$))))"),"i"),t=e.match(o);return t?t.pop():""}},function(e,r){var o,t=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];r.getSymbolSize=function(e){if(!e)throw new Error('"version" cannot be null or undefined');if(e<1||e>40)throw new Error('"version" should be in range from 1 to 40');return 4*e+17},r.getSymbolTotalCodewords=function(e){return t[e]},r.getBCHDigit=function(e){for(var r=0;0!==e;)r++,e>>>=1;return r},r.setToSJISFunction=function(e){if("function"!==typeof e)throw new Error('"toSJISFunc" is not a valid function.');o=e},r.isKanjiModeEnabled=function(){return"undefined"!==typeof o},r.toSJIS=function(e){return o(e)}},function(e,r,o){var t=o(33),n=o(34);r.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},r.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},r.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},r.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},r.MIXED={bit:-1},r.getCharCountIndicator=function(e,r){if(!e.ccBits)throw new Error("Invalid mode: "+e);if(!t.isValid(r))throw new Error("Invalid version: "+r);return r>=1&&r<10?e.ccBits[0]:r<27?e.ccBits[1]:e.ccBits[2]},r.getBestModeForData=function(e){return n.testNumeric(e)?r.NUMERIC:n.testAlphanumeric(e)?r.ALPHANUMERIC:n.testKanji(e)?r.KANJI:r.BYTE},r.toString=function(e){if(e&&e.id)return e.id;throw new Error("Invalid mode")},r.isValid=function(e){return e&&e.bit&&e.ccBits},r.from=function(e,o){if(r.isValid(e))return e;try{return function(e){if("string"!==typeof e)throw new Error("Param is not a string");switch(e.toLowerCase()){case"numeric":return r.NUMERIC;case"alphanumeric":return r.ALPHANUMERIC;case"kanji":return r.KANJI;case"byte":return r.BYTE;default:throw new Error("Unknown mode: "+e)}}(e)}catch(t){return o}}},function(e,r,o){"use strict";var t=o(18);l.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()}catch(r){return!1}}();var n=l.TYPED_ARRAY_SUPPORT?2147483647:1073741823;function l(e,r,o){return l.TYPED_ARRAY_SUPPORT||this instanceof l?"number"===typeof e?d(this,e):function(e,r,o,t){if("number"===typeof r)throw new TypeError('"value" argument must not be a number');if("undefined"!==typeof ArrayBuffer&&r instanceof ArrayBuffer)return function(e,r,o,t){if(o<0||r.byteLength<o)throw new RangeError("'offset' is out of bounds");if(r.byteLength<o+(t||0))throw new RangeError("'length' is out of bounds");var n;n=void 0===o&&void 0===t?new Uint8Array(r):void 0===t?new Uint8Array(r,o):new Uint8Array(r,o,t);l.TYPED_ARRAY_SUPPORT?n.__proto__=l.prototype:n=m(e,n);return n}(e,r,o,t);if("string"===typeof r)return function(e,r){var o=0|s(r),t=a(e,o),n=t.write(r);n!==o&&(t=t.slice(0,n));return t}(e,r);return function(e,r){if(l.isBuffer(r)){var o=0|i(r.length),t=a(e,o);return 0===t.length?t:(r.copy(t,0,0,o),t)}if(r){if("undefined"!==typeof ArrayBuffer&&r.buffer instanceof ArrayBuffer||"length"in r)return"number"!==typeof r.length||(n=r.length)!==n?a(e,0):m(e,r);if("Buffer"===r.type&&Array.isArray(r.data))return m(e,r.data)}var n;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,r)}(this,e,r,o):new l(e,r,o)}function i(e){if(e>=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return 0|e}function a(e,r){var o;return l.TYPED_ARRAY_SUPPORT?(o=new Uint8Array(r)).__proto__=l.prototype:(null===(o=e)&&(o=new l(r)),o.length=r),o}function d(e,r){var o=a(e,r<0?0:0|i(r));if(!l.TYPED_ARRAY_SUPPORT)for(var t=0;t<r;++t)o[t]=0;return o}function m(e,r){for(var o=r.length<0?0:0|i(r.length),t=a(e,o),n=0;n<o;n+=1)t[n]=255&r[n];return t}function u(e,r){var o;r=r||1/0;for(var t=e.length,n=null,l=[],i=0;i<t;++i){if((o=e.charCodeAt(i))>55295&&o<57344){if(!n){if(o>56319){(r-=3)>-1&&l.push(239,191,189);continue}if(i+1===t){(r-=3)>-1&&l.push(239,191,189);continue}n=o;continue}if(o<56320){(r-=3)>-1&&l.push(239,191,189),n=o;continue}o=65536+(n-55296<<10|o-56320)}else n&&(r-=3)>-1&&l.push(239,191,189);if(n=null,o<128){if((r-=1)<0)break;l.push(o)}else if(o<2048){if((r-=2)<0)break;l.push(o>>6|192,63&o|128)}else if(o<65536){if((r-=3)<0)break;l.push(o>>12|224,o>>6&63|128,63&o|128)}else{if(!(o<1114112))throw new Error("Invalid code point");if((r-=4)<0)break;l.push(o>>18|240,o>>12&63|128,o>>6&63|128,63&o|128)}}return l}function s(e){return l.isBuffer(e)?e.length:"undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer)?e.byteLength:("string"!==typeof e&&(e=""+e),0===e.length?0:u(e).length)}l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"undefined"!==typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1})),l.prototype.write=function(e,r,o){void 0===r?(o=this.length,r=0):void 0===o&&"string"===typeof r?(o=this.length,r=0):isFinite(r)&&(r|=0,isFinite(o)?o|=0:o=void 0);var t=this.length-r;if((void 0===o||o>t)&&(o=t),e.length>0&&(o<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");return function(e,r,o,t){return function(e,r,o,t){for(var n=0;n<t&&!(n+o>=r.length||n>=e.length);++n)r[n+o]=e[n];return n}(u(r,e.length-o),e,o,t)}(this,e,r,o)},l.prototype.slice=function(e,r){var o,t=this.length;if((e=~~e)<0?(e+=t)<0&&(e=0):e>t&&(e=t),(r=void 0===r?t:~~r)<0?(r+=t)<0&&(r=0):r>t&&(r=t),r<e&&(r=e),l.TYPED_ARRAY_SUPPORT)(o=this.subarray(e,r)).__proto__=l.prototype;else{var n=r-e;o=new l(n,void 0);for(var i=0;i<n;++i)o[i]=this[i+e]}return o},l.prototype.copy=function(e,r,o,t){if(o||(o=0),t||0===t||(t=this.length),r>=e.length&&(r=e.length),r||(r=0),t>0&&t<o&&(t=o),t===o)return 0;if(0===e.length||0===this.length)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(o<0||o>=this.length)throw new RangeError("sourceStart out of bounds");if(t<0)throw new RangeError("sourceEnd out of bounds");t>this.length&&(t=this.length),e.length-r<t-o&&(t=e.length-r+o);var n,i=t-o;if(this===e&&o<r&&r<t)for(n=i-1;n>=0;--n)e[n+r]=this[n+o];else if(i<1e3||!l.TYPED_ARRAY_SUPPORT)for(n=0;n<i;++n)e[n+r]=this[n+o];else Uint8Array.prototype.set.call(e,this.subarray(o,o+i),r);return i},l.prototype.fill=function(e,r,o){if("string"===typeof e){if("string"===typeof r?(r=0,o=this.length):"string"===typeof o&&(o=this.length),1===e.length){var t=e.charCodeAt(0);t<256&&(e=t)}}else"number"===typeof e&&(e&=255);if(r<0||this.length<r||this.length<o)throw new RangeError("Out of range index");if(o<=r)return this;var n;if(r>>>=0,o=void 0===o?this.length:o>>>0,e||(e=0),"number"===typeof e)for(n=r;n<o;++n)this[n]=e;else{var i=l.isBuffer(e)?e:new l(e),a=i.length;for(n=0;n<o-r;++n)this[n+r]=i[n%a]}return this},l.concat=function(e,r){if(!t(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return a(null,0);var o;if(void 0===r)for(r=0,o=0;o<e.length;++o)r+=e[o].length;var n=d(null,r),i=0;for(o=0;o<e.length;++o){var m=e[o];if(!l.isBuffer(m))throw new TypeError('"list" argument must be an Array of Buffers');m.copy(n,i),i+=m.length}return n},l.byteLength=s,l.prototype._isBuffer=!0,l.isBuffer=function(e){return!(null==e||!e._isBuffer)},e.exports.alloc=function(e){var r=new l(e);return r.fill(0),r},e.exports.from=function(e){return new l(e)}},function(e,r,o){"use strict";function t(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}o.d(r,"a",(function(){return t}))},function(e,r,o){var t=o(30)(Object,"create");e.exports=t},function(e,r,o){var t=o(127);e.exports=function(e,r){for(var o=e.length;o--;)if(t(e[o][0],r))return o;return-1}},function(e,r,o){var t=o(133);e.exports=function(e,r){var o=e.__data__;return t(r)?o["string"==typeof r?"string":"hash"]:o.map}},function(e,r,o){var t=o(15).Symbol;e.exports=t},function(e,r,o){var t=o(58),n="object"==typeof self&&self&&self.Object===Object&&self,l=t||n||Function("return this")();e.exports=l},function(e,r){var o=Array.isArray;e.exports=o},function(e,r,o){var t=o(25),n=o(62),l="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||n(e)&&t(e)==l}},function(e,r){var o={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==o.call(e)}},function(e,r){r.L={bit:1},r.M={bit:0},r.Q={bit:3},r.H={bit:2},r.isValid=function(e){return e&&"undefined"!==typeof e.bit&&e.bit>=0&&e.bit<4},r.from=function(e,o){if(r.isValid(e))return e;try{return function(e){if("string"!==typeof e)throw new Error("Param is not a string");switch(e.toLowerCase()){case"l":case"low":return r.L;case"m":case"medium":return r.M;case"q":case"quartile":return r.Q;case"h":case"high":return r.H;default:throw new Error("Unknown EC Level: "+e)}}(e)}catch(t){return o}}},function(e,r,o){"use strict";function t(e,r){for(var o=e.toString();o.length<r;)o="0"+o;return o}function n(e){return t(e,2)}function l(r,o){"string"!==typeof r&&(o=r,r=e.exports.ISO8601_FORMAT),o||(o=e.exports.now());var l=n(o.getDate()),i=n(o.getMonth()+1),a=n(o.getFullYear()),d=n(a.substring(2,4)),m=r.indexOf("yyyy")>-1?a:d,u=n(o.getHours()),s=n(o.getMinutes()),g=n(o.getSeconds()),c=t(o.getMilliseconds(),3),x=function(e){var r=Math.abs(e),o=String(Math.floor(r/60)),t=String(r%60);return 1===o.length&&(o="0"+o),1===t.length&&(t="0"+t),e<0?"+"+o+t:"-"+o+t}(o.getTimezoneOffset());return r.replace(/dd/g,l).replace(/MM/g,i).replace(/y{1,4}/g,m).replace(/hh/g,u).replace(/mm/g,s).replace(/ss/g,g).replace(/SSS/g,c).replace(/O/g,x)}function i(e,r,o,t){e["set"+(t?"":"UTC")+r](o)}e.exports=l,e.exports.asString=l,e.exports.parse=function(r,o,t){if(!r)throw new Error("pattern must be supplied");return function(r,o,t){var n=r.indexOf("O")<0,l=[{pattern:/y{1,4}/,regexp:"\\d{1,4}",fn:function(e,r){i(e,"FullYear",r,n)}},{pattern:/MM/,regexp:"\\d{1,2}",fn:function(e,r){i(e,"Month",r-1,n)}},{pattern:/dd/,regexp:"\\d{1,2}",fn:function(e,r){i(e,"Date",r,n)}},{pattern:/hh/,regexp:"\\d{1,2}",fn:function(e,r){i(e,"Hours",r,n)}},{pattern:/mm/,regexp:"\\d\\d",fn:function(e,r){i(e,"Minutes",r,n)}},{pattern:/ss/,regexp:"\\d\\d",fn:function(e,r){i(e,"Seconds",r,n)}},{pattern:/SSS/,regexp:"\\d\\d\\d",fn:function(e,r){i(e,"Milliseconds",r,n)}},{pattern:/O/,regexp:"[+-]\\d{3,4}|Z",fn:function(e,r){"Z"===r&&(r=0);var o=Math.abs(r),t=(r>0?-1:1)*(o%100+60*Math.floor(o/100));e.setUTCMinutes(e.getUTCMinutes()+t)}}],a=l.reduce((function(e,r){return r.pattern.test(e.regexp)?(r.index=e.regexp.match(r.pattern).index,e.regexp=e.regexp.replace(r.pattern,"("+r.regexp+")")):r.index=-1,e}),{regexp:r,index:[]}),d=l.filter((function(e){return e.index>-1}));d.sort((function(e,r){return e.index-r.index}));var m=new RegExp(a.regexp).exec(o);if(m){var u=t||e.exports.now();return d.forEach((function(e,r){e.fn(u,m[r+1])})),u}throw new Error("String '"+o+"' could not be parsed as '"+r+"'")}(r,o,t)},e.exports.now=function(){return new Date},e.exports.ISO8601_FORMAT="yyyy-MM-ddThh:mm:ss.SSS",e.exports.ISO8601_WITH_TZ_OFFSET_FORMAT="yyyy-MM-ddThh:mm:ss.SSSO",e.exports.DATETIME_FORMAT="dd MM yyyy hh:mm:ss.SSS",e.exports.ABSOLUTETIME_FORMAT="hh:mm:ss.SSS"},function(e,r,o){"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable;function i(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var r={},o=0;o<10;o++)r["_"+String.fromCharCode(o)]=o;if("0123456789"!==Object.getOwnPropertyNames(r).map((function(e){return r[e]})).join(""))return!1;var t={};return"abcdefghijklmnopqrst".split("").forEach((function(e){t[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},t)).join("")}catch(n){return!1}}()?Object.assign:function(e,r){for(var o,a,d=i(e),m=1;m<arguments.length;m++){for(var u in o=Object(arguments[m]))n.call(o,u)&&(d[u]=o[u]);if(t){a=t(o);for(var s=0;s<a.length;s++)l.call(o,a[s])&&(d[a[s]]=o[a[s]])}}return d}},function(e,r,o){"use strict";var t=o(4),n=o(1);Object.defineProperty(r,"__esModule",{value:!0});var l=o(6),i=o(3),a=o(2),d=o(74),m=o(75),u={36:"360 Phone Browser","3B":"360 Browser",AA:"Avant Browser",AB:"ABrowse",AF:"ANT Fresco",AG:"ANTGalio",AL:"Aloha Browser",AM:"Amaya",AO:"Amigo",AN:"Android Browser",AR:"Arora",AV:"Amiga Voyager",AW:"Amiga Aweb",AT:"Atomic Web Browser",AS:"Avast Secure Browser",BB:"BlackBerry Browser",BD:"Baidu Browser",BS:"Baidu Spark",BE:"Beonex",BJ:"Bunjalloo",BL:"B-Line",BR:"Brave",BK:"BriskBard",BX:"BrowseX",CA:"Camino",CC:"Coc Coc",CD:"Comodo Dragon",C1:"Coast",CX:"Charon",CF:"Chrome Frame",HC:"Headless Chrome",CH:"Chrome",CI:"Chrome Mobile iOS",CK:"Conkeror",CM:"Chrome Mobile",CN:"CoolNovo",CO:"CometBird",CP:"ChromePlus",CR:"Chromium",CY:"Cyberfox",CS:"Cheshire",CU:"Cunaguaro",DB:"dbrowser",DE:"Deepnet Explorer",DF:"Dolphin",DO:"Dorado",DL:"Dooble",DI:"Dillo",EI:"Epic",EL:"Elinks",EB:"Element Browser",EP:"GNOME Web",ES:"Espial TV Browser",FB:"Firebird",FD:"Fluid",FE:"Fennec",FF:"Firefox",FK:"Firefox Focus",FL:"Flock",FM:"Firefox Mobile",FW:"Fireweb",FN:"Fireweb Navigator",GA:"Galeon",GE:"Google Earth",HJ:"HotJava",IA:"Iceape",IB:"IBrowse",IC:"iCab",I2:"iCab Mobile",I1:"Iridium",ID:"IceDragon",IV:"Isivioo",IW:"Iceweasel",IE:"Internet Explorer",IM:"IE Mobile",IR:"Iron",JS:"Jasmine",JI:"Jig Browser",KI:"Kindle Browser",KM:"K-meleon",KO:"Konqueror",KP:"Kapiko",KY:"Kylo",KZ:"Kazehakase",LB:"Liebao",LG:"LG Browser",LI:"Links",LU:"LuaKit",LS:"Lunascape",LX:"Lynx",MB:"MicroB",MC:"NCSA Mosaic",ME:"Mercury",MF:"Mobile Safari",MI:"Midori",MU:"MIUI Browser",MS:"Mobile Silk",MX:"Maxthon",NB:"Nokia Browser",NO:"Nokia OSS Browser",NV:"Nokia Ovi Browser",NE:"NetSurf",NF:"NetFront",NL:"NetFront Life",NP:"NetPositive",NS:"Netscape",NT:"NTENT Browser",OB:"Obigo",OD:"Odyssey Web Browser",OF:"Off By One",OE:"ONE Browser",OI:"Opera Mini",OM:"Opera Mobile",OP:"Opera",ON:"Opera Next",OO:"Opera Touch",OR:"Oregano",OV:"Openwave Mobile Browser",OW:"OmniWeb",OT:"Otter Browser",PL:"Palm Blazer",PM:"Pale Moon",PP:"Oppo Browser",PR:"Palm Pre",PU:"Puffin",PW:"Palm WebPro",PA:"Palmscape",PX:"Phoenix",PO:"Polaris",PT:"Polarity",PS:"Microsoft Edge",QQ:"QQ Browser",QT:"Qutebrowser",QZ:"QupZilla",RK:"Rekonq",RM:"RockMelt",SB:"Samsung Browser",SA:"Sailfish Browser",SC:"SEMC-Browser",SE:"Sogou Explorer",SF:"Safari",SH:"Shiira",SK:"Skyfire",SS:"Seraphic Sraf",SL:"Sleipnir",SM:"SeaMonkey",SN:"Snowshoe",SR:"Sunrise",SP:"SuperBird",ST:"Streamy",SX:"Swiftfox",TZ:"Tizen Browser",TS:"TweakStyle",UC:"UC Browser",VI:"Vivaldi",VB:"Vision Mobile Browser",WE:"WebPositive",WF:"Waterfox",WO:"wOSBrowser",WT:"WeTab Browser",YA:"Yandex Browser",XI:"Xiino"},s=["36","PU","SK","MF","OI","OM","DB","ST","BL","IV","FM","C1","AL","SA"],g=function e(r){var o=this;n(this,e),this.options={versionTruncation:1},this.parse=function(e){var r={type:"",name:"",version:"",engine:"",engineVersion:""},n=!0,u=!1,s=void 0;try{for(var g,c=d[Symbol.iterator]();!(n=(g=c.next()).done);n=!0){var x=g.value,p=a.userAgentParser(x.regex,e);if(p){var f=i.variableReplacement(x.version,p),S=l.formatVersion(f,o.options.versionTruncation),h=S&&parseFloat(l.formatVersion(f,1))||"";if(x.engine&&(r.engine=x.engine.default,x.engine&&x.engine.versions&&h)){var v=Object.entries(x.engine.versions).sort((function(e,r){return parseFloat(e[0])>parseFloat(r[0])?1:-1})),A=!0,b=!1,T=void 0;try{for(var M,P=v[Symbol.iterator]();!(A=(M=P.next()).done);A=!0){var y=M.value,L=t(y,2),E=L[0],_=L[1];parseFloat(E)<=h&&(r.engine=_)}}catch(I){b=!0,T=I}finally{try{A||null==P.return||P.return()}finally{if(b)throw T}}}r.type="browser",r.name=i.variableReplacement(x.name,p),r.version=S;break}}}catch(I){u=!0,s=I}finally{try{n||null==c.return||c.return()}finally{if(u)throw s}}if(!r.engine){var w=!0,B=!1,C=void 0;try{for(var G,N=m[Symbol.iterator]();!(w=(G=N.next()).done);w=!0){var O=G.value;if(RegExp(O.regex,"i").exec(e)){r.engine=O.name;break}}}catch(I){B=!0,C=I}finally{try{w||null==N.return||N.return()}finally{if(B)throw C}}}return r.engineVersion=l.formatVersion(l.parseBrowserEngineVersion(e,r.engine),o.options.versionTruncation),r},this.options=Object.assign({},this.options,r)};g.getBrowserShortName=function(e){for(var r=0,o=Object.entries(u);r<o.length;r++){var n=o[r],l=t(n,2),i=l[0];if(l[1]===e)return i}return""},g.isMobileOnlyBrowser=function(e){return s.includes(g.getBrowserShortName(e))},r.default=g},function(e,r,o){var t=o(14),n=o(59),l=o(16),i=o(17),a=1/0,d=t?t.prototype:void 0,m=d?d.toString:void 0;e.exports=function e(r){if("string"==typeof r)return r;if(l(r))return n(r,e)+"";if(i(r))return m?m.call(r):"";var o=r+"";return"0"==o&&1/r==-a?"-0":o}},function(e,r){var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(t){"object"===typeof window&&(o=window)}e.exports=o},function(e,r,o){var t=o(14),n=o(60),l=o(61),i="[object Null]",a="[object Undefined]",d=t?t.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?a:i:d&&d in Object(e)?n(e):l(e)}},function(e,r,o){var t=o(66),n=o(67),l=o(68);e.exports=function(e,r,o){return r===r?l(e,r,o):t(e,n,o)}},function(e,r,o){var t=o(23);e.exports=function(e){return null==e?"":t(e)}},function(e,r,o){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.buildModel=function(e){return"Build"===(e=(e=e.replace(/_/g," ")).replace(RegExp(" TD$","i"),""))?"":e}},function(e,r,o){var t=o(104);e.exports=function(e,r,o){var n=null==e?void 0:t(e,r);return void 0===n?o:n}},function(e,r,o){var t=o(114),n=o(119);e.exports=function(e,r){var o=n(e,r);return t(o)?o:void 0}},function(e,r){e.exports=function(e){var r=typeof e;return null!=e&&("object"==r||"function"==r)}},function(e,r,o){var t=o(19),n=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],l=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];r.getBlocksCount=function(e,r){switch(r){case t.L:return n[4*(e-1)+0];case t.M:return n[4*(e-1)+1];case t.Q:return n[4*(e-1)+2];case t.H:return n[4*(e-1)+3];default:return}},r.getTotalCodewordsCount=function(e,r){switch(r){case t.L:return l[4*(e-1)+0];case t.M:return l[4*(e-1)+1];case t.Q:return l[4*(e-1)+2];case t.H:return l[4*(e-1)+3];default:return}}},function(e,r){r.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}},function(e,r){var o="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+",t="(?:(?![A-Z0-9 $%*+\\-./:]|"+(o=o.replace(/u/g,"\\u"))+")(?:.|[\r\n]))+";r.KANJI=new RegExp(o,"g"),r.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),r.BYTE=new RegExp(t,"g"),r.NUMERIC=new RegExp("[0-9]+","g"),r.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");var n=new RegExp("^"+o+"$"),l=new RegExp("^[0-9]+$"),i=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");r.testKanji=function(e){return n.test(e)},r.testNumeric=function(e){return l.test(e)},r.testAlphanumeric=function(e){return i.test(e)}},function(e,r){function o(e){if("number"===typeof e&&(e=e.toString()),"string"!==typeof e)throw new Error("Color should be defined as hex string");var r=e.slice().replace("#","").split("");if(r.length<3||5===r.length||r.length>8)throw new Error("Invalid hex color: "+e);3!==r.length&&4!==r.length||(r=Array.prototype.concat.apply([],r.map((function(e){return[e,e]})))),6===r.length&&r.push("F","F");var o=parseInt(r.join(""),16);return{r:o>>24&255,g:o>>16&255,b:o>>8&255,a:255&o,hex:"#"+r.slice(0,6).join("")}}r.getOptions=function(e){e||(e={}),e.color||(e.color={});var r="undefined"===typeof e.margin||null===e.margin||e.margin<0?4:e.margin,t=e.width&&e.width>=21?e.width:void 0,n=e.scale||4;return{width:t,scale:t?4:n,margin:r,color:{dark:o(e.color.dark||"#000000ff"),light:o(e.color.light||"#ffffffff")},type:e.type,rendererOpts:e.rendererOpts||{}}},r.getScale=function(e,r){return r.width&&r.width>=e+2*r.margin?r.width/(e+2*r.margin):r.scale},r.getImageWidth=function(e,o){var t=r.getScale(e,o);return Math.floor((e+2*o.margin)*t)},r.qrToImageData=function(e,o,t){for(var n=o.modules.size,l=o.modules.data,i=r.getScale(n,t),a=Math.floor((n+2*t.margin)*i),d=t.margin*i,m=[t.color.light,t.color.dark],u=0;u<a;u++)for(var s=0;s<a;s++){var g=4*(u*a+s),c=t.color.light;if(u>=d&&s>=d&&u<a-d&&s<a-d)c=m[l[Math.floor((u-d)/i)*n+Math.floor((s-d)/i)]?1:0];e[g++]=c.r,e[g++]=c.g,e[g++]=c.b,e[g]=c.a}}},function(e,r,o){"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(r){console.error(r)}}}(),e.exports=o(48)},function(e,r,o){"use strict";function t(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}o.d(r,"a",(function(){return t}))},function(e,r,o){"use strict";function t(e,r){for(var o=0;o<r.length;o++){var t=r[o];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}function n(e,r,o){return r&&t(e.prototype,r),o&&t(e,o),e}o.d(r,"a",(function(){return n}))},function(e,r,o){"use strict";function t(e){return(t=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}o.d(r,"a",(function(){return t}))},function(e,r,o){"use strict";var t=function(){if("undefined"!==typeof self)return self;if("undefined"!==typeof window)return window;if("undefined"!==typeof t)return t;throw new Error("unable to locate global object")}();e.exports=r=t.fetch,r.default=t.fetch.bind(t),r.Headers=t.Headers,r.Request=t.Request,r.Response=t.Response},function(e,r,o){"use strict";var t=o(1),n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},l=n(o(53)),i=n(o(86)),a=n(o(99)),d=n(o(101)),m=n(o(22)),u=o(103),s=n(o(29)),g=o(2),c=o(139);e.exports=function e(r){var o=this;t(this,e),this.options={skipBotDetection:!1,versionTruncation:1},this.parse=function(e){var r={client:o.clientParser.parse(e),os:o.operatingSystemParser.parse(e),device:o.deviceParser.parse(e),bot:o.options.skipBotDetection?null:o.botParser.parse(e)};if(!s.default(r,"device.brand")){var t=o.vendorFragmentParser.parse(e);t&&(r.device||(r.device=o.createDeviceObject()),r.device.brand=t)}var n=s.default(r,"os.name"),l=s.default(r,"os.version"),i=a.default.getOsFamily(s.default(r,"os.name"));return!s.default(r,"device.brand")&&["Apple TV","iOS","Mac"].includes(n)&&(r.device||(r.device=o.createDeviceObject()),r.device.brand="Apple"),!s.default(r,"device.type")&&"Android"===i&&["Chrome","Chrome Mobile"].includes(s.default(r,"client.name"))&&(g.userAgentParser("Chrome/[.0-9]* Mobile",e)?(r.device||(r.device=o.createDeviceObject()),r.device.type="smartphone"):g.userAgentParser("Chrome/[.0-9]* (?!Mobile)",e)&&(r.device||(r.device=o.createDeviceObject()),r.device.type="tablet")),(!s.default(r,"device.type")&&o.hasAndroidTabletFragment(e)||g.userAgentParser("Opera Tablet",e))&&(r.device||(r.device=o.createDeviceObject()),r.device.type="tablet"),!s.default(r,"device.type")&&o.hasAndroidMobileFragment(e)&&(r.device||(r.device=o.createDeviceObject()),r.device.type="smartphone"),s.default(r,"device.type")||"Android"!==n||""===l||(-1===c.versionCompare(l,"2.0")?(r.device||(r.device=o.createDeviceObject()),r.device.type="smartphone"):c.versionCompare(l,"3.0")>=0&&-1===c.versionCompare(l,"4.0")&&(r.device||(r.device=o.createDeviceObject()),r.device.type="tablet")),r.device&&"feature phone"===s.default(r,"device.type")&&"Android"===i&&(r.device.type="smartphone"),!s.default(r,"device.type")&&o.isToucheEnabled(e)&&("Windows RT"===n||"Windows"===n&&c.versionCompare(l,"8.0")>=0)&&(r.device||(r.device=o.createDeviceObject()),r.device.type="tablet"),g.userAgentParser("Opera TV Store",e)&&(r.device||(r.device=o.createDeviceObject()),r.device.type="television"),!s.default(r,"device.type")&&["Kylo","Espial TV Browser"].includes(s.default(r,"client.name"))&&(r.device||(r.device=o.createDeviceObject()),r.device.type="television"),!s.default(r,"device.type")&&o.isDesktop(r,i)&&(r.device||(r.device=o.createDeviceObject()),r.device.type="desktop"),r},this.hasAndroidMobileFragment=function(e){return g.userAgentParser("Android( [.0-9]+)?; Mobile;",e)},this.hasAndroidTabletFragment=function(e){return g.userAgentParser("Android( [.0-9]+)?; Tablet;",e)},this.isDesktop=function(e,r){return!!e.os&&(!o.usesMobileBrowser(e.client)&&a.default.getDesktopOsArray().includes(r))},this.usesMobileBrowser=function(e){return!!e&&("browser"===s.default(e,"type")&&m.default.isMobileOnlyBrowser(s.default(e,"name")))},this.isToucheEnabled=function(e){return g.userAgentParser("Touch",e)},this.createDeviceObject=function(){return{type:"",brand:"",model:""}},this.options=Object.assign({},this.options,r),this.clientParser=new l.default(this.options),this.deviceParser=new i.default,this.operatingSystemParser=new a.default(this.options),this.vendorFragmentParser=new d.default,this.botParser=new u}},function(e,r,o){"use strict";var t=o(43);var n,l=(n=o.n(t).a.toCanvas,function(){var e=Array.prototype.slice.call(arguments);return new Promise((function(r,o){e.push((function(e,t){e?o(e):r(t)})),n.apply(null,e)}))}),i=function(e){var r=e.canvas,o=e.content,t=e.width,n=void 0===t?0:t,i=e.nodeQrCodeOptions,m=void 0===i?{}:i;return m.errorCorrectionLevel=m.errorCorrectionLevel||d(o),a(o,m).then((function(e){return m.scale=0===n?void 0:n/e*4,l(r,o,m)}))},a=function(e,r){var o=document.createElement("canvas");return l(o,e,r).then((function(){return o.width}))},d=function(e){return e.length>36?"M":e.length>16?"Q":"H"},m=function(e){var r=e.canvas,o=(e.content,e.logo);if(o){var t=r.width,n=o.logoSize,l=void 0===n?.15:n,i=o.borderColor,a=o.bgColor,d=void 0===a?i||"#ffffff":a,m=o.borderSize,s=void 0===m?.05:m,g=o.crossOrigin,c=o.borderRadius,x=void 0===c?8:c,p=o.logoRadius,f=void 0===p?0:p,S="string"===typeof o?o:o.src,h=t*l,v=t*(1-l)/2,A=t*(l+s),b=t*(1-l-s)/2,T=r.getContext("2d");u(T)(b,b,A,A,x),T.fillStyle=d,T.fill();var M=new Image;(g||f)&&M.setAttribute("crossOrigin",g||"anonymous"),M.src=S;return new Promise((function(e,r){M.onload=function(){f?function(e){var r=document.createElement("canvas");r.width=v+h,r.height=v+h,r.getContext("2d").drawImage(e,v,v,h,h),u(T)(v,v,h,h,f),T.fillStyle=T.createPattern(r,"no-repeat"),T.fill()}(M):function(e){T.drawImage(e,v,v,h,h)}(M),e()}}))}},u=function(e){return function(r,o,t,n,l){var i=Math.min(t,n);return l>i/2&&(l=i/2),e.beginPath(),e.moveTo(r+l,o),e.arcTo(r+t,o,r+t,o+n,l),e.arcTo(r+t,o+n,r,o+n,l),e.arcTo(r,o+n,r,o,l),e.arcTo(r,o,r+t,o,l),e.closePath(),e}},s=function(e){return i(e).then((function(){return e})).then(m)},g=function(e,r){var o=e.src,t=document.createElement("a");t.download=r,t.href=o,document.body.appendChild(t),t.click(),document.body.removeChild(t)},c={toCanvas:s,toImage:function(e){var r=document.createElement("canvas");return e.canvas=r,e.logo&&("string"===typeof e.logo&&(e.logo={src:e.logo}),e.logo.crossOrigin="Anonymous"),s(e).then((function(){var o=e.image,t=void 0===o?new Image:o,n=e.downloadName,l=void 0===n?"qr-code":n,i=e.download;if(t.src=r.toDataURL(),!0===i||function(e){return"function"===typeof e}(i)){(i=!0===i?function(e){return e()}:i)((function(){g(t,l)}))}}))}};r.a=c},function(e,r,o){var t=o(140),n=o(141),l=o(162),i=o(163);function a(e,r,o,l,i){var a=[].slice.call(arguments,1),d=a.length,m="function"===typeof a[d-1];if(!m&&!t())throw new Error("Callback required as last argument");if(!m){if(d<1)throw new Error("Too few arguments provided");return 1===d?(o=r,r=l=void 0):2!==d||r.getContext||(l=o,o=r,r=void 0),new Promise((function(t,i){try{var a=n.create(o,l);t(e(a,r,l))}catch(d){i(d)}}))}if(d<2)throw new Error("Too few arguments provided");2===d?(i=o,o=r,r=l=void 0):3===d&&(r.getContext&&"undefined"===typeof i?(i=l,l=void 0):(i=l,l=o,o=r,r=void 0));try{var u=n.create(o,l);i(null,e(u,r,l))}catch(s){i(s)}}r.create=n.create,r.toCanvas=a.bind(null,l.render),r.toDataURL=a.bind(null,l.renderToDataURL),r.toString=a.bind(null,(function(e,r,o){return i.render(e,o)}))},function(e,r,o){"use strict";function t(e){return(t="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(e){return(n="function"===typeof Symbol&&"symbol"===t(Symbol.iterator)?function(e){return t(e)}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":t(e)})(e)}var l=o(10);function i(e,r){return!r||"object"!==n(r)&&"function"!==typeof r?Object(l.a)(e):r}o.d(r,"a",(function(){return i}))},function(e,r,o){"use strict";function t(e,r){return(t=Object.setPrototypeOf||function(e,r){return e.__proto__=r,e})(e,r)}function n(e,r){if("function"!==typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),r&&t(e,r)}o.d(r,"a",(function(){return n}))},,function(e,r,o){"use strict";var t=o(21),n="function"===typeof Symbol&&Symbol.for,l=n?Symbol.for("react.element"):60103,i=n?Symbol.for("react.portal"):60106,a=n?Symbol.for("react.fragment"):60107,d=n?Symbol.for("react.strict_mode"):60108,m=n?Symbol.for("react.profiler"):60114,u=n?Symbol.for("react.provider"):60109,s=n?Symbol.for("react.context"):60110,g=n?Symbol.for("react.forward_ref"):60112,c=n?Symbol.for("react.suspense"):60113;n&&Symbol.for("react.suspense_list");var x=n?Symbol.for("react.memo"):60115,p=n?Symbol.for("react.lazy"):60116;n&&Symbol.for("react.fundamental"),n&&Symbol.for("react.responder"),n&&Symbol.for("react.scope");var f="function"===typeof Symbol&&Symbol.iterator;function S(e){for(var r="https://reactjs.org/docs/error-decoder.html?invariant="+e,o=1;o<arguments.length;o++)r+="&args[]="+encodeURIComponent(arguments[o]);return"Minified React error #"+e+"; visit "+r+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v={};function A(e,r,o){this.props=e,this.context=r,this.refs=v,this.updater=o||h}function b(){}function T(e,r,o){this.props=e,this.context=r,this.refs=v,this.updater=o||h}A.prototype.isReactComponent={},A.prototype.setState=function(e,r){if("object"!==typeof e&&"function"!==typeof e&&null!=e)throw Error(S(85));this.updater.enqueueSetState(this,e,r,"setState")},A.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},b.prototype=A.prototype;var M=T.prototype=new b;M.constructor=T,t(M,A.prototype),M.isPureReactComponent=!0;var P={current:null},y={current:null},L=Object.prototype.hasOwnProperty,E={key:!0,ref:!0,__self:!0,__source:!0};function _(e,r,o){var t,n={},i=null,a=null;if(null!=r)for(t in void 0!==r.ref&&(a=r.ref),void 0!==r.key&&(i=""+r.key),r)L.call(r,t)&&!E.hasOwnProperty(t)&&(n[t]=r[t]);var d=arguments.length-2;if(1===d)n.children=o;else if(1<d){for(var m=Array(d),u=0;u<d;u++)m[u]=arguments[u+2];n.children=m}if(e&&e.defaultProps)for(t in d=e.defaultProps)void 0===n[t]&&(n[t]=d[t]);return{$$typeof:l,type:e,key:i,ref:a,props:n,_owner:y.current}}function w(e){return"object"===typeof e&&null!==e&&e.$$typeof===l}var B=/\/+/g,C=[];function G(e,r,o,t){if(C.length){var n=C.pop();return n.result=e,n.keyPrefix=r,n.func=o,n.context=t,n.count=0,n}return{result:e,keyPrefix:r,func:o,context:t,count:0}}function N(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>C.length&&C.push(e)}function O(e,r,o){return null==e?0:function e(r,o,t,n){var a=typeof r;"undefined"!==a&&"boolean"!==a||(r=null);var d=!1;if(null===r)d=!0;else switch(a){case"string":case"number":d=!0;break;case"object":switch(r.$$typeof){case l:case i:d=!0}}if(d)return t(n,r,""===o?"."+I(r,0):o),1;if(d=0,o=""===o?".":o+":",Array.isArray(r))for(var m=0;m<r.length;m++){var u=o+I(a=r[m],m);d+=e(a,u,t,n)}else if(null===r||"object"!==typeof r?u=null:u="function"===typeof(u=f&&r[f]||r["@@iterator"])?u:null,"function"===typeof u)for(r=u.call(r),m=0;!(a=r.next()).done;)d+=e(a=a.value,u=o+I(a,m++),t,n);else if("object"===a)throw t=""+r,Error(S(31,"[object Object]"===t?"object with keys {"+Object.keys(r).join(", ")+"}":t,""));return d}(e,"",r,o)}function I(e,r){return"object"===typeof e&&null!==e&&null!=e.key?function(e){var r={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,(function(e){return r[e]}))}(e.key):r.toString(36)}function X(e,r){e.func.call(e.context,r,e.count++)}function D(e,r,o){var t=e.result,n=e.keyPrefix;e=e.func.call(e.context,r,e.count++),Array.isArray(e)?F(e,t,o,(function(e){return e})):null!=e&&(w(e)&&(e=function(e,r){return{$$typeof:l,type:e.type,key:r,ref:e.ref,props:e.props,_owner:e._owner}}(e,n+(!e.key||r&&r.key===e.key?"":(""+e.key).replace(B,"$&/")+"/")+o)),t.push(e))}function F(e,r,o,t,n){var l="";null!=o&&(l=(""+o).replace(B,"$&/")+"/"),O(e,D,r=G(r,l,t,n)),N(r)}function $(){var e=P.current;if(null===e)throw Error(S(321));return e}var R={Children:{map:function(e,r,o){if(null==e)return e;var t=[];return F(e,t,null,r,o),t},forEach:function(e,r,o){if(null==e)return e;O(e,X,r=G(null,null,r,o)),N(r)},count:function(e){return O(e,(function(){return null}),null)},toArray:function(e){var r=[];return F(e,r,null,(function(e){return e})),r},only:function(e){if(!w(e))throw Error(S(143));return e}},createRef:function(){return{current:null}},Component:A,PureComponent:T,createContext:function(e,r){return void 0===r&&(r=null),(e={$$typeof:s,_calculateChangedBits:r,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:u,_context:e},e.Consumer=e},forwardRef:function(e){return{$$typeof:g,render:e}},lazy:function(e){return{$$typeof:p,_ctor:e,_status:-1,_result:null}},memo:function(e,r){return{$$typeof:x,type:e,compare:void 0===r?null:r}},useCallback:function(e,r){return $().useCallback(e,r)},useContext:function(e,r){return $().useContext(e,r)},useEffect:function(e,r){return $().useEffect(e,r)},useImperativeHandle:function(e,r,o){return $().useImperativeHandle(e,r,o)},useDebugValue:function(){},useLayoutEffect:function(e,r){return $().useLayoutEffect(e,r)},useMemo:function(e,r){return $().useMemo(e,r)},useReducer:function(e,r,o){return $().useReducer(e,r,o)},useRef:function(e){return $().useRef(e)},useState:function(e){return $().useState(e)},Fragment:a,Profiler:m,StrictMode:d,Suspense:c,createElement:_,cloneElement:function(e,r,o){if(null===e||void 0===e)throw Error(S(267,e));var n=t({},e.props),i=e.key,a=e.ref,d=e._owner;if(null!=r){if(void 0!==r.ref&&(a=r.ref,d=y.current),void 0!==r.key&&(i=""+r.key),e.type&&e.type.defaultProps)var m=e.type.defaultProps;for(u in r)L.call(r,u)&&!E.hasOwnProperty(u)&&(n[u]=void 0===r[u]&&void 0!==m?m[u]:r[u])}var u=arguments.length-2;if(1===u)n.children=o;else if(1<u){m=Array(u);for(var s=0;s<u;s++)m[s]=arguments[s+2];n.children=m}return{$$typeof:l,type:e.type,key:i,ref:a,props:n,_owner:d}},createFactory:function(e){var r=_.bind(null,e);return r.type=e,r},isValidElement:w,version:"16.12.0",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentDispatcher:P,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:y,IsSomeRendererActing:{current:!1},assign:t}},k={default:R},U=k&&R||k;e.exports=U.default||U},function(e,r,o){"use strict";var t=o(0),n=o(21),l=o(49);function i(e){for(var r="https://reactjs.org/docs/error-decoder.html?invariant="+e,o=1;o<arguments.length;o++)r+="&args[]="+encodeURIComponent(arguments[o]);return"Minified React error #"+e+"; visit "+r+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!t)throw Error(i(227));var a=null,d={};function m(){if(a)for(var e in d){var r=d[e],o=a.indexOf(e);if(!(-1<o))throw Error(i(96,e));if(!s[o]){if(!r.extractEvents)throw Error(i(97,e));for(var t in s[o]=r,o=r.eventTypes){var n=void 0,l=o[t],m=r,c=t;if(g.hasOwnProperty(c))throw Error(i(99,c));g[c]=l;var x=l.phasedRegistrationNames;if(x){for(n in x)x.hasOwnProperty(n)&&u(x[n],m,c);n=!0}else l.registrationName?(u(l.registrationName,m,c),n=!0):n=!1;if(!n)throw Error(i(98,t,e))}}}}function u(e,r,o){if(c[e])throw Error(i(100,e));c[e]=r,x[e]=r.eventTypes[o].dependencies}var s=[],g={},c={},x={};function p(e,r,o,t,n,l,i,a,d){var m=Array.prototype.slice.call(arguments,3);try{r.apply(o,m)}catch(u){this.onError(u)}}var f=!1,S=null,h=!1,v=null,A={onError:function(e){f=!0,S=e}};function b(e,r,o,t,n,l,i,a,d){f=!1,S=null,p.apply(A,arguments)}var T=null,M=null,P=null;function y(e,r,o){var t=e.type||"unknown-event";e.currentTarget=P(o),function(e,r,o,t,n,l,a,d,m){if(b.apply(this,arguments),f){if(!f)throw Error(i(198));var u=S;f=!1,S=null,h||(h=!0,v=u)}}(t,r,void 0,e),e.currentTarget=null}function L(e,r){if(null==r)throw Error(i(30));return null==e?r:Array.isArray(e)?Array.isArray(r)?(e.push.apply(e,r),e):(e.push(r),e):Array.isArray(r)?[e].concat(r):[e,r]}function E(e,r,o){Array.isArray(e)?e.forEach(r,o):e&&r.call(o,e)}var _=null;function w(e){if(e){var r=e._dispatchListeners,o=e._dispatchInstances;if(Array.isArray(r))for(var t=0;t<r.length&&!e.isPropagationStopped();t++)y(e,r[t],o[t]);else r&&y(e,r,o);e._dispatchListeners=null,e._dispatchInstances=null,e.isPersistent()||e.constructor.release(e)}}function B(e){if(null!==e&&(_=L(_,e)),e=_,_=null,e){if(E(e,w),_)throw Error(i(95));if(h)throw e=v,h=!1,v=null,e}}var C={injectEventPluginOrder:function(e){if(a)throw Error(i(101));a=Array.prototype.slice.call(e),m()},injectEventPluginsByName:function(e){var r,o=!1;for(r in e)if(e.hasOwnProperty(r)){var t=e[r];if(!d.hasOwnProperty(r)||d[r]!==t){if(d[r])throw Error(i(102,r));d[r]=t,o=!0}}o&&m()}};function G(e,r){var o=e.stateNode;if(!o)return null;var t=T(o);if(!t)return null;o=t[r];e:switch(r){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":(t=!t.disabled)||(t=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!t;break e;default:e=!1}if(e)return null;if(o&&"function"!==typeof o)throw Error(i(231,r,typeof o));return o}var N=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;N.hasOwnProperty("ReactCurrentDispatcher")||(N.ReactCurrentDispatcher={current:null}),N.hasOwnProperty("ReactCurrentBatchConfig")||(N.ReactCurrentBatchConfig={suspense:null});var O=/^(.*)[\\\/]/,I="function"===typeof Symbol&&Symbol.for,X=I?Symbol.for("react.element"):60103,D=I?Symbol.for("react.portal"):60106,F=I?Symbol.for("react.fragment"):60107,$=I?Symbol.for("react.strict_mode"):60108,R=I?Symbol.for("react.profiler"):60114,k=I?Symbol.for("react.provider"):60109,U=I?Symbol.for("react.context"):60110,V=I?Symbol.for("react.concurrent_mode"):60111,H=I?Symbol.for("react.forward_ref"):60112,Y=I?Symbol.for("react.suspense"):60113,W=I?Symbol.for("react.suspense_list"):60120,K=I?Symbol.for("react.memo"):60115,z=I?Symbol.for("react.lazy"):60116;I&&Symbol.for("react.fundamental"),I&&Symbol.for("react.responder"),I&&Symbol.for("react.scope");var Q="function"===typeof Symbol&&Symbol.iterator;function Z(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=Q&&e[Q]||e["@@iterator"])?e:null}function J(e){if(null==e)return null;if("function"===typeof e)return e.displayName||e.name||null;if("string"===typeof e)return e;switch(e){case F:return"Fragment";case D:return"Portal";case R:return"Profiler";case $:return"StrictMode";case Y:return"Suspense";case W:return"SuspenseList"}if("object"===typeof e)switch(e.$$typeof){case U:return"Context.Consumer";case k:return"Context.Provider";case H:var r=e.render;return r=r.displayName||r.name||"",e.displayName||(""!==r?"ForwardRef("+r+")":"ForwardRef");case K:return J(e.type);case z:if(e=1===e._status?e._result:null)return J(e)}return null}function j(e){var r="";do{e:switch(e.tag){case 3:case 4:case 6:case 7:case 10:case 9:var o="";break e;default:var t=e._debugOwner,n=e._debugSource,l=J(e.type);o=null,t&&(o=J(t.type)),t=l,l="",n?l=" (at "+n.fileName.replace(O,"")+":"+n.lineNumber+")":o&&(l=" (created by "+o+")"),o="\n in "+(t||"Unknown")+l}r+=o,e=e.return}while(e);return r}var q=!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement),ee=null,re=null,oe=null;function te(e){if(e=M(e)){if("function"!==typeof ee)throw Error(i(280));var r=T(e.stateNode);ee(e.stateNode,e.type,r)}}function ne(e){re?oe?oe.push(e):oe=[e]:re=e}function le(){if(re){var e=re,r=oe;if(oe=re=null,te(e),r)for(e=0;e<r.length;e++)te(r[e])}}function ie(e,r){return e(r)}function ae(e,r,o,t){return e(r,o,t)}function de(){}var me=ie,ue=!1,se=!1;function ge(){null===re&&null===oe||(de(),le())}new Map;var ce=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,xe=Object.prototype.hasOwnProperty,pe={},fe={};function Se(e,r,o,t,n,l){this.acceptsBooleans=2===r||3===r||4===r,this.attributeName=t,this.attributeNamespace=n,this.mustUseProperty=o,this.propertyName=e,this.type=r,this.sanitizeURL=l}var he={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){he[e]=new Se(e,0,!1,e,null,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var r=e[0];he[r]=new Se(r,1,!1,e[1],null,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){he[e]=new Se(e,2,!1,e.toLowerCase(),null,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){he[e]=new Se(e,2,!1,e,null,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){he[e]=new Se(e,3,!1,e.toLowerCase(),null,!1)})),["checked","multiple","muted","selected"].forEach((function(e){he[e]=new Se(e,3,!0,e,null,!1)})),["capture","download"].forEach((function(e){he[e]=new Se(e,4,!1,e,null,!1)})),["cols","rows","size","span"].forEach((function(e){he[e]=new Se(e,6,!1,e,null,!1)})),["rowSpan","start"].forEach((function(e){he[e]=new Se(e,5,!1,e.toLowerCase(),null,!1)}));var ve=/[\-:]([a-z])/g;function Ae(e){return e[1].toUpperCase()}function be(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function Te(e,r,o,t){var n=he.hasOwnProperty(r)?he[r]:null;(null!==n?0===n.type:!t&&(2<r.length&&("o"===r[0]||"O"===r[0])&&("n"===r[1]||"N"===r[1])))||(function(e,r,o,t){if(null===r||"undefined"===typeof r||function(e,r,o,t){if(null!==o&&0===o.type)return!1;switch(typeof r){case"function":case"symbol":return!0;case"boolean":return!t&&(null!==o?!o.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,r,o,t))return!0;if(t)return!1;if(null!==o)switch(o.type){case 3:return!r;case 4:return!1===r;case 5:return isNaN(r);case 6:return isNaN(r)||1>r}return!1}(r,o,n,t)&&(o=null),t||null===n?function(e){return!!xe.call(fe,e)||!xe.call(pe,e)&&(ce.test(e)?fe[e]=!0:(pe[e]=!0,!1))}(r)&&(null===o?e.removeAttribute(r):e.setAttribute(r,""+o)):n.mustUseProperty?e[n.propertyName]=null===o?3!==n.type&&"":o:(r=n.attributeName,t=n.attributeNamespace,null===o?e.removeAttribute(r):(o=3===(n=n.type)||4===n&&!0===o?"":""+o,t?e.setAttributeNS(t,r,o):e.setAttribute(r,o))))}function Me(e){var r=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===r||"radio"===r)}function Pe(e){e._valueTracker||(e._valueTracker=function(e){var r=Me(e)?"checked":"value",o=Object.getOwnPropertyDescriptor(e.constructor.prototype,r),t=""+e[r];if(!e.hasOwnProperty(r)&&"undefined"!==typeof o&&"function"===typeof o.get&&"function"===typeof o.set){var n=o.get,l=o.set;return Object.defineProperty(e,r,{configurable:!0,get:function(){return n.call(this)},set:function(e){t=""+e,l.call(this,e)}}),Object.defineProperty(e,r,{enumerable:o.enumerable}),{getValue:function(){return t},setValue:function(e){t=""+e},stopTracking:function(){e._valueTracker=null,delete e[r]}}}}(e))}function ye(e){if(!e)return!1;var r=e._valueTracker;if(!r)return!0;var o=r.getValue(),t="";return e&&(t=Me(e)?e.checked?"true":"false":e.value),(e=t)!==o&&(r.setValue(e),!0)}function Le(e,r){var o=r.checked;return n({},r,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=o?o:e._wrapperState.initialChecked})}function Ee(e,r){var o=null==r.defaultValue?"":r.defaultValue,t=null!=r.checked?r.checked:r.defaultChecked;o=be(null!=r.value?r.value:o),e._wrapperState={initialChecked:t,initialValue:o,controlled:"checkbox"===r.type||"radio"===r.type?null!=r.checked:null!=r.value}}function _e(e,r){null!=(r=r.checked)&&Te(e,"checked",r,!1)}function we(e,r){_e(e,r);var o=be(r.value),t=r.type;if(null!=o)"number"===t?(0===o&&""===e.value||e.value!=o)&&(e.value=""+o):e.value!==""+o&&(e.value=""+o);else if("submit"===t||"reset"===t)return void e.removeAttribute("value");r.hasOwnProperty("value")?Ce(e,r.type,o):r.hasOwnProperty("defaultValue")&&Ce(e,r.type,be(r.defaultValue)),null==r.checked&&null!=r.defaultChecked&&(e.defaultChecked=!!r.defaultChecked)}function Be(e,r,o){if(r.hasOwnProperty("value")||r.hasOwnProperty("defaultValue")){var t=r.type;if(!("submit"!==t&&"reset"!==t||void 0!==r.value&&null!==r.value))return;r=""+e._wrapperState.initialValue,o||r===e.value||(e.value=r),e.defaultValue=r}""!==(o=e.name)&&(e.name=""),e.defaultChecked=!e.defaultChecked,e.defaultChecked=!!e._wrapperState.initialChecked,""!==o&&(e.name=o)}function Ce(e,r,o){"number"===r&&e.ownerDocument.activeElement===e||(null==o?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+o&&(e.defaultValue=""+o))}function Ge(e,r){return e=n({children:void 0},r),(r=function(e){var r="";return t.Children.forEach(e,(function(e){null!=e&&(r+=e)})),r}(r.children))&&(e.children=r),e}function Ne(e,r,o,t){if(e=e.options,r){r={};for(var n=0;n<o.length;n++)r["$"+o[n]]=!0;for(o=0;o<e.length;o++)n=r.hasOwnProperty("$"+e[o].value),e[o].selected!==n&&(e[o].selected=n),n&&t&&(e[o].defaultSelected=!0)}else{for(o=""+be(o),r=null,n=0;n<e.length;n++){if(e[n].value===o)return e[n].selected=!0,void(t&&(e[n].defaultSelected=!0));null!==r||e[n].disabled||(r=e[n])}null!==r&&(r.selected=!0)}}function Oe(e,r){if(null!=r.dangerouslySetInnerHTML)throw Error(i(91));return n({},r,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Ie(e,r){var o=r.value;if(null==o){if(o=r.defaultValue,null!=(r=r.children)){if(null!=o)throw Error(i(92));if(Array.isArray(r)){if(!(1>=r.length))throw Error(i(93));r=r[0]}o=r}null==o&&(o="")}e._wrapperState={initialValue:be(o)}}function Xe(e,r){var o=be(r.value),t=be(r.defaultValue);null!=o&&((o=""+o)!==e.value&&(e.value=o),null==r.defaultValue&&e.defaultValue!==o&&(e.defaultValue=o)),null!=t&&(e.defaultValue=""+t)}function De(e){var r=e.textContent;r===e._wrapperState.initialValue&&""!==r&&null!==r&&(e.value=r)}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var r=e.replace(ve,Ae);he[r]=new Se(r,1,!1,e,null,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var r=e.replace(ve,Ae);he[r]=new Se(r,1,!1,e,"http://www.w3.org/1999/xlink",!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var r=e.replace(ve,Ae);he[r]=new Se(r,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1)})),["tabIndex","crossOrigin"].forEach((function(e){he[e]=new Se(e,1,!1,e.toLowerCase(),null,!1)})),he.xlinkHref=new Se("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0),["src","href","action","formAction"].forEach((function(e){he[e]=new Se(e,1,!1,e.toLowerCase(),null,!0)}));var Fe={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function $e(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Re(e,r){return null==e||"http://www.w3.org/1999/xhtml"===e?$e(r):"http://www.w3.org/2000/svg"===e&&"foreignObject"===r?"http://www.w3.org/1999/xhtml":e}var ke,Ue=function(e){return"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(r,o,t,n){MSApp.execUnsafeLocalFunction((function(){return e(r,o)}))}:e}((function(e,r){if(e.namespaceURI!==Fe.svg||"innerHTML"in e)e.innerHTML=r;else{for((ke=ke||document.createElement("div")).innerHTML="<svg>"+r.valueOf().toString()+"</svg>",r=ke.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;r.firstChild;)e.appendChild(r.firstChild)}}));function Ve(e,r){if(r){var o=e.firstChild;if(o&&o===e.lastChild&&3===o.nodeType)return void(o.nodeValue=r)}e.textContent=r}function He(e,r){var o={};return o[e.toLowerCase()]=r.toLowerCase(),o["Webkit"+e]="webkit"+r,o["Moz"+e]="moz"+r,o}var Ye={animationend:He("Animation","AnimationEnd"),animationiteration:He("Animation","AnimationIteration"),animationstart:He("Animation","AnimationStart"),transitionend:He("Transition","TransitionEnd")},We={},Ke={};function ze(e){if(We[e])return We[e];if(!Ye[e])return e;var r,o=Ye[e];for(r in o)if(o.hasOwnProperty(r)&&r in Ke)return We[e]=o[r];return e}q&&(Ke=document.createElement("div").style,"AnimationEvent"in window||(delete Ye.animationend.animation,delete Ye.animationiteration.animation,delete Ye.animationstart.animation),"TransitionEvent"in window||delete Ye.transitionend.transition);var Qe=ze("animationend"),Ze=ze("animationiteration"),Je=ze("animationstart"),je=ze("transitionend"),qe="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" ");function er(e){var r=e,o=e;if(e.alternate)for(;r.return;)r=r.return;else{e=r;do{0!==(1026&(r=e).effectTag)&&(o=r.return),e=r.return}while(e)}return 3===r.tag?o:null}function rr(e){if(13===e.tag){var r=e.memoizedState;if(null===r&&(null!==(e=e.alternate)&&(r=e.memoizedState)),null!==r)return r.dehydrated}return null}function or(e){if(er(e)!==e)throw Error(i(188))}function tr(e){if(!(e=function(e){var r=e.alternate;if(!r){if(null===(r=er(e)))throw Error(i(188));return r!==e?null:e}for(var o=e,t=r;;){var n=o.return;if(null===n)break;var l=n.alternate;if(null===l){if(null!==(t=n.return)){o=t;continue}break}if(n.child===l.child){for(l=n.child;l;){if(l===o)return or(n),e;if(l===t)return or(n),r;l=l.sibling}throw Error(i(188))}if(o.return!==t.return)o=n,t=l;else{for(var a=!1,d=n.child;d;){if(d===o){a=!0,o=n,t=l;break}if(d===t){a=!0,t=n,o=l;break}d=d.sibling}if(!a){for(d=l.child;d;){if(d===o){a=!0,o=l,t=n;break}if(d===t){a=!0,t=l,o=n;break}d=d.sibling}if(!a)throw Error(i(189))}}if(o.alternate!==t)throw Error(i(190))}if(3!==o.tag)throw Error(i(188));return o.stateNode.current===o?e:r}(e)))return null;for(var r=e;;){if(5===r.tag||6===r.tag)return r;if(r.child)r.child.return=r,r=r.child;else{if(r===e)break;for(;!r.sibling;){if(!r.return||r.return===e)return null;r=r.return}r.sibling.return=r.return,r=r.sibling}}return null}var nr,lr,ir,ar=!1,dr=[],mr=null,ur=null,sr=null,gr=new Map,cr=new Map,xr=[],pr="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit".split(" "),fr="focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture".split(" ");function Sr(e,r,o,t){return{blockedOn:e,topLevelType:r,eventSystemFlags:32|o,nativeEvent:t}}function hr(e,r){switch(e){case"focus":case"blur":mr=null;break;case"dragenter":case"dragleave":ur=null;break;case"mouseover":case"mouseout":sr=null;break;case"pointerover":case"pointerout":gr.delete(r.pointerId);break;case"gotpointercapture":case"lostpointercapture":cr.delete(r.pointerId)}}function vr(e,r,o,t,n){return null===e||e.nativeEvent!==n?(e=Sr(r,o,t,n),null!==r&&(null!==(r=ct(r))&&lr(r)),e):(e.eventSystemFlags|=t,e)}function Ar(e){var r=gt(e.target);if(null!==r){var o=er(r);if(null!==o)if(13===(r=o.tag)){if(null!==(r=rr(o)))return e.blockedOn=r,void l.unstable_runWithPriority(e.priority,(function(){ir(o)}))}else if(3===r&&o.stateNode.hydrate)return void(e.blockedOn=3===o.tag?o.stateNode.containerInfo:null)}e.blockedOn=null}function br(e){if(null!==e.blockedOn)return!1;var r=Co(e.topLevelType,e.eventSystemFlags,e.nativeEvent);if(null!==r){var o=ct(r);return null!==o&&lr(o),e.blockedOn=r,!1}return!0}function Tr(e,r,o){br(e)&&o.delete(r)}function Mr(){for(ar=!1;0<dr.length;){var e=dr[0];if(null!==e.blockedOn){null!==(e=ct(e.blockedOn))&&nr(e);break}var r=Co(e.topLevelType,e.eventSystemFlags,e.nativeEvent);null!==r?e.blockedOn=r:dr.shift()}null!==mr&&br(mr)&&(mr=null),null!==ur&&br(ur)&&(ur=null),null!==sr&&br(sr)&&(sr=null),gr.forEach(Tr),cr.forEach(Tr)}function Pr(e,r){e.blockedOn===r&&(e.blockedOn=null,ar||(ar=!0,l.unstable_scheduleCallback(l.unstable_NormalPriority,Mr)))}function yr(e){function r(r){return Pr(r,e)}if(0<dr.length){Pr(dr[0],e);for(var o=1;o<dr.length;o++){var t=dr[o];t.blockedOn===e&&(t.blockedOn=null)}}for(null!==mr&&Pr(mr,e),null!==ur&&Pr(ur,e),null!==sr&&Pr(sr,e),gr.forEach(r),cr.forEach(r),o=0;o<xr.length;o++)(t=xr[o]).blockedOn===e&&(t.blockedOn=null);for(;0<xr.length&&null===(o=xr[0]).blockedOn;)Ar(o),null===o.blockedOn&&xr.shift()}function Lr(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}function Er(e){do{e=e.return}while(e&&5!==e.tag);return e||null}function _r(e,r,o){(r=G(e,o.dispatchConfig.phasedRegistrationNames[r]))&&(o._dispatchListeners=L(o._dispatchListeners,r),o._dispatchInstances=L(o._dispatchInstances,e))}function wr(e){if(e&&e.dispatchConfig.phasedRegistrationNames){for(var r=e._targetInst,o=[];r;)o.push(r),r=Er(r);for(r=o.length;0<r--;)_r(o[r],"captured",e);for(r=0;r<o.length;r++)_r(o[r],"bubbled",e)}}function Br(e,r,o){e&&o&&o.dispatchConfig.registrationName&&(r=G(e,o.dispatchConfig.registrationName))&&(o._dispatchListeners=L(o._dispatchListeners,r),o._dispatchInstances=L(o._dispatchInstances,e))}function Cr(e){e&&e.dispatchConfig.registrationName&&Br(e._targetInst,null,e)}function Gr(e){E(e,wr)}function Nr(){return!0}function Or(){return!1}function Ir(e,r,o,t){for(var n in this.dispatchConfig=e,this._targetInst=r,this.nativeEvent=o,e=this.constructor.Interface)e.hasOwnProperty(n)&&((r=e[n])?this[n]=r(o):"target"===n?this.target=t:this[n]=o[n]);return this.isDefaultPrevented=(null!=o.defaultPrevented?o.defaultPrevented:!1===o.returnValue)?Nr:Or,this.isPropagationStopped=Or,this}function Xr(e,r,o,t){if(this.eventPool.length){var n=this.eventPool.pop();return this.call(n,e,r,o,t),n}return new this(e,r,o,t)}function Dr(e){if(!(e instanceof this))throw Error(i(279));e.destructor(),10>this.eventPool.length&&this.eventPool.push(e)}function Fr(e){e.eventPool=[],e.getPooled=Xr,e.release=Dr}n(Ir.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!==typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=Nr)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!==typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=Nr)},persist:function(){this.isPersistent=Nr},isPersistent:Or,destructor:function(){var e,r=this.constructor.Interface;for(e in r)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=Or,this._dispatchInstances=this._dispatchListeners=null}}),Ir.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},Ir.extend=function(e){function r(){}function o(){return t.apply(this,arguments)}var t=this;r.prototype=t.prototype;var l=new r;return n(l,o.prototype),o.prototype=l,o.prototype.constructor=o,o.Interface=n({},t.Interface,e),o.extend=t.extend,Fr(o),o},Fr(Ir);var $r=Ir.extend({animationName:null,elapsedTime:null,pseudoElement:null}),Rr=Ir.extend({clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),kr=Ir.extend({view:null,detail:null}),Ur=kr.extend({relatedTarget:null});function Vr(e){var r=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===r&&(e=13):e=r,10===e&&(e=13),32<=e||13===e?e:0}var Hr={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Yr={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Wr={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Kr(e){var r=this.nativeEvent;return r.getModifierState?r.getModifierState(e):!!(e=Wr[e])&&!!r[e]}function zr(){return Kr}for(var Qr=kr.extend({key:function(e){if(e.key){var r=Hr[e.key]||e.key;if("Unidentified"!==r)return r}return"keypress"===e.type?13===(e=Vr(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Yr[e.keyCode]||"Unidentified":""},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:zr,charCode:function(e){return"keypress"===e.type?Vr(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?Vr(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Zr=0,Jr=0,jr=!1,qr=!1,eo=kr.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:zr,button:null,buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},movementX:function(e){if("movementX"in e)return e.movementX;var r=Zr;return Zr=e.screenX,jr?"mousemove"===e.type?e.screenX-r:0:(jr=!0,0)},movementY:function(e){if("movementY"in e)return e.movementY;var r=Jr;return Jr=e.screenY,qr?"mousemove"===e.type?e.screenY-r:0:(qr=!0,0)}}),ro=eo.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),oo=eo.extend({dataTransfer:null}),to=kr.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:zr}),no=Ir.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),lo=eo.extend({deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null}),io=[["blur","blur",0],["cancel","cancel",0],["click","click",0],["close","close",0],["contextmenu","contextMenu",0],["copy","copy",0],["cut","cut",0],["auxclick","auxClick",0],["dblclick","doubleClick",0],["dragend","dragEnd",0],["dragstart","dragStart",0],["drop","drop",0],["focus","focus",0],["input","input",0],["invalid","invalid",0],["keydown","keyDown",0],["keypress","keyPress",0],["keyup","keyUp",0],["mousedown","mouseDown",0],["mouseup","mouseUp",0],["paste","paste",0],["pause","pause",0],["play","play",0],["pointercancel","pointerCancel",0],["pointerdown","pointerDown",0],["pointerup","pointerUp",0],["ratechange","rateChange",0],["reset","reset",0],["seeked","seeked",0],["submit","submit",0],["touchcancel","touchCancel",0],["touchend","touchEnd",0],["touchstart","touchStart",0],["volumechange","volumeChange",0],["drag","drag",1],["dragenter","dragEnter",1],["dragexit","dragExit",1],["dragleave","dragLeave",1],["dragover","dragOver",1],["mousemove","mouseMove",1],["mouseout","mouseOut",1],["mouseover","mouseOver",1],["pointermove","pointerMove",1],["pointerout","pointerOut",1],["pointerover","pointerOver",1],["scroll","scroll",1],["toggle","toggle",1],["touchmove","touchMove",1],["wheel","wheel",1],["abort","abort",2],[Qe,"animationEnd",2],[Ze,"animationIteration",2],[Je,"animationStart",2],["canplay","canPlay",2],["canplaythrough","canPlayThrough",2],["durationchange","durationChange",2],["emptied","emptied",2],["encrypted","encrypted",2],["ended","ended",2],["error","error",2],["gotpointercapture","gotPointerCapture",2],["load","load",2],["loadeddata","loadedData",2],["loadedmetadata","loadedMetadata",2],["loadstart","loadStart",2],["lostpointercapture","lostPointerCapture",2],["playing","playing",2],["progress","progress",2],["seeking","seeking",2],["stalled","stalled",2],["suspend","suspend",2],["timeupdate","timeUpdate",2],[je,"transitionEnd",2],["waiting","waiting",2]],ao={},mo={},uo=0;uo<io.length;uo++){var so=io[uo],go=so[0],co=so[1],xo=so[2],po="on"+(co[0].toUpperCase()+co.slice(1)),fo={phasedRegistrationNames:{bubbled:po,captured:po+"Capture"},dependencies:[go],eventPriority:xo};ao[co]=fo,mo[go]=fo}var So={eventTypes:ao,getEventPriority:function(e){return void 0!==(e=mo[e])?e.eventPriority:2},extractEvents:function(e,r,o,t){var n=mo[e];if(!n)return null;switch(e){case"keypress":if(0===Vr(o))return null;case"keydown":case"keyup":e=Qr;break;case"blur":case"focus":e=Ur;break;case"click":if(2===o.button)return null;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":e=eo;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":e=oo;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":e=to;break;case Qe:case Ze:case Je:e=$r;break;case je:e=no;break;case"scroll":e=kr;break;case"wheel":e=lo;break;case"copy":case"cut":case"paste":e=Rr;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":e=ro;break;default:e=Ir}return Gr(r=e.getPooled(n,r,o,t)),r}},ho=l.unstable_UserBlockingPriority,vo=l.unstable_runWithPriority,Ao=So.getEventPriority,bo=10,To=[];function Mo(e){var r=e.targetInst,o=r;do{if(!o){e.ancestors.push(o);break}var t=o;if(3===t.tag)t=t.stateNode.containerInfo;else{for(;t.return;)t=t.return;t=3!==t.tag?null:t.stateNode.containerInfo}if(!t)break;5!==(r=o.tag)&&6!==r||e.ancestors.push(o),o=gt(t)}while(o);for(o=0;o<e.ancestors.length;o++){r=e.ancestors[o];var n=Lr(e.nativeEvent);t=e.topLevelType;for(var l=e.nativeEvent,i=e.eventSystemFlags,a=null,d=0;d<s.length;d++){var m=s[d];m&&(m=m.extractEvents(t,r,l,n,i))&&(a=L(a,m))}B(a)}}var Po=!0;function yo(e,r){Lo(r,e,!1)}function Lo(e,r,o){switch(Ao(r)){case 0:var t=Eo.bind(null,r,1);break;case 1:t=_o.bind(null,r,1);break;default:t=Bo.bind(null,r,1)}o?e.addEventListener(r,t,!0):e.addEventListener(r,t,!1)}function Eo(e,r,o){ue||de();var t=Bo,n=ue;ue=!0;try{ae(t,e,r,o)}finally{(ue=n)||ge()}}function _o(e,r,o){vo(ho,Bo.bind(null,e,r,o))}function wo(e,r,o,t){if(To.length){var n=To.pop();n.topLevelType=e,n.eventSystemFlags=r,n.nativeEvent=o,n.targetInst=t,e=n}else e={topLevelType:e,eventSystemFlags:r,nativeEvent:o,targetInst:t,ancestors:[]};try{if(r=Mo,o=e,se)r(o,void 0);else{se=!0;try{me(r,o,void 0)}finally{se=!1,ge()}}}finally{e.topLevelType=null,e.nativeEvent=null,e.targetInst=null,e.ancestors.length=0,To.length<bo&&To.push(e)}}function Bo(e,r,o){if(Po)if(0<dr.length&&-1<pr.indexOf(e))e=Sr(null,e,r,o),dr.push(e);else{var t=Co(e,r,o);null===t?hr(e,o):-1<pr.indexOf(e)?(e=Sr(t,e,r,o),dr.push(e)):function(e,r,o,t){switch(r){case"focus":return mr=vr(mr,e,r,o,t),!0;case"dragenter":return ur=vr(ur,e,r,o,t),!0;case"mouseover":return sr=vr(sr,e,r,o,t),!0;case"pointerover":var n=t.pointerId;return gr.set(n,vr(gr.get(n)||null,e,r,o,t)),!0;case"gotpointercapture":return n=t.pointerId,cr.set(n,vr(cr.get(n)||null,e,r,o,t)),!0}return!1}(t,e,r,o)||(hr(e,o),wo(e,r,o,null))}}function Co(e,r,o){var t=Lr(o);if(null!==(t=gt(t))){var n=er(t);if(null===n)t=null;else{var l=n.tag;if(13===l){if(null!==(t=rr(n)))return t;t=null}else if(3===l){if(n.stateNode.hydrate)return 3===n.tag?n.stateNode.containerInfo:null;t=null}else n!==t&&(t=null)}}return wo(e,r,o,t),null}function Go(e){if(!q)return!1;var r=(e="on"+e)in document;return r||((r=document.createElement("div")).setAttribute(e,"return;"),r="function"===typeof r[e]),r}var No=new("function"===typeof WeakMap?WeakMap:Map);function Oo(e){var r=No.get(e);return void 0===r&&(r=new Set,No.set(e,r)),r}function Io(e,r,o){if(!o.has(e)){switch(e){case"scroll":Lo(r,"scroll",!0);break;case"focus":case"blur":Lo(r,"focus",!0),Lo(r,"blur",!0),o.add("blur"),o.add("focus");break;case"cancel":case"close":Go(e)&&Lo(r,e,!0);break;case"invalid":case"submit":case"reset":break;default:-1===qe.indexOf(e)&&yo(e,r)}o.add(e)}}var Xo={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Do=["Webkit","ms","Moz","O"];function Fo(e,r,o){return null==r||"boolean"===typeof r||""===r?"":o||"number"!==typeof r||0===r||Xo.hasOwnProperty(e)&&Xo[e]?(""+r).trim():r+"px"}function $o(e,r){for(var o in e=e.style,r)if(r.hasOwnProperty(o)){var t=0===o.indexOf("--"),n=Fo(o,r[o],t);"float"===o&&(o="cssFloat"),t?e.setProperty(o,n):e[o]=n}}Object.keys(Xo).forEach((function(e){Do.forEach((function(r){r=r+e.charAt(0).toUpperCase()+e.substring(1),Xo[r]=Xo[e]}))}));var Ro=n({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ko(e,r){if(r){if(Ro[e]&&(null!=r.children||null!=r.dangerouslySetInnerHTML))throw Error(i(137,e,""));if(null!=r.dangerouslySetInnerHTML){if(null!=r.children)throw Error(i(60));if(!("object"===typeof r.dangerouslySetInnerHTML&&"__html"in r.dangerouslySetInnerHTML))throw Error(i(61))}if(null!=r.style&&"object"!==typeof r.style)throw Error(i(62,""))}}function Uo(e,r){if(-1===e.indexOf("-"))return"string"===typeof r.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function Vo(e,r){var o=Oo(e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument);r=x[r];for(var t=0;t<r.length;t++)Io(r[t],e,o)}function Ho(){}function Yo(e){if("undefined"===typeof(e=e||("undefined"!==typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(r){return e.body}}function Wo(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Ko(e,r){var o,t=Wo(e);for(e=0;t;){if(3===t.nodeType){if(o=e+t.textContent.length,e<=r&&o>=r)return{node:t,offset:r-e};e=o}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=Wo(t)}}function zo(){for(var e=window,r=Yo();r instanceof e.HTMLIFrameElement;){try{var o="string"===typeof r.contentWindow.location.href}catch(t){o=!1}if(!o)break;r=Yo((e=r.contentWindow).document)}return r}function Qo(e){var r=e&&e.nodeName&&e.nodeName.toLowerCase();return r&&("input"===r&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===r||"true"===e.contentEditable)}var Zo="$",Jo="/$",jo="$?",qo="$!",et=null,rt=null;function ot(e,r){switch(e){case"button":case"input":case"select":case"textarea":return!!r.autoFocus}return!1}function tt(e,r){return"textarea"===e||"option"===e||"noscript"===e||"string"===typeof r.children||"number"===typeof r.children||"object"===typeof r.dangerouslySetInnerHTML&&null!==r.dangerouslySetInnerHTML&&null!=r.dangerouslySetInnerHTML.__html}var nt="function"===typeof setTimeout?setTimeout:void 0,lt="function"===typeof clearTimeout?clearTimeout:void 0;function it(e){for(;null!=e;e=e.nextSibling){var r=e.nodeType;if(1===r||3===r)break}return e}function at(e){e=e.previousSibling;for(var r=0;e;){if(8===e.nodeType){var o=e.data;if(o===Zo||o===qo||o===jo){if(0===r)return e;r--}else o===Jo&&r++}e=e.previousSibling}return null}var dt=Math.random().toString(36).slice(2),mt="__reactInternalInstance$"+dt,ut="__reactEventHandlers$"+dt,st="__reactContainere$"+dt;function gt(e){var r=e[mt];if(r)return r;for(var o=e.parentNode;o;){if(r=o[st]||o[mt]){if(o=r.alternate,null!==r.child||null!==o&&null!==o.child)for(e=at(e);null!==e;){if(o=e[mt])return o;e=at(e)}return r}o=(e=o).parentNode}return null}function ct(e){return!(e=e[mt]||e[st])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function xt(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(i(33))}function pt(e){return e[ut]||null}var ft=null,St=null,ht=null;function vt(){if(ht)return ht;var e,r,o=St,t=o.length,n="value"in ft?ft.value:ft.textContent,l=n.length;for(e=0;e<t&&o[e]===n[e];e++);var i=t-e;for(r=1;r<=i&&o[t-r]===n[l-r];r++);return ht=n.slice(e,1<r?1-r:void 0)}var At=Ir.extend({data:null}),bt=Ir.extend({data:null}),Tt=[9,13,27,32],Mt=q&&"CompositionEvent"in window,Pt=null;q&&"documentMode"in document&&(Pt=document.documentMode);var yt=q&&"TextEvent"in window&&!Pt,Lt=q&&(!Mt||Pt&&8<Pt&&11>=Pt),Et=String.fromCharCode(32),_t={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},wt=!1;function Bt(e,r){switch(e){case"keyup":return-1!==Tt.indexOf(r.keyCode);case"keydown":return 229!==r.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function Ct(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}var Gt=!1;var Nt={eventTypes:_t,extractEvents:function(e,r,o,t){var n;if(Mt)e:{switch(e){case"compositionstart":var l=_t.compositionStart;break e;case"compositionend":l=_t.compositionEnd;break e;case"compositionupdate":l=_t.compositionUpdate;break e}l=void 0}else Gt?Bt(e,o)&&(l=_t.compositionEnd):"keydown"===e&&229===o.keyCode&&(l=_t.compositionStart);return l?(Lt&&"ko"!==o.locale&&(Gt||l!==_t.compositionStart?l===_t.compositionEnd&&Gt&&(n=vt()):(St="value"in(ft=t)?ft.value:ft.textContent,Gt=!0)),l=At.getPooled(l,r,o,t),n?l.data=n:null!==(n=Ct(o))&&(l.data=n),Gr(l),n=l):n=null,(e=yt?function(e,r){switch(e){case"compositionend":return Ct(r);case"keypress":return 32!==r.which?null:(wt=!0,Et);case"textInput":return(e=r.data)===Et&&wt?null:e;default:return null}}(e,o):function(e,r){if(Gt)return"compositionend"===e||!Mt&&Bt(e,r)?(e=vt(),ht=St=ft=null,Gt=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(r.ctrlKey||r.altKey||r.metaKey)||r.ctrlKey&&r.altKey){if(r.char&&1<r.char.length)return r.char;if(r.which)return String.fromCharCode(r.which)}return null;case"compositionend":return Lt&&"ko"!==r.locale?null:r.data;default:return null}}(e,o))?((r=bt.getPooled(_t.beforeInput,r,o,t)).data=e,Gr(r)):r=null,null===n?r:null===r?n:[n,r]}},Ot={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function It(e){var r=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===r?!!Ot[e.type]:"textarea"===r}var Xt={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"blur change click focus input keydown keyup selectionchange".split(" ")}};function Dt(e,r,o){return(e=Ir.getPooled(Xt.change,e,r,o)).type="change",ne(o),Gr(e),e}var Ft=null,$t=null;function Rt(e){B(e)}function kt(e){if(ye(xt(e)))return e}function Ut(e,r){if("change"===e)return r}var Vt=!1;function Ht(){Ft&&(Ft.detachEvent("onpropertychange",Yt),$t=Ft=null)}function Yt(e){if("value"===e.propertyName&&kt($t))if(e=Dt($t,e,Lr(e)),ue)B(e);else{ue=!0;try{ie(Rt,e)}finally{ue=!1,ge()}}}function Wt(e,r,o){"focus"===e?(Ht(),$t=o,(Ft=r).attachEvent("onpropertychange",Yt)):"blur"===e&&Ht()}function Kt(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return kt($t)}function zt(e,r){if("click"===e)return kt(r)}function Qt(e,r){if("input"===e||"change"===e)return kt(r)}q&&(Vt=Go("input")&&(!document.documentMode||9<document.documentMode));var Zt,Jt={eventTypes:Xt,_isInputEventSupported:Vt,extractEvents:function(e,r,o,t){var n=r?xt(r):window,l=n.nodeName&&n.nodeName.toLowerCase();if("select"===l||"input"===l&&"file"===n.type)var i=Ut;else if(It(n))if(Vt)i=Qt;else{i=Kt;var a=Wt}else(l=n.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===n.type||"radio"===n.type)&&(i=zt);if(i&&(i=i(e,r)))return Dt(i,o,t);a&&a(e,n,r),"blur"===e&&(e=n._wrapperState)&&e.controlled&&"number"===n.type&&Ce(n,"number",n.value)}},jt={mouseEnter:{registrationName:"onMouseEnter",dependencies:["mouseout","mouseover"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["mouseout","mouseover"]},pointerEnter:{registrationName:"onPointerEnter",dependencies:["pointerout","pointerover"]},pointerLeave:{registrationName:"onPointerLeave",dependencies:["pointerout","pointerover"]}},qt={eventTypes:jt,extractEvents:function(e,r,o,t,n){var l="mouseover"===e||"pointerover"===e,i="mouseout"===e||"pointerout"===e;if(l&&0===(32&n)&&(o.relatedTarget||o.fromElement)||!i&&!l)return null;if(n=t.window===t?t:(n=t.ownerDocument)?n.defaultView||n.parentWindow:window,i?(i=r,null!==(r=(r=o.relatedTarget||o.toElement)?gt(r):null)&&(r!==(l=er(r))||5!==r.tag&&6!==r.tag)&&(r=null)):i=null,i===r)return null;if("mouseout"===e||"mouseover"===e)var a=eo,d=jt.mouseLeave,m=jt.mouseEnter,u="mouse";else"pointerout"!==e&&"pointerover"!==e||(a=ro,d=jt.pointerLeave,m=jt.pointerEnter,u="pointer");if(e=null==i?n:xt(i),n=null==r?n:xt(r),(d=a.getPooled(d,i,o,t)).type=u+"leave",d.target=e,d.relatedTarget=n,(t=a.getPooled(m,r,o,t)).type=u+"enter",t.target=n,t.relatedTarget=e,u=r,(a=i)&&u)e:{for(e=u,i=0,r=m=a;r;r=Er(r))i++;for(r=0,n=e;n;n=Er(n))r++;for(;0<i-r;)m=Er(m),i--;for(;0<r-i;)e=Er(e),r--;for(;i--;){if(m===e||m===e.alternate)break e;m=Er(m),e=Er(e)}m=null}else m=null;for(e=m,m=[];a&&a!==e&&(null===(i=a.alternate)||i!==e);)m.push(a),a=Er(a);for(a=[];u&&u!==e&&(null===(i=u.alternate)||i!==e);)a.push(u),u=Er(u);for(u=0;u<m.length;u++)Br(m[u],"bubbled",d);for(u=a.length;0<u--;)Br(a[u],"captured",t);return o===Zt?(Zt=null,[d]):(Zt=o,[d,t])}};var en="function"===typeof Object.is?Object.is:function(e,r){return e===r&&(0!==e||1/e===1/r)||e!==e&&r!==r},rn=Object.prototype.hasOwnProperty;function on(e,r){if(en(e,r))return!0;if("object"!==typeof e||null===e||"object"!==typeof r||null===r)return!1;var o=Object.keys(e),t=Object.keys(r);if(o.length!==t.length)return!1;for(t=0;t<o.length;t++)if(!rn.call(r,o[t])||!en(e[o[t]],r[o[t]]))return!1;return!0}var tn=q&&"documentMode"in document&&11>=document.documentMode,nn={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange".split(" ")}},ln=null,an=null,dn=null,mn=!1;function un(e,r){var o=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;return mn||null==ln||ln!==Yo(o)?null:("selectionStart"in(o=ln)&&Qo(o)?o={start:o.selectionStart,end:o.selectionEnd}:o={anchorNode:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset},dn&&on(dn,o)?null:(dn=o,(e=Ir.getPooled(nn.select,an,e,r)).type="select",e.target=ln,Gr(e),e))}var sn={eventTypes:nn,extractEvents:function(e,r,o,t){var n,l=t.window===t?t.document:9===t.nodeType?t:t.ownerDocument;if(!(n=!l)){e:{l=Oo(l),n=x.onSelect;for(var i=0;i<n.length;i++)if(!l.has(n[i])){l=!1;break e}l=!0}n=!l}if(n)return null;switch(l=r?xt(r):window,e){case"focus":(It(l)||"true"===l.contentEditable)&&(ln=l,an=r,dn=null);break;case"blur":dn=an=ln=null;break;case"mousedown":mn=!0;break;case"contextmenu":case"mouseup":case"dragend":return mn=!1,un(o,t);case"selectionchange":if(tn)break;case"keydown":case"keyup":return un(o,t)}return null}};C.injectEventPluginOrder("ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" ")),T=pt,M=ct,P=xt,C.injectEventPluginsByName({SimpleEventPlugin:So,EnterLeaveEventPlugin:qt,ChangeEventPlugin:Jt,SelectEventPlugin:sn,BeforeInputEventPlugin:Nt}),new Set;var gn=[],cn=-1;function xn(e){0>cn||(e.current=gn[cn],gn[cn]=null,cn--)}function pn(e,r){cn++,gn[cn]=e.current,e.current=r}var fn={},Sn={current:fn},hn={current:!1},vn=fn;function An(e,r){var o=e.type.contextTypes;if(!o)return fn;var t=e.stateNode;if(t&&t.__reactInternalMemoizedUnmaskedChildContext===r)return t.__reactInternalMemoizedMaskedChildContext;var n,l={};for(n in o)l[n]=r[n];return t&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=l),l}function bn(e){return null!==(e=e.childContextTypes)&&void 0!==e}function Tn(e){xn(hn),xn(Sn)}function Mn(e){xn(hn),xn(Sn)}function Pn(e,r,o){if(Sn.current!==fn)throw Error(i(168));pn(Sn,r),pn(hn,o)}function yn(e,r,o){var t=e.stateNode;if(e=r.childContextTypes,"function"!==typeof t.getChildContext)return o;for(var l in t=t.getChildContext())if(!(l in e))throw Error(i(108,J(r)||"Unknown",l));return n({},o,{},t)}function Ln(e){var r=e.stateNode;return r=r&&r.__reactInternalMemoizedMergedChildContext||fn,vn=Sn.current,pn(Sn,r),pn(hn,hn.current),!0}function En(e,r,o){var t=e.stateNode;if(!t)throw Error(i(169));o?(r=yn(e,r,vn),t.__reactInternalMemoizedMergedChildContext=r,xn(hn),xn(Sn),pn(Sn,r)):xn(hn),pn(hn,o)}var _n=l.unstable_runWithPriority,wn=l.unstable_scheduleCallback,Bn=l.unstable_cancelCallback,Cn=l.unstable_shouldYield,Gn=l.unstable_requestPaint,Nn=l.unstable_now,On=l.unstable_getCurrentPriorityLevel,In=l.unstable_ImmediatePriority,Xn=l.unstable_UserBlockingPriority,Dn=l.unstable_NormalPriority,Fn=l.unstable_LowPriority,$n=l.unstable_IdlePriority,Rn={},kn=void 0!==Gn?Gn:function(){},Un=null,Vn=null,Hn=!1,Yn=Nn(),Wn=1e4>Yn?Nn:function(){return Nn()-Yn};function Kn(){switch(On()){case In:return 99;case Xn:return 98;case Dn:return 97;case Fn:return 96;case $n:return 95;default:throw Error(i(332))}}function zn(e){switch(e){case 99:return In;case 98:return Xn;case 97:return Dn;case 96:return Fn;case 95:return $n;default:throw Error(i(332))}}function Qn(e,r){return e=zn(e),_n(e,r)}function Zn(e,r,o){return e=zn(e),wn(e,r,o)}function Jn(e){return null===Un?(Un=[e],Vn=wn(In,qn)):Un.push(e),Rn}function jn(){if(null!==Vn){var e=Vn;Vn=null,Bn(e)}qn()}function qn(){if(!Hn&&null!==Un){Hn=!0;var e=0;try{var r=Un;Qn(99,(function(){for(;e<r.length;e++){var o=r[e];do{o=o(!0)}while(null!==o)}})),Un=null}catch(o){throw null!==Un&&(Un=Un.slice(e+1)),wn(In,jn),o}finally{Hn=!1}}}var el=3;function rl(e,r,o){return 1073741821-(1+((1073741821-e+r/10)/(o/=10)|0))*o}function ol(e,r){if(e&&e.defaultProps)for(var o in r=n({},r),e=e.defaultProps)void 0===r[o]&&(r[o]=e[o]);return r}var tl={current:null},nl=null,ll=null,il=null;function al(){il=ll=nl=null}function dl(e,r){var o=e.type._context;pn(tl,o._currentValue),o._currentValue=r}function ml(e){var r=tl.current;xn(tl),e.type._context._currentValue=r}function ul(e,r){for(;null!==e;){var o=e.alternate;if(e.childExpirationTime<r)e.childExpirationTime=r,null!==o&&o.childExpirationTime<r&&(o.childExpirationTime=r);else{if(!(null!==o&&o.childExpirationTime<r))break;o.childExpirationTime=r}e=e.return}}function sl(e,r){nl=e,il=ll=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(e.expirationTime>=r&&(Yi=!0),e.firstContext=null)}function gl(e,r){if(il!==e&&!1!==r&&0!==r)if("number"===typeof r&&1073741823!==r||(il=e,r=1073741823),r={context:e,observedBits:r,next:null},null===ll){if(null===nl)throw Error(i(308));ll=r,nl.dependencies={expirationTime:0,firstContext:r,responders:null}}else ll=ll.next=r;return e._currentValue}var cl=!1;function xl(e){return{baseState:e,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function pl(e){return{baseState:e.baseState,firstUpdate:e.firstUpdate,lastUpdate:e.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function fl(e,r){return{expirationTime:e,suspenseConfig:r,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Sl(e,r){null===e.lastUpdate?e.firstUpdate=e.lastUpdate=r:(e.lastUpdate.next=r,e.lastUpdate=r)}function hl(e,r){var o=e.alternate;if(null===o){var t=e.updateQueue,n=null;null===t&&(t=e.updateQueue=xl(e.memoizedState))}else t=e.updateQueue,n=o.updateQueue,null===t?null===n?(t=e.updateQueue=xl(e.memoizedState),n=o.updateQueue=xl(o.memoizedState)):t=e.updateQueue=pl(n):null===n&&(n=o.updateQueue=pl(t));null===n||t===n?Sl(t,r):null===t.lastUpdate||null===n.lastUpdate?(Sl(t,r),Sl(n,r)):(Sl(t,r),n.lastUpdate=r)}function vl(e,r){var o=e.updateQueue;null===(o=null===o?e.updateQueue=xl(e.memoizedState):Al(e,o)).lastCapturedUpdate?o.firstCapturedUpdate=o.lastCapturedUpdate=r:(o.lastCapturedUpdate.next=r,o.lastCapturedUpdate=r)}function Al(e,r){var o=e.alternate;return null!==o&&r===o.updateQueue&&(r=e.updateQueue=pl(r)),r}function bl(e,r,o,t,l,i){switch(o.tag){case 1:return"function"===typeof(e=o.payload)?e.call(i,t,l):e;case 3:e.effectTag=-4097&e.effectTag|64;case 0:if(null===(l="function"===typeof(e=o.payload)?e.call(i,t,l):e)||void 0===l)break;return n({},t,l);case 2:cl=!0}return t}function Tl(e,r,o,t,n){cl=!1;for(var l=(r=Al(e,r)).baseState,i=null,a=0,d=r.firstUpdate,m=l;null!==d;){var u=d.expirationTime;u<n?(null===i&&(i=d,l=m),a<u&&(a=u)):(Ed(u,d.suspenseConfig),m=bl(e,0,d,m,o,t),null!==d.callback&&(e.effectTag|=32,d.nextEffect=null,null===r.lastEffect?r.firstEffect=r.lastEffect=d:(r.lastEffect.nextEffect=d,r.lastEffect=d))),d=d.next}for(u=null,d=r.firstCapturedUpdate;null!==d;){var s=d.expirationTime;s<n?(null===u&&(u=d,null===i&&(l=m)),a<s&&(a=s)):(m=bl(e,0,d,m,o,t),null!==d.callback&&(e.effectTag|=32,d.nextEffect=null,null===r.lastCapturedEffect?r.firstCapturedEffect=r.lastCapturedEffect=d:(r.lastCapturedEffect.nextEffect=d,r.lastCapturedEffect=d))),d=d.next}null===i&&(r.lastUpdate=null),null===u?r.lastCapturedUpdate=null:e.effectTag|=32,null===i&&null===u&&(l=m),r.baseState=l,r.firstUpdate=i,r.firstCapturedUpdate=u,_d(a),e.expirationTime=a,e.memoizedState=m}function Ml(e,r,o){null!==r.firstCapturedUpdate&&(null!==r.lastUpdate&&(r.lastUpdate.next=r.firstCapturedUpdate,r.lastUpdate=r.lastCapturedUpdate),r.firstCapturedUpdate=r.lastCapturedUpdate=null),Pl(r.firstEffect,o),r.firstEffect=r.lastEffect=null,Pl(r.firstCapturedEffect,o),r.firstCapturedEffect=r.lastCapturedEffect=null}function Pl(e,r){for(;null!==e;){var o=e.callback;if(null!==o){e.callback=null;var t=r;if("function"!==typeof o)throw Error(i(191,o));o.call(t)}e=e.nextEffect}}var yl=N.ReactCurrentBatchConfig,Ll=(new t.Component).refs;function El(e,r,o,t){o=null===(o=o(t,r=e.memoizedState))||void 0===o?r:n({},r,o),e.memoizedState=o,null!==(t=e.updateQueue)&&0===e.expirationTime&&(t.baseState=o)}var _l={isMounted:function(e){return!!(e=e._reactInternalFiber)&&er(e)===e},enqueueSetState:function(e,r,o){e=e._reactInternalFiber;var t=xd(),n=yl.suspense;(n=fl(t=pd(t,e,n),n)).payload=r,void 0!==o&&null!==o&&(n.callback=o),hl(e,n),fd(e,t)},enqueueReplaceState:function(e,r,o){e=e._reactInternalFiber;var t=xd(),n=yl.suspense;(n=fl(t=pd(t,e,n),n)).tag=1,n.payload=r,void 0!==o&&null!==o&&(n.callback=o),hl(e,n),fd(e,t)},enqueueForceUpdate:function(e,r){e=e._reactInternalFiber;var o=xd(),t=yl.suspense;(t=fl(o=pd(o,e,t),t)).tag=2,void 0!==r&&null!==r&&(t.callback=r),hl(e,t),fd(e,o)}};function wl(e,r,o,t,n,l,i){return"function"===typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(t,l,i):!r.prototype||!r.prototype.isPureReactComponent||(!on(o,t)||!on(n,l))}function Bl(e,r,o){var t=!1,n=fn,l=r.contextType;return"object"===typeof l&&null!==l?l=gl(l):(n=bn(r)?vn:Sn.current,l=(t=null!==(t=r.contextTypes)&&void 0!==t)?An(e,n):fn),r=new r(o,l),e.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,r.updater=_l,e.stateNode=r,r._reactInternalFiber=e,t&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=l),r}function Cl(e,r,o,t){e=r.state,"function"===typeof r.componentWillReceiveProps&&r.componentWillReceiveProps(o,t),"function"===typeof r.UNSAFE_componentWillReceiveProps&&r.UNSAFE_componentWillReceiveProps(o,t),r.state!==e&&_l.enqueueReplaceState(r,r.state,null)}function Gl(e,r,o,t){var n=e.stateNode;n.props=o,n.state=e.memoizedState,n.refs=Ll;var l=r.contextType;"object"===typeof l&&null!==l?n.context=gl(l):(l=bn(r)?vn:Sn.current,n.context=An(e,l)),null!==(l=e.updateQueue)&&(Tl(e,l,o,n,t),n.state=e.memoizedState),"function"===typeof(l=r.getDerivedStateFromProps)&&(El(e,r,l,o),n.state=e.memoizedState),"function"===typeof r.getDerivedStateFromProps||"function"===typeof n.getSnapshotBeforeUpdate||"function"!==typeof n.UNSAFE_componentWillMount&&"function"!==typeof n.componentWillMount||(r=n.state,"function"===typeof n.componentWillMount&&n.componentWillMount(),"function"===typeof n.UNSAFE_componentWillMount&&n.UNSAFE_componentWillMount(),r!==n.state&&_l.enqueueReplaceState(n,n.state,null),null!==(l=e.updateQueue)&&(Tl(e,l,o,n,t),n.state=e.memoizedState)),"function"===typeof n.componentDidMount&&(e.effectTag|=4)}var Nl=Array.isArray;function Ol(e,r,o){if(null!==(e=o.ref)&&"function"!==typeof e&&"object"!==typeof e){if(o._owner){if(o=o._owner){if(1!==o.tag)throw Error(i(309));var t=o.stateNode}if(!t)throw Error(i(147,e));var n=""+e;return null!==r&&null!==r.ref&&"function"===typeof r.ref&&r.ref._stringRef===n?r.ref:((r=function(e){var r=t.refs;r===Ll&&(r=t.refs={}),null===e?delete r[n]:r[n]=e})._stringRef=n,r)}if("string"!==typeof e)throw Error(i(284));if(!o._owner)throw Error(i(290,e))}return e}function Il(e,r){if("textarea"!==e.type)throw Error(i(31,"[object Object]"===Object.prototype.toString.call(r)?"object with keys {"+Object.keys(r).join(", ")+"}":r,""))}function Xl(e){function r(r,o){if(e){var t=r.lastEffect;null!==t?(t.nextEffect=o,r.lastEffect=o):r.firstEffect=r.lastEffect=o,o.nextEffect=null,o.effectTag=8}}function o(o,t){if(!e)return null;for(;null!==t;)r(o,t),t=t.sibling;return null}function t(e,r){for(e=new Map;null!==r;)null!==r.key?e.set(r.key,r):e.set(r.index,r),r=r.sibling;return e}function n(e,r,o){return(e=zd(e,r)).index=0,e.sibling=null,e}function l(r,o,t){return r.index=t,e?null!==(t=r.alternate)?(t=t.index)<o?(r.effectTag=2,o):t:(r.effectTag=2,o):o}function a(r){return e&&null===r.alternate&&(r.effectTag=2),r}function d(e,r,o,t){return null===r||6!==r.tag?((r=Jd(o,e.mode,t)).return=e,r):((r=n(r,o)).return=e,r)}function m(e,r,o,t){return null!==r&&r.elementType===o.type?((t=n(r,o.props)).ref=Ol(e,r,o),t.return=e,t):((t=Qd(o.type,o.key,o.props,null,e.mode,t)).ref=Ol(e,r,o),t.return=e,t)}function u(e,r,o,t){return null===r||4!==r.tag||r.stateNode.containerInfo!==o.containerInfo||r.stateNode.implementation!==o.implementation?((r=jd(o,e.mode,t)).return=e,r):((r=n(r,o.children||[])).return=e,r)}function s(e,r,o,t,l){return null===r||7!==r.tag?((r=Zd(o,e.mode,t,l)).return=e,r):((r=n(r,o)).return=e,r)}function g(e,r,o){if("string"===typeof r||"number"===typeof r)return(r=Jd(""+r,e.mode,o)).return=e,r;if("object"===typeof r&&null!==r){switch(r.$$typeof){case X:return(o=Qd(r.type,r.key,r.props,null,e.mode,o)).ref=Ol(e,null,r),o.return=e,o;case D:return(r=jd(r,e.mode,o)).return=e,r}if(Nl(r)||Z(r))return(r=Zd(r,e.mode,o,null)).return=e,r;Il(e,r)}return null}function c(e,r,o,t){var n=null!==r?r.key:null;if("string"===typeof o||"number"===typeof o)return null!==n?null:d(e,r,""+o,t);if("object"===typeof o&&null!==o){switch(o.$$typeof){case X:return o.key===n?o.type===F?s(e,r,o.props.children,t,n):m(e,r,o,t):null;case D:return o.key===n?u(e,r,o,t):null}if(Nl(o)||Z(o))return null!==n?null:s(e,r,o,t,null);Il(e,o)}return null}function x(e,r,o,t,n){if("string"===typeof t||"number"===typeof t)return d(r,e=e.get(o)||null,""+t,n);if("object"===typeof t&&null!==t){switch(t.$$typeof){case X:return e=e.get(null===t.key?o:t.key)||null,t.type===F?s(r,e,t.props.children,n,t.key):m(r,e,t,n);case D:return u(r,e=e.get(null===t.key?o:t.key)||null,t,n)}if(Nl(t)||Z(t))return s(r,e=e.get(o)||null,t,n,null);Il(r,t)}return null}function p(n,i,a,d){for(var m=null,u=null,s=i,p=i=0,f=null;null!==s&&p<a.length;p++){s.index>p?(f=s,s=null):f=s.sibling;var S=c(n,s,a[p],d);if(null===S){null===s&&(s=f);break}e&&s&&null===S.alternate&&r(n,s),i=l(S,i,p),null===u?m=S:u.sibling=S,u=S,s=f}if(p===a.length)return o(n,s),m;if(null===s){for(;p<a.length;p++)null!==(s=g(n,a[p],d))&&(i=l(s,i,p),null===u?m=s:u.sibling=s,u=s);return m}for(s=t(n,s);p<a.length;p++)null!==(f=x(s,n,p,a[p],d))&&(e&&null!==f.alternate&&s.delete(null===f.key?p:f.key),i=l(f,i,p),null===u?m=f:u.sibling=f,u=f);return e&&s.forEach((function(e){return r(n,e)})),m}function f(n,a,d,m){var u=Z(d);if("function"!==typeof u)throw Error(i(150));if(null==(d=u.call(d)))throw Error(i(151));for(var s=u=null,p=a,f=a=0,S=null,h=d.next();null!==p&&!h.done;f++,h=d.next()){p.index>f?(S=p,p=null):S=p.sibling;var v=c(n,p,h.value,m);if(null===v){null===p&&(p=S);break}e&&p&&null===v.alternate&&r(n,p),a=l(v,a,f),null===s?u=v:s.sibling=v,s=v,p=S}if(h.done)return o(n,p),u;if(null===p){for(;!h.done;f++,h=d.next())null!==(h=g(n,h.value,m))&&(a=l(h,a,f),null===s?u=h:s.sibling=h,s=h);return u}for(p=t(n,p);!h.done;f++,h=d.next())null!==(h=x(p,n,f,h.value,m))&&(e&&null!==h.alternate&&p.delete(null===h.key?f:h.key),a=l(h,a,f),null===s?u=h:s.sibling=h,s=h);return e&&p.forEach((function(e){return r(n,e)})),u}return function(e,t,l,d){var m="object"===typeof l&&null!==l&&l.type===F&&null===l.key;m&&(l=l.props.children);var u="object"===typeof l&&null!==l;if(u)switch(l.$$typeof){case X:e:{for(u=l.key,m=t;null!==m;){if(m.key===u){if(7===m.tag?l.type===F:m.elementType===l.type){o(e,m.sibling),(t=n(m,l.type===F?l.props.children:l.props)).ref=Ol(e,m,l),t.return=e,e=t;break e}o(e,m);break}r(e,m),m=m.sibling}l.type===F?((t=Zd(l.props.children,e.mode,d,l.key)).return=e,e=t):((d=Qd(l.type,l.key,l.props,null,e.mode,d)).ref=Ol(e,t,l),d.return=e,e=d)}return a(e);case D:e:{for(m=l.key;null!==t;){if(t.key===m){if(4===t.tag&&t.stateNode.containerInfo===l.containerInfo&&t.stateNode.implementation===l.implementation){o(e,t.sibling),(t=n(t,l.children||[])).return=e,e=t;break e}o(e,t);break}r(e,t),t=t.sibling}(t=jd(l,e.mode,d)).return=e,e=t}return a(e)}if("string"===typeof l||"number"===typeof l)return l=""+l,null!==t&&6===t.tag?(o(e,t.sibling),(t=n(t,l)).return=e,e=t):(o(e,t),(t=Jd(l,e.mode,d)).return=e,e=t),a(e);if(Nl(l))return p(e,t,l,d);if(Z(l))return f(e,t,l,d);if(u&&Il(e,l),"undefined"===typeof l&&!m)switch(e.tag){case 1:case 0:throw e=e.type,Error(i(152,e.displayName||e.name||"Component"))}return o(e,t)}}var Dl=Xl(!0),Fl=Xl(!1),$l={},Rl={current:$l},kl={current:$l},Ul={current:$l};function Vl(e){if(e===$l)throw Error(i(174));return e}function Hl(e,r){pn(Ul,r),pn(kl,e),pn(Rl,$l);var o=r.nodeType;switch(o){case 9:case 11:r=(r=r.documentElement)?r.namespaceURI:Re(null,"");break;default:r=Re(r=(o=8===o?r.parentNode:r).namespaceURI||null,o=o.tagName)}xn(Rl),pn(Rl,r)}function Yl(e){xn(Rl),xn(kl),xn(Ul)}function Wl(e){Vl(Ul.current);var r=Vl(Rl.current),o=Re(r,e.type);r!==o&&(pn(kl,e),pn(Rl,o))}function Kl(e){kl.current===e&&(xn(Rl),xn(kl))}var zl={current:0};function Ql(e){for(var r=e;null!==r;){if(13===r.tag){var o=r.memoizedState;if(null!==o&&(null===(o=o.dehydrated)||o.data===jo||o.data===qo))return r}else if(19===r.tag&&void 0!==r.memoizedProps.revealOrder){if(0!==(64&r.effectTag))return r}else if(null!==r.child){r.child.return=r,r=r.child;continue}if(r===e)break;for(;null===r.sibling;){if(null===r.return||r.return===e)return null;r=r.return}r.sibling.return=r.return,r=r.sibling}return null}function Zl(e,r){return{responder:e,props:r}}var Jl=N.ReactCurrentDispatcher,jl=N.ReactCurrentBatchConfig,ql=0,ei=null,ri=null,oi=null,ti=null,ni=null,li=null,ii=0,ai=null,di=0,mi=!1,ui=null,si=0;function gi(){throw Error(i(321))}function ci(e,r){if(null===r)return!1;for(var o=0;o<r.length&&o<e.length;o++)if(!en(e[o],r[o]))return!1;return!0}function xi(e,r,o,t,n,l){if(ql=l,ei=r,oi=null!==e?e.memoizedState:null,Jl.current=null===oi?Ni:Oi,r=o(t,n),mi){do{mi=!1,si+=1,oi=null!==e?e.memoizedState:null,li=ti,ai=ni=ri=null,Jl.current=Oi,r=o(t,n)}while(mi);ui=null,si=0}if(Jl.current=Gi,(e=ei).memoizedState=ti,e.expirationTime=ii,e.updateQueue=ai,e.effectTag|=di,e=null!==ri&&null!==ri.next,ql=0,li=ni=ti=oi=ri=ei=null,ii=0,ai=null,di=0,e)throw Error(i(300));return r}function pi(){Jl.current=Gi,ql=0,li=ni=ti=oi=ri=ei=null,ii=0,ai=null,di=0,mi=!1,ui=null,si=0}function fi(){var e={memoizedState:null,baseState:null,queue:null,baseUpdate:null,next:null};return null===ni?ti=ni=e:ni=ni.next=e,ni}function Si(){if(null!==li)li=(ni=li).next,oi=null!==(ri=oi)?ri.next:null;else{if(null===oi)throw Error(i(310));var e={memoizedState:(ri=oi).memoizedState,baseState:ri.baseState,queue:ri.queue,baseUpdate:ri.baseUpdate,next:null};ni=null===ni?ti=e:ni.next=e,oi=ri.next}return ni}function hi(e,r){return"function"===typeof r?r(e):r}function vi(e){var r=Si(),o=r.queue;if(null===o)throw Error(i(311));if(o.lastRenderedReducer=e,0<si){var t=o.dispatch;if(null!==ui){var n=ui.get(o);if(void 0!==n){ui.delete(o);var l=r.memoizedState;do{l=e(l,n.action),n=n.next}while(null!==n);return en(l,r.memoizedState)||(Yi=!0),r.memoizedState=l,r.baseUpdate===o.last&&(r.baseState=l),o.lastRenderedState=l,[l,t]}}return[r.memoizedState,t]}t=o.last;var a=r.baseUpdate;if(l=r.baseState,null!==a?(null!==t&&(t.next=null),t=a.next):t=null!==t?t.next:null,null!==t){var d=n=null,m=t,u=!1;do{var s=m.expirationTime;s<ql?(u||(u=!0,d=a,n=l),s>ii&&_d(ii=s)):(Ed(s,m.suspenseConfig),l=m.eagerReducer===e?m.eagerState:e(l,m.action)),a=m,m=m.next}while(null!==m&&m!==t);u||(d=a,n=l),en(l,r.memoizedState)||(Yi=!0),r.memoizedState=l,r.baseUpdate=d,r.baseState=n,o.lastRenderedState=l}return[r.memoizedState,o.dispatch]}function Ai(e){var r=fi();return"function"===typeof e&&(e=e()),r.memoizedState=r.baseState=e,e=(e=r.queue={last:null,dispatch:null,lastRenderedReducer:hi,lastRenderedState:e}).dispatch=Ci.bind(null,ei,e),[r.memoizedState,e]}function bi(e){return vi(hi)}function Ti(e,r,o,t){return e={tag:e,create:r,destroy:o,deps:t,next:null},null===ai?(ai={lastEffect:null}).lastEffect=e.next=e:null===(r=ai.lastEffect)?ai.lastEffect=e.next=e:(o=r.next,r.next=e,e.next=o,ai.lastEffect=e),e}function Mi(e,r,o,t){var n=fi();di|=e,n.memoizedState=Ti(r,o,void 0,void 0===t?null:t)}function Pi(e,r,o,t){var n=Si();t=void 0===t?null:t;var l=void 0;if(null!==ri){var i=ri.memoizedState;if(l=i.destroy,null!==t&&ci(t,i.deps))return void Ti(0,o,l,t)}di|=e,n.memoizedState=Ti(r,o,l,t)}function yi(e,r){return Mi(516,192,e,r)}function Li(e,r){return Pi(516,192,e,r)}function Ei(e,r){return"function"===typeof r?(e=e(),r(e),function(){r(null)}):null!==r&&void 0!==r?(e=e(),r.current=e,function(){r.current=null}):void 0}function _i(){}function wi(e,r){return fi().memoizedState=[e,void 0===r?null:r],e}function Bi(e,r){var o=Si();r=void 0===r?null:r;var t=o.memoizedState;return null!==t&&null!==r&&ci(r,t[1])?t[0]:(o.memoizedState=[e,r],e)}function Ci(e,r,o){if(!(25>si))throw Error(i(301));var t=e.alternate;if(e===ei||null!==t&&t===ei)if(mi=!0,e={expirationTime:ql,suspenseConfig:null,action:o,eagerReducer:null,eagerState:null,next:null},null===ui&&(ui=new Map),void 0===(o=ui.get(r)))ui.set(r,e);else{for(r=o;null!==r.next;)r=r.next;r.next=e}else{var n=xd(),l=yl.suspense;l={expirationTime:n=pd(n,e,l),suspenseConfig:l,action:o,eagerReducer:null,eagerState:null,next:null};var a=r.last;if(null===a)l.next=l;else{var d=a.next;null!==d&&(l.next=d),a.next=l}if(r.last=l,0===e.expirationTime&&(null===t||0===t.expirationTime)&&null!==(t=r.lastRenderedReducer))try{var m=r.lastRenderedState,u=t(m,o);if(l.eagerReducer=t,l.eagerState=u,en(u,m))return}catch(s){}fd(e,n)}}var Gi={readContext:gl,useCallback:gi,useContext:gi,useEffect:gi,useImperativeHandle:gi,useLayoutEffect:gi,useMemo:gi,useReducer:gi,useRef:gi,useState:gi,useDebugValue:gi,useResponder:gi,useDeferredValue:gi,useTransition:gi},Ni={readContext:gl,useCallback:wi,useContext:gl,useEffect:yi,useImperativeHandle:function(e,r,o){return o=null!==o&&void 0!==o?o.concat([e]):null,Mi(4,36,Ei.bind(null,r,e),o)},useLayoutEffect:function(e,r){return Mi(4,36,e,r)},useMemo:function(e,r){var o=fi();return r=void 0===r?null:r,e=e(),o.memoizedState=[e,r],e},useReducer:function(e,r,o){var t=fi();return r=void 0!==o?o(r):r,t.memoizedState=t.baseState=r,e=(e=t.queue={last:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:r}).dispatch=Ci.bind(null,ei,e),[t.memoizedState,e]},useRef:function(e){return e={current:e},fi().memoizedState=e},useState:Ai,useDebugValue:_i,useResponder:Zl,useDeferredValue:function(e,r){var o=Ai(e),t=o[0],n=o[1];return yi((function(){l.unstable_next((function(){var o=jl.suspense;jl.suspense=void 0===r?null:r;try{n(e)}finally{jl.suspense=o}}))}),[e,r]),t},useTransition:function(e){var r=Ai(!1),o=r[0],t=r[1];return[wi((function(r){t(!0),l.unstable_next((function(){var o=jl.suspense;jl.suspense=void 0===e?null:e;try{t(!1),r()}finally{jl.suspense=o}}))}),[e,o]),o]}},Oi={readContext:gl,useCallback:Bi,useContext:gl,useEffect:Li,useImperativeHandle:function(e,r,o){return o=null!==o&&void 0!==o?o.concat([e]):null,Pi(4,36,Ei.bind(null,r,e),o)},useLayoutEffect:function(e,r){return Pi(4,36,e,r)},useMemo:function(e,r){var o=Si();r=void 0===r?null:r;var t=o.memoizedState;return null!==t&&null!==r&&ci(r,t[1])?t[0]:(e=e(),o.memoizedState=[e,r],e)},useReducer:vi,useRef:function(){return Si().memoizedState},useState:bi,useDebugValue:_i,useResponder:Zl,useDeferredValue:function(e,r){var o=bi(),t=o[0],n=o[1];return Li((function(){l.unstable_next((function(){var o=jl.suspense;jl.suspense=void 0===r?null:r;try{n(e)}finally{jl.suspense=o}}))}),[e,r]),t},useTransition:function(e){var r=bi(),o=r[0],t=r[1];return[Bi((function(r){t(!0),l.unstable_next((function(){var o=jl.suspense;jl.suspense=void 0===e?null:e;try{t(!1),r()}finally{jl.suspense=o}}))}),[e,o]),o]}},Ii=null,Xi=null,Di=!1;function Fi(e,r){var o=Wd(5,null,null,0);o.elementType="DELETED",o.type="DELETED",o.stateNode=r,o.return=e,o.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=o,e.lastEffect=o):e.firstEffect=e.lastEffect=o}function $i(e,r){switch(e.tag){case 5:var o=e.type;return null!==(r=1!==r.nodeType||o.toLowerCase()!==r.nodeName.toLowerCase()?null:r)&&(e.stateNode=r,!0);case 6:return null!==(r=""===e.pendingProps||3!==r.nodeType?null:r)&&(e.stateNode=r,!0);case 13:default:return!1}}function Ri(e){if(Di){var r=Xi;if(r){var o=r;if(!$i(e,r)){if(!(r=it(o.nextSibling))||!$i(e,r))return e.effectTag=-1025&e.effectTag|2,Di=!1,void(Ii=e);Fi(Ii,o)}Ii=e,Xi=it(r.firstChild)}else e.effectTag=-1025&e.effectTag|2,Di=!1,Ii=e}}function ki(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Ii=e}function Ui(e){if(e!==Ii)return!1;if(!Di)return ki(e),Di=!0,!1;var r=e.type;if(5!==e.tag||"head"!==r&&"body"!==r&&!tt(r,e.memoizedProps))for(r=Xi;r;)Fi(e,r),r=it(r.nextSibling);if(ki(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(i(317));e:{for(e=e.nextSibling,r=0;e;){if(8===e.nodeType){var o=e.data;if(o===Jo){if(0===r){Xi=it(e.nextSibling);break e}r--}else o!==Zo&&o!==qo&&o!==jo||r++}e=e.nextSibling}Xi=null}}else Xi=Ii?it(e.stateNode.nextSibling):null;return!0}function Vi(){Xi=Ii=null,Di=!1}var Hi=N.ReactCurrentOwner,Yi=!1;function Wi(e,r,o,t){r.child=null===e?Fl(r,null,o,t):Dl(r,e.child,o,t)}function Ki(e,r,o,t,n){o=o.render;var l=r.ref;return sl(r,n),t=xi(e,r,o,t,l,n),null===e||Yi?(r.effectTag|=1,Wi(e,r,t,n),r.child):(r.updateQueue=e.updateQueue,r.effectTag&=-517,e.expirationTime<=n&&(e.expirationTime=0),ua(e,r,n))}function zi(e,r,o,t,n,l){if(null===e){var i=o.type;return"function"!==typeof i||Kd(i)||void 0!==i.defaultProps||null!==o.compare||void 0!==o.defaultProps?((e=Qd(o.type,null,t,null,r.mode,l)).ref=r.ref,e.return=r,r.child=e):(r.tag=15,r.type=i,Qi(e,r,i,t,n,l))}return i=e.child,n<l&&(n=i.memoizedProps,(o=null!==(o=o.compare)?o:on)(n,t)&&e.ref===r.ref)?ua(e,r,l):(r.effectTag|=1,(e=zd(i,t)).ref=r.ref,e.return=r,r.child=e)}function Qi(e,r,o,t,n,l){return null!==e&&on(e.memoizedProps,t)&&e.ref===r.ref&&(Yi=!1,n<l)?ua(e,r,l):Ji(e,r,o,t,l)}function Zi(e,r){var o=r.ref;(null===e&&null!==o||null!==e&&e.ref!==o)&&(r.effectTag|=128)}function Ji(e,r,o,t,n){var l=bn(o)?vn:Sn.current;return l=An(r,l),sl(r,n),o=xi(e,r,o,t,l,n),null===e||Yi?(r.effectTag|=1,Wi(e,r,o,n),r.child):(r.updateQueue=e.updateQueue,r.effectTag&=-517,e.expirationTime<=n&&(e.expirationTime=0),ua(e,r,n))}function ji(e,r,o,t,n){if(bn(o)){var l=!0;Ln(r)}else l=!1;if(sl(r,n),null===r.stateNode)null!==e&&(e.alternate=null,r.alternate=null,r.effectTag|=2),Bl(r,o,t),Gl(r,o,t,n),t=!0;else if(null===e){var i=r.stateNode,a=r.memoizedProps;i.props=a;var d=i.context,m=o.contextType;"object"===typeof m&&null!==m?m=gl(m):m=An(r,m=bn(o)?vn:Sn.current);var u=o.getDerivedStateFromProps,s="function"===typeof u||"function"===typeof i.getSnapshotBeforeUpdate;s||"function"!==typeof i.UNSAFE_componentWillReceiveProps&&"function"!==typeof i.componentWillReceiveProps||(a!==t||d!==m)&&Cl(r,i,t,m),cl=!1;var g=r.memoizedState;d=i.state=g;var c=r.updateQueue;null!==c&&(Tl(r,c,t,i,n),d=r.memoizedState),a!==t||g!==d||hn.current||cl?("function"===typeof u&&(El(r,o,u,t),d=r.memoizedState),(a=cl||wl(r,o,a,t,g,d,m))?(s||"function"!==typeof i.UNSAFE_componentWillMount&&"function"!==typeof i.componentWillMount||("function"===typeof i.componentWillMount&&i.componentWillMount(),"function"===typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"===typeof i.componentDidMount&&(r.effectTag|=4)):("function"===typeof i.componentDidMount&&(r.effectTag|=4),r.memoizedProps=t,r.memoizedState=d),i.props=t,i.state=d,i.context=m,t=a):("function"===typeof i.componentDidMount&&(r.effectTag|=4),t=!1)}else i=r.stateNode,a=r.memoizedProps,i.props=r.type===r.elementType?a:ol(r.type,a),d=i.context,"object"===typeof(m=o.contextType)&&null!==m?m=gl(m):m=An(r,m=bn(o)?vn:Sn.current),(s="function"===typeof(u=o.getDerivedStateFromProps)||"function"===typeof i.getSnapshotBeforeUpdate)||"function"!==typeof i.UNSAFE_componentWillReceiveProps&&"function"!==typeof i.componentWillReceiveProps||(a!==t||d!==m)&&Cl(r,i,t,m),cl=!1,d=r.memoizedState,g=i.state=d,null!==(c=r.updateQueue)&&(Tl(r,c,t,i,n),g=r.memoizedState),a!==t||d!==g||hn.current||cl?("function"===typeof u&&(El(r,o,u,t),g=r.memoizedState),(u=cl||wl(r,o,a,t,d,g,m))?(s||"function"!==typeof i.UNSAFE_componentWillUpdate&&"function"!==typeof i.componentWillUpdate||("function"===typeof i.componentWillUpdate&&i.componentWillUpdate(t,g,m),"function"===typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(t,g,m)),"function"===typeof i.componentDidUpdate&&(r.effectTag|=4),"function"===typeof i.getSnapshotBeforeUpdate&&(r.effectTag|=256)):("function"!==typeof i.componentDidUpdate||a===e.memoizedProps&&d===e.memoizedState||(r.effectTag|=4),"function"!==typeof i.getSnapshotBeforeUpdate||a===e.memoizedProps&&d===e.memoizedState||(r.effectTag|=256),r.memoizedProps=t,r.memoizedState=g),i.props=t,i.state=g,i.context=m,t=u):("function"!==typeof i.componentDidUpdate||a===e.memoizedProps&&d===e.memoizedState||(r.effectTag|=4),"function"!==typeof i.getSnapshotBeforeUpdate||a===e.memoizedProps&&d===e.memoizedState||(r.effectTag|=256),t=!1);return qi(e,r,o,t,l,n)}function qi(e,r,o,t,n,l){Zi(e,r);var i=0!==(64&r.effectTag);if(!t&&!i)return n&&En(r,o,!1),ua(e,r,l);t=r.stateNode,Hi.current=r;var a=i&&"function"!==typeof o.getDerivedStateFromError?null:t.render();return r.effectTag|=1,null!==e&&i?(r.child=Dl(r,e.child,null,l),r.child=Dl(r,null,a,l)):Wi(e,r,a,l),r.memoizedState=t.state,n&&En(r,o,!0),r.child}function ea(e){var r=e.stateNode;r.pendingContext?Pn(0,r.pendingContext,r.pendingContext!==r.context):r.context&&Pn(0,r.context,!1),Hl(e,r.containerInfo)}var ra,oa,ta,na,la={dehydrated:null,retryTime:0};function ia(e,r,o){var t,n=r.mode,l=r.pendingProps,i=zl.current,a=!1;if((t=0!==(64&r.effectTag))||(t=0!==(2&i)&&(null===e||null!==e.memoizedState)),t?(a=!0,r.effectTag&=-65):null!==e&&null===e.memoizedState||void 0===l.fallback||!0===l.unstable_avoidThisFallback||(i|=1),pn(zl,1&i),null===e){if(void 0!==l.fallback&&Ri(r),a){if(a=l.fallback,(l=Zd(null,n,0,null)).return=r,0===(2&r.mode))for(e=null!==r.memoizedState?r.child.child:r.child,l.child=e;null!==e;)e.return=l,e=e.sibling;return(o=Zd(a,n,o,null)).return=r,l.sibling=o,r.memoizedState=la,r.child=l,o}return n=l.children,r.memoizedState=null,r.child=Fl(r,null,n,o)}if(null!==e.memoizedState){if(n=(e=e.child).sibling,a){if(l=l.fallback,(o=zd(e,e.pendingProps)).return=r,0===(2&r.mode)&&(a=null!==r.memoizedState?r.child.child:r.child)!==e.child)for(o.child=a;null!==a;)a.return=o,a=a.sibling;return(n=zd(n,l,n.expirationTime)).return=r,o.sibling=n,o.childExpirationTime=0,r.memoizedState=la,r.child=o,n}return o=Dl(r,e.child,l.children,o),r.memoizedState=null,r.child=o}if(e=e.child,a){if(a=l.fallback,(l=Zd(null,n,0,null)).return=r,l.child=e,null!==e&&(e.return=l),0===(2&r.mode))for(e=null!==r.memoizedState?r.child.child:r.child,l.child=e;null!==e;)e.return=l,e=e.sibling;return(o=Zd(a,n,o,null)).return=r,l.sibling=o,o.effectTag|=2,l.childExpirationTime=0,r.memoizedState=la,r.child=l,o}return r.memoizedState=null,r.child=Dl(r,e,l.children,o)}function aa(e,r){e.expirationTime<r&&(e.expirationTime=r);var o=e.alternate;null!==o&&o.expirationTime<r&&(o.expirationTime=r),ul(e.return,r)}function da(e,r,o,t,n,l){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:r,rendering:null,last:t,tail:o,tailExpiration:0,tailMode:n,lastEffect:l}:(i.isBackwards=r,i.rendering=null,i.last=t,i.tail=o,i.tailExpiration=0,i.tailMode=n,i.lastEffect=l)}function ma(e,r,o){var t=r.pendingProps,n=t.revealOrder,l=t.tail;if(Wi(e,r,t.children,o),0!==(2&(t=zl.current)))t=1&t|2,r.effectTag|=64;else{if(null!==e&&0!==(64&e.effectTag))e:for(e=r.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&aa(e,o);else if(19===e.tag)aa(e,o);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===r)break e;for(;null===e.sibling;){if(null===e.return||e.return===r)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}t&=1}if(pn(zl,t),0===(2&r.mode))r.memoizedState=null;else switch(n){case"forwards":for(o=r.child,n=null;null!==o;)null!==(e=o.alternate)&&null===Ql(e)&&(n=o),o=o.sibling;null===(o=n)?(n=r.child,r.child=null):(n=o.sibling,o.sibling=null),da(r,!1,n,o,l,r.lastEffect);break;case"backwards":for(o=null,n=r.child,r.child=null;null!==n;){if(null!==(e=n.alternate)&&null===Ql(e)){r.child=n;break}e=n.sibling,n.sibling=o,o=n,n=e}da(r,!0,o,null,l,r.lastEffect);break;case"together":da(r,!1,null,null,void 0,r.lastEffect);break;default:r.memoizedState=null}return r.child}function ua(e,r,o){null!==e&&(r.dependencies=e.dependencies);var t=r.expirationTime;if(0!==t&&_d(t),r.childExpirationTime<o)return null;if(null!==e&&r.child!==e.child)throw Error(i(153));if(null!==r.child){for(o=zd(e=r.child,e.pendingProps,e.expirationTime),r.child=o,o.return=r;null!==e.sibling;)e=e.sibling,(o=o.sibling=zd(e,e.pendingProps,e.expirationTime)).return=r;o.sibling=null}return r.child}function sa(e){e.effectTag|=4}function ga(e,r){switch(e.tailMode){case"hidden":r=e.tail;for(var o=null;null!==r;)null!==r.alternate&&(o=r),r=r.sibling;null===o?e.tail=null:o.sibling=null;break;case"collapsed":o=e.tail;for(var t=null;null!==o;)null!==o.alternate&&(t=o),o=o.sibling;null===t?r||null===e.tail?e.tail=null:e.tail.sibling=null:t.sibling=null}}function ca(e){switch(e.tag){case 1:bn(e.type)&&Tn();var r=e.effectTag;return 4096&r?(e.effectTag=-4097&r|64,e):null;case 3:if(Yl(),Mn(),0!==(64&(r=e.effectTag)))throw Error(i(285));return e.effectTag=-4097&r|64,e;case 5:return Kl(e),null;case 13:return xn(zl),4096&(r=e.effectTag)?(e.effectTag=-4097&r|64,e):null;case 19:return xn(zl),null;case 4:return Yl(),null;case 10:return ml(e),null;default:return null}}function xa(e,r){return{value:e,source:r,stack:j(r)}}ra=function(e,r){for(var o=r.child;null!==o;){if(5===o.tag||6===o.tag)e.appendChild(o.stateNode);else if(4!==o.tag&&null!==o.child){o.child.return=o,o=o.child;continue}if(o===r)break;for(;null===o.sibling;){if(null===o.return||o.return===r)return;o=o.return}o.sibling.return=o.return,o=o.sibling}},oa=function(){},ta=function(e,r,o,t,l){var i=e.memoizedProps;if(i!==t){var a,d,m=r.stateNode;switch(Vl(Rl.current),e=null,o){case"input":i=Le(m,i),t=Le(m,t),e=[];break;case"option":i=Ge(m,i),t=Ge(m,t),e=[];break;case"select":i=n({},i,{value:void 0}),t=n({},t,{value:void 0}),e=[];break;case"textarea":i=Oe(m,i),t=Oe(m,t),e=[];break;default:"function"!==typeof i.onClick&&"function"===typeof t.onClick&&(m.onclick=Ho)}for(a in ko(o,t),o=null,i)if(!t.hasOwnProperty(a)&&i.hasOwnProperty(a)&&null!=i[a])if("style"===a)for(d in m=i[a])m.hasOwnProperty(d)&&(o||(o={}),o[d]="");else"dangerouslySetInnerHTML"!==a&&"children"!==a&&"suppressContentEditableWarning"!==a&&"suppressHydrationWarning"!==a&&"autoFocus"!==a&&(c.hasOwnProperty(a)?e||(e=[]):(e=e||[]).push(a,null));for(a in t){var u=t[a];if(m=null!=i?i[a]:void 0,t.hasOwnProperty(a)&&u!==m&&(null!=u||null!=m))if("style"===a)if(m){for(d in m)!m.hasOwnProperty(d)||u&&u.hasOwnProperty(d)||(o||(o={}),o[d]="");for(d in u)u.hasOwnProperty(d)&&m[d]!==u[d]&&(o||(o={}),o[d]=u[d])}else o||(e||(e=[]),e.push(a,o)),o=u;else"dangerouslySetInnerHTML"===a?(u=u?u.__html:void 0,m=m?m.__html:void 0,null!=u&&m!==u&&(e=e||[]).push(a,""+u)):"children"===a?m===u||"string"!==typeof u&&"number"!==typeof u||(e=e||[]).push(a,""+u):"suppressContentEditableWarning"!==a&&"suppressHydrationWarning"!==a&&(c.hasOwnProperty(a)?(null!=u&&Vo(l,a),e||m===u||(e=[])):(e=e||[]).push(a,u))}o&&(e=e||[]).push("style",o),l=e,(r.updateQueue=l)&&sa(r)}},na=function(e,r,o,t){o!==t&&sa(r)};var pa="function"===typeof WeakSet?WeakSet:Set;function fa(e,r){var o=r.source,t=r.stack;null===t&&null!==o&&(t=j(o)),null!==o&&J(o.type),r=r.value,null!==e&&1===e.tag&&J(e.type);try{console.error(r)}catch(n){setTimeout((function(){throw n}))}}function Sa(e){var r=e.ref;if(null!==r)if("function"===typeof r)try{r(null)}catch(o){Rd(e,o)}else r.current=null}function ha(e,r){switch(r.tag){case 0:case 11:case 15:va(2,0,r);break;case 1:if(256&r.effectTag&&null!==e){var o=e.memoizedProps,t=e.memoizedState;r=(e=r.stateNode).getSnapshotBeforeUpdate(r.elementType===r.type?o:ol(r.type,o),t),e.__reactInternalSnapshotBeforeUpdate=r}break;case 3:case 5:case 6:case 4:case 17:break;default:throw Error(i(163))}}function va(e,r,o){if(null!==(o=null!==(o=o.updateQueue)?o.lastEffect:null)){var t=o=o.next;do{if(0!==(t.tag&e)){var n=t.destroy;t.destroy=void 0,void 0!==n&&n()}0!==(t.tag&r)&&(n=t.create,t.destroy=n()),t=t.next}while(t!==o)}}function Aa(e,r,o){switch("function"===typeof Hd&&Hd(r),r.tag){case 0:case 11:case 14:case 15:if(null!==(e=r.updateQueue)&&null!==(e=e.lastEffect)){var t=e.next;Qn(97<o?97:o,(function(){var e=t;do{var o=e.destroy;if(void 0!==o){var n=r;try{o()}catch(l){Rd(n,l)}}e=e.next}while(e!==t)}))}break;case 1:Sa(r),"function"===typeof(o=r.stateNode).componentWillUnmount&&function(e,r){try{r.props=e.memoizedProps,r.state=e.memoizedState,r.componentWillUnmount()}catch(o){Rd(e,o)}}(r,o);break;case 5:Sa(r);break;case 4:Pa(e,r,o)}}function ba(e){var r=e.alternate;e.return=null,e.child=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.alternate=null,e.firstEffect=null,e.lastEffect=null,e.pendingProps=null,e.memoizedProps=null,null!==r&&ba(r)}function Ta(e){return 5===e.tag||3===e.tag||4===e.tag}function Ma(e){e:{for(var r=e.return;null!==r;){if(Ta(r)){var o=r;break e}r=r.return}throw Error(i(160))}switch(r=o.stateNode,o.tag){case 5:var t=!1;break;case 3:case 4:r=r.containerInfo,t=!0;break;default:throw Error(i(161))}16&o.effectTag&&(Ve(r,""),o.effectTag&=-17);e:r:for(o=e;;){for(;null===o.sibling;){if(null===o.return||Ta(o.return)){o=null;break e}o=o.return}for(o.sibling.return=o.return,o=o.sibling;5!==o.tag&&6!==o.tag&&18!==o.tag;){if(2&o.effectTag)continue r;if(null===o.child||4===o.tag)continue r;o.child.return=o,o=o.child}if(!(2&o.effectTag)){o=o.stateNode;break e}}for(var n=e;;){var l=5===n.tag||6===n.tag;if(l){var a=l?n.stateNode:n.stateNode.instance;if(o)if(t){var d=a;a=o,8===(l=r).nodeType?l.parentNode.insertBefore(d,a):l.insertBefore(d,a)}else r.insertBefore(a,o);else t?(8===(d=r).nodeType?(l=d.parentNode).insertBefore(a,d):(l=d).appendChild(a),null!==(d=d._reactRootContainer)&&void 0!==d||null!==l.onclick||(l.onclick=Ho)):r.appendChild(a)}else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}}function Pa(e,r,o){for(var t,n,l=r,a=!1;;){if(!a){a=l.return;e:for(;;){if(null===a)throw Error(i(160));switch(t=a.stateNode,a.tag){case 5:n=!1;break e;case 3:case 4:t=t.containerInfo,n=!0;break e}a=a.return}a=!0}if(5===l.tag||6===l.tag){e:for(var d=e,m=l,u=o,s=m;;)if(Aa(d,s,u),null!==s.child&&4!==s.tag)s.child.return=s,s=s.child;else{if(s===m)break;for(;null===s.sibling;){if(null===s.return||s.return===m)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}n?(d=t,m=l.stateNode,8===d.nodeType?d.parentNode.removeChild(m):d.removeChild(m)):t.removeChild(l.stateNode)}else if(4===l.tag){if(null!==l.child){t=l.stateNode.containerInfo,n=!0,l.child.return=l,l=l.child;continue}}else if(Aa(e,l,o),null!==l.child){l.child.return=l,l=l.child;continue}if(l===r)break;for(;null===l.sibling;){if(null===l.return||l.return===r)return;4===(l=l.return).tag&&(a=!1)}l.sibling.return=l.return,l=l.sibling}}function ya(e,r){switch(r.tag){case 0:case 11:case 14:case 15:va(4,8,r);break;case 1:break;case 5:var o=r.stateNode;if(null!=o){var t=r.memoizedProps,n=null!==e?e.memoizedProps:t;e=r.type;var l=r.updateQueue;if(r.updateQueue=null,null!==l){for(o[ut]=t,"input"===e&&"radio"===t.type&&null!=t.name&&_e(o,t),Uo(e,n),r=Uo(e,t),n=0;n<l.length;n+=2){var a=l[n],d=l[n+1];"style"===a?$o(o,d):"dangerouslySetInnerHTML"===a?Ue(o,d):"children"===a?Ve(o,d):Te(o,a,d,r)}switch(e){case"input":we(o,t);break;case"textarea":Xe(o,t);break;case"select":r=o._wrapperState.wasMultiple,o._wrapperState.wasMultiple=!!t.multiple,null!=(e=t.value)?Ne(o,!!t.multiple,e,!1):r!==!!t.multiple&&(null!=t.defaultValue?Ne(o,!!t.multiple,t.defaultValue,!0):Ne(o,!!t.multiple,t.multiple?[]:"",!1))}}}break;case 6:if(null===r.stateNode)throw Error(i(162));r.stateNode.nodeValue=r.memoizedProps;break;case 3:(r=r.stateNode).hydrate&&(r.hydrate=!1,yr(r.containerInfo));break;case 12:break;case 13:if(o=r,null===r.memoizedState?t=!1:(t=!0,o=r.child,rd=Wn()),null!==o)e:for(e=o;;){if(5===e.tag)l=e.stateNode,t?"function"===typeof(l=l.style).setProperty?l.setProperty("display","none","important"):l.display="none":(l=e.stateNode,n=void 0!==(n=e.memoizedProps.style)&&null!==n&&n.hasOwnProperty("display")?n.display:null,l.style.display=Fo("display",n));else if(6===e.tag)e.stateNode.nodeValue=t?"":e.memoizedProps;else{if(13===e.tag&&null!==e.memoizedState&&null===e.memoizedState.dehydrated){(l=e.child.sibling).return=e,e=l;continue}if(null!==e.child){e.child.return=e,e=e.child;continue}}if(e===o)break e;for(;null===e.sibling;){if(null===e.return||e.return===o)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}La(r);break;case 19:La(r);break;case 17:case 20:case 21:break;default:throw Error(i(163))}}function La(e){var r=e.updateQueue;if(null!==r){e.updateQueue=null;var o=e.stateNode;null===o&&(o=e.stateNode=new pa),r.forEach((function(r){var t=Ud.bind(null,e,r);o.has(r)||(o.add(r),r.then(t,t))}))}}var Ea="function"===typeof WeakMap?WeakMap:Map;function _a(e,r,o){(o=fl(o,null)).tag=3,o.payload={element:null};var t=r.value;return o.callback=function(){nd||(nd=!0,ld=t),fa(e,r)},o}function wa(e,r,o){(o=fl(o,null)).tag=3;var t=e.type.getDerivedStateFromError;if("function"===typeof t){var n=r.value;o.payload=function(){return fa(e,r),t(n)}}var l=e.stateNode;return null!==l&&"function"===typeof l.componentDidCatch&&(o.callback=function(){"function"!==typeof t&&(null===id?id=new Set([this]):id.add(this),fa(e,r));var o=r.stack;this.componentDidCatch(r.value,{componentStack:null!==o?o:""})}),o}var Ba,Ca=Math.ceil,Ga=N.ReactCurrentDispatcher,Na=N.ReactCurrentOwner,Oa=0,Ia=8,Xa=16,Da=32,Fa=0,$a=1,Ra=2,ka=3,Ua=4,Va=5,Ha=Oa,Ya=null,Wa=null,Ka=0,za=Fa,Qa=null,Za=1073741823,Ja=1073741823,ja=null,qa=0,ed=!1,rd=0,od=500,td=null,nd=!1,ld=null,id=null,ad=!1,dd=null,md=90,ud=null,sd=0,gd=null,cd=0;function xd(){return(Ha&(Xa|Da))!==Oa?1073741821-(Wn()/10|0):0!==cd?cd:cd=1073741821-(Wn()/10|0)}function pd(e,r,o){if(0===(2&(r=r.mode)))return 1073741823;var t=Kn();if(0===(4&r))return 99===t?1073741823:1073741822;if((Ha&Xa)!==Oa)return Ka;if(null!==o)e=rl(e,0|o.timeoutMs||5e3,250);else switch(t){case 99:e=1073741823;break;case 98:e=rl(e,150,100);break;case 97:case 96:e=rl(e,5e3,250);break;case 95:e=2;break;default:throw Error(i(326))}return null!==Ya&&e===Ka&&--e,e}function fd(e,r){if(50<sd)throw sd=0,gd=null,Error(i(185));if(null!==(e=Sd(e,r))){var o=Kn();1073741823===r?(Ha&Ia)!==Oa&&(Ha&(Xa|Da))===Oa?bd(e):(vd(e),Ha===Oa&&jn()):vd(e),(4&Ha)===Oa||98!==o&&99!==o||(null===ud?ud=new Map([[e,r]]):(void 0===(o=ud.get(e))||o>r)&&ud.set(e,r))}}function Sd(e,r){e.expirationTime<r&&(e.expirationTime=r);var o=e.alternate;null!==o&&o.expirationTime<r&&(o.expirationTime=r);var t=e.return,n=null;if(null===t&&3===e.tag)n=e.stateNode;else for(;null!==t;){if(o=t.alternate,t.childExpirationTime<r&&(t.childExpirationTime=r),null!==o&&o.childExpirationTime<r&&(o.childExpirationTime=r),null===t.return&&3===t.tag){n=t.stateNode;break}t=t.return}return null!==n&&(Ya===n&&(_d(r),za===Ua&&rm(n,Ka)),om(n,r)),n}function hd(e){var r=e.lastExpiredTime;return 0!==r?r:em(e,r=e.firstPendingTime)?(r=e.lastPingedTime)>(e=e.nextKnownPendingLevel)?r:e:r}function vd(e){if(0!==e.lastExpiredTime)e.callbackExpirationTime=1073741823,e.callbackPriority=99,e.callbackNode=Jn(bd.bind(null,e));else{var r=hd(e),o=e.callbackNode;if(0===r)null!==o&&(e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90);else{var t=xd();if(1073741823===r?t=99:1===r||2===r?t=95:t=0>=(t=10*(1073741821-r)-10*(1073741821-t))?99:250>=t?98:5250>=t?97:95,null!==o){var n=e.callbackPriority;if(e.callbackExpirationTime===r&&n>=t)return;o!==Rn&&Bn(o)}e.callbackExpirationTime=r,e.callbackPriority=t,r=1073741823===r?Jn(bd.bind(null,e)):Zn(t,Ad.bind(null,e),{timeout:10*(1073741821-r)-Wn()}),e.callbackNode=r}}}function Ad(e,r){if(cd=0,r)return tm(e,r=xd()),vd(e),null;var o=hd(e);if(0!==o){if(r=e.callbackNode,(Ha&(Xa|Da))!==Oa)throw Error(i(327));if(Dd(),e===Ya&&o===Ka||Pd(e,o),null!==Wa){var t=Ha;Ha|=Xa;for(var n=Ld();;)try{Bd();break}catch(d){yd(e,d)}if(al(),Ha=t,Ga.current=n,za===$a)throw r=Qa,Pd(e,o),rm(e,o),vd(e),r;if(null===Wa)switch(n=e.finishedWork=e.current.alternate,e.finishedExpirationTime=o,t=za,Ya=null,t){case Fa:case $a:throw Error(i(345));case Ra:tm(e,2<o?2:o);break;case ka:if(rm(e,o),o===(t=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=Nd(n)),1073741823===Za&&10<(n=rd+od-Wn())){if(ed){var l=e.lastPingedTime;if(0===l||l>=o){e.lastPingedTime=o,Pd(e,o);break}}if(0!==(l=hd(e))&&l!==o)break;if(0!==t&&t!==o){e.lastPingedTime=t;break}e.timeoutHandle=nt(Od.bind(null,e),n);break}Od(e);break;case Ua:if(rm(e,o),o===(t=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=Nd(n)),ed&&(0===(n=e.lastPingedTime)||n>=o)){e.lastPingedTime=o,Pd(e,o);break}if(0!==(n=hd(e))&&n!==o)break;if(0!==t&&t!==o){e.lastPingedTime=t;break}if(1073741823!==Ja?t=10*(1073741821-Ja)-Wn():1073741823===Za?t=0:(t=10*(1073741821-Za)-5e3,0>(t=(n=Wn())-t)&&(t=0),(o=10*(1073741821-o)-n)<(t=(120>t?120:480>t?480:1080>t?1080:1920>t?1920:3e3>t?3e3:4320>t?4320:1960*Ca(t/1960))-t)&&(t=o)),10<t){e.timeoutHandle=nt(Od.bind(null,e),t);break}Od(e);break;case Va:if(1073741823!==Za&&null!==ja){l=Za;var a=ja;if(0>=(t=0|a.busyMinDurationMs)?t=0:(n=0|a.busyDelayMs,t=(l=Wn()-(10*(1073741821-l)-(0|a.timeoutMs||5e3)))<=n?0:n+t-l),10<t){rm(e,o),e.timeoutHandle=nt(Od.bind(null,e),t);break}}Od(e);break;default:throw Error(i(329))}if(vd(e),e.callbackNode===r)return Ad.bind(null,e)}}return null}function bd(e){var r=e.lastExpiredTime;if(r=0!==r?r:1073741823,e.finishedExpirationTime===r)Od(e);else{if((Ha&(Xa|Da))!==Oa)throw Error(i(327));if(Dd(),e===Ya&&r===Ka||Pd(e,r),null!==Wa){var o=Ha;Ha|=Xa;for(var t=Ld();;)try{wd();break}catch(n){yd(e,n)}if(al(),Ha=o,Ga.current=t,za===$a)throw o=Qa,Pd(e,r),rm(e,r),vd(e),o;if(null!==Wa)throw Error(i(261));e.finishedWork=e.current.alternate,e.finishedExpirationTime=r,Ya=null,Od(e),vd(e)}}return null}function Td(e,r){var o=Ha;Ha|=1;try{return e(r)}finally{(Ha=o)===Oa&&jn()}}function Md(e,r){var o=Ha;Ha&=-2,Ha|=Ia;try{return e(r)}finally{(Ha=o)===Oa&&jn()}}function Pd(e,r){e.finishedWork=null,e.finishedExpirationTime=0;var o=e.timeoutHandle;if(-1!==o&&(e.timeoutHandle=-1,lt(o)),null!==Wa)for(o=Wa.return;null!==o;){var t=o;switch(t.tag){case 1:var n=t.type.childContextTypes;null!==n&&void 0!==n&&Tn();break;case 3:Yl(),Mn();break;case 5:Kl(t);break;case 4:Yl();break;case 13:case 19:xn(zl);break;case 10:ml(t)}o=o.return}Ya=e,Wa=zd(e.current,null),Ka=r,za=Fa,Qa=null,Ja=Za=1073741823,ja=null,qa=0,ed=!1}function yd(e,r){for(;;){try{if(al(),pi(),null===Wa||null===Wa.return)return za=$a,Qa=r,null;e:{var o=e,t=Wa.return,n=Wa,l=r;if(r=Ka,n.effectTag|=2048,n.firstEffect=n.lastEffect=null,null!==l&&"object"===typeof l&&"function"===typeof l.then){var i=l,a=0!==(1&zl.current),d=t;do{var m;if(m=13===d.tag){var u=d.memoizedState;if(null!==u)m=null!==u.dehydrated;else{var s=d.memoizedProps;m=void 0!==s.fallback&&(!0!==s.unstable_avoidThisFallback||!a)}}if(m){var g=d.updateQueue;if(null===g){var c=new Set;c.add(i),d.updateQueue=c}else g.add(i);if(0===(2&d.mode)){if(d.effectTag|=64,n.effectTag&=-2981,1===n.tag)if(null===n.alternate)n.tag=17;else{var x=fl(1073741823,null);x.tag=2,hl(n,x)}n.expirationTime=1073741823;break e}l=void 0,n=r;var p=o.pingCache;if(null===p?(p=o.pingCache=new Ea,l=new Set,p.set(i,l)):void 0===(l=p.get(i))&&(l=new Set,p.set(i,l)),!l.has(n)){l.add(n);var f=kd.bind(null,o,i,n);i.then(f,f)}d.effectTag|=4096,d.expirationTime=r;break e}d=d.return}while(null!==d);l=Error((J(n.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display."+j(n))}za!==Va&&(za=Ra),l=xa(l,n),d=t;do{switch(d.tag){case 3:i=l,d.effectTag|=4096,d.expirationTime=r,vl(d,_a(d,i,r));break e;case 1:i=l;var S=d.type,h=d.stateNode;if(0===(64&d.effectTag)&&("function"===typeof S.getDerivedStateFromError||null!==h&&"function"===typeof h.componentDidCatch&&(null===id||!id.has(h)))){d.effectTag|=4096,d.expirationTime=r,vl(d,wa(d,i,r));break e}}d=d.return}while(null!==d)}Wa=Gd(Wa)}catch(v){r=v;continue}break}}function Ld(){var e=Ga.current;return Ga.current=Gi,null===e?Gi:e}function Ed(e,r){e<Za&&2<e&&(Za=e),null!==r&&e<Ja&&2<e&&(Ja=e,ja=r)}function _d(e){e>qa&&(qa=e)}function wd(){for(;null!==Wa;)Wa=Cd(Wa)}function Bd(){for(;null!==Wa&&!Cn();)Wa=Cd(Wa)}function Cd(e){var r=Ba(e.alternate,e,Ka);return e.memoizedProps=e.pendingProps,null===r&&(r=Gd(e)),Na.current=null,r}function Gd(e){Wa=e;do{var r=Wa.alternate;if(e=Wa.return,0===(2048&Wa.effectTag)){e:{var o=r,t=Ka,l=(r=Wa).pendingProps;switch(r.tag){case 2:case 16:break;case 15:case 0:break;case 1:bn(r.type)&&Tn();break;case 3:Yl(),Mn(),(l=r.stateNode).pendingContext&&(l.context=l.pendingContext,l.pendingContext=null),(null===o||null===o.child)&&Ui(r)&&sa(r),oa(r);break;case 5:Kl(r),t=Vl(Ul.current);var a=r.type;if(null!==o&&null!=r.stateNode)ta(o,r,a,l,t),o.ref!==r.ref&&(r.effectTag|=128);else if(l){var d=Vl(Rl.current);if(Ui(r)){var m=(l=r).stateNode;o=l.type;var u=l.memoizedProps,s=t;switch(m[mt]=l,m[ut]=u,a=void 0,t=m,o){case"iframe":case"object":case"embed":yo("load",t);break;case"video":case"audio":for(m=0;m<qe.length;m++)yo(qe[m],t);break;case"source":yo("error",t);break;case"img":case"image":case"link":yo("error",t),yo("load",t);break;case"form":yo("reset",t),yo("submit",t);break;case"details":yo("toggle",t);break;case"input":Ee(t,u),yo("invalid",t),Vo(s,"onChange");break;case"select":t._wrapperState={wasMultiple:!!u.multiple},yo("invalid",t),Vo(s,"onChange");break;case"textarea":Ie(t,u),yo("invalid",t),Vo(s,"onChange")}for(a in ko(o,u),m=null,u)u.hasOwnProperty(a)&&(d=u[a],"children"===a?"string"===typeof d?t.textContent!==d&&(m=["children",d]):"number"===typeof d&&t.textContent!==""+d&&(m=["children",""+d]):c.hasOwnProperty(a)&&null!=d&&Vo(s,a));switch(o){case"input":Pe(t),Be(t,u,!0);break;case"textarea":Pe(t),De(t);break;case"select":case"option":break;default:"function"===typeof u.onClick&&(t.onclick=Ho)}a=m,l.updateQueue=a,(l=null!==a)&&sa(r)}else{o=r,s=a,u=l,m=9===t.nodeType?t:t.ownerDocument,d===Fe.html&&(d=$e(s)),d===Fe.html?"script"===s?((u=m.createElement("div")).innerHTML="<script><\/script>",m=u.removeChild(u.firstChild)):"string"===typeof u.is?m=m.createElement(s,{is:u.is}):(m=m.createElement(s),"select"===s&&(s=m,u.multiple?s.multiple=!0:u.size&&(s.size=u.size))):m=m.createElementNS(d,s),(u=m)[mt]=o,u[ut]=l,ra(u,r,!1,!1),r.stateNode=u;var g=t,x=Uo(s=a,o=l);switch(s){case"iframe":case"object":case"embed":yo("load",u),t=o;break;case"video":case"audio":for(t=0;t<qe.length;t++)yo(qe[t],u);t=o;break;case"source":yo("error",u),t=o;break;case"img":case"image":case"link":yo("error",u),yo("load",u),t=o;break;case"form":yo("reset",u),yo("submit",u),t=o;break;case"details":yo("toggle",u),t=o;break;case"input":Ee(u,o),t=Le(u,o),yo("invalid",u),Vo(g,"onChange");break;case"option":t=Ge(u,o);break;case"select":u._wrapperState={wasMultiple:!!o.multiple},t=n({},o,{value:void 0}),yo("invalid",u),Vo(g,"onChange");break;case"textarea":Ie(u,o),t=Oe(u,o),yo("invalid",u),Vo(g,"onChange");break;default:t=o}ko(s,t),m=void 0,d=s;var p=u,f=t;for(m in f)if(f.hasOwnProperty(m)){var S=f[m];"style"===m?$o(p,S):"dangerouslySetInnerHTML"===m?null!=(S=S?S.__html:void 0)&&Ue(p,S):"children"===m?"string"===typeof S?("textarea"!==d||""!==S)&&Ve(p,S):"number"===typeof S&&Ve(p,""+S):"suppressContentEditableWarning"!==m&&"suppressHydrationWarning"!==m&&"autoFocus"!==m&&(c.hasOwnProperty(m)?null!=S&&Vo(g,m):null!=S&&Te(p,m,S,x))}switch(s){case"input":Pe(u),Be(u,o,!1);break;case"textarea":Pe(u),De(u);break;case"option":null!=o.value&&u.setAttribute("value",""+be(o.value));break;case"select":(t=u).multiple=!!o.multiple,null!=(u=o.value)?Ne(t,!!o.multiple,u,!1):null!=o.defaultValue&&Ne(t,!!o.multiple,o.defaultValue,!0);break;default:"function"===typeof t.onClick&&(u.onclick=Ho)}(l=ot(a,l))&&sa(r)}null!==r.ref&&(r.effectTag|=128)}else if(null===r.stateNode)throw Error(i(166));break;case 6:if(o&&null!=r.stateNode)na(o,r,o.memoizedProps,l);else{if("string"!==typeof l&&null===r.stateNode)throw Error(i(166));t=Vl(Ul.current),Vl(Rl.current),Ui(r)?(a=(l=r).stateNode,t=l.memoizedProps,a[mt]=l,(l=a.nodeValue!==t)&&sa(r)):(a=r,(l=(9===t.nodeType?t:t.ownerDocument).createTextNode(l))[mt]=a,r.stateNode=l)}break;case 11:break;case 13:if(xn(zl),l=r.memoizedState,0!==(64&r.effectTag)){r.expirationTime=t;break e}l=null!==l,a=!1,null===o?void 0!==r.memoizedProps.fallback&&Ui(r):(a=null!==(t=o.memoizedState),l||null===t||null!==(t=o.child.sibling)&&(null!==(u=r.firstEffect)?(r.firstEffect=t,t.nextEffect=u):(r.firstEffect=r.lastEffect=t,t.nextEffect=null),t.effectTag=8)),l&&!a&&0!==(2&r.mode)&&(null===o&&!0!==r.memoizedProps.unstable_avoidThisFallback||0!==(1&zl.current)?za===Fa&&(za=ka):(za!==Fa&&za!==ka||(za=Ua),0!==qa&&null!==Ya&&(rm(Ya,Ka),om(Ya,qa)))),(l||a)&&(r.effectTag|=4);break;case 7:case 8:case 12:break;case 4:Yl(),oa(r);break;case 10:ml(r);break;case 9:case 14:break;case 17:bn(r.type)&&Tn();break;case 19:if(xn(zl),null===(l=r.memoizedState))break;if(a=0!==(64&r.effectTag),null===(u=l.rendering)){if(a)ga(l,!1);else if(za!==Fa||null!==o&&0!==(64&o.effectTag))for(o=r.child;null!==o;){if(null!==(u=Ql(o))){for(r.effectTag|=64,ga(l,!1),null!==(a=u.updateQueue)&&(r.updateQueue=a,r.effectTag|=4),null===l.lastEffect&&(r.firstEffect=null),r.lastEffect=l.lastEffect,l=t,a=r.child;null!==a;)o=l,(t=a).effectTag&=2,t.nextEffect=null,t.firstEffect=null,t.lastEffect=null,null===(u=t.alternate)?(t.childExpirationTime=0,t.expirationTime=o,t.child=null,t.memoizedProps=null,t.memoizedState=null,t.updateQueue=null,t.dependencies=null):(t.childExpirationTime=u.childExpirationTime,t.expirationTime=u.expirationTime,t.child=u.child,t.memoizedProps=u.memoizedProps,t.memoizedState=u.memoizedState,t.updateQueue=u.updateQueue,o=u.dependencies,t.dependencies=null===o?null:{expirationTime:o.expirationTime,firstContext:o.firstContext,responders:o.responders}),a=a.sibling;pn(zl,1&zl.current|2),r=r.child;break e}o=o.sibling}}else{if(!a)if(null!==(o=Ql(u))){if(r.effectTag|=64,a=!0,null!==(t=o.updateQueue)&&(r.updateQueue=t,r.effectTag|=4),ga(l,!0),null===l.tail&&"hidden"===l.tailMode&&!u.alternate){null!==(r=r.lastEffect=l.lastEffect)&&(r.nextEffect=null);break}}else Wn()>l.tailExpiration&&1<t&&(r.effectTag|=64,a=!0,ga(l,!1),r.expirationTime=r.childExpirationTime=t-1);l.isBackwards?(u.sibling=r.child,r.child=u):(null!==(t=l.last)?t.sibling=u:r.child=u,l.last=u)}if(null!==l.tail){0===l.tailExpiration&&(l.tailExpiration=Wn()+500),t=l.tail,l.rendering=t,l.tail=t.sibling,l.lastEffect=r.lastEffect,t.sibling=null,l=zl.current,pn(zl,l=a?1&l|2:1&l),r=t;break e}break;case 20:case 21:break;default:throw Error(i(156,r.tag))}r=null}if(l=Wa,1===Ka||1!==l.childExpirationTime){for(a=0,t=l.child;null!==t;)(o=t.expirationTime)>a&&(a=o),(u=t.childExpirationTime)>a&&(a=u),t=t.sibling;l.childExpirationTime=a}if(null!==r)return r;null!==e&&0===(2048&e.effectTag)&&(null===e.firstEffect&&(e.firstEffect=Wa.firstEffect),null!==Wa.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=Wa.firstEffect),e.lastEffect=Wa.lastEffect),1<Wa.effectTag&&(null!==e.lastEffect?e.lastEffect.nextEffect=Wa:e.firstEffect=Wa,e.lastEffect=Wa))}else{if(null!==(r=ca(Wa)))return r.effectTag&=2047,r;null!==e&&(e.firstEffect=e.lastEffect=null,e.effectTag|=2048)}if(null!==(r=Wa.sibling))return r;Wa=e}while(null!==Wa);return za===Fa&&(za=Va),null}function Nd(e){var r=e.expirationTime;return r>(e=e.childExpirationTime)?r:e}function Od(e){var r=Kn();return Qn(99,Id.bind(null,e,r)),null}function Id(e,r){do{Dd()}while(null!==dd);if((Ha&(Xa|Da))!==Oa)throw Error(i(327));var o=e.finishedWork,t=e.finishedExpirationTime;if(null===o)return null;if(e.finishedWork=null,e.finishedExpirationTime=0,o===e.current)throw Error(i(177));e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90,e.nextKnownPendingLevel=0;var n=Nd(o);if(e.firstPendingTime=n,t<=e.lastSuspendedTime?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:t<=e.firstSuspendedTime&&(e.firstSuspendedTime=t-1),t<=e.lastPingedTime&&(e.lastPingedTime=0),t<=e.lastExpiredTime&&(e.lastExpiredTime=0),e===Ya&&(Wa=Ya=null,Ka=0),1<o.effectTag?null!==o.lastEffect?(o.lastEffect.nextEffect=o,n=o.firstEffect):n=o:n=o.firstEffect,null!==n){var l=Ha;Ha|=Da,Na.current=null,et=Po;var a=zo();if(Qo(a)){if("selectionStart"in a)var d={start:a.selectionStart,end:a.selectionEnd};else e:{var m=(d=(d=a.ownerDocument)&&d.defaultView||window).getSelection&&d.getSelection();if(m&&0!==m.rangeCount){d=m.anchorNode;var u=m.anchorOffset,s=m.focusNode;m=m.focusOffset;try{d.nodeType,s.nodeType}catch(I){d=null;break e}var g=0,c=-1,x=-1,p=0,f=0,S=a,h=null;r:for(;;){for(var v;S!==d||0!==u&&3!==S.nodeType||(c=g+u),S!==s||0!==m&&3!==S.nodeType||(x=g+m),3===S.nodeType&&(g+=S.nodeValue.length),null!==(v=S.firstChild);)h=S,S=v;for(;;){if(S===a)break r;if(h===d&&++p===u&&(c=g),h===s&&++f===m&&(x=g),null!==(v=S.nextSibling))break;h=(S=h).parentNode}S=v}d=-1===c||-1===x?null:{start:c,end:x}}else d=null}d=d||{start:0,end:0}}else d=null;rt={focusedElem:a,selectionRange:d},Po=!1,td=n;do{try{Xd()}catch(I){if(null===td)throw Error(i(330));Rd(td,I),td=td.nextEffect}}while(null!==td);td=n;do{try{for(a=e,d=r;null!==td;){var A=td.effectTag;if(16&A&&Ve(td.stateNode,""),128&A){var b=td.alternate;if(null!==b){var T=b.ref;null!==T&&("function"===typeof T?T(null):T.current=null)}}switch(1038&A){case 2:Ma(td),td.effectTag&=-3;break;case 6:Ma(td),td.effectTag&=-3,ya(td.alternate,td);break;case 1024:td.effectTag&=-1025;break;case 1028:td.effectTag&=-1025,ya(td.alternate,td);break;case 4:ya(td.alternate,td);break;case 8:Pa(a,u=td,d),ba(u)}td=td.nextEffect}}catch(I){if(null===td)throw Error(i(330));Rd(td,I),td=td.nextEffect}}while(null!==td);if(T=rt,b=zo(),A=T.focusedElem,d=T.selectionRange,b!==A&&A&&A.ownerDocument&&function e(r,o){return!(!r||!o)&&(r===o||(!r||3!==r.nodeType)&&(o&&3===o.nodeType?e(r,o.parentNode):"contains"in r?r.contains(o):!!r.compareDocumentPosition&&!!(16&r.compareDocumentPosition(o))))}(A.ownerDocument.documentElement,A)){null!==d&&Qo(A)&&(b=d.start,void 0===(T=d.end)&&(T=b),"selectionStart"in A?(A.selectionStart=b,A.selectionEnd=Math.min(T,A.value.length)):(T=(b=A.ownerDocument||document)&&b.defaultView||window).getSelection&&(T=T.getSelection(),u=A.textContent.length,a=Math.min(d.start,u),d=void 0===d.end?a:Math.min(d.end,u),!T.extend&&a>d&&(u=d,d=a,a=u),u=Ko(A,a),s=Ko(A,d),u&&s&&(1!==T.rangeCount||T.anchorNode!==u.node||T.anchorOffset!==u.offset||T.focusNode!==s.node||T.focusOffset!==s.offset)&&((b=b.createRange()).setStart(u.node,u.offset),T.removeAllRanges(),a>d?(T.addRange(b),T.extend(s.node,s.offset)):(b.setEnd(s.node,s.offset),T.addRange(b))))),b=[];for(T=A;T=T.parentNode;)1===T.nodeType&&b.push({element:T,left:T.scrollLeft,top:T.scrollTop});for("function"===typeof A.focus&&A.focus(),A=0;A<b.length;A++)(T=b[A]).element.scrollLeft=T.left,T.element.scrollTop=T.top}rt=null,Po=!!et,et=null,e.current=o,td=n;do{try{for(A=t;null!==td;){var M=td.effectTag;if(36&M){var P=td.alternate;switch(T=A,(b=td).tag){case 0:case 11:case 15:va(16,32,b);break;case 1:var y=b.stateNode;if(4&b.effectTag)if(null===P)y.componentDidMount();else{var L=b.elementType===b.type?P.memoizedProps:ol(b.type,P.memoizedProps);y.componentDidUpdate(L,P.memoizedState,y.__reactInternalSnapshotBeforeUpdate)}var E=b.updateQueue;null!==E&&Ml(0,E,y);break;case 3:var _=b.updateQueue;if(null!==_){if(a=null,null!==b.child)switch(b.child.tag){case 5:a=b.child.stateNode;break;case 1:a=b.child.stateNode}Ml(0,_,a)}break;case 5:var w=b.stateNode;null===P&&4&b.effectTag&&ot(b.type,b.memoizedProps)&&w.focus();break;case 6:case 4:case 12:break;case 13:if(null===b.memoizedState){var B=b.alternate;if(null!==B){var C=B.memoizedState;if(null!==C){var G=C.dehydrated;null!==G&&yr(G)}}}break;case 19:case 17:case 20:case 21:break;default:throw Error(i(163))}}if(128&M){b=void 0;var N=td.ref;if(null!==N){var O=td.stateNode;switch(td.tag){case 5:b=O;break;default:b=O}"function"===typeof N?N(b):N.current=b}}td=td.nextEffect}}catch(I){if(null===td)throw Error(i(330));Rd(td,I),td=td.nextEffect}}while(null!==td);td=null,kn(),Ha=l}else e.current=o;if(ad)ad=!1,dd=e,md=r;else for(td=n;null!==td;)r=td.nextEffect,td.nextEffect=null,td=r;if(0===(r=e.firstPendingTime)&&(id=null),1073741823===r?e===gd?sd++:(sd=0,gd=e):sd=0,"function"===typeof Vd&&Vd(o.stateNode,t),vd(e),nd)throw nd=!1,e=ld,ld=null,e;return(Ha&Ia)!==Oa?null:(jn(),null)}function Xd(){for(;null!==td;){var e=td.effectTag;0!==(256&e)&&ha(td.alternate,td),0===(512&e)||ad||(ad=!0,Zn(97,(function(){return Dd(),null}))),td=td.nextEffect}}function Dd(){if(90!==md){var e=97<md?97:md;return md=90,Qn(e,Fd)}}function Fd(){if(null===dd)return!1;var e=dd;if(dd=null,(Ha&(Xa|Da))!==Oa)throw Error(i(331));var r=Ha;for(Ha|=Da,e=e.current.firstEffect;null!==e;){try{var o=e;if(0!==(512&o.effectTag))switch(o.tag){case 0:case 11:case 15:va(128,0,o),va(0,64,o)}}catch(t){if(null===e)throw Error(i(330));Rd(e,t)}o=e.nextEffect,e.nextEffect=null,e=o}return Ha=r,jn(),!0}function $d(e,r,o){hl(e,r=_a(e,r=xa(o,r),1073741823)),null!==(e=Sd(e,1073741823))&&vd(e)}function Rd(e,r){if(3===e.tag)$d(e,e,r);else for(var o=e.return;null!==o;){if(3===o.tag){$d(o,e,r);break}if(1===o.tag){var t=o.stateNode;if("function"===typeof o.type.getDerivedStateFromError||"function"===typeof t.componentDidCatch&&(null===id||!id.has(t))){hl(o,e=wa(o,e=xa(r,e),1073741823)),null!==(o=Sd(o,1073741823))&&vd(o);break}}o=o.return}}function kd(e,r,o){var t=e.pingCache;null!==t&&t.delete(r),Ya===e&&Ka===o?za===Ua||za===ka&&1073741823===Za&&Wn()-rd<od?Pd(e,Ka):ed=!0:em(e,o)&&(0!==(r=e.lastPingedTime)&&r<o||(e.lastPingedTime=o,e.finishedExpirationTime===o&&(e.finishedExpirationTime=0,e.finishedWork=null),vd(e)))}function Ud(e,r){var o=e.stateNode;null!==o&&o.delete(r),0===(r=0)&&(r=pd(r=xd(),e,null)),null!==(e=Sd(e,r))&&vd(e)}Ba=function(e,r,o){var t=r.expirationTime;if(null!==e){var n=r.pendingProps;if(e.memoizedProps!==n||hn.current)Yi=!0;else{if(t<o){switch(Yi=!1,r.tag){case 3:ea(r),Vi();break;case 5:if(Wl(r),4&r.mode&&1!==o&&n.hidden)return r.expirationTime=r.childExpirationTime=1,null;break;case 1:bn(r.type)&&Ln(r);break;case 4:Hl(r,r.stateNode.containerInfo);break;case 10:dl(r,r.memoizedProps.value);break;case 13:if(null!==r.memoizedState)return 0!==(t=r.child.childExpirationTime)&&t>=o?ia(e,r,o):(pn(zl,1&zl.current),null!==(r=ua(e,r,o))?r.sibling:null);pn(zl,1&zl.current);break;case 19:if(t=r.childExpirationTime>=o,0!==(64&e.effectTag)){if(t)return ma(e,r,o);r.effectTag|=64}if(null!==(n=r.memoizedState)&&(n.rendering=null,n.tail=null),pn(zl,zl.current),!t)return null}return ua(e,r,o)}Yi=!1}}else Yi=!1;switch(r.expirationTime=0,r.tag){case 2:if(t=r.type,null!==e&&(e.alternate=null,r.alternate=null,r.effectTag|=2),e=r.pendingProps,n=An(r,Sn.current),sl(r,o),n=xi(null,r,t,e,n,o),r.effectTag|=1,"object"===typeof n&&null!==n&&"function"===typeof n.render&&void 0===n.$$typeof){if(r.tag=1,pi(),bn(t)){var l=!0;Ln(r)}else l=!1;r.memoizedState=null!==n.state&&void 0!==n.state?n.state:null;var a=t.getDerivedStateFromProps;"function"===typeof a&&El(r,t,a,e),n.updater=_l,r.stateNode=n,n._reactInternalFiber=r,Gl(r,t,e,o),r=qi(null,r,t,!0,l,o)}else r.tag=0,Wi(null,r,n,o),r=r.child;return r;case 16:if(n=r.elementType,null!==e&&(e.alternate=null,r.alternate=null,r.effectTag|=2),e=r.pendingProps,function(e){if(-1===e._status){e._status=0;var r=e._ctor;r=r(),e._result=r,r.then((function(r){0===e._status&&(r=r.default,e._status=1,e._result=r)}),(function(r){0===e._status&&(e._status=2,e._result=r)}))}}(n),1!==n._status)throw n._result;switch(n=n._result,r.type=n,l=r.tag=function(e){if("function"===typeof e)return Kd(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===H)return 11;if(e===K)return 14}return 2}(n),e=ol(n,e),l){case 0:r=Ji(null,r,n,e,o);break;case 1:r=ji(null,r,n,e,o);break;case 11:r=Ki(null,r,n,e,o);break;case 14:r=zi(null,r,n,ol(n.type,e),t,o);break;default:throw Error(i(306,n,""))}return r;case 0:return t=r.type,n=r.pendingProps,Ji(e,r,t,n=r.elementType===t?n:ol(t,n),o);case 1:return t=r.type,n=r.pendingProps,ji(e,r,t,n=r.elementType===t?n:ol(t,n),o);case 3:if(ea(r),null===(t=r.updateQueue))throw Error(i(282));if(n=null!==(n=r.memoizedState)?n.element:null,Tl(r,t,r.pendingProps,null,o),(t=r.memoizedState.element)===n)Vi(),r=ua(e,r,o);else{if((n=r.stateNode.hydrate)&&(Xi=it(r.stateNode.containerInfo.firstChild),Ii=r,n=Di=!0),n)for(o=Fl(r,null,t,o),r.child=o;o;)o.effectTag=-3&o.effectTag|1024,o=o.sibling;else Wi(e,r,t,o),Vi();r=r.child}return r;case 5:return Wl(r),null===e&&Ri(r),t=r.type,n=r.pendingProps,l=null!==e?e.memoizedProps:null,a=n.children,tt(t,n)?a=null:null!==l&&tt(t,l)&&(r.effectTag|=16),Zi(e,r),4&r.mode&&1!==o&&n.hidden?(r.expirationTime=r.childExpirationTime=1,r=null):(Wi(e,r,a,o),r=r.child),r;case 6:return null===e&&Ri(r),null;case 13:return ia(e,r,o);case 4:return Hl(r,r.stateNode.containerInfo),t=r.pendingProps,null===e?r.child=Dl(r,null,t,o):Wi(e,r,t,o),r.child;case 11:return t=r.type,n=r.pendingProps,Ki(e,r,t,n=r.elementType===t?n:ol(t,n),o);case 7:return Wi(e,r,r.pendingProps,o),r.child;case 8:case 12:return Wi(e,r,r.pendingProps.children,o),r.child;case 10:e:{if(t=r.type._context,n=r.pendingProps,a=r.memoizedProps,dl(r,l=n.value),null!==a){var d=a.value;if(0===(l=en(d,l)?0:0|("function"===typeof t._calculateChangedBits?t._calculateChangedBits(d,l):1073741823))){if(a.children===n.children&&!hn.current){r=ua(e,r,o);break e}}else for(null!==(d=r.child)&&(d.return=r);null!==d;){var m=d.dependencies;if(null!==m){a=d.child;for(var u=m.firstContext;null!==u;){if(u.context===t&&0!==(u.observedBits&l)){1===d.tag&&((u=fl(o,null)).tag=2,hl(d,u)),d.expirationTime<o&&(d.expirationTime=o),null!==(u=d.alternate)&&u.expirationTime<o&&(u.expirationTime=o),ul(d.return,o),m.expirationTime<o&&(m.expirationTime=o);break}u=u.next}}else a=10===d.tag&&d.type===r.type?null:d.child;if(null!==a)a.return=d;else for(a=d;null!==a;){if(a===r){a=null;break}if(null!==(d=a.sibling)){d.return=a.return,a=d;break}a=a.return}d=a}}Wi(e,r,n.children,o),r=r.child}return r;case 9:return n=r.type,t=(l=r.pendingProps).children,sl(r,o),t=t(n=gl(n,l.unstable_observedBits)),r.effectTag|=1,Wi(e,r,t,o),r.child;case 14:return l=ol(n=r.type,r.pendingProps),zi(e,r,n,l=ol(n.type,l),t,o);case 15:return Qi(e,r,r.type,r.pendingProps,t,o);case 17:return t=r.type,n=r.pendingProps,n=r.elementType===t?n:ol(t,n),null!==e&&(e.alternate=null,r.alternate=null,r.effectTag|=2),r.tag=1,bn(t)?(e=!0,Ln(r)):e=!1,sl(r,o),Bl(r,t,n),Gl(r,t,n,o),qi(null,r,t,!0,e,o);case 19:return ma(e,r,o)}throw Error(i(156,r.tag))};var Vd=null,Hd=null;function Yd(e,r,o,t){this.tag=e,this.key=o,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=r,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=t,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function Wd(e,r,o,t){return new Yd(e,r,o,t)}function Kd(e){return!(!(e=e.prototype)||!e.isReactComponent)}function zd(e,r){var o=e.alternate;return null===o?((o=Wd(e.tag,r,e.key,e.mode)).elementType=e.elementType,o.type=e.type,o.stateNode=e.stateNode,o.alternate=e,e.alternate=o):(o.pendingProps=r,o.effectTag=0,o.nextEffect=null,o.firstEffect=null,o.lastEffect=null),o.childExpirationTime=e.childExpirationTime,o.expirationTime=e.expirationTime,o.child=e.child,o.memoizedProps=e.memoizedProps,o.memoizedState=e.memoizedState,o.updateQueue=e.updateQueue,r=e.dependencies,o.dependencies=null===r?null:{expirationTime:r.expirationTime,firstContext:r.firstContext,responders:r.responders},o.sibling=e.sibling,o.index=e.index,o.ref=e.ref,o}function Qd(e,r,o,t,n,l){var a=2;if(t=e,"function"===typeof e)Kd(e)&&(a=1);else if("string"===typeof e)a=5;else e:switch(e){case F:return Zd(o.children,n,l,r);case V:a=8,n|=7;break;case $:a=8,n|=1;break;case R:return(e=Wd(12,o,r,8|n)).elementType=R,e.type=R,e.expirationTime=l,e;case Y:return(e=Wd(13,o,r,n)).type=Y,e.elementType=Y,e.expirationTime=l,e;case W:return(e=Wd(19,o,r,n)).elementType=W,e.expirationTime=l,e;default:if("object"===typeof e&&null!==e)switch(e.$$typeof){case k:a=10;break e;case U:a=9;break e;case H:a=11;break e;case K:a=14;break e;case z:a=16,t=null;break e}throw Error(i(130,null==e?e:typeof e,""))}return(r=Wd(a,o,r,n)).elementType=e,r.type=t,r.expirationTime=l,r}function Zd(e,r,o,t){return(e=Wd(7,e,t,r)).expirationTime=o,e}function Jd(e,r,o){return(e=Wd(6,e,null,r)).expirationTime=o,e}function jd(e,r,o){return(r=Wd(4,null!==e.children?e.children:[],e.key,r)).expirationTime=o,r.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},r}function qd(e,r,o){this.tag=r,this.current=null,this.containerInfo=e,this.pingCache=this.pendingChildren=null,this.finishedExpirationTime=0,this.finishedWork=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=o,this.callbackNode=null,this.callbackPriority=90,this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}function em(e,r){var o=e.firstSuspendedTime;return e=e.lastSuspendedTime,0!==o&&o>=r&&e<=r}function rm(e,r){var o=e.firstSuspendedTime,t=e.lastSuspendedTime;o<r&&(e.firstSuspendedTime=r),(t>r||0===o)&&(e.lastSuspendedTime=r),r<=e.lastPingedTime&&(e.lastPingedTime=0),r<=e.lastExpiredTime&&(e.lastExpiredTime=0)}function om(e,r){r>e.firstPendingTime&&(e.firstPendingTime=r);var o=e.firstSuspendedTime;0!==o&&(r>=o?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:r>=e.lastSuspendedTime&&(e.lastSuspendedTime=r+1),r>e.nextKnownPendingLevel&&(e.nextKnownPendingLevel=r))}function tm(e,r){var o=e.lastExpiredTime;(0===o||o>r)&&(e.lastExpiredTime=r)}function nm(e,r,o,t){var n=r.current,l=xd(),a=yl.suspense;l=pd(l,n,a);e:if(o){r:{if(er(o=o._reactInternalFiber)!==o||1!==o.tag)throw Error(i(170));var d=o;do{switch(d.tag){case 3:d=d.stateNode.context;break r;case 1:if(bn(d.type)){d=d.stateNode.__reactInternalMemoizedMergedChildContext;break r}}d=d.return}while(null!==d);throw Error(i(171))}if(1===o.tag){var m=o.type;if(bn(m)){o=yn(o,m,d);break e}}o=d}else o=fn;return null===r.context?r.context=o:r.pendingContext=o,(r=fl(l,a)).payload={element:e},null!==(t=void 0===t?null:t)&&(r.callback=t),hl(n,r),fd(n,l),l}function lm(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}function im(e,r){null!==(e=e.memoizedState)&&null!==e.dehydrated&&e.retryTime<r&&(e.retryTime=r)}function am(e,r){im(e,r),(e=e.alternate)&&im(e,r)}function dm(e,r,o){var t=new qd(e,r,o=null!=o&&!0===o.hydrate),n=Wd(3,null,null,2===r?7:1===r?3:0);t.current=n,n.stateNode=t,e[st]=t.current,o&&0!==r&&function(e){var r=Oo(e);pr.forEach((function(o){Io(o,e,r)})),fr.forEach((function(o){Io(o,e,r)}))}(9===e.nodeType?e:e.ownerDocument),this._internalRoot=t}function mm(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function um(e,r,o,t,n){var l=o._reactRootContainer;if(l){var i=l._internalRoot;if("function"===typeof n){var a=n;n=function(){var e=lm(i);a.call(e)}}nm(r,i,e,n)}else{if(l=o._reactRootContainer=function(e,r){if(r||(r=!(!(r=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==r.nodeType||!r.hasAttribute("data-reactroot"))),!r)for(var o;o=e.lastChild;)e.removeChild(o);return new dm(e,0,r?{hydrate:!0}:void 0)}(o,t),i=l._internalRoot,"function"===typeof n){var d=n;n=function(){var e=lm(i);d.call(e)}}Md((function(){nm(r,i,e,n)}))}return lm(i)}function sm(e,r){var o=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!mm(r))throw Error(i(200));return function(e,r,o){var t=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:D,key:null==t?null:""+t,children:e,containerInfo:r,implementation:o}}(e,r,null,o)}dm.prototype.render=function(e,r){nm(e,this._internalRoot,null,void 0===r?null:r)},dm.prototype.unmount=function(e){var r=this._internalRoot,o=void 0===e?null:e,t=r.containerInfo;nm(null,r,null,(function(){t[st]=null,null!==o&&o()}))},nr=function(e){if(13===e.tag){var r=rl(xd(),150,100);fd(e,r),am(e,r)}},lr=function(e){if(13===e.tag){xd();var r=el++;fd(e,r),am(e,r)}},ir=function(e){if(13===e.tag){var r=xd();fd(e,r=pd(r,e,null)),am(e,r)}},ee=function(e,r,o){switch(r){case"input":if(we(e,o),r=o.name,"radio"===o.type&&null!=r){for(o=e;o.parentNode;)o=o.parentNode;for(o=o.querySelectorAll("input[name="+JSON.stringify(""+r)+'][type="radio"]'),r=0;r<o.length;r++){var t=o[r];if(t!==e&&t.form===e.form){var n=pt(t);if(!n)throw Error(i(90));ye(t),we(t,n)}}}break;case"textarea":Xe(e,o);break;case"select":null!=(r=o.value)&&Ne(e,!!o.multiple,r,!1)}},ie=Td,ae=function(e,r,o,t){var n=Ha;Ha|=4;try{return Qn(98,e.bind(null,r,o,t))}finally{(Ha=n)===Oa&&jn()}},de=function(){(Ha&(1|Xa|Da))===Oa&&(function(){if(null!==ud){var e=ud;ud=null,e.forEach((function(e,r){tm(r,e),vd(r)})),jn()}}(),Dd())},me=function(e,r){var o=Ha;Ha|=2;try{return e(r)}finally{(Ha=o)===Oa&&jn()}};var gm={createPortal:sm,findDOMNode:function(e){if(null==e)return null;if(1===e.nodeType)return e;var r=e._reactInternalFiber;if(void 0===r){if("function"===typeof e.render)throw Error(i(188));throw Error(i(268,Object.keys(e)))}return e=null===(e=tr(r))?null:e.stateNode},hydrate:function(e,r,o){if(!mm(r))throw Error(i(200));return um(null,e,r,!0,o)},render:function(e,r,o){if(!mm(r))throw Error(i(200));return um(null,e,r,!1,o)},unstable_renderSubtreeIntoContainer:function(e,r,o,t){if(!mm(o))throw Error(i(200));if(null==e||void 0===e._reactInternalFiber)throw Error(i(38));return um(e,r,o,!1,t)},unmountComponentAtNode:function(e){if(!mm(e))throw Error(i(40));return!!e._reactRootContainer&&(Md((function(){um(null,null,e,!1,(function(){e._reactRootContainer=null,e[st]=null}))})),!0)},unstable_createPortal:function(){return sm.apply(void 0,arguments)},unstable_batchedUpdates:Td,flushSync:function(e,r){if((Ha&(Xa|Da))!==Oa)throw Error(i(187));var o=Ha;Ha|=1;try{return Qn(99,e.bind(null,r))}finally{Ha=o,jn()}},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{Events:[ct,xt,pt,C.injectEventPluginsByName,g,Gr,function(e){E(e,Cr)},ne,le,Bo,B,Dd,{current:!1}]}};!function(e){var r=e.findFiberByHostInstance;(function(e){if("undefined"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var r=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(r.isDisabled||!r.supportsFiber)return!0;try{var o=r.inject(e);Vd=function(e){try{r.onCommitFiberRoot(o,e,void 0,64===(64&e.current.effectTag))}catch(t){}},Hd=function(e){try{r.onCommitFiberUnmount(o,e)}catch(t){}}}catch(t){}})(n({},e,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:N.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=tr(e))?null:e.stateNode},findFiberByHostInstance:function(e){return r?r(e):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))}({findFiberByHostInstance:gt,bundleType:0,version:"16.12.0",rendererPackageName:"react-dom"});var cm={default:gm},xm=cm&&gm||cm;e.exports=xm.default||xm},function(e,r,o){"use strict";e.exports=o(50)},function(e,r,o){"use strict";var t,n,l,i,a;if(Object.defineProperty(r,"__esModule",{value:!0}),"undefined"===typeof window||"function"!==typeof MessageChannel){var d=null,m=null,u=function e(){if(null!==d)try{var o=r.unstable_now();d(!0,o),d=null}catch(t){throw setTimeout(e,0),t}},s=Date.now();r.unstable_now=function(){return Date.now()-s},t=function(e){null!==d?setTimeout(t,0,e):(d=e,setTimeout(u,0))},n=function(e,r){m=setTimeout(e,r)},l=function(){clearTimeout(m)},i=function(){return!1},a=r.unstable_forceFrameRate=function(){}}else{var g=window.performance,c=window.Date,x=window.setTimeout,p=window.clearTimeout;if("undefined"!==typeof console){var f=window.cancelAnimationFrame;"function"!==typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!==typeof f&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if("object"===typeof g&&"function"===typeof g.now)r.unstable_now=function(){return g.now()};else{var S=c.now();r.unstable_now=function(){return c.now()-S}}var h=!1,v=null,A=-1,b=5,T=0;i=function(){return r.unstable_now()>=T},a=function(){},r.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported"):b=0<e?Math.floor(1e3/e):5};var M=new MessageChannel,P=M.port2;M.port1.onmessage=function(){if(null!==v){var e=r.unstable_now();T=e+b;try{v(!0,e)?P.postMessage(null):(h=!1,v=null)}catch(o){throw P.postMessage(null),o}}else h=!1},t=function(e){v=e,h||(h=!0,P.postMessage(null))},n=function(e,o){A=x((function(){e(r.unstable_now())}),o)},l=function(){p(A),A=-1}}function y(e,r){var o=e.length;e.push(r);e:for(;;){var t=Math.floor((o-1)/2),n=e[t];if(!(void 0!==n&&0<_(n,r)))break e;e[t]=r,e[o]=n,o=t}}function L(e){return void 0===(e=e[0])?null:e}function E(e){var r=e[0];if(void 0!==r){var o=e.pop();if(o!==r){e[0]=o;e:for(var t=0,n=e.length;t<n;){var l=2*(t+1)-1,i=e[l],a=l+1,d=e[a];if(void 0!==i&&0>_(i,o))void 0!==d&&0>_(d,i)?(e[t]=d,e[a]=o,t=a):(e[t]=i,e[l]=o,t=l);else{if(!(void 0!==d&&0>_(d,o)))break e;e[t]=d,e[a]=o,t=a}}}return r}return null}function _(e,r){var o=e.sortIndex-r.sortIndex;return 0!==o?o:e.id-r.id}var w=[],B=[],C=1,G=null,N=3,O=!1,I=!1,X=!1;function D(e){for(var r=L(B);null!==r;){if(null===r.callback)E(B);else{if(!(r.startTime<=e))break;E(B),r.sortIndex=r.expirationTime,y(w,r)}r=L(B)}}function F(e){if(X=!1,D(e),!I)if(null!==L(w))I=!0,t($);else{var r=L(B);null!==r&&n(F,r.startTime-e)}}function $(e,o){I=!1,X&&(X=!1,l()),O=!0;var t=N;try{for(D(o),G=L(w);null!==G&&(!(G.expirationTime>o)||e&&!i());){var a=G.callback;if(null!==a){G.callback=null,N=G.priorityLevel;var d=a(G.expirationTime<=o);o=r.unstable_now(),"function"===typeof d?G.callback=d:G===L(w)&&E(w),D(o)}else E(w);G=L(w)}if(null!==G)var m=!0;else{var u=L(B);null!==u&&n(F,u.startTime-o),m=!1}return m}finally{G=null,N=t,O=!1}}function R(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var k=a;r.unstable_ImmediatePriority=1,r.unstable_UserBlockingPriority=2,r.unstable_NormalPriority=3,r.unstable_IdlePriority=5,r.unstable_LowPriority=4,r.unstable_runWithPriority=function(e,r){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var o=N;N=e;try{return r()}finally{N=o}},r.unstable_next=function(e){switch(N){case 1:case 2:case 3:var r=3;break;default:r=N}var o=N;N=r;try{return e()}finally{N=o}},r.unstable_scheduleCallback=function(e,o,i){var a=r.unstable_now();if("object"===typeof i&&null!==i){var d=i.delay;d="number"===typeof d&&0<d?a+d:a,i="number"===typeof i.timeout?i.timeout:R(e)}else i=R(e),d=a;return e={id:C++,callback:o,priorityLevel:e,startTime:d,expirationTime:i=d+i,sortIndex:-1},d>a?(e.sortIndex=d,y(B,e),null===L(w)&&e===L(B)&&(X?l():X=!0,n(F,d-a))):(e.sortIndex=i,y(w,e),I||O||(I=!0,t($))),e},r.unstable_cancelCallback=function(e){e.callback=null},r.unstable_wrapCallback=function(e){var r=N;return function(){var o=N;N=r;try{return e.apply(this,arguments)}finally{N=o}}},r.unstable_getCurrentPriorityLevel=function(){return N},r.unstable_shouldYield=function(){var e=r.unstable_now();D(e);var o=L(w);return o!==G&&null!==G&&null!==o&&null!==o.callback&&o.startTime<=e&&o.expirationTime<G.expirationTime||i()},r.unstable_requestPaint=k,r.unstable_continueExecution=function(){I||O||(I=!0,t($))},r.unstable_pauseExecution=function(){},r.unstable_getFirstCallbackNode=function(){return L(w)},r.unstable_Profiling=null},,,function(e,r,o){"use strict";var t=o(1),n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var l=n(o(22)),i=n(o(76)),a=n(o(78)),d=n(o(80)),m=n(o(82)),u=n(o(84)),s=[a.default,i.default,m.default,u.default,l.default,d.default];r.default=function e(r){var o=this;t(this,e),this.options={versionTruncation:1},this.parse=function(e){var r=!0,t=!1,n=void 0;try{for(var l,i=s[Symbol.iterator]();!(r=(l=i.next()).done);r=!0){var a=new(0,l.value)(o.options).parse(e);if(""!==a.type)return a}}catch(d){t=!0,n=d}finally{try{r||null==i.return||i.return()}finally{if(t)throw n}}return null},this.options=Object.assign({},this.options,r)}},function(e,r){e.exports=function(e){if(Array.isArray(e))return e}},function(e,r){e.exports=function(e,r){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var o=[],t=!0,n=!1,l=void 0;try{for(var i,a=e[Symbol.iterator]();!(t=(i=a.next()).done)&&(o.push(i.value),!r||o.length!==r);t=!0);}catch(d){n=!0,l=d}finally{try{t||null==a.return||a.return()}finally{if(n)throw l}}return o}}},function(e,r){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,r,o){var t=o(23),n=o(63),l=o(65),i=o(69),a=o(70),d=o(27),m=/^\s+|\s+$/g;e.exports=function(e,r,o){if((e=d(e))&&(o||void 0===r))return e.replace(m,"");if(!e||!(r=t(r)))return e;var u=a(e),s=a(r),g=i(u,s),c=l(u,s)+1;return n(u,g,c).join("")}},function(e,r,o){(function(r){var o="object"==typeof r&&r&&r.Object===Object&&r;e.exports=o}).call(this,o(24))},function(e,r){e.exports=function(e,r){for(var o=-1,t=null==e?0:e.length,n=Array(t);++o<t;)n[o]=r(e[o],o,e);return n}},function(e,r,o){var t=o(14),n=Object.prototype,l=n.hasOwnProperty,i=n.toString,a=t?t.toStringTag:void 0;e.exports=function(e){var r=l.call(e,a),o=e[a];try{e[a]=void 0;var t=!0}catch(d){}var n=i.call(e);return t&&(r?e[a]=o:delete e[a]),n}},function(e,r){var o=Object.prototype.toString;e.exports=function(e){return o.call(e)}},function(e,r){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,r,o){var t=o(64);e.exports=function(e,r,o){var n=e.length;return o=void 0===o?n:o,!r&&o>=n?e:t(e,r,o)}},function(e,r){e.exports=function(e,r,o){var t=-1,n=e.length;r<0&&(r=-r>n?0:n+r),(o=o>n?n:o)<0&&(o+=n),n=r>o?0:o-r>>>0,r>>>=0;for(var l=Array(n);++t<n;)l[t]=e[t+r];return l}},function(e,r,o){var t=o(26);e.exports=function(e,r){for(var o=e.length;o--&&t(r,e[o],0)>-1;);return o}},function(e,r){e.exports=function(e,r,o,t){for(var n=e.length,l=o+(t?1:-1);t?l--:++l<n;)if(r(e[l],l,e))return l;return-1}},function(e,r){e.exports=function(e){return e!==e}},function(e,r){e.exports=function(e,r,o){for(var t=o-1,n=e.length;++t<n;)if(e[t]===r)return t;return-1}},function(e,r,o){var t=o(26);e.exports=function(e,r){for(var o=-1,n=e.length;++o<n&&t(r,e[o],0)>-1;);return o}},function(e,r,o){var t=o(71),n=o(72),l=o(73);e.exports=function(e){return n(e)?l(e):t(e)}},function(e,r){e.exports=function(e){return e.split("")}},function(e,r){var o=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");e.exports=function(e){return o.test(e)}},function(e,r){var o="[\\ud800-\\udfff]",t="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",n="\\ud83c[\\udffb-\\udfff]",l="[^\\ud800-\\udfff]",i="(?:\\ud83c[\\udde6-\\uddff]){2}",a="[\\ud800-\\udbff][\\udc00-\\udfff]",d="(?:"+t+"|"+n+")"+"?",m="[\\ufe0e\\ufe0f]?"+d+("(?:\\u200d(?:"+[l,i,a].join("|")+")[\\ufe0e\\ufe0f]?"+d+")*"),u="(?:"+[l+t+"?",t,i,a,o].join("|")+")",s=RegExp(n+"(?="+n+")|"+u+m,"g");e.exports=function(e){return e.match(s)||[]}},function(e){e.exports=JSON.parse('[{"regex":"Hawk/TurboBrowser(?:/v?(\\\\d+[\\\\.\\\\d]+))?","name":"Hawk Turbo Browser","version":"$1","engine":{"default":"Blink"}},{"regex":"FreeU(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"FreeU","version":"$1","engine":{"default":"Blink"}},{"regex":"NoxBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Nox Browser","version":"$1","engine":{"default":"Blink"}},{"regex":"Basilisk(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Basilisk","version":"$1","engine":{"default":"Gecko"}},{"regex":"SputnikBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Sputnik Browser","version":"$1","engine":{"default":"Blink"}},{"regex":"TNSBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"K.Browser","version":"$1","engine":{"default":"Blink"}},{"regex":"OculusBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Oculus Browser","version":"$1"},{"regex":"JioBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Jio Browser","version":"$1","engine":{"default":"Blink"}},{"regex":"Hola(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"hola! Browser","version":"$1","engine":{"default":"Blink"}},{"regex":"HuaweiBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Huawei Browser","version":"$1"},{"regex":"VivoBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"vivo Browser","version":"$1"},{"regex":"RealmeBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Realme Browser","version":"$1"},{"regex":"Beaker ?Browser(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Beaker Browser","version":"$1","engine":{"default":"Blink"}},{"regex":"QwantMobile(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Qwant Mobile","version":"$1","engine":{"default":"Gecko"}},{"regex":"Qwant/(\\\\d+[\\\\.\\\\d]+)","name":"Qwant Mobile","version":"$1","engine":{"default":"Gecko"}},{"regex":"TenFourFox(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"TenFourFox","version":"$1","engine":{"default":"Gecko"}},{"regex":"AOLShield(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"AOL Shield","version":"$1","engine":{"default":"Gecko"}},{"regex":"Edge[ /](\\\\d+[\\\\.\\\\d]+)","name":"Microsoft Edge","version":"$1","engine":{"default":"Edge"}},{"regex":"EdgiOS[ /](\\\\d+[\\\\.\\\\d]+)","name":"Microsoft Edge","version":"$1","engine":{"default":"WebKit"}},{"regex":"EdgA[ /](\\\\d+[\\\\.\\\\d]+)","name":"Microsoft Edge","version":"$1","engine":{"default":"Blink"}},{"regex":"Edg[ /](\\\\d+[\\\\.\\\\d]+)","name":"Microsoft Edge","version":"$1","engine":{"default":"Blink"}},{"regex":"QIHU 360[ES]E","name":"360 Browser","version":""},{"regex":"360 Aphone Browser(?: \\\\((\\\\d+[\\\\.\\\\d]+)(?:beta)?\\\\))?","name":"360 Phone Browser","version":"$1","engine":{"default":"WebKit"}},{"regex":"SailfishBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Sailfish Browser","version":"$1","engine":{"default":"Gecko"}},{"regex":"IceCat(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"IceCat","version":"$1","engine":{"default":"Gecko"}},{"regex":"Mobicip","name":"Mobicip","version":"","engine":{"default":"Gecko"}},{"regex":"Camino(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Camino","version":"$1","engine":{"default":"Gecko"}},{"regex":"Waterfox(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Waterfox","version":"$1","engine":{"default":"Gecko"}},{"regex":"AlohaBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Aloha Browser","version":"$1"},{"regex":"Avast(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Avast Secure Browser","version":"$1"},{"regex":"Epic(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Epic","version":"$1","engine":{"default":"Gecko"}},{"regex":"Fennec(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Fennec","version":"$1","engine":{"default":"Gecko"}},{"regex":"Firefox.*Tablet browser (\\\\d+[\\\\.\\\\d]+)","name":"MicroB","version":"$1","engine":{"default":"Gecko"}},{"regex":"Maemo Browser(?: (\\\\d+[\\\\.\\\\d]+))?","name":"MicroB","version":"$1","engine":{"default":"Gecko"}},{"regex":"Deepnet Explorer (\\\\d+[\\\\.\\\\d]+)?","name":"Deepnet Explorer","version":"$1"},{"regex":"Avant Browser","name":"Avant Browser","version":"","engine":{"default":""}},{"regex":"OppoBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Oppo Browser","version":"$1"},{"regex":"Chrome/(\\\\d+[\\\\.\\\\d]+).*MRCHROME","name":"Amigo","version":"$1","engine":{"default":"WebKit","versions":{"28":"Blink"}}},{"regex":"AtomicBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Atomic Web Browser","version":"$1"},{"regex":"Bunjalloo(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Bunjalloo","version":"$1"},{"regex":"Brave(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Brave","version":"$1","engine":{"default":"Blink"}},{"regex":"Iridium(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Iridium","version":"$1"},{"regex":"Iceweasel(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Iceweasel","version":"$1","engine":{"default":"Gecko"}},{"regex":"WebPositive","name":"WebPositive","version":"","engine":{"default":"WebKit"}},{"regex":"PaleMoon(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Pale Moon","version":"$1","engine":{"default":"Gecko"}},{"regex":"CometBird(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"CometBird","version":"$1","engine":{"default":"Gecko"}},{"regex":"IceDragon(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"IceDragon","version":"$1","engine":{"default":"Gecko"}},{"regex":"Flock(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Flock","version":"$1","engine":{"default":"Gecko","versions":{"3":"WebKit"}}},{"regex":"jig browser(?: web;|9i?)?(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Jig Browser","version":"$1"},{"regex":"Kapiko(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Kapiko","version":"$1","engine":{"default":"Gecko"}},{"regex":"Kylo(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Kylo","version":"$1","engine":{"default":"Gecko"}},{"regex":"Cunaguaro(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Cunaguaro","version":"$1"},{"regex":"(?:Focus|Klar)(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Firefox Focus","version":"$1"},{"regex":"Cyberfox(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Cyberfox","version":"$1","engine":{"default":"Gecko"}},{"regex":"Firefox/(\\\\d+[\\\\.\\\\d]+).*\\\\(Swiftfox\\\\)","name":"Swiftfox","version":"$1","engine":{"default":"Gecko"}},{"regex":"(?:Mobile|Tablet).*Firefox(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Firefox Mobile","version":"$1","engine":{"default":"Gecko"}},{"regex":"FxiOS/(\\\\d+[\\\\.\\\\d]+)","name":"Firefox Mobile iOS","version":"$1","engine":{"default":"WebKit"}},{"regex":"Firefox(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Firefox","version":"$1","engine":{"default":"Gecko"}},{"regex":"(?:BonEcho|GranParadiso|Lorentz|Minefield|Namoroka|Shiretoko)/(\\\\d+[\\\\.\\\\d]+)","name":"Firefox","version":"$1","engine":{"default":"Gecko"}},{"regex":"ANTFresco(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"ANT Fresco","version":"$1"},{"regex":"ANTGalio(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"ANTGalio","version":"$1"},{"regex":"(?:Espial|Escape)(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Espial TV Browser","version":"$1"},{"regex":"RockMelt(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"RockMelt","version":"$1","engine":{"default":"WebKit"}},{"regex":"Fireweb Navigator(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Fireweb Navigator","version":"$1"},{"regex":"Fireweb(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Fireweb","version":"$1"},{"regex":"(?:Navigator|Netscape6?)(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Netscape","version":"$1","engine":{"default":""}},{"regex":"(?:Polarity)(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Polarity","version":"$1"},{"regex":"(?:QupZilla)(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"QupZilla","version":"$1"},{"regex":"(?:Dooble)(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Dooble","version":"$1"},{"regex":"Whale/(\\\\d+[\\\\.\\\\d]+)","name":"Whale Browser","version":"$1","engine":{"default":"Blink"}},{"regex":"Obigo[ ]?(?:InternetBrowser|Browser)?(?:[ /]([a-z0-9]*))?","name":"Obigo","version":"$1"},{"regex":"Obigo|Teleca","name":"Obigo","version":""},{"regex":"UCMini(?:[ /]?(\\\\d+[\\\\.\\\\d]+))?","name":"UC Browser Mini","version":"$1"},{"regex":"UC[ ]?Browser.* \\\\(UCMini\\\\)","name":"UC Browser Mini","version":""},{"regex":"(?:Opera Tablet.*Version|Opera/.+Opera Mobi.+Version|Mobile.+OPR)/(\\\\d+[\\\\.\\\\d]+)","name":"Opera Mobile","version":"$1","engine":{"default":"Presto","versions":{"15":"Blink"}}},{"regex":"MMS/(\\\\d+[\\\\.\\\\d]+)","name":"Opera Neon","version":"$1","engine":{"default":"Blink"}},{"regex":"OMI/(\\\\d+[\\\\.\\\\d]+)","name":"Opera Devices","version":"$1","engine":{"default":"Blink"}},{"regex":"OPT/(\\\\d+[\\\\.\\\\d]+)","name":"Opera Touch","version":"$1","engine":{"default":"Blink"}},{"regex":"Opera/(\\\\d+[\\\\.\\\\d]+).+Opera Mobi","name":"Opera Mobile","version":"$1","engine":{"default":"Presto","versions":{"15":"Blink"}}},{"regex":"Opera ?Mini/(?:att/)?(\\\\d+[\\\\.\\\\d]+)","name":"Opera Mini","version":"$1","engine":{"default":"Presto"}},{"regex":"Opera ?Mini.+Version/(\\\\d+[\\\\.\\\\d]+)","name":"Opera Mini","version":"$1","engine":{"default":"Presto"}},{"regex":"OPiOS/(\\\\d+[\\\\.\\\\d]+)","name":"Opera Mini iOS","version":"$1","engine":{"default":"WebKit"}},{"regex":"Opera.+Edition Next.+Version/(\\\\d+[\\\\.\\\\d]+)","name":"Opera Next","version":"$1","engine":{"default":"Presto","versions":{"15":"Blink"}}},{"regex":"(?:Opera|OPR)[/ ](?:9.80.*Version/)?(\\\\d+[\\\\.\\\\d]+).+Edition Next","name":"Opera Next","version":"$1","engine":{"default":"Presto","versions":{"15":"Blink"}}},{"regex":"(?:Opera[/ ]?|OPR[/ ])(?:9.80.*Version/)?(\\\\d+[\\\\.\\\\d]+)","name":"Opera","version":"$1","engine":{"default":"","versions":{"7":"Presto","15":"Blink","3.5":"Elektra"}}},{"regex":"rekonq(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Rekonq","version":"$1","engine":{"default":"WebKit"}},{"regex":"CoolNovo(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"CoolNovo","version":"$1","engine":{"default":""}},{"regex":"(?:Comodo[ _])?Dragon(?!fruit)(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Comodo Dragon","version":"$1","engine":{"default":"WebKit","versions":{"28":"Blink"}}},{"regex":"ChromePlus(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"ChromePlus","version":"$1","engine":{"default":""}},{"regex":"Conkeror(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Conkeror","version":"$1","engine":{"default":"Gecko"}},{"regex":"Konqueror(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Konqueror","version":"$1","engine":{"default":"KHTML","versions":{"4":""}}},{"regex":"baidubrowser(?:[/ ](\\\\d+[\\\\.\\\\d]*))?","name":"Baidu Browser","version":"$1"},{"regex":"FlyFlow(?:[/ ](\\\\d+[\\\\.\\\\d]*))?","name":"Baidu Browser","version":"$1"},{"regex":"(?:(?:BD)?Spark|BIDUBrowser)[/ ](\\\\d+[\\\\.\\\\d]*)","name":"Baidu Spark","version":"$1"},{"regex":"YaBrowser(?:/(\\\\d+[\\\\.\\\\d]*))?","name":"Yandex Browser","version":"$1","engine":{"default":"Blink"}},{"regex":"Vivaldi(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Vivaldi","version":"$1","engine":{"default":"Blink"}},{"regex":"TweakStyle(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"TweakStyle","version":"$1","engine":{"default":"Blink"}},{"regex":"Midori(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Midori","version":"$1","engine":{"default":"WebKit"}},{"regex":"Mercury(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Mercury","version":"$1"},{"regex":"(?:Maxthon|MxBrowser)[ /](\\\\d+[\\\\.\\\\d]+)","name":"Maxthon","version":"$1","engine":{"default":"","versions":{"3":"WebKit"}}},{"regex":"(?:Maxthon|MyIE2|Uzbl)","name":"Maxthon","version":"","engine":{"default":""}},{"regex":"Puffin(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Puffin","version":"$1"},{"regex":"MobileIron(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Iron Mobile","version":"$1","engine":{"default":"Blink"}},{"regex":"Iron(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Iron","version":"$1","engine":{"default":"WebKit","versions":{"28":"Blink"}}},{"regex":"Epiphany(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"GNOME Web","version":"$1","engine":{"default":"Gecko","versions":{"2.9.16":"","2.28":"WebKit"}}},{"regex":"LieBaoFast(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"LieBaoFast","version":"$1"},{"regex":"LBBrowser(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"Cheetah Browser","version":"$1"},{"regex":"SE (\\\\d+[\\\\.\\\\d]+)","name":"Sogou Explorer","version":"$1"},{"regex":"M?QQBrowser/Mini([\\\\.\\\\d]+)?","name":"QQ Browser Mini","version":"$1","engine":{"default":""}},{"regex":"M?QQBrowser(?:/([\\\\.\\\\d]+))?","name":"QQ Browser","version":"$1","engine":{"default":""}},{"regex":"(?:MIUIBrowser|MiuiBrowser)(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"MIUI Browser","version":"$1","engine":{"default":""}},{"regex":"coc_coc_browser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Coc Coc","version":"$1","engine":{"default":"WebKit","versions":{"28":"Blink"}}},{"regex":"DuckDuckGo/(\\\\d+[\\\\.\\\\d]*)","name":"DuckDuckGo Privacy Browser","version":"$1","engine":{"default":"Blink"}},{"regex":"Samsung ?Browser(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Samsung Browser","version":"$1"},{"regex":"Streamy(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Streamy","version":"$1","engine":{"default":"WebKit"}},{"regex":"isivioo","name":"Isivioo","version":"","engine":{"default":"WebKit"}},{"regex":"UC[ ]?Browser(?:[ /]?(\\\\d+[\\\\.\\\\d]+))?","name":"UC Browser","version":"$1"},{"regex":"UCWEB(?:[ /]?(\\\\d+[\\\\.\\\\d]+))?","name":"UC Browser","version":"$1"},{"regex":"UC AppleWebKit","name":"UC Browser","version":""},{"regex":"Tenta/(\\\\d+[\\\\.\\\\d]+)","name":"Tenta Browser","version":"$1","engine":{"default":"Webkit"}},{"regex":"Rocket/(\\\\d+[\\\\.\\\\d]+)","name":"Firefox Rocket","version":"$1","engine":{"default":"Webkit"}},{"regex":"Web Explorer/(\\\\d+[\\\\.\\\\d]+).*Chrome","name":"Web Explorer","version":"$1","engine":{"default":"Webkit"}},{"regex":"SznProhlizec/(\\\\d+[\\\\.\\\\d]+)","name":"Seznam Browser","version":"$1","engine":{"default":"Blink"}},{"regex":"SogouMobileBrowser/(\\\\d+[\\\\.\\\\d]+)","name":"Sogou Mobile Browser","version":"$1","engine":{"default":""}},{"regex":"Mint Browser/(\\\\d+[\\\\.\\\\d]+)","name":"Mint Browser","version":"$1","engine":{"default":""}},{"regex":"Ecosia (?:android|ios)@(\\\\d+[\\\\.\\\\d]+)","name":"Ecosia","version":"$1","engine":{"default":""}},{"regex":"ACHEETAHI","name":"CM Browser","version":"","engine":{"default":""}},{"regex":"Kiwi Chrome","name":"Kiwi","version":"","engine":{"default":""}},{"regex":"Mb2345Browser/(\\\\d+[\\\\.\\\\d]+)","name":"2345 Browser","version":"$1","engine":{"default":""}},{"regex":"QtWebEngine/(\\\\d+[\\\\.\\\\d]+)","name":"QtWebEngine","version":"$1","engine":{"default":""}},{"regex":"Silk/(\\\\d+[\\\\.\\\\d]+) like Chrome","name":"Mobile Silk","version":"$1","engine":{"default":"Blink"}},{"regex":"Silk(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Mobile Silk","version":"$1","engine":{"default":"WebKit"}},{"regex":"Version/.* Chrome(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Chrome Webview","version":"$1","engine":{"default":"WebKit","versions":{"28":"Blink"}}},{"regex":"CrMo(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Chrome Mobile","version":"$1","engine":{"default":"WebKit","versions":{"28":"Blink"}}},{"regex":"CriOS(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Chrome Mobile iOS","version":"$1","engine":{"default":"WebKit"}},{"regex":"Chrome(?:/(\\\\d+[\\\\.\\\\d]+))? Mobile","name":"Chrome Mobile","version":"$1","engine":{"default":"WebKit","versions":{"28":"Blink"}}},{"regex":"chromeframe(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Chrome Frame","version":"$1","engine":{"default":"WebKit"}},{"regex":"Chromium(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Chromium","version":"$1","engine":{"default":"WebKit","versions":{"28":"Blink"}}},{"regex":"HeadlessChrome(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Headless Chrome","version":"$1","engine":{"default":"Blink"}},{"regex":"Chrome(?!book)(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Chrome","version":"$1","engine":{"default":"WebKit","versions":{"28":"Blink"}}},{"regex":"(?:Tizen|SLP) Browser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Tizen Browser","version":"$1"},{"regex":"Blazer(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Palm Blazer","version":"$1"},{"regex":"Pre/(\\\\d+[\\\\.\\\\d]+)","name":"Palm Pre","version":"$1"},{"regex":"(?:hpw|web)OS/(\\\\d+[\\\\.\\\\d]+)","name":"wOSBrowser","version":"$1"},{"regex":"WebPro(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"Palm WebPro","version":"$1"},{"regex":"Palmscape(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"Palmscape","version":"$1"},{"regex":"Jasmine(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"Jasmine","version":"$1"},{"regex":"Lynx(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Lynx","version":"$1","engine":{"default":"Text-based"}},{"regex":"NCSA_Mosaic(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"NCSA Mosaic","version":"$1"},{"regex":"ABrowse(?: (\\\\d+[\\\\.\\\\d]+))?","name":"ABrowse","version":"$1"},{"regex":"amaya(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Amaya","version":"$1"},{"regex":"AmigaVoyager(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Amiga Voyager","version":"$1"},{"regex":"Amiga-Aweb(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Amiga Aweb","version":"$1"},{"regex":"Arora(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Arora","version":"$1","engine":{"default":"WebKit"}},{"regex":"Beonex(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Beonex","version":"$1","engine":{"default":"Gecko"}},{"regex":"bline(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"B-Line","version":"$1","engine":{"default":"WebKit"}},{"regex":"BrowseX \\\\((\\\\d+[\\\\.\\\\d]+)","name":"BrowseX","version":"$1"},{"regex":"Charon(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Charon","version":"$1"},{"regex":"Cheshire(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Cheshire","version":"$1"},{"regex":"dbrowser","name":"dbrowser","version":"","engine":{"default":"WebKit"}},{"regex":"Dillo(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Dillo","version":"$1","engine":{"default":"Dillo"}},{"regex":"Dolfin(?:/(\\\\d+[\\\\.\\\\d]+))?|dolphin","name":"Dolphin","version":"$1","engine":{"default":"WebKit"}},{"regex":"Elinks(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Elinks","version":"$1","engine":{"default":"Text-based"}},{"regex":"Element Browser(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"Element Browser","version":"$1"},{"regex":"Firebird(?! Build)(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Firebird","version":"$1","engine":{"default":"Gecko"}},{"regex":"Fluid(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Fluid","version":"$1","engine":{"default":"WebKit"}},{"regex":"Galeon(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Galeon","version":"$1","engine":{"default":"Gecko"}},{"regex":"Google Earth(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Google Earth","version":"$1","engine":{"default":"WebKit"}},{"regex":"HotJava(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"HotJava","version":"$1"},{"regex":"IBrowse(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"IBrowse","version":"$1"},{"regex":"iCabMobile(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"iCab Mobile","version":"$1","engine":{"default":"WebKit"}},{"regex":"iCab(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"iCab","version":"$1","engine":{"default":"iCab","versions":{"4":"WebKit"}}},{"regex":"Sleipnir(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"Sleipnir","version":"$1","engine":{"default":""}},{"regex":"Lunascape(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Lunascape","version":"$1","engine":{"default":""}},{"regex":"IEMobile[ /](\\\\d+[\\\\.\\\\d]+)","name":"IE Mobile","version":"$1","engine":{"default":"Trident"}},{"regex":"MSIE (\\\\d+[\\\\.\\\\d]+).*XBLWP7","name":"IE Mobile","version":"$1","engine":{"default":"Trident"}},{"regex":"MSIE.*Trident/4.0","name":"Internet Explorer","version":"8.0","engine":{"default":"Trident"}},{"regex":"MSIE.*Trident/5.0","name":"Internet Explorer","version":"9.0","engine":{"default":"Trident"}},{"regex":"MSIE.*Trident/6.0","name":"Internet Explorer","version":"10.0","engine":{"default":"Trident"}},{"regex":"Trident/[78].0","name":"Internet Explorer","version":"11.0","engine":{"default":"Trident"}},{"regex":"MSIE (\\\\d+[\\\\.\\\\d]+)","name":"Internet Explorer","version":"$1","engine":{"default":"Trident"}},{"regex":"IE[ /](\\\\d+[\\\\.\\\\d]+)","name":"Internet Explorer","version":"$1","engine":{"default":"Trident"}},{"regex":"Kazehakase(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Kazehakase","version":"$1","engine":{"default":""}},{"regex":"Kindle/(\\\\d+[\\\\.\\\\d]+)","name":"Kindle Browser","version":"$1"},{"regex":"K-meleon(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"K-meleon","version":"$1","engine":{"default":"Gecko"}},{"regex":"Links(?: \\\\((\\\\d+[\\\\.\\\\d]+))?","name":"Links","version":"$1","engine":{"default":"Text-based"}},{"regex":"LG Browser(?:/(\\\\d+[\\\\.\\\\d]+))","name":"LG Browser","version":"$1"},{"regex":"LuaKit(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"LuaKit","version":"$1"},{"regex":"UP.Browser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Openwave Mobile Browser","version":"$1"},{"regex":"Openwave(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Openwave Mobile Browser","version":"$1"},{"regex":"OmniWeb(?:/[v]?(\\\\d+[\\\\.\\\\d]+))?","name":"OmniWeb","version":"$1","engine":{"default":"WebKit"}},{"regex":"Phoenix(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Phoenix","version":"$1"},{"regex":"NetFrontLifeBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"NetFront Life","version":"$1","engine":{"default":"NetFront"}},{"regex":"NetFront(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"NetFront","version":"$1","engine":{"default":"NetFront"}},{"regex":"PLAYSTATION|NINTENDO 3|AppleWebKit.+ NX/\\\\d+\\\\.\\\\d+\\\\.\\\\d+","name":"NetFront","version":""},{"regex":"NetPositive(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"NetPositive","version":"$1"},{"regex":"NTENTBrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"NTENT Browser","version":"$1"},{"regex":"Odyssey Web Browser(?:.*OWB/(\\\\d+[\\\\.\\\\d]+))?","name":"Odyssey Web Browser","version":"$1"},{"regex":"OffByOne","name":"Off By One","version":""},{"regex":"OneBrowser(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"ONE Browser","version":"$1","engine":{"default":"WebKit"}},{"regex":"Oregano(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"Oregano","version":"$1"},{"regex":"Otter(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"Otter Browser","version":"$1"},{"regex":"(?:Polaris|Embider)(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Polaris","version":"$1"},{"regex":"SEMC-Browser(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"SEMC-Browser","version":"$1"},{"regex":"Sraf(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Seraphic Sraf","version":"$1","engine":{"default":"Blink"}},{"regex":"Shiira(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Shiira","version":"$1","engine":{"default":"WebKit"}},{"regex":"Skyfire(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Skyfire","version":"$1"},{"regex":"Snowshoe(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Snowshoe","version":"$1","engine":{"default":"WebKit"}},{"regex":"Sunrise(?:Browser)?(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Sunrise","version":"$1"},{"regex":"SuperBird(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"SuperBird","version":"$1"},{"regex":"Vision-Browser(?:/(\\\\d+[\\\\.\\\\d]+))","name":"Vision Mobile Browser","version":"$1"},{"regex":"WeTab-Browser","name":"WeTab Browser","version":""},{"regex":"Xiino(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Xiino","version":"$1"},{"regex":"(?:NokiaBrowser|BrowserNG)(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Nokia Browser","version":"$1"},{"regex":"Series60/5\\\\.0","name":"Nokia Browser","version":"7.0"},{"regex":"Series60/(\\\\d+[\\\\.\\\\d]+)","name":"Nokia OSS Browser","version":"$1"},{"regex":"S40OviBrowser/(\\\\d+[\\\\.\\\\d]+)","name":"Nokia Ovi Browser","version":"$1"},{"regex":"^Nokia|Nokia[EN]?\\\\d+","name":"Nokia Browser","version":""},{"regex":"BlackBerry|PlayBook|BB10","name":"BlackBerry Browser","version":""},{"regex":"BriskBard(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"BriskBard","version":"$1"},{"regex":"Android","name":"Android Browser","version":"","engine":{"default":"WebKit"}},{"regex":"Coast(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Coast","version":"$1"},{"regex":"qutebrowser(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Qutebrowser","version":"$1"},{"regex":"(?:(?:iPod|iPad|iPhone).+Version|MobileSafari)/(\\\\d+[\\\\.\\\\d]+)","name":"Mobile Safari","version":"$1","engine":{"default":"WebKit"}},{"regex":"(?:Version/(\\\\d+[\\\\.\\\\d]+).*)?Mobile.*Safari/","name":"Mobile Safari","version":"$1","engine":{"default":"WebKit"}},{"regex":"(?:iPod|iPhone|iPad)","name":"Mobile Safari","version":"","engine":{"default":"WebKit"}},{"regex":"Version/(\\\\d+[\\\\.\\\\d]+).*Safari/|Safari/\\\\d+","name":"Safari","version":"$1","engine":{"default":"WebKit"}},{"regex":"Dorado WAP-Browser[/ ](\\\\d+[\\\\.\\\\d]+)","name":"Dorado","version":"$1"},{"regex":"NetSurf(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"NetSurf","version":"$1","engine":{"default":"NetSurf"}}]')},function(e){e.exports=JSON.parse('[{"regex":"NetFront","name":"NetFront"},{"regex":"Edge","name":"Edge"},{"regex":"Trident","name":"Trident"},{"regex":"Blink","name":"Blink"},{"regex":"(?:Apple)?WebKit","name":"WebKit"},{"regex":"Presto","name":"Presto"},{"regex":"(?<!like )Gecko","name":"Gecko"},{"regex":"KHTML","name":"KHTML"},{"regex":"NetSurf","name":"NetSurf"}]')},function(e,r,o){"use strict";var t=o(1);Object.defineProperty(r,"__esModule",{value:!0});var n=o(6),l=o(3),i=o(2),a=o(77);r.default=function e(r){var o=this;t(this,e),this.options={versionTruncation:1},this.parse=function(e){var r={type:"",name:"",version:""},t=!0,d=!1,m=void 0;try{for(var u,s=a[Symbol.iterator]();!(t=(u=s.next()).done);t=!0){var g=u.value,c=i.userAgentParser(g.regex,e);if(c){r.type="mobile app",r.name=l.variableReplacement(g.name,c),r.version=n.formatVersion(l.variableReplacement(g.version,c),o.options.versionTruncation);break}}}catch(x){d=!0,m=x}finally{try{t||null==s.return||s.return()}finally{if(d)throw m}}return r},this.options=Object.assign({},this.options,r)}},function(e){e.exports=JSON.parse('[{"regex":"AndroidDownloadManager(?:[ /]([\\\\d\\\\.]+))?","name":"AndroidDownloadManager","version":"$1"},{"regex":"(?:Apple)?News(?:[ /][\\\\d\\\\.]+)? Version(?:[ /]([\\\\d\\\\.]+))?","name":"Apple News","version":"$1"},{"regex":"bPod","name":"bPod","version":""},{"regex":"(?:MessengerForiOS|MESSENGER).(?:FBAV)(?:[ /]([\\\\d\\\\.]+))?","name":"Facebook Messenger","version":"$1"},{"regex":"(?:FBAV|com.facebook.katana)(?:[ /]([\\\\d\\\\.]+))?","name":"Facebook","version":"$1"},{"regex":"FeedR(?:/([\\\\d\\\\.]+))?","name":"FeedR","version":"$1"},{"regex":"com.google.android.apps.magazines","name":"Google Play Newsstand","version":""},{"regex":"com.google.GooglePlus","name":"Google Plus","version":""},{"regex":"MicroMessenger/([^ ]+)","name":"WeChat","version":"$1"},{"regex":".*__weibo__([0-9\\\\.]+)__","name":"Sina Weibo","version":"$1"},{"regex":"Pinterest(?:/([\\\\d\\\\.]+))?","name":"Pinterest","version":"$1"},{"regex":"Podcatcher Deluxe","name":"Podcatcher Deluxe","version":""},{"regex":"com.google.android.youtube(?:/([\\\\d\\\\.]+))?","name":"YouTube","version":"$1"},{"regex":"([^/]+)/(\\\\d+(?:\\\\.\\\\d+)+) \\\\((?:iPhone|iPad); iOS [0-9\\\\.]+; Scale/[0-9\\\\.]+\\\\)","name":"$1","version":"$2"},{"regex":"WhatsApp(?:[ /]([\\\\d\\\\.]+))?","name":"WhatsApp","version":"$1"},{"regex":"Line(?:[ /]([\\\\d\\\\.]+))","name":"Line","version":"$1"},{"regex":"Instacast(?:HD)?/(\\\\d\\\\.[\\\\d\\\\.abc]+) CFNetwork/([\\\\d\\\\.]+) Darwin/([\\\\d\\\\.]+)","name":"Instacast","version":"$1"},{"regex":"Podcasts/([\\\\d\\\\.]+)","name":"Podcasts","version":"$1"},{"regex":"Pocket Casts(?:, (?:Android|iOS) v([\\\\d\\\\.]+))?","name":"Pocket Casts","version":"$1"},{"regex":"Podcat/([\\\\d\\\\.]+)","name":"Podcat","version":"$1"},{"regex":"BeyondPod","name":"BeyondPod","version":null},{"regex":"AntennaPod/?([\\\\d\\\\.]+)?","name":"AntennaPod","version":"$1"},{"regex":"Overcast/([\\\\d\\\\.]+)","name":"Overcast","version":"$1"},{"regex":"Player FM","name":"Player FM","version":""},{"regex":"Podkicker(?: Pro)?/([\\\\d\\\\.]+)","name":"Podkicker","version":"$1"},{"regex":"PodcastRepublic/([\\\\d\\\\.]+)","name":"Podcast Republic","version":"$1"},{"regex":"Castro/(\\\\d+)","name":"Castro","version":"$1"},{"regex":"Castro 2 ([\\\\d\\\\.]+)/[\\\\d]+ Like iTunes","name":"Castro 2","version":"$1"},{"regex":"Castro 2","name":"Castro 2","version":""},{"regex":"DoggCatcher","name":"DoggCatcher","version":null},{"regex":"PodcastAddict/v([\\\\d]+)","name":"Podcast & Radio Addict","version":"$1"},{"regex":"Podcat/([\\\\d]+) CFNetwork/([\\\\d\\\\.]+) Darwin/([\\\\d\\\\.]+)","name":"Podcat","version":"$1"},{"regex":"i[cC]atcher[^\\\\d]+([\\\\d\\\\.]+)","name":"iCatcher","version":"$1"},{"regex":"YelpApp/([\\\\d\\\\.]+)","name":"Yelp Mobile","version":"$1"},{"regex":"jp.co.yahoo.android.yjtop/([\\\\d\\\\.]+)","name":"Yahoo! Japan","version":"$1"},{"regex":"RSSRadio/([\\\\d]+)?","name":"RSSRadio","version":"$1"},{"regex":"SogouSearch Android[\\\\d\\\\.]+ version([\\\\d\\\\.]+)?","name":"SogouSearch App","version":"$1"},{"regex":"NewsArticle/([\\\\d\\\\.]+)?","name":"NewsArticle App","version":"$1"},{"regex":"tieba/([\\\\d\\\\.]+)?","name":"tieba","version":"$1"},{"regex":"com\\\\.douban\\\\.group/([\\\\d\\\\.]+)?","name":"douban App","version":"$1"},{"regex":"BingWeb/([\\\\d\\\\.]+)?","name":"BingWebApp","version":"$1"},{"regex":"GSA/([\\\\d\\\\.]+)?","name":"Google Search App","version":"$1"},{"regex":"Flipboard/([\\\\d\\\\.]+)?","name":"Flipboard App","version":"$1"},{"regex":"Instagram[ /]([\\\\d\\\\.]+)?","name":"Instagram App","version":"$1"},{"regex":"baiduboxapp/([\\\\d\\\\.]+)?","name":"Baidu Box App","version":"$1"},{"regex":"Crosswalk(?!.*Streamy)/([\\\\d\\\\.]+)?","name":"CrosswalkApp","version":"$1"}]')},function(e,r,o){"use strict";var t=o(1);Object.defineProperty(r,"__esModule",{value:!0});var n=o(6),l=o(3),i=o(2),a=o(79);r.default=function e(r){var o=this;t(this,e),this.options={versionTruncation:1},this.parse=function(e){var r={type:"",name:"",version:"",url:""},t=!0,d=!1,m=void 0;try{for(var u,s=a[Symbol.iterator]();!(t=(u=s.next()).done);t=!0){var g=u.value,c=i.userAgentParser(g.regex,e);if(c){r.type="feed reader",r.name=l.variableReplacement(g.name,c),r.version=n.formatVersion(l.variableReplacement(g.version,c),o.options.versionTruncation),r.url=g.url;break}}}catch(x){d=!0,m=x}finally{try{t||null==s.return||s.return()}finally{if(d)throw m}}return r},this.options=Object.assign({},this.options,r)}},function(e){e.exports=JSON.parse('[{"regex":"Akregator(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Akregator","version":"$1","url":"http://userbase.kde.org/Akregator","type":"Feed Reader"},{"regex":"Apple-PubSub(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Apple PubSub","version":"$1","url":"https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/pubsub.1.html","type":"Feed Reader"},{"regex":"BashPodder","name":"BashPodder","version":"","url":"http://lincgeek.org/bashpodder/","type":"Feed Reader"},{"regex":"Breaker/v([\\\\d\\\\.]+)","name":"Breaker","version":"$1","url":"https://www.breaker.audio/","type":"Feed Reader App"},{"regex":"Downcast/([\\\\d\\\\.]+)","name":"Downcast","version":"$1","url":"http://downcastapp.com/","type":"Feed Reader App"},{"regex":"FeedDemon(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"FeedDemon","version":"$1","url":"http://www.feeddemon.com/","type":"Feed Reader"},{"regex":"Feeddler(?:RSS|PRO)(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Feeddler RSS Reader","version":"$1","url":"http://www.chebinliu.com/projects/iphone/feeddler-rss-reader/","type":"Feed Reader App"},{"regex":"gPodder/([\\\\d\\\\.]+)","name":"gPodder","version":"$1","url":"http://gpodder.org/","type":"Feed Reader App"},{"regex":"JetBrains Omea Reader(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"JetBrains Omea Reader","version":"$1","url":"http://www.jetbrains.com/omea/reader/","type":"Feed Reader"},{"regex":"Liferea(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Liferea","version":"$1","url":"http://liferea.sf.net/","type":"Feed Reader"},{"regex":"NetNewsWire(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"NetNewsWire","version":"$1","url":"http://netnewswireapp.com/","type":"Feed Reader"},{"regex":"NewsBlur (?:iPhone|iPad) App(?: v(\\\\d+[\\\\.\\\\d]+))?","name":"NewsBlur Mobile App","version":"$1","url":"http://www.newsblur.com","type":"Feed Reader App"},{"regex":"NewsBlur(?:/(\\\\d+[\\\\.\\\\d]+))","name":"NewsBlur","version":"$1","url":"http://www.newsblur.com","type":"Feed Reader"},{"regex":"newsbeuter(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Newsbeuter","version":"$1","url":"http://www.newsbeuter.org/","type":"Feed Reader"},{"regex":"PritTorrent/([\\\\d\\\\.]+)","name":"PritTorrent","version":"$1","url":"http://bitlove.org","type":"Feed Reader"},{"regex":"Pulp[/ ](\\\\d+[\\\\.\\\\d]+)","name":"Pulp","version":"$1","url":"http://www.acrylicapps.com/pulp/","type":"Feed Reader App"},{"regex":"ReadKit(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"ReadKit","version":"$1","url":"http://readkitapp.com/","type":"Feed Reader App"},{"regex":"Reeder(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Reeder","version":"$1","url":"http://reederapp.com/","type":"Feed Reader App"},{"regex":"RSSBandit(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"RSS Bandit","version":"$1","url":"http://www.rssbandit.org)","type":"Feed Reader"},{"regex":"RSS Junkie(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"RSS Junkie","version":"$1","url":"https://play.google.com/store/apps/details?id=com.bitpowder.rssjunkie","type":"Feed Reader App"},{"regex":"RSSOwl(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"RSSOwl","version":"$1","url":"http://www.rssowl.org/","type":"Feed Reader"},{"regex":"Stringer","name":"Stringer","version":"","url":"https://github.com/swanson/stringer","type":"Feed Reader"}]')},function(e,r,o){"use strict";var t=o(1);Object.defineProperty(r,"__esModule",{value:!0});var n=o(6),l=o(3),i=o(2),a=o(81);r.default=function e(r){var o=this;t(this,e),this.options={versionTruncation:1},this.parse=function(e){var r={type:"",name:"",version:"",url:""},t=!0,d=!1,m=void 0;try{for(var u,s=a[Symbol.iterator]();!(t=(u=s.next()).done);t=!0){var g=u.value,c=i.userAgentParser(g.regex,e);if(c){r.type="library",r.name=l.variableReplacement(g.name,c),r.version=n.formatVersion(l.variableReplacement(g.version,c),o.options.versionTruncation),r.url=g.url||"";break}}}catch(x){d=!0,m=x}finally{try{t||null==s.return||s.return()}finally{if(d)throw m}}return r},this.options=Object.assign({},this.options,r)}},function(e){e.exports=JSON.parse('[{"regex":"Wget(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Wget","version":"$1"},{"regex":"Guzzle(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Guzzle (PHP HTTP Client)","version":"$1"},{"regex":"(?:lib)?curl(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"curl","version":"$1"},{"regex":"python-requests(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Python Requests","version":"$1"},{"regex":"Python-urllib(?:/?(\\\\d+[\\\\.\\\\d]+))?","name":"Python urllib","version":"$1"},{"regex":"Java(?:/?(\\\\d+[\\\\.\\\\d]+))?","name":"Java","version":"$1"},{"regex":"(?:perlclient|libwww-perl)(?:/?(\\\\d+[\\\\.\\\\d]+))?","name":"Perl","version":"$1"},{"regex":"okhttp/([\\\\d\\\\.]+)","name":"OkHttp","version":"$1"},{"regex":"HTTP_Request2(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"HTTP_Request2","version":"$1"},{"regex":"HTTP_Request2(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"HTTP_Request2","version":"$1","url":"http://pear.php.net/package/http_request2"},{"regex":"Mechanize(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Mechanize","version":"$1","url":"http://github.com/sparklemotion/mechanize/"},{"regex":"aiohttp(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"aiohttp","version":"$1"},{"regex":"Google-HTTP-Java-Client(?:/(\\\\d+[\\\\.\\\\d\\\\w-]+))?","name":"Google HTTP Java Client","version":"$1"},{"regex":"WWW-Mechanize(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"WWW-Mechanize","version":"$1"},{"regex":"Faraday(?: v(\\\\d+[\\\\.\\\\d]+))?","name":"Faraday","version":"$1"},{"regex":"(?:Go-http-client|Go )/?(?:(\\\\d+[\\\\.\\\\d]+))?(?: package http)?","name":"Go-http-client","version":"$1"},{"regex":"urlgrabber(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"urlgrabber (yum)","version":"$1"},{"regex":"libdnf(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"libdnf","version":"$1"},{"regex":"HTTPie(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"HTTPie","version":"$1"}]')},function(e,r,o){"use strict";var t=o(1);Object.defineProperty(r,"__esModule",{value:!0});var n=o(6),l=o(3),i=o(2),a=o(83);r.default=function e(r){var o=this;t(this,e),this.options={versionTruncation:1},this.parse=function(e){var r={type:"",name:"",version:""},t=!0,d=!1,m=void 0;try{for(var u,s=a[Symbol.iterator]();!(t=(u=s.next()).done);t=!0){var g=u.value,c=i.userAgentParser(g.regex,e);if(c){r.type="media player",r.name=l.variableReplacement(g.name,c),r.version=n.formatVersion(l.variableReplacement(g.version,c),o.options.versionTruncation);break}}}catch(x){d=!0,m=x}finally{try{t||null==s.return||s.return()}finally{if(d)throw m}}return r},this.options=Object.assign({},this.options,r)}},function(e){e.exports=JSON.parse('[{"regex":"Audacious(?:[ /]([\\\\d\\\\.]+))?","name":"Audacious","version":"$1"},{"regex":"Banshee(?:[ /]([\\\\d\\\\.]+))?","name":"Banshee","version":"$1"},{"regex":"Boxee(?:[ /]([\\\\d\\\\.]+))?","name":"Boxee","version":"$1"},{"regex":"Clementine(?:[ /]([\\\\d\\\\.]+))?","name":"Clementine","version":"$1"},{"regex":"Deezer(?:/([\\\\d\\\\.]+))?","name":"Deezer","version":"$1"},{"regex":"iTunes(?:-iPhone|-iPad)?(?:/([\\\\d\\\\.]+))?","name":"iTunes","version":"$1"},{"regex":"FlyCast(?:/([\\\\d\\\\.]+))?","name":"FlyCast","version":"$1"},{"regex":"foobar2000(?:/([\\\\d\\\\.]+))?","name":"Foobar2000","version":"$1"},{"regex":"MediaMonkey(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"MediaMonkey","version":"$1"},{"regex":"Miro(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Miro","version":"$1"},{"regex":"NexPlayer(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"NexPlayer","version":"$1"},{"regex":"Nightingale(?:/([\\\\d\\\\.]+))?","name":"Nightingale","version":"$1"},{"regex":"QuickTime(?:(?:(?:.+qtver=)|(?:(?: E-)?[\\\\./]))([\\\\d\\\\.]+))?","name":"QuickTime","version":"$1"},{"regex":"Songbird(?:/([\\\\d\\\\.]+))?","name":"Songbird","version":"$1"},{"regex":"SubStream(?:/([\\\\d\\\\.]+))?","name":"SubStream","version":"$1"},{"regex":"(?:Lib)?VLC(?:/([\\\\d\\\\.]+))?","name":"VLC","version":"$1"},{"regex":"Winamp(?:MPEG)?(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Winamp","version":"$1"},{"regex":"(?:Windows-Media-Player|NSPlayer)(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Windows Media Player","version":"$1"},{"regex":"XBMC(?:/([\\\\d\\\\.]+))?","name":"XBMC","version":"$1"},{"regex":"Kodi(?:/([\\\\d\\\\.]+))?","name":"Kodi","version":"$1"},{"regex":"stagefright(?:/([\\\\d\\\\.]+))?","name":"Stagefright","version":"$1"}]')},function(e,r,o){"use strict";var t=o(1);Object.defineProperty(r,"__esModule",{value:!0});var n=o(6),l=o(3),i=o(2),a=o(85);r.default=function e(r){var o=this;t(this,e),this.options={versionTruncation:1},this.parse=function(e){var r={type:"",name:"",version:""},t=!0,d=!1,m=void 0;try{for(var u,s=a[Symbol.iterator]();!(t=(u=s.next()).done);t=!0){var g=u.value,c=i.userAgentParser(g.regex,e);if(c){r.type="personal information manager",r.name=l.variableReplacement(g.name,c),r.version=n.formatVersion(l.variableReplacement(g.version,c),o.options.versionTruncation);break}}}catch(x){d=!0,m=x}finally{try{t||null==s.return||s.return()}finally{if(d)throw m}}return r},this.options=Object.assign({},this.options,r)}},function(e){e.exports=JSON.parse('[{"regex":"Outlook-Express(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Outlook Express","version":"$1"},{"regex":"Microsoft Outlook(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Microsoft Outlook","version":"$1"},{"regex":"(?:Thunderbird|Icedove|Shredder)(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Thunderbird","version":"$1"},{"regex":"Airmail(?: (\\\\d+[\\\\.\\\\d]+))?","name":"Airmail","version":"$1"},{"regex":"Lotus-Notes(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"Lotus Notes","version":"$1"},{"regex":"Barca(?:Pro)?(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Barca","version":"$1"},{"regex":"Postbox(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Postbox","version":"$1"},{"regex":"MailBar(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"MailBar","version":"$1"},{"regex":"The Bat!(?: Voyager)?(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"The Bat!","version":"$1"},{"regex":"DAVdroid(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"DAVdroid","version":"$1"},{"regex":"(?:SeaMonkey|Iceape)(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"SeaMonkey","version":"$1"}]')},function(e,r,o){"use strict";var t=o(1),n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var l=n(o(87)),i=n(o(89)),a=n(o(91)),d=n(o(93)),m=n(o(95)),u=n(o(97)),s=[m.default,d.default,l.default,a.default,u.default,i.default];r.default=function e(){t(this,e),this.parse=function(e){var r=!0,o=!1,t=void 0;try{for(var n,l=s[Symbol.iterator]();!(r=(n=l.next()).done);r=!0){var i=(new(0,n.value)).parse(e);if(""!==i.type)return i}}catch(a){o=!0,t=a}finally{try{r||null==l.return||l.return()}finally{if(o)throw t}}return null}}},function(e,r,o){"use strict";var t=o(4),n=o(1);Object.defineProperty(r,"__esModule",{value:!0});var l=o(3),i=o(2),a=o(88);r.default=function e(){n(this,e),this.parse=function(e){for(var r={type:"",brand:"",model:""},o=0,n=Object.entries(a);o<n.length;o++){var d=n[o],m=t(d,2),u=m[0],s=m[1],g=i.userAgentParser(s.regex,e);if(g){if(r.type="camera",r.brand=u,s.model)r.model=l.variableReplacement(s.model,g).trim();else if(s.models){var c=!0,x=!1,p=void 0;try{for(var f,S=s.models[Symbol.iterator]();!(c=(f=S.next()).done);c=!0){var h=f.value,v=i.userAgentParser(h.regex,e);if(v){r.model=l.variableReplacement(h.model,v).trim();break}}}catch(A){x=!0,p=A}finally{try{c||null==S.return||S.return()}finally{if(x)throw p}}}break}}return r}}},function(e){e.exports=JSON.parse('{"Nikon":{"regex":"Coolpix S800c","device":"camera","model":"Coolpix S800c"},"Samsung":{"regex":"EK-G[CN][0-9]{3}","device":"camera","models":[{"regex":"EK-GN120","model":"GALAXY NX"},{"regex":"EK-GC100","model":"GALAXY Camera"},{"regex":"EK-GC110","model":"GALAXY Camera WiFi only"},{"regex":"EK-GC200","model":"GALAXY Camera 2"},{"regex":"EK-GC([0-9]{3})","model":"GALAXY Camera $1"}]}}')},function(e,r,o){"use strict";var t=o(4),n=o(1);Object.defineProperty(r,"__esModule",{value:!0});var l=o(3),i=o(2),a=o(28),d=o(90);r.default=function e(){n(this,e),this.parse=function(e){for(var r={type:"",brand:"",model:""},o=0,n=Object.entries(d);o<n.length;o++){var m=n[o],u=t(m,2),s=u[0],g=u[1],c=i.userAgentParser(g.regex,e);if(c){if(r.type=g.device,r.brand=s,g.model)r.model=a.buildModel(l.variableReplacement(g.model,c)).trim();else if(g.models){var x=!0,p=!1,f=void 0;try{for(var S,h=g.models[Symbol.iterator]();!(x=(S=h.next()).done);x=!0){var v=S.value,A=i.userAgentParser(v.regex,e);if(A){r.model=a.buildModel(l.variableReplacement(v.model,A)).trim(),v.device&&(r.type=v.device),v.brand&&(r.brand=v.brand);break}}}catch(b){p=!0,f=b}finally{try{x||null==h.return||h.return()}finally{if(p)throw f}}}break}}return"tv"===r.type&&(r.type=r.type.replace("tv","television")),"Unknown"===r.brand&&(r.brand=""),r}}},function(e){e.exports=JSON.parse('{"Tunisie Telecom":{"regex":"StarTrail TT[);/ ]","device":"smartphone","model":"StarTrail by TT"},"SFR":{"regex":"StarShine|StarTrail|STARADDICT|StarText|StarNaute|StarXtrem|StarTab","device":"smartphone","models":[{"regex":"StarXtrem[);/ ]","model":"StarXtrem"},{"regex":"StarTrail ?4[);/ ]","model":"StarTrail 4"},{"regex":"StarTrail III[);/ ]","model":"StarTrail 3"},{"regex":"StarTrail II[);/ ]","model":"StarTrail 2"},{"regex":"StarTrail[);/ ]","model":"StarTrail"},{"regex":"StarShine II[);/ ]","model":"StarShine 2"},{"regex":"StarShine[);/ ]","model":"StarShine"},{"regex":"STARADDICT 4[);/ ]","model":"Staraddict 4"},{"regex":"STARADDICT III[);/ ]","model":"Staraddict 3"},{"regex":"STARADDICT II Plus[);/ ]","model":"Staraddict 2 Plus"},{"regex":"STARADDICT II[);/ ]","model":"Staraddict 2"},{"regex":"STARADDICT[);/ ]","model":"Staraddict"},{"regex":"StarText II[);/ ]","model":"StarText 2"},{"regex":"StarText[);/ ]","model":"StarText"},{"regex":"StarNaute II[);/ ]","model":"StarNaute 2"},{"regex":"StarNaute[);/ ]","model":"StarNaute"},{"regex":"StarTab","model":"StarTab","device":"tablet"},{"regex":"((?:StarShine|StarTrail|STARADDICT|StarText|StarNaute|StarXtrem)[^;/]*) Build","model":"$1"}]},"HTC":{"regex":"HTC|Sprint (?:APA|ATP)|ADR(?!910L)[a-z0-9]+|NexusHD2|Amaze[ _]4G[);/ ]|(Desire|Sensation|Evo ?3D|IncredibleS|Wildfire|Butterfly)[ _]?([^;/]+) Build|(Amaze[ _]4G|One ?[XELSV\\\\+]+)[);/ ]|SPV E6[05]0|One M8|X525a|PG86100|PC36100|XV6975|PJ83100[);/ ]|2PYB2|2PZC5|0PJA10|0PJA2","device":"smartphone","models":[{"regex":"2PZC5[);/ ]","model":"U11"},{"regex":"XV6975[);/ ]","model":"Imagio"},{"regex":"PG86100[);/ ]","model":"Evo 3G"},{"regex":"PC36100[);/ ]","model":"Evo 4G"},{"regex":"PJ83100[);/ ]","model":"One X"},{"regex":"(?:0PJA2|0PJA10)[);/ ]","model":"One M9"},{"regex":"ADR6300","model":"Droid Incredible"},{"regex":"ADR6400L","model":"ThunderBolt"},{"regex":"ADR6410LRA","model":"Droid Incredible 3"},{"regex":"SPV E600","model":"Excalibur"},{"regex":"SPV E650","model":"Vox"},{"regex":"X525a","model":"One X+"},{"regex":"2PYB2","model":"Bolt"},{"regex":"NexusHD2","model":"HD2"},{"regex":"HTC[ _\\\\-]P715a","device":"tablet","model":"P715a"},{"regex":"HTC[ _\\\\-]Flyer Build","device":"tablet","model":"Flyer"},{"regex":"HTC[ _\\\\-]Flyer[ _\\\\-]([\\\\w]{1,5})","device":"tablet","model":"Flyer $1"},{"regex":"HTC[ _\\\\-]One[ _\\\\-]max[);/ ]","device":"phablet","model":"One max"},{"regex":"HTC[ _]([^/;]+) [0-9]+(?:\\\\.[0-9]+)+ Build","model":"$1"},{"regex":"HTC[ _]([^/;]+) Build","model":"$1"},{"regex":"HTC[ _]([a-z0-9]+[ _\\\\-]?(?:[a-z0-9_+\\\\-])*)","model":"$1"},{"regex":"USCCHTC(\\\\d+)","model":"$1"},{"regex":"Sprint (ATP.*) Build","device":"tablet","model":"$1 (Sprint)"},{"regex":"Sprint (APA.*) Build","model":"$1 (Sprint)"},{"regex":"HTC(?:[\\\\-/ ])?([a-z0-9\\\\-_]+)","model":"$1"},{"regex":"HTC;(?: )?([a-z0-9 ]+)","model":"$1"},{"regex":"(Desire|Sensation|Evo ?3D|IncredibleS|Wildfire|Butterfly)[ _]?([^;/]+) Build","model":"$1 $2"},{"regex":"(Amaze[ _]4G|One ?[XELSV\\\\+]*) Build","model":"$1"},{"regex":"(ADR[^;/]+) Build","model":"$1"},{"regex":"(ADR[a-z0-9]+)","model":"$1"},{"regex":"(One M8)","model":"$1"}]},"Microsoft":{"regex":"KIN\\\\.(One|Two)|RM-(?:1031|106[57]|109[02]|1096|1099|1109|1114|1127|1141|1154)|Microsoft; Lumia","device":"smartphone","models":[{"regex":"KIN\\\\.(One|Two)","device":"feature phone","model":"Kin $1"},{"regex":"RM-1031","model":"Lumia 532"},{"regex":"RM-106[57]","model":"Lumia 640 XL"},{"regex":"RM-1096","model":"Lumia 640 XL"},{"regex":"RM-109[02]","model":"Lumia 535"},{"regex":"RM-1099","model":"Lumia 430"},{"regex":"RM-1109","model":"Lumia 640"},{"regex":"RM-1114","model":"Lumia 435"},{"regex":"RM-1127","model":"Lumia 550"},{"regex":"RM-1141","model":"Lumia 540"},{"regex":"RM-1154","model":"Lumia 650"},{"regex":"Microsoft; Lumia ([^;/)]+)[;/)]","model":"Lumia $1"}]},"Nokia":{"regex":"Nokia|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}","device":"smartphone","models":[{"regex":"TA-10(07|23|29|35)","model":"2"},{"regex":"TA-10(20|28|32|38)","model":"3"},{"regex":"TA-10(24|27|44|53)","model":"5"},{"regex":"TA-10(00|03|21|25|33|39|54)","model":"6"},{"regex":"TA-1041","model":"7"},{"regex":"TA-10(04|12|52)","model":"8"},{"regex":"Nokia ([A-Za-z0-9\\\\. ]+) Build","model":"$1"},{"regex":"RX-51 N900","model":"N900"},{"regex":"Nokia(N[0-9]+)","model":"$1"},{"regex":"Nokia-([a-z0-9]+)","model":"N$1"},{"regex":"NOKIA; (?!Qt;)([a-z0-9\\\\- ]+)","model":"$1"},{"regex":"NOKIA[ _]?([a-z0-9\\\\-]+)","model":"$1"},{"regex":"NOKIA/([a-z0-9 ]+)","model":"$1"},{"regex":"(Lumia [a-z0-9\\\\-]+ XL)","device":"phablet","model":"$1"},{"regex":"(Lumia [a-z0-9\\\\-]+)","model":"$1"},{"regex":"Maemo RX-51 ([a-z0-9]+)","model":"$1"},{"regex":"Maemo RX-34","model":"N800"},{"regex":"NokiaInternal|Nokia-WAP-Toolkit|Nokia-MIT-Browser|Nokia Mobile|Nokia Browser|Nokia/Series","model":""},{"regex":"portalmmm/2\\\\.0 (N7[37]|NK[a-z0-9]+)","model":"$1"},{"regex":"nok([0-9]+)","model":"$1"},{"regex":"Symbian.*\\\\s([a-z0-9]+)$","device":"feature phone","model":"$1"}]},"CnM":{"regex":"CnM","device":"tablet","models":[{"regex":"CnM[ \\\\-](?:Touchpad|TP)[ \\\\-]([0-9\\\\.]+)","model":"Touchpad $1"}]},"RIM":{"regex":"BB10;|BlackBerry|rim[0-9]+|PlayBook|STV100-[1234]|STH100-[12]|BBA100-[12]|BBB100-[1234567]|BBC100-1|BBD100-[126]|BBE100-[123456789]|BBF100-[123456789]|BBG100-1|BBH100-1","device":"smartphone","models":[{"regex":"BBA100-[12]","model":"BlackBerry DTEK60"},{"regex":"BBB100-[1234567]","model":"KEYone"},{"regex":"BBC100-1","model":"Aurora"},{"regex":"BBD100-[126]","model":"Motion"},{"regex":"BBE100-[123456789]","model":"KEY2 LE"},{"regex":"BBF100-[1234567]","model":"KEY2"},{"regex":"BBF100-8","model":"KEY2 Silver"},{"regex":"BBF100-9","model":"KEY2 Black"},{"regex":"BBG100-1","model":"Evolve"},{"regex":"BBH100-1","model":"Evolve X"},{"regex":"STV100-[1234]","model":"BlackBerry Priv"},{"regex":"STH100-[12]","model":"BlackBerry DTEK50"},{"regex":"BB10; ([a-z0-9\\\\- ]+)\\\\)","model":"BlackBerry $1"},{"regex":"PlayBook.+RIM Tablet OS","model":"BlackBerry Playbook","device":"tablet"},{"regex":"BlackBerry(?: )?([a-z0-9]+)","model":"BlackBerry $1"},{"regex":"rim([0-9]+)","model":"BlackBerry $1"},{"regex":"BlackBerry","model":"BlackBerry"}]},"Palm":{"regex":"(?:Pre|Pixi)/(\\\\d+)\\\\.(\\\\d+)|Palm|Treo|Xiino","device":"smartphone","models":[{"regex":"((?:Pre|Pixi))/(\\\\d+\\\\.\\\\d+)","model":"$1 $2"},{"regex":"Palm(?:[ \\\\-])?((?!OS|Source|scape)[a-z0-9]+)","model":"$1"},{"regex":"Treo([a-z0-9]+)","model":"Treo $1"},{"regex":"Tungsten","model":"Tungsten"},{"regex":"Xiino|Palmscape","model":""}]},"HP":{"regex":"TouchPad/\\\\d+\\\\.\\\\d+|hp-tablet|HP ?iPAQ|webOS.*P160U|HP Slate|HP [78]|Compaq [7|8]|HP; [^;/)]+","device":"smartphone","models":[{"regex":"HP Slate 6 Voice Tab","model":"Slate 6 VoiceTab","device":"phablet"},{"regex":"HP ([78][^/;]*) Build","model":"Slate $1","device":"tablet"},{"regex":"Compaq ([78][^/;]*) Build","model":"Compaq $1","device":"tablet"},{"regex":"HP Slate ?(.+) Build","model":"Slate $1","device":"tablet"},{"regex":"HP Slate ?([0-9]+)","model":"Slate $1","device":"tablet"},{"regex":"TouchPad/(\\\\d+\\\\.\\\\d+)|hp-tablet","model":"TouchPad","device":"tablet"},{"regex":"HP; ([^;/)]+)","model":"$1"},{"regex":"HP(?: )?iPAQ(?: )?([a-z0-9]+)","model":"iPAQ $1"},{"regex":"webOS.*(P160U)","model":"Veer"}]},"TiPhone":{"regex":"TiPhone ?([a-z0-9]+)","device":"smartphone","model":"$1"},"Apple":{"regex":"(?:iTunes-)?Apple[ _]?TV|(?:Apple-|iTunes-)?(?<!like )(?:iPad|iPhone)|iPh[0-9],[0-9]|CFNetwork","models":[{"regex":"(?:Apple-)?iPh(?:one)?1[C,_]1","model":"iPhone","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?1[C,_]2","model":"iPhone 3G","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?2[C,_]1","model":"iPhone 3GS","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?3[C,_][123]","model":"iPhone 4","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?4[C,_]1|1C2%254enohPi","model":"iPhone 4S","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?5[C,_][12]","model":"iPhone 5","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?5[C,_][34]","model":"iPhone 5C","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?6[C,_][12]","model":"iPhone 5S","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?7[C,_]1|1C2%257enohPi","model":"iPhone 6 Plus","device":"phablet"},{"regex":"(?:Apple-)?iPh(?:one)?7[C,_]2","model":"iPhone 6","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?8[C,_]2","model":"iPhone 6s Plus","device":"phablet"},{"regex":"(?:Apple-)?iPh(?:one)?8[C,_]1|iPhone 6s","model":"iPhone 6s","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?8[C,_]4","model":"iPhone SE","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?9[C,_][13]","model":"iPhone 7","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?9[C,_][24]","model":"iPhone 7 Plus","device":"phablet"},{"regex":"(?:Apple-)?iPh(?:one)?10[C,_][14]","model":"iPhone 8","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?10[C,_][25]","model":"iPhone 8 Plus","device":"phablet"},{"regex":"(?:Apple-)?iPh(?:one)?10[C,_][36]|iPhone X","model":"iPhone X","device":"phablet"},{"regex":"(?:Apple-)?iPh(?:one)?11[C,_][2]","model":"iPhone XS","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?11[C,_][46]","model":"iPhone XS Max","device":"phablet"},{"regex":"(?:Apple-)?iPh(?:one)?11[C,_][8]","model":"iPhone XR","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?12[C,_][1]","model":"iPhone 11","device":"smartphone"},{"regex":"(?:Apple-)?iPh(?:one)?12[C,_][3]","model":"iPhone 11 Pro","device":"phablet"},{"regex":"(?:Apple-)?iPh(?:one)?12[C,_][5]","model":"iPhone 11 Pro Max","device":"phablet"},{"regex":"(?:Apple-)?iPad1[C,_]1","model":"iPad","device":"tablet"},{"regex":"(?:Apple-)?iPad2[C,_][1234]","model":"iPad 2","device":"tablet"},{"regex":"(?:Apple-)?iPad2[C,_][567]","model":"iPad Mini","device":"tablet"},{"regex":"(?:Apple-)?iPad3[C,_][123]","model":"iPad 3","device":"tablet"},{"regex":"(?:Apple-)?iPad3[C,_][456]","model":"iPad 4","device":"tablet"},{"regex":"(?:Apple-)?iPad4[C,_][123]","model":"iPad Air","device":"tablet"},{"regex":"(?:Apple-)?iPad4[C,_][456]","model":"iPad Mini 2","device":"tablet"},{"regex":"(?:Apple-)?iPad4[C,_][789]","model":"iPad Mini 3","device":"tablet"},{"regex":"(?:Apple-)?iPad5[C,_][12]","model":"iPad Mini 4","device":"tablet"},{"regex":"(?:Apple-)?iPad5[C,_][34]","model":"iPad Air 2","device":"tablet"},{"regex":"(?:Apple-)?iPad6[C,_][34]","model":"iPad Pro 9.7","device":"tablet"},{"regex":"(?:Apple-)?iPad6[C,_][78]","model":"iPad Pro 12.9","device":"tablet"},{"regex":"(?:Apple-)?iPad6[C,_](?:11|12)","model":"iPad 5 9.7","device":"tablet"},{"regex":"(?:Apple-)?iPad7[C,_][12]","model":"iPad Pro 2 12.9","device":"tablet"},{"regex":"(?:Apple-)?iPad7[C,_][34]","model":"iPad Pro 10.5","device":"tablet"},{"regex":"(?:Apple-)?iPad7[C,_][56]","model":"iPad 6 9.7","device":"tablet"},{"regex":"(?:Apple-)?iPad7[C,_](?:11|12)","model":"iPad 7 10.2","device":"tablet"},{"regex":"(?:Apple-)?iPad8[C,_][1-4]","model":"iPad Pro 3 11.0","device":"tablet"},{"regex":"(?:Apple-)?iPad8[C,_][5-8]","model":"iPad Pro 3 12.9","device":"tablet"},{"regex":"Apple-?TV2[C,_]1","model":"Apple TV 2","device":"tv"},{"regex":"Apple-?TV3[C,_][12]","model":"Apple TV 3","device":"tv"},{"regex":"Apple-?TV5[C,_]3","model":"Apple TV 4","device":"tv"},{"regex":"Apple-?TV6[C,_]2","model":"Apple TV 4K","device":"tv"},{"regex":"(?:iTunes-)?Apple[ _]?TV","model":"Apple TV","device":"tv"},{"regex":"HomePod","model":"HomePod","device":"smart speaker"},{"regex":"iTunes-iPad/[0-9]+(?:\\\\.[0-9]+)* \\\\(([^;]+);","model":"iPad $1","device":"tablet"},{"regex":"(?:Apple-)?iPad","model":"iPad","device":"tablet"},{"regex":"iTunes-iPhone/[0-9]+(?:\\\\.[0-9]+)* \\\\(([^;]+);","model":"iPhone $1","device":"smartphone"},{"regex":"(?:Apple-)?iPhone ?(3GS?|4S?|5[CS]?|6(:? Plus)?)?","model":"iPhone $1","device":"smartphone"}]},"MicroMax":{"regex":"(?:MicroMax[ \\\\-\\\\_]?[a-z0-9]+|Q327)|P70221 Build","device":"smartphone","models":[{"regex":"AQ5001","model":"Canvas Juice 2"},{"regex":"E481","model":"Canvas 5"},{"regex":"P70221 Build","model":"Canvas Tab","device":"tablet"},{"regex":"Q327","model":"Bolt"},{"regex":"Q417","model":"Canvas Mega"},{"regex":"Q424","model":"Bolt Selfie"},{"regex":"Q426","model":"Canvas Mega 2"},{"regex":"MicroMax(?:[ \\\\-\\\\_])?(P[a-z0-9]+)","model":"$1","device":"tablet"},{"regex":"MicroMax(?:[ \\\\-\\\\_])?([a-z0-9]+)","model":"$1"}]},"3Q":{"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|RC7802F|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","device":"tablet","models":[{"regex":"MT0724B|LC0901D|LC0816C|LC0810C|LC0809B|LC0808B|LC0804B|LC0725B|LC0723B","model":"Qoo! P-Pad"},{"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","model":"Qoo! Q-Pad"},{"regex":"MT7801C|QS9718C|QS9719D|VM0711A|OC1020A","model":"Qoo! Surf"},{"regex":"TS9708B","model":"Surf TS1009B"},{"regex":"AC7803C|AC0732C","model":"Qoo! Lite"},{"regex":"MT0812E|RC7802F","model":"Qoo! Meta"},{"regex":"EL72B|(?:3Q_)?ER71B","model":"Qoo! Q-Book"}]},"4Good":{"regex":"4Good[ _]|(?:4Good)?(S450m [43]G|S555m 4G|S501m 3G|T700i_3G|Light A103)","device":"smartphone","models":[{"regex":"T700i_3G","model":"T700i 3G","device":"tablet"},{"regex":"S555m[_ ]4G","model":"People"},{"regex":"(S(?:450m|501m)[_ ][43]G|Light A103)","model":"$1"},{"regex":"4Good[ _]([^;/]+) Build","model":"$1"},{"regex":"4Good[ _]([^);/ ]+)","model":"$1"}]},"AllCall":{"regex":"AllCall_|Heat[34]|Hot ?[125][^;/]+ Build","device":"smartphone","models":[{"regex":"AllCall_(Alpha|Atom|Bro|Madrid)","model":"$1"},{"regex":"AllCall_S1_X","model":"S1 X"},{"regex":"AllCall_S1","model":"S1"},{"regex":"AllCall_RIO_S","model":"Rio S"},{"regex":"AllCall_RIO_PRO","model":"Rio Pro"},{"regex":"AllCall_RIO","model":"Rio"},{"regex":"Heat([34])","model":"Heat $1"},{"regex":"Hot ?([125][^;/]+) Build","model":"Hot $1"}]},"Bravis":{"regex":"Bravis[ _]|A501 Bright|NB(?:106M|10[1-8]|751|7[145]|8[57]1|76)|NP101|NP 104 3G|B501|N1-570 Space","device":"smartphone","models":[{"regex":"A501 Bright","model":"A501 Bright"},{"regex":"Bravis[_ ]X500","model":"Trace Pro"},{"regex":"Bravis[_ ]A506","model":"Crystal"},{"regex":"Bravis[_ ]A553","model":"Discovery"},{"regex":"BRAVIS[ _]TAU","model":"Tau"},{"regex":"BRAVIS[ _]DELTA","model":"Delta"},{"regex":"BRAVIS[ _]TREND","model":"Trend"},{"regex":"B501","model":"Easy"},{"regex":"N1-570","model":"Space"},{"regex":"BRAVIS[ ]A554","model":"A554 Grand"},{"regex":"BRAVIS[ _]SLIM[ _]3G","model":"Slim 3G","device":"tablet"},{"regex":"Bravis[_ ]([^;\\\\)]+) Build","model":"$1"},{"regex":"(NB(?:106M|10[1-8]|751|7[145]|8[57]1|76)|NP101)","model":"$1","device":"tablet"},{"regex":"NP 104 3G","model":"NP104 3G","device":"tablet"}]},"Acer":{"regex":"acer|(?<!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[);/ ]|A1-830|A1-81[01]|A1-7[23]4|A3-A[1234][01]|B1-7[1235678][01]|B1-7[23]3|B1-8[1235]0|B1-A71|B3-A[12]0|B3-A3[02]|E39[);/ ]|S5[12]0 Build|DA[0-9]+HQ?L[);/ ]|Aspire V5-121|Predator G9-793|GT-810","device":"smartphone","models":[{"regex":"DA220HQL[);/ ]","model":"DA220HQL","device":"smart display"},{"regex":"DA241HL[);/ ]","model":"DA241HL","device":"smart display"},{"regex":"(DA[0-9]+HQ?L)[);/ ]","model":"$1","device":"smart display"},{"regex":"A1-81[01]","model":"Iconia A","device":"tablet"},{"regex":"A1-830","model":"Iconia A1","device":"tablet"},{"regex":"A1-7[23]4","model":"Iconia Talk S","device":"tablet"},{"regex":"A3-A[12][01]","model":"Iconia A3","device":"tablet"},{"regex":"A3-A[34]0","model":"Iconia Tab 10","device":"tablet"},{"regex":"B1-7[5678]0|B1-730HD","model":"Iconia One 7","device":"tablet"},{"regex":"B1-7[123][01]|B1-A71","model":"Iconia B1","device":"tablet"},{"regex":"B1-7[23]3","model":"Iconia Talk 7","device":"tablet"},{"regex":"B1-8[1235]0","model":"Iconia One 8","device":"tablet"},{"regex":"B3-A[12]0|B3-A3[02]","model":"Iconia One 10","device":"tablet"},{"regex":"A101","model":"Vangogh","device":"tablet"},{"regex":"A200","model":"Picasso E","device":"tablet"},{"regex":"A50[01]","model":"Picasso","device":"tablet"},{"regex":"Acer One 7","model":"One 7","device":"tablet"},{"regex":"GT-810","model":"Predator 8","device":"tablet"},{"regex":"E39[);/ ]","model":"Liquid E700"},{"regex":"E310[);/ ]","model":"Liquid Mini"},{"regex":"E320(?:-orange)?[);/ ]","model":"Liquid Express"},{"regex":"E310[);/ ]","model":"beTouch E210"},{"regex":"Android.*V360[);/ ]","model":"Liquid E1 Duo"},{"regex":"Android.*V370[);/ ]","model":"Liquid E2 Duo"},{"regex":"S510[);/ ]","model":"Liquid S1"},{"regex":"S520[);/ ]","model":"Liquid S2"},{"regex":"(?:Acer_)?P400[);/ ]","model":"neoTouch P400"},{"regex":"(?:Acer_)?P300[);/ ]","model":"neoTouch P300"},{"regex":"(?:Acer_)?S200[);/ ]","model":"neoTouch S200"},{"regex":"(?:Acer_)?E100[);/ ]","model":"beTouch E100"},{"regex":"Android.*Z1([234])0[);/ ]","model":"Liquid Z$1"},{"regex":"Android.*Z110[);/ ]","model":"Liquid Z110"},{"regex":"Android.*Z150[);/ ]","model":"Liquid Z5 Duo"},{"regex":"Android.*Z160[);/ ]","model":"Liquid Z4 Duo"},{"regex":"Android.*Z(5\\\\d{2})[);/ ]","model":"Liquid Z$1"},{"regex":"Android.*S57[);/ ]","model":"Liquid Jade Z"},{"regex":"Android.*T02[);/ ]","model":"Liquid Z530"},{"regex":"Android.*T03[);/ ]","model":"Liquid Z630"},{"regex":"Android.*T04[);/ ]","model":"Liquid Z630S"},{"regex":"Android.*T06[);/ ]","model":"Liquid Zest"},{"regex":"Android.*T07[);/ ]","model":"Liquid Zest 4G"},{"regex":"Android.*T08[);/ ]","model":"Liquid Zest Plus"},{"regex":"TM01[);/ ]","model":"Liquid M330"},{"regex":"M220[);/ ]","model":"Liquid M220"},{"regex":"AcerTD600","model":"TD600"},{"regex":"Android.*S55[);/ ]","model":"Liquid Jade"},{"regex":"(?:Acer )?(Chromebook R1[13])","model":"$1","device":"desktop"},{"regex":"(?:Acer )?(Chromebook 14)","model":"$1","device":"desktop"},{"regex":"(Aspire V5-121)","model":"$1","device":"desktop"},{"regex":"(Predator G9-793)","model":"$1","device":"desktop"},{"regex":"Acer; ?([^;\\\\(\\\\)/]+)","model":"$1"},{"regex":"Acer(?! ?inc)[ _\\\\-]?([^;\\\\(\\\\)/]+)[();/ ]","model":"$1"},{"regex":"acer[\\\\-_]([a-z0-9]+)","model":"$1"},{"regex":"a(101|110|2[10]0|211|50[10]|51[10]|70[10])[);/ ]","model":"Iconia Tab A$1","device":"tablet"}]},"Advan":{"regex":"(i7U|S45E|5061|S50H|I7D|i55[KD]|i4U|S7D|S4Z|i5[KE]|S5E[ _]NXT) Build","device":"smartphone","models":[{"regex":"i7U","model":"I Lite i7U"},{"regex":"S5E[ _]NXT","model":"S5E NXT"},{"regex":"i(55[KD]|5[KE])","model":"I$1"},{"regex":"i4U","model":"I4U"},{"regex":"(S45E|5061|S50H|I7D|S7D|S4Z)","model":"$1"}]},"Advance":{"regex":"Hollogram|HL6246|IntroTr3544|Tr3845","device":"smartphone","models":[{"regex":"IntroTr3544|Tr3845","model":"Intro","device":"tablet"},{"regex":"HL6246","model":"Hollogram HL6246"},{"regex":"Hollogram ([^;\\\\)]+) Build","model":"Hollogram $1"}]},"AGM":{"regex":"AGM ([^/;\\\\)]+)(?: Build|\\\\))","device":"smartphone","models":[{"regex":"AGM ([^/;\\\\)]+)(?: Build|\\\\))","model":"$1"}]},"Airness":{"regex":"AIRNESS-([\\\\w]+)","device":"feature phone","model":"$1"},"Aiwa":{"regex":"AW790|M300","device":"smartphone","models":[{"regex":"AW790","model":"AW790"},{"regex":"M300","model":"M300","device":"phablet"}]},"Akai":{"regex":"Akai[ _-]|Eco[ _]E2|Glory[ _](?:G[1235]|L[123]|O[125])|TAB-[79]8[03]0Q?|X6 METAL|AKTB-703MZ","device":"smartphone","models":[{"regex":"TAB-([79]8[03]0Q?)","device":"tablet","model":"TAB $1"},{"regex":"(AKTB-703MZ)","device":"tablet","model":"$1"},{"regex":"X6 METAL","model":"iLike"},{"regex":"Glory[ _](G[1235]|L[123]|O[125])","model":"Glory $1"},{"regex":"Eco[ _]E2","model":"Eco E2"},{"regex":"Akai[ _-]([^;/]+) Build","model":"$1"},{"regex":"Akai[ _-]([^;/]+)[;/)]","model":"$1"}]},"Arian Space":{"regex":"Arian Space","device":"tablet","models":[{"regex":"100 ST1004PG","model":"100"},{"regex":"80 SS8003PG","model":"80"},{"regex":"71 ST7002PG","model":"71"},{"regex":"70 ST7001RW","model":"70"}]},"Alcatel":{"regex":"Alcatel|Alc(?!or )[a-z0-9]+|One[ _]?Touch|idol3|(?: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[ADEFGX]|4035[ADXY]|4045[ADEX]|4047[ADFGNX]|4049[DEGMX]|4060[SW]|4114E|5009[AD]|5010[DEGSUX]|5011A|5012[DFG]|5015[ADEX]|5016[AXJ]|5017[ABDEOX]|5019D|5022[EDX]|5023[EF]|5024A|5025[DEG]|5026[AD]|5027B|5033[AX]|5033D[ _]RU|5034D|5038[ADEX]|5041C|5042[ADEFGWX]|5044[ADGIKOPSTY]|5045[ADFGIJTXY]|5046[ADGIJSTUY]|5047[DIUY]|5049[EGSWZ]|5050[ASXY]|5051[ADEJMTWX]|5052[AD]|5054[ADNSTWX]|5056[ADEGIJMNTUWX]|5057M|5058[AIY]|5059[ADXYZ]|5065[ADNWX]|5070D|5080[ADFQUX]|5085[ABCDGHIJNOQY]|5086[ADY]|5090[AIY]|5095[IKY]|5098[OS]|5099[ADYUI]|5116J|5145A|6016[ADEX]|6036[AXY]|6037[BKY]|6039[AHJKY]|6043[AD]|6044D|6045[BFIKOY]|6050[AFY]|6055[ABDHIKPUYZ]|6058[ADX]|6060S|6062W|6070K|7040[ADEFKRT]|7041[DX]|7043[AEKY]|7044[AX]|7045Y|7048[ASWX]|7055A|7070X|8030Y|8050[DEGX]|8063|9001[DIX]|9002X|9003[AX]|9024O|9005X|9007[ATX]|9008[ADIJNTUX]|9010X|9022X|9203A|A570BL|I213|I216X)[);/ ]|TIMXL","device":"smartphone","models":[{"regex":"(?:5022[EDX]|5070D)[);/ ]","model":"One Touch Pop Star"},{"regex":"6044D[);/ ]","model":"One Touch Pop Up"},{"regex":"(?:4015[ATX]|4016A)[);/ ]","model":"One Touch Pop C1"},{"regex":"(?:4015[DN]|4016[DX])[);/ ]","model":"One Touch Pop C1 Dual SIM"},{"regex":"4032[AX][);/ ]","model":"One Touch Pop C2"},{"regex":"4032[DE][);/ ]","model":"One Touch Pop C2 Dual SIM"},{"regex":"(?:7040[AFK]|7041X)[);/ ]","model":"One Touch Pop C7"},{"regex":"(?:7040[DE]|7041D)[);/ ]","model":"One Touch Pop C7 Dual SIM"},{"regex":"4018[ADEFMX][);/ ]","model":"One Touch Pop D1"},{"regex":"4035[ADXY][);/ ]","model":"One Touch Pop D3"},{"regex":"5038[ADEX][);/ ]","model":"One Touch Pop D5"},{"regex":"4045[AX][);/ ]","model":"One Touch Pop 2 4\\""},{"regex":"4045[DE][);/ ]","model":"One Touch Pop 2 4\\" Dual SIM"},{"regex":"5042[AFGWX][);/ ]","model":"One Touch Pop 2 4.5\\""},{"regex":"5042[DE][);/ ]","model":"One Touch Pop 2 4.5\\" Dual SIM"},{"regex":"(?:7043[AY]|7044[AX])[);/ ]","model":"One Touch Pop 2 5\\""},{"regex":"7043[EK][);/ ]","model":"One Touch Pop 2 5\\" Dual SIM"},{"regex":"50[16]5X[);/ ]","model":"One Touch Pop 3"},{"regex":"(?:5015[AE]|5016[AJ]|5065[ADWX]|5116J)[);/ ]","model":"One Touch Pop 3 5\\""},{"regex":"(?:5025[DEG]|5054[ADSTX])[);/ ]","model":"One Touch Pop 3 5.5\\""},{"regex":"5015D[);/ ]","model":"One Touch Pop 3 Dual SIM"},{"regex":"5051[AEJMTWX][);/ ]","model":"One Touch Pop 4"},{"regex":"5051D[);/ ]","model":"One Touch Pop 4 Dual SIM"},{"regex":"5033D[ _]RU","model":"One Touch 5033D"},{"regex":"5095[IKY][);/ ]","model":"One Touch Pop 4S"},{"regex":"5056[ADEGJMTUX][);/ ]","model":"One Touch Pop 4+"},{"regex":"7070X[);/ ]","model":"One Touch Pop 4 6\\""},{"regex":"5057M[);/ ]","model":"One Touch Pop Mirage"},{"regex":"5050[ASXY][);/ ]","model":"One Touch Pop S3"},{"regex":"7045Y[);/ ]","model":"One Touch Pop S7"},{"regex":"6037[BKY][);/ ]","model":"One Touch Idol 2"},{"regex":"5027B[);/ ]","model":"One Touch Dawn"},{"regex":"5024A[);/ ]","model":"1S"},{"regex":"5034D[);/ ]","model":"3L"},{"regex":"7040[RT][);/ ]","model":"One Touch Fierce 2"},{"regex":"5056[NW]","model":"One Touch Fierce 4"},{"regex":"5054[NW]","model":"One Touch Fierce XL"},{"regex":"6016[AX][);/ ]","model":"One Touch Idol 2 mini"},{"regex":"6016[DE][);/ ]","model":"One Touch Idol 2 mini Dual SIM"},{"regex":"6036[AXY][);/ ]","model":"One Touch Idol 2 mini S"},{"regex":"6050[AFY][);/ ]","model":"One Touch Idol 2S"},{"regex":"6039[AHJKY][);/ ]|idol3","model":"One Touch Idol 3"},{"regex":"6045[BFIKOY][);/ ]","model":"One Touch Idol 3 5.5\\""},{"regex":"6055[ABDHIKPUYZ][);/ ]","model":"One Touch Idol 4"},{"regex":"6070K[);/ ]","model":"One Touch Idol 4S"},{"regex":"6058[ADX][);/ ]","model":"One Touch Idol 5"},{"regex":"6060S[);/ ]","model":"One Touch Idol 5S"},{"regex":"6043[AD][);/ ]","model":"One Touch Idol X+"},{"regex":"8030Y[);/ ]","model":"One Touch Hero 2"},{"regex":"7055A[);/ ]","model":"One Touch Hero 2C"},{"regex":"5065N[);/ ]","model":"TRU"},{"regex":"5056I","model":"One Touch Optus X Smart"},{"regex":"A570BL","model":"One Touch Pixi Avion LTE"},{"regex":"4024[DEX][);/ ]","model":"One Touch Pixi First"},{"regex":"4014D[);/ ]","model":"One Touch Pixi 2"},{"regex":"4009[AFIKMSX][);/ ]","model":"One Touch Pixi 3 3.5\\""},{"regex":"4009[DE][);/ ]","model":"One Touch Pixi 3 3.5\\" Dual SIM"},{"regex":"(?:4003[AJ]|4013[DEJKMX]|4014[AEKMX]|4114E)[);/ ]","model":"One Touch Pixi 3 4\\""},{"regex":"(?:4027[ADNX]|4028[AEJS]|5019D)[);/ ]","model":"One Touch Pixi 3 4.5\\""},{"regex":"5017[ABDEOX][);/ ]","model":"One Touch Pixi 3 4.5\\" 4G"},{"regex":"9002X[);/ ]","model":"One Touch Pixi 3 7\\"","device":"phablet"},{"regex":"9007A[);/ ]","model":"One Touch Pixi 3 7\\"","device":"tablet"},{"regex":"9007[TX][);/ ]","model":"One Touch Pixi 3 7\\" 4G","device":"tablet"},{"regex":"9022X[);/ ]","model":"One Touch Pixi 3 8\\"","device":"phablet"},{"regex":"9010X[);/ ]","model":"One Touch Pixi 3 10\\"","device":"tablet"},{"regex":"4017[ADEFSX][);/ ]","model":"One Touch Pixi 4 3.5\\""},{"regex":"4034[ADEFGX][);/ ]","model":"One Touch Pixi 4 4\\""},{"regex":"4060[SW][);/ ]","model":"One Touch Pixi 4 4.5\\""},{"regex":"5023[EF][);/ ]","model":"One Touch Pixi 4 Plus Power"},{"regex":"5010[DEGSUX][);/ ]","model":"One Touch Pixi 4 5\\" 3G"},{"regex":"5012[DFG][);/ ]","model":"One Touch Pixi 4 5.5\\" 3G"},{"regex":"(?:5045[ADFGIJTXY]|5145A)[);/ ]","model":"One Touch Pixi 4 5\\" 4G"},{"regex":"5098O[);/ ]","model":"One Touch Pixi Theatre"},{"regex":"5046[ADIJTUY][);/ ]","model":"A3"},{"regex":"(?:5011A|5049[EG])[);/ ]","model":"A3 Plus"},{"regex":"9008[ADIJNTUX]","model":"A3 XL"},{"regex":"9203A[);/ ]","model":"A3 7\\" 3G","device":"tablet"},{"regex":"5085[BQ][);/ ]","model":"A5"},{"regex":"5085[ADHIJY][);/ ]","model":"A5 LED"},{"regex":"5085N[);/ ]","model":"A5 Max LED"},{"regex":"5090[AIY][);/ ]","model":"A7"},{"regex":"5046[GS][);/ ]","model":"A30"},{"regex":"5049S[);/ ]","model":"A30 Plus"},{"regex":"5049Z[);/ ]","model":"A30 Fierce"},{"regex":"5085[GO]","model":"A50"},{"regex":"5049W[);/ ]","model":"Revvl"},{"regex":"8050[GX][);/ ]","model":"One Touch Pixi 4 6\\" 3G"},{"regex":"8050[ED][);/ ]","model":"One Touch Pixi 4 6\\" 3G Dual SIM"},{"regex":"(?:5098S|9001[DIX])[);/ ]","model":"One Touch Pixi 4 6\\" 4G"},{"regex":"9003[AX][);/ ]","model":"One Touch Pixi 4 7\\" 3G","device":"tablet"},{"regex":"8063[);/ ]","model":"One Touch Pixi 4 7\\" WiFi","device":"tablet"},{"regex":"9024O[);/ ]","model":"One Touch Pixi 5","device":"tablet"},{"regex":"I216X[);/ ]","model":"One Touch Pixi 7","device":"tablet"},{"regex":"I213[);/ ]","model":"One Touch Pixi 7","device":"tablet"},{"regex":"9005X[);/ ]","model":"One Touch Pixi 8","device":"tablet"},{"regex":"P320X","model":"One Touch POP 8","device":"tablet"},{"regex":"P310X","model":"One Touch POP 7","device":"tablet"},{"regex":"7048[ASWX][);/ ]","model":"One Touch Go Play"},{"regex":"(?:Alcatel-)?OT-802[);/ ]","model":"Wave"},{"regex":"ALCATEL_ONE_TOUCH_768T[);/ ]","model":"Island"},{"regex":"(?:TRIBE_)?3075A[);/ ]","model":"One Touch Tribe"},{"regex":"ALCATEL_one_touch_585[);/ ]","model":"One Touch 585"},{"regex":"ALCATEL_ONE_TOUCH_838[);/ ]","model":"One Touch 838"},{"regex":"ALCATEL_one_touch_813d[);/ ]","model":"One Touch 813D"},{"regex":"ALCATEL_one_touch_813[);/ ]","model":"One Touch 813"},{"regex":"OT871A","model":"One Touch 871A"},{"regex":"(?:Alcatel[ _])?One[ _]?Touch[ _]((?:T[0-9]+|TAB[^/;]+|EVO[78](?:HD)?)) Build","device":"tablet","model":"One Touch $1"},{"regex":"(?:Alcatel[ _])?One[ _]?Touch([^/;]*) Build","model":"One Touch$1"},{"regex":"(?:Alcatel[ _])?One[ _]?Touch([^/;\\\\)]*)\\\\)","model":"One Touch$1"},{"regex":"5080[ADFQUX][);/ ]","model":"Shine Lite"},{"regex":"TIMXL","model":"TIM XL"},{"regex":"5085C","model":"PulseMix"},{"regex":"4049[DEGMX][);/ ]","model":"U3"},{"regex":"5044[ADIKOPTY][);/ ]","model":"U5"},{"regex":"4047[DFXN][);/ ]","model":"U5 3G"},{"regex":"5047[DIUY][);/ ]","model":"U5 HD"},{"regex":"4047G[);/ ]","model":"U5 Lite"},{"regex":"4047A[);/ ]","model":"U5 Plus"},{"regex":"4044[CV][);/ ]","model":"Quick Flip"},{"regex":"4044O[);/ ]","model":"Cingular Flip 2"},{"regex":"4044[MNT][);/ ]","model":"Go Flip"},{"regex":"5044[GS][);/ ]","model":"U50"},{"regex":"5033[AX][);/ ]","model":"1"},{"regex":"5009[AD][);/ ]","model":"1C"},{"regex":"5059[ADXYZ][);/ ]","model":"1X"},{"regex":"5052[AD][);/ ]","model":"3"},{"regex":"5099[ADYUI][);/ ]","model":"3V"},{"regex":"5026[AD][);/ ]","model":"3C"},{"regex":"5058[AIY][);/ ]","model":"3X"},{"regex":"5086[ADY][);/ ]","model":"5"},{"regex":"6062W[);/ ]","model":"7"},{"regex":"Alcatel UP","model":""},{"regex":"(?:ALCATEL_)?A383G[);/ ]","model":"Big Easy Plus"},{"regex":"5041C","model":"TETRA"},{"regex":"ALCATEL([^/;]+) Build","model":"$1"},{"regex":"ALCATEL[ \\\\-]?([^/;\\\\)]+)","model":"$1"},{"regex":"ALCATEL_([^/;\\\\)]+)","model":"$1"},{"regex":"Alc([a-z0-9]+)","model":"$1"}]},"Allview":{"regex":"Allview|A4You|A5_(?:Easy(?:_TM)?|Ready(?:_TM)?|Quad|Quad_Plus_TM)|A[56789]_Lite|A5Smiley|A6_Duo|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_Style|7_Xtreme|6_Qmax|4_Quad)|V(?:[13]_Viper|1_Viper_I|2_Viper_(?:E|I|S|X|X_plus|Xe))|X(?:[1234]_Soul_Xtreme|[12345]_Soul|3_Soul_Lite|[24]Soul_Mini(?:_TM)?|4_Soul_Mini_S(?:_TM)?|[234]_Soul_Style(?:_TM)?|2_Soul_Style_Plus|2_Twin)|Viva_H801","device":"smartphone","models":[{"regex":"A4You","model":"A4 You"},{"regex":"AX2_Frenzy","model":"AX2 Frenzy","device":"tablet"},{"regex":"AX4Nano","model":"AX4 Nano"},{"regex":"AX5NanoQ","model":"AX5 Nano Q","device":"tablet"},{"regex":"C6_Duo","model":"C6 Duo"},{"regex":"E([23])_Living","model":"E$1 Living"},{"regex":"E3_Jump","model":"E3 Jump"},{"regex":"E3_Sign","model":"E3 Sign"},{"regex":"E4_Lite","model":"E4 Lite"},{"regex":"M9_Connect","model":"M9 Connect"},{"regex":"P43_Easy","model":"P43 Easy"},{"regex":"P(41|[458])_eMagic(?:_TM)?","model":"P$1 eMagic"},{"regex":"P([567])_Lite(?:_TM)?","model":"P$1 Lite"},{"regex":"P6_plus","model":"P6 Plus"},{"regex":"P6_Qmax","model":"P6 Qmax"},{"regex":"P([45678])_Pro","model":"P$1 Pro"},{"regex":"P4_Quad","model":"P4 Quad"},{"regex":"P9_Energy_Lite_2017","model":"P9 Energy Lite (2017)"},{"regex":"P9_Energy_S","model":"P9 Energy S"},{"regex":"P([69])_Energy_Lite","model":"P$1 Energy Lite"},{"regex":"P8_Energy_PRO","model":"P8 Energy Pro"},{"regex":"P([689])_Energy_mini(?:_TM)?","model":"P$1 Energy Mini"},{"regex":"P([5689])_Energy","model":"P$1 Energy"},{"regex":"P7_Seon","model":"P7 Seon"},{"regex":"P7_Xtreme","model":"P7 Xtreme"},{"regex":"P([589])(?:_)?Life(?:_TM)?","model":"P$1 Life"},{"regex":"P10_Style","model":"P10 Style"},{"regex":"V([12])_Viper_I4G(?:_TM)?","model":"V$1 Viper I 4G"},{"regex":"V1_Viper_I","model":"V1 Viper I"},{"regex":"V([13])_Viper","model":"V$1 Viper"},{"regex":"V2_Viper_X_plus","model":"V2 Viper X Plus"},{"regex":"V2_Viper_(E|I|S|X(?:e)?)","model":"V2 Viper $1"},{"regex":"X([124])_Soul_Xtreme","model":"X$1 Soul Xtreme"},{"regex":"X4_Soul_Infinity_(L|N|S|Z)","model":"X4 Soul Infinity $1"},{"regex":"X([34])_Soul_Lite","model":"X$1 Soul Lite"},{"regex":"X4_Soul_Mini_S(?:_TM)?","model":"X4 Soul Mini S"},{"regex":"X([2345])_Soul_Mini(?:_TM)?","model":"X$1 Soul Mini"},{"regex":"X3_Soul_PLUS","model":"X3 Soul Plus"},{"regex":"X([35])_Soul_Pro","model":"X$1 Soul Pro"},{"regex":"X2_Soul_Style_Plus","model":"X2 Soul Style Plus"},{"regex":"X([234])_Soul_Style(?:_TM)?","model":"X$1 Soul Style"},{"regex":"X([12345])_Soul","model":"X$1 Soul"},{"regex":"X2_Twin","model":"X2 Twin"},{"regex":"A5_Easy(?:_TM)?","model":"A5 Easy"},{"regex":"A([56789])_Lite","model":"A$1 Lite"},{"regex":"A5_Ready(?:_TM)?","model":"A5 Ready"},{"regex":"A5Smiley","model":"A5 Smiley"},{"regex":"A5_Quad_Plus_TM","model":"A5 Quad Plus"},{"regex":"A5_Quad","model":"A5 Quad"},{"regex":"A6_Duo","model":"A6 Duo"},{"regex":"Impera S","model":"Impera S"},{"regex":"ALLVIEW P4i","model":"AllDro P4"},{"regex":"Allview_P2","model":"AllDro"},{"regex":"AllviewCityPlus","device":"tablet","model":"City Plus"},{"regex":"AllviewCity","device":"tablet","model":"City"},{"regex":"AllviewAX2Frenzy","device":"tablet","model":"AX2 Frenzy"},{"regex":"Allview2SpeedDuo","device":"tablet","model":"Alldro 2 Speed Duo"},{"regex":"Allview3SpeedQuad","device":"tablet","model":"Alldro 3 Speed Quad"},{"regex":"Viva_H801","device":"tablet","model":"Viva H801"},{"regex":"ALLVIEW ?SPEEDI","device":"tablet","model":"Speed I"},{"regex":"ALLVIEW ?SPEED","device":"tablet","model":"Speed"},{"regex":"ALLVIEWSPEED","device":"tablet","model":"Speed"},{"regex":"AX4Nano","device":"tablet","model":"AX4 Nano"},{"regex":"ALLVIEW_TX1_Quasar","device":"tablet","model":"TX1 Quasar"},{"regex":"Allview[ _-]([^;/]+) Build","model":"$1"},{"regex":"Allview[ _-]([^;/]+)[;/)]","model":"$1"}]},"Allwinner":{"regex":"QUAD-CORE A64 p3","device":"tablet","model":"A64 QUAD-CORE p3"},"altron":{"regex":"AL-555|GI-626","device":"smartphone","models":[{"regex":"AL-555","model":"AL-555"},{"regex":"GI-626","device":"phablet","model":"GI-626"}]},"AMGOO":{"regex":"AM(350|355|40[257]|41[05]|450|50[89]|52[037]|51[58]|53[05])","device":"smartphone","models":[{"regex":"AM350","model":"Jack Pro"},{"regex":"AM(355|407)","model":"Tigo"},{"regex":"AM402","model":"Pronto"},{"regex":"AM410","model":"Unico"},{"regex":"AM450","model":"Swift"},{"regex":"AM508","model":"Fuego"},{"regex":"AM509","model":"Uno"},{"regex":"AM515","model":"D1"},{"regex":"AM518","model":"C1"},{"regex":"AM520","model":"Pro"},{"regex":"AM523","model":"Plus"},{"regex":"AM527","model":"Geo"},{"regex":"AM530","model":"A1"},{"regex":"AM535","model":"P1"},{"regex":"AM([0-9]{3})","model":"AM$1"}]},"Amoi":{"regex":"Amoi|A862W","device":"smartphone","models":[{"regex":"A862W","model":"A862W"},{"regex":"Amoi[\\\\- /]([a-z0-9]+)","model":"$1"},{"regex":"Amoisonic-([a-z0-9]+)","model":"$1"}]},"Ainol":{"regex":"Numy|novo[0-9]","device":"tablet","models":[{"regex":"Numy 3G AX1","model":"Novo 7 Numy AX1 3G"},{"regex":"Numy_3G_AX3","model":"Numy AX3 Sword"},{"regex":"Numy_3G_BW1","model":"Numy 3G Talos 2"},{"regex":"Numy[ _]([^;/]+) Build","model":"Numy $1"},{"regex":"Novo([0-9]+)[ \\\\-]([^;/]+) Build","model":"Novo $1 $2"}]},"Archos":{"regex":"(?:YL-)?Archos","device":"smartphone","models":[{"regex":"Archos (Oxygen 63)[);/ ]","model":"$1"},{"regex":"Archos ?5[);/ ]","device":"tablet","model":"5"},{"regex":"(?:YL-)?Archos ([^/;]*(?:PAD)[^/;]*) Build","device":"tablet","model":"$1"},{"regex":"Archos ((?:[789]|10)[0-9]?[a-z]* ?(?:G9|G10|Helium|Titanium|Cobalt|Platinum|Xenon|Carbon|Neon|XS|IT)[^/;]*) Build","device":"tablet","model":"$1"},{"regex":"(?:YL-)?Archos ([a-z0-9 ]+) Build","model":"$1"},{"regex":"(?:YL-)?Archos ([a-z0-9]+)","model":"$1"}]},"Axxion":{"regex":"Axxion ATAB-[0-9]+[);/ ]","device":"tablet","models":[{"regex":"Axxion ATAB-([0-9]+)[);/ ]","model":"ATAB-$1"}]},"MEU":{"regex":"MEU ([a-z0-9]+) Build","device":"smartphone","model":"$1"},"Arnova":{"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","device":"tablet","models":[{"regex":"ARCHM901","model":"M901"},{"regex":"AN7CG2","model":"7c G2"},{"regex":"AN7G2I|AN7G2|AN7G2DTE","model":"7 G2"},{"regex":"AN7G3","model":"7 G3"},{"regex":"AN7BG3","model":"7b G3"},{"regex":"AN7CG3","model":"7c G3"},{"regex":"AN7DG3-CP","model":"Childpad"},{"regex":"AN7DG3","model":"7d G3"},{"regex":"AN7FG3","model":"7f G3"},{"regex":"AN7HG3","model":"7h G3"},{"regex":"A80KSC","model":"8"},{"regex":"AN8G2","model":"8 G2"},{"regex":"AN8G3","model":"8 G3"},{"regex":"AN8BG3","model":"8b G3"},{"regex":"AN8CG3","model":"8c G3"},{"regex":"AN9G2I","model":"9i G2"},{"regex":"AN9G2","model":"9 G2"},{"regex":"AN9G3","model":"9 G3"},{"regex":"A101B2|A101C|AN10G2","model":"10 G2"},{"regex":"A101B","model":"10"},{"regex":"AN10BG2|AN10BG2DT|AN10BG2I","model":"10b G2"},{"regex":"AN10BG3|AN10BG3DT|AN10BG3-LZ","model":"10b G3"},{"regex":"AN10CG3","model":"10c G3"},{"regex":"AN10DG3","model":"10d G3"},{"regex":"ARNOVA 90G3","model":"90 G3"},{"regex":"ARNOVA 90 G4","model":"90 G4"},{"regex":"ARNOVA 97G4","model":"97 G4"},{"regex":"ARNOVA 101 G4","model":"101 G4"},{"regex":"Arnova ([^/;]*) Build","model":"$1"}]},"ARRIS":{"regex":"ARRIS","device":"tv","models":[{"regex":"ARRIS[,;] ([^),;/]+)","model":"$1"}]},"Ask":{"regex":"ASK ","device":"smartphone","models":[{"regex":"SP618","model":"SP618"}]},"ANS":{"regex":"UL40 Build","device":"smartphone","model":"UL40"},"Assistant":{"regex":"(AS[-_](?:543[1-6]|44[12]1|541[12]|54[23]1|6431|401L)|AP-(?:721N|7[25]7G|106|941))[;/)_ ]","device":"smartphone","models":[{"regex":"AS[-_]401L ","model":"Asper"},{"regex":"AS-5432 ","model":"Agio"},{"regex":"AS-5433 Secret","model":"Secret"},{"regex":"AS-5433 ","model":"Max Secret"},{"regex":"AS-5421","model":"Surf"},{"regex":"AS-44[12]1","model":"Unami"},{"regex":"AS-5431","model":"Prima"},{"regex":"AS-5435","model":"Shine"},{"regex":"AS-5436[ _]","model":"Grid"},{"regex":"AS-6431","model":"Rider"},{"regex":"AS-5411[_ ]","model":"Max Ritm"},{"regex":"AS-5412 Max","model":"AS-5412 Max"},{"regex":"AP-721N","model":"AP-721N Force","device":"tablet"},{"regex":"AP-941","model":"AP-941","device":"tablet"},{"regex":"AP-106","model":"AP-106 Force","device":"tablet"},{"regex":"(AP-7[25]7G)[/;) ]","device":"tablet","model":"$1"}]},"Ark":{"regex":"(ARK[_ -])?Benefit[_ -]([^/;]*) Build|EDGE A5HD|ICON (R40\\\\+|R45)|Impulse[ _](P[12])|Wizard_1[/;) ]","device":"smartphone","models":[{"regex":"(?:ARK[_ -])?Benefit[_ -]([^/;]*) Build","model":"Benefit $1"},{"regex":"Impulse[ _]P1\\\\+","model":"Impulse P1 Plus"},{"regex":"Impulse[ _](P[12])","model":"Impulse $1"},{"regex":"EDGE (A5HD)","model":"Edge $1"},{"regex":"ICON (R40\\\\+|R45)","model":"Icon $1"},{"regex":"Wizard_1","model":"Wizard 1"}]},"Garmin-Asus":{"regex":"Garmin-Asus|Garminfone","device":"smartphone","models":[{"regex":"Garminfone[ \\\\-_]([^;/]*)Build","model":"Garminfone $1"},{"regex":"Garmin-Asus[ \\\\-_]([^;/]+)Build","model":"$1"},{"regex":"Garmin-Asus[ \\\\-_]([^;/]+)[\\\\)/]","model":"$1"}]},"Asus":{"regex":"Asus|Transformer|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)[);/ ]|ZB(631|602|633|55[135]|50[01])KL|ZC(55[134]|520|600)KL|ZA550KL|ZE(520|620|55[2345])KL|ZD55[23]KL|ZS6[23]0KL|ZB(500KG|601KL)","device":"smartphone","models":[{"regex":"ME171[);/ ]","model":"Eee Pad MeMO 171","device":"tablet"},{"regex":"ME172V","model":"MeMO Pad","device":"tablet"},{"regex":"ME302C[);/ ]","model":"MeMO Pad FHD 10","device":"tablet"},{"regex":"ME302KL[);/ ]","model":"MeMO Pad FHD 10 LTE","device":"tablet"},{"regex":"ME301T[);/ ]","model":"MeMO Pad Smart 10","device":"tablet"},{"regex":"X Pad 10 LTE[);/ ]","model":"X Pad 10 LTE","device":"tablet"},{"regex":"(?:K01[3A]|K007|K00R)[);/ ]|MeMO Pad 7","model":"MeMO Pad 7","device":"tablet"},{"regex":"K01E[);/ ]","model":"MeMO Pad 10 ME103K","device":"tablet"},{"regex":"K00U|ME173X[);/ ]","model":"MeMO Pad HD 7","device":"tablet"},{"regex":"(?:K011|K00L)[);/ ]","model":"MeMO Pad 8","device":"tablet"},{"regex":"K014[);/ ]","model":"MeMO Pad 8.9","device":"tablet"},{"regex":"K00S[);/ ]","model":"MeMO Pad HD 7 Dual SIM","device":"tablet"},{"regex":"K00F[);/ ]","model":"MeMO Pad 10","device":"tablet"},{"regex":"K00C[);/ ]","model":"Transformer Pad TF701T","device":"tablet"},{"regex":"K010[);/ ]","model":"Transformer Pad TF103C","device":"tablet"},{"regex":"K018[);/ ]","model":"Transformer Pad TF103CG","device":"tablet"},{"regex":"TF300T[);/ ]","model":"Transformer Pad TF300T","device":"tablet"},{"regex":"K01B[);/ ]","model":"Transformer Pad TF303K","device":"tablet"},{"regex":"Slider SL101","model":"Eee Pad Slider SL101","device":"tablet"},{"regex":"P01[YZ]","model":"ZenPad C 7.0","device":"tablet"},{"regex":"P008 Build","model":"ZenPad Z8","device":"tablet"},{"regex":"P001","model":"ZenPad Z10","device":"tablet"},{"regex":"(?:ASUS_)?P00J","model":"ZenPad Z8s","device":"tablet"},{"regex":"P01[VW]","model":"ZenPad 7.0","device":"tablet"},{"regex":"P024 Build|P00A","model":"ZenPad 8.0","device":"tablet"},{"regex":"P01MA(?: Build|\\\\))|P01M(?: Build|\\\\))","model":"ZenPad S 8.0","device":"tablet"},{"regex":"P027","model":"ZenPad 3S 10","device":"tablet"},{"regex":"(?:ASUS_)?P00I","model":"ZenPad 3S 10 LTE","device":"tablet"},{"regex":"(?:ASUS_)?P00C|P02[138]|P00L|P01T_1","model":"ZenPad 10","device":"tablet"},{"regex":"ME371MG[);/ ]","model":"Fonepad","device":"phablet"},{"regex":"K00G[);/ ]","model":"Fonepad Note 6","device":"phablet"},{"regex":"(?:K012|K00E)[);/ ]","model":"Fonepad 7","device":"phablet"},{"regex":"K00Z[);/ ]","model":"Fonepad 7 Dual SIM","device":"phablet"},{"regex":"K016[);/ ]","model":"Fonepad 8","device":"phablet"},{"regex":"(?:ASUS_)?T00N","model":"PadFone S"},{"regex":"(?:ASUS_)?A002(A)?","model":"ZenFone AR"},{"regex":"(?:ASUS_)?A006","model":"ZenFone V"},{"regex":"(?:ASUS_)?A009","model":"ZenFone V Live"},{"regex":"(?:ASUS_)?Z007","model":"ZenFone C"},{"regex":"(?:ASUS_)?(X00PD|ZB555KL)","model":"ZenFone Max M1"},{"regex":"(?:ASUS_)?(ZB601KL)","model":"ZenFone Max Pro M1"},{"regex":"(?:ASUS_)?(X01AD|ZB633KL)","model":"ZenFone Max M2"},{"regex":"(?:ASUS_)?(?:Z00[AD]|Z008D|Z008|Z00AD[AB]?)","model":"ZenFone 2"},{"regex":"(?:ASUS_)?A007|ZA550KL|ZB553KL|ZB501KL","model":"ZenFone Live"},{"regex":"(?:ASUS_)?X00RD","model":"ZenFone Live L1"},{"regex":"(?:ASUS_)Z00YD","model":"Live"},{"regex":"(?:ASUS_)?(?:Z00[ERLMT]D|Z011D)","model":"ZenFone 2 Laser"},{"regex":"(?:ASUS_)?(?:T00[IQ1]|Z01KD)","model":"ZenFone 4"},{"regex":"(?:ASUS_)?(?:T00[JF]|X00QD|X00QSA|ZE620KL)","model":"ZenFone 5"},{"regex":"(?:ASUS_)?T00P","model":"ZenFone 5 LTE"},{"regex":"(?:ASUS_)?(?:T00K|X017DA|X017D|ZC600KL)","model":"ZenFone 5 Lite"},{"regex":"(?:ASUS_)?(?:Z01RD|ZS620KL)","model":"ZenFone 5Z"},{"regex":"(?:ASUS_)?(?:T00G|Z002|ZS630KL)","model":"ZenFone 6"},{"regex":"(?:ASUS_)?Z010D","model":"ZenFone Max"},{"regex":"(?:ASUS_)?X018D","model":"ZenFone Max Plus M1"},{"regex":"(?:ASUS_)?X00TD","model":"ZenFone Max Pro M1"},{"regex":"(?:ASUS_)?X01BDA|ZB631KL","model":"ZenFone Max Pro M2"},{"regex":"(?:ASUS_)?X014D","model":"ZenFone Go Plus"},{"regex":"(?:ASUS_)?(L001|X00[7AB]D|X009[DB][DA]|Z00[SV]D|ZB500K[LG]|ZB551KL)","model":"ZenFone Go"},{"regex":"(?:ASUS_)?X013D","model":"ZenFone Go Life"},{"regex":"(?:ASUS_)?(X003)","model":"ZenFone Pegasus"},{"regex":"(?:ASUS_)?X005","model":"ZenFone Pegasus 5000"},{"regex":"(?:ASUS_)?X550","model":"ZenFone Pegasus 2 Plus"},{"regex":"(?:ASUS_)?(X00GD)","model":"ZenFone Pegasus 3S Max"},{"regex":"(?:ASUS_)?(X008)","model":"ZenFone 3 Pegasus"},{"regex":"(?:ASUS_)?(ZE553KL|Z01HD)","model":"ZenFone 3 Zoom"},{"regex":"(?:ASUS_)?Z00UD","model":"ZenFone Selfie"},{"regex":"(?:ASUS_)?(Z016[DS]|Z01FD)","model":"ZenFone 3 Deluxe"},{"regex":"(?:ASUS_)?(Z017DA|ZE520KL|ZE552KL|Z017D|Z012(D|S))","model":"ZenFone 3"},{"regex":"(?:ASUS_)?Z01B[DS]|ZC551KL","model":"ZenFone 3 Laser"},{"regex":"(?:ASUS_)?X00DD|ZC553KL","model":"ZenFone 3 Max"},{"regex":"(?:ASUS_)?A001","model":"ZenFone 3 Ultra"},{"regex":"(?:ASUS_)?(X00LDA|Z01MD)","model":"ZenFone 4 Selfie"},{"regex":"(?:ASUS_)?(?:X00LD|Z01KS|Z01KDA|ZE554KL)","model":"ZenFone 4"},{"regex":"(?:ASUS_)?X00[HIK]D|ZC554KL|ZC520KL","model":"ZenFone 4 Max"},{"regex":"(?:ASUS_)?X015D","model":"ZenFone 4 Max Plus"},{"regex":"ZD552KL","model":"ZenFone 4 Selfie Pro"},{"regex":"ZD553KL","model":"ZenFone 4 Selfie"},{"regex":"(?:ASUS_)?Z01GD","model":"ZenFone 4 Pro"},{"regex":"(?:ASUS_)?ZB602KL","model":"ZenFone Max Pro"},{"regex":"(?:ASUS_)?Z00XS","model":"ZenFone Zoom"},{"regex":"(?:ASUS_)?Z01QD","model":"ROG Phone"},{"regex":"(?:ASUS_)?I001DA","model":"ROG Phone 2"},{"regex":"Asus(?:-|;)?([a-z0-9]+)","model":"$1"},{"regex":"(PadFone(?: [^;/]+)?) Build","model":"$1"},{"regex":"(PadFone(?: [a-z0-9]+)?)","model":"$1"},{"regex":"(?:Asus|Transformer) ((?:Pad |Prime )?TF[0-9a-z]+)","device":"tablet","model":"Transformer $1"},{"regex":"Chromebook Flip C100PA","device":"tablet","model":"Chromebook Flip C100PA"}]},"Audiovox":{"regex":"Audiovox|CDM|UTS(?:TARCOM)?\\\\-|audio[a-z0-9\\\\-]+","device":"smartphone","models":[{"regex":"Audiovox[_\\\\-]([a-z0-9\\\\-]+)","model":"$1"},{"regex":"CDM(?:-)?([a-z0-9]+)","model":"CDM-$1"},{"regex":"UTS(?:TARCOM)?-([a-z0-9\\\\-]+)","model":"CDM-$1"},{"regex":"audio([a-z0-9\\\\-]+)","model":"CDM-$1"}]},"AVH":{"regex":"Excer_10_PRO","device":"smartphone","models":[{"regex":"Excer_10_PRO","device":"tablet","model":"Excer 10 Pro"}]},"Avvio":{"regex":"Avvio[ _]?([a-z0-9\\\\-]+)","device":"smartphone","models":[{"regex":"Avvio[ _]PAD","model":"PAD","device":"tablet"},{"regex":"Avvio[ _]?([a-z0-9\\\\-]+)","model":"$1"}]},"Azumi Mobile":{"regex":"Azumi[_ ]","device":"smartphone","models":[{"regex":"Azumi[_ ]([^/;]+) Build","model":"$1"},{"regex":"Azumi[_ ]([a-z0-9_]+)","model":"$1"}]},"Barnes & Noble":{"regex":"Nook|BN[TR]V[0-9]+","device":"tablet","models":[{"regex":"Nook([a-z0-9]+)","model":"Nook $1"},{"regex":"Nook[ _]([^/;]+)[ _]Build","model":"Nook $1"},{"regex":"(BN[TR]V[0-9]+)","model":"Nook $1"}]},"BGH":{"regex":"(?!Positivo )BGH ([^/;\\\\)]+)(?: Build|\\\\))","device":"smartphone","models":[{"regex":"Y([17]00|2[01]0|1010)","device":"tablet","model":"Y$1"},{"regex":"BGH (\\\\+Simple|Mini)","device":"tablet","model":"$1"},{"regex":"Y710 KIDS","device":"tablet","model":"Y710 Kids"},{"regex":"JOY X2","model":"Joy X2"},{"regex":"BGH ([^/;\\\\)]+)(?: Build|\\\\))","model":"$1"}]},"Bitel":{"regex":"Bitel[ _-]([^/;]+) Build|B(840[5789]|841[0456]|850[2346]|860[146]|9401|950[12345])","device":"smartphone","models":[{"regex":"(B(840[5789]|841[0456]|850[2346]|860[146]|9401|950[12345]))","model":"$1"},{"regex":"Bitel[ _-]([^/;]+) Build","model":"$1"}]},"Blu":{"regex":"BLU |(?:blu|Dash)[ _]([^/;]+) Build|Studio (5.5|View XL|Mega|C 8\\\\+8|C HD|C|G|Selfie LTE|Touch|M HD|M5 Plus|J[1258]|X|X8 HD)|Advance (4.0 ?[LM]|5.0(?: HD)?|A4)|ENERGY (DIAMOND|XL)|LIFE XL|Dash XL|PURE XL|Life One X2|GRAND 5.5 HD|R1 (HD|PLUS)|Tank Xtreme 5.0|Tank Xtreme Pro","device":"smartphone","models":[{"regex":"Advance (4.0 ?[LM]|4.0|5.0(?: HD)?|A4)","model":"Advance $1"},{"regex":"Studio (5.0 C|5.5|View XL|Mega|C 8\\\\+8|C HD|C|G|Touch|M HD|M5 Plus|J[1258]|X|X8 HD)","model":"Studio $1"},{"regex":"STUDIO SELFIE LTE","model":"Studio Selfie LTE"},{"regex":"STUDIO ONE","model":"Studio One"},{"regex":"STUDIO SELFIE (2|LTE)","model":"Studio Selfie $1"},{"regex":"ENERGY DIAMOND","model":"Energy Diamond"},{"regex":"ENERGY XL","model":"Energy XL"},{"regex":"ENERGY X PLUS 2","model":"Energy X Plus 2"},{"regex":"ENERGY X PLUS","model":"Energy X Plus"},{"regex":"LIFE XL","model":"Life XL"},{"regex":"Dash XL","model":"Dash XL"},{"regex":"PURE XL","model":"Pure XL"},{"regex":"Life One X2","model":"Life One X2"},{"regex":"LIFE ONE","model":"Life One"},{"regex":"NEO X PLUS","model":"Neo X Plus"},{"regex":"NEO (XL|X)","model":"Neo $1"},{"regex":"GRAND 5.5 HD","model":"Grand 5.5 HD"},{"regex":"Grand X LTE","model":"Grand X LTE"},{"regex":"R1 HD","model":"R1 HD"},{"regex":"R1 PLUS","model":"R1 Plus"},{"regex":"Tank Xtreme 5.0","model":"Tank Xtreme 5.0"},{"regex":"Tank Xtreme Pro","model":"Tank Xtreme Pro"},{"regex":"VIVO AIR LTE","model":"Vivo Air LTE"},{"regex":"DASH[ _]([^/;]+) Build","model":"Dash $1"},{"regex":"DASH (5.0|L|M|X2|X)","model":"Dash $1"},{"regex":"blu[ _]([^/;]+) Build","model":"$1"}]},"Bluegood":{"regex":"BLUEGOOD","device":"smartphone","models":[{"regex":"V6","model":"V6"}]},"Blackview":{"regex":"(BV([2456789]000|(5[58]|9[56])00)(?:[ _](?:PRO))?|(P10000(?:[ _](?:PRO))?)|omega[ _]pro|Alife[ _][PS]1|Heatwave|DM550|BV9700Pro)","device":"smartphone","models":[{"regex":"(BV6000S)","model":"$1"},{"regex":"(BV9700)Pro","model":"$1 Pro"},{"regex":"BV9000Pro-F","model":"BV9000 Pro F"},{"regex":"(BV([48]000|9[56]00))Pro","model":"$1 Pro"},{"regex":"(BV([2456789]000|(5[58]|95)00)(?:[ _](?:PRO))?)","model":"$1"},{"regex":"(P10000(?:[ _](?:PRO))?)","model":"$1"},{"regex":"omega[ _]pro","model":"Omega Pro"},{"regex":"(Alife[ _][PS]1|DM550|Heatwave)","model":"$1"}]},"Bluboo":{"regex":"Bluboo|Xfire|Maya Build","device":"smartphone","models":[{"regex":"Maya Build","model":"Maya"},{"regex":"Xfire2","model":"Xfire 2"},{"regex":"Xfire","model":"Xfire"},{"regex":"Bluboo[ _-]?([^;/)]+) Build","model":"$1"},{"regex":"Bluboo[ _-]?([^;/)]+)","model":"$1"}]},"Black Fox":{"regex":"BMM[ _-]?((44[123]D|431D|533D|54[12]S|541[AB]|54[123]D|531[ABD]))[;/) ]","device":"smartphone","models":[{"regex":"BMM443D","model":"B7 Fox+"},{"regex":"BMM442D","model":"B7"},{"regex":"BMM531D","model":"B6"},{"regex":"BMM531A","model":"B5"},{"regex":"BMM541A","model":"B5+"},{"regex":"BMM543D","model":"B4"},{"regex":"BMM441D","model":"B4 Mini"},{"regex":"BMM541B","model":"B4 Mini NFC"},{"regex":"BMM531B","model":"B4 Mini (2019)"},{"regex":"BMM542D","model":"B3+"},{"regex":"BMM541D","model":"B3"},{"regex":"BMM[ _-]?(533D|431D|54[12]S)[;/) ]","model":"BMM $1"}]},"bogo":{"regex":"BO-(FRSP4|LFSPBS5)","device":"smartphone","models":[{"regex":"BO-(FRSP4|LFSPBS5)","model":"$1"}]},"Boway":{"regex":"(?:sprd-)?(BOWAY)","device":"smartphone","models":[{"regex":"BOWAY[ _-]([^/;]+)[ _]Build","model":"$1"},{"regex":"([^/;]+) Build/BOWAY","model":"$1"},{"regex":".*BOWAY[ _-]([^/;]+)/","model":"$1"}]},"Brondi":{"regex":"(?:CENTURION|GLADIATOR| GLORY|LUXURY|SENSUELLE|VICTORY)(?:[ _-]?[2-6])?[);/ ]|Surfing Tab","device":"smartphone","models":[{"regex":"CENTURION(?:[ _-]?([2-6]))?[);/ ]","model":"CENTURION $1"},{"regex":"GLADIATOR(?:[ _-]?([2-6]))?[);/ ]","model":"GLADIATOR $1"},{"regex":"GLORY(?:[ _-]?([2-6]))?[);/ ]","model":"GLORY $1"},{"regex":"LUXURY(?:[ _-]?([2-6]))?[);/ ]","model":"LUXURY $1"},{"regex":"SENSUELLE(?:[ _-]?([2-6]))?[);/ ]","model":"SENSUELLE $1"},{"regex":"VICTORY(?:[ _-]?([2-6]))?[);/ ]","model":"VICTORY $1"},{"regex":"Surfing Tab ([^;/]+) Build","model":"SURFING TAB $1","device":"tablet"},{"regex":"Surfing Tab ([^;/]+)[);/ ]","model":"SURFING TAB $1","device":"tablet"}]},"VGO TEL":{"regex":"Venture V8","device":"smartphone","models":[{"regex":"Venture V8","model":"Venture V8"}]},"Vivo":{"regex":"((?:VIV-|BBG-)?vivo)|V1813BA|V1818T|V1731CA|V1809T|V1813T|V1818A","device":"smartphone","models":[{"regex":"(?:VIV-|BBG-)?vivo[ _]1601 Build","model":"V5"},{"regex":"V1813BA","model":"Z3"},{"regex":"V1809T","model":"X23"},{"regex":"V1818T","model":"Y93"},{"regex":"V1813T","model":"Y97"},{"regex":"V1731CA","model":"Y73"},{"regex":"vivo 1816","model":"Y91i"},{"regex":"vivo 1817","model":"Y91"},{"regex":"V1818A","model":"Y93"},{"regex":"vivo 1812","model":"Y81i"},{"regex":"(?:VIV-|BBG-)?vivo[ _]([^/;]+) Build","model":"$1"},{"regex":"(?:VIV-|BBG-)?vivo[ _]([^);/]+)[);/]+","model":"$1"}]},"Vinsoc":{"regex":"(XA Pro) Build","device":"smartphone","model":"$1"},"Bird":{"regex":"BIRD[\\\\-. _]([^;/]+)","device":"feature phone","models":[{"regex":"BIRD[\\\\-. _]([^;/]+) Build","model":"$1"},{"regex":"BIRD[\\\\-. _]([^;/]+)","model":"$1"}]},"Becker":{"regex":"Becker-([a-z0-9]+)","device":"feature phone","model":"$1"},"Beeline":{"regex":"Beeline","device":"smartphone","models":[{"regex":"Beeline[_ ]Pro[_ ]([26])","model":"Pro $1"},{"regex":"Tab (Fast|Pro)","model":"Tab $1","device":"tablet"},{"regex":"Tab ([0-9])","model":"Tab $1","device":"tablet"},{"regex":"Tab","model":"Tab","device":"tablet"},{"regex":"E700","model":"E700"},{"regex":"Smart2","model":"Smart 2"},{"regex":"Smart ([0-9])","model":"Smart $1"},{"regex":"Smart Dual","model":"Smart Dual"}]},"Beetel":{"regex":"Beetel ([a-z0-9]+)","device":"feature phone","model":"$1"},"BenQ-Siemens":{"regex":"BENQ-SIEMENS - ([a-z0-9]+)","device":"feature phone","model":"$1"},"BenQ":{"regex":"BENQ(?:[ \\\\-])?([a-z0-9]+)","device":"feature phone","model":"$1"},"Blaupunkt":{"regex":"Blaupunkt|Atlantis[_ ](?:1001A|1010A|A10\\\\.G402)|Discovery[_ ](?:111C|1000C|1001A?)|Endeavour[_ ](?:785|101[GLM]|1000|1001|101[03]|1100)|Polaris[_ ]803","device":"tablet","models":[{"regex":"Discovery[_ ]111C","model":"Discovery 111C"},{"regex":"Discovery[_ ]1000C","model":"Discovery 1000C"},{"regex":"Discovery[_ ]1001A","model":"Discovery 1001A"},{"regex":"Discovery[_ ]1001","model":"Discovery 1001"},{"regex":"Endeavour[_ ](101[GLM]|785|100[01]|101[03]|1100)","model":"Endeavour $1"},{"regex":"Polaris[_ ](803)","model":"Polaris $1"},{"regex":"Atlantis[_ ](1001A|1010A|A10\\\\.G402)","model":"Atlantis $1"},{"regex":"Blaupunkt (SL 0[24]|SM 01)","device":"smartphone","model":"$1"}]},"Bmobile":{"regex":"Bmobile[_ ]|AX-?([1-9][0-9]{2,3}[eEO+]?|7OO)","device":"smartphone","models":[{"regex":"AX-?([1-9][0-9]{2,3}[eEO+]?)","model":"AX$1"},{"regex":"AX7OO","model":"AX700"},{"regex":"Bmobile[_ ]([^/;]+) Build","model":"$1"},{"regex":"Bmobile[_ ]([a-z0-9]+)","model":"$1"}]},"bq":{"regex":"Aquaris|bq [^/;]+ Build|BQS-([0-9]{4})|(BQ(ru)?[_ -][0-9]{3,4})","device":"smartphone","models":[{"regex":"BQ(ru)?-(5209L|5044)","model":"Strike LTE"},{"regex":"BQ(S|ru)?-(5070|6040L)","model":"Magic"},{"regex":"BQ-9011(G)?","model":"Vision","device":"tablet"},{"regex":"BQ-8068L","model":"Hornet Plus Pro"},{"regex":"BQ-8067L","model":"Hornet Plus","device":"tablet"},{"regex":"BQ-8052G","model":"BQ-8052G","device":"tablet"},{"regex":"BQ-8041L","model":"Art","device":"tablet"},{"regex":"BQ-7084G","model":"Simple","device":"tablet"},{"regex":"BQ-7061G","model":"Andros","device":"tablet"},{"regex":"BQ-7051G","model":"Elba","device":"tablet"},{"regex":"BQ-7036L","model":"Hornet","device":"tablet"},{"regex":"BQ-7022(G)?","model":"Canion","device":"tablet"},{"regex":"BQ-7021G","model":"Hit","device":"tablet"},{"regex":"BQ-7010G","model":"Max","device":"tablet"},{"regex":"BQ-7006G","model":"Union","device":"tablet"},{"regex":"BQ-7003","model":"Jamaica","device":"tablet"},{"regex":"BQ-6200L|BQ-6000L","model":"Aurora"},{"regex":"BQ(ru)?[ -]6015L","model":"Universe"},{"regex":"BQ-6010G","model":"Practic"},{"regex":"BQ-6001L|BQ-6050","model":"Jumbo"},{"regex":"BQ-5707G","model":"Next Music"},{"regex":"BQ-5702","model":"Spring"},{"regex":"BQ-5700L","model":"Space X"},{"regex":"BQ-5594","model":"Strike Power Max"},{"regex":"BQ-5591","model":"Jeans"},{"regex":"BQ-5522","model":"Next"},{"regex":"BQ(ru)?-5521","model":"Strike Power Max"},{"regex":"BQ-5520L","model":"Silk"},{"regex":"BQ-5519L","model":"Fast Plus"},{"regex":"BQ-5517L","model":"Twin Pro"},{"regex":"BQ-5516L","model":"Twin"},{"regex":"BQS-5515","model":"Wide"},{"regex":"BQ-5515(L)?","model":"Fast"},{"regex":"BQ-5512L|BQ-5528L","model":"Strike Forward"},{"regex":"BQ-5511L","model":"Bliss"},{"regex":"BQ(ru)?-5510","model":"Strike Power Max 4G"},{"regex":"BQ-5508L","model":"Next LTE"},{"regex":"BQ-5507L","model":"Iron Max"},{"regex":"BQ(ru)?-5504","model":"Strike Selfie Max"},{"regex":"BQ(ru)?-5503","model":"Nice 2"},{"regex":"BQS-5502","model":"Hammer"},{"regex":"BQS-5501","model":"Kawasaki"},{"regex":"BQS-5500","model":"Vancouver"},{"regex":"BQ-5500L","model":"Advance"},{"regex":"BQ-5302G","model":"Velvet 2"},{"regex":"BQ-5301","model":"Strike View"},{"regex":"BQ-5300G","model":"Velvet View"},{"regex":"BQ(ru)?-5211|BQS-5020","model":"Strike"},{"regex":"BQ-5206L","model":"Balance"},{"regex":"BQ(ru)?-5204|BQS-5050","model":"Strike Selfie"},{"regex":"BQ(ru)?-5203","model":"Vision"},{"regex":"BQ(ru)?-5202","model":"Space Lite"},{"regex":"BQ(ru)?-5201","model":"Space"},{"regex":"BQ-5082","model":"Sense 2"},{"regex":"BQ-5071","model":"Belief"},{"regex":"BQS-5065|BQ-5340","model":"Choice"},{"regex":"BQ(ru)?-5059|BQ-5514G","model":"Strike Power"},{"regex":"BQ-5058","model":"Strike Power Easy"},{"regex":"BQ(ru)?-5057","model":"Strike 2"},{"regex":"BQ-5056|BQS-5030","model":"Fresh"},{"regex":"BQS-5055","model":"Turbo Plus"},{"regex":"BQ(ru)?-5054","model":"Crystal"},{"regex":"BQ-5052","model":"Sense"},{"regex":"BQ(S)?-5045","model":"Fast"},{"regex":"BQ(ru)?-5037|BQ-5514L","model":"Strike Power 4G"},{"regex":"BQ(ru)?-5035","model":"Velvet"},{"regex":"BQ(ru)?-5033","model":"Shark"},{"regex":"BQ-5032","model":"Element"},{"regex":"BQS-5025","model":"High Way"},{"regex":"BQ(ru)?-5022","model":"Bond"},{"regex":"BQ-5015L","model":"First"},{"regex":"BQ-5012L","model":"Rich"},{"regex":"BQS-5011","model":"Monte Carlo"},{"regex":"BQ-5010G","model":"Spot"},{"regex":"BQS-5010","model":"Prague"},{"regex":"BQ-5009L","model":"Trend"},{"regex":"BQS-500[59]","model":"Sydney"},{"regex":"BQ-5008L","model":"Brave"},{"regex":"BQ-5007L","model":"Iron"},{"regex":"BQS-5006","model":"Los Angeles"},{"regex":"BQ-5005L","model":"Intense"},{"regex":"BQS-5004","model":"Paris"},{"regex":"BQ-5003L","model":"Shark Pro"},{"regex":"BQ-5002G","model":"Fun"},{"regex":"BQS-5002","model":"Colombo"},{"regex":"BQ-5001L","model":"Contact"},{"regex":"BQS-5001","model":"Milan"},{"regex":"BQ(ru|S)?-5000","model":"Tokyo"},{"regex":"BQS-4800","model":"Blade"},{"regex":"BQS-4707","model":"Montreal"},{"regex":"BQS-4702","model":"\u041esaka"},{"regex":"BQS-4701","model":"Venice"},{"regex":"BQ-(?:4585|5011G)","model":"Fox View"},{"regex":"BQS-4570","model":"Drive"},{"regex":"BQS-4560","model":"Golf"},{"regex":"BQS-4555","model":"Turbo"},{"regex":"BQS-4550","model":"Richmond"},{"regex":"BQ-(?:4526|5004G)","model":"Fox"},{"regex":"BQS-4525","model":"Vienna"},{"regex":"BQS-4516","model":"Singapore"},{"regex":"BQS-4515","model":"Moscow"},{"regex":"BQS-4510","model":"Florence"},{"regex":"BQS-4505","model":"Santiago"},{"regex":"BQS-4503","model":"Dubai"},{"regex":"BQS-4502","model":"Kingston"},{"regex":"BQS-4501 Bristol","model":"Bristol"},{"regex":"BQ-4501G","model":"Fox Easy"},{"regex":"BQ-4077","model":"Shark Mini"},{"regex":"BQ(ru)?-4072","model":"Strike Mini"},{"regex":"BQ(ru)?[- ]402[68]","model":"Up!"},{"regex":"BQS-4010","model":"Aspen"},{"regex":"BQS-4009","model":"Orleans"},{"regex":"BQS-4008","model":"Shanghai"},{"regex":"BQS-4007","model":"Valencia"},{"regex":"BQS-4005","model":"Seoul"},{"regex":"BQS-4004","model":"Dusseldorf"},{"regex":"BQS-4003","model":"Verona"},{"regex":"BQ-4001G","model":"Cool"},{"regex":"BQS-4001","model":"Oxford"},{"regex":"BQS-3510","model":"Aspen Mini"},{"regex":"BQS-3503","model":"Bombay"},{"regex":"BQ-1085L","model":"Hornet Max Pro","device":"tablet"},{"regex":"BQ-1084L","model":"Hornet Max","device":"tablet"},{"regex":"BQ-1083G","model":"Armor Pro Plus","device":"tablet"},{"regex":"BQ-1082G","model":"Armor Pro","device":"tablet"},{"regex":"BQ-1077L","model":"Armor Pro LTE","device":"tablet"},{"regex":"BQ(ru)?-1057L","model":"Passion","device":"tablet"},{"regex":"BQ-1051G","model":"Corsika","device":"tablet"},{"regex":"BQ-1050G","model":"Hawaii","device":"tablet"},{"regex":"BQ-1008G","model":"Grace","device":"tablet"},{"regex":"Aquaris M8","model":"Aquaris M8","device":"tablet"},{"regex":"BQ(ru)?[_ ]5590","model":"Spring"},{"regex":"BQ(S)?-(6016L|5520)","model":"Mercury"},{"regex":"BQ(S)?-(5701L|5060)","model":"Slim"},{"regex":"(BQ-7850|BQ-700[12]G|BQ-8002G|BQ-905[12]G|BQ-9702G|BQ-7056G)","model":"$1","device":"tablet"},{"regex":"BQ-8006G","model":"Java","device":"tablet"},{"regex":"BQ-7062G","model":"Fiji","device":"tablet"},{"regex":"BQ(ru)?-1081G","model":"Grace 3G","device":"tablet"},{"regex":"BQ-7802G","model":"Luzon","device":"tablet"},{"regex":"BQ-7008G","model":"Clarion","device":"tablet"},{"regex":"BQ-7064G","model":"Fusion","device":"tablet"},{"regex":"BQ-7050G","model":"Malta","device":"tablet"},{"regex":"BQ-7000G","model":"\u0421harm","device":"tablet"},{"regex":"BQ-7005G","model":"Maui","device":"tablet"},{"regex":"BQ-7098G","model":"Armor Power","device":"tablet"},{"regex":"BQ-1007","model":"Necker","device":"tablet"},{"regex":"BQ-1045(G)?","model":"Orion","device":"tablet"},{"regex":"BQ-1054L","model":"Nexion","device":"tablet"},{"regex":"BQ(ru)?-7083","model":"7083","device":"tablet"},{"regex":"BQ(ru)?-1056L","model":"1056L","device":"tablet"},{"regex":"(?:bq )?(Aquaris[^/;]*) Build","model":"$1"},{"regex":"Aquaris (E(4.5|[56])|M(5|10)|U2 Lite|U2|U (Lite|Plus)|V Plus|X5 Plus|X5|X Pro|[CMUVX])","model":"Aquaris $1"},{"regex":"bq ([^/;]+) Build","model":"$1","device":"tablet"}]},"Bush":{"regex":"Bush[ _-]","device":"smartphone","models":[{"regex":"BUSH ([^;/]+)Tablet Build","model":"$1Tablet","device":"tablet"},{"regex":"BUSH ([^;/]+) Build","model":"$1"}]},"CAGI":{"regex":"CAGI-","device":"smartphone","models":[{"regex":"CAGI-OMEGA","model":"Omega"},{"regex":"CAGI-([a-z0-9_\\\\-]+)","model":"$1"}]},"Capitel":{"regex":"Capitel-([a-z0-9]+)","device":"feature phone","model":"$1"},"Captiva":{"regex":"Captiva[ _-]([^;/]+) Build","device":"tablet","model":"Pad $1"},"Casio":{"regex":"(C811|C7[57]1)(?: 4G)?[);/ ]","device":"smartphone","models":[{"regex":"C751[);/ ]","model":"G\'zOne Ravine"},{"regex":"C771[);/ ]","model":"G\'zOne Commando"},{"regex":"C811 4G[);/ ]","model":"G\'zOne Commando 4G LTE"}]},"Casper":{"regex":"CASPER_|VIA_(G4|M4|P2|V8C)","device":"smartphone","models":[{"regex":"CASPER_VIA_(E2|M[13]|V[69])","model":"VIA $1"},{"regex":"VIA_(G4|M4|P2|V8C)","model":"VIA $1"}]},"Cat":{"regex":"Cat ?(tablet|stargate|nova)|B15Q","device":"tablet","models":[{"regex":"B15Q","model":"B15Q","device":"smartphone"},{"regex":"Cat ?(?:tablet)? ?((?:Galactica|Nova|StarGate|PHOENIX)[^/;]*) Build","model":"$1"},{"regex":"Cat ?tablet","model":"Nova"}]},"Carrefour":{"regex":"CT(?:10[0123]0|7[12]0|820)(?:W|FR)?[);/ ]","device":"tablet","models":[{"regex":"CT820","model":"Touch Tablet Neo2"},{"regex":"CT(10[0123]0(?:W|FR)?)","model":"CT$1"},{"regex":"CT(7[12]0(?:W|FR)?)","model":"CT$1"}]},"Celkon":{"regex":"Celkon","device":"smartphone","models":[{"regex":"Celkon[ _*](C[78]20)","model":"$1","device":"tablet"},{"regex":"Celkon[ _*](CT[^;/]+) Build","model":"$1","device":"tablet"},{"regex":"Celkon[ _*]([^;/]+) Build","model":"$1"},{"regex":"Celkon[\\\\. _*]([^;/\\\\)]+)[\\\\)/]","model":"$1"}]},"Changhong":{"regex":"Changhong","device":"tv","models":[{"regex":"Changhong-([^);/]+)","model":"$1"}]},"Cherry Mobile":{"regex":"Cherry|Flare([ _])?(2X|4|A[123]|J[1235]|P[13]|S[456]|X2)|Flare S Play|Flare_HD_MAX|FLARE LITE|Flare XL Plus|Fusion Bolt|OMEGA HD 4","device":"smartphone","models":[{"regex":"Cherry(?: ?Mobile)?[ _]?([^/;]+) Build","model":"$1"},{"regex":"(Flare2X)","model":"$1"},{"regex":"Flare_HD_MAX","model":"Flare HD Max"},{"regex":"FLARE LITE","model":"Flare Lite"},{"regex":"Flare S Play","model":"Flare S Play"},{"regex":"Flare XL Plus","model":"Flare XL Plus"},{"regex":"Flare[ _](A2|J3|P1|S[46])[ _]Lite","model":"Flare $1 Lite"},{"regex":"Flare[ _](J[12]|S5)[ _]mini","model":"Flare $1 Mini"},{"regex":"Flare J2S","model":"Flare J2s"},{"regex":"Flare S4 Max LTE","model":"Flare S4 Max LTE"},{"regex":"Flare S4 Max","model":"Flare S4 Max"},{"regex":"FlareS5LiteDTV ","model":"Flare S5 Lite DTV"},{"regex":"Flare_S6_Plus","model":"Flare S6 Plus"},{"regex":"FLARE S6 POWER","model":"Flare S6 Power"},{"regex":"Flare(?:[ _])?(4|A[13]|J[135]|P[13]|S4|X2)","model":"Flare $1"},{"regex":"OMEGA HD 4","model":"Omega HD 4"},{"regex":"(Fusion Bolt)","model":"$1","device":"tablet"}]},"China Mobile":{"regex":"(M812C|1501_M02|9930i|A1303|A309W|M651CY) Build","device":"smartphone","models":[{"regex":"M651CY","model":"A3"},{"regex":"(M812C|1501_M02|9930i|A1303|A309W)","model":"$1"}]},"Comio":{"regex":"Comio|CT701G PLUS|CT701W|GT100","device":"smartphone","models":[{"regex":"GT100","model":"GT100","device":"tablet"},{"regex":"CT701W","model":"CT701W","device":"tablet"},{"regex":"CT701G PLUS","model":"CT701G Plus","device":"tablet"},{"regex":"Comio[ _-]?([^;/)]+) Build","model":"$1"},{"regex":"Comio[ _-]?([^;/)]+)","model":"$1"}]},"Compal":{"regex":"Compal-[a-z0-9]+","device":"feature phone","model":"$1"},"ComTrade Tesla":{"regex":"Tesla|Impulse 7.85 3G|Smartphone_6.1|SP(?:6.2|6.2_Lite)|TTL(?:713G|8)","device":"smartphone","models":[{"regex":"TeslaEvo5.0","model":"Evo 5.0"},{"regex":"(Gravity 9.7 SHD)","model":"$1","device":"tablet"},{"regex":"(Impulse 7.85 3G)","model":"$1","device":"tablet"},{"regex":"Tesla_SP([^/;]+)L Build","model":"Smartphone $1 Lite"},{"regex":"Smartphone_6.1","model":"Smartphone 6.1"},{"regex":"SP6.2_Lite","model":"Smartphone 6.2 Lite"},{"regex":"Tesla_SP([^/;]+) Build","model":"Smartphone $1"},{"regex":"SP([^/;]+) Build","model":"Smartphone $1"},{"regex":"Smartphone ([36])","model":"Smartphone $1"},{"regex":"Tesla_Tablet_785","model":"7.85\\"","device":"tablet"},{"regex":"TTH7","model":"H7","device":"tablet"},{"regex":"TTL7 Build","model":"L7","device":"tablet"},{"regex":"Tesla_Tablet_L7_3G","model":"L7 3G","device":"tablet"},{"regex":"(L7.1)","model":"$1","device":"tablet"},{"regex":"TTL713G","model":"L7.1 3G","device":"tablet"},{"regex":"(L7 Quad) Build","model":"$1","device":"tablet"},{"regex":"(L7 Quad Lite)","model":"$1","device":"tablet"},{"regex":"TTL8 Build","model":"L8","device":"tablet"},{"regex":"(L8.1)","model":"$1","device":"tablet"},{"regex":"TESLA_TABLET_M7","model":"M7","device":"tablet"},{"regex":"Tesla_Tablet_M8","model":"M8","device":"tablet"}]},"ConCorde":{"regex":"ConCorde ([^/;]+) Build","device":"smartphone","models":[{"regex":"ConCorde Tab ?([^/;]+) Build","model":"Tab $1","device":"tablet"},{"regex":"ConCorde ReadMan ?([^/;]+) Build","model":"ReadMan $1","device":"tablet"},{"regex":"ConCorde ([^/;]+) Build","model":"$1"}]},"Condor":{"regex":"Allure M3|(?:PGN\\\\-?[456][012][0-9]|PHS\\\\-601|Plume L1)[;/) ]|CTAB[^/;]+ Build","device":"smartphone","models":[{"regex":"CTAB([^/;]+) Build","device":"tablet","model":"CTAB $1"},{"regex":"PHS\\\\-601","model":"C8"},{"regex":"PGN\\\\-?403","model":"C4+ Noir"},{"regex":"PGN\\\\-?404","model":"C7 Mini"},{"regex":"PGN\\\\-?409","model":"Plume P4"},{"regex":"PGN\\\\-?504","model":"C5"},{"regex":"PGN\\\\-?505","model":"C8S"},{"regex":"PGN\\\\-?506","model":"C7"},{"regex":"Allure M3","model":"Allure M3"},{"regex":"PGN\\\\-?507","model":"Allure A9"},{"regex":"PGN\\\\-?508","model":"C6+"},{"regex":"PGN\\\\-?509","model":"C6 Pro"},{"regex":"PGN\\\\-?511","model":"Allure A9 Plus"},{"regex":"PGN\\\\-?513","model":"Griffe G4"},{"regex":"PGN\\\\-?514","model":"Plume P7"},{"regex":"PGN\\\\-?515","model":"Plume P4 Pro"},{"regex":"PGN\\\\-?516","model":"Plume P5"},{"regex":"PGN\\\\-?51[78]","model":"Plume P6"},{"regex":"PGN\\\\-?521","model":"Griffe G4 Plus"},{"regex":"PGN\\\\-?522","model":"P6 Plus"},{"regex":"PGN\\\\-?523","model":"P7 Plus"},{"regex":"PGN\\\\-?527","model":"Plume P4 Plus"},{"regex":"PGN\\\\-?528","model":"Plume P6 Pro Lte"},{"regex":"PGN\\\\-?605","model":"Plume P8"},{"regex":"PGN\\\\-?606","model":"Allure A55"},{"regex":"PGN\\\\-?607","model":"Allure A100"},{"regex":"PGN\\\\-?608","model":"Allure A55 Slim"},{"regex":"PGN\\\\-?609","model":"Allure A100 Lite"},{"regex":"PGN\\\\-?610","model":"Plume P8 Lite"},{"regex":"PGN\\\\-?611","model":"Allure A8"},{"regex":"PGN\\\\-?612","model":"Allure A8 Plus"},{"regex":"PGN\\\\-?613","model":"Allure A55 Plus"},{"regex":"Plume L1","model":"Plume L1"},{"regex":"PGN\\\\-?([0-9]{3})","model":"PGN-$1"}]},"Coolpad":{"regex":"(?:YL-)?Coolpad|8190Q[ ;/\\\\)]|(8295|5860S) Build|CP8676_I0[23] Build|CP8298_I00 Build|REVVLPLUS C3701A|VCR-I0","device":"smartphone","models":[{"regex":"VCR-I0","model":"Cool Play 6"},{"regex":"REVVLPLUS C3701A","model":"REVVL Plus","device":"phablet"},{"regex":"8190Q[ ;/\\\\)]","model":"8190Q"},{"regex":"(5860S|8295) Build","model":"$1"},{"regex":"CP8676_I02 Build","model":"Note 3"},{"regex":"CP8676_I03 Build","model":"Note 3 Plus"},{"regex":"CP8298_I00 Build","model":"Note 3 Lite"},{"regex":"(?:YL-)?Coolpad[ _\\\\-]?([^/;]+) Build","model":"$1"},{"regex":"(?:YL-)?Coolpad[ _\\\\-]?([a-z0-9\\\\-]+)","model":"$1"}]},"Clarmin":{"regex":"Clarmin","device":"smartphone","models":[{"regex":"Clarmin_B6","model":"B6"}]},"Cricket":{"regex":"Cricket-([a-z0-9]+)","device":"feature phone","model":"$1"},"Crius Mea":{"regex":"(Q7A\\\\+?)[);/ ]","device":"tablet","model":"$1"},"Crosscall":{"regex":"Crosscall|ODYSSEY_Plus|Odyssey S1|Trekker-[MSX][1234]|Action-X3","device":"smartphone","models":[{"regex":"Action-X3","model":"Action-X3"},{"regex":"Crosscall ([^;/]+) Build","model":"$1"},{"regex":"ODYSSEY_Plus","model":"ODYSSEY+"},{"regex":"Odyssey S1","model":"ODYSSEY S1"},{"regex":"Trekker-([MSX][1234](?: Core)?)","model":"Trekker-$1"}]},"Cube":{"regex":"(<!myPhone ?)Cube|(U[0-9]+GT|K8GT)|(T8-PLUSM?S?)[);/ ]","device":"tablet","models":[{"regex":"U27GT","model":"Talk 8"},{"regex":"T8-PLUSM?S?[);/ ]","model":"T8 Ultimate"},{"regex":"U55GT","model":"Talk 79"},{"regex":"U65GT","model":"Talk 9X"},{"regex":"(U[0-9]+GT[^;/]*) Build","model":"$1"},{"regex":"(U[0-9]+GT(?:[0-9]|[\\\\-_][a-z]+)?)","model":"$1"},{"regex":"(K8GT)","model":"$1"}]},"CUBOT":{"regex":"CUBOT","device":"smartphone","models":[{"regex":"CHEETAH 2","model":"Cheetah 2"},{"regex":"DINOSAUR","model":"Dinosaur"},{"regex":"KING KONG","model":"King Kong"},{"regex":"CUBOT_MANITO","model":"Manito"},{"regex":"MAX","model":"Max"},{"regex":"NOTE Plus","model":"Note Plus"},{"regex":"CUBOT_NOTE_S","model":"Note S"},{"regex":"CUBOT_NOVA","model":"Nova"},{"regex":"CUBOT_POWER","model":"Power"},{"regex":"CUBOT_X18_Plus","model":"X18 Plus"},{"regex":"CUBOT[ _](A5|C6W|H3|J3|P7|P20|R9|R11|X18)","model":"$1"},{"regex":"CUBOT ([^;/]+) Build","model":"$1"},{"regex":"([^;/]+) Build/CUBOT","model":"$1"}]},"Concord":{"regex":"Concord[ _-]|Flyfix 6|C-721[);/ ]","device":"smartphone","models":[{"regex":"M10","model":"M10"},{"regex":"Flyfix 6","model":"Flyfix 6"},{"regex":"C-721","model":"Flyfix Q","device":"tablet"}]},"Crescent":{"regex":"WING 5|WING9|Venus[ _][14]","device":"smartphone","models":[{"regex":"WING 5","model":"Wing 5"},{"regex":"WING9","model":"Wing 9"},{"regex":"Venus[ _]([14])","model":"Venus $1"}]},"Cyrus":{"regex":"Cyrus[ _-]","device":"smartphone","models":[{"regex":"Cyrus[ _-]?([^;/)]+) Build","model":"$1"},{"regex":"Cyrus[ _-]?([^;/)]+)[);/ ]","model":"$1"}]},"Datang":{"regex":"DATANG","device":"smartphone","models":[{"regex":"(?:DATANG[ _-])+([^;/]+) Build","model":"$1"},{"regex":"(?:DATANG[ _-])+([^;/)]+)[;/)]","model":"$1"}]},"Datsun":{"regex":"DATSUN","device":"smartphone","models":[{"regex":"DATSUN_D5500","model":"D5500"}]},"Danew":{"regex":"Dslide ?([^;/]+) Build|Konnect_(504|601)","device":"smartphone","models":[{"regex":"Konnect_(504|601)","model":"Konnect $1"},{"regex":"Dslide ?([^;/]+) Build","device":"tablet","model":"DSlide $1"}]},"Denver":{"regex":"(TA[CDQ]-[0-9]+)","device":"tablet","model":"$1"},"Dell":{"regex":"Dell[^a-z]|Venue|XCD35","device":"smartphone","models":[{"regex":"XCD35","model":"XCD35"},{"regex":"(?:Dell )?Venue Build","model":"Venue","device":"smartphone"},{"regex":"Dell; Venue Pro","model":"Venue Pro","device":"smartphone"},{"regex":"(?:Dell )?(Streak|Venue) ?([^/;]*) Build","model":"$1 $2","device":"tablet"},{"regex":"Dell; ((?:Streak|Venue)[^;/\\\\)]*)","model":"$1","device":"tablet"},{"regex":"Dell; ([^;/\\\\)]+)","model":"$1"},{"regex":"Dell[ _\\\\-]([^/;]+) Build","model":"$1"}]},"Desay":{"regex":"Desay","device":"smartphone","models":[{"regex":"Desay[ _-]?([^;/)]+) Build","model":"$1"},{"regex":"Desay[ _-]?([^;/)]+)[);/ ]","model":"$1"}]},"DEXP":{"regex":"DEXP|(?:Ursus|Ixion)[ _]([^;/)]+)|H135[ _]Build|(BL150|BS155|BS160|BS550|BS650)[);/ ]","device":"smartphone","models":[{"regex":"Ixion[_ ]([^;/]+)(?: Build|\\\\))","model":"Ixion $1"},{"regex":"Ursus ([^;/]+) Build","model":"Ursus $1","device":"tablet"},{"regex":"H135[ _]Build","model":"Atlas","device":"desktop"},{"regex":"(BL150|BS155|BS160|BS550|BS650)[);/ ]","model":"$1"},{"regex":"DEXP[ _]([^;/]+) Build","model":"$1"},{"regex":"DEXP[ _]([^);/]+)[);/ ]","model":"$1"}]},"Dbtel":{"regex":"DBTEL(?:[\\\\-/])?([a-z0-9]+)","device":"feature phone","model":"$1"},"Dialog":{"regex":"Dialog ?([^;/]+) Build","device":"smartphone","model":"$1"},"Dicam":{"regex":"DICAM-([a-z0-9]+)","device":"feature phone","model":"$1"},"Digi":{"regex":"Digi[ _]([^);/]+)[);/ ]","device":"smartphone","model":"$1"},"Digicel":{"regex":"DIGICEL","device":"smartphone","models":[{"regex":"DL810","model":"DL810"},{"regex":"DIGICEL ([^/;]+) Build","model":"$1"}]},"Digiland":{"regex":"DL1008M","device":"smartphone","models":[{"regex":"DL1008M","device":"tablet","model":"DL1008M"}]},"Digma":{"regex":"Digma[_ ]([^;/]+) Build|HIT HT707[10]MG|CITI 1902 3G|(CITI (?:[A-Z0-9]+) 3G) C[ST]500[67]PG|iDrQ10 3G|iDxD8 3G|iDnD7|HIT 4G HT7074ML|IDX5|(iDx10|iDx7)|MVM900H(?:WZ|C)|MVM908HCZ|iDxD10 3G|(iDxD[45]|iDxQ5)|iDxD7[_ ]3G|PS604M|PT452E|Linx A400 3G LT4001PG|Linx C500 3G LT5001PG|Linx PS474S|LS504[01]PL|LT40(47|54)MG|LS405[01]MG|LS5053ML|LT5048MG|LT5052ML|LT4049PG|NS6902QL|NS9797MG|((?:Optima|Platina|Plane)[ _](?:[EM])?(?:[0-9\\\\.ST]+|Prime)(?:[ _][43]G)?)|(VOX[ _](?:[0-9\\\\.A-Z]+)[_ ][43]G)","device":"smartphone","models":[{"regex":"HIT HT707[10]MG","model":"HIT 3G","device":"tablet"},{"regex":"iDx5","model":"iDx5"},{"regex":"iDxD10 3G","model":"iDxD10 3G","device":"tablet"},{"regex":"(VOX[ _](?:[0-9\\\\.A-Z]+)[_ ][43]G)","model":"$1"},{"regex":"PS604M","model":"Linx 6.0"},{"regex":"LT4049PG","model":"Linx Atom 3G"},{"regex":"LT5048MG","model":"Linx Joy 3G"},{"regex":"LT5052ML","model":"Linx Base 4G"},{"regex":"LT4047MG","model":"Linx Alfa 3G"},{"regex":"LS4050MG","model":"Linx X1 3G"},{"regex":"LS4051MG","model":"Linx X1 Pro 3G"},{"regex":"LT4054MG","model":"Linx Argo 3G"},{"regex":"LS5041PL","model":"Linx Trix 4G"},{"regex":"LS5040PL","model":"Linx Rage 4G"},{"regex":"LS5053ML","model":"Linx Pay 4G"},{"regex":"(Linx A400 3G) LT4001PG","model":"$1"},{"regex":"(Linx C500 3G) LT5001PG","model":"$1"},{"regex":"(Linx PS474S)","model":"$1"},{"regex":"PT452E","model":"Linx 4.5"},{"regex":"MVM900H(?:WZ|C)","model":"iDx8","device":"tablet"},{"regex":"MVM908HCZ","model":"iDx9","device":"tablet"},{"regex":"(iDxD7[_ ]3G)","model":"$1","device":"tablet"},{"regex":"(iDx10|iDx7)","model":"$1"},{"regex":"(iDxD[45]|iDxQ5)","model":"$1"},{"regex":"HIT 4G HT7074ML","model":"HIT 4G","device":"tablet"},{"regex":"(CITI 1902 3G)","model":"$1","device":"tablet"},{"regex":"(CITI (?:[A-Z0-9]+) 3G) C[ST]500[67]PG","model":"$1","device":"tablet"},{"regex":"iDxD8 3G","model":"D-Plane2 8","device":"tablet"},{"regex":"(iDrQ10 3G|iDnD7)","model":"$1","device":"tablet"},{"regex":"NS6902QL","model":"Platina 7.2 4G","device":"tablet"},{"regex":"NS9797MG","model":"Platina 7.2 3G","device":"tablet"},{"regex":"((?:Optima|Platina|Plane)[ _](?:[EM])?(?:[0-9\\\\.STNM]+|Prime)(?:[ _][43]G)?)","model":"$1","device":"tablet"},{"regex":"Digma[_ ]([^;/]+) Build","model":"$1","device":"tablet"}]},"DoCoMo":{"regex":"DoCoMo|\\\\;FOMA|KGT/1\\\\.0","device":"feature phone","models":[{"regex":"DoCoMo/[12]\\\\.0[/ ]([a-z0-9]+)","model":"$1"},{"regex":"([a-z0-9]+)(?:_W)?\\\\;FOMA","model":"$1"},{"regex":"KGT/1\\\\.0 ([a-z0-9]+)","model":"$1"}]},"Doogee":{"regex":"DOOGEE[ _-]|Valencia2_Y100pro|X5max(?:[_ ]PRO)?|(KISSME|BIGBOY|COLLO[23]?|DAGGER|DISCOVERY2?|FIND|HOTWIND|LATTE|MAX|MINT|MOON|PIXELS|RAINBOX|TURBO|VALENCIA|VOYAGER2?|TITANS2?)[ -_](DG[0-9]+C?)[);/ ]|BL[579]000[);/ ]|BL12000|BL5500[_ ]Lite","device":"smartphone","models":[{"regex":"Valencia2_Y100pro","model":"Valencia2 Y100pro"},{"regex":"(BL[579]000)[);/ ]","model":"$1"},{"regex":"BL12000 PRO","model":"BL12000 Pro"},{"regex":"BL5500[_ ]Lite","model":"BL5500 Lite"},{"regex":"BL12000","model":"BL12000"},{"regex":"KISSME-DG580","model":"Kissme DG580"},{"regex":"(X5max(?:[_ ]PRO)?)","model":"$1"},{"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?)[);/ ]","model":"$1 $2"},{"regex":"DOOGEE[ _-]([^);/]+) Build","model":"$1"},{"regex":"DOOGEE[ _-]([^);/]+)[);/ ]","model":"$1"}]},"Doov":{"regex":"(?:Doov-)?Doov[ _]","device":"smartphone","models":[{"regex":"(?:Doov-)?Doov[ _]([^;/]+) Build","model":"$1"},{"regex":"(?:Doov-)?Doov[ _]([^);/]+)[);/ ]","model":"$1"}]},"Dopod":{"regex":"Dopod(?: )?([a-z0-9]+)","device":"feature phone","model":"$1"},"Doro":{"regex":"Doro","device":"smartphone","models":[{"regex":"Doro[ _-]?([^;/)]+) Build","model":"$1"},{"regex":"Doro[ _-]([0-9a-z]+)","model":"$1"}]},"Dune HD":{"regex":"DuneHD","device":"tv","models":[{"regex":"DuneHD/\\\\d.\\\\d \\\\([a-z]+__([a-z0-9_-]+);","model":"$1"},{"regex":"DuneHD/\\\\d.\\\\d \\\\(([a-z0-9_-]+);","model":"$1"}]},"DNS":{"regex":"(?:DNS|AirTab)[ _\\\\-]([^;/]+)Build|S4505M[);/ ]","device":"smartphone","models":[{"regex":"S4505M[);/ ]","model":"S4505M"},{"regex":"AirTab[ _\\\\-]([^;/]+)Build","model":"AirTab $1","device":"tablet"},{"regex":"DNS[ _\\\\-]([^;/]+)Build","model":"$1"}]},"E-Boda":{"regex":"E-Boda|Eclipse_(?:G400M|G500)","device":"smartphone","models":[{"regex":"E-Boda ((?:Revo|Izzycomm|Essential|Intelligence|Supreme)[^/;]+) Build","device":"tablet","model":"$1"},{"regex":"Eclipse_(G400M|G500)","model":"Eclipse $1"},{"regex":"E-Boda ([^/;]+) Build","model":"$1"}]},"Easypix":{"regex":"EasyPad|EasyPhone","device":"smartphone","models":[{"regex":"(EasyPhone[^/;]+) Build","model":"$1"},{"regex":"(EasyPad[^/;]+) Build","model":"$1","device":"tablet"}]},"EBEST":{"regex":"EBEST","device":"smartphone","models":[{"regex":"EBEST[ _-]?([^;/)]+) Build","model":"$1"},{"regex":"EBEST[ _-]?([^;/)]+)[);/ ]","model":"$1"}]},"Echo Mobiles":{"regex":"ECHO[ _](HOLI|HORIZON|MAX|MOSS|NOTE|POWER|SMART)","device":"smartphone","models":[{"regex":"ECHO_HORIZON_LITE","model":"HORIZON Lite"},{"regex":"ECHO_SMART_4G","model":"SMART 4G"},{"regex":"ECHO[ _](HOLI|MAX|MOSS|NOTE|POWER|SMART)","model":"$1"}]},"ECS":{"regex":"(?:TA10CA3|TM105A?|TR10CS1)[);/ ]","device":"tablet","models":[{"regex":"TA10CA3[);/ ]","model":"TA10CA3"},{"regex":"TR10CS1[);/ ]","model":"TR10CS1"},{"regex":"TM105A[);/ ]","model":"TM105A"},{"regex":"TM105[);/ ]","model":"TM105"}]},"EE":{"regex":"Hawk_from_EE","device":"smartphone","models":[{"regex":"Hawk_from_EE","model":"Hawk"}]},"Eks Mobility":{"regex":"S5LS|X4UPlus","device":"smartphone","models":[{"regex":"S5LS","model":"S5LS"},{"regex":"X4UPlus","model":"X4U Plus"}]},"Elephone":{"regex":"Elephone|P6000( ?Pro| ?Plus|\\\\+| ?02)? Build","device":"smartphone","models":[{"regex":"Elephone[ _\\\\-]([^/;]+) Build","model":"$1"},{"regex":"P6000(\\\\+| ?Plus) Build","model":"P6000 Plus"},{"regex":"P6000 02 Build","model":"P6000 02"},{"regex":"P6000 ?Pro Build","model":"P6000 Pro"},{"regex":"(P[68]000)","model":"$1"}]},"Elenberg":{"regex":"(TAB(?:101|728)[ _]3G|TAB7(?:[03]8|16|40|3[30]))[/;) ]","device":"tablet","model":"$1"},"Energy Sistem":{"regex":"ENERGY[ _-]?([^;/]+) Build","device":"tablet","model":"$1"},"Ericy":{"regex":"Ericy-([a-z0-9]+)","device":"feature phone","model":"$1"},"Essential":{"regex":"PH-1[ )]","device":"smartphone","models":[{"regex":"PH-1[ )]","model":"PH-1"}]},"E-tel":{"regex":"E-tel_i250","device":"smartphone","models":[{"regex":"E-tel[_ ]i250","model":"i250"}]},"Evercoss":{"regex":"A75A\\\\* Build","device":"smartphone","models":[{"regex":"A75A\\\\*","model":"A75A Star"}]},"Eurostar":{"regex":"(ET7002C-H12|Onyx-[13]S)[/;) ]","device":"smartphone","models":[{"regex":"Onyx-([13]S)[/;) ]","model":"Onyx $1"},{"regex":"ET7002C-H12[/;) ]","model":"ePad 4S","device":"tablet"}]},"Eton":{"regex":"Eton","device":"smartphone","models":[{"regex":"Eton[ _-]?([^;/)]+) Build","model":"$1"},{"regex":"Eton[ _-]?([^;/)]+)[);/ ]","model":"$1"}]},"Essentielb":{"regex":"(Wooze[_ ](?:I5|L|XL)) Build","device":"smartphone","model":"$1"},"Rikomagic":{"regex":"MK(80[28][^/;]*) Build","device":"tv","model":"MK$1"},"Rinno":{"regex":"Rinno (R(?:400|505))","device":"smartphone","model":"$1"},"Riviera":{"regex":"RIVIERA ","device":"smartphone","models":[{"regex":"F23","model":"F23"}]},"Senseit":{"regex":"SENSEIT[ _]?([^;/)]+) Build","device":"smartphone","model":"$1"},"Sony":{"regex":"Sony(?: ?Ericsson)?|SGP|Xperia|([456]0[12]|701)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)|D200[45]|D21(?:0[45]|14)|D22(?:0[236]|12|43)|D230[2356]|D240[36]|D25(?:02|33)|D510[236]|D530[36]|D5316|D5322|D5503|D58[03]3|D65(?:0[23]|43|63)|D66[03458]3|D66[14]6|D6708|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|65[35]3|66[0358]3|68[358]3)|I[34]312|I4332|F311[12356]|F331[13]|F321[12356]|F5[13]21|F5122|F813[12]|F833[12]|G312[135]|G311[26]|G322[136]|G3212|G331[123]|G3412|G3416|G342[136]|G823[12]|G834[123]|G8[14]4[12]|H(?:3113|3123|3133|3213|3223|3311|3321|4113|4133|4213|4233|4311|4331|4413|4433|82[167]6|83[12]4|8416|9436)|(?:WT|LT|SO|ST|SK|MK)[0-9]+[a-z]+[0-9]*(?: Build|\\\\))|X?L39H|XM50[ht]|W960|portalmmm/2\\\\.0 K|S3[69]h|SOL2[246]|SOV3[1234567]|X10[ia]v?|E1[05][ai]v?|MT[0-9]{2}[a-z]? Build|SO-0(?:[12]C|[345]D|[234]E|[1235]F|[1234]G|[134]H|[1234]J|[12]K)|R800[aix]|J9110|J81[17]0|I[34]113|I3[12]23|I42[19]3|H9493|H8296|H8166|H4493|LiveWithWalkman","device":"smartphone","models":[{"regex":"(?:Sony(?:Ericsson)?)?E10[ai]v?","model":"Xperia X10 mini","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?U20","model":"Xperia X10 mini pro","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?E15[ai]v?","model":"Xperia X8","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?(LT15[ai]?v?|SO-01C)","model":"Xperia arc","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?LT18[ai]v?","model":"Xperia arc S","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?MT11","model":"Xperia neo V","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?MT15","model":"Xperia neo","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?MT27","model":"Xperia Sola","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?MK16[ai]","model":"Xperia pro","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?ST15[ai]","model":"Xperia mini","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?ST17[ai]","model":"Xperia active","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?ST18[ai]","model":"Xperia ray","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?SK17[ai]?","model":"Xperia mini pro","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?X10[ai]v?","model":"Xperia X10","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)M1","model":"Aspen","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?R800","model":"Xperia PLAY","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?WT19|LiveWithWalkman","model":"Live with Walkman","brand":"Sony Ericsson"},{"regex":"(?:Sony(?:Ericsson)?)?CK13i","model":"txt","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?CK15[ai]","model":"txt pro","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?F100i","model":"Jalou","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?J105","model":"Naite","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?J108","model":"Cedar","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?J10","model":"Elm","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?J20","model":"Hazel","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?U10","model":"Aino","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?U100","model":"Yari","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?U1","model":"Satio","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?U5","model":"Vivaz","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?U8","model":"Vivaz pro","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?W20","model":"Zylo","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?W100","model":"Spiro","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?W150","model":"Yendo","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?W960","model":"W960","brand":"Sony Ericsson","device":"feature phone"},{"regex":"(?:Sony(?:Ericsson)?)?WT13","model":"Mix Walkman","brand":"Sony Ericsson","device":"feature phone"},{"regex":"SO-04G","model":"Xperia A4"},{"regex":"(?:Sony(?:Ericsson)?)?I(?:4113|31[12]3)","model":"Xperia 10"},{"regex":"(?:Sony(?:Ericsson)?)?I(?:42[19]3|3223)","model":"Xperia 10 Plus"},{"regex":"(?:Sony(?:Ericsson)?)?J(?:9110|81[17]0)","model":"Xperia 1"},{"regex":"(?:Sony(?:Ericsson)?)?LT22i","model":"Xperia P"},{"regex":"(?:Sony(?:Ericsson)?)?LT25i","model":"Xperia V"},{"regex":"(?:Sony(?:Ericsson)?)?LT26ii","model":"Xperia SL"},{"regex":"(?:Sony(?:Ericsson)?)?LT26i","model":"Xperia S"},{"regex":"(?:Sony(?:Ericsson)?)?SO-02C","model":"Xperia arco"},{"regex":"(?:Sony(?:Ericsson)?)?SO-03D","model":"Xperia arco HD"},{"regex":"(?:Sony(?:Ericsson)?)?LT26w","model":"Xperia arco S"},{"regex":"(?:Sony(?:Ericsson)?)?LT28[aih]","model":"Xperia ion"},{"regex":"(?:Sony(?:Ericsson)?)?LT29i","model":"Xperia TX"},{"regex":"(?:Sony(?:Ericsson)?)?LT30a","model":"Xperia T LTE"},{"regex":"(?:Sony(?:Ericsson)?)?LT30p","model":"Xperia T"},{"regex":"(?:Sony(?:Ericsson)?)?ST21[ia]2","model":"Xperia tipo dual"},{"regex":"(?:Sony(?:Ericsson)?)?ST21[ia]","model":"Xperia tipo"},{"regex":"(?:Sony(?:Ericsson)?)?ST23[ia]","model":"Xperia miro"},{"regex":"(?:Sony(?:Ericsson)?)?ST25[ia]","model":"Xperia U"},{"regex":"(?:Sony(?:Ericsson)?)?SOL22","model":"Xperia UL"},{"regex":"(?:Sony(?:Ericsson)?)?ST26[ia]","model":"Xperia J"},{"regex":"(?:Sony(?:Ericsson)?)?ST27[ia]","model":"Xperia go"},{"regex":"(?:Sony(?:Ericsson)?)?C150[45]","model":"Xperia E"},{"regex":"(?:Sony(?:Ericsson)?)?C160[45]","model":"Xperia E Dual"},{"regex":"(?:Sony(?:Ericsson)?)?(?:E210[45]|E2115|E2124)","model":"Xperia E4"},{"regex":"(?:Sony(?:Ericsson)?)?E20[05]3|E2006","model":"Xperia E4G"},{"regex":"(?:Sony(?:Ericsson)?)?C190[45]","model":"Xperia M"},{"regex":"(?:Sony(?:Ericsson)?)?C200[45]","model":"Xperia M Dual"},{"regex":"(?:Sony(?:Ericsson)?)?C210[45]|S36h","model":"Xperia L"},{"regex":"(?:Sony(?:Ericsson)?)?C230[45]|S39h","model":"Xperia C"},{"regex":"(?:Sony(?:Ericsson)?)?C530[236]","model":"Xperia SP"},{"regex":"(?:Sony(?:Ericsson)?)?C550[23]","model":"Xperia ZR"},{"regex":"(?:Sony(?:Ericsson)?)?C650[236]","model":"Xperia ZL"},{"regex":"(?:Sony(?:Ericsson)?)?(?:C66(?:0[236]|16)|SO-02E)","model":"Xperia Z"},{"regex":"(?:Sony(?:Ericsson)?)?(?:C68(?:0[26]|[34]3)|XL39H|SOL24)","device":"phablet","model":"Xperia Z Ultra"},{"regex":"(?:Sony(?:Ericsson)?)?(?:C69(?:0[236]|16|43)|L39H|SO-0[12]F)","model":"Xperia Z1"},{"regex":"(?:Sony(?:Ericsson)?)?D200[45]","model":"Xperia E1"},{"regex":"(?:Sony(?:Ericsson)?)?D21(?:0[45]|14)","model":"Xperia E1 Dual"},{"regex":"(?:Sony(?:Ericsson)?)?D22(?:0[236]|43)","model":"Xperia E3"},{"regex":"(?:Sony(?:Ericsson)?)?D2212","model":"Xperia E3 Dual"},{"regex":"(?:Sony(?:Ericsson)?)?E20[34]3","model":"Xperia E4g Dual"},{"regex":"H33[12]1","model":"Xperia L2"},{"regex":"H43[13]1","model":"Xperia L2 Dual"},{"regex":"I3312","model":"Xperia L3"},{"regex":"I43[13]2","model":"Xperia L3 Dual"},{"regex":"(?:Sony(?:Ericsson)?)?D2302","model":"Xperia M2 Dual"},{"regex":"(?:Sony(?:Ericsson)?)?D230[356]","model":"Xperia M2"},{"regex":"(?:Sony(?:Ericsson)?)?D240[36]","model":"Xperia M2 Aqua"},{"regex":"(?:Sony(?:Ericsson)?)?(?:E230[36]|E23[35]3)","model":"Xperia M4 Aqua"},{"regex":"(?:Sony(?:Ericsson)?)?(?:E2312|E2363)","model":"Xperia M4 Aqua Dual"},{"regex":"(?:Sony(?:Ericsson)?)?E56[05][36]","model":"Xperia M5"},{"regex":"(?:Sony(?:Ericsson)?)?E56[436]3","model":"Xperia M5 Dual"},{"regex":"(?:Sony(?:Ericsson)?)?D2502","model":"Xperia C3 Dual"},{"regex":"(?:Sony(?:Ericsson)?)?D2533","model":"Xperia C3"},{"regex":"(?:Sony(?:Ericsson)?)?E53[05]3|E5306","model":"Xperia C4"},{"regex":"(?:Sony(?:Ericsson)?)?E53[0346]3","model":"Xperia C4 Dual"},{"regex":"(?:Sony(?:Ericsson)?)?E5506|E5553","model":"Xperia C5 Ultra"},{"regex":"(?:Sony(?:Ericsson)?)?E55[36]3","model":"Xperia C5 Ultra Dual"},{"regex":"(?:Sony(?:Ericsson)?)?D510[236]","model":"Xperia T3"},{"regex":"(?:Sony(?:Ericsson)?)?(?:D530[36]|D5316|XM50[ht])","model":"Xperia T2 Ultra","device":"phablet"},{"regex":"(?:Sony(?:Ericsson)?)?D5322","model":"Xperia T2 Ultra Dual","device":"phablet"},{"regex":"(?:Sony(?:Ericsson)?)?D5503","model":"Xperia Z1 Compact"},{"regex":"(?:Sony(?:Ericsson)?)?(?:D58[03]3|SO-02G)","model":"Xperia Z3 Compact"},{"regex":"(?:Sony(?:Ericsson)?)?(?:D65(?:0[23]|43)|SO-03F)","model":"Xperia Z2"},{"regex":"D6563","model":"Xperia Z2a"},{"regex":"(?:Sony(?:Ericsson)?)?(?:D66[045]3|D66[14]6|SO-01G|SOL26|401SO)","model":"Xperia Z3"},{"regex":"(?:Sony(?:Ericsson)?)?(?:D6633|D6683)","model":"Xperia Z3 Dual"},{"regex":"(?:Sony(?:Ericsson)?)?(?:E65[35]3)","model":"Xperia Z3+"},{"regex":"(?:Sony(?:Ericsson)?)?(?:D6708)","model":"Xperia Z3v"},{"regex":"SOV31|402SO|SO-03G","model":"Xperia Z4"},{"regex":"(?:Sony(?:Ericsson)?)?(?:E58[02]3)","model":"Xperia Z5 Compact"},{"regex":"(?:Sony(?:Ericsson)?)?(?:E66[05]3|SOV32|501SO|SO-01H)","model":"Xperia Z5"},{"regex":"(?:Sony(?:Ericsson)?)?E66[38]3","model":"Xperia Z5 Dual"},{"regex":"(?:Sony(?:Ericsson)?)?(?:E68[58]3|SO-03H)","model":"Xperia Z5 Premium"},{"regex":"(?:Sony(?:Ericsson)?)?E6833","model":"Xperia Z5 Premium Dual"},{"regex":"(?:Sony(?:Ericsson)?)?F311[135]","model":"Xperia XA"},{"regex":"(?:Sony(?:Ericsson)?)?F311[26]","model":"Xperia XA Dual"},{"regex":"(?:Sony(?:Ericsson)?)?F321[135]","model":"Xperia XA Ultra"},{"regex":"(?:Sony(?:Ericsson)?)?F321[26]","model":"Xperia XA Ultra Dual"},{"regex":"(?:Sony(?:Ericsson)?)?F833[12]|SOV34|601SO|SO-01J","model":"Xperia XZ"},{"regex":"(?:Sony(?:Ericsson)?)?(?:701SO|SOV36|G834[123]|SO-01K)","model":"Xperia XZ1"},{"regex":"(?:Sony(?:Ericsson)?)?G8441|SO-02K","model":"Xperia XZ1 Compact"},{"regex":"(?:Sony(?:Ericsson)?)?F331[13]","model":"Xperia E5"},{"regex":"(?:Sony(?:Ericsson)?)?G312[135]|G311[26]","model":"Xperia XA1"},{"regex":"(?:Sony(?:Ericsson)?)?G341[26]|G342[13]","model":"Xperia XA1 Plus"},{"regex":"(?:Sony(?:Ericsson)?)?G3426","model":"Xperia XA1 Plus Dual"},{"regex":"(?:Sony(?:Ericsson)?)?G322[136]|G3212","model":"Xperia XA1 Ultra"},{"regex":"(?:Sony(?:Ericsson)?)?H31[123]3","model":"Xperia XA2"},{"regex":"(?:Sony(?:Ericsson)?)?H41[13]3","model":"Xperia XA2 Dual"},{"regex":"H44[19]3","model":"Xperia XA2 Plus Dual"},{"regex":"H4433","model":"H4433"},{"regex":"(?:Sony(?:Ericsson)?)?H(?:3213|3223|4213|4233)","model":"Xperia XA2 Ultra"},{"regex":"(?:Sony(?:Ericsson)?)?G823[12]|SOV35|602SO|SO-03J","model":"Xperia XZs"},{"regex":"(?:Sony(?:Ericsson)?)?G814[12]|SO-04J","model":"Xperia XZ Premium"},{"regex":"(?:Sony(?:Ericsson)?)?(?:H83[12]4|H82[17]6|SOV37|H8296)","model":"Xperia XZ2"},{"regex":"H8266","model":"Xperia XZ2 Dual"},{"regex":"H8166","model":"Xperia XZ2 Premium Dual"},{"regex":"(?:Sony(?:Ericsson)?)?H(8416|9436|9493)","model":"Xperia XZ3"},{"regex":"(?:Sony(?:Ericsson)?)?G331[13]","model":"Xperia L1"},{"regex":"(?:Sony(?:Ericsson)?)?G3312","model":"Xperia L1 Dual"},{"regex":"(?:Sony(?:Ericsson)?)?SO-04E","model":"Xperia A"},{"regex":"(?:Sony(?:Ericsson)?)?SO-04D","model":"Xperia GX"},{"regex":"(?:Sony(?:Ericsson)?)?SO-05D","model":"Xperia SX"},{"regex":"(?:Sony(?:Ericsson)?)?F5121","model":"Xperia X"},{"regex":"(?:Sony(?:Ericsson)?)?F5122","model":"Xperia X Dual"},{"regex":"(?:Sony(?:Ericsson)?)?F5321|SO-02J","model":"Xperia X Compact"},{"regex":"(?:Sony(?:Ericsson)?)?(?:F8131|502SO|SOV33|SO-04H)","model":"Xperia X Performance"},{"regex":"(?:Sony(?:Ericsson)?)?F8132","model":"Xperia X Performance Dual"},{"regex":"SGP(?:311|312|321)[);/ ]|SO-03E","model":"Xperia Tablet Z","device":"tablet"},{"regex":"SGP(?:511|512|521)[);/ ]|SO-05F","model":"Xperia Tablet Z2","device":"tablet"},{"regex":"SGP(?:6[24]1)[);/ ]","model":"Xperia Tablet Z3 Compact","device":"tablet"},{"regex":"SGPT(?:12|121|122|123|13|131|132|133)[);/ ]","model":"Xperia Tablet S","device":"tablet"},{"regex":"SonyBDP|SonyDBV","model":"Blu-ray Player","device":"tv"},{"regex":"(?:Sony-)?(KDL?-?[0-9a-z]+)","model":"$1","device":"tv"},{"regex":"Opera TV Store.*(?:Sony-)([0-9a-z\\\\-_]+)","model":"$1","device":"tv"},{"regex":"((?:WT|SO|ST|SK|MK)[0-9]+[a-z]*[0-9]*)(?: Build|\\\\))","model":"$1","brand":"Sony Ericsson"},{"regex":"(MT[0-9]{2}[a-z]?)[);/ ]","model":"$1","brand":"Sony Ericsson"},{"regex":"portalmmm/2.0 K([a-z0-9]+)","model":"K$1","brand":"Sony Ericsson"},{"regex":"Sony ?Ericsson?([^/;]*) Build","model":"$1","brand":"Sony Ericsson"},{"regex":"SonyEricsson([CGJKPTWZ][0-9]+[a-z]+)/","model":"$1","brand":"Sony Ericsson","device":"feature phone"},{"regex":"Sony ?Ericsson ?([a-z0-9\\\\-]+)","model":"$1","brand":"Sony Ericsson"},{"regex":"Sony (Tablet[^/;]*) Build","model":"$1","device":"tablet"},{"regex":"(SGP[^/;]*) Build","model":"$1","device":"tablet"},{"regex":"Xperia ([^/;]*Tablet[^/;]*) Build","model":"Xperia $1","device":"tablet"},{"regex":"Xperia ([^;/]+) Build","model":"Xperia $1"},{"regex":"Sony[ -]?([^/;]*) Build","model":"$1"},{"regex":"Sony[ -]?([a-z0-9\\\\-]+)","model":"$1"}]},"Ergo":{"regex":"ERGO|(B502 Basic|B504[_ ]Unit|A502[_ ]Aurum|A503[ _]Optima|Prime B400|A551 Sky 4G|A553 Power|A555 Universe|Force F500|GoTab GBT9|GoTab Gti8)","device":"smartphone","models":[{"regex":"B502 Basic","model":"B502 Basic"},{"regex":"B504[_ ]Unit","model":"B504 Unit"},{"regex":"A500 Best","model":"A500 Best"},{"regex":"A550 Maxx","model":"A550 Maxx"},{"regex":"Prime B400","model":"Prime B400"},{"regex":"A502[_ ]Aurum","model":"A502 Aurum"},{"regex":"A503[ _]Optima","model":"A503 Optima"},{"regex":"A551 Sky 4G","model":"A551 Sky 4G"},{"regex":"A553 Power","model":"A553 Power"},{"regex":"A555 Universe","model":"A555 Universe"},{"regex":"ERGO[_ ]A556","model":"A556"},{"regex":"ERGO[_ ]F500","model":"F500"},{"regex":"ERGO[_ ]F501","model":"F501"},{"regex":"B500 First","model":"B500 First"},{"regex":"Force F500","model":"Force F500"},{"regex":"GoTab GBT9","model":"GoTab GBT9","device":"tablet"},{"regex":"GoTab Gti8","model":"GoTab GTi8","device":"tablet"},{"regex":"ERGO[_ ]Tab[ _]Crystal[ _]Lite","model":"Tab Crystal Lite","device":"tablet"},{"regex":"ERGO[_ ]Tab[ _]Hero[ _]II","model":"Tab Hero II","device":"tablet"}]},"Ericsson":{"regex":"(?:Ericsson(?:/ )?[a-z0-9]+)|(?:R380 2.0 WAP1.1)","device":"feature phone","models":[{"regex":"Ericsson(?:/ )?([a-z0-9]+)","model":"$1"},{"regex":"R380 2.0 WAP1.1","model":"R380"}]},"Energizer":{"regex":"PowerMax","device":"smartphone","models":[{"regex":"PowerMax(P[0-9]+S?)","model":"Power Max $1"}]},"eTouch":{"regex":"eTouch ?([a-z0-9]+)","device":"smartphone","model":"$1"},"Etuline":{"regex":"(ETL-S(?:3520|4521|5042|5084|6022)|ETL-T(?:752G|882G|9[78]0))[/); ]","device":"smartphone","models":[{"regex":"(ETL-S(?:[^/); ]+))","model":"$1"},{"regex":"(ETL-T(?:[^/); ]+))","device":"tablet","model":"$1"}]},"Storex":{"regex":"eZee[^a-z]*Tab ?([^;/]*) Build|STOREX LinkBox","device":"tablet","models":[{"regex":"eZee[^a-z]*Tab ?([^;/]*) Build","model":"eZee\'Tab$1"},{"regex":"STOREX LinkBox","model":"LinkBox","device":"tv"}]},"Evertek":{"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","device":"smartphone","models":[{"regex":"(E70[25]0HD|E805[01]HD|E9054HD|E8050HG|E7914HG)","device":"tablet","model":"Everpad $1"},{"regex":"(Ever(?:Glory|Shine|Miracle|Mellow|Classic|Trendy|Fancy|Vivid|Slim|Glow|Magic|Smart|Star)[^/;]*) Build","model":"$1"}]},"Evolio":{"regex":"Evolio|M4MAGIC","device":"smartphone","models":[{"regex":"M4MAGIC","model":"M4 Magic"},{"regex":"Evolio_M5Pro","model":"M5 Pro"},{"regex":"Evolio[ _](M6|S4 Cobalt|S5|X10|Yuppi)","model":"$1"}]},"Evolveo":{"regex":"EVOLVEO[ _]([^;/]*) Build","device":"smartphone","models":[{"regex":"Smart TV ([^;/]*) Build","device":"tv","model":"Smart TV $1"},{"regex":"EVOLVEO[ _]([^;/]*) Build","model":"$1"}]},"Explay":{"regex":"Explay|ActiveD[ _]|Atlant |Informer[ _][0-9]+|CinemaTV 3G|Surfer[ _][0-9\\\\.]|sQuad[ _][0-9\\\\.]|Onliner[1-3]|RioPlay|Leader","device":"tablet","models":[{"regex":"ActiveD[ _]7.4[ _]3G","model":"ActiveD 7.4 3G"},{"regex":"ActiveD[ _]8.2[ _]3G","model":"ActiveD 8.2 3G"},{"regex":"CinemaTV[ _]3G","model":"CinemaTV 3G"},{"regex":"Informer[ _]([0-9]+(?:[ _]3G)?)","model":"Informer $1"},{"regex":"Surfer[ _]([0-9\\\\.]+(?:[ _]3G)?)","model":"Surfer $1"},{"regex":"sQuad[ _]([0-9\\\\.]+(?:[ _]3G)?)","model":"sQuad $1"},{"regex":"Onliner([1-3])","model":"Onliner $1"},{"regex":"Atlant[;/) ]","device":"smartphone","model":"Atlant"},{"regex":"Explay[ _-]([^;/]+) Build","model":"$1"},{"regex":"Explay[ _-]([^;/]+)[;/)]","model":"$1"},{"regex":"(RioPlay)[;/) ]","device":"smartphone","model":"Rio Play"},{"regex":"Leader","model":"Leader"}]},"EvroMedia":{"regex":"Playpad[ _]","device":"tablet","models":[{"regex":"Playpad 3G GOO","model":"Play Pad 3G Goo"},{"regex":"PlayPad 3GTab XL","model":"Play Pad 3G Tab XL"}]},"EKO":{"regex":"EKO","device":"smartphone","models":[{"regex":"EKO[ _-]?([^;/)]+) Build","model":"$1"},{"regex":"EKO[ _-]?([^;/)]+)[);/ ]","model":"$1"}]},"Extrem":{"regex":"Rock X9+","device":"smartphone","models":[{"regex":"Rock X9+","model":"Rock X9+"}]},"Ezze":{"regex":"EZZE-|EZ[a-z0-9]+","device":"feature phone","models":[{"regex":"EZZE-([a-z0-9]+)","model":"$1"},{"regex":"EZ([a-z0-9]+)","model":"EZ$1"}]},"Ezio":{"regex":"EZIO-([a-z0-9]+)","device":"feature phone","model":"$1"},"Forstar":{"regex":"Amosta 3G5","device":"smartphone","models":[{"regex":"Amosta 3G5","model":"Amosta 3G5"}]},"Foxconn":{"regex":"InFocus M[0-9]+[a-z]?","device":"smartphone","models":[{"regex":"InFocus M([0-9]+[a-z]?)","model":"InFocus M$1"}]},"Fondi":{"regex":"Fondi[- _]([^;/)]+)|(T702|Q008B|Q010B|Q718B|Q902|T602B|T707G|T708B|T725B|T725B1|T907B)(?:\\\\)| Build)","device":"smartphone","models":[{"regex":"(T702|T602B)","model":"$1"},{"regex":"(Q008B|Q010B|Q718B|Q902|T707G|T708B|T725B|T725B1|T907B)","device":"tablet","model":"$1"},{"regex":"Fondi[- _]([^;/)]+)","model":"$1"}]},"Fairphone":{"regex":"(FP(?:1U?|2))[);/ ]","device":"smartphone","model":"$1"},"Famoco":{"regex":"(FX[123]00)","device":"smartphone","model":"$1"},"FiGO":{"regex":"ATRIUM II F55L2|TRIO F40LT|EPIC F50G|Gravity X55L|Orion M50L|ULTRA M50G|M405B|VIRTUE3|F55L Build","device":"smartphone","models":[{"regex":"ATRIUM II F55L2","model":"Atrium II"},{"regex":"(F55L)","model":"$1"},{"regex":"TRIO F40LT","model":"Trio F40LT"},{"regex":"EPIC F50G","model":"Epic F50G"},{"regex":"(Gravity X55L|Orion M50L)","model":"$1"},{"regex":"ULTRA M50G","model":"Prime"},{"regex":"M405B_8GB","model":"Virtue II 8GB"},{"regex":"M405B","model":"Virtue II"},{"regex":"VIRTUE3","model":"Virtue III"}]},"FNB":{"regex":"ConeXis (A[12]|X[12])|SP5045V","device":"smartphone","models":[{"regex":"SP5045V","model":"SP5045V"},{"regex":"ConeXis A1","model":"ConeXis A1"},{"regex":"ConeXis A2","model":"ConeXis A2"},{"regex":"ConeXis X1","model":"ConeXis X1"},{"regex":"ConeXis X2","model":"ConeXis X2"}]},"Fujitsu":{"regex":"F-01[FHJK]|F-02[EFGH]|F-03[DEFGH]|F-04[EG]|F-05[DEFJ]|F-06E|F-07[DE]|F-08D|F-09[DE]|F-10D|F-11D|F-12C|M532|FARTM933KZ[);/ ]","device":"smartphone","models":[{"regex":"F-01F","model":"Arrows NX F-01F"},{"regex":"F-01J","model":"Arrows NX F-01J"},{"regex":"F-01K","model":"Arrows NX F-01K"},{"regex":"F-01H","model":"Arrows Fit F-01H"},{"regex":"F-02E","model":"Arrows X F-02E"},{"regex":"F-02G","model":"Arrows NX F-02G"},{"regex":"F-02H","model":"Arrows NX F-02H"},{"regex":"F-03D","model":"Arrows Kiss F-03D"},{"regex":"F-03E","model":"Arrows Kiss F-03E"},{"regex":"F-03F","model":"Disney Mobile F-03F"},{"regex":"F-03H","model":"Arrows SV F-03H"},{"regex":"F-04E","model":"Arrows V F-04E"},{"regex":"F-04G","model":"Arrows NX F-04G"},{"regex":"F-05D","model":"Arrows X LTE F-05D"},{"regex":"F-05F","model":"Arrows NX F-05F"},{"regex":"F-05J","model":"Arrows Be F-05J"},{"regex":"F-06E","model":"Arrows NX F-06E"},{"regex":"F-07D","model":"Arrows \u03bc F-07D"},{"regex":"F-07E","model":"Disney Mobile F-07E"},{"regex":"F-08D","model":"Disney Mobile F-08D"},{"regex":"F-09D","model":"ANTEPRIMA F-09D"},{"regex":"F-09E","model":"Raku-Raku Smartphone Premium F-09E"},{"regex":"F-10D","model":"Arrows X F-10D"},{"regex":"F-11D","model":"Arrows Me F-11D"},{"regex":"F-12C","model":"F-12C"},{"regex":"F-02F","model":"Arrows Tab F-02F","device":"tablet"},{"regex":"F-03G","model":"Arrows Tab F-03G","device":"tablet"},{"regex":"F-05E","model":"Arrows Tab F-05E","device":"tablet"},{"regex":"FARTM933KZ","model":"Arrows Tab M504/HA4","device":"tablet"},{"regex":"M532[);/ ]","model":"Stylistic","device":"tablet"}]},"G-TiDE":{"regex":"G-TiDE","device":"smartphone","models":[{"regex":"Shining7","model":"Shining 7"},{"regex":"G-TiDE_(A1|S[34])","model":"$1"},{"regex":"G-TiDE V6","model":"V6"},{"regex":"E(57|60|66|72|77)","model":"$1"}]},"Gemini":{"regex":"(GEM[0-9]+[a-z]*)","device":"tablet","model":"$1"},"Geotel":{"regex":"GEOTEL","device":"smartphone","models":[{"regex":"G1","model":"G1"}]},"Ghia":{"regex":"GHIA|QS702","device":"smartphone","models":[{"regex":"QS702","model":"QS702"},{"regex":"GHIA_ZEUS_3G","model":"Zeus 3G"},{"regex":"GHIA_AXIS7","model":"Axis 7","device":"tablet"}]},"Gigabyte":{"regex":"GSmart [a-z0-9 ]+ Build|Gigabyte-[a-z0-9]+","device":"smartphone","models":[{"regex":"(GSmart [a-z0-9 ]+) Build","model":"$1"},{"regex":"Gigabyte-([a-z0-9]+)","model":"$1"}]},"Gigaset":{"regex":"Gigaset","device":"smartphone","models":[{"regex":"Gigaset QV(1030|830)","model":"Gigaset QV$1","device":"tablet"},{"regex":"Gigaset ([^;/]+) Build","model":"$1"},{"regex":"Gigaset ([^;/)]+)[);/ ]","model":"$1"}]},"Ginzzu":{"regex":"GINZZU[_ ]|((?:RS(?:7[14]|81|9[67])D)|S50[45]0|S5120|RS(6[12]|94)D|S40[23]0|RS8502|RS9602)[);/ ]","device":"smartphone","models":[{"regex":"GINZZU[_ ]?(S40[17]0|S4710|ST6040)","model":"$1"},{"regex":"GINZZU[_ ]?(GT-7105)","model":"$1","device":"tablet"},{"regex":"(RS6[12]D) ULTIMATE","model":"$1 Ultimate"},{"regex":"((?:RS(?:7[14]|81|9[67])D)|S50[45]0|S5120|S40[23]0|RS8502|RS9602|RS94D)[);/ ]","model":"$1"}]},"Gionee":{"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 ","device":"smartphone","models":[{"regex":"GN810[);/ ]","model":"GN810","device":"phablet"},{"regex":"GN([0-9]{3,4}[a-z]?)[);/ ]","model":"GN$1"},{"regex":"V188S[);/ ]","model":"V188S"},{"regex":"V188[);/ ]","model":"V188"},{"regex":"F103( Pro)? Build","model":"F103$1"},{"regex":"M7 Power","model":"M7 Power"},{"regex":"P5 mini Build","model":"P5 mini"},{"regex":"P7 Max Build","model":"P7 Max"},{"regex":"(?:(?:GIO-)?GIONEE[ _-])?Dream_D1[);/ ]","model":"Dream D1"},{"regex":"(?:GIO-)?GIONEE[ _-]([a-z0-9_-]+).*Android","model":"$1"},{"regex":"Android.*(?:GIO-)?GIONEE[ _-]([a-z0-9_-]+)","model":"$1"},{"regex":"(?:GIO-)?GIONEE[ _-]?([a-z0-9]+)","model":"$1","device":"feature phone"}]},"Grape":{"regex":"(?:Grape[ _])?GTM-5([^;/]+) Build","device":"smartphone","model":"GTM-5$1"},"Vizio":{"regex":"Vizio|VAP430|VTAB1008","device":"tv","models":[{"regex":"VAP430","model":"VAP430"},{"regex":"VTAB1008","device":"tablet","model":"VTAB1008"}]},"GOCLEVER":{"regex":"GOCLEVER|QUANTUM_[0-9]{3}|QUANTUM [0-9]{1}|QUANTUM 700N|QUANTUM_(1010N|1010M|900)|ARIES|INSIGNIA|ORION_|ELIPSO|LIBRA[ _]97","device":"smartphone","models":[{"regex":"QUANTUM_(1010N|1010M|900)","model":"QUANTUM $1","device":"tablet"},{"regex":"INSIGNIA_785_PRO","model":"INSIGNIA 785 PRO","device":"tablet"},{"regex":"(ORION|ARIES|ELIPSO)[_ ](71|101|102)","model":"$1 $2","device":"tablet"},{"regex":"TQ700N","model":"QUANTUM 700N","device":"tablet"},{"regex":"((?:QUANTUM|ARIES|INSIGNIA|ORION|ELIPSO)[ _-]?[^;/]+) Build","model":"$1"},{"regex":"GOCLEVER[ _-]TAB[ _-]?([^;/]+) Build","model":"TAB $1","device":"tablet"},{"regex":"GOCLEVER[ _-]?([^;/]+) Build","model":"$1"},{"regex":"TAB ([^;/)]+) Build/GOCLEVER","model":"TAB $1","device":"tablet"},{"regex":"([^;/)]+) Build/GOCLEVER","model":"$1"},{"regex":"GOCLEVER[ _-]?TAB[ _-]([^;/)]+)[;/)]","model":"TAB $1","device":"tablet"},{"regex":"GOCLEVER[ _-]?([^;/)]+)[;/)]","model":"$1"},{"regex":"LIBRA[ _]97","model":"Libra 97","device":"tablet"}]},"GoMobile":{"regex":"GO Onyx|GO[0-9]{3,4}","device":"smartphone","models":[{"regex":"GO Onyx","model":"Go Onyx"},{"regex":"GO([0-9]{3,4})","model":"Go$1"}]},"Goly":{"regex":"Goly[ _-]","device":"smartphone","models":[{"regex":"Goly[ _-]([^;/]+) Build","model":"$1"},{"regex":"Goly[ _-]([^;/)]+)[;/)]","model":"$1"}]},"Google":{"regex":"Nexus|GoogleTV|Glass|CrKey[^a-z0-9]|Pixel(?: Build|\\\\))|Pixel (?:XL|C|[23]|[23] XL)","device":"smartphone","models":[{"regex":"Glass","model":"Glass"},{"regex":"Galaxy Nexus","model":"Galaxy Nexus"},{"regex":"(Nexus (?:S|4|5X?|One))","model":"$1"},{"regex":"(Nexus (?:6P?))","device":"phablet","model":"$1"},{"regex":"(Nexus (?:7|9|10))","device":"tablet","model":"$1"},{"regex":"CrKey[^a-z0-9]","model":"Chromecast","device":"tv"},{"regex":"GoogleTV","device":"tv","model":"GoogleTV"},{"regex":"Pixel(?: Build|\\\\))","model":"Pixel"},{"regex":"Pixel XL","model":"Pixel XL"},{"regex":"Pixel 3 XL","model":"Pixel 3 XL"},{"regex":"Pixel 2 XL","model":"Pixel 2 XL"},{"regex":"Pixel 3","model":"Pixel 3"},{"regex":"Pixel 2","model":"Pixel 2"},{"regex":"Pixel C","device":"tablet","model":"Pixel C"}]},"Gradiente":{"regex":"GRADIENTE","device":"feature phone","models":[{"regex":"GRADIENTE-([a-z0-9]+)","model":"$1"},{"regex":"GRADIENTE ([a-z0-9\\\\-]+)","model":"$1"}]},"Grundig":{"regex":"GR?-TB[0-9]+[a-z]*|GRUNDIG|portalmmm/2\\\\.0 G","device":"tv","models":[{"regex":"(GR?-TB[0-9]+[a-z]*)","device":"tablet","model":"$1"},{"regex":"GRUNDIG ([a-z0-9]+)","model":"$1"},{"regex":"portalmmm/2\\\\.0 G([a-z0-9]+)","model":"G$1"}]},"Hafury":{"regex":"HAFURY","device":"smartphone","models":[{"regex":"(MIX|UMAX)","model":"$1"}]},"Haier":{"regex":"Haier|(?:HW-)?W(?:716|757|860|970)[);/ ]|(?:HM-)?(G(?:152|303|353|552|70[01])?-FL|G(?:303)?-W|I(?:557)?-FL)|(?:PAD[ _](D71|G781|d85))","device":"smartphone","models":[{"regex":"(?:HM-)?(G(?:152|353|552|70[01])|G(?:303)|I(?:557))","model":"$1"},{"regex":"(?:HW-)?W(716|757|860|970)[);/ ]","model":"W$1"},{"regex":"PAD[ -_](D71|G781|d85)","device":"tablet","model":"$1"},{"regex":"Haier[ _\\\\-](H[WT]-[^/;]+) Build","model":"$1"},{"regex":"Haier[ _\\\\-](H[WT]-[a-z0-9_\\\\-]+)","model":"$1"},{"regex":"Haier[ _\\\\-](sy[0-9]+)","model":"$1"},{"regex":"Haier[ _\\\\-]([a-z0-9\\\\-]+)","model":"$1","device":"feature phone"}]},"HannSpree":{"regex":"(HSG[0-9]{4})|SN97T41W|SN1AT71W\\\\(B\\\\)|SN70T51A|SN70T31?|T7-QC","device":"tablet","models":[{"regex":"(HSG[0-9]{4})","model":"$1"},{"regex":"SN1AT71W\\\\(B\\\\)","model":"SN1AT71W(B)"},{"regex":"SN70T31","model":"SN70T31"},{"regex":"SN70T3","model":"SN70T3"},{"regex":"SN70T51A","model":"SN70T51A"},{"regex":"SN97T41W","model":"SN97T41W"},{"regex":"T7-QC","model":"SNAT71BUE"}]},"Hasee":{"regex":"Hasee","device":"smartphone","models":[{"regex":"Hasee ([^;/]+) Build","model":"$1"},{"regex":"Hasee ([^;/)]+)[);/ ]","model":"$1"}]},"Hisense":{"regex":"(?:HS-)?Hisense ([^;/]+) Build|Hisense [^);/]+|HS-(?:G|U|EG?|I|L|T|X)[0-9]+[a-z0-9\\\\-]*|E270BSA|M470BS[AE]|E2281|EG680|HLTE700T","device":"smartphone","models":[{"regex":"E270BSA","device":"tablet","model":"Sero 7"},{"regex":"M470BS[AE]","device":"tablet","model":"Sero 7 Pro"},{"regex":"E2281","device":"tablet","model":"Sero 8"},{"regex":"HLTE700T","model":"A6"},{"regex":"EG680","model":"Smartfren Andromax Z"},{"regex":"(HS-(?:G|U|EG?|I|L|T|X)[0-9]+[a-z0-9\\\\-]*)","model":"$1"},{"regex":"(?:HS-)?Hisense ([^;/]+) Build","model":"$1"},{"regex":"Hisense ([^);/]+)","model":"$1"}]},"Hi-Level":{"regex":"HLV-T([a-z0-9]+)","device":"tablet","model":"HLV-T$1"},"Hoffmann":{"regex":"(HOFFMANN|Neo[_ ]A[139]00)[);/ ]","device":"smartphone","models":[{"regex":"Neo[_ ](A[139]00)","model":"Neo $1"},{"regex":"HOFFMANN[ _]X[-_ ](Prime|Twist)","model":"X $1"}]},"Homtom":{"regex":"Homtom|(?:HT[0-9]{1,2})(?: ?Pro)?[);/ ]","device":"smartphone","models":[{"regex":"(HT[0-9]{1,2}(?: ?Pro)?)[);/ ]","model":"$1"},{"regex":"Homtom ([^;/]+) Build","model":"$1"}]},"Hosin":{"regex":"HOSIN[ _-]","device":"smartphone","models":[{"regex":"HOSIN[ _-]([^;/]+) Build","model":"$1"},{"regex":"HOSIN[ _-]([^;/]+)[;/)]","model":"$1"}]},"Hoozo":{"regex":"HOOZO[_ ](MT232|MT Pad 116 LTE|X1001)[);/ ]","device":"tablet","model":"$1"},"Huawei":{"regex":"(HW-)?(?:Huawei|Ideos|Honor[ _]?|(?:(?:AGS|AGS2|ALE|ALP|AMN|ANE|ARE|ARS|ATH|ATU|AUM|BAC|BAH|BAH2|BG2|BGO|BKK|BKL|BLA|BLL|BLN|BND|BTV|CAG|CAM|CAN|CAZ|CHC|CHE[12]?|CHM|CLT|CMR|COL|COR|CPN|CRO|CRR|CUN|DIG|DIG|DLI|DRA|DUA|DUB|DUK|EDI|ELE|EML|EVA|EVR|FDR|FIG|FLA|FRD|GRA|HLK|HMA|HRY|HWI|H[36]0|INE|JAT|JDN|JDN2|JKM|JMM|JSN|KIW|KNT|KOB|KSA|LDN|LLD|LND|LON|LUA|LY[AO]|MAR|MHA|MRD|MYA|NCE|NEM|NEO|NXT|PAR|PCT|PIC|PLE|PLK|POT|PRA|RIO|RNE|RVL|SCC|SCL|SEA|SHT|SLA|SNE|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,2}?)|H1711|U(?:8230|8500|8661|8665|8667|8800|8818|8860|9200|9508))[);/ ])|hi6210sft|HRY-LX1MEB|GEM-70[1-3]L|PE-UL00","device":"smartphone","models":[{"regex":"ARS-([AT]L00|L22)[);/ ]","model":"Y Max"},{"regex":"U(8230|8661|8667)[);/ ]","model":"U$1"},{"regex":"TAG-[ACT]L00","model":"Enjoy 5S"},{"regex":"DIG-(?:TL10|AL00)","model":"Enjoy 6S"},{"regex":"NCE-AL[10]0","model":"Enjoy 6"},{"regex":"SLA-(?:AL00|TL10)","model":"Enjoy 7"},{"regex":"DUA-[TA]L00","model":"Honor Play 7"},{"regex":"FIG-(?:AL[10]0|TL10)","model":"Enjoy 7S"},{"regex":"LDN-(?:AL[12]0|TL20)","model":"Enjoy 8"},{"regex":"ATU-(?:AL1|TL10)","model":"Enjoy 8e"},{"regex":"FLA-AL10","model":"Enjoy 8 Plus"},{"regex":"MRD-[TA]L00","model":"Enjoy 9e"},{"regex":"U8500[);/ ]","model":"Ideos X2"},{"regex":"U8510[);/ ]","model":"Ideos X3"},{"regex":"U8665[);/ ]","model":"Fusion 2"},{"regex":"G735-L(?:03|12|23)","model":"G Play"},{"regex":"CHC-U(?:0[13]|23)","model":"G Play Mini"},{"regex":"DIG-L21HN","model":"Honor 6C"},{"regex":"DIG-L2[12]","model":"GR3 (2017)"},{"regex":"BLL-L2[12]","model":"GR5 (2017)"},{"regex":"U8800[);/ ]","model":"Ideos X5"},{"regex":"U8818[);/ ]","model":"Ascend G300"},{"regex":"G527-U081","model":"Ascend G527"},{"regex":"G620S-L0[13]","model":"Ascend G620S"},{"regex":"G630-U251","model":"Ascend G630"},{"regex":"U8860[);/ ]","model":"Honor"},{"regex":"H1711[);/ ]","model":"Ascend XT2"},{"regex":"U9200[);/ ]","model":"Ascend P1"},{"regex":"U9500[);/ ]","model":"Ascend D1"},{"regex":"Y221-U(?:[12]2|[0345]3)","model":"Ascend Y221"},{"regex":"Y550-L03","model":"Ascend Y550"},{"regex":"U9508[);/ ]","model":"Honor 2"},{"regex":"YAL-(?:L21|AL00)","model":"Honor 20"},{"regex":"YAL-L41[);/ ]","model":"Honor 20 Pro"},{"regex":"VOG-AL00[);/ ]","model":"Honor P30 Pro"},{"regex":"CHE2?-[UT]L00[HM]?|CHE1-CL[12]0|CHE2-L(?:1[12]|23)|Che1-L04|CHE-TL00","model":"Honor 4X"},{"regex":"CHM-[CUT]L00[HM]?","model":"Honor Play 4C"},{"regex":"JDN-AL00","model":"Honor Pad 2","device":"tablet"},{"regex":"JAT-AL00","model":"Honor Play 8A"},{"regex":"KNT-(?:AL[12]0|[TU]L10)","model":"Honor V8"},{"regex":"DUK-AL20","model":"Honor V9"},{"regex":"JMM-AL[10]0","model":"Honor V9 Play"},{"regex":"BKL-(?:AL00|AL20|AL30|L09|TL10)","model":"Honor V10"},{"regex":"PCT-[TA]L10","model":"Honor V20"},{"regex":"BKL-L04","model":"Honor View 10"},{"regex":"PCT-L29","model":"Honor View 20"},{"regex":"(?:Honor_|HW-)?G621-TL00M?[);/ ]","model":"G621"},{"regex":"(?:Honor_|HW-)?H30-(?:C00|L01M?|L02|U10|T00|T10)(?:_TD)?[);/ ]","model":"Honor 3C"},{"regex":"(?:Honor_|HW-)?SCL-(?:AL00|CL00|TL00H?)(?:_TD)?[);/ ]","model":"Honor 4A"},{"regex":"(?:Honor_|HW-)?CAM-(?:AL00|TL00H|TL00)(?:_TD)?[);/ ]","model":"Honor 5A"},{"regex":"(?:Honor_|HW-)?KIW-(?:AL10|TL00H|[TC]L00|L2[124]|UL00)(?:_TD)?[);/ ]","model":"Honor 5X"},{"regex":"(?:Honor_|HW-)?CHM-U01(?:_TD)?[);/ ]","model":"Honor 4C"},{"regex":"(?:Honor_|HW-)?H60-L(?:01|02|03|04|11|12)(?:_TD)?[);/ ]","model":"Honor 6"},{"regex":"MYA-TL10","model":"Honor 6 Play"},{"regex":"PE-UL00","model":"Honor 6 Plus"},{"regex":"(?:Honor_|HW-)?SCL-L01(?:_TD)?[);/ ]","model":"Honor Y6"},{"regex":"(?:Honor_|HW-)?LYO-L21","model":"Honor Y6 II Compact"},{"regex":"(?:Honor_|HW-)?PLK-(?:AL10|CL00|TL00|TL01H?|UL00|L01)[);/ ]","model":"Honor 7"},{"regex":"AUM-(?:AL[20]0|L33[A]?|TL20)","model":"Honor 7A"},{"regex":"AUM-L29","model":"Honor 7A Pro"},{"regex":"(?:Honor_|HW-)?(?:LND-(?:AL[34]0|L29|TL40)|AUM-L41)[);/ ]","model":"Honor 7C"},{"regex":"(?:Honor_|HW-)?DUA-(?:L22|LX3)[);/ ]","model":"Honor 7S"},{"regex":"(?:Honor_|HW-)?NEM-(?:AL10|L51|UL10|TL00)[);/ ]","model":"Honor 5C"},{"regex":"(?:Honor_|HW-)?NEM-(?:L22|TL00H)[);/ ]","model":"Honor 5C Dual SIM"},{"regex":"(?:Honor_|HW-)?NEM-L21[);/ ]","model":"Honor 7 Lite"},{"regex":"(?:HONOR[ _]?)?DLI-(?:AL10|L[24]2|TL20)","model":"Honor 6A"},{"regex":"JMM-L22","model":"Honor 6C Pro"},{"regex":"(?:HONOR[ _]?)?BLN-(?:L2[124]|AL[1234]0|TL[01]0)","model":"Honor 6X"},{"regex":"ATH-(?:AL00|UL00|TL00H)","model":"Honor 7i"},{"regex":"(?:HONOR[ _]?)?BND-(?:AL[01]0|TL10|L2[14]|L31)","model":"Honor 7X"},{"regex":"FRD-(?:AL[01]0|L0[249]|L1[49]|DL00)","model":"Honor 8"},{"regex":"JAT-L(29|X[13])","model":"Honor 8A"},{"regex":"BKK-(?:AL[10]0|L21|L22|LX2)","model":"Honor 8C"},{"regex":"JSN-L(?:2[123]|42)|JSN-[TA]L00[a]?","model":"Honor 8X"},{"regex":"KSA-LX9","model":"Honor 8S"},{"regex":"ARE-(?:AL[10]0|L22HN|TL00)","model":"Honor 8X Max"},{"regex":"PRA-(?:AL00X|AL00|TL10)","model":"Honor 8 Lite"},{"regex":"DUK-(?:L09|TL30)","model":"Honor 8 Pro"},{"regex":"JAT-L41","model":"Honor 8A Pro"},{"regex":"VEN-L22","model":"Honor 8 Smart"},{"regex":"STF-(?:AL[10]0|L09|TL10)","model":"Honor 9"},{"regex":"HLK-AL00","model":"Honor 9X"},{"regex":"LLD-AL[23]0","model":"Honor 9i"},{"regex":"LLD-(?:AL[01]0|L[23]1|TL10)","model":"Honor 9 Lite"},{"regex":"COL-(?:AL[01]0|TL[01]0|L29)","model":"Honor 10"},{"regex":"HRY-(?:AL00|LX[12])|HRY-LX1MEB","model":"Honor 10 Lite"},{"regex":"VKY-TL00","model":"Honor P10 Plus"},{"regex":"CAM-UL00","model":"Honor Holly 3"},{"regex":"TRT-AL00","model":"Honor Holly 4 Plus"},{"regex":"TNY-AL00","model":"Honor Magic 2"},{"regex":"COR-(?:AL[01]0|L29|TL10)","model":"Honor Play"},{"regex":"EDI-AL10","model":"Honor Note 8"},{"regex":"RVL-AL09","model":"Honor Note 10"},{"regex":"GRA-(?:L09|UL00)","model":"P8"},{"regex":"ALE-L(?:02|21|23)|ALE-UL00|ALE-TL00","model":"P8 Lite (2015)"},{"regex":"PRA-L(?:A1|X2|X1|X3)|hi6210sft","model":"P8 Lite (2017)"},{"regex":"CAN-L[01][123]","model":"Nova"},{"regex":"CAZ-(?:AL[01]0|TL[12]0)","model":"Nova"},{"regex":"PIC-(?:[AT]L00|LX9)","model":"Nova 2"},{"regex":"HWI-[AT]L00","model":"Nova 2S"},{"regex":"BAC-(?:L01|TL00)","model":"Nova 2 Plus"},{"regex":"BAC-(?:AL00|L2[12])","model":"Nova 2 Plus Dual SIM"},{"regex":"RNE-L[02]2","model":"Nova 2I"},{"regex":"PAR-(?:[AT]L00|LX[19]|TL20)","model":"Nova 3"},{"regex":"ANE-AL00","model":"Nova 3e"},{"regex":"INE-(?:AL00|LX1r|LX[12]|TL00)","model":"Nova 3i"},{"regex":"SEA-AL10","model":"Nova 5 Pro"},{"regex":"VCE-(L22|[AT]L00)","model":"Nova 4"},{"regex":"MAR-AL00","model":"Nova 4e"},{"regex":"WAS-AL00","model":"Nova Youth"},{"regex":"DIG-L01","model":"Nova Smart"},{"regex":"RIO-L03","model":"GX8"},{"regex":"EVA-(?:AL[10]0|L[012]9|[TCD]L00)","model":"P9"},{"regex":"VNS-L(?:[23]1|62)","model":"P9 Lite"},{"regex":"SLA-L(?:02|03|22|23)","model":"P9 Lite Mini"},{"regex":"DIG-L(?:03|23)","model":"P9 Lite Smart"},{"regex":"VIE-(?:AL10|L[02]9)","model":"P9 Plus"},{"regex":"VTR-(?:L[02]9|AL00|TL00)","model":"P10"},{"regex":"WAS-(?:L(?:X1|X1A|X2|X2J|X3|03T)|TL10)","model":"P10 Lite"},{"regex":"BAC-L[02]3","model":"P10 Selfie"},{"regex":"VKY-(?:AL00|L09|L29)","model":"P10 Plus"},{"regex":"EML-(?:[TA]L00|L[02]9)","model":"P20"},{"regex":"ANE-(?:LX[123]|TL00)","model":"P20 Lite"},{"regex":"CLT-(?:AL0[01]|TL00|L(?:04|[02]9))","model":"P20 Pro"},{"regex":"ELE-L(?:04|09|29)|ELE-AL00","model":"P30"},{"regex":"VOG-L(?:04|09|29)|VOG-TL00","model":"P30 Pro"},{"regex":"MAR-LX(1M|2)","model":"P30 Lite"},{"regex":"MAR-LX[13]A","model":"P30 Lite Dual SIM"},{"regex":"FIG-L(?:A1|X[123])","model":"P smart"},{"regex":"STK-LX1","model":"P smart Z"},{"regex":"POT-LX[13]","model":"P smart (2019)"},{"regex":"POT-[TA]L00a","model":"9S"},{"regex":"CRO-(?:L[02]2|U00)","model":"Y3 (2017)"},{"regex":"CAG-L[02]2","model":"Y3 (2018)"},{"regex":"LUA-U22","model":"Y3II"},{"regex":"CUN-L(?:0[123]|2[123]|33)","model":"Y5II"},{"regex":"CUN-U29","model":"Y5II"},{"regex":"MYA-(?:L(?:02|03|2[23])|U29)","model":"Y5 (2017)"},{"regex":"AMN-LX[129]","model":"Y5 (2019)"},{"regex":"CRO-L[02]3","model":"Y5 Lite (2017)"},{"regex":"CAG-L[02]3","model":"Y5 Lite (2018)"},{"regex":"DRA-(?:LX2|AL00)","model":"Y5 Prime (2018)"},{"regex":"DRA-LX5","model":"Y5 lite"},{"regex":"MYA-L13","model":"Y5 Pro (2017)"},{"regex":"SCC-U21","model":"Y6"},{"regex":"MYA-L11","model":"Y6 (2016)"},{"regex":"MYA-(L41|AL10)","model":"Y6 (2017)"},{"regex":"CAM-L(?:03|21|23|32)","model":"Y6II"},{"regex":"ATU-L(?:11|21|22|X3)","model":"Y6 (2018)"},{"regex":"MRD-L(?:X1[F]?|X3)","model":"Y6 (2019)"},{"regex":"TIT-(?:AL00|L01)","model":"Y6 Pro"},{"regex":"MRD-LX2","model":"Y6 Pro (2019)"},{"regex":"ATU-L(?:31|42)","model":"Y6 Prime (2018)"},{"regex":"TRT-LX[123]","model":"Y7 (2017)"},{"regex":"LDN-L(?:01|X3)","model":"Y7 (2018)"},{"regex":"DUB-(?:LX[13]|TL00)","model":"Y7 (2019)"},{"regex":"DUB-AL20","model":"Y7 Pro (2019)"},{"regex":"LDN-(?:AL00|L21)|TRT-TL10","model":"Y7 Prime"},{"regex":"LDN-(?:LX2|TL10)|TRT-(?:L21A|L53)","model":"Y7 Prime (2018)"},{"regex":"DUB-(?:LX2|AL00)","model":"Y7 Pro (2019)"},{"regex":"FLA-(LX[123]|AL20|TL10)","model":"Y9 (2018)"},{"regex":"JKM-(?:[TA]L00|LX[123])","model":"Y9 (2019)"},{"regex":"STK-(L2[12]|LX3)","model":"Y9 Prime (2019)"},{"regex":"Y625-U03","model":"Y625"},{"regex":"Y635-L0[123]","model":"Y635"},{"regex":"Y635-L21","model":"Y635 Dual SIM"},{"regex":"NXT-(?:AL10|L29)","model":"Mate 8"},{"regex":"MHA-(?:L[02]9|[AT]L00)","model":"Mate 9"},{"regex":"BLL-L23","model":"Mate 9 Lite"},{"regex":"LON-(?:AL00|L29)","model":"Mate 9 Pro"},{"regex":"ALP-(?:[TA]L00|L[02]9)","model":"Mate 10"},{"regex":"RNE-(?:AL00|L(?:01|03|21|23))","model":"Mate 10 Lite"},{"regex":"BLA-(?:A09|L[02]9|[TA]L00)","model":"Mate 10 Pro"},{"regex":"HMA-(?:[AT]L00|L[02]9)","model":"Mate 20"},{"regex":"VOG-AL10","model":"P30 Pro"},{"regex":"LYA-AL00P","model":"Mate 20 RS"},{"regex":"LYA-(?:AL[01]0|L[02]9|L0C|TL00)","model":"Mate 20 Pro"},{"regex":"SNE-(?:AL00|LX[0-3])","model":"Mate 20 Lite"},{"regex":"EVR-(?:[TA]L00|L29)","model":"Mate 20 X"},{"regex":"CRR-(?:L09|UL00)","model":"Mate S"},{"regex":"NEO-AL00","model":"Mate RS"},{"regex":"NEO-L29","model":"Mate RS Porsche Design"},{"regex":"BND-L34","model":"Mate SE"},{"regex":"Bucare Y330-U05","model":"Y330-U05"},{"regex":"DRA-L(?:01|03|21|23|X3)","model":"Y5 (2018)"},{"regex":"ATH-UL0[16]","model":"ShotX"},{"regex":"T1-A21w","device":"tablet","model":"Honor Tablet Note"},{"regex":"CMR-(?:AL[01]9|W09)","device":"tablet","model":"MediaPad M5 10.8"},{"regex":"GEM-70[1-3]L","device":"tablet","model":"MediaPad X2"},{"regex":"JDN2-(:?L09|AL00)|BAH2-(?:L09|W19)","device":"tablet","model":"MediaPad M5 lite"},{"regex":"SHT-(?:AL|W)09","device":"tablet","model":"MediaPad M5 8.4"},{"regex":"VRD-AL09","device":"tablet","model":"MediaPad M6 8.4"},{"regex":"BTV-W09","device":"tablet","model":"MediaPad M3 8"},{"regex":"BAH-W09|CPN-(?:L|W)09|CPN-AL00","device":"tablet","model":"MediaPad M3 Lite"},{"regex":"BAH-(?:L09|AL00)","device":"tablet","model":"MediaPad M3 Lite 10"},{"regex":"BTV-DL09","device":"tablet","model":"MediaPad M3"},{"regex":"AGS2-(?:[LW]09|L03)","device":"tablet","model":"MediaPad T5 10"},{"regex":"AGS-(?:L0[39]|W09)","device":"tablet","model":"MediaPad T3 10"},{"regex":"KOB-(?:L|W)09","device":"tablet","model":"MediaPad T3 8"},{"regex":"BG2-(?:U0[13]|W09)","device":"tablet","model":"MediaPad T3 7"},{"regex":"BGO-L03","device":"tablet","model":"MediaPad T2 7.0"},{"regex":"(?:BGO-DL09|PLE-70[13]L)","device":"tablet","model":"MediaPad T2 7.0 Pro"},{"regex":"JDN-L01","device":"tablet","model":"MediaPad T2 8.0 Pro"},{"regex":"FDR-A01(?:L|w)","device":"tablet","model":"MediaPad T2 10.0 Pro"},{"regex":"T1-A21L","device":"tablet","model":"MediaPad T1 10"},{"regex":"(MediaPad[^/;]*) Build","device":"tablet","model":"$1"},{"regex":"Ideos([^;/]*) Build","model":"Ideos$1"},{"regex":"(?:HUAWEI )?MT([0-9]+)","device":"phablet","model":"Ascend Mate $1"},{"regex":"Huawei[ _\\\\-]?([^/;]*) Build","model":"$1"},{"regex":"(?:HW-)?Huawei(?:/1\\\\.0/0?(?:Huawei))?[_\\\\- /]?([a-z0-9\\\\-_]+)","model":"$1"},{"regex":"Huawei; ([a-z0-9 \\\\-]+)","model":"$1"}]},"Hyundai":{"regex":"Hyundai|Ultra (?:Active|Air|Charm|Dream|Energy|Latitude|Link|Live|Shadow|Shine|Storm|Style|Sync|Trend|Vision|Wave)|G(24027|2552[34])K|W25042L","device":"smartphone","models":[{"regex":"Ultra (Active|Air|Charm|Dream|Energy Lite|Energy Plus|Energy|Latitude|Link|Live II|Live|Shadow|Shine|Storm|Style|Sync|Trend|Vision|Wave)","model":"Ultra $1"},{"regex":"G25523K","model":"Eternity G23"},{"regex":"G25524K","model":"Eternity G24"},{"regex":"G24027K","model":"Eternity G27"},{"regex":"W25042L","model":"Eternity W42"},{"regex":"Hyundai ([^;/]+) Build","model":"$1","device":"tablet"},{"regex":"Hyundai[ _\\\\-]?([a-z0-9_-]+)","model":"$1","device":"tablet"}]},"i-Joy":{"regex":"i-Joy|i-Call|(?:Neon[79]|Sygnus|Deox|Elektra (?:M|L|XL|XXL))[);/ ]","device":"smartphone","models":[{"regex":"Elektra M[);/ ]","model":"Elektra M"},{"regex":"Elektra L[);/ ]","model":"Elektra L"},{"regex":"Elektra XL[);/ ]","model":"Elektra XL"},{"regex":"Elektra XXL[);/ ]","model":"Elektra XXL","device":"phablet"},{"regex":"Neon([79])[);/ ]","model":"Neon $1","device":"tablet"},{"regex":"Sygnus[);/ ]","model":"Sygnus","device":"tablet"},{"regex":"Deox[);/ ]","model":"Deox","device":"tablet"},{"regex":"i-Call ([^;/]+) Build","model":"i-Call $1"},{"regex":"i-Joy ([^;/]+) Build","model":"$1"}]},"iBall":{"regex":"iBall[ _]([^/;]*)[ _]Build","device":"tablet","model":"$1"},"iRola":{"regex":"iRola ([^/;]+) Build|(DX758|DX752|DX752|DX758[ _]?Pro) Build","device":"tablet","models":[{"regex":"DX758[ _]?Pro","model":"DX758 Pro"},{"regex":"(DX758|DX752)","model":"$1"},{"regex":"iRola ([^/;]+) Build","model":"$1"}]},"Irbis":{"regex":"TZ(150|165|17[5-8]|77[17]|753|794|8[34]1|85[47]|86[45]|88[124]|89[12]|49|716|772)|T(?:Zone|Zart)|(SP(?:0[56]|2[01]|4[1-36]|45[45]|50))[;)\\\\ ]","device":"tablet","models":[{"regex":"(TZ(?:150|165|17[5-8]|77[17]|753|794|8[34]1|85[47]|86[45]|88[124]|89[12]|49|716|772)|T(?:Zone|Zart))[;)\\\\ ]","model":"$1"},{"regex":"(SP(?:0[56]|2[01]|4[1-36]|45[45]|50))[;)\\\\ ]","device":"smartphone","model":"$1"}]},"iBerry":{"regex":"AUXUS ([^/;]+) Build","device":"smartphone","models":[{"regex":"AUXUS (Core[^/;]+) Build","device":"tablet","model":"$1"},{"regex":"AUXUS ([^/;]+) Build","model":"$1"}]},"iHunt":{"regex":"iHunt|One_ Love_|TITAN_P11000_PRO|Like_(3|4U|3_Pro)|X300 Elite","device":"smartphone","models":[{"regex":"iHunt_Like","model":"Like"},{"regex":"One_ Love_","model":"One Love"},{"regex":"TITAN_P11000_PRO","model":"Titan P11000 Pro"},{"regex":"Like_3_Pro","model":"Like 3 Pro"},{"regex":"Like_3","model":"Like 3"},{"regex":"Like_4U","model":"Like 4U"},{"regex":"X300 Elite","model":"X300 Elite"}]},"IconBIT":{"regex":"NT-(3506M|0704S|0909T|1009T|10[01]1T|1017T|3601P/3602P|3603P|3702S|3805C|3905T|3701S|0701S|0805C|0902S|370[23]M)","device":"tablet","models":[{"regex":"NT-3506M","device":"smartphone","model":"NetTAB Mercury Quad FHD"},{"regex":"NT-0704S","model":"NetTAB Sky LE"},{"regex":"NT-0909T","model":"NetTAB Thor IZ"},{"regex":"NT-1009T","model":"NetTAB Thor quad II"},{"regex":"NT-10[01]1T","model":"NetTAB Thor LE"},{"regex":"NT-1017T","model":"NetTAB Thor 3G quad"},{"regex":"NT-3601P/3602P","model":"NetTAB Pocket 3G"},{"regex":"NT-3603P","model":"NetTAB Pocket 3G Slim"},{"regex":"NT-3702S","model":"NetTAB Sky HD 3G"},{"regex":"NT-3805C","model":"NetTAB Skat 3G quad"},{"regex":"NT-3701S","model":"NetTAB Sky 3G duo"},{"regex":"NT-3905T","model":"NetTAB Thor ZX 3G"},{"regex":"NT-0701S","model":"NetTAB Sky net"},{"regex":"NT-0805C","model":"NetTAB Skat MX"},{"regex":"NT-0902S","model":"NetTAB Space quad RX"},{"regex":"NT-3702M","model":"NetTAB Matrix 3G duo"},{"regex":"NT-3703M","model":"NetTAB Matrix 3GT"}]},"LYF":{"regex":"(LYF[ _])?LS-[456][0-9]{3}|LYF/[^/]+/","device":"smartphone","models":[{"regex":"LS-4004","model":"Flame 2"},{"regex":"LS-5501","model":"Earth 1"},{"regex":"LS-5021","model":"Earth 2"},{"regex":"LS-5505","model":"Water F1"},{"regex":"LS-4503","model":"Flame LS-4503"},{"regex":"LS-4001","model":"Flame 3"},{"regex":"LS-4003","model":"Flame 4"},{"regex":"LS-4002","model":"Flame 5"},{"regex":"LS-4005","model":"Flame 6"},{"regex":"(LYF[ _])?LS-4006","model":"Flame 7"},{"regex":"LS-4008","model":"Flame 7S"},{"regex":"LS-450[58]","model":"Flame 8"},{"regex":"LS-5002","model":"Water 1"},{"regex":"LS-5005","model":"Water 4"},{"regex":"LS-5006","model":"Water 6"},{"regex":"LS-5008","model":"Water 2"},{"regex":"LS-5009","model":"Wind 6"},{"regex":"LS-5013","model":"Wind 5"},{"regex":"LS-5014","model":"Wind 4"},{"regex":"LS-5010","model":"Wind 1"},{"regex":"LS-5015","model":"Water 8"},{"regex":"LS-5016","model":"Wind 7"},{"regex":"LS-5504","model":"Water 7"},{"regex":"LS-5017","model":"Water 11"},{"regex":"LS-5018","model":"Wind 4S"},{"regex":"LS-5020","model":"Water 10"},{"regex":"LS-5201","model":"Water F1S"},{"regex":"LS-5502","model":"Wind 3"},{"regex":"LS-5503","model":"Water 3"},{"regex":"LS-5506","model":"Water 9"},{"regex":"LS-6001","model":"Wind 2"},{"regex":"LYF/([^/]+)/","model":"$1"}]},"Lumus":{"regex":"NEOSR620[;)/ ]","device":"smartphone","model":"Neo SR620"},"M4tel":{"regex":"M4 SS[0-9]{4}(?:-R)?|M4_B[23]","device":"smartphone","models":[{"regex":"SS1050","model":"Joy"},{"regex":"SS1060","model":"Live"},{"regex":"SS1070","model":"Sense"},{"regex":"SS1080","model":"Max One"},{"regex":"SS1090","model":"Max Ultra"},{"regex":"SS4020","model":"Play"},{"regex":"SS4040","model":"In Touch"},{"regex":"SS4045","model":"Style"},{"regex":"SS4345","model":"Soul Mini"},{"regex":"SS4350","model":"Soul"},{"regex":"SS4445","model":"Style Access"},{"regex":"SS4450","model":"Share"},{"regex":"SS4451","model":"Believe"},{"regex":"SS4452","model":"Dream"},{"regex":"SS4453","model":"Inspiration"},{"regex":"SS4455","model":"Excite"},{"regex":"SS4456","model":"Evolution"},{"regex":"SS4457-R","model":"Ever"},{"regex":"SS4457","model":"Elegance"},{"regex":"SS4458-R","model":"Feel Plus"},{"regex":"SS4458","model":"Attitude"},{"regex":"M4_B([23])","model":"B$1"}]},"IMO Mobile":{"regex":"IMO Q2","device":"smartphone","models":[{"regex":"IMO Q2","model":"Q2"}]},"iLA":{"regex":"iLA[-_ ](Silk|X)[);/ ]","device":"smartphone","model":"$1"},"iNew":{"regex":"iNew|(?:V7A|V3 Plus|V3-?E|V3C)(?: Build|[;/\\\\)])","device":"smartphone","models":[{"regex":"V3C(?: Build|[;/\\\\)])","model":"V3C"},{"regex":"V3-?E(?: Build|[;/\\\\)])","model":"V3-E"},{"regex":"V3 Plus(?: Build|[;/\\\\)])","model":"V3 Plus"},{"regex":"V7A(?: Build|[;/\\\\)])","model":"V7A"},{"regex":"iNew[ -_]([^;/]+) Build","model":"$1"}]},"iPro":{"regex":"Kylin[ _]5.[05]","device":"smartphone","models":[{"regex":"Kylin_5.0S","model":"Kylin 5.0S"},{"regex":"Kylin 5.0","model":"Kylin 5.0"},{"regex":"Kylin 5.5","model":"Kylin 5.5"}]},"Infinix":{"regex":"Infinix","device":"smartphone","models":[{"regex":"Infinix[ _-]X260","model":"Buzz"},{"regex":"Infinix[ _-]X502","model":"Alpha Marvel"},{"regex":"Infinix[ _-]X570","model":"Alpha"},{"regex":"Infinix[ _-]X350","model":"Surf Smart"},{"regex":"Infinix[ _-]X351","model":"Surf Smart 3G"},{"regex":"Infinix[ _-]X352","model":"Surf Smart 2"},{"regex":"Infinix[ _-]X403","model":"Surf Spice"},{"regex":"Infinix[ _-]X503","model":"Surf Bravo"},{"regex":"Infinix[ _-]X511","model":"Surf Noir"},{"regex":"Infinix[ _-]X400","model":"Race"},{"regex":"Infinix[ _-]X401","model":"Race Lite"},{"regex":"Infinix[ _-]X450","model":"Race Bolt"},{"regex":"Infinix[ _-]X451","model":"Race Bolt Q"},{"regex":"Infinix[ _-]X454","model":"Race Bolt 2"},{"regex":"Infinix[ _-]X500","model":"Race Eagle"},{"regex":"Infinix[ _-]X501","model":"Race Jet"},{"regex":"Infinix[ _-]X506","model":"Zero"},{"regex":"Infinix[ _-]X509","model":"Zero 2"},{"regex":"Infinix[ _-]X552","model":"Zero 3"},{"regex":"Infinix[ _-]X555","model":"Zero 4"},{"regex":"Infinix[ _-]X(?:574|602)","model":"Zero 4 Plus"},{"regex":"Infinix[ _-]X603","model":"Zero 5"},{"regex":"Infinix[ _-]X603B","model":"Zero 5 Pro"},{"regex":"Infinix[ _-]X507","model":"Hot"},{"regex":"Infinix[ _-]X510","model":"Hot 2"},{"regex":"Infinix[ _-]X55[34]","model":"Hot 3"},{"regex":"Infinix[ _-]X521","model":"Hot S"},{"regex":"Infinix[ _-]X522","model":"Hot S2"},{"regex":"Infinix[ _-]X557","model":"Hot 4"},{"regex":"Infinix[ _-]X556","model":"Hot 4 Pro"},{"regex":"Infinix[ _-]X559c","model":"Hot 5"},{"regex":"Infinix[ _-]X559","model":"Hot 5 Lite"},{"regex":"Infinix[ _-]X606[BC]?","model":"Hot 6"},{"regex":"Infinix[ _-]X608","model":"Hot 6 Pro"},{"regex":"Infinix[ _-]X573B?","model":"Hot S3"},{"regex":"Infinix[ _-]X556","model":"Hot 4 Pro"},{"regex":"Infinix[ _-]X5010","model":"Smart"},{"regex":"Infinix[ _-]X5515F","model":"Smart 2"},{"regex":"Infinix[ _-]X5514D","model":"Smart 2 Pro"},{"regex":"Infinix[ _-]X551","model":"Hot Note","device":"phablet"},{"regex":"Infinix[ _-]X600","model":"Note 2","device":"phablet"},{"regex":"Infinix[ _-]X601","model":"Note 3","device":"phablet"},{"regex":"Infinix[ _-]X572","model":"Note 4","device":"phablet"},{"regex":"Infinix[ _-]X571","model":"Note 4 Pro","device":"phablet"},{"regex":"Infinix[ _-]X604","model":"Note 5","device":"phablet"},{"regex":"Infinix HOT ([a-z]?[1-6])( (?:Lite|Plus|Pro))?","model":"Hot $1$2"},{"regex":"Infinix[ _-](X[78]00)","device":"tablet","model":"$1"},{"regex":"Infinix[ _-](X\\\\d+)","model":"$1"},{"regex":"Infinix[ _-]([a-z0-9_\\\\-]+)","model":"$1"}]},"InFocus":{"regex":"IF(9001|9007|9021|9035) Build","device":"smartphone","models":[{"regex":"IF9001","model":"Turbo 5"},{"regex":"IF9007","model":"A3"},{"regex":"IF9021","model":"Turbo 5 Plus"},{"regex":"IF9035","model":"A2"}]},"InnJoo":{"regex":"InnJoo","device":"smartphone","models":[{"regex":"InnJoo[ _]X","model":"X"}]},"Inkti":{"regex":"intki[ _]([^/;]*)[ _]Build","device":"smartphone","model":"$1"},"Innostream":{"regex":"INNO([a-z0-9]+)","device":"feature phone","model":"INNO$1"},"INQ":{"regex":"INQ[/ ]","device":"feature phone","models":[{"regex":"INQ/([a-z0-9\\\\-]+)","model":"$1"},{"regex":"INQ ([^;/]+) Build","model":"$1","device":"smartphone"}]},"Intex":{"regex":"Intex|(Aqua|Cloud[ _][XY][0-9]{1}|Cloud (?:Fame|Glory) 4G)","device":"smartphone","models":[{"regex":"Intex[ _]([^/;]*)[ _]Build","model":"$1"},{"regex":"(Cloud (?:Fame|Glory) 4G)","model":"$1"},{"regex":"(Aqua|Cloud)[ _\\\\.]([^/;\\\\)]+)(?:[ _]Build|(?<!Build)/|\\\\))","model":"$1 $2"},{"regex":"Intex[ _]([a-z0-9_+\\\\-]+)","model":"$1"}]},"i-mate":{"regex":"i-mate ([a-z0-9]+)","device":"feature phone","model":"$1"},"i-mobile":{"regex":"i-mobile ?[a-z0-9]+|i-Style|IQ ?(9\\\\.1|5\\\\.5|5\\\\.6A?)","device":"feature phone","models":[{"regex":"i-mobile (i-note[^/;]*) Build","model":"$1","device":"tablet"},{"regex":"i-Style ?([^;/]+) Build","model":"i-Style $1","device":"smartphone"},{"regex":"IQ ?(9\\\\.1|5\\\\.5|5\\\\.6A?)","model":"IQ $1","device":"smartphone"},{"regex":"i-mobile (IQ[^/;]*) Build","model":"$1","device":"smartphone"},{"regex":"i-mobile(?: )?([a-z0-9\\\\- ]+) Build","model":"$1"},{"regex":"i-mobile(?: )?([a-z0-9]+)","model":"$1"}]},"iKoMo":{"regex":"iKoMo ([a-z0-9]+)","device":"feature phone","model":"$1"},"iOcean":{"regex":"iOCEAN|M6752|W180|X7[ _]?S|X8 mini","device":"smartphone","models":[{"regex":"X7S-T","model":"X7S-T"},{"regex":"X8 mini pro","model":"X8 Mini Pro"},{"regex":"X8 mini","model":"X8 Mini"},{"regex":"X7[ _]?S","model":"X7S Elite"},{"regex":"(M6752|W180) Build","model":"$1"},{"regex":"iOCEAN[ _\\\\-]?([^/;]+) Build","model":"$1"},{"regex":"iOCEAN[ _\\\\-]?([^);/ ]+)","model":"$1"}]},"iView":{"regex":"733TPC","device":"smartphone","models":[{"regex":"733TPC","device":"tablet","model":"733TPC"}]},"Impression":{"regex":"(?:Impression[ _\\\\-]?([^/;]+)|A502|I10\\\\-LE|ImPad[ _]?(.*)|ImSmart[ _]?(.*)) Build","device":"tablet","models":[{"regex":"(A502)","model":"$1","device":"smartphone"},{"regex":"ImSmart[ _]?(.*) Build","model":"ImSmart $1","device":"smartphone"},{"regex":"ImPad[ _]?(.*) Build","model":"ImPad $1"},{"regex":"(I10\\\\-LE)","model":"$1","device":"smartphone"},{"regex":"Impression[ _\\\\-]?([^/;]+) Build","model":"$1"}]},"iTel":{"regex":"itel|iNote","device":"smartphone","models":[{"regex":"iNote ([^/;]*)Build","model":"iNote $1"},{"regex":"iNote_([a-z0-9\\\\-_]+)","model":"iNote $1"},{"regex":"iTel ([^/;]*)Build","model":"$1"},{"regex":"iTel[_ ]([a-z0-9\\\\-_]*)","model":"$1"}]},"JAY-Tech":{"regex":"TPC-[A-Z0-9]+|TPCY-TX[TE][^);/ ]+","device":"tablet","models":[{"regex":"TPC-([A-Z0-9]+)","model":"Tablet PC $1"},{"regex":"(TPCY-TX[TE][^);/ ]+)","model":"$1"}]},"Jiayu":{"regex":"(JY-[a-z0-9]+)[);/ ]","device":"smartphone","model":"$1"},"Jolla":{"regex":"Jolla","device":"smartphone","model":""},"Just5":{"regex":"JUST5(-)?SPACER(s)?|COSMO[_ ](L707|L808)|BLASTER|FREEDOM[ _](C100|M303|X1)|Freedom","device":"smartphone","models":[{"regex":"COSMO[_ ](L707|L808)","model":"Cosmo $1"},{"regex":"FREEDOM[ _](C100|M303|X1)","model":"Freedom $1"},{"regex":"Freedom","model":"Freedom"},{"regex":"JUST5(-)?SPACER2s","model":"Spacer 2S"},{"regex":"JUST5(-)?SPACER2","model":"Spacer 2"},{"regex":"JUST5SPACER","model":"Spacer"},{"regex":"BLASTER 2","model":"Blaster 2"},{"regex":"BLASTER","model":"Blaster"}]},"Kalley":{"regex":"ELEMENT Q","device":"smartphone","models":[{"regex":"ELEMENT Q","model":"Element Q"}]},"Kaan":{"regex":"KAAN[ _](N[12]|A1)[);/ ]","device":"smartphone","model":"$1"},"Kazam":{"regex":"Kazam ([^;/]+) Build|Trooper_X[0-9][0-9][);/ ]|Tornado 348","device":"smartphone","models":[{"regex":"Tornado 348","model":"Tornado 348"},{"regex":"Trooper_X([0-9])([0-9])[);/ ]","model":"Trooper X$1.$2"},{"regex":"Kazam ([^;/]+) Build","model":"$1"}]},"Keneksi":{"regex":"KENEKSI|(Hemera|Teta Dual)[);/ ]","device":"smartphone","models":[{"regex":"(Hemera|Teta Dual)[);/ ]","model":"$1"},{"regex":"KENEKSI[ _-]liberty","model":"Liberty"},{"regex":"KENEKSI[ _-]FLASH","model":"Flash"},{"regex":"KENEKSI[ _-]SUN","model":"Sun"},{"regex":"KENEKSI[ _-]ZETA","model":"Zeta"},{"regex":"KENEKSI[ _-]SIGMA","model":"Sigma"},{"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)","model":"$1"}]},"Kempler & Strauss":{"regex":"Alumini_?3_?Plus|Alumini ?[23]|KEMPLER_(TV|X)","device":"smartphone","models":[{"regex":"Alumini ?2","model":"Alumini 2"},{"regex":"Alumini_?3_?Plus","model":"Alumini 3 Plus"},{"regex":"Alumini3","model":"Alumini 3"},{"regex":"KEMPLER_TV","model":"TV"},{"regex":"KEMPLER_X","model":"X"}]},"Kiano":{"regex":"Kiano|Elegance_5_0|CORE 10.1 DUAL 3G|Intelect ?(7|8|10)|Slim ?Tab ?\\\\d+(?:[_ ]3GR?)?[);/ ]|Cavion[_ ]","device":"smartphone","models":[{"regex":"Slim ?Tab ?(\\\\d+)(?:[_ ]3GR?)?","model":"Slim Tab $1","device":"tablet"},{"regex":"Cavion[_ ](?:Base[_ ])?(\\\\d+)","model":"Cavion Base $1","device":"tablet"},{"regex":"CORE 10.1 DUAL 3G","model":"CORE 10.1 DUAL 3G","device":"tablet"},{"regex":"Elegance_5_0","model":"Elegance 5.0"},{"regex":"(Kiano)?(Intelect|Elegance) ?(7|8|10)?","model":"$2 $3","device":"tablet"},{"regex":"Kiano[ _]([^;/]+) Build","model":"$1"}]},"Kingsun":{"regex":"Kingsun[ _-]","device":"smartphone","models":[{"regex":"Kingsun[ _-]([^;/]+) Build","model":"$1"},{"regex":"Kingsun[ -]((?!Build)[a-z0-9_-]+)","model":"$1"}]},"Kocaso":{"regex":"Kocaso|M(?:729|7[357][026][hw]?|76[01236][bw]?|83[016]|8[567]0|1050s|106[012368]w?|1070|X736(?:-kit)?|X780)[);/ ]","device":"tablet","models":[{"regex":"M729[);/ ]","model":"M729"},{"regex":"M(7[357][026])[hw]?[);/ ]","model":"M$1"},{"regex":"M(76[01236])[bw]?[);/ ]","model":"M$1"},{"regex":"MX780[);/ ]","model":"MX780"},{"regex":"M(83[016])[);/ ]","model":"M$1"},{"regex":"M(8[567]0)[);/ ]","model":"M$1"},{"regex":"M851[);/ ]","model":"M851"},{"regex":"M1050S[);/ ]","model":"M1050s"},{"regex":"M(106[012368])W?[);/ ]","model":"M$1"},{"regex":"M1070[);/ ]","model":"M1070"},{"regex":"MX736(?:-kit)?[);/ ]","model":"MX736"},{"regex":"MX780[);/ ]","model":"MX780"},{"regex":"Kocaso[ _\\\\-]?([^;/]+) Build","model":"$1"},{"regex":"Kocaso[ _\\\\-]?([a-z0-9_-]+)","model":"$1"}]},"Kogan":{"regex":"Kogan","device":"smartphone","models":[{"regex":"Kogan[ _-]([^;/]+) Build","model":"$1"},{"regex":"Kogan[ _-]([a-z0-9_-]+)","model":"$1"}]},"Komu":{"regex":"Komu[ -]","device":"smartphone","models":[{"regex":"Komu[ -]([^;/]+) Build","model":"$1"},{"regex":"Komu[ -]([a-z0-9_-]+)","model":"$1"}]},"Koobee":{"regex":"Koobee","device":"smartphone","models":[{"regex":"Koobee[ _\\\\-]?([^;/]+) Build","model":"$1"},{"regex":"Koobee[ _\\\\-]?([a-z0-9_-]+)","model":"$1"}]},"Kumai":{"regex":"(?:KM-)?Kumai","device":"smartphone","models":[{"regex":"(?:KM-)?Kumai[ _\\\\-]?([^;/]+) Build","model":"$1"},{"regex":"(?:KM-)?Kumai[ _\\\\-]?([a-z0-9_-]+)","model":"$1"}]},"KT-Tech":{"regex":"(KM-[a-z0-9]+|EV-[a-z0-9]+)[);/ ]","device":"smartphone","model":"$1"},"KDDI":{"regex":"kddi-([a-z0-9]+)","device":"feature phone","model":"$1"},"Kodak":{"regex":"KODAK|IM5[);/ ]","device":"smartphone","models":[{"regex":"IM5","model":"IM5"},{"regex":"KODAK_SMARTWAY_((M|T)1)","model":"Smartway $1"},{"regex":"SMARTWAY X1","model":"Smartway X1"},{"regex":"Tablet (7|10)","device":"tablet","model":"Tablet $1"}]},"KOPO":{"regex":"KOPO[ _-]","device":"smartphone","models":[{"regex":"KOPO[ _\\\\-]?([^/;]+) Build","model":"$1"},{"regex":"KOPO[ _\\\\-]?([^);/ ]+)","model":"$1"}]},"Koridy":{"regex":"KORIDY[ _-]([^/;]+) Build","device":"smartphone","model":"$1"},"KRONO":{"regex":"NET1100","device":"smartphone","models":[{"regex":"NET1100","model":"NET 1100"}]},"K-Touch":{"regex":"K-?Touch[ _][a-z0-9]+","device":"smartphone","models":[{"regex":"K-?Touch[ _]([^/;]*)[ _]Build","model":"$1"},{"regex":"K-?Touch[ _]([a-z0-9]+)","model":"$1"}]},"Kyocera":{"regex":"Kyocera|KWC-|QC-|C5120|C5170|C5155|C5215|C6730|C6750|C6522N?|C6530N|C6740|C6743|E6[89]10|KYL21|KYY23|S2151|KC-S701","device":"smartphone","models":[{"regex":"C5120","model":"Milano"},{"regex":"C5155","model":"Rise"},{"regex":"C5170","model":"Hydro"},{"regex":"C5215","model":"Hydro EDGE"},{"regex":"C6522N?","model":"Hydro XTRM"},{"regex":"C6730","model":"Hydro ICON"},{"regex":"C6750","model":"Hydro ELITE"},{"regex":"C6530N","model":"Hydro LIFE"},{"regex":"C6740(N)?","model":"Hydro WAVE"},{"regex":"C6743","model":"Hydro Reach"},{"regex":"E6810","model":"DuraForce Pro"},{"regex":"E6910","model":"DuraForce Pro 2"},{"regex":"KC-S701","model":"Torque"},{"regex":"KYL21","model":"Digno S"},{"regex":"KYY23","model":"Urbano L03"},{"regex":"(?:Kyocera-)?E6790","model":"DuraForce XD"},{"regex":"S2151","model":"Coast","device":"feature phone"},{"regex":"Kyocera-KZ-([a-z0-9]+)","model":"KZ $1"},{"regex":"Kyocera(?:[\\\\-/])?([a-z0-9]+)","model":"$1"},{"regex":"(?:KWC|QC)-([a-z0-9]+)","model":"$1"}]},"Kr\xfcger&Matz":{"regex":"Kruger Matz|MOVE_","device":"smartphone","models":[{"regex":"MOVE_6_mini","model":"MOVE 6 Mini"},{"regex":"MOVE_([78])","model":"MOVE $1"},{"regex":"DRIVE 4 mini LTE","model":"DRIVE 4 mini LTE"}]},"LAIQ":{"regex":"LAIQ","device":"smartphone","models":[{"regex":"(Glam|New York)","model":"$1"}]},"AIS":{"regex":"iris708","device":"smartphone","models":[{"regex":"iris708","model":"LAVA PRO 4.5"}]},"Lava":{"regex":"Lava[ _]|iris[ _]?([^/;]+)(?:\\\\)| Build)|A(?:67|76) Build|X1 Selfie Build|X41 Plus Build|Flair Z1|PixelV1|Z61_2GB","device":"smartphone","models":[{"regex":"Flair Z1","model":"Flair Z1"},{"regex":"A67 Build","model":"A67"},{"regex":"A76 Build","model":"A76"},{"regex":"PixelV1","model":"Pixel V1"},{"regex":"X1 Selfie Build","model":"Iris X1 Selfie"},{"regex":"X41 Plus Build","model":"X41 Plus"},{"regex":"LAVA_A3","model":"A3"},{"regex":"LAVA_R1","model":"R1"},{"regex":"Z61_2GB","model":"Z61"},{"regex":"iris[ _]?([^/;]+)(?:\\\\)| Build)","model":"Iris $1"},{"regex":"Lava[ _]?([^/;]+)(?:/| Build)","model":"$1"}]},"Landvo":{"regex":"XM[123]00|(?<!Blade )S6 Build","device":"smartphone","models":[{"regex":"S6 Build","model":"S6"},{"regex":"XM([123])00([^/;]*) Build","model":"XM$100$2"}]},"Land Rover":{"regex":"Land[ ]?Rover[d]?[ _-](X1[0-9]|Explore|T878|L15\\\\+|V18|V[168]|X)[;/) ]","device":"smartphone","model":"$1"},"Lanix":{"regex":"LANIX-([a-z0-9]+)|Ilium[ _]|X120C","device":"smartphone","models":[{"regex":"ILIUM[ _]PAD[ _]([^;/]+) Build","model":"Ilium Pad $1","device":"tablet"},{"regex":"X120C","model":"Ilium X120C"},{"regex":"Ilium[ _](Alpha 3|L(?:200|6[12]0|9[125]0|1[0124]00|1050|1120)|LT5[012]0|M[1379]|S(?:106|520|6[27]0)|X(?:1[12]0|2[0126]0|5[12]0|500B|710))","model":"Ilium $1"},{"regex":"ILIUM[ _]([^;/]+) Build","model":"Ilium $1"},{"regex":"LANIX-([a-z0-9]+)","device":"feature phone","model":"$1"}]},"Lark":{"regex":"(Lark|Cumulus|Evolution|FreeMe|Ultimate (?:X4|7i))[ _-]|Build/Lark|Bjorn[_ ]SP-500","device":"tablet","models":[{"regex":"Cumulus[ _](5\\\\.5|[56])[ _]HD","model":"Cumulus $1 HD","device":"smartphone"},{"regex":"FreeMe X2 ([79]) (?:ver|v)?\\\\.([23])","model":"FreeMe X2 $1 Version $2"},{"regex":"FreeMe X4 7 3G HD","model":"FreeMe X4 7HD 3G"},{"regex":"FreeMe[ _]X2[ _]([7-9])","model":"FreeMe X2 $1"},{"regex":"FreeMe X4[ _]7[_ ]HD","model":"FreeMe X4 7HD"},{"regex":"FreeMe X4[ _]9","model":"FreeMe X4 9"},{"regex":"(?:Lark[ _-])?Evolution[ _](X2 7 3G-GPS|X4[_ ]10\\\\.1|10|X4[_ ]7[ _]IPS)","model":"Evolution $1"},{"regex":"Ultimate (X4 10\\\\.1 3G IPS|X4 8s 3G|7i)","model":"Ultimate $1"},{"regex":"PHABLET 7","model":"Phablet 7"},{"regex":"Phablet 6\\\\.0","model":"Phablet 6.0","device":"smartphone"},{"regex":"Bjorn[_ ]SP-500","model":"Bjorn SP-500","device":"smartphone"},{"regex":"Cirrus[ _](4\\\\.5|[45])","model":"Cirrus $1","device":"smartphone"},{"regex":"Lark[ _](Stratus[_ ]5)","model":"$1","device":"smartphone"}]},"LCT":{"regex":"LCT_([a-z0-9]+)","device":"feature phone","model":"$1"},"Le Pan":{"regex":"Le ?Pan|TC970 ([^;/]+)Build","device":"tablet","models":[{"regex":"TC802A","model":"Le Pan Mini"},{"regex":"TC970 ([^;/]+)Build","model":"TC970 $1"},{"regex":"Le ?Pan ?(II|S)[);/ ]","model":"Le Pan $1"},{"regex":"Le ?Pan ?([^;/]+) Build","model":"$1"}]},"Leagoo":{"regex":"LEAGOO|M5 EDGE|KIICAA POWER|Leapad[ _]7s","device":"smartphone","models":[{"regex":"LEAGOO[- _](Z[156]|M8)[);/ ]","model":"$1"},{"regex":"LEAGOO[- _]M8Pro[);/ ]","model":"M8 Pro"},{"regex":"M5 EDGE","model":"M5 Edge"},{"regex":"KIICAA POWER","model":"KICCAA Power"},{"regex":"(Leapad[ _]7s)","model":"$1","device":"tablet"}]},"Ledstar":{"regex":"Trendy 5.0","device":"smartphone","models":[{"regex":"Trendy 5.0","model":"Trendy 5.0"}]},"LeEco":{"regex":"Letv|LeEco|X[89]00\\\\+[;/) ]|Le ?X[0-9][^;/]+|Le Max|Le [12]|X900 Build","device":"smartphone","models":[{"regex":"X800\\\\+","model":"Le 1 Pro"},{"regex":"X900\\\\+","model":"Max X900+"},{"regex":"X50[10]","model":"Le 1S"},{"regex":"X900 Build","model":"Le X900"},{"regex":"Le ?X526 Build","model":"Le 2"},{"regex":"Le ?X([^;/]+) Build","model":"Le X$1"},{"regex":"Le ?X([^) ;/]+)","model":"Le X$1"},{"regex":"Le ?([12][^;/]+) Build","model":"Le $1"},{"regex":"Le Max([^;/]*) Build","model":"Le Max$1"},{"regex":"Le Max([^ ;/]*)","model":"Le Max$1"},{"regex":"LeEco ([^;/]+) Build","model":"$1"}]},"Leotec":{"regex":"LESPH501[14]","device":"smartphone","models":[{"regex":"LESPH5011","model":"Argon e250"},{"regex":"LESPH5014","model":"Krypton K150"}]},"Lephone":{"regex":"lephone[ _]","device":"smartphone","models":[{"regex":"lephone[ _](K7|K10)","device":"feature phone","model":"$1"},{"regex":"lephone[ _](W(1[0125]|[279])|T2)[/;) ]","model":"$1"},{"regex":"lephone_W7_plus","model":"W7 Plus"}]},"Lenco":{"regex":"Lenco ([^/;]*) Build","device":"tablet","model":"$1"},"Lenovo":{"regex":"(?:LNV-)?Lenovo|IdeaTab|IdeaPad|Thinkpad|Yoga Tablet|Tab2A[0-9]-[0-9]{2}[a-z]?|YT3-X50L|ZUK[ -_]|K50a40|TB-(8504F|X304F|X704V|X704A)|A2107A-H|S6000[ ;)]|Z2 Plus","device":"smartphone","models":[{"regex":"Lenovo ?G780","model":"G780","device":"desktop"},{"regex":"Lenovo ?A3500-FL","model":"IdeaTab A7-40","device":"tablet"},{"regex":"Lenovo ?A3500-(H|HV|F)","model":"IdeaTab A7-50","device":"tablet"},{"regex":"Lenovo ?A5500-[HF]","model":"IdeaTab A8-50","device":"tablet"},{"regex":"Lenovo ?A7600-[HF]","model":"IdeaTab A10-70","device":"tablet"},{"regex":"A2107A-H","model":"A2107","device":"tablet"},{"regex":"TB2-X30[FL]","model":"Tab 2 A10-30","device":"tablet"},{"regex":"YT3-X50[FL]","model":"Yoga Tab 3","device":"tablet"},{"regex":"TB3-730X","model":"TAB3 7","device":"tablet"},{"regex":"TB3-710[IF]","model":"TAB3 7 Essential","device":"tablet"},{"regex":"TB3-850[FM]","model":"TAB3 8","device":"tablet"},{"regex":"Lenovo TB-X304[FL]","model":"TAB4 10","device":"tablet"},{"regex":"TB-X704V","model":"TAB4 10 Plus","device":"tablet"},{"regex":"TB-X704A","model":"Moto Tab","device":"tablet"},{"regex":"Lenovo ?B8000(-[FH])?","model":"Yoga Tablet 10","device":"tablet"},{"regex":"Lenovo ?B6000(-[FH])?","model":"Yoga Tablet 8","device":"tablet"},{"regex":"YT3-X90(L|F|X)","model":"Yoga 3 Pro","device":"tablet"},{"regex":"YT3-850[FL]","model":"Yoga Tab 3 8","device":"tablet"},{"regex":"S6000[ ;)]","model":"IdeaTab S6000","device":"tablet"},{"regex":"Lenovo ([ASB][0-9]{4})[A-Z]?\\\\-[EHF]","model":"IdeaTab $1","device":"tablet"},{"regex":"ThinkPadTablet_(A[0-9]{3})_","model":"ThinkPad Tablet $1","device":"tablet"},{"regex":"ThinkPad ?Tablet([^;/]*) Build","model":"ThinkPad Tablet$1","device":"tablet"},{"regex":"IdeaPad ?([^;/]*) Build","model":"IdeaPad $1","device":"tablet"},{"regex":"Lenovo TAB ?([^/;]*) Build","model":"TAB $1","device":"tablet"},{"regex":"Lenovo ?A3300-(?:GV|H)","model":"TAB 2 A7-30","device":"tablet"},{"regex":"TB-8504F","model":"TAB 4 8","device":"tablet"},{"regex":"TB-X304F","model":"TAB 4 10","device":"tablet"},{"regex":"Lenovo TB-X505F","model":"M10","device":"tablet"},{"regex":"Tab2A([0-9]-[0-9]{2}[a-z]?)","model":"TAB 2 A$1","device":"tablet"},{"regex":"IdeaTab[ \\\\-_]?([a-z0-9]+)","model":"IdeaTab $1","device":"tablet"},{"regex":"Yoga Tablet([^;/]+) Build","model":"Yoga Tablet$1","device":"tablet"},{"regex":"Lenovo TB\\\\-X704F Build/NMF26F","model":"Tab 4 10 Plus","device":"tablet"},{"regex":"Lenovo (TB[0-9]?\\\\-[a-z0-9\\\\-]+) Build","model":"$1","device":"tablet"},{"regex":"Z2 Plus","model":"Z2 Plus"},{"regex":"Z2151","model":"ZUK Edge"},{"regex":"Z213[12]","model":"ZUK Z2"},{"regex":"Z2121","model":"ZUK Z2 Pro"},{"regex":"ZUK[ -_]([^/;]*)(?: Build|\\\\))","model":"ZUK $1"},{"regex":"K10a40(?: Build|\\\\))","model":"C2"},{"regex":"k50a40 Build","model":"K3 Note"},{"regex":"A7010a48 Build","model":"K4 Note"},{"regex":"A7010a48(?: Build|\\\\))","model":"K4 Vibe"},{"regex":"A7020a4[08](?: Build|\\\\))","model":"K5 Note"},{"regex":"(?:Lenovo-)?A6020(?:a40|l36)(?: Build|\\\\))","model":"K5 Vibe"},{"regex":"A6020a46(?: Build|\\\\))","model":"K5 Vibe Plus"},{"regex":"k33a48(?: Build|\\\\))","model":"K6"},{"regex":"k53a48(?: Build|\\\\))","model":"K6 Note"},{"regex":"K33a42(?: Build|\\\\))","model":"K6 Power"},{"regex":"P1(?:ma40|a42) Build","model":"P1 Vibe"},{"regex":"P1a42(?: Build|\\\\))","model":"P1 Pro"},{"regex":"P2a42(?: Build|\\\\))","model":"P2"},{"regex":"Z90a40 Build","model":"Vibe Shot"},{"regex":"S1a40 Build","model":"Vibe S1"},{"regex":"Lenovo ([^/;]*) Build","model":"$1"},{"regex":"(?:LNV-|Lenovo-)?Lenovo[ \\\\-_]?([a-z0-9_+\\\\-]+)","model":"$1"}]},"Lexand":{"regex":"(?:SC7 PRO HD|S5A[1-4]|S4A[1-5]|S6A1|A811|A802)[);/ ]|Lexand ([^;/]+) Build","device":"smartphone","models":[{"regex":"A(811|802)","device":"tablet","model":"A$1"},{"regex":"S4A1","model":"Vega"},{"regex":"S4A2","model":"Irida"},{"regex":"S4A3","model":"Pallada"},{"regex":"S4A5","model":"Oxygen"},{"regex":"S4A4 NEON","model":"S4A4 Neon"},{"regex":"S5A1","model":"Callisto"},{"regex":"S5A2","model":"Overon"},{"regex":"S5A3","model":"Capella"},{"regex":"S5A4","model":"Argon"},{"regex":"S6A1","model":"Antares"},{"regex":"SC7 PRO HD","model":"SC7 PRO HD"},{"regex":"Lexand ([^;/]+) Build","model":"$1"}]},"Lexibook":{"regex":"(MFC[0-9]{3}[a-z]{2,})","device":"tablet","models":[{"regex":"MFC191FR","model":"Tablet Ultra 3 XL"},{"regex":"MFC045FR","model":"TabTab"},{"regex":"MFC163FR","model":"Tablet Master 3"},{"regex":"MFC142FR","model":"Tablet Kids"},{"regex":"MFC250FR","model":"Tablet Junior"},{"regex":"MFC270FR","model":"Tablet Junior Power Touch"},{"regex":"MFC280FR","model":"Tablet Junior 2"},{"regex":"MFC156FR","model":"Tablet One"},{"regex":"MFC155FR","model":"Tablet Master"},{"regex":"MFC157FR","model":"Tablet Master 2"},{"regex":"MFC17[05]FR","model":"Tablet Ultra"},{"regex":"MFC375FR","model":"Tablet Ultra 2"},{"regex":"MFC162FR","model":"Power Tablet"},{"regex":"MFC180FR","model":"Tablet Advanced"},{"regex":"MFC181FR","model":"Tablet Advanced 2"},{"regex":"MFC500FR","model":"Tablet XL"},{"regex":"MFC190BBFR","model":"Barbie Tablet"},{"regex":"MFC195DCFR","model":"Tablet Disney Cars HD"},{"regex":"MFC195FUFR","model":"Furby Tablet"},{"regex":"MFC195DPFR","model":"Tablet Disney Princesse HD"},{"regex":"MFC140FR","model":"LapTab"},{"regex":"MFC141FR","model":"LapTab 2"},{"regex":"(MFC[0-9]{3}[a-z]{2,})","model":"$1"}]},"LG":{"regex":"LG|portalmmm/2\\\\.0 (?:KE|KG|KP|L3)|(?:VX[0-9]+|L-0[12]D|L-07C|P713|LM-(Q910|V350[N]?|V409N|X510WM|X525|Q815[SL]|X410([KL]|UM|PM)|X420N|X510[KLS]|X415[KLS]|Q850|Q925L|Q725[KL]|Q710(?:FGN|\\\\(FGN\\\\)|\\\\.FGN?)?|X2[12]0(?:APM|\\\\(G\\\\)|CM|G)?|G710(N|VM)?|V405|V500N|G820(N|QM[0127]|UMB)?|(X410|Q610)(?:\\\\(FGN?\\\\)|\\\\.FN|\\\\.F(?:GN?)?)))[);/ ]|NetCast|RS987|RS500|VS(?:50[01]|835|98[78]|99[56]|(410|415|425|500)PP)|Nexsus 5|LML(414D|211B|713D|212V)L|LM-X(625N|210K|212\\\\(G\\\\)|410S)|VK810 4G|VK815","device":"smartphone","models":[{"regex":"LG-D325","model":"L70"},{"regex":"LM-X210APM","model":"Phoenix 4"},{"regex":"LG-D85[0125]","model":"G3"},{"regex":"LG-D72[2458]","model":"G3 Beat"},{"regex":"LG-H81[158]","model":"G4"},{"regex":"LG-H525n?","model":"G4c"},{"regex":"LG-(?:H540|H630)","model":"G4 Stylus"},{"regex":"LG-H735","model":"G4 Beat"},{"regex":"LG-H8(?:20|30|5[08]|60)|VS987","model":"G5"},{"regex":"LG-H84[05]","model":"G5 SE"},{"regex":"VS988","model":"G6"},{"regex":"LM-Q850","model":"G7 Fit"},{"regex":"LM-Q910","model":"G7 One"},{"regex":"LM-G820(N|QM[0127]|UMB)?","model":"G8"},{"regex":"VS501","model":"K20"},{"regex":"(?:LG-)?H502","model":"Magna"},{"regex":"(?:LG-)?H343","model":"Risio"},{"regex":"(?:LG-)?H650","model":"Zero"},{"regex":"(?:LG-)?M154","model":"Risio 2"},{"regex":"(?:LG-)?P500H","model":"Optimus One"},{"regex":"P713","model":"Optimus L7II"},{"regex":"L-01D","model":"Optimus LTE L-01D"},{"regex":"L-02D","model":"PRADA phone L-02D"},{"regex":"L-07C","model":"Optimus Bright L-07C"},{"regex":"(?:LG-)?F800(?:S|K|L)?","model":"V20"},{"regex":"LM-Q710(?:\\\\(FGN\\\\)|[\\\\.]?FGN)","model":"Q Stylus Plus"},{"regex":"LM-Q[67]10\\\\.FG[);/ ]","model":"Q7"},{"regex":"LM-(Q725[KL]|Q610.FGN)[);/ ]","model":"Q7+"},{"regex":"LM-Q815[SL]","model":"Q8+"},{"regex":"LM-Q925L","model":"Q9"},{"regex":"VS835","model":"Stylo 2 V"},{"regex":"LM-Q710|LML713DL","model":"Stylo 4"},{"regex":"LM-G710(N|VM)?","model":"G7 ThinQ"},{"regex":"LM-X210CM","model":"Fortune 2"},{"regex":"LM-X410\\\\.F[);/ ]","model":"Premier Pro"},{"regex":"LML414DL[);/ ]","model":"Premier Pro LTE"},{"regex":"LM-X525","model":"Q60"},{"regex":"LM-X210K","model":"X2"},{"regex":"LM-X510WM","model":"X Power 3"},{"regex":"LM-X(?:41[05]K|410S)","model":"X4"},{"regex":"LM-X(415[LS]|410L)","model":"X4+"},{"regex":"LM-X410\\\\.FN","model":"K11"},{"regex":"LM-X410(UM|PM)","model":"K30"},{"regex":"LM-X410","model":"LM-X410"},{"regex":"LM-X420N","model":"X4 (2019)"},{"regex":"LM-X510[KLS]","model":"X5"},{"regex":"LM-X625N1","model":"X6"},{"regex":"LM-X210[G]?","model":"Aristo 2"},{"regex":"LM-X220","model":"Aristo 3"},{"regex":"LM-V40(5|9N)","model":"V40 ThinQ"},{"regex":"LM-V500N","model":"V50"},{"regex":"(?:LG-)?(?:RS987|H901|H96[0128]|VS990)","model":"V10"},{"regex":"(?:LG-)?RS500","model":"K8 4G"},{"regex":"(?:LG-)?VS500","model":"K8 V"},{"regex":"LM-X212\\\\(G\\\\)","model":"K8 (2018)"},{"regex":"(?:LG-)?H91[058]","model":"V20"},{"regex":"(?:LG-)?H990(?:DS|N|T)?","model":"V20"},{"regex":"(?:LG-)?LS997","model":"V20"},{"regex":"(?:LG-)?VS995","model":"V20"},{"regex":"(?:LG-)?US999","model":"V20"},{"regex":"VS996","model":"V30"},{"regex":"(?:LG-)?VS410PP","model":"Optimus Zone"},{"regex":"LM-V350[N]?","model":"V35"},{"regex":"(?:LG-)?VS415PP","model":"Optimus Zone 2"},{"regex":"(?:LG-)?VS425PP","model":"Optimus Zone 3"},{"regex":"(?:LG-)?K100","model":"K3"},{"regex":"(?:LG-?)?(?:K|MS)33[02]","model":"K7"},{"regex":"(?:LG-?)?(?:K|MS)350","model":"K8"},{"regex":"VS500PP","model":"K8 V"},{"regex":"(?:LG-)?K420(?:N)?","model":"K10"},{"regex":"(?:LG-)?K430(?:DS|DSF|DSY)?","model":"K10"},{"regex":"(?:LG-)?M250N?","model":"K10 (2017)"},{"regex":"(?:LG-)?F670[KLS]?","model":"K10"},{"regex":"(?:LG-)?M255","model":"K20"},{"regex":"(?:LG-?)?[MT]P260","model":"K20 Plus"},{"regex":"(?:LG-)?M700(?:N|A|DSK|AN)?","model":"Q6"},{"regex":"(?:LG-?)?K220","model":"X Power"},{"regex":"(?:LG-?)?M320","model":"X Power 2"},{"regex":"(?:LG-)?K371","model":"Phoenix 2"},{"regex":"(?:LG-)?M150","model":"Phoenix 3"},{"regex":"(?:LG-)?F100[SL]","model":"Optimus Vu"},{"regex":"(?:LG-)?P880","model":"Optimus 4X HD"},{"regex":"(?:LG-)?H340n?","model":"Leon"},{"regex":"(?:LG-)?H422","model":"Spirit"},{"regex":"(?:LG)?C660","model":"Optimus Pro"},{"regex":"LML211BL|LML212VL","model":"Rebel 4"},{"regex":"LG-V490","model":"G Pad 8.0","device":"tablet"},{"regex":"LG-V500","model":"G Pad 8.3","device":"tablet"},{"regex":"LG-V700","model":"G Pad 10.1","device":"tablet"},{"regex":"LG-V935","model":"G Pad II 10.1","device":"tablet"},{"regex":"LG-V521","model":"G Pad X 8.0","device":"tablet"},{"regex":"VK810","model":"G Pad 8.3 LTE","device":"tablet"},{"regex":"VK815","model":"G Pad X 8.3","device":"tablet"},{"regex":"webOS.TV","device":"tv","model":"WebOS TV"},{"regex":"LGE_DLNA_SDK|NetCast","device":"tv","model":"NetCast"},{"regex":"LGE(?: |-LG| LG-AX|-)([a-z0-9]+)","model":"$1"},{"regex":"LGE;([a-z0-9\\\\-]+)","model":"$1"},{"regex":"LG[ _\\\\-](V90.*|Optimus[ _\\\\-]Pad.*) Build","device":"tablet","model":"$1"},{"regex":"LG(?:/|-LG| |-)?([^/;]*) Build","model":"$1"},{"regex":"LG(?:/|-LG| |-)?([a-z0-9]+)","model":"$1"},{"regex":"LG; ([a-z0-9 ]+)","model":"$1"},{"regex":"portalmmm/2.0 ((?:KE|KG|KP|L3)[a-z0-9]+)","model":"$1"},{"regex":"(VX[0-9]+)","model":"$1"}]},"Lingwin":{"regex":"Lingwin[ _\\\\-]","device":"smartphone","models":[{"regex":"Lingwin[ _\\\\-]?([^/;]+) Build","model":"$1"},{"regex":"Lingwin[ _\\\\-]?([^);/ ]+)","model":"$1"}]},"Logicom":{"regex":"(TAB950|TAB1062|E731|E812|E912|E1031|POWER BOT|La Tab 72|(?:B|C|M|ID|VR)[ _]?BOT[ _]?(?:TAB[ _])?([0-9]+\\\\+?)(?:PLUS)?|KT712A_4\\\\.4|L-?IXIR[0-9]*|L-ITE|L-?EMENT|Le Lift)[_);/ ]","device":"tablet","models":[{"regex":"La Tab 72","model":"La Tab 72"},{"regex":"KT712A_4.4","model":"L-ixir Tab 701"},{"regex":"LIXIR1041","model":"L-ixir Tab 1041"},{"regex":"L-?IXIR TAB ([^;/]+) Build","model":"L-ixir Tab $1"},{"regex":"L-ITE[ _]([^;/]+) Build","model":"L-ite Tab $1"},{"regex":"L-?EMENT[ _](?:TAB)?([^;/]+) Build","model":"L-ement Tab $1"},{"regex":"(TAB950|TAB1062|E731|E812|E912|E1031)[);/ ]","model":"$1"},{"regex":"POWER BOT","model":"POWER BOT"},{"regex":"((?:B|C|M|ID|VR))[ _]?BOT[ _]?((?:TAB[ _])?([0-9]+\\\\+?)(?:PLUS)?)","model":"$1 BOT $2"},{"regex":"Le Lift","model":"Le Lift","device":"smartphone"}]},"Konka":{"regex":"KONKA[_ ]([a-z0-9]+)","device":"smartphone","models":[{"regex":"E5660S","model":"Viva 5660s"},{"regex":"W830","model":"Tango 830"},{"regex":"W(9[67]0)","model":"Expose $1"},{"regex":"W990","model":"Tuxedo 990"},{"regex":"KONKA[_ ]([a-z0-9]+)","device":"feature phone","model":"$1"}]},"Konrow":{"regex":"(?:BIGCOOL|COOLFIVE|COOL-K|Just5|Link5)[);/ ]","device":"smartphone","models":[{"regex":"BIGCOOL[);/ ]","model":"BigCool"},{"regex":"COOL-K[);/ ]","model":"Cool-K"},{"regex":"COOLFIVE[);/ ]","model":"Cool Five"},{"regex":"Just5[);/ ]","model":"Just 5"},{"regex":"Link5[);/ ]","model":"Link 5"}]},"Karbonn":{"regex":"(?:Browser-)?Karbonn|K9 Kavach 4G|K9 Music 4G|K9 Smart|K9 VIRAAT 4G","device":"smartphone","models":[{"regex":"K9 Kavach 4G","model":"K9 Kavach 4G"},{"regex":"K9 Music 4G","model":"K9 Music 4G"},{"regex":"K9 Smart 1GB","model":"K9 Smart"},{"regex":"K9 Smart 4G","model":"K9 Smart 4G"},{"regex":"K9 Smart Grand","model":"K9 Smart Grand"},{"regex":"K9 Smart Yuva","model":"K9 Smart Yuva"},{"regex":"K9 Smart","model":"K9 Smart"},{"regex":"karbonnK9 Viraat 4G|K9 VIRAAT 4G","model":"K9 Viraat 4G"},{"regex":"Titanium[ _]S2[ _]Plus","model":"Titanium S2 Plus"},{"regex":"Titanium_S99","model":"Titanium S99"},{"regex":"Karbonn ([a-z0-9]+) WAP-Browser","model":"$1","device":"feature phone"},{"regex":"WAP Browser-Karbonn ([a-z0-9]+)/","model":"$1","device":"feature phone"},{"regex":"Karbonn_([^;/)]+)","model":"$1"},{"regex":"Karbonn ([^;/]+) Build","model":"$1"},{"regex":"Karbonn ([^;/]+)/","model":"$1"}]},"Sagem":{"regex":"SAGEM|portalmmm/2.0 (?:SG|my)","device":"smartphone","models":[{"regex":"SAGEM-(my[a-z0-9\\\\-]+)","model":"$1","device":"feature phone"},{"regex":"SAGEM ([a-z0-9]+)","model":"$1"},{"regex":"SAGEM-([a-z0-9\\\\-]+)","model":"$1"},{"regex":"portalmmm/2.0 ((?:SG|my)[a-z0-9]+)","model":"$1"}]},"Coby Kyros":{"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))[);/ ]","device":"tablet","model":"$1"},"Mpman":{"regex":"(?:MPQC|MPDC)[0-9]+|PH(?:150|340|350|360|451|500|520)|(?: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)|MGP7)[);/ ]","device":"tablet","models":[{"regex":"((?:MPQC|MPDC)[0-9]+[^/;]+) Build","model":"$1"},{"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)|MGP7)[);/ ]","model":"$1"},{"regex":"(PH(?:150|340|350|360|451|500|520))","model":"$1","device":"smartphone"}]},"Majestic":{"regex":"MAJESTIC[ _-]|CRONO ?[0-9]+","device":"smartphone","models":[{"regex":"MAJESTIC[ _]Tab([^;/]+)Build","model":"Tab$1","device":"tablet"},{"regex":"MAJESTIC[ _]Tab([^);/]+)[);/]","model":"Tab$1","device":"tablet"},{"regex":"MAJESTIC[ _]([^;/]+)Build","model":"$1"},{"regex":"MAJESTIC[ _]([^);/]+)[);/]","model":"$1"},{"regex":"CRONO ?([0-9]+) Build","model":"Crono $1"},{"regex":"CRONO ?([0-9]+)[);/]","model":"Crono $1"}]},"Manta Multimedia":{"regex":"MSP950(1[45]|2[01])|MSP96017|((?<!/)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))[);/ ]","device":"smartphone","models":[{"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))[);/ ]","device":"tablet","model":"$1"},{"regex":"MSP95014","model":"Titano 3"},{"regex":"MSP95015","model":"Mezo 2"},{"regex":"MSP95020","model":"Rocky 2"},{"regex":"MSP95021","model":"Rocky 3 Pro"},{"regex":"MSP96017","model":"Forto 2"}]},"Masstel":{"regex":"Masstel","device":"smartphone","models":[{"regex":"Masstel[_ ](Juno[_ ]Q3|X9|N4[56]0|N5[2458]0|N536|M05|M1[29]0|M1[125]|M250|M25)[);/ ]","model":"$1"},{"regex":"Masstel[_ ]\\\\((M18)\\\\)","model":"$1"},{"regex":"Masstel_Tab7LTE[);/ ]","model":"Tab 7 LTE","device":"tablet"},{"regex":"Masstel Tab (840|700i)[);/ ]","model":"Tab $1","device":"tablet"}]},"Maxwest":{"regex":"Astro_5N_LTE|Virtue Z5","device":"smartphone","models":[{"regex":"Astro_5N_LTE","model":"Astro 5N LTE"},{"regex":"Virtue Z5","model":"Virtue Z5"}]},"Maze":{"regex":"SSB-500|Alpha[_ ]X","device":"smartphone","models":[{"regex":"SSB-500","model":"SSB-500"},{"regex":"Alpha[_ ]X","model":"Alpha X"}]},"Mediacom":{"regex":"(?:SmartPad7503G|SmartPad970s2(?:3G)?|M[_-][MPS]P[0-9a-z]+|M-IPRO[0-9a-z]+)[);/ ]","device":"tablet","models":[{"regex":"SmartPad7503G[);/ ]","model":"SmartPad 750 3G"},{"regex":"SmartPad970s23G[);/ ]","model":"SmartPad 970 S2 3G"},{"regex":"SmartPad970s2[);/ ]","model":"SmartPad 970 S2"},{"regex":"M-MP84[02]M[);/ ]","model":"SmartPad 8.0 Mobile"},{"regex":"M-MP940M[);/ ]","model":"SmartPad 9.7 Mobile"},{"regex":"M-MP(?:710|720|725|726|740)GOx?[);/ ]","model":"SmartPad 7.0 Go"},{"regex":"M-MP876S2[);/ ]","model":"SmartPad 8.0 S2"},{"regex":"M-MP8S2[AB]?3G[);/ ]","model":"SmartPad 8.0 S2 3G"},{"regex":"M-MP(101|102|860|875)S2[BW]?[);/ ]","model":"SmartPad $1 S2"},{"regex":"M-MP85S23G[);/ ]","model":"SmartPad 875 S2 3G"},{"regex":"M-SP1AGO3G","model":"SmartPad 10 Go 3G"},{"regex":"M-MP10[45][01]S2[);/ ]","model":"SmartPad 10.1 S2"},{"regex":"M-MP1S2[AB]3G[);/ ]","model":"SmartPad 10.1 S2 3G"},{"regex":"M-MP8[24]S4[);/ ]","model":"SmartPad 8.0 S4"},{"regex":"M-MP8S4[AB]3G[);/ ]","model":"SmartPad 8.0 S4 3G"},{"regex":"M-MP9S4A3G[);/ ]","model":"SmartPad 9.7 S4 3G"},{"regex":"M-MP1[02]S4[);/ ]","model":"SmartPad 10.1 S4"},{"regex":"M-MP1040MC?[);/ ]","model":"SmartPad 10.1 HD S4 3G"},{"regex":"M-MP1S4[AB]3G[);/ ]","model":"SmartPad 10.1 S4 3G"},{"regex":"M-MP8PA3G[);/ ]","model":"SmartPad 8.0 HD Pro 3G"},{"regex":"M-MP10PA[);/ ]","model":"SmartPad 10.1 HD Pro"},{"regex":"M-MP10PA3G[);/ ]","model":"SmartPad 10.1 HD Pro 3G"},{"regex":"M-IPRO([18][01]0)[BW][);/ ]","model":"SmartPad 8.0 HD iPro$1 3G"},{"regex":"(?:M-MP75S23G|M-MP72[01]M)[);/ ]","model":"SmartPad 7.0 Mobile","device":"phablet"},{"regex":"M-MP7S2[ABDK]3G[);/ ]","model":"SmartPad 7.0 S2 3G","device":"phablet"},{"regex":"M-MP5303G[);/ ]","model":"SmartPad Mini Mobile","device":"phablet"},{"regex":"M-PPAG550[);/ ]","model":"PhonePad Duo G550","device":"phablet"},{"regex":"M-PP2G530[);/ ]","model":"PhonePad Duo G530","device":"phablet"},{"regex":"M-PPG700[);/ ]","model":"PhonePad Duo G700","device":"phablet"},{"regex":"M-PPxS531[);/ ]","model":"PhonePad Duo S531","device":"phablet"},{"regex":"M-PP2S550[);/ ]","model":"PhonePad Duo S550","device":"phablet"},{"regex":"M-PP2S650C?[);/ ]","model":"PhonePad Duo S650","device":"phablet"},{"regex":"M-PPxS551U[);/ ]","model":"PhonePad Duo S551U","device":"phablet"},{"regex":"M-PP[ABC]G500[);/ ]","model":"PhonePad Duo G500","device":"smartphone"},{"regex":"M-PP2S500[BC]?[);/ ]","model":"PhonePad Duo S500","device":"smartphone"},{"regex":"M[_-]PP[Ax]X(470|510|520)U[);/ ]","model":"PhonePad Duo X$1U","device":"smartphone"},{"regex":"M-PPxG(400|501)[);/ ]","model":"PhonePad Duo G$1","device":"smartphone"},{"regex":"M-PPxS(470|501)[);/ ]","model":"PhonePad Duo S$1","device":"smartphone"},{"regex":"M-MP([0-9a-z]+)","model":"SmartPad $1"}]},"Medion":{"regex":"Medion|(?:MD_)?LIFETAB|X5001[);/ ]|([SPX]10[0-9]{2}X|E10[45]1X)[);/ ]","device":"smartphone","models":[{"regex":"(?:MD_)?LIFETAB_([a-z0-9]+)","device":"tablet","model":"Lifetab $1"},{"regex":"X5001","model":"Life X5001"},{"regex":"(E10[45]1X)[);/ ]","device":"tablet","model":"$1"},{"regex":"([SPX]10[0-9]{2}X)[);/ ]","model":"Lifetab $1","device":"tablet"},{"regex":"Medion(?: Smartphone)? ([^/;]+) Build","model":"$1"}]},"MEEG":{"regex":"MEEG[ _-]","device":"smartphone","models":[{"regex":"MEEG[ _\\\\-]?([^/;]+) Build","model":"$1"},{"regex":"MEEG[ _\\\\-]?([^);/ ]+)","model":"$1"}]},"Meizu":{"regex":"Meizu|MZ-[a-z]|(M04[05]|MZ-16s|M35[1356]|M6T|MX[ -]?[2345](?: Pro)?|(?:MZ-)?m[1-6] note|M57[18]C|M3[ESX]|M031|m1 metal|M1 E|M2|M2 E|M5s Build|PRO 6|PRO 7-H)[);/ ]","device":"smartphone","models":[{"regex":"(?:MZ-)?M571C","device":"phablet","model":"M2 Note"},{"regex":"(?:MZ-)?m([1-6]) note[);/ ]","device":"phablet","model":"M$1 Note"},{"regex":"M1 E[);/ ]","model":"M1E"},{"regex":"M2 E[);/ ]","model":"M2E"},{"regex":"(?:MZ-)?M578C|M2[);/ ]","model":"M2"},{"regex":"M6T","model":"M6T"},{"regex":"M3E","model":"M3E"},{"regex":"M3S","model":"M3S"},{"regex":"M3X","model":"M3X"},{"regex":"M5S","model":"M5S"},{"regex":"(M04[05]|MX[ -]?2)[);/ ]","model":"MX2"},{"regex":"(M35[1356]|MX[ -]?3)[);/ ]","model":"MX3"},{"regex":"MX[ -]?4 Pro[);/ ]","model":"MX4 Pro"},{"regex":"MX[ -]?4[);/ ]","model":"MX4"},{"regex":"MX[ -]?5[);/ ]","model":"MX5"},{"regex":"m1 metal","model":"M1 Metal"},{"regex":"PRO 6","model":"PRO 6"},{"regex":"PRO 7-H","model":"PRO 7"},{"regex":"M031","model":"MX Dual Core"},{"regex":"(?:MZ-)?Meizu[_ ]([^/;]+) Build","model":"$1"},{"regex":"(?:MZ-)?Meizu[_ ]([a-z0-9_]+)","model":"$1"},{"regex":"MZ-([^/;]+) Build","model":"$1"}]},"Memup":{"regex":"SlidePad ?([^;/]*) Build|SPNG?[0-9]{2,4}[a-z]{0,2}[ ;/)]|SP704CE?","device":"tablet","models":[{"regex":"SlidePad ?([^;/]*) Build","model":"SlidePad $1"},{"regex":"SPNG([0-9]{2,4}[a-z]{0,2})[ ;/)]","model":"SlidePad NG$1"},{"regex":"SP704(CE?)","model":"SlidePad 704$1"}]},"Mecer":{"regex":"(M785|800P3[12]C|101P51C|X1010)[);/ ]","device":"tablet","models":[{"regex":"M785[);/ ]","model":"Xpress Smartlife M785"},{"regex":"X1010[);/ ]","model":"X1010"},{"regex":"800P31C[);/ ]","model":"Xpress Smartlife 800P31C"},{"regex":"800P32C[);/ ]","model":"Xpress Smartlife 800P32C"},{"regex":"101P51C[);/ ]","model":"Xpress Smartlife 101P51C"}]},"Mio":{"regex":"MIO(?:/)?([a-z0-9]+)","device":"smartphone","model":"$1"},"Miray":{"regex":"MIDM[_-]|MPM[_-]","device":"smartphone","models":[{"regex":"MIDM[_-]([a-z0-9]+)","model":"MIDM $1","device":"tablet"},{"regex":"MPM[_-]([a-z0-9]+)","model":"MPM $1"}]},"Mitsubishi":{"regex":"MITSU|portalmmm/[12]\\\\.0 M","device":"feature phone","models":[{"regex":"MITSU/[a-z0-9.]+ \\\\(([a-z0-9]+)\\\\)","model":"$1"},{"regex":"MITSU[ \\\\-]?([a-z0-9]+)","model":"$1"},{"regex":"portalmmm/[12]\\\\.0 (M[a-z0-9]+)","model":"$1"}]},"MIXC":{"regex":"(M35|M20|G7106|G7108)[ );/]","device":"smartphone","models":[{"regex":"(M[0-9]{1,2})[ );/]","model":"$1"},{"regex":"(G[0-9]{4})[ );/]","model":"$1"}]},"Mobiola":{"regex":"(MS5[50]X6|MS55X5|MS55L1|MS50L1|MS43A3000|MS45A4000|MS50A4000|MS50A4500|MS50A5000|MS50A6000|MS50B11000|MB-2900 QUATTRO|POLYS[_ ]MS45L1|Wave5)","device":"smartphone","models":[{"regex":"MS50X6","model":"Atmos II"},{"regex":"POLYS[_ ]MS45L1","model":"Polys MS45L1"},{"regex":"MS55X6","model":"Atmos Pro II"},{"regex":"MS55X5","model":"Atmos Pro"},{"regex":"MS55L1","model":"GAIA"},{"regex":"MS50L1","model":"Inti"},{"regex":"MB-2900 QUATTRO","model":"MB-2900 Quattro"},{"regex":"MS43A3000","model":"MS43A3000"},{"regex":"MS45A4000","model":"eOn 45"},{"regex":"MS50A4000","model":"eOn 50"},{"regex":"MS50A4500","model":"eOn 50 Elegance"},{"regex":"MS50A5000","model":"eOn 50 Quad 8"},{"regex":"MS50A6000","model":"eOn 50 Quad 16"},{"regex":"MS50B11000","model":"MS50B11000"},{"regex":"Wave5","model":"Wave 5"}]},"Mobiistar":{"regex":"Mobiistar|Zumbo_|PRIME X MAX","device":"smartphone","models":[{"regex":"mobiistar_LAI_Zumbo Build","model":"Zumbo"},{"regex":"Zumbo_S_2017 Build","model":"Lai Zumbo S (2017)"},{"regex":"Zumbo_S_2017_Lite Build","model":"Lai Zumbo S Lite (2017)"},{"regex":"mobiistar ZUMBO S2( Dual)? Build","model":"Zumbo S2"},{"regex":"Mobiistar_LAI_Zumbo_J Build","model":"Lai Zumbo J"},{"regex":"Mobiistar_LAI_Zumbo_J_2017 Build","model":"Lai Zumbo J (2017)"},{"regex":"Mobiistar_Zumbo_J2","model":"Lai Zumbo J2"},{"regex":"mobiistar ZUMBO Power","model":"Zumbo Power"},{"regex":"mobiistar[ _]LAI[ _]YUNA[ _]([1XCS])","model":"Lai Yuna $1"},{"regex":"mobiistar LAI Yuki","model":"Lai Yuki"},{"regex":"mobiistar[ _]LAI[ _]ZORO[ _]([23])","model":"Lai Zoro $1"},{"regex":"mobiistar[ _]LAI[ _]Zena","model":"Lai Zena"},{"regex":"mobiistar[ _]LAI[ _]Z([12])?","model":"Lai Z$1"},{"regex":"mobiistar_ZORO_4G","model":"Zoro 4G"},{"regex":"mobiistar touch LAI 512","model":"Touch Lai 512"},{"regex":"mobiistar LAI 504([KC])","model":"Lai 504$1"},{"regex":"mobiistar LAI Y Build","model":"Lai Y"},{"regex":"mobiistar PRIME X 2017 Build","model":"Prime X"},{"regex":"mobiistar[ _]PRIME[ _](X1|558|X[ _]Plus|X[ _]Grand) Build","model":"Prime $1"},{"regex":"PRIME X MAX 2018","model":"Prime X Max"},{"regex":"mobiistar[ _]KOOL([ _]Lite)?","model":"Kool$1"},{"regex":"mobiistar KAT 452 Build","model":"Kat 452"},{"regex":"mobiistar_LAI_YOLLO Build","model":"Lai Yollo"},{"regex":"Mobiistar[ _]([^;/]+) Build","model":"$1"}]},"MSI":{"regex":"Primo ?(?:91|76)|Enjoy 7 Plus","device":"tablet","models":[{"regex":"Primo ?76","model":"Primo 76"},{"regex":"Primo ?91","model":"Primo 91"},{"regex":"Enjoy 7 Plus","model":"Enjoy 7 Plus"}]},"MLLED":{"regex":"MLLED[ _]","device":"smartphone","models":[{"regex":"MLLED[ _]([^;/]+)Build","model":"$1"},{"regex":"MLLED[ _]([^);/]+)[);/]","model":"$1"}]},"Mobistel":{"regex":"(Cynus[ _][^/;]+) Build","device":"smartphone","model":"$1"},"Mecool":{"regex":"(KM9PRO|BB2 PRO|KII PRO)[);/ ]","device":"tv","models":[{"regex":"KM9PRO","model":"KM9 Pro"},{"regex":"BB2 PRO","model":"BB2 Pro"},{"regex":"KII PRO","model":"KII Pro"}]},"Modecom":{"regex":"Modecom|Free(?:Way )?Tab|xino z[\\\\d]+ x[\\\\d]+","device":"tablet","models":[{"regex":"xino Z([\\\\d]+) X([\\\\d]+)","model":"Xino Z$1 X$2","device":"smartphone"},{"regex":"FreeTab[ _\\\\-]?([^/;]+)? Build","model":"FreeTab $1"},{"regex":"FreeTab[ _\\\\-]?((?!Build)[^);/ ]+)?","model":"FreeTab $1"},{"regex":"FreeWay Tab[ _\\\\-]?([^/;]+) Build","model":"FreeWay Tab $1"},{"regex":"FreeWay Tab[ _\\\\-]?((?!Build)[^);/ ]+)","model":"FreeWay Tab $1"}]},"Mofut":{"regex":"Mofut","device":"smartphone","models":[{"regex":"Mofut[ _\\\\-]?([^/;]+) Build","model":"$1"},{"regex":"Mofut[ _\\\\-]?((?!Build)[^);/ ]+)","model":"$1"}]},"Motorola":{"regex":"MOT(?!TO)|(?<!AN)DROID ?(?:Build|[a-z0-9]+)|portalmmm/2.0 (?:E378i|L6|L7|v3)|XOOM [^;/]*Build|XT1021|(?:XT|MZ|MB|ME)[0-9]{3,4}[a-z]?(?:\\\\(Defy\\\\)|-0[1-5])?(?: Build|\\\\))","device":"smartphone","models":[{"regex":"MOT-V360","model":"V360","device":"feature phone"},{"regex":"(?:MOT-|Motorola-)?XT300","model":"Spice"},{"regex":"(?:MOT-|Motorola-)?XT30[35]","model":"Motosmart ME"},{"regex":"(?:MOT-|Motorola-)?XT31[16]","model":"Fire"},{"regex":"(?:MOT-|Motorola-)?XT32[01]","model":"Defy Mini"},{"regex":"(?:MOT-|Motorola-)?XT3(?:89|90)","model":"Motosmart"},{"regex":"(?:MOT-|Motorola-)?XT502","model":"Quench"},{"regex":"(?:MOT-|Motorola-)?XT531","model":"Fire XT"},{"regex":"(?:MOT-|Motorola-)?XT535","model":"Defy"},{"regex":"(?:MOT-|Motorola-)?XT55[567]C?","model":"Defy XT"},{"regex":"(?:MOT-|Motorola-)?XT603","model":"Admiral"},{"regex":"(?:MOT-|Motorola-)?XT610","model":"Droid Pro"},{"regex":"(?:MOT-|Motorola-)?XT615","model":"Motoluxe"},{"regex":"(?:MOT-|Motorola-)?XT621","model":"Primus"},{"regex":"(?:MOT-|Motorola-)?XT626","model":"IronRock"},{"regex":"(?:MOT-|Motorola-)?XT682","model":"Atrix"},{"regex":"(?:MOT-|Motorola-)?XT685","model":"Motoluxe Dual-SIM"},{"regex":"(?:MOT-|Motorola-)?XT687","model":"Atrix TV"},{"regex":"(?:MOT-|Motorola-)?XT720","model":"Milestone"},{"regex":"(?:MOT-|Motorola-)?XT800W","model":"Glam"},{"regex":"(?:MOT-|Motorola-)?XT860","model":"Milestone 3"},{"regex":"(?:MOT-|Motorola-)?XT881","model":"Electrify 2"},{"regex":"(?:MOT-|Motorola-)?XT882","model":"Moto XT882"},{"regex":"(?:MOT-|Motorola-)?XT88[56]","model":"Droid RAZR V"},{"regex":"(?:MOT-|Motorola-)?XT890","model":"Droid RAZR i"},{"regex":"(?:MOT-|Motorola-)?XT894","model":"Droid 4"},{"regex":"(?:MOT-|Motorola-)?XT897","model":"Photon Q"},{"regex":"(?:MOT-|Motorola-)?XT901","model":"Electrify M"},{"regex":"(?:MOT-|Motorola-)?XT90[567]","model":"Droid RAZR M"},{"regex":"(?:MOT-|Motorola-)?XT910S?","model":"Droid RAZR"},{"regex":"(?:MOT-|Motorola-)?XT91[4568]","model":"Droid RAZR D1"},{"regex":"(?:MOT-|Motorola-)?XT9(?:19|20)","model":"Droid RAZR D3"},{"regex":"(?:MOT-|Motorola-)?XT925","model":"Droid RAZR HD"},{"regex":"(?:MOT-|Motorola-)?XT102[12]","model":"Moto E"},{"regex":"(?:MOT-|Motorola-)?XT1706","model":"Moto E3 Power"},{"regex":"(?:MOT-|Motorola-)?XT1030","model":"Droid Mini"},{"regex":"(?:MOT-|Motorola-)?XT1096","model":"Moto X2"},{"regex":"(?:MOT-|Motorola-)?XT1254","model":"Droid Turbo"},{"regex":"(?:MOT-|Motorola-)?XT10(?:28|3[1234]|68|69)","model":"Moto G"},{"regex":"(?:MOT-|Motorola-)?XT10(?:49|5[23568]|60|9[23457])","model":"Moto X"},{"regex":"(?:MOT-|Motorola-)?XT1562","model":"Moto X Play"},{"regex":"(?:MOT-|Motorola-)?XT1080","model":"Droid Ultra"},{"regex":"(?:MOT-|Motorola-)?XT1650-05","model":"Moto Z"},{"regex":"(?:MOT-|Motorola-)?XT1635(?:-0[1-3])?","model":"Moto Z Play"},{"regex":"(?:MOT-|Motorola-)?XT1663","model":"Moto M"},{"regex":"Moto ([CGEXZ]) ?\\\\(([a-z0-9]+)\\\\)( Plus| Play)?","model":"Moto $1$2$3"},{"regex":"Moto ?([CGEXZ])([0-9]+)( Plus| Play)?","model":"Moto $1$2$3"},{"regex":"Moto ?([CGEXZ])( Plus| Play)?","model":"Moto $1$2"},{"regex":"Motorola[ _\\\\-]([a-z0-9]+)","model":"$1"},{"regex":"MOTORAZR[ _\\\\-]([a-z0-9]+)","model":"RAZR $1"},{"regex":"MOTORIZR[ _\\\\-]([a-z0-9]+)","model":"RIZR $1"},{"regex":"MOT(?!OROLA)[O]?[_\\\\-]?([a-z0-9.]+)","model":"$1"},{"regex":"(?<!AN)DROID ?([a-z0-9 ]*) Build","model":"DROID $1"},{"regex":"(?<!AN)DROID ?([a-z0-9]+)","model":"DROID $1"},{"regex":"portalmmm/2.0 ((?:E378i|L6|L7|V3)[a-z0-9]+)","model":"$1"},{"regex":"(XOOM [^;/]*)Build","device":"tablet","model":"$1"},{"regex":"(MZ[0-9]{3})[);/ ]","device":"tablet","model":"$1"},{"regex":"((?:ME|MB|XT)[0-9]{3,4}(?:\\\\(Defy\\\\))?)[);/ ]","model":"$1"}]},"Movic":{"regex":"MOVIC","device":"smartphone","models":[{"regex":"MOVIC[ -]W([2345])","model":"W$1"}]},"MTN":{"regex":"MTN-","device":"smartphone","models":[{"regex":"MTN-(L860|S620)","model":"Sm@rt Mini $1"},{"regex":"MTN-8978P","device":"tablet","model":"Steppa"},{"regex":"MTN-([a-z0-9_\\\\-]+)","model":"MTN-$1"}]},"MyPhone":{"regex":"(?:MyPhone|MyPad|MyTab)[ _][^;/]+ Build|Cube_LTE|myTab10II|HAMMER[ _]ENERGY|HAMMER_AXE_M_LTE|Hammer Titan 2|C-Smart_pix","device":"smartphone","models":[{"regex":"MyPad[ _]([^;/]+) Build","model":"MyPad $1","device":"tablet"},{"regex":"MyTab[ _]([^;/]+) Build","model":"MyTab $1","device":"tablet"},{"regex":"myTab10II","model":"MyTab 10 II","device":"tablet"},{"regex":"Cube_LTE","model":"Cube LTE"},{"regex":"HAMMER[ _]ENERGY","model":"Hammer Energy"},{"regex":"HAMMER_AXE_M_LTE","model":"Hammer Axe M LTE"},{"regex":"Hammer Titan 2","model":"Hammer Titan 2"},{"regex":"C-Smart_pix","model":"C-Smart Pix"},{"regex":"MyPhone[ _]([^;/]+) Build","model":"$1"}]},"MyWigo":{"regex":"MyWigo ","device":"smartphone","models":[{"regex":"City3","model":"City 3"}]},"Myria":{"regex":" (Myria_[^/;]+|502M|Cozy|Easy tab 9|Grand) Build|Myria_FIVE|Myria_Grand_4G|Myria_Wide_2|Myria_Wide_4G","device":"smartphone","models":[{"regex":"Myria_([^/;]+) Build","model":"$1"},{"regex":"Myria_FIVE","model":"Five"},{"regex":"(502M|Grand)","model":"$1"},{"regex":"Myria_Grand_4G","model":"Grand 4G"},{"regex":"Myria_Wide_4G","model":"Wide 4G"},{"regex":"Myria_Wide_2","model":"Wide 2"},{"regex":"(Cozy|Easy tab 9)","model":"$1","device":"tablet"}]},"M.T.T.":{"regex":"M.T.T.","device":"smartphone","models":[{"regex":"M.T.T. ?Tablet([^;/]+)? Build","device":"tablet","model":"Tablet$1"},{"regex":"M.T.T. ?([^;/]+) Build","model":"$1"}]},"Navon":{"regex":"Superme_Max","device":"smartphone","models":[{"regex":"Superme_Max","model":"Supreme Max"}]},"NOA":{"regex":"NOA[ _]|HummerLE","device":"smartphone","models":[{"regex":"NOA[_ ]CORE[_ ]FORTE","model":"Core Forte"},{"regex":"HummerLE","model":"Hummer LE"},{"regex":"NOA[_ ]Hummer[_ ]Lite","model":"Hummer Lite"},{"regex":"NOA[_ ]MOVEse","model":"Move SE"},{"regex":"NOA[_ ]NEXT","model":"Next"},{"regex":"NOA[_ ]VISION[_ ]H3SE","model":"Vision H3SE"},{"regex":"NOA[_ ]VISION[_ ]H3","model":"Vision H3"},{"regex":"NOA[_ ]LOOP","model":"Loop"},{"regex":"NOA[_ ]H4se","model":"H4SE"},{"regex":"NOA[_ ]Mg12","model":"MG12"},{"regex":"NOA[_ ]H44SE","model":"H44SE"},{"regex":"NOA[_ ]H10LE","model":"H10LE"},{"regex":"NOA[_ ]([^;)/ ]+)","model":"$1"}]},"Nobby":{"regex":"Nobby[ ]S500[;/) ]","device":"smartphone","model":"S500"},"NEC":{"regex":"NEC[ _\\\\-]|KGT/2\\\\.0|portalmmm/1\\\\.0 (?:DB|N)|(?:portalmmm|o2imode)/2.0[ ,]N","device":"smartphone","models":[{"regex":"(?:NEC[ _\\\\-]|KGT/2\\\\.0 )([a-z0-9]+)","model":"$1"},{"regex":"portalmmm/1\\\\.0 ((?:DB|N)[a-z0-9]+)","model":"$1"},{"regex":"(?:portalmmm|o2imode)/2\\\\.0[ ,](N[a-z0-9]+)","model":"$1"}]},"Neffos":{"regex":"Neffos","device":"smartphone","models":[{"regex":"Neffos[_ ]Y50","model":"Y50"},{"regex":"Neffos[_ ]((?:Y|N|C|X)[0-9][A-Z]?(?: Max| Lite)?)","model":"$1"}]},"Nextbit":{"regex":"(Robin) Build","device":"smartphone","model":"$1"},"Newgen":{"regex":"NEWGEN\\\\-([a-z0-9]+)","device":"feature phone","model":"$1"},"Netgear":{"regex":"GTV100","device":"tv","models":[{"regex":"GTV100","model":"NeoTV Prime"}]},"NeuImage":{"regex":"NIM-","device":"smartphone","models":[{"regex":"NIM-(450D|550O|600Q)","model":"$1"}]},"NextBook":{"regex":"Next[0-9]|NX785QC8G|NXM900MC|NX008HD8G|NX010HI8G|NXM908HC|NXM726","device":"tablet","models":[{"regex":"NX008HD8G","model":"Premium 8 HD"},{"regex":"NXM908HC","model":"Premium 9"},{"regex":"NX010HI8G","model":"Premium 10 Hi"},{"regex":"NX785QC8G","model":"8"},{"regex":"NXM900MC","model":"8 HD"},{"regex":"NXM726","model":"Premium 7"},{"regex":"Next([0-9]+[^;/]+) Build","model":"Next $1"}]},"NGM":{"regex":"NGM[_ ][a-z0-9]+|(Forward|Dynamic)[ _]?[^/;]+(?:Build|/)","device":"smartphone","models":[{"regex":"(Forward|Dynamic)[ _]?([^/;]+) Build","model":"$1 $2"},{"regex":"(Forward|Dynamic)[ _]?([^/;]+)/","model":"$1 $2"},{"regex":"NGM ([^;/]+) Build","model":"$1"},{"regex":"NGM_([a-z0-9]+)","model":"$1"}]},"Nexian":{"regex":"S?Nexian","device":"smartphone","models":[{"regex":"S?Nexian[ ]?([a-z0-9\\\\-]+)","model":"$1"},{"regex":"S?Nexian-([a-z0-9]+)","model":"$1"}]},"Noain":{"regex":"NOAIN","device":"smartphone","models":[{"regex":"NOAIN[ _-]([^;/]+) Build","model":"$1"},{"regex":"NOAIN[ _-]([^;/)]+)[;/)]","model":"$1"}]},"Noblex":{"regex":"Noblex|NBX-","device":"smartphone","models":[{"regex":"(?:Noblex|NBX)[ _-]([^;/]+) Build","model":"$1"},{"regex":"(?:Noblex|NBX)[ _-]([^;/)]+)[;/)]","model":"$1"}]},"Nomi":{"regex":"Nomi[ _-]|C101010 Ultra2[;/) ]","device":"smartphone","models":[{"regex":"C101010 Ultra2","model":"Ultra 2","device":"tablet"},{"regex":"Nomi[ _-]([^;/]+) Build","model":"$1"},{"regex":"Nomi[ _-]([^;/)]+)[;/)]","model":"$1"}]},"NUU Mobile":{"regex":"N(5702|5001)L[;)/ ]","device":"smartphone","models":[{"regex":"N5702L","model":"G3"},{"regex":"(N5001L)[;)/ ]","model":"$1"}]},"NYX Mobile":{"regex":"NYX[ _]","device":"smartphone","models":[{"regex":"NYX_A1","model":"A1"},{"regex":"NYX_Blink","model":"Blink"},{"regex":"NYX_EGO","model":"Ego"},{"regex":"NYX_FENIX","model":"Fenix"},{"regex":"NYX_FLY_II","model":"Fly II"},{"regex":"NYX_FLY_MINI","model":"Fly Mini"},{"regex":"NYX_FLY","model":"Fly"},{"regex":"NYX_HIT","model":"Hit"},{"regex":"NYX_JAK","model":"Jak"},{"regex":"NYX_JOIN","model":"Join"},{"regex":"NYX_NOBA_II","model":"Noba II"},{"regex":"NYX_NOBA","model":"Noba"},{"regex":"NYX_ORBIS","model":"Orbis"},{"regex":"NYX[ _]REX","model":"Rex"},{"regex":"NYX_SHADE","model":"Shade"},{"regex":"NYX_SKY","model":"Sky"},{"regex":"NYX_SPARK","model":"Spark"},{"regex":"NYX_VOX","model":"Vox"},{"regex":"NYX_ZEUZ_HD","model":"Zeus HD"}]},"Nous":{"regex":"NS([356]|500[2-68]|5511|5502)[;/) ]","device":"smartphone","models":[{"regex":"(NS[0-9]{1,4})[;/) ]","model":"$1"}]},"Nvidia":{"regex":"(SHIELD Tablet K1) Build","device":"tablet","models":[{"regex":"(SHIELD Tablet K1) Build","model":"$1"}]},"O+":{"regex":"O\\\\+[ _](Air|Crunch|Ultra|Upsized|Venti)","device":"smartphone","models":[{"regex":"O\\\\+[ _](Crunch|Ultra 2.0|Ultra|Upsized|Venti 4G)","model":"$1"},{"regex":"O\\\\+_AIR","model":"Air"}]},"O2":{"regex":"Xda|O2[ \\\\-]|COCOON","device":"smartphone","models":[{"regex":"(Xda[ _][a-z0-9_]+)","model":"$1"},{"regex":"(COCOON)","model":"$1"},{"regex":"O2 ([a-z0-9 ]+)","model":"$1"},{"regex":"O2-([a-z0-9]+)","model":"$1"}]},"Odys":{"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","device":"tablet","models":[{"regex":"XELIO[_ ]A10","model":"Xelio A10"},{"regex":"XELIOPHONETAB3","model":"Xelio Phonetab 3"},{"regex":"XELIO_NEXT_10_PLUS_3G","model":"Xelio Next 10 Plus 3G"},{"regex":"XELIO_PHONE_TAB7_3G","model":"Xelio Phonetab 7 3G"},{"regex":"XELIO10EXTREME","model":"Xelio 10 Xtreme"},{"regex":"XELIO10_PLUS_3G","model":"Xelio 10 Plus 3G"},{"regex":"ELEMENT10_PLUS_3G","model":"Element 10 Plus 3G"},{"regex":"CONNECT8PLUS","model":"Connect 8 Plus"},{"regex":"CONNECT7PRO","model":"Connect 7 Pro"},{"regex":"MAVEN_?10_PRO_PLUS_3G","model":"Maven 10 Pro Plus 3G"},{"regex":"MAVEN_?10_?PLUS","model":"Maven 10 Plus"},{"regex":"MAVEN_?10_?PRO","model":"Maven 10 Pro"},{"regex":"MAVEN_?10_?HD","model":"Maven 10 HD"},{"regex":"RAPID_?7_?LTE","model":"Rapid 7 LTE"},{"regex":"RAPID_?10_?LTE","model":"Rapid 10 LTE"},{"regex":"TAO_X10","model":"Tao X10"},{"regex":"SPACE10_PLUS_3G","model":"Space 10 Plus 3G"},{"regex":"SPACE10_PRO_3G","model":"Space 10 Pro 3G"},{"regex":"THOR_?10 Build","model":"Thor 10"},{"regex":"ADM816HC","model":"Neo X"},{"regex":"EOS10","model":"EOS 10"},{"regex":"AEON","model":"Aeon"},{"regex":"FALCON_10_PLUS_3G","model":"Falcon 10 Plus 3G"},{"regex":"FUSION","model":"Fusion 7"},{"regex":"NEO6[_ ]LTE","model":"Neo 6 LTE","device":"smartphone"},{"regex":"ADM8000KP","model":"Titan"},{"regex":"THOR_?10_PLUS_3G","model":"Thor 10 Plus 3G"},{"regex":"IEOS[ _]([^/;]+) Build","model":"Ieos $1"},{"regex":"(?:ODYS[ _-])?NOON Build","model":"Noon"},{"regex":"(?:ODYS[ _-])?NOON_PRO Build","model":"Noon Pro"},{"regex":"Odys[ _-]([^/;]+) Build","model":"$1"}]},"Obi":{"regex":"Obi[ _-]|(SJ1\\\\.5|SJ2\\\\.6|S400|S452\\\\+|S451|S453|S501|S502|S503\\\\+?|S507|S520|S550|S551|falcon)[ _]","device":"smartphone","models":[{"regex":"SJ2\\\\.6","model":"SJ2.6"},{"regex":"SJ1\\\\.5","model":"SJ1.5"},{"regex":"(?:Obi_)?S400","model":"Skipper"},{"regex":"(?:Obi_)?S451|falcon","model":"Flacon"},{"regex":"(?:Obi_)?S452\\\\+","model":"Python"},{"regex":"(?:Obi_)?S453","model":"Fox"},{"regex":"(?:Obi_)?S501","model":"Wolverine"},{"regex":"(?:Obi_)?S502","model":"Leopard"},{"regex":"(?:Obi_)?S503\\\\+","model":"Boa Plus"},{"regex":"(?:Obi_)?S503","model":"Boa"},{"regex":"(?:Obi_)?S507","model":"Pelican"},{"regex":"(?:Obi_)?S520","model":"Octopus"},{"regex":"(?:Obi_)?S550","model":"Crane"},{"regex":"(?:Obi_)?S551","model":"Hornbill"},{"regex":"(?:Obi_)?S454","model":"Alligator"},{"regex":"Obi[ _-]([^;/]+) Build","model":"$1"},{"regex":"Obi[ _-]([^;/)]+)[;/)]","model":"$1"}]},"Onda":{"regex":"Onda","device":"smartphone","models":[{"regex":"ONDA MID","model":"MID","device":"tablet"},{"regex":"([a-z0-9]+)[ _]Onda","model":"$1"},{"regex":"Onda ([a-z0-9]+)","model":"$1"}]},"OnePlus":{"regex":"(?:du_)?ONEPLUS|(?:A0001|A200[135]|A300[03]|A3010|A5000|A600[03]|A601[03]|E100[135]|GM191[03517]|GM190[013])(?: Build|\\\\))","device":"smartphone","models":[{"regex":"GM191[03517]","model":"7 Pro"},{"regex":"GM190[013]","model":"7"},{"regex":"A0001","model":"One"},{"regex":"A200[135]|OnePlus2","model":"2"},{"regex":"E100[135]","model":"X"},{"regex":"A3010|OnePlus3T","model":"3T"},{"regex":"A300[03]|OnePlus3","model":"3"},{"regex":"A5010|OnePlus5T","model":"5T"},{"regex":"A5000|OnePlus5","model":"5"},{"regex":"A600[03]|OnePlus6","model":"6"},{"regex":"A601[03]","model":"6T"},{"regex":"(?:du_)?ONEPLUS ?([^;/]+) Build","model":"$1"}]},"OPPO":{"regex":"(?:OB-)?OPPO[ _]?([a-z0-9]+)|N1T|(?:X90[07][0679]|U707T?|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|A33f|A33fw|A37fw?|PAAM00|PAC[T|M]00|PBAM00)[);/ ]|R7kf|R7plusf|R7Plusm|A1601|CPH[0-9]{4}|PCAM10|PADM00|PBBT00|PBBM[03]0|RMX18(0[1579]|11|3[13]|2[15]|[45]1|45)|CPH19(69|79|23|1[179])|RMX(1827|194[135]|19[01]1|1971)|PC[CD]M00|PBAT00|PBCM[13]0|PBE[MT]00|PBFM00|PAFM00","device":"smartphone","models":[{"regex":"(?:OPPO[ _]?)?U707T?[);/ ]","model":"Find Way S"},{"regex":"(?:OPPO[ _]?)?CPH1979[);/ ]","model":"Reno Z"},{"regex":"CPH1945","model":"Reno2 Z"},{"regex":"CPH1969","model":"F11 Pro"},{"regex":"CPH1911","model":"F11"},{"regex":"CPH1917","model":"Reno"},{"regex":"CPH1921","model":"Reno 5G"},{"regex":"PCCM00","model":"Reno 10X"},{"regex":"CPH1919","model":"Reno 10X Zoom"},{"regex":"CPH1923","model":"A1K"},{"regex":"CPH1909","model":"A5S"},{"regex":"(?:OPPO[ _]?)?X909T?[);/ ]","model":"Find 5"},{"regex":"(?:OPPO[ _]?)?X907[067][);/ ]","model":"Find 7"},{"regex":"(?:OPPO[ _]?)?X900[067][);/ ]","model":"Find 7a"},{"regex":"(?:OPPO[ _]?)?X9009[);/ ]","model":"F1 Plus"},{"regex":"(?:OPPO[ _]?)?R8006[);/ ]","model":"R1L"},{"regex":"(?:OPPO[ _]?)?R800[07][);/ ]","model":"R1S"},{"regex":"(?:OPPO[ _]?)?R8015[);/ ]","model":"Find Guitar"},{"regex":"(?:OPPO[ _]?)?R810[679][);/ ]","model":"R5"},{"regex":"(?:OPPO[ _]?)?R7kf[);/ ]","model":"R7 Lite"},{"regex":"(?:OPPO[ _]?)?R7Plusf[);/ ]","model":"R7 Plus F"},{"regex":"(?:OPPO[ _]?)?R7Plusm[);/ ]","model":"R7 Plus"},{"regex":"(?:OPPO[ _]?)?R8111[);/ ]","model":"Find Melody"},{"regex":"(?:OPPO[ _]?)?R8113[);/ ]","model":"Piano"},{"regex":"(?:OPPO[ _]?)?R815[TW]?[);/ ]","model":"Find Clover"},{"regex":"(?:OPPO[ _]?)?R821T?[);/ ]","model":"Find Muse"},{"regex":"(?:OPPO[ _]?)?R827T?[);/ ]","model":"Find 5 Mini"},{"regex":"(?:OPPO[ _]?)?A33fw[);/ ]","model":"Neo 7s"},{"regex":"(?:OPPO[ _]?)?A33f[);/ ]","model":"Neo 7"},{"regex":"(?:OPPO[ _]?)?R831[SL][);/ ]","model":"Neo 5"},{"regex":"(?:OPPO[ _]?)?R831K[);/ ]","model":"Neo 3"},{"regex":"(?:OPPO[ _]?)?R831T?[);/ ]","model":"Neo"},{"regex":"(?:OPPO[ _]?)?N520[79][);/ ]","model":"N3"},{"regex":"(?:OPPO[ _]?)?N5117[);/ ]","model":"N1 Mini"},{"regex":"(?:OPPO[ _]?)?CPH1609[);/ ]","model":"F3"},{"regex":"(?:OPPO[ _]?)?CPH1707[);/ ]","model":"R11"},{"regex":"(?:OPPO[ _]?)?CPH1715[);/ ]","model":"A77"},{"regex":"(?:OPPO[ _]?)?CPH1717[);/ ]","model":"A71"},{"regex":"(?:OPPO[ _]?)?CPH1719[);/ ]","model":"R11s"},{"regex":"(?:OPPO[ _]?)?CPH1721[);/ ]","model":"R11s Plus"},{"regex":"(?:OPPO[ _]?)?CPH172[37][);/ ]","model":"F5"},{"regex":"(?:OPPO[ _]?)?CPH1725[);/ ]","model":"F5 Youth"},{"regex":"(?:OPPO[ _]?)?CPH1605[);/ ]","model":"A39"},{"regex":"(?:OPPO[ _]?)?CPH1607[);/ ]","model":"R9s"},{"regex":"(?:OPPO[ _]?)?CPH1611[);/ ]","model":"R9s Plus"},{"regex":"(?:OPPO[ _]?)?CPH1613[);/ ]","model":"F3 Plus"},{"regex":"(?:OPPO[ _]?)?CPH170[15][);/ ]","model":"A57"},{"regex":"(?:OPPO[ _]?)?CPH1729[);/ ]","model":"A83"},{"regex":"(?:OPPO[ _]?)?CPH1801[);/ ]","model":"A71"},{"regex":"(?:OPPO[ _]?)?CPH18(0[35]|53)[);/ ]","model":"A3s"},{"regex":"(?:OPPO[ _]?)?(?:CPH1809|PBAT00)[);/ ]","model":"A5"},{"regex":"CPH1933","model":"A5 (2020)"},{"regex":"(?:OPPO[ _]?)?CPH1938[);/ ]","model":"A9 (EN)"},{"regex":"CPH1937","model":"A9 (2020)"},{"regex":"(?:OPPO[ _]?)?CPH18(19|21)[);/ ]","model":"F7"},{"regex":"(?:OPPO[ _]?)?CPH1823[);/ ]","model":"F9 Pro"},{"regex":"(?:OPPO[ _]?)?CPH1827[);/ ]","model":"A83 (2018)"},{"regex":"(?:OPPO[ _]?)?CPH1831[);/ ]","model":"R15 Pro"},{"regex":"(?:OPPO[ _]?)?CPH1835[);/ ]","model":"R15"},{"regex":"(?:OPPO[ _]?)?CPH1837[);/ ]","model":"A3"},{"regex":"(?:OPPO[ _]?)?CPH1851[);/ ]","model":"AX5"},{"regex":"CPH1920","model":"AX5s"},{"regex":"(?:OPPO[ _]?)?CPH1859[);/ ]","model":"F7"},{"regex":"(?:OPPO[ _]?)?CPH1861[);/ ]","model":"RealMe 1"},{"regex":"(?:OPPO[ _]?)?PBCM30[);/ ]","model":"K1"},{"regex":"RMX1811","model":"RealMe C1"},{"regex":"RMX194[135]","model":"RealMe C2"},{"regex":"RMX1831","model":"RealMe U1"},{"regex":"(?:OPPO[ _]?)?(?:CPH187[15]|PAFM00)[);/ ]","model":"Find X"},{"regex":"(?:OPPO[ _]?)?CPH1877[);/ ]","model":"R17 Pro"},{"regex":"(?:OPPO[ _]?)?(?:CPH1879|PBE[MT]00)[);/ ]","model":"R17"},{"regex":"(?:OPPO[ _]?)?(?:CPH1825|CPH1881)[);/ ]","model":"F9"},{"regex":"(?:OPPO[ _]?)?CPH1893[);/ ]","model":"R17 Neo"},{"regex":"(?:OPPO[ _]?)?(?:CPH1901|PBFM00)[);/ ]","model":"A7"},{"regex":"(?:OPPO[ _]?)?CPH1903[);/ ]","model":"AX7"},{"regex":"(?:OPPO[ _]?)?A37f(w)?(?: Build|\\\\))","model":"A37f$1"},{"regex":"(?:OPPO[ _]?)?PADM00","model":"A3"},{"regex":"(?:OPPO[ _]?)?PBAM00","model":"A5"},{"regex":"(?:OPPO[ _]?)?A1601[);/ ]","model":"F1s"},{"regex":"(?:OPPO[ _]?)?R1011 Build","model":"Joy Plus"},{"regex":"(?:OPPO[ _]?)?(?:PAC[TM]00|PAAM00)[);/ ]","model":"R15"},{"regex":"PBCM10[);/ ]","model":"R15x"},{"regex":"RMX180[59]","model":"Realme 2"},{"regex":"RMX180[17]","model":"Realme 2 Pro"},{"regex":"RMX1833|RMX182[15]","model":"Realme 3"},{"regex":"RMX1827","model":"Realme 3i"},{"regex":"RMX1851","model":"Realme 3 Pro"},{"regex":"RMX1901","model":"Realme X"},{"regex":"RMX1911","model":"Realme 5"},{"regex":"RMX1971","model":"Realme 5 Pro"},{"regex":"(PBBT00|PBBM00)[);/ ]","model":"A7x"},{"regex":"PCDM00[);/ ]","model":"A7n"},{"regex":"PBBM30[);/ ]","model":"A3s"},{"regex":"N1T?[);/ ]","model":"N1T","device":"phablet"},{"regex":"PCAM10","model":"A9"},{"regex":"R([0-9]{3,4}[KSTW]?)[);/ ]","model":"R$1"},{"regex":"(?:OB-)?OPPO[ _]?([a-z0-9]+)","model":"$1"}]},"Opsson":{"regex":"Opsson|IUSAI","device":"smartphone","models":[{"regex":"IUSAI[ _]([^/;]+) Build","model":"Iusai $1"},{"regex":"IUSAI[ _]([^/;\\\\)]+)[/;\\\\)]","model":"Iusai $1"},{"regex":"Opsson[ _]([^/;]+) Build","model":"$1"},{"regex":"(?:Opsson-)?Opsson[ -_]([^/;]+)/","model":"$1"}]},"Orange":{"regex":"SPV[ \\\\-]?([a-z0-9]+)|Orange[ _-](?!Tahiti-LS\\\\))([^/;]+)( Build|\\\\))(?<!Tahiti-LS\\\\))|SC/IHD92|FunTab ([^/;]+) Build","device":"smartphone","models":[{"regex":"SC/IHD92","model":"Livebox Play","device":"tv"},{"regex":"Sego","model":"Sego","device":"tablet"},{"regex":"FunTab ([^/;]+) Build","model":"FunTab $1","device":"tablet"},{"regex":"Orange[ _-](Rise)(3[12]|5[12])[ ;/)]","model":"$1 $2"},{"regex":"Orange[ _-](Dive)72[ ;/)]","model":"$1 72"},{"regex":"Orange[ _-](Daytona|Dive (30|7[13])|Dublin|Fova|Gova|Hi 4G|Hiro|Kivo|Monte Carlo|Neva 80|Neva play|Nura|Reyo|Rise[_ ](3[034]|40|5[34])|Rono|Roya|San Francisco|Tactile internet 2|Tado|Yomi|Yumo|Zali)[ ;/)]","model":"$1"},{"regex":"SPV[ \\\\-]?([a-z0-9]+)","model":"SPV $1"}]},"Ouki":{"regex":"OUKI|OK[AU][0-9]+[a-z]* Build","device":"smartphone","models":[{"regex":"OUKI[ _-]?([^;/]+) Build","model":"$1"},{"regex":"([^;/)]+) Build/OUKI","model":"$1"},{"regex":"OUKI[ _-]?([^;/)]+)[;/)]","model":"$1"},{"regex":"(OK[AU][0-9]+[a-z]*) Build","model":"$1"}]},"Overmax":{"regex":"OV-[a-z]+(?:[^;(/]*)[();/ ]|Qualcore 1010","device":"tablet","models":[{"regex":"OV-V10","model":"Vertis Yard","device":"smartphone"},{"regex":"OV-Vertis[ _-]([^;/]+) Build","model":"Vertis $1","device":"smartphone"},{"regex":"Qualcore 1010","model":"Qualcore 1010","device":"tablet"},{"regex":"(OV-[a-z]+(?:[^;(/]*))(?<!Build)[();/ ]","model":"$1"}]},"Oysters":{"regex":"Oysters|T84ERI[ _]3G|T72HM3G|(T74HMi|T84Bi)[_ ]4G","device":"tablet","models":[{"regex":"Oysters ((?:Arctic|Indian|Atlantic|Pacific)[^/;]+) Build","device":"smartphone","model":"$1"},{"regex":"Oysters ([^/;]+) Build","model":"$1"},{"regex":"(T84ERI[ _]3G|T72HM3G|(?:(T74HMi|T84Bi)[_ ]4G))","model":"$1"}]},"\xf6wn":{"regex":"OWN","device":"smartphone","models":[{"regex":"FUN ([67])","model":"Fun $1"},{"regex":"FUN 5\\\\(4G\\\\)","model":"Fun 5 4G"},{"regex":"OWN[ _](S3000D|S3010|S3020D|S4010|S4025)","model":"$1"},{"regex":"One Plus","model":"One Plus"},{"regex":"One","model":"One"},{"regex":"SMART 9","model":"Smart 9"}]},"Panacom":{"regex":"T-i708D","device":"smartphone","models":[{"regex":"T-i708D","device":"tablet","model":"T-i708D"}]},"Panasonic":{"regex":"Panasonic|PANATV[0-9]+|Viera/|P902i[);/ ]|Eluga[ _]|FZ-N1|P55 Novo 4G","device":"smartphone","models":[{"regex":"Eluga[ _-]([^;/]+) Build","model":"Eluga $1"},{"regex":"Eluga[ _-]([^;/]+)[;/)]","model":"Eluga $1"},{"regex":"FZ-N1","model":"Toughpad"},{"regex":"P55 Novo 4G","model":"P55 Novo 4G"},{"regex":"P902i[);/ ]","device":"feature phone","model":"P902i"},{"regex":"Panasonic MIL DLNA","device":"tv","model":"Viera Cast"},{"regex":"PANATV[0-9]+|Viera/","device":"tv","model":"Smart TV"},{"regex":"Panasonic[ _\\\\-]?([a-z0-9]+)","model":"$1"},{"regex":"portalmmm/2.0 (P[a-z0-9]+)","model":"$1"}]},"PCBOX":{"regex":"Art-PCB-V116|Bee-PCB-V216|Clap-PCB-I316|PCB-T(103|715)","device":"smartphone","models":[{"regex":"Art-PCB-V116","model":"Art"},{"regex":"Bee-PCB-V216","model":"Bee"},{"regex":"Clap-PCB-I316","model":"Clap"},{"regex":"PCB-T103","device":"tablet","model":"Curi Lite"},{"regex":"PCB-T715","device":"tablet","model":"T715"}]},"PCD":{"regex":"PH4001","device":"smartphone","models":[{"regex":"PH4001","model":"PH4001"}]},"PCD Argentina":{"regex":"PCD[ ]?50[689]","device":"smartphone","models":[{"regex":"PCD[ ]?(50[689])","model":"$1"}]},"Pentagram":{"regex":"Pentagram|Quadra|Monster X5","device":"tablet","models":[{"regex":"(?:PENTAGRAM[_ ])?EON[_ ]PRIX","model":"Eon Prix"},{"regex":"Quadra 7( UltraSlim)?","model":"Quadra 7 UltraSlim"},{"regex":"Monster X5?","model":"Monster X5","device":"smartphone"},{"regex":"Quadra ?([^);/]*) Build","model":"Quadra $1"},{"regex":"Pentagram ?TAB ?([^);/]*) Build","model":"Tab $1"},{"regex":"Pentagram ?([^);/]*) Build","model":"$1","device":"smartphone"}]},"Philips":{"regex":"Philips|AND1E[);/ ]|NETTV/|PI3210G|TLE(821L|722G)","device":"smartphone","models":[{"regex":"AND1E(?: TV)?[);/ ]","model":"Android TV","device":"tv"},{"regex":"(PI3210G)","model":"$1","device":"tablet"},{"regex":"(TLE821L)[);/ ]","model":"$1 4G LTE","device":"tablet"},{"regex":"(TLE722G)[);/ ]","model":"$1","device":"tablet"},{"regex":"Philips, BDP([0-9]{4})","model":"Blu-ray Player (BDP$1)","device":"tv"},{"regex":"(NETTV/[0-9\\\\.]{5})","model":"NetTV Series","device":"tv"},{"regex":"Philips-FISIO ([a-z0-9]+)","model":"Fisio $1"},{"regex":"Philips[ _-]?([a-z0-9\\\\-@]+)","model":"$1"}]},"phoneOne":{"regex":"phoneOne[ \\\\-]?([a-z0-9]+)","device":"smartphone","model":"$1"},"Primepad":{"regex":"PD\\\\-(3127NC|3127) Build","device":"tablet","models":[{"regex":"PD\\\\-3127NC Build","model":"PD-3127NC"},{"regex":"PD\\\\-3127 Build","model":"PD-3127"}]},"Pioneer":{"regex":"Pioneer|.*; R1 Build","device":"smartphone","models":[{"regex":".*; R1 Build","model":"R1","device":"tablet"},{"regex":"Pioneer[ _-]?([^;/]+) Build","model":"$1"},{"regex":"Pioneer[ _-]?([^;/)]+)[;/)]","model":"$1"}]},"Pixus":{"regex":"Pixus|Ride[_ ]4G[;)\\\\ ]","device":"tablet","models":[{"regex":"Ride[_ ]4G","model":"Ride 4G"},{"regex":"Raze","model":"Raze","device":"smartphone"}]},"PULID":{"regex":"PULID[ _]|F1[01357]\\\\+? Build","device":"smartphone","models":[{"regex":"F(1[01357]\\\\+?) Build","model":"F$1"},{"regex":"PULID[ _]([^;/]+) Build","model":"$1"},{"regex":"PULID[ _]([a-z0-9_]+)\\\\)","model":"$1"}]},"Point of View":{"regex":"POV_TV|POV_TAB|MOB-5045","device":"tablet","models":[{"regex":"POV_TV-HDMI-KB-01","model":"HDMI Smart TV Dongle","device":"tv"},{"regex":"POV_TV-HDMI-200BT","model":"Mini PC HDMI Dongle","device":"tv"},{"regex":"MOB-5045","model":"Mobii Phone 5045","device":"smartphone"},{"regex":"POV_TAB-P506","model":"ONYX 506 Navi"},{"regex":"POV_TAB[_-]NAVI7[_-]3G[_-]M","model":"ONYX 507 Navi"},{"regex":"POV_TAB-P527S","model":"ONYX 527S"},{"regex":"POV_TAB-P547","model":"ONYX 547 Navi"},{"regex":"POV_TAB-PROTAB26","model":"ProTab 26 XXL IPS"},{"regex":"POV_TAB-PROTAB25XXL8?","model":"ProTab 25XXL"},{"regex":"POV_TAB-PL1015","model":"Mobii 1015"},{"regex":"POV_TAB-PROTAB([a-z0-9]+)","model":"ProTab $1"},{"regex":"POV_TAB-P?([a-z0-9]+)","model":"Mobii $1"}]},"Pomp":{"regex":"POMP[ _-]","device":"smartphone","models":[{"regex":"POMP[ _-]([^;/]+) Build","model":"$1"},{"regex":"POMP[ _-]([^;/)]+)[;/)]","model":"$1"}]},"PPTV":{"regex":"(KING 7S?)","device":"smartphone","model":"$1"},"ProScan":{"regex":"PLT([^;/]+) Build","device":"tablet","model":"PLT$1"},"RCA Tablets":{"regex":"RCT([^;/]+) Build|RCA RLTP4028","device":"smartphone","models":[{"regex":"RCA RLTP4028","model":"RLTP4028"},{"regex":"RCT([^;/]+) Build","device":"tablet","model":"RCT$1"}]},"Readboy":{"regex":"Readboy[ _-]","device":"tablet","models":[{"regex":"Readboy[ _-]([^;/]+) Build","model":"$1"},{"regex":"Readboy[ _-]([^;/]+)[;/)]","model":"$1"}]},"Roku":{"regex":"Roku/DVP","device":"tv","model":"Digital Video Player"},"Rokit":{"regex":"IO Pro","device":"smartphone","models":[{"regex":"IO Pro","model":"IO Pro"}]},"Rombica":{"regex":"SSQ-A0500[);/ ]","device":"tv","model":"Smart Stick 4K"},"Rover":{"regex":"Rover ([0-9]+)","device":"feature phone","model":"$1"},"RT Project":{"regex":"Shock 5","device":"smartphone","models":[{"regex":"Shock 5","model":"Shock 5"}]},"Safaricom":{"regex":"NEON_RAY","device":"smartphone","models":[{"regex":"NEON_RAY","model":"Neon Ray"}]},"Santin BiTBiZ":{"regex":"BiTBiZ","device":"smartphone","models":[{"regex":"BiTBiZ_V58","model":"V58"}]},"Siemens":{"regex":"SIEMENS|SIE-|portalmmm/2\\\\.0 SI|S55|SL45i","device":"smartphone","models":[{"regex":"SIEMENS[ \\\\-]([a-z0-9]+)","model":"$1"},{"regex":"SIE(?:MENS )?[\\\\-]?([a-z0-9]+)","model":"$1"},{"regex":"(?:SIE-)?(S55|SL45i)","model":"$1"},{"regex":"portalmmm/2.0 (SI[a-z0-9]+)","model":"$1"}]},"Samsung":{"regex":"SAMSUNG(?! ?Browser)|Maple |SC-(?:02[CH]|04E|01F)|N[57]100|N5110|N9100|S(?:CH|GH|PH|EC|AM|HV|HW|M)-|SMART-TV|GT-|Galaxy|(?:portalmmm|o2imode)/2\\\\.0 [SZ]|sam[rua]|vollo Vi86[);/ ]|(?:OTV-)?SMT-E5015|ISW11SC|SCV3[1-9]|404SC","device":"smartphone","models":[{"regex":"GT-B9150","device":"tv","model":"Home Sync"},{"regex":"(?:OTV-)?SMT-E5015","device":"tv","model":"SMT-E5015"},{"regex":"Maple ","device":"tv","model":""},{"regex":"(?:SAMSUNG-)?(?:GT-)?N5100","device":"tablet","model":"GALAXY Note 8.0\\""},{"regex":"(?:SAMSUNG-)?(?:GT-)?N5110","device":"tablet","model":"GALAXY Note 8.0\\" WiFi"},{"regex":"(?:SAMSUNG-)?GT-N5120","device":"tablet","model":"GALAXY Note 8.0\\" LTE"},{"regex":"(?:SAMSUNG-)?GT-N8000","device":"tablet","model":"GALAXY Note 10.1\\""},{"regex":"(?:SAMSUNG-)?GT-N8010","device":"tablet","model":"GALAXY Note 10.1\\" WiFi"},{"regex":"(?:SAMSUNG-)?GT-N8020","device":"tablet","model":"GALAXY Note 10.1\\" LTE"},{"regex":"(?:SAMSUNG-)?GT-P1000M?|SCH-I800","device":"tablet","model":"GALAXY Tab"},{"regex":"(?:SAMSUNG-)?GT-P3100B?","device":"tablet","model":"GALAXY Tab 2 7\\""},{"regex":"(?:SAMSUNG-)?GT-P311[03]","device":"tablet","model":"GALAXY Tab 2 7\\" WiFi"},{"regex":"(?:SAMSUNG-)?GT-P5100|SCH-I915","device":"tablet","model":"GALAXY Tab 2 10.1\\""},{"regex":"(?:SAMSUNG-)?GT-P511[03]","device":"tablet","model":"GALAXY Tab 2 10.1\\" WiFi"},{"regex":"(?:SAMSUNG-)?GT-P5200","device":"tablet","model":"GALAXY Tab 3 10.1\\""},{"regex":"(?:SAMSUNG-)?GT-P5210","device":"tablet","model":"GALAXY Tab 3 10.1\\" WiFi"},{"regex":"(?:SAMSUNG-)?GT-P5220","device":"tablet","model":"GALAXY Tab 3 10.1\\" LTE"},{"regex":"(?:SAMSUNG-)?GT-P6200","device":"tablet","model":"GALAXY Tab 7\\" Plus"},{"regex":"(?:SAMSUNG-)?GT-P6201","device":"tablet","model":"GALAXY Tab 7\\" Plus N"},{"regex":"(?:SAMSUNG-)?GT-P6810","device":"tablet","model":"GALAXY Tab 7.7\\""},{"regex":"(?:SAMSUNG-)?GT-P7100","device":"tablet","model":"GALAXY Tab 10.1v"},{"regex":"(?:SAMSUNG-)?GT-P75[01]0","device":"tablet","model":"GALAXY Tab 10.1\\""},{"regex":"(?:SAMSUNG-)?SM-P600","device":"tablet","model":"GALAXY Note 10.1\\" 2014 Edition WiFi"},{"regex":"(?:SAMSUNG-)?SM-P60[12]","device":"tablet","model":"GALAXY Note 10.1\\" 2014 Edition"},{"regex":"(?:SAMSUNG-)?SM-(?:P605|P607T)","device":"tablet","model":"GALAXY Note 10.1\\" 2014 Edition LTE"},{"regex":"(?:SAMSUNG-)?SM-P900","device":"tablet","model":"GALAXY NotePRO 12.2\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-P901","device":"tablet","model":"GALAXY NotePRO 12.2\\""},{"regex":"(?:SAMSUNG-)?SM-P905","device":"tablet","model":"GALAXY NotePRO 12.2\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-P205","device":"tablet","model":"Galaxy Tab A with S Pen (2019)"},{"regex":"(?:SAMSUNG-)?SM-T110","device":"tablet","model":"GALAXY Tab 3 7.0\\" Lite WiFi"},{"regex":"(?:SAMSUNG-)?SM-T830X","device":"tablet","model":"GALAXY Tab S4"},{"regex":"(?:SAMSUNG-)?SM-T111","device":"tablet","model":"GALAXY Tab 3 7.0\\" Lite"},{"regex":"(?:SAMSUNG-)?SM-T116(?:BU|NU|NY)?","device":"tablet","model":"GALAXY Tab 3 V"},{"regex":"(?:SAMSUNG-)?SM-T2105","device":"tablet","model":"GALAXY Tab 3 7.0\\" Kids"},{"regex":"(?:SAMSUNG-)?SM-T210R?","device":"tablet","model":"GALAXY Tab 3 7.0\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T21(?:1|7[AS])","device":"tablet","model":"GALAXY Tab 3 7.0\\""},{"regex":"(?:SAMSUNG-)?SM-T230(?:NU)?","device":"tablet","model":"GALAXY Tab 4 7.0\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T231","device":"tablet","model":"GALAXY Tab 4 7.0\\" 3G"},{"regex":"(?:SAMSUNG-)?SM-T310","device":"tablet","model":"GALAXY Tab 3 8.0\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T311","device":"tablet","model":"GALAXY Tab 3 8.0\\""},{"regex":"(?:SAMSUNG-)?SM-T315","device":"tablet","model":"GALAXY Tab 3 8.0\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-T330","device":"tablet","model":"GALAXY Tab 4 8.0\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T335","device":"tablet","model":"GALAXY Tab 4 8.0\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-T520","device":"tablet","model":"GALAXY TabPRO 10.1\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T535","device":"tablet","model":"GALAXY Tab 4 10.1\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-T320","device":"tablet","model":"GALAXY TabPRO 8.4\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T325","device":"tablet","model":"GALAXY TabPRO 8.4\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-T525","device":"tablet","model":"GALAXY TabPRO 10.1\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-T530(?:NU)?","device":"tablet","model":"GALAXY Tab 4 10.1\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T700","device":"tablet","model":"GALAXY Tab S 8.4\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T705","device":"tablet","model":"GALAXY Tab S 8.4\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-T800","device":"tablet","model":"GALAXY Tab S 10.5\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T805","device":"tablet","model":"GALAXY Tab S 10.5\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-T813","device":"tablet","model":"GALAXY Tab S2 9.7\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T815","device":"tablet","model":"GALAXY Tab S2 9.7\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-T820","device":"tablet","model":"GALAXY Tab S3 9.7\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T825","device":"tablet","model":"GALAXY Tab S3 9.7\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-T900","device":"tablet","model":"GALAXY TabPRO 12.2\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T280","device":"tablet","model":"GALAXY Tab A 7.0\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T285","device":"tablet","model":"GALAXY Tab A 7.0\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-T3[58]0","device":"tablet","model":"GALAXY Tab A 8.0\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-(?:P350|T3[58]5)","device":"tablet","model":"GALAXY Tab A 8.0\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-T295","device":"tablet","model":"GALAXY Tab A 8.0\\" LTE (2019)"},{"regex":"(?:SAMSUNG-)?SM-(?:P355([MY])?|T550)","device":"tablet","model":"GALAXY Tab A 9.7\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-(?:P550|P555(M)?|T555)","device":"tablet","model":"GALAXY Tab A 9.7\\" LTE"},{"regex":"(?:SAMSUNG-)?SM-(?:T58[05]|P58[05])","device":"tablet","model":"GALAXY Tab A 10.1\\" WiFi (2016)"},{"regex":"(?:SAMSUNG-)?SM-T597","device":"tablet","model":"GALAXY Tab A 10.5\\" LTE (2018)"},{"regex":"(?:SAMSUNG-)?SM-T37[57]","device":"tablet","model":"GALAXY Tab E 8.0\\""},{"regex":"(?:SAMSUNG-)?SM-T560","device":"tablet","model":"GALAXY Tab E 9.6\\" WiFi"},{"regex":"(?:SAMSUNG-)?SM-T561","device":"tablet","model":"GALAXY Tab E 9.6\\" 3G"},{"regex":"(?:SAMSUNG-)?SM-T365","device":"tablet","model":"GALAXY Tab Active"},{"regex":"(?:SAMSUNG-)?SM-T39[57]","device":"tablet","model":"GALAXY Tab Active 2"},{"regex":"(?:SAMSUNG-)?SM-M305","device":"tablet","model":"GALAXY M30"},{"regex":"(?:SAMSUNG-)?SM-M405","device":"tablet","model":"GALAXY M40"},{"regex":"(?:SAMSUNG-)?SM-G850[AMSWY]","model":"GALAXY Alpha"},{"regex":"(?:SAMSUNG-)?GT-B5330","model":"GALAXY Chat"},{"regex":"(?:SAMSUNG-)?SM-A605K","model":"GALAXY Jean"},{"regex":"(?:SAMSUNG-)?GT-B5510","model":"GALAXY Y Pro"},{"regex":"(?:SAMSUNG-)?GT-B5512","model":"GALAXY Y Pro Duos"},{"regex":"(?:SAMSUNG-)?GT-B7510","model":"GALAXY Pro"},{"regex":"(?:SAMSUNG-)?GT-I5700","model":"GALAXY Spica"},{"regex":"(?:SAMSUNG-)?GT-I5801","model":"GALAXY Apollo"},{"regex":"(?:SAMSUNG-)?GT-I5800","model":"GALAXY 3"},{"regex":"(?:SAMSUNG-)?GT-I8000","model":"Omnia II"},{"regex":"(?:SAMSUNG-)?GT-I8150","model":"GALAXY W"},{"regex":"(?:SAMSUNG-)?GT-S5830","model":"GALAXY Ace"},{"regex":"(?:SAMSUNG-)?GT-I8160","model":"GALAXY Ace 2"},{"regex":"(?:SAMSUNG-)?SM-G313(?:HY|M[LUY]|[FM])","model":"GALAXY Ace 4"},{"regex":"(?:SAMSUNG-)?SM-G313[HU]","model":"GALAXY Ace 4 Lite"},{"regex":"(?:SAMSUNG-)?GT-I8190","model":"GALAXY S III mini"},{"regex":"(?:SAMSUNG-)?GT-I8200","model":"GALAXY S III mini Value Edition"},{"regex":"(?:SAMSUNG-)?GT-I826[02]","model":"GALAXY Core"},{"regex":"(?:SAMSUNG-)?GT-I8320","model":"H1"},{"regex":"(?:SAMSUNG-)?GT-I85[23]0","model":"GALAXY Beam"},{"regex":"(?:SAMSUNG-)?SM-G600S","model":"GALAXY Wide"},{"regex":"(?:SAMSUNG-)?GT-I855[028]","model":"GALAXY Win"},{"regex":"(?:SAMSUNG-)?GT-I8580","model":"GALAXY Core Advance"},{"regex":"(?:SAMSUNG-)?GT-I8730","model":"GALAXY Express"},{"regex":"(?:SAMSUNG-)?SM-E500(?:F|H|HQ|M)","model":"GALAXY E5"},{"regex":"(?:SAMSUNG-)?SM-E700(?:0|9|F|H|M)","model":"GALAXY E7"},{"regex":"(?:SAMSUNG-)?GT-I90(?:00|08|18|88)","model":"GALAXY S"},{"regex":"(?:SAMSUNG-)?GT-I9001","model":"GALAXY S Plus"},{"regex":"(?:SAMSUNG-)?GT-I9003","model":"GALAXY SL"},{"regex":"(?:SAMSUNG-)?GT-I9010","model":"GALAXY S Giorgio Armani"},{"regex":"(?:SAMSUNG-)?GT-I9070","model":"GALAXY S Advance"},{"regex":"(?:SAMSUNG-)?GT-I910[08]","model":"GALAXY S II"},{"regex":"(?:SAMSUNG-)?ISW11SC","model":"GALAXY S II WiMAX"},{"regex":"(?:SAMSUNG-)?GT-I9103","model":"GALAXY R"},{"regex":"(?:SAMSUNG-)?GT-I9105","model":"GALAXY S II Plus"},{"regex":"(?:SAMSUNG-)?SM-G730(?:W8|[AV])","model":"GALAXY S3 mini"},{"regex":"(?:SAMSUNG-)?(?:GT-I919[05]|SCH-I435)","model":"GALAXY S4 mini"},{"regex":"(?:SAMSUNG-)?GT-I9515","model":"GALAXY S4 Value Edition"},{"regex":"(?:SAMSUNG-)?GT-I9295","model":"GALAXY S4 ACTIVE"},{"regex":"(?:SAMSUNG-)?(?:GT-I9300|SCH-I535|SCH-L710)","model":"GALAXY S III"},{"regex":"(?:SAMSUNG-)?(?:GT-I9305|SCH-R530)","model":"GALAXY S III LTE"},{"regex":"(?:SAMSUNG-)?(?:GT-I9500|GT-I9502|GT-I9505|SCH-I545|SCH-I959|SCH-R970|GALAXY-S4|SGH-M919N?)","model":"GALAXY S4"},{"regex":"(?:SAMSUNG-)?GT-I9506","model":"GALAXY S4 with LTE+"},{"regex":"(?:SAMSUNG-)?GT-S5280","model":"GALAXY STAR"},{"regex":"(?:SAMSUNG-)?GT-S5301","model":"GALAXY POCKET Plus"},{"regex":"(?:SAMSUNG-)?GT-S5310","model":"GALAXY POCKET Neo"},{"regex":"(?:SAMSUNG-)?SM-G110[BHM]","model":"GALAXY POCKET 2"},{"regex":"(?:SAMSUNG-)?GT-S5360","model":"GALAXY Y Hello Kitty"},{"regex":"(?:SAMSUNG-)?GT-S6310","model":"GALAXY Young"},{"regex":"(?:SAMSUNG-)?GT-S6312","model":"GALAXY Young DUOS"},{"regex":"(?:SAMSUNG-)?SM-G130(?:BT|HN|[EHMU])","model":"GALAXY Young 2"},{"regex":"(?:SAMSUNG-)?SM-G130BU","model":"GALAXY Young 2 Pro"},{"regex":"(?:SAMSUNG-)?GT-S6790","model":"GALAXY FAME Lite with NFC"},{"regex":"(?:SAMSUNG-)?GT-S6810","model":"GALAXY FAME"},{"regex":"(?:SAMSUNG-)?GT-S7275","model":"GALAXY ACE 3"},{"regex":"(?:SAMSUNG-)?GT-S7390","model":"GALAXY Trend Lite"},{"regex":"(?:SAMSUNG-)?GT-S7500","model":"GALAXY ACE Plus"},{"regex":"(?:SAMSUNG-)?(?:GT-S7560|SCH-I699)","model":"GALAXY Trend"},{"regex":"(?:SAMSUNG-)?(?:GT-S7562|SCH-I919)","model":"GALAXY S DUOS"},{"regex":"(?:SAMSUNG-)?GT-S7582","model":"GALAXY S DUOS 2"},{"regex":"(?:SAMSUNG-)?SM-(?:G31[36]HU|G313HZ)","model":"GALAXY S DUOS 3"},{"regex":"(?:SAMSUNG-)?GT-S7580","model":"GALAXY Trend Plus"},{"regex":"(?:SAMSUNG-)?GT-S7710","model":"GALAXY Xcover 2"},{"regex":"(?:SAMSUNG-)?GT-S8500","model":"Wave"},{"regex":"(?:SAMSUNG-)?GT-S8530","model":"Wave II"},{"regex":"(?:SAMSUNG-)?GT-S8600","model":"Wave 3"},{"regex":"(?:SAMSUNG-)?GT-S5380","model":"Wave Y"},{"regex":"(?:SAMSUNG-)?GT-S7250","model":"Wave M"},{"regex":"(?:SAMSUNG-)?GT-S5250","model":"Wave 525"},{"regex":"(?:SAMSUNG-)?GT-S5330","model":"Wave 533"},{"regex":"(?:SAMSUNG-)?GT-S5780","model":"Wave 578"},{"regex":"(?:SAMSUNG-)?GT-S7230","model":"Wave 723"},{"regex":"(?:SAMSUNG-)?SM-(?:C101|C105([AL])?)","model":"GALAXY S4 zoom"},{"regex":"(?:SAMSUNG-)?SM-(?:C111(M)?|C115)","model":"GALAXY K zoom"},{"regex":"(?:SAMSUNG-)?SM-G350","model":"GALAXY CORE Plus"},{"regex":"(?:SAMSUNG-)?SM-G360[FH]?","model":"GALAXY CORE Prime"},{"regex":"(?:SAMSUNG-)?SM-G361[FH]?","model":"GALAXY CORE Prime Value Edition"},{"regex":"(?:SAMSUNG-)?SM-G386F","model":"GALAXY CORE LTE"},{"regex":"(?:SAMSUNG-)?SM-G3815","model":"GALAXY EXPRESS II"},{"regex":"(?:SAMSUNG-)?SM-G388F","model":"GALAXY Xcover 3"},{"regex":"(?:SAMSUNG-)?SM-G390F","model":"GALAXY Xcover 4"},{"regex":"(?:SAMSUNG-)?SM-G800","model":"GALAXY S5 mini"},{"regex":"(?:SAMSUNG-)?SM-G9009D","model":"GALAXY S5 Dual-SIM"},{"regex":"(?:SAMSUNG-)?SM-(?:G900|G906[KLS])|GALAXY-S5","model":"GALAXY S5"},{"regex":"(?:SAMSUNG-)?SM-G901F","model":"GALAXY S5 LTE+"},{"regex":"(?:SAMSUNG-)?SM-G870[AFW]","model":"GALAXY S5 Active"},{"regex":"(?:SAMSUNG-)?SM-G903[FMW]","model":"GALAXY S5 Neo"},{"regex":"(?:SAMSUNG-)?SM-G860P","model":"GALAXY S5 K Sport"},{"regex":"(?:SAMSUNG-)?SM-G920(?:F[DQ]|W8|[089AFIKLPRSTVX])","model":"GALAXY S6"},{"regex":"(?:SAMSUNG-)?SM-G890A","model":"GALAXY S5 Active"},{"regex":"404SC","model":"GALAXY S6 edge (Softbank)"},{"regex":"(?:SAMSUNG-)?SM-G925[0ADFIKLPRSTVW]|SCV31","model":"GALAXY S6 edge"},{"regex":"(?:SAMSUNG-)?SM-G928(?:7C|R4|W8|[07ACFGIKLPSTV])","model":"GALAXY S6 edge+"},{"regex":"(?:SAMSUNG-)?SM-G930(?:FD|W8|[0AFKLPRSTUV])","model":"GALAXY S7"},{"regex":"(?:SAMSUNG-)?SM-G935(?:R4|W8|[0AFKLPSTUVX])|SC-02H|SCV33","model":"GALAXY S7 edge"},{"regex":"(?:SAMSUNG-)?SM-G891A","model":"GALAXY S7 active"},{"regex":"(?:SAMSUNG-)?SM-G950[08FNUW]?|SCV36","model":"GALAXY S8"},{"regex":"(?:SAMSUNG-)?SM-G892[AU]","model":"GALAXY S8 Active"},{"regex":"(?:SAMSUNG-)?SM-G955[AFKLNPRTUVW0]|SCV35","model":"GALAXY S8+"},{"regex":"(?:SAMSUNG-)?SM-G960[FNUWX0]|SCV38","model":"GALAXY S9"},{"regex":"(?:SAMSUNG-)?SM-G965[FNUWX0]|SCV39","model":"GALAXY S9+"},{"regex":"(?:SAMSUNG-)?SM-G973","model":"GALAXY S10"},{"regex":"(?:SAMSUNG-)?SM-G975[0FUW]","model":"GALAXY S10+"},{"regex":"(?:SAMSUNG-)?SM-G970[FU]","model":"GALAXY S10e"},{"regex":"(?:SAMSUNG-)?SCH-I200","model":"GALAXY Stellar"},{"regex":"(?:SAMSUNG-)?SCH-I829","model":"GALAXY Style Duos"},{"regex":"(?:SAMSUNG-)?(?:SGH-S730|SCH-R740)","model":"GALAXY Discover"},{"regex":"(?:SAMSUNG-)?SCH-S738","model":"GALAXY Centura"},{"regex":"vollo Vi86[);/ ]","model":"Vollo Vi86"},{"regex":"(?:SAMSUNG-)?SM-A300(?:FU|YZ|[0FGHMY])","model":"GALAXY A3 (2015)"},{"regex":"(?:SAMSUNG-)?SM-A310(?:N0|[FMY])","model":"GALAXY A3 (2016)"},{"regex":"(?:SAMSUNG-)?SM-A320(?:FL|F|Y)","model":"GALAXY A3 (2017)"},{"regex":"(?:SAMSUNG-)?SM-A500[LSWY]","model":"GALAXY A5"},{"regex":"(?:SAMSUNG-)?SM-A500[FGHKM0]","model":"GALAXY A5 Duos"},{"regex":"(?:SAMSUNG-)?SM-A500FU","model":"GALAXY A5 (2015)"},{"regex":"(?:SAMSUNG-)?SM-A510[0FKLMSY]","model":"GALAXY A5 (2016)"},{"regex":"(?:SAMSUNG-)?SM-A520[FKLSW]","model":"GALAXY A5 (2017)"},{"regex":"(?:SAMSUNG-)?SM-A600(?:AZ|FN|GN|T1|[AFGNPT])","model":"GALAXY A6"},{"regex":"(?:SAMSUNG-)?SM-A605(?:[FG]N|[FG])","model":"GALAXY A6+"},{"regex":"(?:SAMSUNG-)?SM-A700(?:YD|[0FHKLS])","model":"GALAXY A7"},{"regex":"(?:SAMSUNG-)?SM-A710[08FKLMSY]","model":"GALAXY A7 (2016)"},{"regex":"(?:SAMSUNG-)?SM-A720[FS]","model":"GALAXY A7 (2017)"},{"regex":"(?:SAMSUNG-)?SM-A750(?:GN|[FG])","model":"GALAXY A7 (2018)"},{"regex":"(?:SAMSUNG-)?SM-A(?:530F|800[0FISY])|SCV32","model":"GALAXY A8"},{"regex":"(?:SAMSUNG-)?SM-G885[FSY]","model":"GALAXY A8 Star"},{"regex":"(?:SAMSUNG-)?SM-A810(?:YZ|[FS])","model":"GALAXY A8 (2016)"},{"regex":"(?:SAMSUNG-)?SM-A530[NW]","model":"GALAXY A8 (2018)"},{"regex":"(?:SAMSUNG-)?SM-A730F","model":"GALAXY A8+ (2018)"},{"regex":"(?:SAMSUNG-)?SM-A9000","model":"GALAXY A9"},{"regex":"SM-A9\\\\[7\\\\]","model":"GALAXY A9 7"},{"regex":"(?:SAMSUNG-)?SM-A920F","model":"GALAXY A9 (2018)"},{"regex":"(?:SAMSUNG-)?SM-A910[0F]","model":"GALAXY A9 Pro"},{"regex":"(?:SAMSUNG-)?SM-A105[FGM]","model":"GALAXY A10"},{"regex":"(?:SAMSUNG-)?SM-A205[FG]","model":"GALAXY A20"},{"regex":"(?:SAMSUNG-)?SM-A202[FG]","model":"GALAXY A20e"},{"regex":"(?:SAMSUNG-)?SM-A305(?:FN|GT|[FG])","model":"GALAXY A30"},{"regex":"(?:SAMSUNG-)?SM-A405FN","model":"GALAXY A40"},{"regex":"(?:SAMSUNG-)?SM-A3051","model":"GALAXY A40s"},{"regex":"(?:SAMSUNG-)?SM-A505(?:FN|[FG])","model":"GALAXY A50"},{"regex":"(?:SAMSUNG-)?SM-A705(?:FN|[FG])","model":"GALAXY A70"},{"regex":"(?:SAMSUNG-)?GT-I9301I","model":"GALAXY S III Neo"},{"regex":"(?:SAMSUNG-)?SM-J100(?:FN|MU|[FHM])","model":"GALAXY J1"},{"regex":"(?:SAMSUNG-)?SM-J105(?:B|H)","model":"GALAXY J1 mini"},{"regex":"(?:SAMSUNG-)?SM-J106M","model":"GALAXY J1 mini Prime"},{"regex":"(?:SAMSUNG-)?SM-J120[AFHMT]","model":"GALAXY J1 (2016)"},{"regex":"(?:SAMSUNG-)?SM-J110[FHML]","model":"GALAXY J1 Ace"},{"regex":"(?:SAMSUNG-)?SM-J111[FM]","model":"GALAXY J1 Ace"},{"regex":"(?:SAMSUNG-)?SM-J200[FGHY]","model":"GALAXY J2"},{"regex":"(?:SAMSUNG-)?SM-J(?:210F|250[FM])","model":"GALAXY J2 Pro"},{"regex":"(?:SAMSUNG-)?SM-J320(?:FN|[AFGHMNPV])","model":"GALAXY J3 (2016)"},{"regex":"(?:SAMSUNG-)?SM-J330(?:F|G)","model":"GALAXY J3 (2017)"},{"regex":"(?:SAMSUNG-)?SM-J337W","model":"GALAXY J3 (2018)"},{"regex":"(?:SAMSUNG-)?SM-J400[FGM]","model":"GALAXY J4"},{"regex":"(?:SAMSUNG-)?SM-J500(?:F|FN|G|Y|M|H)","model":"GALAXY J5 (2015)"},{"regex":"(?:SAMSUNG-)?SM-J510(?:F|FN|MN)","model":"GALAXY J5 (2016)"},{"regex":"(?:SAMSUNG-)?SM-J530","model":"GALAXY J5 (2017)"},{"regex":"(?:SAMSUNG-)?SM-G570[FMY]","model":"GALAXY J5 Prime"},{"regex":"(?:SAMSUNG-)?SM-J600[FG]","model":"GALAXY J6"},{"regex":"(?:SAMSUNG-)?SM-J610[GF]","model":"GALAXY J6+"},{"regex":"(?:SAMSUNG-)?SM-J410F","model":"GALAXY J4 Core"},{"regex":"(?:SAMSUNG-)?SM-J415(?:F|FN)","model":"GALAXY J4+"},{"regex":"(?:SAMSUNG-)?SM-J7[01]0(?:8|F|FN|H|K|M|MN)","model":"GALAXY J7"},{"regex":"(?:SAMSUNG-)?SM-J700P","model":"GALAXY J7 (2015)"},{"regex":"(?:SAMSUNG-)?SM-J737U","model":"GALAXY J7 (2018)"},{"regex":"(?:SAMSUNG-)?SM-J700(?:T1|T)","model":"GALAXY J7 (2016)"},{"regex":"(?:SAMSUNG-)?SM-C710F","model":"GALAXY J7+ (C7)"},{"regex":"(?:SAMSUNG-)?SM-G610[FMY]","model":"GALAXY J7 Prime"},{"regex":"(?:SAMSUNG-)?SM-G611(?:FF|MT|M)","model":"GALAXY J7 Prime 2"},{"regex":"(?:SAMSUNG-)?SM-G615[F]","model":"GALAXY J7 Max"},{"regex":"(?:SAMSUNG-)?SM-J730(?:F|G|GM)","model":"GALAXY J7 Pro"},{"regex":"(?:SAMSUNG-)?SM-J701(?:F|M)","model":"GALAXY J7 Core"},{"regex":"(?:SAMSUNG-)?SM-J727(?:P|T|V)","model":"GALAXY J7 V"},{"regex":"SM-J7\\\\[7\\\\]","model":"GALAXY J7 7"},{"regex":"(?:SAMSUNG-)?SM-J810","model":"GALAXY J8"},{"regex":"SM-J8 Pro","model":"GALAXY J8 Pro"},{"regex":"SM-J9\\\\[7\\\\] Prime","model":"GALAXY J9 7 Prime"},{"regex":"SM-J9\\\\[8\\\\] Pro","model":"GALAXY J9 8 Pro"},{"regex":"(?:SAMSUNG-)?SM-M105F","model":"GALAXY M10"},{"regex":"(?:SAMSUNG-)?SM-M205[FG]","model":"GALAXY M20"},{"regex":"(?:SAMSUNG-)?SM-G850F","model":"GALAXY Alpha"},{"regex":"(?:SAMSUNG-)?SM-G910S","model":"GALAXY Round"},{"regex":"(?:SAMSUNG-)?SM-(?:G550FY|G5510|G5520)","model":"GALAXY On5"},{"regex":"(?:SAMSUNG-)?SM-G600(?:FY|[0F])","model":"GALAXY On7"},{"regex":"(?:SAMSUNG-)?SM-G610[0KLS]","model":"GALAXY On7 (2016)"},{"regex":"(?:SAMSUNG-)?SM-G611[FS]","model":"GALAXY On7 Prime"},{"regex":"(?:SAMSUNG-)?SM-C5000","model":"GALAXY C5"},{"regex":"(?:SAMSUNG-)?SM-C501[08]","model":"GALAXY C5 Pro"},{"regex":"(?:SAMSUNG-)?SM-C7000","model":"GALAXY C7"},{"regex":"(?:SAMSUNG-)?SM-C701[08F]","model":"GALAXY C7 Pro"},{"regex":"(?:SAMSUNG-)?SM-C710[08]","model":"GALAXY C8"},{"regex":"(?:SAMSUNG-)?SM-C900[08FY]","model":"GALAXY C9 Pro"},{"regex":"(?:SAMSUNG-)?SM-Z130H","model":"GALAXY Z1"},{"regex":"(?:SAMSUNG-)?SM-Z200[FMY]","model":"GALAXY Z2"},{"regex":"(?:SAMSUNG-)?SM-Z300H","model":"GALAXY Z3"},{"regex":"(?:SAMSUNG-)?SM-Z400[FY]","model":"GALAXY Z4"},{"regex":"(?:SAMSUNG-)?SM-G150","model":"GALAXY Folder"},{"regex":"(?:SAMSUNG-)?SM-G165","model":"GALAXY Folder 2"},{"regex":"(?:SAMSUNG-)?GT-I9060","model":"GALAXY Grand Neo","device":"phablet"},{"regex":"(?:SAMSUNG-)?GT-I9063","model":"GALAXY Grand Neo Duos","device":"phablet"},{"regex":"(?:SAMSUNG-)?GT-I9(?:080|128)","model":"GALAXY Grand","device":"phablet"},{"regex":"(?:SAMSUNG-)?GT-I9168","model":"GALAXY Grand Neo+","device":"phablet"},{"regex":"(?:SAMSUNG-)?GT-I9082","model":"GALAXY Grand Duos","device":"phablet"},{"regex":"(?:SAMSUNG-)?GT-N7000","model":"GALAXY Note","device":"phablet"},{"regex":"(?:SAMSUNG-)?(?:(?:GT-)?N7100|SCH-I605|SCH-N719|SCH-R950|SPH-L900)","model":"GALAXY Note II","device":"phablet"},{"regex":"(?:SAMSUNG-)?GT-N7105","model":"GALAXY Note II LTE","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-G710[25L]?","model":"GALAXY Grand 2","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-G720(?:AX|N0|2)","model":"GALAXY Grand Max"},{"regex":"(?:SAMSUNG-)?SM-G53(?:0F|0FZ|0Y|0H|0FZ|1F|1H)","model":"GALAXY Grand Prime","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-G532F","model":"GALAXY Grand Prime Plus","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-G532MT","model":"GALAXY J2 Prime (TV)","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-G532[MG]","model":"GALAXY J2 Prime","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-N7502","model":"GALAXY Note 3 Neo Duos","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-N750[L50]?","model":"GALAXY Note 3 Neo","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-N9002","model":"GALAXY Note 3 Duos","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-N900(?:[05689][VQ]?|[AKLPSTV]|W8)?","model":"GALAXY Note 3","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-N910|N9100","model":"GALAXY Note 4","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-N915","model":"GALAXY Note 4 Edge","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-N920[0ACGIKLST]","model":"GALAXY Note 5","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-N9208","model":"GALAXY Note 5 Duos","device":"phablet"},{"regex":"(?:SAMSUNG-)?SM-G750(?:8Q|[9AFH])","model":"GALAXY Mega 2","device":"phablet"},{"regex":"(?:SAMSUNG-)?GT-I915[028]","model":"GALAXY Mega 5.8","device":"phablet"},{"regex":"(?:SAMSUNG-)?GT-I920[05]","model":"GALAXY Mega 6.3","device":"phablet"},{"regex":"(?:SAMSUNG-)?(?:SM-N930F|SCV34)","model":"GALAXY Note 7","device":"phablet"},{"regex":"(?:SAMSUNG[- ])?SM-N950|SCV37","model":"GALAXY Note 8","device":"phablet"},{"regex":"(?:SAMSUNG[- ])?SM-N960","model":"GALAXY Note 9","device":"phablet"},{"regex":"(?:SAMSUNG[- ])?SM-N970(?:0|8|9|D|F|J|K|L|S|U1|U|W8|X)","model":"GALAXY Note 10","device":"phablet"},{"regex":"(?:SAMSUNG[- ])?(?:SM-N975(?:0|F|U|U1|W|X|Xu)|SM-N976[BV])","model":"GALAXY Note 10+","device":"phablet"},{"regex":"(?:SAMSUNG-)?GT-E2152","model":"E2152","device":"feature phone"},{"regex":"(?:SAMSUNG-)?(GT-(P|N8|N5)[0-9]+[a-z]?)","device":"tablet","model":"$1"},{"regex":"SC-02C","model":"GALAXY S II"},{"regex":"SC-01F","model":"GALAXY Note 3","device":"phablet"},{"regex":"SC-04E","model":"GALAXY S4"},{"regex":"(?:SAMSUNG-)?((?:SM-[TNP]|GT-P)[a-z0-9_\\\\-]+)","device":"tablet","model":"$1"},{"regex":"((?:SCH|SGH|SPH|SHV|SHW|GT|SM)-[a-z0-9_\\\\-]+)","model":"$1"},{"regex":"SMART-TV","device":"tv","model":"Smart TV"},{"regex":"Galaxy ([^/;]+) Build","model":"GALAXY $1"},{"regex":"Galaxy ([a-z0-9]+)","model":"GALAXY $1"},{"regex":"SAMSUNG[\\\\-][ ]?([a-z0-9]+[\\\\-_][a-z0-9]+)","model":"$1"},{"regex":"SAMSUNG;[ ]?([a-z0-9]+[\\\\-_][a-z0-9]+)","model":"$1"},{"regex":"SAMSUNG[ _/\\\\-]?([a-z0-9\\\\-]+)","model":"$1"},{"regex":"SAMSUNG;[ ]?([a-z0-9 ]+)","model":"$1"},{"regex":"SEC-([a-z0-9]+)","model":"$1"},{"regex":"SAM-([a-z0-9]+)","model":"SCH-$1"},{"regex":"(?:portalmmm|o2imode)/2\\\\.0 ([SZ][a-z0-9]+)","model":"$1"},{"regex":"sam([rua][0-9]+)","model":"SCH-$1"}]},"Sanei":{"regex":"(?:8312D|G(60[25]|70[3568]G?|785|803)|N83(?:-2cpu)?|N91) Build","device":"smartphone","models":[{"regex":"N83","model":"N83"},{"regex":"N91","model":"N91"},{"regex":"8312D","model":"G101"},{"regex":"G(60[25]|70[3568]G?|785|803)","model":"G$1"}]},"Selfix":{"regex":"SELFIX","device":"smartphone","models":[{"regex":"SELFIX_SLASH6","model":"Slash 6"},{"regex":"VOYAGER-V45","model":"Voyager V45"}]},"Sencor":{"regex":"Sencor|ELEMENT[ _]?(?:7|8|9\\\\.7|10[ _]1)(?:[ _]?V[23])?[);/ ]|ELEMENT[ _]?(?:P[0-9]+)[);/ ]","device":"tablet","models":[{"regex":"(?:SENCOR[ _])?ELEMENT[ _]?7[ _]?V3","model":"Element 7 V3"},{"regex":"(?:SENCOR[ _])?ELEMENT[ _]?7[ _]?V2[ _]BASIC","model":"Element 7 V2 Basic"},{"regex":"(?:SENCOR[ _])?ELEMENT[ _]?7[ _]?V2","model":"Element 7 V2"},{"regex":"(?:SENCOR[ _])?ELEMENT[ _]8[ _]?V3","model":"Element 8 V3"},{"regex":"(?:SENCOR[ _])?ELEMENT[ _]8[ _]?V2","model":"Element 8 V2"},{"regex":"(?:SENCOR[ _])?ELEMENT8","model":"Element 8"},{"regex":"(?:SENCOR[ _])?ELEMENT[ _]9\\\\.7[ _]?V3","model":"Element 9.7 V3"},{"regex":"(?:SENCOR[ _])?ELEMENT[ _]9\\\\.7[ _]?V2","model":"Element 9.7 V2"},{"regex":"(?:SENCOR[ _])?ELEMENT[ _]9\\\\.7","model":"Element 9.7"},{"regex":"(?:SENCOR[ _])?ELEMENT10[ _]1","model":"Element 10.1"},{"regex":"(?:SENCOR[ _])?ELEMENT[ _]?P([0-9]+)","model":"Element P$1","device":"smartphone"},{"regex":"Sencor[ _]([^;/]+) Build","model":"$1"}]},"Senwa":{"regex":"Senwa|(?:S\\\\-?(?:471|7[12]5|6[01]5|915|905TL|1000)|V705B)[ /;\\\\)]","device":"smartphone","models":[{"regex":"S\\\\-?471[ /;\\\\)]","model":"Jazz"},{"regex":"S\\\\-?605[ /;\\\\)]","model":"City"},{"regex":"S\\\\-?905TL[ /;\\\\)]","model":"Odin"},{"regex":"S\\\\-?1000[ /;\\\\)]","model":"Odin"},{"regex":"S\\\\-?(615|7[12]5|915)[ /;\\\\)]","model":"S$1"},{"regex":"V705B[ /;\\\\)]","model":"V705B"},{"regex":"Senwa[ _-]*([^;/]+) Build","model":"$1"},{"regex":"Senwa[ _-]*([^ ;/)]+)[ ;/)]","model":"$1"}]},"Sky":{"regex":"(SKY|Elite|Fuego)[_ ][3-7]\\\\.[05]([A-Z]{1,2})?|Elite_5_5_Octa|Platinum_(5.0M|M5)","device":"smartphone","models":[{"regex":"Platinum_(5.0M|M5)","model":"Platinum 5.0M"},{"regex":"Elite_5_5_Octa","model":"Elite 5.5 Octa"},{"regex":"Elite[_ ]([3-7]\\\\.[05](?:[A-Z]{1,2})?\\\\+?)","model":"Elite $1"},{"regex":"Fuego[_ ]([3-7]\\\\.[05](?:[A-Z]{1,2})?\\\\+?)","model":"Fuego $1"},{"regex":"SKY[_ ]([3-7]\\\\.[05](?:[A-Z]{1,2})?)","model":"$1"}]},"Skyworth":{"regex":"Sky_?worth","device":"tv","models":[{"regex":"Sky_?worth ([^;/]+) Build","model":"$1"}]},"Smartfren":{"regex":"Smartfren|Androtab|Andromax|PD6D1J|AD682J|AD68[89]G|AD6B1H|AD9A1H|AD682H|AD683G","device":"smartphone","models":[{"regex":"S7 Build","model":"Andromax Tab 7.0","device":"tablet"},{"regex":"PD6D1J","model":"Andromax V3s"},{"regex":"AD682J","model":"Andromax T"},{"regex":"AD688G","model":"Andromax C2"},{"regex":"AD689G","model":"Andromax i3"},{"regex":"AD682H","model":"Andromax i3s"},{"regex":"AD6B1H","model":"Andromax G2 Hot"},{"regex":"AD9A1H","model":"Andromax G2"},{"regex":"AD683G","model":"Andromax I"},{"regex":"New Andromax-i","model":"New Andromax I"},{"regex":"Andromax[ _\\\\-]([^/;]+) Build","model":"Andromax $1"},{"regex":"Andromax[ _\\\\-]([a-z0-9]+)","model":"Andromax $1"},{"regex":"Smartfren[ _\\\\-]([^/;\\\\)]+)(?: Build|[/;\\\\)])","model":"$1"},{"regex":"(Androtab[^/;]+) Build","model":"$1","device":"tablet"}]},"Smartisan":{"regex":"SM(?:70[15]|801|901|919)|OD10[35]|YQ60[1357][ /;\\\\)]","device":"smartphone","models":[{"regex":"SM70[15]","model":"T1"},{"regex":"SM801","model":"T2"},{"regex":"SM901","model":"M1"},{"regex":"SM919","model":"M1L"},{"regex":"YQ60[1357]","model":"U1"},{"regex":"OD10[35]","model":"Pro"}]},"STF Mobile":{"regex":"Fractal|AERIAL PLUS|Origins Pro","device":"smartphone","models":[{"regex":"Fractal","model":"Fractal"},{"regex":"Origins Pro","model":"Origins Pro"},{"regex":"AERIAL PLUS","model":"Aerial Plus"}]},"STK":{"regex":"STK[_ ]","device":"smartphone","models":[{"regex":"STK[_ ]([^/;]+) Build","model":"$1"},{"regex":"STK[_ ]([a-z0-9]+)","model":"$1"}]},"Stonex":{"regex":"STX[ -]([^;/]+)","device":"smartphone","models":[{"regex":"STX[ -]([^;/]+) Build","model":"$1"},{"regex":"STX[ -]([a-z0-9_-]+)","model":"$1"}]},"SuperSonic":{"regex":"(SC-[0-9]+[a-z]+)","device":"tablet","model":"$1"},"Supra":{"regex":"SUPRA ([^;/]+) Build|NVTAB 7.0 3G","device":"smartphone","models":[{"regex":"SUPRA ([^;/]+) Build","device":"tablet","model":"$1"},{"regex":"(NVTAB 7.0 3G)","device":"tablet","model":"$1"}]},"Sumvision":{"regex":"(Cyclone [^/;]+) Build","device":"tablet","model":"$1"},"SunVan":{"regex":"SUNVAN[ _\\\\-]","device":"smartphone","models":[{"regex":"SUNVAN[ _\\\\-]?([^/;]+) Build","model":"$1"},{"regex":"SUNVAN[ _\\\\-]?([^);/ ]+)","model":"$1"}]},"SWISSMOBILITY":{"regex":"SCHR9GR|ZUR722M","device":"smartphone","models":[{"regex":"SCHR9GR","model":"SCHON R9"},{"regex":"ZUR722M","device":"phablet","model":"Z72 go"}]},"Thomson":{"regex":"(?:Primo(7|8)|QM73[45]-8G|QM734-2|QM736-8G\\\\(HD\\\\)|8950|MID1002)[);/ ]|(?:Tlink|Every)[0-9]+","device":"tablet","models":[{"regex":"Primo(7|8)","model":"Primo $1"},{"regex":"QM734-2","model":"QM734-2"},{"regex":"QM734-8G","model":"QM734-8G"},{"regex":"QM735-8G","model":"QM735-8G"},{"regex":"QM736-8G\\\\(HD\\\\)","model":"QM736-8G (HD)"},{"regex":"8950 Build","model":"3G 8950"},{"regex":"Tlink([0-9]+)","device":"smartphone","model":"Tlink$1"},{"regex":"Every([0-9]+)","device":"smartphone","model":"Every$1"}]},"Pantech":{"regex":"Pantech|P[GN]-|PT-[a-z0-9]{3,}|TX[T]?[0-9]+|IM-[a-z0-9]+[);/ ]|ADR910L","device":"smartphone","models":[{"regex":"ADR910L","model":"Star Q"},{"regex":"IM-A870K","model":"Vega Iron"},{"regex":"Pantech[ \\\\-]?([a-z0-9]+)","model":"$1"},{"regex":"Pantech_([a-z0-9\\\\-]+)","model":"$1"},{"regex":"(P[GTN]-[a-z0-9]+)","model":"$1"},{"regex":"(TX[T]?[0-9]+)","model":"$1"},{"regex":"(IM-[a-z0-9]+)[);/ ]","model":"$1"}]},"Ployer":{"regex":"MOMO([0-9]|miniS)","device":"tablet","models":[{"regex":"MOMOminiS","model":"MOMO mini S"},{"regex":"MOMO([0-9][^);/]*) Build","model":"MOMO $1"},{"regex":"MOMO([0-9][^);/]*)[);/]","model":"MOMO $1"}]},"Plum":{"regex":"PLUM ","device":"smartphone","models":[{"regex":"Z405","model":"Gator 3"}]},"Polaroid":{"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|PSPC(505|550)|PSPCK21NA|PSPCL20A0|PSPCM20A0|PSPCZ20A0","device":"smartphone","models":[{"regex":"P4005A","model":"Turbo C4"},{"regex":"P5005A","model":"Turbo C5"},{"regex":"P4006A","model":"Turbo D4"},{"regex":"P4526A","model":"Turbo E"},{"regex":"PSPC(505|550)","model":"Cosmo $1"},{"regex":"P5006A","model":"Cosmo K"},{"regex":"P5526A","model":"Cosmo K Plus"},{"regex":"PSPCK21NA","model":"Cosmo K2 Plus"},{"regex":"P5026A","model":"Cosmo L"},{"regex":"PSPCL20A0","model":"Cosmo L2"},{"regex":"PSPCM20A0","model":"Cosmo M2"},{"regex":"P5046A","model":"Cosmo P5s"},{"regex":"P5525A","model":"Cosmo Q5s"},{"regex":"P5047A","model":"Cosmo Z"},{"regex":"PSPCZ20A0","model":"Cosmo Z2"},{"regex":"P5025A","model":"L5s"},{"regex":"PRO4611(?:PR201)?","model":"Pro4611"},{"regex":"PROV400","model":"Agate"},{"regex":"PROV350","model":"ProV350"},{"regex":"PRO([VG]?(?:[0-9]{3,}[a-z]*|[0-9]{2}[a-z]))","model":"Pro$1"},{"regex":"(MID(?:1014|0714))","model":"$1","device":"tablet"},{"regex":"((?:PMID|MIDC)[0-9a-z]+)[);/ ]","model":"$1","device":"tablet"},{"regex":"Polaroid","model":"","device":"tablet"}]},"PolyPad":{"regex":"POLY ?PAD","device":"tablet","models":[{"regex":"POLY ?PAD[_ \\\\.]([a-z0-9]+)[);/ ]","model":"$1"},{"regex":"POLY ?PAD[_\\\\.]([a-z0-9]+)","model":"$1"}]},"Polytron":{"regex":"POLYTRON|W8480|W7430|PW1100S|W7550|W7531|W8570|R2401","device":"smartphone","models":[{"regex":"R2508","model":"Rocket"},{"regex":"POLYTRON[ _]R1500","model":"Rocket Q-Five"},{"regex":"R2401","model":"Rocket 2X"},{"regex":"POLYTRON[ _-]R2402","model":"Rocket R2402"},{"regex":"POLYTRON[ _-]R2403","model":"Rocket R1"},{"regex":"POLYTRON[ _-]R2406","model":"Rocket R2"},{"regex":"POLYTRON[ _-]R2407","model":"Rocket R3"},{"regex":"POLYTRON[ _-]R2457","model":"Rocket S2"},{"regex":"POLYTRON[ _-]R2509SE","model":"Rocket T6 SE"},{"regex":"POLYTRON[ _-]R2509","model":"Rocket T6"},{"regex":"POLYTRON[ _-]R2506","model":"Rocket T4"},{"regex":"POLYTRON[ _-]R3450","model":"Rocket Jetz"},{"regex":"POLYTRON[ _-]R3500","model":"Rocket Jetz 5.0"},{"regex":"4G450","model":"Zap 5"},{"regex":"W6500","model":"Quadra Rocket"},{"regex":"W7452","model":"Quadra S2"},{"regex":"W7550","model":"Quadra V5"},{"regex":"W8570","model":"Quadra V7"},{"regex":"POLYTRON[ _]L501","model":"Rocket L501"},{"regex":"POLYTRON[ _]P520","model":"Prime 7S"},{"regex":"4G500","model":"Zap 6 Cleo"},{"regex":"W8480","model":"Crystal 4 W8480"},{"regex":"W7531","model":"Wizard V"},{"regex":"W7430","model":"Quadra Mini W7430"},{"regex":"POLYTRON[ _]4G501","model":"Zap 6 Posh"},{"regex":"POLYTRON[ _]4G502","model":"Zap 6 Power"},{"regex":"POLYTRON[ _]4G503","model":"Zap 6 Flaz"},{"regex":"POLYTRON[_ ]?[ _]4G550","model":"Zap 6 Note"},{"regex":"POLYTRON[ _]4G551","model":"Zap 6 Posh Note"},{"regex":"PW1100S","model":"PW1100S"},{"regex":"Q2352","model":"Q2352"},{"regex":"POLYTRON[ _]T7800","model":"Cosmica T7800","device":"tablet"},{"regex":"POLYTRON[ _]T7700","model":"Rocket Pad","device":"tablet"}]},"Positivo":{"regex":"YPY_S450","device":"smartphone","models":[{"regex":"YPY_S450","model":"YPY S450"}]},"Prestigio":{"regex":"(?:PMP|PAP|PMT|PSP)[0-9]+[a-z0-9_]+[);/ ]","device":"tablet","models":[{"regex":"PMT3277_3G","model":"MultiPad Ranger 7.0 3G"},{"regex":"PMT3201_4G","model":"Grace 4G"},{"regex":"PMT3287_3G","model":"MultiPad Ranger 8.0 3G"},{"regex":"PSP7546DUO([ _][A-Z]{2})?","model":"X Pro"},{"regex":"PSP7610DUO([ _][A-Z]{2})?","model":"S Max"},{"regex":"(PM[PT][0-9]+[a-z0-9_]+)[);/ ]","model":"$1"},{"regex":"((?:PAP|PSP)[0-9]+[a-z0-9_]+(?: DUO)?)[);/ ]","model":"$1","device":"smartphone"}]},"Sanyo":{"regex":"Sanyo|MobilePhone[ ;]","device":"feature phone","models":[{"regex":"SCP-?6750","model":"Katana Eclipse X"},{"regex":"SCP-?6760","model":"Incognito"},{"regex":"SCP-?6780","model":"Innuendo"},{"regex":"SANYO[ \\\\-_]([a-z0-9\\\\-]+)","model":"$1"},{"regex":"MobilePhone ([a-z0-9\\\\-]+)","model":"$1"}]},"Qilive":{"regex":"Qilive [0-9][^;/]*|Q(8S55IN4G2|10S5[37]IN4G|10S5IN4GR|10S6IN4G|6T7IN)","device":"smartphone","models":[{"regex":"Q8S55IN4G2","model":"Q8 5.5\\" 4G"},{"regex":"Q10S53IN4G","model":"Q10 5.3\\" 4G"},{"regex":"Q10S57IN4G","model":"Q10 5.7\\" 4G"},{"regex":"Q10S5IN4GR","model":"Q10 5.0\\" 4G"},{"regex":"Q10S6IN4G","model":"Q10 6.0\\" 4G"},{"regex":"Q6T7IN","model":"Q6","device":"tablet"},{"regex":"Qilive ([0-5][^;/]*) Build","model":"$1"},{"regex":"Qilive ([0-5][^;/]*)/","model":"$1"},{"regex":"Qilive ([6-9][^;/]*) Build","model":"$1","device":"tablet"},{"regex":"Qilive ([6-9][^;/]*)/","model":"$1","device":"tablet"}]},"QMobile":{"regex":"QMobile|QTab|Q-Smart|Noir X1S|LUNA PRO|NICE S","device":"smartphone","models":[{"regex":"QTab[ _-]([^;/]+) Build","model":"$1 Tab","device":"tablet"},{"regex":"QTab[ _-]([^;/)]+)[;/)]","model":"$1 Tab","device":"tablet"},{"regex":"(?:QMobile|Q-Smart)[ _-]([^;/]+) Build","model":"$1"},{"regex":"(?:QMobile|Q-Smart)[ _-]([^;/)]+)[;/)]","model":"$1"},{"regex":"Noir X1S","model":"Noir X1S"},{"regex":"LUNA PRO","model":"Luna Pro"},{"regex":"NICE S","model":"Nice S"}]},"Quantum":{"regex":"Quantum (Fit|Mini|V|You E)","device":"smartphone","models":[{"regex":"Quantum (Fit|Mini|V|You E)","model":"$1"}]},"Quechua":{"regex":"Quechua Phone 5","device":"smartphone","model":"Quechua Phone 5"},"Ramos":{"regex":"Ramos ?([^/;]+) Build","device":"tablet","model":"$1"},"Sendo":{"regex":"Sendo([a-z0-9]+)","device":"feature phone","model":"$1"},"Turbo-X":{"regex":"Turbo-X","device":"smartphone","models":[{"regex":"Turbo-X Ice[);/ ]","device":"tablet","model":"Ice"},{"regex":"Turbo-X Tablet([^;/]+) Build","device":"tablet","model":"Tablet$1"},{"regex":"Turbo-X ([^;/]+) Build","model":"$1"}]},"Silent Circle":{"regex":"Blackphone 2","device":"smartphone","model":"Blackphone 2"},"Sigma":{"regex":"Sigma|(X-Style[ _]?Tab[_ ]A([0-9]{2,3})|X[-_ ]?treme[-_ ]?PQ[0-9]{2})[);/ ]","device":"smartphone","models":[{"regex":"X[-_ ]?treme[-_ ]?PQ([0-9]{2})[);/ ]","model":"X-Treme PQ$1"},{"regex":"X-Style[ _]?Tab[_ ]A([0-9]{2,3})[);/ ]","model":"X-Style Tab A$1","device":"tablet"}]},"Spice":{"regex":"Spice","device":"smartphone","models":[{"regex":"Spice[ _\\\\-]?([^/;]+)(?:[\\\\)]| Build)","model":"$1"},{"regex":"Spice[ _\\\\-]?([^/;]+)(?:/|$)","model":"$1"}]},"Sharp":{"regex":"SHARP|SBM|SH-?[0-9]+[a-z]?[);/ ]|SH-Z10|AQUOS|506SH|SHL22|FS80(1[08]|32|28|0[29])[);/ ]|TG-L900S","device":"smartphone","models":[{"regex":"506SH","model":"Aquos Xx3"},{"regex":"SH-Z10","model":"Aquos zero"},{"regex":"SH-02E","model":"Aquos Phone Zeta"},{"regex":"SH06D","model":"Aquos Phone SH-06D"},{"regex":"SHL22","model":"Aquos Phone SHL22"},{"regex":"FS8010","model":"Aquos S2"},{"regex":"FS8032","model":"Aquos S3"},{"regex":"FS8018","model":"Aquos S3 Mini"},{"regex":"TG-L900S","model":"Luna S"},{"regex":"FS8002","model":"Z2"},{"regex":"FS8009","model":"Z3"},{"regex":"FS8028","model":"R1S"},{"regex":"SH-08E","device":"tablet","model":"Sharp Aquos Pad"},{"regex":"(LC-(?:[0-9]{2})[a-z0-9]+)(?:[);/ ]|$)","device":"tv","model":"$1"},{"regex":"SHARP-AQUOS|AQUOSBrowser","device":"tv","model":"Aquos Net Plus"},{"regex":"SHARP[ \\\\-]([a-z0-9\\\\-]+)","model":"$1"},{"regex":"(?:SHARP|SBM)([a-z0-9]+)","model":"$1"},{"regex":"(SH-?[0-9]+[a-z]?)[);/ ]","model":"$1"}]},"Softbank":{"regex":"Softbank|J-PHONE","device":"smartphone","models":[{"regex":"Softbank/[12]\\\\.0/([a-z0-9]+)","model":"$1"},{"regex":"([a-z0-9]+);Softbank;","model":"$1"},{"regex":"J-PHONE/[0-9]\\\\.[0-9]/([a-z0-9\\\\-]+)","model":"$1"}]},"Sonim":{"regex":"Sonim[ -]|XP[67]700[);/ ]","device":"smartphone","models":[{"regex":"Sonim-XP3400","model":"XP3400","device":"feature phone"},{"regex":"XP6700[);/ ]","model":"XP6700"},{"regex":"XP7700[);/ ]","model":"XP7700"}]},"Star":{"regex":"N(9[5678]00|8800|9000|9977)[);/ ]","device":"smartphone","models":[{"regex":"N9000","model":"Note 3"},{"regex":"N(9[5678]00|8800|9977)[);/ ]","model":"N$1"}]},"Amazon":{"regex":"KF(?:OT|TT|JWI|JWA|[DFS]OWI|A[PRSU]WI|T[BH]WI|SAW[IA]|GIWI|SUWI)[);/ ]|Kindle|Silk/\\\\d+\\\\.\\\\d+|Amazon (?:Tate|Jem)|AFT[BMST]|SD4930UR","device":"tablet","models":[{"regex":"AFTB","model":"Fire TV","device":"tv"},{"regex":"AFT[MST]","model":"Fire TV stick","device":"tv"},{"regex":"KFFOWI[);/ ]","model":"Fire 7\\""},{"regex":"KFTT[);/ ]","model":"Kindle Fire HD"},{"regex":"KFJWI[);/ ]|Amazon Jem","model":"Kindle Fire HD 8.9\\" WiFi"},{"regex":"KFJWA[);/ ]","model":"Kindle Fire HD 8.9\\" 4G"},{"regex":"KFSOWI[);/ ]|Amazon Tate","model":"Kindle Fire HD 7\\" WiFi"},{"regex":"KFTHWI[);/ ]","model":"Kindle Fire HDX 7\\" WiFi"},{"regex":"KFTHWA[);/ ]","model":"Kindle Fire HDX 7\\" 4G"},{"regex":"KFAPWI[);/ ]","model":"Kindle Fire HDX 8.9\\" WiFi"},{"regex":"KFAPWA[);/ ]","model":"Kindle Fire HDX 8.9\\" 4G"},{"regex":"KFARWI[);/ ]","model":"Fire HD 6"},{"regex":"KFASWI[);/ ]","model":"Fire HD 7"},{"regex":"KFAUWI[);/ ]","model":"Fire HD 7 2017"},{"regex":"KFGIWI[);/ ]","model":"Fire HD 8 2016"},{"regex":"KFDOWI[);/ ]","model":"Fire HD 8 2017"},{"regex":"KFSAWI[);/ ]","model":"Fire HDX 8.9"},{"regex":"KFSAWA[);/ ]","model":"Fire HDX 8.9 4G"},{"regex":"KFTBWI[);/ ]","model":"Fire HD 10"},{"regex":"KFSUWI[);/ ]","model":"Fire HD 10 (2017)"},{"regex":"SD4930UR","model":"Fire Phone","device":"smartphone"},{"regex":"KFOT|Kindle Fire|Silk/\\\\d+\\\\.\\\\d+","model":"Kindle Fire"},{"regex":"Kindle","model":"Kindle"}]},"Symphony":{"regex":"SYMPHONY[ \\\\_]([a-z0-9]+)|roar (V20|E80)","device":"smartphone","models":[{"regex":"roar V20","model":"Roar V20"},{"regex":"roar E80","model":"Roar E80"},{"regex":"SYMPHONY[ \\\\_]([a-z0-9]+)","model":"$1"}]},"Syrox":{"regex":"(SYX-(?:T70[04]|T10[12]))[;)/ ]","device":"tablet","model":"$1"},"Qtek":{"regex":"Qtek[ _]?([a-z0-9]+)","device":"smartphone","model":"$1"},"Q-Touch":{"regex":"(Q09) Build","device":"smartphone","model":"$1"},"T-Mobile":{"regex":"T-Mobile[ _][a-z0-9 ]+|REVVL 2 PLUS","device":"smartphone","models":[{"regex":"REVVL 2 PLUS","model":"REVVL 2 Plus"},{"regex":"T-Mobile[ _]([a-z0-9_ ]+) Build","model":"$1"},{"regex":"T-Mobile[ _]([a-z0-9_ ]+)","model":"$1"}]},"TB Touch":{"regex":"Ignis [89]","device":"tablet","models":[{"regex":"Ignis ([89])","model":"Ignis $1"}]},"TCL":{"regex":"TCL[_ -][a-z0-9]+|(TCL[_ -][^;/]+|7040N) Build|TCLGalaG60|A502DL","device":"smartphone","models":[{"regex":"TCLGalaG60","model":"Gala G60"},{"regex":"TCL[_ -]([^;/]+) Build","model":"$1"},{"regex":"TCL[_ -]([a-z0-9]+)","model":"$1"},{"regex":"(7040N)","model":"$1"},{"regex":"A502DL","model":"LX"}]},"Teclast":{"regex":"Teclast|Tbook","device":"tablet","models":[{"regex":"Tbook[_ -]([^;/]+) Build","model":"Tbook $1"},{"regex":"Teclast[_ -]([^;/]+) Build","model":"$1"}]},"Tecno Mobile":{"regex":"Tecno|Phantom6|Phantom6-Plus|DP7C Pro-SGA1","device":"smartphone","models":[{"regex":"Phantom6-Plus","model":"Phantom 6 Plus"},{"regex":"Phantom6","model":"Phantom 6"},{"regex":"TECNO[ _]ID6[);/ ]","model":"Camon iClick 2"},{"regex":"Tecno[ _]7C[);/ ]","model":"DroidPad 7C","device":"tablet"},{"regex":"DP7C Pro-SGA1[);/ ]","model":"DroidPad 7C Pro","device":"tablet"},{"regex":"TECNO[ _]DP10A Pro[);/ ]","model":"DroidPad 10A Pro","device":"tablet"},{"regex":"TECNO[ _]P904[);/ ]","model":"DroidPad 10D 4G","device":"tablet"},{"regex":"Tecno[ _]CB7[j]?","model":"Camon i4"},{"regex":"Tecno[ _]DP8D[);/ ]","model":"DroidPad 8D","device":"tablet"},{"regex":"Tecno[ _]LB8","model":"Pouvoir 3 Plus"},{"regex":"Tecno ([^;/]+) Build","model":"$1"},{"regex":"Tecno[ _]?([a-z0-9_\\\\-]+)","model":"$1"}]},"TechPad":{"regex":"Tech ?pad|XTAB[ _-]|Dual C1081HD|S813G","device":"tablet","models":[{"regex":"S813G","model":"S813G"},{"regex":"Dual C1081HD","model":"XTAB C1081HD"},{"regex":"XTAB[ _-]([^/;]+) Build","model":"XTAB $1"},{"regex":"Tech ?pad[ _-]([^/;]+) Build","model":"$1","device":"smartphone"}]},"Tesco":{"regex":"Hudl ([^/;]+) Build|W032i-C3[);/ ]","device":"tablet","models":[{"regex":"Hudl ([^/;]+) Build","model":"Hudl $1"},{"regex":"W032i-C3[);/ ]","model":"Op3n Dott"}]},"teXet":{"regex":"Texet|(NaviPad [^/;]*) Build|TM-(?:1046|1058|1057|1067|3000|3200R|3500|4003|4071|450[34]|451[30]|4377|4082R|550[83]|5010|5017|507[4-7]|5[23]77|6003|6906|702[13]|7055HD|709[69]|9747BT|9758|9751HD|9767|5513|520[410]|5505|507[13]|5581|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[10]|9743W|9750HD|7043XD|7049|7887|7037W|702[46])|TB-(771A|711A)|X-Force[\\\\(-]?TM-5009\\\\)?|X-Plus[\\\\(-]?TM-5577\\\\)?|X-pad (?:AIR 8|iX 7) 3G","device":"tablet","models":[{"regex":"TM-9749","model":"X-pad Plus 7.1 3G"},{"regex":"TM-9746","model":"X-pad Plus 7 3G"},{"regex":"TM-8051","model":"X-pad Force 8i 3G"},{"regex":"TM-1058","model":"X-Force 10 3G"},{"regex":"TM-8048","model":"X-pad Force 8 3G"},{"regex":"(NaviPad [^/;]*) Build","model":"$1"},{"regex":"TM-7055HD","model":"NaviPad 3G"},{"regex":"TM-9758","model":"X-pad Style 10"},{"regex":"(X-pad (?:AIR 8|iX 7) 3G)","model":"$1"},{"regex":"TM-7096","model":"X-pad NAVI 7.3 3G"},{"regex":"TM-7099","model":"X-pad NAVI 7.4 3G"},{"regex":"TM-1046","model":"X-pad NAVI 10 3G"},{"regex":"TM-7859","model":"X-pad NAVI 8.2 3G"},{"regex":"TM-7049","model":"NaviPad TM-7049 3G"},{"regex":"TM-7887","model":"NaviPad TM-7887 3G"},{"regex":"TM-8066","model":"X-pad Rapid 8.2 4G"},{"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[10]|9750HD|7043XD|7037W|702[46])|TB-(?:771A|711A|8041HD))","model":"$1"},{"regex":"TM-4503","device":"smartphone","model":"X-Quad"},{"regex":"(TM-(?:3000|3200R|4003|4083|4377|4504|451[30]|500[35]|5[23]77|5571|3204R|520[04]|5581|5505|507[13]|5017|507[4-7]|6003|5513))","device":"smartphone","model":"$1"},{"regex":"TM-5006","device":"smartphone","model":"X-Line"},{"regex":"TM-5007","device":"smartphone","model":"X-Shine"},{"regex":"TM-5201","device":"smartphone","model":"Rock"},{"regex":"TM-4515","device":"smartphone","model":"X-Style"},{"regex":"TM-9767","model":"X-pad Style 10 3G"},{"regex":"TM-(5016|3500)","device":"smartphone","model":"X-Maxi 2"},{"regex":"TM-4071","device":"smartphone","model":"X-Smart"},{"regex":"TM-4982","device":"smartphone","model":"iX-Maxi"},{"regex":"TM-5010","device":"smartphone","model":"X-Selfie"},{"regex":"TM-4082R","device":"smartphone","model":"X-Driver Quad"},{"regex":"TM-5503","device":"smartphone","model":"X-Mage"},{"regex":"TM-5508","device":"smartphone","model":"X-Cosmo"},{"regex":"X-Force[\\\\(-]?TM-5009\\\\)?","device":"smartphone","model":"X-Force"},{"regex":"X-Plus[\\\\(-]?TM-5577\\\\)?","device":"smartphone","model":"X-Plus"}]},"Telefunken":{"regex":"TEL-1013GIQA","device":"smartphone","models":[{"regex":"TEL-1013GIQA","device":"tablet","model":"Giqa 10.1 3G"}]},"Telego":{"regex":"TELEGO","device":"smartphone","models":[{"regex":"TELEGO-W503","model":"W503"}]},"Telenor":{"regex":"Telenor","device":"smartphone","models":[{"regex":"Telenor[ _]([^;/]+) Build","model":"$1"},{"regex":"Telenor[ _]([^a-z0-9_]+)\\\\)","model":"$1"}]},"Telit":{"regex":"Telit","device":"feature phone","models":[{"regex":"Telit_Mobile_Terminals-([a-z0-9]+)","model":"$1"},{"regex":"Telit[\\\\-_]?([a-z0-9]+)","model":"$1"}]},"ThL":{"regex":"ThL[ _-]","device":"smartphone","models":[{"regex":"ThL[ _-]*([^;/]+) Build","model":"$1"},{"regex":"ThL[ _-]*([^ ;/)]+)[ ;/)]","model":"$1"}]},"TIANYU":{"regex":"TIANYU","device":"feature phone","models":[{"regex":"TIANYU ([a-z0-9]+)","model":"$1"},{"regex":"TIANYU-KTOUCH/([a-z0-9]+)","model":"$1"}]},"Timovi":{"regex":"Tmovi|Infinit_Lite_2","device":"smartphone","models":[{"regex":"Tmovi[ _]Prime","model":"Prime"},{"regex":"TMOVI_YEAH_BEAT","model":"Yeah Beat"},{"regex":"YeahLIVE","model":"Yeah LIVE"},{"regex":"Infinit Lite","model":"Infinit Lite"},{"regex":"Infinit_Lite_2","model":"Infinit Lite 2"}]},"Tooky":{"regex":"TOOKY","device":"smartphone","models":[{"regex":"TOOKY (A19|W1|T8[368]|T1982)[);/ ]","model":"$1"},{"regex":"TOOKY A9PLUS[);/ ]","model":"A9 Plus"}]},"Tolino":{"regex":"Tolino Tab ([^/;]+) Build","device":"tablet","model":"Tolino Tab $1"},"Top House":{"regex":"Coto[_ ]|X1013","device":"smartphone","models":[{"regex":"Coto W418","model":"Coto W418"},{"regex":"COTO_T117","model":"Coto T117","device":"tablet"},{"regex":"X1013","model":"X1013","device":"tablet"},{"regex":"COTO_T40017","model":"T40017"}]},"Toplux":{"regex":"Toplux ([a-z0-9]+)","device":"feature phone","model":"$1"},"Touchmate":{"regex":"TOUCHMATE|(TM-(?:MID1020A|MID710|MID798|MID792|MID788D|SM500N|SM410))","device":"smartphone","models":[{"regex":"(TM-(?:MID1020A|MID710|MID798|MID792|MID788D))","device":"tablet","model":"$1"},{"regex":"(TM-(?:SM500N|SM410))","model":"$1"},{"regex":"Touchmate ([^/;]+) Build","model":"$1"}]},"TrekStor":{"regex":"(?:TrekStor|Surftab) ([^/;]+) Build|Surftab[^;\\\\)]*(?:[;\\\\)]|$)|ST10216-2A|VT10416-[12]","device":"tablet","models":[{"regex":"ST10216-2A|VT10416-[12]","model":"SurfTab 10.1"},{"regex":"TrekStor ([^/;]+) Build","model":"$1"},{"regex":"Surftab ([^/;]+) Build","model":"SurfTab $1"},{"regex":"Surftab[ _]([^;\\\\)]*)(?:[;\\\\)]|$)","model":"SurfTab $1"}]},"Trevi":{"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","device":"tablet","models":[{"regex":"TAB[ _]?(7|8)[ _]3G[ _]V8","model":"TAB $1 3G V8"},{"regex":"TAB[ _]?9[ _]3G[ _]V8","model":"TAB 9 3G V8"},{"regex":"TAB[ _]?9[ _]3G","model":"TAB 9 3G"},{"regex":"TAB[ _]10[ _]3G[ _]V16","model":"TAB 10 3G V16"},{"regex":"MINITAB 3GV","model":"MINITAB 3G V"},{"regex":"(?:Trevi_)?Phablet[ _]4[ _]?C","model":"Phablet 4 C","device":"smartphone"},{"regex":"(?:Trevi_)?Phablet[ _]4[ _]?S","model":"Phablet 4 S","device":"smartphone"},{"regex":"(?:Trevi_)?Phablet[ _]4.5[ _]?Q","model":"Phablet 4.5Q","device":"smartphone"},{"regex":"(?:Trevi_)?PHABLET[ _]5[ _]?S","model":"Phablet 5 S","device":"smartphone"},{"regex":"(?:Trevi_)?PHABLET[ _]5,3[ _]?Q","model":"Phablet 5.3 Q","device":"phablet"},{"regex":"(?:Trevi_)?REVERSE[ _]5.5[ _]?Q","model":"Phablet 5.5 Q REVERSE","device":"phablet"},{"regex":"(?:Trevi_)?PHABLET[ _]6[ _]?S","model":"Phablet 6 S","device":"phablet"},{"regex":"Trevi[_]([^;/]+) Build","model":"$1"}]},"TVC":{"regex":"(NuclearSX-SP5)","device":"smartphone","model":"Nuclear SX-SP5"},"U.S. Cellular":{"regex":"USCC-","device":"smartphone","models":[{"regex":"USCC-E6762","model":"Kyocera DuraForce"},{"regex":"(USCC-[a-z0-9_\\\\-]+)","model":"$1"}]},"Uhappy":{"regex":"Uhappy|UP?580|UP350|UP[35679]20","device":"smartphone","models":[{"regex":"UP([35679]20)","model":"UP$1"},{"regex":"UP350","model":"UP350"},{"regex":"UP580","model":"UP580"},{"regex":"U580","model":"U580"},{"regex":"Uhappy[ _-]([^;/]+) Build","model":"$1"},{"regex":"Uhappy[ _-]?([^;/)]+)[);/ ]","model":"$1"}]},"Unimax":{"regex":"U((?:67[013]|680)C|(?:452|504)TL|683CL)[);/ ]","device":"smartphone","model":"U$1"},"Unowhy":{"regex":"QOOQ ","device":"tablet","model":"QOOQ"},"UTStarcom":{"regex":"utstar[ _-]?([a-z0-9]+)","device":"feature phone","model":"$1"},"Ulefone":{"regex":"Ulefone|Power_[35]|(Armor(?:[ _]2)?|U00[78][ _]Pro|Be[ _]X|Be[ _]Touch(?:[ _][23])?|Be[ _](?:One|Pure)(?:[ _]Lite)?) Build","device":"smartphone","models":[{"regex":"Be[ _]Touch([ _][23])?","model":"Be Touch$1"},{"regex":"Be[ _]Pure[ _]Lite","model":"Be Pure Lite"},{"regex":"Be[ _]Pure","model":"Be Pure"},{"regex":"Be[ _]One[ _]Lite","model":"Be One Lite"},{"regex":"Be[ _]One","model":"Be One"},{"regex":"Be[ _]X","model":"Be X"},{"regex":"U007 Pro","model":"U007 Pro"},{"regex":"U008 Pro","model":"U008 Pro"},{"regex":"Armor[ _]2 Build","model":"Armor 2"},{"regex":"Armor Build","model":"Armor"},{"regex":"Power_([35])","model":"Power $1"},{"regex":"Ulefone[_ ](X|S1[ _]Pro|S[17])[);\\\\ ]","model":"$1"},{"regex":"Ulefone[ _-]?([^;/]+) Build","model":"$1"},{"regex":"Ulefone[ _-]?([^;/)]+)[;/)]","model":"$1"}]},"UMIDIGI":{"regex":"UMI(?:DIGI)?[ _]","device":"smartphone","models":[{"regex":"UMI(?:DIGI)?[ _]([^/;]+) Build","model":"$1"}]},"Uniscope":{"regex":"Uniscope","device":"smartphone","models":[{"regex":"Uniscope[ _\\\\-]?([^/;]+) Build","model":"$1"},{"regex":"Uniscope[ _\\\\-]?([^);/ ]+)","model":"$1"}]},"Unnecto":{"regex":"Unnecto|(?:U513|U5151|U61[1356]|U7[12]0|U-830|U90[35])[);/ ]","device":"smartphone","models":[{"regex":"U513","model":"Drone XT"},{"regex":"U5151","model":"Bolt"},{"regex":"U611","model":"Quattro X"},{"regex":"U613","model":"Quattro S"},{"regex":"U615","model":"Quattro M"},{"regex":"U616","model":"U616"},{"regex":"U710","model":"Quattro U710"},{"regex":"U720","model":"Quattro Z"},{"regex":"U-830","model":"Rush"},{"regex":"U903","model":"Air"},{"regex":"U905","model":"Air 5.5"}]},"Unonu":{"regex":"Unonu[ _-]","device":"smartphone","models":[{"regex":"Unonu[ _-]([^;/]+) Build","model":"$1"},{"regex":"Unonu[ _-]?([^;/)]+)[);/ ]","model":"$1"}]},"UTOK":{"regex":"UTOK (45[01]D)","device":"smartphone","model":"$1"},"Vastking":{"regex":"(M910A|M783K|M783K-16G|M1072R-3G)[);/ ]","device":"tablet","model":"$1"},"ViewSonic":{"regex":"ViewSonic|VSD[0-9]+[);/ ]|ViewPad|ViewPhone","device":"smart display","models":[{"regex":"(?:ViewSonic-)?V500[);/ ]","model":"V500","device":"smartphone"},{"regex":"(?:ViewSonic-)?ViewPhone ?([^;/]+) Build","model":"ViewPhone $1","device":"smartphone"},{"regex":"(?:ViewSonic-)?ViewPad ?([^;/]+) Build","model":"ViewPad $1","device":"tablet"},{"regex":"(VSD[0-9]+)[);/ ]","model":"$1"}]},"Vitelcom":{"regex":"Vitelcom|portalmmm/[12].0 TSM","device":"feature phone","models":[{"regex":"TSM-([a-z0-9]+)","model":"$1"},{"regex":"TSM([a-z0-9\\\\-]+)","model":"$1"},{"regex":"portalmmm/[12].0 (TSM[a-z0-9 ]+)","model":"$1"}]},"Fengxiang":{"regex":"(vKB011B|vKB004L)","device":"tablet","model":"$1"},"VK Mobile":{"regex":"VK(?!share)[\\\\-]?([a-z0-9 ]+)([;\\\\)/ ]| Build)","device":"feature phone","model":"$1"},"Vernee":{"regex":"Vernee|Mars Pro|Apollo (?:Lite|X)|Thor (?:E|Plus)","device":"smartphone","models":[{"regex":"Apollo Lite","model":"Apollo Lite"},{"regex":"Apollo X","model":"Apollo X"},{"regex":"Mars Pro","model":"Mars Pro"},{"regex":"Thor E","model":"Thor E"},{"regex":"Thor Plus","model":"Thor Plus"},{"regex":"Vernee_M5","model":"M5"},{"regex":"Vernee[ _-]([^;/]+) Build","model":"$1"},{"regex":"Vernee[ _-]([a-z0-9_-]+)","model":"$1"}]},"Vertu":{"regex":"Vertu[ ]?([a-z0-9]+)","device":"feature phone","model":"$1"},"Venso":{"regex":"(CX-508)[/;) ]","device":"smartphone","model":"$1"},"Verizon":{"regex":"QTA(SUN[12]|XIA1|QZ3|QZ3KID|IR7)|QMV7B","device":"tablet","models":[{"regex":"QTAXIA1|QTAIR7","model":"Ellipsis 10"},{"regex":"QTASUN1","model":"Ellipsis 8 HD"},{"regex":"QTASUN2","model":"Ellipsis 8 HD 4G LTE"},{"regex":"QTAQZ3KID","model":"Ellipsis Kids LTE"},{"regex":"QTAQZ3","model":"Ellipsis 8"},{"regex":"QMV7B","model":"Ellipsis 7"}]},"Verykool":{"regex":"verykool","device":"smartphone","models":[{"regex":"verykool[ _]?([^/;]+) Build","model":"$1"}]},"Vestel":{"regex":"Venus[ _](V[1-9]|Z[1-9]0)|V_?TAB|VP74|VT97PRO|VSP145M|VSP250G|VSP355[GS]","device":"smartphone","models":[{"regex":"VT97PRO","model":"VTab 9.7 Pro","device":"tablet"},{"regex":"VP74","model":"VTab Lite II","device":"tablet"},{"regex":"VTAB10","model":"VTab 10","device":"tablet"},{"regex":"V_TAB_7_ECO_III ","model":"VTab 7 Eco 3","device":"tablet"},{"regex":"V_TAB_([0-9]{4}[A-Z]?)","model":"VTab $1","device":"tablet"},{"regex":"VSP145M","model":"Venus 4.5"},{"regex":"VSP250G","model":"Venus 5.0V"},{"regex":"VSP355G","model":"Venus 5.5V"},{"regex":"VSP355S","model":"Venus 5.5X"},{"regex":"Venus[ _]V([1-9])","model":"Venus V$1"},{"regex":"Venus[ _]Z([1-9]0)","model":"Venus Z$1"}]},"Videocon":{"regex":"Videocon[_ \\\\-]|VT75C","device":"smartphone","models":[{"regex":"Videocon[_ \\\\-]([a-z0-9]+)","model":"$1"},{"regex":"VT75C[/;) ]","model":"VT75C"}]},"Vodafone":{"regex":"Vodafone[ _-]|Smart ?Tab ?(?:III? ?)?(?:|4G|7|10)[);/ -]|VodafoneSmartChat|VFD[ _][0-9]+[;/) ]|VFD320|VF6[89]5|VF-795","device":"smartphone","models":[{"regex":"VFD 100","model":"Smart Mini"},{"regex":"VF685","model":"Smart Kicka"},{"regex":"VF695","model":"Smart First 6"},{"regex":"VFD 200","model":"Smart First 7"},{"regex":"VFD 300","model":"Smart Mini 7"},{"regex":"VFD 50[02]","model":"Smart Turbo 7"},{"regex":"VFD 51[013]","model":"Smart E8"},{"regex":"VFD 600","model":"Smart Prime 7"},{"regex":"VFD320","model":"Smart C9"},{"regex":"VFD 820","model":"Smart X9"},{"regex":"VFD 610","model":"Smart N8"},{"regex":"Smart ultra 6","model":"Smart Ultra 6"},{"regex":"VFD 700","model":"Smart Ultra 7"},{"regex":"VFD 720","model":"Smart N9"},{"regex":"VFD 900","model":"Smart Platinum 7"},{"regex":"Vodafone[ _]875[);/ ]","model":"Smart Mini"},{"regex":"Vodafone[ _]975N?[);/ ]","model":"Smart 3"},{"regex":"Vodafone[ _]785[);/ ]","model":"Smart 4 Mini"},{"regex":"Vodafone[ _]890N[);/ ]","model":"Smart 4 Turbo"},{"regex":"Vodafone[ _]985N[);/ ]","model":"Smart 4 Power"},{"regex":"VodafoneSmartChat","model":"Smart Chat"},{"regex":"VF-795","model":"Smart Speed 6"},{"regex":"VFD 1100","device":"tablet","model":"Tab Mini 7"},{"regex":"VFD 1300","device":"tablet","model":"Smart Tab N8"},{"regex":"VFD 1400","device":"tablet","model":"Tab Prime 7"},{"regex":"Smart ?Tab ?3G","device":"tablet","model":"Smart Tab 3G"},{"regex":"Smart ?Tab ?4G","device":"tablet","model":"Smart Tab 4G"},{"regex":"Smart ?Tab ?4","model":"Smart Tab 4","device":"tablet"},{"regex":"SmartTab7[);/ -]","model":"Smart Tab 7","device":"tablet"},{"regex":"SmartTab10[);/ -]","model":"Smart Tab 10","device":"tablet"},{"regex":"Smart ?Tab ?II ?7","model":"Smart Tab II 7","device":"tablet"},{"regex":"Smart ?Tab ?II ?10","model":"Smart Tab II 10","device":"tablet"},{"regex":"Smart ?Tab ?III ?7","model":"Smart Tab III 7","device":"tablet"},{"regex":"Smart ?Tab ?III ?10","model":"Smart Tab III 10","device":"tablet"},{"regex":"VFD[ _]([0-9]+)[;/) ]","model":"VFD $1"},{"regex":"Vodafone[ _-]([^;/]+) Build","model":"$1"},{"regex":"Vodafone[ _-]([a-z0-9_-]+)","model":"$1"}]},"Vonino":{"regex":"Vonino|Zun[ _]X[OS]?|Xylo[ _][XSP]|Volt[ _][XS]|Gyga[ _](?:X|S|QS|XS)|Pluri[ _](?:[BCMQ]7|[CQ]8)|Magnet[ _]M[19]|Jax[ _](?:Q|QS|S|X|Mini)|Navo_QS|Onyx_(QS|Z)|Orin_QS|Sirius_QS|Xavy_T7","device":"smartphone","models":[{"regex":"Zun[ _]XO","model":"Zun XO"},{"regex":"Zun[ _]XS","model":"Zun XS"},{"regex":"Zun[ _]X","model":"Zun X"},{"regex":"Xylo[ _](P|S|X)","model":"Xylo $1"},{"regex":"Volt[ _]S_A7","model":"Volt S A7"},{"regex":"Volt[ _]S","model":"Volt S"},{"regex":"Volt[ _]X","model":"Volt X"},{"regex":"Gyga[ _]QS","model":"Gyga QS"},{"regex":"Gyga[ _]XS","model":"Gyga XS"},{"regex":"Gyga[ _](S|X)","model":"Gyga $1"},{"regex":"Jax[ _]QS","model":"Jax QS"},{"regex":"Jax[ _]S_A7","model":"Jax S A7"},{"regex":"Jax[ _](S|Q|X)","model":"Jax $1"},{"regex":"Jax[ _]Mini","model":"Jax Mini"},{"regex":"Pluri[ _](B|C|M|Q)7","model":"Pluri $17","device":"tablet"},{"regex":"Pluri[ _](C|Q)8","model":"Pluri $18","device":"tablet"},{"regex":"Magnet[ _]M([19])","model":"Magnet M$1","device":"tablet"},{"regex":"Navo_QS","model":"Navo QS","device":"tablet"},{"regex":"Onyx_(QS|Z)","model":"Onyx $1","device":"tablet"},{"regex":"Orin_QS","model":"Orin QS","device":"tablet"},{"regex":"Sirius_QS","model":"Sirius QS","device":"tablet"},{"regex":"Xavy_T7","model":"Xavy T7","device":"tablet"}]},"Vorago":{"regex":"VORAGO","device":"smartphone","models":[{"regex":"CELL-500","model":"CELL-500"}]},"Voto":{"regex":"VOTO[ _\\\\-]|VT8[89]8[;/) ]","device":"smartphone","models":[{"regex":"VOTO[ _\\\\-]?([^/;]+) Build","model":"$1"},{"regex":"VOTO[ _\\\\-]?([^);/ ]+)","model":"$1"},{"regex":"(VT8[89]8)[;/) ]","model":"$1"}]},"Voxtel":{"regex":"Voxtel_([a-z0-9]+)","device":"feature phone","model":"$1"},"Vulcan":{"regex":"VP5004A","device":"smartphone","models":[{"regex":"VP5004A","model":"VP5004A"}]},"Walton":{"regex":"Walton|Walpad|Primo[ _](C[1234]?|D[12345]|E[12345]|EF[23]?|EM|F[1234567]i?|G[123457]|GF[234]?|GH[23]?|GM|H[2346]|HM|N|N1|NF|NX2?|R[1234]|RH2?|RM2?|RX[23]?|S[123456]|V1|X[1234]|Z|ZX)","device":"smartphone","models":[{"regex":"Walpad ([^;/]+) Build","device":"tablet","model":"Primo Walpad $1"},{"regex":"Primo S6 infinity","model":"Primo S6 Infinity"},{"regex":"Walton[ _]([^;/]+) Build","model":"$1"},{"regex":"Walton[ _]([^;/]+)\\\\)","model":"$1"},{"regex":"Primo[ _]([^;/]+) Build","model":"Primo $1"},{"regex":"Primo[ _]([0-9a-z]+)","model":"Primo $1"}]},"WellcoM":{"regex":"WELLCOM[ _\\\\-/]([a-z0-9]+)","device":"smartphone","model":"$1"},"Wexler":{"regex":"Wexler|TAB[ _]10Q[);/ ]|ZEN[ _](?:4\\\\.5|4\\\\.7|5)","device":"tablet","models":[{"regex":"(?:Wexler[ _\\\\-\\\\.])?ZEN[ _]4\\\\.5[);/ ]","model":"ZEN 4.5","device":"smartphone"},{"regex":"(?:Wexler[ _\\\\-\\\\.])?ZEN[ _]4\\\\.7[);/ ]","model":"ZEN 4.7","device":"smartphone"},{"regex":"(?:Wexler[ _\\\\-\\\\.])?ZEN[ _]5[);/ ]","model":"ZEN 5","device":"smartphone"},{"regex":"(?:Wexler[ _\\\\-\\\\.])?TAB[ _]10Q[);/ ]","model":"TAB 10Q"},{"regex":"Wexler[ _\\\\-\\\\.]([^;/]+) Build","model":"$1"},{"regex":"Wexler[ _\\\\-\\\\.]([^);/]+)[);/]","model":"$1"}]},"Wiko":{"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|Kite|Robby|Lenny[2-9]?|Slide|Sunset[2-9]?|Sunny[2-9]?|Tommy[2-9]?|PULP(?: Fab)?|Wax|HARRY|WIM Lite|Ridge(?: Fab)?|U FEEL(?: Prime| Lite)?|U PULSE(?: LITE)?|View XL|View Prime)(?: Plus)?(?: 4G)?(?: Build|$)|W_(?:C800|K[346]00)|LENNY[234]|SUNSET2|JERRY|Tommy3|PULP FAB 4G|WC300","device":"smartphone","models":[{"regex":"(?:Wiko-)?Cink([^/;]*) Build","model":"Cink$1"},{"regex":"(?:WIKO-)?CINK_([a-z0-9_]+)","model":"Cink $1"},{"regex":"(?:Wiko-)?Highway([^/;]*) Build","model":"Highway$1"},{"regex":"(?:WIKO-)?HIGHWAY_([a-z0-9_]+)","model":"Highway $1"},{"regex":"(?:WIKO-)?Iggy","model":"Iggy"},{"regex":"(?:WIKO-)?FEVER","model":"Fever"},{"regex":"(?:WIKO-)?Stairway","model":"Stairway"},{"regex":"(?:WIKO-)?Ridge Fab 4G","model":"Ridge Fab 4G"},{"regex":"(?:WIKO-)?Ridge 4G","model":"Ridge 4G"},{"regex":"(?:WIKO-)?Ridge","model":"Ridge"},{"regex":"(?:WIKO-)?Rainbow ([^/;]+) Build","model":"Rainbow $1"},{"regex":"(?:WIKO-)?Rainbow","model":"Rainbow"},{"regex":"(?:WIKO-)?Darkside","model":"Darkside"},{"regex":"(?:WIKO-)?Darkmoon","model":"Darkmoon"},{"regex":"(?:WIKO-)?Darkfull","model":"Darkfull"},{"regex":"(?:WIKO-)?Darknight","model":"Darknight"},{"regex":"(?:WIKO-)?Sublim","model":"Sublim"},{"regex":"(?:WIKO-)?Ozzy","model":"Ozzy"},{"regex":"(?:WIKO-)?Barry","model":"Barry"},{"regex":"(?:WIKO-)?Birdy","model":"Birdy"},{"regex":"(?:WIKO-)?Bloom","model":"Bloom"},{"regex":"(?:WIKO-)?JIMMY","model":"Jimmy"},{"regex":"JERRY MAX","model":"Jerry Max"},{"regex":"W_K300","model":"Jerry 3"},{"regex":"(?:WIKO-)?Jerry2","model":"Jerry 2"},{"regex":"(?:WIKO-)?Jerry","model":"Jerry"},{"regex":"(?:WIKO-)?Getaway","model":"Getaway"},{"regex":"(?:WIKO-)?Goa","model":"Goa"},{"regex":"(?:WIKO-)?Freddy","model":"Freddy"},{"regex":"(?:WIKO-)?Kite","model":"Kite"},{"regex":"W_K400","model":"Lenny 5"},{"regex":"(?:WIKO-)?Lenny[ -_]?3 Max","model":"Lenny 3 Max"},{"regex":"(?:WIKO-)?Lenny[ -_]?4 Plus","model":"Lenny 4 Plus"},{"regex":"(?:WIKO-)?Lenny[ -_]?([2-9])","model":"Lenny $1"},{"regex":"(?:WIKO-)?Lenny","model":"Lenny"},{"regex":"(?:WIKO-)?Slide","model":"Slide"},{"regex":"(?:WIKO-)?Sunset2","model":"Sunset 2"},{"regex":"(?:WIKO-)?Sunset","model":"Sunset"},{"regex":"(?:WIKO-)?Sunny2 Plus","model":"Sunny 2 Plus"},{"regex":"(?:WIKO-)?Sunny2","model":"Sunny 2"},{"regex":"(?:WIKO-)?Sunny","model":"Sunny"},{"regex":"(W_K600|Tommy3)","model":"Tommy 3"},{"regex":"(?:WIKO-)?Tommy2 Plus","model":"Tommy 2 Plus"},{"regex":"(?:WIKO-)?Tommy2","model":"Tommy 2"},{"regex":"(?:WIKO-)?Tommy","model":"Tommy"},{"regex":"(?:WIKO-)?Wax","model":"Wax"},{"regex":"(?:WIKO-)?HARRY","model":"Harry"},{"regex":"(?:WIKO-)?WIM Lite","model":"WIM Lite"},{"regex":"(?:WIKO-)?Pulp Fab 4G","model":"Pulp Fab 4G"},{"regex":"(?:WIKO-)?Pulp Fab","model":"Pulp Fab"},{"regex":"(?:WIKO-)?Pulp 4G","model":"Pulp 4G"},{"regex":"(?:WIKO-)?Pulp","model":"Pulp"},{"regex":"(?:WIKO-)?Robby","model":"Robby"},{"regex":"(?:WIKO-)?U PULSE LITE","model":"U Pulse Lite"},{"regex":"(?:WIKO-)?U PULSE","model":"U Pulse"},{"regex":"(?:WIKO-)?U FEEL LITE","model":"U Feel Lite"},{"regex":"(?:WIKO-)?U FEEL PRIME","model":"U Feel Prime"},{"regex":"(?:WIKO-)?U FEEL","model":"U Feel"},{"regex":"(?:WIKO-)?View XL","model":"View XL"},{"regex":"(?:WIKO-)?View Prime","model":"View Prime"},{"regex":"WC300","model":"View Lite"},{"regex":"W_C800","model":"View 2"},{"regex":"Wiko ([^/;]+) Build","model":"$1"},{"regex":"Wiko ([^/; ]+)","model":"$1"}]},"Wink":{"regex":"Wink_","device":"smartphone","models":[{"regex":"Wink_City_(SE|S)","model":"City $1"}]},"Weimei":{"regex":"weplus_3","device":"smartphone","models":[{"regex":"weplus_3","model":"WePlus 3"}]},"Wileyfox":{"regex":"(?:Wileyfox [^/]+)|Swift 2[;/) ]","device":"smartphone","models":[{"regex":"Wileyfox Spark \\\\+","model":"Spark +"},{"regex":"Wileyfox Spark X","model":"Spark X"},{"regex":"Wileyfox (Spark|Swift)","model":"$1"},{"regex":"Wileyfox ([^/]+) Build","model":"$1"},{"regex":"Swift 2 (X|Plus)[;/) ]","model":"Swift 2 $1"},{"regex":"Swift 2[;/) ]","model":"Swift 2"}]},"Wolder":{"regex":"miSmart|miTab|WIAM \\\\#24","device":"smartphone","models":[{"regex":"WIAM \\\\#24","model":"Wiam #24"},{"regex":"miSmart[ \\\\-_]?([^/]+) Build","model":"miSmart $1"},{"regex":"miTab[ \\\\-_]?([^/]+) Build","device":"tablet","model":"miTab $1"}]},"Wolfgang":{"regex":"AT[ _-]AS([0-9A-Z]+)[);/ ]","device":"smartphone","model":"AT-AS$1"},"Wonu":{"regex":"Wonu ([a-z0-9]+)","device":"feature phone","model":"$1"},"Woo":{"regex":"SP5026i-Scorpio","device":"smartphone","models":[{"regex":"SP5026i-Scorpio","model":"Scorpio"}]},"Woxter":{"regex":"Woxter[ _]([^/;]+) Build","device":"tablet","model":"$1"},"X-View":{"regex":"ZEN_U5+","device":"smartphone","models":[{"regex":"ZEN_U5+","model":"ZEN U5+"}]},"Xiaomi":{"regex":"Xiaomi(?!/MiuiBrowser)|(?: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|SKR-[AH]0|SKW-[AH]0|POCO F1","device":"smartphone","models":[{"regex":"SKR-[AH]0","model":"Black Shark"},{"regex":"SKW-[AH]0","model":"Black Shark 2"},{"regex":"Xiaomi_2014501|2014501 Build","model":"Hongmi 4G"},{"regex":"Xiaomi_2014011|2014011 Build","model":"Hongmi 1S"},{"regex":"Xiaomi_201302[23]|201302[23] Build","model":"Hongmi"},{"regex":"Xiaomi_2014818|2014818 Build","model":"Hongmi 2 3G"},{"regex":"Xiaomi_2014817|2014817 Build","model":"Hongmi 2"},{"regex":"Xiaomi_201481[123]|201481[123] Build","model":"Hongmi 2 4G"},{"regex":"Mi 9 SE[);/ ]","model":"MI 9 SE"},{"regex":"MI 8 Lite[);/ ]","model":"MI 8 Lite"},{"regex":"MI 5s Plus[);/ ]","model":"MI 5s Plus"},{"regex":"Xiaomi_2013061|2013061 Build","model":"MI 3"},{"regex":"Mi-4c[);/ ]","model":"MI 4C"},{"regex":"MI MAX 3[);/ ]","model":"MI MAX 3"},{"regex":"MI MAX 2[);/ ]","model":"MI MAX 2"},{"regex":"Mi A2 Lite[);/ ]","model":"MI A2 Lite"},{"regex":"MIX 3[);/ ]","model":"MI MIX 3"},{"regex":"MIX 2S[);/ ]","model":"MI MIX 2S"},{"regex":"MIX 2[);/ ]","model":"MI MIX 2"},{"regex":"MIX[);/ ]","model":"MI MIX"},{"regex":"POCOPHONE F1|POCO F1","model":"Pocophone F1"},{"regex":"Redmi 5 Plus","model":"Redmi 5 Plus"},{"regex":"HM 2A[);/ ]","model":"Redmi 2A"},{"regex":"HM 1S[CW]?[);/ ]","model":"Redmi 1S"},{"regex":"HM 1[);/ ]","model":"Redmi 1"},{"regex":"MI PAD 4 PLUS[);/ ]","model":"Mi Pad 4 Plus","device":"tablet"},{"regex":"MI PAD 4[);/ ]","model":"Mi Pad 4","device":"tablet"},{"regex":"MI PAD 3[);/ ]","model":"Mi Pad 3","device":"tablet"},{"regex":"MI PAD 2[);/ ]","model":"Mi Pad 2","device":"tablet"},{"regex":"MI PAD[);/ ]","model":"Mi Pad","device":"tablet"},{"regex":"HM NOTE 1W (?:Build|MIUI)","device":"phablet","model":"Redmi Note"},{"regex":"HM NOTE 1TD (?:Build|MIUI)","device":"phablet","model":"Hongmi Note 1TD"},{"regex":"HM NOTE 1(?:LTE|S)(?:W|GLOBAL|TD)? (?:Build|MIUI)","device":"phablet","model":"Redmi Note 4G"},{"regex":"Redmi Note 6 Pro","model":"Redmi Note 6 Pro","device":"phablet"},{"regex":"Redmi Note 5 Pro","model":"Redmi Note 5 Pro","device":"phablet"},{"regex":"Redmi Note 5A Prime","model":"Redmi Note 5A Prime","device":"phablet"},{"regex":"Redmi[ _]Note[ _]([^;/) ]+)?","model":"Redmi Note $1","device":"phablet"},{"regex":"Redmi[ _]([^;/) ]+)?","model":"Redmi $1"},{"regex":"MI[ _]Note[ _]([^;/) ]+)?","model":"MI Note $1","device":"phablet"},{"regex":"(MI(?:-One)?[ _](?:[^;/]*))Build","model":"$1"},{"regex":"(MI [a-z0-9]+|MI-One[ _]?[a-z0-9]+)[);/ ]","model":"$1"},{"regex":"HM Note ([^/;]+) (?:Build|MIUI)","device":"phablet","model":"Note"},{"regex":"HM ([^/;]+) (?:Build|MIUI)","model":"HM $1"},{"regex":"Xiaomi[ _]([^/;]+)(?: Build|$)","model":"$1"}]},"Xion":{"regex":"XI-CE(?:655|U[48])","device":"smartphone","models":[{"regex":"XI-CE(655|U[48])","model":"CE$1"}]},"Xolo":{"regex":"Xolo|(?:Q600|Q700s?|Q800|Q1000s|Q1000[ _]Opus|Q1010i|Q2000|Omega[ _]5.[05])[);/ ]|BLACK-1XM","device":"smartphone","models":[{"regex":"BLACK-1XM","model":"Black 1X"},{"regex":"(Q600 Club|Q600|Q700s?|Q800|Q1000s Plus|Q1000s|Q1000[ _]Opus|Q1010i|Q2000|Omega[ _]5.[05])[);/ ]","model":"$1"},{"regex":"Xolo[ _]?([^;/]+) Build","model":"$1"},{"regex":"Xolo[ _]?([a-z0-9_-]+)","model":"$1"}]},"Yarvik":{"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","device":"tablet","models":[{"regex":"Luna TAB07-920N","model":"Luna 7"},{"regex":"Luna TAB07-10[01]","model":"Luna 7c"},{"regex":"Luna TAB274","model":"Luna 7c"},{"regex":"Luna TAB474","model":"Luna 10"},{"regex":"Luna TAB10-150","model":"Luna 10c"},{"regex":"TAB09-410","model":"Noble 9.7"},{"regex":"TAB10-410","model":"Noble 10.1"},{"regex":"TAB07-485","model":"Noble Mini"},{"regex":"Xenta-TAB07-21[01]","model":"Xenta 7c"},{"regex":"TAB07-200","model":"Xenta 7ic"},{"regex":"TAB08-200","model":"Xenta 8ic"},{"regex":"TAB08-201-3G","model":"Xenta 8c"},{"regex":"TAB9-200","model":"Xenta 9.7ic"},{"regex":"TAB09-211","model":"Xenta 9.7ic+"},{"regex":"TAB10-2[01]1","model":"Xenta 10ic"},{"regex":"TAB13-201","model":"Xenta 13c"}]},"Yes":{"regex":"M631Y","device":"smartphone","models":[{"regex":"M631Y","model":"Altitude"}]},"Yezz":{"regex":"Yezz|ANDY[ _]|4E4|A5EI","device":"smartphone","models":[{"regex":"ANDY_35E2I","model":"Andy 3.5E2I"},{"regex":"ANDY_35EI2","model":"Andy 3.5EI2"},{"regex":"Andy 3.5EI","model":"Andy 3.5EI"},{"regex":"ANDY_45EL","model":"Andy 4.5EL"},{"regex":"Andy 4.7T","model":"Andy 4.7T"},{"regex":"ANDY_4E2I","model":"Andy 4E2I"},{"regex":"4E4","model":"Andy 4E4"},{"regex":"ANDY_4EI2","model":"Andy 4EI2"},{"regex":"Yezz-AC4EI","model":"Andy 4EI"},{"regex":"ANDY_4EL2_LTE","model":"Andy 4EL2 LTE"},{"regex":"Andy_55EI","model":"Andy 55EI"},{"regex":"ANDY_5EI","model":"Andy 5EI"},{"regex":"Andy 5EL2 LTE","model":"Andy 5EL2 LTE"},{"regex":"Andy_5ML_LTE","model":"Andy 5ML LTE"},{"regex":"Andy_5T","model":"Andy 5T"},{"regex":"A3.5EP","model":"Andy A3.5EP"},{"regex":"A5EI","model":"Andy A5EI"},{"regex":"ANDY_C5QL","model":"Andy C5QL"}]},"Yu":{"regex":"YU5010A|AO5510","device":"smartphone","models":[{"regex":"YU5010A","model":"Yuphoria"},{"regex":"AO5510","model":"Yureka"}]},"Yuandao":{"regex":"N101[ _]DUAL(?:[ _]CORE)?(?:[ _]?2|\\\\|\\\\|)?(?:[ _]V11)?[);/ ]","device":"tablet","model":"N101"},"Yusun":{"regex":"Yusun|LA2-T","device":"smartphone","models":[{"regex":"LA2-T","model":"LA2-T"},{"regex":"Yusun ([^;/]+) Build","model":"$1"},{"regex":"Yusun ([a-z0-9_\\\\-\\\\+]+)","model":"$1"}]},"Ytone":{"regex":"YTONE[ _\\\\-]","device":"smartphone","models":[{"regex":"YTONE[ _\\\\-]?([^/;]+) Build","model":"$1"},{"regex":"YTONE[ _\\\\-]?([^);/ ]+)","model":"$1"}]},"Zonda":{"regex":"(ZM(?:CK|EM|TFTV|TN)[a-z0-9]+)|ZA409","device":"feature phone","models":[{"regex":"ZA409","device":"smartphone","model":"Muzic"},{"regex":"(ZM(?:CK|EM|TFTV|TN)[a-z0-9]+)","model":"$1"}]},"ZYQ":{"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))[); ]","device":"smartphone","models":[{"regex":"Q638","model":"I7"},{"regex":"Q2624","model":"Cheer 3G"},{"regex":"Q2602","model":"TV Next"},{"regex":"Q2728","model":"Zone 3G"},{"regex":"Q2729","model":"Q2729"},{"regex":"Q2688","model":"Q2688"},{"regex":"Q2623","model":"Win 3G"},{"regex":"Q2626","model":"Care 3G"},{"regex":"Q3623","model":"Braw 3G"},{"regex":"Q3022","model":"Q3022"},{"regex":"Q328 m9","model":"Q328 M9"},{"regex":"Q328","model":"Speed 3G"},{"regex":"Q668","model":"TV I4"},{"regex":"J77","model":"Q.Dee"},{"regex":"Q\\\\.Up C5","model":"Q.Up C5"},{"regex":"Q\\\\.Up","model":"Q.Up"},{"regex":"Q\\\\.Boss P99","model":"Q.Boss P99"},{"regex":"Q[._]Dee R09","model":"Q.Dee R09"},{"regex":"Q\\\\.Good M9","model":"Q.Good M9"},{"regex":"Q[._]Hi S1","model":"Q.Hi S1"},{"regex":"Q[._]Hi","model":"Q.Hi"},{"regex":"Q[._]Hot P7 3G","model":"Q.Hot P7 3G"},{"regex":"Q[._]Hot","model":"Q.Hot"},{"regex":"Q[._]Me Phone7 3G","model":"Q.Me Phone 7 3G"},{"regex":"Q[._]Me Plus7","model":"Q.Me Plus 7"},{"regex":"Q[._]Me","model":"Q.Me"},{"regex":"Q[._]Mate R99","model":"Q.Mate R99"},{"regex":"Q[._]Next B7","model":"Q.Next B7"},{"regex":"Q[._]Next J2","model":"Q.Next J2"},{"regex":"Q[._]TOP-X8","model":"Q.Top X8"},{"regex":"Q[._]You","model":"Q.You"},{"regex":"QTAB Tab4","model":"QTab Tab4","device":"tablet"},{"regex":"ZYQ-Q88","model":"Q88","device":"tablet"}]},"Toshiba":{"regex":"Toshiba|TSBNetTV/|portalmmm/[12].0 TS|T-01C|T-0[12]D|IS04|IS11T|AT1S0|AT300SE|AT(10-A|10[PL]E-A|100|200|270|300|330|374|400|470|500|503|570|703|830)","device":"smartphone","models":[{"regex":"T-01C","model":"Regza T-01C"},{"regex":"T-01D","model":"Regza T-01D"},{"regex":"T-02D","model":"Regza T-02D"},{"regex":"IS04","model":"Regza IS04"},{"regex":"IS11T","model":"Regza IS11T"},{"regex":"AT1S0","model":"Regza AT1S0","device":"tablet"},{"regex":"AT300SE","model":"Regza AT300SE","device":"tablet"},{"regex":"AT500a","model":"Regza AT500a","device":"tablet"},{"regex":"AT(100|200|270|300|330|374|400|470|500|503|570|703|830)","model":"Regza AT$1","device":"tablet"},{"regex":"AT10([PL])E-A","model":"Excite AT10$1-A","device":"tablet"},{"regex":"AT10-A","model":"Excite AT10-A","device":"tablet"},{"regex":"TSBNetTV/","device":"tv","model":""},{"regex":"Toshiba[ /_\\\\-]?([a-z0-9_ \\\\-]+) Build","model":"$1"},{"regex":"Toshiba[ /_\\\\-]?([a-z0-9_\\\\-]+)","model":"$1"},{"regex":"portalmmm/[12].0 (TS[a-z0-9 ]+)","model":"$1"}]},"Vivax":{"regex":"VIVAX|(Fly5[_ ]Lite)[;)/ ]","device":"smartphone","models":[{"regex":"Fly5[_ ]Lite","model":"Fly 5 Lite"},{"regex":"VIVAX[ _]Fly3","model":"Fly 3"},{"regex":"SMART Point X5010","model":"Smart Point X5010"}]},"Fly":{"regex":"Fly(?!Flow|touch)|FS50[1-9]|FS51[0-8]|FS52[0-9]|FS530|FS55[134]|FS40[1-9]|FS45[1-9]|4FS06|MERIDIAN-|(?:IQ[0-9]{3,})[ _]?(?:Quad|Firebird|Quattro|Turbo|Magic)?(?: Build|[;/\\\\)])","device":"smartphone","models":[{"regex":"(?:Fly_)?IQ310(?: Build|[;/\\\\)])","model":"Panorama","device":"tablet"},{"regex":"(?:Fly_)?IQ236(?: Build|[;/\\\\)])","model":"Victory"},{"regex":"FS506","model":"Cirrus 3"},{"regex":"FS403","model":"Cumulus 1"},{"regex":"FS508","model":"Cirrus 6"},{"regex":"FS511","model":"Cirrus 7"},{"regex":"FS509","model":"Nimbus 9"},{"regex":"FS406","model":"Stratus 5"},{"regex":"FS404","model":"Stratus 3"},{"regex":"FS504","model":"Cirrus 2"},{"regex":"FS407","model":"Stratus 6"},{"regex":"FS401","model":"Stratus 1"},{"regex":"FS402","model":"Stratus 2"},{"regex":"FS501","model":"Nimbus 3"},{"regex":"FS502","model":"Cirrus 1"},{"regex":"FS507","model":"Cirrus 4"},{"regex":"FS505","model":"Nimbus 7"},{"regex":"FS551","model":"Nimbus 4"},{"regex":"FS514","model":"Cirrus 8"},{"regex":"FS553","model":"Cirrus 9"},{"regex":"FS554","model":"Power Plus FHD"},{"regex":"FS517","model":"Cirrus 11"},{"regex":"FS516","model":"Cirrus 12"},{"regex":"FS518","model":"Cirrus 13"},{"regex":"FS520","model":"Selfie 1"},{"regex":"FS521","model":"Power Plus 1"},{"regex":"FS522","model":"Cirrus 14"},{"regex":"FS523","model":"Cirrus 16"},{"regex":"FS524","model":"Knockout"},{"regex":"FS526","model":"Power Plus 2"},{"regex":"FS527","model":"Nimbus 17"},{"regex":"FS528","model":"Memory Plus"},{"regex":"FS529","model":"\u0421hamp"},{"regex":"FS530","model":"Power Plus XXL"},{"regex":"FS454","model":"Nimbus 8"},{"regex":"FS452","model":"Nimbus 2"},{"regex":"FS512","model":"Nimbus 10"},{"regex":"FS510","model":"Nimbus 12"},{"regex":"FS451","model":"Nimbus 1"},{"regex":"FS405","model":"Stratus 4"},{"regex":"FS408","model":"Stratus 8"},{"regex":"FS409","model":"Stratus 9"},{"regex":"FS455","model":"Nimbus 11"},{"regex":"FS456","model":"Nimbus 14"},{"regex":"FS457","model":"Nimbus 15"},{"regex":"FS459","model":"Nimbus 16"},{"regex":"FS458","model":"Stratus 7"},{"regex":"(?:Fly_)?IQ237(?: Build|[;/\\\\)])","model":"Dynamic"},{"regex":"(?:Fly_)?IQ238(?: Build|[;/\\\\)])","model":"Jazz"},{"regex":"(?:Fly_)?IQ240(?: Build|[;/\\\\)])","model":"Whizz"},{"regex":"(?:Fly_)?IQ255(?: Build|[;/\\\\)])","model":"Pride"},{"regex":"(?:Fly_)?IQ270(?: Firebird)?(?: Build|[;/\\\\)])","model":"Firebird"},{"regex":"(?:Fly_)?IQ275(?: Build|[;/\\\\)])","model":"Marathon"},{"regex":"(?:Fly_)?IQ285(?: Turbo)?(?: Build|[;/\\\\)])","model":"Turbo"},{"regex":"(?:Fly_)?IQ430(?: Build|[;/\\\\)])","model":"Evoke"},{"regex":"(?:Fly_)?IQ431(?: Build|[;/\\\\)])","model":"Glory"},{"regex":"(?:Fly_)?IQ432(?: Build|[;/\\\\)])","model":"Era Nano 1"},{"regex":"(?:Fly_)?IQ434(?: Build|[;/\\\\)])","model":"Era Nano 5"},{"regex":"(?:Fly_)?IQ436(?: Build|[;/\\\\)])","model":"Era Nano 3"},{"regex":"(?:Fly_)?IQ440(?: Build|[;/\\\\)])","model":"Energy"},{"regex":"(?:Fly_)?IQ441(?: Build|[;/\\\\)])","model":"Radiance"},{"regex":"(?:Fly_)?IQ442(?: Build|[;/\\\\)])","model":"Miracle"},{"regex":"(?:Fly_)?IQ442 Quad(?: Build|[;/\\\\)])","model":"Miracle 2"},{"regex":"(?:Fly_)?IQ443(?: Build|[;/\\\\)])","model":"Trend"},{"regex":"(?:Fly_)?IQ444(?: Quattro)?(?: Build|[;/\\\\)])","model":"Diamond 2"},{"regex":"(?:Fly_)?IQ445(?: Build|[;/\\\\)])","model":"Genius"},{"regex":"(?:Fly_)?IQ446(?: Magic)?(?: Build|[;/\\\\)])","model":"Magic"},{"regex":"(?:Fly_)?IQ447(?: Build|[;/\\\\)])","model":"Era Life 1"},{"regex":"(?:Fly_)?IQ448(?: Build|[;/\\\\)])","model":"Chic"},{"regex":"(?:Fly_)?IQ449(?: Build|[;/\\\\)])","model":"Pronto"},{"regex":"(?:Fly_)?IQ450(?: Build|[;/\\\\)])","model":"Horizon"},{"regex":"(?:Fly_)?IQ450[ _]Quattro(?: Build|[;/\\\\)])","model":"Horizon 2"},{"regex":"(?:Fly_)?IQ451(?: Build|[;/\\\\)])","model":"Vista"},{"regex":"(?:Fly_)?IQ452 Quad(?: Build|[;/\\\\)])","model":"Ego Vision 1"},{"regex":"(?:Fly_)?IQ454(?: Build|[;/\\\\)])","model":"Evo Tech 1"},{"regex":"(?:Fly_)?IQ456(?: Build|[;/\\\\)])","model":"Era Life 2"},{"regex":"(?:Fly_)?IQ4403(?: Build|[;/\\\\)])","model":"Energy 3"},{"regex":"(?:Fly_)?IQ4404(?: Build|[;/\\\\)])","model":"Spark"},{"regex":"(?:Fly_)?IQ4406(?: Build|[;/\\\\)])","model":"Era Nano 6"},{"regex":"(?:Fly_)?IQ4410 Quad(?: Build|[;/\\\\)])","model":"Phoenix"},{"regex":"(?:Fly_)?IQ4411(?: Build|[;/\\\\)])","model":"Energy 2"},{"regex":"(?:Fly_)?IQ4412 Quad(?: Build|[;/\\\\)])","model":"Coral"},{"regex":"(?:Fly_)?IQ4413[ _]Quad(?: Build|[;/\\\\)])","model":"Evo Chic 3"},{"regex":"(?:Fly_)?IQ4414 Quad(?: Build|[;/\\\\)])","model":"Evo Tech 3"},{"regex":"(?:Fly_)?IQ4415 Quad(?: Build|[;/\\\\)])","model":"Era Style 3"},{"regex":"(?:Fly_)?IQ4490(?: Build|[;/\\\\)])","model":"Era Nano 4"},{"regex":"(?:Fly_)?IQ4504 Quad(?: Build|[;/\\\\)])","model":"Evo Energy 5"},{"regex":"(?:Fly_)?IQ([0-9]+) ?(?:Quad|Firebird|Quattro)? Build","model":"IQ$1"},{"regex":"Fly[ _\\\\-]?([a-z0-9_]+)/","model":"$1","device":"feature phone"},{"regex":"Flylife[ _\\\\-]?([^/;]+) Build","model":"Flylife $1","device":"tablet"},{"regex":"Fly[ _\\\\-]?([a-z0-9]+)","model":"$1"},{"regex":"MERIDIAN-([a-z0-9]+)","model":"$1"}]},"FinePower":{"regex":"FinePower[_ ]?([AB][1-9]|[CD][1-9])[;)/ ]","device":"smartphone","models":[{"regex":"FinePower[_ ]?([AB][1-9])[;)/ ]","model":"$1","device":"tablet"},{"regex":"FinePower[_ ]?([CD][1-9])[;)/ ]","model":"$1"}]},"Freetel":{"regex":"(FTJ152[ABCD]|FT141B|FT142D_LTEXM|FT142A?|FTJ161[AB]|FTJ1[56]2E|FTJ162D|FTE161[GE])[;)/ ]","device":"smartphone","models":[{"regex":"FTJ152C","model":"Samurai Miyabi"},{"regex":"FTJ161A","model":"Musashi"},{"regex":"FTE161E","model":"Ice 2"},{"regex":"FTE161G","model":"Ice 2 Plus"},{"regex":"FTJ162E","model":"Raijin"},{"regex":"FT141B","model":"Nico"},{"regex":"FT142D_LTEXM","model":"XM"},{"regex":"FT142A?","model":"Priori 2"},{"regex":"FTJ152A","model":"Priori 3"},{"regex":"FTJ162D","model":"Priori 4"},{"regex":"FTJ152B","model":"Priori 3S LTE"},{"regex":"FTJ152D","model":"Samurai Kiwami"},{"regex":"FTJ161B","model":"Samurai Rei"},{"regex":"FTJ152E","model":"Katana 1"}]},"Zeemi":{"regex":"ZEEMI[ _-]","device":"smartphone","models":[{"regex":"ZEEMI[ _-]([^/;]+) Build","model":"$1"},{"regex":"ZEEMI[ _-]([^/;)]+)[/;)]","model":"$1"}]},"Zenek":{"regex":"Z5007|Z551[679]|Z6001","device":"smartphone","models":[{"regex":"Z5517","model":"Leopardo"},{"regex":"Z6001","model":"Libelula"},{"regex":"Z5007","model":"Oso"},{"regex":"Z5519","model":"Ping\xfbino"},{"regex":"Z5516","model":"Zebra"}]},"Zopo":{"regex":"(?:ZOPO[_ ])?(Flash X3|ZP[0-9]{2,}[^/;]+) Build","device":"smartphone","models":[{"regex":"ZP998[);/ ]","model":"C2 II"},{"regex":"(?:ZOPO_)?ZP980[+][);/ ]","model":"ZP980+"},{"regex":"(?:ZOPO_)?ZP980[);/ ]","model":"Scorpio"},{"regex":"ZP952[);/ ]","model":"Speed 7 Plus"},{"regex":"ZP951[);/ ]","model":"Speed 7"},{"regex":"ZP950[+h]?[);/ ]","model":"Leader Max"},{"regex":"ZP(?:900H?|910)[);/ ]","model":"Leader"},{"regex":"ZP(?:800H|810)[);/ ]","model":"Libero HD"},{"regex":"ZP500[+]?[);/ ]","model":"Libero"},{"regex":"ZP330[);/ ]","model":"Color C"},{"regex":"ZP300[S+]?[);/ ]","model":"Field"},{"regex":"ZP200[+]?[);/ ]","model":"Shining"},{"regex":"ZP100[);/ ]","model":"Pilot"},{"regex":"(Flash X3|ZP[0-9]{2,}[^/;]+) Build","model":"$1"}]},"ZTE":{"regex":"ZTE|AxonPhone|([a-z0-9]+)_USA_Cricket|(?:Blade (?:L110|L[2357]|L7A|S6|V[6789]|V8Q|V8 SE|V9 VITA|X7|A(310|460|465|475|520|530|602)|V580)|N9[15]8St|NX(?:403A|404H|406E|40[X2]|507J|503A|505J|506J|508J|510J|512J|511J|513J|521J|523J_V1|529J|531J|541J|549J|551J|563J|569[HJ]|573J|575J|591J|595J|597J|601J|907J|616J)|N951[0579]|N9180|N9101|N913[67]|N952[01]|N9560|N9810|N799D|[UV]9180|[UV]9815|Z(?:233V|331|667T|768G|792|81[25]|82[08]|83[12359]|85[125]|851M|(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)|Apex2|G (LTE|Lux)|Vec)[);/ ]|KIS II Max|Kis 3|Z930L","device":"smartphone","models":[{"regex":"N799D[);/ ]","model":"Blade Eg"},{"regex":"N918St[);/ ]","model":"V5S"},{"regex":"N958St[);/ ]","model":"V5 Max"},{"regex":"N9101[);/ ]","model":"Imperial"},{"regex":"N9120[);/ ]","model":"Avid"},{"regex":"N9136[);/ ]","model":"Prestige 2"},{"regex":"N9137[);/ ]","model":"Tempo X"},{"regex":"N9180[);/ ]","model":"V5"},{"regex":"N9510[);/ ]","model":"Warp 4G"},{"regex":"N9517[);/ ]","model":"Blade Force"},{"regex":"N9515[);/ ]","model":"Warp Sync"},{"regex":"N9519[);/ ]","model":"Warp 7"},{"regex":"N9520[);/ ]","model":"Boost Max"},{"regex":"N9521[);/ ]","model":"Boost Max+"},{"regex":"N9560[);/ ]","model":"Max XL"},{"regex":"N9810[);/ ]","model":"Vital"},{"regex":"NX40[X2][);/ ]","model":"Nubia Z5 mini"},{"regex":"NX(403[AE]|406E|404H)[);/ ]","model":"Nubia Z5S Mini"},{"regex":"NX503A[);/ ]","model":"Nubia Z5S"},{"regex":"NX506J[);/ ]","model":"Nubia Z7"},{"regex":"NX507J[);/ ]","model":"Nubia Z7 mini"},{"regex":"NX505J[);/ ]","model":"Nubia Z7 max"},{"regex":"NX508J[);/ ]","model":"Nubia Z9"},{"regex":"NX5[12]1J[);/ ]","model":"Nubia Z9 mini"},{"regex":"NX510J[);/ ]","model":"Nubia Z9 max"},{"regex":"NX512J[);/ ]","model":"Nubia Z9 max dual"},{"regex":"NX531J[);/ ]","model":"Nubia Z11"},{"regex":"NX523J_V1","model":"Nubia Z11 Max"},{"regex":"NX529J[);/ ]","model":"Nubia Z11 mini"},{"regex":"NX549J[);/ ]","model":"Nubia Z11 mini S"},{"regex":"NX616J[);/ ]","model":"Nubia Z18S"},{"regex":"NX551J[);/ ]","model":"Nubia M2"},{"regex":"NX563J[);/ ]","model":"Nubia Z17"},{"regex":"NX569H[);/ ]","model":"Nubia Z17 Mini"},{"regex":"NX595J","model":"Nubia Z17S"},{"regex":"NX513J[);/ ]","model":"Nubia My Prague"},{"regex":"NX591J[);/ ]","model":"Nubia Z17 Lite"},{"regex":"NX569J","model":"Nubia Z17 mini"},{"regex":"NX601J[);/ ]","model":"Nubia X6"},{"regex":"NX573J","model":"Nubia M2 Lite"},{"regex":"NX907J[);/ ]","model":"Nubia M2 Play"},{"regex":"NX541J","model":"Nubia N1"},{"regex":"NX597J","model":"Nubia N1 Lite"},{"regex":"NX575J","model":"Nubia N2"},{"regex":"[UV]9180[);/ ]","model":"V5 Red Bull"},{"regex":"[UV]9815[);/ ]","model":"Grand Memo LTE"},{"regex":"V779M","model":"Joey Jump 2"},{"regex":"V807","model":"Blade C"},{"regex":"V809","model":"Blade C2"},{"regex":"(?:ZTE_)?V829","model":"Blade G Pro"},{"regex":"V882","model":"Lord"},{"regex":"V967S","model":"Grand X2"},{"regex":"V970M?|V987","model":"Grand X"},{"regex":"V8000","model":"Nova 4"},{"regex":"Z95[67]","model":"Grand X4"},{"regex":"Z987","model":"Grand X Max+"},{"regex":"(?:ZTE_)?Grand[ _]Era","model":"Grand Era"},{"regex":"V788D","model":"Kis Plus"},{"regex":"Z331[);/ ]","model":"Z331"},{"regex":"Blade (A(0620|310|452|460|462|465|475|510|512|520|530|602|612|910)|L110|V0730|V0800|V580|V1000)[);/ ]","model":"Blade $1"},{"regex":"Blade L2 Plus[);/ ]","model":"Blade L2 Plus"},{"regex":"Blade L2[);/ ]","model":"Blade L2"},{"regex":"Blade L3 Plus[);/ ]","model":"Blade L3 Plus"},{"regex":"Blade L3 Apex[);/ ]","model":"Blade L3 Apex"},{"regex":"Blade L3[);/ ]","model":"Blade L3"},{"regex":"Blade L5 Plus[);/ ]","model":"Blade L5 Plus"},{"regex":"Blade L5[);/ ]","model":"Blade L5"},{"regex":"Blade L6[);/ ]","model":"Blade L6"},{"regex":"Blade L7A[);/ ]","model":"Blade L7A"},{"regex":"Blade L7[);/ ]","model":"Blade L7"},{"regex":"Blade L8[);/ ]","model":"Blade L8"},{"regex":"Blade S6 Plus[);/ ]","model":"Blade S6 Plus"},{"regex":"Blade S6[);/ ]","model":"Blade S6"},{"regex":"T920[);/ ]","model":"Blade S7"},{"regex":"Blade V6 MAX[);/ ]","model":"Blade V6 Max"},{"regex":"Blade V6 Plus[);/ ]","model":"Blade V6 Plus"},{"regex":"Blade V6[);/ ]","model":"Blade V6"},{"regex":"Blade (?:V7 Lite|V0720)[);/ ]","model":"Blade V7 Lite"},{"regex":"Blade V7[);/ ]","model":"Blade V7"},{"regex":"Blade X7[);/ ]","model":"Blade X7"},{"regex":"Blade V8Q[);/ ]","model":"Blade V8Q"},{"regex":"Blade V8 SE[);/ ]","model":"Blade V8 SE"},{"regex":"Blade V9 Vita[);/ ]","model":"Blade V9 Vita"},{"regex":"Blade V9[);/ ]","model":"Blade V9"},{"regex":"Blade V10 Vita[);/ ]","model":"Blade V10 Vita"},{"regex":"BLADE V0820[);/ ]","model":"Blade V8 Lite"},{"regex":"BLADE V0850[);/ ]","model":"Blade V8 Mini"},{"regex":"(Apex2|G (LTE|Lux)|Vec)","model":"Blade $1"},{"regex":"Z768G[);/ ]","model":"Midnight"},{"regex":"Z820","model":"Obsidian"},{"regex":"Z986U","model":"Blade Max 3"},{"regex":"Z971","model":"Blade Spark"},{"regex":"Z978","model":"Blade V8 Pro"},{"regex":"Z839","model":"Blade Vantage"},{"regex":"Z930L","model":"Unico LTE"},{"regex":"Z965","model":"Blade X"},{"regex":"Z981","model":"Blade Z Max Pro"},{"regex":"Z982","model":"Blade Z Max"},{"regex":"Z983","model":"Blade X Max"},{"regex":"Z717[BV]L[);/ ]","model":"Citrine LTE"},{"regex":"Z233VL","model":"Cymbal-C LTE"},{"regex":"Z233V","model":"Cymbal LTE"},{"regex":"Z232TL","model":"Cymbal-G LTE"},{"regex":"Z353VL","model":"Cymbal-T LTE"},{"regex":"Z718TL","model":"Jasper LTE"},{"regex":"KIS II Max","model":"Kis II Max"},{"regex":"Kis 3","model":"Kis 3"},{"regex":"(?:Z798BL|Z799VL)[);/ ]","model":"Majesty Pro LTE"},{"regex":"Z899VL","model":"Majesty Pro Plus LTE"},{"regex":"Z828TL","model":"Midnight Pro LTE"},{"regex":"Z792","model":"Fanfare"},{"regex":"Z812","model":"Maven"},{"regex":"Z815","model":"Fanfare 2"},{"regex":"Z831","model":"Maven 2"},{"regex":"Z832","model":"Sonata 3"},{"regex":"Z835","model":"Maven 3"},{"regex":"Z851[);/ ]","model":"Prelude Plus"},{"regex":"Z851M","model":"Overture 3"},{"regex":"Z852","model":"Fanfare 3"},{"regex":"Z828","model":"Avid Plus"},{"regex":"Z855","model":"Avid 4"},{"regex":"Z833","model":"Avid TRIO"},{"regex":"(?:Z836BL|Z837VL)[);/ ]","model":"ZFive 2 LTE"},{"regex":"Z558VL","model":"ZFive C LTE"},{"regex":"Z557BL","model":"ZFive G LTE"},{"regex":"(?:Z861BL|Z862VL)[);/ ]","model":"ZFive L LTE"},{"regex":"Z916BL","model":"ZMax Grand LTE"},{"regex":"Z917VL","model":"ZMax Champ LTE"},{"regex":"(?:Z958|Z955A)[);/ ]","model":"ZMax 2"},{"regex":"Z963VL","model":"Max Duo LTE"},{"regex":"Z970","model":"ZMax Z970"},{"regex":"Z986DL","model":"MAX Blue LTE"},{"regex":"Z992","model":"Avail 2"},{"regex":"Z999","model":"Axon M"},{"regex":"B2016","model":"Axon Mini"},{"regex":"A2015","model":"Axon Tianji"},{"regex":"A2017[GU]?","model":"Axon 7"},{"regex":"A2019G Pro","model":"Axon Pro"},{"regex":"B2017G","model":"Axon 7 Mini"},{"regex":"A2020G? Pro[);/ ]","model":"Axon 10 Pro"},{"regex":"Z667T","model":"Zinger"},{"regex":"V?975|geek","model":"Geek"},{"regex":"Z716BL","model":"Citrine LTE"},{"regex":"X500","model":"Score"},{"regex":"X501","model":"Groove"},{"regex":"G-X991","model":"Rio"},{"regex":"F-450","model":"Adamant"},{"regex":"AxonPhone ([^;/]+) Build","model":"AxonPhone $1"},{"regex":"([a-z0-9]+)_USA_Cricket","model":"$1"},{"regex":"ZTE[\\\\- ](V98|V96A|V81|V70)[);/ ]","model":"$1","device":"tablet"},{"regex":"ZTE[\\\\- ]([a-z0-9\\\\-_ ]+) Build","model":"$1"},{"regex":"ZTE-(?:G |G-)?([a-z0-9 _]+)","model":"$1"},{"regex":"ZTE[ _]([a-z0-9]+)","model":"$1"}]},"Zuum":{"regex":"Zuum[ _-]|COVET|MAGNO|ONIX S|STEDI|STELLAR Z","device":"smartphone","models":[{"regex":"COVET","model":"Covet"},{"regex":"MAGNO","model":"Magno"},{"regex":"ONIX S","model":"Onix S"},{"regex":"STEDI","model":"Stedi"},{"regex":"STELLAR Z","model":"Stellar Z"},{"regex":"Zuum[ _-]([^;/]+) Build","model":"$1"},{"regex":"Zuum[ _-]?([^;/)]+)[);/ ]","model":"$1"}]},"Zen":{"regex":"(Admire[_ ][^/;]+|Cinemax[^/;)]+)(?:Build|\\\\))","device":"smartphone","model":"$1"},"Zync":{"regex":"ZYNC|(Cloud Z5|Z1000|Z18|Z99 Dual Core|Z99[_ ][23]G|Z99|Z900[_ ]Plus|Z909|Z930[+]|Z930)","device":"tablet","models":[{"regex":"(Z18|Z99 Dual Core|Z99[_ ][23]G|Z99|Z900[_ ]Plus|Z909|Z930[+]|Z930)","model":"$1"},{"regex":"(Z1000[^/;]+)Build","model":"$1"},{"regex":"Cloud (Z5)","model":"Cloud $1"},{"regex":"ZYNC Cloud[ _]([^;]+)Build","model":"Cloud $1"},{"regex":"ZYNC[ _]([^;]+)Build","model":"$1"}]},"Lemhoov":{"regex":"Lemhoov","device":"smartphone","models":[{"regex":"Lemhoov[ _-]([^/;]+) Build","model":"$1"}]},"MTC":{"regex":"MTC[ _](97[82]|970|982[OT]|982|1078)|SMART[ _](Race|Sprint)[ _]4G|MTC975","device":"smartphone","models":[{"regex":"MTC[ _](97[82]|970[H]?|982[OT]|982)","model":"$1"},{"regex":"MTC(975)","model":"$1"},{"regex":"MTC[ _](1078)","model":"$1","device":"tablet"},{"regex":"SMART[ _]Race[ _]4G","model":"Smart Race 4G"},{"regex":"SMART[ _]Sprint[ _]4G","model":"Smart Sprint 4G"}]},"MegaFon":{"regex":"MFLoginPh|(MFLogin4|MS3B|SP-A5|SP-A20i)[)\\\\; ]","device":"smartphone","models":[{"regex":"MFLoginPh","model":"Login+"},{"regex":"MFLogin4","model":"Login 4 LTE"},{"regex":"MS3B","model":"Optima"},{"regex":"SP-A20i","model":"Mint"},{"regex":"(SP-A5)","model":"$1"}]},"Inoi":{"regex":"INOI","device":"smartphone","models":[{"regex":"INOI_([^;/]+)(?:Build|\\\\))","model":"$1"}]},"Vertex":{"regex":"Lion_Dual|V709X|Baccara|Eagle[ _]4G|Impress[ _]([^;/]+)(?:Build|\\\\))","device":"smartphone","models":[{"regex":"(Lion_Dual|Baccara|Eagle[ _]4G)","model":"$1"},{"regex":"(Impress[ _]([^;/]+))(?:Build|\\\\))","model":"$1"},{"regex":"(V709X)","device":"tablet","model":"$1"}]},"Unknown":{"regex":"WebTV/(\\\\d+\\\\.\\\\d+)","device":"tv","model":"Web TV"},"Starway":{"regex":"Andromeda[ _]S(707|84[05])[;/) ]","device":"tablet","model":"Andromeda S$1"},"Savio":{"regex":"TB-PO1 Build","device":"tv","models":[{"regex":"(TB-PO1)","model":"$1"}]},"Simbans":{"regex":"TangoTab|Presto[ )]|Ultimax|Valumax|S72-B|SX2W","device":"tablet","models":[{"regex":"TangoTab","model":"TangoTab"},{"regex":"Ultimax","model":"Ultimax"},{"regex":"Valumax","model":"Valumax"},{"regex":"Presto","model":"Presto"},{"regex":"S72-B","model":"S72-B"},{"regex":"SX2W","model":"SX2W"}]},"MYFON":{"regex":"MYPAD7s","device":"tablet","model":"My Pad 7s"},"X-TIGI":{"regex":"X[-_]TIGI","device":"smartphone","models":[{"regex":"X-TIGI_JOY10_PRO","model":"Joy 10 Pro","device":"tablet"},{"regex":"X-TIGI_JOY7_MAX","model":"Joy 7 Max","device":"tablet"},{"regex":"X-TIGI[_ ]V28[_ ]LTE","model":"V28 LTE"},{"regex":"X[-_]TIGI[ _-]([^/;)]+) Build","model":"$1"}]},"Xiaolajiao":{"regex":"(LA2-(?:L|S[N]?))[);/ ]","device":"smartphone","model":"$1"},"R-TV":{"regex":"R-TV BOX[ _]?(MINI\\\\+|X99|X10 PRO|[RXS]10)","device":"tv","model":"Box $1"},"NEXBOX":{"regex":"(MXQ|MXQ-Pro)-NEXBOX|NEXBOX-([^) ]+)","device":"tv","models":[{"regex":"MXQ-Pro-NEXBOX","model":"MXQ Pro"},{"regex":"MXQ-NEXBOX","model":"MXQ"},{"regex":"NEXBOX-([^) ]+)","model":"$1"}]},"True":{"regex":"SMART[ _](MAX 4.0 PLUS|4G Speedy 5.0 Plus)","device":"smartphone","models":[{"regex":"SMART MAX 4.0 PLUS","model":"Smart Max 4.0 Plus"},{"regex":"SMART 4G Speedy 5.0 Plus","model":"Smart 4G Speedy 5.0 Plus"}]},"Yandex":{"regex":"(YNDX-000SB)[;)\\\\ ]","device":"smartphone","model":"$1"},"FORME":{"regex":"FORME[ _-]","device":"smartphone","models":[{"regex":"FORME[ _-]F520[;)\\\\ ]","model":"Forever"},{"regex":"FORME[ _-](A37|R7S)[;)\\\\ ]","model":"$1"}]},"Shuttle":{"regex":"(PNT-704[025])[;)/ ]","device":"tablet","model":"$1"}}')},function(e,r,o){"use strict";var t=o(4),n=o(1);Object.defineProperty(r,"__esModule",{value:!0});var l=o(3),i=o(2),a=o(28),d=o(92);r.default=function e(){var r=this;n(this,e),this.parse=function(e){var o={type:"",brand:"",model:""};if(!r.isHbbTv(e))return o;o.type="television";for(var n=0,m=Object.entries(d);n<m.length;n++){var u=m[n],s=t(u,2),g=s[0],c=s[1],x=i.userAgentParser(c.regex,e);if(x){if(o.brand=g,c.model)o.model=a.buildModel(l.variableReplacement(c.model,x)).trim();else if(c.models){var p=!0,f=!1,S=void 0;try{for(var h,v=c.models[Symbol.iterator]();!(p=(h=v.next()).done);p=!0){var A=h.value,b=i.userAgentParser(A.regex,e);if(b){o.model=a.buildModel(l.variableReplacement(A.model,b)).trim();break}}}catch(T){f=!0,S=T}finally{try{p||null==v.return||v.return()}finally{if(f)throw S}}}break}}return o},this.isHbbTv=function(e){return i.userAgentParser("HbbTV/([1-9]{1}(?:.[0-9]{1}){1,2})",e)}}},function(e){e.exports=JSON.parse('{"Airties":{"regex":"Airties","device":"tv","models":[{"regex":"Airties; ?([^);/]+)","model":"$1"}]},"Altech UEC":{"regex":"Altech UEC","device":"tv","models":[{"regex":"Altech UEC; ?([^);/]+)","model":"$1"}]},"BangOlufsen":{"regex":"Bangolufsen","device":"tv","model":"BeoVision"},"Changhong":{"regex":"Changhong","device":"tv","models":[{"regex":"Changhong; ?([^);/]+)","model":"$1"}]},"CreNova":{"regex":"CreNova","device":"tv","model":"CNV001"},"DMM":{"regex":"DMM","device":"tv","model":"Dreambox"},"Grundig":{"regex":"(OWB|Grundig|Arcelik)","device":"tv","model":""},"Hisense":{"regex":"Hisense","device":"tv","models":[{"regex":"(L[A-Z]{2,3}[0-9]{2}[A-Z][0-9]{3,4}[A-Z]{0,6}[0-9]?[A-Z]?)","model":"$1"},{"regex":"(H[A-Z]?[0-9]{2}[A-Z][0-9]{3,4}[A-Z]{0,4})","model":"$1"}]},"Humax":{"regex":"Humax","device":"tv","models":[{"regex":"(HD-FOX C|HD (FOX\\\\+|NANO)|iCord (HD\\\\+|MINI|Cable)|(CX|IR)HD-5100(C|S)|HM9503HD)","model":"$1"},{"regex":"HMS1000S","model":"HMS-1000S"},{"regex":"Humax; ([^);/]+)","model":"$1"}]},"Ikea":{"regex":"Ikea","device":"tv","models":[{"regex":"(LF1V[0-9]{3})","model":"$1"}]},"Intek":{"regex":"Intek","device":"tv","models":[{"regex":"(Vantage|VT-100|VT-1)","model":"$1"}]},"Inverto":{"regex":"Inverto","device":"tv","models":[{"regex":"inverto; ([^);/]+)","model":"$1"},{"regex":"(Volksbox Web Edition|Volksbox Essential|Volksbox II|Volksbox)","model":"$1"}]},"LG":{"regex":"LGE","device":"tv","models":[{"regex":"(NetCast [0-9]{1}.[0-9]{1}|GLOBAL_PLAT3)","model":"$1"},{"regex":"(OLED[0-9]{2}[A-Z][0-9][A-Z])","model":"$1"},{"regex":"LGE;? ?([0-9]{2}[A-Z]{2}[0-9]{2,4}[A-Z]?)","model":"$1"}]},"Loewe":{"regex":"Loewe","device":"tv","models":[{"regex":"([A-Z]{2}[0-9]{3})","model":"$1"}]},"MediaTek":{"regex":"MTK","device":"tv","models":[{"regex":"(MT[0-9]{4})","model":"$1"}]},"Medion":{"regex":"Medion","device":"tv","models":[{"regex":"(MB[0-9]{2})","model":"$1"}]},"Metz":{"regex":"Metz","device":"tv","model":""},"Panasonic":{"regex":"Panasonic","device":"tv","models":[{"regex":"(VIERA [0-9]{1,4})|(DIGA [A-Z]{1}[0-9]{4})","model":"$1"},{"regex":"DIGA Webkit ([A-Z]{1}[0-9]{4})","model":"DIGA $1"}]},"PEAQ":{"regex":"PEAQ","device":"tv","models":[{"regex":"(LF1V[0-9]{3})","model":"$1"}]},"Philips":{"regex":"Philips|NETTV/","device":"tv","models":[{"regex":"Philips[,;] ?((?! )[^),;/]+)","model":"$1"},{"regex":"NETTV/[0-9\\\\.]{5}","model":"NetTV Series"}]},"Samsung":{"regex":"Samsung|Maple_2011","device":"tv","models":[{"regex":"SmartTV(201[2-9])","model":"Smart TV $1"},{"regex":"Maple_2011","model":"Smart TV 2011"}]},"Selevision":{"regex":"Selevision","device":"tv","models":[{"regex":"Selevision; (?:Selevision )?([^);/]+)","model":"$1"},{"regex":"(EMC1000i)","model":"$1"}]},"Sharp":{"regex":"Sharp","device":"tv","models":[{"regex":"Sharp[,;] ?((?! |HbbTV)[^),;/]+)","model":"$1"},{"regex":"(LE[0-9]{3}[A-Z]{0,3})","model":"$1"}]},"Skyworth":{"regex":"Sky_worth","device":"tv","models":[{"regex":"Sky_worth;([^);/]+)","model":"$1"}]},"Smart":{"regex":"Smart[^a-z]","device":"tv","models":[{"regex":"Smart; ([^);/]+)","model":"$1"},{"regex":"([A-Z]{2}[0-9]{2}|ZAPPIX)","model":"$1"}]},"Sony":{"regex":"Sony","device":"tv","models":[{"regex":"(KDL?-?[0-9]{2}[A-Z]{1,2}[0-9]{1,5})","model":"$1"}]},"TechniSat":{"regex":"TechniSat","device":"tv","models":[{"regex":"((DigiCorder|MultyVision|Digit) (ISIO S|ISIO C|ISIO))","model":"$1"}]},"TechnoTrend":{"regex":"TechnoTrend","device":"tv","models":[{"regex":"([A-Z]{1}-[0-9]{3})","model":"$1"}]},"Telefunken":{"regex":"Telefunken","device":"tv","models":[{"regex":"(MB[0-9]{2})","model":"$1"}]},"TCL":{"regex":"TCL","device":"tv","models":[{"regex":"(LF1V[0-9]{3})","model":"$1"}]},"Thomson":{"regex":"THOMSON|THOM","device":"tv","models":[{"regex":"(LF1V[0-9]{3})","model":"$1"}]},"Toshiba":{"regex":"Toshiba","device":"tv","models":[{"regex":"(([0-9]{2}|DTV_)[A-Z]{2}[0-9]{1,3})","model":"$1"}]},"Vestel":{"regex":"Vestel","device":"tv","models":[{"regex":"(MB[0-9]{2})","model":"$1"}]},"Videoweb":{"regex":"videoweb|tv2n","device":"tv","models":[{"regex":"(tv2n)","model":"$1"},{"regex":"(videowebtv)","model":"VideoWeb TV"}]}}')},function(e,r,o){"use strict";var t=o(4),n=o(1);Object.defineProperty(r,"__esModule",{value:!0});var l=o(3),i=o(2),a=o(94);r.default=function e(){n(this,e),this.parse=function(e){for(var r={type:"",brand:"",model:""},o=0,n=Object.entries(a);o<n.length;o++){var d=n[o],m=t(d,2),u=m[0],s=m[1],g=i.userAgentParser(s.regex,e);if(g){r.type="car",r.brand=u,s.model&&(r.model=l.variableReplacement(s.model,g).trim());break}}return r}}},function(e){e.exports=JSON.parse('{"Tesla":{"regex":"QtCarBrowser","device":"car browser","model":"Model S"}}')},function(e,r,o){"use strict";var t=o(4),n=o(1);Object.defineProperty(r,"__esModule",{value:!0});var l=o(3),i=o(2),a=o(96);r.default=function e(){n(this,e),this.parse=function(e){for(var r={type:"",brand:"",model:""},o=0,n=Object.entries(a);o<n.length;o++){var d=n[o],m=t(d,2),u=m[0],s=m[1],g=i.userAgentParser(s.regex,e);if(g){if(r.type=s.device,r.brand=u,s.model)r.model=l.variableReplacement(s.model,g).trim();else if(s.models){var c=!0,x=!1,p=void 0;try{for(var f,S=s.models[Symbol.iterator]();!(c=(f=S.next()).done);c=!0){var h=f.value,v=i.userAgentParser(h.regex,e);if(v){r.model=l.variableReplacement(h.model,v).trim();break}}}catch(A){x=!0,p=A}finally{try{c||null==S.return||S.return()}finally{if(x)throw p}}}break}}return r}}},function(e){e.exports=JSON.parse('{"Archos":{"regex":"Archos.*GAMEPAD([2]?)","device":"console","model":"Gamepad $1"},"Microsoft":{"regex":"Xbox","device":"console","models":[{"regex":"Xbox One","model":"Xbox One"},{"regex":"Xbox","model":"Xbox 360"}]},"Nintendo":{"regex":"Nintendo (([3]?DS[i]?)|Wii[U]?)","device":"console","model":"$1"},"OUYA":{"regex":"OUYA","device":"console","model":"OUYA"},"Sega":{"regex":"Dreamcast","device":"console","model":"Dreamcast"},"Sony":{"regex":"PlayStation (3|4|Portable|Vita)","device":"console","model":"PlayStation $1"}}')},function(e,r,o){"use strict";var t=o(4),n=o(1);Object.defineProperty(r,"__esModule",{value:!0});var l=o(3),i=o(2),a=o(98);r.default=function e(){n(this,e),this.parse=function(e){for(var r={type:"",brand:"",model:""},o=0,n=Object.entries(a);o<n.length;o++){var d=n[o],m=t(d,2),u=m[0],s=m[1],g=i.userAgentParser(s.regex,e);if(g){if(r.type=s.device,r.brand=u,s.model)r.model=l.variableReplacement(s.model,g).trim();else if(s.models){var c=!0,x=!1,p=void 0;try{for(var f,S=s.models[Symbol.iterator]();!(c=(f=S.next()).done);c=!0){var h=f.value,v=i.userAgentParser(h.regex,e);if(v){r.model=l.variableReplacement(h.model,v).trim();break}}}catch(A){x=!0,p=A}finally{try{c||null==S.return||S.return()}finally{if(x)throw p}}}break}}return r}}},function(e){e.exports=JSON.parse('{"Apple":{"regex":"(?:Apple-)?iPod","device":"portable media player","models":[{"regex":"(?:Apple-)?iPod1[C,]1","model":"iPod Touch 1G"},{"regex":"(?:Apple-)?iPod2[C,]1","model":"iPod Touch 2G"},{"regex":"(?:Apple-)?iPod3[C,]1","model":"iPod Touch 3"},{"regex":"(?:Apple-)?iPod4[C,]1","model":"iPod Touch 4"},{"regex":"(?:Apple-)?iPod5[C,]1","model":"iPod Touch 5"},{"regex":"(?:Apple-)?iPod7[C,]1","model":"iPod Touch 6"},{"regex":"(?:Apple-)?iPod","model":"iPod Touch"}]},"Cowon":{"regex":"COWON ([^;/]+) Build","device":"portable media player","model":"$1"},"Microsoft":{"regex":"Microsoft ZuneHD","device":"portable media player","model":"Zune HD"},"Panasonic":{"device":"portable media player","regex":"(SV-MV100)","model":"$1"},"Samsung":{"regex":"YP-(G[SIPB]?1|G[57]0|GB70D)","device":"portable media player","models":[{"regex":"YP-G[B]?1","model":"Galaxy Player 4.0"},{"regex":"YP-G70","model":"Galaxy Player 5.0"},{"regex":"YP-GS1","model":"Galaxy Player 3.6"},{"regex":"YP-GI1","model":"Galaxy Player 4.2"},{"regex":"YP-GP1","model":"Galaxy Player 5.8 "},{"regex":"YP-G50","model":"Galaxy Player 50"},{"regex":"YP-GB70D","model":"Galaxy Player 70 Plus"}]}}')},function(e,r,o){"use strict";var t=o(4),n=o(1);Object.defineProperty(r,"__esModule",{value:!0});var l=o(6),i=o(3),a=o(2),d=o(100),m=["AmigaOS","IBM","GNU/Linux","Mac","Unix","Windows","BeOS","Chrome OS"],u={AIX:"AIX",AND:"Android",AMG:"AmigaOS",ATV:"Apple TV",ARL:"Arch Linux",BTR:"BackTrack",SBA:"Bada",BEO:"BeOS",BLB:"BlackBerry OS",QNX:"BlackBerry Tablet OS",BMP:"Brew",CES:"CentOS",COS:"Chrome OS",CYN:"CyanogenMod",DEB:"Debian",DFB:"DragonFly",FED:"Fedora",FOS:"Firefox OS",FIR:"Fire OS",BSD:"FreeBSD",GNT:"Gentoo",GTV:"Google TV",HPX:"HP-UX",HAI:"Haiku OS",IRI:"IRIX",INF:"Inferno",KOS:"KaiOS",KNO:"Knoppix",KBT:"Kubuntu",LIN:"GNU/Linux",LBT:"Lubuntu",VLN:"VectorLinux",MAC:"Mac",MAE:"Maemo",MDR:"Mandriva",SMG:"MeeGo",MCD:"MocorDroid",MIN:"Mint",MLD:"MildWild",MOR:"MorphOS",NBS:"NetBSD",MTK:"MTK / Nucleus",WII:"Nintendo",NDS:"Nintendo Mobile",OS2:"OS/2",T64:"OSF1",OBS:"OpenBSD",PSP:"PlayStation Portable",PS3:"PlayStation",RHT:"Red Hat",ROS:"RISC OS",REM:"Remix OS",RZD:"RazoDroiD",SAB:"Sabayon",SSE:"SUSE",SAF:"Sailfish OS",SLW:"Slackware",SOS:"Solaris",SYL:"Syllable",SYM:"Symbian",SYS:"Symbian OS",S40:"Symbian OS Series 40",S60:"Symbian OS Series 60",SY3:"Symbian^3",TDX:"ThreadX",TIZ:"Tizen",UBT:"Ubuntu",WTV:"WebTV",WIN:"Windows",WCE:"Windows CE",WIO:"Windows IoT",WMO:"Windows Mobile",WPH:"Windows Phone",WRT:"Windows RT",XBX:"Xbox",XBT:"Xubuntu",YNS:"YunOs",IOS:"iOS",POS:"palmOS",WOS:"webOS"},s={Android:["AND","CYN","FIR","REM","RZD","MLD","MCD","YNS"],AmigaOS:["AMG","MOR"],"Apple TV":["ATV"],BlackBerry:["BLB","QNX"],Brew:["BMP"],BeOS:["BEO","HAI"],"Chrome OS":["COS"],"Firefox OS":["FOS","KOS"],"Gaming Console":["WII","PS3"],"Google TV":["GTV"],IBM:["OS2"],iOS:["IOS"],"RISC OS":["ROS"],"GNU/Linux":["LIN","ARL","DEB","KNO","MIN","UBT","KBT","XBT","LBT","FED","RHT","VLN","MDR","GNT","SAB","SLW","SSE","CES","BTR","SAF"],Mac:["MAC"],"Mobile Gaming Console":["PSP","NDS","XBX"],"Real-time OS":["MTK","TDX"],"Other Mobile":["WOS","POS","SBA","TIZ","SMG","MAE"],Symbian:["SYM","SYS","SY3","S60","S40"],Unix:["SOS","AIX","HPX","BSD","NBS","OBS","DFB","SYL","IRI","T64","INF"],WebTV:["WTV"],Windows:["WIN"],"Windows Mobile":["WPH","WMO","WCE","WRT","WIO"]},g=function e(r){var o=this;n(this,e),this.options={versionTruncation:1},this.parse=function(e){var r={name:"",version:"",platform:o.parsePlatform(e)},t=!0,n=!1,m=void 0;try{for(var u,s=d[Symbol.iterator]();!(t=(u=s.next()).done);t=!0){var g=u.value,c=a.userAgentParser(g.regex,e);if(c)return r.name=i.variableReplacement(g.name,c),r.version=l.formatVersion(i.variableReplacement(g.version,c),o.options.versionTruncation),"lubuntu"===r.name&&(r.name="Lubuntu"),"debian"===r.name&&(r.name="Debian"),"YunOS"===r.name&&(r.name="YunOs"),r}}catch(x){n=!0,m=x}finally{try{t||null==s.return||s.return()}finally{if(n)throw m}}return null},this.parsePlatform=function(e){return a.userAgentParser("arm",e)?"ARM":a.userAgentParser("WOW64|x64|win64|amd64|x86_64",e)?"x64":a.userAgentParser("i[0-9]86|i86pc",e)?"x86":""},this.options=Object.assign({},this.options,r)};g.getDesktopOsArray=function(){return m},g.getOsFamily=function(e){for(var r=g.getOsShortName(e),o=0,n=Object.entries(s);o<n.length;o++){var l=n[o],i=t(l,2),a=i[0];if(i[1].includes(r))return a}return""},g.getOsShortName=function(e){for(var r=0,o=Object.entries(u);r<o.length;r++){var n=o[r],l=t(n,2),i=l[0];if(l[1]===e)return i}return""},r.default=g},function(e){e.exports=JSON.parse('[{"regex":"Tizen[ /]?(\\\\d+[\\\\.\\\\d]+)?","name":"Tizen","version":"$1"},{"regex":"Sailfish|Jolla","name":"Sailfish OS","version":""},{"regex":"(?:Ali)?YunOS[ /]?(\\\\d+[\\\\.\\\\d]+)?","name":"YunOS","version":"$1"},{"regex":"Windows Phone (?:OS)?[ ]?(\\\\d+[\\\\.\\\\d]+)","name":"Windows Phone","version":"$1"},{"regex":"XBLWP7|Windows Phone","name":"Windows Phone","version":""},{"regex":"Windows CE(?: (\\\\d+[\\\\.\\\\d]+))?","name":"Windows CE","version":"$1"},{"regex":"(?:IEMobile|Windows ?Mobile)(?: (\\\\d+[\\\\.\\\\d]+))?","name":"Windows Mobile","version":"$1"},{"regex":"Windows NT 6.2; ARM;","name":"Windows RT","version":""},{"regex":"Windows NT 6.3; ARM;","name":"Windows RT","version":"8.1"},{"regex":"Windows IoT 10.0","name":"Windows IoT","version":"10"},{"regex":"KAIOS(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"KaiOS","version":"$1"},{"regex":"RazoDroiD(?: v(\\\\d+[\\\\.\\\\d]*))?","name":"RazoDroiD","version":"$1"},{"regex":"MildWild(?: CM-(\\\\d+[\\\\.\\\\d]*))?","name":"MildWild","version":"$1"},{"regex":"CyanogenMod(?:[\\\\-/](?:CM)?(\\\\d+[\\\\.\\\\d]*))?","name":"CyanogenMod","version":"$1"},{"regex":"(?:.*_)?MocorDroid(?:(\\\\d+[\\\\.\\\\d]*))?","name":"MocorDroid","version":"$1"},{"regex":"Fire OS(?:/(\\\\d+[\\\\.\\\\d]*))?","name":"Fire OS","version":"$1"},{"regex":"(?:(?:Orca-)?Android|Adr)[ /](?:[a-z]+ )?(\\\\d+[\\\\.\\\\d]*)","name":"Android","version":"$1"},{"regex":"Android|Silk-Accelerated=[a-z]{4,5}","name":"Android","version":""},{"regex":"(?:TwitterAndroid).*[ /](?:[a-z]+ )?(\\\\d+[\\\\.\\\\d]*)","name":"Android","version":"$1"},{"regex":"BeyondPod|AntennaPod|Podkicker|DoggCatcher|Player FM|okhttp|Podcatcher Deluxe","name":"Android","version":""},{"regex":"AmigaOS[ ]?(\\\\d+[\\\\.\\\\d]+)","name":"AmigaOS","version":"$1"},{"regex":"AmigaOS|AmigaVoyager|Amiga-AWeb","name":"AmigaOS","version":""},{"regex":"ThreadX(?:/(\\\\d+[\\\\.\\\\d]*))?","name":"ThreadX","version":"$1"},{"regex":"Nucleus(?:(?: |/v?)(\\\\d+[\\\\.\\\\d]*))?","name":"MTK / Nucleus","version":"$1"},{"regex":"MTK(?:(?: |/v?)(\\\\d+[\\\\.\\\\d]*))?","name":"MTK / Nucleus","version":"$1"},{"regex":"Maemo","name":"Maemo","version":""},{"regex":"Arch ?Linux(?:[ /\\\\-](\\\\d+[\\\\.\\\\d]+))?","name":"Arch Linux","version":"$1"},{"regex":"VectorLinux(?: package)?(?:[ /\\\\-](\\\\d+[\\\\.\\\\d]+))?","name":"VectorLinux","version":"$1"},{"regex":"Linux; .*((?:Debian|Knoppix|Mint|Ubuntu|Kubuntu|Xubuntu|Lubuntu|Fedora|Red Hat|Mandriva|Gentoo|Sabayon|Slackware|SUSE|CentOS|BackTrack))[ /](\\\\d+[\\\\.\\\\d]+)","name":"$1","version":"$2"},{"regex":"(Debian|Knoppix|Mint|Ubuntu|Kubuntu|Xubuntu|Lubuntu|Fedora|Red Hat|Mandriva|Gentoo|Sabayon|Slackware|SUSE|CentOS|BackTrack)(?:(?: Enterprise)? Linux)?(?:[ /\\\\-](\\\\d+[\\\\.\\\\d]+))?","name":"$1","version":"$2"},{"regex":"(?:webOS|Palm webOS)(?:/(\\\\d+[\\\\.\\\\d]+))?","name":"webOS","version":"$1"},{"regex":"(?:PalmOS|Palm OS)(?:[/ ](\\\\d+[\\\\.\\\\d]+))?|Palm","name":"palmOS","version":"$1"},{"regex":"Xiino(?:.*v\\\\. (\\\\d+[\\\\.\\\\d]+))?","name":"palmOS","version":"$1"},{"regex":"MorphOS(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"MorphOS","version":"$1"},{"regex":"CYGWIN_NT-10.0|Windows NT 10.0|Windows 10","name":"Windows","version":"10"},{"regex":"CYGWIN_NT-6.4|Windows NT 6.4|Windows 10","name":"Windows","version":"10"},{"regex":"CYGWIN_NT-6.3|Windows NT 6.3|Windows 8.1","name":"Windows","version":"8.1"},{"regex":"CYGWIN_NT-6.2|Windows NT 6.2|Windows 8","name":"Windows","version":"8"},{"regex":"CYGWIN_NT-6.1|Windows NT 6.1|Windows 7","name":"Windows","version":"7"},{"regex":"CYGWIN_NT-6.0|Windows NT 6.0|Windows Vista","name":"Windows","version":"Vista"},{"regex":"CYGWIN_NT-5.2|Windows NT 5.2|Windows Server 2003 / XP x64","name":"Windows","version":"Server 2003"},{"regex":"CYGWIN_NT-5.1|Windows NT 5.1|Windows XP","name":"Windows","version":"XP"},{"regex":"CYGWIN_NT-5.0|Windows NT 5.0|Windows 2000","name":"Windows","version":"2000"},{"regex":"CYGWIN_NT-4.0|Windows NT 4.0|WinNT|Windows NT","name":"Windows","version":"NT"},{"regex":"CYGWIN_ME-4.90|Win 9x 4.90|Windows ME","name":"Windows","version":"ME"},{"regex":"CYGWIN_98-4.10|Win98|Windows 98","name":"Windows","version":"98"},{"regex":"CYGWIN_95-4.0|Win32|Win95|Windows 95|Windows_95","name":"Windows","version":"95"},{"regex":"Windows 3.1","name":"Windows","version":"3.1"},{"regex":"Windows","name":"Windows","version":""},{"regex":"Haiku","name":"Haiku OS","version":""},{"regex":"CFNetwork/889","name":"iOS","version":"11.1"},{"regex":"CFNetwork/887.*(x86_64)","name":"Mac","version":"10.13"},{"regex":"CFNetwork/887","name":"iOS","version":"11.0"},{"regex":"CFNetwork/811.*(x86_64)","name":"Mac","version":"10.12"},{"regex":"CFNetwork/811","name":"iOS","version":"10.3"},{"regex":"CFNetwork/808\\\\.3","name":"iOS","version":"10.3"},{"regex":"CFNetwork/808\\\\.2","name":"iOS","version":"10.2"},{"regex":"CFNetwork/808\\\\.1","name":"iOS","version":"10.1"},{"regex":"CFNetwork/808\\\\.0","name":"iOS","version":"10.0"},{"regex":"CFNetwork/808","name":"iOS","version":"10"},{"regex":"CFNetwork/758\\\\.4\\\\.3","name":"iOS","version":"9.3.2"},{"regex":"CFNetwork/758\\\\.3\\\\.15","name":"iOS","version":"9.3"},{"regex":"CFNetwork/758\\\\.2\\\\.[78]","name":"iOS","version":"9.2"},{"regex":"CFNetwork/758\\\\.1\\\\.6","name":"iOS","version":"9.1"},{"regex":"CFNetwork/758\\\\.0\\\\.2","name":"iOS","version":"9.0"},{"regex":"CFNetwork/711\\\\.5\\\\.6","name":"iOS","version":"8.4.1"},{"regex":"CFNetwork/711\\\\.4\\\\.6","name":"iOS","version":"8.4"},{"regex":"CFNetwork/711\\\\.3\\\\.18","name":"iOS","version":"8.3"},{"regex":"CFNetwork/711\\\\.2\\\\.23","name":"iOS","version":"8.2"},{"regex":"CFNetwork/711\\\\.1\\\\.1[26]","name":"iOS","version":"8.1"},{"regex":"CFNetwork/711\\\\.0\\\\.6","name":"iOS","version":"8.0"},{"regex":"CFNetwork/672\\\\.1","name":"iOS","version":"7.1"},{"regex":"CFNetwork/672\\\\.0","name":"iOS","version":"7.0"},{"regex":"CFNetwork/609\\\\.1","name":"iOS","version":"6.1"},{"regex":"CFNetwork/60[29]","name":"iOS","version":"6.0"},{"regex":"CFNetwork/548\\\\.1","name":"iOS","version":"5.1"},{"regex":"CFNetwork/548\\\\.0","name":"iOS","version":"5.0"},{"regex":"CFNetwork/485\\\\.13","name":"iOS","version":"4.3"},{"regex":"CFNetwork/485\\\\.12","name":"iOS","version":"4.2"},{"regex":"CFNetwork/485\\\\.10","name":"iOS","version":"4.1"},{"regex":"CFNetwork/485\\\\.2","name":"iOS","version":"4.0"},{"regex":"CFNetwork/467\\\\.12","name":"iOS","version":"3.2"},{"regex":"CFNetwork/459","name":"iOS","version":"3.1"},{"regex":"(?:CPU OS|iPh(?:one)?[ _]OS|iOS)[ _/](\\\\d+(?:[_\\\\.]\\\\d+)*)","name":"iOS","version":"$1"},{"regex":"(?:Apple-)?(?:iPhone|iPad|iPod)(?:.*Mac OS X.*Version/(\\\\d+\\\\.\\\\d+)|; Opera)?","name":"iOS","version":"$1"},{"regex":"Podcasts/(?:[\\\\d\\\\.]+)|Instacast(?:HD)?/(?:\\\\d\\\\.[\\\\d\\\\.abc]+)|Pocket Casts, iOS|Overcast|Castro|Podcat|i[cC]atcher|RSSRadio/","name":"iOS","version":""},{"regex":"iTunes-(iPod|iPad|iPhone)/(?:[\\\\d\\\\.]+)","name":"iOS","version":""},{"regex":"CFNetwork/807","name":"Mac","version":"10.12"},{"regex":"CFNetwork/760","name":"Mac","version":"10.11"},{"regex":"CFNetwork/720","name":"Mac","version":"10.10"},{"regex":"CFNetwork/673","name":"Mac","version":"10.9"},{"regex":"CFNetwork/596","name":"Mac","version":"10.8"},{"regex":"CFNetwork/520","name":"Mac","version":"10.7"},{"regex":"CFNetwork/454","name":"Mac","version":"10.6"},{"regex":"CFNetwork/(?:438|422|339|330|221|220|217)","name":"Mac","version":"10.5"},{"regex":"CFNetwork/12[89]","name":"Mac","version":"10.4"},{"regex":"CFNetwork/1\\\\.2","name":"Mac","version":"10.3"},{"regex":"CFNetwork/1\\\\.1","name":"Mac","version":"10.2"},{"regex":"Mac[ +]OS[ +]X(?:[ /](?:Version )?(\\\\d+(?:[_\\\\.]\\\\d+)+))?","name":"Mac","version":"$1"},{"regex":"Mac (\\\\d+(?:[_\\\\.]\\\\d+)+)","name":"Mac","version":"$1"},{"regex":"Darwin|Macintosh|Mac_PowerPC|PPC|Mac PowerPC|iMac|MacBook","name":"Mac","version":""},{"regex":"CrOS [a-z0-9_]+ .* Chrome/(\\\\d+[\\\\.\\\\d]+)","name":"Chrome OS","version":"$1"},{"regex":"(?:BB10;.+Version|Black[Bb]erry[0-9a-z]+|Black[Bb]erry.+Version)/(\\\\d+[\\\\.\\\\d]+)","name":"BlackBerry OS","version":"$1"},{"regex":"RIM Tablet OS (\\\\d+[\\\\.\\\\d]+)","name":"BlackBerry Tablet OS","version":"$1"},{"regex":"RIM Tablet OS|QNX|Play[Bb]ook","name":"BlackBerry Tablet OS","version":""},{"regex":"BlackBerry","name":"BlackBerry OS","version":""},{"regex":"bPod","name":"BlackBerry OS","version":""},{"regex":"BeOS","name":"BeOS","version":""},{"regex":"Symbian/3.+NokiaBrowser/7\\\\.3","name":"Symbian^3","version":"Anna"},{"regex":"Symbian/3.+NokiaBrowser/7\\\\.4","name":"Symbian^3","version":"Belle"},{"regex":"Symbian/3","name":"Symbian^3","version":""},{"regex":"(?:Series ?60|SymbOS|S60)(?:[ /]?(\\\\d+[\\\\.\\\\d]+|V\\\\d+))?","name":"Symbian OS Series 60","version":"$1"},{"regex":"Series40","name":"Symbian OS Series 40","version":""},{"regex":"SymbianOS/(\\\\d+[\\\\.\\\\d]+)","name":"Symbian OS","version":"$1"},{"regex":"MeeGo|WeTab","name":"MeeGo","version":""},{"regex":"Symbian(?: OS)?|SymbOS","name":"Symbian OS","version":""},{"regex":"Nokia","name":"Symbian","version":""},{"regex":"(?:Mobile|Tablet);.+Firefox/\\\\d+\\\\.\\\\d+","name":"Firefox OS","version":""},{"regex":"RISC OS(?:-NC)?(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"RISC OS","version":"$1"},{"regex":"Inferno(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"Inferno","version":"$1"},{"regex":"bada(?:[ /](\\\\d+[\\\\.\\\\d]+))","name":"Bada","version":"$1"},{"regex":"bada","name":"Bada","version":""},{"regex":"(?:Brew MP|BREW|BMP)(?:[ /](\\\\d+[\\\\.\\\\d]+))","name":"Brew","version":"$1"},{"regex":"Brew MP|BREW|BMP","name":"Brew","version":""},{"regex":"GoogleTV(?:[ /](\\\\d+[\\\\.\\\\d]+))?","name":"Google TV","version":"$1"},{"regex":"AppleTV(?:/?(\\\\d+[\\\\.\\\\d]+))?","name":"Apple TV","version":"$1"},{"regex":"WebTV/(\\\\d+[\\\\.\\\\d]+)","name":"WebTV","version":"$1"},{"regex":"RemixOS 5.1.1","name":"Remix OS","version":"1"},{"regex":"RemixOS 6.0","name":"Remix OS","version":"2"},{"regex":"RemixOS","name":"Remix OS","version":""},{"regex":"(?:SunOS|Solaris)(?:[/ ](\\\\d+[\\\\.\\\\d]+))?","name":"Solaris","version":"$1"},{"regex":"AIX(?:[/ ]?(\\\\d+[\\\\.\\\\d]+))?","name":"AIX","version":"$1"},{"regex":"HP-UX(?:[/ ]?(\\\\d+[\\\\.\\\\d]+))?","name":"HP-UX","version":"$1"},{"regex":"FreeBSD(?:[/ ]?(\\\\d+[\\\\.\\\\d]+))?","name":"FreeBSD","version":"$1"},{"regex":"NetBSD(?:[/ ]?(\\\\d+[\\\\.\\\\d]+))?","name":"NetBSD","version":"$1"},{"regex":"OpenBSD(?:[/ ]?(\\\\d+[\\\\.\\\\d]+))?","name":"OpenBSD","version":"$1"},{"regex":"DragonFly(?:[/ ]?(\\\\d+[\\\\.\\\\d]+))?","name":"DragonFly","version":"$1"},{"regex":"Syllable(?:[/ ]?(\\\\d+[\\\\.\\\\d]+))?","name":"Syllable","version":"$1"},{"regex":"IRIX(?:;64)?(?:[/ ]?(\\\\d+[\\\\.\\\\d]+))","name":"IRIX","version":"$1"},{"regex":"OSF1(?:[/ ]?v?(\\\\d+[\\\\.\\\\d]+))?","name":"OSF1","version":"$1"},{"regex":"Nintendo Wii","name":"Nintendo","version":"Wii"},{"regex":"PlayStation ?([3|4])","name":"PlayStation","version":"$1"},{"regex":"Xbox|KIN\\\\.(?:One|Two)","name":"Xbox","version":"360"},{"regex":"Nitro|Nintendo ([3]?DS[i]?)","name":"Nintendo Mobile","version":"$1"},{"regex":"PlayStation ((?:Portable|Vita))","name":"PlayStation Portable","version":"$1"},{"regex":"OS/2","name":"OS/2","version":""},{"regex":"Linux(?:OS)?[^a-z]","name":"GNU/Linux","version":""}]')},function(e,r,o){"use strict";var t=o(4),n=o(1);Object.defineProperty(r,"__esModule",{value:!0});var l=o(2),i=o(102);r.default=function e(){n(this,e),this.parse=function(e){for(var r=0,o=Object.entries(i);r<o.length;r++){var n=o[r],a=t(n,2),d=a[0],m=a[1],u=!0,s=!1,g=void 0;try{for(var c,x=m[Symbol.iterator]();!(u=(c=x.next()).done);u=!0){var p=c.value;if(l.userAgentParser(p,e))return d}}catch(f){s=!0,g=f}finally{try{u||null==x.return||x.return()}finally{if(s)throw g}}}return""}}},function(e){e.exports=JSON.parse('{"Dell":["MDDR(JS)?","MDDC(JS)?","MDDS(JS)?"],"Acer":["MAAR(JS)?"],"Sony":["MASE(JS)?","MASP(JS)?","MASA(JS)?"],"Asus":["MAAU","NP0[26789]","ASJB","ASU2(JS)?"],"Samsung":["MASM(JS)?","SMJB"],"Lenovo":["MALC(JS)?","MALE(JS)?","MALN(JS)?","LCJB","LEN2"],"Toshiba":["MATM(JS)?","MATB(JS)?","MATP(JS)?","TNJB","TAJB"],"Medion":["MAMD"],"MSI":["MAMI(JS)?","MAM3"],"Gateway":["MAGW(JS)?"],"Fujitsu":["MAFS(JS)?","FSJB"],"Compaq":["CPDTDF","CPNTDF(JS?)","CMNTDF(JS)?","CMDTDF(JS)?"],"HP":["HPCMHP","HPNTDF(JS)?","HPDTDF(JS)?"],"Hyrican":["MANM(JS)?"]}')},function(e,r,o){"use strict";var t=o(1),n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},l=o(2),i=n(o(29)),a=o(138);e.exports=function e(){t(this,e),this.parse=function(e){var r=!0,o=!1,t=void 0;try{for(var n,d=a[Symbol.iterator]();!(r=(n=d.next()).done);r=!0){var m=n.value;if(l.userAgentParser(m.regex,e))return{name:m.name,category:m.category||"",url:m.url||"",producer:{name:i.default(m,"producer.name",""),url:i.default(m,"producer.url","")}}}}catch(u){o=!0,t=u}finally{try{r||null==d.return||d.return()}finally{if(o)throw t}}return null}}},function(e,r,o){var t=o(105),n=o(137);e.exports=function(e,r){for(var o=0,l=(r=t(r,e)).length;null!=e&&o<l;)e=e[n(r[o++])];return o&&o==l?e:void 0}},function(e,r,o){var t=o(16),n=o(106),l=o(107),i=o(27);e.exports=function(e,r){return t(e)?e:n(e,r)?[e]:l(i(e))}},function(e,r,o){var t=o(16),n=o(17),l=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,i=/^\w*$/;e.exports=function(e,r){if(t(e))return!1;var o=typeof e;return!("number"!=o&&"symbol"!=o&&"boolean"!=o&&null!=e&&!n(e))||(i.test(e)||!l.test(e)||null!=r&&e in Object(r))}},function(e,r,o){var t=o(108),n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,l=/\\(\\)?/g,i=t((function(e){var r=[];return 46===e.charCodeAt(0)&&r.push(""),e.replace(n,(function(e,o,t,n){r.push(t?n.replace(l,"$1"):o||e)})),r}));e.exports=i},function(e,r,o){var t=o(109),n=500;e.exports=function(e){var r=t(e,(function(e){return o.size===n&&o.clear(),e})),o=r.cache;return r}},function(e,r,o){var t=o(110),n="Expected a function";function l(e,r){if("function"!=typeof e||null!=r&&"function"!=typeof r)throw new TypeError(n);var o=function o(){var t=arguments,n=r?r.apply(this,t):t[0],l=o.cache;if(l.has(n))return l.get(n);var i=e.apply(this,t);return o.cache=l.set(n,i)||l,i};return o.cache=new(l.Cache||t),o}l.Cache=t,e.exports=l},function(e,r,o){var t=o(111),n=o(132),l=o(134),i=o(135),a=o(136);function d(e){var r=-1,o=null==e?0:e.length;for(this.clear();++r<o;){var t=e[r];this.set(t[0],t[1])}}d.prototype.clear=t,d.prototype.delete=n,d.prototype.get=l,d.prototype.has=i,d.prototype.set=a,e.exports=d},function(e,r,o){var t=o(112),n=o(124),l=o(131);e.exports=function(){this.size=0,this.__data__={hash:new t,map:new(l||n),string:new t}}},function(e,r,o){var t=o(113),n=o(120),l=o(121),i=o(122),a=o(123);function d(e){var r=-1,o=null==e?0:e.length;for(this.clear();++r<o;){var t=e[r];this.set(t[0],t[1])}}d.prototype.clear=t,d.prototype.delete=n,d.prototype.get=l,d.prototype.has=i,d.prototype.set=a,e.exports=d},function(e,r,o){var t=o(11);e.exports=function(){this.__data__=t?t(null):{},this.size=0}},function(e,r,o){var t=o(115),n=o(116),l=o(31),i=o(118),a=/^\[object .+?Constructor\]$/,d=Function.prototype,m=Object.prototype,u=d.toString,s=m.hasOwnProperty,g=RegExp("^"+u.call(s).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!l(e)||n(e))&&(t(e)?g:a).test(i(e))}},function(e,r,o){var t=o(25),n=o(31),l="[object AsyncFunction]",i="[object Function]",a="[object GeneratorFunction]",d="[object Proxy]";e.exports=function(e){if(!n(e))return!1;var r=t(e);return r==i||r==a||r==l||r==d}},function(e,r,o){var t=o(117),n=function(){var e=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();e.exports=function(e){return!!n&&n in e}},function(e,r,o){var t=o(15)["__core-js_shared__"];e.exports=t},function(e,r){var o=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return o.call(e)}catch(r){}try{return e+""}catch(r){}}return""}},function(e,r){e.exports=function(e,r){return null==e?void 0:e[r]}},function(e,r){e.exports=function(e){var r=this.has(e)&&delete this.__data__[e];return this.size-=r?1:0,r}},function(e,r,o){var t=o(11),n="__lodash_hash_undefined__",l=Object.prototype.hasOwnProperty;e.exports=function(e){var r=this.__data__;if(t){var o=r[e];return o===n?void 0:o}return l.call(r,e)?r[e]:void 0}},function(e,r,o){var t=o(11),n=Object.prototype.hasOwnProperty;e.exports=function(e){var r=this.__data__;return t?void 0!==r[e]:n.call(r,e)}},function(e,r,o){var t=o(11),n="__lodash_hash_undefined__";e.exports=function(e,r){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=t&&void 0===r?n:r,this}},function(e,r,o){var t=o(125),n=o(126),l=o(128),i=o(129),a=o(130);function d(e){var r=-1,o=null==e?0:e.length;for(this.clear();++r<o;){var t=e[r];this.set(t[0],t[1])}}d.prototype.clear=t,d.prototype.delete=n,d.prototype.get=l,d.prototype.has=i,d.prototype.set=a,e.exports=d},function(e,r){e.exports=function(){this.__data__=[],this.size=0}},function(e,r,o){var t=o(12),n=Array.prototype.splice;e.exports=function(e){var r=this.__data__,o=t(r,e);return!(o<0)&&(o==r.length-1?r.pop():n.call(r,o,1),--this.size,!0)}},function(e,r){e.exports=function(e,r){return e===r||e!==e&&r!==r}},function(e,r,o){var t=o(12);e.exports=function(e){var r=this.__data__,o=t(r,e);return o<0?void 0:r[o][1]}},function(e,r,o){var t=o(12);e.exports=function(e){return t(this.__data__,e)>-1}},function(e,r,o){var t=o(12);e.exports=function(e,r){var o=this.__data__,n=t(o,e);return n<0?(++this.size,o.push([e,r])):o[n][1]=r,this}},function(e,r,o){var t=o(30)(o(15),"Map");e.exports=t},function(e,r,o){var t=o(13);e.exports=function(e){var r=t(this,e).delete(e);return this.size-=r?1:0,r}},function(e,r){e.exports=function(e){var r=typeof e;return"string"==r||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==e:null===e}},function(e,r,o){var t=o(13);e.exports=function(e){return t(this,e).get(e)}},function(e,r,o){var t=o(13);e.exports=function(e){return t(this,e).has(e)}},function(e,r,o){var t=o(13);e.exports=function(e,r){var o=t(this,e),n=o.size;return o.set(e,r),this.size+=o.size==n?0:1,this}},function(e,r,o){var t=o(17),n=1/0;e.exports=function(e){if("string"==typeof e||t(e))return e;var r=e+"";return"0"==r&&1/e==-n?"-0":r}},function(e){e.exports=JSON.parse('[{"regex":"360Spider(-Image|-Video)?","name":"360Spider","category":"Search bot","url":"http://www.so.com/help/help_3_2.html","producer":{"name":"Online Media Group, Inc.","url":""}},{"regex":"Aboundex","name":"Aboundexbot","category":"Search bot","url":"http://www.aboundex.com/crawler/","producer":{"name":"Aboundex.com","url":"http://www.aboundex.com"}},{"regex":"AcoonBot","name":"Acoon","category":"Search bot","url":"http://www.acoon.de/robot.asp","producer":{"name":"Acoon GmbH","url":"http://www.acoon.de"}},{"regex":"AddThis\\\\.com","name":"AddThis.com","category":"Social Media Agent","url":"","producer":{"name":"Clearspring Technologies, Inc.","url":"http://www.clearspring.com"}},{"regex":"AhrefsBot","name":"aHrefs Bot","category":"Crawler","url":"http://ahrefs.com/robot","producer":{"name":"Ahrefs Pte Ltd","url":"http://ahrefs.com/robot"}},{"regex":"ia_archiver|alexabot|verifybot","name":"Alexa Crawler","category":"Search bot","url":"https://alexa.zendesk.com/hc/en-us/sections/200100794-Crawlers","producer":{"name":"Alexa Internet","url":"http://www.alexa.com"}},{"regex":"alexa site audit","name":"Alexa Site Audit","category":"Site Monitor","url":"http://www.alexa.com/help/webmasters","producer":{"name":"Alexa Internet","url":"http://www.alexa.com"}},{"regex":"Amazon[ -]Route ?53[ -]Health[ -]Check[ -]Service","name":"Amazon Route53 Health Check","category":"Service Agent","producer":{"name":"Amazon Web Services","url":"https://aws.amazon.com/"}},{"regex":"AmorankSpider","name":"Amorank Spider","category":"Crawler","url":"http://amorank.com/webcrawler.html","producer":{"name":"Amorank","url":"http://www.amorank.com"}},{"regex":"ApacheBench","name":"ApacheBench","category":"Benchmark","url":"https://httpd.apache.org/docs/2.4/programs/ab.html","producer":{"name":"The Apache Software Foundation","url":"http://www.apache.org/foundation/"}},{"regex":"Applebot","name":"Applebot","category":"Crawler","url":"http://www.apple.com/go/applebot","producer":{"name":"Apple Inc","url":"http://www.apple.com"}},{"regex":"Arachni","name":"Arachni","category":"Security Checker","url":"http://www.arachni-scanner.com","producer":{"name":"Sarosys LLC","url":"http://www.sarosys.com/"}},{"regex":"Castro 2, Episode Duration Lookup","name":"Castro 2","category":"Service Agent","url":"http://supertop.co/castro/","producer":{"name":"Supertop","url":"http://supertop.co"}},{"regex":"Curious George","name":"Analytics SEO Crawler","category":"Crawler","url":"http://www.analyticsseo.com/crawler","producer":{"name":"Analytics SEO","url":"http://www.analyticsseo.com"}},{"regex":"archive\\\\.org_bot|special_archiver","name":"archive.org bot","category":"Crawler","url":"http://www.archive.org/details/archive.org_bot","producer":{"name":"The Internet Archive","url":"http://www.archive.org"}},{"regex":"Ask Jeeves/Teoma","name":"Ask Jeeves","category":"Search bot","url":"","producer":{"name":"Ask Jeeves Inc.","url":"http://www.ask.com"}},{"regex":"Backlink-Check\\\\.de","name":"Backlink-Check.de","category":"Crawler","url":"http://www.backlink-check.de/bot.html","producer":{"name":"Mediagreen Medienservice","url":"http://www.backlink-check.de"}},{"regex":"BacklinkCrawler","name":"BacklinkCrawler","category":"Crawler","url":"http://www.backlinktest.com/crawler.html","producer":{"name":"2.0Promotion GbR","url":"http://www.backlinktest.com"}},{"regex":"baiduspider(-image)?|baidu Transcoder|baidu.*spider","name":"Baidu Spider","category":"Search bot","url":"http://www.baidu.com/search/spider.htm","producer":{"name":"Baidu","url":"http://www.baidu.com"}},{"regex":"BazQux","name":"BazQux Reader","url":"https://bazqux.com/fetcher","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"MSNBot|msrbot|bingbot|BingPreview|msnbot-(UDiscovery|NewsBlogs)|adidxbot","name":"BingBot","category":"Search bot","url":"http://search.msn.com/msnbot.htmn","producer":{"name":"Microsoft Corporation","url":"http://www.microsoft.com"}},{"regex":"Blekkobot","name":"Blekkobot","category":"Search bot","url":"http://blekko.com/about/blekkobot","producer":{"name":"Blekko","url":"http://blekko.com"}},{"regex":"BLEXBot(Test)?","name":"BLEXBot Crawler","category":"Crawler","url":"http://webmeup-crawler.com","producer":{"name":"WebMeUp","url":"http://webmeup.com"}},{"regex":"Bloglovin","name":"Bloglovin","url":"http://www.bloglovin.com","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"Blogtrottr","name":"Blogtrottr","url":"","category":"Feed Fetcher","producer":{"name":"Blogtrottr Ltd","url":"https://blogtrottr.com/"}},{"regex":"BountiiBot","name":"Bountii Bot","category":"Search bot","url":"http://bountii.com/contact.php","producer":{"name":"Bountii Inc.","url":"http://bountii.com"}},{"regex":"Browsershots","name":"Browsershots","category":"Service Agent","url":"http://browsershots.org/faq","producer":{"name":"Browsershots.org","url":"http://browsershots.org"}},{"regex":"BUbiNG","name":"BUbiNG","category":"Crawler","url":"http://law.di.unimi.it/BUbiNG.html","producer":{"name":"The Laboratory for Web Algorithmics (LAW)","url":"http://law.di.unimi.it/software.php#buging"}},{"regex":"(?<!HTC)[ _]Butterfly/","name":"Butterfly Robot","category":"Search bot","url":"http://labs.topsy.com/butterfly","producer":{"name":"Topsy Labs","url":"http://labs.topsy.com"}},{"regex":"CareerBot","name":"CareerBot","category":"Crawler","url":"http://www.career-x.de/bot.html","producer":{"name":"career-x GmbH","url":"http://www.career-x.de"}},{"regex":"CCBot","name":"ccBot crawler","category":"Crawler","url":"http://commoncrawl.org/faq/","producer":{"name":"reddit inc.","url":"http://www.reddit.com"}},{"regex":"Cliqzbot","name":"Cliqzbot","category":"Crawler","url":"http://cliqz.com/company/cliqzbot","producer":{"name":"10betterpages GmbH","url":"http://cliqz.com"}},{"regex":"Cloudflare-AMP","name":"CloudFlare AMP Fetcher","category":"Crawler","url":"https://amp.cloudflare.com/doc/fetcher.html","producer":{"name":"CloudFlare","url":"http://www.cloudflare.com"}},{"regex":"CloudFlare-AlwaysOnline","name":"CloudFlare Always Online","category":"Site Monitor","url":"http://www.cloudflare.com/always-online","producer":{"name":"CloudFlare","url":"http://www.cloudflare.com"}},{"regex":"coccoc/","name":"C\u1ed1c C\u1ed1c Bot","url":"http://help.coccoc.com/","category":"Search bot","producer":{"name":"C\u1ed1c C\u1ed1c","url":"http://coccoc.com/"}},{"regex":"collectd","name":"Collectd","url":"https://collectd.org/","category":"Site Monitor","producer":{"name":"Collectd","url":"https://collectd.org/"}},{"regex":"CommaFeed","name":"CommaFeed","url":"http://www.commafeed.com","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"CSS Certificate Spider","name":"CSS Certificate Spider","category":"Crawler","url":"http://www.css-security.com/certificatespider/","producer":{"name":"Certified Security Solutions","url":"https://www.css-security.com/company/about-us/"}},{"regex":"Datadog Agent","name":"Datadog Agent","url":"https://github.com/DataDog/dd-agent","category":"Site Monitor","producer":{"name":"Datadog","url":"https://www.datadoghq.com/"}},{"regex":"Datanyze","name":"Datanyze","url":"","category":"Crawler","producer":{"name":"Datanyze","url":"https://www.datanyze.com"}},{"regex":"Dataprovider","name":"Dataprovider","category":"Crawler","url":"","producer":{"name":"Dataprovider B.V.","url":"https://www.dataprovider.com/"}},{"regex":"Daum(oa)?[ /][0-9]","name":"Daum","category":"Search bot","url":"http://tab.search.daum.net/aboutWebSearch_en.html","producer":{"name":"Daum Communications Corp.","url":"http://www.kakaocorp.com/main"}},{"regex":"Dazoobot","name":"Dazoobot","category":"Search bot","url":"","producer":{"name":"DAZOO.FR","url":"http://dazoo.fr"}},{"regex":"discobot(-news)?","name":"Discobot","category":"Search bot","url":"http://discoveryengine.com/discobot.html","producer":{"name":"Discovery Engine","url":"http://discoveryengine.com"}},{"regex":"Domain Re-Animator Bot|support@domainreanimator.com","name":"Domain Re-Animator Bot","category":"Crawler","url":"","producer":{"name":"Domain Re-Animator, LLC","url":"http://domainreanimator.com"}},{"regex":"DotBot","name":"DotBot","category":"Crawler","url":"http://www.opensiteexplorer.org/dotbot","producer":{"name":"SEOmoz, Inc.","url":"http://moz.com/"}},{"regex":"DuckDuck(?:Go-Favicons-)?Bot","name":"DuckDuckGo Bot","category":"Search bot","url":"https://duckduckgo.com/duckduckbot","producer":{"name":"DuckDuckGo","url":"https://duckduckgo.com/"}},{"regex":"EasouSpider","name":"Easou Spider","category":"Search bot","url":"http://www.easou.com/search/spider.html","producer":{"name":"easou ICP","url":"http://www.easou.com"}},{"regex":"EMail Exractor","name":"EMail Exractor","category":"Crawler","url":"","producer":{"name":"","url":""}},{"regex":"evc-batch","name":"evc-batch","category":"Crawler","url":"","producer":{"name":"eVenture Capital Partners II, LLC","url":"http://www.eventures.vc/"}},{"regex":"Exabot(-Thumbnails|-Images)?|ExaleadCloudview","name":"ExaBot","category":"Crawler","url":"http://www.exabot.com/go/robot","producer":{"name":"Dassault Syst\xe8mes","url":"http://www.3ds.com"}},{"regex":"ExactSeek Crawler","name":"ExactSeek Crawler","category":"Search bot","url":"http://www.exactseek.com","producer":{"name":"Jayde Online, Inc.","url":"http://www.jaydeonlineinc.com"}},{"regex":"Ezooms","name":"Ezooms","category":"Crawler","url":"","producer":{"name":"SEOmoz, Inc.","url":"http://moz.com/"}},{"regex":"facebookexternalhit|facebookplatform","name":"Facebook External Hit","category":"Social Media Agent","url":"https://www.facebook.com/externalhit_uatext.php","producer":{"name":"Facebook","url":"http://www.facebook.com"}},{"regex":"Feedbin","name":"Feedbin","url":"http://feedbin.com/","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"FeedBurner","name":"FeedBurner","url":"http://www.feedburner.com","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"Feed Wrangler","name":"Feed Wrangler","url":"https://feedwrangler.net/","category":"Feed Fetcher","producer":{"name":"David Smith & Developing Perspective, LLC","url":"https://david-smith.org"}},{"regex":"(Meta)?Feedly(Bot|App)?","name":"Feedly","url":"http://www.feedly.com","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"Feedspot","name":"Feedspot","url":"http://www.feedspot.com","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"Fever/[0-9]","name":"Fever","url":"http://feedafever.com/","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"FlipboardProxy|FlipboardRSS","name":"Flipboard","url":"http://flipboard.com/browserproxy","category":"Feed Fetcher","producer":{"name":"Flipboard","url":"http://flipboard.com/"}},{"regex":"Findxbot","name":"Findxbot","category":"Crawler","url":"http://www.findxbot.com"},{"regex":"FreshRSS","name":"FreshRSS","category":"Feed Fetcher","url":"https://freshrss.org/"},{"regex":"Genieo","name":"Genieo Web filter","category":"","url":"http://www.genieo.com/webfilter.html","producer":{"name":"Genieo","url":"http://www.genieo.com"}},{"regex":"GigablastOpenSource","name":"Gigablast","category":"Search bot","url":"https://github.com/gigablast/open-source-search-engine","producer":{"name":"Matt Wells","url":"http://www.gigablast.com/faq.html"}},{"regex":"Gluten Free Crawler","name":"Gluten Free Crawler","category":"Crawler","url":"http://glutenfreepleasure.com/","producer":{"name":"","url":""}},{"regex":"ichiro/mobile goo","name":"Goo","category":"Search bot","url":"http://search.goo.ne.jp/option/use/sub4/sub4-1","producer":{"name":"NTT Resonant","url":"http://goo.ne.jp"}},{"regex":"Google Search Console","name":"Google Search Console","category":"Crawler","url":"https://search.google.com/search-console/about","producer":{"name":"Google Inc.","url":"http://www.google.com"}},{"regex":"Google Page Speed Insights","name":"Google PageSpeed Insights","category":"Site Monitor","url":"http://developers.google.com/speed/pagespeed/insights/","producer":{"name":"Google Inc.","url":"http://www.google.com"}},{"regex":"google_partner_monitoring","name":"Google Partner Monitoring","category":"Site Monitor","url":"","producer":{"name":"Google Inc.","url":"http://www.google.com"}},{"regex":"Google-Structured-Data-Testing-Tool","name":"Google Structured Data Testing Tool","category":"Validator","url":"https://search.google.com/structured-data/testing-tool","producer":{"name":"Google Inc.","url":"http://www.google.com"}},{"regex":"via ggpht\\\\.com GoogleImageProxy","name":"Gmail Image Proxy","category":"Crawler","url":"","producer":{"name":"Google Inc.","url":"http://www.google.com"}},{"regex":"SeznamEmailProxy","name":"Seznam Email Proxy","category":"Crawler","url":"","producer":{"name":"Seznam.cz, a.s.","url":"http://www.seznam.cz/"}},{"regex":"Seznam-Zbozi-robot","name":"Seznam Zbozi.cz","category":"Crawler","url":"","producer":{"name":"Seznam.cz, a.s.","url":"https://www.zbozi.cz/"}},{"regex":"Heurekabot-Feed","name":"Heureka Feed","category":"Crawler","url":"https://sluzby.heureka.cz/napoveda/heurekabot/","producer":{"name":"Heureka.cz, a.s.","url":"https://www.heureka.cz/"}},{"regex":"ShopAlike","name":"ShopAlike","category":"Crawler","url":"","producer":{"name":"Visual Meta","url":"https://www.shopalike.cz/"}},{"regex":"Googlebot(-Mobile|-Image|-Video|-News)?|Feedfetcher-Google|Google-Test|Google-Site-Verification|Google Web Preview|AdsBot-Google(-Mobile)?|Google-Adwords-Instant|APIs-Google|Mediapartners-Google|Google.*/\\\\+/web/snippet|GoogleProducer|Google[ -]Publisher[ -]Plugin|Google-Shopping-Quality|Google-Adwords-DisplayAds|Google-Assess|Google-AdWords-Express|Google-speakr|Google-Read-Aloud","name":"Googlebot","category":"Search bot","url":"http://www.google.com/bot.html","producer":{"name":"Google Inc.","url":"http://www.google.com"}},{"regex":"heritrix","name":"Heritrix","category":"Crawler","url":"https://webarchive.jira.com/wiki/display/Heritrix/Heritrix","producer":{"name":"The Internet Archive","url":"http://www.archive.org"}},{"regex":"HubSpot ","name":"HubSpot","category":"Crawler","producer":{"name":"HubSpot Inc.","url":"https://www.hubspot.com"}},{"regex":"HTTPMon","name":"HTTPMon","category":"Site Monitor","url":"http://www.httpmon.com","producer":{"name":"towards GmbH","url":"http://www.towards.ch/"}},{"regex":"ICC-Crawler","name":"ICC-Crawler","category":"Crawler","url":"http://www.nict.go.jp/en/univ-com/plan/crawl.html","producer":{"name":"","url":""}},{"regex":"iisbot","name":"IIS Site Analysis","category":"Crawler","url":"http://www.iis.net/iisbot.html","producer":{"name":"Microsoft Corporation","url":"http://www.microsoft.com"}},{"regex":"ips-agent","name":"IPS Agent","category":"crawler","producer":{"name":"VeriSign, Inc","url":"http://www.verisign.com/"}},{"regex":"IP-Guide\\\\.com","name":"IP-Guide Crawler","category":"Crawler","url":"","producer":{"name":"","url":"https://ip-guide.com"}},{"regex":"kouio","name":"Kouio","url":"http://kouio.com/","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"larbin","name":"Larbin web crawler","category":"Crawler","url":"http://larbin.sourceforge.net","producer":{"name":"","url":""}},{"regex":"([A-z0-9]*)-Lighthouse","name":"Lighthouse","category":"Site Monitor","url":"https://developers.google.com/web/tools/lighthouse","producer":{"name":"Lighthouse","url":"https://developers.google.com/web/tools/lighthouse"}},{"regex":"linkdexbot(-mobile)?|linkdex\\\\.com","name":"Linkdex Bot","category":"Search bot","url":"http://www.linkdex.com/bots","producer":{"name":"Mojeek Ltd.","url":"http://www.mojeek.com"}},{"regex":"LinkedInBot","name":"LinkedIn Bot","category":"Social Media Agent","url":"http://www.linkedin.com","producer":{"name":"LinkedIn","url":"http://www.linkedin.com"}},{"regex":"ltx71","name":"LTX71","url":"http://ltx71.com/","producer":{"name":"","url":""}},{"regex":"Mail\\\\.RU(_Bot)?","name":"Mail.Ru Bot","category":"Search bot","url":"http://help.mail.ru/webmaster/indexing/robots/types_robots","producer":{"name":"Mail.Ru Group","url":"http://corp.mail.ru"}},{"regex":"magpie-crawler","name":"Magpie-Crawler","category":"Social Media Agent","url":"http://www.brandwatch.com/magpie-crawler/","producer":{"name":"Brandwatch","url":"http://www.brandwatch.com"}},{"regex":"MagpieRSS","name":"MagpieRSS","url":"http://magpierss.sourceforge.net/","category":"Feed Parser","producer":{"name":"","url":""}},{"regex":"masscan","name":"masscan","url":"https://github.com/robertdavidgraham/masscan","category":"Crawler","producer":{"name":"Robert Graham","url":"https://github.com/robertdavidgraham"}},{"regex":"Mastodon/","name":"Mastodon Bot","category":"Social Media Agent"},{"regex":"meanpathbot","name":"Meanpath Bot","category":"Search bot","url":"http://www.meanpath.com/meanpathbot.html","producer":{"name":"Meanpath","url":"http://www.meanpath.com"}},{"regex":"MetaJobBot","name":"MetaJobBot","category":"Crawler","url":"http://www.metajob.at/the/crawler","producer":{"name":"MetaJob","url":"http://www.metajob.at"}},{"regex":"MetaInspector","name":"MetaInspector","category":"Crawler","url":"https://github.com/jaimeiniesta/metainspector"},{"regex":"MixrankBot","name":"Mixrank Bot","category":"Crawler","url":"http://mixrank.com","producer":{"name":"Online Media Group, Inc.","url":""}},{"regex":"MJ12bot","name":"MJ12 Bot","category":"Search bot","url":"http://majestic12.co.uk/bot.php","producer":{"name":"Majestic-12","url":"http://majestic12.co.uk"}},{"regex":"Mnogosearch","name":"Mnogosearch","category":"Search bot","url":"http://www.mnogosearch.org/","producer":{"name":"Lavtech.Com Corp.","url":""}},{"regex":"MojeekBot","name":"MojeekBot","category":"Search bot","url":"http://www.mojeek.com/bot.html","producer":{"name":"Mojeek Ltd.","url":"http://www.mojeek.com"}},{"regex":"munin","name":"Munin","category":"Site Monitor","url":"http://munin-monitoring.org/","producer":{"name":"Munin","url":"http://munin-monitoring.org/"}},{"regex":"NalezenCzBot","name":"NalezenCzBot","category":"Crawler","url":"http://www.nalezen.cz/about-crawler","producer":{"name":"Jaroslav Kubo\u0161","url":""}},{"regex":"check_http/v","name":"Nagios check_http","category":"Site Monitor","url":"https://nagios.org","producer":{"name":"Nagios Plugins Development Team","url":"https://nagios.org"}},{"regex":"Netcraft( Web Server Survey| SSL Server Survey|SurveyAgent)","name":"Netcraft Survey Bot","category":"Search bot","url":"","producer":{"name":"Netcraft","url":"http://www.netcraft.com"}},{"regex":"netEstate NE Crawler","name":"netEstate","category":"Crawler","url":"http://www.website-datenbank.de/Impressum","producer":{"name":"netEstate GmbH","url":"https://www.netestate.de/en/"}},{"regex":"Netvibes","name":"Netvibes","url":"http://www.netvibes.com/","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"NewsBlur .*(Fetcher|Finder)","name":"NewsBlur","url":"http://www.newsblur.com","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"NewsGatorOnline","name":"NewsGator","url":"http://www.newsgator.com","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"nlcrawler","name":"NLCrawler","category":"Crawler","url":"","producer":{"name":"Northern Light","url":"http://northernlight.com"}},{"regex":"Nmap Scripting Engine","name":"Nmap","category":"Security Checker","url":"https://nmap.org/book/nse.html","producer":{"name":"Nmap","url":"https://nmap.org/"}},{"regex":"Octopus [0-9]","name":"Octopus"},{"regex":"omgili(?:bot)?","name":"Omgili bot","category":"Search bot","url":"http://www.omgili.com/Crawler.html","producer":{"name":"Omgili","url":"http://www.omgili.com"}},{"regex":"OpenindexSpider","name":"Openindex Spider","category":"Search bot","url":"http://www.openindex.io/en/webmasters/spider.html","producer":{"name":"Openindex B.V.","url":"http://www.openindex.io"}},{"regex":"spbot","name":"OpenLinkProfiler","category":"Crawler","url":"http://openlinkprofiler.org/bot","producer":{"name":"Axandra GmbH","url":"http://www.axandra.com"}},{"regex":"OpenWebSpider","name":"OpenWebSpider","category":"Crawler","url":"http://www.openwebspider.org","producer":{"name":"OpenWebSpider Lab","url":"http://lab.openwebspider.org"}},{"regex":"OrangeBot|VoilaBot","name":"Orange Bot","category":"Search bot","url":"http://lemoteur.orange.fr","producer":{"name":"Orange","url":"http://www.orange.fr"}},{"regex":"PaperLiBot","name":"PaperLiBot","category":"Search bot","url":"http://support.paper.li/entries/20023257-what-is-paper-li","producer":{"name":"Smallrivers SA","url":"http://www.paper.li"}},{"regex":"phantomas/","name":"Phantomas","category":"Site Monitor","url":"https://github.com/macbre/phantomas"},{"regex":"phpservermon","name":"PHP Server Monitor","category":"Site Monitor","url":"https://github.com/phpservermon/phpservermon","producer":{"name":"PHP Server Monitor","url":"http://www.phpservermonitor.org/"}},{"regex":"PocketParser","name":"PocketParser","category":"Read-it-later Service","url":"https://getpocket.com/pocketparser_ua","producer":{"name":"Pocket","url":"https://getpocket.com/"}},{"regex":"PritTorrent","name":"PritTorrent","category":"Crawler","url":"https://github.com/astro/prittorrent","producer":{"name":"Bitlove","url":"http://bitlove.org/"}},{"regex":"psbot(-page)?","name":"Picsearch bot","category":"Search bot","url":"http://www.picsearch.com/bot.html","producer":{"name":"Picsearch","url":"http://www.picsearch.com"}},{"regex":"Pingdom\\\\.com","name":"Pingdom Bot","category":"Site Monitor","url":"","producer":{"name":"Pingdom AB","url":"https://www.pingdom.com"}},{"regex":"Quora Link Preview","name":"Quora Link Preview","category":"Crawler","url":"","producer":{"name":"Quora","url":"http://www.quora.com"}},{"regex":"RamblerMail","name":"RamblerMail Image Proxy","category":"Crawler","url":"","producer":{"name":"Rambler&Co","url":"https://rambler-co.ru/"}},{"regex":"QuerySeekerSpider","name":"QuerySeekerSpider","category":"Crawler","url":"http://queryseeker.com/bot.html","producer":{"name":"QueryEye Inc.","url":"http://queryeye.com"}},{"regex":"Qwantify","name":"Qwantify","category":"Crawler","url":"https://www.qwant.com/","producer":{"name":"Qwant Corporation","url":"https://www.qwant.com/"}},{"regex":"Rainmeter","name":"Rainmeter","category":"Crawler","url":"https://www.rainmeter.net"},{"regex":"redditbot","name":"Reddit Bot","category":"Social Media Agent","url":"http://www.reddit.com/feedback","producer":{"name":"reddit inc.","url":"http://www.reddit.com"}},{"regex":"Riddler","name":"Riddler","category":"Security search bot","url":"https://riddler.io/about","producer":{"name":"F-Secure","url":"https://www.f-secure.com"}},{"regex":"rogerbot","name":"Rogerbot","category":"Crawler","url":"http://moz.com/help/pro/what-is-rogerbot-","producer":{"name":"SEOmoz, Inc.","url":"http://moz.com/"}},{"regex":"ROI Hunter","name":"ROI Hunter","category":"Crawler","url":"","producer":{"name":"Roihunter a.s.","url":"http://roihunter.com/"}},{"regex":"SafeDNSBot","name":"SafeDNSBot","category":"Crawler","url":"https://www.safedns.com/searchbot","producer":{"name":"SafeDNS, Inc.","url":"https://www.safedns.com/"}},{"regex":"Scrapy","name":"Scrapy","category":"Crawler","url":"http://scrapy.org"},{"regex":"Screaming Frog SEO Spider","name":"Screaming Frog SEO Spider","category":"Crawler","url":"http://www.screamingfrog.co.uk/seo-spider","producer":{"name":"Screaming Frog Ltd","url":"http://www.screamingfrog.co.uk"}},{"regex":"ScreenerBot","name":"ScreenerBot","category":"Crawler","url":"http://www.screenerbot.com","producer":{"name":"","url":""}},{"regex":"SemrushBot","name":"Semrush Bot","category":"Crawler","url":"http://www.semrush.com/bot.html","producer":{"name":"SEMrush","url":"http://www.semrush.com"}},{"regex":"SensikaBot","name":"Sensika Bot","category":"","url":"","producer":{"name":"Sensika","url":"http://sensika.com"}},{"regex":"SEOENG(World)?Bot","name":"SEOENGBot","category":"Crawler","url":"http://www.seoengine.com/seoengbot.htm","producer":{"name":"SEO Engine","url":"http://www.seoengine.com"}},{"regex":"SEOkicks-Robot","name":"SEOkicks-Robot","category":"Crawler","url":"http://www.seokicks.de/robot.html","producer":{"name":"SEOkicks","url":"https://www.seokicks.de/"}},{"regex":"seoscanners\\\\.net","name":"Seoscanners.net","category":"Crawler","url":""},{"regex":"SkypeUriPreview","name":"Skype URI Preview","category":"Service Agent","url":"","producer":{"name":"Skype Communications S.\xe0.r.l.","url":"https://www.skype.com"}},{"regex":"SeznamBot|SklikBot|Seznam screenshot-generator","name":"Seznam Bot","category":"Search bot","url":"http://www.mapy.cz/cz/seznambot.html","producer":{"name":"Seznam.cz, a.s.","url":"http://www.seznam.cz/"}},{"regex":"ShopWiki","name":"ShopWiki","category":"Search tools","url":"http://www.shopwiki.com/wiki/Help:Bot","producer":{"name":"ShopWiki Corp.","url":"http://www.shopwiki.com"}},{"regex":"SilverReader","name":"SilverReader","url":"http://silverreader.com","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"SimplePie","name":"SimplePie","url":"http://www.simplepie.org","category":"Feed Parser","producer":{"name":"","url":""}},{"regex":"SISTRIX Crawler","name":"SISTRIX Crawler","category":"Crawler","url":"http://crawler.sistrix.net","producer":{"name":"SISTRIX GmbH","url":"http://www.sistrix.de"}},{"regex":"SISTRIX Optimizer","name":"SISTRIX Optimizer","category":"Crawler","url":"https://optimizer.sistrix.com","producer":{"name":"SISTRIX GmbH","url":"http://www.sistrix.de"}},{"regex":"SiteSucker","name":"SiteSucker","category":"Crawler","url":"http://ricks-apps.com/osx/sitesucker/"},{"regex":"sixy.ch","name":"Sixy.ch","category":"Site Monitor","url":"http://sixy.ch","producer":{"name":"Manuel Kasper","url":"https://neon1.net/"}},{"regex":"Slackbot|Slack-ImgProxy","name":"Slackbot","category":"Crawler","url":"https://api.slack.com/robots","producer":{"name":"Slack Technologies","url":"http://slack.com"}},{"regex":"(Sogou (web|inst|Pic) spider)|New-Sogou-Spider","name":"Sogou Spider","category":"Search bot","url":"http://www.sogou.com/docs/help/webmasters.htm","producer":{"name":"Sohu, Inc.","url":"http://www.sogou.com"}},{"regex":"Sosospider|Sosoimagespider","name":"Soso Spider","category":"Search bot","url":"http://help.soso.com/webspider.htm","producer":{"name":"Tencent Holdings","url":"http://www.soso.com"}},{"regex":"sqlmap/","name":"sqlmap","category":"Security Checker","url":"http://sqlmap.org/","producer":{"name":"sqlmap","url":"http://sqlmap.org/"}},{"regex":"SSL Labs","name":"SSL Labs","category":"Validator","url":"https://www.ssllabs.com/about/assessment.html","producer":{"name":"SSL Labs","url":"https://www.ssllabs.com/about/assessment.html"}},{"regex":"StatusCake","name":"StatusCake","category":"Site Monitor","url":"https://www.statuscake.com","producer":{"name":"StatusCake","url":"https://www.statuscake.com"}},{"regex":"Superfeedr bot","name":"Superfeedr Bot","category":"Feed Fetcher","url":"","producer":{"name":"Superfeedr","url":"https://superfeedr.com/"}},{"regex":"Sparkler/[0-9]","name":"Sparkler","category":"Crawler","url":"https://github.com/USCDataScience/sparkler"},{"regex":"Spinn3r","name":"Spinn3r","category":"Crawler","url":"http://spinn3r.com/robot","producer":{"name":"Tailrank Inc","url":"http://spinn3r.com"}},{"regex":"Sputnik(Image)?Bot","name":"Sputnik Bot","category":"","url":"","producer":{"name":"","url":""}},{"regex":"SurveyBot","name":"Survey Bot","category":"Search bot","url":"http://www.domaintools.com/webmasters/surveybot.php","producer":{"name":"Domain Tools","url":"http://www.domaintools.com"}},{"regex":"TarmotGezgin","name":"Tarmot Gezgin","url":"http://www.tarmot.com/gezgin/","category":"Search bot"},{"regex":"TelegramBot","name":"TelegramBot","url":"https://telegram.org/blog/bot-revolution"},{"regex":"TLSProbe","name":"TLSProbe","url":"https://scan.trustnet.venafi.com/","category":"Security search bot","producer":{"name":"Venafi TrustNet","url":"https://www.venafi.com"}},{"regex":"TinEye-bot","name":"TinEye Crawler","category":"Search bot","url":"http://www.tineye.com/crawler.html","producer":{"name":"Id\xe9e Inc.","url":"http://ideeinc.com"}},{"regex":"Tiny Tiny RSS","name":"Tiny Tiny RSS","url":"http://tt-rss.org","category":"Feed Fetcher","producer":{"name":"","url":""}},{"regex":"trendictionbot","name":"Trendiction Bot","category":"Crawler","url":"http://www.trendiction.de/bot","producer":{"name":"Talkwalker Inc.","url":"http://www.talkwalker.com"}},{"regex":"TurnitinBot","name":"TurnitinBot","category":"Crawler","url":"http://www.turnitin.com/robot/crawlerinfo.html","producer":{"name":"iParadigms, LLC.","url":"http://www.turnitin.com"}},{"regex":"TweetedTimes Bot","name":"TweetedTimes Bot","category":"Crawler","url":"http://tweetedtimes.com","producer":{"name":"TweetedTimes","url":"http://tweetedtimes.com/"}},{"regex":"TweetmemeBot","name":"Tweetmeme Bot","category":"Crawler","url":"http://tweetmeme.com/","producer":{"name":"Mediasift","url":""}},{"regex":"Twitterbot","name":"Twitterbot","category":"Social Media Agent","url":"https://dev.twitter.com/docs/cards/getting-started","producer":{"name":"Twitter","url":"http://www.twitter.com"}},{"regex":"UniversalFeedParser","name":"UniversalFeedParser","category":"Feed Fetcher","url":"https://github.com/kurtmckee/feedparser","producer":{"name":"Kurt McKee","url":"https://github.com/kurtmckee"}},{"regex":"via secureurl\\\\.fwdcdn\\\\.com","name":"UkrNet Mail Proxy","category":"Crawler","url":"","producer":{"name":"UkrNet Ltd","url":"https://www.ukr.net/"}},{"regex":"Uptimebot","name":"Uptimebot","category":"Site Monitor","url":"https://uptime.com/uptimebot","producer":{"name":"Uptime","url":"https://uptime.com"}},{"regex":"UptimeRobot","name":"Uptime Robot","category":"Site Monitor","url":"","producer":{"name":"Uptime Robot","url":"http://uptimerobot.com"}},{"regex":"URLAppendBot","name":"URLAppendBot","category":"Crawler","url":"http://www.profound.net/urlappendbot.html","producer":{"name":"Profound Networks","url":"http://www.profound.net"}},{"regex":"Vagabondo","name":"Vagabondo","category":"Crawler","url":"","producer":{"name":"WiseGuys","url":"http://www.wise-guys.nl/"}},{"regex":"vkShare; ","name":"VK Share Button","category":"Crawler","url":"http://vk.com/dev/Share","producer":{"name":"VK","url":"http://vk.com/"}},{"regex":"VSMCrawler","name":"Visual Site Mapper Crawler","category":"Crawler","url":"http://www.visualsitemapper.com/crawler","producer":{"name":"Alentum Software Ltd.","url":"http://www.alentum.com"}},{"regex":"Jigsaw","name":"W3C CSS Validator","category":"Validator","url":"http://jigsaw.w3.org/css-validator","producer":{"name":"W3C","url":"http://www.w3.org"}},{"regex":"W3C_I18n-Checker","name":"W3C I18N Checker","category":"Validator","url":"http://validator.w3.org/i18n-checker","producer":{"name":"W3C","url":"http://www.w3.org"}},{"regex":"W3C-checklink","name":"W3C Link Checker","category":"Validator","url":"http://validator.w3.org/checklink","producer":{"name":"W3C","url":"http://www.w3.org"}},{"regex":"W3C_Validator|Validator.nu","name":"W3C Markup Validation Service","category":"Validator","url":"http://validator.w3.org/services","producer":{"name":"W3C","url":"http://www.w3.org"}},{"regex":"W3C-mobileOK","name":"W3C MobileOK Checker","category":"Validator","url":"http://validator.w3.org/mobile","producer":{"name":"W3C","url":"http://www.w3.org"}},{"regex":"W3C_Unicorn","name":"W3C Unified Validator","category":"Validator","url":"http://validator.w3.org/unicorn","producer":{"name":"W3C","url":"http://www.w3.org"}},{"regex":"Wappalyzer","name":"Wappalyzer","url":"https://github.com/AliasIO/Wappalyzer","producer":{"name":"AliasIO","url":"https://github.com/AliasIO"}},{"regex":"PTST/","name":"WebPageTest","category":"Site Monitor","url":"https://www.webpagetest.org"},{"regex":"WeSEE(:Search)?","name":"WeSEE:Search","category":"Search bot","url":"http://www.wesee.com/bot","producer":{"name":"WeSEE Ltd","url":"http://www.wesee.com"}},{"regex":"WebbCrawler","name":"WebbCrawler","category":"Crawler","url":"http://badcheese.com/crawler.html","producer":{"name":"Steve Webb","url":"http://badcheese.com"}},{"regex":"websitepulse[+ ]checker","name":"WebSitePulse","category":"Site Monitor","url":"http://badcheese.com/crawler.html","producer":{"name":"WebSitePulse","url":"http://www.websitepulse.com/"}},{"regex":"WordPress","name":"WordPress","category":"Service Agent","url":"https://wordpress.org/","producer":{"name":"Wordpress.org","url":"https://wordpress.org/"}},{"regex":"Wotbox","name":"Wotbox","category":"Search bot","url":"http://www.wotbox.com/bot/","producer":{"name":"Wotbox","url":"http://www.wotbox.com"}},{"regex":"yacybot","name":"YaCy","category":"Search bot","url":"http://yacy.net/bot.html","producer":{"name":"YaCy","url":"http://yacy.net"}},{"regex":"Yahoo! Slurp|Yahoo!-AdCrawler","name":"Yahoo! Slurp","category":"Search bot","url":"http://help.yahoo.com/ysearch/slurp","producer":{"name":"Yahoo! Inc.","url":"http://www.yahoo.com"}},{"regex":"Yahoo Link Preview|Yahoo:LinkExpander:Slingstone","name":"Yahoo! Link Preview","category":"Crawler","url":"https://help.yahoo.com/kb/mail/yahoo-link-preview-SLN23615.html","producer":{"name":"Yahoo! Inc.","url":"http://www.yahoo.com"}},{"regex":"YahooCacheSystem","name":"Yahoo! Cache System","category":"Crawler","url":"","producer":{"name":"Yahoo! Inc.","url":"http://www.yahoo.com"}},{"regex":"Yandex(SpravBot|ScreenshotBot|MobileBot|AccessibilityBot|ForDomain|Vertis|Market|Catalog|Calendar|Sitelinks|AdNet|Pagechecker|Webmaster|Media|Video|Bot|Images|Antivirus|Direct|Blogs|Favicons|ImageResizer|Verticals|News(links)?|Metrika|\\\\.Gazeta Bot)|YaDirectFetcher","name":"Yandex Bot","category":"Search bot","url":"http://www.yandex.com/bots","producer":{"name":"Yandex LLC","url":"http://company.yandex.com"}},{"regex":"Yeti","name":"Yeti/Naverbot","category":"Search bot","url":"http://help.naver.com/robots/","producer":{"name":"Naver","url":"http://www.naver.com"}},{"regex":"YoudaoBot","name":"Youdao Bot","category":"Search bot","url":"http://www.youdao.com/help/webmaster/spider","producer":{"name":"NetEase, Inc.","url":"http://corp.163.com"}},{"regex":"YOURLS v[0-9]","name":"Yourls","category":"Crawler","url":"http://yourls.org"},{"regex":"YRSpider|YYSpider","name":"Yunyun Bot","category":"Search bot","url":"http://www.yunyun.com/SiteInfo.php?r=about","producer":{"name":"YunYun","url":"http://www.yunyun.com"}},{"regex":"zgrab","name":"zgrab","category":"Security Checker","url":"https://github.com/zmap/zgrab"},{"regex":"Zookabot","name":"Zookabot","category":"Crawler","url":"http://zookabot.com","producer":{"name":"Hwacha ApS","url":"http://hwacha.dk"}},{"regex":"ZumBot","name":"ZumBot","category":"Search bot","url":"http://help.zum.com/inquiry","producer":{"name":"ZUM internet","url":"http://www.zuminternet.com/"}},{"regex":"YottaaMonitor","name":"Yottaa Site Monitor","category":"Site Monitor","url":"http://www.yottaa.com/products/site-monitor","producer":{"name":"Yottaa","url":"http://www.yottaa.com/"}},{"regex":"Yahoo Ad monitoring.*yahoo-ad-monitoring-SLN24857.*","name":"Yahoo Gemini","category":"Crawler","url":"https://help.yahoo.com/kb/yahoo-ad-monitoring-SLN24857.html","producer":{"name":"Yahoo! Inc.","url":"http://www.yahoo.com"}},{"regex":".*Java.*outbrain","name":"Outbrain","category":"Crawler","url":"","producer":{"name":"Outbrain","url":"http://www.outbrain.com/"}},{"regex":"HubPages.*crawlingpolicy","name":"HubPages","category":"Crawler","url":"http://hubpages.com/help/crawlingpolicy","producer":{"name":"HubPages","url":"http://hubpages.com/"}},{"regex":"Pinterest/\\\\d\\\\.\\\\d.*www\\\\.pinterest\\\\.com.*","name":"Pinterest","url":"","category":"Crawler","producer":{"name":"Pinterest","url":"http://www.pinterest.com/"}},{"regex":"Site24x7","name":"Site24x7 Website Monitoring","category":"Site Monitor","url":"https://www.site24x7.com/site24x7-faq.html","producer":{"name":"Site24x7","url":"https://www.site24x7.com"}},{"regex":"s~snapchat-proxy","name":"Snapchat Proxy","category":"Crawler","url":"https://www.snapchat.com","producer":{"name":"Snapchat Inc.","url":"https://www.snapchat.com"}},{"regex":"Let\'s Encrypt validation server","name":"Let\'s Encrypt Validation","category":"Service Agent","url":"https://letsencrypt.org/how-it-works/","producer":{"name":"Let\'s Encrypt","url":"https://letsencrypt.org"}},{"regex":"GrapeshotCrawler","name":"Grapeshot","category":"Crawler","url":"https://www.grapeshot.com/crawler","producer":{"name":"Grapeshot","url":"https://www.grapeshot.com"}},{"regex":"www\\\\.monitor\\\\.us","name":"Monitor.Us","category":"Site Monitor","url":"http://www.monitor.us","producer":{"name":"Monitor.Us","url":"http://www.monitor.us"}},{"regex":"Catchpoint( bot)?","name":"Catchpoint","category":"Site Monitor","url":"","producer":{"name":"Catchpoint Systems","url":"http://www.catchpoint.com/"}},{"regex":"bitlybot","name":"BitlyBot","category":"Crawler","url":"https://bitly.com","producer":{"name":"Bitly, Inc.","url":"https://bitly.com"}},{"regex":"Zao/","name":"Zao","category":"Crawler"},{"regex":"lycos","name":"Lycos"},{"regex":"Slurp","name":"Inktomi Slurp"},{"regex":"Speedy Spider","name":"Speedy"},{"regex":"ScoutJet","name":"ScoutJet"},{"regex":"nrsbot|netresearch","name":"NetResearchServer"},{"regex":"scooter","name":"Scooter"},{"regex":"gigabot","name":"Gigabot"},{"regex":"charlotte","name":"Charlotte"},{"regex":"Pompos","name":"Pompos"},{"regex":"ichiro","name":"ichiro"},{"regex":"PagePeeker","name":"PagePeeker"},{"regex":"WebThumbnail","name":"WebThumbnail"},{"regex":"Willow Internet Crawler","name":"Willow Internet Crawler"},{"regex":"EmailWolf","name":"EmailWolf"},{"regex":"NetLyzer FastProbe","name":"NetLyzer FastProbe"},{"regex":"AdMantX.*admantx\\\\.com","name":"ADMantX"},{"regex":"Server Density Service Monitoring.*","name":"Server Density"},{"regex":"RSSRadio \\\\(Push Notification Scanner;support@dorada\\\\.co\\\\.uk\\\\)","name":"RSSRadio Bot"},{"regex":"(A6-Indexer|nuhk|TsolCrawler|Yammybot|Openbot|Gulper Web Bot|grub-client|Download Demon|SearchExpress|Microsoft URL Control|borg|altavista|dataminr.com|tweetedtimes.com|TrendsmapResolver|teoma|blitzbot|oegp|furlbot|http%20client|polybot|htdig|mogimogi|larbin|scrubby|searchsight|seekbot|semanticdiscovery|snappy|vortex(?! Build)|zeal|fast-webcrawler|converacrawler|dataparksearch|findlinks|BrowserMob|HttpMonitor|ThumbShotsBot|URL2PNG|ZooShot|GomezA|Google SketchUp|Read%20Later|Minimo|RackspaceBot)","name":"Generic Bot"},{"regex":"^sentry","name":"Sentry Bot","producer":{"name":"Sentry","url":"https://sentry.io"}},{"regex":"^Spotify","name":"Spotify","producer":{"name":"Spotify","url":"https://www.spotify.com"}},{"regex":"Nutch","name":"Nutch-based Bot","category":"Crawler","url":"https://nutch.apache.org","producer":{"name":"The Apache Software Foundation","url":"http://www.apache.org/foundation/"}},{"regex":"[a-z0-9\\\\-_]*((?<!cu|power[ _]|m[ _])bot(?![ _]TAB|[ _]?5[0-9])|crawler|crawl|checker|archiver|transcoder|spider)([^a-z]|$)","name":"Generic Bot"}]')},function(e,r,o){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.versionCompare=function(e,r,o){var t,n,l=0,i={dev:-6,alpha:-5,a:-5,beta:-4,b:-4,RC:-3,rc:-3,"#":-2,p:1,pl:1},a=function(e){return(e=(e=(""+e).replace(/[_\-+]/g,".")).replace(/([^.\d]+)/g,".$1.").replace(/\.{2,}/g,".")).length?e.split("."):[-8]},d=function(e){return e?isNaN(e)?i[e]||-7:parseInt(e,10):0};for(e=a(e),r=a(r),n=Math.max(e.length,r.length),t=0;t<n;t++)if(e[t]!==r[t]){if(e[t]=d(e[t]),r[t]=d(r[t]),e[t]<r[t]){l=-1;break}if(e[t]>r[t]){l=1;break}}if(!o)return l;switch(o){case">":case"gt":return l>0;case">=":case"ge":return l>=0;case"<=":case"le":return l<=0;case"===":case"=":case"eq":return 0===l;case"<>":case"!==":case"ne":return 0!==l;case"":case"<":case"lt":return l<0;default:return null}}},function(e,r){e.exports=function(){return"function"===typeof Promise&&Promise.prototype&&Promise.prototype.then}},function(e,r,o){var t=o(9),n=o(7),l=o(19),i=o(142),a=o(143),d=o(144),m=o(145),u=o(146),s=o(32),g=o(147),c=o(154),x=o(155),p=o(8),f=o(156),S=o(18);function h(e,r,o){var t,n,l=e.size,i=x.getEncodedBits(r,o);for(t=0;t<15;t++)n=1===(i>>t&1),t<6?e.set(t,8,n,!0):t<8?e.set(t+1,8,n,!0):e.set(l-15+t,8,n,!0),t<8?e.set(8,l-t-1,n,!0):t<9?e.set(8,15-t-1+1,n,!0):e.set(8,15-t-1,n,!0);e.set(l-8,8,1,!0)}function v(e,r,o){var l=new i;o.forEach((function(r){l.put(r.mode.bit,4),l.put(r.getLength(),p.getCharCountIndicator(r.mode,e)),r.write(l)}));var a=8*(n.getSymbolTotalCodewords(e)-s.getTotalCodewordsCount(e,r));for(l.getLengthInBits()+4<=a&&l.put(0,4);l.getLengthInBits()%8!==0;)l.putBit(0);for(var d=(a-l.getLengthInBits())/8,m=0;m<d;m++)l.put(m%2?17:236,8);return function(e,r,o){for(var l=n.getSymbolTotalCodewords(r),i=s.getTotalCodewordsCount(r,o),a=l-i,d=s.getBlocksCount(r,o),m=d-l%d,u=Math.floor(l/d),c=Math.floor(a/d),x=c+1,p=u-c,f=new g(p),S=0,h=new Array(d),v=new Array(d),A=0,b=t.from(e.buffer),T=0;T<d;T++){var M=T<m?c:x;h[T]=b.slice(S,S+M),v[T]=f.encode(h[T]),S+=M,A=Math.max(A,M)}var P,y,L=t.alloc(l),E=0;for(P=0;P<A;P++)for(y=0;y<d;y++)P<h[y].length&&(L[E++]=h[y][P]);for(P=0;P<p;P++)for(y=0;y<d;y++)L[E++]=v[y][P];return L}(l,e,r)}function A(e,r,o,t){var l;if(S(e))l=f.fromArray(e);else{if("string"!==typeof e)throw new Error("Invalid data");var i=r;if(!i){var s=f.rawSplit(e);i=c.getBestVersionForData(s,o)}l=f.fromString(e,i||40)}var g=c.getBestVersionForData(l,o);if(!g)throw new Error("The amount of data is too big to be stored in a QR Code");if(r){if(r<g)throw new Error("\nThe chosen QR Code version cannot contain this amount of data.\nMinimum version required to store current data is: "+g+".\n")}else r=g;var x=v(r,o,l),p=n.getSymbolSize(r),A=new a(p);return function(e,r){for(var o=e.size,t=m.getPositions(r),n=0;n<t.length;n++)for(var l=t[n][0],i=t[n][1],a=-1;a<=7;a++)if(!(l+a<=-1||o<=l+a))for(var d=-1;d<=7;d++)i+d<=-1||o<=i+d||(a>=0&&a<=6&&(0===d||6===d)||d>=0&&d<=6&&(0===a||6===a)||a>=2&&a<=4&&d>=2&&d<=4?e.set(l+a,i+d,!0,!0):e.set(l+a,i+d,!1,!0))}(A,r),function(e){for(var r=e.size,o=8;o<r-8;o++){var t=o%2===0;e.set(o,6,t,!0),e.set(6,o,t,!0)}}(A),function(e,r){for(var o=d.getPositions(r),t=0;t<o.length;t++)for(var n=o[t][0],l=o[t][1],i=-2;i<=2;i++)for(var a=-2;a<=2;a++)-2===i||2===i||-2===a||2===a||0===i&&0===a?e.set(n+i,l+a,!0,!0):e.set(n+i,l+a,!1,!0)}(A,r),h(A,o,0),r>=7&&function(e,r){for(var o,t,n,l=e.size,i=c.getEncodedBits(r),a=0;a<18;a++)o=Math.floor(a/3),t=a%3+l-8-3,n=1===(i>>a&1),e.set(o,t,n,!0),e.set(t,o,n,!0)}(A,r),function(e,r){for(var o=e.size,t=-1,n=o-1,l=7,i=0,a=o-1;a>0;a-=2)for(6===a&&a--;;){for(var d=0;d<2;d++)if(!e.isReserved(n,a-d)){var m=!1;i<r.length&&(m=1===(r[i]>>>l&1)),e.set(n,a-d,m),-1===--l&&(i++,l=7)}if((n+=t)<0||o<=n){n-=t,t=-t;break}}}(A,x),isNaN(t)&&(t=u.getBestMask(A,h.bind(null,A,o))),u.applyMask(t,A),h(A,o,t),{modules:A,version:r,errorCorrectionLevel:o,maskPattern:t,segments:l}}r.create=function(e,r){if("undefined"===typeof e||""===e)throw new Error("No input text");var o,t,i=l.M;return"undefined"!==typeof r&&(i=l.from(r.errorCorrectionLevel,l.M),o=c.from(r.version),t=u.from(r.maskPattern),r.toSJISFunc&&n.setToSJISFunction(r.toSJISFunc)),A(e,o,i,t)}},function(e,r){function o(){this.buffer=[],this.length=0}o.prototype={get:function(e){var r=Math.floor(e/8);return 1===(this.buffer[r]>>>7-e%8&1)},put:function(e,r){for(var o=0;o<r;o++)this.putBit(1===(e>>>r-o-1&1))},getLengthInBits:function(){return this.length},putBit:function(e){var r=Math.floor(this.length/8);this.buffer.length<=r&&this.buffer.push(0),e&&(this.buffer[r]|=128>>>this.length%8),this.length++}},e.exports=o},function(e,r,o){var t=o(9);function n(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=t.alloc(e*e),this.reservedBit=t.alloc(e*e)}n.prototype.set=function(e,r,o,t){var n=e*this.size+r;this.data[n]=o,t&&(this.reservedBit[n]=!0)},n.prototype.get=function(e,r){return this.data[e*this.size+r]},n.prototype.xor=function(e,r,o){this.data[e*this.size+r]^=o},n.prototype.isReserved=function(e,r){return this.reservedBit[e*this.size+r]},e.exports=n},function(e,r,o){var t=o(7).getSymbolSize;r.getRowColCoords=function(e){if(1===e)return[];for(var r=Math.floor(e/7)+2,o=t(e),n=145===o?26:2*Math.ceil((o-13)/(2*r-2)),l=[o-7],i=1;i<r-1;i++)l[i]=l[i-1]-n;return l.push(6),l.reverse()},r.getPositions=function(e){for(var o=[],t=r.getRowColCoords(e),n=t.length,l=0;l<n;l++)for(var i=0;i<n;i++)0===l&&0===i||0===l&&i===n-1||l===n-1&&0===i||o.push([t[l],t[i]]);return o}},function(e,r,o){var t=o(7).getSymbolSize;r.getPositions=function(e){var r=t(e);return[[0,0],[r-7,0],[0,r-7]]}},function(e,r){r.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var o=3,t=3,n=40,l=10;function i(e,o,t){switch(e){case r.Patterns.PATTERN000:return(o+t)%2===0;case r.Patterns.PATTERN001:return o%2===0;case r.Patterns.PATTERN010:return t%3===0;case r.Patterns.PATTERN011:return(o+t)%3===0;case r.Patterns.PATTERN100:return(Math.floor(o/2)+Math.floor(t/3))%2===0;case r.Patterns.PATTERN101:return o*t%2+o*t%3===0;case r.Patterns.PATTERN110:return(o*t%2+o*t%3)%2===0;case r.Patterns.PATTERN111:return(o*t%3+(o+t)%2)%2===0;default:throw new Error("bad maskPattern:"+e)}}r.isValid=function(e){return null!=e&&""!==e&&!isNaN(e)&&e>=0&&e<=7},r.from=function(e){return r.isValid(e)?parseInt(e,10):void 0},r.getPenaltyN1=function(e){for(var r=e.size,t=0,n=0,l=0,i=null,a=null,d=0;d<r;d++){n=l=0,i=a=null;for(var m=0;m<r;m++){var u=e.get(d,m);u===i?n++:(n>=5&&(t+=o+(n-5)),i=u,n=1),(u=e.get(m,d))===a?l++:(l>=5&&(t+=o+(l-5)),a=u,l=1)}n>=5&&(t+=o+(n-5)),l>=5&&(t+=o+(l-5))}return t},r.getPenaltyN2=function(e){for(var r=e.size,o=0,n=0;n<r-1;n++)for(var l=0;l<r-1;l++){var i=e.get(n,l)+e.get(n,l+1)+e.get(n+1,l)+e.get(n+1,l+1);4!==i&&0!==i||o++}return o*t},r.getPenaltyN3=function(e){for(var r=e.size,o=0,t=0,l=0,i=0;i<r;i++){t=l=0;for(var a=0;a<r;a++)t=t<<1&2047|e.get(i,a),a>=10&&(1488===t||93===t)&&o++,l=l<<1&2047|e.get(a,i),a>=10&&(1488===l||93===l)&&o++}return o*n},r.getPenaltyN4=function(e){for(var r=0,o=e.data.length,t=0;t<o;t++)r+=e.data[t];return Math.abs(Math.ceil(100*r/o/5)-10)*l},r.applyMask=function(e,r){for(var o=r.size,t=0;t<o;t++)for(var n=0;n<o;n++)r.isReserved(n,t)||r.xor(n,t,i(e,n,t))},r.getBestMask=function(e,o){for(var t=Object.keys(r.Patterns).length,n=0,l=1/0,i=0;i<t;i++){o(i),r.applyMask(i,e);var a=r.getPenaltyN1(e)+r.getPenaltyN2(e)+r.getPenaltyN3(e)+r.getPenaltyN4(e);r.applyMask(i,e),a<l&&(l=a,n=i)}return n}},function(e,r,o){var t=o(9),n=o(148),l=o(150).Buffer;function i(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}i.prototype.initialize=function(e){this.degree=e,this.genPoly=n.generateECPolynomial(this.degree)},i.prototype.encode=function(e){if(!this.genPoly)throw new Error("Encoder not initialized");var r=t.alloc(this.degree),o=l.concat([e,r],e.length+this.degree),i=n.mod(o,this.genPoly),a=this.degree-i.length;if(a>0){var d=t.alloc(this.degree);return i.copy(d,a),d}return i},e.exports=i},function(e,r,o){var t=o(9),n=o(149);r.mul=function(e,r){for(var o=t.alloc(e.length+r.length-1),l=0;l<e.length;l++)for(var i=0;i<r.length;i++)o[l+i]^=n.mul(e[l],r[i]);return o},r.mod=function(e,r){for(var o=t.from(e);o.length-r.length>=0;){for(var l=o[0],i=0;i<r.length;i++)o[i]^=n.mul(r[i],l);for(var a=0;a<o.length&&0===o[a];)a++;o=o.slice(a)}return o},r.generateECPolynomial=function(e){for(var o=t.from([1]),l=0;l<e;l++)o=r.mul(o,[1,n.exp(l)]);return o}},function(e,r,o){var t=o(9),n=t.alloc(512),l=t.alloc(256);!function(){for(var e=1,r=0;r<255;r++)n[r]=e,l[e]=r,256&(e<<=1)&&(e^=285);for(r=255;r<512;r++)n[r]=n[r-255]}(),r.log=function(e){if(e<1)throw new Error("log("+e+")");return l[e]},r.exp=function(e){return n[e]},r.mul=function(e,r){return 0===e||0===r?0:n[l[e]+l[r]]}},function(e,r,o){"use strict";(function(e){var t=o(151),n=o(152),l=o(153);function i(){return d.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,r){if(i()<r)throw new RangeError("Invalid typed array length");return d.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(r)).__proto__=d.prototype:(null===e&&(e=new d(r)),e.length=r),e}function d(e,r,o){if(!d.TYPED_ARRAY_SUPPORT&&!(this instanceof d))return new d(e,r,o);if("number"===typeof e){if("string"===typeof r)throw new Error("If encoding is specified then the first argument must be a string");return s(this,e)}return m(this,e,r,o)}function m(e,r,o,t){if("number"===typeof r)throw new TypeError('"value" argument must not be a number');return"undefined"!==typeof ArrayBuffer&&r instanceof ArrayBuffer?function(e,r,o,t){if(r.byteLength,o<0||r.byteLength<o)throw new RangeError("'offset' is out of bounds");if(r.byteLength<o+(t||0))throw new RangeError("'length' is out of bounds");r=void 0===o&&void 0===t?new Uint8Array(r):void 0===t?new Uint8Array(r,o):new Uint8Array(r,o,t);d.TYPED_ARRAY_SUPPORT?(e=r).__proto__=d.prototype:e=g(e,r);return e}(e,r,o,t):"string"===typeof r?function(e,r,o){"string"===typeof o&&""!==o||(o="utf8");if(!d.isEncoding(o))throw new TypeError('"encoding" must be a valid string encoding');var t=0|x(r,o),n=(e=a(e,t)).write(r,o);n!==t&&(e=e.slice(0,n));return e}(e,r,o):function(e,r){if(d.isBuffer(r)){var o=0|c(r.length);return 0===(e=a(e,o)).length?e:(r.copy(e,0,0,o),e)}if(r){if("undefined"!==typeof ArrayBuffer&&r.buffer instanceof ArrayBuffer||"length"in r)return"number"!==typeof r.length||(t=r.length)!==t?a(e,0):g(e,r);if("Buffer"===r.type&&l(r.data))return g(e,r.data)}var t;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,r)}function u(e){if("number"!==typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function s(e,r){if(u(r),e=a(e,r<0?0:0|c(r)),!d.TYPED_ARRAY_SUPPORT)for(var o=0;o<r;++o)e[o]=0;return e}function g(e,r){var o=r.length<0?0:0|c(r.length);e=a(e,o);for(var t=0;t<o;t+=1)e[t]=255&r[t];return e}function c(e){if(e>=i())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i().toString(16)+" bytes");return 0|e}function x(e,r){if(d.isBuffer(e))return e.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!==typeof e&&(e=""+e);var o=e.length;if(0===o)return 0;for(var t=!1;;)switch(r){case"ascii":case"latin1":case"binary":return o;case"utf8":case"utf-8":case void 0:return k(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*o;case"hex":return o>>>1;case"base64":return U(e).length;default:if(t)return k(e).length;r=(""+r).toLowerCase(),t=!0}}function p(e,r,o){var t=!1;if((void 0===r||r<0)&&(r=0),r>this.length)return"";if((void 0===o||o>this.length)&&(o=this.length),o<=0)return"";if((o>>>=0)<=(r>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return B(this,r,o);case"utf8":case"utf-8":return L(this,r,o);case"ascii":return _(this,r,o);case"latin1":case"binary":return w(this,r,o);case"base64":return y(this,r,o);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,r,o);default:if(t)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),t=!0}}function f(e,r,o){var t=e[r];e[r]=e[o],e[o]=t}function S(e,r,o,t,n){if(0===e.length)return-1;if("string"===typeof o?(t=o,o=0):o>2147483647?o=2147483647:o<-2147483648&&(o=-2147483648),o=+o,isNaN(o)&&(o=n?0:e.length-1),o<0&&(o=e.length+o),o>=e.length){if(n)return-1;o=e.length-1}else if(o<0){if(!n)return-1;o=0}if("string"===typeof r&&(r=d.from(r,t)),d.isBuffer(r))return 0===r.length?-1:h(e,r,o,t,n);if("number"===typeof r)return r&=255,d.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(e,r,o):Uint8Array.prototype.lastIndexOf.call(e,r,o):h(e,[r],o,t,n);throw new TypeError("val must be string, number or Buffer")}function h(e,r,o,t,n){var l,i=1,a=e.length,d=r.length;if(void 0!==t&&("ucs2"===(t=String(t).toLowerCase())||"ucs-2"===t||"utf16le"===t||"utf-16le"===t)){if(e.length<2||r.length<2)return-1;i=2,a/=2,d/=2,o/=2}function m(e,r){return 1===i?e[r]:e.readUInt16BE(r*i)}if(n){var u=-1;for(l=o;l<a;l++)if(m(e,l)===m(r,-1===u?0:l-u)){if(-1===u&&(u=l),l-u+1===d)return u*i}else-1!==u&&(l-=l-u),u=-1}else for(o+d>a&&(o=a-d),l=o;l>=0;l--){for(var s=!0,g=0;g<d;g++)if(m(e,l+g)!==m(r,g)){s=!1;break}if(s)return l}return-1}function v(e,r,o,t){o=Number(o)||0;var n=e.length-o;t?(t=Number(t))>n&&(t=n):t=n;var l=r.length;if(l%2!==0)throw new TypeError("Invalid hex string");t>l/2&&(t=l/2);for(var i=0;i<t;++i){var a=parseInt(r.substr(2*i,2),16);if(isNaN(a))return i;e[o+i]=a}return i}function A(e,r,o,t){return V(k(r,e.length-o),e,o,t)}function b(e,r,o,t){return V(function(e){for(var r=[],o=0;o<e.length;++o)r.push(255&e.charCodeAt(o));return r}(r),e,o,t)}function T(e,r,o,t){return b(e,r,o,t)}function M(e,r,o,t){return V(U(r),e,o,t)}function P(e,r,o,t){return V(function(e,r){for(var o,t,n,l=[],i=0;i<e.length&&!((r-=2)<0);++i)o=e.charCodeAt(i),t=o>>8,n=o%256,l.push(n),l.push(t);return l}(r,e.length-o),e,o,t)}function y(e,r,o){return 0===r&&o===e.length?t.fromByteArray(e):t.fromByteArray(e.slice(r,o))}function L(e,r,o){o=Math.min(e.length,o);for(var t=[],n=r;n<o;){var l,i,a,d,m=e[n],u=null,s=m>239?4:m>223?3:m>191?2:1;if(n+s<=o)switch(s){case 1:m<128&&(u=m);break;case 2:128===(192&(l=e[n+1]))&&(d=(31&m)<<6|63&l)>127&&(u=d);break;case 3:l=e[n+1],i=e[n+2],128===(192&l)&&128===(192&i)&&(d=(15&m)<<12|(63&l)<<6|63&i)>2047&&(d<55296||d>57343)&&(u=d);break;case 4:l=e[n+1],i=e[n+2],a=e[n+3],128===(192&l)&&128===(192&i)&&128===(192&a)&&(d=(15&m)<<18|(63&l)<<12|(63&i)<<6|63&a)>65535&&d<1114112&&(u=d)}null===u?(u=65533,s=1):u>65535&&(u-=65536,t.push(u>>>10&1023|55296),u=56320|1023&u),t.push(u),n+=s}return function(e){var r=e.length;if(r<=E)return String.fromCharCode.apply(String,e);var o="",t=0;for(;t<r;)o+=String.fromCharCode.apply(String,e.slice(t,t+=E));return o}(t)}r.Buffer=d,r.SlowBuffer=function(e){+e!=e&&(e=0);return d.alloc(+e)},r.INSPECT_MAX_BYTES=50,d.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"===typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(r){return!1}}(),r.kMaxLength=i(),d.poolSize=8192,d._augment=function(e){return e.__proto__=d.prototype,e},d.from=function(e,r,o){return m(null,e,r,o)},d.TYPED_ARRAY_SUPPORT&&(d.prototype.__proto__=Uint8Array.prototype,d.__proto__=Uint8Array,"undefined"!==typeof Symbol&&Symbol.species&&d[Symbol.species]===d&&Object.defineProperty(d,Symbol.species,{value:null,configurable:!0})),d.alloc=function(e,r,o){return function(e,r,o,t){return u(r),r<=0?a(e,r):void 0!==o?"string"===typeof t?a(e,r).fill(o,t):a(e,r).fill(o):a(e,r)}(null,e,r,o)},d.allocUnsafe=function(e){return s(null,e)},d.allocUnsafeSlow=function(e){return s(null,e)},d.isBuffer=function(e){return!(null==e||!e._isBuffer)},d.compare=function(e,r){if(!d.isBuffer(e)||!d.isBuffer(r))throw new TypeError("Arguments must be Buffers");if(e===r)return 0;for(var o=e.length,t=r.length,n=0,l=Math.min(o,t);n<l;++n)if(e[n]!==r[n]){o=e[n],t=r[n];break}return o<t?-1:t<o?1:0},d.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},d.concat=function(e,r){if(!l(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return d.alloc(0);var o;if(void 0===r)for(r=0,o=0;o<e.length;++o)r+=e[o].length;var t=d.allocUnsafe(r),n=0;for(o=0;o<e.length;++o){var i=e[o];if(!d.isBuffer(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(t,n),n+=i.length}return t},d.byteLength=x,d.prototype._isBuffer=!0,d.prototype.swap16=function(){var e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var r=0;r<e;r+=2)f(this,r,r+1);return this},d.prototype.swap32=function(){var e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var r=0;r<e;r+=4)f(this,r,r+3),f(this,r+1,r+2);return this},d.prototype.swap64=function(){var e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var r=0;r<e;r+=8)f(this,r,r+7),f(this,r+1,r+6),f(this,r+2,r+5),f(this,r+3,r+4);return this},d.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?L(this,0,e):p.apply(this,arguments)},d.prototype.equals=function(e){if(!d.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===d.compare(this,e)},d.prototype.inspect=function(){var e="",o=r.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,o).match(/.{2}/g).join(" "),this.length>o&&(e+=" ... ")),"<Buffer "+e+">"},d.prototype.compare=function(e,r,o,t,n){if(!d.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===r&&(r=0),void 0===o&&(o=e?e.length:0),void 0===t&&(t=0),void 0===n&&(n=this.length),r<0||o>e.length||t<0||n>this.length)throw new RangeError("out of range index");if(t>=n&&r>=o)return 0;if(t>=n)return-1;if(r>=o)return 1;if(this===e)return 0;for(var l=(n>>>=0)-(t>>>=0),i=(o>>>=0)-(r>>>=0),a=Math.min(l,i),m=this.slice(t,n),u=e.slice(r,o),s=0;s<a;++s)if(m[s]!==u[s]){l=m[s],i=u[s];break}return l<i?-1:i<l?1:0},d.prototype.includes=function(e,r,o){return-1!==this.indexOf(e,r,o)},d.prototype.indexOf=function(e,r,o){return S(this,e,r,o,!0)},d.prototype.lastIndexOf=function(e,r,o){return S(this,e,r,o,!1)},d.prototype.write=function(e,r,o,t){if(void 0===r)t="utf8",o=this.length,r=0;else if(void 0===o&&"string"===typeof r)t=r,o=this.length,r=0;else{if(!isFinite(r))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");r|=0,isFinite(o)?(o|=0,void 0===t&&(t="utf8")):(t=o,o=void 0)}var n=this.length-r;if((void 0===o||o>n)&&(o=n),e.length>0&&(o<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");t||(t="utf8");for(var l=!1;;)switch(t){case"hex":return v(this,e,r,o);case"utf8":case"utf-8":return A(this,e,r,o);case"ascii":return b(this,e,r,o);case"latin1":case"binary":return T(this,e,r,o);case"base64":return M(this,e,r,o);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,e,r,o);default:if(l)throw new TypeError("Unknown encoding: "+t);t=(""+t).toLowerCase(),l=!0}},d.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var E=4096;function _(e,r,o){var t="";o=Math.min(e.length,o);for(var n=r;n<o;++n)t+=String.fromCharCode(127&e[n]);return t}function w(e,r,o){var t="";o=Math.min(e.length,o);for(var n=r;n<o;++n)t+=String.fromCharCode(e[n]);return t}function B(e,r,o){var t=e.length;(!r||r<0)&&(r=0),(!o||o<0||o>t)&&(o=t);for(var n="",l=r;l<o;++l)n+=R(e[l]);return n}function C(e,r,o){for(var t=e.slice(r,o),n="",l=0;l<t.length;l+=2)n+=String.fromCharCode(t[l]+256*t[l+1]);return n}function G(e,r,o){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+r>o)throw new RangeError("Trying to access beyond buffer length")}function N(e,r,o,t,n,l){if(!d.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(r>n||r<l)throw new RangeError('"value" argument is out of bounds');if(o+t>e.length)throw new RangeError("Index out of range")}function O(e,r,o,t){r<0&&(r=65535+r+1);for(var n=0,l=Math.min(e.length-o,2);n<l;++n)e[o+n]=(r&255<<8*(t?n:1-n))>>>8*(t?n:1-n)}function I(e,r,o,t){r<0&&(r=4294967295+r+1);for(var n=0,l=Math.min(e.length-o,4);n<l;++n)e[o+n]=r>>>8*(t?n:3-n)&255}function X(e,r,o,t,n,l){if(o+t>e.length)throw new RangeError("Index out of range");if(o<0)throw new RangeError("Index out of range")}function D(e,r,o,t,l){return l||X(e,0,o,4),n.write(e,r,o,t,23,4),o+4}function F(e,r,o,t,l){return l||X(e,0,o,8),n.write(e,r,o,t,52,8),o+8}d.prototype.slice=function(e,r){var o,t=this.length;if((e=~~e)<0?(e+=t)<0&&(e=0):e>t&&(e=t),(r=void 0===r?t:~~r)<0?(r+=t)<0&&(r=0):r>t&&(r=t),r<e&&(r=e),d.TYPED_ARRAY_SUPPORT)(o=this.subarray(e,r)).__proto__=d.prototype;else{var n=r-e;o=new d(n,void 0);for(var l=0;l<n;++l)o[l]=this[l+e]}return o},d.prototype.readUIntLE=function(e,r,o){e|=0,r|=0,o||G(e,r,this.length);for(var t=this[e],n=1,l=0;++l<r&&(n*=256);)t+=this[e+l]*n;return t},d.prototype.readUIntBE=function(e,r,o){e|=0,r|=0,o||G(e,r,this.length);for(var t=this[e+--r],n=1;r>0&&(n*=256);)t+=this[e+--r]*n;return t},d.prototype.readUInt8=function(e,r){return r||G(e,1,this.length),this[e]},d.prototype.readUInt16LE=function(e,r){return r||G(e,2,this.length),this[e]|this[e+1]<<8},d.prototype.readUInt16BE=function(e,r){return r||G(e,2,this.length),this[e]<<8|this[e+1]},d.prototype.readUInt32LE=function(e,r){return r||G(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},d.prototype.readUInt32BE=function(e,r){return r||G(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},d.prototype.readIntLE=function(e,r,o){e|=0,r|=0,o||G(e,r,this.length);for(var t=this[e],n=1,l=0;++l<r&&(n*=256);)t+=this[e+l]*n;return t>=(n*=128)&&(t-=Math.pow(2,8*r)),t},d.prototype.readIntBE=function(e,r,o){e|=0,r|=0,o||G(e,r,this.length);for(var t=r,n=1,l=this[e+--t];t>0&&(n*=256);)l+=this[e+--t]*n;return l>=(n*=128)&&(l-=Math.pow(2,8*r)),l},d.prototype.readInt8=function(e,r){return r||G(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},d.prototype.readInt16LE=function(e,r){r||G(e,2,this.length);var o=this[e]|this[e+1]<<8;return 32768&o?4294901760|o:o},d.prototype.readInt16BE=function(e,r){r||G(e,2,this.length);var o=this[e+1]|this[e]<<8;return 32768&o?4294901760|o:o},d.prototype.readInt32LE=function(e,r){return r||G(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},d.prototype.readInt32BE=function(e,r){return r||G(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},d.prototype.readFloatLE=function(e,r){return r||G(e,4,this.length),n.read(this,e,!0,23,4)},d.prototype.readFloatBE=function(e,r){return r||G(e,4,this.length),n.read(this,e,!1,23,4)},d.prototype.readDoubleLE=function(e,r){return r||G(e,8,this.length),n.read(this,e,!0,52,8)},d.prototype.readDoubleBE=function(e,r){return r||G(e,8,this.length),n.read(this,e,!1,52,8)},d.prototype.writeUIntLE=function(e,r,o,t){(e=+e,r|=0,o|=0,t)||N(this,e,r,o,Math.pow(2,8*o)-1,0);var n=1,l=0;for(this[r]=255&e;++l<o&&(n*=256);)this[r+l]=e/n&255;return r+o},d.prototype.writeUIntBE=function(e,r,o,t){(e=+e,r|=0,o|=0,t)||N(this,e,r,o,Math.pow(2,8*o)-1,0);var n=o-1,l=1;for(this[r+n]=255&e;--n>=0&&(l*=256);)this[r+n]=e/l&255;return r+o},d.prototype.writeUInt8=function(e,r,o){return e=+e,r|=0,o||N(this,e,r,1,255,0),d.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[r]=255&e,r+1},d.prototype.writeUInt16LE=function(e,r,o){return e=+e,r|=0,o||N(this,e,r,2,65535,0),d.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):O(this,e,r,!0),r+2},d.prototype.writeUInt16BE=function(e,r,o){return e=+e,r|=0,o||N(this,e,r,2,65535,0),d.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):O(this,e,r,!1),r+2},d.prototype.writeUInt32LE=function(e,r,o){return e=+e,r|=0,o||N(this,e,r,4,4294967295,0),d.TYPED_ARRAY_SUPPORT?(this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=255&e):I(this,e,r,!0),r+4},d.prototype.writeUInt32BE=function(e,r,o){return e=+e,r|=0,o||N(this,e,r,4,4294967295,0),d.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):I(this,e,r,!1),r+4},d.prototype.writeIntLE=function(e,r,o,t){if(e=+e,r|=0,!t){var n=Math.pow(2,8*o-1);N(this,e,r,o,n-1,-n)}var l=0,i=1,a=0;for(this[r]=255&e;++l<o&&(i*=256);)e<0&&0===a&&0!==this[r+l-1]&&(a=1),this[r+l]=(e/i>>0)-a&255;return r+o},d.prototype.writeIntBE=function(e,r,o,t){if(e=+e,r|=0,!t){var n=Math.pow(2,8*o-1);N(this,e,r,o,n-1,-n)}var l=o-1,i=1,a=0;for(this[r+l]=255&e;--l>=0&&(i*=256);)e<0&&0===a&&0!==this[r+l+1]&&(a=1),this[r+l]=(e/i>>0)-a&255;return r+o},d.prototype.writeInt8=function(e,r,o){return e=+e,r|=0,o||N(this,e,r,1,127,-128),d.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[r]=255&e,r+1},d.prototype.writeInt16LE=function(e,r,o){return e=+e,r|=0,o||N(this,e,r,2,32767,-32768),d.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):O(this,e,r,!0),r+2},d.prototype.writeInt16BE=function(e,r,o){return e=+e,r|=0,o||N(this,e,r,2,32767,-32768),d.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):O(this,e,r,!1),r+2},d.prototype.writeInt32LE=function(e,r,o){return e=+e,r|=0,o||N(this,e,r,4,2147483647,-2147483648),d.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24):I(this,e,r,!0),r+4},d.prototype.writeInt32BE=function(e,r,o){return e=+e,r|=0,o||N(this,e,r,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),d.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):I(this,e,r,!1),r+4},d.prototype.writeFloatLE=function(e,r,o){return D(this,e,r,!0,o)},d.prototype.writeFloatBE=function(e,r,o){return D(this,e,r,!1,o)},d.prototype.writeDoubleLE=function(e,r,o){return F(this,e,r,!0,o)},d.prototype.writeDoubleBE=function(e,r,o){return F(this,e,r,!1,o)},d.prototype.copy=function(e,r,o,t){if(o||(o=0),t||0===t||(t=this.length),r>=e.length&&(r=e.length),r||(r=0),t>0&&t<o&&(t=o),t===o)return 0;if(0===e.length||0===this.length)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(o<0||o>=this.length)throw new RangeError("sourceStart out of bounds");if(t<0)throw new RangeError("sourceEnd out of bounds");t>this.length&&(t=this.length),e.length-r<t-o&&(t=e.length-r+o);var n,l=t-o;if(this===e&&o<r&&r<t)for(n=l-1;n>=0;--n)e[n+r]=this[n+o];else if(l<1e3||!d.TYPED_ARRAY_SUPPORT)for(n=0;n<l;++n)e[n+r]=this[n+o];else Uint8Array.prototype.set.call(e,this.subarray(o,o+l),r);return l},d.prototype.fill=function(e,r,o,t){if("string"===typeof e){if("string"===typeof r?(t=r,r=0,o=this.length):"string"===typeof o&&(t=o,o=this.length),1===e.length){var n=e.charCodeAt(0);n<256&&(e=n)}if(void 0!==t&&"string"!==typeof t)throw new TypeError("encoding must be a string");if("string"===typeof t&&!d.isEncoding(t))throw new TypeError("Unknown encoding: "+t)}else"number"===typeof e&&(e&=255);if(r<0||this.length<r||this.length<o)throw new RangeError("Out of range index");if(o<=r)return this;var l;if(r>>>=0,o=void 0===o?this.length:o>>>0,e||(e=0),"number"===typeof e)for(l=r;l<o;++l)this[l]=e;else{var i=d.isBuffer(e)?e:k(new d(e,t).toString()),a=i.length;for(l=0;l<o-r;++l)this[l+r]=i[l%a]}return this};var $=/[^+\/0-9A-Za-z-_]/g;function R(e){return e<16?"0"+e.toString(16):e.toString(16)}function k(e,r){var o;r=r||1/0;for(var t=e.length,n=null,l=[],i=0;i<t;++i){if((o=e.charCodeAt(i))>55295&&o<57344){if(!n){if(o>56319){(r-=3)>-1&&l.push(239,191,189);continue}if(i+1===t){(r-=3)>-1&&l.push(239,191,189);continue}n=o;continue}if(o<56320){(r-=3)>-1&&l.push(239,191,189),n=o;continue}o=65536+(n-55296<<10|o-56320)}else n&&(r-=3)>-1&&l.push(239,191,189);if(n=null,o<128){if((r-=1)<0)break;l.push(o)}else if(o<2048){if((r-=2)<0)break;l.push(o>>6|192,63&o|128)}else if(o<65536){if((r-=3)<0)break;l.push(o>>12|224,o>>6&63|128,63&o|128)}else{if(!(o<1114112))throw new Error("Invalid code point");if((r-=4)<0)break;l.push(o>>18|240,o>>12&63|128,o>>6&63|128,63&o|128)}}return l}function U(e){return t.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace($,"")).length<2)return"";for(;e.length%4!==0;)e+="=";return e}(e))}function V(e,r,o,t){for(var n=0;n<t&&!(n+o>=r.length||n>=e.length);++n)r[n+o]=e[n];return n}}).call(this,o(24))},function(e,r,o){"use strict";r.byteLength=function(e){var r=m(e),o=r[0],t=r[1];return 3*(o+t)/4-t},r.toByteArray=function(e){var r,o,t=m(e),i=t[0],a=t[1],d=new l(function(e,r,o){return 3*(r+o)/4-o}(0,i,a)),u=0,s=a>0?i-4:i;for(o=0;o<s;o+=4)r=n[e.charCodeAt(o)]<<18|n[e.charCodeAt(o+1)]<<12|n[e.charCodeAt(o+2)]<<6|n[e.charCodeAt(o+3)],d[u++]=r>>16&255,d[u++]=r>>8&255,d[u++]=255&r;2===a&&(r=n[e.charCodeAt(o)]<<2|n[e.charCodeAt(o+1)]>>4,d[u++]=255&r);1===a&&(r=n[e.charCodeAt(o)]<<10|n[e.charCodeAt(o+1)]<<4|n[e.charCodeAt(o+2)]>>2,d[u++]=r>>8&255,d[u++]=255&r);return d},r.fromByteArray=function(e){for(var r,o=e.length,n=o%3,l=[],i=0,a=o-n;i<a;i+=16383)l.push(u(e,i,i+16383>a?a:i+16383));1===n?(r=e[o-1],l.push(t[r>>2]+t[r<<4&63]+"==")):2===n&&(r=(e[o-2]<<8)+e[o-1],l.push(t[r>>10]+t[r>>4&63]+t[r<<2&63]+"="));return l.join("")};for(var t=[],n=[],l="undefined"!==typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,d=i.length;a<d;++a)t[a]=i[a],n[i.charCodeAt(a)]=a;function m(e){var r=e.length;if(r%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var o=e.indexOf("=");return-1===o&&(o=r),[o,o===r?0:4-o%4]}function u(e,r,o){for(var n,l,i=[],a=r;a<o;a+=3)n=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(255&e[a+2]),i.push(t[(l=n)>>18&63]+t[l>>12&63]+t[l>>6&63]+t[63&l]);return i.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},function(e,r){r.read=function(e,r,o,t,n){var l,i,a=8*n-t-1,d=(1<<a)-1,m=d>>1,u=-7,s=o?n-1:0,g=o?-1:1,c=e[r+s];for(s+=g,l=c&(1<<-u)-1,c>>=-u,u+=a;u>0;l=256*l+e[r+s],s+=g,u-=8);for(i=l&(1<<-u)-1,l>>=-u,u+=t;u>0;i=256*i+e[r+s],s+=g,u-=8);if(0===l)l=1-m;else{if(l===d)return i?NaN:1/0*(c?-1:1);i+=Math.pow(2,t),l-=m}return(c?-1:1)*i*Math.pow(2,l-t)},r.write=function(e,r,o,t,n,l){var i,a,d,m=8*l-n-1,u=(1<<m)-1,s=u>>1,g=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,c=t?0:l-1,x=t?1:-1,p=r<0||0===r&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(a=isNaN(r)?1:0,i=u):(i=Math.floor(Math.log(r)/Math.LN2),r*(d=Math.pow(2,-i))<1&&(i--,d*=2),(r+=i+s>=1?g/d:g*Math.pow(2,1-s))*d>=2&&(i++,d/=2),i+s>=u?(a=0,i=u):i+s>=1?(a=(r*d-1)*Math.pow(2,n),i+=s):(a=r*Math.pow(2,s-1)*Math.pow(2,n),i=0));n>=8;e[o+c]=255&a,c+=x,a/=256,n-=8);for(i=i<<n|a,m+=n;m>0;e[o+c]=255&i,c+=x,i/=256,m-=8);e[o+c-x]|=128*p}},function(e,r){var o={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==o.call(e)}},function(e,r,o){var t=o(7),n=o(32),l=o(19),i=o(8),a=o(33),d=o(18),m=t.getBCHDigit(7973);function u(e,r){return i.getCharCountIndicator(e,r)+4}function s(e,r){var o=0;return e.forEach((function(e){var t=u(e.mode,r);o+=t+e.getBitsLength()})),o}r.from=function(e,r){return a.isValid(e)?parseInt(e,10):r},r.getCapacity=function(e,r,o){if(!a.isValid(e))throw new Error("Invalid QR Code version");"undefined"===typeof o&&(o=i.BYTE);var l=8*(t.getSymbolTotalCodewords(e)-n.getTotalCodewordsCount(e,r));if(o===i.MIXED)return l;var d=l-u(o,e);switch(o){case i.NUMERIC:return Math.floor(d/10*3);case i.ALPHANUMERIC:return Math.floor(d/11*2);case i.KANJI:return Math.floor(d/13);case i.BYTE:default:return Math.floor(d/8)}},r.getBestVersionForData=function(e,o){var t,n=l.from(o,l.M);if(d(e)){if(e.length>1)return function(e,o){for(var t=1;t<=40;t++){if(s(e,t)<=r.getCapacity(t,o,i.MIXED))return t}}(e,n);if(0===e.length)return 1;t=e[0]}else t=e;return function(e,o,t){for(var n=1;n<=40;n++)if(o<=r.getCapacity(n,t,e))return n}(t.mode,t.getLength(),n)},r.getEncodedBits=function(e){if(!a.isValid(e)||e<7)throw new Error("Invalid QR Code version");for(var r=e<<12;t.getBCHDigit(r)-m>=0;)r^=7973<<t.getBCHDigit(r)-m;return e<<12|r}},function(e,r,o){var t=o(7),n=t.getBCHDigit(1335);r.getEncodedBits=function(e,r){for(var o=e.bit<<3|r,l=o<<10;t.getBCHDigit(l)-n>=0;)l^=1335<<t.getBCHDigit(l)-n;return 21522^(o<<10|l)}},function(e,r,o){var t=o(8),n=o(157),l=o(158),i=o(159),a=o(160),d=o(34),m=o(7),u=o(161);function s(e){return unescape(encodeURIComponent(e)).length}function g(e,r,o){for(var t,n=[];null!==(t=e.exec(o));)n.push({data:t[0],index:t.index,mode:r,length:t[0].length});return n}function c(e){var r,o,n=g(d.NUMERIC,t.NUMERIC,e),l=g(d.ALPHANUMERIC,t.ALPHANUMERIC,e);return m.isKanjiModeEnabled()?(r=g(d.BYTE,t.BYTE,e),o=g(d.KANJI,t.KANJI,e)):(r=g(d.BYTE_KANJI,t.BYTE,e),o=[]),n.concat(l,r,o).sort((function(e,r){return e.index-r.index})).map((function(e){return{data:e.data,mode:e.mode,length:e.length}}))}function x(e,r){switch(r){case t.NUMERIC:return n.getBitsLength(e);case t.ALPHANUMERIC:return l.getBitsLength(e);case t.KANJI:return a.getBitsLength(e);case t.BYTE:return i.getBitsLength(e)}}function p(e,r){var o,d=t.getBestModeForData(e);if((o=t.from(r,d))!==t.BYTE&&o.bit<d.bit)throw new Error('"'+e+'" cannot be encoded with mode '+t.toString(o)+".\n Suggested mode is: "+t.toString(d));switch(o!==t.KANJI||m.isKanjiModeEnabled()||(o=t.BYTE),o){case t.NUMERIC:return new n(e);case t.ALPHANUMERIC:return new l(e);case t.KANJI:return new a(e);case t.BYTE:return new i(e)}}r.fromArray=function(e){return e.reduce((function(e,r){return"string"===typeof r?e.push(p(r,null)):r.data&&e.push(p(r.data,r.mode)),e}),[])},r.fromString=function(e,o){for(var n=function(e,r){for(var o={},n={start:{}},l=["start"],i=0;i<e.length;i++){for(var a=e[i],d=[],m=0;m<a.length;m++){var u=a[m],s=""+i+m;d.push(s),o[s]={node:u,lastCount:0},n[s]={};for(var g=0;g<l.length;g++){var c=l[g];o[c]&&o[c].node.mode===u.mode?(n[c][s]=x(o[c].lastCount+u.length,u.mode)-x(o[c].lastCount,u.mode),o[c].lastCount+=u.length):(o[c]&&(o[c].lastCount=u.length),n[c][s]=x(u.length,u.mode)+4+t.getCharCountIndicator(u.mode,r))}}l=d}for(g=0;g<l.length;g++)n[l[g]].end=0;return{map:n,table:o}}(function(e){for(var r=[],o=0;o<e.length;o++){var n=e[o];switch(n.mode){case t.NUMERIC:r.push([n,{data:n.data,mode:t.ALPHANUMERIC,length:n.length},{data:n.data,mode:t.BYTE,length:n.length}]);break;case t.ALPHANUMERIC:r.push([n,{data:n.data,mode:t.BYTE,length:n.length}]);break;case t.KANJI:r.push([n,{data:n.data,mode:t.BYTE,length:s(n.data)}]);break;case t.BYTE:r.push([{data:n.data,mode:t.BYTE,length:s(n.data)}])}}return r}(c(e,m.isKanjiModeEnabled())),o),l=u.find_path(n.map,"start","end"),i=[],a=1;a<l.length-1;a++)i.push(n.table[l[a]].node);return r.fromArray(function(e){return e.reduce((function(e,r){var o=e.length-1>=0?e[e.length-1]:null;return o&&o.mode===r.mode?(e[e.length-1].data+=r.data,e):(e.push(r),e)}),[])}(i))},r.rawSplit=function(e){return r.fromArray(c(e,m.isKanjiModeEnabled()))}},function(e,r,o){var t=o(8);function n(e){this.mode=t.NUMERIC,this.data=e.toString()}n.getBitsLength=function(e){return 10*Math.floor(e/3)+(e%3?e%3*3+1:0)},n.prototype.getLength=function(){return this.data.length},n.prototype.getBitsLength=function(){return n.getBitsLength(this.data.length)},n.prototype.write=function(e){var r,o,t;for(r=0;r+3<=this.data.length;r+=3)o=this.data.substr(r,3),t=parseInt(o,10),e.put(t,10);var n=this.data.length-r;n>0&&(o=this.data.substr(r),t=parseInt(o,10),e.put(t,3*n+1))},e.exports=n},function(e,r,o){var t=o(8),n=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function l(e){this.mode=t.ALPHANUMERIC,this.data=e}l.getBitsLength=function(e){return 11*Math.floor(e/2)+e%2*6},l.prototype.getLength=function(){return this.data.length},l.prototype.getBitsLength=function(){return l.getBitsLength(this.data.length)},l.prototype.write=function(e){var r;for(r=0;r+2<=this.data.length;r+=2){var o=45*n.indexOf(this.data[r]);o+=n.indexOf(this.data[r+1]),e.put(o,11)}this.data.length%2&&e.put(n.indexOf(this.data[r]),6)},e.exports=l},function(e,r,o){var t=o(9),n=o(8);function l(e){this.mode=n.BYTE,this.data=t.from(e)}l.getBitsLength=function(e){return 8*e},l.prototype.getLength=function(){return this.data.length},l.prototype.getBitsLength=function(){return l.getBitsLength(this.data.length)},l.prototype.write=function(e){for(var r=0,o=this.data.length;r<o;r++)e.put(this.data[r],8)},e.exports=l},function(e,r,o){var t=o(8),n=o(7);function l(e){this.mode=t.KANJI,this.data=e}l.getBitsLength=function(e){return 13*e},l.prototype.getLength=function(){return this.data.length},l.prototype.getBitsLength=function(){return l.getBitsLength(this.data.length)},l.prototype.write=function(e){var r;for(r=0;r<this.data.length;r++){var o=n.toSJIS(this.data[r]);if(o>=33088&&o<=40956)o-=33088;else{if(!(o>=57408&&o<=60351))throw new Error("Invalid SJIS character: "+this.data[r]+"\nMake sure your charset is UTF-8");o-=49472}o=192*(o>>>8&255)+(255&o),e.put(o,13)}},e.exports=l},function(e,r,o){"use strict";var t={single_source_shortest_paths:function(e,r,o){var n={},l={};l[r]=0;var i,a,d,m,u,s,g,c=t.PriorityQueue.make();for(c.push(r,0);!c.empty();)for(d in a=(i=c.pop()).value,m=i.cost,u=e[a]||{})u.hasOwnProperty(d)&&(s=m+u[d],g=l[d],("undefined"===typeof l[d]||g>s)&&(l[d]=s,c.push(d,s),n[d]=a));if("undefined"!==typeof o&&"undefined"===typeof l[o]){var x=["Could not find a path from ",r," to ",o,"."].join("");throw new Error(x)}return n},extract_shortest_path_from_predecessor_list:function(e,r){for(var o=[],t=r;t;)o.push(t),e[t],t=e[t];return o.reverse(),o},find_path:function(e,r,o){var n=t.single_source_shortest_paths(e,r,o);return t.extract_shortest_path_from_predecessor_list(n,o)},PriorityQueue:{make:function(e){var r,o=t.PriorityQueue,n={};for(r in e=e||{},o)o.hasOwnProperty(r)&&(n[r]=o[r]);return n.queue=[],n.sorter=e.sorter||o.default_sorter,n},default_sorter:function(e,r){return e.cost-r.cost},push:function(e,r){var o={value:e,cost:r};this.queue.push(o),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};e.exports=t},function(e,r,o){var t=o(35);r.render=function(e,r,o){var n=o,l=r;"undefined"!==typeof n||r&&r.getContext||(n=r,r=void 0),r||(l=function(){try{return document.createElement("canvas")}catch(e){throw new Error("You need to specify a canvas element")}}()),n=t.getOptions(n);var i=t.getImageWidth(e.modules.size,n),a=l.getContext("2d"),d=a.createImageData(i,i);return t.qrToImageData(d.data,e,n),function(e,r,o){e.clearRect(0,0,r.width,r.height),r.style||(r.style={}),r.height=o,r.width=o,r.style.height=o+"px",r.style.width=o+"px"}(a,l,i),a.putImageData(d,0,0),l},r.renderToDataURL=function(e,o,t){var n=t;"undefined"!==typeof n||o&&o.getContext||(n=o,o=void 0),n||(n={});var l=r.render(e,o,n),i=n.type||"image/png",a=n.rendererOpts||{};return l.toDataURL(i,a.quality)}},function(e,r,o){var t=o(35);function n(e,r){var o=e.a/255,t=r+'="'+e.hex+'"';return o<1?t+" "+r+'-opacity="'+o.toFixed(2).slice(1)+'"':t}function l(e,r,o){var t=e+r;return"undefined"!==typeof o&&(t+=" "+o),t}r.render=function(e,r,o){var i=t.getOptions(r),a=e.modules.size,d=e.modules.data,m=a+2*i.margin,u=i.color.light.a?"<path "+n(i.color.light,"fill")+' d="M0 0h'+m+"v"+m+'H0z"/>':"",s="<path "+n(i.color.dark,"stroke")+' d="'+function(e,r,o){for(var t="",n=0,i=!1,a=0,d=0;d<e.length;d++){var m=Math.floor(d%r),u=Math.floor(d/r);m||i||(i=!0),e[d]?(a++,d>0&&m>0&&e[d-1]||(t+=i?l("M",m+o,.5+u+o):l("m",n,0),n=0,i=!1),m+1<r&&e[d+1]||(t+=l("h",a),a=0)):n++}return t}(d,a,i.margin)+'"/>',g='viewBox="0 0 '+m+" "+m+'"',c='<svg xmlns="http://www.w3.org/2000/svg" '+(i.width?'width="'+i.width+'" height="'+i.width+'" ':"")+g+' shape-rendering="crispEdges">'+u+s+"</svg>\n";return"function"===typeof o&&o(null,c),c}}]]);</script><script type="text/javascript">(this["webpackJsonpalioss-html"]=this["webpackJsonpalioss-html"]||[]).push([[0],{164:function(e,t,n){"use strict";n.r(t);var a=n(0),i=n.n(a),s=n(36),c=n.n(s),l=(n(51),n(5)),o=n(37),r=n(38),p=n(44),m=n(39),u=n(10),d=n(45),h=(n(52),n(40)),v=n.n(h),f=n(41),b=n.n(f),g=n(20),w=n.n(g),y=n(42),E=function(e){function t(e){var n;Object(o.a)(this,t),(n=Object(p.a)(this,Object(m.a)(t).call(this,e))).installApp=n.installApp.bind(Object(u.a)(n)),n.selectRow=n.selectRow.bind(Object(u.a)(n));var a=(new b.a).parse(navigator.userAgent);return n.state={url:"config.json",device:a,list:[],current:null,isInstalling:!1,headerTitle:"__html_header_title__"},n.ref=i.a.createRef(),n}return Object(d.a)(t,e),Object(r.a)(t,[{key:"componentDidMount",value:function(){var e=this,t=this.state,n=t.url,a=t.device;v()(n).then((function(e){return e.json()})).then((function(t){var n=t.ipaList||[],i=t.apkList||[],s=t.appList||[],c=[];"iOS"===a.os.name?c=Object(l.a)(n):"Android"===a.os.name?c=Object(l.a)(i):"desktop"===a.device.type&&(c=[].concat(Object(l.a)(n),Object(l.a)(i),Object(l.a)(s))),c=Object(l.a)(c).sort((function(e,t){return e.time<t.time?1:-1})),e.setState({list:Object(l.a)(c),current:c.length?c[0]:null})}))}},{key:"componentDidUpdate",value:function(e,t,n){var a=this.ref.current;a&&y.a.toCanvas({canvas:a,content:window.location.href,width:260,logo:{src:"icon.png",radius:8}})}},{key:"installApp",value:function(){var e=this,t=this.state,n=t.current,a=t.device;n&&("iOS"===a.os.name?(window.location.href="itms-services://?action=download-manifest&url="+n.domain+n.path+"manifest.plist",setTimeout((function(){e.setState({isInstalling:!0})}),1e3)):window.location.href=n.domain+n.path+n.name),console.log(this.refs.qrcode)}},{key:"selectRow",value:function(e){this.setState({current:e})}},{key:"render",value:function(){var e=this,t=this.state,n=t.list,a=t.current,s=t.isInstalling,c=t.headerTitle,l=t.device;return a&&0!==n.length?i.a.createElement("div",{className:"App"},i.a.createElement("p",null,c),i.a.createElement("img",{src:"icon.png",className:"App-icon",alt:""}),i.a.createElement("p",{className:"App-detail-text"},"\u7248\u672c\uff1a",a.version," (build ",a.build,") \u5927\u5c0f\uff1a",(a.size/1024/1024).toFixed(2)," MB \u66f4\u65b0\u65f6\u95f4 \uff1a",w()("yyyy-MM-dd hh:mm:ss",new Date(1e3*a.time))),i.a.createElement("div",{className:"App-update-desc"},a.desc),i.a.createElement("button",{id:"install-app",className:"App-install-button",onClick:this.installApp},s?"\u6b63\u5728\u5b89\u88c5...":"\u5b89\u88c5App"),i.a.createElement("canvas",{ref:this.ref}),i.a.createElement("div",{className:"App-line"}," "),i.a.createElement("p",null,"\u5386\u53f2\u7248\u672c"),i.a.createElement("div",{className:"App-history-version"},n.map((function(t,n){var a=n%2===0?"App-box-0":"App-box-1";return i.a.createElement("div",{key:n,className:a,onClick:function(){e.selectRow(t)}},"desktop"===l.device.type&&i.a.createElement("p",{style:{marginRight:"10%"}},t.name),i.a.createElement("p",{style:{marginRight:"10%"}},t.version," (build ",t.build," )"),i.a.createElement("p",null,w()("yyyy-MM-dd hh:mm:ss",new Date(1e3*t.time))))})))):i.a.createElement("div",{className:"App"},i.a.createElement("p",null,c),i.a.createElement("img",{src:"icon.png",className:"App-icon",alt:""}),i.a.createElement("p",null,"Sorry\uff0c\u672a\u627e\u5230\u4efb\u4f55\u8f6f\u4ef6\u5305\uff01"))}}]),t}(i.a.Component);Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));c.a.render(i.a.createElement(E,null),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()}))},46:function(e,t,n){e.exports=n(164)},51:function(e,t,n){},52:function(e,t,n){}},[[46,1,2]]]);</script></body></html>
|
@@ -85,12 +85,21 @@ module Fastlane
|
|
85
85
|
file_size = File.size(build_file)
|
86
86
|
filename = File.basename(build_file)
|
87
87
|
|
88
|
+
# 获取 build_number & version_number
|
89
|
+
build_number = Actions.lane_context[SharedValues::BUILD_NUMBER]
|
90
|
+
version_number = Actions.lane_context[SharedValues::VERSION_NUMBER]
|
91
|
+
|
88
92
|
# 根据不同的文件类型区分平台,拼接bucket_path路径
|
89
93
|
case File.extname(filename)
|
90
94
|
when ".ipa"
|
91
95
|
bucket_path = "#{path_for_app_name}/iOS"
|
92
96
|
when ".apk"
|
93
97
|
bucket_path = "#{path_for_app_name}/Android"
|
98
|
+
build_number = Actions.lane_context[SharedValues::ANDROID_VERSION_CODE]
|
99
|
+
version_number = Actions.lane_context[SharedValues::ANDROID_VERSION_NAME]
|
100
|
+
if build_number.nil || version_number.nil?
|
101
|
+
UI.important "ANDROID_VERSION_CODE & ANDROID_VERSION_NAME is nil,请设置 Actions.lane_context[SharedValues::ANDROID_VERSION_NAME] = version_name,推荐在fastlane中配置fastlane-plugin-versioning_android。"
|
102
|
+
end
|
94
103
|
when ".app"
|
95
104
|
bucket_path = "#{path_for_app_name}/Mac"
|
96
105
|
else
|
@@ -111,9 +120,9 @@ module Fastlane
|
|
111
120
|
config_json_file_path = File.expand_path('config.json')
|
112
121
|
bucket.get_object("#{path_for_app_name}/config.json", :file => config_json_file_path)
|
113
122
|
config_json = JSON.parse(File.read(config_json_file_path))
|
114
|
-
|
115
|
-
build_number
|
116
|
-
|
123
|
+
|
124
|
+
UI.message "build_number: #{build_number} version_number: #{version_number}"
|
125
|
+
|
117
126
|
# 构建文件元信息
|
118
127
|
item_hash = {
|
119
128
|
"domain" => download_domain,
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-alioss
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- woodwu
|
@@ -182,7 +182,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
182
182
|
- !ruby/object:Gem::Version
|
183
183
|
version: '0'
|
184
184
|
requirements: []
|
185
|
-
rubygems_version: 3.0.
|
185
|
+
rubygems_version: 3.0.6
|
186
186
|
signing_key:
|
187
187
|
specification_version: 4
|
188
188
|
summary: upload ipa/apk to aliyun oos server, and scan QRcode to install app on mobile
|