mithril
Version:
A framework for building brilliant applications
1 lines • 24.7 kB
JavaScript
!function(){"use strict";function e(e,t,n,r,i,o){return{tag:e,key:t,attrs:n,children:r,text:i,dom:o,is:void 0,domSize:void 0,state:void 0,events:void 0,instance:void 0}}e.normalize=function(t){if(Array.isArray(t))return e("[",void 0,void 0,e.normalizeChildren(t),void 0,void 0);if(null==t||"boolean"==typeof t)return null;if("object"==typeof t)return t;else return e("#",void 0,void 0,String(t),void 0,void 0)},e.normalizeChildren=function(t){for(var n=new Array(t.length),r=0,i=0;i<t.length;i++)if(n[i]=e.normalize(t[i]),null!==n[i]&&null!=n[i].key)r++;if(0!==r&&r!==t.length)throw new TypeError(n.includes(null)?"In fragments, vnodes must either all have keys or none have keys. You may wish to consider using an explicit keyed empty fragment, m.fragment({key: ...}), instead of a hole.":"In fragments, vnodes must either all have keys or none have keys.");return n};var t=function(t,n){if(null==t||"object"==typeof t&&null==t.tag&&!Array.isArray(t)){if(1===n.length&&Array.isArray(n[0]))n=n[0]}else n=0===n.length&&Array.isArray(t)?t:[t,...n],t=void 0;return e("",t&&t.key,t,n)},n={}.hasOwnProperty,r={},i=new Map([[r,!0]]),o=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,l=Object.create(null);function a(e){for(var t in e)if(n.call(e,t))return!1;return!0}function f(e){for(var t,n,f="div",s=[],u={},c=!0;t=o.exec(e);){var d=t[1],v=t[2];if(""===d&&""!==v)f=v;else if("#"===d)u.id=v;else if("."===d)s.push(v);else if("["===t[3][0]){var p=t[6];if(p)p=p.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\");if("class"===t[4])s.push(p);else if(u[t[4]]=""===p?p:p||!0,"value"===(n=t[4])||"checked"===n||"selectedIndex"===n||"selected"===n)c=!1}}if(s.length>0)u.className=s.join(" ");if(a(u))u=r;else i.set(u,c);return l[e]={tag:f,attrs:u,is:u.is}}function s(e,t){t.tag=e.tag;var i=t.attrs;if(null==i)return t.attrs=e.attrs,t.is=e.is,t;if(n.call(i,"class")){if(null!=i.class)i.className=i.class;i.class=null}if(e.attrs!==r){var o=i.className;if(i=Object.assign({},e.attrs,i),null!=e.attrs.className)i.className=null!=o?String(e.attrs.className)+" "+String(o):e.attrs.className}if("input"===e.tag&&n.call(i,"type"))i=Object.assign({type:i.type},i);return t.is=i.is,t.attrs=i,t}function u(n,r,...i){if(null==n||"string"!=typeof n&&"function"!=typeof n&&"function"!=typeof n.view)throw Error("The selector must be either a string or a component.");var o=t(r,i);if("string"==typeof n)if(o.children=e.normalizeChildren(o.children),"["!==n)return s(l[n]||f(n),o);if(null==o.attrs)o.attrs={};return o.tag=n,o}u.trust=function(t){if(null==t)t="";return e("<",void 0,void 0,t,void 0,void 0)},u.fragment=function(n,...r){var i=t(n,r);if(null==i.attrs)i.attrs={};return i.tag="[",i.children=e.normalizeChildren(i.children),i};var c=new WeakMap;function*d(e){var t=e.dom,n=e.domSize,r=c.get(t);if(null!=t)do{var i=t.nextSibling;if(c.get(t)===r)yield t,n--;t=i}while(n)}var v=function(){var t,n,r={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"};function o(e){return e.ownerDocument}function l(e){return e.attrs&&e.attrs.xmlns||r[e.tag]}function a(e,t){if(e.state!==t)throw new Error("'vnode.state' must not be modified.")}function f(e){var t=e.state;try{return this.apply(t,arguments)}finally{a(e,t)}}function s(e){try{return o(e).activeElement}catch(e){return null}}function u(e,t,n,r,i,o,l){for(var a=n;a<r;a++){var f=t[a];if(null!=f)v(e,f,i,l,o)}}function v(e,t,n,r,i){var o=t.tag;if("string"==typeof o){if(t.state={},null!=t.attrs)Z(t.attrs,t,n);switch(o){case"#":p(e,t,i);break;case"<":h(e,t,r,i);break;case"[":g(e,t,n,r,i);break;default:y(e,t,n,r,i)}}else b(e,t,n,r,i)}function p(e,t,n){t.dom=o(e).createTextNode(t.children),P(e,t.dom,n)}var m={caption:"table",thead:"table",tbody:"table",tfoot:"table",tr:"tbody",th:"tr",td:"tr",colgroup:"table",col:"colgroup"};function h(e,t,n,r){var i=t.children.match(/^\s*?<(\w+)/im)||[],l=o(e).createElement(m[i[1]]||"div");if("http://www.w3.org/2000/svg"===n)l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg">'+t.children+"</svg>",l=l.firstChild;else l.innerHTML=t.children;t.dom=l.firstChild,t.domSize=l.childNodes.length;for(var a,f=o(e).createDocumentFragment();a=l.firstChild;)f.appendChild(a);P(e,f,r)}function g(e,t,n,r,i){var l=o(e).createDocumentFragment();if(null!=t.children){var a=t.children;u(l,a,0,a.length,n,null,r)}t.dom=l.firstChild,t.domSize=l.childNodes.length,P(e,l,i)}function y(e,t,n,r,i){var a=t.tag,f=t.attrs,s=t.is,c=(r=l(t)||r)?s?o(e).createElementNS(r,a,{is:s}):o(e).createElementNS(r,a):s?o(e).createElement(a,{is:s}):o(e).createElement(a);if(t.dom=c,null!=f)U(t,f,r);if(P(e,c,i),!I(t))if(null!=t.children){var d=t.children;if(u(c,d,0,d.length,n,null,r),"select"===t.tag&&null!=f)J(t,f)}}function w(t,n){var r;if("function"==typeof t.tag.view){if(t.state=Object.create(t.tag),null!=(r=t.state.view).$$reentrantLock$$)return;r.$$reentrantLock$$=!0}else{if(t.state=void 0,null!=(r=t.tag).$$reentrantLock$$)return;r.$$reentrantLock$$=!0,t.state=null!=t.tag.prototype&&"function"==typeof t.tag.prototype.view?new t.tag(t):t.tag(t)}if(Z(t.state,t,n),null!=t.attrs)Z(t.attrs,t,n);if(t.instance=e.normalize(f.call(t.state.view,t)),t.instance===t)throw Error("A view cannot return the vnode it received as argument");r.$$reentrantLock$$=null}function b(e,t,n,r,i){if(w(t,n),null!=t.instance)v(e,t.instance,n,r,i),t.dom=t.instance.dom,t.domSize=t.instance.domSize;else t.domSize=0}function k(e,t,n,r,i,o){if(t!==n&&(null!=t||null!=n))if(null==t||0===t.length)u(e,n,0,n.length,r,i,o);else if(null==n||0===n.length)R(e,t,0,t.length);else{var l=null!=t[0]&&null!=t[0].key,a=null!=n[0]&&null!=n[0].key,f=0,s=0;if(!l)for(;s<t.length&&null==t[s];)s++;if(!a)for(;f<n.length&&null==n[f];)f++;if(l!==a)R(e,t,s,t.length),u(e,n,f,n.length,r,i,o);else if(!a){var c=t.length<n.length?t.length:n.length;for(f=f<s?f:s;f<c;f++)if((d=t[f])!==(p=n[f])&&(null!=d||null!=p))if(null==d)v(e,p,r,o,N(t,f+1,i));else if(null==p)M(e,d);else x(e,d,p,r,N(t,f+1,i),o);if(t.length>c)R(e,t,f,t.length);if(n.length>c)u(e,n,f,n.length,r,i,o)}else{for(var d,p,m,h,g,y=t.length-1,w=n.length-1;y>=s&&w>=f&&(m=t[y],h=n[w],m.key===h.key);){if(m!==h)x(e,m,h,r,i,o);if(null!=h.dom)i=h.dom;y--,w--}for(;y>=s&&w>=f&&(d=t[s],p=n[f],d.key===p.key);)if(s++,f++,d!==p)x(e,d,p,r,N(t,s,i),o);for(;y>=s&&w>=f&&f!==w&&d.key===h.key&&m.key===p.key;){if(L(e,m,g=N(t,s,i)),m!==p)x(e,m,p,r,g,o);if(++f<=--w)L(e,d,i);if(d!==h)x(e,d,h,r,i,o);if(null!=h.dom)i=h.dom;s++,m=t[--y],h=n[w],d=t[s],p=n[f]}for(;y>=s&&w>=f&&m.key===h.key;){if(m!==h)x(e,m,h,r,i,o);if(null!=h.dom)i=h.dom;w--,m=t[--y],h=n[w]}if(f>w)R(e,t,s,y+1);else if(s>y)u(e,n,f,w+1,r,i,o);else{var b,k,S=i,z=w-f+1,E=new Array(z),j=0,O=0,C=2147483647,T=0;for(O=0;O<z;O++)E[O]=-1;for(O=w;O>=f;O--){if(null==b)b=A(t,s,y+1);var P=b[(h=n[O]).key];if(null!=P){if(C=P<C?P:-1,E[O-f]=P,m=t[P],t[P]=null,m!==h)x(e,m,h,r,i,o);if(null!=h.dom)i=h.dom;T++}}if(i=S,T!==y-s+1)R(e,t,s,y+1);if(0===T)u(e,n,f,w+1,r,i,o);else if(-1===C)for(j=(k=$(E)).length-1,O=w;O>=f;O--){if(p=n[O],-1===E[O-f])v(e,p,r,o,i);else if(k[j]===O-f)j--;else L(e,p,i);if(null!=p.dom)i=n[O].dom}else for(O=w;O>=f;O--){if(p=n[O],-1===E[O-f])v(e,p,r,o,i);if(null!=p.dom)i=n[O].dom}}}}}function x(e,t,n,r,i,o){var l=t.tag;if(l===n.tag&&t.is===n.is){if(n.state=t.state,n.events=t.events,te(n,t))return;if("string"==typeof l){if(null!=n.attrs)ee(n.attrs,n,r);switch(l){case"#":S(t,n);break;case"<":z(e,t,n,o,i);break;case"[":E(e,t,n,r,i,o);break;default:j(t,n,r,o)}}else O(e,t,n,r,i,o)}else M(e,t),v(e,n,r,o,i)}function S(e,t){if(e.children.toString()!==t.children.toString())e.dom.nodeValue=t.children;t.dom=e.dom}function z(e,t,n,r,i){if(t.children!==n.children)q(e,t),h(e,n,r,i);else n.dom=t.dom,n.domSize=t.domSize}function E(e,t,n,r,i,o){k(e,t.children,n.children,r,i,o);var l=0,a=n.children;if(n.dom=null,null!=a)for(var f=0;f<a.length;f++){var s=a[f];if(null!=s&&null!=s.dom){if(null==n.dom)n.dom=s.dom;l+=s.domSize||1}}n.domSize=l}function j(e,t,n,r){var o=t.dom=e.dom;if(r=l(t)||r,e.attrs!=t.attrs||null!=t.attrs&&!i.get(t.attrs))B(t,e.attrs,t.attrs,r);if(!I(t))k(o,e.children,t.children,n,null,r)}function O(t,n,r,i,o,l){if(r.instance=e.normalize(f.call(r.state.view,r)),r.instance===r)throw Error("A view cannot return the vnode it received as argument");if(ee(r.state,r,i),null!=r.attrs)ee(r.attrs,r,i);if(null!=r.instance){if(null==n.instance)v(t,r.instance,i,l,o);else x(t,n.instance,r.instance,i,o,l);r.dom=r.instance.dom,r.domSize=r.instance.domSize}else{if(null!=n.instance)M(t,n.instance);r.domSize=0}}function A(e,t,n){for(var r=Object.create(null);t<n;t++){var i=e[t];if(null!=i){var o=i.key;if(null!=o)r[o]=t}}return r}var C,T=[];function $(e){var t=[0],n=0,r=0,i=0,o=T.length=e.length;for(i=0;i<o;i++)T[i]=e[i];for(i=0;i<o;++i)if(-1!==e[i]){var l=t[t.length-1];if(!(e[l]<e[i])){for(n=0,r=t.length-1;n<r;){var a=(n>>>1)+(r>>>1)+(n&r&1);if(e[t[a]]<e[i])n=a+1;else r=a}if(e[i]<e[t[n]]){if(n>0)T[i]=t[n-1];t[n]=i}}else T[i]=l,t.push(i)}for(r=t[(n=t.length)-1];n-- >0;)t[n]=r,r=T[r];return T.length=0,t}function N(e,t,n){for(;t<e.length;t++)if(null!=e[t]&&null!=e[t].dom)return e[t].dom;return n}function L(e,t,n){if(null!=t.dom){var r;if(null==t.domSize||1===t.domSize)r=t.dom;else for(var i of(r=o(e).createDocumentFragment(),d(t)))r.appendChild(i);P(e,r,n)}}function P(e,t,n){if(null!=n)e.insertBefore(t,n);else e.appendChild(t)}function I(e){if(null==e.attrs||null==e.attrs.contenteditable&&null==e.attrs.contentEditable)return!1;var t=e.children;if(null!=t&&1===t.length&&"<"===t[0].tag){var n=t[0].children;if(e.dom.innerHTML!==n)e.dom.innerHTML=n}else if(null!=t&&0!==t.length)throw new Error("Child node of a contenteditable must be trusted.");return!0}function R(e,t,n,r){for(var i=n;i<r;i++){var o=t[i];if(null!=o)M(e,o)}}function _(e,t,r,i){var o=t.state,l=f.call(r.onbeforeremove,t);if(null!=l){var s=n;for(var u of d(t))c.set(u,s);i.v++,Promise.resolve(l).finally((function(){a(t,o),D(e,t,i)}))}}function D(e,t,n){if(0==--n.v)F(t),q(e,t)}function M(e,t){var n={v:1};if("string"!=typeof t.tag&&"function"==typeof t.state.onbeforeremove)_(e,t,t.state,n);if(t.attrs&&"function"==typeof t.attrs.onbeforeremove)_(e,t,t.attrs,n);D(e,t,n)}function q(e,t){if(null!=t.dom)if(null==t.domSize||1===t.domSize)e.removeChild(t.dom);else for(var n of d(t))e.removeChild(n)}function F(e){if("string"!=typeof e.tag&&"function"==typeof e.state.onremove)f.call(e.state.onremove,e);if(e.attrs&&"function"==typeof e.attrs.onremove)f.call(e.attrs.onremove,e);if("string"!=typeof e.tag){if(null!=e.instance)F(e.instance)}else{if(null!=e.events)e.events._=null;var t=e.children;if(Array.isArray(t))for(var n=0;n<t.length;n++){var r=t[n];if(null!=r)F(r)}}}function U(e,t,n){for(var r in t)H(e,r,null,t[r],n)}function H(e,t,n,r,i){if("key"!==t&&null!=r&&!G(t)&&(n!==r||Q(e,t)||"object"==typeof r)){if("o"===t[0]&&"n"===t[1])return Y(e,t,r);if("xlink:"===t.slice(0,6))e.dom.setAttributeNS("http://www.w3.org/1999/xlink",t.slice(6),r);else if("style"===t)W(e.dom,n,r);else if(V(e,t,i)){if("value"===t){if(("input"===e.tag||"textarea"===e.tag)&&e.dom.value===""+r)return;if("select"===e.tag&&null!==n&&e.dom.value===""+r)return;if("option"===e.tag&&null!==n&&e.dom.value===""+r)return;if("input"===e.tag&&"file"===e.attrs.type&&""+r!="")return void console.error("`value` is read-only on file inputs!")}if("input"===e.tag&&"type"===t)e.dom.setAttribute(t,r);else e.dom[t]=r}else if("boolean"==typeof r)if(r)e.dom.setAttribute(t,"");else e.dom.removeAttribute(t);else e.dom.setAttribute("className"===t?"class":t,r)}}function K(e,t,n,r){if("key"!==t&&null!=n&&!G(t))if("o"===t[0]&&"n"===t[1])Y(e,t,void 0);else if("style"===t)W(e.dom,n,null);else if(V(e,t,r)&&"className"!==t&&"title"!==t&&("value"!==t||"option"!==e.tag&&("select"!==e.tag||-1!==e.dom.selectedIndex||e.dom!==s(e.dom)))&&("input"!==e.tag||"type"!==t))e.dom[t]=null;else{var i=t.indexOf(":");if(-1!==i)t=t.slice(i+1);if(!1!==n)e.dom.removeAttribute("className"===t?"class":t)}}function J(e,t){if("value"in t)if(null===t.value){if(-1!==e.dom.selectedIndex)e.dom.value=null}else{var n=""+t.value;if(e.dom.value!==n||-1===e.dom.selectedIndex)e.dom.value=n}if("selectedIndex"in t)H(e,"selectedIndex",null,t.selectedIndex,void 0)}function B(e,t,n,r){var o;if(null!=t){if(t===n&&!i.has(n))console.warn("Don't reuse attrs object, use new object for every redraw, this will throw in next major");for(var l in t)if(null!=(o=t[l])&&(null==n||null==n[l]))K(e,l,o,r)}if(null!=n)for(var l in n)H(e,l,t&&t[l],n[l],r)}function Q(e,t){return"value"===t||"checked"===t||"selectedIndex"===t||"selected"===t&&(e.dom===s(e.dom)||"option"===e.tag&&e.dom.parentNode===s(e.dom))}function G(e){return"oninit"===e||"oncreate"===e||"onupdate"===e||"onremove"===e||"onbeforeremove"===e||"onbeforeupdate"===e}function V(e,t,n){return void 0===n&&(e.tag.indexOf("-")>-1||e.is||"href"!==t&&"list"!==t&&"form"!==t&&"width"!==t&&"height"!==t)&&t in e.dom}function W(e,t,n){if(t===n);else if(null==n)e.style="";else if("object"!=typeof n)e.style=n;else if(null==t||"object"!=typeof t)for(var r in e.style="",n){if(null!=(i=n[r]))if(r.includes("-"))e.style.setProperty(r,String(i));else e.style[r]=String(i)}else{for(var r in t)if(null!=t[r]&&null==n[r])if(r.includes("-"))e.style.removeProperty(r);else e.style[r]="";for(var r in n){var i;if(null!=(i=n[r])&&(i=String(i))!==String(t[r]))if(r.includes("-"))e.style.setProperty(r,i);else e.style[r]=i}}}function X(){this._=t}function Y(e,n,r){if(null!=e.events){if(e.events._=t,e.events[n]===r)return;if(null!=r&&("function"==typeof r||"object"==typeof r)){if(null==e.events[n])e.dom.addEventListener(n.slice(2),e.events,!1);e.events[n]=r}else{if(null!=e.events[n])e.dom.removeEventListener(n.slice(2),e.events,!1);e.events[n]=void 0}}else if(null!=r&&("function"==typeof r||"object"==typeof r))e.events=new X,e.dom.addEventListener(n.slice(2),e.events,!1),e.events[n]=r}function Z(e,t,n){if("function"==typeof e.oninit)f.call(e.oninit,t);if("function"==typeof e.oncreate)n.push(f.bind(e.oncreate,t))}function ee(e,t,n){if("function"==typeof e.onupdate)n.push(f.bind(e.onupdate,t))}function te(e,t){do{if(null!=e.attrs&&"function"==typeof e.attrs.onbeforeupdate){if(void 0!==(n=f.call(e.attrs.onbeforeupdate,e,t))&&!n)break}if("string"!=typeof e.tag&&"function"==typeof e.state.onbeforeupdate){var n;if(void 0!==(n=f.call(e.state.onbeforeupdate,e,t))&&!n)break}return!1}while(0);return e.dom=t.dom,e.domSize=t.domSize,e.instance=t.instance,e.attrs=t.attrs,e.children=t.children,e.text=t.text,!0}return X.prototype=Object.create(null),X.prototype.handleEvent=function(e){var t,n=this["on"+e.type];if("function"==typeof n)t=n.call(e.currentTarget,e);else if("function"==typeof n.handleEvent)n.handleEvent(e);var r=this;if(null!=r._){if(!1!==e.redraw)(0,r._)();if(null!=t&&"function"==typeof t.then)Promise.resolve(t).then((function(){if(null!=r._&&!1!==e.redraw)(0,r._)()}))}if(!1===t)e.preventDefault(),e.stopPropagation()},function(r,i,o){if(!r)throw new TypeError("DOM element being rendered to does not exist.");if(null!=C&&r.contains(C))throw new TypeError("Node is currently being rendered to and thus is locked.");var l=t,a=C,f=[],u=s(r),c=r.namespaceURI;C=r,t="function"==typeof o?o:void 0,n={};try{if(null==r.vnodes)r.textContent="";if(i=e.normalizeChildren(Array.isArray(i)?i:[i]),k(r,r.vnodes,i,f,null,"http://www.w3.org/1999/xhtml"===c?void 0:c),r.vnodes=i,null!=u&&s(r)!==u&&"function"==typeof u.focus)u.focus();for(var d=0;d<f.length;d++)f[d]()}finally{t=l,C=a}}}(),p=function(t,n,r){var i=[],o=!1,l=-1;function a(){for(l=0;l<i.length;l+=2)try{t(i[l],e(i[l+1]),f)}catch(e){r.error(e)}l=-1}function f(){if(!o)o=!0,n((function(){o=!1,a()}))}return f.sync=a,{mount:function(n,r){if(null!=r&&null==r.view&&"function"!=typeof r)throw new TypeError("m.mount expects a component, not a vnode.");var o=i.indexOf(n);if(o>=0){if(i.splice(o,2),o<=l)l-=2;t(n,[])}if(null!=r)i.push(n,r),t(n,e(r),f)},redraw:f}}(v,"undefined"!=typeof requestAnimationFrame?requestAnimationFrame:null,"undefined"!=typeof console?console:null),m=function(e){if("[object Object]"!==Object.prototype.toString.call(e))return"";var t=[];for(var n in e)r(n,e[n]);return t.join("&");function r(e,n){if(Array.isArray(n))for(var i=0;i<n.length;i++)r(e+"["+i+"]",n[i]);else if("[object Object]"===Object.prototype.toString.call(n))for(var i in n)r(e+"["+i+"]",n[i]);else t.push(encodeURIComponent(e)+(null!=n&&""!==n?"="+encodeURIComponent(n):""))}},h=function(e,t){if(/:([^\/\.-]+)(\.{3})?:/.test(e))throw new SyntaxError("Template parameter names must be separated by either a '/', '-', or '.'.");if(null==t)return e;var n=e.indexOf("?"),r=e.indexOf("#"),i=r<0?e.length:r,o=n<0?i:n,l=e.slice(0,o),a={};Object.assign(a,t);var f=l.replace(/:([^\/\.-]+)(\.{3})?/g,(function(e,n,r){if(delete a[n],null==t[n])return e;else return r?t[n]:encodeURIComponent(String(t[n]))})),s=f.indexOf("?"),u=f.indexOf("#"),c=u<0?f.length:u,d=s<0?c:s,v=f.slice(0,d);if(n>=0)v+=e.slice(n,i);if(s>=0)v+=(n<0?"?":"&")+f.slice(s,c);var p=m(a);if(p)v+=(n<0&&s<0?"?":"&")+p;if(r>=0)v+=e.slice(r);if(u>=0)v+=(r<0?"":"&")+f.slice(u);return v},g=function(e,t){function r(e){return new Promise(e)}function i(t,r){return new Promise((function(i,l){t=h(t,r.params);var a,f=null!=r.method?r.method.toUpperCase():"GET",s=r.body,u=(null==r.serialize||r.serialize===JSON.serialize)&&!(s instanceof e.FormData||s instanceof e.URLSearchParams),c=r.responseType||("function"==typeof r.extract?"":"json"),d=new e.XMLHttpRequest,v=!1,p=!1,m=d,g=d.abort;if(d.abort=function(){v=!0,g.call(this)},d.open(f,t,!1!==r.async,"string"==typeof r.user?r.user:void 0,"string"==typeof r.password?r.password:void 0),u&&null!=s&&!o(r,"content-type"))d.setRequestHeader("Content-Type","application/json; charset=utf-8");if("function"!=typeof r.deserialize&&!o(r,"accept"))d.setRequestHeader("Accept","application/json, text/*");if(r.withCredentials)d.withCredentials=r.withCredentials;if(r.timeout)d.timeout=r.timeout;for(var y in d.responseType=c,r.headers)if(n.call(r.headers,y))d.setRequestHeader(y,r.headers[y]);if(d.onreadystatechange=function(e){if(!v)if(4===e.target.readyState)try{var n,o=e.target.status>=200&&e.target.status<300||304===e.target.status||/^file:\/\//i.test(t),a=e.target.response;if("json"===c){if(!e.target.responseType&&"function"!=typeof r.extract)try{a=JSON.parse(e.target.responseText)}catch(e){a=null}}else if(!c||"text"===c)if(null==a)a=e.target.responseText;if("function"==typeof r.extract)a=r.extract(e.target,r),o=!0;else if("function"==typeof r.deserialize)a=r.deserialize(a);if(o){if("function"==typeof r.type)if(Array.isArray(a))for(var f=0;f<a.length;f++)a[f]=new r.type(a[f]);else a=new r.type(a);i(a)}else{var s=function(){try{n=e.target.responseText}catch(e){n=a}var t=new Error(n);t.code=e.target.status,t.response=a,l(t)};if(0===d.status)setTimeout((function(){if(!p)s()}));else s()}}catch(e){l(e)}},d.ontimeout=function(e){p=!0;var t=new Error("Request timed out");t.code=e.target.status,l(t)},"function"==typeof r.config)if((d=r.config(d,r,t)||d)!==m)a=d.abort,d.abort=function(){v=!0,a.call(this)};if(null==s)d.send();else if("function"==typeof r.serialize)d.send(r.serialize(s));else if(s instanceof e.FormData||s instanceof e.URLSearchParams)d.send(s);else d.send(JSON.stringify(s))}))}function o(e,t){for(var r in e.headers)if(n.call(e.headers,r)&&r.toLowerCase()===t)return!0;return!1}return r.prototype=Promise.prototype,r.__proto__=Promise,{request:function(e,n){if("string"!=typeof e)n=e,e=e.url;else if(null==n)n={};var o=i(e,n);if(!0===n.background)return o;var l=0;function a(){if(0==--l&&"function"==typeof t)t()}return function e(t){var n=t.then;return t.constructor=r,t.then=function(){l++;var r=n.apply(t,arguments);return r.then(a,(function(e){if(a(),0===l)throw e})),e(r)},t}(o)}}}("undefined"!=typeof window?window:null,p.redraw),y=/%(?:[0-7]|(?!c[01]|e0%[89]|ed%[ab]|f0%8|f4%[9ab])(?:c|d|(?:e|f[0-4]%[89ab])[\da-f]%[89ab])[\da-f]%[89ab])[\da-f]/gi,w=function(e){return String(e).replace(y,decodeURIComponent)},b=function(e){if(""===e||null==e)return{};if("?"===e.charAt(0))e=e.slice(1);for(var t=e.split("&"),n={},r={},i=0;i<t.length;i++){var o=t[i].split("="),l=w(o[0]),a=2===o.length?w(o[1]):"";if("true"===a)a=!0;else if("false"===a)a=!1;var f=l.split(/\]\[?|\[/),s=r;if(l.indexOf("[")>-1)f.pop();for(var u=0;u<f.length;u++){var c=f[u],d=f[u+1],v=""==d||!isNaN(parseInt(d,10));if(""===c){if(null==n[l=f.slice(0,u).join()])n[l]=Array.isArray(s)?s.length:0;c=n[l]++}else if("__proto__"===c)break;if(u===f.length-1)s[c]=a;else{var p=Object.getOwnPropertyDescriptor(s,c);if(null!=p)p=p.value;if(null==p)s[c]=p=v?[]:{};s=p}}}return r},k=function(e){var t=e.indexOf("?"),n=e.indexOf("#"),r=n<0?e.length:n,i=t<0?r:t,o=e.slice(0,i).replace(/\/{2,}/g,"/");if(!o)o="/";else if("/"!==o[0])o="/"+o;return{path:o,params:t<0?{}:b(e.slice(t+1,r))}},x=/^(?:key|oninit|oncreate|onbeforeupdate|onupdate|onbeforeremove|onremove)$/,S=function(e,t){var r={};if(null!=t){for(var i in e)if(n.call(e,i)&&!x.test(i)&&t.indexOf(i)<0)r[i]=e[i]}else for(var i in e)if(n.call(e,i)&&!x.test(i))r[i]=e[i];return r},z=function(t,n){var r,i,o,l,a,f,s,c,d=Promise.resolve(),v=!1,p=!1,m=!1,g={onremove:function(){p=m=!1,t.removeEventListener("popstate",x,!1)},view:function(){var t=e(a,f.key,f);if(l)return l.render(t);else return[t]}},y=z.SKIP={};function b(){v=!1;var e=t.location.hash;if("#"!==z.prefix[0])if(e=t.location.search+e,"?"!==z.prefix[0])if("/"!==(e=t.location.pathname+e)[0])e="/"+e;var u=w(e).slice(z.prefix.length),p=k(u);function h(e){console.error(e),z.set(o,null,{replace:!0})}Object.assign(p.params,t.history.state),function e(t){for(;t<i.length;t++)if(i[t].check(p)){var v=i[t].component,w=i[t].route,b=v,k=c=function(i){if(k===c){if(i===y)return e(t+1);if(a=null!=i&&("function"==typeof i.view||"function"==typeof i)?i:"div",f=p.params,s=u,c=null,l=v.render?v:null,m)n.redraw();else m=!0,n.mount(r,g)}};if(v.view||"function"==typeof v)v={},k(b);else if(v.onmatch)d.then((function(){return v.onmatch(p.params,u,w)})).then(k,u===o?null:h);else k();return}if(u===o)throw new Error("Could not resolve default route "+o+".");z.set(o,null,{replace:!0})}(0)}function x(){if(!v)v=!0,setTimeout(b)}function z(e,n,l){if(!e)throw new TypeError("DOM element being rendered to does not exist.");if(i=Object.keys(l).map((function(e){if("/"!==e[0])throw new SyntaxError("Routes must start with a '/'.");if(/:([^\/\.-]+)(\.{3})?:/.test(e))throw new SyntaxError("Route parameter names must be separated with either '/', '.', or '-'.");return{route:e,component:l[e],check:(t=e,n=k(t),r=Object.keys(n.params),i=[],o=new RegExp("^"+n.path.replace(/:([^\/.-]+)(\.{3}|\.(?!\.)|-)?|[\\^$*+.()|\[\]{}]/g,(function(e,t,n){if(null==t)return"\\"+e;if(i.push({k:t,r:"..."===n}),"..."===n)return"(.*)";if("."===n)return"([^/]+)\\.";else return"([^/]+)"+(n||"")}))+"\\/?$"),function(e){for(var t=0;t<r.length;t++)if(n.params[r[t]]!==e.params[r[t]])return!1;if(!i.length)return o.test(e.path);var l=o.exec(e.path);if(null==l)return!1;for(t=0;t<i.length;t++)e.params[i[t].k]=i[t].r?l[t+1]:decodeURIComponent(l[t+1]);return!0})};var t,n,r,i,o})),o=n,null!=n){var a=k(n);if(!i.some((function(e){return e.check(a)})))throw new ReferenceError("Default route doesn't match any known routes.")}r=e,t.addEventListener("popstate",x,!1),p=!0,b()}return z.set=function(e,n,r){if(null!=c)(r=r||{}).replace=!0;if(c=null,e=h(e,n),p){x();var i=r?r.state:null,o=r?r.title:null;if(r&&r.replace)t.history.replaceState(i,o,z.prefix+e);else t.history.pushState(i,o,z.prefix+e)}else t.location.href=z.prefix+e},z.get=function(){return s},z.prefix="#!",z.Link={view:function(e){var t,n,r,i=u(e.attrs.selector||"a",S(e.attrs,["options","params","selector","onclick"]),e.children);if(i.attrs.disabled=Boolean(i.attrs.disabled))i.attrs.href=null,i.attrs["aria-disabled"]="true";else t=e.attrs.options,n=e.attrs.onclick,r=h(i.attrs.href,e.attrs.params),i.attrs.href=z.prefix+r,i.attrs.onclick=function(e){var i;if("function"==typeof n)i=n.call(e.currentTarget,e);else if(null==n||"object"!=typeof n);else if("function"==typeof n.handleEvent)n.handleEvent(e);if(!(!1===i||e.defaultPrevented||0!==e.button&&0!==e.which&&1!==e.which||e.currentTarget.target&&"_self"!==e.currentTarget.target||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey))e.preventDefault(),e.redraw=!1,z.set(r,null,t)};return i}},z.param=function(e){return f&&null!=e?f[e]:f},z}("undefined"!=typeof window?window:null,p),E=function(){return u.apply(this,arguments)};if(E.m=u,E.trust=u.trust,E.fragment=u.fragment,E.Fragment="[",E.mount=p.mount,E.route=z,E.render=v,E.redraw=p.redraw,E.request=g.request,E.parseQueryString=b,E.buildQueryString=m,E.parsePathname=k,E.buildPathname=h,E.vnode=e,E.censor=S,E.domFor=d,"undefined"!=typeof module)module.exports=E;else window.m=E}();