UNPKG

twreporter-react

Version:

React-Redux site for The Reporter Foundation in Taiwan

1,660 lines (1,652 loc) 179 kB
"use strict"; /** * TL;DR: Don't touch this. * * DO NOT EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND COMPILED FROM AN * EXTERNAL REGEXPS DATABASE. TO UPDATE THIS FILE MANUALLY PLEASE RUN THE: * * ``` * npm run update * ``` * * COMMAND FROM THE ROOT OF THIS REPOSITORY. IF YOU FOUND A REGULAR EXPRESSION THAT * IS BROKEN OR MISSING. PLEASE MAKE THE PULL REQUESTS TO REGEXP DATABASE NOT TO * THIS MODULE AS THEY WILL BE REJECTED INSTANTLY. THE SOURCE FILE LOCATION CAN * BE FOUND IN THE `update.js` FILE WHICH IS IN THE SAME FOLDER AS THIS FILE. PLEASE * SEE THE `exports.remote` PART OF THE FILE. */ var parser; exports.browser = Object.create(null); parser = Object.create(null); parser[0] = new RegExp("(Rival IQ, rivaliq.com)"); parser[1] = "Rival IQ"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[0] = parser; parser = Object.create(null); parser[0] = new RegExp("(CFNetwork)(?:/(\\d+)\\.(\\d+)\\.?(\\d+)?)?"); parser[1] = "CFNetwork"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[1] = parser; parser = Object.create(null); parser[0] = new RegExp("(Pingdom.com_bot_version_)(\\d+)\\.(\\d+)"); parser[1] = "PingdomBot"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[2] = parser; parser = Object.create(null); parser[0] = new RegExp("(facebookexternalhit)/(\\d+)\\.(\\d+)"); parser[1] = "FacebookBot"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[3] = parser; parser = Object.create(null); parser[0] = new RegExp("Google.*/\\+/web/snippet"); parser[1] = "GooglePlusBot"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[4] = parser; parser = Object.create(null); parser[0] = new RegExp("/((?:Ant-)?Nutch|[A-z]+[Bb]ot|[A-z]+[Ss]pider|Axtaris|fetchurl|Isara|ShopSalad|Tailsweep)[ \\-](\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[5] = parser; parser = Object.create(null); parser[0] = new RegExp("(008|Altresium|Argus|BaiduMobaider|BoardReader|DNSGroup|DataparkSearch|EDI|Goodzer|Grub|INGRID|Infohelfer|LinkedInBot|LOOQ|Nutch|PathDefender|Peew|PostPost|Steeler|Twitterbot|VSE|WebCrunch|WebZIP|Y!J-BR[A-Z]|YahooSeeker|envolk|sproose|wminer)/(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[6] = parser; parser = Object.create(null); parser[0] = new RegExp("(MSIE) (\\d+)\\.(\\d+)([a-z]\\d?)?;.* MSIECrawler"); parser[1] = "MSIECrawler"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[7] = parser; parser = Object.create(null); parser[0] = new RegExp("(Google-HTTP-Java-Client|Apache-HttpClient|http%20client|Python-urllib|HttpMonitor|TLSProber|WinHTTP|JNLP)(?:[ /](\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?)?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[8] = parser; parser = Object.create(null); parser[0] = new RegExp("(1470\\.net crawler|50\\.nu|8bo Crawler Bot|Aboundex|Accoona-[A-z]+-Agent|AdsBot-Google(?:-[a-z]+)?|altavista|AppEngine-Google|archive.*?\\.org_bot|archiver|Ask Jeeves|[Bb]ai[Dd]u[Ss]pider(?:-[A-Za-z]+)*|bingbot|BingPreview|blitzbot|BlogBridge|BoardReader(?: [A-Za-z]+)*|boitho.com-dc|BotSeer|\\b\\w*favicon\\w*\\b|\\bYeti(?:-[a-z]+)?|Catchpoint bot|[Cc]harlotte|Checklinks|clumboot|Comodo HTTP\\(S\\) Crawler|Comodo-Webinspector-Crawler|ConveraCrawler|CRAWL-E|CrawlConvera|Daumoa(?:-feedfetcher)?|Feed Seeker Bot|findlinks|Flamingo_SearchEngine|FollowSite Bot|furlbot|Genieo|gigabot|GomezAgent|gonzo1|(?:[a-zA-Z]+-)?Googlebot(?:-[a-zA-Z]+)?|Google SketchUp|grub-client|gsa-crawler|heritrix|HiddenMarket|holmes|HooWWWer|htdig|ia_archiver|ICC-Crawler|Icarus6j|ichiro(?:/mobile)?|IconSurf|IlTrovatore(?:-Setaccio)?|InfuzApp|Innovazion Crawler|InternetArchive|IP2[a-z]+Bot|jbot\\b|KaloogaBot|Kraken|Kurzor|larbin|LEIA|LesnikBot|Linguee Bot|LinkAider|LinkedInBot|Lite Bot|Llaut|lycos|Mail\\.RU_Bot|masidani_bot|Mediapartners-Google|Microsoft .*? Bot|mogimogi|mozDex|MJ12bot|msnbot(?:-media *)?|msrbot|netresearch|Netvibes|NewsGator[^/]*|^NING|Nutch[^/]*|Nymesis|ObjectsSearch|Orbiter|OOZBOT|PagePeeker|PagesInventory|PaxleFramework|Peeplo Screenshot Bot|PlantyNet_WebRobot|Pompos|Read%20Later|Reaper|RedCarpet|Retreiver|Riddler|Rival IQ|scooter|Scrapy|Scrubby|searchsight|seekbot|semanticdiscovery|Simpy|SimplePie|SEOstats|SimpleRSS|SiteCon|Slurp|snappy|Speedy Spider|Squrl Java|TheUsefulbot|ThumbShotsBot|Thumbshots\\.ru|TwitterBot|URL2PNG|Vagabondo|VoilaBot|^vortex|Votay bot|^voyager|WASALive.Bot|Web-sniffer|WebThumb|WeSEE:[A-z]+|WhatWeb|WIRE|WordPress|Wotbox|www\\.almaden\\.ibm\\.com|Xenu(?:.s)? Link Sleuth|Xerka [A-z]+Bot|yacy(?:bot)?|Yahoo[a-z]*Seeker|Yahoo! Slurp|Yandex\\w+|YodaoBot(?:-[A-z]+)?|YottaaMonitor|Yowedo|^Zao|^Zao-Crawler|ZeBot_www\\.ze\\.bz|ZooShot|ZyBorg)(?:[ /]v?(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?)?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[9] = parser; parser = Object.create(null); parser[0] = new RegExp("(?:\\/[A-Za-z0-9\\.]+)? *([A-Za-z0-9 \\-_\\!\\[\\]:]*(?:[Aa]rchiver|[Ii]ndexer|[Ss]craper|[Bb]ot|[Ss]pider|[Cc]rawl[a-z]*))/(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[10] = parser; parser = Object.create(null); parser[0] = new RegExp("(?:\\/[A-Za-z0-9\\.]+)? *([A-Za-z0-9 _\\!\\[\\]:]*(?:[Aa]rchiver|[Ii]ndexer|[Ss]craper|[Bb]ot|[Ss]pider|[Cc]rawl[a-z]*)) (\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[11] = parser; parser = Object.create(null); parser[0] = new RegExp("((?:[A-z0-9]+|[A-z\\-]+ ?)?(?: the )?(?:[Ss][Pp][Ii][Dd][Ee][Rr]|[Ss]crape|[A-Za-z0-9-]*(?:[^C][^Uu])[Bb]ot|[Cc][Rr][Aa][Ww][Ll])[A-z0-9]*)(?:(?:[ /]| v)(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?)?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[12] = parser; parser = Object.create(null); parser[0] = new RegExp("(HbbTV)/(\\d+)\\.(\\d+)\\.(\\d+) \\("); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[13] = parser; parser = Object.create(null); parser[0] = new RegExp("(Chimera|SeaMonkey|Camino)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+[a-z]*)?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[14] = parser; parser = Object.create(null); parser[0] = new RegExp("\\[FB.*;(FBAV)/(\\d+)(?:\\.(\\d+)(?:\\.(\\d)+)?)?"); parser[1] = "Facebook"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[15] = parser; parser = Object.create(null); parser[0] = new RegExp("\\[(Pinterest)/[^\\]]+\\]"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[16] = parser; parser = Object.create(null); parser[0] = new RegExp("(Pinterest)(?: for Android(?: Tablet)?)?/(\\d+)(?:\\.(\\d+)(?:\\.(\\d)+)?)?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[17] = parser; parser = Object.create(null); parser[0] = new RegExp("(Pale[Mm]oon)/(\\d+)\\.(\\d+)\\.?(\\d+)?"); parser[1] = "Pale Moon (Firefox Variant)"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[18] = parser; parser = Object.create(null); parser[0] = new RegExp("(Fennec)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+[a-z]*)"); parser[1] = "Firefox Mobile"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[19] = parser; parser = Object.create(null); parser[0] = new RegExp("(Fennec)/(\\d+)\\.(\\d+)(pre)"); parser[1] = "Firefox Mobile"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[20] = parser; parser = Object.create(null); parser[0] = new RegExp("(Fennec)/(\\d+)\\.(\\d+)"); parser[1] = "Firefox Mobile"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[21] = parser; parser = Object.create(null); parser[0] = new RegExp("(?:Mobile|Tablet);.*(Firefox)/(\\d+)\\.(\\d+)"); parser[1] = "Firefox Mobile"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[22] = parser; parser = Object.create(null); parser[0] = new RegExp("(Namoroka|Shiretoko|Minefield)/(\\d+)\\.(\\d+)\\.(\\d+(?:pre)?)"); parser[1] = "Firefox ($1)"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[23] = parser; parser = Object.create(null); parser[0] = new RegExp("(Firefox)/(\\d+)\\.(\\d+)(a\\d+[a-z]*)"); parser[1] = "Firefox Alpha"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[24] = parser; parser = Object.create(null); parser[0] = new RegExp("(Firefox)/(\\d+)\\.(\\d+)(b\\d+[a-z]*)"); parser[1] = "Firefox Beta"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[25] = parser; parser = Object.create(null); parser[0] = new RegExp("(Firefox)-(?:\\d+\\.\\d+)?/(\\d+)\\.(\\d+)(a\\d+[a-z]*)"); parser[1] = "Firefox Alpha"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[26] = parser; parser = Object.create(null); parser[0] = new RegExp("(Firefox)-(?:\\d+\\.\\d+)?/(\\d+)\\.(\\d+)(b\\d+[a-z]*)"); parser[1] = "Firefox Beta"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[27] = parser; parser = Object.create(null); parser[0] = new RegExp("(Namoroka|Shiretoko|Minefield)/(\\d+)\\.(\\d+)([ab]\\d+[a-z]*)?"); parser[1] = "Firefox ($1)"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[28] = parser; parser = Object.create(null); parser[0] = new RegExp("(Firefox).*Tablet browser (\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "MicroB"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[29] = parser; parser = Object.create(null); parser[0] = new RegExp("(MozillaDeveloperPreview)/(\\d+)\\.(\\d+)([ab]\\d+[a-z]*)?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[30] = parser; parser = Object.create(null); parser[0] = new RegExp("(FxiOS)/(\\d+)\\.(\\d+)(\\.(\\d+))?(\\.(\\d+))?"); parser[1] = "Firefox iOS"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[31] = parser; parser = Object.create(null); parser[0] = new RegExp("(Flock)/(\\d+)\\.(\\d+)(b\\d+?)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[32] = parser; parser = Object.create(null); parser[0] = new RegExp("(RockMelt)/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[33] = parser; parser = Object.create(null); parser[0] = new RegExp("(Navigator)/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "Netscape"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[34] = parser; parser = Object.create(null); parser[0] = new RegExp("(Navigator)/(\\d+)\\.(\\d+)([ab]\\d+)"); parser[1] = "Netscape"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[35] = parser; parser = Object.create(null); parser[0] = new RegExp("(Netscape6)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+)?"); parser[1] = "Netscape"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[36] = parser; parser = Object.create(null); parser[0] = new RegExp("(MyIBrow)/(\\d+)\\.(\\d+)"); parser[1] = "My Internet Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[37] = parser; parser = Object.create(null); parser[0] = new RegExp("(Opera Tablet).*Version/(\\d+)\\.(\\d+)(?:\\.(\\d+))?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[38] = parser; parser = Object.create(null); parser[0] = new RegExp("(Opera Mini)(?:/att)?/(\\d+)?(?:\\.(\\d+))?(?:\\.(\\d+))?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[39] = parser; parser = Object.create(null); parser[0] = new RegExp("(Opera)/.+Opera Mobi.+Version/(\\d+)\\.(\\d+)"); parser[1] = "Opera Mobile"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[40] = parser; parser = Object.create(null); parser[0] = new RegExp("(Opera)/(\\d+)\\.(\\d+).+Opera Mobi"); parser[1] = "Opera Mobile"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[41] = parser; parser = Object.create(null); parser[0] = new RegExp("Opera Mobi.+(Opera)(?:/|\\s+)(\\d+)\\.(\\d+)"); parser[1] = "Opera Mobile"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[42] = parser; parser = Object.create(null); parser[0] = new RegExp("Opera Mobi"); parser[1] = "Opera Mobile"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[43] = parser; parser = Object.create(null); parser[0] = new RegExp("(Opera)/9.80.*Version/(\\d+)\\.(\\d+)(?:\\.(\\d+))?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[44] = parser; parser = Object.create(null); parser[0] = new RegExp("(?:Mobile Safari).*(OPR)/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "Opera Mobile"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[45] = parser; parser = Object.create(null); parser[0] = new RegExp("(?:Chrome).*(OPR)/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "Opera"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[46] = parser; parser = Object.create(null); parser[0] = new RegExp("(Coast)/(\\d+).(\\d+).(\\d+)"); parser[1] = "Opera Coast"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[47] = parser; parser = Object.create(null); parser[0] = new RegExp("(OPiOS)/(\\d+).(\\d+).(\\d+)"); parser[1] = "Opera Mini"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[48] = parser; parser = Object.create(null); parser[0] = new RegExp("(hpw|web)OS/(\\d+)\\.(\\d+)(?:\\.(\\d+))?"); parser[1] = "webOS Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[49] = parser; parser = Object.create(null); parser[0] = new RegExp("(luakit)"); parser[1] = "LuaKit"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[50] = parser; parser = Object.create(null); parser[0] = new RegExp("(Snowshoe)/(\\d+)\\.(\\d+).(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[51] = parser; parser = Object.create(null); parser[0] = new RegExp("(Lightning)/(\\d+)\\.(\\d+)\\.?((?:[ab]?\\d+[a-z]*)|(?:\\d*))"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[52] = parser; parser = Object.create(null); parser[0] = new RegExp("(Firefox)/(\\d+)\\.(\\d+)\\.(\\d+(?:pre)?) \\(Swiftfox\\)"); parser[1] = "Swiftfox"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[53] = parser; parser = Object.create(null); parser[0] = new RegExp("(Firefox)/(\\d+)\\.(\\d+)([ab]\\d+[a-z]*)? \\(Swiftfox\\)"); parser[1] = "Swiftfox"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[54] = parser; parser = Object.create(null); parser[0] = new RegExp("(rekonq)/(\\d+)\\.(\\d+)\\.?(\\d+)? Safari"); parser[1] = "Rekonq"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[55] = parser; parser = Object.create(null); parser[0] = new RegExp("rekonq"); parser[1] = "Rekonq"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[56] = parser; parser = Object.create(null); parser[0] = new RegExp("(conkeror|Conkeror)/(\\d+)\\.(\\d+)\\.?(\\d+)?"); parser[1] = "Conkeror"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[57] = parser; parser = Object.create(null); parser[0] = new RegExp("(konqueror)/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "Konqueror"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[58] = parser; parser = Object.create(null); parser[0] = new RegExp("(WeTab)-Browser"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[59] = parser; parser = Object.create(null); parser[0] = new RegExp("(Comodo_Dragon)/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "Comodo Dragon"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[60] = parser; parser = Object.create(null); parser[0] = new RegExp("(Symphony) (\\d+).(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[61] = parser; parser = Object.create(null); parser[0] = new RegExp("(Minimo)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[62] = parser; parser = Object.create(null); parser[0] = new RegExp("PLAYSTATION 3.+WebKit"); parser[1] = "NetFront NX"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[63] = parser; parser = Object.create(null); parser[0] = new RegExp("PLAYSTATION 3"); parser[1] = "NetFront"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[64] = parser; parser = Object.create(null); parser[0] = new RegExp("(PlayStation Portable)"); parser[1] = "NetFront"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[65] = parser; parser = Object.create(null); parser[0] = new RegExp("(PlayStation Vita)"); parser[1] = "NetFront NX"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[66] = parser; parser = Object.create(null); parser[0] = new RegExp("AppleWebKit.+ (NX)/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "NetFront NX"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[67] = parser; parser = Object.create(null); parser[0] = new RegExp("(Nintendo 3DS)"); parser[1] = "NetFront NX"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[68] = parser; parser = Object.create(null); parser[0] = new RegExp("(Silk)/(\\d+)\\.(\\d+)(?:\\.([0-9\\-]+))?"); parser[1] = "Amazon Silk"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[69] = parser; parser = Object.create(null); parser[0] = new RegExp("(Puffin)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[70] = parser; parser = Object.create(null); parser[0] = new RegExp("Windows Phone .*(Edge)/(\\d+)\\.(\\d+)"); parser[1] = "Edge Mobile"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[71] = parser; parser = Object.create(null); parser[0] = new RegExp("(CrMo)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "Chrome Mobile"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[72] = parser; parser = Object.create(null); parser[0] = new RegExp("(CriOS)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "Chrome Mobile iOS"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[73] = parser; parser = Object.create(null); parser[0] = new RegExp("(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+) Mobile"); parser[1] = "Chrome Mobile"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[74] = parser; parser = Object.create(null); parser[0] = new RegExp("(chromeframe)/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "Chrome Frame"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[75] = parser; parser = Object.create(null); parser[0] = new RegExp("(UCBrowser)[ /](\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "UC Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[76] = parser; parser = Object.create(null); parser[0] = new RegExp("(UC Browser)[ /](\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[77] = parser; parser = Object.create(null); parser[0] = new RegExp("(UC Browser|UCBrowser|UCWEB)(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "UC Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[78] = parser; parser = Object.create(null); parser[0] = new RegExp("(SLP Browser)/(\\d+)\\.(\\d+)"); parser[1] = "Tizen Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[79] = parser; parser = Object.create(null); parser[0] = new RegExp("(SE 2\\.X) MetaSr (\\d+)\\.(\\d+)"); parser[1] = "Sogou Explorer"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[80] = parser; parser = Object.create(null); parser[0] = new RegExp("(baidubrowser)[/\\s](\\d+)"); parser[1] = "Baidu Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[81] = parser; parser = Object.create(null); parser[0] = new RegExp("(FlyFlow)/(\\d+)\\.(\\d+)"); parser[1] = "Baidu Explorer"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[82] = parser; parser = Object.create(null); parser[0] = new RegExp("(MQQBrowser/Mini)(?:(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?)?"); parser[1] = "QQ Browser Mini"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[83] = parser; parser = Object.create(null); parser[0] = new RegExp("(MQQBrowser)(?:/(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?)?"); parser[1] = "QQ Browser Mobile"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[84] = parser; parser = Object.create(null); parser[0] = new RegExp("(QQBrowser)(?:/(\\d+)(?:\\.(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?)?"); parser[1] = "QQ Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[85] = parser; parser = Object.create(null); parser[0] = new RegExp("(Rackspace Monitoring)/(\\d+)\\.(\\d+)"); parser[1] = "RackspaceBot"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[86] = parser; parser = Object.create(null); parser[0] = new RegExp("(PyAMF)/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[87] = parser; parser = Object.create(null); parser[0] = new RegExp("(YaBrowser)/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "Yandex Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[88] = parser; parser = Object.create(null); parser[0] = new RegExp("(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+).* MRCHROME"); parser[1] = "Mail.ru Chromium Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[89] = parser; parser = Object.create(null); parser[0] = new RegExp("(AOL) (\\d+)\\.(\\d+); AOLBuild (\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[90] = parser; parser = Object.create(null); parser[0] = new RegExp("(AdobeAIR|FireWeb|Jasmine|ANTGalio|Midori|Fresco|Lobo|PaleMoon|Maxthon|Lynx|OmniWeb|Dillo|Camino|Demeter|Fluid|Fennec|Epiphany|Shiira|Sunrise|Spotify|Flock|Netscape|Lunascape|WebPilot|NetFront|Netfront|Konqueror|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|Opera Mini|iCab|NetNewsWire|ThunderBrowse|Iris|UP\\.Browser|Bunjalloo|Google Earth|Raven for Mac|Openwave)/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[91] = parser; parser = Object.create(null); parser[0] = new RegExp("MSOffice 12"); parser[1] = "Outlook"; parser[2] = "2007"; parser[3] = 0; parser[4] = 0; exports.browser[92] = parser; parser = Object.create(null); parser[0] = new RegExp("MSOffice 14"); parser[1] = "Outlook"; parser[2] = "2010"; parser[3] = 0; parser[4] = 0; exports.browser[93] = parser; parser = Object.create(null); parser[0] = new RegExp("Microsoft Outlook 15\\.\\d+\\.\\d+"); parser[1] = "Outlook"; parser[2] = "2013"; parser[3] = 0; parser[4] = 0; exports.browser[94] = parser; parser = Object.create(null); parser[0] = new RegExp("(Airmail) (\\d+)\\.(\\d+)(?:\\.(\\d+))?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[95] = parser; parser = Object.create(null); parser[0] = new RegExp("(Thunderbird)/(\\d+)\\.(\\d+)\\.(\\d+(?:pre)?)"); parser[1] = "Thunderbird"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[96] = parser; parser = Object.create(null); parser[0] = new RegExp("(Vivaldi)/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[97] = parser; parser = Object.create(null); parser[0] = new RegExp("(Edge)/(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[98] = parser; parser = Object.create(null); parser[0] = new RegExp("(Chromium|Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[99] = parser; parser = Object.create(null); parser[0] = new RegExp("\\b(Dolphin)(?: |HDCN/|/INT\\-)(\\d+)\\.(\\d+)\\.?(\\d+)?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[100] = parser; parser = Object.create(null); parser[0] = new RegExp("(bingbot|Bolt|Jasmine|IceCat|Skyfire|Midori|Maxthon|Lynx|Arora|IBrowse|Dillo|Camino|Shiira|Fennec|Phoenix|Chrome|Flock|Netscape|Lunascape|Epiphany|WebPilot|Opera Mini|Opera|NetFront|Netfront|Konqueror|Googlebot|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|iCab|iTunes|MacAppStore|NetNewsWire|Space Bison|Stainless|Orca|Dolfin|BOLT|Minimo|Tizen Browser|Polaris|Abrowser|Planetweb|ICE Browser|mDolphin|qutebrowser|Otter|QupZilla)/(\\d+)\\.(\\d+)\\.?(\\d+)?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[101] = parser; parser = Object.create(null); parser[0] = new RegExp("(Chromium|Chrome)/(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[102] = parser; parser = Object.create(null); parser[0] = new RegExp("(IEMobile)[ /](\\d+)\\.(\\d+)"); parser[1] = "IE Mobile"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[103] = parser; parser = Object.create(null); parser[0] = new RegExp("(iRider|Crazy Browser|SkipStone|iCab|Lunascape|Sleipnir|Maemo Browser) (\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[104] = parser; parser = Object.create(null); parser[0] = new RegExp("(iCab|Lunascape|Opera|Android|Jasmine|Polaris) (\\d+)\\.(\\d+)\\.?(\\d+)?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[105] = parser; parser = Object.create(null); parser[0] = new RegExp("(Kindle)/(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[106] = parser; parser = Object.create(null); parser[0] = new RegExp("(Android) Donut"); parser[1] = 0; parser[2] = "1"; parser[3] = "2"; parser[4] = 0; exports.browser[107] = parser; parser = Object.create(null); parser[0] = new RegExp("(Android) Eclair"); parser[1] = 0; parser[2] = "2"; parser[3] = "1"; parser[4] = 0; exports.browser[108] = parser; parser = Object.create(null); parser[0] = new RegExp("(Android) Froyo"); parser[1] = 0; parser[2] = "2"; parser[3] = "2"; parser[4] = 0; exports.browser[109] = parser; parser = Object.create(null); parser[0] = new RegExp("(Android) Gingerbread"); parser[1] = 0; parser[2] = "2"; parser[3] = "3"; parser[4] = 0; exports.browser[110] = parser; parser = Object.create(null); parser[0] = new RegExp("(Android) Honeycomb"); parser[1] = 0; parser[2] = "3"; parser[3] = 0; parser[4] = 0; exports.browser[111] = parser; parser = Object.create(null); parser[0] = new RegExp("(MSIE) (\\d+)\\.(\\d+).*XBLWP7"); parser[1] = "IE Large Screen"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[112] = parser; parser = Object.create(null); parser[0] = new RegExp("(Obigo)InternetBrowser"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[113] = parser; parser = Object.create(null); parser[0] = new RegExp("(Obigo)\\-Browser"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[114] = parser; parser = Object.create(null); parser[0] = new RegExp("(Obigo|OBIGO)[^\\d]*(\\d+)(?:.(\\d+))?"); parser[1] = "Obigo"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[115] = parser; parser = Object.create(null); parser[0] = new RegExp("(MAXTHON|Maxthon) (\\d+)\\.(\\d+)"); parser[1] = "Maxthon"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[116] = parser; parser = Object.create(null); parser[0] = new RegExp("(Maxthon|MyIE2|Uzbl|Shiira)"); parser[1] = 0; parser[2] = "0"; parser[3] = 0; parser[4] = 0; exports.browser[117] = parser; parser = Object.create(null); parser[0] = new RegExp("(BrowseX) \\((\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[118] = parser; parser = Object.create(null); parser[0] = new RegExp("(NCSA_Mosaic)/(\\d+)\\.(\\d+)"); parser[1] = "NCSA Mosaic"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[119] = parser; parser = Object.create(null); parser[0] = new RegExp("(POLARIS)/(\\d+)\\.(\\d+)"); parser[1] = "Polaris"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[120] = parser; parser = Object.create(null); parser[0] = new RegExp("(Embider)/(\\d+)\\.(\\d+)"); parser[1] = "Polaris"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[121] = parser; parser = Object.create(null); parser[0] = new RegExp("(BonEcho)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+)?"); parser[1] = "Bon Echo"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[122] = parser; parser = Object.create(null); parser[0] = new RegExp("(iPod|iPhone|iPad).+Version/(\\d+)\\.(\\d+)(?:\\.(\\d+))?.* Safari"); parser[1] = "Mobile Safari"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[123] = parser; parser = Object.create(null); parser[0] = new RegExp("(iPod|iPhone|iPad).+Version/(\\d+)\\.(\\d+)(?:\\.(\\d+))?"); parser[1] = "Mobile Safari UIWebView"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[124] = parser; parser = Object.create(null); parser[0] = new RegExp("(iPod|iPhone|iPad);.*CPU.*OS (\\d+)_(\\d+)(?:_(\\d+))?.*Mobile.* Safari"); parser[1] = "Mobile Safari"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[125] = parser; parser = Object.create(null); parser[0] = new RegExp("(iPod|iPhone|iPad);.*CPU.*OS (\\d+)_(\\d+)(?:_(\\d+))?.*Mobile"); parser[1] = "Mobile Safari UIWebView"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[126] = parser; parser = Object.create(null); parser[0] = new RegExp("(iPod|iPhone|iPad).* Safari"); parser[1] = "Mobile Safari"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[127] = parser; parser = Object.create(null); parser[0] = new RegExp("(iPod|iPhone|iPad)"); parser[1] = "Mobile Safari UIWebView"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[128] = parser; parser = Object.create(null); parser[0] = new RegExp("(AvantGo) (\\d+).(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[129] = parser; parser = Object.create(null); parser[0] = new RegExp("(OneBrowser)/(\\d+).(\\d+)"); parser[1] = "ONE Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[130] = parser; parser = Object.create(null); parser[0] = new RegExp("(Avant)"); parser[1] = 0; parser[2] = "1"; parser[3] = 0; parser[4] = 0; exports.browser[131] = parser; parser = Object.create(null); parser[0] = new RegExp("(QtCarBrowser)"); parser[1] = 0; parser[2] = "1"; parser[3] = 0; parser[4] = 0; exports.browser[132] = parser; parser = Object.create(null); parser[0] = new RegExp("^(iBrowser/Mini)(\\d+).(\\d+)"); parser[1] = "iBrowser Mini"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[133] = parser; parser = Object.create(null); parser[0] = new RegExp("^(iBrowser|iRAPP)/(\\d+).(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[134] = parser; parser = Object.create(null); parser[0] = new RegExp("^(Nokia)"); parser[1] = "Nokia Services (WAP) Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[135] = parser; parser = Object.create(null); parser[0] = new RegExp("(NokiaBrowser)/(\\d+)\\.(\\d+).(\\d+)\\.(\\d+)"); parser[1] = "Nokia Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[136] = parser; parser = Object.create(null); parser[0] = new RegExp("(NokiaBrowser)/(\\d+)\\.(\\d+).(\\d+)"); parser[1] = "Nokia Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[137] = parser; parser = Object.create(null); parser[0] = new RegExp("(NokiaBrowser)/(\\d+)\\.(\\d+)"); parser[1] = "Nokia Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[138] = parser; parser = Object.create(null); parser[0] = new RegExp("(BrowserNG)/(\\d+)\\.(\\d+).(\\d+)"); parser[1] = "Nokia Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[139] = parser; parser = Object.create(null); parser[0] = new RegExp("(Series60)/5\\.0"); parser[1] = "Nokia Browser"; parser[2] = "7"; parser[3] = "0"; parser[4] = 0; exports.browser[140] = parser; parser = Object.create(null); parser[0] = new RegExp("(Series60)/(\\d+)\\.(\\d+)"); parser[1] = "Nokia OSS Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[141] = parser; parser = Object.create(null); parser[0] = new RegExp("(S40OviBrowser)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "Ovi Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[142] = parser; parser = Object.create(null); parser[0] = new RegExp("(Nokia)[EN]?(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[143] = parser; parser = Object.create(null); parser[0] = new RegExp("(PlayBook).+RIM Tablet OS (\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "BlackBerry WebKit"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[144] = parser; parser = Object.create(null); parser[0] = new RegExp("(Black[bB]erry|BB10).+Version/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "BlackBerry WebKit"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[145] = parser; parser = Object.create(null); parser[0] = new RegExp("(Black[bB]erry)\\s?(\\d+)"); parser[1] = "BlackBerry"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[146] = parser; parser = Object.create(null); parser[0] = new RegExp("(OmniWeb)/v(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[147] = parser; parser = Object.create(null); parser[0] = new RegExp("(Blazer)/(\\d+)\\.(\\d+)"); parser[1] = "Palm Blazer"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[148] = parser; parser = Object.create(null); parser[0] = new RegExp("(Pre)/(\\d+)\\.(\\d+)"); parser[1] = "Palm Pre"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[149] = parser; parser = Object.create(null); parser[0] = new RegExp("(ELinks)/(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[150] = parser; parser = Object.create(null); parser[0] = new RegExp("(ELinks) \\((\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[151] = parser; parser = Object.create(null); parser[0] = new RegExp("(Links) \\((\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[152] = parser; parser = Object.create(null); parser[0] = new RegExp("(QtWeb) Internet Browser/(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[153] = parser; parser = Object.create(null); parser[0] = new RegExp("(PhantomJS)/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[154] = parser; parser = Object.create(null); parser[0] = new RegExp("(AppleWebKit)/(\\d+)\\.?(\\d+)?\\+ .* Safari"); parser[1] = "WebKit Nightly"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[155] = parser; parser = Object.create(null); parser[0] = new RegExp("(Version)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?.*Safari/"); parser[1] = "Safari"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[156] = parser; parser = Object.create(null); parser[0] = new RegExp("(Safari)/\\d+"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[157] = parser; parser = Object.create(null); parser[0] = new RegExp("(OLPC)/Update(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[158] = parser; parser = Object.create(null); parser[0] = new RegExp("(OLPC)/Update()\\.(\\d+)"); parser[1] = 0; parser[2] = "0"; parser[3] = 0; parser[4] = 0; exports.browser[159] = parser; parser = Object.create(null); parser[0] = new RegExp("(SEMC\\-Browser)/(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[160] = parser; parser = Object.create(null); parser[0] = new RegExp("(Teleca)"); parser[1] = "Teleca Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[161] = parser; parser = Object.create(null); parser[0] = new RegExp("(Phantom)/V(\\d+)\\.(\\d+)"); parser[1] = "Phantom Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[162] = parser; parser = Object.create(null); parser[0] = new RegExp("Trident(.*)rv.(\\d+)\\.(\\d+)"); parser[1] = "IE"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[163] = parser; parser = Object.create(null); parser[0] = new RegExp("(Espial)/(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[164] = parser; parser = Object.create(null); parser[0] = new RegExp("(AppleWebKit)/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "AppleMail"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[165] = parser; parser = Object.create(null); parser[0] = new RegExp("(Firefox)/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[166] = parser; parser = Object.create(null); parser[0] = new RegExp("(Firefox)/(\\d+)\\.(\\d+)(pre|[ab]\\d+[a-z]*)?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[167] = parser; parser = Object.create(null); parser[0] = new RegExp("([MS]?IE) (\\d+)\\.(\\d+)"); parser[1] = "IE"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[168] = parser; parser = Object.create(null); parser[0] = new RegExp("(python-requests)/(\\d+)\\.(\\d+)"); parser[1] = "Python Requests"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[169] = parser; parser = Object.create(null); parser[0] = new RegExp("(Java)[/ ]{0,1}\\d+\\.(\\d+)\\.(\\d+)[_-]*([a-zA-Z0-9]+)*"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[170] = parser; parser = Object.create(null); parser[0] = new RegExp("(Wget)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+[a-z]*)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[171] = parser; parser = Object.create(null); parser[0] = new RegExp("(curl)/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "cURL"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.browser[172] = parser; exports.browser.length = 173; exports.device = Object.create(null); parser = Object.create(null); parser[0] = new RegExp("(Rival IQ, rivaliq.com)"); parser[1] = "Spider"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[0] = parser; parser = Object.create(null); parser[0] = new RegExp("(?:(?:iPhone|Windows CE|Android).*(?:(?:Bot|Yeti)-Mobile|YRSpider|bots?/\\d|(?:bot|spider)\\.html)|AdsBot-Google-Mobile.*iPhone)"); parser[1] = "Spider"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[1] = parser; parser = Object.create(null); parser[0] = new RegExp("(?:DoCoMo|\\bMOT\\b|\\bLG\\b|Nokia|Samsung|SonyEricsson).*(?:(?:Bot|Yeti)-Mobile|bots?/\\d|(?:bot|crawler)\\.html|(?:jump|google|Wukong)bot|ichiro/mobile|/spider|YahooSeeker)"); parser[1] = "Spider"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[2] = parser; parser = Object.create(null); parser[0] = new RegExp("\\bSmartWatch *\\( *([^;]+) *; *([^;]+) *;"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[3] = parser; parser = Object.create(null); parser[0] = new RegExp("Android Application[^\\-]+ - (Sony) ?(Ericsson)? (.+) \\w+ - "); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[4] = parser; parser = Object.create(null); parser[0] = new RegExp("Android Application[^\\-]+ - (?:HTC|HUAWEI|LGE|LENOVO|MEDION|TCT) (HTC|HUAWEI|LG|LENOVO|MEDION|ALCATEL)[ _\\-](.+) \\w+ - "); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[5] = parser; parser = Object.create(null); parser[0] = new RegExp("Android Application[^\\-]+ - ([^ ]+) (.+) \\w+ - "); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[6] = parser; parser = Object.create(null); parser[0] = new RegExp("; *([BLRQ]C\\d{4}[A-Z]+) +Build/"); parser[1] = "3Q $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[7] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:3Q_)([^;/]+) +Build"); parser[1] = "3Q $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[8] = parser; parser = Object.create(null); parser[0] = new RegExp("Android [34].*; *(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700(?: Lite| 3G)?|A701|B1-A71|A1-\\d{3}|B1-\\d{3}|V360|V370|W500|W500P|W501|W501P|W510|W511|W700|Slider SL101|DA22[^;/]+) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[9] = parser; parser = Object.create(null); parser[0] = new RegExp("; *Acer Iconia Tab ([^;/]+) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[10] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Z1[1235]0|E320[^/]*|S500|S510|Liquid[^;/]*|Iconia A\\d+) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[11] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Acer |ACER )([^;/]+) Build"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[12] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Advent )?(Vega(?:Bean|Comb)?).* Build"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[13] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Ainol )?((?:NOVO|[Nn]ovo)[^;/]+) Build"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[14] = parser; parser = Object.create(null); parser[0] = new RegExp("; *AIRIS[ _\\-]?([^/;\\)]+) *(?:;|\\)|Build)"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[15] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(OnePAD[^;/]+) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[16] = parser; parser = Object.create(null); parser[0] = new RegExp("; *Airpad[ \\-]([^;/]+) Build"); parser[1] = "Airpad $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[17] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(one ?touch) (EVO7|T10|T20) Build"); parser[1] = "Alcatel One Touch $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[18] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:alcatel[ _])?(?:(?:one[ _]?touch[ _])|ot[ \\-])([^;/]+);? Build"); parser[1] = "Alcatel One Touch $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[19] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(TCL)[ _]([^;/]+) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[20] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Vodafone Smart II|Optimus_Madrid) Build"); parser[1] = "Alcatel $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[21] = parser; parser = Object.create(null); parser[0] = new RegExp("; *BASE_Lutea_3 Build"); parser[1] = "Alcatel One Touch 998"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[22] = parser; parser = Object.create(null); parser[0] = new RegExp("; *BASE_Varia Build"); parser[1] = "Alcatel One Touch 918D"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[23] = parser; parser = Object.create(null); parser[0] = new RegExp("; *((?:FINE|Fine)\\d[^;/]+) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[24] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(ALLVIEW[ _]?|Allview[ _]?)((?:Speed|SPEED).*) Build/"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[25] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(ALLVIEW[ _]?|Allview[ _]?)?(AX1_Shine|AX2_Frenzy) Build"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[26] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(ALLVIEW[ _]?|Allview[ _]?)([^;/]*) Build"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[27] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(A13-MID) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[28] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Allwinner)[ _\\-]?([^;/]+) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[29] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(A651|A701B?|A702|A703|A705|A706|A707|A711|A712|A713|A717|A722|A785|A801|A802|A803|A901|A902|A1002|A1003|A1006|A1007|A9701|A9703|Q710|Q80) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[30] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:AMOI|Amoi)[ _]([^;/]+) Build"); parser[1] = "Amoi $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[31] = parser; parser = Object.create(null); parser[0] = new RegExp("^(?:AMOI|Amoi)[ _]([^;/]+) Linux"); parser[1] = "Amoi $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[32] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(MW(?:0[789]|10)[^;/]+) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[33] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(G7|M1013|M1015G|M11[CG]?|M-?12[B]?|M15|M19[G]?|M30[ACQ]?|M31[GQ]|M32|M33[GQ]|M36|M37|M38|M701T|M710|M712B|M713|M715G|M716G|M71(?:G|GS|T)?|M72[T]?|M73[T]?|M75[GT]?|M77G|M79T|M7L|M7LN|M81|M810|M81T|M82|M92|M92KS|M92S|M717G|M721|M722G|M723|M725G|M739|M785|M791|M92SK|M93D) Build"); parser[1] = "Aoson $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[34] = parser; parser = Object.create(null); parser[0] = new RegExp("; *Aoson ([^;/]+) Build"); parser[1] = "Aoson $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[35] = parser; parser = Object.create(null); parser[0] = new RegExp("; *[Aa]panda[ _\\-]([^;/]+) Build"); parser[1] = "Apanda $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[36] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:ARCHOS|Archos) ?(GAMEPAD.*?)(?: Build|[;/\\(\\)\\-])"); parser[1] = "Archos $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[37] = parser; parser = Object.create(null); parser[0] = new RegExp("ARCHOS; GOGI; ([^;]+);"); parser[1] = "Archos $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[38] = parser; parser = Object.create(null); parser[0] = new RegExp("(?:ARCHOS|Archos)[ _]?(.*?)(?: Build|[;/\\(\\)\\-]|$)"); parser[1] = "Archos $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[39] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(AN(?:7|8|9|10|13)[A-Z0-9]{1,4}) Build"); parser[1] = "Archos $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[40] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(A28|A32|A43|A70(?:BHT|CHT|HB|S|X)|A101(?:B|C|IT)|A7EB|A7EB-WK|101G9|80G9) Build"); parser[1] = "Archos $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[41] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(PAD-FMD[^;/]+) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[42] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(BioniQ) ?([^;/]+) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[43] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(AN\\d[^;/]+|ARCHM\\d+) Build"); parser[1] = "Arnova $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[44] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:ARNOVA|Arnova) ?([^;/]+) Build"); parser[1] = "Arnova $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[45] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:ASSISTANT )?(AP)-?([1789]\\d{2}[A-Z]{0,2}|80104) Build"); parser[1] = "Assistant $1-$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[46] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(ME17\\d[^;/]*|ME3\\d{2}[^;/]+|K00[A-Z]|Nexus 10|Nexus 7(?: 2013)?|PadFone[^;/]*|Transformer[^;/]*|TF\\d{3}[^;/]*|eeepc) Build"); parser[1] = "Asus $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[47] = parser; parser = Object.create(null); parser[0] = new RegExp("; *ASUS[ _]*([^;/]+) Build"); parser[1] = "Asus $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[48] = parser; parser = Object.create(null); parser[0] = new RegExp("; *Garmin-Asus ([^;/]+) Build"); parser[1] = "Garmin-Asus $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[49] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Garminfone) Build"); parser[1] = "Garmin $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[50] = parser; parser = Object.create(null); parser[0] = new RegExp("; (@TAB-[^;/]+) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[51] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(T-(?:07|[^0]\\d)[^;/]+) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[52] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:Axioo[ _\\-]([^;/]+)|(picopad)[ _\\-]([^;/]+)) Build"); parser[1] = "Axioo $1$2 $3"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[53] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(V(?:100|700|800)[^;/]*) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[54] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(IBAK\\-[^;/]*) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[55] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(HY5001|HY6501|X12|X21|I5) Build"); parser[1] = "Bedove $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[56] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(JC-[^;/]*) Build"); parser[1] = "Benss $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[57] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(BB) ([^;/]+) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[58] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(BlackBird)[ _](I8.*) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; exports.device[59] = par