Bundled output for commit a8409aabbd [skip ci]

This commit is contained in:
Gandalf-the-Bot 2016-08-15 14:06:02 +00:00
parent a8409aabbd
commit 828a8bda98
2 changed files with 66 additions and 76 deletions

View file

@ -206,42 +206,40 @@ function hyperscript(selector) {
if (selector == null || typeof selector !== "string" && selector.view == null) {
throw Error("The selector must be either a string or a component.");
}
if (typeof selector === "string") {
if (selectorCache[selector] === undefined) {
var match, tag, classes = [], attributes = {}
while (match = selectorParser.exec(selector)) {
var type = match[1], value = match[2]
if (type === "" && value !== "") tag = value
else if (type === "#") attributes.id = value
else if (type === ".") classes.push(value)
else if (match[3][0] === "[") {
var attrValue = match[6]
if (attrValue) attrValue = attrValue.replace(/\\(["'])/g, "$1").replace(/\\\\/g, "\\")
attributes[match[4]] = attrValue || true
if (typeof selector === "string" && selectorCache[selector] === undefined) {
var match, tag, classes = [], attributes = {}
while (match = selectorParser.exec(selector)) {
var type = match[1], value = match[2]
if (type === "" && value !== "") tag = value
else if (type === "#") attributes.id = value
else if (type === ".") classes.push(value)
else if (match[3][0] === "[") {
var attrValue = match[6]
if (attrValue) attrValue = attrValue.replace(/\\(["'])/g, "$1").replace(/\\\\/g, "\\")
attributes[match[4]] = attrValue || true
}
}
if (classes.length > 0) attributes.className = classes.join(" ")
selectorCache[selector] = function(attrs, children) {
var hasAttrs = false, childList, text
var className = attrs.className || attrs.class
for (var key in attributes) attrs[key] = attributes[key]
if (className !== undefined) {
if (attrs.class !== undefined) {
attrs.class = undefined
attrs.className = className
}
if (attributes.className !== undefined) attrs.className = attributes.className + " " + className
}
for (var key in attrs) {
if (key !== "key") {
hasAttrs = true
break
}
}
if (classes.length > 0) attributes.className = classes.join(" ")
selectorCache[selector] = function(attrs, children) {
var hasAttrs = false, childList, text
var className = attrs.className || attrs.class
for (var key in attributes) attrs[key] = attributes[key]
if (className !== undefined) {
if (attrs.class !== undefined) {
attrs.class = undefined
attrs.className = className
}
if (attributes.className !== undefined) attrs.className = attributes.className + " " + className
}
for (var key in attrs) {
if (key !== "key") {
hasAttrs = true
break
}
}
if (children instanceof Array && children.length == 1 && children[0] != null && children[0].tag === "#") text = children[0].children
else childList = children
return Vnode(tag || "div", attrs.key, hasAttrs ? attrs : undefined, childList, text, undefined)
}
if (children instanceof Array && children.length == 1 && children[0] != null && children[0].tag === "#") text = children[0].children
else childList = children
return Vnode(tag || "div", attrs.key, hasAttrs ? attrs : undefined, childList, text, undefined)
}
}
var attrs, children, childrenIndex
@ -342,7 +340,9 @@ var renderService = function($window) {
return element
}
function createComponent(vnode, hooks, ns) {
vnode.state = copy(vnode.tag)
// For object literals since `Vnode()` always sets the `state` field.
if (!vnode.state) vnode.state = {}
assign(vnode.state, vnode.tag)
initLifecycle(vnode.tag, vnode, hooks)
vnode.instance = Vnode.normalize(vnode.tag.view.call(vnode.state, vnode))
if (vnode.instance != null) {
@ -741,18 +741,8 @@ var renderService = function($window) {
}
return false
}
function copy(data) {
if (data instanceof Array) {
var output = []
for (var i = 0; i < data.length; i++) output[i] = data[i]
return output
}
else if (typeof data === "object") {
var output = {}
for (var i in data) output[i] = data[i]
return output
}
return data
function assign(target, source) {
Object.keys(source).forEach(function(k){target[k] = source[k]})
}
function render(dom, vnodes) {
var hooks = []

58
mithril.min.js vendored
View file

@ -10,32 +10,32 @@ return b};var P=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|
H[b]=function(b,e){var g=!1,f,h,m=b.className||b["class"],n;for(n in k)b[n]=k[n];void 0!==m&&(void 0!==b["class"]&&(b["class"]=void 0,b.className=m),void 0!==k.className&&(b.className=k.className+" "+m));for(n in b)if("key"!==n){g=!0;break}e instanceof Array&&1==e.length&&null!=e[0]&&"#"===e[0].tag?h=e[0].children:f=e;return w(p||"div",b.key,g?b:void 0,f,h,void 0)}}var t;null!=arguments[1]&&("object"!==typeof arguments[1]||void 0!==arguments[1].tag||arguments[1]instanceof Array)?f=1:(t=arguments[1],
f=2);if(arguments.length===f+1)e=arguments[f]instanceof Array?arguments[f]:[arguments[f]];else for(e=[];f<arguments.length;f++)e.push(arguments[f]);return"string"===typeof b?H[b](t||{},w.normalizeChildren(e)):w(b,t&&t.key,t||{},w.normalizeChildren(e),void 0,void 0)},I=function(b){function e(c,a,d,b,g,e,f){for(;d<b;d++){var h=a[d];null!=h&&r(c,p(h,g,f),e)}}function p(c,a,d){var b=c.tag;null!=c.attrs&&B(c.attrs,c,a);if("string"===typeof b)switch(b){case "#":return c.dom=q.createTextNode(c.children);
case "<":return f(c);case "[":var g=q.createDocumentFragment();null!=c.children&&(b=c.children,e(g,b,0,b.length,a,null,d));c.dom=g.firstChild;c.domSize=g.childNodes.length;return g;default:var h=c.tag;switch(c.tag){case "svg":d="http://www.w3.org/2000/svg";break;case "math":d="http://www.w3.org/1998/Math/MathML"}var r=(b=c.attrs)&&b.is,h=d?r?q.createElementNS(d,h,{is:r}):q.createElementNS(d,h):r?q.createElement(h,{is:r}):q.createElement(h);c.dom=h;if(null!=b)for(g in r=d,b)z(c,g,null,b[g],r);null!=
c.text&&(""!==c.text?h.textContent=c.text:c.children=[w("#",void 0,void 0,c.text,void 0,void 0)]);null!=c.children&&(g=c.children,e(h,g,0,g.length,a,null,d),a=c.attrs,"select"===c.tag&&null!=a&&("value"in a&&z(c,"value",null,a.value,void 0),"selectedIndex"in a&&z(c,"selectedIndex",null,a.selectedIndex,void 0)));return h}else return c.state=u(c.tag),B(c.tag,c,a),c.instance=w.normalize(c.tag.view.call(c.state,c)),null!=c.instance?(a=p(c.instance,a,d),c.dom=c.instance.dom,c.domSize=null!=c.dom?c.instance.domSize:
0,c=a):(c.domSize=0,c=C),c}function f(c){var a={caption:"table",thead:"table",tbody:"table",tfoot:"table",tr:"tbody",th:"tr",td:"tr",colgroup:"table",col:"colgroup"}[(c.children.match(/^\s*?<(\w+)/im)||[])[1]]||"div",a=q.createElement(a);a.innerHTML=c.children;c.dom=a.firstChild;c.domSize=a.childNodes.length;c=q.createDocumentFragment();for(var d;d=a.firstChild;)c.appendChild(d);return c}function k(c,a,d,b,g,f){if(a!==d&&(null!=a||null!=d))if(null==a)e(c,d,0,d.length,b,g,void 0);else if(null==d)x(c,
a,0,a.length,d);else{var m;a:{if(null!=a.pool&&Math.abs(a.pool.length-d.length)<=Math.abs(a.length-d.length)&&(m=d[0]&&d[0].children&&d[0].children.length||0,Math.abs((a.pool[0]&&a.pool[0].children&&a.pool[0].children.length||0)-m)<=Math.abs((a[0]&&a[0].children&&a[0].children.length||0)-m))){m=!0;break a}m=!1}m&&(a=a.concat(a.pool));if(a.length===d.length&&null!=d[0]&&null==d[0].key)for(var l=0;l<a.length;l++)a[l]===d[l]||null==a[l]&&null==d[l]||(null==a[l]?r(c,p(d[l],b,f),t(a,l+1,g)):null==d[l]?
x(c,a,l,l+1,d):h(c,a[l],d[l],b,t(a,l+1,g),m,f),m&&a[l].tag===d[l].tag&&r(c,n(a[l]),t(a,l+1,g)));else{for(var k=l=0,z=a.length-1,A=d.length-1,w;z>=l&&A>=k;){var y=a[l],q=d[k];if(y===q)l++,k++;else if(null!=y&&null!=q&&y.key===q.key)l++,k++,h(c,y,q,b,t(a,l,g),m,f),m&&y.tag===q.tag&&r(c,n(y),g);else if(y=a[z],y===q)z--,k++;else if(null!=y&&null!=q&&y.key===q.key)h(c,y,q,b,t(a,z+1,g),m,f),k<A&&r(c,n(y),t(a,l,g)),z--,k++;else break}for(;z>=l&&A>=k;){y=a[z];q=d[A];if(y===q)z--;else if(null!=y&&null!=q&&
y.key===q.key)h(c,y,q,b,t(a,z+1,g),m,f),m&&y.tag===q.tag&&r(c,n(y),g),null!=y.dom&&(g=y.dom),z--;else{if(!w){w=a;var y=z,v={},u;for(u=0;u<y;u++){var B=w[u];null!=B&&(B=B.key,null!=B&&(v[B]=u))}w=v}null!=q&&(y=w[q.key],null!=y?(v=a[y],h(c,v,q,b,t(a,z+1,g),m,f),r(c,n(v),g),a[y].skip=!0,null!=v.dom&&(g=v.dom)):(q=p(q,b,void 0),r(c,q,g),g=q))}A--;if(A<k)break}e(c,d,k,A+1,b,g,f);x(c,a,l,z+1,d)}}}function h(c,a,d,b,e,l,x){var q=a.tag;if(q===d.tag){d.state=a.state;d.events=a.events;var A;var t;null!=d.attrs&&
"function"===typeof d.attrs.onbeforeupdate&&(A=d.attrs.onbeforeupdate.call(d.state,d,a));"string"!==typeof d.tag&&"function"===typeof d.tag.onbeforeupdate&&(t=d.tag.onbeforeupdate.call(d.state,d,a));void 0===A&&void 0===t||A||t?A=!1:(d.dom=a.dom,d.domSize=a.domSize,d.instance=a.instance,A=!0);if(!A)if(null!=d.attrs&&F(d.attrs,d,b,l),"string"===typeof q)switch(q){case "#":a.children.toString()!==d.children.toString()&&(a.dom.nodeValue=d.children);d.dom=a.dom;break;case "<":a.children!==d.children?
(n(a),r(c,f(d),e)):(d.dom=a.dom,d.domSize=a.domSize);break;case "[":k(c,a.children,d.children,b,e,x);a=0;b=d.children;d.dom=null;if(null!=b){for(var u=0;u<b.length;u++)c=b[u],null!=c&&null!=c.dom&&(null==d.dom&&(d.dom=c.dom),a+=c.domSize||1);1!==a&&(d.domSize=a)}break;default:c=x;e=d.dom=a.dom;switch(d.tag){case "svg":c="http://www.w3.org/2000/svg";break;case "math":c="http://www.w3.org/1998/Math/MathML"}"textarea"===d.tag&&(null==d.attrs&&(d.attrs={}),null!=d.text&&(d.attrs.value=d.text));l=a.attrs;
x=d.attrs;q=c;if(null!=x)for(u in x)z(d,u,l&&l[u],x[u],q);if(null!=l)for(u in l)null!=x&&u in x||("o"!==u[0]||"n"!==u[1]||m(u)?"key"!==u&&d.dom.removeAttribute(u):v(d,u,void 0));null!=a.text&&null!=d.text&&""!==d.text?a.text.toString()!==d.text.toString()&&(a.dom.firstChild.nodeValue=d.text):(null!=a.text&&(a.children=[w("#",void 0,void 0,a.text,void 0,a.dom.firstChild)]),null!=d.text&&(d.children=[w("#",void 0,void 0,d.text,void 0,void 0)]),k(e,a.children,d.children,b,null,c))}else d.instance=w.normalize(d.tag.view.call(d.state,
d)),F(d.tag,d,b,l),null!=d.instance?(null==a.instance?r(c,p(d.instance,b,x),e):h(c,a.instance,d.instance,b,e,l,x),d.dom=d.instance.dom,d.domSize=d.instance.domSize):null!=a.instance?(g(c,a.instance,null,!1),d.dom=void 0,d.domSize=0):(d.dom=a.dom,d.domSize=a.domSize)}else g(c,a,null,!1),r(c,p(d,b,void 0),e)}function n(c){var a=c.domSize;if(null!=a||null==c.dom){var d=q.createDocumentFragment();if(0<a){for(c=c.dom;--a;)d.appendChild(c.nextSibling);d.insertBefore(c,d.firstChild)}return d}return c.dom}
function t(c,a,d){for(;a<c.length;a++)if(null!=c[a]&&null!=c[a].dom)return c[a].dom;return d}function r(c,a,d){d&&d.parentNode?c.insertBefore(a,d):c.appendChild(a)}function x(c,a,d,b,e){for(;d<b;d++){var l=a[d];null!=l&&(l.skip?l.skip=void 0:g(c,l,e,!1))}}function g(c,a,d,b){if(!1===b){var e=0,m=0;b=function(){++m===e&&g(c,a,d,!0)};a.attrs&&a.attrs.onbeforeremove&&(e++,a.attrs.onbeforeremove.call(a.state,a,b));"string"!==typeof a.tag&&a.tag.onbeforeremove&&(e++,a.tag.onbeforeremove.call(a.state,a,
b));if(0<e)return}l(a);if(a.dom){b=a.domSize||1;if(1<b)for(var f=a.dom;--b;)c.removeChild(f.nextSibling);null!=a.dom.parentNode&&c.removeChild(a.dom);null==d||null!=a.domSize||A(a.attrs)||"string"!==typeof a.tag||(d.pool?d.pool.push(a):d.pool=[a])}}function l(c){c.attrs&&c.attrs.onremove&&c.attrs.onremove.call(c.state,c);"string"!==typeof c.tag&&c.tag.onremove&&c.tag.onremove.call(c.state,c);if(null!=c.instance)l(c.instance);else if(c=c.children,c instanceof Array)for(var a=0;a<c.length;a++){var d=
c[a];null!=d&&l(d)}}function z(c,a,d,b,g){var e=c.dom;if("key"!==a&&(d!==b||"value"===a||"checked"===a||"selectedIndex"===a||"selected"===a&&c.dom===q.activeElement||"object"===typeof b)&&"undefined"!==typeof b&&!m(a)){var l=a.indexOf(":");if(-1<l&&"xlink"===a.substr(0,l))e.setAttributeNS("http://www.w3.org/1999/xlink",a.slice(l+1),b);else if("o"===a[0]&&"n"===a[1]&&"function"===typeof b)v(c,a,b);else if("style"===a)if(c=d,c===b&&(e.style.cssText="",c=null),null==b)e.style.cssText="";else if("string"===
typeof b)e.style.cssText=b;else{"string"===typeof c&&(e.style.cssText="");for(var f in b)e.style[f]=b[f];if(null!=c&&"string"!==typeof c)for(f in c)f in b||(e.style[f]="")}else if(a in e&&"href"!==a&&"list"!==a&&"form"!==a&&void 0===g){if("input"!==c.tag||"value"!==a||c.dom.value!==b||c.dom!==q.activeElement)e[a]=b}else"boolean"===typeof b?b?e.setAttribute(a,""):e.removeAttribute(a):e.setAttribute("className"===a?"class":a,b)}}function m(c){return"oninit"===c||"oncreate"===c||"onupdate"===c||"onremove"===
c||"onbeforeremove"===c||"onbeforeupdate"===c}function A(c){return null!=c&&(c.oncreate||c.onupdate||c.onbeforeremove||c.onremove)}function v(c,a,d){var b=c.dom,g=function(a){var c=d.call(b,a);"function"===typeof E&&E.call(b,a);return c};if(a in b)b[a]=g;else{var e=a.slice(2);void 0===c.events&&(c.events={});null!=c.events[a]&&b.removeEventListener(e,c.events[a],!1);"function"===typeof d&&(c.events[a]=g,b.addEventListener(e,c.events[a],!1))}}function B(c,a,d){"function"===typeof c.oninit&&c.oninit.call(a.state,
a);"function"===typeof c.oncreate&&d.push(c.oncreate.bind(a.state,a))}function F(c,a,d,b){b?B(c,a,d):"function"===typeof c.onupdate&&d.push(c.onupdate.bind(a.state,a))}function u(c){if(c instanceof Array){for(var a=[],d=0;d<c.length;d++)a[d]=c[d];return a}if("object"===typeof c){a={};for(d in c)a[d]=c[d];return a}return c}var q=b.document,C=q.createDocumentFragment(),E;return{render:function(c,a){var d=[],b=q.activeElement;null==c.vnodes&&(c.textContent="");a instanceof Array||(a=[a]);k(c,c.vnodes,
w.normalizeChildren(a),d,null,void 0);c.vnodes=a;for(var g=0;g<d.length;g++)d[g]();q.activeElement!==b&&b.focus()},setEventCallback:function(c){return E=c}}}(window),J=function(b){function e(b,f){if(f instanceof Array)for(var n=0;n<f.length;n++)e(b+"["+n+"]",f[n]);else if("[object Object]"===Object.prototype.toString.call(f))for(n in f)e(b+"["+n+"]",f[n]);else p.push(encodeURIComponent(b)+(null!=f&&""!==f?"="+encodeURIComponent(f):""))}if("[object Object]"!==Object.prototype.toString.call(b))return"";
var p=[],f;for(f in b)e(f,b[f]);return p.join("&")},u=function(b,e){function p(b,e){if(null==e)return b;for(var f=b.match(/:[^\/]+/gi)||[],m=0;m<f.length;m++){var r=f[m].slice(1);null!=e[r]&&(b=b.replace(f[m],e[r]),delete e[r])}return b}function f(b,e){var f=J(e);if(""!==f){var m=0>b.indexOf("?")?"?":"&";b+=m+f}return b}function k(b){try{return""!==b?JSON.parse(b):null}catch(e){throw Error(b);}}function h(b){return b.responseText}function n(b,e){if("function"===typeof b)if(e instanceof Array)for(var f=
0;f<e.length;f++)e[f]=new b(e[f]);else return new b(e);return e}var t=L(e),r=0,x;return{xhr:function(g){var e=t.stream();void 0!==g.initialValue&&e(g.initialValue);var r="boolean"===typeof g.useBody?g.useBody:"GET"!==g.method&&"TRACE"!==g.method;"function"!==typeof g.serialize&&(g.serialize="undefined"!==typeof FormData&&g.data instanceof FormData?function(b){return b}:JSON.stringify);"function"!==typeof g.deserialize&&(g.deserialize=k);"function"!==typeof g.extract&&(g.extract=h);g.url=p(g.url,g.data);
r?g.data=g.serialize(g.data):g.url=f(g.url,g.data);var m=new b.XMLHttpRequest;m.open(g.method,g.url,"boolean"===typeof g.async?g.async:!0,"string"===typeof g.user?g.user:void 0,"string"===typeof g.password?g.password:void 0);g.serialize===JSON.stringify&&r&&m.setRequestHeader("Content-Type","application/json; charset=utf-8");g.deserialize===k&&m.setRequestHeader("Accept","application/json, text/*");"function"===typeof g.config&&(m=g.config(m,g)||m);m.onreadystatechange=function(){if(4===m.readyState){try{var b=
g.extract!==h?g.extract(m,g):g.deserialize(g.extract(m,g));if(200<=m.status&&300>m.status)e(n(g.type,b));else{var f=Error(m.responseText),r;for(r in b)f[r]=b[r];e.error(f)}}catch(k){e.error(k)}"function"===typeof x&&x()}};r?m.send(g.data):m.send();return e},jsonp:function(e){var l=t.stream();void 0!==e.initialValue&&l(e.initialValue);var k=e.callbackName||"_mithril_"+Math.round(1E16*Math.random())+"_"+r++,m=b.document.createElement("script");b[k]=function(f){m.parentNode.removeChild(m);l(n(e.type,
f));"function"===typeof x&&x();delete b[k]};m.onerror=function(){m.parentNode.removeChild(m);l.error(Error("JSONP request failed"));"function"===typeof x&&x();delete b[k]};null==e.data&&(e.data={});e.url=p(e.url,e.data);e.data[e.callbackKey||"callback"]=k;m.src=f(e.url,e.data);b.document.documentElement.appendChild(m);return l},setCompletionCallback:function(b){x=b}}}(window,u),G=function(){var b=[];return{subscribe:b.push.bind(b),unsubscribe:function(e){e=b.indexOf(e);-1<e&&b.splice(e,1)},publish:function(){for(var e=
0;e<b.length;e++)b[e].apply(this,arguments)}}}();u.setCompletionCallback(G.publish);var M=function(b){if(""===b||null==b)return{};"?"===b.charAt(0)&&(b=b.slice(1));b=b.split("&");for(var e={},p={},f=0;f<b.length;f++){var k=b[f].split("="),h=decodeURIComponent(k[0]),k=2===k.length?decodeURIComponent(k[1]):"",n=Number(k);""!==k&&!isNaN(n)||"NaN"===k?k=n:"true"===k?k=!0:"false"===k?k=!1:(n=new Date(k),isNaN(n.getTime())||(k=n));var n=h.split(/\]\[?|\[/),t=e;-1<h.indexOf("[")&&n.pop();for(var r=0;r<n.length;r++){var h=
n[r],x=n[r+1],x=""==x||!isNaN(parseInt(x,10)),g=r===n.length-1;""===h&&(h=n.slice(0,r).join(),null==p[h]&&(p[h]=0),h=p[h]++);null==t[h]&&(t[h]=g?k:x?[]:{});t=t[h]}}return e},Q=function(b){function e(e){var f=b.location[e].replace(/(?:%[a-f89][a-f0-9])+/gim,decodeURIComponent);"pathname"===e&&"/"!==f[0]&&(f="/"+f);return f}function p(b,e,g){var f=b.indexOf("?"),k=b.indexOf("#"),m=-1<f?f:-1<k?k:b.length;if(-1<f){var f=M(b.slice(f+1,-1<k?k:b.length)),h;for(h in f)e[h]=f[h]}if(-1<k)for(h in e=M(b.slice(k+
1)),e)g[h]=e[h];return b.slice(0,m)}function f(){switch(t.charAt(0)){case "#":return e("hash").slice(t.length);case "?":return e("search").slice(t.length)+e("hash");default:return e("pathname").slice(t.length)+e("search")+e("hash")}}function k(e,f,g){var k={},n={};e=p(e,k,n);if(null!=f){for(var m in f)k[m]=f[m];e=e.replace(/:([^\/]+)/g,function(b,e){delete k[e];return f[e]})}(m=J(k))&&(e+="?"+m);(n=J(n))&&(e+="#"+n);h?(g&&g.replace?b.history.replaceState(null,null,t+e):b.history.pushState(null,null,
t+e),b.onpopstate()):b.location.href=t+e}var h="function"===typeof b.history.pushState,n="function"===typeof setImmediate?setImmediate:setTimeout,t="#!";return{setPrefix:function(b){t=b},getPath:f,setPath:k,defineRoutes:function(e,k,g){function l(){var b=f(),m={},h=p(b,m,m);n(function(){for(var f in e){var l=new RegExp("^"+f.replace(/:[^\/]+?\.{3}/g,"(.*?)").replace(/:[^\/]+/g,"([^\\/]+)")+"/?$");if(l.test(h)){h.replace(l,function(){for(var g=f.match(/:[^\/]+/g)||[],h=[].slice.call(arguments,1,-2),
l=0;l<g.length;l++)m[g[l].replace(/:|\./g,"")]=decodeURIComponent(h[l]);k(e[f],m,b,f)});return}}g(b,m)})}h?b.onpopstate=l:"#"===t.charAt(0)&&(b.onhashchange=l);l();return l},link:function(b){b.dom.setAttribute("href",t+b.attrs.href);b.dom.onclick=function(e){e.preventDefault();e.redraw=!1;k(b.attrs.href,void 0,void 0)}}}},R=function(b){var e=0,p=null,f="function"===typeof requestAnimationFrame?requestAnimationFrame:setTimeout;return function(k){var h=Date.now();!0===k||0===e||16<=h-e?(e=h,b()):null===
p&&(p=f(function(){p=null;b();e=Date.now()},16-(h-e)))}},N=function(b,e,p,f){f=R(f);null!=e&&e.setEventCallback(function(b){!1!==b.redraw&&p.publish()});null!=p&&(b.redraw&&p.unsubscribe(b.redraw),p.subscribe(f));return b.redraw=f};v.route=function(b,e,p){var f=Q(b);b=function(b,h,n){var t=null,r="div";n=f.defineRoutes(n,function(f,g,l,h){if("function"!==typeof f.view){"function"!==typeof f.render&&(f.render=function(b){return b});var m=function(h){t=l;r=h;e.render(b,f.render(w(h,null,g,void 0,void 0,
void 0)))};"function"!==typeof f.resolve&&(f.resolve=function(){m(r)});l!==t?f.resolve(m,g,l,h):m(r)}else e.render(b,w(f,null,g,void 0,void 0,void 0))},function(){f.setPath(h,null,{replace:!0})});N(b,e,p,n)};b.link=f.link;b.prefix=f.setPrefix;b.set=f.setPath;b.get=f.getPath;return b}(window,I,G);var S={view:function(){}};v.mount=function(b,e){return function(p,f){e.unsubscribe(p.redraw);N(p,b,e,function(){b.render(p,w(null===f?S:f,void 0,void 0,void 0,void 0,void 0))})();null===f&&(e.unsubscribe(p.redraw),
delete p.redraw)}}(I,G);v.trust=function(b){return w("<",void 0,void 0,b,void 0,void 0)};v.withAttr=function(b,e,p){return function(f){return e.call(p||this,b in f.currentTarget?f.currentTarget[b]:f.currentTarget.getAttribute(b))}};v.prop=C.stream;v.prop.combine=C.combine;v.prop.reject=C.reject;v.prop.merge=C.merge;v.prop.HALT=C.HALT;v.render=I.render;v.redraw=G.publish;v.request=u.xhr;v.jsonp=u.jsonp;v.version="1.0.0";"undefined"!==typeof module?module.exports=v:window.m=v};
c.text&&(""!==c.text?h.textContent=c.text:c.children=[w("#",void 0,void 0,c.text,void 0,void 0)]);null!=c.children&&(g=c.children,e(h,g,0,g.length,a,null,d),a=c.attrs,"select"===c.tag&&null!=a&&("value"in a&&z(c,"value",null,a.value,void 0),"selectedIndex"in a&&z(c,"selectedIndex",null,a.selectedIndex,void 0)));return h}else return c.state||(c.state={}),u(c.state,c.tag),B(c.tag,c,a),c.instance=w.normalize(c.tag.view.call(c.state,c)),null!=c.instance?(a=p(c.instance,a,d),c.dom=c.instance.dom,c.domSize=
null!=c.dom?c.instance.domSize:0,c=a):(c.domSize=0,c=C),c}function f(c){var a={caption:"table",thead:"table",tbody:"table",tfoot:"table",tr:"tbody",th:"tr",td:"tr",colgroup:"table",col:"colgroup"}[(c.children.match(/^\s*?<(\w+)/im)||[])[1]]||"div",a=q.createElement(a);a.innerHTML=c.children;c.dom=a.firstChild;c.domSize=a.childNodes.length;c=q.createDocumentFragment();for(var d;d=a.firstChild;)c.appendChild(d);return c}function k(c,a,d,b,g,f){if(a!==d&&(null!=a||null!=d))if(null==a)e(c,d,0,d.length,
b,g,void 0);else if(null==d)x(c,a,0,a.length,d);else{var m;a:{if(null!=a.pool&&Math.abs(a.pool.length-d.length)<=Math.abs(a.length-d.length)&&(m=d[0]&&d[0].children&&d[0].children.length||0,Math.abs((a.pool[0]&&a.pool[0].children&&a.pool[0].children.length||0)-m)<=Math.abs((a[0]&&a[0].children&&a[0].children.length||0)-m))){m=!0;break a}m=!1}m&&(a=a.concat(a.pool));if(a.length===d.length&&null!=d[0]&&null==d[0].key)for(var l=0;l<a.length;l++)a[l]===d[l]||null==a[l]&&null==d[l]||(null==a[l]?r(c,p(d[l],
b,f),t(a,l+1,g)):null==d[l]?x(c,a,l,l+1,d):h(c,a[l],d[l],b,t(a,l+1,g),m,f),m&&a[l].tag===d[l].tag&&r(c,n(a[l]),t(a,l+1,g)));else{for(var k=l=0,z=a.length-1,A=d.length-1,w;z>=l&&A>=k;){var y=a[l],q=d[k];if(y===q)l++,k++;else if(null!=y&&null!=q&&y.key===q.key)l++,k++,h(c,y,q,b,t(a,l,g),m,f),m&&y.tag===q.tag&&r(c,n(y),g);else if(y=a[z],y===q)z--,k++;else if(null!=y&&null!=q&&y.key===q.key)h(c,y,q,b,t(a,z+1,g),m,f),k<A&&r(c,n(y),t(a,l,g)),z--,k++;else break}for(;z>=l&&A>=k;){y=a[z];q=d[A];if(y===q)z--;
else if(null!=y&&null!=q&&y.key===q.key)h(c,y,q,b,t(a,z+1,g),m,f),m&&y.tag===q.tag&&r(c,n(y),g),null!=y.dom&&(g=y.dom),z--;else{if(!w){w=a;var y=z,v={},u;for(u=0;u<y;u++){var B=w[u];null!=B&&(B=B.key,null!=B&&(v[B]=u))}w=v}null!=q&&(y=w[q.key],null!=y?(v=a[y],h(c,v,q,b,t(a,z+1,g),m,f),r(c,n(v),g),a[y].skip=!0,null!=v.dom&&(g=v.dom)):(q=p(q,b,void 0),r(c,q,g),g=q))}A--;if(A<k)break}e(c,d,k,A+1,b,g,f);x(c,a,l,z+1,d)}}}function h(c,a,d,b,e,l,x){var q=a.tag;if(q===d.tag){d.state=a.state;d.events=a.events;
var A;var t;null!=d.attrs&&"function"===typeof d.attrs.onbeforeupdate&&(A=d.attrs.onbeforeupdate.call(d.state,d,a));"string"!==typeof d.tag&&"function"===typeof d.tag.onbeforeupdate&&(t=d.tag.onbeforeupdate.call(d.state,d,a));void 0===A&&void 0===t||A||t?A=!1:(d.dom=a.dom,d.domSize=a.domSize,d.instance=a.instance,A=!0);if(!A)if(null!=d.attrs&&F(d.attrs,d,b,l),"string"===typeof q)switch(q){case "#":a.children.toString()!==d.children.toString()&&(a.dom.nodeValue=d.children);d.dom=a.dom;break;case "<":a.children!==
d.children?(n(a),r(c,f(d),e)):(d.dom=a.dom,d.domSize=a.domSize);break;case "[":k(c,a.children,d.children,b,e,x);a=0;b=d.children;d.dom=null;if(null!=b){for(var u=0;u<b.length;u++)c=b[u],null!=c&&null!=c.dom&&(null==d.dom&&(d.dom=c.dom),a+=c.domSize||1);1!==a&&(d.domSize=a)}break;default:c=x;e=d.dom=a.dom;switch(d.tag){case "svg":c="http://www.w3.org/2000/svg";break;case "math":c="http://www.w3.org/1998/Math/MathML"}"textarea"===d.tag&&(null==d.attrs&&(d.attrs={}),null!=d.text&&(d.attrs.value=d.text));
l=a.attrs;x=d.attrs;q=c;if(null!=x)for(u in x)z(d,u,l&&l[u],x[u],q);if(null!=l)for(u in l)null!=x&&u in x||("o"!==u[0]||"n"!==u[1]||m(u)?"key"!==u&&d.dom.removeAttribute(u):v(d,u,void 0));null!=a.text&&null!=d.text&&""!==d.text?a.text.toString()!==d.text.toString()&&(a.dom.firstChild.nodeValue=d.text):(null!=a.text&&(a.children=[w("#",void 0,void 0,a.text,void 0,a.dom.firstChild)]),null!=d.text&&(d.children=[w("#",void 0,void 0,d.text,void 0,void 0)]),k(e,a.children,d.children,b,null,c))}else d.instance=
w.normalize(d.tag.view.call(d.state,d)),F(d.tag,d,b,l),null!=d.instance?(null==a.instance?r(c,p(d.instance,b,x),e):h(c,a.instance,d.instance,b,e,l,x),d.dom=d.instance.dom,d.domSize=d.instance.domSize):null!=a.instance?(g(c,a.instance,null,!1),d.dom=void 0,d.domSize=0):(d.dom=a.dom,d.domSize=a.domSize)}else g(c,a,null,!1),r(c,p(d,b,void 0),e)}function n(c){var a=c.domSize;if(null!=a||null==c.dom){var d=q.createDocumentFragment();if(0<a){for(c=c.dom;--a;)d.appendChild(c.nextSibling);d.insertBefore(c,
d.firstChild)}return d}return c.dom}function t(c,a,d){for(;a<c.length;a++)if(null!=c[a]&&null!=c[a].dom)return c[a].dom;return d}function r(c,a,d){d&&d.parentNode?c.insertBefore(a,d):c.appendChild(a)}function x(c,a,d,b,e){for(;d<b;d++){var l=a[d];null!=l&&(l.skip?l.skip=void 0:g(c,l,e,!1))}}function g(c,a,d,b){if(!1===b){var e=0,m=0;b=function(){++m===e&&g(c,a,d,!0)};a.attrs&&a.attrs.onbeforeremove&&(e++,a.attrs.onbeforeremove.call(a.state,a,b));"string"!==typeof a.tag&&a.tag.onbeforeremove&&(e++,
a.tag.onbeforeremove.call(a.state,a,b));if(0<e)return}l(a);if(a.dom){b=a.domSize||1;if(1<b)for(var f=a.dom;--b;)c.removeChild(f.nextSibling);null!=a.dom.parentNode&&c.removeChild(a.dom);null==d||null!=a.domSize||A(a.attrs)||"string"!==typeof a.tag||(d.pool?d.pool.push(a):d.pool=[a])}}function l(c){c.attrs&&c.attrs.onremove&&c.attrs.onremove.call(c.state,c);"string"!==typeof c.tag&&c.tag.onremove&&c.tag.onremove.call(c.state,c);if(null!=c.instance)l(c.instance);else if(c=c.children,c instanceof Array)for(var a=
0;a<c.length;a++){var d=c[a];null!=d&&l(d)}}function z(c,a,d,b,g){var e=c.dom;if("key"!==a&&(d!==b||"value"===a||"checked"===a||"selectedIndex"===a||"selected"===a&&c.dom===q.activeElement||"object"===typeof b)&&"undefined"!==typeof b&&!m(a)){var l=a.indexOf(":");if(-1<l&&"xlink"===a.substr(0,l))e.setAttributeNS("http://www.w3.org/1999/xlink",a.slice(l+1),b);else if("o"===a[0]&&"n"===a[1]&&"function"===typeof b)v(c,a,b);else if("style"===a)if(c=d,c===b&&(e.style.cssText="",c=null),null==b)e.style.cssText=
"";else if("string"===typeof b)e.style.cssText=b;else{"string"===typeof c&&(e.style.cssText="");for(var f in b)e.style[f]=b[f];if(null!=c&&"string"!==typeof c)for(f in c)f in b||(e.style[f]="")}else if(a in e&&"href"!==a&&"list"!==a&&"form"!==a&&void 0===g){if("input"!==c.tag||"value"!==a||c.dom.value!==b||c.dom!==q.activeElement)e[a]=b}else"boolean"===typeof b?b?e.setAttribute(a,""):e.removeAttribute(a):e.setAttribute("className"===a?"class":a,b)}}function m(c){return"oninit"===c||"oncreate"===c||
"onupdate"===c||"onremove"===c||"onbeforeremove"===c||"onbeforeupdate"===c}function A(c){return null!=c&&(c.oncreate||c.onupdate||c.onbeforeremove||c.onremove)}function v(c,a,d){var b=c.dom,g=function(a){var c=d.call(b,a);"function"===typeof E&&E.call(b,a);return c};if(a in b)b[a]=g;else{var e=a.slice(2);void 0===c.events&&(c.events={});null!=c.events[a]&&b.removeEventListener(e,c.events[a],!1);"function"===typeof d&&(c.events[a]=g,b.addEventListener(e,c.events[a],!1))}}function B(c,a,d){"function"===
typeof c.oninit&&c.oninit.call(a.state,a);"function"===typeof c.oncreate&&d.push(c.oncreate.bind(a.state,a))}function F(c,a,d,b){b?B(c,a,d):"function"===typeof c.onupdate&&d.push(c.onupdate.bind(a.state,a))}function u(c,a){Object.keys(a).forEach(function(d){c[d]=a[d]})}var q=b.document,C=q.createDocumentFragment(),E;return{render:function(c,a){var d=[],b=q.activeElement;null==c.vnodes&&(c.textContent="");a instanceof Array||(a=[a]);k(c,c.vnodes,w.normalizeChildren(a),d,null,void 0);c.vnodes=a;for(var g=
0;g<d.length;g++)d[g]();q.activeElement!==b&&b.focus()},setEventCallback:function(c){return E=c}}}(window),J=function(b){function e(b,f){if(f instanceof Array)for(var n=0;n<f.length;n++)e(b+"["+n+"]",f[n]);else if("[object Object]"===Object.prototype.toString.call(f))for(n in f)e(b+"["+n+"]",f[n]);else p.push(encodeURIComponent(b)+(null!=f&&""!==f?"="+encodeURIComponent(f):""))}if("[object Object]"!==Object.prototype.toString.call(b))return"";var p=[],f;for(f in b)e(f,b[f]);return p.join("&")},u=
function(b,e){function p(b,e){if(null==e)return b;for(var f=b.match(/:[^\/]+/gi)||[],m=0;m<f.length;m++){var r=f[m].slice(1);null!=e[r]&&(b=b.replace(f[m],e[r]),delete e[r])}return b}function f(b,e){var f=J(e);if(""!==f){var m=0>b.indexOf("?")?"?":"&";b+=m+f}return b}function k(b){try{return""!==b?JSON.parse(b):null}catch(e){throw Error(b);}}function h(b){return b.responseText}function n(b,e){if("function"===typeof b)if(e instanceof Array)for(var f=0;f<e.length;f++)e[f]=new b(e[f]);else return new b(e);
return e}var t=L(e),r=0,x;return{xhr:function(g){var e=t.stream();void 0!==g.initialValue&&e(g.initialValue);var r="boolean"===typeof g.useBody?g.useBody:"GET"!==g.method&&"TRACE"!==g.method;"function"!==typeof g.serialize&&(g.serialize="undefined"!==typeof FormData&&g.data instanceof FormData?function(b){return b}:JSON.stringify);"function"!==typeof g.deserialize&&(g.deserialize=k);"function"!==typeof g.extract&&(g.extract=h);g.url=p(g.url,g.data);r?g.data=g.serialize(g.data):g.url=f(g.url,g.data);
var m=new b.XMLHttpRequest;m.open(g.method,g.url,"boolean"===typeof g.async?g.async:!0,"string"===typeof g.user?g.user:void 0,"string"===typeof g.password?g.password:void 0);g.serialize===JSON.stringify&&r&&m.setRequestHeader("Content-Type","application/json; charset=utf-8");g.deserialize===k&&m.setRequestHeader("Accept","application/json, text/*");"function"===typeof g.config&&(m=g.config(m,g)||m);m.onreadystatechange=function(){if(4===m.readyState){try{var b=g.extract!==h?g.extract(m,g):g.deserialize(g.extract(m,
g));if(200<=m.status&&300>m.status)e(n(g.type,b));else{var f=Error(m.responseText),r;for(r in b)f[r]=b[r];e.error(f)}}catch(k){e.error(k)}"function"===typeof x&&x()}};r?m.send(g.data):m.send();return e},jsonp:function(e){var l=t.stream();void 0!==e.initialValue&&l(e.initialValue);var k=e.callbackName||"_mithril_"+Math.round(1E16*Math.random())+"_"+r++,m=b.document.createElement("script");b[k]=function(f){m.parentNode.removeChild(m);l(n(e.type,f));"function"===typeof x&&x();delete b[k]};m.onerror=
function(){m.parentNode.removeChild(m);l.error(Error("JSONP request failed"));"function"===typeof x&&x();delete b[k]};null==e.data&&(e.data={});e.url=p(e.url,e.data);e.data[e.callbackKey||"callback"]=k;m.src=f(e.url,e.data);b.document.documentElement.appendChild(m);return l},setCompletionCallback:function(b){x=b}}}(window,u),G=function(){var b=[];return{subscribe:b.push.bind(b),unsubscribe:function(e){e=b.indexOf(e);-1<e&&b.splice(e,1)},publish:function(){for(var e=0;e<b.length;e++)b[e].apply(this,
arguments)}}}();u.setCompletionCallback(G.publish);var M=function(b){if(""===b||null==b)return{};"?"===b.charAt(0)&&(b=b.slice(1));b=b.split("&");for(var e={},p={},f=0;f<b.length;f++){var k=b[f].split("="),h=decodeURIComponent(k[0]),k=2===k.length?decodeURIComponent(k[1]):"",n=Number(k);""!==k&&!isNaN(n)||"NaN"===k?k=n:"true"===k?k=!0:"false"===k?k=!1:(n=new Date(k),isNaN(n.getTime())||(k=n));var n=h.split(/\]\[?|\[/),t=e;-1<h.indexOf("[")&&n.pop();for(var r=0;r<n.length;r++){var h=n[r],x=n[r+1],
x=""==x||!isNaN(parseInt(x,10)),g=r===n.length-1;""===h&&(h=n.slice(0,r).join(),null==p[h]&&(p[h]=0),h=p[h]++);null==t[h]&&(t[h]=g?k:x?[]:{});t=t[h]}}return e},Q=function(b){function e(e){var f=b.location[e].replace(/(?:%[a-f89][a-f0-9])+/gim,decodeURIComponent);"pathname"===e&&"/"!==f[0]&&(f="/"+f);return f}function p(b,e,g){var f=b.indexOf("?"),k=b.indexOf("#"),m=-1<f?f:-1<k?k:b.length;if(-1<f){var f=M(b.slice(f+1,-1<k?k:b.length)),h;for(h in f)e[h]=f[h]}if(-1<k)for(h in e=M(b.slice(k+1)),e)g[h]=
e[h];return b.slice(0,m)}function f(){switch(t.charAt(0)){case "#":return e("hash").slice(t.length);case "?":return e("search").slice(t.length)+e("hash");default:return e("pathname").slice(t.length)+e("search")+e("hash")}}function k(e,f,g){var k={},n={};e=p(e,k,n);if(null!=f){for(var m in f)k[m]=f[m];e=e.replace(/:([^\/]+)/g,function(b,e){delete k[e];return f[e]})}(m=J(k))&&(e+="?"+m);(n=J(n))&&(e+="#"+n);h?(g&&g.replace?b.history.replaceState(null,null,t+e):b.history.pushState(null,null,t+e),b.onpopstate()):
b.location.href=t+e}var h="function"===typeof b.history.pushState,n="function"===typeof setImmediate?setImmediate:setTimeout,t="#!";return{setPrefix:function(b){t=b},getPath:f,setPath:k,defineRoutes:function(e,k,g){function l(){var b=f(),m={},h=p(b,m,m);n(function(){for(var f in e){var l=new RegExp("^"+f.replace(/:[^\/]+?\.{3}/g,"(.*?)").replace(/:[^\/]+/g,"([^\\/]+)")+"/?$");if(l.test(h)){h.replace(l,function(){for(var g=f.match(/:[^\/]+/g)||[],h=[].slice.call(arguments,1,-2),l=0;l<g.length;l++)m[g[l].replace(/:|\./g,
"")]=decodeURIComponent(h[l]);k(e[f],m,b,f)});return}}g(b,m)})}h?b.onpopstate=l:"#"===t.charAt(0)&&(b.onhashchange=l);l();return l},link:function(b){b.dom.setAttribute("href",t+b.attrs.href);b.dom.onclick=function(e){e.preventDefault();e.redraw=!1;k(b.attrs.href,void 0,void 0)}}}},R=function(b){var e=0,p=null,f="function"===typeof requestAnimationFrame?requestAnimationFrame:setTimeout;return function(k){var h=Date.now();!0===k||0===e||16<=h-e?(e=h,b()):null===p&&(p=f(function(){p=null;b();e=Date.now()},
16-(h-e)))}},N=function(b,e,p,f){f=R(f);null!=e&&e.setEventCallback(function(b){!1!==b.redraw&&p.publish()});null!=p&&(b.redraw&&p.unsubscribe(b.redraw),p.subscribe(f));return b.redraw=f};v.route=function(b,e,p){var f=Q(b);b=function(b,h,n){var t=null,r="div";n=f.defineRoutes(n,function(f,g,l,h){if("function"!==typeof f.view){"function"!==typeof f.render&&(f.render=function(b){return b});var m=function(h){t=l;r=h;e.render(b,f.render(w(h,null,g,void 0,void 0,void 0)))};"function"!==typeof f.resolve&&
(f.resolve=function(){m(r)});l!==t?f.resolve(m,g,l,h):m(r)}else e.render(b,w(f,null,g,void 0,void 0,void 0))},function(){f.setPath(h,null,{replace:!0})});N(b,e,p,n)};b.link=f.link;b.prefix=f.setPrefix;b.set=f.setPath;b.get=f.getPath;return b}(window,I,G);var S={view:function(){}};v.mount=function(b,e){return function(p,f){e.unsubscribe(p.redraw);N(p,b,e,function(){b.render(p,w(null===f?S:f,void 0,void 0,void 0,void 0,void 0))})();null===f&&(e.unsubscribe(p.redraw),delete p.redraw)}}(I,G);v.trust=
function(b){return w("<",void 0,void 0,b,void 0,void 0)};v.withAttr=function(b,e,p){return function(f){return e.call(p||this,b in f.currentTarget?f.currentTarget[b]:f.currentTarget.getAttribute(b))}};v.prop=C.stream;v.prop.combine=C.combine;v.prop.reject=C.reject;v.prop.merge=C.merge;v.prop.HALT=C.HALT;v.render=I.render;v.redraw=G.publish;v.request=u.xhr;v.jsonp=u.jsonp;v.version="1.0.0";"undefined"!==typeof module?module.exports=v:window.m=v};