// Knockout JavaScript library v1.3.0ctp
// (c) Steven Sanderson - http://knockoutjs.com/
// License: MIT (http://www.opensource.org/licenses/mit-license.php)

(function(window,undefined){ 
function b(a){throw a;}var l=void 0,m=true,o=null,p=false,r=window.ko={};r.b=function(a,c){for(var d=a.split("."),e=window,f=0;f<d.length-1;f++)e=e[d[f]];e[d[d.length-1]]=c};r.l=function(a,c,d){a[c]=d};
r.a=new function(){function a(a,e){if(a.tagName!="INPUT"||!a.type)return p;if(e.toLowerCase()!="click")return p;var f=a.type.toLowerCase();return f=="checkbox"||f=="radio"}var c=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,d={},e={};d[/Firefox\/2/i.test(navigator.userAgent)?"KeyboardEvent":"UIEvents"]=["keyup","keydown","keypress"];d.MouseEvents="click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave".split(",");for(var f in d){var h=d[f];if(h.length)for(var g=0,i=h.length;g<i;g++)e[h[g]]=
f}d=function(){for(var a=3,e=document.createElement("div"),f=e.getElementsByTagName("i");e.innerHTML="<\!--[if gt IE "+ ++a+"]><i></i><![endif]--\>",f[0];);return a>4?a:l}();return{Aa:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],n:function(a,e){for(var f=0,c=a.length;f<c;f++)e(a[f])},k:function(a,e){if(typeof Array.prototype.indexOf=="function")return Array.prototype.indexOf.call(a,e);for(var f=0,c=a.length;f<c;f++)if(a[f]===e)return f;return-1},Ua:function(a,e,f){for(var c=0,h=a.length;c<
h;c++)if(e.call(f,a[c]))return a[c];return o},ba:function(a,e){var f=r.a.k(a,e);f>=0&&a.splice(f,1)},xa:function(a){for(var a=a||[],e=[],f=0,c=a.length;f<c;f++)r.a.k(e,a[f])<0&&e.push(a[f]);return e},aa:function(a,e){for(var a=a||[],f=[],c=0,h=a.length;c<h;c++)f.push(e(a[c]));return f},$:function(a,e){for(var a=a||[],f=[],c=0,h=a.length;c<h;c++)e(a[c])&&f.push(a[c]);return f},G:function(a,e){for(var f=0,c=e.length;f<c;f++)a.push(e[f]);return a},extend:function(a,e){for(var f in e)e.hasOwnProperty(f)&&
(a[f]=e[f]);return a},U:function(a){for(;a.firstChild;)r.removeNode(a.firstChild)},na:function(a,e){r.a.U(a);e&&r.a.n(e,function(e){a.appendChild(e)})},Ia:function(a,e){var f=a.nodeType?[a]:a;if(f.length>0){for(var c=f[0],h=c.parentNode,d=0,g=e.length;d<g;d++)h.insertBefore(e[d],c);d=0;for(g=f.length;d<g;d++)r.removeNode(f[d])}},Ka:function(a,e){navigator.userAgent.indexOf("MSIE 6")>=0?a.setAttribute("selected",e):a.selected=e},v:function(a){return(a||"").replace(c,"")},Cb:function(a,e){for(var f=
[],c=(a||"").split(e),h=0,d=c.length;h<d;h++){var g=r.a.v(c[h]);g!==""&&f.push(g)}return f},Bb:function(a,e){a=a||"";return e.length>a.length?p:a.substring(0,e.length)===e},fb:function(a){for(var e=Array.prototype.slice.call(arguments,1),f="return ("+a+")",c=0;c<e.length;c++)e[c]&&typeof e[c]=="object"&&(f="with(sc["+c+"]) { "+f+" } ");return(new Function("sc",f))(e)},cb:function(a,e){if(e.compareDocumentPosition)return(e.compareDocumentPosition(a)&16)==16;for(;a!=o;){if(a==e)return m;a=a.parentNode}return p},
fa:function(a){return r.a.cb(a,document)},s:function(e,f,c){if(typeof jQuery!="undefined"){if(a(e,f))var h=c,c=function(a,e){var f=this.checked;if(e)this.checked=e.Wa!==m;h.call(this,a);this.checked=f};jQuery(e).bind(f,c)}else typeof e.addEventListener=="function"?e.addEventListener(f,c,p):typeof e.attachEvent!="undefined"?e.attachEvent("on"+f,function(a){c.call(e,a)}):b(Error("Browser doesn't support addEventListener or attachEvent"))},ra:function(f,c){(!f||!f.nodeType)&&b(Error("element must be a DOM node when calling triggerEvent"));
if(typeof jQuery!="undefined"){var h=[];a(f,c)&&h.push({Wa:f.checked});jQuery(f).trigger(c,h)}else if(typeof document.createEvent=="function")typeof f.dispatchEvent=="function"?(h=document.createEvent(e[c]||"HTMLEvents"),h.initEvent(c,m,m,window,0,0,0,0,0,p,p,p,p,0,f),f.dispatchEvent(h)):b(Error("The supplied element doesn't support dispatchEvent"));else if(typeof f.fireEvent!="undefined"){if(c=="click"&&f.tagName=="INPUT"&&(f.type.toLowerCase()=="checkbox"||f.type.toLowerCase()=="radio"))f.checked=
f.checked!==m;f.fireEvent("on"+c)}else b(Error("Browser doesn't support triggering events"))},d:function(a){return r.V(a)?a():a},bb:function(a,e){return r.a.k((a.className||"").split(/\s+/),e)>=0},Oa:function(a,e,f){var c=r.a.bb(a,e);if(f&&!c)a.className=(a.className||"")+" "+e;else if(c&&!f){for(var f=(a.className||"").split(/\s+/),c="",h=0;h<f.length;h++)f[h]!=e&&(c+=f[h]+" ");a.className=r.a.v(c)}},outerHTML:function(a){var e=a.outerHTML;if(typeof e=="string")return e;e=window.document.createElement("div");
e.appendChild(a.cloneNode(m));return e.innerHTML},wb:function(a,e){for(var a=r.a.d(a),e=r.a.d(e),f=[],c=a;c<=e;c++)f.push(c);return f},ja:function(a){for(var e=[],f=0,c=a.length;f<c;f++)e.push(a[f]);return e},mb:d===6,nb:d===7,Ba:function(a,e){for(var f=r.a.ja(a.getElementsByTagName("INPUT")).concat(r.a.ja(a.getElementsByTagName("TEXTAREA"))),c=typeof e=="string"?function(a){return a.name===e}:function(a){return e.test(a.name)},h=[],d=f.length-1;d>=0;d--)c(f[d])&&h.push(f[d]);return h},tb:function(a){return typeof a==
"string"&&(a=r.a.v(a))?window.JSON&&window.JSON.parse?window.JSON.parse(a):(new Function("return "+a))():o},pa:function(a){(typeof JSON=="undefined"||typeof JSON.stringify=="undefined")&&b(Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js"));return JSON.stringify(r.a.d(a))},ub:function(a,e,f){var f=f||{},c=f.params||{},h=f.includeFields||this.Aa,
d=a;if(typeof a=="object"&&a.tagName=="FORM")for(var d=a.action,g=h.length-1;g>=0;g--)for(var i=r.a.Ba(a,h[g]),v=i.length-1;v>=0;v--)c[i[v].name]=i[v].value;var e=r.a.d(e),u=document.createElement("FORM");u.style.display="none";u.action=d;u.method="post";for(var y in e)a=document.createElement("INPUT"),a.name=y,a.value=r.a.pa(r.a.d(e[y])),u.appendChild(a);for(y in c)a=document.createElement("INPUT"),a.name=y,a.value=c[y],u.appendChild(a);document.body.appendChild(u);f.submitter?f.submitter(u):u.submit();
setTimeout(function(){u.parentNode.removeChild(u)},0)}}};r.b("ko.utils",r.a);r.b("ko.utils.arrayForEach",r.a.n);r.b("ko.utils.arrayFirst",r.a.Ua);r.b("ko.utils.arrayFilter",r.a.$);r.b("ko.utils.arrayGetDistinctValues",r.a.xa);r.b("ko.utils.arrayIndexOf",r.a.k);r.b("ko.utils.arrayMap",r.a.aa);r.b("ko.utils.arrayPushAll",r.a.G);r.b("ko.utils.arrayRemoveItem",r.a.ba);r.b("ko.utils.extend",r.a.extend);r.b("ko.utils.fieldsIncludedWithJsonPost",r.a.Aa);r.b("ko.utils.getFormFields",r.a.Ba);
r.b("ko.utils.postJson",r.a.ub);r.b("ko.utils.parseJson",r.a.tb);r.b("ko.utils.registerEventHandler",r.a.s);r.b("ko.utils.stringifyJson",r.a.pa);r.b("ko.utils.range",r.a.wb);r.b("ko.utils.toggleDomNodeCssClass",r.a.Oa);r.b("ko.utils.triggerEvent",r.a.ra);r.b("ko.utils.unwrapObservable",r.a.d);Function.prototype.bind||(Function.prototype.bind=function(a){var c=this,d=Array.prototype.slice.call(arguments),a=d.shift();return function(){return c.apply(a,d.concat(Array.prototype.slice.call(arguments)))}});
r.a.e=new function(){var a=0,c="__ko__"+(new Date).getTime(),d={};return{get:function(a,f){var c=r.a.e.getAll(a,p);return c===l?l:c[f]},set:function(a,f,c){c===l&&r.a.e.getAll(a,p)===l||(r.a.e.getAll(a,m)[f]=c)},getAll:function(e,f){var h=e[c];if(!(h&&h!=="null")){if(!f)return;h=e[c]="ko"+a++;d[h]={}}return d[h]},clear:function(a){var f=a[c];f&&(delete d[f],a[c]=o)}}};r.b("ko.utils.domData",r.a.e);r.b("ko.utils.domData.clear",r.a.e.clear);
r.a.w=new function(){function a(a,f){var c=r.a.e.get(a,d);c===l&&f&&(c=[],r.a.e.set(a,d,c));return c}function c(e){var f=a(e,p);if(f)for(var f=f.slice(0),c=0;c<f.length;c++)f[c](e);r.a.e.clear(e);typeof jQuery=="function"&&typeof jQuery.cleanData=="function"&&jQuery.cleanData([e])}var d="__ko_domNodeDisposal__"+(new Date).getTime();return{ua:function(e,f){typeof f!="function"&&b(Error("Callback must be a function"));a(e,m).push(f)},Ha:function(e,f){var c=a(e,p);c&&(r.a.ba(c,f),c.length==0&&r.a.e.set(e,
d,l))},D:function(a){if(!(a.nodeType!=1&&a.nodeType!=9)){c(a);var f=[];r.a.G(f,a.getElementsByTagName("*"));for(var a=0,d=f.length;a<d;a++)c(f[a])}},removeNode:function(a){r.D(a);a.parentNode&&a.parentNode.removeChild(a)}}};r.D=r.a.w.D;r.removeNode=r.a.w.removeNode;r.b("ko.cleanNode",r.D);r.b("ko.removeNode",r.removeNode);r.b("ko.utils.domNodeDisposal",r.a.w);r.b("ko.utils.domNodeDisposal.addDisposeCallback",r.a.w.ua);r.b("ko.utils.domNodeDisposal.removeDisposeCallback",r.a.w.Ha);
r.a.X=function(a){if(typeof jQuery!="undefined")a=jQuery.clean([a]);else{var c=r.a.v(a).toLowerCase(),d=document.createElement("div"),c=c.match(/^<(thead|tbody|tfoot)/)&&[1,"<table>","</table>"]||!c.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!c.indexOf("<td")||!c.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||[0,"",""];for(d.innerHTML="ignored<div>"+c[1]+a+c[2]+"</div>";c[0]--;)d=d.lastChild;a=r.a.ja(d.lastChild.childNodes)}return a};
r.a.zb=function(a,c){r.a.U(a);if(c!==o&&c!==l)if(typeof c!="string"&&(c=c.toString()),typeof jQuery!="undefined")jQuery(a).html(c);else for(var d=r.a.X(c),e=0;e<d.length;e++)a.appendChild(d[e])};r.b("ko.utils.parseHtmlFragment",r.a.X);
r.r=function(){function a(){return((1+Math.random())*4294967296|0).toString(16).substring(1)}function c(a,f){if(a)if(a.nodeType==8){var d=r.r.Fa(a.nodeValue);d!=o&&f.push({ab:a,rb:d})}else if(a.nodeType==1)for(var d=0,g=a.childNodes,i=g.length;d<i;d++)c(g[d],f)}var d={};return{ka:function(e){typeof e!="function"&&b(Error("You can only pass a function to ko.memoization.memoize()"));var f=a()+a();d[f]=e;return"<\!--[ko_memo:"+f+"]--\>"},Pa:function(a,f){var c=d[a];c===l&&b(Error("Couldn't find any memo with ID "+
a+". Perhaps it's already been unmemoized."));try{return c.apply(o,f||[]),m}finally{delete d[a]}},Qa:function(a,f){var d=[];c(a,d);for(var g=0,i=d.length;g<i;g++){var j=d[g].ab,k=[j];f&&r.a.G(k,f);r.r.Pa(d[g].rb,k);j.nodeValue="";j.parentNode&&j.parentNode.removeChild(j)}},Fa:function(a){return(a=a.match(/^\[ko_memo\:(.*?)\]$/))?a[1]:o}}}();r.b("ko.memoization",r.r);r.b("ko.memoization.memoize",r.r.ka);r.b("ko.memoization.unmemoize",r.r.Pa);r.b("ko.memoization.parseMemoText",r.r.Fa);
r.b("ko.memoization.unmemoizeDomNodeAndDescendants",r.r.Qa);r.za={throttle:function(a,c){a.throttleEvaluation=c;var d=o;return r.i({read:a,write:function(e){clearTimeout(d);d=setTimeout(function(){a(e)},c)}})}};r.b("ko.extenders",r.za);r.Ma=function(a,c){this.ca=a;this.$a=c;r.l(this,"dispose",this.u)};r.Ma.prototype.u=function(){this.lb=m;this.$a()};
r.Q=function(){this.S=[];r.a.extend(this,r.Q.fn);r.l(this,"subscribe",this.qa);r.l(this,"extend",this.extend);r.l(this,"notifySubscribers",this.O);r.l(this,"getSubscriptionsCount",this.ib)};
r.Q.fn={qa:function(a,c){var d=c?a.bind(c):a,e=new r.Ma(d,function(){r.a.ba(this.S,e)}.bind(this));this.S.push(e);return e},O:function(a){r.a.n(this.S.slice(0),function(c){c&&c.lb!==m&&c.ca(a)})},ib:function(){return this.S.length},extend:function(a){var c=this;if(a)for(var d in a){var e=r.za[d];typeof e=="function"&&(c=e(c,a[d]))}return c}};r.Da=function(a){return typeof a.qa=="function"&&typeof a.O=="function"};r.b("ko.subscribable",r.Q);r.b("ko.isSubscribable",r.Da);
r.T=function(){var a=[];return{Va:function(c){a.push({ca:c,ya:[]})},end:function(){a.pop()},Ga:function(c){r.Da(c)||b("Only subscribable things can act as dependencies");if(a.length>0){var d=a[a.length-1];r.a.k(d.ya,c)>=0||(d.ya.push(c),d.ca(c))}}}}();var A={undefined:m,"boolean":m,number:m,string:m};
r.z=function(a){function c(){if(arguments.length>0){if(!c.equalityComparer||!c.equalityComparer(d,arguments[0]))d=arguments[0],c.O(d);return this}else return r.T.Ga(c),d}var d=a;r.Q.call(c);c.K=function(){c.O(d)};r.a.extend(c,r.z.fn);r.l(c,"valueHasMutated",c.K);return c};r.z.fn={A:r.z,equalityComparer:function(a,c){return a===o||typeof a in A?a===c:p}};r.V=function(a){return a===o||a===l||a.A===l?p:a.A===r.z?m:r.V(a.A)};
r.N=function(a){return typeof a=="function"&&a.A===r.z?m:typeof a=="function"&&a.A===r.i&&a.jb?m:p};r.b("ko.observable",r.z);r.b("ko.isObservable",r.V);r.b("ko.isWriteableObservable",r.N);
r.P=function(a){arguments.length==0&&(a=[]);a!==o&&a!==l&&!("length"in a)&&b(Error("The argument passed when initializing an observable array must be an array, or null, or undefined."));var c=new r.z(a);r.a.extend(c,r.P.fn);r.l(c,"remove",c.remove);r.l(c,"removeAll",c.xb);r.l(c,"destroy",c.ea);r.l(c,"destroyAll",c.Za);r.l(c,"indexOf",c.indexOf);r.l(c,"replace",c.replace);return c};
r.P.fn={remove:function(a){for(var c=this(),d=[],e=typeof a=="function"?a:function(e){return e===a},f=0;f<c.length;f++){var h=c[f];e(h)&&(d.push(h),c.splice(f,1),f--)}d.length&&this.K();return d},xb:function(a){if(a===l){var c=this(),d=c.slice(0);c.splice(0,c.length);this.K();return d}return!a?[]:this.remove(function(e){return r.a.k(a,e)>=0})},ea:function(a){for(var c=this(),d=typeof a=="function"?a:function(e){return e===a},e=c.length-1;e>=0;e--)d(c[e])&&(c[e]._destroy=m);this.K()},Za:function(a){return a===
l?this.ea(function(){return m}):!a?[]:this.ea(function(c){return r.a.k(a,c)>=0})},indexOf:function(a){var c=this();return r.a.k(c,a)},replace:function(a,c){var d=this.indexOf(a);d>=0&&(this()[d]=c,this.K())}};r.a.n("pop,push,reverse,shift,sort,splice,unshift".split(","),function(a){r.P.fn[a]=function(){var c=this(),c=c[a].apply(c,arguments);this.K();return c}});r.a.n(["slice"],function(a){r.P.fn[a]=function(){var c=this();return c[a].apply(c,arguments)}});r.b("ko.observableArray",r.P);
function B(a,c){a&&typeof a=="object"?c=a:(c=c||{},c.read=a||c.read);typeof c.read!="function"&&b("Pass a function that returns the value of the dependentObservable");return c}
r.i=function(a,c,d){function e(){r.a.n(q,function(a){a.u()});q=[]}function f(){var a=g.throttleEvaluation;a&&a>=0?(clearTimeout(w),w=setTimeout(h,a)):h()}function h(){if(j&&typeof d.disposeWhen=="function"&&d.disposeWhen())g.u();else{try{e(),r.T.Va(function(a){q.push(a.qa(f))}),i=d.read.call(d.owner||c)}finally{r.T.end()}g.O(i);j=m}}function g(){if(arguments.length>0)typeof d.write==="function"?d.write.apply(d.owner||c,arguments):b("Cannot write a value to a dependentObservable unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");
else return j||h(),r.T.Ga(g),i}var i,j=p,d=B(a,d),k=typeof d.disposeWhenNodeIsRemoved=="object"?d.disposeWhenNodeIsRemoved:o,n=o;if(k){n=function(){g.u()};r.a.w.ua(k,n);var t=d.disposeWhen;d.disposeWhen=function(){return!r.a.fa(k)||typeof t=="function"&&t()}}var q=[],w=o;g.hb=function(){return q.length};g.jb=typeof d.write==="function";g.u=function(){k&&r.a.w.Ha(k,n);e()};r.Q.call(g);r.a.extend(g,r.i.fn);d.deferEvaluation!==m&&h();r.l(g,"dispose",g.u);r.l(g,"getDependenciesCount",g.hb);return g};
r.i.fn={A:r.i};r.i.A=r.z;r.b("ko.dependentObservable",r.i);r.b("ko.computed",r.i);
(function(){function a(e,f,h){h=h||new d;e=f(e);if(!(typeof e=="object"&&e!==o&&e!==l))return e;var g=e instanceof Array?[]:{};h.save(e,g);c(e,function(c){var d=f(e[c]);switch(typeof d){case "boolean":case "number":case "string":case "function":g[c]=d;break;case "object":case "undefined":var k=h.get(d);g[c]=k!==l?k:a(d,f,h)}});return g}function c(a,f){if(a instanceof Array)for(var c=0;c<a.length;c++)f(c);else for(c in a)f(c)}function d(){var a=[],f=[];this.save=function(c,d){var i=r.a.k(a,c);i>=0?
f[i]=d:(a.push(c),f.push(d))};this.get=function(c){c=r.a.k(a,c);return c>=0?f[c]:l}}r.Na=function(e){arguments.length==0&&b(Error("When calling ko.toJS, pass the object you want to convert."));return a(e,function(a){for(var e=0;r.V(a)&&e<10;e++)a=a();return a})};r.toJSON=function(a){a=r.Na(a);return r.a.pa(a)}})();r.b("ko.toJS",r.Na);r.b("ko.toJSON",r.toJSON);
r.h={q:function(a){return a.tagName=="OPTION"?a.__ko__hasDomDataOptionValue__===m?r.a.e.get(a,r.c.options.la):a.getAttribute("value"):a.tagName=="SELECT"?a.selectedIndex>=0?r.h.q(a.options[a.selectedIndex]):l:a.value},R:function(a,c){if(a.tagName=="OPTION")switch(typeof c){case "string":case "number":r.a.e.set(a,r.c.options.la,l);"__ko__hasDomDataOptionValue__"in a&&delete a.__ko__hasDomDataOptionValue__;a.value=c;break;default:r.a.e.set(a,r.c.options.la,c),a.__ko__hasDomDataOptionValue__=m,a.value=
""}else if(a.tagName=="SELECT")for(var d=a.options.length-1;d>=0;d--){if(r.h.q(a.options[d])==c){a.selectedIndex=d;break}}else{if(c===o||c===l)c="";a.value=c}}};r.b("ko.selectExtensions",r.h);r.b("ko.selectExtensions.readValue",r.h.q);r.b("ko.selectExtensions.writeValue",r.h.R);
r.j=function(){function a(a,e){for(var d=o;a!=d;)d=a,a=a.replace(c,function(a,c){return e[c]});return a}var c=/\@ko_token_(\d+)\@/g,d=/^[\_$a-z][\_$a-z0-9]*(\[.*?\])*(\.[\_$a-z][\_$a-z0-9]*(\[.*?\])*)*$/i,e=["true","false"];return{C:[],Y:function(e){var c=r.a.v(e);if(c.length<3)return[];c.charAt(0)==="{"&&(c=c.substring(1,c.length-1));for(var e=[],d=o,i,j=0;j<c.length;j++){var k=c.charAt(j);if(d===o)switch(k){case '"':case "'":case "/":d=j,i=k}else if(k==i&&c.charAt(j-1)!=="\\"){k=c.substring(d,j+
1);e.push(k);var n="@ko_token_"+(e.length-1)+"@",c=c.substring(0,d)+n+c.substring(j+1);j-=k.length-n.length;d=o}}i=d=o;for(var t=0,q=o,j=0;j<c.length;j++){k=c.charAt(j);if(d===o)switch(k){case "{":d=j;q=k;i="}";break;case "(":d=j;q=k;i=")";break;case "[":d=j,q=k,i="]"}k===q?t++:k===i&&(t--,t===0&&(k=c.substring(d,j+1),e.push(k),n="@ko_token_"+(e.length-1)+"@",c=c.substring(0,d)+n+c.substring(j+1),j-=k.length-n.length,d=o))}i=[];c=c.split(",");d=0;for(j=c.length;d<j;d++)t=c[d],q=t.indexOf(":"),q>0&&
q<t.length-1?(k=t.substring(q+1),i.push({key:a(t.substring(0,q),e),value:a(k,e)})):i.push({unknown:a(t,e)});return i},ha:function(a){for(var c=typeof a==="string"?r.j.Y(a):a,g=[],a=[],i,j=0;i=c[j];j++)if(g.length>0&&g.push(","),i.key){var k;a:{k=i.key;var n=r.a.v(k);switch(n.length&&n.charAt(0)){case "'":case '"':break a;default:k="'"+n+"'"}}i=i.value;g.push(k);g.push(":");g.push(i);n=r.a.v(i);if(r.a.k(e,r.a.v(n).toLowerCase())>=0?0:n.match(d)!==o)a.length>0&&a.push(", "),a.push(k+" : function(__ko_value) { "+
i+" = __ko_value; }")}else i.unknown&&g.push(i.unknown);c=g.join("");a.length>0&&(c=c+", '_ko_property_writers' : { "+a.join("")+" } ");return c},pb:function(a,c){for(var e=0;e<a.length;e++)if(r.a.v(a[e].key)==c)return m;return p}}}();r.b("ko.jsonExpressionRewriting",r.j);r.b("ko.jsonExpressionRewriting.bindingRewriteValidators",r.j.C);r.b("ko.jsonExpressionRewriting.parseObjectLiteral",r.j.Y);r.b("ko.jsonExpressionRewriting.insertPropertyAccessorsIntoJson",r.j.ha);
(function(){function a(a){return a.nodeType==8&&(f?a.text:a.nodeValue).match(h)}function c(a){return a.nodeType==8&&(f?a.text:a.nodeValue).match(g)}function d(e,f){for(var d=e,g=1,h=[];d=d.nextSibling;){if(c(d)&&(g--,g===0))return h;h.push(d);a(d)&&g++}f||b(Error("Cannot find closing comment tag to match: "+e.nodeValue));return o}function e(a,c){var e=d(a,c);return e?e.length>0?e[e.length-1].nextSibling:a.nextSibling:o}var f=document.createComment("test").text==="<\!--test--\>",h=f?/^<\!--\s*ko\s+(.*\:.*)\s*--\>$/:
/^\s*ko\s+(.*\:.*)\s*$/,g=f?/^<\!--\s*\/ko\s*--\>$/:/^\s*\/ko\s*$/,i={ul:m,ol:m};r.f={B:{},childNodes:function(c){return a(c)?d(c):c.childNodes},ga:function(c){if(a(c))for(var c=r.f.childNodes(c),e=0,f=c.length;e<f;e++)r.removeNode(c[e]);else r.a.U(c)},na:function(c,e){if(a(c)){r.f.ga(c);for(var f=c.nextSibling,d=0,g=e.length;d<g;d++)f.parentNode.insertBefore(e[d],f)}else r.a.na(c,e)},vb:function(c,e){a(c)?c.parentNode.insertBefore(e,c.nextSibling):c.firstChild?c.insertBefore(e,c.firstChild):c.appendChild(e)},
kb:function(c,e,f){a(c)?c.parentNode.insertBefore(e,f.nextSibling):f.nextSibling?c.insertBefore(e,f.nextSibling):c.appendChild(e)},nextSibling:function(f){return a(f)?e(f).nextSibling:f.nextSibling&&c(f.nextSibling)?l:f.nextSibling},sa:function(c){return(c=a(c))?c[1]:o},gb:function(a){if(r.f.sa(a)){var c;c=r.f.childNodes(a);for(var e=[],f=0,d=c.length;f<d;f++)r.a.w.D(c[f]),e.push(r.a.outerHTML(c[f]));c=String.prototype.concat.apply("",e);r.f.ga(a);(new r.m.F(a)).text(c)}},Ea:function(f){if(i[f.tagName.toLowerCase()]){var d=
f.firstChild;if(d){do if(d.nodeType===1){var g;g=d.firstChild;var h=o;if(g){do if(h)h.push(g);else if(a(g)){var q=e(g,m);q?g=q:h=[g]}else c(g)&&(h=[g]);while(g=g.nextSibling)}if(g=h){h=d.nextSibling;for(q=0;q<g.length;q++)h?f.insertBefore(g[q],h):f.appendChild(g[q])}}while(d=d.nextSibling)}}}}})();r.I=function(){};
r.a.extend(r.I.prototype,{nodeHasBindings:function(a){switch(a.nodeType){case 1:return a.getAttribute("data-bind")!=o;case 8:return r.f.sa(a)!=o;default:return p}},getBindings:function(a,c){var d=this.getBindingsString(a,c);return d?this.parseBindingsString(d,c):o},getBindingsString:function(a){switch(a.nodeType){case 1:return a.getAttribute("data-bind");case 8:return r.f.sa(a);default:return o}},parseBindingsString:function(a,c){try{var d=c.$data,e=" { "+r.j.ha(a)+" } ";return r.a.fb(e,d===o?window:
d,c)}catch(f){b(Error("Unable to parse bindings.\nMessage: "+f+";\nBindings value: "+a))}}});r.I.instance=new r.I;r.b("ko.bindingProvider",r.I);
(function(){function a(a,f){for(var d,g=f.childNodes[0];d=g;)g=r.f.nextSibling(d),c(a,d,p)}function c(c,f,h){var g=m,i=f.nodeType==1;i&&r.f.Ea(f);if(i&&h||r.I.instance.nodeHasBindings(f))g=d(f,o,c,h).Ab;i&&g&&a(c,f)}function d(a,c,d,g){function i(a){return function(){return n[a]}}function j(){return n}var k=0;r.f.gb(a);var n,t;new r.i(function(){var q=d&&d instanceof r.H?d:new r.H(r.a.d(d)),w=q.$data;g&&r.La(a,q);if(n=(typeof c=="function"?c():c)||r.I.instance.getBindings(a,q)){if(k===0){k=1;for(var s in n){var x=
r.c[s];x&&a.nodeType===8&&!r.f.B[s]&&b(Error("The binding '"+s+"' cannot be used with virtual elements"));if(x&&typeof x.init=="function"&&(x=(0,x.init)(a,i(s),j,w,q))&&x.controlsDescendantBindings)t!==l&&b(Error("Multiple bindings ("+t+" and "+s+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.")),t=s}k=2}if(k===2)for(s in n)(x=r.c[s])&&typeof x.update=="function"&&(0,x.update)(a,i(s),j,w,q)}},o,{disposeWhenNodeIsRemoved:a});
return{Ab:t===l}}r.c={};r.H=function(a,c){this.$data=a;c?(this.$parent=c.$data,this.$parents=(c.$parents||[]).slice(0),this.$parents.unshift(this.$parent),this.$root=c.$root):(this.$parents=[],this.$root=a)};r.H.prototype.createChildContext=function(a){return new r.H(a,this)};r.La=function(a,c){if(arguments.length==2)r.a.e.set(a,"__ko_bindingContext__",c);else return r.a.e.get(a,"__ko_bindingContext__")};r.wa=function(a,c,h){a.nodeType===1&&r.f.Ea(a);return d(a,c,h,m)};r.Ra=function(c,f){f.nodeType===
1&&a(c,f)};r.va=function(a,f){f&&f.nodeType!==1&&f.nodeType!==8&&b(Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node"));f=f||window.document.body;c(a,f,m)};r.da=function(a){switch(a.nodeType){case 1:case 8:var c=r.La(a);if(c)return c;if(a.parentNode)return r.da(a.parentNode)}};r.Ya=function(a){return(a=r.da(a))?a.$data:l};r.b("ko.bindingHandlers",r.c);r.b("ko.applyBindings",r.va);r.b("ko.applyBindingsToDescendants",r.Ra);r.b("ko.applyBindingsToNode",
r.wa);r.b("ko.contextFor",r.da);r.b("ko.dataFor",r.Ya)})();r.a.n(["click"],function(a){r.c[a]={init:function(c,d,e,f){return r.c.event.init.call(this,c,function(){var c={};c[a]=d();return c},e,f)}}});
r.c.event={init:function(a,c,d,e){var f=c()||{},h;for(h in f)(function(){var f=h;typeof f=="string"&&r.a.s(a,f,function(a){var h,k=c()[f];if(k){var n=d();try{h=k.apply(e,arguments)}finally{if(h!==m)a.preventDefault?a.preventDefault():a.returnValue=p}if(n[f+"Bubble"]===p)a.cancelBubble=m,a.stopPropagation&&a.stopPropagation()}})})()}};
r.c.submit={init:function(a,c,d,e){typeof c()!="function"&&b(Error("The value for a submit binding must be a function to invoke on submit"));r.a.s(a,"submit",function(f){var d,g=c();try{d=g.call(e,a)}finally{if(d!==m)f.preventDefault?f.preventDefault():f.returnValue=p}})}};r.c.visible={update:function(a,c){var d=r.a.d(c()),e=a.style.display!="none";if(d&&!e)a.style.display="";else if(!d&&e)a.style.display="none"}};
r.c.enable={update:function(a,c){var d=r.a.d(c());if(d&&a.disabled)a.removeAttribute("disabled");else if(!d&&!a.disabled)a.disabled=m}};r.c.disable={update:function(a,c){r.c.enable.update(a,function(){return!r.a.d(c())})}};function C(a,c,d){d&&c!==r.h.q(a)&&r.h.R(a,c);c!==r.h.q(a)&&r.a.ra(a,"change")}
r.c.value={init:function(a,c,d){var e=["change"],f=d().valueUpdate;f&&(typeof f=="string"&&(f=[f]),r.a.G(e,f),e=r.a.xa(e));r.a.n(e,function(e){var f=p;r.a.Bb(e,"after")&&(f=m,e=e.substring(5));var i=f?function(a){setTimeout(a,0)}:function(a){a()};r.a.s(a,e,function(){i(function(){var e=c(),f=r.h.q(a);r.N(e)?e(f):(e=d(),e._ko_property_writers&&e._ko_property_writers.value&&e._ko_property_writers.value(f))})})})},update:function(a,c){var d=r.a.d(c()),e=r.h.q(a),f=d!=e;d===0&&e!==0&&e!=="0"&&(f=m);f&&
(e=function(){r.h.R(a,d)},e(),a.tagName=="SELECT"&&setTimeout(e,0));a.tagName=="SELECT"&&a.length>0&&C(a,d,p)}};
r.c.options={update:function(a,c,d){a.tagName!="SELECT"&&b(Error("options binding applies only to SELECT elements"));for(var e=a.length==0,f=r.a.aa(r.a.$(a.childNodes,function(a){return a.tagName&&a.tagName=="OPTION"&&a.selected}),function(a){return r.h.q(a)||a.innerText||a.textContent}),h=a.scrollTop,g=r.a.d(c());a.length>0;)r.D(a.options[0]),a.remove(0);if(g){d=d();typeof g.length!="number"&&(g=[g]);if(d.optionsCaption){var i=document.createElement("OPTION");i.innerHTML=d.optionsCaption;r.h.R(i,
l);a.appendChild(i)}for(var c=0,j=g.length;c<j;c++){var i=document.createElement("OPTION"),k=typeof d.optionsValue=="string"?g[c][d.optionsValue]:g[c],k=r.a.d(k);r.h.R(i,k);var n=d.optionsText,k=typeof n=="function"?n(g[c]):typeof n=="string"?g[c][n]:k;if(k===o||k===l)k="";k=r.a.d(k).toString();typeof i.innerText=="string"?i.innerText=k:i.textContent=k;a.appendChild(i)}g=a.getElementsByTagName("OPTION");c=i=0;for(j=g.length;c<j;c++)r.a.k(f,r.h.q(g[c]))>=0&&(r.a.Ka(g[c],m),i++);if(h)a.scrollTop=h;
e&&"value"in d&&C(a,r.a.d(d.value),m)}}};r.c.options.la="__ko.bindingHandlers.options.optionValueDomData__";
r.c.selectedOptions={Ca:function(a){for(var c=[],a=a.childNodes,d=0,e=a.length;d<e;d++){var f=a[d];f.tagName=="OPTION"&&f.selected&&c.push(r.h.q(f))}return c},init:function(a,c,d){r.a.s(a,"change",function(){var a=c();r.N(a)?a(r.c.selectedOptions.Ca(this)):(a=d(),a._ko_property_writers&&a._ko_property_writers.value&&a._ko_property_writers.value(r.c.selectedOptions.Ca(this)))})},update:function(a,c){a.tagName!="SELECT"&&b(Error("values binding applies only to SELECT elements"));var d=r.a.d(c());if(d&&
typeof d.length=="number")for(var e=a.childNodes,f=0,h=e.length;f<h;f++){var g=e[f];g.tagName=="OPTION"&&r.a.Ka(g,r.a.k(d,r.h.q(g))>=0)}}};r.c.text={update:function(a,c){var d=r.a.d(c());if(d===o||d===l)d="";typeof a.innerText=="string"?a.innerText=d:a.textContent=d}};r.c.html={init:function(){return{controlsDescendantBindings:m}},update:function(a,c){var d=r.a.d(c());r.a.zb(a,d)}};
r.c.css={update:function(a,c){var d=r.a.d(c()||{}),e;for(e in d)if(typeof e=="string"){var f=r.a.d(d[e]);r.a.Oa(a,e,f)}}};r.c.style={update:function(a,c){var d=r.a.d(c()||{}),e;for(e in d)if(typeof e=="string"){var f=r.a.d(d[e]);a.style[e]=f||""}}};r.c.uniqueName={init:function(a,c){if(c())a.name="ko_unique_"+ ++r.c.uniqueName.Xa,(r.a.mb||r.a.nb)&&a.mergeAttributes(document.createElement("<input name='"+a.name+"'/>"),p)}};r.c.uniqueName.Xa=0;
r.c.checked={init:function(a,c,d){r.a.s(a,"click",function(){var e;if(a.type=="checkbox")e=a.checked;else if(a.type=="radio"&&a.checked)e=a.value;else return;var f=c();a.type=="checkbox"&&r.a.d(f)instanceof Array?(e=r.a.k(r.a.d(f),a.value),a.checked&&e<0?f.push(a.value):!a.checked&&e>=0&&f.splice(e,1)):r.N(f)?f()!==e&&f(e):(f=d(),f._ko_property_writers&&f._ko_property_writers.checked&&f._ko_property_writers.checked(e))});a.type=="radio"&&!a.name&&r.c.uniqueName.init(a,function(){return m})},update:function(a,
c){var d=r.a.d(c());if(a.type=="checkbox")a.checked=d instanceof Array?r.a.k(d,a.value)>=0:d;else if(a.type=="radio")a.checked=a.value==d}};r.c.attr={update:function(a,c){var d=r.a.d(c())||{},e;for(e in d)if(typeof e=="string"){var f=r.a.d(d[e]);f===p||f===o||f===l?a.removeAttribute(e):a.setAttribute(e,f.toString())}}};
r.c.hasfocus={init:function(a,c,d){function e(a){var e=c();a!=r.a.d(e)&&(r.N(e)?e(a):(e=d(),e._ko_property_writers&&e._ko_property_writers.hasfocus&&e._ko_property_writers.hasfocus(a)))}r.a.s(a,"focus",function(){e(m)});r.a.s(a,"focusin",function(){e(m)});r.a.s(a,"blur",function(){e(p)});r.a.s(a,"focusout",function(){e(p)})},update:function(a,c){var d=r.a.d(c());d?a.focus():a.blur();r.a.ra(a,d?"focusin":"focusout")}};
r.c["with"]={o:function(a){return function(){var c=a();return{"if":c,data:c,templateEngine:r.p.J}}},init:function(a,c){return r.c.template.init(a,r.c["with"].o(c))},update:function(a,c,d,e,f){return r.c.template.update(a,r.c["with"].o(c),d,e,f)}};r.j.C["with"]=p;r.f.B["with"]=m;r.c["if"]={o:function(a){return function(){return{"if":a(),templateEngine:r.p.J}}},init:function(a,c){return r.c.template.init(a,r.c["if"].o(c))},update:function(a,c,d,e,f){return r.c.template.update(a,r.c["if"].o(c),d,e,f)}};
r.j.C["if"]=p;r.f.B["if"]=m;r.c.ifnot={o:function(a){return function(){return{ifnot:a(),templateEngine:r.p.J}}},init:function(a,c){return r.c.template.init(a,r.c.ifnot.o(c))},update:function(a,c,d,e,f){return r.c.template.update(a,r.c.ifnot.o(c),d,e,f)}};r.j.C.ifnot=p;r.f.B.ifnot=m;
r.c.foreach={o:function(a){return function(){var c=r.a.d(a());return!c||typeof c.length=="number"?{foreach:c,templateEngine:r.p.J}:{foreach:c.data,includeDestroyed:c.includeDestroyed,afterAdd:c.afterAdd,beforeRemove:c.beforeRemove,afterRender:c.afterRender,templateEngine:r.p.J}}},init:function(a,c){return r.c.template.init(a,r.c.foreach.o(c))},update:function(a,c,d,e,f){return r.c.template.update(a,r.c.foreach.o(c),d,e,f)}};r.j.C.foreach=p;r.f.B.foreach=m;r.b("ko.allowedVirtualElementBindings",r.f.B);
r.t=function(){};r.t.prototype.renderTemplateSource=function(){b("Override renderTemplateSource in your ko.templateEngine subclass")};r.t.prototype.createJavaScriptEvaluatorBlock=function(){b("Override createJavaScriptEvaluatorBlock in your ko.templateEngine subclass")};
r.t.prototype.makeTemplateSource=function(a){if(typeof a=="string"){var c=document.getElementById(a);c||b(Error("Cannot find template with ID "+a));return new r.m.g(c)}else if(a.nodeType==1||a.nodeType==8)return new r.m.F(a);else b(Error("Unrecognised template type: "+a))};r.t.prototype.renderTemplate=function(a,c,d){return this.renderTemplateSource(this.makeTemplateSource(a),c,d)};r.t.prototype.isTemplateRewritten=function(a){return this.allowTemplateRewriting===p?m:this.W&&this.W[a]?m:this.makeTemplateSource(a).data("isRewritten")};
r.t.prototype.rewriteTemplate=function(a,c){var d=this.makeTemplateSource(a),e=c(d.text());d.text(e);d.data("isRewritten",m);if(typeof a=="string")this.W=this.W||{},this.W[a]=m};r.b("ko.templateEngine",r.t);
r.Z=function(){function a(a,c,d){for(var a=r.j.Y(a),g=r.j.C,i=0;i<a.length;i++){var j=a[i].key;if(g.hasOwnProperty(j)){var k=g[j];typeof k==="function"?(j=k(a[i].value))&&b(Error(j)):k||b(Error("This template engine does not support the '"+j+"' binding within its templates"))}}a="ko.templateRewriting.applyMemoizedBindingsToNextSibling(function() {             return (function() { return { "+r.j.ha(a)+" } })()         })";return d.createJavaScriptEvaluatorBlock(a)+c}var c=/(<[a-z]+\d*(\s+(?!data-bind=)[a-z0-9\-]+(=(\"[^\"]*\"|\'[^\']*\'))?)*\s+)data-bind=(["'])([\s\S]*?)\5/gi,
d=/<\!--\s*ko\b\s*([\s\S]*?)\s*--\>/g;return{eb:function(a,c){c.isTemplateRewritten(a)||c.rewriteTemplate(a,function(a){return r.Z.sb(a,c)})},sb:function(e,f){return e.replace(c,function(c,e,d,j,k,n,t){return a(t,e,f)}).replace(d,function(c,e){return a(e,"<\!-- ko --\>",f)})},Sa:function(a){return r.r.ka(function(c,d){c.nextSibling&&r.wa(c.nextSibling,a,d)})}}}();r.b("ko.templateRewriting",r.Z);r.b("ko.templateRewriting.applyMemoizedBindingsToNextSibling",r.Z.Sa);r.m={};r.m.g=function(a){this.g=a};
r.m.g.prototype.text=function(){if(arguments.length==0)return this.g.tagName.toLowerCase()=="script"?this.g.text:this.g.innerHTML;else{var a=arguments[0];this.g.tagName.toLowerCase()=="script"?this.g.text=a:this.g.innerHTML=a}};r.m.g.prototype.data=function(a){if(arguments.length===1)return r.a.e.get(this.g,"templateSourceData_"+a);else r.a.e.set(this.g,"templateSourceData_"+a,arguments[1])};r.m.F=function(a){this.g=a};r.m.F.prototype=new r.m.g;
r.m.F.prototype.text=function(){if(arguments.length==0)return r.a.e.get(this.g,"__ko_anon_template__");else r.a.e.set(this.g,"__ko_anon_template__",arguments[0])};r.b("ko.templateSources",r.m);r.b("ko.templateSources.domElement",r.m.g);r.b("ko.templateSources.anonymousTemplate",r.m.F);
(function(){function a(a,c,d){for(var g=0;node=a[g];g++)node.parentNode===c&&(node.nodeType===1||node.nodeType===8)&&d(node)}function c(a,c,h,g,i){var i=i||{},j=i.templateEngine||d;r.Z.eb(h,j);h=j.renderTemplate(h,g,i);(typeof h.length!="number"||h.length>0&&typeof h[0].nodeType!="number")&&b("Template engine must return an array of DOM nodes");j=p;switch(c){case "replaceChildren":r.f.na(a,h);j=m;break;case "replaceNode":r.a.Ia(a,h);j=m;break;case "ignoreTargetNode":break;default:b(Error("Unknown renderMode: "+
c))}j&&(r.ta(h,g),i.afterRender&&i.afterRender(h,g.$data));return h}var d;r.oa=function(a){a!=l&&!(a instanceof r.t)&&b("templateEngine must inherit from ko.templateEngine");d=a};r.ta=function(c,f){var d=r.a.G([],c),g=c.length>0?c[0].parentNode:o;a(d,g,function(a){r.va(f,a)});a(d,g,function(a){r.r.Qa(a,[f])})};r.ma=function(a,f,h,g,i){h=h||{};(h.templateEngine||d)==l&&b("Set a template engine before calling renderTemplate");i=i||"replaceChildren";if(g){var j=g.nodeType?g:g.length>0?g[0]:o;return new r.i(function(){var d=
f&&f instanceof r.H?f:new r.H(r.a.d(f)),n=typeof a=="function"?a(d.$data):a,d=c(g,i,n,d,h);i=="replaceNode"&&(g=d,j=g.nodeType?g:g.length>0?g[0]:o)},o,{disposeWhen:function(){return!j||!r.a.fa(j)},disposeWhenNodeIsRemoved:j&&i=="replaceNode"?j.parentNode:j})}else return r.r.ka(function(c){r.ma(a,f,h,c,"replaceNode")})};r.yb=function(a,f,d,g,i){function j(a,c){var e=k(a);r.ta(c,e);d.afterRender&&d.afterRender(c,e.$data)}function k(a){return i.createChildContext(r.a.d(a))}return new r.i(function(){var i=
r.a.d(f)||[];typeof i.length=="undefined"&&(i=[i]);i=r.a.$(i,function(a){return d.includeDestroyed||a===l||a===o||!r.a.d(a._destroy)});r.a.Ja(g,i,function(f){var g=typeof a=="function"?a(f):a;return c(o,"ignoreTargetNode",g,k(f),d)},d,j)},o,{disposeWhenNodeIsRemoved:g})};r.c.template={init:function(a,c){var d=r.a.d(c());typeof d!="string"&&!d.name&&a.nodeType==1&&((new r.m.F(a)).text(a.innerHTML),r.a.U(a));return{controlsDescendantBindings:m}},update:function(a,c,d,g,i){c=r.a.d(c());g=m;typeof c==
"string"?d=c:(d=c.name,"if"in c&&(g=g&&r.a.d(c["if"])),"ifnot"in c&&(g=g&&!r.a.d(c.ifnot)));var j=o;typeof c.foreach!="undefined"?j=r.yb(d||a,g&&c.foreach||[],c,a,i):g?(i=typeof c=="object"&&"data"in c?i.createChildContext(r.a.d(c.data)):i,j=r.ma(d||a,i,c,a)):r.f.ga(a);i=j;(c=r.a.e.get(a,"__ko__templateSubscriptionDomDataKey__"))&&typeof c.u=="function"&&c.u();r.a.e.set(a,"__ko__templateSubscriptionDomDataKey__",i)}};r.j.C.template=function(a){a=r.j.Y(a);return a.length==1&&a[0].unknown?o:r.j.pb(a,
"name")?o:"This template engine does not support anonymous templates nested within its templates"};r.f.B.template=m})();r.b("ko.setTemplateEngine",r.oa);r.b("ko.renderTemplate",r.ma);
r.a.L=function(a,c,d){if(d===l)return r.a.L(a,c,1)||r.a.L(a,c,10)||r.a.L(a,c,Number.MAX_VALUE);else{for(var a=a||[],c=c||[],e=a,f=c,h=[],g=0;g<=f.length;g++)h[g]=[];for(var g=0,i=Math.min(e.length,d);g<=i;g++)h[0][g]=g;g=1;for(i=Math.min(f.length,d);g<=i;g++)h[g][0]=g;for(var i=e.length,j,k=f.length,g=1;g<=i;g++){j=Math.max(1,g-d);for(var n=Math.min(k,g+d);j<=n;j++)h[j][g]=e[g-1]===f[j-1]?h[j-1][g-1]:Math.min(h[j-1][g]===l?Number.MAX_VALUE:h[j-1][g]+1,h[j][g-1]===l?Number.MAX_VALUE:h[j][g-1]+1)}d=
a.length;e=c.length;f=[];g=h[e][d];if(g===l)h=o;else{for(;d>0||e>0;){i=h[e][d];k=e>0?h[e-1][d]:g+1;n=d>0?h[e][d-1]:g+1;j=e>0&&d>0?h[e-1][d-1]:g+1;if(k===l||k<i-1)k=g+1;if(n===l||n<i-1)n=g+1;j<i-1&&(j=g+1);k<=n&&k<j?(f.push({status:"added",value:c[e-1]}),e--):(n<k&&n<j?f.push({status:"deleted",value:a[d-1]}):(f.push({status:"retained",value:a[d-1]}),e--),d--)}h=f.reverse()}return h}};r.b("ko.utils.compareArrays",r.a.L);
(function(){function a(a){if(a.length>2){for(var c=a[0],f=a[a.length-1],h=[c];c!==f;){c=c.nextSibling;if(!c)return;h.push(c)}Array.prototype.splice.apply(a,[0,a.length].concat(h))}}function c(c,e,f,h){var g=[],c=r.i(function(){var c=e(f)||[];g.length>0&&(a(g),r.a.Ia(g,c),h&&h(f,c));g.splice(0,g.length);r.a.G(g,c)},o,{disposeWhenNodeIsRemoved:c,disposeWhen:function(){return g.length==0||!r.a.fa(g[0])}});return{qb:g,i:c}}r.a.Ja=function(d,e,f,h,g){for(var e=e||[],h=h||{},i=r.a.e.get(d,"setDomNodeChildrenFromArrayMapping_lastMappingResult")===
l,j=r.a.e.get(d,"setDomNodeChildrenFromArrayMapping_lastMappingResult")||[],k=r.a.aa(j,function(a){return a.Ta}),n=r.a.L(k,e),e=[],t=0,q=[],k=[],w=o,s=0,x=n.length;s<x;s++)switch(n[s].status){case "retained":var v=j[t];e.push(v);v.M.length>0&&(w=v.M[v.M.length-1]);t++;break;case "deleted":j[t].i.u();a(j[t].M);r.a.n(j[t].M,function(a){q.push({element:a,index:s,value:n[s].value});w=a});t++;break;case "added":var v=n[s].value,u=c(d,f,v,g),y=u.qb;e.push({Ta:n[s].value,M:y,i:u.i});for(var u=0,D=y.length;u<
D;u++){var z=y[u];k.push({element:z,index:s,value:n[s].value});w==o?r.f.vb(d,z):r.f.kb(d,z,w);w=z}g&&g(v,y)}r.a.n(q,function(a){r.D(a.element)});f=p;if(!i){if(h.afterAdd)for(s=0;s<k.length;s++)h.afterAdd(k[s].element,k[s].index,k[s].value);if(h.beforeRemove){for(s=0;s<q.length;s++)h.beforeRemove(q[s].element,q[s].index,q[s].value);f=m}}f||r.a.n(q,function(a){r.removeNode(a.element)});r.a.e.set(d,"setDomNodeChildrenFromArrayMapping_lastMappingResult",e)}})();
r.b("ko.utils.setDomNodeChildrenFromArrayMapping",r.a.Ja);r.p=function(){this.allowTemplateRewriting=p};r.p.prototype=new r.t;r.p.prototype.renderTemplateSource=function(a){a=a.text();return r.a.X(a)};r.p.J=new r.p;r.oa(r.p.J);r.b("ko.nativeTemplateEngine",r.p);
(function(){r.ia=function(){var a=this.ob=function(){if(typeof jQuery=="undefined"||!jQuery.tmpl&&!jQuery.render)return 0;try{if(jQuery.render)return 3;if(jQuery.tmpl.tag.tmpl.open.toString().indexOf("__")>=0)return 2}catch(a){}return 1}();this.renderTemplateSource=function(e,d,h){h=h||{};a<2&&b(Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later."));var g=e.data("precompiled");g||(g=e.text()||"",g="{{ko_with "+(a==2?"$item":"$ctx")+".koBindingContext}}"+
g+"{{/ko_with}}",g=jQuery.template(o,g),e.data("precompiled",g));e=[d.$data];d=jQuery.extend({koBindingContext:d},h.templateOptions);h=g;a<3?d=jQuery.tmpl(h,e,d):(d=jQuery.render(h,e,d),d=jQuery(r.a.X(d)));d.appendTo(document.createElement("div"));jQuery.fragments={};return d};this.createJavaScriptEvaluatorBlock=function(a){return"{{ko_code ((function() { return "+a+" })()) }}"};this.addTemplate=function(a,c){document.write("<script type='text/html' id='"+a+"'>"+c+"<\/script>")};if(a>=2){var d=a==
2?"tmpl":"tmplSettings";jQuery[d].tag.ko_code={open:"__.push($1 || '');"};jQuery[d].tag.ko_with={open:"with($1) {",close:"} "}}};r.ia.prototype=new r.t;var a=new r.ia;a.ob>0&&r.oa(a);r.b("ko.jqueryTmplTemplateEngine",r.ia)})();
})(window);
