ractive
Version:
Next-generation DOM manipulation
2 lines • 229 kB
JavaScript
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):function(){var n=t.Ractive,i=e();t.Ractive=i,i.noConflict=function(){return t.Ractive=n,i}}()}(this,function(){"use strict";function t(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function e(e){for(var n=[],i=arguments.length-1;i-->0;)n[i]=arguments[i+1];for(var r=0;r<n.length;r++){var s=n[r];for(var a in s)a in e||!t(s,a)||(e[a]=s[a])}return e}function n(e){void 0===e&&(e={});var n=[];for(var i in e)t(e,i)&&n.push([i,e[i]]);return n}function i(t,e){return null===t&&null===e?!0:u(t)||u(e)?!1:t===e}function r(t){return!isNaN(parseFloat(t))&&isFinite(t)}function s(t){return t&&"[object Object]"===Ga.call(t)}function a(t){return!(!t||!u(t)&&!h(t)||o(t))}function o(t){return t instanceof Date}function u(t){return"object"==typeof t}function h(t){return"function"==typeof t}function l(t){return"string"==typeof t}function c(t){return"number"==typeof t}function f(t){return void 0===t}function d(){}function p(t,e){return t.replace(/%s/g,function(){return e.shift()})}function m(t){for(var e=[],n=arguments.length-1;n-->0;)e[n]=arguments[n+1];throw t=p(t,e),new Error(t)}function v(){za.DEBUG&&po.apply(null,arguments)}function g(t){for(var e=[],n=arguments.length-1;n-->0;)e[n]=arguments[n+1];t=p(t,e),mo(t,e)}function y(t){for(var e=[],n=arguments.length-1;n-->0;)e[n]=arguments[n+1];t=p(t,e),bo[t]||(bo[t]=!0,mo(t,e))}function b(){za.DEBUG&&g.apply(null,arguments)}function w(){za.DEBUG&&y.apply(null,arguments)}function x(t,e,n){var i=k(t,e,n);return i?i[t][n]:null}function k(t,e,n){for(;e;){if(n in e[t])return e;if(e.isolated)return null;e=e.parent}}function _(t,e,n,i){if(t===e)return null;if(i){var r=x("interpolators",n,i);if(r)return r(t,e)||null;m(Eo(i,"interpolator"))}return So.number(t,e)||So.array(t,e)||So.object(t,e)||null}function E(t){return l(t)?t.replace(Oo,"\\$&"):t}function S(t){return t?t.replace(Ao,".$1"):""}function A(t){var e,n=[];for(t=S(t);e=Co.exec(t);){var i=e.index+e[1].length;n.push(t.substr(0,i)),t=t.substr(i+1)}return n.push(t),n}function C(t){return l(t)?t.replace(No,"$1$2"):t}function O(t,e){var n=t.indexOf(e);-1===n&&t.push(e)}function N(t,e){for(var n=0,i=t.length;i>n;n++)if(t[n]==e)return!0;return!1}function j(t,e){var n;if(!Qa(t)||!Qa(e))return!1;if(t.length!==e.length)return!1;for(n=t.length;n--;)if(t[n]!==e[n])return!1;return!0}function T(t){return l(t)?[t]:f(t)?[]:t}function V(t){return t[t.length-1]}function P(t,e){if(t){var n=t.indexOf(e);-1!==n&&t.splice(n,1)}}function M(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];for(var n=t.concat.apply([],t),i=n.length;i--;){var r=n.indexOf(n[i]);~r&&i>r&&n.splice(i,1)}return n}function I(t){for(var e=[],n=t.length;n--;)e[n]=t[n];return e}function R(t,e){for(var n=t.length,i=0;n>i;i++){var r=e(t[i]);if(r)return r}}function B(t,e,n){var i=t,r=e;n&&(i=i.map(n),r=r.map(n));var s=i.length,a={},o=0,u=i.map(function(t){var e,n=o;do{if(e=r.indexOf(t,n),-1===e)return-1;n=e+1}while(a[e]===!0&&s>n);return e===o&&(o+=1),a[e]=!0,e}),h=u.oldLen=i.length;if(u.newLen=r.length,h===u.newLen){var l=0;for(l;h>l&&u[l]===l;l++);l===h&&(u.same=!0)}return u}function K(t,e){if(!/this/.test(t.toString()))return t;var n=jo.call(t,e);for(var i in t)n[i]=t[i];return n}function L(t,e,n){return n&&h(e)&&t.parent&&t.parent.isRoot?(t.boundValue||(t.boundValue=K(e._r_unbound||e,t.parent.ractive)),t.boundValue):e}function D(t){t.updateFromBindings(!0)}function F(t){for(var e=t.length;e--;)if(t[e].bound){var n=t[e].owner;if(n){var i="checked"===n.name?n.node.checked:n.node.value;return{value:i}}}}function z(t){if(t){var e=To[t];To[t]=[];for(var n=e.length;n--;)e[n]();var i=Vo[t];for(Vo[t]=[],n=i.length;n--;)i[n].model.register(i[n].item)}else z("early"),z("mark")}function U(t,e,n,i){t.shuffling=!0;for(var r=t.source().length!==t.source().value.length,s=e.length;s--;){var a=e[s];s!==a&&(r=!0,s in t.childByKey&&t.childByKey[s].rebind(~a?t.joinKey(a):void 0,t.childByKey[s],!i))}for(t.links.forEach(function(t){return t.shuffle(e)}),n||z("early"),s=t.deps.length;s--;)t.deps[s].shuffle&&t.deps[s].shuffle(e);t[n?"marked":"mark"](),n||z("mark"),r&&t.notifyUpstream(),t.shuffling=!1}function $(t,e){e!==t.dataModel&&(e&&e.viewmodel&&e.viewmodel.isRoot&&t.childByKey.data?(t.childByKey.data.link(e.viewmodel,"data"),t.dataModel=e):t.dataModel&&(t.childByKey.data.unlink(),t.dataModel=!0))}function q(){Bo.push(Ro=[])}function H(){var t=Bo.pop();return Ro=Bo[Bo.length-1],t}function Z(t){Ro&&O(Ro,t)}function W(t){t.bind()}function G(t){t.cancel()}function Q(t){t.destroyed()}function Y(t){t.handleChange()}function J(t){t.mark()}function X(t){t.mark(!0)}function tt(t){t.marked()}function et(t){t.markedAll()}function nt(t){t.render()}function it(t){t.shuffled()}function rt(t){t.teardown()}function st(t){t.unbind()}function at(t){t.unrender()}function ot(t){t.update()}function ut(t){return t.toString()}function ht(t){return t.toString(!0)}function lt(t,e,n,i){var r=t.r||t;if(!r||!l(r))return e;if("."===r||"@"===r[0]||(e||n).isKey||(e||n).isKeypath)return e;var s=r.split("/"),a=A(s[s.length-1]),o=a[a.length-1],u=e||n;u&&1===a.length&&o!==u.key&&i&&(a=ct(o,i)||a);for(var h=a.length,c=!0,f=!1;u&&h--;)u.shuffling&&(f=!0),a[h]!=u.key&&(c=!1),u=u.parent;return!e&&c&&f?n:e&&!c&&f?n:e}function ct(t,e){for(;e;){var n=e.aliases;if(n&&n[t]){for(var i=(e.owner.iterations?e.owner:e).owner.template.z,r=0;r<i.length;r++)if(i[r].n===t){var s=i[r].x;if(!s.r)return!1;var a=s.r.split("/");return A(a[a.length-1])}return}e=e.componentParent||e.parent}}function ft(t,e){void 0===e&&(e=0);for(var n=new Array(e);e--;)n[e]="_"+e;return new Function([],"return function ("+n.join(",")+"){return("+t+");};")()}function dt(t,e){return Do[t]?Do[t]:Do[t]=Ke(t,e)}function pt(t){if(t){var e=t.e;e&&Wa(e).forEach(function(t){Do[t]||(Do[t]=e[t])})}}function mt(t){if(!t.matchString("="))return null;var e=t.pos;t.sp();var n=t.matchPattern(Fu);if(!n)return t.pos=e,null;if(!t.matchPattern(zu))return null;var i=t.matchPattern(Fu);return i?(t.sp(),t.matchString("=")?[n,i]:(t.pos=e,null)):(t.pos=e,null)}function vt(t){var e;return(e=t.matchPattern(Uu))?{t:vu,v:e}:null}function gt(t){return t.replace($u,"\\$&")}function yt(t,e){return t.search(qu[e.join()]||(qu[e.join()]=new RegExp(e.map(gt).join("|"))))}function bt(t){return t.replace(Qu,function(t,e){var n;return n="#"!==e[0]?Wu[e]:"x"===e[1]?parseInt(e.substring(2),16):parseInt(e.substring(1),10),n?Ju(xt(n)):t})}function wt(t){return t.replace(eh,"&").replace(Xu,"<").replace(th,">")}function xt(t){return t?10===t?32:128>t?t:159>=t?Gu[t-128]:55296>t?t:57343>=t?nh:65535>=t?t:Yu?t>=65536&&131071>=t?t:t>=131072&&196607>=t?t:nh:nh:nh}function kt(t){var e;return(e=t.matchPattern(sh))?{t:cu,v:e}:null}function _t(t){var e=t.remaining();return"true"===e.substr(0,4)?(t.pos+=4,{t:mu,v:"true"}):"false"===e.substr(0,5)?(t.pos+=5,{t:mu,v:"false"}):null}function Et(t){return function(e){for(var n,i='"',r=!1;!r;)n=e.matchPattern(ah)||e.matchPattern(oh)||e.matchString(t),n?i+='"'===n?'\\"':"\\'"===n?"'":n:(n=e.matchPattern(uh),n?i+="\\u"+("000"+n.charCodeAt(1).toString(16)).slice(-4):r=!0);return i+='"',JSON.parse(i)}}function St(t){var e=t.pos,n=t.matchString("'")||t.matchString('"');if(n){var i=("'"===n?hh:lh)(t);return t.matchString(n)?{t:fu,v:i}:(t.pos=e,null)}return null}function At(t){return JSON.parse('"'+t.replace(fh,Ct)+'"')}function Ct(t){switch(t){case"\n":return"\\n";case"\r":return"\\r";case" ":return"\\t";case"\b":return"\\b";case"\f":return"\\f"}}function Ot(t){if(!t.matchString("`"))return null;for(var e,n="",i=!1,r=[];!i;)if(e=t.matchPattern(ch)||t.matchPattern(oh)||t.matchString("$")||t.matchString('"'))if('"'===e)n+='\\"';else if("\\`"===e)n+="`";else if("$"===e)if(t.matchString("{")){r.push({t:fu,v:At(n)}),n="",t.sp();var s=Ft(t);s||t.error("Expected valid expression"),r.push({t:_u,x:s}),t.sp(),t.matchString("}")||t.error("Expected closing '}' after interpolated expression")}else n+="$";else n+=e;else e=t.matchPattern(uh),e?n+="\\u"+("000"+e.charCodeAt(1).toString(16)).slice(-4):i=!0;if(n.length&&r.push({t:fu,v:At(n)}),t.matchString("`")||t.error("Expected closing '`'"),r.length){if(1===r.length)return r[0];for(var a,o=r.pop();a=r.pop();)o={t:Su,s:"+",o:[a,o]};return{t:_u,x:o}}return{t:fu,v:""}}function Nt(t){var e;return(e=St(t))?gh.test(e.v)?e.v:'"'+e.v.replace(/"/g,'\\"')+'"':(e=kt(t))?e.v:(e=t.matchPattern(dh))?e:null}function jt(t){var e,n=t.pos;t.sp();var i="'"!==t.nextChar()&&'"'!==t.nextChar();i&&(e=t.matchPattern(ph));var r=e?Ft(t):Nt(t);if(null===r)return t.pos=n,null;if(t.sp(),i&&(","===t.nextChar()||"}"===t.nextChar())){e||dh.test(r)||t.error("Expected a valid reference, but found '"+r+"' instead.");var s={t:yu,k:r,v:{t:bu,n:r}};return e&&(s.p=!0),s}if(!t.matchString(":"))return t.pos=n,null;t.sp();var a=Ft(t);return null===a?(t.pos=n,null):{t:yu,k:r,v:a}}function Tt(t){var e=t.pos,n=jt(t);if(null===n)return null;var i=[n];if(t.matchString(",")){var r=Tt(t);return r?i.concat(r):(t.pos=e,null)}return i}function Vt(t){var e=t.pos;if(t.sp(),!t.matchString("{"))return t.pos=e,null;var n=Tt(t);return t.sp(),t.matchString("}")?{t:pu,m:n}:(t.pos=e,null)}function Pt(t){var e=t.pos;if(t.sp(),!t.matchString("["))return t.pos=e,null;var n=zt(t,!0);return t.matchString("]")?{t:du,m:n}:(t.pos=e,null)}function Mt(t){return kt(t)||_t(t)||St(t)||Ot(t)||Vt(t)||Pt(t)||vt(t)}function It(t){var e,n,i,r,s,a=t.pos;e=t.matchPattern(wh)||"",n=!e&&t.relaxedNames&&t.matchPattern(vh)||t.matchPattern(mh);var o=e.length+(n&&n.length||0);if("@."===e&&(e="@",n=n?"this."+n:"this"),!n&&e&&(n=e,e=""),!n)return null;if("@"===e)if(xh.test(n))if(n.indexOf("event")&&n.indexOf("node")||t.inEvent){if(!n.indexOf("context"))return t.pos=t.pos-(n.length-7),{t:_u,x:{t:bu,n:"@context"}}}else t.error("@event and @node are only valid references within an event directive");else t.error("Unrecognized special reference @"+n);if(!e&&!t.relaxedNames&&bh.test(n))return t.pos=a,null;if(!e&&yh.test(n))return i=yh.exec(n)[0],t.pos=a+i.length,{t:gu,v:i};if(r=(e||"")+S(n),t.matchString("("))if(s=r.lastIndexOf("."),-1!==s&&"]"!==n[n.length-1])if(0===s)r=".",t.pos=a;else{var u=r.length;r=r.substr(0,s),t.pos=a+(o-(u-s))}else t.pos-=1;return{t:bu,n:r.replace(/^this\./,"./").replace(/^this$/,".")}}function Rt(t){if(!t.matchString("("))return null;t.sp();var e=Ft(t);return e||t.error(ih),t.sp(),t.matchString(")")||t.error(rh),{t:_u,x:e}}function Bt(t){return Mt(t)||It(t)||Rt(t)}function Kt(t){if(t.strictRefinement||t.sp(),t.matchString(".")){t.sp();var e=t.matchPattern(dh);if(e)return{t:wu,n:e};t.error("Expected a property name")}if(t.matchString("[")){t.sp();var n=Ft(t);return n||t.error(ih),t.sp(),t.matchString("]")||t.error("Expected ']'"),{t:wu,x:n}}return null}function Lt(t){var e=Bt(t);if(!e)return null;for(;e;){var n=Kt(t);if(n)e={t:xu,x:e,r:n};else{if(!t.matchString("("))break;t.sp();var i=zt(t,!0);t.sp(),t.matchString(")")||t.error(rh),e={t:Au,x:e},i&&(e.o=i)}}return e}function Dt(t){var e=Ah(t);if(!e)return null;var n=t.pos;if(t.sp(),!t.matchString("?"))return t.pos=n,e;t.sp();var i=Ft(t);i||t.error(ih),t.sp(),t.matchString(":")||t.error('Expected ":"'),t.sp();var r=Ft(t);return r||t.error(ih),{t:Eu,o:[e,i,r]}}function Ft(t){if(t.allowExpressions===!1){var e=It(t);return t.sp(),e}return Dt(t)}function zt(t,e){var n,i=[],r=t.pos;do{t.sp(),e&&(n=t.matchPattern(ph));var s=Ft(t);if(null===s&&i.length)t.error(ih);else if(null===s)return t.pos=r,null;n&&(s.p=!0),i.push(s),t.sp()}while(t.matchString(","));return i}function Ut(t,e){var n=t.pos,i=Ft(t);if(!i){var r=t.matchPattern(/^(\w+)/);return r?{t:bu,n:r}:null}for(var s=0;s<e.length;s+=1)if(t.remaining().substr(0,e[s].length)===e[s])return i;return t.pos=n,It(t)}function $t(t){function e(t){for(var e=[],n=a-1;n>=0;n--)e.push("x$"+n);return e.length?"(function(){var "+e.join(",")+";return("+t+");})()":t}function n(t){if(l(t))return t;switch(t.t){case mu:case gu:case cu:case vu:return t.v;case fu:return JSON.stringify(String(t.v));case du:return t.m&&qt(t.m)?"[].concat("+r(t.m,"[","]",n)+")":"["+(t.m?t.m.map(n).join(","):"")+"]";case pu:return t.m&&qt(t.m)?"Object.assign({},"+r(t.m,"{","}",i)+")":"{"+(t.m?t.m.map(function(t){return t.k+":"+n(t.v)}).join(","):"")+"}";case ku:return("typeof"===t.s?"typeof ":t.s)+n(t.o);case Su:return n(t.o[0])+("in"===t.s.substr(0,2)?" "+t.s+" ":t.s)+n(t.o[1]);case Au:if(t.o&&qt(t.o)){var e=a++;return"(x$"+e+"="+n(t.x)+").apply(x$"+e+","+n({t:du,m:t.o})+")"}return n(t.x)+"("+(t.o?t.o.map(n).join(","):"")+")";case _u:return"("+n(t.x)+")";case xu:return n(t.x)+n(t.r);case wu:return t.n?"."+t.n:"["+n(t.x)+"]";case Eu:return n(t.o[0])+"?"+n(t.o[1])+":"+n(t.o[2]);case bu:return"_"+s.indexOf(t.n);default:throw new Error("Expected legal JavaScript")}}function i(t){return t.p?n(t.k):t.k+":"+n(t.v)}function r(t,e,n,i){var r=t.reduce(function(t,r){return r.p?t.str+=""+(t.open?n+",":t.str.length?",":"")+i(r):t.str+=""+(t.str.length?t.open?",":","+e:e)+i(r),t.open=!r.p,t},{open:!1,str:""});return r.open&&(r.str+=n),r.str}var s,a=0;Ht(t,s=[]);var o=n(t);return{r:s,s:e(o)}}function qt(t){for(var e=0;e<t.length;e++)if(t[e].p)return!0;return!1}function Ht(t,e){t.t===bu&&l(t.n)&&(~e.indexOf(t.n)||e.unshift(t.n));var n=t.o||t.m;if(n)if(s(n))Ht(n,e);else for(var i=n.length;i--;)Ht(n[i],e);t.k&&t.t===yu&&!l(t.k)&&Ht(t.k,e),t.x&&Ht(t.x,e),t.r&&Ht(t.r,e),t.v&&Ht(t.v,e)}function Zt(t,e){var n;if(t){for(;t.t===_u&&t.x;)t=t.x;if(t.t===bu){var i=t.n;~i.indexOf("@context")?e.x=$t(t):e.r=t.n}else(n=Wt(t))?e.rx=n:e.x=$t(t);return e}}function Wt(t){for(var e,n=[];t.t===xu&&t.r.t===wu;)e=t.r,e.x?e.x.t===bu?n.unshift(e.x):n.unshift($t(e.x)):n.unshift(e.n),t=t.x;return t.t!==bu?null:{r:t.n,m:n}}function Gt(t){for(var e=[],n=0,i=0;i<t.length;i++)"-"===t[i]&&"\\"!==t[i-1]&&(e.push(t.substring(n,i).replace(Kh,"")),n=i+1);return e.push(t.substring(n).replace(Kh,"")),e}function Qt(t){var e,n,i,r;if(t.sp(),e=t.matchPattern(Ch),!e)return null;for(i=e.length,n=0;n<t.tags.length;n++)~(r=e.indexOf(t.tags[n].open))&&i>r&&(i=r);return i<e.length&&(t.pos-=e.length-i,e=e.substr(0,i),!e)?null:{n:e}}function Yt(t){var e=t.pos;if(/[=\/>\s]/.test(t.nextChar())||t.error("Expected `=`, `/`, `>` or whitespace"),t.sp(),!t.matchString("="))return t.pos=e,null;t.sp();var n=t.pos,i=t.sectionDepth,r=te(t,"'")||te(t,'"')||Xt(t);return null===r&&t.error("Expected valid attribute value"),t.sectionDepth!==i&&(t.pos=n,t.error("An attribute value must contain as many opening section tags as closing section tags")),r.length?1===r.length&&l(r[0])?r[0]:r:""}function Jt(t){var e,n,i=t.pos;if(e=t.matchPattern(Ih),!e)return null;var r=e,s=t.tags.map(function(t){return t.open});return-1!==(n=yt(r,s))&&(e=e.substr(0,n),t.pos=i+e.length),bt(e)}function Xt(t){t.inAttribute=!0;for(var e=[],n=se(t)||Jt(t);n;)e.push(n),n=se(t)||Jt(t);return e.length?(t.inAttribute=!1,e):null}function te(t,e){var n=t.pos;if(!t.matchString(e))return null;t.inAttribute=e;for(var i=[],r=se(t)||ee(t,e);null!==r;)i.push(r),r=se(t)||ee(t,e);return t.matchString(e)?(t.inAttribute=!1,i):(t.pos=n,null)}function ee(t,e){var n=t.remaining(),i=t.tags.map(function(t){return t.open});i.push(e);var r=yt(n,i);return-1===r&&t.error("Quoted attribute value must have a closing quote"),r?(t.pos+=r,bt(n.substr(0,r))):null}function ne(t){var e,n,i=Qt(t,!1);if(!i)return null;if(n=Mh[i.n])i.t=n.t,n.v&&(i.v=n.v),delete i.n,t.sp(),"="===t.nextChar()&&(i.f=Yt(t));else if(e=Th.exec(i.n))i.n=e[1],i.t=Bu,re(t,i);else if(e=Vh.exec(i.n))i.n=e[1],i.t=Ku,re(t,i),i.v="in-out"===e[2]?"t0":"in"===e[2]?"t1":"t2";else if(e=Nh.exec(i.n))i.n=Gt(e[1]),i.t=Ru,t.matchString("(")&&(i.a=$t({t:du,m:zt(t)}),t.matchString(")")||t.error("Expected closing ')'")),t.inEvent=!0,ie(t,i)?jh.test(i.f)&&(t.pos-=i.f.length,t.error("Cannot use reserved event names (change, reset, teardown, update, construct, config, init, render, unrender, complete, detach, insert, destruct, attachchild, detachchild)")):re(t,i,!0),t.inEvent=!1;else if(e=Ph.exec(i.n)){var r="bind"===e[2];i.n=r?e[3]:e[1],i.t=iu,re(t,i,!1,!0),!i.f&&r&&(i.f=[{t:Zo,r:e[3]}])}else{t.sp();var s="="===t.nextChar()?Yt(t):null;if(i.f=null!=s?s:i.f,t.sanitizeEventAttributes&&Oh.test(i.n))return{exclude:!0};i.f=i.f||(""===i.f?"":0),i.t=iu}return i}function ie(t,e){var n=t.pos;t.matchString("=")||t.error("Missing required directive arguments");var i=t.matchString("'")||t.matchString('"');t.sp();var r=t.matchPattern(Rh);if(void 0!==r)if(i){if(t.sp(),t.matchString(i))return(e.f=r)||!0;t.pos=n}else{if(t.matchPattern(Bh))return(e.f=r)||!0;t.pos=n}else t.pos=n}function re(t,e,n,i){if(void 0===n&&(n=!1),void 0===i&&(i=!1),t.sp(),!t.matchString("="))return void(n&&t.error("Missing required directive arguments"));t.sp();var r=t.matchString('"')||t.matchString("'"),s=t.spreadArgs;t.spreadArgs=!0,t.inUnquotedAttribute=!r;var a=i?Ut(t,[r||" ","/",">"]):{m:zt(t),t:du};if(t.inUnquotedAttribute=!1,t.spreadArgs=s,r&&(t.sp(),t.matchString(r)!==r&&t.error("Expected matching quote '"+r+"'")),i){var o={t:Zo};Zt(a,o),e.f=[o]}else e.f=$t(a)}function se(t){var e,n;if(t.interpolate[t.inside]===!1)return null;for(n=0;n<t.tags.length;n+=1)if(e=ae(t,t.tags[n]))return e;return t.inTag&&!t.inAttribute&&(e=ne(t))?(t.sp(),e):void 0}function ae(t,e){var n,i,r,s=t.pos;if(t.matchString("\\"+e.open)){if(0===s||"\\"!==t.str[s-1])return e.open}else if(!t.matchString(e.open))return null;if(n=mt(t))return t.matchString(e.close)?(e.open=n[0],e.close=n[1],t.sortMustacheTags(),Lh):null;if(t.sp(),t.matchString("/")){t.pos-=1;var a=t.pos;if(vt(t))t.pos=a;else{if(t.pos=a-e.close.length,t.inAttribute)return t.pos=s,null;t.error("Attempted to close a section that wasn't open")}}for(r=0;r<e.readers.length;r+=1)if(i=e.readers[r],n=i(t,e))return e.isStatic&&(n.s=1),t.includeLinePositions&&(n.q=t.getLinePos(s)),n;return t.pos=s,null}function oe(t,e){var n=Ft(t);if(!n)return null;t.matchString(e.close)||t.error("Expected closing delimiter '"+e.close+"'");var i={t:Wo};return Zt(n,i),i}function ue(t,e){if(!t.matchString("&"))return null;t.sp();var n=Ft(t);if(!n)return null;t.matchString(e.close)||t.error("Expected closing delimiter '"+e.close+"'");var i={t:Wo};return Zt(n,i),i}function he(t){var e,n=[],i=t.pos;if(t.sp(),e=le(t)){for(e.x=Zt(e.x,{}),n.push(e),t.sp();t.matchString(",");)e=le(t),e||t.error("Expected another alias."),e.x=Zt(e.x,{}),n.push(e),t.sp();return n}return t.pos=i,null}function le(t){var e=t.pos;t.sp();var n=Ft(t,[]);if(!n)return t.pos=e,null;t.sp(),t.matchPattern(Fh),t.sp();var i=t.matchPattern(Dh);return i?{n:i,x:n}:(t.pos=e,null)}function ce(t,e){var n,i=t.matchString(">")||t.matchString("yield"),r={t:">"===i?Xo:au};if(!i)return null;if(t.sp(),">"===i||!(n=t.matchString("with"))){t.relaxedNames=t.strictRefinement=!0;var s=Ft(t);if(t.relaxedNames=t.strictRefinement=!1,!s&&">"===i)return null;s&&(Zt(s,r),t.sp(),">"!==i&&(n=t.matchString("with")))}if(t.sp(),n||">"===i){if(n=he(t),n&&n.length)r.z=n;else{var a=Ft(t);a&&(r.c={},Zt(a,r.c)),t.matchString(",")&&(n=he(t),n&&n.length&&(r.z=n))}">"===i||r.c||r.z||t.error("Expected a context or one or more aliases")}return t.sp(),t.matchString(e.close)||t.error("Expected closing delimiter '"+e.close+"'"),r}function fe(t,e){if(!t.matchString("!"))return null;var n=t.remaining().indexOf(e.close);return-1!==n?(t.pos+=n+e.close.length,{t:tu}):void 0}function de(t,e){var n,i,r=t.pos;try{n=Ut(t,[e.close])}catch(s){i=s}if(!n){if("!"===t.str.charAt(r))return t.pos=r,null;if(i)throw i}if(!t.matchString(e.close)&&(t.error("Expected closing delimiter '"+e.close+"' after reference"),!n)){if("!"===t.nextChar())return null;t.error("Expected expression or legal reference")}var a={t:Zo};return Zt(n,a),a}function pe(t,e){var n=t.pos;if(!t.matchString(e.open))return null;if(t.sp(),!t.matchString("/"))return t.pos=n,null;t.sp();var i=t.remaining(),r=i.indexOf(e.close);if(-1!==r){var s={t:Yo,r:i.substr(0,r).split(" ")[0]};return t.pos+=r,t.matchString(e.close)||t.error("Expected closing delimiter '"+e.close+"'"),s}return t.pos=n,null}function me(t,e,n){var i=t.pos;if(!t.matchString(e.open))return null;if(!t.matchPattern(zh[n]))return t.pos=i,null;var r={t:Uh[n]};if("elseif"===n)r.x=Ft(t);else if("catch"===n||"then"===n){var s=t.matchPattern(dh);s&&(r.n=s)}return t.matchString(e.close)||t.error("Expected closing delimiter '"+e.close+"'"),r}function ve(t,e){var n,i,r,s,a,o,u,h,l,c,f,d,p,m=!1,v=t.pos;if(t.matchString("^")){if(t.matchString("^/"))return t.pos=v,null;i={t:Go,f:[],n:Ou}}else{if(!t.matchString("#"))return null;i={t:Go,f:[]},t.matchString("partial")&&(t.pos=v-t.standardDelimiters[0].length,t.error("Partial definitions can only be at the top level of the template, or immediately inside components")),(o=t.matchString("await"))?(c=o,i.t=lu):(o=t.matchPattern(Zh))&&(c=o,i.n=$h[o])}if(t.sp(),"with"===o){var g=he(t);g&&(m=!0,i.z=g,i.t=hu)}else if("each"===o){var y=le(t);y&&(i.z=[{n:y.n,x:{r:"."}}],n=y.x)}if(!m){if(n||(n=Ft(t)),n||t.error("Expected expression"),"each"===o&&t.matchString(",")){var b=he(t);b&&(i.z&&b.unshift(i.z[0]),i.z=b)}if("each"!==o&&o||!(l=t.matchPattern(qh)))"await"===o&&t.matchString("then")&&(t.sp(),f=!0,p=t.matchPattern(dh),p||(p=!0));else{var w;(w=t.matchPattern(Hh))?i.i=l+","+w:i.i=l}!o&&n.n&&(c=n.n)}t.sp(),t.matchString("-")&&(i.w=1),t.matchString(e.close)||t.error("Expected closing delimiter '"+e.close+"'"),t.sectionDepth+=1,s=i.f;var x;do if(x=t.pos,r=pe(t,e))c&&r.r!==c&&(o?(t.pos=x,t.error("Expected "+e.open+"/"+c+e.close)):r.r&&t.warn("Expected "+e.open+"/"+c+e.close+" but found "+e.open+"/"+r.r+e.close)),t.sectionDepth-=1,h=!0;else if(!m&&((r=me(t,e,"elseif"))||(r=me(t,e,"else"))||"await"===o&&((r=me(t,e,"then"))||(r=me(t,e,"catch"))))){if(i.n===Ou&&t.error("{{else}} not allowed in {{#unless}}"),a&&(r.t===Vu?t.error("there can only be one {{else}} block, at the end of a section"):r.t===Pu&&t.error("illegal {{elseif...}} after {{else}}")),!u&&(p||!f)&&!d)if("await"===o){var k={f:s};i.f=[k],p?(k.t=Mu,p!==!0&&(k.n=p)):k.t=Go}else u=[];var _={t:Go,f:s=[]};r.t===Vu?("await"===o?(i.f.push(_),_.t=Vu):(_.n=Ou,u.push(_)),a=!0):r.t===Pu?(_.n=Cu,Zt(r.x,_),u.push(_)):r.t===Mu?(a&&t.error("{{then}} block must appear before any {{else}} block"),d&&t.error("{{then}} block must appear before any {{catch}} block"),f&&t.error("there can only be one {{then}} block per {{#await}}"),_.t=Mu,f=!0,r.n&&(_.n=r.n),i.f.push(_)):r.t===Iu&&(a&&t.error("{{catch}} block must appear before any {{else}} block"),d&&t.error("there can only be one {{catch}} block per {{#await}}"),_.t=Iu,d=!0,_.n=r.n,i.f.push(_))}else{if(r=t.read(gl),!r)break;s.push(r)}while(!h);if(u&&(i.l=u),m||Zt(n,i),"await"===o&&(p||!f)&&!d&&!a){var E={f:i.f};i.f=[E],p?(E.t=Mu,p!==!0&&(E.n=p)):E.t=Go}return i.f.length||delete i.f,i}function ge(t){var e=t.pos;if(t.textOnlyMode||!t.matchString(Wh))return null;var n=t.remaining(),i=n.indexOf(Gh);-1===i&&t.error("Illegal HTML - expected closing comment sequence ('-->')");var r=n.substr(0,i);t.pos+=i+3;var s={t:tu,c:r};return t.includeLinePositions&&(s.q=t.getLinePos(e)),s}function ye(t,e){var n,i,r,s,a;for(n=1;n<t.length;n+=1)i=t[n],r=t[n-1],s=t[n-2],l(i)&&be(r)&&l(s)&&Yh.test(s)&&Qh.test(i)&&(t[n-2]=s.replace(Yh,"\n"),t[n]=i.replace(Qh,"")),e||(we(i)&&l(r)&&Yh.test(r)&&l(i.f[0])&&Qh.test(i.f[0])&&(t[n-1]=r.replace(Yh,"\n"),i.f[0]=i.f[0].replace(Qh,"")),l(i)&&we(r)&&(a=V(r.f),l(a)&&Yh.test(a)&&Qh.test(i)&&(r.f[r.f.length-1]=a.replace(Yh,"\n"),t[n]=i.replace(Qh,""))));return t}function be(t){return t.t===tu||t.t===eu}function we(t){return(t.t===Go||t.t===Qo)&&t.f}function xe(t,e,n){var i;e&&(i=t[0],l(i)&&(i=i.replace(e,""),i?t[0]=i:t.shift())),n&&(i=V(t),l(i)&&(i=i.replace(n,""),i?t[t.length-1]=i:t.pop()))}function ke(t,e,n,i,r,s,a){if(!l(t)){var o,u,h,c,f,d,p;for(ye(t,a),o=t.length;o--;)u=t[o],u.exclude?t.splice(o,1):e&&u.t===tu&&t.splice(o,1);for(xe(t,i?Xh:null,r?tl:null),o=t.length;o--;){if(u=t[o],d=p=!1,u.w){var m=t[o-1],v=!0;if("string"==typeof m&&(t[o-1]=m.replace(il,"$1")),u.f){"string"==typeof u.f[0]&&(u.f[0]=u.f[0].replace(rl,""));var g=u.f.length-1;"string"==typeof u.f[g]&&(u.f[g]=u.f[g].replace(il,function(t,e){return v=e,e||""}))}var y=t[o+1];v&&"string"==typeof y&&(t[o+1]=y.replace(rl,""))}if(u.f){var b=u.t===Jo&&(s[u.e.toLowerCase()]||s[u.e]);f=n||b,!n&&b&&xe(u.f,el,nl),f||(h=t[o-1],c=t[o+1],(!h||l(h)&&tl.test(h))&&(d=!0),(!c||l(c)&&Xh.test(c))&&(p=!0)),ke(u.f,e,f,d,p,s)}u.l&&(u.w&&u.l.forEach(function(t){return t.w=1}),ke(u.l,e,n,d,p,s),u.l.forEach(function(t){return t.l=1}),u.l.unshift(o+1,0),t.splice.apply(t,u.l),delete u.l),u.m&&(ke(u.m,e,n,d,p,s),u.m.length<1&&delete u.m),delete u.w}for(o=t.length;o--;)l(t[o])&&(l(t[o+1])&&(t[o]=t[o]+t[o+1],t.splice(o+1,1)),n||(t[o]=t[o].replace(Jh," ")),""===t[o]&&t.splice(o,1))}}function _e(t){var e,n=t.pos;return t.matchString("</")?(e=t.matchPattern(sl))?t.inside&&e!==t.inside?(t.pos=n,null):{t:ru,e:e}:(t.pos-=2,void t.error("Illegal closing tag")):null}function Ee(t){return t.replace(/([A-Z])/g,function(t,e){return"-"+e.toLowerCase()})}function Se(t){var e,n,i,r,s,a,o,u,h,c,f,d=t.pos;if(t.inside||t.inAttribute||t.textOnlyMode)return null;if(!t.matchString("<"))return null;if("/"===t.nextChar())return null;var p={};if(t.includeLinePositions&&(p.q=t.getLinePos(d)),t.matchString("!"))return p.t=uu,t.matchPattern(/^doctype/i)||t.error("Expected DOCTYPE declaration"),p.a=t.matchPattern(/^(.+?)>/),p;if(f=t.matchString("#"))t.sp(),p.t=nu,p.n=t.matchPattern(ol);else if(p.t=Jo,p.e=t.matchPattern(al),!p.e)return null;for(ul.test(t.nextChar())||t.error("Illegal tag name"),t.sp(),t.inTag=!0;e=se(t);)e!==!1&&(p.m||(p.m=[]),p.m.push(e)),t.sp();if(t.inTag=!1,t.sp(),t.matchString("/")&&(n=!0),!t.matchString(">"))return null;var m=(p.e||p.n).toLowerCase(),v=t.preserveWhitespace;if(!n&&(f||!Zu[p.e.toLowerCase()])){f||(t.elementStack.push(m),m in t.interpolate&&(t.inside=m)),i=[],r=qa(null);do{if(u=t.pos,h=t.remaining(),!h){if("script"===t.inside){o=!0;break}t.error("Missing end "+(t.elementStack.length>1?"tags":"tag")+" ("+t.elementStack.reverse().map(function(t){return"</"+t+">"}).join("")+")")}if(f||Ae(m,h))if(!f&&(c=_e(t))){o=!0;var g=c.e.toLowerCase();if(g!==m&&(t.pos=u,!~t.elementStack.indexOf(g))){var y="Unexpected closing tag";Zu[g.toLowerCase()]&&(y+=" (<"+g+"> is a void element - it cannot contain children)"),t.error(y)}}else if(f&&Ce(t,p.n))o=!0;else{var b={open:t.standardDelimiters[0],close:t.standardDelimiters[1]};pe(t,b)||Oe(t,b)?(o=!0,t.pos=u):(a=t.read(yl))?(r[a.n]&&(t.pos=u,t.error("Duplicate partial definition")),ke(a.f,t.stripComments,v,!v,!v,t.whiteSpaceElements),r[a.n]=a.f,s=!0):(a=t.read(gl))?i.push(a):o=!0}else o=!0}while(!o);i.length&&(p.f=i),s&&(p.p=r),t.elementStack.pop()}if(t.inside=null,t.sanitizeElements&&-1!==t.sanitizeElements.indexOf(m))return ll;if(p.m&&"input"!==m&&"select"!==m&&"textarea"!==m&&"option"!==m){for(var w,x,k,_,E,S=p.m,A=0;A<S.length;)E=S[A],E.t===iu?0!==E.n.indexOf("class-")||E.f?0===E.n.indexOf("style-")&&l(E.f)?((x||(x=[])).push(Ee(E.n.slice(6))+": "+E.f+";"),S.splice(A,1)):"class"===E.n&&l(E.f)?((w||(w=[])).push(E.f),S.splice(A,1)):"style"===E.n&&l(E.f)?((x||(x=[])).push(E.f+(hl.test(E.f)?"":";")),S.splice(A,1)):"class"===E.n?(k=E,A++):"style"===E.n?(_=E,A++):!~E.n.indexOf(":")&&"value"!==E.n&&"contenteditable"!==E.n&&l(E.f)?(E.g=1,A++):A++:((w||(w=[])).push(E.n.slice(6)),S.splice(A,1)):A++;w?k&&l(k.f)?k.f+=" "+w.join(" "):S.unshift({t:iu,n:"class",f:w.join(" "),g:1}):k&&l(k.f)&&(k.g=1),x?_&&l(_.f)?_.f+="; "+x.join(" "):S.unshift({t:iu,n:"style",f:x.join(" "),g:1}):_&&l(_.f)&&(_.g=1)}return p}function Ae(t,e){var n=/^<([a-zA-Z][a-zA-Z0-9]*)/.exec(e),i=cl[t];return n&&i?!~i.indexOf(n[1].toLowerCase()):!0}function Ce(t,e){var n=t.pos;return t.matchString("</")?(t.matchString("#"),t.sp(),t.matchString(e)?(t.sp(),t.matchString(">")?!0:(t.pos=n,null)):(t.pos=n,null)):null}function Oe(t,e){var n=t.pos;if(t.matchString(e.open))return t.matchPattern(fl)?!0:void(t.pos=n)}function Ne(t){var e,n,i,r=t.remaining();return t.textOnlyMode?(n=t.tags.map(function(t){return t.open}),n=n.concat(t.tags.map(function(t){return"\\"+t.open})),e=yt(r,n)):(i=t.inside?"</"+t.inside:"<",t.inside&&!t.interpolate[t.inside]?e=r.indexOf(i):(n=t.tags.map(function(t){return t.open}),n=n.concat(t.tags.map(function(t){return"\\"+t.open})),t.inAttribute===!0?n.push('"',"'","=","<",">","`"):t.inAttribute?n.push(t.inAttribute):n.push(i),e=yt(r,n))),e?(-1===e&&(e=r.length),t.pos+=e,t.inside&&"textarea"!==t.inside||t.textOnlyMode?r.substr(0,e):bt(r.substr(0,e))):null}function je(t){var e,n,i=t.pos,r=t.standardDelimiters;if(!t.matchString(r[0]))return null;if(!t.matchPattern(dl))return t.pos=i,null;var s=t.matchPattern(/^[a-zA-Z_$][a-zA-Z_$0-9\-\/]*/);s||t.error("expected legal partial name"),t.sp(),t.matchString(r[1])||t.error("Expected closing delimiter '"+r[1]+"'");var a=[],o=r[0],u=r[1];do(e=pe(t,{open:o,close:u}))?("partial"!==e.r&&t.error("Expected "+o+"/partial"+u),n=!0):(e=t.read(gl),e||t.error("Expected "+o+"/partial"+u),a.push(e));while(!n);return{t:ou,n:s,f:a}}function Te(t){for(var e=[],n=qa(null),i=!1,r=t.preserveWhitespace;t.pos<t.str.length;){var s=t.pos,a=void 0,o=void 0;(o=t.read(yl))?(n[o.n]&&(t.pos=s,t.error("Duplicated partial definition")),ke(o.f,t.stripComments,r,!r,!r,t.whiteSpaceElements),n[o.n]=o.f,i=!0):(a=t.read(gl))?e.push(a):t.error("Unexpected template content")}var u={v:Fo,t:e};return i&&(u.p=n),u}function Ve(t,e){Wa(t).forEach(function(n){if(Pe(n,t))return Me(t,e);var i=t[n];Ie(i)&&Ve(i,e)})}function Pe(t,e){return"s"===t&&Qa(e.r)}function Me(t,e){var n=t.s,i=t.r;e[n]||(e[n]=ft(n,i.length))}function Ie(t){return Qa(t)||s(t)}function Re(t,e){return new xl(t,e||{}).result}function Be(t,e,n){t||m("Missing Ractive.parse - cannot parse "+e+". "+n)}function Ke(t,e){return Be(ft,"new expression function",_l),ft(t,e)}function Le(t,e){Be(Re,'compution string "${str}"',El);var n=Re(t,{expression:!0});return function(){return n.e.apply(e,n.r.map(function(t){return e.get(t)}))}}function De(t,e,n){var i,r,s,a,o;return h(n)&&(i=K(n,t),s=n.toString(),a=!0),l(n)&&(i=Le(n,t),s=n),u(n)&&(l(n.get)?(i=Le(n.get,t),s=n.get):h(n.get)?(i=K(n.get,t),s=n.get.toString(),a=!0):m("`%s` computation must have a `get()` method",e),h(n.set)&&(r=K(n.set,t),o=n.set.toString())),{getter:i,setter:r,getterString:s,setterString:o,getterUseStack:a}}function Fe(t){!t.started||t.outros.length||t.outroChildren||(t.outrosComplete||(t.outrosComplete=!0,t.parent&&t.parent.decrementOutros(t),ze(t)&&t.detachNodes()),t.intros.length||t.totalChildren||(h(t.callback)&&t.callback(),t.parent&&!t.notifiedTotal&&(t.notifiedTotal=!0,t.parent.decrementTotal())))}function ze(t){return!t||t.outrosComplete&&ze(t.parent)}function Ue(t){var e=t.detachQueue,n=$e(t);if(n.length){var i,r,s=e.length,a=0,o=t.detachQueue=[];t:for(;s--;){for(i=e[s].node,a=n.length;a--;)if(r=n[a].element.node,r===i||r.contains(i)||i.contains(r)){o.push(e[s]);continue t}e[s].detach()}}else t.detachNodes()}function $e(t,e){var n=e;if(n){for(var i=t.children.length;i--;)n=$e(t.children[i],n);return t.outros.length&&(n=n.concat(t.outros)),n}n=[];for(var r=t;r.parent;)r=r.parent;return $e(r,n)}function qe(t){t.dispatch()}function He(){var t=Nl.immediateObservers;Nl.immediateObservers=[],t.forEach(qe);var e,n=Nl.fragments.length;for(t=Nl.fragments,Nl.fragments=[];n--;)e=t[n],e.update();Nl.transitionManager.ready(),t=Nl.deferredObservers,Nl.deferredObservers=[],t.forEach(qe);var i=Nl.tasks;for(Nl.tasks=[],n=0;n<i.length;n+=1)i[n]();return Nl.fragments.length||Nl.immediateObservers.length||Nl.deferredObservers.length||Nl.tasks.length?He():void 0}function Ze(){jl.start();var t,e,n=performance.now();for(t=0;t<Tl.length;t+=1)e=Tl[t],e.tick(n)||Tl.splice(t--,1);jl.end(),Tl.length?requestAnimationFrame(Ze):Vl=!1}function We(e,n){var i={};if(!n)return e;n+=".";for(var r in e)t(e,r)&&(i[n+r]=e[r]);return i}function Ge(t){var e;return Il[t]||(e=t?t+".":"",Il[t]=function(n,i){var r;return l(n)?(r={},r[e+n]=i,r):u(n)?e?We(n,t):n:void 0}),Il[t]}function Qe(t){for(var e=[],n=0;n<t.length;n++)e[n]=(t.childByKey[n]||{}).value;
return e}function Ye(t){for(var e=t;e&&!e.context&&!e.aliases;)e=e.parent;return e}function Je(e,n){var i=e;if("."===n)return e.findContext();if("~"===n[0])return e.ractive.viewmodel.joinAll(A(n.slice(2)));if("."===n[0]||"^"===n[0]){for(var r=e,s=n.split("/"),a="^^"===s[0];r&&!r.context;)r=Xe(r);for(var o=r&&r.context;r&&"^^"===s[0];){for(s.shift(),r=r.isIteration?r.parent.parent:Xe(r);r&&!r.context;)r=Xe(r);o=r&&r.context}if(!o&&a)throw new Error("Invalid context parent reference ('"+n+"'). There is not context at that level.");for(;"."===s[0]||".."===s[0];){var u=s.shift();".."===u&&(o=!o.parent&&o.proxy&&o.target?o.target.parent:o.parent)}return n=s.join("/"),"."===n[0]&&(n=n.slice(1)),o.joinAll(A(n))}var l=A(n);if(l.length){var c=l.shift();if("@"===c[0]){if("@this"===c||"@"===c)return e.ractive.viewmodel.getRactiveModel().joinAll(l);if("@index"===c||"@key"===c){l.length&&nn(c);var f=tn(e);return f&&f["get"+("i"===c[1]?"Index":"Key")]()}if("@last"===c){var d=tn(e);return d&&d.parent.getLast()}if("@global"===c)return Fl.joinAll(l);if("@shared"===c)return Dl.joinAll(l);if("@keypath"===c||"@rootpath"===c){for(var p="r"===n[1]?e.ractive.root:null,m=e;m&&(!m.context||m.isRoot&&m.ractive.component&&(p||!m.ractive.isolated));)m=m.isRoot?m.componentParent:m.parent;return m.getKeypath(p)}if("@context"===c)return new Ll(e.getContext(),"context").joinAll(l);if("@local"===c)return e.getContext()._data.joinAll(l);if("@style"===c)return e.ractive.constructor._cssModel.joinAll(l);if("@helpers"===c)return e.ractive.viewmodel.getHelpers().joinAll(l);if("@macro"===c){var v=en(e);return v?new Ll(v,"macro").joinAll(l):void 0}throw new Error("Invalid special reference '"+c+"'")}if(c&&!l.length){var g=e.ractive.viewmodel.getHelpers();if(g.has(c))return g.joinKey(c)}var y=Ye(e);y=y&&y.context?y.context:e.findContext();for(var w,x=!1,k=e.ractive.warnAboutAmbiguity,_=0;e;){if(e.isIteration&&(c===e.parent.keyRef?w=e.getKey():c===e.parent.indexRef&&(w=e.getIndex()),w&&l.length&&nn(c)),!w&&e.aliases&&t(e.aliases,c)&&(w=e.aliases[c]),!w&&e.context&&e.context.has(c)&&(w=e.context.joinKey(c),x?k&&b("'"+n+"' resolved but is ambiguous and will create a mapping to a parent component."):k&&_&&b("'"+n+"' resolved but is ambiguous.")),w)return x&&(w=i.ractive.viewmodel.createLink(c,w,c,{implicit:!0})),l.length>0&&h(w.joinAll)&&(w=w.joinAll(l)),w;e.context&&!e.aliases&&(_=1),e.ractive.isolated||e.owner&&e.owner.containerFragment||!(e.componentParent||!e.parent&&e.ractive.component)?e=e.parent:(e=e.componentParent||e.ractive.component.up,x=!0)}var E=i.ractive;return E.resolveInstanceMembers&&"data"!==c&&c in E?E.viewmodel.getRactiveModel().joinKey(c).joinAll(l):(k&&b("'"+n+"' is ambiguous and did not resolve."),y.joinKey(c).joinAll(l))}}function Xe(t){return t&&(!t.ractive.isolated&&!(t.owner&&t.owner.containerFragment)&&(t.componentParent||!t.parent&&t.ractive.component)||t.parent)}function tn(t){for(var e,n=t;!n.isIteration&&(e=Xe(n));)n=e;return n.isIteration&&n}function en(t){for(var e=t;e;){if(e.owner.handle)return e.owner.handle;e=Xe(e)}}function nn(t){throw new Error("An index or key reference ("+t+") cannot have child properties")}function rn(t){for(var e=[],n=arguments.length-1;n-->0;)e[n]=arguments[n+1];var i=t.fragment||t._fakeFragment||(t._fakeFragment=new Ul(t));return i.getContext.apply(i,e)}function sn(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return this.ctx||(this.ctx=new zl.Context(this)),t.unshift(qa(this.ctx)),$a.apply(null,t)}function an(t){for(var e=t;e&&!e.context;)e=e.parent;return e?e:t&&t.ractive.fragment}function on(t,e){var n=ql,i=e&&e.deep,r=e&&e.shuffle,s=jl.start();e&&"keep"in e&&(ql=e.keep);for(var a=t.length;a--;){var o=t[a][0],u=t[a][1],h=t[a][2];if(!o)throw jl.end(),new Error("Failed to set invalid keypath '"+h+"'");if(i)ln(o,u);else if(r){var l=u,c=o.get();if(l||(l=c),f(c))o.set(l);else{if(!Qa(c)||!Qa(l))throw jl.end(),new Error("You cannot merge an array with a non-array");var d=cn(r);o.merge(l,d)}}else o.set(u)}return jl.end(),ql=n,1===t.length?s.then(function(){return t[0][1]}):s}function un(t,e,n,i){if(!n&&("."===e[0]||"^"===e[1]))return b("Attempted to set a relative keypath from a non-relative context. You can use a context object to set relative keypaths."),[];var r=A(e),s=n||t.viewmodel;return Hl.test(e)?s.findMatches(r):s===t.viewmodel?!t.component||t.isolated||s.has(r[0])||"@"===e[0]||!e[0]||i?[s.joinAll(r)]:[Je(t.fragment||new Ul(t),e)]:[s.joinAll(r)]}function hn(e,n,i,r){var a=[];if(s(n)){var o=function(i){t(n,i)&&a.push.apply(a,un(e,i,null,r).map(function(t){return[t,n[i],i]}))};for(var u in n)o(u)}else a.push.apply(a,un(e,n,null,r).map(function(t){return[t,i,n]}));return a}function ln(e,n){var i=e.get(!1,Zl);if(null==i||!u(n)||o(n))return e.set(n);if(!u(i))return e.set(n);for(var r in n)t(n,r)&&ln(e.joinKey(r),n[r])}function cn(t){if(t===!0)return null;if(h(t))return t;if(l(t))return Wl[t]||(Wl[t]=function(e){return e[t]});throw new Error("If supplied, options.compare must be a string, function, or true")}function fn(t,e,n,i){if(!l(e)||!r(n))throw new Error("Bad arguments");var s=hn(t,e,n,i&&i.isolated);return on(s.map(function(t){var e=t[0],n=t[1],i=e.get();if(!r(n)||!r(i))throw new Error(Gl);return[e,i+n]}))}function dn(t,e,n){var i=c(e)?e:1,r=u(e)?e:n;return fn(this,t,i,r)}function pn(t){var e=Promise.resolve(t);return Ha(e,"stop",{value:d}),e}function mn(t,e){t=t||{};var n;return t.easing&&(n=h(t.easing)?t.easing:e.easing[t.easing]),{easing:n||Ql,duration:"duration"in t?t.duration:400,complete:t.complete||d,step:t.step||d,interpolator:t.interpolator}}function vn(t,e,n,r){r=mn(r,t);var s=e.get();if(i(s,n))return r.complete(r.to),pn(n);var a=_(s,n,t,r.interpolator);return a?e.animate(s,n,r,a):(jl.start(),e.set(n),jl.end(),pn(n))}function gn(t,e,n){if(u(t)){var i=Wa(t);throw new Error("ractive.animate(...) no longer supports objects. Instead of ractive.animate({\n "+i.map(function(e){return"'"+e+"': "+t[e]}).join("\n ")+"\n}, {...}), do\n\n"+i.map(function(e){return"ractive.animate('"+e+"', "+t[e]+", {...});"}).join("\n")+"\n")}return vn(this,this.viewmodel.joinAll(A(t)),e,n)}function yn(t,e){t.event&&t._eventQueue.push(t.event),t.event=e}function bn(t){t._eventQueue.length?t.event=t._eventQueue.pop():t.event=null}function wn(t,e){var n=e?Yl:Jl;if(n[t])return n[t];var i=t.split("."),r=[],s=!1;e&&(i.unshift("this"),s=!0);for(var a=Math.pow(2,i.length)-(e?1:0),o=0;a>o;o++){for(var u=[],h=0;h<i.length;h++)u.push(1&o>>h?"*":i[h]);r.unshift(u.join("."))}return s&&(i.length>2?r.push.apply(r,wn(t,!1)):(r.push("*"),r.push(t))),n[t]=r,r}function xn(t,e,n,i){if(void 0===i&&(i=[]),e){n.name=e,i.unshift(n);var r=t._nsSubs?wn(e,!0):["*",e];return kn(t,r,n,i,!0)}}function kn(t,e,n,i,r){void 0===r&&(r=!1);var s=!0;if(r||t._nsSubs){yn(t,n);for(var a=e.length;a--;)e[a]in t._subs&&(s=_n(t,t._subs[e[a]],n,i)&&s);bn(t)}if(t.parent&&s){if(r&&t.component){var o=t.component.name+"."+e[e.length-1];e=wn(o,!1),n&&!n.component&&(n.component=t)}s=kn(t.parent,e,n,i)}return s}function _n(t,e,n,i){var r=null,s=!1;e=e.slice();for(var a=0,o=e.length;o>a;a+=1)e[a].off||e[a].handler.apply(t,i)!==!1||(s=!0);return n&&s&&(r=n.event)&&(r.preventDefault&&r.preventDefault(),r.stopPropagation&&r.stopPropagation()),!s}function En(t,e){return t[e._guid]||(t[e._guid]=[])}function Sn(t,e){var n=En(t.queue,e);for(t.hook.fire(e);n.length;)Sn(t,n.shift());delete t.queue[e._guid]}function An(t,e){void 0===e&&(e=null);var n=[];return Cn(t,e,n,t.ractive),n}function Cn(t,e,n,i){if(t.isAnchor)e&&t.name!==e||n.push(t);else if(t.items)t.items.forEach(function(t){return Cn(t,e,n,i)});else if(t.iterations)t.iterations.forEach(function(t){return Cn(t,e,n,i)});else if(!t.fragment||t.component&&t.fragment.ractive!==i){if(t.instance&&t.instance.fragment){var r=[];Cn(t.instance.fragment,e,r,i),r.forEach(function(t){return t.ractive===i&&n.push(t)})}}else Cn(t.fragment,e,n,i)}function On(t,e){void 0===e&&(e=null);var n=An(t.fragment,e),i={},r=t._children.byName;n.forEach(function(t){var e=t.name;e in i||(i[e]=0);var n=i[e],s=(r[e]||[])[n];s&&s.lastBound!==t&&(s.lastBound&&s.lastBound.removeChild(s),t.addChild(s)),i[e]++})}function Nn(t){t.instance.fragment.rendered&&(t.shouldDestroy=!0,t.instance.unrender()),t.instance.el=null}function jn(t,e){void 0===e&&(e={});var n,i=this._children;if(t.parent&&t.parent!==this)throw new Error("Instance "+t._guid+" is already attached to a different instance "+t.parent._guid+". Please detach it from the other instance using detachChild first.");if(t.parent)throw new Error("Instance "+t._guid+" is already attached to this instance.");var r={instance:t,ractive:this,name:e.name||t.constructor.name||"Ractive",target:e.target||!1,bubble:Tn,findNextNode:Vn};if(r.nameOption=e.name,r.target){var s;(s=i.byName[r.target])||(s=[],this.set("@this.children.byName."+r.target,s)),n=e.prepend?0:void 0!==e.insertAt?e.insertAt:s.length}else r.up=this.fragment,r.external=!0;t.parent=this,t.root=this.root,t.component=r,i.push(r);var a=jl.start(),o=t.viewmodel.getRactiveModel();return o.joinKey("parent",{lastLink:!1}).link(this.viewmodel.getRactiveModel()),o.joinKey("root",{lastLink:!1}).link(this.root.viewmodel.getRactiveModel()),nc.attachchild.fire(t),r.target?(Nn(r),this.splice("@this.children.byName."+r.target,n,0,r),On(this,r.target)):t.isolated||t.viewmodel.attached(this.fragment),jl.end(),a.ractive=t,a.then(function(){return t})}function Tn(){jl.addFragment(this.instance.fragment)}function Vn(){return this.anchor?this.anchor.findNextNode():void 0}function Pn(t,e){this.computed[t]=e,(l(e)||h(e))&&(e=this.computed[t]={get:e});var n=A(t);if(!~t.indexOf("*")){var i=n.pop();return this.viewmodel.joinAll(n).compute(i,e)}e.pattern=new RegExp("^"+n.map(function(t){return t.replace(/\*\*/g,"(.+)").replace(/\*/g,"((?:\\\\.|[^\\.])+)")}).join("\\.")+"$")}function Mn(t,e){var n=jl.start(),i=Pn.call(this,t,e);if(i){var r=A(t);1!==r.length||i.isReadonly||i.set(this.viewmodel.value[r[0]]);var s=r.reduce(function(t,e){return t&&t.childByKey[e]},this.viewmodel);s&&(s.rebind(i,s,!1),s.parent&&delete s.parent.childByKey[s.key],z())}return jl.end(),n}function In(){return this.isDetached?this.el:(this.el&&P(this.el.__ractive_instances__,this),this.el=this.fragment.detach(),this.isDetached=!0,nc.detach.fire(this),this.el)}function Rn(t){for(var e,n,i=this._children,r=i.length;r--;)if(i[r].instance===t){n=r,e=i[r];break}if(!e||t.parent!==this)throw new Error("Instance "+t._guid+" is not attached to this instance.");var s=jl.start();e.anchor&&e.anchor.removeChild(e),t.isolated||t.viewmodel.detached(),i.splice(n,1),e.target&&(this.splice("@this.children.byName."+e.target,i.byName[e.target].indexOf(e),1),On(this,e.target));var a=t.viewmodel.getRactiveModel();return a.joinKey("parent",{lastLink:!1}).unlink(),a.joinKey("root",{lastLink:!1}).link(a),t.root=t,t.parent=null,t.component=null,nc.detachchild.fire(t),jl.end(),s.ractive=t,s.then(function(){return t})}function Bn(t,e){var n=this;if(void 0===e&&(e={}),!this.rendered)throw new Error("Cannot call ractive.find('"+t+"') unless instance is rendered to the DOM");var i=this.fragment.find(t,e);if(i)return i;if(e.remote)for(var r=0;r<this._children.length;r++)if(n._children[r].instance.fragment.rendered&&(i=n._children[r].instance.find(t,e)))return i}function Kn(t,e){if(void 0===e&&(e={}),!this.rendered)throw new Error("Cannot call ractive.findAll('"+t+"', ...) unless instance is rendered to the DOM");return Qa(e.result)||(e.result=[]),this.fragment.findAll(t,e),e.remote&&this._children.forEach(function(n){!n.target&&n.instance.fragment&&n.instance.fragment.rendered&&n.instance.findAll(t,e)}),e.result}function Ln(t,e){return!e&&u(t)&&(e=t,t=""),e=e||{},Qa(e.result)||(e.result=[]),this.fragment.findAllComponents(t,e),e.remote&&this._children.forEach(function(n){!n.target&&n.instance.fragment&&n.instance.fragment.rendered&&(t&&n.name!==t||e.result.push(n.instance),n.instance.findAllComponents(t,e))}),e.result}function Dn(t,e){var n=this;void 0===e&&(e={}),u(t)&&(e=t,t="");var i=this.fragment.findComponent(t,e);if(i)return i;if(e.remote){if(!t&&this._children.length)return this._children[0].instance;for(var r=0;r<this._children.length;r++)if(!n._children[r].target){if(n._children[r].name===t)return n._children[r].instance;if(i=n._children[r].instance.findComponent(t,e))return i}}}function Fn(t){return this.container?this.container.component&&this.container.component.name===t?this.container:this.container.findContainer(t):null}function zn(t){return this.parent?this.parent.component&&this.parent.component.name===t?this.parent:this.parent.findParent(t):null}function Un(t,e,n){for(void 0===e&&(e=!0);t&&(t.type!==Jo||n&&t.name!==n)&&(!e||t.type!==su&&t.type!==nu);)t=t.owner?t.owner:t.component||t["yield"]?t.containerFragment||t.component.up:t.parent?t.parent:t.up?t.up:void 0;return t}function $n(t,e,n){var i=[],r=qn(t,e,n);if(!r)return null;var s=r.length-2-r[1],a=Math.min(t,r[0]),o=a+r[1];i.startIndex=a;var u;for(u=0;a>u;u+=1)i.push(u);for(;o>u;u+=1)i.push(-1);for(;t>u;u+=1)i.push(u+s);return 0!==s?i.touchedFrom=r[0]:i.touchedFrom=t,i}function qn(t,e,n){switch(e){case"splice":for(void 0!==n[0]&&n[0]<0&&(n[0]=t+Math.max(n[0],-t)),f(n[0])&&(n[0]=0);n.length<2;)n.push(t-n[0]);return c(n[1])||(n[1]=t-n[0]),n[1]=Math.min(n[1],t-n[0]),n;case"sort":case"reverse":return null;case"pop":return t?[t-1,1]:[0,0];case"push":return[t,0].concat(n);case"shift":return[0,t?1:0];case"unshift":return[0,0].concat(n)}}function Hn(t){function e(t){for(var e=[],i=arguments.length-1;i-->0;)e[i]=arguments[i+1];return n(this.viewmodel.joinAll(A(t)),e)}function n(e,n){var i=e.get();if(!Qa(i)){if(f(i)){i=[];var r=ic[t].apply(i,n),s=jl.start().then(function(){return r});return e.set(i),jl.end(),s}throw new Error("shuffle array method "+t+" called on non-array at "+e.getKeypath())}var a=$n(i.length,t,n),o=ic[t].apply(i,n),u=jl.start().then(function(){return o});return u.result=o,a?e.shuffle?e.shuffle(a):e.mark():e.set(o),jl.end(),u}return{path:e,model:n}}function Zn(t,e,n){e.parent&&e.parent.wrapper&&e.parent.adapt();var i=jl.start();return e.mark(n&&n.force),e.notifyUpstream(),jl.end(),nc.update.fire(t,e),i}function Wn(t,e){var n,i;return l(t)?(i=A(t),n=e):n=t,Zn(this,i?this.viewmodel.joinAll(i):this.viewmodel,n)}function Gn(e,n,i){var r=[];if(s(n))for(var a in n)t(n,a)&&r.push([Qn(e,a).model,n[a]]);else r.push([Qn(e,n).model,i]);return r}function Qn(t,e){var n=t.fragment;return l(e)?{model:Je(n,e),instance:n.ractive}:{model:n.findContext(),instance:e}}function Yn(t,e){return t.events&&t.events.find&&t.events.find(function(t){return~t.template.n.indexOf(e)})}function Jn(t){for(var e=[],n=arguments.length-1;n-->0;)e[n]=arguments[n+1];var i;if(e[0]instanceof dc){var r=e.shift();i=qa(r),$a(i,r)}else i=!u(e[0])||null!==e[0]&&e[0].constructor!==Object?dc.forRactive(this):dc.forRactive(this,e.shift());return xn(this,t,i,e)}function Xn(t,e){if(!l(t))return this.viewmodel.get(!0,t);var n,i=A(t),r=i[0];return this.viewmodel.has(r)||this.component&&!this.isolated&&(n=Je(this.fragment||new Ul(this),r)),n=this.viewmodel.joinAll(i),n.get(!0,e)}function ti(){return cc.f?cc.f.getContext():void 0}function ei(t){l(t)&&Sc&&(t=Sc.call(document,t));var e;if(t){if(t._ractive)return t._ractive.proxy.getContext();if(!(e=t.__ractive_instances__))return ei(t.parentNode);if(1===e.length)return rn(e[0])}}function ni(t,e){return t?(l(t)&&(t=this.find(t,e)),ei(t)):rn(this)}function ii(t){return Pc?t:{is:t}}function ri(){return Xa.createDocumentFragment()}function si(t){var e;if(t&&"boolean"!=typeof t){if(!Ja||!Xa||!t)return null;if(t.nodeType)return t;if(l(t)){if(e=Xa.getElementById(t),!e&&Xa.querySelector)try{e=Xa.querySelector(t)}catch(n){}if(e&&e.nodeType)return e}return t[0]&&t[0].nodeType?t[0]:null}}function ai(t){return t&&"unknown"!=typeof t.parentNode&&t.parentNode&&t.parentNode.removeChild(t),t}function oi(t){return null==t||c(t)&&isNaN(t)||!t.toString?"":""+t}function ui(t){return oi(t).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'")}function hi(t,e){if(!this.fragment.rendered)throw new Error("The API has changed - you must call `ractive.render(target[, anchor])` to render your Ractive instance. Once rendered you can use `ractive.insert()`.");if(t=si(t),e=si(e)||null,!t)throw new Error("You must specify a valid target to insert into");t.insertBefore(this.detach(),e),this.el=t,(t.__ractive_instances__||(t.__ractive_instances__=[])).push(this),this.isDetached=!1,li(this)}function li(t){nc.insert.fire(t),t.findAllComponents("*").forEach(function(t){li(t.instance)})}function ci(t,e,n){var i,r=n&&(n.ractive||n.instance)||this,s=A(t);!r.viewmodel.has(s[0])&&r.component&&(i=Je(r.component.up,s[0]),i=i.joinAll(s.slice(1)));var a=i||r.viewmodel.joinAll(s),o=this.viewmodel.joinAll(A(e),{lastLink:!1});if(fi(a,o)||fi(o,a))throw new Error("A keypath cannot be linked to itself.");var u=jl.start();return o.link(a,n&&n.keypath||t),jl.end(),u}function fi(t,e){for(var n=e;n;){if(n===t||n.owner===t)return!0;n=n.target||n.parent}}function di(t,e){var n=e&&t.model?t.model.get():t.newValue;try{t.oldValue=t.oldFn?t.oldFn.call(t.oldContext,void 0,n,t.keypath):n}catch(i){b("Failed to execute observer oldValue callback for '"+this.keypath+"': "+(i.message||i)),t.oldValue=n}}function pi(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.map(E).join(".")}function mi(t){return A(t).map(C)}function vi(t,e,n){var i=t.oldValues;t.oldFn?(n||(t.oldValues={}),Wa(e).forEach(function(n){var r=[i[n],e[n],n],s=t.pattern.exec(n);s&&r.push.apply(r,s.slice(1)),t.oldValues[n]=t.oldFn.apply(t.oldContext,r)})):n?Wa(e).forEach(function(t){return i[t]=e[t]}):t.oldValues=e}function gi(){return-1}function yi(t,e,n){var i,r,a=this,o=[];s(t)?(i=t,r=e||{}):h(t)?(i={"":t},r=e||{}):(i={},i[t]=e,r=n||{});var u=!1;return Wa(i).forEach(function(t){var e=i[t],n=function(){for(var t=[],n=arguments.length;n--;)t[n]=arguments[n];return u?void 0:e.apply(this,t)},s=t.split(" ");s.length>1&&(s