jsPerf.app is an online JavaScript performance benchmark test runner & jsperf.com mirror. It is a complete rewrite in homage to the once excellent jsperf.com now with hopefully a more modern & maintainable codebase.
jsperf.com URLs are mirrored at the same path, e.g:
https://jsperf.com/negative-modulo/2
Can be accessed at:
https://jsperf.app/negative-modulo/2
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>/* Zepto v1.1.6 - zepto event ajax form ie - zeptojs.com/license */
var Zepto=function(){function L(t){return null==t?String(t):j[S.call(t)]||"object"}function Z(t){return"function"==L(t)}function _(t){return null!=t&&t==t.window}function $(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function D(t){return"object"==L(t)}function M(t){return D(t)&&!_(t)&&Object.getPrototypeOf(t)==Object.prototype}function R(t){return"number"==typeof t.length}function k(t){return s.call(t,function(t){return null!=t})}function z(t){return t.length>0?n.fn.concat.apply([],t):t}function F(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function q(t){return t in f?f[t]:f[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function H(t,e){return"number"!=typeof e||c[F(t)]?e:e+"px"}function I(t){var e,n;return u[t]||(e=a.createElement(t),a.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),u[t]=n),u[t]}function V(t){return"children"in t?o.call(t.children):n.map(t.childNodes,function(t){return 1==t.nodeType?t:void 0})}function B(n,i,r){for(e in i)r&&(M(i[e])||A(i[e]))?(M(i[e])&&!M(n[e])&&(n[e]={}),A(i[e])&&!A(n[e])&&(n[e]=[]),B(n[e],i[e],r)):i[e]!==t&&(n[e]=i[e])}function U(t,e){return null==e?n(t):n(t).filter(e)}function J(t,e,n,i){return Z(e)?e.call(t,n,i):e}function X(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function W(e,n){var i=e.className||"",r=i&&i.baseVal!==t;return n===t?r?i.baseVal:i:void(r?i.baseVal=n:e.className=n)}function Y(t){try{return t?"true"==t||("false"==t?!1:"null"==t?null:+t+""==t?+t:/^[\[\{]/.test(t)?n.parseJSON(t):t):t}catch(e){return t}}function G(t,e){e(t);for(var n=0,i=t.childNodes.length;i>n;n++)G(t.childNodes[n],e)}var t,e,n,i,C,N,r=[],o=r.slice,s=r.filter,a=window.document,u={},f={},c={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},l=/^\s*<(\w+|!)[^>]*>/,h=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,p=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,d=/^(?:body|html)$/i,m=/([A-Z])/g,g=["val","css","html","text","data","width","height","offset"],v=["after","prepend","before","append"],y=a.createElement("table"),x=a.createElement("tr"),b={tr:a.createElement("tbody"),tbody:y,thead:y,tfoot:y,td:x,th:x,"*":a.createElement("div")},w=/complete|loaded|interactive/,E=/^[\w-]*$/,j={},S=j.toString,T={},O=a.createElement("div"),P={tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},A=Array.isArray||function(t){return t instanceof Array};return T.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var n=t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(n)return n.call(t,e);var i,r=t.parentNode,o=!r;return o&&(r=O).appendChild(t),i=~T.qsa(r,e).indexOf(t),o&&O.removeChild(t),i},C=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},N=function(t){return s.call(t,function(e,n){return t.indexOf(e)==n})},T.fragment=function(e,i,r){var s,u,f;return h.test(e)&&(s=n(a.createElement(RegExp.$1))),s||(e.replace&&(e=e.replace(p,"<$1></$2>")),i===t&&(i=l.test(e)&&RegExp.$1),i in b||(i="*"),f=b[i],f.innerHTML=""+e,s=n.each(o.call(f.childNodes),function(){f.removeChild(this)})),M(r)&&(u=n(s),n.each(r,function(t,e){g.indexOf(t)>-1?u[t](e):u.attr(t,e)})),s},T.Z=function(t,e){return t=t||[],t.__proto__=n.fn,t.selector=e||"",t},T.isZ=function(t){return t instanceof T.Z},T.init=function(e,i){var r;if(!e)return T.Z();if("string"==typeof e)if(e=e.trim(),"<"==e[0]&&l.test(e))r=T.fragment(e,RegExp.$1,i),e=null;else{if(i!==t)return n(i).find(e);r=T.qsa(a,e)}else{if(Z(e))return n(a).ready(e);if(T.isZ(e))return e;if(A(e))r=k(e);else if(D(e))r=[e],e=null;else if(l.test(e))r=T.fragment(e.trim(),RegExp.$1,i),e=null;else{if(i!==t)return n(i).find(e);r=T.qsa(a,e)}}return T.Z(r,e)},n=function(t,e){return T.init(t,e)},n.extend=function(t){var e,n=o.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach(function(n){B(t,n,e)}),t},T.qsa=function(t,e){var n,i="#"==e[0],r=!i&&"."==e[0],s=i||r?e.slice(1):e,a=E.test(s);return $(t)&&a&&i?(n=t.getElementById(s))?[n]:[]:1!==t.nodeType&&9!==t.nodeType?[]:o.call(a&&!i?r?t.getElementsByClassName(s):t.getElementsByTagName(e):t.querySelectorAll(e))},n.contains=a.documentElement.contains?function(t,e){return t!==e&&t.contains(e)}:function(t,e){for(;e&&(e=e.parentNode);)if(e===t)return!0;return!1},n.type=L,n.isFunction=Z,n.isWindow=_,n.isArray=A,n.isPlainObject=M,n.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},n.inArray=function(t,e,n){return r.indexOf.call(e,t,n)},n.camelCase=C,n.trim=function(t){return null==t?"":String.prototype.trim.call(t)},n.uuid=0,n.support={},n.expr={},n.map=function(t,e){var n,r,o,i=[];if(R(t))for(r=0;r<t.length;r++)n=e(t[r],r),null!=n&&i.push(n);else for(o in t)n=e(t[o],o),null!=n&&i.push(n);return z(i)},n.each=function(t,e){var n,i;if(R(t)){for(n=0;n<t.length;n++)if(e.call(t[n],n,t[n])===!1)return t}else for(i in t)if(e.call(t[i],i,t[i])===!1)return t;return t},n.grep=function(t,e){return s.call(t,e)},window.JSON&&(n.parseJSON=JSON.parse),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(t,e){j["[object "+e+"]"]=e.toLowerCase()}),n.fn={forEach:r.forEach,reduce:r.reduce,push:r.push,sort:r.sort,indexOf:r.indexOf,concat:r.concat,map:function(t){return n(n.map(this,function(e,n){return t.call(e,n,e)}))},slice:function(){return n(o.apply(this,arguments))},ready:function(t){return w.test(a.readyState)&&a.body?t(n):a.addEventListener("DOMContentLoaded",function(){t(n)},!1),this},get:function(e){return e===t?o.call(this):this[e>=0?e:e+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(t){return r.every.call(this,function(e,n){return t.call(e,n,e)!==!1}),this},filter:function(t){return Z(t)?this.not(this.not(t)):n(s.call(this,function(e){return T.matches(e,t)}))},add:function(t,e){return n(N(this.concat(n(t,e))))},is:function(t){return this.length>0&&T.matches(this[0],t)},not:function(e){var i=[];if(Z(e)&&e.call!==t)this.each(function(t){e.call(this,t)||i.push(this)});else{var r="string"==typeof e?this.filter(e):R(e)&&Z(e.item)?o.call(e):n(e);this.forEach(function(t){r.indexOf(t)<0&&i.push(t)})}return n(i)},has:function(t){return this.filter(function(){return D(t)?n.contains(this,t):n(this).find(t).size()})},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!D(t)?t:n(t)},last:function(){var t=this[this.length-1];return t&&!D(t)?t:n(t)},find:function(t){var e,i=this;return e=t?"object"==typeof t?n(t).filter(function(){var t=this;return r.some.call(i,function(e){return n.contains(e,t)})}):1==this.length?n(T.qsa(this[0],t)):this.map(function(){return T.qsa(this,t)}):n()},closest:function(t,e){var i=this[0],r=!1;for("object"==typeof t&&(r=n(t));i&&!(r?r.indexOf(i)>=0:T.matches(i,t));)i=i!==e&&!$(i)&&i.parentNode;return n(i)},parents:function(t){for(var e=[],i=this;i.length>0;)i=n.map(i,function(t){return(t=t.parentNode)&&!$(t)&&e.indexOf(t)<0?(e.push(t),t):void 0});return U(e,t)},parent:function(t){return U(N(this.pluck("parentNode")),t)},children:function(t){return U(this.map(function(){return V(this)}),t)},contents:function(){return this.map(function(){return o.call(this.childNodes)})},siblings:function(t){return U(this.map(function(t,e){return s.call(V(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return n.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=I(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var e=Z(t);if(this[0]&&!e)var i=n(t).get(0),r=i.parentNode||this.length>1;return this.each(function(o){n(this).wrapAll(e?t.call(this,o):r?i.cloneNode(!0):i)})},wrapAll:function(t){if(this[0]){n(this[0]).before(t=n(t));for(var e;(e=t.children()).length;)t=e.first();n(t).append(this)}return this},wrapInner:function(t){var e=Z(t);return this.each(function(i){var r=n(this),o=r.contents(),s=e?t.call(this,i):t;o.length?o.wrapAll(s):r.append(s)})},unwrap:function(){return this.parent().each(function(){n(this).replaceWith(n(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(e){return this.each(function(){var i=n(this);(e===t?"none"==i.css("display"):e)?i.show():i.hide()})},prev:function(t){return n(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return n(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0 in arguments?this.each(function(e){var i=this.innerHTML;n(this).empty().append(J(this,t,e,i))}):0 in this?this[0].innerHTML:null},text:function(t){return 0 in arguments?this.each(function(e){var n=J(this,t,e,this.textContent);this.textContent=null==n?"":""+n}):0 in this?this[0].textContent:null},attr:function(n,i){var r;return"string"!=typeof n||1 in arguments?this.each(function(t){if(1===this.nodeType)if(D(n))for(e in n)X(this,e,n[e]);else X(this,n,J(this,i,t,this.getAttribute(n)))}):this.length&&1===this[0].nodeType?!(r=this[0].getAttribute(n))&&n in this[0]?this[0][n]:r:t},removeAttr:function(t){return this.each(function(){1===this.nodeType&&t.split(" ").forEach(function(t){X(this,t)},this)})},prop:function(t,e){return t=P[t]||t,1 in arguments?this.each(function(n){this[t]=J(this,e,n,this[t])}):this[0]&&this[0][t]},data:function(e,n){var i="data-"+e.replace(m,"-$1").toLowerCase(),r=1 in arguments?this.attr(i,n):this.attr(i);return null!==r?Y(r):t},val:function(t){return 0 in arguments?this.each(function(e){this.value=J(this,t,e,this.value)}):this[0]&&(this[0].multiple?n(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(t){if(t)return this.each(function(e){var i=n(this),r=J(this,t,e,i.offset()),o=i.offsetParent().offset(),s={top:r.top-o.top,left:r.left-o.left};"static"==i.css("position")&&(s.position="relative"),i.css(s)});if(!this.length)return null;var e=this[0].getBoundingClientRect();return{left:e.left+window.pageXOffset,top:e.top+window.pageYOffset,width:Math.round(e.width),height:Math.round(e.height)}},css:function(t,i){if(arguments.length<2){var r,o=this[0];if(!o)return;if(r=getComputedStyle(o,""),"string"==typeof t)return o.style[C(t)]||r.getPropertyValue(t);if(A(t)){var s={};return n.each(t,function(t,e){s[e]=o.style[C(e)]||r.getPropertyValue(e)}),s}}var a="";if("string"==L(t))i||0===i?a=F(t)+":"+H(t,i):this.each(function(){this.style.removeProperty(F(t))});else for(e in t)t[e]||0===t[e]?a+=F(e)+":"+H(e,t[e])+";":this.each(function(){this.style.removeProperty(F(e))});return this.each(function(){this.style.cssText+=";"+a})},index:function(t){return t?this.indexOf(n(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return t?r.some.call(this,function(t){return this.test(W(t))},q(t)):!1},addClass:function(t){return t?this.each(function(e){if("className"in this){i=[];var r=W(this),o=J(this,t,e,r);o.split(/\s+/g).forEach(function(t){n(this).hasClass(t)||i.push(t)},this),i.length&&W(this,r+(r?" ":"")+i.join(" "))}}):this},removeClass:function(e){return this.each(function(n){if("className"in this){if(e===t)return W(this,"");i=W(this),J(this,e,n,i).split(/\s+/g).forEach(function(t){i=i.replace(q(t)," ")}),W(this,i.trim())}})},toggleClass:function(e,i){return e?this.each(function(r){var o=n(this),s=J(this,e,r,W(this));s.split(/\s+/g).forEach(function(e){(i===t?!o.hasClass(e):i)?o.addClass(e):o.removeClass(e)})}):this},scrollTop:function(e){if(this.length){var n="scrollTop"in this[0];return e===t?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=e}:function(){this.scrollTo(this.scrollX,e)})}},scrollLeft:function(e){if(this.length){var n="scrollLeft"in this[0];return e===t?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=e}:function(){this.scrollTo(e,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),i=this.offset(),r=d.test(e[0].nodeName)?{top:0,left:0}:e.offset();return i.top-=parseFloat(n(t).css("margin-top"))||0,i.left-=parseFloat(n(t).css("margin-left"))||0,r.top+=parseFloat(n(e[0]).css("border-top-width"))||0,r.left+=parseFloat(n(e[0]).css("border-left-width"))||0,{top:i.top-r.top,left:i.left-r.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||a.body;t&&!d.test(t.nodeName)&&"static"==n(t).css("position");)t=t.offsetParent;return t})}},n.fn.detach=n.fn.remove,["width","height"].forEach(function(e){var i=e.replace(/./,function(t){return t[0].toUpperCase()});n.fn[e]=function(r){var o,s=this[0];return r===t?_(s)?s["inner"+i]:$(s)?s.documentElement["scroll"+i]:(o=this.offset())&&o[e]:this.each(function(t){s=n(this),s.css(e,J(this,r,t,s[e]()))})}}),v.forEach(function(t,e){var i=e%2;n.fn[t]=function(){var t,o,r=n.map(arguments,function(e){return t=L(e),"object"==t||"array"==t||null==e?e:T.fragment(e)}),s=this.length>1;return r.length<1?this:this.each(function(t,u){o=i?u:u.parentNode,u=0==e?u.nextSibling:1==e?u.firstChild:2==e?u:null;var f=n.contains(a.documentElement,o);r.forEach(function(t){if(s)t=t.cloneNode(!0);else if(!o)return n(t).remove();o.insertBefore(t,u),f&&G(t,function(t){null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src||window.eval.call(window,t.innerHTML)})})})},n.fn[i?t+"To":"insert"+(e?"Before":"After")]=function(e){return n(e)[t](this),this}}),T.Z.prototype=n.fn,T.uniq=N,T.deserializeValue=Y,n.zepto=T,n}();window.Zepto=Zepto,void 0===window.$&&(window.$=Zepto),function(t){function l(t){return t._zid||(t._zid=e++)}function h(t,e,n,i){if(e=p(e),e.ns)var r=d(e.ns);return(s[l(t)]||[]).filter(function(t){return!(!t||e.e&&t.e!=e.e||e.ns&&!r.test(t.ns)||n&&l(t.fn)!==l(n)||i&&t.sel!=i)})}function p(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function d(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function m(t,e){return t.del&&!u&&t.e in f||!!e}function g(t){return c[t]||u&&f[t]||t}function v(e,i,r,o,a,u,f){var h=l(e),d=s[h]||(s[h]=[]);i.split(/\s/).forEach(function(i){if("ready"==i)return t(document).ready(r);var s=p(i);s.fn=r,s.sel=a,s.e in c&&(r=function(e){var n=e.relatedTarget;return!n||n!==this&&!t.contains(this,n)?s.fn.apply(this,arguments):void 0}),s.del=u;var l=u||r;s.proxy=function(t){if(t=j(t),!t.isImmediatePropagationStopped()){t.data=o;var i=l.apply(e,t._args==n?[t]:[t].concat(t._args));return i===!1&&(t.preventDefault(),t.stopPropagation()),i}},s.i=d.length,d.push(s),"addEventListener"in e&&e.addEventListener(g(s.e),s.proxy,m(s,f))})}function y(t,e,n,i,r){var o=l(t);(e||"").split(/\s/).forEach(function(e){h(t,e,n,i).forEach(function(e){delete s[o][e.i],"removeEventListener"in t&&t.removeEventListener(g(e.e),e.proxy,m(e,r))})})}function j(e,i){return(i||!e.isDefaultPrevented)&&(i||(i=e),t.each(E,function(t,n){var r=i[t];e[t]=function(){return this[n]=x,r&&r.apply(i,arguments)},e[n]=b}),(i.defaultPrevented!==n?i.defaultPrevented:"returnValue"in i?i.returnValue===!1:i.getPreventDefault&&i.getPreventDefault())&&(e.isDefaultPrevented=x)),e}function S(t){var e,i={originalEvent:t};for(e in t)w.test(e)||t[e]===n||(i[e]=t[e]);return j(i,t)}var n,e=1,i=Array.prototype.slice,r=t.isFunction,o=function(t){return"string"==typeof t},s={},a={},u="onfocusin"in window,f={focus:"focusin",blur:"focusout"},c={mouseenter:"mouseover",mouseleave:"mouseout"};a.click=a.mousedown=a.mouseup=a.mousemove="MouseEvents",t.event={add:v,remove:y},t.proxy=function(e,n){var s=2 in arguments&&i.call(arguments,2);if(r(e)){var a=function(){return e.apply(n,s?s.concat(i.call(arguments)):arguments)};return a._zid=l(e),a}if(o(n))return s?(s.unshift(e[n],e),t.proxy.apply(null,s)):t.proxy(e[n],e);throw new TypeError("expected function")},t.fn.bind=function(t,e,n){return this.on(t,e,n)},t.fn.unbind=function(t,e){return this.off(t,e)},t.fn.one=function(t,e,n,i){return this.on(t,e,n,i,1)};var x=function(){return!0},b=function(){return!1},w=/^([A-Z]|returnValue$|layer[XY]$)/,E={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};t.fn.delegate=function(t,e,n){return this.on(e,t,n)},t.fn.undelegate=function(t,e,n){return this.off(e,t,n)},t.fn.live=function(e,n){return t(document.body).delegate(this.selector,e,n),this},t.fn.die=function(e,n){return t(document.body).undelegate(this.selector,e,n),this},t.fn.on=function(e,s,a,u,f){var c,l,h=this;return e&&!o(e)?(t.each(e,function(t,e){h.on(t,s,a,e,f)}),h):(o(s)||r(u)||u===!1||(u=a,a=s,s=n),(r(a)||a===!1)&&(u=a,a=n),u===!1&&(u=b),h.each(function(n,r){f&&(c=function(t){return y(r,t.type,u),u.apply(this,arguments)}),s&&(l=function(e){var n,o=t(e.target).closest(s,r).get(0);return o&&o!==r?(n=t.extend(S(e),{currentTarget:o,liveFired:r}),(c||u).apply(o,[n].concat(i.call(arguments,1)))):void 0}),v(r,e,u,a,s,l||c)}))},t.fn.off=function(e,i,s){var a=this;return e&&!o(e)?(t.each(e,function(t,e){a.off(t,i,e)}),a):(o(i)||r(s)||s===!1||(s=i,i=n),s===!1&&(s=b),a.each(function(){y(this,e,s,i)}))},t.fn.trigger=function(e,n){return e=o(e)||t.isPlainObject(e)?t.Event(e):j(e),e._args=n,this.each(function(){e.type in f&&"function"==typeof this[e.type]?this[e.type]():"dispatchEvent"in this?this.dispatchEvent(e):t(this).triggerHandler(e,n)})},t.fn.triggerHandler=function(e,n){var i,r;return this.each(function(s,a){i=S(o(e)?t.Event(e):e),i._args=n,i.target=a,t.each(h(a,e.type||e),function(t,e){return r=e.proxy(i),i.isImmediatePropagationStopped()?!1:void 0})}),r},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(e){t.fn[e]=function(t){return 0 in arguments?this.bind(e,t):this.trigger(e)}}),t.Event=function(t,e){o(t)||(e=t,t=e.type);var n=document.createEvent(a[t]||"Events"),i=!0;if(e)for(var r in e)"bubbles"==r?i=!!e[r]:n[r]=e[r];return n.initEvent(t,i,!0),j(n)}}(Zepto),function(t){function h(e,n,i){var r=t.Event(n);return t(e).trigger(r,i),!r.isDefaultPrevented()}function p(t,e,i,r){return t.global?h(e||n,i,r):void 0}function d(e){e.global&&0===t.active++&&p(e,null,"ajaxStart")}function m(e){e.global&&!--t.active&&p(e,null,"ajaxStop")}function g(t,e){var n=e.context;return e.beforeSend.call(n,t,e)===!1||p(e,n,"ajaxBeforeSend",[t,e])===!1?!1:void p(e,n,"ajaxSend",[t,e])}function v(t,e,n,i){var r=n.context,o="success";n.success.call(r,t,o,e),i&&i.resolveWith(r,[t,o,e]),p(n,r,"ajaxSuccess",[e,n,t]),x(o,e,n)}function y(t,e,n,i,r){var o=i.context;i.error.call(o,n,e,t),r&&r.rejectWith(o,[n,e,t]),p(i,o,"ajaxError",[n,i,t||e]),x(e,n,i)}function x(t,e,n){var i=n.context;n.complete.call(i,e,t),p(n,i,"ajaxComplete",[e,n]),m(n)}function b(){}function w(t){return t&&(t=t.split(";",2)[0]),t&&(t==f?"html":t==u?"json":s.test(t)?"script":a.test(t)&&"xml")||"text"}function E(t,e){return""==e?t:(t+"&"+e).replace(/[&?]{1,2}/,"?")}function j(e){e.processData&&e.data&&"string"!=t.type(e.data)&&(e.data=t.param(e.data,e.traditional)),!e.data||e.type&&"GET"!=e.type.toUpperCase()||(e.url=E(e.url,e.data),e.data=void 0)}function S(e,n,i,r){return t.isFunction(n)&&(r=i,i=n,n=void 0),t.isFunction(i)||(r=i,i=void 0),{url:e,data:n,success:i,dataType:r}}function C(e,n,i,r){var o,s=t.isArray(n),a=t.isPlainObject(n);t.each(n,function(n,u){o=t.type(u),r&&(n=i?r:r+"["+(a||"object"==o||"array"==o?n:"")+"]"),!r&&s?e.add(u.name,u.value):"array"==o||!i&&"object"==o?C(e,u,i,n):e.add(n,u)})}var i,r,e=0,n=window.document,o=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,s=/^(?:text|application)\/javascript/i,a=/^(?:text|application)\/xml/i,u="application/json",f="text/html",c=/^\s*$/,l=n.createElement("a");l.href=window.location.href,t.active=0,t.ajaxJSONP=function(i,r){if(!("type"in i))return t.ajax(i);var f,h,o=i.jsonpCallback,s=(t.isFunction(o)?o():o)||"jsonp"+ ++e,a=n.createElement("script"),u=window[s],c=function(e){t(a).triggerHandler("error",e||"abort")},l={abort:c};return r&&r.promise(l),t(a).on("load error",function(e,n){clearTimeout(h),t(a).off().remove(),"error"!=e.type&&f?v(f[0],l,i,r):y(null,n||"error",l,i,r),window[s]=u,f&&t.isFunction(u)&&u(f[0]),u=f=void 0}),g(l,i)===!1?(c("abort"),l):(window[s]=function(){f=arguments},a.src=i.url.replace(/\?(.+)=\?/,"?$1="+s),n.head.appendChild(a),i.timeout>0&&(h=setTimeout(function(){c("timeout")},i.timeout)),l)},t.ajaxSettings={type:"GET",beforeSend:b,success:b,error:b,complete:b,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:u,xml:"application/xml, text/xml",html:f,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0},t.ajax=function(e){var a,o=t.extend({},e||{}),s=t.Deferred&&t.Deferred();for(i in t.ajaxSettings)void 0===o[i]&&(o[i]=t.ajaxSettings[i]);d(o),o.crossDomain||(a=n.createElement("a"),a.href=o.url,a.href=a.href,o.crossDomain=l.protocol+"//"+l.host!=a.protocol+"//"+a.host),o.url||(o.url=window.location.toString()),j(o);var u=o.dataType,f=/\?.+=\?/.test(o.url);if(f&&(u="jsonp"),o.cache!==!1&&(e&&e.cache===!0||"script"!=u&&"jsonp"!=u)||(o.url=E(o.url,"_="+Date.now())),"jsonp"==u)return f||(o.url=E(o.url,o.jsonp?o.jsonp+"=?":o.jsonp===!1?"":"callback=?")),t.ajaxJSONP(o,s);var C,h=o.accepts[u],p={},m=function(t,e){p[t.toLowerCase()]=[t,e]},x=/^([\w-]+:)\/\//.test(o.url)?RegExp.$1:window.location.protocol,S=o.xhr(),T=S.setRequestHeader;if(s&&s.promise(S),o.crossDomain||m("X-Requested-With","XMLHttpRequest"),m("Accept",h||"*/*"),(h=o.mimeType||h)&&(h.indexOf(",")>-1&&(h=h.split(",",2)[0]),S.overrideMimeType&&S.overrideMimeType(h)),(o.contentType||o.contentType!==!1&&o.data&&"GET"!=o.type.toUpperCase())&&m("Content-Type",o.contentType||"application/x-www-form-urlencoded"),o.headers)for(r in o.headers)m(r,o.headers[r]);if(S.setRequestHeader=m,S.onreadystatechange=function(){if(4==S.readyState){S.onreadystatechange=b,clearTimeout(C);var e,n=!1;if(S.status>=200&&S.status<300||304==S.status||0==S.status&&"file:"==x){u=u||w(o.mimeType||S.getResponseHeader("content-type")),e=S.responseText;try{"script"==u?(1,eval)(e):"xml"==u?e=S.responseXML:"json"==u&&(e=c.test(e)?null:t.parseJSON(e))}catch(i){n=i}n?y(n,"parsererror",S,o,s):v(e,S,o,s)}else y(S.statusText||null,S.status?"error":"abort",S,o,s)}},g(S,o)===!1)return S.abort(),y(null,"abort",S,o,s),S;if(o.xhrFields)for(r in o.xhrFields)S[r]=o.xhrFields[r];var N="async"in o?o.async:!0;S.open(o.type,o.url,N,o.username,o.password);for(r in p)T.apply(S,p[r]);return o.timeout>0&&(C=setTimeout(function(){S.onreadystatechange=b,S.abort(),y(null,"timeout",S,o,s)},o.timeout)),S.send(o.data?o.data:null),S},t.get=function(){return t.ajax(S.apply(null,arguments))},t.post=function(){var e=S.apply(null,arguments);return e.type="POST",t.ajax(e)},t.getJSON=function(){var e=S.apply(null,arguments);return e.dataType="json",t.ajax(e)},t.fn.load=function(e,n,i){if(!this.length)return this;var a,r=this,s=e.split(/\s/),u=S(e,n,i),f=u.success;return s.length>1&&(u.url=s[0],a=s[1]),u.success=function(e){r.html(a?t("<div>").html(e.replace(o,"")).find(a):e),f&&f.apply(r,arguments)},t.ajax(u),this};var T=encodeURIComponent;t.param=function(e,n){var i=[];return i.add=function(e,n){t.isFunction(n)&&(n=n()),null==n&&(n=""),this.push(T(e)+"="+T(n))},C(i,e,n),i.join("&").replace(/%20/g,"+")}}(Zepto),function(t){t.fn.serializeArray=function(){var e,n,i=[],r=function(t){return t.forEach?t.forEach(r):void i.push({name:e,value:t})};return this[0]&&t.each(this[0].elements,function(i,o){n=o.type,e=o.name,e&&"fieldset"!=o.nodeName.toLowerCase()&&!o.disabled&&"submit"!=n&&"reset"!=n&&"button"!=n&&"file"!=n&&("radio"!=n&&"checkbox"!=n||o.checked)&&r(t(o).val())}),i},t.fn.serialize=function(){var t=[];return this.serializeArray().forEach(function(e){t.push(encodeURIComponent(e.name)+"="+encodeURIComponent(e.value))}),t.join("&")},t.fn.submit=function(e){if(0 in arguments)this.bind("submit",e);else if(this.length){var n=t.Event("submit");this.eq(0).trigger(n),n.isDefaultPrevented()||this.get(0).submit()}return this}}(Zepto),function(t){"__proto__"in{}||t.extend(t.zepto,{Z:function(e,n){return e=e||[],t.extend(e,t.fn),e.selector=n||"",e.__Z=!0,e},isZ:function(e){return"array"===t.type(e)&&"__Z"in e}});try{getComputedStyle(void 0)}catch(e){var n=getComputedStyle;window.getComputedStyle=function(t){try{return n(t)}catch(e){return null}}}}(Zepto);</script>
<script>// Sprint v0.9.2 - sprintjs.com/license
var Sprint;
(function(){var D=function(a,b){for(var c=Sprint(b),d=Object.keys(a),e=d.length,f=0;f<e;f++)for(var g=d[f],h=a[g],k=h.length,l=0;l<k;l++)c.on(g,h[l])},w=function(){var a="animation-iteration-count column-count flex-grow flex-shrink font-weight line-height opacity order orphans widows z-index".split(" ");return function(b,c){if(v(b,a))return c;var d="string"==typeof c?c:c.toString();c&&!/\D/.test(d)&&(d+="px");return d}}(),K={afterbegin:function(a){this.insertBefore(a,this.firstChild)},afterend:function(a){var b=
this.parentElement;b&&b.insertBefore(a,this.nextSibling)},beforebegin:function(a){var b=this.parentElement;b&&b.insertBefore(a,this)},beforeend:function(a){this.appendChild(a)}},E=function(a,b){if(!(1<a.nodeType)){var c=a.sprintEventListeners;c&&D(c,b);for(var d=r("*",a),e=d.length,f,g=0;g<e;g++)if(c=d[g].sprintEventListeners)f||(f=r("*",b)),D(c,f[g])}},z=function(a,b,c,d,e){var f=[],g=this;this.each(function(){for(var h=a?this.parentElement:this;h&&(!e||e!=h);){if(!d||g.is(d,h))if(f.push(h),c)break;
if(b)break;h=h.parentElement}});return Sprint(x(f))},F=function(a,b){return Object.keys(a.sprintEventListeners).filter(function(a){return q(b).every(function(b){return v(b,q(a))})})},G=function(a,b,c){if(null==c){var d=a.get(0);if(!d||1<d.nodeType)return;a=b[0].toUpperCase()+b.substring(1);return d==document?(d=m["offset"+a],a=window["inner"+a],d>a?d:a):d==window?window["inner"+a]:d.getBoundingClientRect()[b]}var e="function"==typeof c,f=e?"":w(b,c);return a.each(function(a){this==document||this==
window||1<this.nodeType||(e&&(f=w(b,c.call(this,a,Sprint(this)[b]()))),this.style[b]=f)})},p=function(a,b){var c=b.length,d=b;if(1<c&&-1<a.indexOf("after"))for(var d=[],e=c;e--;)d.push(b[e]);for(e=0;e<c;e++){var f=d[e];if("string"==typeof f||"number"==typeof f)this.each(function(){this.insertAdjacentHTML(a,f)});else if("function"==typeof f)this.each(function(b){b=f.call(this,b,this.innerHTML);p.call(Sprint(this),a,[b])});else{var g=f instanceof n,h=[],k=g?f.get():Array.isArray(f)?A(f,!0,!0):f.nodeType?
[f]:t(f),l=k.length;this.each(function(b){for(var c=document.createDocumentFragment(),d=0;d<l;d++){var e=k[d],f;b?(f=e.cloneNode(!0),E(e,f)):f=e;c.appendChild(f);h.push(f)}K[a].call(this,c)});g&&(f.dom=h,f.length=h.length);if(!(e<c-1))return h}}},v=function(a,b){for(var c=b.length;c--;)if(b[c]===a)return!0;return!1},B=function(a,b,c){if(null==b)return"add"==a?this:this.removeAttr("class");var d,e,f;"string"==typeof b&&(d=!0,e=b.trim().split(" "),f=e.length);return this.each(function(g,h){if(!(1<this.nodeType)){if(!d){var k=
b.call(h,g,h.className);if(!k)return;e=k.trim().split(" ");f=e.length}for(k=0;k<f;k++){var l=e[k];l&&(null==c?h.classList[a](l):h.classList.toggle(l,c))}}})},L=function(){for(var a=["mozMatchesSelector","webkitMatchesSelector","msMatchesSelector","matches"],b=a.length;b--;){var c=a[b];if(Element.prototype[c])return c}}(),x=function(a){for(var b=[],c=0,d=a.length,e=0;e<d;e++){for(var f=a[e],g=!1,h=0;h<c;h++)if(f===b[h]){g=!0;break}g||(b[c++]=f)}return b},H=function(){var a=function(a,b,c){return 2>
Object.keys(a.sprintEventListeners).filter(function(a){return q(b)[0]===q(a)[0]}).map(function(b){return a.sprintEventListeners[b]}).reduce(function(a,b){return a.concat(b)}).filter(function(a){return a===c}).length?!1:!0},b=function(b,c,f){return function(g){f&&f!==g||(b.removeEventListener(c,g),/\./.test(c)&&!a(b,c,g)&&b.removeEventListener(q(c)[0],g))}},c=function(a,b){return a.filter(function(a){return b&&b!==a})};return function(a,e){return function(f){a.sprintEventListeners[f].forEach(b(a,f,
e));a.sprintEventListeners[f]=c(a.sprintEventListeners[f],e)}}}(),M=function(a,b){return function(c){F(a,c).forEach(H(a,b))}},m=document.documentElement,A=function(a,b,c){for(var d=a.length,e=d;e--;)if(!a[e]&&0!==a[e]||b&&a[e]instanceof n||c&&("string"==typeof a[e]||"number"==typeof a[e])){for(var e=[],f=0;f<d;f++){var g=a[f];if(g||0===g)if(b&&g instanceof n)for(var h=0;h<g.length;h++)e.push(g.get(h));else!c||"string"!=typeof g&&"number"!=typeof g?e.push(g):e.push(document.createTextNode(g))}return e}return a},
I=function(){var a;return function(b,c,d){if(!a){var e=m.scrollTop;m.scrollTop=e+1;var f=m.scrollTop;m.scrollTop=e;a=f>e?m:document.body}if(null==d){b=b.get(0);if(!b)return;if(b==window||b==document)b=a;return b[c]}return b.each(function(){var b=this;if(b==window||b==document)b=a;b[c]=d})}}(),y=function(a,b,c,d){var e=[],f=b+"ElementSibling";a.each(function(){for(var b=this;(b=b[f])&&(!d||!a.is(d,b));)c&&!a.is(c,b)||e.push(b)});return Sprint(x(e))},J=function(a,b,c){var d=b+"ElementSibling";return a.map(function(){var b=
this[d];if(b&&(!c||a.is(c,b)))return b},!1)},r=function(a,b){b=b||document;if(/^[\#.]?[\w-]+$/.test(a)){var c=a[0];return"."==c?t(b.getElementsByClassName(a.slice(1))):"#"==c?(c=b.getElementById(a.slice(1)))?[c]:[]:"body"==a?[document.body]:t(b.getElementsByTagName(a))}return t(b.querySelectorAll(a))},q=function(a){return A(a.split("."))},t=function(a){for(var b=[],c=a.length;c--;)b[c]=a[c];return b},C=function(){var a=function(a,c){var d=Sprint(a).clone(!0).get(0),e=d;if(d&&!(1<this.nodeType)){for(;e.firstChild;)e=
e.firstChild;if("inner"==c){for(;this.firstChild;)e.appendChild(this.firstChild);this.appendChild(d)}else{var f="all"==c?this.get(0):this,g=f.parentNode,h=f.nextSibling;"all"==c?this.each(function(){e.appendChild(this)}):e.appendChild(f);g.insertBefore(d,h)}}};return function(b,c){"function"==typeof b?this.each(function(a){Sprint(this)["inner"==c?"wrapInner":"wrap"](b.call(this,a))}):"all"==c?a.call(this,b,c):this.each(function(){a.call(this,b,c)});return this}}(),u={legend:{intro:"<fieldset>",outro:"</fieldset>"},
area:{intro:"<map>",outro:"</map>"},param:{intro:"<object>",outro:"</object>"},thead:{intro:"<table>",outro:"</table>"},tr:{intro:"<table><tbody>",outro:"</tbody></table>"},col:{intro:"<table><tbody></tbody><colgroup>",outro:"</colgroup></table>"},td:{intro:"<table><tbody><tr>",outro:"</tr></tbody></table>"}};["tbody","tfoot","colgroup","caption"].forEach(function(a){u[a]=u.thead});u.th=u.td;var n=function(a,b){if("string"==typeof a)if("<"==a[0]){var c=document.createElement("div"),d=/[\w:-]+/.exec(a)[0],
d=u[d],e=a.trim();d&&(e=d.intro+e+d.outro);c.insertAdjacentHTML("afterbegin",e);e=c.lastChild;if(d)for(d=d.outro.match(/</g).length;d--;)e=e.lastChild;c.textContent="";this.dom=[e]}else this.dom=b&&b instanceof n?b.find(a).get():r(a,b);else if(Array.isArray(a))this.dom=A(a);else if(a instanceof NodeList||a instanceof HTMLCollection)this.dom=t(a);else{if(a instanceof n)return a;if("function"==typeof a)return this.ready(a);this.dom=a?[a]:[]}this.length=this.dom.length};n.prototype={add:function(a){var b=
this.get();a=Sprint(a);for(var c=a.get(),d=0;d<a.length;d++)b.push(c[d]);return Sprint(x(b))},addClass:function(a){return B.call(this,"add",a)},after:function(){p.call(this,"afterend",arguments);return this},append:function(){p.call(this,"beforeend",arguments);return this},appendTo:function(a){return Sprint(p.call(Sprint(a),"beforeend",[this]))},attr:function(a,b){var c="function"==typeof b;if("string"==typeof b||"number"==typeof b||c)return this.each(function(d){1<this.nodeType||this.setAttribute(a,
c?b.call(this,d,this.getAttribute(a)):b)});if("object"==typeof a){var d=Object.keys(a),e=d.length;return this.each(function(){if(!(1<this.nodeType))for(var b=0;b<e;b++){var c=d[b];this.setAttribute(c,a[c])}})}var f=this.get(0);if(f&&!(1<f.nodeType))return f=f.getAttribute(a),null==f?void 0:f?f:a},before:function(){p.call(this,"beforebegin",arguments);return this},children:function(a){var b=[],c=this;this.each(function(){if(!(1<this.nodeType))for(var d=this.children,e=d.length,f=0;f<e;f++){var g=d[f];
a&&!c.is(a,g)||b.push(g)}});return Sprint(b)},clone:function(a){return this.map(function(){if(this){var b=this.cloneNode(!0);a&&E(this,b);return b}},!1)},closest:function(a,b){return z.call(this,!1,!1,!0,a,b)},css:function(a,b){var c=typeof b,d="string"==c;if(d||"number"==c){var e=d&&/=/.test(b);if(e)var f=parseInt(b[0]+b.slice(2));return this.each(function(){if(!(1<this.nodeType)){if(e)var c=parseInt(getComputedStyle(this).getPropertyValue(a))+f;this.style[a]=w(a,e?c:b)}})}if("function"==c)return this.each(function(c){if(!(1<
this.nodeType)){var d=getComputedStyle(this).getPropertyValue(a);this.style[a]=b.call(this,c,d)}});if("string"==typeof a)return d=this.get(0),!d||1<d.nodeType?void 0:getComputedStyle(d).getPropertyValue(a);if(Array.isArray(a)){d=this.get(0);if(!d||1<d.nodeType)return;for(var c={},d=getComputedStyle(d),g=a.length,h=0;h<g;h++){var k=a[h];c[k]=d.getPropertyValue(k)}return c}var l=Object.keys(a),m=l.length;return this.each(function(){if(!(1<this.nodeType))for(var b=0;b<m;b++){var c=l[b];this.style[c]=
w(c,a[c])}})},detach:function(){return this.map(function(){var a=this.parentElement;if(a)return a.removeChild(this),this},!1)},each:function(a){for(var b=this.dom,c=this.length,d=0;d<c;d++){var e=b[d];a.call(e,d,e)}return this},empty:function(){return this.each(function(){this.innerHTML=""})},eq:function(a){return Sprint(this.get(a))},filter:function(a){var b="function"==typeof a,c=this;return this.map(function(d){if(!(1<this.nodeType||!b&&!c.is(a,this)||b&&!a.call(this,d,this)))return this},!1)},
find:function(a){if("string"==typeof a){var b=[];this.each(function(){if(!(1<this.nodeType))for(var c=r(a,this),d=c.length,e=0;e<d;e++)b.push(c[e])});return Sprint(x(b))}for(var c=a.nodeType?[a]:a.get(),d=c.length,e=[],f=0,g=0;g<this.length;g++){var h=this.get(g);if(!(1<h.nodeType))for(var k=0;k<d;k++){var l=c[k];if(h.contains(l)&&(e[f++]=l,!(f<d)))return Sprint(e)}}return Sprint(e)},first:function(){return this.eq(0)},get:function(a){if(null==a)return this.dom;0>a&&(a+=this.length);return this.dom[a]},
has:function(a){if("string"==typeof a)return this.map(function(){if(!(1<this.nodeType)&&r(a,this)[0])return this},!1);for(var b=[],c=this.length;c--;){var d=this.get(c);if(d.contains(a)){b.push(d);break}}return Sprint(b)},hasClass:function(a){for(var b=this.length;b--;){var c=this.get(b);if(1<c.nodeType)return;if(c.classList.contains(a))return!0}return!1},height:function(a){return G(this,"height",a)},html:function(a){if(null==a){var b=this.get(0);return b?b.innerHTML:void 0}return"function"==typeof a?
this.each(function(b){b=a.call(this,b,this.innerHTML);Sprint(this).html(b)}):this.each(function(){this.innerHTML=a})},index:function(a){if(this.length){var b;a?"string"==typeof a?(b=this.get(0),a=Sprint(a)):(b=a instanceof n?a.get(0):a,a=this):(b=this.get(0),a=this.first().parent().children());a=a.get();for(var c=a.length;c--;)if(a[c]==b)return c;return-1}},insertAfter:function(a){Sprint(a).after(this);return this},insertBefore:function(a){Sprint(a).before(this);return this},is:function(a,b){var c=
b?[b]:this.get(),d=c.length;if("string"==typeof a){for(var e=0;e<d;e++){var f=c[e];if(!(1<f.nodeType)&&f[L](a))return!0}return!1}if("object"==typeof a){for(var f=a instanceof n?a.get():a.length?a:[a],g=f.length,e=0;e<d;e++)for(var h=0;h<g;h++)if(c[e]===f[h])return!0;return!1}if("function"==typeof a){for(e=0;e<d;e++)if(a.call(this,e,this))return!0;return!1}},last:function(){return this.eq(-1)},map:function(a,b){null==b&&(b=!0);for(var c=this.get(),d=this.length,e=[],f=0;f<d;f++){var g=c[f],g=a.call(g,
f,g);if(b&&Array.isArray(g))for(var h=g.length,k=0;k<h;k++)e.push(g[k]);else e.push(g)}return Sprint(e)},next:function(a){return J(this,"next",a)},nextAll:function(a){return y(this,"next",a)},nextUntil:function(a,b){return y(this,"next",b,a)},not:function(a){var b="function"==typeof a,c=this;return this.map(function(d){if(b){if(a.call(this,d,this))return}else if(c.is(a,this))return;return this},!1)},off:function(a,b){if("object"==typeof a)return Object.keys(a).forEach(function(b){this.off(b,a[b])},
this),this;a&&(a=a.trim().split(" "));return this.each(function(){this.sprintEventListeners&&(a?a.forEach(M(this,b)):Object.keys(this.sprintEventListeners).forEach(H(this)))})},offset:function(a){if(!a){var b=this.get(0);if(!b||1<b.nodeType)return;b=b.getBoundingClientRect();return{top:b.top,left:b.left}}if("object"==typeof a)return this.each(function(){if(!(1<this.nodeType)){var b=Sprint(this);"static"==b.css("position")?b.css("position","relative"):b.css({top:0,left:0});var d=b.offset();b.css({top:a.top-
d.top+"px",left:a.left-d.left+"px"})}});if("function"==typeof a)return this.each(function(b){var d=Sprint(this);b=a.call(this,b,d.offset());d.offset(b)})},offsetParent:function(){var a=[];this.each(function(){if(!(1<this.nodeType)){for(var b=this;b!=m;){var b=b.parentNode,c=getComputedStyle(b).getPropertyValue("position");if(!c)break;if("static"!=c){a.push(b);return}}a.push(m)}});return Sprint(a)},on:function(a,b){if(b){var c=a.trim().split(" ");return this.each(function(){this.sprintEventListeners||
(this.sprintEventListeners={});c.forEach(function(a){this.sprintEventListeners[a]||(this.sprintEventListeners[a]=[]);this.sprintEventListeners[a].push(b);this.addEventListener(a,b);/\./.test(a)&&this.addEventListener(q(a)[0],b)},this)})}Object.keys(a).forEach(function(b){this.on(b,a[b])},this);return this},parent:function(a){return z.call(this,!0,!0,!1,a)},parents:function(a){return z.call(this,!0,!1,!1,a)},position:function(){var a=this.offset(),b=this.parent().offset();if(a)return{top:a.top-b.top,
left:a.left-b.left}},prop:function(a,b){if("object"==typeof a){var c=Object.keys(a),d=c.length;return this.each(function(){for(var b=0;b<d;b++){var e=c[b];this[e]=a[e]}})}if(null==b){var e=this.get(0);return e?e[a]:void 0}var f="function"==typeof b;return this.each(function(c){this[a]=f?b.call(this,c,this[a]):b})},prepend:function(){p.call(this,"afterbegin",arguments);return this},prependTo:function(a){return Sprint(p.call(Sprint(a),"afterbegin",[this]))},prev:function(a){return J(this,"previous",
a)},prevAll:function(a){return y(this,"previous",a)},prevUntil:function(a,b){return y(this,"previous",b,a)},ready:function(a){this.dom=[document];this.length=1;return this.on("DOMContentLoaded",a)},remove:function(a){var b=this;return this.each(function(){var c=this.parentElement;c&&(a&&!b.is(a,this)||c.removeChild(this))})},removeAttr:function(a){if(a){var b=a.trim().split(" "),c=b.length;this.each(function(){if(!(1<this.nodeType))for(var a=0;a<c;a++)this.removeAttribute(b[a])})}return this},removeClass:function(a){return B.call(this,
"remove",a)},removeProp:function(a){return this.each(function(){this[a]=void 0})},replaceAll:function(a){Sprint(a).replaceWith(this);return this},replaceWith:function(a){return"function"==typeof a?this.each(function(b){Sprint(this).replaceWith(a.call(this,b,this))}):this.before(a).remove()},scrollLeft:function(a){return I(this,"scrollLeft",a)},scrollTop:function(a){return I(this,"scrollTop",a)},siblings:function(a){var b=[],c=this;this.each(function(d,e){Sprint(this).parent().children().each(function(){this==
e||a&&!c.is(a,this)||b.push(this)})});return Sprint(b)},size:function(){return this.length},slice:function(a,b){var c=this.get(),d=[],e=0<=a?a:a+this.length,f=this.length;for(0>b?f+=b:0<=b&&(f=b>this.length?this.length:b);e<f;e++)d.push(c[e]);return Sprint(d)},text:function(a){if(null==a){var b=[];this.each(function(){b.push(this.textContent)});return b.join("")}var c="function"==typeof a;return this.each(function(b){this.textContent=c?a.call(this,b,this.textContent):a})},toggleClass:function(a,b){return B.call(this,
"toggle",a,b)},trigger:function(a){if(!window.CustomEvent||"function"!==typeof window.CustomEvent){var b=function(a,b){var e;b=b||{bubbles:!1,cancelable:!1,detail:void 0};e=document.createEvent("CustomEvent");e.initCustomEvent(a,b.bubbles,b.cancelable,b.detail);return e};b.prototype=window.Event.prototype;window.CustomEvent=b}return this.each(function(){F(this,a).forEach(function(a){this.dispatchEvent(new b(a,{bubbles:!0,cancelable:!0}))},this)})},unwrap:function(){this.parent().each(function(){this!=
document.body&&this!=m&&Sprint(this).replaceWith(this.childNodes)});return this},val:function(a){if(null==a){var b=this.get(0);if(!b)return;if(b.multiple){var c=[];this.first().children(":checked").each(function(){c.push(this.value)});return c}return b.value}if(Array.isArray(a)){var d=this;return this.each(function(){this.multiple?d.children().each(function(){this.selected=v(this.value,a)}):this.checked=v(this.value,a)})}return"function"==typeof a?this.each(function(b){Sprint(this).val(a.call(this,
b,this.value))}):this.each(function(){this.value=a})},width:function(a){return G(this,"width",a)},wrap:function(a){return C.call(this,a)},wrapAll:function(a){return C.call(this,a,"all")},wrapInner:function(a){return C.call(this,a,"inner")}};Sprint=function(a,b){return new n(a,b)};null==window.$&&(window.$=Sprint)})();</script>
<div id="rsvp" class="view" data-view-title="RSVPs">
<div class="content"></div>
</div>
<div id="chapter_004" class="view" data-view-title="Splendid Corgi Consortium">
<div class="content">
<div id="id1" class="class1" style="display:none;">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum iste fugiat, sapiente? Deserunt aliquid autem, ipsam minima voluptatibus recusandae, earum voluptates harum ullam iste? Ullam quae ipsa voluptatum at, blanditiis odit quo laborum! Ullam accusamus hic cupiditate eius omnis perferendis est dignissimos sed maiores maxime ipsa aliquam explicabo iure alias, sapiente architecto placeat tempora animi ut saepe minus sunt, neque repellat voluptates. Quia impedit dolorum doloribus, eveniet voluptates laboriosam harum voluptate facere quis enim quam quaerat, tempora ex esse voluptatem sapiente qui unde! Impedit nostrum, dolor autem odit quaerat nemo quod, eos eum ea molestias, sit dolorem itaque. Ea illo cum atque exercitationem repudiandae sint, dolorum ex alias molestias, laborum blanditiis similique culpa, libero aut velit minus ad facilis a. Quia, voluptatum aperiam architecto perspiciatis, sapiente, nam minus fugit quos delectus veritatis, dolorem quisquam consectetur velit possimus quas reiciendis adipisci non molestias iure doloremque soluta. Expedita vel molestias, consectetur harum totam aut hic aspernatur nulla ratione dolores nihil blanditiis voluptatem corrupti sunt ex, omnis enim, unde saepe dignissimos quia mollitia quas. Libero porro minima, cupiditate. Suscipit neque quis nostrum, sapiente dolorem, corrupti, tempore repellendus maxime, dicta iusto esse praesentium explicabo rerum modi. Animi harum eveniet optio praesentium aliquam, quasi error.
<div id="id2" class="class2">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quod iusto et unde autem, dolor ipsam eos ea ab dignissimos sapiente cupiditate nisi temporibus consectetur animi. Non optio minus nesciunt doloribus incidunt iste cumque consectetur quidem impedit vero, laboriosam blanditiis, exercitationem dicta deserunt nihil vel expedita hic aspernatur temporibus dignissimos laudantium eveniet eum magni reprehenderit? Velit id aut, numquam culpa fuga reprehenderit vel minima ipsa architecto quam alias aspernatur ipsam, harum dicta aliquid. Aliquam quam aliquid accusantium maiores dolorem minima, obcaecati quo optio odio veniam modi illo placeat excepturi perspiciatis facere iure, consectetur enim libero hic! Illo expedita repellendus pariatur deserunt perferendis asperiores voluptate animi molestias ullam architecto totam facere fugiat dolor accusantium molestiae reprehenderit, nam fugit tenetur! Provident, quaerat. Recusandae unde veniam odio a voluptatem quam mollitia, sunt numquam, asperiores, tempora officia cupiditate ex, minus suscipit laborum quasi animi doloremque dolorem ad at! Cupiditate fugit nesciunt, sit totam, aliquid at! Accusamus earum, iusto repellat commodi error vel porro aspernatur ratione perferendis fuga optio. Quam magni dicta vitae doloremque ipsam, repudiandae assumenda labore repellat quod quia ea quo ratione recusandae at perspiciatis aliquid, eligendi, veniam dolorum molestias. Corporis cumque corrupti nihil molestiae unde. Libero mollitia fugit aut pariatur exercitationem id magni.
<div id="id3" class="class3">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Temporibus sunt libero, saepe quis, illum quidem maxime omnis culpa quasi voluptate suscipit repudiandae recusandae esse consectetur sapiente! Laboriosam aperiam quos ipsum recusandae harum accusantium dignissimos autem! Aut rem doloremque aspernatur consequuntur labore quasi voluptate necessitatibus error sint, dolore aperiam quo? Deserunt odit numquam enim, facere iure itaque quis quos, eligendi et dolores sapiente. Sit debitis modi similique! Nam cum soluta accusamus tenetur esse, quisquam quibusdam natus, fugit labore ipsam velit blanditiis dignissimos iusto deleniti nesciunt ratione adipisci, atque dolore necessitatibus doloremque sapiente nostrum assumenda? Aut minima fuga doloribus dignissimos in, iure accusantium culpa saepe nostrum, cum, quod illo quaerat pariatur explicabo illum. Itaque facere libero repellat repudiandae ullam, iste, dolores, reiciendis tempora neque laudantium enim fugiat officiis delectus consequuntur voluptates necessitatibus reprehenderit ipsam corrupti, quia nostrum dolor? Laboriosam quidem dolore explicabo labore eveniet blanditiis quis, commodi reprehenderit eos dolorem amet excepturi quisquam quaerat, molestias quas mollitia sunt obcaecati, ipsam nostrum quo iusto. Fuga consectetur blanditiis sapiente, maiores nemo repellat aliquam, id ut magnam saepe cupiditate quos aspernatur, enim unde fugit distinctio reiciendis possimus soluta optio. Ipsam sint quos quis voluptates! Facilis, placeat optio excepturi cupiditate dolores odio, modi quisquam suscipit alias.
<div id="id4" class="class4">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Placeat porro dicta, blanditiis sint nulla, dolor sunt, molestias cupiditate obcaecati sed incidunt repellendus illo laudantium minima. Pariatur maxime consequatur fugiat optio, earum sed? In, veritatis laborum, provident qui aspernatur, ex maiores sapiente nihil, a laboriosam nisi assumenda? Tempore placeat quaerat vero, eveniet ducimus commodi ab perferendis rerum. Unde, soluta sint nam placeat quasi modi officia, asperiores, non voluptatibus molestias, necessitatibus ratione corporis nemo quas fugit laudantium quam deserunt. Obcaecati quae dignissimos nesciunt placeat eligendi numquam unde nobis veritatis molestiae laboriosam illo, sapiente ullam, cupiditate nisi sunt, corporis pariatur mollitia! Ad praesentium tempora officia repellendus! Adipisci sunt, voluptas magnam consectetur voluptate ipsam porro, dolorem voluptatum deleniti ab facere, repudiandae itaque unde fuga nobis iste dolores libero obcaecati. Veritatis eum commodi nihil aliquam rem, eos ipsum iusto molestiae, odio molestias sint natus, similique velit ut perferendis possimus, enim labore rerum nesciunt vitae voluptatum in omnis. Quis maiores, enim eaque temporibus repellendus, officiis neque, quam tempora id corporis sed ullam, harum. Officia nisi odit doloremque perferendis placeat pariatur dolor repellendus rem assumenda fuga accusantium officiis nulla velit provident, ea vitae eum deleniti culpa sit quod reprehenderit magni! Dolor, distinctio vel eius officia, incidunt cum.
<div id="id5" class="class5">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fugit esse, voluptas blanditiis repudiandae sapiente dolorem tempore quod molestias expedita amet, repellendus laboriosam possimus placeat hic nemo consequatur aut modi. Enim pariatur velit dignissimos non animi perspiciatis quo ut necessitatibus sapiente a. Tenetur rem quibusdam dolorum sed doloribus laboriosam ratione voluptatem amet eveniet adipisci optio placeat voluptates, repudiandae neque et dolore perspiciatis nesciunt. Aliquam aspernatur temporibus ab optio, magni fugit mollitia, atque quibusdam accusantium enim ut, voluptatibus itaque voluptatem aut provident hic porro doloremque. Consectetur fugit quos dolor quibusdam esse labore expedita amet commodi ex sequi nihil, recusandae nisi atque, natus quo dolores explicabo repudiandae dicta delectus ab. Quas doloremque voluptatum fuga recusandae in quae dolore, iusto, velit fugiat voluptates explicabo tenetur, natus illum excepturi debitis aliquam inventore est numquam! Voluptatum doloribus ipsa dolorem nisi reiciendis nihil, ut, aperiam numquam esse quam praesentium nostrum non provident quaerat officia ea. Eos dolorem voluptates sunt non, officiis reiciendis, magnam aliquam iste aperiam, quisquam obcaecati dicta. Quo sequi aliquam, architecto, commodi repellendus veritatis. Ratione eaque amet, corporis, eos eligendi sunt illo nobis porro voluptatem laboriosam animi distinctio laborum dolorem repellat minima nihil quidem iste quia aspernatur nemo cumque, doloribus voluptatum! Quaerat est, obcaecati ipsum.
<div id="id6" class="class6">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Necessitatibus tempora dolores possimus fugit eligendi, praesentium nemo totam sit ipsum consectetur itaque nobis delectus exercitationem suscipit optio fuga ipsam accusamus, aperiam neque eaque repellat architecto debitis et. Amet molestiae illum odit quae, ratione voluptatum, nostrum omnis. Repudiandae minima praesentium iure placeat ullam veniam, nihil recusandae nulla laboriosam odit perferendis itaque possimus omnis velit quasi, rerum, fuga, dolorem incidunt harum consectetur eius eaque perspiciatis. Perspiciatis ab recusandae consectetur dicta numquam! Impedit ea quod voluptate enim quibusdam cum. Ut quo soluta ex reprehenderit qui blanditiis hic enim iusto aliquid distinctio tempore, veniam autem repellat ipsa nobis, incidunt quaerat mollitia! Non iusto rem, temporibus ipsa exercitationem doloremque, aliquid fugiat eaque laudantium! Omnis exercitationem dicta hic repellat eaque laboriosam in dignissimos nemo, voluptatem, harum facere. Quisquam porro, at sunt dolor quaerat illum sapiente voluptatem vero. Nostrum aut ipsum neque ipsa ipsam fuga soluta dignissimos dolorem! Laudantium, suscipit, distinctio. Cupiditate alias quod, numquam consectetur ipsum fuga delectus odit ipsa nemo officiis, voluptate nobis, illum et, quisquam. Recusandae odit est nam molestias quasi, asperiores sed dolore fuga unde ut tenetur, cum distinctio magnam vel. Omnis voluptates molestiae quo! Ab corrupti itaque quos iste consequuntur illo, incidunt rerum!
<div id="id7" class="class7">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Delectus obcaecati vitae, aperiam deserunt commodi dicta ab aut libero sequi sed fugit pariatur aliquam sapiente! Cupiditate minima delectus unde explicabo ab vero, excepturi consectetur et? Reiciendis nemo voluptate perferendis sint tempore cum repellat soluta ullam illo id. Ipsa eaque voluptates provident quam aliquam placeat, maiores ipsum, adipisci ratione velit harum ullam dolorem temporibus, dolor suscipit aperiam! Temporibus saepe quidem adipisci iusto illum, hic ipsam placeat necessitatibus quos veritatis incidunt nostrum similique illo consequatur animi consectetur facilis fugit quod. Reiciendis voluptatem omnis facere inventore nemo ipsa, nihil officiis, odit est similique et nesciunt, veritatis cum necessitatibus placeat assumenda a non minus nobis aspernatur deserunt voluptatum. Quo cupiditate aperiam beatae nemo numquam, accusamus aliquam quidem fugit asperiores, eum illum possimus quasi, maiores ex, quam in itaque commodi unde tempore. Illo ipsa minus accusamus laboriosam blanditiis corrupti, quibusdam doloribus ratione dolor, quas esse necessitatibus cupiditate cumque perspiciatis atque sunt, reprehenderit harum consequuntur inventore architecto quasi dolore sint! Molestiae impedit eius modi officiis, a sed aspernatur mollitia incidunt placeat, explicabo quos id dolore quia assumenda illo unde cum nostrum tempore libero quis! Labore voluptas quibusdam rerum cum rem, molestias, expedita consectetur laborum unde, nostrum maiores.
<div id="id8" class="class8">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consectetur totam, quae. Animi tempore, quo mollitia rem. Obcaecati aspernatur impedit, maiores nulla corporis ad natus debitis dolorem vero sunt, nihil repellat eum labore nemo vitae, ducimus voluptas. Debitis, voluptates, recusandae? Nostrum, magnam, nam. Non necessitatibus est, nisi assumenda, aspernatur laborum! Numquam tempora aliquid, accusantium eos magnam suscipit repudiandae possimus. Labore delectus voluptatem commodi odio perspiciatis itaque, eveniet sed eligendi blanditiis magni laudantium at necessitatibus alias nihil quod unde, praesentium quasi, amet quae reiciendis repellat accusamus! Voluptatem earum corrupti, fuga minus, dicta, nisi adipisci ex et voluptatum totam nihil neque odio distinctio maiores fugiat! Tempore earum qui necessitatibus? Quidem eligendi, sapiente nihil nam. Et rerum unde voluptas perferendis? Temporibus odio, necessitatibus reiciendis vero. Omnis ab voluptas totam incidunt architecto autem impedit corporis, fuga enim, nostrum dolores, dolore odio quasi quo, culpa magnam dolor repellat perferendis blanditiis quae. Accusantium quam excepturi cupiditate officia dignissimos magnam, dolorum, iusto architecto voluptatibus aliquam nostrum harum vero aspernatur sed beatae laboriosam illum dolorem maiores voluptatem veniam est, velit! Consequatur quis excepturi ullam nesciunt sequi, voluptatem repellat, animi necessitatibus natus sunt assumenda ea amet itaque rem quod nostrum laboriosam sint, ipsam id. Optio eaque consequatur placeat unde sapiente.
<div id="id9" class="class9">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consequuntur dignissimos rerum explicabo aspernatur, veritatis vitae ipsa quis alias quo eaque, voluptas! Dignissimos officia nemo nobis, ipsa impedit libero beatae harum illum commodi atque veniam aperiam consequuntur sit cupiditate praesentium, quaerat est quis amet et adipisci? Consectetur numquam placeat a unde praesentium maxime sequi ab minus ratione nemo. Qui aliquam quod placeat. Eius quisquam, exercitationem, error illo, tempora earum quis totam obcaecati architecto similique aperiam quae recusandae odio corrupti facere ipsum praesentium repellat cum maiores officiis iste itaque ullam accusamus. Culpa est error corporis odio quo perferendis assumenda ipsum, laborum fugiat dolorem, molestias neque quos? Accusantium harum consequatur illo veniam nobis, saepe quaerat eius incidunt. Voluptas nulla velit unde dolor reiciendis delectus similique error soluta corrupti eveniet, modi numquam repellat, rem enim qui corporis accusamus magnam, ex ab! Voluptatum pariatur alias nemo sed dolor ullam commodi architecto quaerat cumque minus veniam expedita rem, natus ad qui laboriosam soluta consequuntur fuga et, maiores quos libero esse debitis. Maiores veritatis quo cumque nobis accusamus quidem officiis quam magni distinctio facere, ipsam excepturi sunt? Nesciunt accusamus dignissimos fugit quaerat architecto ipsa aut porro necessitatibus natus. Officiis rerum quisquam, culpa velit totam odio veritatis pariatur.
<div id="id10" class="class10">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cum tenetur natus, provident atque expedita iure eum commodi impedit eos fugit facere ad magni explicabo molestias quos corporis quaerat soluta accusamus. Sunt, ipsam perferendis maxime consequatur ut praesentium qui voluptatem aperiam aliquam quos voluptas ullam possimus non odit recusandae nulla eligendi illum optio, commodi laborum reprehenderit debitis earum expedita explicabo. Labore perferendis numquam velit similique sapiente. Odio dolor saepe deserunt corporis qui nulla, laborum eveniet autem ex possimus neque dolores, fuga similique incidunt ab, animi? Accusantium eius accusamus quae eaque dolorum inventore tenetur asperiores est doloribus reprehenderit facere minima debitis nemo similique assumenda consequatur minus voluptatum alias ipsum perspiciatis perferendis, beatae, atque ad. Doloribus, aliquid! Cupiditate blanditiis officia, labore incidunt eum. Non assumenda necessitatibus sint odit ipsa sunt quas temporibus, tempora veniam! Mollitia nemo eos commodi quisquam ut quis laborum, aspernatur facilis a molestias, possimus saepe ex! Amet ducimus autem sed maiores nisi adipisci possimus placeat quidem, magni repellat earum vitae nostrum consequatur corrupti ex facere, dolorum odio provident perferendis. Minima provident libero dicta. Asperiores dolores, non, vero quae quaerat dolor nemo sunt minus. Fugit, nobis, placeat? Adipisci illum ea architecto, minima ipsam at porro mollitia magni ratione, animi possimus quidem!
<div id="id11" class="class11">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Repellat quos eius expedita, illo possimus similique harum! Eaque esse mollitia dicta, non consequuntur corrupti atque fugit magni iusto quia, ullam harum saepe nostrum a error possimus, quae iure. Modi ea dolores nemo hic mollitia repellendus quos consequuntur recusandae officia illo, ad inventore quasi quibusdam quisquam possimus delectus excepturi ipsam vitae, non eius. Dolores perferendis aperiam labore ad doloremque iusto quod enim, adipisci consequuntur. Ratione deleniti error quam blanditiis incidunt, tenetur quisquam doloribus. Dolor corrupti cumque impedit, incidunt sequi totam perferendis illo officia quis, doloribus consequatur, architecto deleniti aliquid suscipit! Explicabo voluptas tempora libero et nostrum alias ipsum accusamus nam, eius id illo sit mollitia, officia eum veritatis magnam nemo laudantium aut possimus consequatur odit expedita eaque! Voluptas libero quo ex, accusantium sapiente velit facilis in distinctio quam reprehenderit, fugit cumque laboriosam amet repellendus. Totam odit iure quam rerum sunt nostrum, eos ducimus architecto, distinctio excepturi voluptate doloribus non voluptatum, nobis. Harum, distinctio dolor. Blanditiis temporibus velit soluta, totam accusamus vitae suscipit tempore enim maiores corporis repudiandae ullam! Accusamus vel dolore maiores molestias illo ex harum voluptas sequi. Ullam ut pariatur fuga labore doloribus eos obcaecati facere et ex vel! Voluptatum, neque.
<div id="id12" class="class12">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt, veniam, nam. Illum blanditiis illo labore eius iusto eos ipsum error aspernatur quibusdam, minima obcaecati earum veritatis ducimus similique commodi at explicabo totam id magni ullam quod distinctio. Natus velit amet sed, voluptates animi non fugit ipsa. Molestias officiis rem voluptas explicabo, labore cum provident blanditiis reiciendis tempora dolorum commodi quod ratione aut error quos tempore magnam, dignissimos nemo quia iusto vero earum, asperiores voluptate corporis. Optio nesciunt aliquam mollitia hic, in tempore numquam natus quis odit ducimus nostrum dignissimos sapiente, ex veritatis error ea, at nemo sunt commodi vel veniam doloribus, molestiae obcaecati voluptate. Quaerat, architecto. Est velit nulla aperiam assumenda totam aliquam. Excepturi laboriosam consequuntur obcaecati, debitis quis quidem aspernatur voluptatem voluptatibus ex consectetur odio dicta eos, non dolor. Voluptate unde quisquam architecto nam corporis odit consectetur amet placeat neque, voluptatum, deserunt hic nesciunt quam voluptates ipsum nulla rem ut quidem quod quas. Unde, dolore, ab. Nemo fugiat sed quibusdam rerum cumque excepturi libero, totam perferendis aspernatur maiores modi ea, ab eum ipsam atque distinctio! Quis optio laboriosam hic, veritatis explicabo reiciendis excepturi illum provident expedita. Natus error nesciunt doloribus, delectus, placeat eius quos fugiat voluptatum eos? Natus, ea!
<div id="id13" class="class13">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Tempore id debitis consequuntur, alias vel. Laudantium, numquam accusamus blanditiis? Quae nemo beatae sunt ut numquam, voluptate placeat iste rerum dolorem exercitationem, eos officiis hic enim molestias reprehenderit ea. Velit unde libero aut, impedit fugit, eum necessitatibus doloribus iusto, in iste porro labore deserunt soluta illum molestiae. Dolorum, unde totam voluptas. Quo ipsa perspiciatis asperiores quia excepturi, non officia consequuntur explicabo aspernatur. Quaerat molestiae, esse deserunt voluptatum enim! Quidem quasi, saepe hic nulla voluptatum ut cumque placeat, autem quaerat aspernatur totam blanditiis, unde, quae velit ipsam dolorum. Recusandae vitae amet earum consectetur id, soluta quod dolor tempora mollitia autem similique aspernatur pariatur reprehenderit assumenda natus quo esse aperiam, explicabo! Maiores sunt similique amet perferendis minus molestias, aliquid vel vitae. Temporibus culpa harum, libero ipsa animi in facere nam numquam est nemo, quaerat fugiat natus amet a aspernatur molestias quo suscipit possimus. Ipsam ducimus temporibus quas amet maxime totam mollitia quia beatae illo magni, animi voluptates nihil at dignissimos laboriosam debitis, rerum facere. Ea, nulla voluptates veritatis itaque atque nihil quas? Cupiditate quas architecto fugiat dignissimos vero temporibus officiis ducimus, vel rerum praesentium unde suscipit repudiandae, neque maxime ratione pariatur tempore illo magni.</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
Ready to run.
Test | Ops/sec | |
---|---|---|
Zepto ID |
| ready |
jQuery ID |
| ready |
getElementById |
| ready |
Zepto ClassName |
| ready |
jQuery ClassName |
| ready |
getElementsByClassName |
| ready |
querySelectorAll |
| ready |
querySelector |
| ready |
jquery |
| ready |
Zepto |
| ready |
Vanilla first |
| ready |
Vanilla all |
| ready |
Sprint ID |
| ready |
Sprint ClassName |
| ready |
Sprint |
| ready |
Vanilla ID -> Class |
| ready |
Vanilla Class |
| ready |
Vanilla ID |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.