1//Smmoth Scroll 2! function () { 3 function e() { 4 z.keyboardSupport && m("keydown", a) 5 } 6 7 function t() { 8 if (!A && document.body) { 9 A = !0; 10 var t = document.body, 11 o = document.documentElement, 12 n = window.innerHeight, 13 r = t.scrollHeight; 14 if (B = document.compatMode.indexOf("CSS") >= 0 ? o : t, D = t, e(), top != self) X = !0; 15 else if (r > n && (t.offsetHeight <= n || o.offsetHeight <= n)) { 16 var a = document.createElement("div"); 17 a.style.cssText = "position:absolute; z-index:-10000; top:0; left:0; right:0; height:" + B.scrollHeight + "px", document.body.appendChild(a); 18 var i; 19 T = function () { 20 i || (i = setTimeout(function () { 21 L || (a.style.height = "0", a.style.height = B.scrollHeight + "px", i = null) 22 }, 500)) 23 }, setTimeout(T, 10), m("resize", T); 24 var l = { 25 attributes: !0, 26 childList: !0, 27 characterData: !1 28 }; 29 if (M = new W(T), M.observe(t, l), B.offsetHeight <= n) { 30 var c = document.createElement("div"); 31 c.style.clear = "both", t.appendChild(c) 32 } 33 } 34 z.fixedBackground || L || (t.style.backgroundAttachment = "scroll", o.style.backgroundAttachment = "scroll") 35 } 36 } 37 38 function o() { 39 M && M.disconnect(), w(_, r), w("mousedown", i), w("keydown", a), w("resize", T), w("load", t) 40 } 41 42 function n(e, t, o) { 43 if (p(t, o), 1 != z.accelerationMax) { 44 var n = Date.now(), 45 r = n - j; 46 if (r < z.accelerationDelta) { 47 var a = (1 + 50 / r) / 2; 48 a > 1 && (a = Math.min(a, z.accelerationMax), t *= a, o *= a) 49 } 50 j = Date.now() 51 } 52 if (q.push({ 53 x: t, 54 y: o, 55 lastX: 0 > t ? .99 : -.99, 56 lastY: 0 > o ? .99 : -.99, 57 start: Date.now() 58 }), !P) { 59 var i = e === document.body, 60 l = function (n) { 61 for (var r = Date.now(), a = 0, c = 0, u = 0; u < q.length; u++) { 62 var d = q[u], 63 s = r - d.start, 64 f = s >= z.animationTime, 65 m = f ? 1 : s / z.animationTime; 66 z.pulseAlgorithm && (m = x(m)); 67 var w = d.x * m - d.lastX >> 0, 68 h = d.y * m - d.lastY >> 0; 69 a += w, c += h, d.lastX += w, d.lastY += h, f && (q.splice(u, 1), u--) 70 } 71 i ? window.scrollBy(a, c) : (a && (e.scrollLeft += a), c && (e.scrollTop += c)), t || o || (q = []), q.length ? V(l, e, 1e3 / z.frameRate + 1) : P = !1 72 }; 73 V(l, e, 0), P = !0 74 } 75 } 76 77 function r(e) { 78 A || t(); 79 var o = e.target, 80 r = u(o); 81 if (!r || e.defaultPrevented || e.ctrlKey) return !0; 82 if (h(D, "embed") || h(o, "embed") && /\.pdf/i.test(o.src) || h(D, "object") || o.shadowRoot) return !0; 83 var a = -e.wheelDeltaX || e.deltaX || 0, 84 i = -e.wheelDeltaY || e.deltaY || 0; 85 return O && (e.wheelDeltaX && b(e.wheelDeltaX, 120) && (a = -120 * (e.wheelDeltaX / Math.abs(e.wheelDeltaX))), e.wheelDeltaY && b(e.wheelDeltaY, 120) && (i = -120 * (e.wheelDeltaY / Math.abs(e.wheelDeltaY)))), a || i || (i = -e.wheelDelta || 0), 1 === e.deltaMode && (a *= 40, i *= 40), !z.touchpadSupport && v(i) ? !0 : (Math.abs(a) > 1.2 && (a *= z.stepSize / 120), Math.abs(i) > 1.2 && (i *= z.stepSize / 120), n(r, a, i), e.preventDefault(), void l()) 86 } 87 88 function a(e) { 89 var t = e.target, 90 o = e.ctrlKey || e.altKey || e.metaKey || e.shiftKey && e.keyCode !== K.spacebar; 91 document.body.contains(D) || (D = document.activeElement); 92 var r = /^(textarea|select|embed|object)$/i, 93 a = /^(button|submit|radio|checkbox|file|color|image)$/i;
94 if (e.defaultPrevented || r.test(t.nodeName) || h(t, "input") && !a.test(t.type) || h(D, "video") || g(e) || t.isContentEditable || o) return !0; 95 if ((h(t, "button") || h(t, "input") && a.test(t.type)) && e.keyCode === K.spacebar) return !0; 96 if (h(t, "input") && "radio" == t.type && R[e.keyCode]) return !0; 97 var i, c = 0, 98 d = 0, 99 s = u(D), 100 f = s.clientHeight; 101 switch (s == document.body && (f = window.innerHeight), e.keyCode) { 102 case K.up: 103 d = -z.arrowScroll; 104 break; 105 case K.down: 106 d = z.arrowScroll; 107 break; 108 case K.spacebar: 109 i = e.shiftKey ? 1 : -1, d = -i * f * .9; 110 break; 111 case K.pageup: 112 d = .9 * -f; 113 break; 114 case K.pagedown: 115 d = .9 * f; 116 break; 117 case K.home: 118 d = -s.scrollTop; 119 break; 120 case K.end: 121 var m = s.scrollHeight - s.scrollTop - f; 122 d = m > 0 ? m + 10 : 0; 123 break; 124 case K.left: 125 c = -z.arrowScroll; 126 break; 127 case K.right: 128 c = z.arrowScroll; 129 break; 130 default: 131 return !0 132 } 133 n(s, c, d), e.preventDefault(), l() 134 } 135 136 function i(e) { 137 D = e.target 138 } 139 140 function l() { 141 clearTimeout(E), E = setInterval(function () { 142 I = {} 143 }, 1e3) 144 } 145 146 function c(e, t) { 147 for (var o = e.length; o--;) I[F(e[o])] = t; 148 return t 149 } 150 151 function u(e) { 152 var t = [], 153 o = document.body, 154 n = B.scrollHeight; 155 do { 156 var r = I[F(e)]; 157 if (r) return c(t, r); 158 if (t.push(e), n === e.scrollHeight) { 159 var a = s(B) && s(o), 160 i = a || f(B); 161 if (X && d(B) || !X && i) return c(t, $()) 162 } else if (d(e) && f(e)) return c(t, e) 163 } while (e = e.parentElement) 164 } 165 166 function d(e) { 167 return e.clientHeight + 10 < e.scrollHeight 168 } 169 170 function s(e) { 171 var t = getComputedStyle(e, "").getPropertyValue("overflow-y"); 172 return "hidden" !== t 173 } 174 175 function f(e) { 176 var t = getComputedStyle(e, "").getPropertyValue("overflow-y"); 177 return "scroll" === t || "auto" === t 178 } 179 180 function m(e, t) { 181 window.addEventListener(e, t, { passive: false }) 182 } 183 184 function w(e, t) { 185 window.removeEventListener(e, t, { passive: false }) 186 } 187 188 function h(e, t) { 189 return (e.nodeName || "").toLowerCase() === t.toLowerCase() 190 } 191 192 function p(e, t) { 193 e = e > 0 ? 1 : -1, t = t > 0 ? 1 : -1, (Y.x !== e || Y.y !== t) && (Y.x = e, Y.y = t, q = [], j = 0) 194 } 195 196 function v(e) { 197 return e ? (N.length || (N = [e, e, e]), e = Math.abs(e), N.push(e), N.shift(), clearTimeout(C), C = setTimeout(function () { 198 window.localStorage && (localStorage.SS_deltaBuffer = N.join(",")) 199 }, 1e3), !y(120) && !y(100)) : void 0 200 } 201 202 function b(e, t) { 203 return Math.floor(e / t) == e / t 204 } 205 206 function y(e) { 207 return b(N[0], e) && b(N[1], e) && b(N[2], e) 208 } 209 210 function g(e) { 211 var t = e.target, 212 o = !1; 213 if (-1 != document.URL.indexOf("www.youtube.com/watch")) 214 do 215 if (o = t.classList && t.classList.contains("html5-video-controls")) break; while (t = t.parentNode); 216 return o 217 } 218 219 function S(e) { 220 var t, o, n; 221 return e *= z.pulseScale, 1 > e ? t = e - (1 - Math.exp(-e)) : (o = Math.exp(-1), e -= 1, n = 1 - Math.exp(-e), t = o + n * (1 - o)), t * z.pulseNormalize 222 } 223 224 function x(e) { 225 return e >= 1 ? 1 : 0 >= e ? 0 : (1 == z.pulseNormalize && (z.pulseNormalize /= S(1)), S(e)) 226 } 227 228 function k(e) { 229 for (var t in e) H.hasOwnProperty(t) && (z[t] = e[t]) 230 } 231 var D, M, T, E, C, H = { 232 frameRate: 150, 233 animationTime: 400, 234 stepSize: 100, 235 pulseAlgorithm: !0, 236 pulseScale: 4, 237 pulseNormalize: 1, 238 accelerationDelta: 50, 239 accelerationMax: 3, 240 keyboardSupport: !0, 241 arrowScroll: 50, 242 touchpadSupport: !1,
243 fixedBackground: !0, 244 excluded: "" 245 }, 246 z = H, 247 L = !1, 248 X = !1, 249 Y = { 250 x: 0, 251 y: 0 252 }, 253 A = !1, 254 B = document.documentElement, 255 N = [], 256 O = /^Mac/.test(navigator.platform), 257 K = { 258 left: 37, 259 up: 38, 260 right: 39, 261 down: 40, 262 spacebar: 32, 263 pageup: 33, 264 pagedown: 34, 265 end: 35, 266 home: 36 267 }, 268 R = { 269 37: 1, 270 38: 1, 271 39: 1, 272 40: 1 273 }, 274 q = [], 275 P = !1, 276 j = Date.now(), 277 F = function () { 278 var e = 0; 279 return function (t) { 280 return t.uniqueID || (t.uniqueID = e++) 281 } 282 }(), 283 I = {}; 284 window.localStorage && localStorage.SS_deltaBuffer && (N = localStorage.SS_deltaBuffer.split(",")); 285 var _, V = function () { 286 return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function (e, t, o) { 287 window.setTimeout(e, o || 1e3 / 60) 288 } 289 }(), 290 W = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver, 291 $ = function () { 292 var e; 293 return function () { 294 if (!e) { 295 var t = document.createElement("div"); 296 t.style.cssText = "height:10000px;width:1px;", document.body.appendChild(t); 297 var o = document.body.scrollTop; 298 document.documentElement.scrollTop; 299 window.scrollBy(0, 3), e = document.body.scrollTop != o ? document.body : document.documentElement, window.scrollBy(0, -3), document.body.removeChild(t) 300 } 301 return e 302 } 303 }(), 304 U = window.navigator.userAgent, 305 G = /Edge/.test(U), 306 J = /chrome/i.test(U) && !G, 307 Q = /safari/i.test(U) && !G, 308 Z = /mobile/i.test(U), 309 ee = /Windows NT 6.1/i.test(U) && /rv:11/i.test(U), 310 te = (J || Q || ee) && !Z; 311 "onwheel" in document.createElement("div") ? _ = "wheel" : "onmousewheel" in document.createElement("div") && (_ = "mousewheel"), _ && te && (m(_, r), m("mousedown", i), m("load", t)), k.destroy = o, window.SmoothScrollOptions && k(window.SmoothScrollOptions), "function" == typeof define && define.amd ? define(function () { 312 return k 313 }) : "object" == typeof exports ? module.exports = k : window.SmoothScroll = k 314}();
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.