1function browser_selector(u) { 2 var ua = u.toLowerCase(), 3 is = function(t) { 4 return ua.indexOf(t) > -1 5 }, 6 g = 'gecko', 7 w = 'webkit', 8 s = 'safari', 9 c = 'chrome', 10 o = 'opera', 11 m = 'mobile', 12 d = 'desktop', 13 n = 'naver', 14 k = 'kakao', 15 v = 0, 16 r = window.devicePixelRatio ? (window.devicePixelRatio + '').replace('.', '_') : '1'; 17 var res = [ 18 /* IE */ 19 (!(/opera|webtv/.test(ua)) && /msie\s(\d+)/.test(ua) && (v = RegExp.$1 * 1)) ? 20 ('ie ie' + v + ((v == 6 || v == 7) ? 21 ' ie67 ie678 ie6789' : (v == 8) ? 22 ' ie678 ie6789' : (v == 9) ? 23 ' ie6789 ie9m' : (v > 9 ) ? 24 ' ie9m' : '')) : 25 /* EDGE */ 26 (/edge\/(\d+)\.(\d+)/.test(ua) && (v = [RegExp.$1, RegExp.$2])) ? 27 'ie ie' + v[0] + ' ie' + v[0] + '_' + v[1] + ' ie9m edge' : 28 /* IE 11 */ 29 (/trident\/\d+.*?;\s*rv:(\d+)\.(\d+)\)/.test(ua) && (v = [RegExp.$1, RegExp.$2])) ? 30 'ie ie' + v[0] + ' ie' + v[0] + '_' + v[1] + ' ie9m' : 31 /* FF */ 32 (/firefox\/(\d+)\.(\d+)/.test(ua) && (re = RegExp)) ? 33 g + ' ff ff' + re.$1 + ' ff' + re.$1 + '_' + re.$2 : 34 is('gecko/') ? g : 35 /* Opera - old */ 36 is(o) ? 'old' + o + (/version\/(\d+)/.test(ua) ? ' ' + o + RegExp.$1 : 37 (/opera(\s|\/)(\d+)/.test(ua) ? ' ' + o + RegExp.$2 : '')) : 38 /* K */ 39 is('konqueror') ? 'konqueror' : 40 /* Black Berry */ 41 is('blackberry') ? m + ' blackberry' : 42 /* Chrome */ 43 (is(c) || is('crios')) ? w + ' ' + c : 44 /* Iron */ 45 is('iron') ? w + ' iron' : 46 /* Safari */ 47 !is('cpu os') && is('applewebkit/') ? w + ' ' + s : 48 /* Mozilla */ 49 is('mozilla/') ? g : '', 50 /* Android */ 51 is('android') ? m + ' android' : '', 52 /* Tablet */ 53 is('tablet') ? 'tablet' : '', 54 /* blink or webkit engine browsers */ 55 /* Opera */ 56 is('opr/') ? o : '', 57 /* Yandex */ 58 is('yabrowser') ? 'yandex' : '', 59 /* Machine */ 60 is('j2me') ? m + ' j2me' : 61 is('ipad; u; cpu os') ? m + ' chrome android tablet' : 62 is('ipad;u;cpu os') ? m + ' chromedef android tablet' : 63 is('iphone') ? m + ' ios iphone' : 64 is('ipod') ? m + ' ios ipod' : 65 is('ipad') ? m + ' ios ipad tablet' : 66 (is('mac') && window.navigator.standalone != undefined ) ? m + ' ios ipad mac' : 67 is('mac') ? d + ' mac' : 68 is('darwin') ? d + ' mac' : 69 is('webtv') ? 'webtv' : 70 is('win') ? d + ' win' + (is('windows nt 6.0') ? ' vista' : '') : 71 is('freebsd') ? d + ' freebsd' : 72 (is('x11') || ( ! is( 'android' ) && is('linux')) ) ? d + ' linux' : '', 73 /* Naver, Kakao check */ 74 is('naver') ? n : 75 is('kakao') ? k : '', 76 /* Ratio (Retina) */ 77 (r != '1') ? ' retina ratio' + r : '', 78 'js '].join(' '); 79 if(window.jQuery && !window.jQuery.browser) { 80 window.jQuery.browser = v ? {msie: 1, version: v} : {}; 81 } 82 return res; 83}; 84 85(function(d, w) { 86 var _c = browser_selector(navigator.userAgent); 87 var h = d.documentElement; 88 h.className += ' ' + _c; 89 var _d = _c.replace(/^\s*|\s*$/g, '').split(/ +/); 90 w.CSSBS = 1; 91 for(var i = 0; i < _d.length; i++) { 92 w['CSSBS_' + _d[i]] = 1; 93 } 94 var _de = function(v) { 95 return d.documentElement[v] || d.body[v]; 96 } 97 98})(document, window);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.