diff --git a/build/output/knockout-latest.js b/build/output/knockout-latest.js index 56f79cefa..6de313970 100644 --- a/build/output/knockout-latest.js +++ b/build/output/knockout-latest.js @@ -2,109 +2,18 @@ // (c) 2010 Steven Sanderson - http://knockoutjs.com/ // License: Ms-Pl (http://www.opensource.org/licenses/ms-pl.html) -// This code is used only to make the minified file smaller -// Extraced from http://closure-library.googlecode.com/svn/docs/closure_goog_base.js.source.html - -var goog = window.goog = window.goog || { }; - -/** - * Reference to the global context. In most cases this will be 'window'. - */ -goog.global = goog.global || this; - -/** - * Returns true if the specified value is not |undefined|. - * WARNING: Do not use this to test if an object has a property. Use the in - * operator instead. Additionally, this function assumes that the global - * undefined variable has not been redefined. - * @param {*} val Variable to test. - * @return {boolean} Whether variable is defined. - */ -goog.isDef = goog.isDef || function(val) { - return val !== undefined; +var ko = window["ko"] = {}; +// Google Closure Compiler helpers (used only to make the minified file smaller) +ko.exportSymbol = function(publicPath, object) { + var tokens = publicPath.split("."); + var target = window; + for (var i = 0; i < tokens.length - 1; i++) + target = target[tokens[i]]; + target[tokens[tokens.length - 1]] = object; }; - -/** - * Exposes an unobfuscated global namespace path for the given object. - * Note that fields of the exported object *will* be obfuscated, - * unless they are exported in turn via this function or - * goog.exportProperty - * - *

