/* Metro module 654; source: unknown; dependencies: [] */ function _fun7368(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#7368, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:704:6, offset: 0x00d16f35, size: 44 bytes, params: 8, frame: 11 _fun7369.call(this); function _fun7369() { // fn#7369, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:704:32, offset: 0x00d16f61, size: 473 bytes, params: 1, frame: 19 var r8; var r3; let value = this; const capitalize_7370 = function(a0) { var value = (0, global.String)(a0); return value.charAt(0).toUpperCase() + value.slice(1); }; const closure = function(a0, a1) { var r4; var propertyName; var propertyName2; for (propertyName in a0) { if (!hasOwnProperty.call(a0, propertyName)) { r4 = propertyName2; continue; } a1(a0[propertyName], propertyName, a0); r4 = propertyName2; } }; const qualify = function(a0) { return (0, global.String)(a0).replace(RegExp('([ -])(?!$)', 'g'), '$1?'); }; const trim_7377 = function(a0) { return (0, global.String)(a0).replace(RegExp('^ +| +$', 'g'), ''); }; const object = {'function': true, 'object': true}; let r4 = object[typeof global.window] && global.window; r4 = !r4 ? value : r4; const env0_0 = r4; const r7 = object[typeof env0_2] && env0_2; const env0_1 = r7; const r5 = object[typeof env0_1] && env0_1 && !env0_1.nodeType && env0_1; const r0 = r7 && r5 && typeof env0_0 === 'object' && env0_0; if (r0) { r8 = r0.global !== r0 && r0.window !== r0; r8 = r8 && r0.self !== r0; r3 = r8; } else { r3 = !r0; } r4 = !r3 ? r0 : r4; const Math = global.Math; var env0_2 = Math.pow(2, 53) - 1; const env0_3 = RegExp('\\bOpera', ''); const Object = global.Object; const prototype = Object.prototype; const env0_4 = prototype.hasOwnProperty; const env0_5 = prototype.toString; value = parse_7378(); if (typeof global.define !== 'function') { if (r7) { if (r5) { closure(value, _fun7395); } else { r4.platform = value; } } else { r4.platform = value; } } else if (typeof global.define.amd !== 'object') { if (r7) { if (r5) { closure(value, _fun7395); } else { r4.platform = value; } } else { r4.platform = value; } } else if (global.define.amd) { r4.platform = value; global.define(_fun7394); } else if (r7) { if (r5) { closure(value, _fun7395); } else { r4.platform = value; } } else { r4.platform = value; } function format(a0) { // fn#7371, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:704:415, offset: 0x00d17176, size: 58 bytes, params: 2, frame: 13 const value2 = trim_7377(a0); const regexp = RegExp('^(?:webOS|i(?:OS|P))', ''); return regexp.test(value2) ? value2 : capitalize_7370(value2); } function getClassOf(a0) { // fn#7373, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:704:559, offset: 0x00d171f3, size: 64 bytes, params: 2, frame: 14 var r0; var value; if (a0 == null) { r0 = capitalize_7370(a0); } else { value = toString.call(a0); value = value.slice(8, -1); r0 = value; } return r0; } function reduce_7375(a0, a1) { // fn#7375, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:704:700, offset: 0x00d17266, size: 123 bytes, params: 3, frame: 17 var environment; var length; var r3; var value2; const env0_0 = a0; const env0_1 = a1; const env0_2 = null; const closure = _fun7376; let value = 0; reducibleJoin2: while (true) { if (a0) { length = a0.length; break reducibleJoin2; } length = value; break reducibleJoin2; } reducibleJoin8: while (true) { reducibleJoin5: while (true) { if (typeof length !== 'number') { break reducibleJoin5; } if (length > -1) { value2 = environment; if (length <= env0_2) { if (value < length) { r3 = value; reducibleLoop7: while (true) { closure(a0[r3], r3, a0); value = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1; if (value < length) { r3 = value; continue reducibleLoop7; } break reducibleJoin8; } return env0_2; } break reducibleJoin8; } break reducibleJoin5; } break reducibleJoin5; } value = environment; forOwn_7372(a0, closure); break reducibleJoin8; } return env0_2; function _fun7376(a0, a1) { // fn#7376, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:704:861, offset: 0x00d172e1, size: 35 bytes, params: 3, frame: 18 moduleValue = require(moduleValue, a0, a1, env0_0); } } function parse_7378(a0) { // fn#7378, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:704:956, offset: 0x00d17335, size: 11143 bytes, params: 2, frame: 66 var environment; var r9; var r10; var r28; var r20; var r26; var r42; var r11; var r14; var r40; var r39; var r38; var r34; var r37; var r41; var r13; var r36; var r27; var r12; var r56; var r45; var r51; var r50; var r48; var r6; var r49; var r482; var r5; var r47; var r3; var r43; var r30; var r18; var r33; var r24; var version; var r35; var r31; var r25; var r32; var r29; var r46; var r44; var r23; var r19; var r17; var r1; var r16; var r4; var value4; var getClassOfBinding; var classOf; var value6; var value7; var regexp; var test; var toStringBinding; var toString2; var java; var opera; var property; var value9; var value10; var value30; var exec; var value31; var trim_7377Binding; var value32; var replace; var value33; var value34; var RegExp; var qualifyBinding; var value35; var value36; var value37; var value38; var value39; var value40; var value42; var value43; var value44; var value46; var push; var value47; var value48; var value49; var value50; var value51; var value52; var value53; var value54; var value55; var slice; var indexOf; var value56; var value57; var value58; var regexp2; var value59; var value60; var value61; var value62; var unshift; var value63; var value64; var value65; var value66; var value67; var value68; var value69; var value70; var parse_7378Binding; var value71; var manufacturer; var product; var value72; var value73; var parseFloat; var float; var value74; var value75; var value76; var value77; var value78; var value79; var value80; var value81; var value82; var value83; var value84; var value85; var value86; var value87; var value88; var value89; var value90; var value91; var value92; var value93; var value94; var value95; var value96; var value97; var global; var value98; var value99; var value100; var value101; var runtime; var phantom; var documentMode; var value102; var value103; var value104; var value105; var value106; var items10; var value107; var String; var toFixed; var value108; var major; var value109; var minor; var value110; var patch; var value111; var value112; var flash; var system; var Capabilities; var os; var lang; var System; var getProperty; var value113; var value114; var value115; var value116; var process; var value117; var browser; var value118; var versions; var electron; var nw; var value119; var node; var value120; var value121; var value122; var arch; var platform; var value123; var require; var moduleValue; var join; var value124; var value125; var error; var system2; var system3; var value126; var value127; var value128; var formatBinding; var value129; var value130; var value131; var appMinorVersion; var value132; var value133; var value134; var value135; var value136; var value137; var value138; var value139; var value140; var value141; var value142; var value143; var value144; var value145; var value146; var value147; var forOwn_7372Binding; var value148; var value149; var value150; var value151; var value152; var value153; var value154; var value155; var value156; var value157; var value158; var value159; var value160; var call; var value161; var value162; var value163; var name; var value164; var value165; var value166; var value167; var value168; var value169; var value170; var value171; var value172; var items12; var value173; var value174; var external; var value175; var value176; var value177; var value178; var value179; var value181; var value182; var float2; var items13; var value183; var value184; var value185; var value186; var value187; var value188; var value189; var value190; var value191; var value192; var value193; var value194; var float3; var value195; var value196; var value197; var value198; var value199; var value200; var value201; var value202; var value203; var value204; var value205; var value206; var value207; var value208; var value209; var value210; var value211; var value212; var value213; var value214; var value215; var value216; var value217; var value218; var value219; var value220; var value221; var value222; var value223; var value224; var value225; var value226; var value227; var value228; var value229; var value230; var value231; var value232; var value233; var value234; var value235; var value236; var value237; var value238; var value239; var parseInt; var int; var value240; var value241; var value242; var value243; var value244; var value245; var value246; var value247; var value248; var value249; var value250; var value251; var value252; var value253; var value254; var value255; var value256; var value257; var value258; var value259; var value260; var value261; var value262; var value263; var value264; var value265; var value266; var value267; var value268; var value269; var value270; var value271; var length; var value272; var value273; var value274; var value275; var value276; var value277; var value278; var value279; var charAt; var length2; var value280; var value281; var value282; var value283; var family; var value284; var value285; var cpuClass; var split; let value = a0; let env0_0 = value; const value2 = undefined; const closure = function(a0) { return reduce_7375(a0, _fun7380); }; const closure2 = function(a0) { return reduce_7375(a0, _fun7382); }; let binding = env0_0; reducibleJoin2: while (true) { if (value) { value4 = typeof value === 'object'; r9 = value4; break reducibleJoin2; } r9 = value; break reducibleJoin2; } reducibleJoin4: while (true) { if (r9) { classOf = getClassOf(value); value6 = classOf != 'String'; r9 = value6; break reducibleJoin4; } break reducibleJoin4; } reducibleJoin6: while (true) { if (r9) { value7 = null; env0_0 = value7; r10 = value7; r28 = value; break reducibleJoin6; } r10 = value; r28 = binding; break reducibleJoin6; } const navigator = r28.navigator; reducibleJoin8: while (true) { if (navigator) { r20 = navigator; break reducibleJoin8; } r20 = {}; break reducibleJoin8; } let userAgent = r20.userAgent; reducibleJoin10: while (true) { if (userAgent) { break reducibleJoin10; } value = ''; userAgent = value; break reducibleJoin10; } reducibleJoin12: while (true) { if (r10) { break reducibleJoin12; } env0_0 = userAgent; r10 = userAgent; break reducibleJoin12; } if (r9) { r26 = !!r20.likeChrome; } else { regexp = RegExp('\\bChrome\\b', ''); value = regexp.test(r10); reducibleJoin15: while (true) { if (value) { regexp = RegExp('internal|\\n', 'i'); test = regexp.test; toStringBinding = toString; toString2 = toStringBinding.toString; value = !Reflect.apply(test, regexp, [Reflect.apply(toString2, toStringBinding, [])]); r26 = value; break reducibleJoin15; } r26 = value; break reducibleJoin15; } } value = 'ScriptBridgingProxyObject'; reducibleJoin19: while (true) { if (r9) { value = 'Object'; r42 = value; break reducibleJoin19; } r42 = value; break reducibleJoin19; } value = 'Environment'; reducibleJoin21: while (true) { if (r9) { value = 'Object'; r11 = value; break reducibleJoin21; } r11 = value; break reducibleJoin21; } reducibleJoin24: while (true) { reducibleJoin23: while (true) { if (r9) { java = r28.java; value = 'JavaPackage'; if (java) { r14 = value; break reducibleJoin24; } break reducibleJoin23; } break reducibleJoin23; } getClassOfBinding = getClassOf; java = r28.java; value = getClassOfBinding(java); r14 = value; break reducibleJoin24; } value = 'RuntimeObject'; reducibleJoin26: while (true) { if (r9) { value = 'Object'; r40 = value; break reducibleJoin26; } r40 = value; break reducibleJoin26; } value = RegExp('\\bJava', '').test(r14); reducibleJoin28: while (true) { if (value) { java = r28.java; r39 = java; break reducibleJoin28; } r39 = value; break reducibleJoin28; } reducibleJoin30: while (true) { if (r39) { getClassOfBinding = getClassOf; environment = r28.environment; value = getClassOfBinding(environment) == r11; r38 = value; break reducibleJoin30; } r38 = r39; break reducibleJoin30; } value = 'α'; reducibleJoin32: while (true) { if (r39) { value = 'a'; r34 = value; break reducibleJoin32; } r34 = value; break reducibleJoin32; } value = 'β'; reducibleJoin34: while (true) { if (r39) { value = 'b'; r37 = value; break reducibleJoin34; } r37 = value; break reducibleJoin34; } const document = r28.document; reducibleJoin36: while (true) { if (document) { r41 = document; break reducibleJoin36; } r41 = {}; break reducibleJoin36; } const operamini = r28.operamini; reducibleJoin38: while (true) { if (operamini) { r13 = operamini; break reducibleJoin38; } opera = r28.opera; r13 = opera; break reducibleJoin38; } binding = env0_3; test = binding.test; reducibleJoin42: while (true) { reducibleJoin40: while (true) { if (r9) { if (r13) { property = r13['[[Class]]']; r9 = property; break reducibleJoin42; } break reducibleJoin40; } break reducibleJoin40; } value = getClassOf(r13); r9 = value; break reducibleJoin42; } value = Reflect.apply(test, binding, [r9]); const value8 = null; if (value) { r36 = r9; r9 = r13; } else { r9 = value8; r36 = value8; } let object = []; value = r10 == userAgent; let r2 = value && r9; reducibleJoin46: while (true) { if (r2) { version = r9.version; value9 = typeof version === 'function'; r2 = value9; break reducibleJoin46; } break reducibleJoin46; } reducibleJoin48: while (true) { if (r2) { version = r9.version; value10 = Reflect.apply(version, r9, []); r2 = value10; break reducibleJoin48; } break reducibleJoin48; } const value11 = 'Trident'; const value12 = 'WebKit'; const value13 = 'Presto'; const value14 = 'NetFront'; const value15 = 'Tasman'; const value16 = ((a0) => reduce_7375(a0, _fun7384))([{'label': 'EdgeHTML', 'pattern': 'Edge'}, value11, {'label': 'WebKit', 'pattern': 'AppleWebKit'}, 'iCab', value13, value14, value15, 'KHTML', 'Gecko']); const value17 = 'PhantomJS'; const value18 = 'Opera'; const value19 = 'Chrome Mobile'; const value20 = 'IE'; const value21 = 'Safari'; const value22 = ((a0) => reduce_7375(a0, _fun7386))(['Adobe AIR', 'Arora', 'Avant Browser', 'Breach', 'Camino', 'Electron', 'Epiphany', 'Fennec', 'Flock', 'Galeon', 'GreenBrowser', 'iCab', 'Iceweasel', 'K-Meleon', 'Konqueror', 'Lunascape', 'Maxthon', {'label': 'Microsoft Edge', 'pattern': '(?:Edge|Edg|EdgA|EdgiOS)'}, 'Midori', 'Nook Browser', 'PaleMoon', value17, 'Raven', 'Rekonq', 'RockMelt', {'label': 'Samsung Internet', 'pattern': 'SamsungBrowser'}, 'SeaMonkey', {'label': 'Silk', 'pattern': '(?:Cloud9|Silk-Accelerated)'}, 'Sleipnir', 'SlimBrowser', {'label': 'SRWare Iron', 'pattern': 'Iron'}, 'Sunrise', 'Swiftfox', 'Vivaldi', 'Waterfox', 'WebPositive', {'label': 'Yandex Browser', 'pattern': 'YaBrowser'}, {'label': 'UC Browser', 'pattern': 'UCBrowser'}, 'Opera Mini', {'label': 'Opera Mini', 'pattern': 'OPiOS'}, value18, {'label': 'Opera', 'pattern': 'OPR'}, 'Chromium', 'Chrome', {'label': 'Chrome', 'pattern': '(?:HeadlessChrome)'}, {'label': 'Chrome Mobile', 'pattern': '(?:CriOS|CrMo)'}, {'label': 'Firefox', 'pattern': '(?:Firefox|Minefield)'}, {'label': 'Firefox for iOS', 'pattern': 'FxiOS'}, {'label': 'IE', 'pattern': 'IEMobile'}, {'label': 'IE', 'pattern': 'MSIE'}, value21]); const value23 = 'BlackBerry'; const value24 = closure([{'label': 'BlackBerry', 'pattern': 'BB10'}, value23, {'label': 'Galaxy S', 'pattern': 'GT-I9000'}, {'label': 'Galaxy S2', 'pattern': 'GT-I9100'}, {'label': 'Galaxy S3', 'pattern': 'GT-I9300'}, {'label': 'Galaxy S4', 'pattern': 'GT-I9500'}, {'label': 'Galaxy S5', 'pattern': 'SM-G900'}, {'label': 'Galaxy S6', 'pattern': 'SM-G920'}, {'label': 'Galaxy S6 Edge', 'pattern': 'SM-G925'}, {'label': 'Galaxy S7', 'pattern': 'SM-G930'}, {'label': 'Galaxy S7 Edge', 'pattern': 'SM-G935'}, 'Google TV', 'Lumia', 'iPad', 'iPod', 'iPhone', 'Kindle', {'label': 'Kindle Fire', 'pattern': '(?:Cloud9|Silk-Accelerated)'}, 'Nexus', 'Nook', 'PlayBook', 'PlayStation Vita', 'PlayStation', 'TouchPad', 'Transformer', {'label': 'Wii U', 'pattern': 'WiiU'}, 'Wii', 'Xbox One', {'label': 'Xbox 360', 'pattern': 'Xbox'}, 'Xoom']); var env0_2; const value25 = 1; const value26 = ((a0) => reduce_7375(a0, _fun7388))({Apple: {'iPad': 1, 'iPhone': 1, 'iPod': 1}, Alcatel: {}, Archos: {}, Amazon: {'Kindle': 1, 'Kindle Fire': 1}, Asus: {Transformer: value25}, ['Barnes & Noble']: {Nook: value25}, BlackBerry: {PlayBook: value25}, Google: {'Google TV': 1, 'Nexus': 1}, HP: {TouchPad: value25}, HTC: {}, Huawei: {}, Lenovo: {}, LG: {}, Microsoft: {'Xbox': 1, 'Xbox One': 1}, Motorola: {Xoom: value25}, Nintendo: {'Wii U': 1, 'Wii': 1}, Nokia: {Lumia: value25}, Oppo: {}, Samsung: {'Galaxy S': 1, 'Galaxy S2': 1, 'Galaxy S3': 1, 'Galaxy S4': 1}, Sony: {'PlayStation': 1, 'PlayStation Vita': 1}, Xiaomi: {'Mi': 1, 'Redmi': 1}}); const value27 = 'Kubuntu'; const value28 = ((a0) => reduce_7375(a0, _fun7390))(['Windows Phone', 'KaiOS', 'Android', 'CentOS', {'label': 'Chrome OS', 'pattern': 'CrOS'}, 'Debian', {'label': 'DragonFly BSD', 'pattern': 'DragonFly'}, 'Fedora', 'FreeBSD', 'Gentoo', 'Haiku', value27, 'Linux Mint', 'OpenBSD', 'Red Hat', 'SuSE', 'Ubuntu', 'Xubuntu', 'Cygwin', 'Symbian OS', 'hpwOS', 'webOS ', 'webOS', 'Tablet OS', 'Tizen', 'Linux', 'Mac OS X', 'Macintosh', 'Mac', 'Windows 98;', 'Windows ']); reducibleJoin50: while (true) { if (value16) { r27 = [value16]; break reducibleJoin50; } r27 = value16; break reducibleJoin50; } const value29 = RegExp('\\bAndroid\\b', '').test(value28); reducibleJoin52: while (true) { if (value29) { value30 = !value24; r11 = value30; break reducibleJoin52; } r11 = value29; break reducibleJoin52; } reducibleJoin54: while (true) { if (r11) { regexp = RegExp('\\bAndroid[^;]*;(.*?)(?:Build|\\) AppleWebKit)\\b', 'i'); exec = regexp.exec; value31 = Reflect.apply(exec, regexp, [r10]); r11 = value31; r12 = value31; break reducibleJoin54; } r12 = value2; break reducibleJoin54; } reducibleJoin57: while (true) { if (r11) { value32 = trim_7377(r12[value25]); replace = value32.replace; value33 = Reflect.apply(replace, value32, [RegExp('^[a-z]{2}-[a-z]{2};\\s*', 'i'), '']); r11 = value33 || value8; env0_2 = r11; r56 = r11; break reducibleJoin57; } r56 = value24; break reducibleJoin57; } reducibleJoin63: while (true) { reducibleJoin61: while (true) { if (value26) { if (r56) { if (value26) { r11 = r56; break reducibleJoin61; } r11 = value26; break reducibleJoin61; } value34 = closure([value26]); env0_2 = value34; r45 = value34; break reducibleJoin63; } if (value26) { r11 = r56; break reducibleJoin61; } r11 = value26; break reducibleJoin61; } if (r11) { replace = r56.replace; RegExp = global.RegExp; qualifyBinding = qualify; value35 = qualifyBinding(value26); value36 = RegExp('^(' + value35 + ')[-_.\\s]', 'i'); value37 = Reflect.apply(replace, r56, [value36, value26 + ' ']); replace = value37.replace; RegExp = global.RegExp; value38 = '^(' + qualifyBinding(value26); value39 = RegExp(value38 + ')[-_.]?(\\w)', 'i'); value40 = Reflect.apply(replace, value37, [value39, value26 + ' $2']); env0_2 = value40; r45 = value40; break reducibleJoin63; } r45 = r56; break reducibleJoin63; } const value41 = RegExp('\\bGoogle TV\\b', '').exec(r45); reducibleJoin65: while (true) { if (value41) { property = value41[0]; env0_2 = property; r51 = property; break reducibleJoin65; } r51 = r45; break reducibleJoin65; } regexp = RegExp('\\bSimulator\\b', 'i'); reducibleJoin69: while (true) { if (regexp.test(r10)) { value42 = ''; reducibleJoin68: while (true) { if (r51) { value43 = r51 + ' '; r50 = value43; break reducibleJoin68; } r50 = value42; break reducibleJoin68; } value44 = r50 + 'Simulator'; env0_2 = value44; r45 = value44; break reducibleJoin69; } r45 = r51; break reducibleJoin69; } const value45 = value22 == 'Opera Mini'; reducibleJoin71: while (true) { if (value45) { regexp = RegExp('\\bOPiOS\\b', ''); test = regexp.test; value46 = Reflect.apply(test, regexp, [r10]); r11 = value46; break reducibleJoin71; } r11 = value45; break reducibleJoin71; } reducibleJoin73: while (true) { if (r11) { push = object.push; Reflect.apply(push, object, ['running in Turbo/Uncompressed mode']); break reducibleJoin73; } break reducibleJoin73; } reducibleJoin135: while (true) { reducibleJoin75: while (true) { if (value20 != value22) { break reducibleJoin75; } regexp = RegExp('\\blike iPhone OS\\b', ''); test = regexp.test; if (Reflect.apply(test, regexp, [r10])) { parse_7378Binding = parse_7378; replace = r10.replace; value71 = parse_7378Binding(Reflect.apply(replace, r10, [RegExp('like iPhone OS', ''), ''])); manufacturer = value71.manufacturer; product = value71.product; env0_2 = product; r5 = value28; r6 = value22; r11 = manufacturer; r14 = product; break reducibleJoin135; } break reducibleJoin75; } regexp = RegExp('^iP', ''); test = regexp.test; if (Reflect.apply(test, regexp, [r45])) { r6 = value22 || value21; regexp = RegExp(' OS ([\\d_]+)', 'i'); exec = regexp.exec; value66 = Reflect.apply(exec, regexp, [r10]); value67 = ''; reducibleJoin133: while (true) { if (value66) { property = value66[value25]; replace = property.replace; value68 = Reflect.apply(replace, property, [RegExp('_', 'g'), '.']); value69 = ' ' + value68; r47 = value69; break reducibleJoin133; } r47 = value67; break reducibleJoin133; } value70 = 'iOS' + r47; r5 = value70; r11 = value26; r14 = r45; break reducibleJoin135; } if (value22 == 'Konqueror') { regexp = RegExp('^Linux\\b', 'i'); if (regexp.test(value28)) { r5 = value27; r6 = value22; r11 = value26; r14 = r45; break reducibleJoin135; } } if (value26) { if (value26 != 'Google') { regexp = RegExp('Chrome', ''); test = regexp.test; if (Reflect.apply(test, regexp, [value22])) { regexp = RegExp('\\bMobile Safari\\b', 'i'); if (!regexp.test(r10)) { value63 = 'Android Browser'; regexp = RegExp('\\bAndroid\\b', ''); value64 = regexp.test(value28); value65 = 'Android'; r48 = value64 ? value28 : value65; r5 = r48; r6 = value63; r11 = value26; r14 = r45; break reducibleJoin135; } } regexp = RegExp('\\bVita\\b', ''); test = regexp.test; if (Reflect.apply(test, regexp, [r45])) { value63 = 'Android Browser'; regexp = RegExp('\\bAndroid\\b', ''); value64 = regexp.test(value28); value65 = 'Android'; r48 = value64 ? value28 : value65; r5 = r48; r6 = value63; r11 = value26; r14 = r45; break reducibleJoin135; } } } regexp = RegExp('\\bAndroid\\b', ''); test = regexp.test; if (Reflect.apply(test, regexp, [value28])) { regexp = RegExp('^Chrome', ''); test = regexp.test; if (Reflect.apply(test, regexp, [value22])) { regexp = RegExp('\\bVersion\\/', 'i'); test = regexp.test; if (Reflect.apply(test, regexp, [r10])) { value63 = 'Android Browser'; regexp = RegExp('\\bAndroid\\b', ''); test = regexp.test; value64 = Reflect.apply(test, regexp, [value28]); value65 = 'Android'; r48 = value64 ? value28 : value65; r5 = r48; r6 = value63; r11 = value26; r14 = r45; break reducibleJoin135; } } } if (value22 == 'Silk') { regexp = RegExp('\\bMobi', 'i'); test = regexp.test; reducibleJoin126: while (true) { if (Reflect.apply(test, regexp, [r10])) { r5 = value28; break reducibleJoin126; } value62 = 'Android'; unshift = object.unshift; Reflect.apply(unshift, object, ['desktop mode']); r5 = value62; break reducibleJoin126; } regexp = RegExp('Accelerated *= *true', 'i'); test = regexp.test; if (Reflect.apply(test, regexp, [r10])) { unshift = object.unshift; Reflect.apply(unshift, object, ['accelerated']); r6 = value22; r11 = value26; r14 = r45; break reducibleJoin135; } r6 = value22; r11 = value26; r14 = r45; break reducibleJoin135; } if (value22 == 'UC Browser') { regexp = RegExp('\\bUCWEB\\b', ''); test = regexp.test; if (Reflect.apply(test, regexp, [r10])) { push = object.push; Reflect.apply(push, object, ['speed mode']); r5 = value28; r6 = value22; r11 = value26; r14 = r45; break reducibleJoin135; } } if (value22 != 'PaleMoon') { r12 = value41; } else { regexp = RegExp('\\bFirefox\\/([\\d.]+)\\b', ''); exec = regexp.exec; value47 = Reflect.apply(exec, regexp, [r10]); if (value47) { push = object.push; Reflect.apply(push, object, ['identifying as Firefox ' + value47[value25]]); r5 = value28; r6 = value22; r11 = value26; r14 = r45; break reducibleJoin135; } r12 = value47; } if (value22 == 'Firefox') { regexp = RegExp('\\b(Mobile|Tablet|TV)\\b', 'i'); exec = regexp.exec; value48 = Reflect.apply(exec, regexp, [r10]); if (value48) { reducibleJoin120: while (true) { if (value28) { r5 = value28; break reducibleJoin120; } value61 = 'Firefox OS'; r5 = value61; break reducibleJoin120; } if (r45) { r6 = value22; r11 = value26; r14 = r45; break reducibleJoin135; } property = value48[value25]; env0_2 = property; r6 = value22; r11 = value26; r14 = property; break reducibleJoin135; } r12 = value48; } if (value22) { regexp = RegExp('\\bMinefield\\b', 'i'); test = regexp.test; value49 = Reflect.apply(test, regexp, [r10]); value50 = !value49; reducibleJoin96: while (true) { if (value49) { r11 = value50; break reducibleJoin96; } regexp = RegExp('\\b(?:Firefox|Safari)\\b', ''); exec = regexp.exec; value51 = Reflect.apply(exec, regexp, [value22]); r11 = value51; break reducibleJoin96; } if (!r11) { value52 = value22 == 'Electron'; reducibleJoin101: while (true) { if (value52) { regexp = RegExp('\\bChrome\\/([\\d.]+)\\b', ''); exec = regexp.exec; value53 = Reflect.apply(exec, regexp, [r10]); reducibleJoin100: while (true) { if (value53) { r11 = value53; break reducibleJoin100; } value54 = 0; r11 = value54; break reducibleJoin100; } property = r11[value25]; r12 = property; r48 = property; break reducibleJoin101; } r12 = r11; r48 = value52; break reducibleJoin101; } if (r48) { push = object.push; Reflect.apply(push, object, ['Chromium ' + r12]); r5 = value28; r6 = value22; r11 = value26; r14 = r45; break reducibleJoin135; } r5 = value28; r6 = value22; r11 = value26; r14 = r45; break reducibleJoin135; } r12 = r11; } reducibleJoin105: while (true) { if (value22) { value55 = !r45; r48 = value55; break reducibleJoin105; } r48 = value22; break reducibleJoin105; } reducibleJoin107: while (true) { if (r48) { regexp = RegExp('[\\/,]|^[^(]+?\\)', ''); test = regexp.test; slice = r10.slice; indexOf = r10.indexOf; value56 = Reflect.apply(indexOf, r10, [r12 + '/']); value57 = Reflect.apply(test, regexp, [Reflect.apply(slice, r10, [value56 + 8])]); r48 = value57; break reducibleJoin107; } break reducibleJoin107; } r6 = r48 ? value8 : value22; r48 = r45 || value26; if (!r48) { r48 = value28; } reducibleJoin115: while (true) { if (r48) { r49 = r45 || value26; reducibleJoin114: while (true) { if (r49) { break reducibleJoin114; } regexp = RegExp('\\b(?:Android|Symbian OS|Tablet OS|webOS)\\b', ''); test = regexp.test; value58 = Reflect.apply(test, regexp, [value28]); r49 = value58; break reducibleJoin114; } r482 = r49; break reducibleJoin115; } r482 = r48; break reducibleJoin115; } if (r482) { regexp = RegExp('[a-z]+(?: Hat)?', 'i'); exec = regexp.exec; regexp2 = RegExp('\\bAndroid\\b', ''); test = regexp2.test; if (Reflect.apply(test, regexp2, [value28])) { r48 = value28; } value59 = Reflect.apply(exec, regexp, [r48]); value60 = value59 + ' Browser'; r5 = value28; r6 = value60; r11 = value26; r14 = r45; break reducibleJoin135; } r5 = value28; r11 = value26; r14 = r45; break reducibleJoin135; } reducibleJoin137: while (true) { if (r2) { r3 = r2; break reducibleJoin137; } value72 = qualify(r6); value73 = closure2(['(?:Cloud9|CriOS|CrMo|Edge|Edg|EdgA|EdgiOS|FxiOS|HeadlessChrome|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\d.]+$)|UCBrowser|YaBrowser)', 'Version', value72, '(?:Firefox|Minefield|NetFront)']); r3 = value73; break reducibleJoin137; } reducibleJoin144: while (true) { reducibleJoin143: while (true) { if (r27 != 'iCab') { regexp = RegExp('\\bOpera\\b', ''); value74 = regexp.test(r6); if (value74) { regexp = RegExp('\\bOPR\\b', ''); reducibleJoin142: while (true) { if (regexp.test(r10)) { value75 = 'Blink'; r43 = value75; break reducibleJoin142; } r43 = value13; break reducibleJoin142; } r30 = r43; break reducibleJoin143; } r30 = value74; break reducibleJoin143; } parseFloat = global.parseFloat; float = parseFloat(r3); if (float > 3) { r18 = value12; break reducibleJoin144; } regexp = RegExp('\\bOpera\\b', ''); test = regexp.test; value74 = Reflect.apply(test, regexp, [r6]); if (value74) { regexp = RegExp('\\bOPR\\b', ''); test = regexp.test; reducibleJoin142: while (true) { if (Reflect.apply(test, regexp, [r10])) { value75 = 'Blink'; r43 = value75; break reducibleJoin142; } r43 = value13; break reducibleJoin142; } r30 = r43; break reducibleJoin143; } r30 = value74; break reducibleJoin143; } r18 = r30; break reducibleJoin144; } reducibleJoin149: while (true) { if (r18) { break reducibleJoin149; } regexp = RegExp('\\b(?:Midori|Nook|Safari)\\b', 'i'); test = regexp.test; value76 = Reflect.apply(test, regexp, [r10]); reducibleJoin147: while (true) { if (value76) { regexp = RegExp('^(?:Trident|EdgeHTML)$', ''); test = regexp.test; value77 = !Reflect.apply(test, regexp, [r27]); r30 = value77; break reducibleJoin147; } r30 = value76; break reducibleJoin147; } if (r30) { r30 = value12; } r18 = r30; break reducibleJoin149; } reducibleJoin156: while (true) { if (r18) { break reducibleJoin156; } value78 = !r27; reducibleJoin152: while (true) { if (r27) { r30 = value78; break reducibleJoin152; } regexp = RegExp('\\bMSIE\\b', 'i'); test = regexp.test; value79 = Reflect.apply(test, regexp, [r10]); r30 = value79; break reducibleJoin152; } reducibleJoin155: while (true) { if (r30) { r43 = r5 == 'Mac OS' ? value15 : value11; r30 = r43; break reducibleJoin155; } break reducibleJoin155; } r18 = r30; break reducibleJoin156; } reducibleJoin161: while (true) { if (r18) { break reducibleJoin161; } value80 = value12 == r27; reducibleJoin159: while (true) { if (value80) { regexp = RegExp('\\bPlayStation\\b(?! Vita\\b)', 'i'); test = regexp.test; value81 = Reflect.apply(test, regexp, [r6]); r30 = value81; break reducibleJoin159; } r30 = value80; break reducibleJoin159; } if (r30) { r30 = value14; } r18 = r30; break reducibleJoin161; } reducibleJoin163: while (true) { if (r18) { r33 = [r18]; break reducibleJoin163; } r33 = r27; break reducibleJoin163; } reducibleJoin185: while (true) { reducibleJoin167: while (true) { if (value20 != r6) { r12 = r18; break reducibleJoin167; } regexp = RegExp('; *(?:XBLWP|ZuneWP)(\\d+)', 'i'); exec = regexp.exec; value82 = Reflect.apply(exec, regexp, [r10]); reducibleJoin166: while (true) { if (value82) { r18 = value82; break reducibleJoin166; } value83 = 0; r18 = value83; break reducibleJoin166; } property = r18[value25]; if (property) { value94 = r6 + ' Mobile'; regexp = RegExp('\\+$', ''); test = regexp.test; reducibleJoin184: while (true) { if (Reflect.apply(test, regexp, [property])) { r24 = property; break reducibleJoin184; } value95 = property + '.x'; r24 = value95; break reducibleJoin184; } value96 = 'Windows Phone ' + r24; unshift = object.unshift; Reflect.apply(unshift, object, ['desktop mode']); r5 = value96; r6 = value94; r12 = property; break reducibleJoin185; } r12 = property; break reducibleJoin167; } regexp = RegExp('\\bWPDesktop\\b', 'i'); test = regexp.test; if (Reflect.apply(test, regexp, [r10])) { value90 = 'IE Mobile'; value91 = 'Windows Phone 8.x'; unshift = object.unshift; Reflect.apply(unshift, object, ['desktop mode']); if (r3) { r5 = value91; r6 = value90; break reducibleJoin185; } regexp = RegExp('\\brv:([\\d.]+)', ''); exec = regexp.exec; value92 = Reflect.apply(exec, regexp, [r10]); reducibleJoin181: while (true) { if (value92) { r18 = value92; break reducibleJoin181; } value93 = 0; r18 = value93; break reducibleJoin181; } property = r18[value25]; r3 = property; r5 = value91; r6 = value90; break reducibleJoin185; } value84 = value20 != r6; reducibleJoin170: while (true) { if (value84) { value85 = value11 == r33; r18 = value85; break reducibleJoin170; } r18 = value84; break reducibleJoin170; } reducibleJoin172: while (true) { if (r18) { regexp = RegExp('\\brv:([\\d.]+)', ''); exec = regexp.exec; value86 = Reflect.apply(exec, regexp, [r10]); r12 = value86; r18 = value86; break reducibleJoin172; } break reducibleJoin172; } if (r18) { reducibleJoin177: while (true) { if (r6) { push = object.push; value87 = 'identifying as ' + r6; value88 = ''; reducibleJoin176: while (true) { if (r3) { value89 = ' ' + r3; r18 = value89; break reducibleJoin176; } r18 = value88; break reducibleJoin176; } Reflect.apply(push, object, [value87 + r18]); break reducibleJoin177; } break reducibleJoin177; } property = r12[value25]; r3 = property; r6 = value20; break reducibleJoin185; } break reducibleJoin185; } reducibleJoin254: while (true) { if (value) { value97 = 'number'; reducibleJoin188: while (true) { if (value8 != r28) { global = r28.global; value98 = typeof global; r43 = value98; break reducibleJoin188; } r43 = value97; break reducibleJoin188; } regexp = RegExp('^(?:boolean|number|string|undefined)$', ''); test = regexp.test; value99 = Reflect.apply(test, regexp, [r43]); reducibleJoin192: while (true) { if (value99) { r27 = value99; break reducibleJoin192; } value100 = r43 === 'object'; reducibleJoin191: while (true) { if (value100) { global = r28.global; value101 = !global; r43 = value101; break reducibleJoin191; } r43 = value100; break reducibleJoin191; } r27 = r43; break reducibleJoin192; } if (r27) { getClassOfBinding = getClassOf; runtime = r28.runtime; if (getClassOfBinding(runtime) == r42) { value112 = 'Adobe AIR'; flash = runtime.flash; system = flash.system; Capabilities = system.Capabilities; os = Capabilities.os; r5 = os; r6 = value112; r12 = runtime; r27 = r33; r30 = r10; } else { getClassOfBinding = getClassOf; phantom = r28.phantom; if (getClassOfBinding(phantom) == r40) { version = phantom.version; if (!version) { version = value8; } reducibleJoin212: while (true) { if (version) { major = version.major; value109 = major + '.'; minor = version.minor; value110 = value109 + minor; patch = version.patch; value111 = value110 + '.' + patch; r35 = value111; break reducibleJoin212; } r35 = version; break reducibleJoin212; } r3 = r35; r6 = value17; r12 = version; r27 = r33; r30 = r10; } else { documentMode = r41.documentMode; reducibleJoin251: while (true) { reducibleJoin199: while (true) { if (value97 !== typeof documentMode) { r12 = phantom; value103 = value97 === typeof r41.documentMode; if (value103) { regexp = RegExp('^(?:Chrome|Firefox)\\b', ''); test = regexp.test; value104 = Reflect.apply(test, regexp, [r6]); r40 = value104; break reducibleJoin199; } r40 = value103; break reducibleJoin199; } regexp = RegExp('\\bTrident\\/(\\d+)', 'i'); exec = regexp.exec; value102 = Reflect.apply(exec, regexp, [r10]); if (value102) { items10 = [r3]; items10[1] = r41.documentMode; value107 = Number(value102[value25]) + 4; reducibleJoin205: while (true) { if (value107 == items10[value25]) { break reducibleJoin205; } push = object.push; Reflect.apply(push, object, ['IE ' + items10[value25] + ' mode']); reducibleJoin204: while (true) { if (r33) { r33[value25] = ''; break reducibleJoin204; } break reducibleJoin204; } items10[value25] = value107; break reducibleJoin205; } if (value20 == r6) { String = global.String; property = items10[value25]; toFixed = property.toFixed; value108 = String(Reflect.apply(toFixed, property, [value25])); r40 = value108; } else { property = items10[0]; r40 = property; } r3 = r40; r12 = value107; r27 = r33; r30 = r10; break reducibleJoin251; } r12 = value102; documentMode = r41.documentMode; value103 = value97 === typeof documentMode; if (value103) { regexp = RegExp('^(?:Chrome|Firefox)\\b', ''); test = regexp.test; value104 = Reflect.apply(test, regexp, [r6]); r40 = value104; break reducibleJoin199; } r40 = value103; break reducibleJoin199; } if (r40) { push = object.push; Reflect.apply(push, object, ['masking as ' + r6 + ' ' + r3]); value105 = '11.0'; value106 = 'Windows'; r3 = value105; r5 = value106; r6 = value20; r27 = ['Trident']; r30 = r10; break reducibleJoin251; } r27 = r33; r30 = r10; break reducibleJoin251; } } } } else { reducibleJoin218: while (true) { if (r39) { lang = r39.lang; System = lang.System; getProperty = System.getProperty; value113 = Reflect.apply(getProperty, System, ['os.arch']); reducibleJoin217: while (true) { if (r5) { r40 = r5; break reducibleJoin217; } getProperty = System.getProperty; value114 = Reflect.apply(getProperty, System, ['os.name']); value115 = value114 + ' '; getProperty = System.getProperty; value116 = value115 + Reflect.apply(getProperty, System, ['os.version']); r40 = value116; break reducibleJoin217; } r5 = r40; r12 = System; r35 = value113; break reducibleJoin218; } r35 = r10; break reducibleJoin218; } if (r38) { reducibleJoin236: while (true) { reduciblePort249: while (true) { exceptionLanding243: while (true) { try { require = r28.require; } catch (error) { break exceptionLanding243; } break reducibleJoin236; } system = r28.system; reducibleJoin245: while (true) { if (system) { global = system.global; system2 = global.system; system3 = r28.system; value126 = system2 == system3; r38 = value126; break reducibleJoin245; } r38 = system; break reducibleJoin245; } reducibleJoin249: while (true) { if (r38) { value127 = 'Narwhal'; if (r5) { r6 = value127; r12 = system; break reducibleJoin249; } os = system[0].os; r38 = os || value8; r5 = r38; r6 = value127; r12 = system; break reducibleJoin249; } r12 = system; break reducibleJoin249; } break reduciblePort249; } reducibleJoin251: while (true) { if (r6) { r27 = r33; r30 = r35; break reducibleJoin251; } value128 = 'Rhino'; r6 = value128; r27 = r33; r30 = r35; break reducibleJoin251; } reducibleJoin253: while (true) { if (r5) { value129 = format(r5); r33 = value129; break reducibleJoin253; } r33 = r5; break reducibleJoin253; } r5 = r33; r18 = r30; r24 = r27; break reducibleJoin254; } try { moduleValue = Reflect.apply(require, r28, ['ringo/engine']); } catch (error) { break exceptionLanding243; } try { version = moduleValue.version; } catch (error) { break exceptionLanding243; } try { join = version.join; } catch (error) { break exceptionLanding243; } try { value124 = Reflect.apply(join, version, ['.']); } catch (error) { break exceptionLanding243; } value125 = 'RingoJS'; r3 = value124; r6 = value125; reducibleJoin251: while (true) { if (r6) { r27 = r33; r30 = r35; break reducibleJoin251; } value128 = 'Rhino'; r6 = value128; r27 = r33; r30 = r35; break reducibleJoin251; } } else { process = r28.process; value117 = typeof process === 'object'; reducibleJoin221: while (true) { if (value117) { process = r28.process; browser = process.browser; value118 = !browser; r38 = value118; break reducibleJoin221; } r38 = value117; break reducibleJoin221; } reducibleJoin223: while (true) { if (r38) { process = r28.process; r12 = process; r38 = process; break reducibleJoin223; } break reducibleJoin223; } reducibleJoin251: while (true) { if (r38) { versions = r12.versions; reducibleJoin229: while (true) { if (typeof versions !== 'object') { break reducibleJoin229; } versions = r12.versions; electron = versions.electron; if (typeof electron === 'string') { push = object.push; versions = r12.versions; Reflect.apply(push, object, ['Node ' + versions.node]); value121 = 'Electron'; versions = r12.versions; electron = versions.electron; r3 = electron; r6 = value121; break reducibleJoin229; } versions = r12.versions; nw = versions.nw; if (typeof nw !== 'string') { break reducibleJoin229; } push = object.push; value119 = 'Chromium ' + r3; versions = r12.versions; node = versions.node; Reflect.apply(push, object, [value119, 'Node ' + node]); value120 = 'NW.js'; versions = r12.versions; nw = versions.nw; r3 = nw; r6 = value120; break reducibleJoin229; } reducibleJoin233: while (true) { if (r6) { r38 = r35; break reducibleJoin233; } value122 = 'Node.js'; arch = r12.arch; platform = r12.platform; regexp = RegExp('[\\d.]+', ''); exec = regexp.exec; version = r12.version; value123 = Reflect.apply(exec, regexp, [version]); reducibleJoin232: while (true) { if (value123) { property = value123[0]; r40 = property; break reducibleJoin232; } r40 = value8; break reducibleJoin232; } r3 = r40; r5 = platform; r6 = value122; r38 = arch; break reducibleJoin233; } r27 = r33; r30 = r38; break reducibleJoin251; } r27 = r33; r30 = r35; break reducibleJoin251; } } } reducibleJoin253: while (true) { if (r5) { value129 = format(r5); r33 = value129; break reducibleJoin253; } r33 = r5; break reducibleJoin253; } r5 = r33; r18 = r30; r24 = r27; break reducibleJoin254; } r18 = r10; r24 = r33; break reducibleJoin254; } reducibleJoin264: while (true) { if (r3) { regexp = RegExp('(?:[ab]|dp|pre|[ab]\\d+pre)(?:\\d+\\+?)?$', 'i'); exec = regexp.exec; value130 = Reflect.apply(exec, regexp, [r3]); reducibleJoin259: while (true) { if (value130) { r27 = value130; break reducibleJoin259; } regexp = RegExp('(?:alpha|beta)(?: ?\\d)?', 'i'); exec = regexp.exec; value131 = r10 + ';'; reducibleJoin258: while (true) { if (value) { appMinorVersion = r20.appMinorVersion; r33 = appMinorVersion; break reducibleJoin258; } r33 = value; break reducibleJoin258; } value132 = Reflect.apply(exec, regexp, [value131 + r33]); r27 = value132; break reducibleJoin259; } reducibleJoin263: while (true) { if (r27) { break reducibleJoin263; } regexp = RegExp('\\bMinefield\\b', 'i'); test = regexp.test; value133 = Reflect.apply(test, regexp, [r10]); reducibleJoin262: while (true) { if (value133) { value134 = 'a'; r33 = value134; break reducibleJoin262; } r33 = value133; break reducibleJoin262; } r27 = r33; break reducibleJoin263; } r12 = r27; r30 = r27; break reducibleJoin264; } r30 = r3; break reducibleJoin264; } reducibleJoin270: while (true) { if (r30) { regexp = RegExp('b', 'i'); test = regexp.test; value135 = Reflect.apply(test, regexp, [r12]); value136 = 'alpha'; reducibleJoin267: while (true) { if (value135) { value137 = 'beta'; r30 = value137; break reducibleJoin267; } r30 = value136; break reducibleJoin267; } replace = r3.replace; RegExp = global.RegExp; value138 = RegExp(r12 + '\\+?$'); value139 = ''; value140 = Reflect.apply(replace, r3, [value138, value139]); if (r30 === 'beta') { r34 = r37; } value141 = value140 + r34; regexp = RegExp('\\d+\\+?', ''); exec = regexp.exec; value142 = Reflect.apply(exec, regexp, [r12]); r33 = value142 || value139; value143 = value141 + r33; r3 = value143; r27 = r30; break reducibleJoin270; } r27 = value8; break reducibleJoin270; } reducibleJoin353: while (true) { reduciblePort354: while (true) { exceptionLanding345: while (true) { if (r6 == 'Fennec') { break reducibleJoin353; } if (r6 == 'Firefox') { regexp = RegExp('\\b(?:Android|Firefox OS|KaiOS)\\b', ''); if (regexp.test(r5)) { break reducibleJoin353; } } if (r6 == 'Maxthon') { if (r3) { replace = r3.replace; value179 = Reflect.apply(replace, r3, [RegExp('\\.[\\d.]+', ''), '.x']); r2 = r14; r3 = value179; r9 = r24; r13 = r11; break reduciblePort354; } } regexp = RegExp('\\bXbox\\b', 'i'); test = regexp.test; if (Reflect.apply(test, regexp, [r14])) { if (r14 == 'Xbox 360') { r5 = value8; } value177 = r14 == 'Xbox 360'; reducibleJoin350: while (true) { if (value177) { regexp = RegExp('\\bIEMobile\\b', ''); test = regexp.test; value178 = Reflect.apply(test, regexp, [r10]); r25 = value178; break reducibleJoin350; } r25 = value177; break reducibleJoin350; } if (r25) { unshift = object.unshift; Reflect.apply(unshift, object, ['mobile mode']); r2 = r14; r9 = r24; r13 = r11; break reduciblePort354; } r2 = r14; r9 = r24; r13 = r11; break reduciblePort354; } regexp = RegExp('^(?:Chrome|IE|Opera)$', ''); test = regexp.test; if (!Reflect.apply(test, regexp, [r6])) { if (r6) { if (!r14) { regexp = RegExp('Browser|Mobi', ''); test = regexp.test; if (!Reflect.apply(test, regexp, [r6])) { if (r5 != 'Windows CE') { regexp = RegExp('Mobi', 'i'); test = regexp.test; if (!Reflect.apply(test, regexp, [r10])) { if (value20 == r6) { if (value) { try { external = r28.external; } catch (error) { break exceptionLanding345; } try { value175 = value8 !== external; } catch (error) { break exceptionLanding345; } if (value175) { r2 = r14; r9 = r24; r13 = r11; break reduciblePort354; } try { unshift = object.unshift; } catch (error) { break exceptionLanding345; } try { Reflect.apply(unshift, object, ['platform preview']); } catch (error) { break exceptionLanding345; } r2 = r14; r9 = r24; r13 = r11; break reduciblePort354; } } regexp = RegExp('\\bBlackBerry\\b', ''); test = regexp.test; if (!Reflect.apply(test, regexp, [r14])) { regexp = RegExp('\\bBB10\\b', ''); test = regexp.test; if (!Reflect.apply(test, regexp, [r10])) { value148 = this != forOwn_7372; reducibleJoin292: while (true) { if (value148) { value149 = r14 != 'Wii'; r30 = value149; break reducibleJoin292; } r30 = value148; break reducibleJoin292; } reducibleJoin319: while (true) { if (r30) { r2 = value && r9; reducibleJoin298: while (true) { if (r2) { break reducibleJoin298; } regexp = RegExp('Opera', ''); test = regexp.test; value150 = Reflect.apply(test, regexp, [r6]); reducibleJoin297: while (true) { if (value150) { regexp = RegExp('\\b(?:MSIE|Firefox)\\b', 'i'); test = regexp.test; value151 = Reflect.apply(test, regexp, [r10]); r9 = value151; break reducibleJoin297; } r9 = value150; break reducibleJoin297; } r2 = r9; break reducibleJoin298; } reducibleJoin302: while (true) { if (r2) { break reducibleJoin302; } value152 = r6 == 'Firefox'; reducibleJoin301: while (true) { if (value152) { regexp = RegExp('\\bOS X (?:\\d+\\.){2,}', ''); test = regexp.test; value153 = Reflect.apply(test, regexp, [r5]); r9 = value153; break reducibleJoin301; } r9 = value152; break reducibleJoin301; } r2 = r9; break reducibleJoin302; } reducibleJoin318: while (true) { if (r2) { break reducibleJoin318; } value154 = value20 == r6; reducibleJoin317: while (true) { if (value154) { reducibleJoin306: while (true) { if (r5) { regexp = RegExp('^Win', ''); test = regexp.test; value155 = !Reflect.apply(test, regexp, [r5]); r13 = value155; break reducibleJoin306; } r13 = r5; break reducibleJoin306; } reducibleJoin308: while (true) { if (r13) { value156 = r3 > 5.5; r13 = value156; break reducibleJoin308; } break reducibleJoin308; } reducibleJoin312: while (true) { if (r13) { break reducibleJoin312; } regexp = RegExp('\\bWindows XP\\b', ''); test = regexp.test; value157 = Reflect.apply(test, regexp, [r5]); reducibleJoin311: while (true) { if (value157) { value158 = r3 > 8; r31 = value158; break reducibleJoin311; } r31 = value157; break reducibleJoin311; } r13 = r31; break reducibleJoin312; } reducibleJoin316: while (true) { if (r13) { break reducibleJoin316; } value159 = r3 == 8; reducibleJoin315: while (true) { if (value159) { regexp = RegExp('\\bTrident\\b', ''); test = regexp.test; value160 = !Reflect.apply(test, regexp, [r10]); r31 = value160; break reducibleJoin315; } r31 = value159; break reducibleJoin315; } r13 = r31; break reducibleJoin316; } r9 = r13; break reducibleJoin317; } r9 = value154; break reducibleJoin317; } r2 = r9; break reducibleJoin318; } r30 = r2; break reducibleJoin319; } break reducibleJoin319; } reducibleJoin321: while (true) { if (r30) { binding = env0_3; test = binding.test; parse_7378Binding = parse_7378; call = parse_7378Binding.call; forOwn_7372Binding = forOwn_7372; replace = r10.replace; value161 = Reflect.apply(replace, r10, [env0_3, '']); value162 = Reflect.apply(call, parse_7378Binding, [forOwn_7372Binding, value161 + ';']); value163 = !Reflect.apply(test, binding, [value162]); r12 = value162; r30 = value163; break reducibleJoin321; } break reducibleJoin321; } reducibleJoin323: while (true) { if (r30) { name = r12.name; r30 = name; break reducibleJoin323; } break reducibleJoin323; } if (r30) { name = r12.name; value164 = 'ing as ' + name; version = r12.version; value165 = ''; reducibleJoin326: while (true) { if (version) { value166 = ' ' + version; r30 = value166; break reducibleJoin326; } r30 = value165; break reducibleJoin326; } value167 = value164 + r30; binding = env0_3; test = binding.test; if (Reflect.apply(test, binding, [r6])) { regexp = RegExp('\\bIE\\b', ''); test = regexp.test; value170 = Reflect.apply(test, regexp, [value167]); reducibleJoin333: while (true) { if (value170) { value171 = r5 == 'Mac OS'; r30 = value171; break reducibleJoin333; } r30 = value170; break reducibleJoin333; } if (r30) { r5 = value8; } value172 = 'identify' + value167; r12 = value172; } else { value168 = 'mask' + value167; reducibleJoin329: while (true) { if (r36) { formatBinding = format; replace = r36.replace; value169 = formatBinding(Reflect.apply(replace, r36, [RegExp('([a-z])([A-Z])', 'g'), '$1 $2'])); r30 = value169; break reducibleJoin329; } r30 = value18; break reducibleJoin329; } regexp = RegExp('\\bIE\\b', ''); test = regexp.test; if (Reflect.apply(test, regexp, [value168])) { r5 = value8; } if (value) { r6 = r30; r12 = value168; } else { r3 = value8; r6 = r30; r12 = value168; } } push = object.push; Reflect.apply(push, object, [r12]); r2 = r14; r9 = ['Presto']; r13 = r11; break reduciblePort354; } r2 = r14; r9 = r24; r13 = r11; break reduciblePort354; } } RegExp = global.RegExp; replace = r14.replace; value145 = RegExp(Reflect.apply(replace, r14, [RegExp(' +', 'g'), ' *']) + '/([.\\d]+)', 'i'); value146 = value145.exec(r10); reducibleJoin288: while (true) { if (value146) { r30 = value146; break reducibleJoin288; } value147 = 0; r30 = value147; break reducibleJoin288; } r30 = r30[value25] || r3; if (r30) { items12 = [r30]; regexp = RegExp('BB10', ''); items12[1] = regexp.test(r10); value173 = 'Device Software'; reducibleJoin338: while (true) { if (items12[value25]) { env0_2 = value8; r30 = value23; r31 = value8; r34 = value23; break reducibleJoin338; } r30 = r11; r31 = r14; r34 = value173; break reducibleJoin338; } value174 = r34 + ' ' + items12[0]; r2 = r31; r3 = value8; r5 = value174; r9 = r24; r13 = r30; break reduciblePort354; } r12 = r30; value148 = this != forOwn_7372; reducibleJoin292: while (true) { if (value148) { value149 = r14 != 'Wii'; r30 = value149; break reducibleJoin292; } r30 = value148; break reducibleJoin292; } reducibleJoin319: while (true) { if (r30) { r2 = value && r9; reducibleJoin298: while (true) { if (r2) { break reducibleJoin298; } regexp = RegExp('Opera', ''); test = regexp.test; value150 = Reflect.apply(test, regexp, [r6]); reducibleJoin297: while (true) { if (value150) { regexp = RegExp('\\b(?:MSIE|Firefox)\\b', 'i'); test = regexp.test; value151 = Reflect.apply(test, regexp, [r10]); r9 = value151; break reducibleJoin297; } r9 = value150; break reducibleJoin297; } r2 = r9; break reducibleJoin298; } reducibleJoin302: while (true) { if (r2) { break reducibleJoin302; } value152 = r6 == 'Firefox'; reducibleJoin301: while (true) { if (value152) { regexp = RegExp('\\bOS X (?:\\d+\\.){2,}', ''); test = regexp.test; value153 = Reflect.apply(test, regexp, [r5]); r9 = value153; break reducibleJoin301; } r9 = value152; break reducibleJoin301; } r2 = r9; break reducibleJoin302; } reducibleJoin318: while (true) { if (r2) { break reducibleJoin318; } value154 = value20 == r6; reducibleJoin317: while (true) { if (value154) { reducibleJoin306: while (true) { if (r5) { regexp = RegExp('^Win', ''); test = regexp.test; value155 = !Reflect.apply(test, regexp, [r5]); r13 = value155; break reducibleJoin306; } r13 = r5; break reducibleJoin306; } reducibleJoin308: while (true) { if (r13) { value156 = r3 > 5.5; r13 = value156; break reducibleJoin308; } break reducibleJoin308; } reducibleJoin312: while (true) { if (r13) { break reducibleJoin312; } regexp = RegExp('\\bWindows XP\\b', ''); test = regexp.test; value157 = Reflect.apply(test, regexp, [r5]); reducibleJoin311: while (true) { if (value157) { value158 = r3 > 8; r31 = value158; break reducibleJoin311; } r31 = value157; break reducibleJoin311; } r13 = r31; break reducibleJoin312; } reducibleJoin316: while (true) { if (r13) { break reducibleJoin316; } value159 = r3 == 8; reducibleJoin315: while (true) { if (value159) { regexp = RegExp('\\bTrident\\b', ''); test = regexp.test; value160 = !Reflect.apply(test, regexp, [r10]); r31 = value160; break reducibleJoin315; } r31 = value159; break reducibleJoin315; } r13 = r31; break reducibleJoin316; } r9 = r13; break reducibleJoin317; } r9 = value154; break reducibleJoin317; } r2 = r9; break reducibleJoin318; } r30 = r2; break reducibleJoin319; } break reducibleJoin319; } reducibleJoin321: while (true) { if (r30) { binding = env0_3; test = binding.test; parse_7378Binding = parse_7378; call = parse_7378Binding.call; forOwn_7372Binding = forOwn_7372; replace = r10.replace; value161 = Reflect.apply(replace, r10, [env0_3, '']); value162 = Reflect.apply(call, parse_7378Binding, [forOwn_7372Binding, value161 + ';']); value163 = !Reflect.apply(test, binding, [value162]); r12 = value162; r30 = value163; break reducibleJoin321; } break reducibleJoin321; } reducibleJoin323: while (true) { if (r30) { name = r12.name; r30 = name; break reducibleJoin323; } break reducibleJoin323; } if (r30) { name = r12.name; value164 = 'ing as ' + name; version = r12.version; value165 = ''; reducibleJoin326: while (true) { if (version) { value166 = ' ' + version; r30 = value166; break reducibleJoin326; } r30 = value165; break reducibleJoin326; } value167 = value164 + r30; binding = env0_3; if (binding.test(r6)) { regexp = RegExp('\\bIE\\b', ''); value170 = regexp.test(value167); reducibleJoin333: while (true) { if (value170) { value171 = r5 == 'Mac OS'; r30 = value171; break reducibleJoin333; } r30 = value170; break reducibleJoin333; } if (r30) { r5 = value8; } value172 = 'identify' + value167; r12 = value172; } else { value168 = 'mask' + value167; reducibleJoin329: while (true) { if (r36) { formatBinding = format; replace = r36.replace; value169 = formatBinding(Reflect.apply(replace, r36, [RegExp('([a-z])([A-Z])', 'g'), '$1 $2'])); r30 = value169; break reducibleJoin329; } r30 = value18; break reducibleJoin329; } regexp = RegExp('\\bIE\\b', ''); if (regexp.test(value168)) { r5 = value8; } if (value) { r6 = r30; r12 = value168; } else { r3 = value8; r6 = r30; r12 = value168; } } push = object.push; Reflect.apply(push, object, [r12]); r2 = r14; r9 = ['Presto']; r13 = r11; break reduciblePort354; } r2 = r14; r9 = r24; r13 = r11; break reduciblePort354; } } value176 = r6 + ' Mobile'; r2 = r14; r6 = value176; r9 = r24; r13 = r11; break reduciblePort354; } } } if (value20 == r6) { if (value) { try { external = r28.external; } catch (error) { break exceptionLanding345; } try { value175 = value8 !== external; } catch (error) { break exceptionLanding345; } if (value175) { r2 = r14; r9 = r24; r13 = r11; break reduciblePort354; } try { unshift = object.unshift; } catch (error) { break exceptionLanding345; } try { Reflect.apply(unshift, object, ['platform preview']); } catch (error) { break exceptionLanding345; } r2 = r14; r9 = r24; r13 = r11; break reduciblePort354; } } regexp = RegExp('\\bBlackBerry\\b', ''); test = regexp.test; if (!Reflect.apply(test, regexp, [r14])) { regexp = RegExp('\\bBB10\\b', ''); test = regexp.test; if (!Reflect.apply(test, regexp, [r10])) { value148 = this != forOwn_7372; reducibleJoin292: while (true) { if (value148) { value149 = r14 != 'Wii'; r30 = value149; break reducibleJoin292; } r30 = value148; break reducibleJoin292; } reducibleJoin319: while (true) { if (r30) { r2 = value && r9; reducibleJoin298: while (true) { if (r2) { break reducibleJoin298; } regexp = RegExp('Opera', ''); test = regexp.test; value150 = Reflect.apply(test, regexp, [r6]); reducibleJoin297: while (true) { if (value150) { regexp = RegExp('\\b(?:MSIE|Firefox)\\b', 'i'); test = regexp.test; value151 = Reflect.apply(test, regexp, [r10]); r9 = value151; break reducibleJoin297; } r9 = value150; break reducibleJoin297; } r2 = r9; break reducibleJoin298; } reducibleJoin302: while (true) { if (r2) { break reducibleJoin302; } value152 = r6 == 'Firefox'; reducibleJoin301: while (true) { if (value152) { regexp = RegExp('\\bOS X (?:\\d+\\.){2,}', ''); test = regexp.test; value153 = Reflect.apply(test, regexp, [r5]); r9 = value153; break reducibleJoin301; } r9 = value152; break reducibleJoin301; } r2 = r9; break reducibleJoin302; } reducibleJoin318: while (true) { if (r2) { break reducibleJoin318; } value154 = value20 == r6; reducibleJoin317: while (true) { if (value154) { reducibleJoin306: while (true) { if (r5) { regexp = RegExp('^Win', ''); test = regexp.test; value155 = !Reflect.apply(test, regexp, [r5]); r13 = value155; break reducibleJoin306; } r13 = r5; break reducibleJoin306; } reducibleJoin308: while (true) { if (r13) { value156 = r3 > 5.5; r13 = value156; break reducibleJoin308; } break reducibleJoin308; } reducibleJoin312: while (true) { if (r13) { break reducibleJoin312; } regexp = RegExp('\\bWindows XP\\b', ''); test = regexp.test; value157 = Reflect.apply(test, regexp, [r5]); reducibleJoin311: while (true) { if (value157) { value158 = r3 > 8; r31 = value158; break reducibleJoin311; } r31 = value157; break reducibleJoin311; } r13 = r31; break reducibleJoin312; } reducibleJoin316: while (true) { if (r13) { break reducibleJoin316; } value159 = r3 == 8; reducibleJoin315: while (true) { if (value159) { regexp = RegExp('\\bTrident\\b', ''); test = regexp.test; value160 = !Reflect.apply(test, regexp, [r10]); r31 = value160; break reducibleJoin315; } r31 = value159; break reducibleJoin315; } r13 = r31; break reducibleJoin316; } r9 = r13; break reducibleJoin317; } r9 = value154; break reducibleJoin317; } r2 = r9; break reducibleJoin318; } r30 = r2; break reducibleJoin319; } break reducibleJoin319; } reducibleJoin321: while (true) { if (r30) { binding = env0_3; test = binding.test; parse_7378Binding = parse_7378; call = parse_7378Binding.call; forOwn_7372Binding = forOwn_7372; replace = r10.replace; value161 = Reflect.apply(replace, r10, [env0_3, '']); value162 = Reflect.apply(call, parse_7378Binding, [forOwn_7372Binding, value161 + ';']); value163 = !Reflect.apply(test, binding, [value162]); r12 = value162; r30 = value163; break reducibleJoin321; } break reducibleJoin321; } reducibleJoin323: while (true) { if (r30) { name = r12.name; r30 = name; break reducibleJoin323; } break reducibleJoin323; } if (r30) { name = r12.name; value164 = 'ing as ' + name; version = r12.version; value165 = ''; reducibleJoin326: while (true) { if (version) { value166 = ' ' + version; r30 = value166; break reducibleJoin326; } r30 = value165; break reducibleJoin326; } value167 = value164 + r30; binding = env0_3; test = binding.test; if (Reflect.apply(test, binding, [r6])) { regexp = RegExp('\\bIE\\b', ''); test = regexp.test; value170 = Reflect.apply(test, regexp, [value167]); reducibleJoin333: while (true) { if (value170) { value171 = r5 == 'Mac OS'; r30 = value171; break reducibleJoin333; } r30 = value170; break reducibleJoin333; } if (r30) { r5 = value8; } value172 = 'identify' + value167; r12 = value172; } else { value168 = 'mask' + value167; reducibleJoin329: while (true) { if (r36) { formatBinding = format; replace = r36.replace; value169 = formatBinding(Reflect.apply(replace, r36, [RegExp('([a-z])([A-Z])', 'g'), '$1 $2'])); r30 = value169; break reducibleJoin329; } r30 = value18; break reducibleJoin329; } regexp = RegExp('\\bIE\\b', ''); test = regexp.test; if (Reflect.apply(test, regexp, [value168])) { r5 = value8; } if (value) { r6 = r30; r12 = value168; } else { r3 = value8; r6 = r30; r12 = value168; } } push = object.push; Reflect.apply(push, object, [r12]); r2 = r14; r9 = ['Presto']; r13 = r11; break reduciblePort354; } r2 = r14; r9 = r24; r13 = r11; break reduciblePort354; } } RegExp = global.RegExp; replace = r14.replace; value144 = Reflect.apply(replace, r14, [RegExp(' +', 'g'), ' *']); value145 = RegExp(value144 + '/([.\\d]+)', 'i'); exec = value145.exec; value146 = Reflect.apply(exec, value145, [r10]); reducibleJoin288: while (true) { if (value146) { r30 = value146; break reducibleJoin288; } value147 = 0; r30 = value147; break reducibleJoin288; } property = r30[value25]; r30 = property || r3; if (r30) { items12 = [r30]; regexp = RegExp('BB10', ''); test = regexp.test; items12[1] = Reflect.apply(test, regexp, [r10]); value173 = 'Device Software'; reducibleJoin338: while (true) { if (items12[value25]) { env0_2 = value8; r30 = value23; r31 = value8; r34 = value23; break reducibleJoin338; } r30 = r11; r31 = r14; r34 = value173; break reducibleJoin338; } property = items12[0]; value174 = r34 + ' ' + property; r2 = r31; r3 = value8; r5 = value174; r9 = r24; r13 = r30; break reduciblePort354; } r12 = r30; value148 = this != forOwn_7372; reducibleJoin292: while (true) { if (value148) { value149 = r14 != 'Wii'; r30 = value149; break reducibleJoin292; } r30 = value148; break reducibleJoin292; } reducibleJoin319: while (true) { if (r30) { r2 = value && r9; reducibleJoin298: while (true) { if (r2) { break reducibleJoin298; } regexp = RegExp('Opera', ''); test = regexp.test; value150 = Reflect.apply(test, regexp, [r6]); reducibleJoin297: while (true) { if (value150) { regexp = RegExp('\\b(?:MSIE|Firefox)\\b', 'i'); test = regexp.test; value151 = Reflect.apply(test, regexp, [r10]); r9 = value151; break reducibleJoin297; } r9 = value150; break reducibleJoin297; } r2 = r9; break reducibleJoin298; } reducibleJoin302: while (true) { if (r2) { break reducibleJoin302; } value152 = r6 == 'Firefox'; reducibleJoin301: while (true) { if (value152) { regexp = RegExp('\\bOS X (?:\\d+\\.){2,}', ''); test = regexp.test; value153 = Reflect.apply(test, regexp, [r5]); r9 = value153; break reducibleJoin301; } r9 = value152; break reducibleJoin301; } r2 = r9; break reducibleJoin302; } reducibleJoin318: while (true) { if (r2) { break reducibleJoin318; } value154 = value20 == r6; reducibleJoin317: while (true) { if (value154) { reducibleJoin306: while (true) { if (r5) { regexp = RegExp('^Win', ''); test = regexp.test; value155 = !Reflect.apply(test, regexp, [r5]); r13 = value155; break reducibleJoin306; } r13 = r5; break reducibleJoin306; } reducibleJoin308: while (true) { if (r13) { value156 = r3 > 5.5; r13 = value156; break reducibleJoin308; } break reducibleJoin308; } reducibleJoin312: while (true) { if (r13) { break reducibleJoin312; } regexp = RegExp('\\bWindows XP\\b', ''); test = regexp.test; value157 = Reflect.apply(test, regexp, [r5]); reducibleJoin311: while (true) { if (value157) { value158 = r3 > 8; r31 = value158; break reducibleJoin311; } r31 = value157; break reducibleJoin311; } r13 = r31; break reducibleJoin312; } reducibleJoin316: while (true) { if (r13) { break reducibleJoin316; } value159 = r3 == 8; reducibleJoin315: while (true) { if (value159) { regexp = RegExp('\\bTrident\\b', ''); test = regexp.test; value160 = !Reflect.apply(test, regexp, [r10]); r31 = value160; break reducibleJoin315; } r31 = value159; break reducibleJoin315; } r13 = r31; break reducibleJoin316; } r9 = r13; break reducibleJoin317; } r9 = value154; break reducibleJoin317; } r2 = r9; break reducibleJoin318; } r30 = r2; break reducibleJoin319; } break reducibleJoin319; } reducibleJoin321: while (true) { if (r30) { binding = env0_3; test = binding.test; parse_7378Binding = parse_7378; call = parse_7378Binding.call; forOwn_7372Binding = forOwn_7372; replace = r10.replace; value161 = Reflect.apply(replace, r10, [env0_3, '']); value162 = Reflect.apply(call, parse_7378Binding, [forOwn_7372Binding, value161 + ';']); value163 = !Reflect.apply(test, binding, [value162]); r12 = value162; r30 = value163; break reducibleJoin321; } break reducibleJoin321; } reducibleJoin323: while (true) { if (r30) { name = r12.name; r30 = name; break reducibleJoin323; } break reducibleJoin323; } if (r30) { name = r12.name; value164 = 'ing as ' + name; version = r12.version; value165 = ''; reducibleJoin326: while (true) { if (version) { value166 = ' ' + version; r30 = value166; break reducibleJoin326; } r30 = value165; break reducibleJoin326; } value167 = value164 + r30; binding = env0_3; test = binding.test; if (Reflect.apply(test, binding, [r6])) { regexp = RegExp('\\bIE\\b', ''); test = regexp.test; value170 = Reflect.apply(test, regexp, [value167]); reducibleJoin333: while (true) { if (value170) { value171 = r5 == 'Mac OS'; r30 = value171; break reducibleJoin333; } r30 = value170; break reducibleJoin333; } if (r30) { r5 = value8; } value172 = 'identify' + value167; r12 = value172; } else { value168 = 'mask' + value167; reducibleJoin329: while (true) { if (r36) { formatBinding = format; replace = r36.replace; value169 = formatBinding(Reflect.apply(replace, r36, [RegExp('([a-z])([A-Z])', 'g'), '$1 $2'])); r30 = value169; break reducibleJoin329; } r30 = value18; break reducibleJoin329; } regexp = RegExp('\\bIE\\b', ''); test = regexp.test; if (Reflect.apply(test, regexp, [value168])) { r5 = value8; } if (value) { r6 = r30; r12 = value168; } else { r3 = value8; r6 = r30; r12 = value168; } } push = object.push; Reflect.apply(push, object, [r12]); r2 = r14; r9 = ['Presto']; r13 = r11; break reduciblePort354; } r2 = r14; r9 = r24; r13 = r11; break reduciblePort354; } if (r5 != 'Windows CE') { regexp = RegExp('Mobi', 'i'); test = regexp.test; if (!Reflect.apply(test, regexp, [r10])) { if (value20 == r6) { if (value) { try { external = r28.external; } catch (error) { break exceptionLanding345; } try { value175 = value8 !== external; } catch (error) { break exceptionLanding345; } if (value175) { r2 = r14; r9 = r24; r13 = r11; break reduciblePort354; } try { unshift = object.unshift; } catch (error) { break exceptionLanding345; } try { Reflect.apply(unshift, object, ['platform preview']); } catch (error) { break exceptionLanding345; } r2 = r14; r9 = r24; r13 = r11; break reduciblePort354; } } regexp = RegExp('\\bBlackBerry\\b', ''); test = regexp.test; if (!Reflect.apply(test, regexp, [r14])) { regexp = RegExp('\\bBB10\\b', ''); test = regexp.test; if (!Reflect.apply(test, regexp, [r10])) { value148 = this != forOwn_7372; reducibleJoin292: while (true) { if (value148) { value149 = r14 != 'Wii'; r30 = value149; break reducibleJoin292; } r30 = value148; break reducibleJoin292; } reducibleJoin319: while (true) { if (r30) { r2 = value && r9; reducibleJoin298: while (true) { if (r2) { break reducibleJoin298; } regexp = RegExp('Opera', ''); test = regexp.test; value150 = Reflect.apply(test, regexp, [r6]); reducibleJoin297: while (true) { if (value150) { regexp = RegExp('\\b(?:MSIE|Firefox)\\b', 'i'); test = regexp.test; value151 = Reflect.apply(test, regexp, [r10]); r9 = value151; break reducibleJoin297; } r9 = value150; break reducibleJoin297; } r2 = r9; break reducibleJoin298; } reducibleJoin302: while (true) { if (r2) { break reducibleJoin302; } value152 = r6 == 'Firefox'; reducibleJoin301: while (true) { if (value152) { regexp = RegExp('\\bOS X (?:\\d+\\.){2,}', ''); test = regexp.test; value153 = Reflect.apply(test, regexp, [r5]); r9 = value153; break reducibleJoin301; } r9 = value152; break reducibleJoin301; } r2 = r9; break reducibleJoin302; } reducibleJoin318: while (true) { if (r2) { break reducibleJoin318; } value154 = value20 == r6; reducibleJoin317: while (true) { if (value154) { reducibleJoin306: while (true) { if (r5) { regexp = RegExp('^Win', ''); test = regexp.test; value155 = !Reflect.apply(test, regexp, [r5]); r13 = value155; break reducibleJoin306; } r13 = r5; break reducibleJoin306; } reducibleJoin308: while (true) { if (r13) { value156 = r3 > 5.5; r13 = value156; break reducibleJoin308; } break reducibleJoin308; } reducibleJoin312: while (true) { if (r13) { break reducibleJoin312; } regexp = RegExp('\\bWindows XP\\b', ''); test = regexp.test; value157 = Reflect.apply(test, regexp, [r5]); reducibleJoin311: while (true) { if (value157) { value158 = r3 > 8; r31 = value158; break reducibleJoin311; } r31 = value157; break reducibleJoin311; } r13 = r31; break reducibleJoin312; } reducibleJoin316: while (true) { if (r13) { break reducibleJoin316; } value159 = r3 == 8; reducibleJoin315: while (true) { if (value159) { regexp = RegExp('\\bTrident\\b', ''); test = regexp.test; value160 = !Reflect.apply(test, regexp, [r10]); r31 = value160; break reducibleJoin315; } r31 = value159; break reducibleJoin315; } r13 = r31; break reducibleJoin316; } r9 = r13; break reducibleJoin317; } r9 = value154; break reducibleJoin317; } r2 = r9; break reducibleJoin318; } r30 = r2; break reducibleJoin319; } break reducibleJoin319; } reducibleJoin321: while (true) { if (r30) { binding = env0_3; test = binding.test; parse_7378Binding = parse_7378; call = parse_7378Binding.call; forOwn_7372Binding = forOwn_7372; replace = r10.replace; value161 = Reflect.apply(replace, r10, [env0_3, '']); value162 = Reflect.apply(call, parse_7378Binding, [forOwn_7372Binding, value161 + ';']); value163 = !Reflect.apply(test, binding, [value162]); r12 = value162; r30 = value163; break reducibleJoin321; } break reducibleJoin321; } reducibleJoin323: while (true) { if (r30) { name = r12.name; r30 = name; break reducibleJoin323; } break reducibleJoin323; } if (r30) { name = r12.name; value164 = 'ing as ' + name; version = r12.version; value165 = ''; reducibleJoin326: while (true) { if (version) { value166 = ' ' + version; r30 = value166; break reducibleJoin326; } r30 = value165; break reducibleJoin326; } value167 = value164 + r30; binding = env0_3; test = binding.test; if (Reflect.apply(test, binding, [r6])) { regexp = RegExp('\\bIE\\b', ''); test = regexp.test; value170 = Reflect.apply(test, regexp, [value167]); reducibleJoin333: while (true) { if (value170) { value171 = r5 == 'Mac OS'; r30 = value171; break reducibleJoin333; } r30 = value170; break reducibleJoin333; } if (r30) { r5 = value8; } value172 = 'identify' + value167; r12 = value172; } else { value168 = 'mask' + value167; reducibleJoin329: while (true) { if (r36) { formatBinding = format; replace = r36.replace; value169 = formatBinding(Reflect.apply(replace, r36, [RegExp('([a-z])([A-Z])', 'g'), '$1 $2'])); r30 = value169; break reducibleJoin329; } r30 = value18; break reducibleJoin329; } regexp = RegExp('\\bIE\\b', ''); test = regexp.test; if (Reflect.apply(test, regexp, [value168])) { r5 = value8; } if (value) { r6 = r30; r12 = value168; } else { r3 = value8; r6 = r30; r12 = value168; } } push = object.push; Reflect.apply(push, object, [r12]); r2 = r14; r9 = ['Presto']; r13 = r11; break reduciblePort354; } r2 = r14; r9 = r24; r13 = r11; break reduciblePort354; } } RegExp = global.RegExp; replace = r14.replace; value144 = Reflect.apply(replace, r14, [RegExp(' +', 'g'), ' *']); value145 = RegExp(value144 + '/([.\\d]+)', 'i'); exec = value145.exec; value146 = Reflect.apply(exec, value145, [r10]); reducibleJoin288: while (true) { if (value146) { r30 = value146; break reducibleJoin288; } value147 = 0; r30 = value147; break reducibleJoin288; } property = r30[value25]; r30 = property || r3; if (r30) { items12 = [r30]; regexp = RegExp('BB10', ''); test = regexp.test; items12[1] = Reflect.apply(test, regexp, [r10]); value173 = 'Device Software'; reducibleJoin338: while (true) { if (items12[value25]) { env0_2 = value8; r30 = value23; r31 = value8; r34 = value23; break reducibleJoin338; } r30 = r11; r31 = r14; r34 = value173; break reducibleJoin338; } property = items12[0]; value174 = r34 + ' ' + property; r2 = r31; r3 = value8; r5 = value174; r9 = r24; r13 = r30; break reduciblePort354; } r12 = r30; value148 = this != forOwn_7372; reducibleJoin292: while (true) { if (value148) { value149 = r14 != 'Wii'; r30 = value149; break reducibleJoin292; } r30 = value148; break reducibleJoin292; } reducibleJoin319: while (true) { if (r30) { r2 = value && r9; reducibleJoin298: while (true) { if (r2) { break reducibleJoin298; } regexp = RegExp('Opera', ''); test = regexp.test; value150 = Reflect.apply(test, regexp, [r6]); reducibleJoin297: while (true) { if (value150) { regexp = RegExp('\\b(?:MSIE|Firefox)\\b', 'i'); test = regexp.test; value151 = Reflect.apply(test, regexp, [r10]); r9 = value151; break reducibleJoin297; } r9 = value150; break reducibleJoin297; } r2 = r9; break reducibleJoin298; } reducibleJoin302: while (true) { if (r2) { break reducibleJoin302; } value152 = r6 == 'Firefox'; reducibleJoin301: while (true) { if (value152) { regexp = RegExp('\\bOS X (?:\\d+\\.){2,}', ''); test = regexp.test; value153 = Reflect.apply(test, regexp, [r5]); r9 = value153; break reducibleJoin301; } r9 = value152; break reducibleJoin301; } r2 = r9; break reducibleJoin302; } reducibleJoin318: while (true) { if (r2) { break reducibleJoin318; } value154 = value20 == r6; reducibleJoin317: while (true) { if (value154) { reducibleJoin306: while (true) { if (r5) { regexp = RegExp('^Win', ''); test = regexp.test; value155 = !Reflect.apply(test, regexp, [r5]); r13 = value155; break reducibleJoin306; } r13 = r5; break reducibleJoin306; } reducibleJoin308: while (true) { if (r13) { value156 = r3 > 5.5; r13 = value156; break reducibleJoin308; } break reducibleJoin308; } reducibleJoin312: while (true) { if (r13) { break reducibleJoin312; } regexp = RegExp('\\bWindows XP\\b', ''); test = regexp.test; value157 = Reflect.apply(test, regexp, [r5]); reducibleJoin311: while (true) { if (value157) { value158 = r3 > 8; r31 = value158; break reducibleJoin311; } r31 = value157; break reducibleJoin311; } r13 = r31; break reducibleJoin312; } reducibleJoin316: while (true) { if (r13) { break reducibleJoin316; } value159 = r3 == 8; reducibleJoin315: while (true) { if (value159) { regexp = RegExp('\\bTrident\\b', ''); test = regexp.test; value160 = !Reflect.apply(test, regexp, [r10]); r31 = value160; break reducibleJoin315; } r31 = value159; break reducibleJoin315; } r13 = r31; break reducibleJoin316; } r9 = r13; break reducibleJoin317; } r9 = value154; break reducibleJoin317; } r2 = r9; break reducibleJoin318; } r30 = r2; break reducibleJoin319; } break reducibleJoin319; } reducibleJoin321: while (true) { if (r30) { binding = env0_3; test = binding.test; parse_7378Binding = parse_7378; call = parse_7378Binding.call; forOwn_7372Binding = forOwn_7372; replace = r10.replace; value161 = Reflect.apply(replace, r10, [env0_3, '']); value162 = Reflect.apply(call, parse_7378Binding, [forOwn_7372Binding, value161 + ';']); value163 = !Reflect.apply(test, binding, [value162]); r12 = value162; r30 = value163; break reducibleJoin321; } break reducibleJoin321; } reducibleJoin323: while (true) { if (r30) { name = r12.name; r30 = name; break reducibleJoin323; } break reducibleJoin323; } if (r30) { name = r12.name; value164 = 'ing as ' + name; version = r12.version; value165 = ''; reducibleJoin326: while (true) { if (version) { value166 = ' ' + version; r30 = value166; break reducibleJoin326; } r30 = value165; break reducibleJoin326; } value167 = value164 + r30; binding = env0_3; test = binding.test; if (Reflect.apply(test, binding, [r6])) { regexp = RegExp('\\bIE\\b', ''); test = regexp.test; value170 = Reflect.apply(test, regexp, [value167]); reducibleJoin333: while (true) { if (value170) { value171 = r5 == 'Mac OS'; r30 = value171; break reducibleJoin333; } r30 = value170; break reducibleJoin333; } if (r30) { r5 = value8; } value172 = 'identify' + value167; r12 = value172; } else { value168 = 'mask' + value167; reducibleJoin329: while (true) { if (r36) { formatBinding = format; replace = r36.replace; value169 = formatBinding(Reflect.apply(replace, r36, [RegExp('([a-z])([A-Z])', 'g'), '$1 $2'])); r30 = value169; break reducibleJoin329; } r30 = value18; break reducibleJoin329; } regexp = RegExp('\\bIE\\b', ''); test = regexp.test; if (Reflect.apply(test, regexp, [value168])) { r5 = value8; } if (value) { r6 = r30; r12 = value168; } else { r3 = value8; r6 = r30; r12 = value168; } } push = object.push; Reflect.apply(push, object, [r12]); r2 = r14; r9 = ['Presto']; r13 = r11; break reduciblePort354; } r2 = r14; r9 = r24; r13 = r11; break reduciblePort354; } } value176 = r6 + ' Mobile'; r2 = r14; r6 = value176; r9 = r24; r13 = r11; break reduciblePort354; } unshift = object.unshift; Reflect.apply(unshift, object, ['embedded']); r2 = r14; r9 = r24; r13 = r11; break reduciblePort354; } regexp = RegExp('\\bAppleWebKit\\/([\\d.]+\\+?)', 'i'); exec = regexp.exec; value181 = Reflect.apply(exec, regexp, [r10]); reducibleJoin356: while (true) { if (value181) { r11 = value181; break reducibleJoin356; } value182 = 0; r11 = value182; break reducibleJoin356; } property = r11[value25]; reducibleJoin475: while (true) { if (property) { parseFloat = global.parseFloat; replace = property.replace; float2 = parseFloat(Reflect.apply(replace, property, [RegExp('\\.(\\d)$', ''), '.0$1'])); items13 = [float2, property]; reducibleJoin365: while (true) { reducibleJoin363: while (true) { if (value21 != r6) { value184 = r3 != items13[value25]; if (value184) { regexp = RegExp('\\bSafari\\/([\\d.]+\\+?)', 'i'); exec = regexp.exec; value185 = Reflect.apply(exec, regexp, [r10]); reducibleJoin362: while (true) { if (value185) { r24 = value185; break reducibleJoin362; } value186 = 0; r24 = value186; break reducibleJoin362; } property = r24[value25]; items13[2] = property; value187 = r3 != property; r28 = value187; break reducibleJoin363; } r28 = value184; break reducibleJoin363; } property = items13[value25]; slice = property.slice; value183 = Reflect.apply(slice, property, [-1]); if (value183 == '+') { value188 = 'WebKit Nightly'; property = items13[value25]; slice = property.slice; value189 = Reflect.apply(slice, property, [0, -1]); value190 = 'alpha'; r3 = value189; r6 = value188; r24 = value190; break reducibleJoin365; } value184 = r3 != items13[value25]; if (value184) { regexp = RegExp('\\bSafari\\/([\\d.]+\\+?)', 'i'); exec = regexp.exec; value185 = Reflect.apply(exec, regexp, [r10]); reducibleJoin362: while (true) { if (value185) { r24 = value185; break reducibleJoin362; } value186 = 0; r24 = value186; break reducibleJoin362; } property = r24[value25]; items13[2] = property; value187 = r3 != property; r28 = value187; break reducibleJoin363; } r28 = value184; break reducibleJoin363; } if (r28) { r24 = r27; break reducibleJoin365; } r3 = value8; r24 = r27; break reducibleJoin365; } regexp = RegExp('\\b(?:Headless)?Chrome\\/([\\d.]+)', 'i'); exec = regexp.exec; value191 = Reflect.apply(exec, regexp, [r10]); reducibleJoin367: while (true) { if (value191) { r27 = value191; break reducibleJoin367; } value192 = 0; r27 = value192; break reducibleJoin367; } items13[value25] = r27[value25]; value193 = items13[0] == 537.36; reducibleJoin369: while (true) { if (value193) { value194 = items13[2] == 537.36; r27 = value194; break reducibleJoin369; } r27 = value193; break reducibleJoin369; } reducibleJoin371: while (true) { if (r27) { parseFloat = global.parseFloat; float3 = parseFloat(items13[value25]); value195 = float3 >= 28; r27 = value195; break reducibleJoin371; } break reducibleJoin371; } reducibleJoin373: while (true) { if (r27) { value196 = value12 == r9; r27 = value196; break reducibleJoin373; } break reducibleJoin373; } reducibleJoin375: while (true) { if (r27) { r9 = ['Blink']; break reducibleJoin375; } break reducibleJoin375; } reducibleJoin462: while (true) { reducibleJoin406: while (true) { if (value) { if (!r26) { if (!items13[value25]) { reducibleJoin380: while (true) { if (r9) { r9[value25] = 'like Safari'; break reducibleJoin380; } break reducibleJoin380; } property = items13[0]; if (property < 400) { r26 = value25; break reducibleJoin406; } reducibleJoin405: while (true) { if (property < 500) { r27 = 2; break reducibleJoin405; } value198 = 3; reducibleJoin404: while (true) { if (property < 526) { r29 = value198; break reducibleJoin404; } value199 = 4; reducibleJoin403: while (true) { if (property < 533) { r30 = value199; break reducibleJoin403; } value200 = '4+'; reducibleJoin402: while (true) { if (property < 534) { r31 = value200; break reducibleJoin402; } value201 = 5; reducibleJoin401: while (true) { if (property < 535) { r32 = value201; break reducibleJoin401; } value202 = 6; reducibleJoin400: while (true) { if (property < 537) { r33 = value202; break reducibleJoin400; } value203 = 7; reducibleJoin399: while (true) { if (property < 538) { r34 = value203; break reducibleJoin399; } value204 = 8; reducibleJoin398: while (true) { if (property < 601) { r35 = value204; break reducibleJoin398; } value205 = 9; reducibleJoin397: while (true) { if (property < 602) { r36 = value205; break reducibleJoin397; } value206 = 10; reducibleJoin396: while (true) { if (property < 604) { r37 = value206; break reducibleJoin396; } value207 = 11; reducibleJoin395: while (true) { if (property < 606) { r38 = value207; break reducibleJoin395; } value208 = '12'; reducibleJoin394: while (true) { if (property < 608) { value209 = 12; r39 = value209; break reducibleJoin394; } r39 = value208; break reducibleJoin394; } r38 = r39; break reducibleJoin395; } r37 = r38; break reducibleJoin396; } r36 = r37; break reducibleJoin397; } r35 = r36; break reducibleJoin398; } r34 = r35; break reducibleJoin399; } r33 = r34; break reducibleJoin400; } r32 = r33; break reducibleJoin401; } r31 = r32; break reducibleJoin402; } r30 = r31; break reducibleJoin403; } r29 = r30; break reducibleJoin404; } r27 = r29; break reducibleJoin405; } r26 = r27; break reducibleJoin406; } } reducibleJoin409: while (true) { if (r9) { r9[value25] = 'like Chrome'; break reducibleJoin409; } break reducibleJoin409; } property = items13[value25]; reducibleJoin461: while (true) { if (property) { r26 = property; break reducibleJoin461; } property = items13[0]; reducibleJoin460: while (true) { if (property < 530) { r27 = value25; break reducibleJoin460; } value210 = 2; reducibleJoin459: while (true) { if (property < 532) { r28 = value210; break reducibleJoin459; } value211 = 3; reducibleJoin458: while (true) { if (property < 532.05) { r29 = value211; break reducibleJoin458; } value212 = 4; reducibleJoin457: while (true) { if (property < 533) { r30 = value212; break reducibleJoin457; } value213 = 5; reducibleJoin456: while (true) { if (property < 534.03) { r31 = value213; break reducibleJoin456; } value214 = 6; reducibleJoin455: while (true) { if (property < 534.07) { r32 = value214; break reducibleJoin455; } value215 = 7; reducibleJoin454: while (true) { if (property < 534.1) { r33 = value215; break reducibleJoin454; } value216 = 8; reducibleJoin453: while (true) { if (property < 534.13) { r34 = value216; break reducibleJoin453; } value217 = 9; reducibleJoin452: while (true) { if (property < 534.16) { r35 = value217; break reducibleJoin452; } value218 = 10; reducibleJoin451: while (true) { if (property < 534.24) { r36 = value218; break reducibleJoin451; } value219 = 11; reducibleJoin450: while (true) { if (property < 534.3) { r37 = value219; break reducibleJoin450; } value220 = 12; reducibleJoin449: while (true) { if (property < 535.01) { r38 = value220; break reducibleJoin449; } value221 = '13+'; reducibleJoin448: while (true) { if (property < 535.02) { r39 = value221; break reducibleJoin448; } value222 = 15; reducibleJoin447: while (true) { if (property < 535.07) { r40 = value222; break reducibleJoin447; } value223 = 16; reducibleJoin446: while (true) { if (property < 535.11) { r41 = value223; break reducibleJoin446; } value224 = 17; reducibleJoin445: while (true) { if (property < 535.19) { r42 = value224; break reducibleJoin445; } value225 = 18; reducibleJoin444: while (true) { if (property < 536.05) { r43 = value225; break reducibleJoin444; } value226 = 19; reducibleJoin443: while (true) { if (property < 536.1) { r44 = value226; break reducibleJoin443; } value227 = 20; reducibleJoin442: while (true) { if (property < 537.01) { r45 = value227; break reducibleJoin442; } value228 = '21+'; reducibleJoin441: while (true) { if (property < 537.11) { r46 = value228; break reducibleJoin441; } value229 = 23; reducibleJoin440: while (true) { if (property < 537.13) { r47 = value229; break reducibleJoin440; } value230 = 24; reducibleJoin439: while (true) { if (property < 537.18) { r48 = value230; break reducibleJoin439; } value231 = 25; reducibleJoin438: while (true) { if (property < 537.24) { r49 = value231; break reducibleJoin438; } value232 = 26; reducibleJoin437: while (true) { if (property < 537.36) { r50 = value232; break reducibleJoin437; } value233 = '28'; reducibleJoin436: while (true) { if (r9 != 'Blink') { value234 = '27'; r51 = value234; break reducibleJoin436; } r51 = value233; break reducibleJoin436; } r50 = r51; break reducibleJoin437; } r49 = r50; break reducibleJoin438; } r48 = r49; break reducibleJoin439; } r47 = r48; break reducibleJoin440; } r46 = r47; break reducibleJoin441; } r45 = r46; break reducibleJoin442; } r44 = r45; break reducibleJoin443; } r43 = r44; break reducibleJoin444; } r42 = r43; break reducibleJoin445; } r41 = r42; break reducibleJoin446; } r40 = r41; break reducibleJoin447; } r39 = r40; break reducibleJoin448; } r38 = r39; break reducibleJoin449; } r37 = r38; break reducibleJoin450; } r36 = r37; break reducibleJoin451; } r35 = r36; break reducibleJoin452; } r34 = r35; break reducibleJoin453; } r33 = r34; break reducibleJoin454; } r32 = r33; break reducibleJoin455; } r31 = r32; break reducibleJoin456; } r30 = r31; break reducibleJoin457; } r29 = r30; break reducibleJoin458; } r28 = r29; break reducibleJoin459; } r27 = r28; break reducibleJoin460; } r26 = r27; break reducibleJoin461; } r12 = r26; break reducibleJoin462; } reducibleJoin380: while (true) { if (r9) { r9[value25] = 'like Safari'; break reducibleJoin380; } break reducibleJoin380; } property = items13[0]; if (property < 400) { r26 = value25; break reducibleJoin406; } value197 = 2; reducibleJoin405: while (true) { if (property < 500) { r27 = value197; break reducibleJoin405; } value198 = 3; reducibleJoin404: while (true) { if (property < 526) { r29 = value198; break reducibleJoin404; } value199 = 4; reducibleJoin403: while (true) { if (property < 533) { r30 = value199; break reducibleJoin403; } value200 = '4+'; reducibleJoin402: while (true) { if (property < 534) { r31 = value200; break reducibleJoin402; } value201 = 5; reducibleJoin401: while (true) { if (property < 535) { r32 = value201; break reducibleJoin401; } value202 = 6; reducibleJoin400: while (true) { if (property < 537) { r33 = value202; break reducibleJoin400; } value203 = 7; reducibleJoin399: while (true) { if (property < 538) { r34 = value203; break reducibleJoin399; } value204 = 8; reducibleJoin398: while (true) { if (property < 601) { r35 = value204; break reducibleJoin398; } value205 = 9; reducibleJoin397: while (true) { if (property < 602) { r36 = value205; break reducibleJoin397; } value206 = 10; reducibleJoin396: while (true) { if (property < 604) { r37 = value206; break reducibleJoin396; } value207 = 11; reducibleJoin395: while (true) { if (property < 606) { r38 = value207; break reducibleJoin395; } value208 = '12'; reducibleJoin394: while (true) { if (property < 608) { value209 = 12; r39 = value209; break reducibleJoin394; } r39 = value208; break reducibleJoin394; } r38 = r39; break reducibleJoin395; } r37 = r38; break reducibleJoin396; } r36 = r37; break reducibleJoin397; } r35 = r36; break reducibleJoin398; } r34 = r35; break reducibleJoin399; } r33 = r34; break reducibleJoin400; } r32 = r33; break reducibleJoin401; } r31 = r32; break reducibleJoin402; } r30 = r31; break reducibleJoin403; } r29 = r30; break reducibleJoin404; } r27 = r29; break reducibleJoin405; } r26 = r27; break reducibleJoin406; } r12 = r26; break reducibleJoin462; } reducibleJoin468: while (true) { if (r9) { property = r9[value25]; value235 = '.x'; reducibleJoin467: while (true) { if (typeof r12 === 'number') { r26 = value235; break reducibleJoin467; } regexp = RegExp('[.+]', ''); test = regexp.test; value236 = Reflect.apply(test, regexp, [r12]); value237 = '+'; reducibleJoin466: while (true) { if (value236) { value238 = ''; r29 = value238; break reducibleJoin466; } r29 = value237; break reducibleJoin466; } r26 = r29; break reducibleJoin467; } value239 = r12 + r26; r9[value25] = property + (' ' + value239); r12 = value239; break reducibleJoin468; } break reducibleJoin468; } if (value21 == r6) { if (!r3) { r3 = r12; r11 = r24; r14 = r9; break reducibleJoin475; } parseInt = global.parseInt; int = parseInt(r3); if (int > 45) { r3 = r12; r11 = r24; r14 = r9; break reducibleJoin475; } } value240 = r6 == 'Chrome'; reducibleJoin473: while (true) { if (value240) { regexp = RegExp('\\bHeadlessChrome', 'i'); test = regexp.test; value241 = Reflect.apply(test, regexp, [r10]); r25 = value241; break reducibleJoin473; } r25 = value240; break reducibleJoin473; } if (r25) { unshift = object.unshift; Reflect.apply(unshift, object, ['headless']); r11 = r24; r14 = r9; break reducibleJoin475; } r11 = r24; r14 = r9; break reducibleJoin475; } r11 = r27; r12 = property; r14 = r9; break reducibleJoin475; } reducibleJoin491: while (true) { reducibleJoin483: while (true) { if (value18 != r6) { if (value21 == r6) { regexp = RegExp('\\bChrome\\b', ''); exec = regexp.exec; reducibleJoin480: while (true) { if (r14) { property = r14[value25]; r9 = property; break reducibleJoin480; } r9 = r14; break reducibleJoin480; } if (Reflect.apply(exec, regexp, [r9])) { unshift = object.unshift; Reflect.apply(unshift, object, ['desktop mode']); regexp = RegExp('\\bOS X\\b', ''); if (regexp.test(r5)) { value246 = 'iOS 4.3+'; value247 = 'Apple'; r3 = value8; r5 = value246; r6 = value19; r9 = value247; break reducibleJoin491; } r3 = value8; r5 = value8; r6 = value19; r9 = r13; break reducibleJoin491; } } regexp = RegExp('\\bSRWare Iron\\b', ''); value243 = regexp.test(r6); if (value243) { value244 = !r3; r23 = value244; break reducibleJoin483; } r23 = value243; break reducibleJoin483; } regexp = RegExp('\\bzbov|zvav$', ''); exec = regexp.exec; value242 = Reflect.apply(exec, regexp, [r5]); if (value242) { value248 = r6 + ' '; unshift = object.unshift; Reflect.apply(unshift, object, ['desktop mode']); if (value242 == 'zvav') { value250 = value248 + 'Mini'; r3 = value8; r6 = value250; } else { value249 = value248 + 'Mobile'; r6 = value249; } replace = r5.replace; RegExp = global.RegExp; value251 = RegExp(' *' + value242 + '$'); value252 = Reflect.apply(replace, r5, [value251, '']); r5 = value252; r9 = r13; r12 = value242; break reducibleJoin491; } r12 = value242; if (value21 == r6) { regexp = RegExp('\\bChrome\\b', ''); exec = regexp.exec; reducibleJoin480: while (true) { if (r14) { property = r14[value25]; r9 = property; break reducibleJoin480; } r9 = r14; break reducibleJoin480; } if (Reflect.apply(exec, regexp, [r9])) { unshift = object.unshift; Reflect.apply(unshift, object, ['desktop mode']); regexp = RegExp('\\bOS X\\b', ''); if (regexp.test(r5)) { value246 = 'iOS 4.3+'; value247 = 'Apple'; r3 = value8; r5 = value246; r6 = value19; r9 = value247; break reducibleJoin491; } r3 = value8; r5 = value8; r6 = value19; r9 = r13; break reducibleJoin491; } } regexp = RegExp('\\bSRWare Iron\\b', ''); test = regexp.test; value243 = Reflect.apply(test, regexp, [r6]); if (value243) { value244 = !r3; r23 = value244; break reducibleJoin483; } r23 = value243; break reducibleJoin483; } if (r23) { value245 = closure2('Chrome'); r3 = value245; r9 = r13; break reducibleJoin491; } r9 = r13; break reducibleJoin491; } reducibleJoin493: while (true) { if (r3) { indexOf = r3.indexOf; regexp = RegExp('[\\d.]+$', ''); exec = regexp.exec; value253 = Reflect.apply(exec, regexp, [r5]); value254 = Reflect.apply(indexOf, r3, [value253]); value255 = value254 == 0; r12 = value253; r13 = value255; break reducibleJoin493; } r13 = r3; break reducibleJoin493; } reducibleJoin495: while (true) { if (r13) { indexOf = r10.indexOf; value256 = Reflect.apply(indexOf, r10, ['/' + r12 + '-']); value257 = value256 > -1; r13 = value257; break reducibleJoin495; } break reducibleJoin495; } reducibleJoin497: while (true) { if (r13) { trim_7377Binding = trim_7377; replace = r5.replace; value258 = trim_7377Binding(Reflect.apply(replace, r5, [r12, ''])); r5 = value258; break reducibleJoin497; } break reducibleJoin497; } reducibleJoin499: while (true) { if (r5) { indexOf = r5.indexOf; value259 = Reflect.apply(indexOf, r5, [r6]); value260 = value259 != -1; r13 = value260; break reducibleJoin499; } r13 = r5; break reducibleJoin499; } reducibleJoin501: while (true) { if (r13) { RegExp = global.RegExp; value261 = RegExp(r6 + ' OS'); test = value261.test; value262 = !Reflect.apply(test, value261, [r5]); r13 = value262; break reducibleJoin501; } break reducibleJoin501; } reducibleJoin503: while (true) { if (r13) { replace = r5.replace; RegExp = global.RegExp; value263 = qualify(r6); value264 = RegExp(' *' + value263 + ' *'); value265 = Reflect.apply(replace, r5, [value264, '']); r5 = value265; break reducibleJoin503; } break reducibleJoin503; } reducibleJoin505: while (true) { if (r14) { regexp = RegExp('\\b(?:Avant|Nook)\\b', ''); test = regexp.test; value266 = !Reflect.apply(test, regexp, [r6]); r13 = value266; break reducibleJoin505; } r13 = r14; break reducibleJoin505; } reducibleJoin517: while (true) { if (r13) { regexp = RegExp('Browser|Lunascape|Maxthon', ''); test = regexp.test; value267 = Reflect.apply(test, regexp, [r6]); reducibleJoin512: while (true) { if (value267) { r17 = value267; break reducibleJoin512; } value268 = value21 != r6; reducibleJoin509: while (true) { if (value268) { regexp = RegExp('^iOS', ''); test = regexp.test; value269 = Reflect.apply(test, regexp, [r5]); r19 = value269; break reducibleJoin509; } r19 = value268; break reducibleJoin509; } reducibleJoin511: while (true) { if (r19) { regexp = RegExp('\\bSafari\\b', ''); test = regexp.test; value270 = Reflect.apply(test, regexp, [r14[value25]]); r19 = value270; break reducibleJoin511; } break reducibleJoin511; } r17 = r19; break reducibleJoin512; } reducibleJoin516: while (true) { if (r17) { break reducibleJoin516; } regexp = RegExp('^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)', ''); test = regexp.test; value271 = Reflect.apply(test, regexp, [r6]); reducibleJoin515: while (true) { if (value271) { property = r14[value25]; r19 = property; break reducibleJoin515; } r19 = value271; break reducibleJoin515; } r17 = r19; break reducibleJoin516; } r13 = r17; break reducibleJoin517; } break reducibleJoin517; } reducibleJoin519: while (true) { if (r13) { length = r14.length; property = r14[length - value25]; r12 = property; r13 = property; break reducibleJoin519; } break reducibleJoin519; } reducibleJoin521: while (true) { if (r13) { push = object.push; Reflect.apply(push, object, [r12]); break reducibleJoin521; } break reducibleJoin521; } length = object.length; reducibleJoin523: while (true) { if (length) { join = object.join; value272 = Reflect.apply(join, object, ['; ']); value273 = '(' + value272; r1 = [value273 + ')']; break reducibleJoin523; } r1 = object; break reducibleJoin523; } r13 = r9 && r2; reducibleJoin526: while (true) { if (r13) { indexOf = r2.indexOf; value274 = Reflect.apply(indexOf, r2, [r9]); value275 = value274 < 0; r13 = value275; break reducibleJoin526; } break reducibleJoin526; } reducibleJoin528: while (true) { if (r13) { push = r1.push; Reflect.apply(push, r1, ['on ' + r9]); break reducibleJoin528; } break reducibleJoin528; } reducibleJoin532: while (true) { if (r2) { push = r1.push; regexp = RegExp('^on ', ''); test = regexp.test; length = r1.length; value276 = Reflect.apply(test, regexp, [r1[length - value25]]); value277 = 'on '; reducibleJoin531: while (true) { if (value276) { value278 = ''; r13 = value278; break reducibleJoin531; } r13 = value277; break reducibleJoin531; } Reflect.apply(push, r1, [r13 + r2]); break reducibleJoin532; } break reducibleJoin532; } reducibleJoin541: while (true) { if (r5) { regexp = RegExp(' ([\\d.+]+)$', ''); exec = regexp.exec; value279 = Reflect.apply(exec, regexp, [r5]); reducibleJoin535: while (true) { if (value279) { charAt = r5.charAt; length = r5.length; length2 = value279[0].length; value280 = Reflect.apply(charAt, r5, [length - length2 - value25]); value281 = value280 == '/'; r17 = value281; break reducibleJoin535; } r17 = value279; break reducibleJoin535; } var env0_1 = r17; object = {architecture: 32}; reducibleJoin538: while (true) { if (value279) { if (r17) { r17 = r5; break reducibleJoin538; } replace = r5.replace; value282 = Reflect.apply(replace, r5, [value279[0], '']); r17 = value282; break reducibleJoin538; } r17 = r5; break reducibleJoin538; } object.family = r17; reducibleJoin540: while (true) { if (value279) { property = value279[value25]; r17 = property; break reducibleJoin540; } r17 = value8; break reducibleJoin540; } object.version = r17; object.toString = toString_7391; r5 = object; break reducibleJoin541; } break reducibleJoin541; } regexp = RegExp('\\b(?:AMD|IA|Win|WOW|x86_|x)64\\b', 'i'); exec = regexp.exec; value283 = Reflect.apply(exec, regexp, [r18]); reducibleJoin565: while (true) { reducibleJoin563: while (true) { if (value283) { regexp = RegExp('\\bi686\\b', 'i'); test = regexp.test; if (Reflect.apply(test, regexp, [r18])) { reducibleJoin559: while (true) { if (r5) { regexp = RegExp('^OS X', ''); test = regexp.test; family = r5.family; value = Reflect.apply(test, regexp, [family]); r12 = value; break reducibleJoin559; } r12 = r5; break reducibleJoin559; } reducibleJoin561: while (true) { if (r12) { value = r6 == 'Chrome'; r12 = value; break reducibleJoin561; } break reducibleJoin561; } if (r12) { parseFloat = global.parseFloat; value = parseFloat(r3); value = value >= 39; r12 = value; break reducibleJoin563; } break reducibleJoin563; } reducibleJoin545: while (true) { if (r5) { r5.architecture = 64; family = r5.family; replace = family.replace; RegExp = global.RegExp; value284 = RegExp(' *' + value283); r5.family = Reflect.apply(replace, family, [value284, '']); break reducibleJoin545; } break reducibleJoin545; } reducibleJoin555: while (true) { if (r6) { regexp = RegExp('\\bWOW64\\b', 'i'); test = regexp.test; value285 = Reflect.apply(test, regexp, [r10]); reducibleJoin554: while (true) { if (value285) { r13 = value285; break reducibleJoin554; } reducibleJoin551: while (true) { if (value) { regexp = RegExp('\\w(?:86|32)$', ''); test = regexp.test; cpuClass = r20.cpuClass; reducibleJoin550: while (true) { if (cpuClass) { r17 = cpuClass; break reducibleJoin550; } platform = r20.platform; r17 = platform; break reducibleJoin550; } value = Reflect.apply(test, regexp, [r17]); r16 = value; break reducibleJoin551; } r16 = value; break reducibleJoin551; } reducibleJoin553: while (true) { if (r16) { regexp = RegExp('\\bWin64; x64\\b', 'i'); test = regexp.test; value = !Reflect.apply(test, regexp, [r10]); r16 = value; break reducibleJoin553; } break reducibleJoin553; } r13 = r16; break reducibleJoin554; } r12 = r13; break reducibleJoin555; } r12 = r6; break reducibleJoin555; } if (r12) { unshift = r1.unshift; Reflect.apply(unshift, r1, ['32-bit']); break reducibleJoin565; } break reducibleJoin565; } reducibleJoin559: while (true) { if (r5) { regexp = RegExp('^OS X', ''); test = regexp.test; family = r5.family; value = Reflect.apply(test, regexp, [family]); r12 = value; break reducibleJoin559; } r12 = r5; break reducibleJoin559; } reducibleJoin561: while (true) { if (r12) { value = r6 == 'Chrome'; r12 = value; break reducibleJoin561; } break reducibleJoin561; } if (r12) { parseFloat = global.parseFloat; value = parseFloat(r3); value = value >= 39; r12 = value; break reducibleJoin563; } break reducibleJoin563; } if (r12) { r5.architecture = 64; break reducibleJoin565; } break reducibleJoin565; } reducibleJoin567: while (true) { if (r10) { break reducibleJoin567; } env0_0 = value8; r10 = value8; break reducibleJoin567; } object = {description: r10}; reducibleJoin569: while (true) { if (r14) { property = r14[0]; r12 = property; break reducibleJoin569; } r12 = r14; break reducibleJoin569; } object.layout = r12; object.manufacturer = r9; object.name = r6; object.prerelease = r11; object.product = r2; object.ua = r10; r9 = r6 && r3; object.version = r9; reducibleJoin572: while (true) { if (r5) { r9 = r5; break reducibleJoin572; } r9 = {'architecture': null, 'family': null, 'version': null, toString: function() { return 'null'; }}; break reducibleJoin572; } object.os = r9; object.parse = parse_7378; object.toString = toString_7393; version = object.version; reducibleJoin574: while (true) { if (version) { unshift = r1.unshift; Reflect.apply(unshift, r1, [r3]); break reducibleJoin574; } break reducibleJoin574; } name = object.name; reducibleJoin576: while (true) { if (name) { unshift = r1.unshift; Reflect.apply(unshift, r1, [r6]); break reducibleJoin576; } break reducibleJoin576; } r3 = r5 && r6; reducibleJoin583: while (true) { if (r3) { String = global.String; value = String(r5); split = value.split; value = Reflect.apply(split, value, [' ']); value = r5 != value[0]; reducibleJoin582: while (true) { if (value) { r4 = value; break reducibleJoin582; } split = r6.split; value = r5 != Reflect.apply(split, r6, [' '])[0]; reducibleJoin581: while (true) { if (value) { value = !r2; r6 = value; break reducibleJoin581; } r6 = value; break reducibleJoin581; } r4 = r6; break reducibleJoin582; } r3 = r4; break reducibleJoin583; } break reducibleJoin583; } reducibleJoin588: while (true) { if (r3) { push = r1.push; if (r2) { value = '(' + r5 + ')'; r2 = value; } else { value = 'on ' + r5; r2 = value; } Reflect.apply(push, r1, [r2]); break reducibleJoin588; } break reducibleJoin588; } length = r1.length; reducibleJoin590: while (true) { if (length) { join = r1.join; object.description = Reflect.apply(join, r1, [' ']); break reducibleJoin590; } break reducibleJoin590; } return object; } const value180 = 'Firefox Mobile'; r2 = r14; r6 = value180; r9 = r24; r13 = r11; value181 = RegExp('\\bAppleWebKit\\/([\\d.]+\\+?)', 'i').exec(r10); reducibleJoin356: while (true) { if (value181) { r11 = value181; break reducibleJoin356; } value182 = 0; r11 = value182; break reducibleJoin356; } property = r11[value25]; reducibleJoin475: while (true) { if (property) { parseFloat = global.parseFloat; replace = property.replace; float2 = parseFloat(Reflect.apply(replace, property, [RegExp('\\.(\\d)$', ''), '.0$1'])); items13 = [float2, property]; reducibleJoin365: while (true) { reducibleJoin363: while (true) { if (value21 != r6) { value184 = r3 != items13[value25]; if (value184) { regexp = RegExp('\\bSafari\\/([\\d.]+\\+?)', 'i'); exec = regexp.exec; value185 = Reflect.apply(exec, regexp, [r10]); reducibleJoin362: while (true) { if (value185) { r24 = value185; break reducibleJoin362; } value186 = 0; r24 = value186; break reducibleJoin362; } property = r24[value25]; items13[2] = property; value187 = r3 != property; r28 = value187; break reducibleJoin363; } r28 = value184; break reducibleJoin363; } property = items13[value25]; slice = property.slice; value183 = Reflect.apply(slice, property, [-1]); if (value183 == '+') { value188 = 'WebKit Nightly'; property = items13[value25]; slice = property.slice; value189 = Reflect.apply(slice, property, [0, -1]); value190 = 'alpha'; r3 = value189; r6 = value188; r24 = value190; break reducibleJoin365; } value184 = r3 != items13[value25]; if (value184) { regexp = RegExp('\\bSafari\\/([\\d.]+\\+?)', 'i'); exec = regexp.exec; value185 = Reflect.apply(exec, regexp, [r10]); reducibleJoin362: while (true) { if (value185) { r24 = value185; break reducibleJoin362; } value186 = 0; r24 = value186; break reducibleJoin362; } property = r24[value25]; items13[2] = property; value187 = r3 != property; r28 = value187; break reducibleJoin363; } r28 = value184; break reducibleJoin363; } if (r28) { r24 = r27; break reducibleJoin365; } r3 = value8; r24 = r27; break reducibleJoin365; } regexp = RegExp('\\b(?:Headless)?Chrome\\/([\\d.]+)', 'i'); exec = regexp.exec; value191 = Reflect.apply(exec, regexp, [r10]); reducibleJoin367: while (true) { if (value191) { r27 = value191; break reducibleJoin367; } value192 = 0; r27 = value192; break reducibleJoin367; } items13[value25] = r27[value25]; value193 = items13[0] == 537.36; reducibleJoin369: while (true) { if (value193) { value194 = items13[2] == 537.36; r27 = value194; break reducibleJoin369; } r27 = value193; break reducibleJoin369; } reducibleJoin371: while (true) { if (r27) { parseFloat = global.parseFloat; float3 = parseFloat(items13[value25]); value195 = float3 >= 28; r27 = value195; break reducibleJoin371; } break reducibleJoin371; } reducibleJoin373: while (true) { if (r27) { value196 = value12 == r9; r27 = value196; break reducibleJoin373; } break reducibleJoin373; } reducibleJoin375: while (true) { if (r27) { r9 = ['Blink']; break reducibleJoin375; } break reducibleJoin375; } reducibleJoin462: while (true) { reducibleJoin406: while (true) { if (value) { if (!r26) { if (!items13[value25]) { reducibleJoin380: while (true) { if (r9) { r9[value25] = 'like Safari'; break reducibleJoin380; } break reducibleJoin380; } property = items13[0]; if (property < 400) { r26 = value25; break reducibleJoin406; } reducibleJoin405: while (true) { if (property < 500) { r27 = 2; break reducibleJoin405; } value198 = 3; reducibleJoin404: while (true) { if (property < 526) { r29 = value198; break reducibleJoin404; } value199 = 4; reducibleJoin403: while (true) { if (property < 533) { r30 = value199; break reducibleJoin403; } value200 = '4+'; reducibleJoin402: while (true) { if (property < 534) { r31 = value200; break reducibleJoin402; } value201 = 5; reducibleJoin401: while (true) { if (property < 535) { r32 = value201; break reducibleJoin401; } value202 = 6; reducibleJoin400: while (true) { if (property < 537) { r33 = value202; break reducibleJoin400; } value203 = 7; reducibleJoin399: while (true) { if (property < 538) { r34 = value203; break reducibleJoin399; } value204 = 8; reducibleJoin398: while (true) { if (property < 601) { r35 = value204; break reducibleJoin398; } value205 = 9; reducibleJoin397: while (true) { if (property < 602) { r36 = value205; break reducibleJoin397; } value206 = 10; reducibleJoin396: while (true) { if (property < 604) { r37 = value206; break reducibleJoin396; } value207 = 11; reducibleJoin395: while (true) { if (property < 606) { r38 = value207; break reducibleJoin395; } value208 = '12'; reducibleJoin394: while (true) { if (property < 608) { value209 = 12; r39 = value209; break reducibleJoin394; } r39 = value208; break reducibleJoin394; } r38 = r39; break reducibleJoin395; } r37 = r38; break reducibleJoin396; } r36 = r37; break reducibleJoin397; } r35 = r36; break reducibleJoin398; } r34 = r35; break reducibleJoin399; } r33 = r34; break reducibleJoin400; } r32 = r33; break reducibleJoin401; } r31 = r32; break reducibleJoin402; } r30 = r31; break reducibleJoin403; } r29 = r30; break reducibleJoin404; } r27 = r29; break reducibleJoin405; } r26 = r27; break reducibleJoin406; } } reducibleJoin409: while (true) { if (r9) { r9[value25] = 'like Chrome'; break reducibleJoin409; } break reducibleJoin409; } property = items13[value25]; reducibleJoin461: while (true) { if (property) { r26 = property; break reducibleJoin461; } property = items13[0]; reducibleJoin460: while (true) { if (property < 530) { r27 = value25; break reducibleJoin460; } value210 = 2; reducibleJoin459: while (true) { if (property < 532) { r28 = value210; break reducibleJoin459; } value211 = 3; reducibleJoin458: while (true) { if (property < 532.05) { r29 = value211; break reducibleJoin458; } value212 = 4; reducibleJoin457: while (true) { if (property < 533) { r30 = value212; break reducibleJoin457; } value213 = 5; reducibleJoin456: while (true) { if (property < 534.03) { r31 = value213; break reducibleJoin456; } value214 = 6; reducibleJoin455: while (true) { if (property < 534.07) { r32 = value214; break reducibleJoin455; } value215 = 7; reducibleJoin454: while (true) { if (property < 534.1) { r33 = value215; break reducibleJoin454; } value216 = 8; reducibleJoin453: while (true) { if (property < 534.13) { r34 = value216; break reducibleJoin453; } value217 = 9; reducibleJoin452: while (true) { if (property < 534.16) { r35 = value217; break reducibleJoin452; } value218 = 10; reducibleJoin451: while (true) { if (property < 534.24) { r36 = value218; break reducibleJoin451; } value219 = 11; reducibleJoin450: while (true) { if (property < 534.3) { r37 = value219; break reducibleJoin450; } value220 = 12; reducibleJoin449: while (true) { if (property < 535.01) { r38 = value220; break reducibleJoin449; } value221 = '13+'; reducibleJoin448: while (true) { if (property < 535.02) { r39 = value221; break reducibleJoin448; } value222 = 15; reducibleJoin447: while (true) { if (property < 535.07) { r40 = value222; break reducibleJoin447; } value223 = 16; reducibleJoin446: while (true) { if (property < 535.11) { r41 = value223; break reducibleJoin446; } value224 = 17; reducibleJoin445: while (true) { if (property < 535.19) { r42 = value224; break reducibleJoin445; } value225 = 18; reducibleJoin444: while (true) { if (property < 536.05) { r43 = value225; break reducibleJoin444; } value226 = 19; reducibleJoin443: while (true) { if (property < 536.1) { r44 = value226; break reducibleJoin443; } value227 = 20; reducibleJoin442: while (true) { if (property < 537.01) { r45 = value227; break reducibleJoin442; } value228 = '21+'; reducibleJoin441: while (true) { if (property < 537.11) { r46 = value228; break reducibleJoin441; } value229 = 23; reducibleJoin440: while (true) { if (property < 537.13) { r47 = value229; break reducibleJoin440; } value230 = 24; reducibleJoin439: while (true) { if (property < 537.18) { r48 = value230; break reducibleJoin439; } value231 = 25; reducibleJoin438: while (true) { if (property < 537.24) { r49 = value231; break reducibleJoin438; } value232 = 26; reducibleJoin437: while (true) { if (property < 537.36) { r50 = value232; break reducibleJoin437; } value233 = '28'; reducibleJoin436: while (true) { if (r9 != 'Blink') { value234 = '27'; r51 = value234; break reducibleJoin436; } r51 = value233; break reducibleJoin436; } r50 = r51; break reducibleJoin437; } r49 = r50; break reducibleJoin438; } r48 = r49; break reducibleJoin439; } r47 = r48; break reducibleJoin440; } r46 = r47; break reducibleJoin441; } r45 = r46; break reducibleJoin442; } r44 = r45; break reducibleJoin443; } r43 = r44; break reducibleJoin444; } r42 = r43; break reducibleJoin445; } r41 = r42; break reducibleJoin446; } r40 = r41; break reducibleJoin447; } r39 = r40; break reducibleJoin448; } r38 = r39; break reducibleJoin449; } r37 = r38; break reducibleJoin450; } r36 = r37; break reducibleJoin451; } r35 = r36; break reducibleJoin452; } r34 = r35; break reducibleJoin453; } r33 = r34; break reducibleJoin454; } r32 = r33; break reducibleJoin455; } r31 = r32; break reducibleJoin456; } r30 = r31; break reducibleJoin457; } r29 = r30; break reducibleJoin458; } r28 = r29; break reducibleJoin459; } r27 = r28; break reducibleJoin460; } r26 = r27; break reducibleJoin461; } r12 = r26; break reducibleJoin462; } reducibleJoin380: while (true) { if (r9) { r9[value25] = 'like Safari'; break reducibleJoin380; } break reducibleJoin380; } property = items13[0]; if (property < 400) { r26 = value25; break reducibleJoin406; } value197 = 2; reducibleJoin405: while (true) { if (property < 500) { r27 = value197; break reducibleJoin405; } value198 = 3; reducibleJoin404: while (true) { if (property < 526) { r29 = value198; break reducibleJoin404; } value199 = 4; reducibleJoin403: while (true) { if (property < 533) { r30 = value199; break reducibleJoin403; } value200 = '4+'; reducibleJoin402: while (true) { if (property < 534) { r31 = value200; break reducibleJoin402; } value201 = 5; reducibleJoin401: while (true) { if (property < 535) { r32 = value201; break reducibleJoin401; } value202 = 6; reducibleJoin400: while (true) { if (property < 537) { r33 = value202; break reducibleJoin400; } value203 = 7; reducibleJoin399: while (true) { if (property < 538) { r34 = value203; break reducibleJoin399; } value204 = 8; reducibleJoin398: while (true) { if (property < 601) { r35 = value204; break reducibleJoin398; } value205 = 9; reducibleJoin397: while (true) { if (property < 602) { r36 = value205; break reducibleJoin397; } value206 = 10; reducibleJoin396: while (true) { if (property < 604) { r37 = value206; break reducibleJoin396; } value207 = 11; reducibleJoin395: while (true) { if (property < 606) { r38 = value207; break reducibleJoin395; } value208 = '12'; reducibleJoin394: while (true) { if (property < 608) { value209 = 12; r39 = value209; break reducibleJoin394; } r39 = value208; break reducibleJoin394; } r38 = r39; break reducibleJoin395; } r37 = r38; break reducibleJoin396; } r36 = r37; break reducibleJoin397; } r35 = r36; break reducibleJoin398; } r34 = r35; break reducibleJoin399; } r33 = r34; break reducibleJoin400; } r32 = r33; break reducibleJoin401; } r31 = r32; break reducibleJoin402; } r30 = r31; break reducibleJoin403; } r29 = r30; break reducibleJoin404; } r27 = r29; break reducibleJoin405; } r26 = r27; break reducibleJoin406; } r12 = r26; break reducibleJoin462; } reducibleJoin468: while (true) { if (r9) { property = r9[value25]; value235 = '.x'; reducibleJoin467: while (true) { if (typeof r12 === 'number') { r26 = value235; break reducibleJoin467; } regexp = RegExp('[.+]', ''); test = regexp.test; value236 = Reflect.apply(test, regexp, [r12]); value237 = '+'; reducibleJoin466: while (true) { if (value236) { value238 = ''; r29 = value238; break reducibleJoin466; } r29 = value237; break reducibleJoin466; } r26 = r29; break reducibleJoin467; } value239 = r12 + r26; r9[value25] = property + (' ' + value239); r12 = value239; break reducibleJoin468; } break reducibleJoin468; } if (value21 == r6) { if (!r3) { r3 = r12; r11 = r24; r14 = r9; break reducibleJoin475; } parseInt = global.parseInt; int = parseInt(r3); if (int > 45) { r3 = r12; r11 = r24; r14 = r9; break reducibleJoin475; } } value240 = r6 == 'Chrome'; reducibleJoin473: while (true) { if (value240) { regexp = RegExp('\\bHeadlessChrome', 'i'); test = regexp.test; value241 = Reflect.apply(test, regexp, [r10]); r25 = value241; break reducibleJoin473; } r25 = value240; break reducibleJoin473; } if (r25) { unshift = object.unshift; Reflect.apply(unshift, object, ['headless']); r11 = r24; r14 = r9; break reducibleJoin475; } r11 = r24; r14 = r9; break reducibleJoin475; } r11 = r27; r12 = property; r14 = r9; break reducibleJoin475; } reducibleJoin491: while (true) { reducibleJoin483: while (true) { if (value18 != r6) { if (value21 == r6) { regexp = RegExp('\\bChrome\\b', ''); exec = regexp.exec; reducibleJoin480: while (true) { if (r14) { property = r14[value25]; r9 = property; break reducibleJoin480; } r9 = r14; break reducibleJoin480; } if (Reflect.apply(exec, regexp, [r9])) { unshift = object.unshift; Reflect.apply(unshift, object, ['desktop mode']); regexp = RegExp('\\bOS X\\b', ''); if (regexp.test(r5)) { value246 = 'iOS 4.3+'; value247 = 'Apple'; r3 = value8; r5 = value246; r6 = value19; r9 = value247; break reducibleJoin491; } r3 = value8; r5 = value8; r6 = value19; r9 = r13; break reducibleJoin491; } } regexp = RegExp('\\bSRWare Iron\\b', ''); value243 = regexp.test(r6); if (value243) { value244 = !r3; r23 = value244; break reducibleJoin483; } r23 = value243; break reducibleJoin483; } regexp = RegExp('\\bzbov|zvav$', ''); exec = regexp.exec; value242 = Reflect.apply(exec, regexp, [r5]); if (value242) { value248 = r6 + ' '; unshift = object.unshift; Reflect.apply(unshift, object, ['desktop mode']); if (value242 == 'zvav') { value250 = value248 + 'Mini'; r3 = value8; r6 = value250; } else { value249 = value248 + 'Mobile'; r6 = value249; } replace = r5.replace; RegExp = global.RegExp; value251 = RegExp(' *' + value242 + '$'); value252 = Reflect.apply(replace, r5, [value251, '']); r5 = value252; r9 = r13; r12 = value242; break reducibleJoin491; } r12 = value242; if (value21 == r6) { regexp = RegExp('\\bChrome\\b', ''); exec = regexp.exec; reducibleJoin480: while (true) { if (r14) { property = r14[value25]; r9 = property; break reducibleJoin480; } r9 = r14; break reducibleJoin480; } if (Reflect.apply(exec, regexp, [r9])) { unshift = object.unshift; Reflect.apply(unshift, object, ['desktop mode']); regexp = RegExp('\\bOS X\\b', ''); if (regexp.test(r5)) { value246 = 'iOS 4.3+'; value247 = 'Apple'; r3 = value8; r5 = value246; r6 = value19; r9 = value247; break reducibleJoin491; } r3 = value8; r5 = value8; r6 = value19; r9 = r13; break reducibleJoin491; } } regexp = RegExp('\\bSRWare Iron\\b', ''); test = regexp.test; value243 = Reflect.apply(test, regexp, [r6]); if (value243) { value244 = !r3; r23 = value244; break reducibleJoin483; } r23 = value243; break reducibleJoin483; } if (r23) { value245 = closure2('Chrome'); r3 = value245; r9 = r13; break reducibleJoin491; } r9 = r13; break reducibleJoin491; } reducibleJoin493: while (true) { if (r3) { indexOf = r3.indexOf; regexp = RegExp('[\\d.]+$', ''); exec = regexp.exec; value253 = Reflect.apply(exec, regexp, [r5]); value254 = Reflect.apply(indexOf, r3, [value253]); value255 = value254 == 0; r12 = value253; r13 = value255; break reducibleJoin493; } r13 = r3; break reducibleJoin493; } reducibleJoin495: while (true) { if (r13) { indexOf = r10.indexOf; value256 = Reflect.apply(indexOf, r10, ['/' + r12 + '-']); value257 = value256 > -1; r13 = value257; break reducibleJoin495; } break reducibleJoin495; } reducibleJoin497: while (true) { if (r13) { trim_7377Binding = trim_7377; replace = r5.replace; value258 = trim_7377Binding(Reflect.apply(replace, r5, [r12, ''])); r5 = value258; break reducibleJoin497; } break reducibleJoin497; } reducibleJoin499: while (true) { if (r5) { indexOf = r5.indexOf; value259 = Reflect.apply(indexOf, r5, [r6]); value260 = value259 != -1; r13 = value260; break reducibleJoin499; } r13 = r5; break reducibleJoin499; } reducibleJoin501: while (true) { if (r13) { RegExp = global.RegExp; value261 = RegExp(r6 + ' OS'); test = value261.test; value262 = !Reflect.apply(test, value261, [r5]); r13 = value262; break reducibleJoin501; } break reducibleJoin501; } reducibleJoin503: while (true) { if (r13) { replace = r5.replace; RegExp = global.RegExp; value263 = qualify(r6); value264 = RegExp(' *' + value263 + ' *'); value265 = Reflect.apply(replace, r5, [value264, '']); r5 = value265; break reducibleJoin503; } break reducibleJoin503; } reducibleJoin505: while (true) { if (r14) { regexp = RegExp('\\b(?:Avant|Nook)\\b', ''); test = regexp.test; value266 = !Reflect.apply(test, regexp, [r6]); r13 = value266; break reducibleJoin505; } r13 = r14; break reducibleJoin505; } reducibleJoin517: while (true) { if (r13) { regexp = RegExp('Browser|Lunascape|Maxthon', ''); test = regexp.test; value267 = Reflect.apply(test, regexp, [r6]); reducibleJoin512: while (true) { if (value267) { r17 = value267; break reducibleJoin512; } value268 = value21 != r6; reducibleJoin509: while (true) { if (value268) { regexp = RegExp('^iOS', ''); test = regexp.test; value269 = Reflect.apply(test, regexp, [r5]); r19 = value269; break reducibleJoin509; } r19 = value268; break reducibleJoin509; } reducibleJoin511: while (true) { if (r19) { regexp = RegExp('\\bSafari\\b', ''); test = regexp.test; value270 = Reflect.apply(test, regexp, [r14[value25]]); r19 = value270; break reducibleJoin511; } break reducibleJoin511; } r17 = r19; break reducibleJoin512; } reducibleJoin516: while (true) { if (r17) { break reducibleJoin516; } regexp = RegExp('^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)', ''); test = regexp.test; value271 = Reflect.apply(test, regexp, [r6]); reducibleJoin515: while (true) { if (value271) { property = r14[value25]; r19 = property; break reducibleJoin515; } r19 = value271; break reducibleJoin515; } r17 = r19; break reducibleJoin516; } r13 = r17; break reducibleJoin517; } break reducibleJoin517; } reducibleJoin519: while (true) { if (r13) { length = r14.length; property = r14[length - value25]; r12 = property; r13 = property; break reducibleJoin519; } break reducibleJoin519; } reducibleJoin521: while (true) { if (r13) { push = object.push; Reflect.apply(push, object, [r12]); break reducibleJoin521; } break reducibleJoin521; } reducibleJoin523: while (true) { if (object.length) { join = object.join; value272 = Reflect.apply(join, object, ['; ']); value273 = '(' + value272; r1 = [value273 + ')']; break reducibleJoin523; } r1 = object; break reducibleJoin523; } r13 = r9 && r2; reducibleJoin526: while (true) { if (r13) { indexOf = r2.indexOf; value274 = Reflect.apply(indexOf, r2, [r9]); value275 = value274 < 0; r13 = value275; break reducibleJoin526; } break reducibleJoin526; } reducibleJoin528: while (true) { if (r13) { push = r1.push; Reflect.apply(push, r1, ['on ' + r9]); break reducibleJoin528; } break reducibleJoin528; } reducibleJoin532: while (true) { if (r2) { push = r1.push; regexp = RegExp('^on ', ''); test = regexp.test; length = r1.length; value276 = Reflect.apply(test, regexp, [r1[length - value25]]); value277 = 'on '; reducibleJoin531: while (true) { if (value276) { value278 = ''; r13 = value278; break reducibleJoin531; } r13 = value277; break reducibleJoin531; } Reflect.apply(push, r1, [r13 + r2]); break reducibleJoin532; } break reducibleJoin532; } reducibleJoin541: while (true) { if (r5) { regexp = RegExp(' ([\\d.+]+)$', ''); exec = regexp.exec; value279 = Reflect.apply(exec, regexp, [r5]); reducibleJoin535: while (true) { if (value279) { charAt = r5.charAt; length = r5.length; length2 = value279[0].length; value280 = Reflect.apply(charAt, r5, [length - length2 - value25]); value281 = value280 == '/'; r17 = value281; break reducibleJoin535; } r17 = value279; break reducibleJoin535; } var env0_1 = r17; object = {architecture: 32}; reducibleJoin538: while (true) { if (value279) { if (r17) { r17 = r5; break reducibleJoin538; } replace = r5.replace; value282 = Reflect.apply(replace, r5, [value279[0], '']); r17 = value282; break reducibleJoin538; } r17 = r5; break reducibleJoin538; } object.family = r17; reducibleJoin540: while (true) { if (value279) { property = value279[value25]; r17 = property; break reducibleJoin540; } r17 = value8; break reducibleJoin540; } object.version = r17; object.toString = toString_7391; r5 = object; break reducibleJoin541; } break reducibleJoin541; } value283 = RegExp('\\b(?:AMD|IA|Win|WOW|x86_|x)64\\b', 'i').exec(r18); reducibleJoin565: while (true) { reducibleJoin563: while (true) { if (value283) { regexp = RegExp('\\bi686\\b', 'i'); test = regexp.test; if (Reflect.apply(test, regexp, [r18])) { reducibleJoin559: while (true) { if (r5) { regexp = RegExp('^OS X', ''); test = regexp.test; family = r5.family; value = Reflect.apply(test, regexp, [family]); r12 = value; break reducibleJoin559; } r12 = r5; break reducibleJoin559; } reducibleJoin561: while (true) { if (r12) { value = r6 == 'Chrome'; r12 = value; break reducibleJoin561; } break reducibleJoin561; } if (r12) { parseFloat = global.parseFloat; value = parseFloat(r3); value = value >= 39; r12 = value; break reducibleJoin563; } break reducibleJoin563; } reducibleJoin545: while (true) { if (r5) { r5.architecture = 64; family = r5.family; replace = family.replace; RegExp = global.RegExp; value284 = RegExp(' *' + value283); r5.family = Reflect.apply(replace, family, [value284, '']); break reducibleJoin545; } break reducibleJoin545; } reducibleJoin555: while (true) { if (r6) { regexp = RegExp('\\bWOW64\\b', 'i'); test = regexp.test; value285 = Reflect.apply(test, regexp, [r10]); reducibleJoin554: while (true) { if (value285) { r13 = value285; break reducibleJoin554; } reducibleJoin551: while (true) { if (value) { regexp = RegExp('\\w(?:86|32)$', ''); test = regexp.test; cpuClass = r20.cpuClass; reducibleJoin550: while (true) { if (cpuClass) { r17 = cpuClass; break reducibleJoin550; } platform = r20.platform; r17 = platform; break reducibleJoin550; } value = Reflect.apply(test, regexp, [r17]); r16 = value; break reducibleJoin551; } r16 = value; break reducibleJoin551; } reducibleJoin553: while (true) { if (r16) { regexp = RegExp('\\bWin64; x64\\b', 'i'); test = regexp.test; value = !Reflect.apply(test, regexp, [r10]); r16 = value; break reducibleJoin553; } break reducibleJoin553; } r13 = r16; break reducibleJoin554; } r12 = r13; break reducibleJoin555; } r12 = r6; break reducibleJoin555; } if (r12) { unshift = r1.unshift; Reflect.apply(unshift, r1, ['32-bit']); break reducibleJoin565; } break reducibleJoin565; } reducibleJoin559: while (true) { if (r5) { regexp = RegExp('^OS X', ''); test = regexp.test; family = r5.family; value = Reflect.apply(test, regexp, [family]); r12 = value; break reducibleJoin559; } r12 = r5; break reducibleJoin559; } reducibleJoin561: while (true) { if (r12) { value = r6 == 'Chrome'; r12 = value; break reducibleJoin561; } break reducibleJoin561; } if (r12) { parseFloat = global.parseFloat; value = parseFloat(r3); value = value >= 39; r12 = value; break reducibleJoin563; } break reducibleJoin563; } if (r12) { r5.architecture = 64; break reducibleJoin565; } break reducibleJoin565; } reducibleJoin567: while (true) { if (r10) { break reducibleJoin567; } env0_0 = value8; r10 = value8; break reducibleJoin567; } object = {description: r10}; reducibleJoin569: while (true) { if (r14) { property = r14[0]; r12 = property; break reducibleJoin569; } r12 = r14; break reducibleJoin569; } object.layout = r12; object.manufacturer = r9; object.name = r6; object.prerelease = r11; object.product = r2; object.ua = r10; object.version = r6 && r3; reducibleJoin572: while (true) { if (r5) { r9 = r5; break reducibleJoin572; } r9 = {'architecture': null, 'family': null, 'version': null, toString: function() { return 'null'; }}; break reducibleJoin572; } object.os = r9; object.parse = parse_7378; object.toString = function() { return this.description || ''; }; reducibleJoin574: while (true) { if (object.version) { unshift = r1.unshift; Reflect.apply(unshift, r1, [r3]); break reducibleJoin574; } break reducibleJoin574; } reducibleJoin576: while (true) { if (object.name) { unshift = r1.unshift; Reflect.apply(unshift, r1, [r6]); break reducibleJoin576; } break reducibleJoin576; } r3 = r5 && r6; reducibleJoin583: while (true) { if (r3) { String = global.String; value = String(r5); split = value.split; value = Reflect.apply(split, value, [' ']); value = r5 != value[0]; reducibleJoin582: while (true) { if (value) { r4 = value; break reducibleJoin582; } split = r6.split; value = r5 != Reflect.apply(split, r6, [' '])[0]; reducibleJoin581: while (true) { if (value) { value = !r2; r6 = value; break reducibleJoin581; } r6 = value; break reducibleJoin581; } r4 = r6; break reducibleJoin582; } r3 = r4; break reducibleJoin583; } break reducibleJoin583; } reducibleJoin588: while (true) { if (r3) { push = r1.push; if (r2) { value = '(' + r5 + ')'; r2 = value; } else { value = 'on ' + r5; r2 = value; } Reflect.apply(push, r1, [r2]); break reducibleJoin588; } break reducibleJoin588; } reducibleJoin590: while (true) { if (r1.length) { join = r1.join; object.description = Reflect.apply(join, r1, [' ']); break reducibleJoin590; } break reducibleJoin590; } return object; function getProduct(a0) { // fn#7379, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:704:5669, owner: parse_7378.getProduct, offset: 0x00d19ebc, size: 27 bytes, params: 2, frame: 13 return reduce_7375(a0, _fun7380); function _fun7380(a0, a1) { // fn#7380, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:704:5709, offset: 0x00d19ed7, size: 511 bytes, params: 3, frame: 22 var r0; var r1; var r6; var r4; var r8; var RegExp; var exec; var value6; var String; var label; var property; var regexp; var value8; var formatBinding; var replace; let value = a0; const value2 = a1; const r9 = value2.pattern || qualify(value2); if (value) { r1 = !value; r6 = value; } else { RegExp = global.RegExp; value = RegExp('\\b' + r9 + ' *\\d+[.\\w_]*', 'i'); exec = value.exec; value6 = environment.__proto__; value = Reflect.apply(exec, value, [userAgent]); if (value) { r0 = value; } else { RegExp = global.RegExp; value = RegExp('\\b' + r9 + ' *\\w+-[\\w]*', 'i'); value = value.exec(userAgent); r0 = value; } if (!r0) { RegExp = global.RegExp; value = RegExp('\\b' + r9 + '(?:; *(?:[a-z]+[_-])?[a-z]+\\d+|[^ ();-]*)', 'i'); value = value.exec(userAgent); r0 = value; } r1 = r0; r6 = r0; } if (r1) { String = global.String; label = value2.label; if (label) { RegExp = global.RegExp; value = RegExp(r9, 'i'); r4 = value.test(value2.label) ? r6 : value2.label; } else { r4 = r6; } value = String(r4); value = value.split('/'); property = value[1]; if (property) { regexp = RegExp('[\\d.]+', ''); r6 = !regexp.test(value[0]); } else { r6 = property; } if (r6) { value[0] = value[0] + (' ' + value[1]); } label = value2.label; r8 = label || value2; value8 = environment.__proto__.__proto__; formatBinding = format; property = value[0]; replace = property.replace; RegExp = global.RegExp; value = Reflect.apply(replace, property, [RegExp(r9, 'i'), r8]); replace = value.replace; RegExp = global.RegExp; value = Reflect.apply(replace, value, [RegExp('; *(?:' + r8 + '[_-])?', 'i'), ' ']); replace = value.replace; RegExp = global.RegExp; value = formatBinding(Reflect.apply(replace, value, [RegExp('(' + r8 + ')[-_.]?(\\w)', 'i'), '$1 $2'])); r0 = value; } else { r0 = r6; } return r0; } } function getVersion(a0) { // fn#7381, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:704:6199, owner: parse_7378.getVersion, offset: 0x00d1a0d6, size: 27 bytes, params: 2, frame: 13 return reduce_7375(a0, _fun7382); function _fun7382(a0, a1) { // fn#7382, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:704:6239, offset: 0x00d1a0f1, size: 76 bytes, params: 3, frame: 14 var r0; var exec; var value2; let value = a0; if (value) { r0 = value; } else { value = global.RegExp(a1 + '(?:-[\\d.]+/|(?: for [\\w-]+)?[ /-])([\\d.]+[^ ();/_-]*)', 'i'); exec = value.exec; value2 = environment.__proto__; value = Reflect.apply(exec, value, [userAgent]); r0 = (value || 0)[1]; } r0 = !r0 ? null : r0; return r0; } } function getLayout(a0) { // fn#7383, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:704:1569, owner: parse_7378.getLayout, offset: 0x00d1a13d, size: 27 bytes, params: 2, frame: 13 return reduce_7375(a0, _fun7384); function _fun7384(a0, a1) { // fn#7384, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:704:1608, offset: 0x00d1a158, size: 106 bytes, params: 3, frame: 15 var r1; var r0; var RegExp; var pattern; var exec; var value3; let value = a0; const value2 = a1; if (value) { r0 = value; } else { RegExp = global.RegExp; pattern = value2.pattern; if (pattern) { r1 = pattern; } else { value = environment.__proto__.__proto__; value = qualify(value2); r1 = value; } value = RegExp('\\b' + r1 + '\\b', 'i'); exec = value.exec; value3 = environment.__proto__; value = Reflect.apply(exec, value, [userAgent]); r1 = value && (value2.label || value2); r0 = r1; } return r0; } } function getName(a0) { // fn#7385, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:704:1846, owner: parse_7378.getName, offset: 0x00d1a1c2, size: 27 bytes, params: 2, frame: 13 return reduce_7375(a0, _fun7386); function _fun7386(a0, a1) { // fn#7386, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:704:1883, offset: 0x00d1a158, size: 106 bytes, params: 3, frame: 15 var r1; var r0; var RegExp; var pattern; var exec; var value3; let value = a0; const value2 = a1; if (value) { r0 = value; } else { RegExp = global.RegExp; pattern = value2.pattern; if (pattern) { r1 = pattern; } else { value = environment.__proto__.__proto__; value = qualify(value2); r1 = value; } value = RegExp('\\b' + r1 + '\\b', 'i'); exec = value.exec; value3 = environment.__proto__; value = Reflect.apply(exec, value, [userAgent]); r1 = value && (value2.label || value2); r0 = r1; } return r0; } } function getManufacturer(a0) { // fn#7387, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:704:3692, owner: parse_7378.getManufacturer, offset: 0x00d1a1dd, size: 27 bytes, params: 2, frame: 13 return reduce_7375(a0, _fun7388); function _fun7388(a0, a1, a2) { // fn#7388, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:704:3737, offset: 0x00d1a1f8, size: 143 bytes, params: 4, frame: 17 var r1; var r0; var property; var regexp; var RegExp; var value3; var value5; let value = a0; const value2 = a2; if (value) { r0 = value; } else { value = environment.__proto__; property = a1[product]; if (property) { r1 = property; } else { regexp = RegExp('^[a-z]+(?: +[a-z]+\\b)*', 'i'); r1 = a1[regexp.exec(product)]; } if (!r1) { RegExp = global.RegExp; value3 = environment.__proto__.__proto__; value5 = RegExp('\\b' + qualify(value2) + '(?:\\b|\\w*\\d)', 'i'); r1 = value5.exec(userAgent); } r1 = r1 && value2; r0 = r1; } return r0; } } function parse_7378GetOS(a0) { // fn#7389, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:704:4343, owner: parse_7378.getOS, offset: 0x00d1a287, size: 27 bytes, params: 2, frame: 13 return reduce_7375(a0, _fun7390); function _fun7390(a0, a1) { // fn#7390, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:704:4378, offset: 0x00d1a2a2, size: 687 bytes, params: 3, frame: 18 var r2; var r3; var r5; var r1; var r6; var r0; var RegExp; var exec; var value6; var object; var regexp; var property; var replace; var formatBinding; let value = a0; const value2 = a1; const r8 = value2.pattern || qualify(value2); if (value) { r2 = !value; r3 = value; } else { RegExp = global.RegExp; value = RegExp('\\b' + r8 + '(?:/[\\d.]+|[ \\w.]*)', 'i'); exec = value.exec; value6 = environment.__proto__; value = Reflect.apply(exec, value, [userAgent]); r2 = value; r3 = value; } if (r2) { r5 = value2.label || value2; object = {'10.0': '10', '6.4': '10 Technical Preview', '6.3': '8.1', '6.2': '8', '6.1': 'Server 2008 R2 / 7', '6.0': 'Server 2008 / Vista', '5.2': 'Server 2003 / XP 64-bit', '5.1': 'XP', '5.01': '2000 SP1', '5.0': '2000', '4.0': 'NT', '4.90': 'ME'}; r1 = r8 && r5; r1 = r1 && RegExp('^Win', 'i').test(r3); if (r1) { regexp = RegExp('^Windows Phone ', 'i'); r1 = !regexp.test(r3); } if (r1) { regexp = RegExp('[\\d.]+$', ''); property = object[regexp.exec(r3)]; r1 = property; r2 = property; } else { r2 = object; } value = global.String(r1 ? 'Windows ' + r2 : r3); r2 = r8 && r5; if (r2) { replace = value.replace; RegExp = global.RegExp; value = Reflect.apply(replace, value, [RegExp(r8, 'i'), r5]); r6 = value; } else { r6 = value; } value = environment.__proto__.__proto__; formatBinding = format; value = r6.replace(RegExp(' ce$', 'i'), ' CE'); value = value.replace(RegExp('\\bhpw', 'i'), 'web'); value = value.replace(RegExp('\\bMacintosh\\b', ''), 'Mac OS'); value = value.replace(RegExp('_PowerPC\\b', 'i'), ' OS'); value = value.replace(RegExp('\\b(OS X) [^ \\d]+', 'i'), '$1'); value = value.replace(RegExp('\\bMac (OS X)\\b', ''), '$1'); value = value.replace(RegExp('\\/(\\d)', ''), ' $1'); value = value.replace(RegExp('_', 'g'), '.'); value = value.replace(RegExp('(?: BePC|[ .]*fc[ \\d.]+)$', 'i'), ''); value = value.replace(RegExp('\\bx86\\.64\\b', 'gi'), 'x86_64'); value = value.replace(RegExp('\\b(Windows Phone) OS\\b', ''), '$1'); value = value.replace(RegExp('\\b(Chrome OS \\w+) [\\d.]+\\b', ''), '$1'); value = value.split(' on '); value = formatBinding(value[0]); r0 = value; } else { r0 = r3; } return r0; } } function parse_7378ToString() { // fn#7391, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:704:13962, owner: parse_7378.toString, offset: 0x00d1a551, size: 80 bytes, params: 1, frame: 6 const version = this.version; const family = this.family; const value = ''; return family + (version ? env0_1 ? value : ' ' + version : value) + (this.architecture == 64 ? ' 64-bit' : value); } } function _fun7394() { // fn#7394, offset: 0x00d1a5b8, size: 9 bytes, params: 1, frame: 1 return env0_6; } function _fun7395(a0, a1) { // fn#7395, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:704:15036, offset: 0x00d1a5c1, size: 21 bytes, params: 3, frame: 3 env0_1[a1] = a0; } } } function parse_7378ToString_7393() { // fn#7393, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:704:14675, owner: parse_7378.toString, offset: 0x00d1a5a7, size: 17 bytes, params: 1, frame: 2 let description = this.description; description = !description ? '' : description; return description; } global.__d(_fun7368, 654, []) /* metro module 654 */;