!function(n,t){"use strict";var i=t(n);"object"==typeof module&&null!=module&&module.exports?module.exports=i:"function"==typeof define&&define.amd?define(function(){return i}):n.m=i}("undefined"!=typeof window?window:this,function(n,t){"use strict";function f(n){return"function"==typeof n}function v(n){return"[object Object]"===w.call(n)}function g(n){return"[object String]"===w.call(n)}function y(){}function tr(n){r=n.document;s=n.location;yi=n.cancelAnimationFrame||n.clearTimeout;vt=n.requestAnimationFrame||n.setTimeout}function ir(n,t){for(var i,u,r=[],f=/(?:(^|#|\.)([^#\.\[\]]+))|(\[.+?\])/g;i=f.exec(t);)""===i[1]&&i[2]?n.tag=i[2]:"#"===i[1]?n.attrs.id=i[2]:"."===i[1]?r.push(i[2]):"["===i[3][0]&&(u=/\[(.+?)(?:=("|'|)(.*?)\2)?\]/.exec(i[3]),n.attrs[u[1]]=u[3]||"");return r}function rr(n,t){var i=t?n.slice(1):n;return 1===i.length&&c(i[0])?i[0]:i}function ur(n,t,i){var u="class"in t?"class":"className";for(var r in t)h.call(t,r)&&(r===u&&null!=t[r]&&""!==t[r]?(i.push(t[r]),n[r]=""):n[r]=t[r]);i.length&&(n[u]=i.join(" "))}function i(n,t){for(var r=[],i=1,e=arguments.length;e>i;i++)r[i-1]=arguments[i];if(v(n))return oi(n,r);if(!g(n))throw new Error("selector in m(selector, attrs, children) should be a string");var f=null!=t&&v(t)&&!("tag"in t||"view"in t||"subtree"in t),o=f?t:{},u={tag:"div",attrs:{},children:rr(r,f)};return ur(u.attrs,o,ir(u,n)),u}function u(n,t){for(var i=0;i<n.length&&!t(n[i],i++););}function st(n,t){u(n,function(n,i){return(n=n&&n.attrs)&&null!=n.key&&t(n,i)})}function fr(n){try{if(null!=n&&null!=n.toString())return n}catch(t){}return""}function er(n,t,i,r){try{nt(n,t,i);t.nodeValue=r}catch(u){}}function or(n){for(var t=0;t<n.length;t++)c(n[t])&&(n=n.concat.apply([],n),t--);return n}function nt(n,t,i){n.insertBefore(t,n.childNodes[i]||null)}function sr(n,t,i,f){var s,c,l,e;st(n,function(n,u){t[n=n.key]=t[n]?{action:bi,index:u,from:t[n].index,element:i.nodes[t[n].index]||r.createElement("div")}:{action:wi,index:u}});s=[];for(c in t)h.call(t,c)&&s.push(t[c]);return l=s.sort(au),e=new Array(i.length),e.nodes=i.nodes.slice(),u(l,function(t){var u=t.index,s,h,c;(t.action===pi&&(o(i[u].nodes,i[u]),e.splice(u,1)),t.action===wi)&&(s=r.createElement("div"),s.key=n[u].attrs.key,nt(f,s,u),e.splice(u,0,{attrs:{key:n[u].attrs.key},nodes:[s]}),e.nodes[u]=s);t.action===bi&&(h=t.element,c=f.childNodes[u],c!==h&&null!==h&&f.insertBefore(h,c||null),e[u]=i[t.from],e.nodes[u]=h)}),e}function hr(n,t,i,r){var u=n.length!==t.length;return u||st(n,function(n,i){var r=t[i];return u=r&&r.attrs&&r.attrs.key!==n.key}),u?sr(n,i,t,r):t}function cr(n,t,i){u(n,function(n,r){null!=t[r]&&i.push.apply(i,t[r].nodes)});u(t.nodes,function(n,r){null!=n.parentNode&&i.indexOf(n)<0&&o([n],[t[r]])});n.length<t.length&&(t.length=n.length);t.nodes=i}function lr(n){var t=0;st(n,function(){return u(n,function(n){(n=n&&n.attrs)&&null==n.key&&(n.key="__mithril__"+t++)}),1})}function ar(n,t,r){return n.tag!==t.tag?!0:r.sort().join()!==Object.keys(t.attrs).sort().join()?!0:n.attrs.id!==t.attrs.id?!0:n.attrs.key!==t.attrs.key?!0:"all"===i.redraw.strategy()?!t.configContext||t.configContext.retain!==!0:"diff"===i.redraw.strategy()?t.configContext&&t.configContext.retain===!1:!1}function vr(n,t,i){ar(n,t,i)&&(t.nodes.length&&o(t.nodes),t.configContext&&f(t.configContext.onunload)&&t.configContext.onunload(),t.controllers&&u(t.controllers,function(n){n.onunload&&n.onunload({preventDefault:y})}))}function yr(n,t){return n.attrs.xmlns?n.attrs.xmlns:"svg"===n.tag?"http://www.w3.org/2000/svg":"math"===n.tag?"http://www.w3.org/1998/Math/MathML":t}function pr(n,t,i){i.length&&(n.views=t,n.controllers=i,u(i,function(n){if(n.onunload&&n.onunload.$old&&(n.onunload=n.onunload.$old),l&&n.onunload){var t=n.onunload;n.onunload=y;n.onunload.$old=t}}))}function wr(n,t,i,r,u){if(f(t.attrs.config)){var e=u.configContext=u.configContext||{};n.push(function(){return t.attrs.config.call(t,i,!r,e,u)})}}function br(n,i,r,u,f,e,o,s){var h=n.nodes[0];return u&&bt(h,i.tag,i.attrs,n.attrs,f),n.children=ht(h,i.tag,t,t,i.children,n.children,!1,0,i.attrs.contenteditable?h:r,f,o),n.nodes.intact=!0,s.length&&(n.views=e,n.controllers=s),h}function kr(n,t,i){var u,f;return n.$trusted?u=ei(t,i,n):(u=[r.createTextNode(n)],t.nodeName in sf||nt(t,u[0],i)),f="string"==typeof n||"number"==typeof n||"boolean"==typeof n?new n.constructor(n):n,f.nodes=u,f}function dr(n,t,i,u,f,e){var s=t.nodes;return u&&u===r.activeElement||(n.$trusted?(o(s,t),s=ei(i,f,n)):"textarea"===e?i.value=n:u?u.innerHTML=n:((1===s[0].nodeType||s.length>1||s[0].nodeValue.trim&&!s[0].nodeValue.trim())&&(o(t.nodes,t),s=[r.createTextNode(n)]),er(i,s[0],f,n))),t=new n.constructor(n),t.nodes=s,t}function gr(n,t,i,r,u,f,e){return n.nodes.length?n.valueOf()!==t.valueOf()||u?dr(t,n,r,f,i,e):(n.nodes.intact=!0,n):kr(t,r,i)}function nu(n){if(n.$trusted){var t=n.match(/<[^\/]|\>\s*[^<]/g);if(null!=t)return t.length}else if(c(n))return n.length;return 1}function tu(n,i,r,u,f,e,o,s,h){var c;n=or(n);var l=i.length===n.length,a=0,y={},p=!1;st(i,function(n,t){p=!0;y[i[t].attrs.key]={action:pi,index:t}});lr(n);p&&(i=hr(n,i,y,r));for(var w=0,v=0,b=n.length;b>v;v++)c=ht(r,f,i,u,n[v],i[w],e,u+a||a,o,s,h),c!==t&&(l=l&&c.nodes.intact,a+=nu(c),i[w++]=c);return l||cr(n,i,[]),i}function iu(n,t,i,r,u){if(null!=t){if(w.call(t)===w.call(n))return t;if(u&&u.nodes){var f=i-r,e=f+(c(n)?n:t.nodes).length;o(u.nodes.slice(f,e),u.slice(f,e))}else t.nodes&&o(t.nodes,t)}return t=new n.constructor,t.tag&&(t={}),t.nodes=[],t}function ru(n,t){return n.attrs.is?null==t?r.createElement(n.tag,n.attrs.is):r.createElementNS(t,n.tag,n.attrs.is):null==t?r.createElement(n.tag):r.createElementNS(t,n.tag)}function uu(n,t,i,r){return r?bt(t,n.tag,n.attrs,{},i):n.attrs}function fu(n,i,r,u,f,e){return null!=n.children&&n.children.length>0?ht(i,n.tag,t,t,n.children,r.children,!0,0,n.attrs.contenteditable?i:u,f,e):n.children}function eu(n,t,i,r,u,f,e){var o={tag:n.tag,attrs:t,children:i,nodes:[r]};return pr(o,f,e),o.children&&!o.children.nodes&&(o.children.nodes=[]),"select"===n.tag&&"value"in n.attrs&&bt(r,n.tag,{value:n.attrs.value},{},u),o}function ou(n,t,r,u){var e;return e="diff"===i.redraw.strategy()&&n?n.indexOf(t):-1,e>-1?r[e]:f(u)?new u:{}}function su(n,t,i,r){null!=r.onunload&&it.map(function(n){return n.handler}).indexOf(r.onunload)<0&&it.push({controller:r,handler:r.onunload});n.push(i);t.push(r)}function hu(n,t,i,r,u,f){var e=ou(i.views,t,r,n.controller),o=n&&n.attrs&&n.attrs.key;return n=0===l||ni||r&&r.indexOf(e)>-1?n.view(e):{tag:"placeholder"},"retain"===n.subtree?n:(n.attrs=n.attrs||{},n.attrs.key=o,su(f,u,t,e),n)}function cu(n,t,i,r){for(var u=t&&t.controllers;null!=n.view;)n=hu(n,n.view.$original||n.view,t,u,r,i);return n}function lu(n,t,i,r,u,f,e,o){var l=[],h=[],a,v,c,s,y,p;if(n=cu(n,t,l,h),"retain"===n.subtree)return t;if(!n.tag&&h.length)throw new Error("Component template must return a virtual element, not an array, string, etc.");return n.attrs=n.attrs||{},t.attrs=t.attrs||{},a=Object.keys(n.attrs),v=a.length>("key"in n.attrs?1:0),(vr(n,t,a),g(n.tag))?(c=0===t.nodes.length,e=yr(n,e),c?(s=ru(n,e),y=uu(n,s,e,v),nt(r,s,u),p=fu(n,s,t,i,e,o),t=eu(n,y,p,s,e,l,h)):s=br(t,n,i,v,e,l,o,h),c||f!==!0||null==s||nt(r,s,u),wr(o,n,s,c,t),t):void 0}function ht(n,t,i,r,u,e,o,s,h,l,a){return u=fr(u),"retain"===u.subtree?e:(e=iu(u,e,s,r,i),c(u)?tu(u,e,n,s,t,o,h,l,a):null!=u&&v(u)?lu(u,e,h,n,s,o,l,a):f(u)?e:gr(e,u,s,n,o,h,t))}function au(n,t){return n.action-t.action||n.index-t.index}function vu(n,t,i){for(var r in t)h.call(t,r)&&(null!=i&&i[r]===t[r]||(n.style[r]=t[r]));for(r in i)h.call(i,r)&&(h.call(t,r)||(n.style[r]=""))}function yu(n,t,i,r,u,e){if("config"===t||"key"===t)return!0;if(f(i)&&"on"===t.slice(0,2))n[t]=ku(i,n);else if("style"===t&&null!=i&&v(i))vu(n,i,r);else if(null!=e)"href"===t?n.setAttributeNS("http://www.w3.org/1999/xlink","href",i):n.setAttribute("className"===t?"class":t,i);else if(t in n&&!hf[t])try{"input"===u&&n[t]===i||(n[t]=i)}catch(o){n.setAttribute(t,i)}else n.setAttribute(t,i)}function pu(n,t,i,u,f,e,o){if(t in f&&u===i&&r.activeElement!==n)"value"===t&&"input"===e&&n.value!==i&&(n.value=i);else{f[t]=i;try{return yu(n,t,i,u,e,o)}catch(s){if(s.message.indexOf("Invalid argument")<0)throw s;}}}function bt(n,t,i,r,u){for(var f in i)h.call(i,f)&&!pu(n,f,i[f],r[f],r,t,u);return r}function o(n,t){for(var i=n.length-1;i>-1;i--)if(n[i]&&n[i].parentNode){try{n[i].parentNode.removeChild(n[i])}catch(r){}t=[].concat(t);t[i]&&kt(t[i])}n.length&&(n.length=0)}function kt(n){n.configContext&&f(n.configContext.onunload)&&(n.configContext.onunload(),n.configContext.onunload=null);n.controllers&&u(n.controllers,function(n){f(n.onunload)&&n.onunload({preventDefault:y})});n.children&&(c(n.children)?u(n.children,kt):n.children.tag&&kt(n.children))}function wu(n,t){try{n.appendChild(r.createRange().createContextualFragment(t))}catch(i){n.insertAdjacentHTML("beforeend",t);fi(n)}}function fi(n){var t,i;if("SCRIPT"===n.tagName)n.parentNode.replaceChild(bu(n),n);else if(t=n.childNodes,t&&t.length)for(i=0;i<t.length;i++)fi(t[i]);return n}function bu(n){for(var i=document.createElement("script"),r=n.attributes,t=0;t<r.length;t++)i.setAttribute(r[t].name,r[t].value);return i.text=n.innerHTML,i}function ei(n,t,i){var u=n.childNodes[t],o,f,e;for(u?(o=1!==u.nodeType,f=r.createElement("span"),o?(n.insertBefore(f,u||null),f.insertAdjacentHTML("beforebegin",i),n.removeChild(f)):u.insertAdjacentHTML("beforebegin",i)):wu(n,i),e=[];n.childNodes[t]!==u;)e.push(n.childNodes[t]),t++;return e}function ku(n,t){return function(r){r=r||event;i.redraw.strategy("diff");i.startComputation();try{return n.call(t,r)}finally{ci()}}}function dt(n){var t=ti.indexOf(n);return 0>t?ti.push(n)-1:t}function du(n){function t(){return arguments.length&&(n=arguments[0]),n}return t.toJSON=function(){return n},t}function oi(n,t){function i(){return(n.controller||y).apply(this,t)||this}function r(i){for(var u=[i].concat(t),r=1;r<arguments.length;r++)u.push(arguments[r]);return n.view.apply(n,u)}n.controller&&(i.prototype=n.controller.prototype);r.$original=n.view;var u={controller:i,view:r};return t[0]&&null!=t[0].key&&(u.attrs={key:t[0].key}),u}function gu(n,t,r,u){var f,e;if(!u)return i.redraw.strategy("all"),i.startComputation(),ut[r]=t,f=di=n?n:n={controller:y},e=new(n.controller||y),f===di&&(a[r]=e,ii[r]=n),ci(),null===n&&si(t,r),a[r];null==n&&si(t,r)}function si(n,t){ut.splice(t,1);a.splice(t,1);ii.splice(t,1);vi(n);ti.splice(dt(n),1)}function hi(){b&&(b(),b=null);u(ut,function(n,t){var r=ii[t],u;a[t]&&(u=[a[t]],i.render(n,r.view?r.view(a[t],u):""))});ft&&(ft(),ft=null);p=null;gi=new Date;i.redraw.strategy("diff")}function ci(){"none"===i.redraw.strategy()?(l--,i.redraw.strategy("diff")):i.endComputation()}function li(n){return n.slice(d[i.route.mode].length)}function nf(n,t,r){var e,o,s,f,c;if(k={},e=r.indexOf("?"),-1!==e&&(k=lt(r.substr(e+1,r.length)),r=r.substr(0,e)),o=Object.keys(t),s=o.indexOf(r),-1!==s)return i.mount(n,t[o[s]]),!0;for(f in t)if(h.call(t,f)){if(f===r)return i.mount(n,t[f]),!0;if(c=new RegExp("^"+f.replace(/:[^\/]+?\.{3}/g,"(.*?)").replace(/:[^\/]+/g,"([^\\/]+)")+"/?$"),c.test(r))return r.replace(c,function(){var r=f.match(/:[^\/]+/g)||[],e=[].slice.call(arguments,1,-2);u(r,function(n,t){k[n.replace(/:|\./g,"")]=decodeURIComponent(e[t])});i.mount(n,t[f])}),!0}}function ct(n){if(n=n||event,!(n.ctrlKey||n.metaKey||n.shiftKey||2===n.which)){n.preventDefault?n.preventDefault():n.returnValue=!1;for(var t=n.currentTarget||n.srcElement,r="pathname"===i.route.mode&&t.search?lt(t.search.slice(1)):{};t&&!/a/i.test(t.nodeName);)t=t.parentNode;l=0;i.route(t[i.route.mode].slice(d[i.route.mode].length),r)}}function ai(){"hash"!==i.route.mode&&s.hash?s.hash=s.hash:n.scrollTo(0,0)}function tt(n,i){var s={},e=[],o,r,f,l;for(o in n)h.call(n,o)&&(r=i?i+"["+o+"]":o,f=n[o],null===f?e.push(encodeURIComponent(r)):v(f)?e.push(tt(f,r)):c(f)?(l=[],s[r]=s[r]||{},u(f,function(n){s[r][n]||(s[r][n]=!0,l.push(encodeURIComponent(r)+"="+encodeURIComponent(n)))}),e.push(l.join("&"))):f!==t&&e.push(encodeURIComponent(r)+"="+encodeURIComponent(f)));return e.join("&")}function lt(n){if(""===n||null==n)return{};"?"===n.charAt(0)&&(n=n.slice(1));var i=n.split("&"),t={};return u(i,function(n){var r=n.split("="),i=decodeURIComponent(r[0]),u=2===r.length?decodeURIComponent(r[1]):null;null!=t[i]?(c(t[i])||(t[i]=[t[i]]),t[i].push(u)):t[i]=u}),t}function vi(n){var i=dt(n);o(n.childNodes,rt[i]);rt[i]=t}function at(n,t){var r=i.prop(t);return n.then(r),r.then=function(i,r){return at(n.then(i,r),t)},r["catch"]=r.then.bind(null,null),r}function gt(n,t){function o(n){u=n||nr;c.map(function(n){u===wt?n.resolve(r):n.reject(r)})}function h(n,t,u,e){if((null!=r&&v(r)||f(r))&&f(n))try{var o=0;n.call(r,function(n){o++||(r=n,t())},function(n){o++||(r=n,u())})}catch(s){i.deferred.onerror(s);r=s;u()}else e()}function s(){var c;try{c=r&&r.then}catch(l){return i.deferred.onerror(l),r=l,u=ot,s()}u===ot&&i.deferred.onerror(r);h(c,function(){u=et;s()},function(){u=ot;s()},function(){try{u===et&&f(n)?r=n(r):u===ot&&f(t)&&(r=t(r),u=et)}catch(s){return i.deferred.onerror(s),r=s,o()}r===e?(r=TypeError(),o()):h(c,function(){o(wt)},o,function(){o(u===et&&wt)})})}var e=this,u=0,r=0,c=[];e.promise={};e.resolve=function(n){return u||(r=n,u=et,s()),e};e.reject=function(n){return u||(r=n,u=ot,s()),e};e.promise.then=function(n,t){var i=new gt(n,t);return u===wt?i.resolve(r):u===nr?i.reject(r):c.push(i),i.promise}}function tf(n){return n}function rf(i){var f=i.callbackName||"mithril_callback_"+(new Date).getTime()+"_"+Math.round(1e16*Math.random()).toString(36),u=r.createElement("script");n[f]=function(r){u.parentNode.removeChild(u);i.onload({type:"load",target:{responseText:r}});n[f]=t};u.onerror=function(){return u.parentNode.removeChild(u),i.onerror({type:"error",target:{status:500,responseText:JSON.stringify({error:"Error making jsonp request"})}}),n[f]=t,!1};u.onload=function(){return!1};u.src=i.url+(i.url.indexOf("?")>0?"&":"?")+(i.callbackKey?i.callbackKey:"callback")+"="+f+"&"+tt(i.data||{});r.body.appendChild(u)}function uf(t){var i=new n.XMLHttpRequest,u,r;if((i.open(t.method,t.url,!0,t.user,t.password),i.onreadystatechange=function(){4===i.readyState&&(i.status>=200&&i.status<300?t.onload({type:"load",target:i}):t.onerror({type:"error",target:i}))},t.serialize===JSON.stringify&&t.data&&"GET"!==t.method&&i.setRequestHeader("Content-Type","application/json; charset=utf-8"),t.deserialize===JSON.parse&&i.setRequestHeader("Accept","application/json, text/*"),f(t.config))&&(u=t.config(i,t),null!=u&&(i=u)),r="GET"!==t.method&&t.data?t.data:"",r&&!g(r)&&r.constructor!==n.FormData)throw new Error("Request data should be either be a string or FormData. Check the `serialize` option in `m.request`");return i.send(r),i}function ff(n){return n.dataType&&"jsonp"===n.dataType.toLowerCase()?rf(n):uf(n)}function ef(n,t,i){if("GET"===n.method&&"jsonp"!==n.dataType){var u=n.url.indexOf("?")<0?"?":"&",r=tt(t);n.url+=r?u+r:""}else n.data=i(t)}function of(n,t){return t&&(n=n.replace(/:[a-z]\w+/gi,function(n){var i=n.slice(1),r=t[i]||n;return delete t[i],r})),n}var yt;i.version=function(){return"v0.2.5"};var r,s,vt,yi,h={}.hasOwnProperty,w={}.toString,c=Array.isArray||function(n){return"[object Array]"===w.call(n)},sf={AREA:1,BASE:1,BR:1,COL:1,COMMAND:1,EMBED:1,HR:1,IMG:1,INPUT:1,KEYGEN:1,LINK:1,META:1,PARAM:1,SOURCE:1,TRACK:1,WBR:1};i.deps=function(t){return tr(n=t||window),n};i.deps(n);var pi=1,wi=2,bi=3,l=0;i.startComputation=function(){l++};i.endComputation=function(){l>1?l--:(l=0,i.redraw())};var ki,it=[],ni=!1,hf={list:1,style:1,form:1,type:1,width:1,height:1},cf={appendChild:function(n){ki===t&&(ki=r.createElement("html"));r.documentElement&&r.documentElement!==n?r.replaceChild(n,r.documentElement):r.appendChild(n);this.childNodes=r.childNodes},insertBefore:function(n){this.appendChild(n)},childNodes:[]},ti=[],rt={};i.render=function(n,i,f){if(!n)throw new Error("Ensure the DOM element being passed to m.route/m.mount/m.render is not undefined.");var e,h=[],s=dt(n),c=n===r;e=c||n===r.documentElement?cf:n;c&&"html"!==i.tag&&(i={tag:"html",attrs:{},children:i});rt[s]===t&&o(e.childNodes);f===!0&&vi(n);rt[s]=ht(e,null,t,t,i,rt[s],!1,0,null,t,h);u(h,function(n){n()})};i.trust=function(n){return n=new String(n),n.$trusted=!0,n};i.prop=function(n){return(null!=n&&(v(n)||f(n))||"undefined"!=typeof Promise&&n instanceof Promise)&&f(n.then)?at(n):du(n)};var di,ut=[],ii=[],a=[],p=null,gi=0,b=null,ft=null,ri=16;i.component=function(n){for(var i=new Array(arguments.length-1),t=1;t<arguments.length;t++)i[t-1]=arguments[t];return oi(n,i)};i.mount=i.module=function(n,t){var i,r,e;if(!n)throw new Error("Please ensure the DOM element exists before rendering a template into it.");return i=ut.indexOf(n),0>i&&(i=ut.length),r=!1,e={preventDefault:function(){r=!0;b=ft=null}},u(it,function(n){n.handler.call(n.controller,e);n.controller.onunload=null}),r?u(it,function(n){n.controller.onunload=n.handler}):it=[],a[i]&&f(a[i].onunload)&&a[i].onunload(e),gu(t,n,i,r)};yt=!1;i.redraw=function(t){if(!yt){yt=!0;t&&(ni=!0);try{p&&!t?(vt===n.requestAnimationFrame||new Date-gi>ri)&&(p>0&&yi(p),p=vt(hi,ri)):(hi(),p=vt(function(){p=null},ri))}finally{yt=ni=!1}}};i.redraw.strategy=i.prop();i.withAttr=function(n,t,i){return function(r){r=r||window.event;var u=r.currentTarget||this,f=i||this,e=n in u?u[n]:u.getAttribute(n);t.call(f,e)}};var k,e,d={pathname:"",hash:"#",search:"?"},pt=y,ui=!1;i.route=function(t,u,f,o){var v,k,nt,y,l,c,a,p,w,it,rt;if(0===arguments.length)return e;if(3===arguments.length&&g(u))return pt=function(n){var r=e=li(n);if(!nf(t,f,r)){if(ui)throw new Error("Ensure the default route matches one of the routes defined in m.route");ui=!0;i.route(u,!0);ui=!1}},v="hash"===i.route.mode?"onhashchange":"onpopstate",n[v]=function(){var n=s[i.route.mode];"pathname"===i.route.mode&&(n+=s.search);e!==li(n)&&pt(n)},b=ai,void n[v]();if(t.addEventListener||t.attachEvent)return k="pathname"!==i.route.mode?s.pathname:"",t.href=k+d[i.route.mode]+o.attrs.href,void(t.addEventListener?(t.removeEventListener("click",ct),t.addEventListener("click",ct)):(t.detachEvent("onclick",ct),t.attachEvent("onclick",ct)));if(g(t)){nt=e;e=t;l=u||{};c=e.indexOf("?");y=c>-1?lt(e.slice(c+1)):{};for(a in l)h.call(l,a)&&(y[a]=l[a]);w=tt(y);p=c>-1?e.slice(0,c):e;w&&(e=p+(-1===p.indexOf("?")?"?":"&")+w);it=(3===arguments.length?f:u)===!0||nt===t;n.history.pushState?(rt=it?"replaceState":"pushState",b=ai,ft=function(){try{n.history[rt](null,r.title,d[i.route.mode]+e)}catch(t){s[i.route.mode]=e}},pt(d[i.route.mode]+e)):(s[i.route.mode]=e,pt(d[i.route.mode]+e))}};i.route.param=function(n){if(!k)throw new Error("You must call m.route(element, defaultRoute, routes) before calling m.route.param()");return n?k[n]:k};i.route.mode="search";i.route.buildQueryString=tt;i.route.parseQueryString=lt;i.deferred=function(){var n=new gt;return n.promise=at(n.promise),n};var et=1,ot=2,wt=3,nr=4;return i.deferred.onerror=function(n){if("[object Error]"===w.call(n)&&!/ Error/.test(n.constructor.toString()))throw l=0,n;},i.sync=function(n){function f(n,i){return function(u){return r[n]=u,i||(e="reject"),0==--o&&(t.promise(r),t[e](r)),u}}var t=i.deferred(),o=n.length,r=[],e="resolve";return n.length>0?u(n,function(n,t){n.then(f(t,!0),f(t,!1))}):t.resolve([]),t.promise},i.request=function(n){n.background!==!0&&i.startComputation();var f,r,e,t=new gt,o=n.dataType&&"jsonp"===n.dataType.toLowerCase();return o?(f=n.serialize=r=n.deserialize=tf,e=function(n){return n.responseText}):(f=n.serialize=n.serialize||JSON.stringify,r=n.deserialize=n.deserialize||JSON.parse,e=n.extract||function(n){return n.responseText.length||r!==JSON.parse?n.responseText:null}),n.method=(n.method||"GET").toUpperCase(),n.url=of(n.url,n.data),ef(n,n.data,f),n.onload=n.onerror=function(f){try{f=f||event;var o=r(e(f.target,n));"load"===f.type?(n.unwrapSuccess&&(o=n.unwrapSuccess(o,f.target)),c(o)&&n.type?u(o,function(t,i){o[i]=new n.type(t)}):n.type&&(o=new n.type(o)),t.resolve(o)):(n.unwrapError&&(o=n.unwrapError(o,f.target)),t.reject(o))}catch(s){t.reject(s);i.deferred.onerror(s)}finally{n.background!==!0&&i.endComputation()}},ff(n),t.promise=at(t.promise,n.initialValue),t.promise},i})