Also handy for making public items that are defined in anonymous - * closures. - * - * ex. goog.exportSymbol('Foo', Foo); - * - * ex. goog.exportSymbol('public.path.Foo.staticFunction', - * Foo.staticFunction); - * public.path.Foo.staticFunction(); - * - * ex. goog.exportSymbol('public.path.Foo.prototype.myMethod', - * Foo.prototype.myMethod); - * new public.path.Foo().myMethod(); - * - * @param {string} publicPath Unobfuscated name to export. - * @param {*} object Object the name should point to. - * @param {Object=} opt_objectToExportTo The object to add the path to; default - * is |goog.global|. - */ -goog.exportSymbol = goog.exportSymbol || function(publicPath, object, opt_objectToExportTo) { - goog.exportPath_(publicPath, object, opt_objectToExportTo); -}; - -/** - * Exports a property unobfuscated into the object's namespace. - * ex. goog.exportProperty(Foo, 'staticFunction', Foo.staticFunction); - * ex. goog.exportProperty(Foo.prototype, 'myMethod', Foo.prototype.myMethod); - * @param {Object} object Object whose static property is being exported. - * @param {string} publicName Unobfuscated name to export. - * @param {*} symbol Object the name should point to. - */ -goog.exportProperty = goog.exportProperty || function(object, publicName, symbol) { - object[publicName] = symbol; -}; - -/** - * Builds an object structure for the provided namespace path, - * ensuring that names that already exist are not overwritten. For - * example: - * "a.b.c" -> a = {};a.b={};a.b.c={}; - * Used by goog.provide and goog.exportSymbol. - * @param {string} name name of the object that this file defines. - * @param {*=} opt_object the object to expose at the end of the path. - * @param {Object=} opt_objectToExportTo The object to add the path to; default - * is |goog.global|. - * @private - */ -goog.exportPath_ = goog.exportPath_ || function(name, opt_object, opt_objectToExportTo) { - var parts = name.split('.'); - var cur = opt_objectToExportTo || goog.global; - - // Internet Explorer exhibits strange behavior when throwing errors from - // methods externed in this manner. See the testExportSymbolExceptions in - // base_test.html for an example. - if (!(parts[0] in cur) && cur.execScript) { - cur.execScript('var ' + parts[0]); - } - - // Certain browsers cannot parse code in the form for((a in b); c;); - // This pattern is produced by the JSCompiler when it collapses the - // statement above into the conditional loop below. To prevent this from - // happening, use a for-loop and reserve the init logic as below. - - // Parentheses added to eliminate strict JS warning in Firefox. - for (var part; parts.length && (part = parts.shift());) { - if (!parts.length && goog.isDef(opt_object)) { - // last part and we have an object; use it - cur[part] = opt_object; - } else if (cur[part]) { - cur = cur[part]; - } else { - cur = cur[part] = {}; - } - } -};var ko = window["ko"] = {}; -/// +ko.exportProperty = function(owner, publicName, object) { + owner[publicName] = object; +};/// ko.utils = new (function () { var stringTrimRegex = /^(\s|\u00A0)+|(\s|\u00A0)+$/g; @@ -445,15 +354,15 @@ ko.utils = new (function () { } })(); -goog.exportSymbol('ko.utils', ko.utils); -goog.exportSymbol('ko.utils.arrayMap', ko.utils.arrayMap); -goog.exportSymbol('ko.utils.arrayForEach', ko.utils.arrayForEach); -goog.exportSymbol('ko.utils.arrayFirst', ko.utils.arrayFirst); -goog.exportSymbol('ko.utils.arrayFilter', ko.utils.arrayFilter); -goog.exportSymbol('ko.utils.getFormFields', ko.utils.getFormFields); -goog.exportSymbol('ko.utils.postJson', ko.utils.postJson); -goog.exportSymbol('ko.utils.triggerEvent', ko.utils.triggerEvent); -goog.exportSymbol('ko.utils.unwrapObservable', ko.utils.unwrapObservable); +ko.exportSymbol('ko.utils', ko.utils); +ko.exportSymbol('ko.utils.arrayMap', ko.utils.arrayMap); +ko.exportSymbol('ko.utils.arrayForEach', ko.utils.arrayForEach); +ko.exportSymbol('ko.utils.arrayFirst', ko.utils.arrayFirst); +ko.exportSymbol('ko.utils.arrayFilter', ko.utils.arrayFilter); +ko.exportSymbol('ko.utils.getFormFields', ko.utils.getFormFields); +ko.exportSymbol('ko.utils.postJson', ko.utils.postJson); +ko.exportSymbol('ko.utils.triggerEvent', ko.utils.triggerEvent); +ko.exportSymbol('ko.utils.unwrapObservable', ko.utils.unwrapObservable); if (!Function.prototype['bind']) { // Function.prototype.bind is a standard part of ECMAScript 5th Edition (December 2009, http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf) @@ -530,17 +439,18 @@ ko.memoization = (function () { }; })(); -goog.exportSymbol('ko.memoization', ko.memoization); -goog.exportSymbol('ko.memoization.memoize', ko.memoization.memoize); -goog.exportSymbol('ko.memoization.unmemoize', ko.memoization.unmemoize); -goog.exportSymbol('ko.memoization.parseMemoText', ko.memoization.parseMemoText); -goog.exportSymbol('ko.memoization.unmemoizeDomNodeAndDescendants', ko.memoization.unmemoizeDomNodeAndDescendants);/// +ko.exportSymbol('ko.memoization', ko.memoization); +ko.exportSymbol('ko.memoization.memoize', ko.memoization.memoize); +ko.exportSymbol('ko.memoization.unmemoize', ko.memoization.unmemoize); +ko.exportSymbol('ko.memoization.parseMemoText', ko.memoization.parseMemoText); +ko.exportSymbol('ko.memoization.unmemoizeDomNodeAndDescendants', ko.memoization.unmemoizeDomNodeAndDescendants); +/// ko.subscription = function (callback, disposeCallback) { this.callback = callback; this.dispose = disposeCallback; - goog.exportProperty(this, 'dispose', this.dispose); + ko.exportProperty(this, 'dispose', this.dispose); }; ko.subscribable = function () { @@ -567,17 +477,18 @@ ko.subscribable = function () { return _subscriptions.length; }; - goog.exportProperty(this, 'subscribe', this.subscribe); - goog.exportProperty(this, 'notifySubscribers', this.notifySubscribers); - goog.exportProperty(this, 'getSubscriptionsCount', this.getSubscriptionsCount); + ko.exportProperty(this, 'subscribe', this.subscribe); + ko.exportProperty(this, 'notifySubscribers', this.notifySubscribers); + ko.exportProperty(this, 'getSubscriptionsCount', this.getSubscriptionsCount); } ko.isSubscribable = function (instance) { return typeof instance.subscribe == "function" && typeof instance.notifySubscribers == "function"; }; -goog.exportSymbol('ko.subscribable', ko.subscribable); -goog.exportSymbol('ko.isSubscribable', ko.isSubscribable);/// +ko.exportSymbol('ko.subscribable', ko.subscribable); +ko.exportSymbol('ko.isSubscribable', ko.isSubscribable); +/// ko.dependencyDetection = (function () { var _detectedDependencies = []; @@ -622,7 +533,7 @@ ko.observable = function (initialValue) { ko.subscribable.call(observable); - goog.exportProperty(observable, "valueHasMutated", observable.valueHasMutated); + ko.exportProperty(observable, "valueHasMutated", observable.valueHasMutated); return observable; } @@ -636,9 +547,10 @@ ko.isWriteableObservable = function (instance) { } -goog.exportSymbol('ko.observable', ko.observable); -goog.exportSymbol('ko.isObservable', ko.isObservable); -goog.exportSymbol('ko.isWriteableObservable', ko.isWriteableObservable);/// +ko.exportSymbol('ko.observable', ko.observable); +ko.exportSymbol('ko.isObservable', ko.isObservable); +ko.exportSymbol('ko.isWriteableObservable', ko.isWriteableObservable); +/// ko.observableArray = function (initialValues) { var result = new ko.observable(initialValues); @@ -707,16 +619,17 @@ ko.observableArray = function (initialValues) { return ko.utils.arrayIndexOf(underlyingArray, item); }; - goog.exportProperty(result, "remove", result.remove); - goog.exportProperty(result, "removeAll", result.removeAll); - goog.exportProperty(result, "destroy", result.destroy); - goog.exportProperty(result, "destroyAll", result.destroyAll); - goog.exportProperty(result, "indexOf", result.indexOf); + ko.exportProperty(result, "remove", result.remove); + ko.exportProperty(result, "removeAll", result.removeAll); + ko.exportProperty(result, "destroy", result.destroy); + ko.exportProperty(result, "destroyAll", result.destroyAll); + ko.exportProperty(result, "indexOf", result.indexOf); return result; } -goog.exportSymbol('ko.observableArray', ko.observableArray);/// +ko.exportSymbol('ko.observableArray', ko.observableArray); +/// ko.dependentObservable = function (evaluatorFunction, evaluatorFunctionTarget, options) { if (typeof evaluatorFunction != "function") @@ -774,14 +687,15 @@ ko.dependentObservable = function (evaluatorFunction, evaluatorFunctionTarget, o ko.subscribable.call(dependentObservable); evaluate(); - goog.exportProperty(dependentObservable, 'dispose', dependentObservable.dispose); - goog.exportProperty(dependentObservable, 'getDependenciesCount', dependentObservable.getDependenciesCount); + ko.exportProperty(dependentObservable, 'dispose', dependentObservable.dispose); + ko.exportProperty(dependentObservable, 'getDependenciesCount', dependentObservable.getDependenciesCount); return dependentObservable; }; ko.dependentObservable.__ko_proto__ = ko.observable; -goog.exportSymbol('ko.dependentObservable', ko.dependentObservable);(function () { +ko.exportSymbol('ko.dependentObservable', ko.dependentObservable); +(function () { // Normally, SELECT elements and their OPTIONs can only take value of type 'string' (because the values // are stored on DOM attributes). ko.selectExtensions provides a way for SELECTs/OPTIONs to have values // that are arbitrary objects. This is very convenient when implementing things like cascading dropdowns. @@ -815,9 +729,10 @@ goog.exportSymbol('ko.dependentObservable', ko.dependentObservable);(function () }; })(); -goog.exportSymbol('ko.selectExtensions', ko.selectExtensions); -goog.exportSymbol('ko.selectExtensions.readValue', ko.selectExtensions.readValue); -goog.exportSymbol('ko.selectExtensions.writeValue', ko.selectExtensions.writeValue);/// +ko.exportSymbol('ko.selectExtensions', ko.selectExtensions); +ko.exportSymbol('ko.selectExtensions.readValue', ko.selectExtensions.readValue); +ko.exportSymbol('ko.selectExtensions.writeValue', ko.selectExtensions.writeValue); +/// ko.jsonExpressionRewriting = (function () { var restoreCapturedTokensRegex = /\[ko_token_(\d+)\]/g; @@ -917,9 +832,10 @@ ko.jsonExpressionRewriting = (function () { }; })(); -goog.exportSymbol('ko.jsonExpressionRewriting', ko.jsonExpressionRewriting); -goog.exportSymbol('ko.jsonExpressionRewriting.parseJson', ko.jsonExpressionRewriting.parseJson); -goog.exportSymbol('ko.jsonExpressionRewriting.insertPropertyAccessorsIntoJson', ko.jsonExpressionRewriting.insertPropertyAccessorsIntoJson);/// +ko.exportSymbol('ko.jsonExpressionRewriting', ko.jsonExpressionRewriting); +ko.exportSymbol('ko.jsonExpressionRewriting.parseJson', ko.jsonExpressionRewriting.parseJson); +ko.exportSymbol('ko.jsonExpressionRewriting.insertPropertyAccessorsIntoJson', ko.jsonExpressionRewriting.insertPropertyAccessorsIntoJson); +/// (function () { var bindingAttributeName = "data-bind"; @@ -976,8 +892,8 @@ goog.exportSymbol('ko.jsonExpressionRewriting.insertPropertyAccessorsIntoJson', }); }; - goog.exportSymbol('ko.bindingHandlers', ko.bindingHandlers); - goog.exportSymbol('ko.applyBindings', ko.applyBindings); + ko.exportSymbol('ko.bindingHandlers', ko.bindingHandlers); + ko.exportSymbol('ko.applyBindings', ko.applyBindings); })();/// ko.bindingHandlers['click'] = { @@ -1273,7 +1189,8 @@ ko.templateEngine = function () { } }; -goog.exportSymbol('ko.templateEngine', ko.templateEngine);/// +ko.exportSymbol('ko.templateEngine', ko.templateEngine); +/// ko.templateRewriting = (function () { var memoizeBindingAttributeSyntaxRegex = /(<[a-z]+(\s+(?!data-bind=)[a-z0-9]+(=(\"[^\"]*\"|\'[^\']*\'))?)*\s+)data-bind=(["'])(.*?)\5/g; @@ -1311,8 +1228,8 @@ ko.templateRewriting = (function () { } })(); -goog.exportSymbol('ko.templateRewriting', ko.templateRewriting); -goog.exportSymbol('ko.templateRewriting.applyMemoizedBindingsToNextSibling', ko.templateRewriting.applyMemoizedBindingsToNextSibling); // Exported only because it has to be referenced by string lookup from within rewritten template +ko.exportSymbol('ko.templateRewriting', ko.templateRewriting); +ko.exportSymbol('ko.templateRewriting.applyMemoizedBindingsToNextSibling', ko.templateRewriting.applyMemoizedBindingsToNextSibling); // Exported only because it has to be referenced by string lookup from within rewritten template /// /// @@ -1421,8 +1338,9 @@ goog.exportSymbol('ko.templateRewriting.applyMemoizedBindingsToNextSibling', ko. }; })(); -goog.exportSymbol('ko.setTemplateEngine', ko.setTemplateEngine); -goog.exportSymbol('ko.renderTemplate', ko.renderTemplate);/// +ko.exportSymbol('ko.setTemplateEngine', ko.setTemplateEngine); +ko.exportSymbol('ko.renderTemplate', ko.renderTemplate); +/// // Simple calculation based on Levenshtein distance. (function () { @@ -1506,7 +1424,8 @@ goog.exportSymbol('ko.renderTemplate', ko.renderTemplate);/// +ko.exportSymbol('ko.utils.compareArrays', ko.utils.compareArrays); +/// (function () { // Objective: @@ -1617,7 +1536,8 @@ goog.exportSymbol('ko.utils.compareArrays', ko.utils.compareArrays);/// +ko.exportSymbol('ko.utils.setDomNodeChildrenFromArrayMapping', ko.utils.setDomNodeChildrenFromArrayMapping); +/// ko.jqueryTmplTemplateEngine = function () { // Detect which version of jquery-tmpl you're using. Unfortunately jquery-tmpl diff --git a/build/output/knockout-latest.min.js b/build/output/knockout-latest.min.js index be687b7fd..fb10da258 100644 --- a/build/output/knockout-latest.min.js +++ b/build/output/knockout-latest.min.js @@ -2,58 +2,58 @@ // (c) 2010 Steven Sanderson - http://knockoutjs.com/ // License: Ms-Pl (http://www.opensource.org/licenses/ms-pl.html) -function c(e){throw e;}var k=true,n=null,o=false,p=window.Ja=window.Ja||{};p.global=p.global||this;p.ca=p.ca||function(e){return e!==undefined};p.b=p.b||function(e,a,b){p.Z(e,a,b)};p.g=p.g||function(e,a,b){e[a]=b};p.Z=p.Z||function(e,a,b){e=e.split(".");b=b||p.global;!(e[0]in b)&&b.execScript&&b.execScript("var "+e[0]);for(var d;e.length&&(d=e.shift());)if(!e.length&&p.ca(a))b[d]=a;else b=b[d]?b[d]:b[d]={}};var q=window.ko={}; -q.a=new function(){var e=/^(\s|\u00A0)+|(\s|\u00A0)+$/g;return{Fa:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],h:function(a,b){for(var d=0,f=a.length;d=0&&a.splice(d,1)},ua:function(a){a=a||[];for(var b=[],d=0,f=a.length;d< -f;d++)q.a.l(b,a[d])<0&&b.push(a[d]);return b},I:function(a,b){a=a||[];for(var d=[],f=0,g=a.length;f0){for(var f= -d[0],g=f.parentNode,h=0,j=b.length;h=0)a.setAttribute("selected",b);else a.selected=b},Ha:function(a,b){if(!a||a.nodeType!=1)return[];var d=[];a.getAttribute(b)!==n&&d.push(a);for(var f=a.getElementsByTagName("*"),g=0,h=f.length;ga.length)return o;return a.substring(0,b.length)===b},Ea:function(a,b){if(b===undefined)return(new Function("return "+a))();with(b)return eval("("+a+")")},Ca:function(a,b){if(b.compareDocumentPosition)return(b.compareDocumentPosition(a)&16)==16;for(;a!=n;){if(a==b)return k;a=a.parentNode}return o},z:function(a){return q.a.Ca(a,document)},k:function(a,b,d){if(typeof jQuery!= -"undefined")jQuery(a).bind(b,d);else if(typeof a.addEventListener=="function")a.addEventListener(b,d,o);else if(typeof a.attachEvent!="undefined")a.attachEvent("on"+b,function(f){d.call(a,f)});else c(Error("Browser doesn't support addEventListener or attachEvent"))},Xa:function(a,b){if(!(a&&a.nodeType))c(Error("element must be a DOM node when calling triggerEvent"));if(typeof document.createEvent=="function")if(typeof a.dispatchEvent=="function"){var d=document.createEvent(b=="click"?"MouseEvents": -"HTMLEvents");d.initEvent(b,k,k,window,0,0,0,0,0,o,o,o,o,0,a);a.dispatchEvent(d)}else c(Error("The supplied element doesn't support dispatchEvent"));else if(typeof a.fireEvent!="undefined"){if(b=="click")if(a.tagName=="INPUT"&&(a.type.toLowerCase()=="checkbox"||a.type.toLowerCase()=="radio"))a.checked=a.checked!==k;a.fireEvent("on"+b)}else c(Error("Browser doesn't support triggering events"))},e:function(a){return q.N(a)?a():a},Ba:function(a,b){return q.a.l((a.className||"").split(/\s+/),b)>=0},Wa:function(a, -b,d){var f=q.a.Ba(a,b);if(d&&!f)a.className=(a.className||"")+" "+b;else if(f&&!d){d=(a.className||"").split(/\s+/);f="";for(var g=0;g=0;d--)b.push(a[d]);return b},M:/MSIE 6/i.test(navigator.userAgent),aa:function(a,b){for(var d=q.a.fa(a.getElementsByTagName("INPUT")).concat(q.a.fa(a.getElementsByTagName("TEXTAREA"))), -f=typeof b=="string"?function(j){return j.name===b}:function(j){return b.test(j.name)},g=[],h=d.length-1;h>=0;h--)f(d[h])&&g.push(d[h]);return g},Ta:function(a){if(typeof JSON=="undefined"||typeof JSON.stringify=="undefined")c(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(q.a.e(a))},Oa:function(a,b,d){d=d||{};var f= -d.params||{},g=d.includeFields||this.Fa,h=a;if(typeof a=="object"&&a.tagName=="FORM"){h=a.action;for(var j=g.length-1;j>=0;j--)for(var i=q.a.aa(a,g[j]),l=i.length-1;l>=0;l--)f[i[l].name]=i[l].value}b=q.a.e(b);var m=document.createElement("FORM");m.style.display="none";m.action=h;m.method="post";for(var r in b){a=document.createElement("INPUT");a.name=r;a.value=q.a.Ta(q.a.e(b[r]));m.appendChild(a)}for(r in f){a=document.createElement("INPUT");a.name=r;a.value=f[r];m.appendChild(a)}document.body.appendChild(m); -d.submitter?d.submitter(m):m.submit();setTimeout(function(){m.parentNode.removeChild(m)},0)},d:{Ya:0,v:"__ko__"+(new Date).getTime(),ab:{},K:function(a,b){var d=q.a.d.$(a,o);return d===undefined?undefined:d[b]},ka:function(a,b,d){q.a.d.$(a,k)[b]=d},$:function(a,b){var d=a[q.a.d.v];if(!d){if(!b)return;d=a[q.a.d.v]="ko"+q.a.d.Ya++;q.a.d[d]={}}return q.a.d[d]},W:function(a){var b=a[q.a.d.v];if(b){delete q.a.d[b];a[q.a.d.v]=n}},J:function(a){if(!(a.nodeType!=1&&a.nodeType!=9)){q.a.d.W(a);a=a.getElementsByTagName("*"); -for(var b=0,d=a.length;b"},oa:function(d,f){var g=b[d];if(g===undefined)c(Error("Couldn't find any memo with ID "+ -d+". Perhaps it's already been unmemoized."));try{g.apply(n,f||[]);return k}finally{delete b[d]}},pa:function(d,f){var g=[];a(d,g);for(var h=0,j=g.length;h0&&e[e.length-1].push(a)}}}(); -q.q=function(e){function a(d){if(arguments.length>0){b=d;a.u(b);return this}else{q.w.ia(a);return b}}var b=e;a.o=q.q;a.T=function(){a.u(b)};q.Q.call(a);p.g(a,"valueHasMutated",a.T);return a};q.N=function(e){if(e===n||e===undefined||e.o===undefined)return o;if(e.o===q.q)return k;return q.N(e.o)};q.B=function(e){return typeof e=="function"&&e.o===q.q};p.b("ko.observable",q.q);p.b("ko.isObservable",q.N);p.b("ko.isWriteableObservable",q.B); -q.Na=function(e){var a=new q.q(e);q.a.h(["pop","push","reverse","shift","sort","splice","unshift"],function(b){a[b]=function(){var d=a();d=d[b].apply(d,arguments);a.T();return d}});q.a.h(["slice"],function(b){a[b]=function(){var d=a();return d[b].apply(d,arguments)}});a.remove=function(b){for(var d=a(),f=[],g=[],h=typeof b=="function"?b:function(m){return m===b},j=0,i=d.length;j=0})};a.X=function(b){for(var d=a(),f=typeof b=="function"?b:function(h){return h===b},g=d.length-1;g>=0;g--)if(f(d[g]))d[g]._destroy=k;a.T()};a.za=function(b){if(!b)return[];return a.X(function(d){return q.a.l(b,d)>=0})};a.indexOf=function(b){var d=a();return q.a.l(d,b)};p.g(a,"remove",a.remove);p.g(a,"removeAll",a.Pa);p.g(a,"destroy",a.X);p.g(a,"destroyAll",a.za);p.g(a,"indexOf",a.indexOf);return a};p.b("ko.observableArray",q.Na); -q.n=function(e,a,b){function d(){q.a.h(j,function(m){m.s()});j=[]}function f(m){d();q.a.h(m,function(r){j.push(r.R(g))})}function g(){if(!l&&b&&typeof b.disposeWhen=="function")if(b.disposeWhen()){h.s();return}try{q.w.wa();i=a?e.call(a):e()}finally{var m=q.a.ua(q.w.end());f(m)}h.u(i);l=o}function h(){if(arguments.length>0)c("Cannot write a value to a dependentObservable. Do not pass any parameters to it");q.w.ia(h);return i}if(typeof e!="function")c("Pass a function that returns the value of the dependentObservable"); -var j=[],i,l=k;h.o=q.n;h.Ga=function(){return j.length};h.s=function(){d()};q.Q.call(h);g();p.g(h,"dispose",h.s);p.g(h,"getDependenciesCount",h.Ga);return h};q.n.o=q.q;p.b("ko.dependentObservable",q.n); -q.f={j:function(e){if(e.tagName=="OPTION"){var a=e.getAttribute("value");if(a!==q.c.options.C)return a;return q.a.d.K(e,q.c.options.C)}else return e.tagName=="SELECT"?e.selectedIndex>=0?q.f.j(e.options[e.selectedIndex]):undefined:e.value},G:function(e,a){if(e.tagName=="OPTION"){q.a.d.ka(e,q.c.options.C,a);e.value=q.c.options.C}else if(e.tagName=="SELECT")for(var b=e.options.length-1;b>=0;b--){if(q.f.j(e.options[b])==a){e.selectedIndex=b;break}}else e.value=a}};p.b("ko.selectExtensions",q.f); -p.b("ko.selectExtensions.readValue",q.f.j);p.b("ko.selectExtensions.writeValue",q.f.G); -q.p=function(){function e(f,g){return f.replace(a,function(h,j){return g[j]})}var a=/\[ko_token_(\d+)\]/g,b=/^[\_$a-z][\_$a-z]*(\[.*?\])*(\.[\_$a-z][\_$a-z]*(\[.*?\])*)*$/i,d=["true","false"];return{ga:function(f){f=q.a.m(f);if(f.length<3)return{};for(var g=[],h=n,j,i=f.charAt(0)=="{"?1:0;i0&&r=0?o:l.match(b)!==n;if(l){h.length>0&& -h.push(", ");h.push(j+" : function(__ko_value) { "+i+" = __ko_value; }")}}if(h.length>0)f=f+", '_ko_property_writers' : { "+h.join("")+" } ";return f}}}();p.b("ko.jsonExpressionRewriting",q.p);p.b("ko.jsonExpressionRewriting.parseJson",q.p.ga);p.b("ko.jsonExpressionRewriting.insertPropertyAccessorsIntoJson",q.p.L);q.c={}; -q.U=function(e,a,b){var d=k;new q.n(function(){var f;if(!(f=typeof a=="function"?a():a)){var g=e.getAttribute("data-bind");try{var h=" { "+q.p.L(g)+" } ";f=q.a.Ea(h,b===n?window:b)}catch(j){c(Error("Unable to parse binding attribute.\nMessage: "+j+";\nAttribute value: "+g))}}f=f;if(d)for(var i in f)q.c[i]&&typeof q.c[i].init=="function"&&(0,q.c[i].init)(e,f[i],f,b);for(i in f)q.c[i]&&typeof q.c[i].update=="function"&&(0,q.c[i].update)(e,f[i],f,b)},n,{disposeWhen:function(){return!q.a.z(e)}});d=o}; -q.qa=function(e,a){if(a&&a.nodeType==undefined)c(Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node (note: this is a breaking change since KO version 1.05)"));a=a||window.document.body;var b=q.a.Ha(a,"data-bind");q.a.h(b,function(d){q.U(d,n,e)})};p.b("ko.bindingHandlers",q.c);p.b("ko.applyBindings",q.qa); -q.c.click={init:function(e,a,b,d){q.a.k(e,"click",function(f){var g;try{g=a.call(d)}finally{if(g!==k)if(f.preventDefault)f.preventDefault();else f.returnValue=o}})}};q.c.submit={init:function(e,a,b,d){if(typeof a!="function")c(Error("The value for a submit binding must be a function to invoke on submit"));q.a.k(e,"submit",function(f){var g;try{g=a.call(d,e)}finally{if(g!==k)if(f.preventDefault)f.preventDefault();else f.returnValue=o}})}}; -q.c.visible={update:function(e,a){a=q.a.e(a);var b=e.style.display!="none";if(a&&!b)e.style.display="";else if(!a&&b)e.style.display="none"}};q.c.enable={update:function(e,a){if((a=q.a.e(a))&&e.disabled)e.removeAttribute("disabled");else if(!a&&!e.disabled)e.disabled=k}};q.c.disable={update:function(e,a){q.c.enable.update(e,!q.a.e(a))}}; -q.c.value={init:function(e,a,b){var d=b.valueUpdate||"change",f=o;if(q.a.Sa(d,"after")){f=k;d=d.substring(5)}var g=f?function(h){setTimeout(h,0)}:function(h){h()};if(q.B(a))q.a.k(e,d,function(){g(function(){a(q.f.j(this))}.bind(this))});else b._ko_property_writers&&b._ko_property_writers.value&&q.a.k(e,d,function(){g(function(){b._ko_property_writers.value(q.f.j(this))}.bind(this))})},update:function(e,a){var b=q.a.e(a);if(b!=q.f.j(e)){var d=function(){q.f.G(e,b)};d();e.tagName=="SELECT"&&setTimeout(d, +function b(f){throw f;}var m=true,n=null,o=false,p=window.ko={};p.b=function(f,a){for(var c=f.split("."),d=window,e=0;e=0&&a.splice(d,1)},sa:function(a){a=a||[];for(var c=[],d=0,e=a.length;d< +e;d++)p.a.l(c,a[d])<0&&c.push(a[d]);return c},I:function(a,c){a=a||[];for(var d=[],e=0,g=a.length;e0){for(var e= +d[0],g=e.parentNode,h=0,j=c.length;h=0)a.setAttribute("selected",c);else a.selected=c},Fa:function(a,c){if(!a||a.nodeType!=1)return[];var d=[];a.getAttribute(c)!==n&&d.push(a);for(var e=a.getElementsByTagName("*"),g=0,h=e.length;ga.length)return o;return a.substring(0,c.length)===c},Ca:function(a,c){if(c===undefined)return(new Function("return "+a))();with(c)return eval("("+a+")")},Aa:function(a,c){if(c.compareDocumentPosition)return(c.compareDocumentPosition(a)&16)==16;for(;a!=n;){if(a==c)return m;a=a.parentNode}return o},z:function(a){return p.a.Aa(a,document)},k:function(a,c,d){if(typeof jQuery!= +"undefined")jQuery(a).bind(c,d);else if(typeof a.addEventListener=="function")a.addEventListener(c,d,o);else if(typeof a.attachEvent!="undefined")a.attachEvent("on"+c,function(e){d.call(a,e)});else b(Error("Browser doesn't support addEventListener or attachEvent"))},Ua:function(a,c){if(!(a&&a.nodeType))b(Error("element must be a DOM node when calling triggerEvent"));if(typeof document.createEvent=="function")if(typeof a.dispatchEvent=="function"){var d=document.createEvent(c=="click"?"MouseEvents": +"HTMLEvents");d.initEvent(c,m,m,window,0,0,0,0,0,o,o,o,o,0,a);a.dispatchEvent(d)}else b(Error("The supplied element doesn't support dispatchEvent"));else if(typeof a.fireEvent!="undefined"){if(c=="click")if(a.tagName=="INPUT"&&(a.type.toLowerCase()=="checkbox"||a.type.toLowerCase()=="radio"))a.checked=a.checked!==m;a.fireEvent("on"+c)}else b(Error("Browser doesn't support triggering events"))},e:function(a){return p.N(a)?a():a},za:function(a,c){return p.a.l((a.className||"").split(/\s+/),c)>=0},Ta:function(a, +c,d){var e=p.a.za(a,c);if(d&&!e)a.className=(a.className||"")+" "+c;else if(e&&!d){d=(a.className||"").split(/\s+/);e="";for(var g=0;g=0;d--)c.push(a[d]);return c},M:/MSIE 6/i.test(navigator.userAgent),$:function(a,c){for(var d=p.a.da(a.getElementsByTagName("INPUT")).concat(p.a.da(a.getElementsByTagName("TEXTAREA"))), +e=typeof c=="string"?function(j){return j.name===c}:function(j){return c.test(j.name)},g=[],h=d.length-1;h>=0;h--)e(d[h])&&g.push(d[h]);return g},Qa:function(a){if(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(p.a.e(a))},La:function(a,c,d){d=d||{};var e= +d.params||{},g=d.includeFields||this.Da,h=a;if(typeof a=="object"&&a.tagName=="FORM"){h=a.action;for(var j=g.length-1;j>=0;j--)for(var i=p.a.$(a,g[j]),k=i.length-1;k>=0;k--)e[i[k].name]=i[k].value}c=p.a.e(c);var l=document.createElement("FORM");l.style.display="none";l.action=h;l.method="post";for(var q in c){a=document.createElement("INPUT");a.name=q;a.value=p.a.Qa(p.a.e(c[q]));l.appendChild(a)}for(q in e){a=document.createElement("INPUT");a.name=q;a.value=e[q];l.appendChild(a)}document.body.appendChild(l); +d.submitter?d.submitter(l):l.submit();setTimeout(function(){l.parentNode.removeChild(l)},0)},d:{Va:0,v:"__ko__"+(new Date).getTime(),Ya:{},K:function(a,c){var d=p.a.d.Z(a,o);return d===undefined?undefined:d[c]},ia:function(a,c,d){p.a.d.Z(a,m)[c]=d},Z:function(a,c){var d=a[p.a.d.v];if(!d){if(!c)return;d=a[p.a.d.v]="ko"+p.a.d.Va++;p.a.d[d]={}}return p.a.d[d]},W:function(a){var c=a[p.a.d.v];if(c){delete p.a.d[c];a[p.a.d.v]=n}},J:function(a){if(!(a.nodeType!=1&&a.nodeType!=9)){p.a.d.W(a);a=a.getElementsByTagName("*"); +for(var c=0,d=a.length;c"},ma:function(d,e){var g=c[d];if(g===undefined)b(Error("Couldn't find any memo with ID "+ +d+". Perhaps it's already been unmemoized."));try{g.apply(n,e||[]);return m}finally{delete c[d]}},na:function(d,e){var g=[];a(d,g);for(var h=0,j=g.length;h0&&f[f.length-1].push(a)}}}(); +p.q=function(f){function a(d){if(arguments.length>0){c=d;a.u(c);return this}else{p.w.ga(a);return c}}var c=f;a.o=p.q;a.T=function(){a.u(c)};p.Q.call(a);p.h(a,"valueHasMutated",a.T);return a};p.N=function(f){if(f===n||f===undefined||f.o===undefined)return o;if(f.o===p.q)return m;return p.N(f.o)};p.B=function(f){return typeof f=="function"&&f.o===p.q};p.b("ko.observable",p.q);p.b("ko.isObservable",p.N);p.b("ko.isWriteableObservable",p.B); +p.Ka=function(f){var a=new p.q(f);p.a.g(["pop","push","reverse","shift","sort","splice","unshift"],function(c){a[c]=function(){var d=a();d=d[c].apply(d,arguments);a.T();return d}});p.a.g(["slice"],function(c){a[c]=function(){var d=a();return d[c].apply(d,arguments)}});a.remove=function(c){for(var d=a(),e=[],g=[],h=typeof c=="function"?c:function(l){return l===c},j=0,i=d.length;j=0})};a.X=function(c){for(var d=a(),e=typeof c=="function"?c:function(h){return h===c},g=d.length-1;g>=0;g--)if(e(d[g]))d[g]._destroy=m;a.T()};a.xa=function(c){if(!c)return[];return a.X(function(d){return p.a.l(c,d)>=0})};a.indexOf=function(c){var d=a();return p.a.l(d,c)};p.h(a,"remove",a.remove);p.h(a,"removeAll",a.Ma);p.h(a,"destroy",a.X);p.h(a,"destroyAll",a.xa);p.h(a,"indexOf",a.indexOf);return a};p.b("ko.observableArray",p.Ka); +p.n=function(f,a,c){function d(){p.a.g(j,function(l){l.s()});j=[]}function e(l){d();p.a.g(l,function(q){j.push(q.R(g))})}function g(){if(!k&&c&&typeof c.disposeWhen=="function")if(c.disposeWhen()){h.s();return}try{p.w.ua();i=a?f.call(a):f()}finally{var l=p.a.sa(p.w.end());e(l)}h.u(i);k=o}function h(){if(arguments.length>0)b("Cannot write a value to a dependentObservable. Do not pass any parameters to it");p.w.ga(h);return i}if(typeof f!="function")b("Pass a function that returns the value of the dependentObservable"); +var j=[],i,k=m;h.o=p.n;h.Ea=function(){return j.length};h.s=function(){d()};p.Q.call(h);g();p.h(h,"dispose",h.s);p.h(h,"getDependenciesCount",h.Ea);return h};p.n.o=p.q;p.b("ko.dependentObservable",p.n); +p.f={j:function(f){if(f.tagName=="OPTION"){var a=f.getAttribute("value");if(a!==p.c.options.C)return a;return p.a.d.K(f,p.c.options.C)}else return f.tagName=="SELECT"?f.selectedIndex>=0?p.f.j(f.options[f.selectedIndex]):undefined:f.value},G:function(f,a){if(f.tagName=="OPTION"){p.a.d.ia(f,p.c.options.C,a);f.value=p.c.options.C}else if(f.tagName=="SELECT")for(var c=f.options.length-1;c>=0;c--){if(p.f.j(f.options[c])==a){f.selectedIndex=c;break}}else f.value=a}};p.b("ko.selectExtensions",p.f); +p.b("ko.selectExtensions.readValue",p.f.j);p.b("ko.selectExtensions.writeValue",p.f.G); +p.p=function(){function f(e,g){return e.replace(a,function(h,j){return g[j]})}var a=/\[ko_token_(\d+)\]/g,c=/^[\_$a-z][\_$a-z]*(\[.*?\])*(\.[\_$a-z][\_$a-z]*(\[.*?\])*)*$/i,d=["true","false"];return{ea:function(e){e=p.a.m(e);if(e.length<3)return{};for(var g=[],h=n,j,i=e.charAt(0)=="{"?1:0;i0&&q=0?o:k.match(c)!==n;if(k){h.length>0&& +h.push(", ");h.push(j+" : function(__ko_value) { "+i+" = __ko_value; }")}}if(h.length>0)e=e+", '_ko_property_writers' : { "+h.join("")+" } ";return e}}}();p.b("ko.jsonExpressionRewriting",p.p);p.b("ko.jsonExpressionRewriting.parseJson",p.p.ea);p.b("ko.jsonExpressionRewriting.insertPropertyAccessorsIntoJson",p.p.L);p.c={}; +p.U=function(f,a,c){var d=m;new p.n(function(){var e;if(!(e=typeof a=="function"?a():a)){var g=f.getAttribute("data-bind");try{var h=" { "+p.p.L(g)+" } ";e=p.a.Ca(h,c===n?window:c)}catch(j){b(Error("Unable to parse binding attribute.\nMessage: "+j+";\nAttribute value: "+g))}}e=e;if(d)for(var i in e)p.c[i]&&typeof p.c[i].init=="function"&&(0,p.c[i].init)(f,e[i],e,c);for(i in e)p.c[i]&&typeof p.c[i].update=="function"&&(0,p.c[i].update)(f,e[i],e,c)},n,{disposeWhen:function(){return!p.a.z(f)}});d=o}; +p.oa=function(f,a){if(a&&a.nodeType==undefined)b(Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node (note: this is a breaking change since KO version 1.05)"));a=a||window.document.body;var c=p.a.Fa(a,"data-bind");p.a.g(c,function(d){p.U(d,n,f)})};p.b("ko.bindingHandlers",p.c);p.b("ko.applyBindings",p.oa); +p.c.click={init:function(f,a,c,d){p.a.k(f,"click",function(e){var g;try{g=a.call(d)}finally{if(g!==m)if(e.preventDefault)e.preventDefault();else e.returnValue=o}})}};p.c.submit={init:function(f,a,c,d){if(typeof a!="function")b(Error("The value for a submit binding must be a function to invoke on submit"));p.a.k(f,"submit",function(e){var g;try{g=a.call(d,f)}finally{if(g!==m)if(e.preventDefault)e.preventDefault();else e.returnValue=o}})}}; +p.c.visible={update:function(f,a){a=p.a.e(a);var c=f.style.display!="none";if(a&&!c)f.style.display="";else if(!a&&c)f.style.display="none"}};p.c.enable={update:function(f,a){if((a=p.a.e(a))&&f.disabled)f.removeAttribute("disabled");else if(!a&&!f.disabled)f.disabled=m}};p.c.disable={update:function(f,a){p.c.enable.update(f,!p.a.e(a))}}; +p.c.value={init:function(f,a,c){var d=c.valueUpdate||"change",e=o;if(p.a.Pa(d,"after")){e=m;d=d.substring(5)}var g=e?function(h){setTimeout(h,0)}:function(h){h()};if(p.B(a))p.a.k(f,d,function(){g(function(){a(p.f.j(this))}.bind(this))});else c._ko_property_writers&&c._ko_property_writers.value&&p.a.k(f,d,function(){g(function(){c._ko_property_writers.value(p.f.j(this))}.bind(this))})},update:function(f,a){var c=p.a.e(a);if(c!=p.f.j(f)){var d=function(){p.f.G(f,c)};d();f.tagName=="SELECT"&&setTimeout(d, 0)}}}; -q.c.options={update:function(e,a,b){if(e.tagName!="SELECT")c(Error("options binding applies only to SELECT elements"));var d=q.a.I(q.a.H(e.childNodes,function(i){return i.tagName&&i.tagName=="OPTION"&&i.selected}),function(i){return q.f.j(i)||i.innerText||i.textContent});a=q.a.e(a);q.a.Y(e);if(a){if(typeof a.length!="number")a=[a];if(b.optionsCaption){var f=document.createElement("OPTION");f.innerHTML=b.optionsCaption;q.f.G(f,undefined);e.appendChild(f)}for(var g=0,h=a.length;g=0){q.a.ma(e[g],k);a++}}}};q.c.options.C="__ko.bindingHandlers.options.optionValueDomData__"; -q.c.selectedOptions={ba:function(e){var a=[];e=e.childNodes;for(var b=0,d=e.length;b=0)}}};q.c.text={update:function(e,a){a=q.a.e(a);typeof e.innerText=="string"?e.innerText=a:e.textContent=a}};q.c.css={update:function(e,a){a=a||{};for(var b in a)if(typeof b=="string"){var d=q.a.e(a[b]);q.a.Wa(e,b,d)}}};q.c.style={update:function(e,a){a=q.a.e(a||{});for(var b in a)if(typeof b=="string"){var d=q.a.e(a[b]);e.style[b]=d||""}}}; -q.c.uniqueName={init:function(e,a){if(a){e.name="ko_unique_"+ ++q.c.uniqueName.ya;q.a.M&&e.mergeAttributes(document.createElement(""),o)}}};q.c.uniqueName.ya=0; -q.c.checked={init:function(e,a,b){if(q.B(a)){var d;if(e.type=="checkbox")d=function(){a(this.checked)};else if(e.type=="radio")d=function(){this.checked&&a(this.value)};if(d){q.a.k(e,"change",d);q.a.k(e,"click",d)}}else if(b._ko_property_writers&&b._ko_property_writers.checked){if(e.type=="checkbox")d=function(){b._ko_property_writers.checked(this.checked)};else if(e.type=="radio")d=function(){this.checked&&b._ko_property_writers.checked(this.value)};if(d){q.a.k(e,"change",d);q.a.k(e,"click",d)}}e.type== -"radio"&&!e.name&&q.c.uniqueName.init(e,k)},update:function(e,a){a=q.a.e(a);if(e.type=="checkbox")(e.checked=a)&&q.a.M&&e.mergeAttributes(document.createElement(""),o);else if(e.type=="radio"){e.checked=e.value==a;e.value==a&&q.a.M&&e.mergeAttributes(document.createElement(""),o)}}}; -q.S=function(){this.renderTemplate=function(){c("Override renderTemplate in your ko.templateEngine subclass")};this.isTemplateRewritten=function(){c("Override isTemplateRewritten in your ko.templateEngine subclass")};this.rewriteTemplate=function(){c("Override rewriteTemplate in your ko.templateEngine subclass")};this.createJavaScriptEvaluatorBlock=function(){c("Override createJavaScriptEvaluatorBlock in your ko.templateEngine subclass")}};p.b("ko.templateEngine",q.S); -q.D=function(){var e=/(<[a-z]+(\s+(?!data-bind=)[a-z0-9]+(=(\"[^\"]*\"|\'[^\']*\'))?)*\s+)data-bind=(["'])(.*?)\5/g;return{Da:function(a,b){b.isTemplateRewritten(a)||b.rewriteTemplate(a,function(d){return q.D.Ma(d,b)})},Ma:function(a,b){return a.replace(e,function(d,f,g,h,j,i,l){d=l;d=q.p.L(d);return b.createJavaScriptEvaluatorBlock("ko.templateRewriting.applyMemoizedBindingsToNextSibling(function() { return (function() { return { "+d+" } })() })")+f})},ra:function(a){return q.i.O(function(b, -d){b.nextSibling&&q.U(b.nextSibling,a,d)})}}}();p.b("ko.templateRewriting",q.D);p.b("ko.templateRewriting.applyMemoizedBindingsToNextSibling",q.D.ra); -(function(){function e(b,d,f,g,h){var j=q.a.e(g);h=h||{};var i=h.templateEngine||a;q.D.Da(f,i);f=i.renderTemplate(f,j,h);if(typeof f.length!="number"||f.length>0&&typeof f[0].nodeType!="number")c("Template engine must return an array of DOM nodes");f&&q.a.h(f,function(l){q.i.pa(l,[g])});switch(d){case "replaceChildren":q.a.Ra(b,f);break;case "replaceNode":q.a.ja(b,f);break;case "ignoreTargetNode":break;default:c(Error("Unknown renderMode: "+d))}return f}var a;q.na=function(b){if(b!=undefined&&!(b instanceof -q.S))c("templateEngine must inherit from ko.templateEngine");a=b};q.P=function(b,d,f,g,h){f=f||{};if((f.templateEngine||a)==undefined)c("Set a template engine before calling renderTemplate");h=h||"replaceChildren";if(g){var j=g.nodeType?g:g.length>0?g[0]:n;return new q.n(function(){var i=e(g,h,b,d,f);if(h=="replaceNode"){g=i;j=g.nodeType?g:g.length>0?g[0]:n}},n,{disposeWhen:function(){return!j||!q.a.z(j)}})}else return q.i.O(function(i){q.P(b,d,f,i,"replaceNode")})};q.Qa=function(b,d,f,g){new q.n(function(){var h= -q.a.e(d)||[];if(typeof h.length=="undefined")h=[h];h=q.a.H(h,function(j){return f.includeDestroyed||!j._destroy});q.a.la(g,h,function(j){return e(n,"ignoreTargetNode",b,j,f)},f)},n,{disposeWhen:function(){return!q.a.z(g)}})};q.c.template={update:function(b,d,f,g){f=typeof d=="string"?d:d.name;if(typeof d.foreach!="undefined")q.Qa(f,d.foreach||[],{afterAdd:d.afterAdd,beforeRemove:d.beforeRemove,includeDestroyed:d.includeDestroyed},b);else{d=d.data;q.P(f,typeof d=="undefined"?g:d,n,b)}}}})(); -p.b("ko.setTemplateEngine",q.na);p.b("ko.renderTemplate",q.P); -q.a.r=function(e,a,b){if(b===undefined)return q.a.r(e,a,1)||q.a.r(e,a,10)||q.a.r(e,a,Number.MAX_VALUE);else{e=e||[];a=a||[];for(var d=e,f=a,g=[],h=0;h<=f.length;h++)g[h]=[];h=0;for(var j=Math.min(d.length,b);h<=j;h++)g[0][h]=h;h=1;for(j=Math.min(f.length,b);h<=j;h++)g[h][0]=h;j=d.length;var i,l=f.length;for(h=1;h<=j;h++){var m=Math.min(l,h+b);for(i=Math.max(1,h-b);i<=m;i++)g[i][h]=d[h-1]===f[i-1]?g[i-1][h-1]:Math.min(g[i-1][h]===undefined?Number.MAX_VALUE:g[i-1][h]+1,g[i][h-1]===undefined?Number.MAX_VALUE: -g[i][h-1]+1)}e=e;a=a;b=e.length;d=a.length;f=[];h=g[d][b];if(h===undefined)g=n;else{for(;b>0||d>0;){j=g[d][b];i=d>0?g[d-1][b]:h+1;l=b>0?g[d][b-1]:h+1;m=d>0&&b>0?g[d-1][b-1]:h+1;if(i===undefined||i0&&q.a.ja(d,f);d.splice(0,d.length);q.a.V(d,f)},n,{disposeWhen:function(){return d.length==0||!q.a.z(d[0])}});return d}q.a.la=function(a,b,d,f){b=b||[];f=f||{};var g=q.a.d.K(a,"setDomNodeChildrenFromArrayMapping_lastMappingResult")===undefined,h=q.a.d.K(a,"setDomNodeChildrenFromArrayMapping_lastMappingResult")||[],j=q.a.I(h,function(s){return s.sa}),i=q.a.r(j,b);b=[];var l=0,m=[];j=[];for(var r=n,v=0,x=i.length;v0)r=t.A[t.A.length-1];l++;break;case "deleted":q.a.h(h[l].A,function(s){m.push(s);r=s});l++;break;case "added":t=e(d,i[v].value);b.push({sa:i[v].value,A:t});for(var w=0,y=t.length;w";f=$.F(f,d)[0].text.replace(a,"'");return jQuery.$a([f],document)}d=[d];f=e(b).text;return $.F(f,d)};this.isTemplateRewritten=function(b){return e(b).Ka===k};this.rewriteTemplate=function(b,d){var f=e(b),g=d(f.text);if(this.t==1){g=q.a.m(g);g=g.replace(/([\s\S]*?)(\${[\s\S]*?}|{{[\=a-z][\s\S]*?}}|$)/g,function(h,j,i){return j.replace(/\'/g,"__ko_apos__")+i})}f.text=g;f.Ka=k};this.createJavaScriptEvaluatorBlock=function(b){if(this.t==1)return"{{= "+b+"}}";return"{{ko_code ((function() { return "+ -b+" })()) }}"};this.Za=function(b,d){document.write("