1/*! odometer 0.4.8 */ 2(function () { 3 var a, 4 b, 5 c, 6 d, 7 e, 8 f, 9 g, 10 h, 11 i, 12 j, 13 k, 14 l, 15 m, 16 n, 17 o, 18 p, 19 q, 20 r, 21 s, 22 t, 23 u, 24 v, 25 w, 26 x, 27 y, 28 z, 29 A, 30 B, 31 C, 32 D, 33 E, 34 F, 35 G = [].slice; 36 (q = '<span class="odometer-value"></span>'), 37 (n = 38 '<span class="odometer-ribbon"><span class="odometer-ribbon-inner">' + 39 q + 40 "</span></span>"), 41 (d = 42 '<span class="odometer-digit"><span class="odometer-digit-spacer">8</span><span class="odometer-digit-inner">' + 43 n + 44 "</span></span>"), 45 (g = '<span class="odometer-formatting-mark"></span>'), 46 (c = "(,dd,dd,dd,dd,dd,dd,ddd).dd"), 47 (h = /^\(?([^)]*)\)?(?:(.)(d+))?$/), 48 (i = 30), 49 (f = 2e3), 50 (a = 20), 51 (j = 2), 52 (e = 0.5), 53 (k = 1e3 / i), 54 (b = 1e3 / a), 55 (o = 56 "transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd"), 57 (y = document.createElement("div").style), 58 (p = 59 null != y.transition || 60 null != y.webkitTransition || 61 null != y.mozTransition || 62 null != y.oTransition), 63 (w = 64 window.requestAnimationFrame || 65 window.mozRequestAnimationFrame || 66 window.webkitRequestAnimationFrame || 67 window.msRequestAnimationFrame), 68 (l = 69 window.MutationObserver || 70 window.WebKitMutationObserver || 71 window.MozMutationObserver), 72 (s = function (a) { 73 var b; 74 return ( 75 (b = document.createElement("div")), (b.innerHTML = a), b.children[0] 76 ); 77 }), 78 (v = function (a, b) { 79 return (a.className = a.className.replace( 80 new RegExp("(^| )" + b.split(" ").join("|") + "( |$)", "gi"), 81 " " 82 )); 83 }), 84 (r = function (a, b) { 85 return v(a, b), (a.className += " " + b); 86 }), 87 (z = function (a, b) { 88 var c; 89 return null != document.createEvent 90 ? ((c = document.createEvent("HTMLEvents")), 91 c.initEvent(b, !0, !0), 92 a.dispatchEvent(c)) 93 : void 0; 94 }), 95 (u = function () { 96 var a, b; 97 return null != 98 (a = 99 null != (b = window.performance) && "function" == typeof b.now 100 ? b.now() 101 : void 0) 102 ? a 103 : +new Date(); 104 }), 105 (x = function (a, b) { 106 return ( 107 null == b && (b = 0), 108 b
109 ? ((a *= Math.pow(10, b)), 110 (a += 0.5), 111 (a = Math.floor(a)), 112 (a /= Math.pow(10, b))) 113 : Math.round(a) 114 ); 115 }), 116 (A = function (a) { 117 return 0 > a ? Math.ceil(a) : Math.floor(a); 118 }), 119 (t = function (a) { 120 return a - x(a); 121 }), 122 (C = !1), 123 (B = function () { 124 var a, b, c, d, e; 125 if (!C && null != window.jQuery) { 126 for ( 127 C = !0, d = ["html", "text"], e = [], b = 0, c = d.length; 128 c > b; 129 b++ 130 ) 131 (a = d[b]), 132 e.push( 133 (function (a) { 134 var b; 135 return ( 136 (b = window.jQuery.fn[a]), 137 (window.jQuery.fn[a] = function (a) { 138 var c; 139 return null == a || 140 null == (null != (c = this[0]) ? c.odometer : void 0) 141 ? b.apply(this, arguments) 142 : this[0].odometer.update(a); 143 }) 144 ); 145 })(a) 146 ); 147 return e; 148 } 149 })(), 150 setTimeout(B, 0), 151 (m = (function () { 152 function a(b) { 153 var c, 154 d, 155 e, 156 g, 157 h, 158 i, 159 l, 160 m, 161 n, 162 o, 163 p = this; 164 if ( 165 ((this.options = b), 166 (this.el = this.options.el), 167 null != this.el.odometer) 168 ) 169 return this.el.odometer; 170 (this.el.odometer = this), (m = a.options); 171 for (d in m) 172 (g = m[d]), null == this.options[d] && (this.options[d] = g); 173 null == (h = this.options).duration && (h.duration = f), 174 (this.MAX_VALUES = (this.options.duration / k / j) | 0), 175 this.resetFormat(), 176 (this.value = this.cleanValue( 177 null != (n = this.options.value) ? n : "" 178 )), 179 this.renderInside(), 180 this.render(); 181 try { 182 for ( 183 o = ["innerHTML", "innerText", "textContent"], i = 0, l = o.length; 184 l > i; 185 i++ 186 ) 187 (e = o[i]), 188 null != this.el[e] && 189 !(function (a) { 190 return Object.defineProperty(p.el, a, { 191 get: function () { 192 var b; 193 return "innerHTML" === a 194 ? p.inside.outerHTML 195 : null != (b = p.inside.innerText) 196 ? b 197 : p.inside.textContent; 198 }, 199 set: function (a) { 200 return p.update(a); 201 }, 202 }); 203 })(e); 204 } catch (q) { 205 (c = q), this.watchForMutations(); 206 } 207 } 208 return ( 209 (a.prototype.renderInside = function () { 210 return ( 211 (this.inside = document.createElement("div")), 212 (this.inside.className = "odometer-inside"), 213 (this.el.innerHTML = ""), 214 this.el.appendChild(this.inside) 215 ); 216 }), 217 (a.prototype.watchForMutations = function () { 218 var a, 219 b = this; 220 if (null != l) 221 try { 222 return ( 223 null == this.observer && 224 (this.observer = new l(function (a) { 225 var c; 226 return ( 227 (c = b.el.innerText), 228 b.renderInside(), 229 b.render(b.value), 230 b.update(c) 231 ); 232 })), 233 (this.watchMutations = !0), 234 this.startWatchingMutations() 235 ); 236 } catch (c) { 237 a = c; 238 } 239 }), 240 (a.prototype.startWatchingMutations = function () { 241 return this.watchMutations 242 ? this.observer.observe(this.el, { childList: !0 }) 243 : void 0; 244 }), 245 (a.prototype.stopWatchingMutations = function () { 246 var a; 247 return null != (a = this.observer) ? a.disconnect() : void 0; 248 }), 249 (a.prototype.cleanValue = function (a) { 250 var b; 251 return ( 252 "string" == typeof a && 253 ((a = a.replace( 254 null != (b = this.format.radix) ? b : ".", 255 "<radix>" 256 )), 257 (a = a.replace(/[.,]/g, "")), 258 (a = a.replace("<radix>", ".")), 259 (a = parseFloat(a, 10) || 0)), 260 x(a, this.format.precision) 261 ); 262 }), 263 (a.prototype.bindTransitionEnd = function () { 264 var a, 265 b, 266 c, 267 d, 268 e, 269 f, 270 g = this; 271 if (!this.transitionEndBound) { 272 for ( 273 this.transitionEndBound = !0, 274 b = !1, 275 e = o.split(" "), 276 f = [], 277 c = 0, 278 d = e.length; 279 d > c; 280 c++ 281 ) 282 (a = e[c]), 283 f.push( 284 this.el.addEventListener( 285 a, 286 function () { 287 return b 288 ? !0 289 : ((b = !0), 290 setTimeout(function () { 291 return ( 292 g.render(), (b = !1), z(g.el, "odometerdone") 293 ); 294 }, 0), 295 !0); 296 }, 297 !1 298 ) 299 ); 300 return f; 301 } 302 }), 303 (a.prototype.resetFormat = function () { 304 var a, b, d, e, f, g, i, j; 305 if ( 306 ((a = null != (i = this.options.format) ? i : c), 307 a || (a = "d"), 308 (d = h.exec(a)), 309 !d) 310 ) 311 throw new Error("Odometer: Unparsable digit format"); 312 return ( 313 (j = d.slice(1, 4)), 314 (g = j[0]), 315 (f = j[1]), 316 (b = j[2]), 317 (e = (null != b ? b.length : void 0) || 0), 318 (this.format = { repeating: g, radix: f, precision: e }) 319 ); 320 }), 321 (a.prototype.render = function (a) { 322 var b, c, d, e, f, g, h; 323 for ( 324 null == a && (a = this.value), 325 this.stopWatchingMutations(), 326 this.resetFormat(), 327 this.inside.innerHTML = "", 328 f = this.options.theme, 329 b = this.el.className.split(" "), 330 e = [], 331 g = 0, 332 h = b.length; 333 h > g; 334 g++ 335 ) 336 (c = b[g]), 337 c.length && 338 ((d = /^odometer-theme-(.+)$/.exec(c)) 339 ? (f = d[1]) 340 : /^odometer(-|$)/.test(c) || e.push(c)); 341 return ( 342 e.push("odometer"), 343 p || e.push("odometer-no-transitions"), 344 f ? e.push("odometer-theme-" + f) : e.push("odometer-auto-theme"), 345 (this.el.className = e.join(" ")), 346 (this.ribbons = {}), 347 this.formatDigits(a), 348 this.startWatchingMutations() 349 ); 350 }), 351 (a.prototype.formatDigits = function (a) { 352 var b, c, d, e, f, g, h, i, j, k; 353 if (((this.digits = []), this.options.formatFunction)) 354 for ( 355 d = this.options.formatFunction(a), 356 j = d.split("").reverse(), 357 f = 0, 358 h = j.length; 359 h > f; 360 f++ 361 ) 362 (c = j[f]), 363 c.match(/0-9/) 364 ? ((b = this.renderDigit()), 365 (b.querySelector(".odometer-value").innerHTML = c), 366 this.digits.push(b), 367 this.insertDigit(b)) 368 : this.addSpacer(c); 369 else 370 for ( 371 e = !this.format.precision || !t(a) || !1, 372 k = a.toString().split("").reverse(), 373 g = 0, 374 i = k.length; 375 i > g; 376 g++ 377 )
378 (b = k[g]), "." === b && (e = !0), this.addDigit(b, e); 379 }), 380 (a.prototype.update = function (a) { 381 var b, 382 c = this; 383 return ( 384 (a = this.cleanValue(a)), 385 (b = a - this.value) 386 ? (v( 387 this.el, 388 "odometer-animating-up odometer-animating-down odometer-animating" 389 ), 390 b > 0 391 ? r(this.el, "odometer-animating-up") 392 : r(this.el, "odometer-animating-down"), 393 this.stopWatchingMutations(), 394 this.animate(a), 395 this.startWatchingMutations(), 396 setTimeout(function () { 397 return c.el.offsetHeight, r(c.el, "odometer-animating"); 398 }, 0), 399 (this.value = a)) 400 : void 0 401 ); 402 }), 403 (a.prototype.renderDigit = function () { 404 return s(d); 405 }), 406 (a.prototype.insertDigit = function (a, b) { 407 return null != b 408 ? this.inside.insertBefore(a, b) 409 : this.inside.children.length 410 ? this.inside.insertBefore(a, this.inside.children[0]) 411 : this.inside.appendChild(a); 412 }), 413 (a.prototype.addSpacer = function (a, b, c) { 414 var d; 415 return ( 416 (d = s(g)), (d.innerHTML = a), c && r(d, c), this.insertDigit(d, b) 417 ); 418 }), 419 (a.prototype.addDigit = function (a, b) { 420 var c, d, e, f; 421 if ((null == b && (b = !0), "-" === a)) 422 return this.addSpacer(a, null, "odometer-negation-mark"); 423 if ("." === a) 424 return this.addSpacer( 425 null != (f = this.format.radix) ? f : ".", 426 null, 427 "odometer-radix-mark" 428 ); 429 if (b) 430 for (e = !1; ; ) { 431 if (!this.format.repeating.length) { 432 if (e) throw new Error("Bad odometer format without digits"); 433 this.resetFormat(), (e = !0); 434 } 435 if ( 436 ((c = this.format.repeating[this.format.repeating.length - 1]), 437 (this.format.repeating = this.format.repeating.substring( 438 0, 439 this.format.repeating.length - 1 440 )), 441 "d" === c) 442 ) 443 break; 444 this.addSpacer(c); 445 } 446 return ( 447 (d = this.renderDigit()), 448 (d.querySelector(".odometer-value").innerHTML = a), 449 this.digits.push(d), 450 this.insertDigit(d) 451 ); 452 }), 453 (a.prototype.animate = function (a) { 454 return p && "count" !== this.options.animation 455 ? this.animateSlide(a) 456 : this.animateCount(a); 457 }), 458 (a.prototype.animateCount = function (a) { 459 var c, 460 d, 461 e, 462 f, 463 g, 464 h = this; 465 if ((d = +a - this.value)) 466 return ( 467 (f = e = u()), 468 (c = this.value), 469 (g = function () { 470 var i, j, k; 471 return u() - f > h.options.duration 472 ? ((h.value = a), h.render(), void z(h.el, "odometerdone")) 473 : ((i = u() - e), 474 i > b && 475 ((e = u()), 476 (k = i / h.options.duration), 477 (j = d * k), 478 (c += j), 479 h.render(Math.round(c))), 480 null != w ? w(g) : setTimeout(g, b)); 481 })() 482 ); 483 }), 484 (a.prototype.getDigitCount = function () { 485 var a, b, c, d, e, f; 486 for ( 487 d = 1 <= arguments.length ? G.call(arguments, 0) : [], 488 a = e = 0, 489 f = d.length; 490 f > e; 491 a = ++e 492 ) 493 (c = d[a]), (d[a] = Math.abs(c)); 494 return ( 495 (b = Math.max.apply(Math, d)), 496 Math.ceil(Math.log(b + 1) / Math.log(10)) 497 ); 498 }), 499 (a.prototype.getFractionalDigitCount = function () { 500 var a, b, c, d, e, f, g; 501 for ( 502 e = 1 <= arguments.length ? G.call(arguments, 0) : [], 503 b = /^\-?\d*\.(\d*?)0*$/, 504 a = f = 0, 505 g = e.length; 506 g > f; 507 a = ++f 508 ) 509 (d = e[a]), 510 (e[a] = d.toString()), 511 (c = b.exec(e[a])), 512 null == c ? (e[a] = 0) : (e[a] = c[1].length); 513 return Math.max.apply(Math, e); 514 }), 515 (a.prototype.resetDigits = function () { 516 return ( 517 (this.digits = []), 518 (this.ribbons = []), 519 (this.inside.innerHTML = ""), 520 this.resetFormat() 521 ); 522 }), 523 (a.prototype.animateSlide = function (a) { 524 var b, 525 c, 526 d, 527 f, 528 g, 529 h, 530 i, 531 j, 532 k, 533 l, 534 m, 535 n, 536 o, 537 p, 538 q, 539 s, 540 t, 541 u, 542 v, 543 w, 544 x, 545 y, 546 z, 547 B, 548 C, 549 D, 550 E; 551 if ( 552 ((s = this.value), 553 (j = this.getFractionalDigitCount(s, a)), 554 j && ((a *= Math.pow(10, j)), (s *= Math.pow(10, j))), 555 (d = a - s)) 556 ) { 557 for ( 558 this.bindTransitionEnd(), 559 f = this.getDigitCount(s, a), 560 g = [], 561 b = 0, 562 m = v = 0; 563 f >= 0 ? f > v : v > f; 564 m = f >= 0 ? ++v : --v 565 ) { 566 if ( 567 ((t = A(s / Math.pow(10, f - m - 1))), 568 (i = A(a / Math.pow(10, f - m - 1))), 569 (h = i - t), 570 Math.abs(h) > this.MAX_VALUES) 571 ) { 572 for ( 573 l = [], 574 n = h / (this.MAX_VALUES + this.MAX_VALUES * b * e), 575 c = t; 576 (h > 0 && i > c) || (0 > h && c > i); 577 578 ) 579 l.push(Math.round(c)), (c += n); 580 l[l.length - 1] !== i && l.push(i), b++; 581 } else 582 l = function () { 583 E = []; 584 for (var a = t; i >= t ? i >
584= a : a >= i; i >= t ? a++ : a--) 585 E.push(a); 586 return E; 587 }.apply(this); 588 for (m = w = 0, y = l.length; y > w; m = ++w) 589 (k = l[m]), (l[m] = Math.abs(k % 10)); 590 g.push(l); 591 } 592 for ( 593 this.resetDigits(), D = g.reverse(), m = x = 0, z = D.length; 594 z > x; 595 m = ++x 596 ) 597 for ( 598 l = D[m], 599 this.digits[m] || this.addDigit(" ", m >= j), 600 null == (u = this.ribbons)[m] && 601 (u[m] = this.digits[m].querySelector( 602 ".odometer-ribbon-inner" 603 )), 604 this.ribbons[m].innerHTML = "", 605 0 > d && (l = l.reverse()), 606 o = C = 0, 607 B = l.length; 608 B > C; 609 o = ++C 610 ) 611 (k = l[o]), 612 (q = document.createElement("div")), 613 (q.className = "odometer-value"), 614 (q.innerHTML = k), 615 this.ribbons[m].appendChild(q), 616 o === l.length - 1 && r(q, "odometer-last-value"), 617 0 === o && r(q, "odometer-first-value"); 618 return ( 619 0 > t && this.addDigit("-"), 620 (p = this.inside.querySelector(".odometer-radix-mark")), 621 null != p && p.parent.removeChild(p), 622 j 623 ? this.addSpacer( 624 this.format.radix, 625 this.digits[j - 1], 626 "odometer-radix-mark" 627 ) 628 : void 0 629 ); 630 } 631 }), 632 a 633 ); 634 })()), 635 (m.options = null != (E = window.odometerOptions) ? E : {}), 636 setTimeout(function () { 637 var a, b, c, d, e; 638 if (window.odometerOptions) { 639 (d = window.odometerOptions), (e = []); 640 for (a in d) 641 (b = d[a]), 642 e.push( 643 null != (c = m.options)[a] ? (c = m.options)[a] : (c[a] = b) 644 ); 645 return e; 646 } 647 }, 0), 648 (m.init = function () { 649 var a, b, c, d, e, f; 650 if (null != document.querySelectorAll) { 651 for ( 652 b = document.querySelectorAll(m.options.selector || ".odometer"), 653 f = [], 654 c = 0, 655 d = b.length; 656 d > c; 657 c++ 658 ) 659 (a = b[c]), 660 f.push( 661 (a.odometer = new m({ 662 el: a, 663 value: null != (e = a.innerText) ? e : a.textContent, 664 })) 665 ); 666 return f; 667 } 668 }), 669 null != (null != (F = document.documentElement) ? F.doScroll : void 0) && 670 null != document.createEventObject 671 ? ((D = document.onreadystatechange), 672 (document.onreadystatechange = function () { 673 return ( 674 "complete" === document.readyState && 675 m.options.auto !== !1 && 676 m.init(), 677 null != D ? D.apply(this, arguments) : void 0 678 ); 679 })) 680 : document.addEventListener( 681 "DOMContentLoaded", 682 function () { 683 return m.options.auto !== !1 ? m.init() : void 0; 684 }, 685 !1 686 ), 687 "function" == typeof define && define.amd 688 ? define([], function () { 689 return m; 690 }) 691 : "undefined" != typeof exports && null !== exports 692 ? (module.exports = m) 693 : (window.Odometer = m); 694}).call(this);
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.