
/*! For license information please see odometer.min.js.LICENSE.txt */
(function(){var t,e,n,i,o,r,s,a,u,l,d,h,p,c,m,f,g,v,M,w=[].slice;t=/^\(?([^)]*)\)?(?:(.)(D*)(d*))?$/,e=1e3/30,h=document.createElement("div").style,o=null!=h.transition||null!=h.webkitTransition||null!=h.mozTransition||null!=h.oTransition,l=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,n=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,s=function(t){var e;return(e=document.createElement("div")).innerHTML=t,e.children[0]},u=function(t,e){return t.className=t.className.replace(new RegExp("(^| )"+e.split(" ").join("|")+"( |$)","gi")," ")},r=function(t,e){return u(t,e),t.className+=" "+e},p=function(t,e){var n;return null!=document.createEvent?((n=document.createEvent("HTMLEvents")).initEvent(e,!0,!0),t.dispatchEvent(n)):void 0},a=function(){var t,e;return null!=(t=null!=(e=window.performance)&&"function"==typeof e.now?e.now():void 0)?t:+new Date},d=function(t,e){return null==e&&(e=0),e?(t*=Math.pow(10,e),t+=.5,t=Math.floor(t),t/=Math.pow(10,e)):Math.round(t)},c=function(t){return 0>t?Math.ceil(t):Math.floor(t)},f=!1,(m=function(){var t,e,n,i,o;if(!f&&null!=window.jQuery){for(f=!0,o=[],e=0,n=(i=["html","text"]).length;n>e;e++)t=i[e],o.push(function(t){var e;return e=window.jQuery.fn[t],window.jQuery.fn[t]=function(t){var n;return null==t||null==(null!=(n=this[0])?n.odometer:void 0)?e.apply(this,arguments):this[0].odometer.update(t)}}(t));return o}})(),setTimeout(m,0),i=function(){function i(t){var n,o,r,s,a,u,l,d,h,p=this;if(this.options=t,this.el=this.options.el,null!=this.el.odometer)return this.el.odometer;for(n in this.el.odometer=this,l=i.options)r=l[n],null==this.options[n]&&(this.options[n]=r);null==(s=this.options).duration&&(s.duration=2e3),this.MAX_VALUES=this.options.duration/e/2|0,this.resetFormat(),this.value=this.cleanValue(null!=(d=this.options.value)?d:""),this.renderInside(),this.render();try{for(a=0,u=(h=["innerHTML","innerText","textContent"]).length;u>a;a++)o=h[a],null!=this.el[o]&&function(t){Object.defineProperty(p.el,t,{get:function(){var e;return"innerHTML"===t?p.inside.outerHTML:null!=(e=p.inside.innerText)?e:p.inside.textContent},set:function(t){return p.update(t)}})}(o)}catch(t){this.watchForMutations()}}return i.prototype.renderInside=function(){return this.inside=document.createElement("div"),this.inside.className="odometer-inside",this.el.innerHTML="",this.el.appendChild(this.inside)},i.prototype.watchForMutations=function(){var t=this;if(null!=n)try{return null==this.observer&&(this.observer=new n((function(){var e;return e=t.el.innerText,t.renderInside(),t.render(t.value),t.update(e)}))),this.watchMutations=!0,this.startWatchingMutations()}catch(t){}},i.prototype.startWatchingMutations=function(){return this.watchMutations?this.observer.observe(this.el,{childList:!0}):void 0},i.prototype.stopWatchingMutations=function(){var t;return null!=(t=this.observer)?t.disconnect():void 0},i.prototype.cleanValue=function(t){var e;return"string"==typeof t&&(t=(t=(t=t.replace(null!=(e=this.format.radix)?e:".","<radix>")).replace(/[.,]/g,"")).replace("<radix>","."),t=parseFloat(t,10)||0),d(t,this.format.precision)},i.prototype.bindTransitionEnd=function(){var t,e,n,i,o,r,s=this;if(!this.transitionEndBound){for(this.transitionEndBound=!0,e=!1,r=[],n=0,i=(o="transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd".split(" ")).length;i>n;n++)t=o[n],r.push(this.el.addEventListener(t,(function(){return e||(e=!0,setTimeout((function(){return s.render(),e=!1,p(s.el,"odometerdone")}),0)),!0}),!1));return r}},i.prototype.resetFormat=function(){var e,n,i,o,r,s,a,u,l,d;if((e=null!=(l=this.options.format)?l:"(,ddd).dd")||(e="d"),!(r=t.exec(e)))throw new Error("Odometer: Unparsable digit format");return u=(d=r.slice(1,5))[0],a=d[1],i=d[2],o=d[3],s=(n=(null!=i?i.length:void 0)||0)+(null!=o?o.length:void 0)||0,this.format={repeating:u,radix:a,precision:s,fractional:n}},i.prototype.render=function(t){var e,n,i,r,s,a,u;for(null==t&&(t=this.value),this.stopWatchingMutations(),this.resetFormat(),this.inside.innerHTML="",s=this.options.theme,r=[],a=0,u=(e=this.el.className.split(" ")).length;u>a;a++)(n=e[a]).length&&((i=/^odometer-theme-(.+)$/.exec(n))?s=i[1]:/^odometer(-|$)/.test(n)||r.push(n));return r.push("odometer"),o||r.push("odometer-no-transitions"),r.push(s?"odometer-theme-"+s:"odometer-auto-theme"),this.el.className=r.join(" "),this.ribbons={},this.formatDigits(t),this.startWatchingMutations()},i.prototype.formatDigits=function(t){var e,n,i,o,r,s,a,u,l,d,h;if(this.digits=[],this.options.formatFunction)for(a=0,l=(d=this.options.formatFunction(t).split("").reverse()).length;l>a;a++)(s=d[a]).match(/[0-9]/)?((e=this.renderDigit()).querySelector(".odometer-value").innerHTML=s,this.digits.push(e),this.insertDigit(e)):this.addSpacer(s);else{for(r=Math.abs(t),(n=Math.max(this.format.fractional,this.getFractionalDigitCount(r)))&&(r*=Math.pow(10,n)),i=0;r>0;)this.addDigit((r%10).toString(),i>=n),r=Math.floor(r/10),(i+=1)===n&&this.addDigit(".",!0);for(o=null!=(h=this.options.minIntegerLen)?h:0,i=u=i-n;o>u;i=u+=1)this.addDigit(0,!0);0>t&&this.addDigit("-",!0)}},i.prototype.update=function(t){var e,n=this;return(e=(t=this.cleanValue(t))-this.value)?(u(this.el,"odometer-animating-up odometer-animating-down odometer-animating"),r(this.el,e>0?"odometer-animating-up":"odometer-animating-down"),this.stopWatchingMutations(),this.animate(t),this.startWatchingMutations(),setTimeout((function(){return n.el.offsetHeight,r(n.el,"odometer-animating")}),0),this.value=t):void 0},i.prototype.renderDigit=function(){return s('<span class="odometer-digit"><span class="odometer-digit-spacer">8</span><span class="odometer-digit-inner"><span class="odometer-ribbon"><span class="odometer-ribbon-inner"><span class="odometer-value"></span></span></span></span></span>')},i.prototype.insertDigit=function(t,e){return null!=e?this.inside.insertBefore(t,e):this.inside.children.length?this.inside.insertBefore(t,this.inside.children[0]):this.inside.appendChild(t)},i.prototype.addSpacer=function(t,e,n){var i;return(i=s('<span class="odometer-formatting-mark"></span>')).innerHTML=t,n&&r(i,n),this.insertDigit(i,e)},i.prototype.addDigit=function(t,e){var n,i,o,r;if(null==e&&(e=!0),"-"===t)return this.addSpacer(t,null,"odometer-negation-mark");if("."===t)return this.addSpacer(null!=(r=this.format.radix)?r:".",null,"odometer-radix-mark");if(e)for(o=!1;;){if(!this.format.repeating.length){if(o)throw new Error("Bad odometer format without digits");this.resetFormat(),o=!0}if(n=this.format.repeating[this.format.repeating.length-1],this.format.repeating=this.format.repeating.substring(0,this.format.repeating.length-1),"d"===n)break;this.addSpacer(n)}return(i=this.renderDigit()).querySelector(".odometer-value").innerHTML=t,this.digits.push(i),this.insertDigit(i)},i.prototype.animate=function(t){return o&&"count"!==this.options.animation?this.animateSlide(t):this.animateCount(t)},i.prototype.animateCount=function(t){var e,n,i,o,r,s=this;if(n=+t-this.value)return o=i=a(),e=this.value,(r=function(){var u,d;return a()-o>s.options.duration?(s.value=t,s.render(),void p(s.el,"odometerdone")):((u=a()-i)>50&&(i=a(),d=u/s.options.duration,e+=n*d,s.render(Math.round(e))),null!=l?l(r):setTimeout(r,50))})()},i.prototype.getDigitCount=function(){var t,e,n,i,o,r;for(t=o=0,r=(i=1<=arguments.length?w.call(arguments,0):[]).length;r>o;t=++o)n=i[t],i[t]=Math.abs(n);return e=Math.max.apply(Math,i),Math.ceil(Math.log(e+1)/Math.log(10))},i.prototype.getFractionalDigitCount=function(){var t,e,n,i,o,r,s;for(e=/^\-?\d*\.(\d*?)0*$/,t=r=0,s=(o=1<=arguments.length?w.call(arguments,0):[]).length;s>r;t=++r)i=o[t],o[t]=i.toString(),n=e.exec(o[t]),o[t]=null==n?0:n[1].length;return Math.max.apply(Math,o)},i.prototype.resetDigits=function(){return this.digits=[],this.ribbons=[],this.inside.innerHTML="",this.resetFormat()},i.prototype.animateSlide=function(t){var e,n,i,o,s,a,u,l,d,h,p,m,f,g,v,M,w,y,b,T,x,E,D,L,S,F,C,A,H;if(w=this.value,(l=Math.max(this.format.fractional,this.getFractionalDigitCount(w,t)))&&(t*=Math.pow(10,l),w*=Math.pow(10,l)),i=t-w){for(this.bindTransitionEnd(),v=null!=(C=this.options.minIntegerLen)?C:0,o=Math.max(this.getDigitCount(w,t),v+l),s=[],e=0,p=T=0;o>=0?o>T:T>o;p=o>=0?++T:--T){if(y=c(w/Math.pow(10,o-p-1)),a=(u=c(t/Math.pow(10,o-p-1)))-y,Math.abs(a)>this.MAX_VALUES){for(h=[],m=a/(this.MAX_VALUES+this.MAX_VALUES*e*.5),n=y;a>0&&u>n||0>a&&n>u;)h.push(Math.round(n)),n+=m;h[h.length-1]!==u&&h.push(u),e++}else h=function(){H=[];for(var t=y;u>=y?u>=t:t>=u;u>=y?t++:t--)H.push(t);return H}.apply(this);for(p=x=0,D=h.length;D>x;p=++x)d=h[p],h[p]=Math.abs(d%10);s.push(h)}for(this.resetDigits(),p=E=0,L=(A=s.reverse()).length;L>E;p=++E)for(h=A[p],this.digits[p]||this.addDigit(" ",p>=l),null==(b=this.ribbons)[p]&&(b[p]=this.digits[p].querySelector(".odometer-ribbon-inner")),this.ribbons[p].innerHTML="",0>i&&(h=h.reverse()),f=F=0,S=h.length;S>F;f=++F)d=h[f],(M=document.createElement("div")).className="odometer-value",M.innerHTML=d,this.ribbons[p].appendChild(M),f===h.length-1&&r(M,"odometer-last-value"),0===f&&r(M,"odometer-first-value");return 0>y&&this.addDigit("-"),null!=(g=this.inside.querySelector(".odometer-radix-mark"))&&g.parent.removeChild(g),l?this.addSpacer(this.format.radix,this.digits[l-1],"odometer-radix-mark"):void 0}},i}(),i.options=null!=(v=window.odometerOptions)?v:{},setTimeout((function(){var t,e,n,o,r;if(window.odometerOptions){for(t in r=[],o=window.odometerOptions)e=o[t],r.push(null!=(n=i.options)[t]?(n=i.options)[t]:n[t]=e);return r}}),0),i.init=function(){var t,e,n,o,r,s;if(null!=document.querySelectorAll){for(s=[],n=0,o=(e=document.querySelectorAll(i.options.selector||".odometer")).length;o>n;n++)t=e[n],s.push(t.odometer=new i({el:t,value:null!=(r=t.innerText)?r:t.textContent}));return s}},null!=(null!=(M=document.documentElement)?M.doScroll:void 0)&&null!=document.createEventObject?(g=document.onreadystatechange,document.onreadystatechange=function(){return"complete"===document.readyState&&!1!==i.options.auto&&i.init(),null!=g?g.apply(this,arguments):void 0}):document.addEventListener("DOMContentLoaded",(function(){return!1!==i.options.auto?i.init():void 0}),!1),"function"==typeof define&&define.amd?define(["jquery"],(function(){return i})):"undefined"!=typeof exports&&null!==exports?module.exports=i:window.Odometer=i}).call(this)