Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
_regexes.py6645 linesDownload Raw Back to ua_parser
1# -*- coding: utf-8 -*-2############################################3# NOTICE: This file is autogenerated from  #4# regexes.yaml. Do not edit by hand,       #5# instead, re-run `setup.py build_regexes` #6############################################7 8from __future__ import absolute_import, unicode_literals9from .user_agent_parser import (10    UserAgentParser, DeviceParser, OSParser,11)12 13__all__ = ('USER_AGENT_PARSERS', 'DEVICE_PARSERS', 'OS_PARSERS')14 15USER_AGENT_PARSERS = [16    UserAgentParser(17        '(GeoEvent Server) (\\d+)(?:\\.(\\d+)(?:\\.(\\d+)|)|)',18    ),19    UserAgentParser(20        '(ArcGIS Pro)(?: (\\d+)\\.(\\d+)\\.([^ ]+)|)',21    ),22    UserAgentParser(23        'ArcGIS Client Using WinInet',24        'ArcMap',25    ),26    UserAgentParser(27        '(OperationsDashboard)-(?:Windows)-(\\d+)\\.(\\d+)\\.(\\d+)',28        'Operations Dashboard for ArcGIS',29    ),30    UserAgentParser(31        '(arcgisearth)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',32        'ArcGIS Earth',33    ),34    UserAgentParser(35        'com.esri.(earth).phone/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',36        'ArcGIS Earth',37    ),38    UserAgentParser(39        '(arcgis-explorer)/(\\d+)\\.(\\d+)\\.(\\d+)',40        'Explorer for ArcGIS',41    ),42    UserAgentParser(43        'arcgis-(collector|aurora)/(\\d+)\\.(\\d+)\\.(\\d+)',44        'Collector for ArcGIS',45    ),46    UserAgentParser(47        '(arcgis-workforce)/(\\d+)\\.(\\d+)\\.(\\d+)',48        'Workforce for ArcGIS',49    ),50    UserAgentParser(51        '(Collector|Explorer|Workforce)-(?:Android|iOS)-(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',52        '$1 for ArcGIS',53    ),54    UserAgentParser(55        '(Explorer|Collector)/(\\d+) CFNetwork',56        '$1 for ArcGIS',57    ),58    UserAgentParser(59        'ArcGISRuntime-(Android|iOS|NET|Qt)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',60        'ArcGIS Runtime SDK for $1',61    ),62    UserAgentParser(63        'ArcGIS\\.?(iOS|Android|NET|Qt)(?:-|\\.)(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',64        'ArcGIS Runtime SDK for $1',65    ),66    UserAgentParser(67        'ArcGIS\\.Runtime\\.(Qt)\\.(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',68        'ArcGIS Runtime SDK for $1',69    ),70    UserAgentParser(71        '^(Luminary)[Stage]+/(\\d+) CFNetwork',72    ),73    UserAgentParser(74        '(ESPN)[%20| ]+Radio/(\\d+)\\.(\\d+)\\.(\\d+) CFNetwork',75    ),76    UserAgentParser(77        '(Antenna)/(\\d+) CFNetwork',78        'AntennaPod',79    ),80    UserAgentParser(81        '(TopPodcasts)Pro/(\\d+) CFNetwork',82    ),83    UserAgentParser(84        '(MusicDownloader)Lite/(\\d+)\\.(\\d+)\\.(\\d+) CFNetwork',85    ),86    UserAgentParser(87        '^(.{0,200})-iPad\\/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)(?:\\.(\\d+)|) CFNetwork',88    ),89    UserAgentParser(90        '^(.{0,200})-iPhone/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)(?:\\.(\\d+)|) CFNetwork',91    ),92    UserAgentParser(93        '^(.{0,200})/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)(?:\\.(\\d+)|) CFNetwork',94    ),95    UserAgentParser(96        '^(Luminary)/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)',97    ),98    UserAgentParser(99        '(espn\\.go)',100        'ESPN',101    ),102    UserAgentParser(103        '(espnradio\\.com)',104        'ESPN',105    ),106    UserAgentParser(107        'ESPN APP$',108        'ESPN',109    ),110    UserAgentParser(111        '(audioboom\\.com)',112        'AudioBoom',113    ),114    UserAgentParser(115        ' (Rivo) RHYTHM',116    ),117    UserAgentParser(118        '(CFNetwork)(?:/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)|)',119        'CFNetwork',120    ),121    UserAgentParser(122        '(Pingdom\\.com_bot_version_)(\\d+)\\.(\\d+)',123        'PingdomBot',124    ),125    UserAgentParser(126        '(PingdomTMS)/(\\d+)\\.(\\d+)\\.(\\d+)',127        'PingdomBot',128    ),129    UserAgentParser(130        '(PingdomPageSpeed)/(\\d+)\\.(\\d+)',131        'PingdomBot',132    ),133    UserAgentParser(134        ' (PTST)/(\\d+)(?:\\.(\\d+)|)$',135        'WebPageTest.org bot',136    ),137    UserAgentParser(138        'X11; (Datanyze); Linux',139    ),140    UserAgentParser(141        '(NewRelicPinger)/(\\d+)\\.(\\d+)',142        'NewRelicPingerBot',143    ),144    UserAgentParser(145        '(Tableau)/(\\d+)\\.(\\d+)',146        'Tableau',147    ),148    UserAgentParser(149        'AppleWebKit/\\d{1,10}\\.\\d{1,10}.{0,200} Safari.{0,200} (CreativeCloud)/(\\d+)\\.(\\d+).(\\d+)',150        'Adobe CreativeCloud',151    ),152    UserAgentParser(153        '(Salesforce)(?:.)\\/(\\d+)\\.(\\d?)',154    ),155    UserAgentParser(156        '(\\(StatusCake\\))',157        'StatusCakeBot',158    ),159    UserAgentParser(160        '(facebookexternalhit)/(\\d+)\\.(\\d+)',161        'FacebookBot',162    ),163    UserAgentParser(164        'Google.{0,50}/\\+/web/snippet',165        'GooglePlusBot',166    ),167    UserAgentParser(168        'via ggpht\\.com GoogleImageProxy',169        'GmailImageProxy',170    ),171    UserAgentParser(172        'YahooMailProxy; https://help\\.yahoo\\.com/kb/yahoo-mail-proxy-SLN28749\\.html',173        'YahooMailProxy',174    ),175    UserAgentParser(176        '(Twitterbot)/(\\d+)\\.(\\d+)',177        'Twitterbot',178    ),179    UserAgentParser(180        '/((?:Ant-|)Nutch|[A-z]+[Bb]ot|[A-z]+[Ss]pider|Axtaris|fetchurl|Isara|ShopSalad|Tailsweep)[ \\-](\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)',181    ),182    UserAgentParser(183        '\\b(008|Altresium|Argus|BaiduMobaider|BoardReader|DNSGroup|DataparkSearch|EDI|Goodzer|Grub|INGRID|Infohelfer|LinkedInBot|LOOQ|Nutch|OgScrper|Pandora|PathDefender|Peew|PostPost|Steeler|Twitterbot|VSE|WebCrunch|WebZIP|Y!J-BR[A-Z]|YahooSeeker|envolk|sproose|wminer)/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)',184    ),185    UserAgentParser(186        '(MSIE) (\\d+)\\.(\\d+)([a-z]\\d|[a-z]|);.{0,200} MSIECrawler',187        'MSIECrawler',188    ),189    UserAgentParser(190        '(DAVdroid)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',191    ),192    UserAgentParser(193        '(Google-HTTP-Java-Client|Apache-HttpClient|PostmanRuntime|Go-http-client|scalaj-http|http%20client|Python-urllib|HttpMonitor|TLSProber|WinHTTP|JNLP|okhttp|aihttp|reqwest|axios|unirest-(?:java|python|ruby|nodejs|php|net))(?:[ /](\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)|)',194    ),195    UserAgentParser(196        '(Pinterest(?:bot|))/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)[;\\s(]+\\+https://www.pinterest.com/bot.html',197        'Pinterestbot',198    ),199    UserAgentParser(200        '(CSimpleSpider|Cityreview Robot|CrawlDaddy|CrawlFire|Finderbots|Index crawler|Job Roboter|KiwiStatus Spider|Lijit Crawler|QuerySeekerSpider|ScollSpider|Trends Crawler|USyd-NLP-Spider|SiteCat Webbot|BotName\\/\\$BotVersion|123metaspider-Bot|1470\\.net crawler|50\\.nu|8bo Crawler Bot|Aboundex|Accoona-[A-z]{1,30}-Agent|AdsBot-Google(?:-[a-z]{1,30}|)|altavista|AppEngine-Google|archive.{0,30}\\.org_bot|archiver|Ask Jeeves|[Bb]ai[Dd]u[Ss]pider(?:-[A-Za-z]{1,30})(?:-[A-Za-z]{1,30}|)|bingbot|BingPreview|blitzbot|BlogBridge|Bloglovin|BoardReader Blog Indexer|BoardReader Favicon Fetcher|boitho.com-dc|BotSeer|BUbiNG|\\b\\w{0,30}favicon\\w{0,30}\\b|\\bYeti(?:-[a-z]{1,30}|)|Catchpoint(?: bot|)|[Cc]harlotte|Checklinks|clumboot|Comodo HTTP\\(S\\) Crawler|Comodo-Webinspector-Crawler|ConveraCrawler|CRAWL-E|CrawlConvera|Daumoa(?:-feedfetcher|)|Feed Seeker Bot|Feedbin|findlinks|Flamingo_SearchEngine|FollowSite Bot|furlbot|Genieo|gigabot|GomezAgent|gonzo1|(?:[a-zA-Z]{1,30}-|)Googlebot(?:-[a-zA-Z]{1,30}|)|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]{1,30}Bot|jbot\\b|KaloogaBot|Kraken|Kurzor|larbin|LEIA|LesnikBot|Linguee Bot|LinkAider|LinkedInBot|Lite Bot|Llaut|lycos|Mail\\.RU_Bot|masscan|masidani_bot|Mediapartners-Google|Microsoft .{0,30} Bot|mogimogi|mozDex|MJ12bot|msnbot(?:-media {0,2}|)|msrbot|Mtps Feed Aggregation System|netresearch|Netvibes|NewsGator[^/]{0,30}|^NING|Nutch[^/]{0,30}|Nymesis|ObjectsSearch|OgScrper|Orbiter|OOZBOT|PagePeeker|PagesInventory|PaxleFramework|Peeplo Screenshot Bot|PHPCrawl|PlantyNet_WebRobot|Pompos|Qwantify|Read%20Later|Reaper|RedCarpet|Retreiver|Riddler|Rival IQ|scooter|Scrapy|Scrubby|searchsight|seekbot|semanticdiscovery|SemrushBot|Simpy|SimplePie|SEOstats|SimpleRSS|SiteCon|Slackbot-LinkExpanding|Slack-ImgProxy|Slurp|snappy|Speedy Spider|Squrl Java|Stringer|TheUsefulbot|ThumbShotsBot|Thumbshots\\.ru|Tiny Tiny RSS|Twitterbot|WhatsApp|URL2PNG|Vagabondo|VoilaBot|^vortex|Votay bot|^voyager|WASALive.Bot|Web-sniffer|WebThumb|WeSEE:[A-z]{1,30}|WhatWeb|WIRE|WordPress|Wotbox|www\\.almaden\\.ibm\\.com|Xenu(?:.s|) Link Sleuth|Xerka [A-z]{1,30}Bot|yacy(?:bot|)|YahooSeeker|Yahoo! Slurp|Yandex\\w{1,30}|YodaoBot(?:-[A-z]{1,30}|)|YottaaMonitor|Yowedo|^Zao|^Zao-Crawler|ZeBot_www\\.ze\\.bz|ZooShot|ZyBorg|ArcGIS Hub Indexer)(?:[ /]v?(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)|)|)|)',201    ),202    UserAgentParser(203        '\\b(Boto3?|JetS3t|aws-(?:cli|sdk-(?:cpp|go|java|nodejs|ruby2?|dotnet-(?:\\d{1,2}|core)))|s3fs)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',204    ),205    UserAgentParser(206        '(FME)\\/(\\d+\\.\\d+)\\.(\\d+)\\.(\\d+)',207    ),208    UserAgentParser(209        '(QGIS)\\/(\\d)\\.?0?(\\d{1,2})\\.?0?(\\d{1,2})',210    ),211    UserAgentParser(212        '(JOSM)/(\\d+)\\.(\\d+)',213    ),214    UserAgentParser(215        '(Tygron Platform) \\((\\d+)\\.(\\d+)\\.(\\d+(?:\\.\\d+| RC \\d+\\.\\d+))',216    ),217    UserAgentParser(218        '\\[(FBAN/MessengerForiOS|FB_IAB/MESSENGER);FBAV/(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)|)|)|)',219        'Facebook Messenger',220    ),221    UserAgentParser(222        '\\[FB.{0,300};(FBAV)/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)',223        'Facebook',224    ),225    UserAgentParser(226        '\\[FB.{0,300};',227        'Facebook',228    ),229    UserAgentParser(230        '^.{0,200}?(?:\\/[A-Za-z0-9\\.]{0,50}|) {0,2}([A-Za-z0-9 \\-_\\!\\[\\]:]{0,50}(?:[Aa]rchiver|[Ii]ndexer|[Ss]craper|[Bb]ot|[Ss]pider|[Cc]rawl[a-z]{0,50}))[/ ](\\d+)(?:\\.(\\d+)(?:\\.(\\d+)|)|)',231    ),232    UserAgentParser(233        '^.{0,200}?((?:[A-Za-z][A-Za-z0-9 -]{0,50}|)[^C][^Uu][Bb]ot)\\b(?:(?:[ /]| v)(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)|)',234    ),235    UserAgentParser(236        '^.{0,200}?((?:[A-z0-9]{1,50}|[A-z\\-]{1,50} ?|)(?: the |)(?:[Ss][Pp][Ii][Dd][Ee][Rr]|[Ss]crape|[Cc][Rr][Aa][Ww][Ll])[A-z0-9]{0,50})(?:(?:[ /]| v)(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)|)',237    ),238    UserAgentParser(239        '(HbbTV)/(\\d+)\\.(\\d+)\\.(\\d+) \\(',240    ),241    UserAgentParser(242        '(Chimera|SeaMonkey|Camino|Waterfox)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+[a-z]*|)',243    ),244    UserAgentParser(245        '(SailfishBrowser)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',246        'Sailfish Browser',247    ),248    UserAgentParser(249        '\\[(Pinterest)/[^\\]]{1,50}\\]',250    ),251    UserAgentParser(252        '(Pinterest)(?: for Android(?: Tablet|)|)/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)',253    ),254    UserAgentParser(255        'Mozilla.{1,200}Mobile.{1,100}(Instagram).(\\d+)\\.(\\d+)\\.(\\d+)',256    ),257    UserAgentParser(258        'Mozilla.{1,200}Mobile.{1,100}(Flipboard).(\\d+)\\.(\\d+)\\.(\\d+)',259    ),260    UserAgentParser(261        'Mozilla.{1,200}Mobile.{1,100}(Flipboard-Briefing).(\\d+)\\.(\\d+)\\.(\\d+)',262    ),263    UserAgentParser(264        'Mozilla.{1,200}Mobile.{1,100}(Onefootball)\\/Android.(\\d+)\\.(\\d+)\\.(\\d+)',265    ),266    UserAgentParser(267        '(Snapchat)\\/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)',268    ),269    UserAgentParser(270        '(Twitter for (?:iPhone|iPad)|TwitterAndroid)(?:\\/(\\d+)\\.(\\d+)|)',271        'Twitter',272    ),273    UserAgentParser(274        'Mozilla.{1,200}Mobile.{1,100}(Phantom\\/ios|android).(\\d+)\\.(\\d+)\\.(\\d+)',275        'Phantom',276    ),277    UserAgentParser(278        'Mozilla.{1,100}Mobile.{1,100}(AspiegelBot|PetalBot)',279        'Spider',280    ),281    UserAgentParser(282        'AspiegelBot|PetalBot',283        'Spider',284    ),285    UserAgentParser(286        '(Firefox)/(\\d+)\\.(\\d+) Basilisk/(\\d+)',287        'Basilisk',288    ),289    UserAgentParser(290        '(PaleMoon)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',291        'Pale Moon',292    ),293    UserAgentParser(294        '(Fennec)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+[a-z]*)',295        'Firefox Mobile',296    ),297    UserAgentParser(298        '(Fennec)/(\\d+)\\.(\\d+)(pre)',299        'Firefox Mobile',300    ),301    UserAgentParser(302        '(Fennec)/(\\d+)\\.(\\d+)',303        'Firefox Mobile',304    ),305    UserAgentParser(306        '(?:Mobile|Tablet);.{0,200}(Firefox)/(\\d+)\\.(\\d+)',307        'Firefox Mobile',308    ),309    UserAgentParser(310        '(Namoroka|Shiretoko|Minefield)/(\\d+)\\.(\\d+)\\.(\\d+(?:pre|))',311        'Firefox ($1)',312    ),313    UserAgentParser(314        '(Firefox)/(\\d+)\\.(\\d+)(a\\d+[a-z]*)',315        'Firefox Alpha',316    ),317    UserAgentParser(318        '(Firefox)/(\\d+)\\.(\\d+)(b\\d+[a-z]*)',319        'Firefox Beta',320    ),321    UserAgentParser(322        '(Firefox)-(?:\\d+\\.\\d+|)/(\\d+)\\.(\\d+)(a\\d+[a-z]*)',323        'Firefox Alpha',324    ),325    UserAgentParser(326        '(Firefox)-(?:\\d+\\.\\d+|)/(\\d+)\\.(\\d+)(b\\d+[a-z]*)',327        'Firefox Beta',328    ),329    UserAgentParser(330        '(Namoroka|Shiretoko|Minefield)/(\\d+)\\.(\\d+)([ab]\\d+[a-z]*|)',331        'Firefox ($1)',332    ),333    UserAgentParser(334        '(Firefox).{0,200}Tablet browser (\\d+)\\.(\\d+)\\.(\\d+)',335        'MicroB',336    ),337    UserAgentParser(338        '(MozillaDeveloperPreview)/(\\d+)\\.(\\d+)([ab]\\d+[a-z]*|)',339    ),340    UserAgentParser(341        '(FxiOS)/(\\d+)\\.(\\d+)(\\.(\\d+)|)(\\.(\\d+)|)',342        'Firefox iOS',343    ),344    UserAgentParser(345        '(Flock)/(\\d+)\\.(\\d+)(b\\d+?)',346    ),347    UserAgentParser(348        '(RockMelt)/(\\d+)\\.(\\d+)\\.(\\d+)',349    ),350    UserAgentParser(351        '(Navigator)/(\\d+)\\.(\\d+)\\.(\\d+)',352        'Netscape',353    ),354    UserAgentParser(355        '(Navigator)/(\\d+)\\.(\\d+)([ab]\\d+)',356        'Netscape',357    ),358    UserAgentParser(359        '(Netscape6)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+|)',360        'Netscape',361    ),362    UserAgentParser(363        '(MyIBrow)/(\\d+)\\.(\\d+)',364        'My Internet Browser',365    ),366    UserAgentParser(367        '(UC? ?Browser|UCWEB|U3)[ /]?(\\d+)\\.(\\d+)\\.(\\d+)',368        'UC Browser',369    ),370    UserAgentParser(371        '(Opera Tablet).{0,200}Version/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',372    ),373    UserAgentParser(374        '(Opera Mini)(?:/att|)/?(\\d+|)(?:\\.(\\d+)|)(?:\\.(\\d+)|)',375    ),376    UserAgentParser(377        '(Opera)/.{1,100}Opera Mobi.{1,100}Version/(\\d+)\\.(\\d+)',378        'Opera Mobile',379    ),380    UserAgentParser(381        '(Opera)/(\\d+)\\.(\\d+).{1,100}Opera Mobi',382        'Opera Mobile',383    ),384    UserAgentParser(385        'Opera Mobi.{1,100}(Opera)(?:/|\\s+)(\\d+)\\.(\\d+)',386        'Opera Mobile',387    ),388    UserAgentParser(389        'Opera Mobi',390        'Opera Mobile',391    ),392    UserAgentParser(393        '(Opera)/9.80.{0,200}Version/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',394    ),395    UserAgentParser(396        '(?:Mobile Safari).{1,300}(OPR)/(\\d+)\\.(\\d+)\\.(\\d+)',397        'Opera Mobile',398    ),399    UserAgentParser(400        '(?:Chrome).{1,300}(OPR)/(\\d+)\\.(\\d+)\\.(\\d+)',401        'Opera',402    ),403    UserAgentParser(404        '(Coast)/(\\d+).(\\d+).(\\d+)',405        'Opera Coast',406    ),407    UserAgentParser(408        '(OPiOS)/(\\d+).(\\d+).(\\d+)',409        'Opera Mini',410    ),411    UserAgentParser(412        'Chrome/.{1,200}( MMS)/(\\d+).(\\d+).(\\d+)',413        'Opera Neon',414    ),415    UserAgentParser(416        '(hpw|web)OS/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',417        'webOS Browser',418    ),419    UserAgentParser(420        '(luakit)',421        'LuaKit',422    ),423    UserAgentParser(424        '(Snowshoe)/(\\d+)\\.(\\d+).(\\d+)',425    ),426    UserAgentParser(427        'Gecko/\\d+ (Lightning)/(\\d+)\\.(\\d+)\\.?((?:[ab]?\\d+[a-z]*)|(?:\\d*))',428    ),429    UserAgentParser(430        '(Firefox)/(\\d+)\\.(\\d+)\\.(\\d+(?:pre|)) \\(Swiftfox\\)',431        'Swiftfox',432    ),433    UserAgentParser(434        '(Firefox)/(\\d+)\\.(\\d+)([ab]\\d+[a-z]*|) \\(Swiftfox\\)',435        'Swiftfox',436    ),437    UserAgentParser(438        '(rekonq)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|) Safari',439        'Rekonq',440    ),441    UserAgentParser(442        'rekonq',443        'Rekonq',444    ),445    UserAgentParser(446        '(conkeror|Conkeror)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',447        'Conkeror',448    ),449    UserAgentParser(450        '(konqueror)/(\\d+)\\.(\\d+)\\.(\\d+)',451        'Konqueror',452    ),453    UserAgentParser(454        '(WeTab)-Browser',455    ),456    UserAgentParser(457        '(Comodo_Dragon)/(\\d+)\\.(\\d+)\\.(\\d+)',458        'Comodo Dragon',459    ),460    UserAgentParser(461        '(Symphony) (\\d+).(\\d+)',462    ),463    UserAgentParser(464        'PLAYSTATION 3.{1,200}WebKit',465        'NetFront NX',466    ),467    UserAgentParser(468        'PLAYSTATION 3',469        'NetFront',470    ),471    UserAgentParser(472        '(PlayStation Portable)',473        'NetFront',474    ),475    UserAgentParser(476        '(PlayStation Vita)',477        'NetFront NX',478    ),479    UserAgentParser(480        'AppleWebKit.{1,200} (NX)/(\\d+)\\.(\\d+)\\.(\\d+)',481        'NetFront NX',482    ),483    UserAgentParser(484        '(Nintendo 3DS)',485        'NetFront NX',486    ),487    UserAgentParser(488        '(Silk)/(\\d+)\\.(\\d+)(?:\\.([0-9\\-]+)|)',489        'Amazon Silk',490    ),491    UserAgentParser(492        '(Puffin)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',493    ),494    UserAgentParser(495        'Windows Phone .{0,200}(Edge)/(\\d+)\\.(\\d+)',496        'Edge Mobile',497    ),498    UserAgentParser(499        '(EdgiOS|EdgA)/(\\d+)\\.(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',500        'Edge Mobile',501    ),502    UserAgentParser(503        '(OculusBrowser)/(\\d+)\\.(\\d+).0.0(?:\\.([0-9\\-]+)|)',504        'Oculus Browser',505    ),506    UserAgentParser(507        '(SamsungBrowser)/(\\d+)\\.(\\d+)',508        'Samsung Internet',509    ),510    UserAgentParser(511        '(SznProhlizec)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',512        'Seznam prohlížeč',513    ),514    UserAgentParser(515        '(coc_coc_browser)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',516        'Coc Coc',517    ),518    UserAgentParser(519        '(baidubrowser)[/\\s](\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)',520        'Baidu Browser',521    ),522    UserAgentParser(523        '(FlyFlow)/(\\d+)\\.(\\d+)',524        'Baidu Explorer',525    ),526    UserAgentParser(527        '(MxBrowser)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',528        'Maxthon',529    ),530    UserAgentParser(531        '(Crosswalk)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)',532    ),533    UserAgentParser(534        '(Line)/(\\d+)\\.(\\d+)\\.(\\d+)',535        'LINE',536    ),537    UserAgentParser(538        '(MiuiBrowser)/(\\d+)\\.(\\d+)\\.(\\d+)',539        'MiuiBrowser',540    ),541    UserAgentParser(542        '(Mint Browser)/(\\d+)\\.(\\d+)\\.(\\d+)',543        'Mint Browser',544    ),545    UserAgentParser(546        '(TopBuzz)/(\\d+).(\\d+).(\\d+)',547        'TopBuzz',548    ),549    UserAgentParser(550        'Mozilla.{1,200}Android.{1,200}(GSA)/(\\d+)\\.(\\d+)\\.(\\d+)',551        'Google',552    ),553    UserAgentParser(554        '(MQQBrowser/Mini)(?:(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)|)',555        'QQ Browser Mini',556    ),557    UserAgentParser(558        '(MQQBrowser)(?:/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)|)',559        'QQ Browser Mobile',560    ),561    UserAgentParser(562        '(QQBrowser)(?:/(\\d+)(?:\\.(\\d+)\\.(\\d+)(?:\\.(\\d+)|)|)|)',563        'QQ Browser',564    ),565    UserAgentParser(566        'Mobile.{0,200}(DuckDuckGo)/(\\d+)',567        'DuckDuckGo Mobile',568    ),569    UserAgentParser(570        '(Tenta/)(\\d+)\\.(\\d+)\\.(\\d+)',571        'Tenta Browser',572    ),573    UserAgentParser(574        'Version/.{1,300}(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)',575        'Chrome Mobile WebView',576    ),577    UserAgentParser(578        '; wv\\).{1,300}(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)',579        'Chrome Mobile WebView',580    ),581    UserAgentParser(582        '(CrMo)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)',583        'Chrome Mobile',584    ),585    UserAgentParser(586        '(CriOS)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)',587        'Chrome Mobile iOS',588    ),589    UserAgentParser(590        '(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+) Mobile(?:[ /]|$)',591        'Chrome Mobile',592    ),593    UserAgentParser(594        ' Mobile .{1,300}(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)',595        'Chrome Mobile',596    ),597    UserAgentParser(598        '(chromeframe)/(\\d+)\\.(\\d+)\\.(\\d+)',599        'Chrome Frame',600    ),601    UserAgentParser(602        '(SLP Browser)/(\\d+)\\.(\\d+)',603        'Tizen Browser',604    ),605    UserAgentParser(606        '(SE 2\\.X) MetaSr (\\d+)\\.(\\d+)',607        'Sogou Explorer',608    ),609    UserAgentParser(610        '(Rackspace Monitoring)/(\\d+)\\.(\\d+)',611        'RackspaceBot',612    ),613    UserAgentParser(614        '(PRTG Network Monitor)',615    ),616    UserAgentParser(617        '(PyAMF)/(\\d+)\\.(\\d+)\\.(\\d+)',618    ),619    UserAgentParser(620        '(YaBrowser)/(\\d+)\\.(\\d+)\\.(\\d+)',621        'Yandex Browser',622    ),623    UserAgentParser(624        '(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+).{0,100} MRCHROME',625        'Mail.ru Chromium Browser',626    ),627    UserAgentParser(628        '(AOL) (\\d+)\\.(\\d+); AOLBuild (\\d+)',629    ),630    UserAgentParser(631        '(PodCruncher|Downcast)[ /]?(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)(?:\\.(\\d+)|)',632    ),633    UserAgentParser(634        ' (BoxNotes)/(\\d+)\\.(\\d+)\\.(\\d+)',635    ),636    UserAgentParser(637        '(Whale)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+) Mobile(?:[ /]|$)',638        'Whale',639    ),640    UserAgentParser(641        '(Whale)/(\\d+)\\.(\\d+)\\.(\\d+)',642        'Whale',643    ),644    UserAgentParser(645        '(1Password)/(\\d+)\\.(\\d+)\\.(\\d+)',646    ),647    UserAgentParser(648        '(Ghost)/(\\d+)\\.(\\d+)\\.(\\d+)',649    ),650    UserAgentParser(651        'PAN (GlobalProtect)/(\\d+)\\.(\\d+)\\.(\\d+) .{1,100} \\(X11; Linux x86_64\\)',652    ),653    UserAgentParser(654        '^(surveyon)/(\\d+)\\.(\\d+)\\.(\\d+)',655        'Surveyon',656    ),657    UserAgentParser(658        '(Slack_SSB)/(\\d+)\\.(\\d+)\\.(\\d+)',659        'Slack Desktop Client',660    ),661    UserAgentParser(662        '(HipChat)/?(\\d+|)',663        'HipChat Desktop Client',664    ),665    UserAgentParser(666        '\\b(MobileIron|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|MacOutlook|Electron|OktaMobile)/(\\d+)\\.(\\d+)\\.(\\d+)',667    ),668    UserAgentParser(669        'Microsoft Office Outlook 12\\.\\d+\\.\\d+|MSOffice 12',670        'Outlook',671        '2007',672    ),673    UserAgentParser(674        'Microsoft Outlook 14\\.\\d+\\.\\d+|MSOffice 14',675        'Outlook',676        '2010',677    ),678    UserAgentParser(679        'Microsoft Outlook 15\\.\\d+\\.\\d+',680        'Outlook',681        '2013',682    ),683    UserAgentParser(684        'Microsoft Outlook (?:Mail )?16\\.\\d+\\.\\d+|MSOffice 16',685        'Outlook',686        '2016',687    ),688    UserAgentParser(689        'Microsoft Office (Word) 2014',690    ),691    UserAgentParser(692        'Outlook-Express\\/7\\.0',693        'Windows Live Mail',694    ),695    UserAgentParser(696        '(Airmail) (\\d+)\\.(\\d+)(?:\\.(\\d+)|)',697    ),698    UserAgentParser(699        '(Thunderbird)/(\\d+)\\.(\\d+)(?:\\.(\\d+(?:pre|))|)',700        'Thunderbird',701    ),702    UserAgentParser(703        '(Postbox)/(\\d+)\\.(\\d+)\\.(\\d+)',704        'Postbox',705    ),706    UserAgentParser(707        '(Barca(?:Pro)?)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',708        'Barca',709    ),710    UserAgentParser(711        '(Lotus-Notes)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',712        'Lotus Notes',713    ),714    UserAgentParser(715        'Superhuman',716        'Superhuman',717    ),718    UserAgentParser(719        '(Vivaldi)/(\\d+)\\.(\\d+)\\.(\\d+)',720    ),721    UserAgentParser(722        '(Edge?)/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)(?:\\.(\\d+)|)',723        'Edge',724    ),725    UserAgentParser(726        '(brave)/(\\d+)\\.(\\d+)\\.(\\d+) Chrome',727        'Brave',728    ),729    UserAgentParser(730        '(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)[\\d.]{0,100} Iron[^/]',731        'Iron',732    ),733    UserAgentParser(734        '\\b(Dolphin)(?: |HDCN/|/INT\\-)(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',735    ),736    UserAgentParser(737        '(HeadlessChrome)(?:/(\\d+)\\.(\\d+)\\.(\\d+)|)',738    ),739    UserAgentParser(740        '(Evolution)/(\\d+)\\.(\\d+)\\.(\\d+\\.\\d+)',741    ),742    UserAgentParser(743        '(RCM CardDAV plugin)/(\\d+)\\.(\\d+)\\.(\\d+(?:-dev|))',744    ),745    UserAgentParser(746        '(bingbot|Bolt|AdobeAIR|Jasmine|IceCat|Skyfire|Midori|Maxthon|Lynx|Arora|IBrowse|Dillo|Camino|Shiira|Fennec|Phoenix|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|MailBar|kmail2|YahooMobileMail|ExchangeWebServices|ExchangeServicesClient|Dragon|Outlook-iOS-Android)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',747    ),748    UserAgentParser(749        '(Chromium|Chrome)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)',750    ),751    UserAgentParser(752        '(IEMobile)[ /](\\d+)\\.(\\d+)',753        'IE Mobile',754    ),755    UserAgentParser(756        '(BacaBerita App)\\/(\\d+)\\.(\\d+)\\.(\\d+)',757    ),758    UserAgentParser(759        '^(bPod|Pocket Casts|Player FM)$',760    ),761    UserAgentParser(762        '^(AlexaMediaPlayer|VLC)/(\\d+)\\.(\\d+)\\.([^.\\s]+)',763    ),764    UserAgentParser(765        '^(AntennaPod|WMPlayer|Zune|Podkicker|Radio|ExoPlayerDemo|Overcast|PocketTunes|NSPlayer|okhttp|DoggCatcher|QuickNews|QuickTime|Peapod|Podcasts|GoldenPod|VLC|Spotify|Miro|MediaGo|Juice|iPodder|gPodder|Banshee)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)',766    ),767    UserAgentParser(768        '^(Peapod|Liferea)/([^.\\s]+)\\.([^.\\s]+|)\\.?([^.\\s]+|)',769    ),770    UserAgentParser(771        '^(bPod|Player FM) BMID/(\\S+)',772    ),773    UserAgentParser(774        '^(Podcast ?Addict)/v(\\d+) ',775    ),776    UserAgentParser(777        '^(Podcast ?Addict) ',778        'PodcastAddict',779    ),780    UserAgentParser(781        '(Replay) AV',782    ),783    UserAgentParser(784        '(VOX) Music Player',785    ),786    UserAgentParser(787        '(CITA) RSS Aggregator/(\\d+)\\.(\\d+)',788    ),789    UserAgentParser(790        '(Pocket Casts)$',791    ),792    UserAgentParser(793        '(Player FM)$',794    ),795    UserAgentParser(796        '(LG Player|Doppler|FancyMusic|MediaMonkey|Clementine) (\\d+)\\.(\\d+)\\.?([^.\\s]+|)\\.?([^.\\s]+|)',797    ),798    UserAgentParser(799        '(philpodder)/(\\d+)\\.(\\d+)\\.?([^.\\s]+|)\\.?([^.\\s]+|)',800    ),801    UserAgentParser(802        '(Player FM|Pocket Casts|DoggCatcher|Spotify|MediaMonkey|MediaGo|BashPodder)',803    ),804    UserAgentParser(805        '(QuickTime)\\.(\\d+)\\.(\\d+)\\.(\\d+)',806    ),807    UserAgentParser(808        '(Kinoma)(\\d+)',809    ),810    UserAgentParser(811        '(Fancy) Cloud Music (\\d+)\\.(\\d+)',812        'FancyMusic',813    ),814    UserAgentParser(815        'EspnDownloadManager',816        'ESPN',817    ),818    UserAgentParser(819        '(ESPN) Radio (\\d+)\\.(\\d+)(?:\\.(\\d+)|) ?(?:rv:(\\d+)|) ',820    ),821    UserAgentParser(822        '(podracer|jPodder) v ?(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',823    ),824    UserAgentParser(825        '(ZDM)/(\\d+)\\.(\\d+)[; ]?',826    ),827    UserAgentParser(828        '(Zune|BeyondPod) (\\d+)(?:\\.(\\d+)|)[\\);]',829    ),830    UserAgentParser(831        '(WMPlayer)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)',832    ),833    UserAgentParser(834        '^(Lavf)',835        'WMPlayer',836    ),837    UserAgentParser(838        '^(RSSRadio)[ /]?(\\d+|)',839    ),840    UserAgentParser(841        '(RSS_Radio) (\\d+)\\.(\\d+)',842        'RSSRadio',843    ),844    UserAgentParser(845        '(Podkicker) \\S+/(\\d+)\\.(\\d+)\\.(\\d+)',846        'Podkicker',847    ),848    UserAgentParser(849        '^(HTC) Streaming Player \\S+ / \\S+ / \\S+ / (\\d+)\\.(\\d+)(?:\\.(\\d+)|)',850    ),851    UserAgentParser(852        '^(Stitcher)/iOS',853    ),854    UserAgentParser(855        '^(Stitcher)/Android',856    ),857    UserAgentParser(858        '^(VLC) .{0,200}version (\\d+)\\.(\\d+)\\.(\\d+)',859    ),860    UserAgentParser(861        ' (VLC) for',862    ),863    UserAgentParser(864        '(vlc)/(\\d+)\\.(\\d+)\\.(\\d+)',865        'VLC',866    ),867    UserAgentParser(868        '^(foobar)\\S{1,10}/(\\d+)\\.(\\d+|)\\.?([\\da-z]+|)',869    ),870    UserAgentParser(871        '^(Clementine)\\S{1,10} (\\d+)\\.(\\d+|)\\.?(\\d+|)',872    ),873    UserAgentParser(874        '(amarok)/(\\d+)\\.(\\d+|)\\.?(\\d+|)',875        'Amarok',876    ),877    UserAgentParser(878        '(Custom)-Feed Reader',879    ),880    UserAgentParser(881        '(iRider|Crazy Browser|SkipStone|iCab|Lunascape|Sleipnir|Maemo Browser) (\\d+)\\.(\\d+)\\.(\\d+)',882    ),883    UserAgentParser(884        '(iCab|Lunascape|Opera|Android|Jasmine|Polaris|Microsoft SkyDriveSync|The Bat!) (\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)',885    ),886    UserAgentParser(887        '(Kindle)/(\\d+)\\.(\\d+)',888    ),889    UserAgentParser(890        '(Android) Donut',891        None,892        '1',893        '2',894    ),895    UserAgentParser(896        '(Android) Eclair',897        None,898        '2',899        '1',900    ),901    UserAgentParser(902        '(Android) Froyo',903        None,904        '2',905        '2',906    ),907    UserAgentParser(908        '(Android) Gingerbread',909        None,910        '2',911        '3',912    ),913    UserAgentParser(914        '(Android) Honeycomb',915        None,916        '3',917    ),918    UserAgentParser(919        '(MSIE) (\\d+)\\.(\\d+).{0,100}XBLWP7',920        'IE Large Screen',921    ),922    UserAgentParser(923        '(Nextcloud)',924    ),925    UserAgentParser(926        '(mirall)/(\\d+)\\.(\\d+)\\.(\\d+)',927    ),928    UserAgentParser(929        '(ownCloud-android)/(\\d+)\\.(\\d+)\\.(\\d+)',930        'Owncloud',931    ),932    UserAgentParser(933        '(OC)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+) \\(Skype for Business\\)',934        'Skype',935    ),936    UserAgentParser(937        '(OpenVAS)(?:-VT)?(?:[ \\/](\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)|)',938        'OpenVAS Scanner',939    ),940    UserAgentParser(941        '(AnyConnect)\\/(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)|)|)',942    ),943    UserAgentParser(944        'compatible; monitis',945        'Monitis',946    ),947    UserAgentParser(948        '(Obigo)InternetBrowser',949    ),950    UserAgentParser(951        '(Obigo)\\-Browser',952    ),953    UserAgentParser(954        '(Obigo|OBIGO)[^\\d]*(\\d+)(?:.(\\d+)|)',955        'Obigo',956    ),957    UserAgentParser(958        '(MAXTHON|Maxthon) (\\d+)\\.(\\d+)',959        'Maxthon',960    ),961    UserAgentParser(962        '(Maxthon|MyIE2|Uzbl|Shiira)',963        None,964        '0',965    ),966    UserAgentParser(967        '(BrowseX) \\((\\d+)\\.(\\d+)\\.(\\d+)',968    ),969    UserAgentParser(970        '(NCSA_Mosaic)/(\\d+)\\.(\\d+)',971        'NCSA Mosaic',972    ),973    UserAgentParser(974        '(POLARIS)/(\\d+)\\.(\\d+)',975        'Polaris',976    ),977    UserAgentParser(978        '(Embider)/(\\d+)\\.(\\d+)',979        'Polaris',980    ),981    UserAgentParser(982        '(BonEcho)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+|)',983        'Bon Echo',984    ),985    UserAgentParser(986        '(TopBuzz) com.alex.NewsMaster/(\\d+).(\\d+).(\\d+)',987        'TopBuzz',988    ),989    UserAgentParser(990        '(TopBuzz) com.mobilesrepublic.newsrepublic/(\\d+).(\\d+).(\\d+)',991        'TopBuzz',992    ),993    UserAgentParser(994        '(TopBuzz) com.topbuzz.videoen/(\\d+).(\\d+).(\\d+)',995        'TopBuzz',996    ),997    UserAgentParser(998        '(iPod|iPhone|iPad).{1,200}GSA/(\\d+)\\.(\\d+)\\.(\\d+)(?:\\.(\\d+)|) Mobile',999        'Google',1000    ),1001    UserAgentParser(1002        '(iPod|iPhone|iPad).{1,200}Version/(\\d+)\\.(\\d+)(?:\\.(\\d+)|).{1,200}[ +]Safari',1003        'Mobile Safari',1004    ),1005    UserAgentParser(1006        '(iPod|iPod touch|iPhone|iPad);.{0,30}CPU.{0,30}OS[ +](\\d+)_(\\d+)(?:_(\\d+)|).{0,30} AppleNews\\/\\d+\\.\\d+(?:\\.\\d+|)',1007        'Mobile Safari UI/WKWebView',1008    ),1009    UserAgentParser(1010        '(iPod|iPhone|iPad).{1,200}Version/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)',1011        'Mobile Safari UI/WKWebView',1012    ),1013    UserAgentParser(1014        '(iPod|iPod touch|iPhone|iPad).{0,200} Safari',1015        'Mobile Safari',1016    ),1017    UserAgentParser(1018        '(iPod|iPod touch|iPhone|iPad)',1019        'Mobile Safari UI/WKWebView',1020    ),1021    UserAgentParser(1022        '(Watch)(\\d+),(\\d+)',1023        'Apple $1 App',1024    ),1025    UserAgentParser(1026        '(Outlook-iOS)/\\d+\\.\\d+\\.prod\\.iphone \\((\\d+)\\.(\\d+)\\.(\\d+)\\)',1027    ),1028    UserAgentParser(1029        '(AvantGo) (\\d+).(\\d+)',1030    ),1031    UserAgentParser(1032        '(OneBrowser)/(\\d+).(\\d+)',1033        'ONE Browser',1034    ),1035    UserAgentParser(1036        '(Avant)',1037        None,1038        '1',1039    ),1040    UserAgentParser(1041        '(QtCarBrowser)',1042        None,1043        '1',1044    ),1045    UserAgentParser(1046        '^(iBrowser/Mini)(\\d+).(\\d+)',1047        'iBrowser Mini',1048    ),1049    UserAgentParser(1050        '^(iBrowser|iRAPP)/(\\d+).(\\d+)',1051    ),1052    UserAgentParser(1053        '^(Nokia)',1054        'Nokia Services (WAP) Browser',1055    ),1056    UserAgentParser(1057        '(NokiaBrowser)/(\\d+)\\.(\\d+).(\\d+)\\.(\\d+)',1058        'Nokia Browser',1059    ),1060    UserAgentParser(1061        '(NokiaBrowser)/(\\d+)\\.(\\d+).(\\d+)',1062        'Nokia Browser',1063    ),1064    UserAgentParser(1065        '(NokiaBrowser)/(\\d+)\\.(\\d+)',1066        'Nokia Browser',1067    ),1068    UserAgentParser(1069        '(BrowserNG)/(\\d+)\\.(\\d+).(\\d+)',1070        'Nokia Browser',1071    ),1072    UserAgentParser(1073        '(Series60)/5\\.0',1074        'Nokia Browser',1075        '7',1076        '0',1077    ),1078    UserAgentParser(1079        '(Series60)/(\\d+)\\.(\\d+)',1080        'Nokia OSS Browser',1081    ),1082    UserAgentParser(1083        '(S40OviBrowser)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)',1084        'Ovi Browser',1085    ),1086    UserAgentParser(1087        '(Nokia)[EN]?(\\d+)',1088    ),1089    UserAgentParser(1090        '(PlayBook).{1,200}RIM Tablet OS (\\d+)\\.(\\d+)\\.(\\d+)',1091        'BlackBerry WebKit',1092    ),1093    UserAgentParser(1094        '(Black[bB]erry|BB10).{1,200}Version/(\\d+)\\.(\\d+)\\.(\\d+)',1095        'BlackBerry WebKit',1096    ),1097    UserAgentParser(1098        '(Black[bB]erry)\\s?(\\d+)',1099        'BlackBerry',1100    ),1101    UserAgentParser(1102        '(OmniWeb)/v(\\d+)\\.(\\d+)',1103    ),1104    UserAgentParser(1105        '(Blazer)/(\\d+)\\.(\\d+)',1106        'Palm Blazer',1107    ),1108    UserAgentParser(1109        '(Pre)/(\\d+)\\.(\\d+)',1110        'Palm Pre',1111    ),1112    UserAgentParser(1113        '(ELinks)/(\\d+)\\.(\\d+)',1114    ),1115    UserAgentParser(1116        '(ELinks) \\((\\d+)\\.(\\d+)',1117    ),1118    UserAgentParser(1119        '(Links) \\((\\d+)\\.(\\d+)',1120    ),1121    UserAgentParser(1122        '(QtWeb) Internet Browser/(\\d+)\\.(\\d+)',1123    ),1124    UserAgentParser(1125        '(PhantomJS)/(\\d+)\\.(\\d+)\\.(\\d+)',1126    ),1127    UserAgentParser(1128        '(AppleWebKit)/(\\d+)(?:\\.(\\d+)|)\\+ .{0,200} Safari',1129        'WebKit Nightly',1130    ),1131    UserAgentParser(1132        '(Version)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|).{0,100}Safari/',1133        'Safari',1134    ),1135    UserAgentParser(1136        '(Safari)/\\d+',1137    ),1138    UserAgentParser(1139        '(OLPC)/Update(\\d+)\\.(\\d+)',1140    ),1141    UserAgentParser(1142        '(OLPC)/Update()\\.(\\d+)',1143        None,1144        '0',1145    ),1146    UserAgentParser(1147        '(SEMC\\-Browser)/(\\d+)\\.(\\d+)',1148    ),1149    UserAgentParser(1150        '(Teleca)',1151        'Teleca Browser',1152    ),1153    UserAgentParser(1154        '(Phantom)/V(\\d+)\\.(\\d+)',1155        'Phantom Browser',1156    ),1157    UserAgentParser(1158        '(Trident)/(7|8)\\.(0)',1159        'IE',1160        '11',1161    ),1162    UserAgentParser(1163        '(Trident)/(6)\\.(0)',1164        'IE',1165        '10',1166    ),1167    UserAgentParser(1168        '(Trident)/(5)\\.(0)',1169        'IE',1170        '9',1171    ),1172    UserAgentParser(1173        '(Trident)/(4)\\.(0)',1174        'IE',1175        '8',1176    ),1177    UserAgentParser(1178        '(Espial)/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)',1179    ),1180    UserAgentParser(1181        '(AppleWebKit)/(\\d+)\\.(\\d+)\\.(\\d+)',1182        'Apple Mail',1183    ),1184    UserAgentParser(1185        '(Firefox)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|$)',1186    ),1187    UserAgentParser(1188        '(Firefox)/(\\d+)\\.(\\d+)(pre|[ab]\\d+[a-z]*|)',1189    ),1190    UserAgentParser(1191        '([MS]?IE) (\\d+)\\.(\\d+)',1192        'IE',1193    ),1194    UserAgentParser(1195        '(python-requests)/(\\d+)\\.(\\d+)',1196        'Python Requests',1197    ),1198    UserAgentParser(1199        '\\b(Windows-Update-Agent|WindowsPowerShell|Microsoft-CryptoAPI|SophosUpdateManager|SophosAgent|Debian APT-HTTP|Ubuntu APT-HTTP|libcurl-agent|libwww-perl|urlgrabber|curl|PycURL|Wget|wget2|aria2|Axel|OpenBSD ftp|lftp|jupdate|insomnia|fetch libfetch|akka-http|got|CloudCockpitBackend|ReactorNetty|axios|Jersey|Vert.x-WebClient|Apache-CXF|Go-CF-client|go-resty|AHC|HTTPie)(?:[ /](\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)|)',1200    ),

Showing the first 1,200 of 6645 lines. Download the file for the rest.

codekingpro/portable-devtools · Team Ai