1/*! 2 * Knockout JavaScript library v3.5.1 3 * (c) The Knockout.js team - http://knockoutjs.com/ 4 * License: MIT (http://www.opensource.org/licenses/mit-license.php) 5 */ 6 7(function () { 8 (function (n) { 9 var A = this || (0, eval)("this"), 10 w = A.document, 11 R = A.navigator, 12 v = A.jQuery, 13 H = A.JSON; 14 v || "undefined" === typeof jQuery || (v = jQuery); 15 (function (n) { 16 "function" === typeof define && define.amd 17 ? define(["exports", "require"], n) 18 : "object" === typeof exports && "object" === typeof module 19 ? n(module.exports || exports) 20 : n((A.ko = {})); 21 })(function (S, T) { 22 function K(a, c) { 23 return null === a || (typeof a) in W ? a === c : !1; 24 } 25 function X(b, c) { 26 var d; 27 return function () { 28 d || 29 (d = a.a.setTimeout(function () { 30 d = n; 31 b(); 32 }, c)); 33 }; 34 } 35 function Y(b, c) { 36 var d; 37 return function () { 38 clearTimeout(d); 39 d = a.a.setTimeout(b, c); 40 }; 41 } 42 function Z(a, c) { 43 c && "change" !== c 44 ? "beforeChange" === c 45 ? this.pc(a) 46 : this.gb(a, c) 47 : this.qc(a); 48 } 49 function aa(a, c) { 50 null !== c && c.s && c.s(); 51 } 52 function ba(a, c) { 53 var d = this.qd, 54 e = d[r]; 55 e.ra || 56 (this.Qb && this.mb[c] 57 ? (d.uc(c, a, this.mb[c]), (this.mb[c] = null), --this.Qb) 58 : e.I[c] || d.uc(c, a, e.J ? { da: a } : d.$c(a)), 59 a.Ja && a.gd()); 60 } 61 var a = "undefined" !== typeof S ? S : {}; 62 a.b = function (b, c) { 63 for (var d = b.split("."), e = a, f = 0; f < d.length - 1; f++) 64 e = e[d[f]]; 65 e[d[d.length - 1]] = c; 66 }; 67 a.L = function (a, c, d) { 68 a[c] = d; 69 }; 70 a.version = "3.5.1"; 71 a.b("version", a.version); 72 a.options = { 73 deferUpdates: !1, 74 useOnlyNativeEvents: !1, 75 foreachHidesDestroyed: !1, 76 }; 77 a.a = (function () { 78 function b(a, b) { 79 for (var c in a) f.call(a, c) && b(c, a[c]); 80 } 81 function c(a, b) { 82 if (b) for (var c in b) f.call(b, c) && (a[c] = b[c]); 83 return a; 84 } 85 function d(a, b) { 86 a.__proto__ = b; 87 return a; 88 } 89 function e(b, c, d, e) { 90 var l = b[c].match(q) || []; 91 a.a.D(d.match(q), function (b) { 92 a.a.Na(l, b, e); 93 }); 94 b[c] = l.join(" "); 95 } 96 var f = Object.prototype.hasOwnProperty, 97 g = { __proto__: [] } instanceof Array, 98 h = "function" === typeof Symbol, 99 m = {}, 100 k = {}; 101 m[R && /Firefox\/2/i.test(R.userAgent) ? "KeyboardEvent" : "UIEvents"] = 102 ["keyup", "keydown", "keypress"]; 103 m.MouseEvents = 104 "click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split( 105 " ", 106 ); 107 b(m, function (a, b) { 108 if (b.length) for (var c = 0, d = b.length; c < d; c++) k[b[c]] = a; 109 }); 110 var l = { propertychange: !0 }, 111 p = 112 w && 113 (function () { 114 for ( 115 var a = 3, 116 b = w.createElement("div"), 117 c = b.getElementsByTagName("i"); 118 (b.innerHTML = 119 "\x3c!--[if gt IE " + ++a + "]><i></i><![endif]--\x3e"), 120 c[0]; 121 122 ); 123 return 4 < a ? a : n; 124 })(), 125 q = /\S+/g, 126 t; 127 return { 128 Jc: ["authenticity_token", /^__RequestVerificationToken(_.*)?$/], 129 D: function (a, b, c) { 130 for (var d = 0, e = a.length; d < e; d++) b.call(c, a[d], d, a); 131 }, 132 A: 133 "function" == typeof Array.prototype.indexOf 134 ? function (a, b) { 135 return Array.prototype.indexOf.call(a, b); 136 } 137 : function (a, b) { 138 for (var c = 0, d = a.length; c < d; c++) 139 if (a[c] === b) return c; 140 return -1; 141 }, 142 Lb: function (a, b, c) { 143 for (var d = 0, e = a.length; d < e; d++) 144 if (b.call(c, a[d], d, a)) return a[d]; 145 return n; 146 }, 147 Pa: function (b, c) { 148 var d = a.a.A(b, c); 149 0 < d ? b.splice(d, 1) : 0 === d && b.shift(); 150 }, 151 wc: function (b) { 152 var c = []; 153 b && 154 a.a.D(b, function (b) { 155 0 > a.a.A(c, b) && c.push(b); 156 }); 157 return c; 158 }, 159 Mb: function (a, b, c) { 160 var d = []; 161 if (a) 162 for (var e = 0, l = a.length; e < l; e++) 163 d.push(b.call(c, a[e], e)); 164 return d; 165 }, 166 jb: function (a, b, c) { 167 var d = []; 168 if (a) 169 for (var e = 0, l = a.length; e < l; e++) 170 b.call(c, a[e], e) && d.push(a[e]); 171 return d; 172 }, 173 Nb: function (a, b) { 174 if (b instanceof Array) a.push.apply(a, b); 175 else for (var c = 0, d = b.length; c < d; c++) a.push(b[c]); 176 return a; 177 }, 178 Na: function (b, c, d) { 179 var e = a.a.A(a.a.bc(b), c); 180 0 > e ? d && b.push(c) : d || b.splice(e, 1); 181 }, 182 Ba: g, 183 extend: c, 184 setPrototypeOf: d, 185 Ab: g ? d : c, 186 P: b, 187 Ga: function (a, b, c) { 188 if (!a) return a; 189 var d = {}, 190 e; 191 for (e in a) f.call(a, e) && (d[e] = b.call(c, a[e], e, a)); 192 return d; 193 }, 194 Tb: function (b) { 195 for (; b.firstChild; ) a.removeNode(b.firstChild); 196 }, 197 Yb: function (b) { 198 b = a.a.la(b); 199 for ( 200 var c = ((b[0] && b[0].ownerDocument) || w).createElement("div"), 201 d = 0, 202 e = b.length; 203 d < e; 204 d++ 205 ) 206 c.appendChild(a.oa(b[d])); 207 return c; 208 }, 209 Ca: function (b, c) { 210 for (var d = 0, e = b.length, l = []; d < e; d++) { 211 var k = b[d].cloneNode(!0); 212 l.push(c ? a.oa(k) : k); 213 } 214 return l; 215 }, 216 va: function (b, c) { 217 a.a.Tb(b); 218 if (c) 219 for (var d = 0, e = c.length; d < e; d++) b.appendChild(c[d]); 220 }, 221 Xc: function (b, c) { 222 var d = b.nodeType ? [b] : b; 223 if (0 < d.length) { 224 for ( 225 var e = d[0], l = e.parentNode, k = 0, f = c.length; 226 k < f; 227 k++ 228 ) 229 l.insertBefore(c[k], e); 230 k = 0; 231 for (f = d.length; k < f; k++) a.removeNode(d[k]); 232 } 233 }, 234 Ua: function (a, b) { 235 if (a.length) { 236 for ( 237 b = (8 === b.nodeType && b.parentNode) || b; 238 a.length && a[0].parentNode !== b; 239 240 ) 241 a.splice(0, 1); 242 for (; 1 < a.length && a[a.length - 1].parentNode !== b; ) 243 a.length--; 244 if (1 < a.length) { 245 var c = a[0], 246 d = a[a.length - 1]; 247 for (a.length = 0; c !== d; ) (a.push(c), (c = c.nextSibling)); 248 a.push(d); 249 } 250 } 251 return a; 252 }, 253 Zc: function (a, b) { 254 7 > p ? a.setAttribute("selected", b) : (a.selected = b); 255 }, 256 Db: function (a) { 257 return null === a || a === n 258 ? "" 259 : a.trim 260 ? a.trim() 261 : a.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g, ""); 262 }, 263 Ud: function (a, b) { 264 a = a || ""; 265 return b.length > a.length ? !1 : a.substring(0, b.length) === b; 266 }, 267 vd: function (a, b) { 268 if (a === b) return !0; 269 if (11 === a.nodeType) return !1; 270 if (b.contains) 271 return b.contains(1 !== a.nodeType ? a.parentNode : a); 272 if (b.compareDocumentPosition) 273 return 16 == (b.compareDocumentPosition(a) & 16); 274 for (; a && a != b; ) a = a.parentNode; 275 return !!a; 276 }, 277 Sb: function (b) { 278 return a.a.vd(b, b.ownerDocument.documentElement); 279 }, 280 kd: function (b) { 281 return !!a.a.Lb(b, a.a.Sb); 282 }, 283 R: function (a) { 284 return a && a.tagName && a.tagName.toLowerCase(); 285 }, 286 Ac: function (b) { 287 return a.onError 288 ? function () { 289 try { 290 return b.apply(this, arguments); 291 } catch (c) { 292 throw (a.onError && a.onError(c), c); 293 } 294 } 295 : b; 296 }, 297 setTimeout: function (b, c) { 298 return setTimeout(a.a.Ac(b), c); 299 }, 300 Gc: function (b) { 301 setTimeout(function () { 302 a.onError && a.onError(b); 303 throw b; 304 }, 0); 305 }, 306 B: function (b, c, d) { 307 var e = a.a.Ac(d); 308 d = l[c]; 309 if (a.options.useOnlyNativeEvents || d || !v) 310 if (d || "function" != typeof b.addEventListener) 311 if ("undefined" != typeof b.attachEvent) { 312 var k = function (a) { 313 e.call(b, a); 314 }, 315 f = "on" + c; 316 b.attachEvent(f, k); 317 a.a.K.za(b, function () { 318 b.detachEvent(f, k); 319 }); 320 } else 321 throw Error( 322 "Browser doesn't support addEventListener or attachEvent", 323 ); 324 else b.addEventListener(c, e, !1); 325 else 326 (t || (t = "function" == typeof v(b).on ? "on" : "bind"), 327 v(b)[t](c, e)); 328 }, 329 Fb: function (b, c) { 330 if (!b || !b.nodeType) 331 throw Error( 332 "element must be a DOM node when calling triggerEvent", 333 ); 334 var d; 335 "input" === a.a.R(b) && b.type && "click" == c.toLowerCase() 336 ? ((d = b.type), (d = "checkbox" == d || "radio" == d)) 337 : (d = !1); 338 if (a.options.useOnlyNativeEvents || !v || d) 339 if ("function" == typeof w.createEvent) 340 if ("function" == typeof b.dispatchEvent) 341 ((d = w.createEvent(k[c] || "HTMLEvents")), 342 d.initEvent( 343 c, 344 !0, 345 !0, 346 A, 347 0, 348 0, 349 0, 350 0, 351 0, 352 !1, 353 !1, 354 !1, 355 !1, 356 0, 357 b, 358 ), 359 b.dispatchEvent(d)); 360 else 361 throw Error( 362 "The supplied element doesn't support dispatchEvent", 363 ); 364 else if (d && b.click) b.click(); 365 else if ("undefined" != typeof b.fireEvent) b.fireEvent("on" + c); 366 else throw Error("Browser doesn't support triggering events"); 367 else v(b).trigger(c); 368 }, 369 f: function (b) { 370 return a.O(b) ? b() : b; 371 }, 372 bc: function (b) { 373 return a.O(b) ? b.v() : b; 374 }, 375 Eb: function (b, c, d) { 376 var l; 377 c && 378 ("object" === typeof b.classList 379 ? ((l = b.classList[d ? "add" : "remove"]), 380 a.a.D(c.match(q), function (a) { 381 l.call(b.classList, a); 382 })) 383 : "string" === typeof b.className.baseVal 384 ? e(b.className, "baseVal", c, d) 385 : e(b, "className", c, d)); 386 }, 387 Bb: function (b, c) { 388 var d = a.a.f(c); 389 if (null === d || d === n) d = ""; 390 var e = a.h.firstChild(b); 391 !e || 3 != e.nodeType || a.h.nextSibling(e)
392 ? a.h.va(b, [b.ownerDocument.createTextNode(d)]) 393 : (e.data = d); 394 a.a.Ad(b); 395 }, 396 Yc: function (a, b) { 397 a.name = b; 398 if (7 >= p) 399 try { 400 var c = a.name.replace(/[&<>'"]/g, function (a) { 401 return "&#" + a.charCodeAt(0) + ";"; 402 }); 403 a.mergeAttributes( 404 w.createElement("<input name='" + c + "'/>"), 405 !1, 406 ); 407 } catch (d) {} 408 }, 409 Ad: function (a) { 410 9 <= p && 411 ((a = 1 == a.nodeType ? a : a.parentNode), 412 a.style && (a.style.zoom = a.style.zoom)); 413 }, 414 wd: function (a) { 415 if (p) { 416 var b = a.style.width; 417 a.style.width = 0; 418 a.style.width = b; 419 } 420 }, 421 Pd: function (b, c) { 422 b = a.a.f(b); 423 c = a.a.f(c); 424 for (var d = [], e = b; e <= c; e++) d.push(e); 425 return d; 426 }, 427 la: function (a) { 428 for (var b = [], c = 0, d = a.length; c < d; c++) b.push(a[c]); 429 return b; 430 }, 431 Da: function (a) { 432 return h ? Symbol(a) : a; 433 }, 434 Zd: 6 === p, 435 $d: 7 === p, 436 W: p, 437 Lc: function (b, c) { 438 for ( 439 var d = a.a 440 .la(b.getElementsByTagName("input")) 441 .concat(a.a.la(b.getElementsByTagName("textarea"))), 442 e = 443 "string" == typeof c 444 ? function (a) { 445 return a.name === c; 446 } 447 : function (a) { 448 return c.test(a.name); 449 }, 450 l = [], 451 k = d.length - 1; 452 0 <= k; 453 k-- 454 ) 455 e(d[k]) && l.push(d[k]); 456 return l; 457 }, 458 Nd: function (b) { 459 return "string" == typeof b && (b = a.a.Db(b)) 460 ? H && H.parse 461 ? H.parse(b) 462 : new Function("return " + b)() 463 : null; 464 }, 465 hc: function (b, c, d) { 466 if (!H || !H.stringify) 467 throw Error( 468 "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", 469 ); 470 return H.stringify(a.a.f(b), c, d); 471 }, 472 Od: function (c, d, e) { 473 e = e || {}; 474 var l = e.params || {}, 475 k = e.includeFields || this.Jc, 476 f = c; 477 if ("object" == typeof c && "form" === a.a.R(c)) 478 for (var f = c.action, h = k.length - 1; 0 <= h; h--) 479 for (var g = a.a.Lc(c, k[h]), m = g.length - 1; 0 <= m; m--) 480 l[g[m].name] = g[m].value;
481 d = a.a.f(d); 482 var p = w.createElement("form"); 483 p.style.display = "none"; 484 p.action = f; 485 p.method = "post"; 486 for (var q in d) 487 ((c = w.createElement("input")), 488 (c.type = "hidden"), 489 (c.name = q), 490 (c.value = a.a.hc(a.a.f(d[q]))), 491 p.appendChild(c)); 492 b(l, function (a, b) { 493 var c = w.createElement("input"); 494 c.type = "hidden"; 495 c.name = a; 496 c.value = b; 497 p.appendChild(c); 498 }); 499 w.body.appendChild(p); 500 e.submitter ? e.submitter(p) : p.submit(); 501 setTimeout(function () { 502 p.parentNode.removeChild(p); 503 }, 0); 504 }, 505 }; 506 })(); 507 a.b("utils", a.a); 508 a.b("utils.arrayForEach", a.a.D); 509 a.b("utils.arrayFirst", a.a.Lb); 510 a.b("utils.arrayFilter", a.a.jb); 511 a.b("utils.arrayGetDistinctValues", a.a.wc); 512 a.b("utils.arrayIndexOf", a.a.A); 513 a.b("utils.arrayMap", a.a.Mb); 514 a.b("utils.arrayPushAll", a.a.Nb); 515 a.b("utils.arrayRemoveItem", a.a.Pa); 516 a.b("utils.cloneNodes", a.a.Ca); 517 a.b("utils.createSymbolOrString", a.a.Da); 518 a.b("utils.extend", a.a.extend); 519 a.b("utils.fieldsIncludedWithJsonPost", a.a.Jc); 520 a.b("utils.getFormFields", a.a.Lc); 521 a.b("utils.objectMap", a.a.Ga); 522 a.b("utils.peekObservable", a.a.bc); 523 a.b("utils.postJson", a.a.Od); 524 a.b("utils.parseJson", a.a.Nd); 525 a.b("utils.registerEventHandler", a.a.B); 526 a.b("utils.stringifyJson", a.a.hc); 527 a.b("utils.range", a.a.Pd); 528 a.b("utils.toggleDomNodeCssClass", a.a.Eb); 529 a.b("utils.triggerEvent", a.a.Fb); 530 a.b("utils.unwrapObservable", a.a.f); 531 a.b("utils.objectForEach", a.a.P); 532 a.b("utils.addOrRemoveItem", a.a.Na); 533 a.b("utils.setTextContent", a.a.Bb); 534 a.b("unwrap", a.a.f); 535 Function.prototype.bind || 536 (Function.prototype.bind = function (a) { 537 var c = this; 538 if (1 === arguments.length) 539 return function () { 540 return c.apply(a, arguments); 541 }; 542 var d = Array.prototype.slice.call(arguments, 1); 543 return function () { 544 var e = d.slice(0); 545 e.push.apply(e, arguments); 546 return c.apply(a, e); 547 }; 548 }); 549 a.a.g = new (function () { 550 var b = 0, 551 c = "__ko__" + new Date().getTime(), 552 d = {}, 553 e, 554 f; 555 a.a.W 556 ? ((e = function (a, e) { 557 var f = a[c]; 558 if (!f || "null" === f || !d[f]) { 559 if (!e) return n; 560 f = a[c] = "ko" + b++; 561 d[f] = {}; 562 } 563 return d[f]; 564 }), 565 (f = function (a) { 566 var b = a[c]; 567 return b ? (delete d[b], (a[c] = null), !0) : !1; 568 })) 569 : ((e = function (a, b) { 570 var d = a[c]; 571 !d && b && (d = a[c] = {}); 572 return d; 573 }), 574 (f = function (a) { 575 return a[c] ? (delete a[c], !0) : !1; 576 })); 577 return { 578 get: function (a, b) { 579 var c = e(a, !1); 580 return c && c[b]; 581 }, 582 set: function (a, b, c) { 583 (a = e(a, c !== n)) && (a[b] = c); 584 }, 585 Ub: function (a, b, c) { 586 a = e(a, !0); 587 return a[b] || (a[b] = c); 588 }, 589 clear: f, 590 Z: function () { 591 return b++ + c; 592 }, 593 }; 594 })(); 595 a.b("utils.domData", a.a.g); 596 a.b("utils.domData.clear", a.a.g.clear); 597 a.a.K = new (function () { 598 function b(b, c) { 599 var d = a.a.g.get(b, e); 600 d === n && c && ((d = []), a.a.g.set(b, e, d)); 601 return d; 602 } 603 function c(c) { 604 var e = b(c, !1); 605 if (e) for (var e = e.slice(0), k = 0; k < e.length; k++) e[k](c); 606 a.a.g.clear(c); 607 a.a.K.cleanExternalData(c); 608 g[c.nodeType] && d(c.childNodes, !0); 609 } 610 function d(b, d) { 611 for (var e = [], l, f = 0; f < b.length; f++) 612 if (!d || 8 === b[f].nodeType) 613 if ((c((e[e.length] = l = b[f])), b[f] !== l)) 614 for (; f-- && -1 == a.a.A(e, b[f]); ); 615 } 616 var e = a.a.g.Z(), 617 f = { 1: !0, 8: !0, 9: !0 }, 618 g = { 1: !0, 9: !0 }; 619 return { 620 za: function (a, c) { 621 if ("function" != typeof c) 622 throw Error("Callback must be a function"); 623 b(a, !0).push(c); 624 }, 625 yb: function (c, d) { 626 var f = b(c, !1); 627 f && (a.a.Pa(f, d), 0 == f.length && a.a.g.set(c, e, n)); 628 }, 629 oa: function (b) { 630 a.u.G(function () { 631 f[b.nodeType] && 632 (c(b), g[b.nodeType] && d(b.getElementsByTagName("*"))); 633 }); 634 return b; 635 }, 636 removeNode: function (b) { 637 a.oa(b); 638 b.parentNode && b.parentNode.removeChild(b); 639 }, 640 cleanExternalData: function (a) { 641 v && "function" == typeof v.cleanData && v.cleanData([a]); 642 }, 643 }; 644 })(); 645 a.oa = a.a.K.oa; 646 a.removeNode = a.a.K.removeNode; 647 a.b("cleanNode", a.oa); 648 a.b("removeNode", a.removeNode); 649 a.b("utils.domNodeDisposal", a.a.K); 650 a.b("utils.domNodeDisposal.addDisposeCallback", a.a.K.za); 651 a.b("utils.domNodeDisposal.removeDisposeCallback", a.a.K.yb); 652 (function () { 653 var b = [0, "", ""], 654 c = [1, "<table>", "</table>"], 655 d = [3, "<table><tbody><tr>", "</tr></tbody></table>"], 656 e = [1, "<select multiple='multiple'>", "</select>"], 657 f = { 658 thead: c, 659 tbody: c, 660 tfoot: c, 661 tr: [2, "<table><tbody>", "</tbody></table>"], 662 td: d, 663 th: d, 664 option: e, 665 optgroup: e, 666 }, 667 g = 8 >= a.a.W; 668 a.a.ua = function (c, d) { 669 var e; 670 if (v) 671 if (v.parseHTML) e = v.parseHTML(c, d) || []; 672 else { 673 if ((e = v.clean([c], d)) && e[0]) { 674 for ( 675 var l = e[0];
676 l.parentNode && 11 !== l.parentNode.nodeType; 677 678 ) 679 l = l.parentNode; 680 l.parentNode && l.parentNode.removeChild(l); 681 } 682 } 683 else { 684 (e = d) || (e = w); 685 var l = e.parentWindow || e.defaultView || A, 686 p = a.a.Db(c).toLowerCase(), 687 q = e.createElement("div"), 688 t; 689 t = 690 ((p = p.match(/^(?:\x3c!--.*?--\x3e\s*?)*?<([a-z]+)[\s>]/)) && 691 f[p[1]]) || 692 b; 693 p = t[0]; 694 t = "ignored<div>" + t[1] + c + t[2] + "</div>"; 695 "function" == typeof l.innerShiv 696 ? q.appendChild(l.innerShiv(t)) 697 : (g && e.body.appendChild(q), 698 (q.innerHTML = t), 699 g && q.parentNode.removeChild(q)); 700 for (; p--; ) q = q.lastChild; 701 e = a.a.la(q.lastChild.childNodes); 702 } 703 return e; 704 }; 705 a.a.Md = function (b, c) { 706 var d = a.a.ua(b, c); 707 return (d.length && d[0].parentElement) || a.a.Yb(d); 708 }; 709 a.a.fc = function (b, c) { 710 a.a.Tb(b); 711 c = a.a.f(c); 712 if (null !== c && c !== n) 713 if (("string" != typeof c && (c = c.toString()), v)) v(b).html(c); 714 else 715 for (var d = a.a.ua(c, b.ownerDocument), e = 0; e < d.length; e++) 716 b.appendChild(d[e]); 717 }; 718 })(); 719 a.b("utils.parseHtmlFragment", a.a.ua); 720 a.b("utils.setHtml", a.a.fc); 721 a.aa = (function () { 722 function b(c, e) { 723 if (c) 724 if (8 == c.nodeType) { 725 var f = a.aa.Uc(c.nodeValue); 726 null != f && e.push({ ud: c, Kd: f }); 727 } else if (1 == c.nodeType) 728 for (var f = 0, g = c.childNodes, h = g.length; f < h; f++) 729 b(g[f], e); 730 } 731 var c = {}; 732 return { 733 Xb: function (a) { 734 if ("function" != typeof a) 735 throw Error( 736 "You can only pass a function to ko.memoization.memoize()", 737 ); 738 var b = 739 ((4294967296 * (1 + Math.random())) | 0) 740 .toString(16) 741 .substring(1) + 742 ((4294967296 * (1 + Math.random())) | 0) 743 .toString(16) 744 .substring(1); 745 c[b] = a; 746 return "\x3c!--[ko_memo:" + b + "]--\x3e"; 747 }, 748 bd: function (a, b) { 749 var f = c[a]; 750 if (f === n) 751 throw Error( 752 "Couldn't find any memo with ID " + 753 a + 754 ". Perhaps it's already been unmemoized.", 755 ); 756 try { 757 return (f.apply(null, b || []), !0); 758 } finally { 759 delete c[a]; 760 } 761 }, 762 cd: function (c, e) { 763 var f = []; 764 b(c, f); 765 for (var g = 0, h = f.length; g < h; g++) { 766 var m = f[g].ud, 767 k = [m]; 768 e && a.a.Nb(k, e); 769 a.aa.bd(f[g].Kd, k); 770 m.nodeValue = ""; 771 m.parentNode && m.parentNode.removeChild(m); 772 } 773 }, 774 Uc: function (a) { 775 return (a = a.match(/^\[ko_memo\:(.*?)\]$/)) ? a[1] : null; 776 }, 777 }; 778 })(); 779 a.b("memoization", a.aa); 780 a.b("memoization.memoize", a.aa.Xb); 781 a.b("memoization.unmemoize", a.aa.bd); 782 a.b("memoization.parseMemoText", a.aa.Uc); 783 a.b("memoization.unmemoizeDomNodeAndDescendants", a.aa.cd); 784 a.na = (function () { 785 function b() { 786 if (f) 787 for (var b = f, c = 0, d; h < f; ) 788 if ((d = e[h++])) { 789 if (h > b) { 790 if (5e3 <= ++c) { 791 h = f; 792 a.a.Gc( 793 Error( 794 "'Too much recursion' after processing " + 795 c + 796 " task groups.", 797 ), 798 ); 799 break; 800 } 801 b = f; 802 } 803 try { 804 d(); 805 } catch (p) { 806 a.a.Gc(p); 807 } 808 } 809 } 810 function c() { 811 b(); 812 h = f = e.length = 0; 813 } 814 var d, 815 e = [], 816 f = 0, 817 g = 1, 818 h = 0; 819 A.MutationObserver 820 ? (d = (function (a) { 821 var b = w.createElement("div"); 822 new MutationObserver(a).observe(b, { attributes: !0 }); 823 return function () { 824 b.classList.toggle("foo"); 825 }; 826 })(c)) 827 : (d = 828 w && "onreadystatechange" in w.createElement("script") 829 ? function (a) { 830 var b = w.createElement("script"); 831 b.onreadystatechange = function () { 832 b.onreadystatechange = null; 833 w.documentElement.removeChild(b); 834 b = null; 835 a(); 836 }; 837 w.documentElement.appendChild(b); 838 } 839 : function (a) { 840 setTimeout(a, 0); 841 }); 842 return { 843 scheduler: d, 844 zb: function (b) { 845 f || a.na.scheduler(c); 846 e[f++] = b; 847 return g++; 848 }, 849 cancel: function (a) { 850 a = a - (g - f); 851 a >= h && a < f && (e[a] = null); 852 }, 853 resetForTesting: function () { 854 var a = f - h; 855 h = f = e.length = 0; 856 return a; 857 }, 858 Sd: b, 859 }; 860 })(); 861 a.b("tasks", a.na); 862 a.b("tasks.schedule", a.na.zb); 863 a.b("tasks.runEarly", a.na.Sd); 864 a.Ta = { 865 throttle: function (b, c) { 866 b.throttleEvaluation = c; 867 var d = null; 868 return a.$({ 869 read: b, 870 write: function (e) { 871 clearTimeout(d); 872 d = a.a.setTimeout(function () { 873 b(e); 874 }, c); 875 }, 876 }); 877 }, 878 rateLimit: function (a, c) { 879 var d, e, f; 880 "number" == typeof c ? (d = c) : ((d = c.timeout), (e = c.method)); 881 a.Hb = !1; 882 f = "function" == typeof e ? e : "notifyWhenChangesStop" == e ? Y : X; 883 a.ub(function (a) { 884 return f(a, d, c); 885 }); 886 }, 887 deferred: function (b, c) { 888 if (!0 !== c) 889 throw Error( 890 "The 'deferred' extender only accepts the value 'true', be
890cause it is not supported to turn deferral off once enabled.", 891 ); 892 b.Hb || 893 ((b.Hb = !0), 894 b.ub(function (c) { 895 var e, 896 f = !1; 897 return function () { 898 if (!f) { 899 a.na.cancel(e); 900 e = a.na.zb(c); 901 try { 902 ((f = !0), b.notifySubscribers(n, "dirty")); 903 } finally { 904 f = !1; 905 } 906 } 907 }; 908 })); 909 }, 910 notify: function (a, c) { 911 a.equalityComparer = "always" == c ? null : K; 912 }, 913 }; 914 var W = { undefined: 1, boolean: 1, number: 1, string: 1 }; 915 a.b("extenders", a.Ta); 916 a.ic = function (b, c, d) { 917 this.da = b; 918 this.lc = c; 919 this.mc = d; 920 this.Ib = !1; 921 this.fb = this.Jb = null; 922 a.L(this, "dispose", this.s); 923 a.L(this, "disposeWhenNodeIsRemoved", this.l); 924 }; 925 a.ic.prototype.s = function () { 926 this.Ib || 927 (this.fb && a.a.K.yb(this.Jb, this.fb), 928 (this.Ib = !0), 929 this.mc(), 930 (this.da = this.lc = this.mc = this.Jb = this.fb = null)); 931 }; 932 a.ic.prototype.l = function (b) { 933 this.Jb = b; 934 a.a.K.za(b, (this.fb = this.s.bind(this))); 935 }; 936 a.T = function () { 937 a.a.Ab(this, D); 938 D.qb(this); 939 }; 940 var D = { 941 qb: function (a) { 942 a.U = { change: [] }; 943 a.sc = 1; 944 }, 945 subscribe: function (b, c, d) { 946 var e = this; 947 d = d || "change"; 948 var f = new a.ic(e, c ? b.bind(c) : b, function () { 949 a.a.Pa(e.U[d], f); 950 e.hb && e.hb(d); 951 }); 952 e.Qa && e.Qa(d); 953 e.U[d] || (e.U[d] = []); 954 e.U[d].push(f); 955 return f; 956 }, 957 notifySubscribers: function (b, c) { 958 c = c || "change"; 959 "change" === c && this.Gb(); 960 if (this.Wa(c)) { 961 var d = ("change" === c && this.ed) || this.U[c].slice(0); 962 try { 963 a.u.xc(); 964 for (var e = 0, f; (f = d[e]); ++e) f.Ib || f.lc(b); 965 } finally { 966 a.u.end(); 967 } 968 } 969 }, 970 ob: function () { 971 return this.sc; 972 }, 973 Dd: function (a) { 974 return this.ob() !== a; 975 }, 976 Gb: function () { 977 ++this.sc; 978 }, 979 ub: function (b) { 980 var c = this, 981 d = a.O(c), 982 e, 983 f, 984 g, 985 h, 986 m; 987 c.gb || ((c.gb = c.notifySubscribers), (c.notifySubscribers = Z)); 988 var k = b(function () { 989 c.Ja = !1; 990 d && h === c && (h = c.nc ? c.nc() : c()); 991 var a = f || (m && c.sb(g, h)); 992 m = f = e = !1; 993 a && c.gb((g = h)); 994 }); 995 c.qc = function (a, b) { 996 (b && c.Ja) || (m = !b); 997 c.ed = c.U.change.slice(0); 998 c.Ja = e = !0; 999 h = a; 1000 k(); 1001 }; 1002 c.pc = function (a) { 1003 e || ((g = a), c.gb(a, "beforeChange")); 1004 }; 1005 c.rc = function () { 1006 m = !0; 1007 }; 1008 c.gd = function () { 1009 c.sb(g, c.v(!0)) && (f = !0); 1010 }; 1011 }, 1012 Wa: function (a) { 1013 return this.U[a] && this.U[a].length; 1014 }, 1015 Bd: function (b) { 1016 if (b) return (this.U[b] && this.U[b].length) || 0; 1017 var c = 0; 1018 a.a.P(this.U, function (a, b) { 1019 "dirty" !== a && (c += b.length); 1020 }); 1021 return c; 1022 }, 1023 sb: function (a, c) { 1024 return !this.equalityComparer || !this.equalityComparer(a, c); 1025 }, 1026 toString: function () { 1027 return "[object Object]"; 1028 }, 1029 extend: function (b) { 1030 var c = this; 1031 b && 1032 a.a.P(b, function (b, e) { 1033 var f = a.Ta[b]; 1034 "function" == typeof f && (c = f(c, e) || c); 1035 }); 1036 return c; 1037 }, 1038 }; 1039 a.L(D, "init", D.qb); 1040 a.L(D, "subscribe", D.subscribe); 1041 a.L(D, "extend", D.extend); 1042 a.L(D, "getSubscriptionsCount", D.Bd); 1043 a.a.Ba && a.a.setPrototypeOf(D, Function.prototype); 1044 a.T.fn = D; 1045 a.Qc = function (a) { 1046 return ( 1047 null != a && 1048 "function" == typeof a.subscribe && 1049 "function" == typeof a.notifySubscribers 1050 ); 1051 }; 1052 a.b("subscribable", a.T); 1053 a.b("isSubscribable", a.Qc); 1054 a.S = a.u = (function () { 1055 function b(a) { 1056 d.push(e); 1057 e = a; 1058 } 1059 function c() { 1060 e = d.pop(); 1061 } 1062 var d = [], 1063 e, 1064 f = 0; 1065 return { 1066 xc: b, 1067 end: c, 1068 cc: function (b) { 1069 if (e) { 1070 if (!a.Qc(b)) 1071 throw Error("Only subscribable things can act as dependencies"); 1072 e.od.call(e.pd, b, b.fd || (b.fd = ++f)); 1073 } 1074 }, 1075 G: function (a, d, e) { 1076 try { 1077 return (b(), a.apply(d, e || [])); 1078 } finally { 1079 c(); 1080 } 1081 }, 1082 qa: function () { 1083 if (e) return e.o.qa(); 1084 }, 1085 Va: function () { 1086 if (e) return e.o.Va(); 1087 }, 1088 Ya: function () { 1089 if (e) return e.Ya; 1090 }, 1091 o: function () { 1092 if (e) return e.o; 1093 }, 1094 }; 1095 })(); 1096 a.b("computedContext", a.S); 1097 a.b("computedContext.getDependenciesCount", a.S.qa); 1098 a.b("computedContext.getDependencies", a.S.Va); 1099 a.b("computedContext.isInitial", a.S.Ya); 1100 a.b("computedContext.registerDependency", a.S.cc); 1101 a.b("ignoreDependencies", (a.Yd = a.u.G)); 1102 var I = a.a.Da("_latestValue"); 1103 a.ta = function (b) { 1104 function c() { 1105 if (0 < arguments.length) 1106 return ( 1107 c.sb(c[I], arguments[0]) && 1108 (c.ya(), (c[I] = arguments[0]), c.xa()), 1109 this 1110 ); 1111 a.u.cc(c); 1112 return c[I]; 1113 } 1114 c[I] = b; 1115 a.a.Ba || a.a.extend(c, a.T.fn); 1116 a.T.fn.qb(c); 1117 a.a.Ab(c, F); 1118 a.options.deferUpdates && a.Ta.deferred(c, !0); 1119 return c; 1120 }; 1121 var F = { 1122 equalityComparer: K, 1123 v: function () { 1124 return this[I]; 1125 }, 1126 xa: function () { 1127 this.notifySubscribers(this[I], "spectate"); 1128 this.notifySubscribers(this[I]); 1129 }, 1130 ya: function () { 1131 this.notifySubscribers(this[I], "beforeChange"); 1132 }, 1133 }; 1134 a.a.Ba && a.a.setPrototypeOf(F, a.T.fn); 1135 var G = (a.ta.Ma = "__ko_proto__"); 1136 F[G] = a.ta; 1137 a.O = function (b) { 1138 if ( 1139 (b = "function" == typeof b && b[G]) && 1140 b !== F[G] && 1141 b !== a.o.fn[G] 1142 ) 1143 throw Error( 1144 "Invalid object that looks like an observable; possibly from another Knockout instance", 1145 ); 1146 return !!b; 1147 }; 1148 a.Za = function (b) { 1149 return ( 1150 "function" == typeof b && 1151 (b[G] === F[G] || (b[G] === a.o.fn[G] && b.Nc)) 1152 ); 1153 }; 1154 a.b("observable", a.ta); 1155 a.b("isObservable", a.O); 1156 a.b("isWriteableObservable", a.Za); 1157 a.b("isWritableObservable", a.Za); 1158 a.b("observable.fn", F); 1159 a.L(F, "peek", F.v); 1160 a.L(F, "valueHasMutated", F.xa); 1161 a.L(F, "valueWillMutate", F.ya); 1162 a.Ha = function (b) { 1163 b = b || []; 1164 if ("object" != typeof b || !("length" in b)) 1165 throw Error( 1166 "The argument passed when initializing an observable array must be an array, or null, or undefined.", 1167 ); 1168 b = a.ta(b); 1169 a.a.Ab(b, a.Ha.fn); 1170 return b.extend({ trackArrayChanges: !0 }); 1171 }; 1172 a.Ha.fn = { 1173 remove: function (b) { 1174 for ( 1175 var c = this.v(), 1176 d = [], 1177 e = 1178 "function" != typeof b || a.O(b) 1179 ? function (a) { 1180 return a === b; 1181 } 1182 : b, 1183 f = 0; 1184 f < c.length; 1185 f++ 1186 ) { 1187 var g = c[f]; 1188 if (e(g)) { 1189 0 === d.length && this.ya(); 1190 if (c[f] !== g) 1191 throw Error("Array modified during remove; cannot remove item"); 1192 d.push(g); 1193 c.splice(f, 1); 1194 f--; 1195 } 1196 } 1197 d.length && this.xa(); 1198 return d; 1199 }, 1200 removeAll: function (b) { 1201 if (b === n) { 1202 var c = this.v(), 1203 d = c.slice(0); 1204 this.ya(); 1205 c.splice(0, c.length); 1206 this.xa(); 1207 return d; 1208 } 1209 return b 1210 ? this.remove(function (c) { 1211 return 0 <= a.a.A(b, c); 1212 }) 1213 : []; 1214 }, 1215 destroy: function (b) { 1216 var c = this.v(), 1217 d = 1218 "function" != typeof b || a.O(b) 1219 ? function (a) { 1220 return a === b; 1221 } 1222 : b; 1223 this.ya(); 1224 for (var e = c.length - 1; 0 <= e; e--) { 1225 var f = c[e]; 1226 d(f) && (f._destroy = !0);
1227 } 1228 this.xa(); 1229 }, 1230 destroyAll: function (b) { 1231 return b === n 1232 ? this.destroy(function () { 1233 return !0; 1234 }) 1235 : b 1236 ? this.destroy(function (c) { 1237 return 0 <= a.a.A(b, c); 1238 }) 1239 : []; 1240 }, 1241 indexOf: function (b) { 1242 var c = this(); 1243 return a.a.A(c, b); 1244 }, 1245 replace: function (a, c) { 1246 var d = this.indexOf(a); 1247 0 <= d && (this.ya(), (this.v()[d] = c), this.xa()); 1248 }, 1249 sorted: function (a) { 1250 var c = this().slice(0); 1251 return a ? c.sort(a) : c.sort(); 1252 }, 1253 reversed: function () { 1254 return this().slice(0).reverse(); 1255 }, 1256 }; 1257 a.a.Ba && a.a.setPrototypeOf(a.Ha.fn, a.ta.fn); 1258 a.a.D( 1259 "pop push reverse shift sort splice unshift".split(" "), 1260 function (b) { 1261 a.Ha.fn[b] = function () { 1262 var a = this.v(); 1263 this.ya(); 1264 this.zc(a, b, arguments); 1265 var d = a[b].apply(a, arguments); 1266 this.xa(); 1267 return d === a ? this : d; 1268 }; 1269 }, 1270 ); 1271 a.a.D(["slice"], function (b) { 1272 a.Ha.fn[b] = function () { 1273 var a = this(); 1274 return a[b].apply(a, arguments); 1275 }; 1276 }); 1277 a.Pc = function (b) { 1278 return ( 1279 a.O(b) && "function" == typeof b.remove && "function" == typeof b.push 1280 ); 1281 }; 1282 a.b("observableArray", a.Ha); 1283 a.b("isObservableArray", a.Pc); 1284 a.Ta.trackArrayChanges = function (b, c) { 1285 function d() { 1286 function c() { 1287 if (m) { 1288 var d = [].concat(b.v() || []), 1289 e; 1290 if (b.Wa("arrayChange")) { 1291 if (!f || 1 < m) f = a.a.Pb(k, d, b.Ob); 1292 e = f; 1293 } 1294 k = d; 1295 f = null; 1296 m = 0; 1297 e && e.length && b.notifySubscribers(e, "arrayChange"); 1298 } 1299 } 1300 e 1301 ? c() 1302 : ((e = !0), 1303 (h = b.subscribe( 1304 function () { 1305 ++m; 1306 }, 1307 null, 1308 "spectate", 1309 )), 1310 (k = [].concat(b.v() || [])), 1311 (f = null), 1312 (g = b.subscribe(c))); 1313 } 1314 b.Ob = {}; 1315 c && "object" == typeof c && a.a.extend(b.Ob, c); 1316 b.Ob.sparse = !0; 1317 if (!b.zc) { 1318 var e = !1, 1319 f = null, 1320 g, 1321 h, 1322 m = 0, 1323 k, 1324 l = b.Qa, 1325 p = b.hb; 1326 b.Qa = function (a) { 1327 l && l.call(b, a); 1328 "arrayChange" === a && d(); 1329 }; 1330 b.hb = function (a) { 1331 p && p.call(b, a); 1332 "arrayChange" !== a || 1333 b.Wa("arrayChange") || 1334 (g && g.s(), h && h.s(), (h = g = null), (e = !1), (k = n)); 1335 }; 1336 b.zc = function (b, c, d) { 1337 function l(a, b, c) { 1338 return (k[k.length] = { status: a, value: b, index: c }); 1339 } 1340 if (e && !m) { 1341 var k = [], 1342 p = b.length, 1343 g = d.length, 1344 h = 0; 1345 switch (c) { 1346 case "push": 1347 h = p; 1348 case "unshift": 1349 for (c = 0; c < g; c++) l("added", d[c], h + c); 1350 break; 1351 case "pop": 1352 h = p - 1; 1353 case "shift": 1354 p && l("deleted", b[h], h); 1355 break; 1356 case "splice": 1357 c = Math.min(Math.max(0, 0 > d[0] ? p + d[0] : d[0]), p); 1358 for ( 1359 var p = 1 === g ? p : Math.min(c + (d[1] || 0), p), 1360 g = c + g - 2, 1361 h = Math.max(p, g), 1362 U = [], 1363 L = [], 1364 n = 2; 1365 c < h; 1366 ++c, ++n 1367 ) 1368 (c < p && L.push(l("deleted", b[c], c)), 1369 c < g && U.push(l("added", d[n], c))); 1370 a.a.Kc(L, U); 1371 break; 1372 default: 1373 return; 1374 } 1375 f = k; 1376 } 1377 }; 1378 } 1379 }; 1380 var r = a.a.Da("_state"); 1381 a.o = a.$ = function (b, c, d) { 1382 function e() { 1383 if (0 < arguments.length) { 1384 if ("function" === typeof f) f.apply(g.nb, arguments); 1385 else 1386 throw Error( 1387 "Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.", 1388 ); 1389 return this; 1390 } 1391 g.ra || a.u.cc(e); 1392 (g.ka || (g.J && e.Xa())) && e.ha(); 1393 return g.X; 1394 } 1395 "object" === typeof b ? (d = b) : ((d = d || {}), b && (d.read = b)); 1396 if ("function" != typeof d.read) 1397 throw Error( 1398 "Pass a function that returns the value of the ko.computed", 1399 ); 1400 var f = d.write, 1401 g = { 1402 X: n, 1403 sa: !0, 1404 ka: !0, 1405 rb: !1, 1406 jc: !1, 1407 ra: !1, 1408 wb: !1, 1409 J: !1, 1410 Wc: d.read, 1411 nb: c || d.owner, 1412 l: d.disposeWhenNodeIsRemoved || d.l || null, 1413 Sa: d.disposeWhen || d.Sa, 1414 Rb: null, 1415 I: {}, 1416 V: 0, 1417 Ic: null, 1418 }; 1419 e[r] = g; 1420 e.Nc = "function" === typeof f; 1421 a.a.Ba || a.a.extend(e, a.T.fn); 1422 a.T.fn.qb(e); 1423 a.a.Ab(e, C); 1424 d.pure 1425 ? ((g.wb = !0), (g.J = !0), a.a.extend(e, da)) 1426 : d.deferEvaluation && a.a.extend(e, ea); 1427 a.options.deferUpdates && a.Ta.deferred(e, !0);
1428 g.l && ((g.jc = !0), g.l.nodeType || (g.l = null)); 1429 g.J || d.deferEvaluation || e.ha(); 1430 g.l && 1431 e.ja() && 1432 a.a.K.za( 1433 g.l, 1434 (g.Rb = function () { 1435 e.s(); 1436 }), 1437 ); 1438 return e; 1439 }; 1440 var C = { 1441 equalityComparer: K, 1442 qa: function () { 1443 return this[r].V; 1444 }, 1445 Va: function () { 1446 var b = []; 1447 a.a.P(this[r].I, function (a, d) { 1448 b[d.Ka] = d.da; 1449 }); 1450 return b; 1451 }, 1452 Vb: function (b) { 1453 if (!this[r].V) return !1; 1454 var c = this.Va(); 1455 return -1 !== a.a.A(c, b) 1456 ? !0 1457 : !!a.a.Lb(c, function (a) { 1458 return a.Vb && a.Vb(b); 1459 }); 1460 }, 1461 uc: function (a, c, d) { 1462 if (this[r].wb && c === this) 1463 throw Error("A 'pure' computed must not be called recursively"); 1464 this[r].I[a] = d; 1465 d.Ka = this[r].V++; 1466 d.La = c.ob(); 1467 }, 1468 Xa: function () { 1469 var a, 1470 c, 1471 d = this[r].I; 1472 for (a in d) 1473 if ( 1474 Object.prototype.hasOwnProperty.call(d, a) && 1475 ((c = d[a]), (this.Ia && c.da.Ja) || c.da.Dd(c.La)) 1476 ) 1477 return !0; 1478 }, 1479 Jd: function () { 1480 this.Ia && !this[r].rb && this.Ia(!1); 1481 }, 1482 ja: function () { 1483 var a = this[r]; 1484 return a.ka || 0 < a.V; 1485 }, 1486 Rd: function () { 1487 this.Ja ? this[r].ka && (this[r].sa = !0) : this.Hc(); 1488 }, 1489 $c: function (a) { 1490 if (a.Hb) { 1491 var c = a.subscribe(this.Jd, this, "dirty"), 1492 d = a.subscribe(this.Rd, this); 1493 return { 1494 da: a, 1495 s: function () { 1496 c.s(); 1497 d.s(); 1498 }, 1499 }; 1500 } 1501 return a.subscribe(this.Hc, this); 1502 }, 1503 Hc: function () { 1504 var b = this, 1505 c = b.throttleEvaluation; 1506 c && 0 <= c 1507 ? (clearTimeout(this[r].Ic), 1508 (this[r].Ic = a.a.setTimeout(function () { 1509 b.ha(!0); 1510 }, c))) 1511 : b.Ia 1512 ? b.Ia(!0) 1513 : b.ha(!0); 1514 }, 1515 ha: function (b) { 1516 var c = this[r], 1517 d = c.Sa, 1518 e = !1; 1519 if (!c.rb && !c.ra) { 1520 if ((c.l && !a.a.Sb(c.l)) || (d && d())) { 1521 if (!c.jc) { 1522 this.s(); 1523 return; 1524 } 1525 } else c.jc = !1; 1526 c.rb = !0; 1527 try { 1528 e = this.zd(b); 1529 } finally { 1530 c.rb = !1; 1531 } 1532 return e; 1533 } 1534 }, 1535 zd: function (b) { 1536 var c = this[r], 1537 d = !1, 1538 e = c.wb ? n : !c.V, 1539 d = { qd: this, mb: c.I, Qb: c.V }; 1540 a.u.xc({ pd: d, od: ba, o: this, Ya: e }); 1541 c.I = {}; 1542 c.V = 0; 1543 var f = this.yd(c, d); 1544 c.V ? (d = this.sb(c.X, f)) : (this.s(), (d = !0)); 1545 d && 1546 (c.J ? this.Gb() : this.notifySubscribers(c.X, "beforeChange"), 1547 (c.X = f), 1548 this.notifySubscribers(c.X, "spectate"), 1549 !c.J && b && this.notifySubscribers(c.X), 1550 this.rc && this.rc()); 1551 e && this.notifySubscribers(c.X, "awake"); 1552 return d; 1553 }, 1554 yd: function (b, c) { 1555 try { 1556 var d = b.Wc; 1557 return b.nb ? d.call(b.nb) : d(); 1558 } finally { 1559 (a.u.end(), c.Qb && !b.J && a.a.P(c.mb, aa), (b.sa = b.ka = !1)); 1560 } 1561 }, 1562 v: function (a) { 1563 var c = this[r]; 1564 ((c.ka && (a || !c.V)) || (c.J && this.Xa())) && this.ha(); 1565 return c.X; 1566 }, 1567 ub: function (b) { 1568 a.T.fn.ub.call(this, b); 1569 this.nc = function () { 1570 this[r].J || (this[r].sa ? this.ha() : (this[r].ka = !1)); 1571 return this[r].X; 1572 }; 1573 this.Ia = function (a) { 1574 this.pc(this[r].X); 1575 this[r].ka = !0; 1576 a && (this[r].sa = !0);
1577 this.qc(this, !a); 1578 }; 1579 }, 1580 s: function () { 1581 var b = this[r]; 1582 !b.J && 1583 b.I && 1584 a.a.P(b.I, function (a, b) { 1585 b.s && b.s(); 1586 }); 1587 b.l && b.Rb && a.a.K.yb(b.l, b.Rb); 1588 b.I = n; 1589 b.V = 0; 1590 b.ra = !0; 1591 b.sa = !1; 1592 b.ka = !1; 1593 b.J = !1; 1594 b.l = n; 1595 b.Sa = n; 1596 b.Wc = n; 1597 this.Nc || (b.nb = n); 1598 }, 1599 }, 1600 da = { 1601 Qa: function (b) { 1602 var c = this, 1603 d = c[r]; 1604 if (!d.ra && d.J && "change" == b) { 1605 d.J = !1; 1606 if (d.sa || c.Xa()) ((d.I = null), (d.V = 0), c.ha() && c.Gb()); 1607 else { 1608 var e = []; 1609 a.a.P(d.I, function (a, b) { 1610 e[b.Ka] = a; 1611 }); 1612 a.a.D(e, function (a, b) { 1613 var e = d.I[a], 1614 m = c.$c(e.da); 1615 m.Ka = b; 1616 m.La = e.La; 1617 d.I[a] = m; 1618 }); 1619 c.Xa() && c.ha() && c.Gb(); 1620 } 1621 d.ra || c.notifySubscribers(d.X, "awake"); 1622 } 1623 }, 1624 hb: function (b) { 1625 var c = this[r]; 1626 c.ra || 1627 "change" != b || 1628 this.Wa("change") || 1629 (a.a.P(c.I, function (a, b) { 1630 b.s && ((c.I[a] = { da: b.da, Ka: b.Ka, La: b.La }), b.s()); 1631 }), 1632 (c.J = !0), 1633 this.notifySubscribers(n, "asleep")); 1634 }, 1635 ob: function () { 1636 var b = this[r]; 1637 b.J && (b.sa || this.Xa()) && this.ha(); 1638 return a.T.fn.ob.call(this); 1639 }, 1640 }, 1641 ea = { 1642 Qa: function (a) { 1643 ("change" != a && "beforeChange" != a) || this.v(); 1644 }, 1645 }; 1646 a.a.Ba && a.a.setPrototypeOf(C, a.T.fn); 1647 var N = a.ta.Ma; 1648 C[N] = a.o; 1649 a.Oc = function (a) { 1650 return "function" == typeof a && a[N] === C[N]; 1651 }; 1652 a.Fd = function (b) { 1653 return a.Oc(b) && b[r] && b[r].wb; 1654 }; 1655 a.b("computed", a.o); 1656 a.b("dependentObservable", a.o); 1657 a.b("isComputed", a.Oc); 1658 a.b("isPureComputed", a.Fd); 1659 a.b("computed.fn", C); 1660 a.L(C, "peek", C.v); 1661 a.L(C, "dispose", C.s); 1662 a.L(C, "isActive", C.ja); 1663 a.L(C, "getDependenciesCount", C.qa); 1664 a.L(C, "getDependencies", C.Va); 1665 a.xb = function (b, c) { 1666 if ("function" === typeof b) return a.o(b, c, { pure: !0 }); 1667 b = a.a.extend({}, b); 1668 b.pure = !0; 1669 return a.o(b, c); 1670 }; 1671 a.b("pureComputed", a.xb); 1672 (function () { 1673 function b(a, f, g) { 1674 g = g || new d(); 1675 a = f(a); 1676 if ( 1677 "object" != typeof a || 1678 null === a || 1679 a === n || 1680 a instanceof RegExp || 1681 a instanceof Date || 1682 a instanceof String || 1683 a instanceof Number || 1684 a instanceof Boolean 1685 ) 1686 return a; 1687 var h = a instanceof Array ? [] : {}; 1688 g.save(a, h); 1689 c(a, function (c) { 1690 var d = f(a[c]); 1691 switch (typeof d) { 1692 case "boolean": 1693 case "number": 1694 case "string": 1695 case "function": 1696 h[c] = d; 1697 break; 1698 case "object": 1699 case "undefined": 1700 var l = g.get(d); 1701 h[c] = l !== n ? l : b(d, f, g); 1702 } 1703 }); 1704 return h; 1705 } 1706 function c(a, b) { 1707 if (a instanceof Array) { 1708 for (var c = 0; c < a.length; c++) b(c); 1709 "function" == typeof a.toJSON && b("toJSON"); 1710 } else for (c in a) b(c); 1711 } 1712 function d() { 1713 this.keys = []; 1714 this.values = []; 1715 } 1716 a.ad = function (c) { 1717 if (0 == arguments.length) 1718 throw Error( 1719 "When calling ko.toJS, pass the object you want to convert.", 1720 ); 1721 return b(c, function (b) { 1722 for (var c = 0; a.O(b) && 10 > c; c++) b = b(); 1723 return b; 1724 }); 1725 }; 1726 a.toJSON = function (b, c, d) { 1727 b = a.ad(b); 1728 return a.a.hc(b, c, d); 1729 }; 1730 d.prototype = { 1731 constructor: d, 1732 save: function (b, c) { 1733 var d = a.a.A(this.keys, b); 1734 0 <= d 1735 ? (this.values[d] = c) 1736 : (this.keys.push(b), this.values.push(c)); 1737 }, 1738 get: function (b) { 1739 b = a.a.A(this.keys, b); 1740 return 0 <= b ? this.values[b] : n; 1741 }, 1742 }; 1743 })(); 1744 a.b("toJS", a.ad); 1745 a.b("toJSON", a.toJSON); 1746 a.Wd = function (b, c, d) { 1747 function e(c) { 1748 var e = a.xb(b, d).extend({ ma: "always" }), 1749 h = e.subscribe(function (a) { 1750 a && (h.s(), c(a)); 1751 }); 1752 e.notifySubscribers(e.v()); 1753 return h; 1754 } 1755 return "function" !== typeof Promise || c 1756 ? e(c.bind(d)) 1757 : new Promise(e); 1758 }; 1759 a.b("when", a.Wd); 1760 (function () { 1761 a.w = { 1762 M: function (b) { 1763 switch (a.a.R(b)) { 1764 case "option": 1765 return !0 === b.__ko__hasDomDataOptionValue__ 1766 ? a.a.g.get(b, a.c.options.$b) 1767 : 7 >= a.a.W 1768 ? b.getAttributeNode("value") && 1769 b.getAttributeNode("value").specified 1770 ? b.value 1771 : b.text 1772 : b.value; 1773 case "select": 1774 return 0 <= b.selectedIndex 1775 ? a.w.M(b.options[b.selectedIndex]) 1776 : n; 1777 default: 1778 return b.value; 1779 } 1780 }, 1781 cb: function (b, c, d) { 1782 switch (a.a.R(b)) { 1783 case "option": 1784 "string" === typeof c 1785 ? (a.a.g.set(b, a.c.options.$b, n), 1786 "__ko__hasDomDataOptionValue__" in b && 1787 delete b.__ko__hasDomDataOptionValue__, 1788 (b.value = c)) 1789 : (a.a.g.set(b, a.c.options.$b, c), 1790 (b.__ko__hasDomDataOptionValue__ = !0), 1791 (b.value = "number" === typeof c ? c : "")); 1792 break; 1793 case "select": 1794 if ("" === c || null === c) c = n; 1795 for (var e = -1, f = 0, g = b.options.length, h; f < g; ++f) 1796 if ( 1797 ((h = a.w.M(b.options[f])), h == c || ("" === h && c === n)) 1798 ) { 1799 e = f; 1800 break; 1801 } 1802 if (d || 0 <= e || (c === n && 1 < b.size)) 1803 ((b.selectedIndex = e), 1804 6 === a.a.W && 1805 a.a.setTimeout(function () { 1806 b.selectedIndex = e; 1807 }, 0)); 1808 break; 1809 default: 1810 if (null === c || c === n) c = ""; 1811 b.value = c; 1812 } 1813 }, 1814 }; 1815 })(); 1816 a.b("selectExtensions", a.w); 1817 a.b("selectExtensions.readValue", a.w.M); 1818 a.b("selectExtensions.writeValue", a.w.cb); 1819 a.m = (function () { 1820 function b(b) { 1821 b = a.a.Db(b); 1822 123 === b.charCodeAt(0) && (b = b.slice(1, -1)); 1823 b += "\n,"; 1824 var c = [], 1825 d = b.match(e), 1826 p, 1827 q = [], 1828 h = 0; 1829 if (1 < d.length) { 1830 for (var x = 0, B; (B = d[x]); ++x) { 1831 var u = B.charCodeAt(0); 1832 if (44 === u) { 1833 if (0 >= h) { 1834 c.push( 1835 p && q.length 1836 ? { key: p, value: q.join("") } 1837 : { unknown: p || q.join("") }, 1838 ); 1839 p = h = 0; 1840 q = []; 1841 continue; 1842 } 1843 } else if (58 === u) { 1844 if (!h && !p && 1 === q.length) { 1845 p = q.pop();
1846 continue; 1847 } 1848 } else if ( 1849 47 === u && 1850 1 < B.length && 1851 (47 === B.charCodeAt(1) || 42 === B.charCodeAt(1)) 1852 ) 1853 continue; 1854 else 1855 47 === u && x && 1 < B.length 1856 ? (u = d[x - 1].match(f)) && 1857 !g[u[0]] && 1858 ((b = b.substr(b.indexOf(B) + 1)), 1859 (d = b.match(e)), 1860 (x = -1), 1861 (B = "/")) 1862 : 40 === u || 123 === u || 91 === u 1863 ? ++h 1864 : 41 === u || 125 === u || 93 === u 1865 ? --h 1866 : p || 1867 q.length || 1868 (34 !== u && 39 !== u) || 1869 (B = B.slice(1, -1)); 1870 q.push(B); 1871 } 1872 if (0 < h) 1873 throw Error("Unbalanced parentheses, braces, or brackets"); 1874 } 1875 return c; 1876 } 1877 var c = ["true", "false", "null", "undefined"], 1878 d = /^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i, 1879 e = RegExp( 1880 "\"(?:\\\\.|[^\"])*\"|'(?:\\\\.|[^'])*'|`(?:\\\\.|[^`])*`|/\\*(?:[^*]|\\*+[^*/])*\\*+/|//.*\n|/(?:\\\\.|[^/])+/w*|[^\\s:,/][^,\"'`{}()/:[\\]]*[^\\s,\"'`{}()/:[\\]]|[^\\s]", 1881 "g", 1882 ), 1883 f = /[\])"'A-Za-z0-9_$]+$/, 1884 g = { in: 1, return: 1, typeof: 1 }, 1885 h = {}; 1886 return { 1887 Ra: [], 1888 wa: h, 1889 ac: b, 1890 vb: function (e, f) { 1891 function l(b, e) { 1892 var f; 1893 if (!x) { 1894 var k = a.getBindingHandler(b); 1895 if (k && k.preprocess && !(e = k.preprocess(e, b, l))) return; 1896 if ((k = h[b])) 1897 ((f = e), 1898 0 <= a.a.A(c, f) 1899 ? (f = !1) 1900 : ((k = f.match(d)), 1901 (f = 1902 null === k 1903 ? !1 1904 : k[1] 1905 ? "Object(" + k[1] + ")" + k[2] 1906 : f)), 1907 (k = f)); 1908 k && 1909 q.push( 1910 "'" + 1911 ("string" == typeof h[b] ? h[b] : b) + 1912 "':function(_z){" + 1913 f + 1914 "=_z}", 1915 ); 1916 } 1917 g && (e = "function(){return " + e + " }"); 1918 p.push("'" + b + "':" + e); 1919 } 1920 f = f || {}; 1921 var p = [], 1922 q = [], 1923 g = f.valueAccessors, 1924 x = f.bindingParams, 1925 B = "string" === typeof e ? b(e) : e; 1926 a.a.D(B, function (a) { 1927 l(a.key || a.unknown, a.value); 1928 }); 1929 q.length && l("_ko_property_writers", "{" + q.join(",") + " }"); 1930 return p.join(","); 1931 }, 1932 Id: function (a, b) { 1933 for (var c = 0; c < a.length; c++) if (a[c].key == b) return !0; 1934 return !1; 1935 }, 1936 eb: function (b, c, d, e, f) { 1937 if (b && a.O(b)) !a.Za(b) || (f && b.v() === e) || b(e); 1938 else if ((b = c.get("_ko_property_writers")) && b[d]) b[d](e); 1939 }, 1940 }; 1941 })(); 1942 a.b("expressionRewriting", a.m); 1943 a.b("expressionRewriting.bindingRewriteValidators", a.m.Ra); 1944 a.b("expressionRewriting.parseObjectLiteral", a.m.ac); 1945 a.b("expressionRewriting.preProcessBindings", a.m.vb); 1946 a.b("expressionRewriting._twoWayBindings", a.m.wa); 1947 a.b("jsonExpressionRewriting", a.m); 1948 a.b("jsonExpressionRewriting.insertPropertyAccessorsIntoJson", a.m.vb); 1949 (function () { 1950 function b(a) { 1951 return 8 == a.nodeType && g.test(f ? a.text : a.nodeValue); 1952 } 1953 function c(a) { 1954 return 8 == a.nodeType && h.test(f ? a.text : a.nodeValue); 1955 } 1956 function d(d, e) { 1957 for (var f = d, h = 1, g = []; (f = f.nextSibling); ) { 1958 if (c(f) && (a.a.g.set(f, k, !0), h--, 0 === h)) return g; 1959 g.push(f); 1960 b(f) && h++; 1961 } 1962 if (!e) 1963 throw Error( 1964 "Cannot find closing comment tag to match: " + d.nodeValue, 1965 ); 1966 return null; 1967 } 1968 function e(a, b) { 1969 var c = d(a, b); 1970 return c 1971 ? 0 < c.length 1972 ? c[c.length - 1].nextSibling 1973 : a.nextSibling 1974 : null; 1975 } 1976 var f = w && "\x3c!--test--\x3e" === w.createComment("test").text, 1977 g = f 1978 ? /^\x3c!--\s*ko(?:\s+([\s\S]+))?\s*--\x3e$/ 1979 : /^\s*ko(?:\s+([\s\S]+))?\s*$/, 1980 h = f ? /^\x3c!--\s*\/ko\s*--\x3e$/ : /^\s*\/ko\s*$/, 1981 m = { ul: !0, ol: !0 }, 1982 k = "__ko_matchedEndComment__"; 1983 a.h = { 1984 ea: {}, 1985 childNodes: function (a) { 1986 return b(a) ? d(a) : a.childNodes; 1987 }, 1988 Ea: function (c) { 1989 if (b(c)) { 1990 c = a.h.childNodes(c); 1991 for (var d = 0, e = c.length; d < e;
1991 d++) a.removeNode(c[d]); 1992 } else a.a.Tb(c); 1993 }, 1994 va: function (c, d) { 1995 if (b(c)) { 1996 a.h.Ea(c); 1997 for (var e = c.nextSibling, f = 0, k = d.length; f < k; f++) 1998 e.parentNode.insertBefore(d[f], e); 1999 } else a.a.va(c, d); 2000 }, 2001 Vc: function (a, c) { 2002 var d; 2003 b(a) 2004 ? ((d = a.nextSibling), (a = a.parentNode)) 2005 : (d = a.firstChild); 2006 d ? c !== d && a.insertBefore(c, d) : a.appendChild(c); 2007 }, 2008 Wb: function (c, d, e) { 2009 e 2010 ? ((e = e.nextSibling), 2011 b(c) && (c = c.parentNode), 2012 e ? d !== e && c.insertBefore(d, e) : c.appendChild(d)) 2013 : a.h.Vc(c, d); 2014 }, 2015 firstChild: function (a) { 2016 if (b(a)) 2017 return !a.nextSibling || c(a.nextSibling) ? null : a.nextSibling; 2018 if (a.firstChild && c(a.firstChild)) 2019 throw Error( 2020 "Found invalid end comment, as the first child of " + a, 2021 ); 2022 return a.firstChild; 2023 }, 2024 nextSibling: function (d) { 2025 b(d) && (d = e(d)); 2026 if (d.nextSibling && c(d.nextSibling)) { 2027 var f = d.nextSibling; 2028 if (c(f) && !a.a.g.get(f, k)) 2029 throw Error( 2030 "Found end comment without a matching opening comment, as child of " + 2031 d, 2032 ); 2033 return null; 2034 } 2035 return d.nextSibling; 2036 }, 2037 Cd: b, 2038 Vd: function (a) { 2039 return (a = (f ? a.text : a.nodeValue).match(g)) ? a[1] : null; 2040 }, 2041 Sc: function (d) { 2042 if (m[a.a.R(d)]) { 2043 var f = d.firstChild; 2044 if (f) { 2045 do 2046 if (1 === f.nodeType) { 2047 var k; 2048 k = f.firstChild; 2049 var h = null; 2050 if (k) { 2051 do 2052 if (h) h.push(k); 2053 else if (b(k)) { 2054 var g = e(k, !0); 2055 g ? (k = g) : (h = [k]); 2056 } else c(k) && (h = [k]); 2057 while ((k = k.nextSibling)); 2058 } 2059 if ((k = h)) 2060 for (h = f.nextSibling, g = 0; g < k.length; g++) 2061 h ? d.insertBefore(k[g], h) : d.appendChild(k[g]); 2062 } 2063 while ((f = f.nextSibling)); 2064 } 2065 } 2066 }, 2067 }; 2068 })(); 2069 a.b("virtualElements", a.h); 2070 a.b("virtualElements.allowedBindings", a.h.ea); 2071 a.b("virtualElements.emptyNode", a.h.Ea); 2072 a.b("virtualElements.insertAfter", a.h.Wb); 2073 a.b("virtualElements.prepend", a.h.Vc); 2074 a.b("virtualElements.setDomNodeChildren", a.h.va); 2075 (function () { 2076 a.ga = function () { 2077 this.nd = {}; 2078 }; 2079 a.a.extend(a.ga.prototype, { 2080 nodeHasBindings: function (b) { 2081 switch (b.nodeType) { 2082 case 1: 2083 return ( 2084 null != b.getAttribute("data-bind") || 2085 a.j.getComponentNameForNode(b) 2086 ); 2087 case 8: 2088 return a.h.Cd(b); 2089 default: 2090 return !1; 2091 } 2092 }, 2093 getBindings: function (b, c) { 2094 var d = this.getBindingsString(b, c), 2095 d = d ? this.parseBindingsString(d, c, b) : null; 2096 return a.j.tc(d, b, c, !1); 2097 }, 2098 getBindingAccessors: function (b, c) { 2099 var d = this.getBindingsString(b, c), 2100 d = d 2101 ? this.parseBindingsString(d, c, b, { valueAccessors: !0 }) 2102 : null; 2103 return a.j.tc(d, b, c, !0); 2104 }, 2105 getBindingsString: function (b) {
2106 switch (b.nodeType) { 2107 case 1: 2108 return b.getAttribute("data-bind"); 2109 case 8: 2110 return a.h.Vd(b); 2111 default: 2112 return null; 2113 } 2114 }, 2115 parseBindingsString: function (b, c, d, e) { 2116 try { 2117 var f = this.nd, 2118 g = b + ((e && e.valueAccessors) || ""), 2119 h; 2120 if (!(h = f[g])) { 2121 var m, 2122 k = 2123 "with($context){with($data||{}){return{" + 2124 a.m.vb(b, e) + 2125 "}}}"; 2126 m = new Function("$context", "$element", k); 2127 h = f[g] = m; 2128 } 2129 return h(c, d); 2130 } catch (l) { 2131 throw ( 2132 (l.message = 2133 "Unable to parse bindings.\nBindings value: " + 2134 b + 2135 "\nMessage: " + 2136 l.message), 2137 l 2138 ); 2139 } 2140 }, 2141 }); 2142 a.ga.instance = new a.ga(); 2143 })(); 2144 a.b("bindingProvider", a.ga); 2145 (function () { 2146 function b(b) { 2147 var c = (b = a.a.g.get(b, z)) && b.N; 2148 c && ((b.N = null), c.Tc()); 2149 } 2150 function c(c, d, e) { 2151 this.node = c; 2152 this.yc = d; 2153 this.kb = []; 2154 this.H = !1; 2155 d.N || a.a.K.za(c, b); 2156 e && e.N && (e.N.kb.push(c), (this.Kb = e)); 2157 } 2158 function d(a) { 2159 return function () { 2160 return a; 2161 }; 2162 } 2163 function e(a) { 2164 return a(); 2165 } 2166 function f(b) { 2167 return a.a.Ga(a.u.G(b), function (a, c) { 2168 return function () { 2169 return b()[c]; 2170 }; 2171 }); 2172 } 2173 function g(b, c, e) { 2174 return "function" === typeof b ? f(b.bind(null, c, e)) : a.a.Ga(b, d); 2175 } 2176 function h(a, b) { 2177 return f(this.getBindings.bind(this, a, b)); 2178 } 2179 function m(b, c) { 2180 var d = a.h.firstChild(c); 2181 if (d) { 2182 var e, 2183 f = a.ga.instance, 2184 l = f.preprocessNode; 2185 if (l) { 2186 for (; (e = d); ) ((d = a.h.nextSibling(e)), l.call(f, e)); 2187 d = a.h.firstChild(c); 2188 } 2189 for (; (e = d); ) ((d = a.h.nextSibling(e)), k(b, e)); 2190 } 2191 a.i.ma(c, a.i.H); 2192 } 2193 function k(b, c) { 2194 var d = b, 2195 e = 1 === c.nodeType; 2196 e && a.h.Sc(c); 2197 if (e || a.ga.instance.nodeHasBindings(c)) 2198 d = p(c, null, b).bindingContextForDescendants; 2199 d && !u[a.a.R(c)] && m(d, c); 2200 } 2201 function l(b) { 2202 var c = [], 2203 d = {}, 2204 e = []; 2205 a.a.P(b, function ca(f) { 2206 if (!d[f]) { 2207 var k = a.getBindingHandler(f); 2208 k && 2209 (k.after && 2210 (e.push(f), 2211 a.a.D(k.after, function (c) { 2212 if (b[c]) { 2213 if (-1 !== a.a.A(e, c)) 2214 throw Error( 2215 "Cannot combine the following bindings, because they have a cyclic dependency: " + 2216 e.join(", "), 2217 ); 2218 ca(c); 2219 } 2220 }), 2221 e.length--), 2222 c.push({ key: f, Mc: k })); 2223 d[f] = !0; 2224 } 2225 }); 2226 return c; 2227 } 2228 function p(b, c, d) { 2229 var f = a.a.g.Ub(b, z, {}), 2230 k = f.hd; 2231 if (!c) { 2232 if (k) 2233 throw Error( 2234 "You cannot apply bindings multiple times to the same element.", 2235 ); 2236 f.hd = !0; 2237 } 2238 k || (f.context = d); 2239 f.Zb || (f.Zb = {}); 2240 var g; 2241 if (c && "function" !== typeof c) g = c; 2242 else { 2243 var p = a.ga.instance, 2244 q = p.getBindingAccessors || h, 2245 m = a.$( 2246 function () { 2247 if ((g = c ? c(d, b) : q.call(p, b, d))) { 2248 if (d[t]) d[t](); 2249 if (d[B]) d[B](); 2250 } 2251 return g; 2252 }, 2253 null, 2254 { l: b }, 2255 ); 2256 (g && m.ja()) || (m = null); 2257 } 2258 var x = d, 2259 u; 2260 if (g) { 2261 var J = function () { 2262 return a.a.Ga(m ? m() : g, e); 2263 }, 2264 r = m 2265 ? function (a) { 2266 return function () { 2267 return e(m()[a]); 2268 }; 2269 } 2270 : function (a) { 2271 return g[a]; 2272 }; 2273 J.get = function (a) { 2274 return g[a] && e(r(a)); 2275 }; 2276 J.has = function (a) { 2277 return a in g; 2278 }; 2279 a.i.H in g && 2280 a.i.subscribe(b, a.i.H, function () { 2281 var c = (0, g[a.i.H])(); 2282 if (c) { 2283 var d = a.h.childNodes(b); 2284 d.length && c(d, a.Ec(d[0])); 2285 } 2286 }); 2287 a.i.pa in g && 2288 ((x = a.i.Cb(b, d)), 2289 a.i.subscribe(b, a.i.pa, function () { 2290 var c = (0, g[a.i.pa])(); 2291 c && a.h.firstChild(b) && c(b); 2292 })); 2293 f = l(g); 2294 a.a.D(f, function (c) { 2295 var d = c.Mc.init, 2296 e = c.Mc.update, 2297 f = c.key; 2298 if (8 === b.nodeType && !a.h.ea[f]) 2299 throw Error( 2300 "The binding '" + 2301 f + 2302 "' cannot be used with virtual elements", 2303 ); 2304 try { 2305 ("function" == typeof d && 2306 a.u.G(function () { 2307 var a = d(b, r(f), J, x.$data, x); 2308 if (a && a.controlsDescendantBindings) { 2309 if (u !== n) 2310 throw Error( 2311 "Multiple bindings (" + 2312 u + 2313 " and " + 2314 f + 2315 ") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.", 2316 ); 2317 u = f; 2318 } 2319 }), 2320 "function" == typeof e && 2321 a.$( 2322 function () { 2323 e(b, r(f), J, x.$data, x); 2324 }, 2325 null, 2326 { l: b }, 2327 )); 2328 } catch (k) { 2329 throw ( 2330 (k.message = 2331 'Unable to process binding "' + 2332 f + 2333 ": " + 2334 g[f] + 2335 '"\nMessage: ' + 2336 k.message), 2337 k 2338 ); 2339 } 2340 }); 2341 } 2342 f = u === n; 2343 return { 2344 shouldBindDescendants: f, 2345 bindingContextForDescendants: f && x, 2346 }; 2347 } 2348 function q(b, c) { 2349 return b && b instanceof a.fa ? b : new a.fa(b, n, n, c); 2350 } 2351 var t = a.a.Da("_subscribable"), 2352 x = a.a.Da("_ancestorBindingInfo"), 2353 B = a.a.Da("_dataDependency"); 2354 a.c = {}; 2355 var u = { script: !0, textarea: !0, template: !0 }; 2356 a.getBindingHandler = function (b) { 2357 return a.c[b]; 2358 }; 2359 var J = {}; 2360 a.fa = function (b, c, d, e, f) { 2361 function k() { 2362 var b = p ? h() : h, 2363 f = a.a.f(b); 2364 c 2365 ? (a.a.extend(l, c), x in c && (l[x] = c[x])) 2366 : ((l.$parents = []), (l.$root = f), (l.ko = a)); 2367 l[t] = q; 2368 g ? (f = l.$data) : ((l.$rawData = b), (l.$data = f)); 2369 d && (l[d] = f); 2370 e && e(l, c, f); 2371 if (c && c[t] && !a.S.o().Vb(c[t])) c[t](); 2372 m && (l[B] = m); 2373 return l.$data; 2374 } 2375 var l = this, 2376 g = b === J, 2377 h = g ? n : b, 2378 p = "function" == typeof h && !a.O(h), 2379 q, 2380 m = f && f.dataDependency;
2381 f && f.exportDependencies 2382 ? k() 2383 : ((q = a.xb(k)), 2384 q.v(), 2385 q.ja() ? (q.equalityComparer = null) : (l[t] = n)); 2386 }; 2387 a.fa.prototype.createChildContext = function (b, c, d, e) { 2388 !e && 2389 c && 2390 "object" == typeof c && 2391 ((e = c), (c = e.as), (d = e.extend)); 2392 if (c && e && e.noChildContext) { 2393 var f = "function" == typeof b && !a.O(b); 2394 return new a.fa( 2395 J, 2396 this, 2397 null, 2398 function (a) { 2399 d && d(a); 2400 a[c] = f ? b() : b; 2401 }, 2402 e, 2403 ); 2404 } 2405 return new a.fa( 2406 b, 2407 this, 2408 c, 2409 function (a, b) { 2410 a.$parentContext = b; 2411 a.$parent = b.$data; 2412 a.$parents = (b.$parents || []).slice(0); 2413 a.$parents.unshift(a.$parent); 2414 d && d(a); 2415 }, 2416 e, 2417 ); 2418 }; 2419 a.fa.prototype.extend = function (b, c) { 2420 return new a.fa( 2421 J, 2422 this, 2423 null, 2424 function (c) { 2425 a.a.extend(c, "function" == typeof b ? b(c) : b); 2426 }, 2427 c, 2428 ); 2429 }; 2430 var z = a.a.g.Z(); 2431 c.prototype.Tc = function () { 2432 this.Kb && this.Kb.N && this.Kb.N.sd(this.node); 2433 }; 2434 c.prototype.sd = function (b) { 2435 a.a.Pa(this.kb, b); 2436 !this.kb.length && this.H && this.Cc(); 2437 }; 2438 c.prototype.Cc = function () { 2439 this.H = !0; 2440 this.yc.N && 2441 !this.kb.length && 2442 ((this.yc.N = null), 2443 a.a.K.yb(this.node, b), 2444 a.i.ma(this.node, a.i.pa), 2445 this.Tc()); 2446 }; 2447 a.i = { 2448 H: "childrenComplete", 2449 pa: "descendantsComplete", 2450 subscribe: function (b, c, d, e, f) { 2451 var k = a.a.g.Ub(b, z, {}); 2452 k.Fa || (k.Fa = new a.T()); 2453 f && f.notifyImmediately && k.Zb[c] && a.u.G(d, e, [b]); 2454 return k.Fa.subscribe(d, e, c); 2455 }, 2456 ma: function (b, c) { 2457 var d = a.a.g.get(b, z); 2458 if ( 2459 d && 2460 ((d.Zb[c] = !0), d.Fa && d.Fa.notifySubscribers(b, c), c == a.i.H) 2461 ) 2462 if (d.N) d.N.Cc(); 2463 else if (d.N === n && d.Fa && d.Fa.Wa(a.i.pa)) 2464 throw Error( 2465 "descendantsComplete event not supported for bindings on this node", 2466 ); 2467 }, 2468 Cb: function (b, d) { 2469 var e = a.a.g.Ub(b, z, {}); 2470 e.N || (e.N = new c(b, e, d[x])); 2471 return d[x] == e 2472 ? d 2473 : d.extend(function (a) { 2474 a[x] = e; 2475 }); 2476 }, 2477 }; 2478 a.Td = function (b) { 2479 return (b = a.a.g.get(b, z)) && b.context; 2480 }; 2481 a.ib = function (b, c, d) { 2482 1 === b.nodeType && a.h.Sc(b); 2483 return p(b, c, q(d)); 2484 }; 2485 a.ld = function (b, c, d) { 2486 d = q(d); 2487 return a.ib(b, g(c, d, b), d); 2488 }; 2489 a.Oa = function (a, b) { 2490 (1 !== b.nodeType && 8 !== b.nodeType) || m(q(a), b); 2491 }; 2492 a.vc = function (a, b, c) { 2493 !v && A.jQuery && (v = A.jQuery); 2494 if (2 > arguments.length) { 2495 if (((b = w.body), !b)) 2496 throw Error( 2497 "ko.applyBindings: could not find document.body; has the document been loaded?", 2498 ); 2499 } else if (!b || (1 !== b.nodeType && 8 !== b.nodeType)) 2500 throw Error( 2501 "ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node", 2502 ); 2503 k(q(a, c), b); 2504 }; 2505 a.Dc = function (b) { 2506 return !b || (1 !== b.nodeType && 8 !== b.nodeType) ? n : a.Td(b); 2507 }; 2508 a.Ec = function (b) { 2509 return (b = a.Dc(b)) ? b.$data : n; 2510 }; 2511 a.b("bindingHandlers", a.c); 2512 a.b("bindingEvent", a.i); 2513 a.b("bindingEvent.subscribe", a.i.subscribe); 2514 a.b("bindingEvent.startPossiblyAsyncContentBinding", a.i.Cb); 2515 a.b("applyBindings", a.vc); 2516 a.b("applyBindingsToDescendants", a.Oa); 2517 a.b("applyBindingAccessorsToNode", a.ib); 2518 a.b("applyBindingsToNode", a.ld); 2519 a.b("contextFor", a.Dc); 2520 a.b("dataFor", a.Ec);
2521 })(); 2522 (function (b) { 2523 function c(c, e) { 2524 var k = Object.prototype.hasOwnProperty.call(f, c) ? f[c] : b, 2525 l; 2526 k 2527 ? k.subscribe(e) 2528 : ((k = f[c] = new a.T()), 2529 k.subscribe(e), 2530 d(c, function (b, d) { 2531 var e = !(!d || !d.synchronous); 2532 g[c] = { definition: b, Gd: e }; 2533 delete f[c]; 2534 l || e 2535 ? k.notifySubscribers(b) 2536 : a.na.zb(function () { 2537 k.notifySubscribers(b); 2538 }); 2539 }), 2540 (l = !0)); 2541 } 2542 function d(a, b) { 2543 e("getConfig", [a], function (c) { 2544 c 2545 ? e("loadComponent", [a, c], function (a) { 2546 b(a, c); 2547 }) 2548 : b(null, null); 2549 }); 2550 } 2551 function e(c, d, f, l) { 2552 l || (l = a.j.loaders.slice(0)); 2553 var g = l.shift(); 2554 if (g) { 2555 var q = g[c]; 2556 if (q) { 2557 var t = !1; 2558 if ( 2559 q.apply( 2560 g, 2561 d.concat(function (a) { 2562 t ? f(null) : null !== a ? f(a) : e(c, d, f, l); 2563 }), 2564 ) !== b && 2565 ((t = !0), !g.suppressLoaderExceptions) 2566 ) 2567 throw Error( 2568 "Component loaders must supply values by invoking the callback, not by returning values synchronously.", 2569 ); 2570 } else e(c, d, f, l); 2571 } else f(null); 2572 } 2573 var f = {}, 2574 g = {}; 2575 a.j = { 2576 get: function (d, e) { 2577 var f = Object.prototype.hasOwnProperty.call(g, d) ? g[d] : b; 2578 f 2579 ? f.Gd 2580 ? a.u.G(function () { 2581 e(f.definition); 2582 }) 2583 : a.na.zb(function () { 2584 e(f.definition); 2585 }) 2586 : c(d, e); 2587 }, 2588 Bc: function (a) { 2589 delete g[a]; 2590 }, 2591 oc: e, 2592 }; 2593 a.j.loaders = []; 2594 a.b("components", a.j); 2595 a.b("components.get", a.j.get); 2596 a.b("components.clearCachedDefinition", a.j.Bc); 2597 })(); 2598 (function () { 2599 function b(b, c, d, e) { 2600 function g() { 2601 0 === --B && e(h); 2602 } 2603 var h = {}, 2604 B = 2, 2605 u = d.template; 2606 d = d.viewModel; 2607 u 2608 ? f(c, u, function (c) { 2609 a.j.oc("loadTemplate", [b, c], function (a) { 2610 h.template = a; 2611 g(); 2612 }); 2613 }) 2614 : g(); 2615 d 2616 ? f(c, d, function (c) { 2617 a.j.oc("loadViewModel", [b, c], function (a) { 2618 h[m] = a; 2619 g(); 2620 }); 2621 }) 2622 : g(); 2623 } 2624 function c(a, b, d) { 2625 if ("function" === typeof b) 2626 d(function (a) { 2627 return new b(a); 2628 }); 2629 else if ("function" === typeof b[m]) d(b[m]); 2630 else if ("instance" in b) { 2631 var e = b.instance; 2632 d(function () { 2633 return e; 2634 }); 2635 } else 2636 "viewModel" in b 2637 ? c(a, b.viewModel, d) 2638 : a("Unknown viewModel value: " + b); 2639 } 2640 function d(b) { 2641 switch (a.a.R(b)) { 2642 case "script": 2643 return a.a.ua(b.text); 2644 case "textarea": 2645 return a.a.ua(b.value); 2646 case "template": 2647 if (e(b.content)) return a.a.Ca(b.content.childNodes); 2648 } 2649 return a.a.Ca(b.childNodes); 2650 } 2651 function e(a) { 2652 return A.DocumentFragment 2653 ? a instanceof DocumentFragment 2654 : a && 11 === a.nodeType; 2655 } 2656 function f(a, b, c) { 2657 "string" === typeof b.require 2658 ? T || A.require 2659 ? (T || A.require)([b.require], function (a) { 2660 a && 2661 "object" === typeof a && 2662 a.Xd && 2663 a["default"] && 2664 (a = a["default"]); 2665 c(a); 2666 }) 2667 : a("Uses require, but no AMD loader is present") 2668 : c(b); 2669 }
2670 function g(a) { 2671 return function (b) { 2672 throw Error("Component '" + a + "': " + b); 2673 }; 2674 } 2675 var h = {}; 2676 a.j.register = function (b, c) { 2677 if (!c) throw Error("Invalid configuration for " + b); 2678 if (a.j.tb(b)) 2679 throw Error("Component " + b + " is already registered"); 2680 h[b] = c; 2681 }; 2682 a.j.tb = function (a) { 2683 return Object.prototype.hasOwnProperty.call(h, a); 2684 }; 2685 a.j.unregister = function (b) { 2686 delete h[b]; 2687 a.j.Bc(b); 2688 }; 2689 a.j.Fc = { 2690 getConfig: function (b, c) { 2691 c(a.j.tb(b) ? h[b] : null); 2692 }, 2693 loadComponent: function (a, c, d) { 2694 var e = g(a); 2695 f(e, c, function (c) { 2696 b(a, e, c, d); 2697 }); 2698 }, 2699 loadTemplate: function (b, c, f) { 2700 b = g(b); 2701 if ("string" === typeof c) f(a.a.ua(c)); 2702 else if (c instanceof Array) f(c); 2703 else if (e(c)) f(a.a.la(c.childNodes)); 2704 else if (c.element) 2705 if ( 2706 ((c = c.element), 2707 A.HTMLElement 2708 ? c instanceof HTMLElement 2709 : c && c.tagName && 1 === c.nodeType) 2710 ) 2711 f(d(c)); 2712 else if ("string" === typeof c) { 2713 var h = w.getElementById(c); 2714 h ? f(d(h)) : b("Cannot find element with ID " + c); 2715 } else b("Unknown element type: " + c); 2716 else b("Unknown template value: " + c); 2717 }, 2718 loadViewModel: function (a, b, d) { 2719 c(g(a), b, d); 2720 }, 2721 }; 2722 var m = "createViewModel"; 2723 a.b("components.register", a.j.register); 2724 a.b("components.isRegistered", a.j.tb); 2725 a.b("components.unregister", a.j.unregister); 2726 a.b("components.defaultLoader", a.j.Fc); 2727 a.j.loaders.push(a.j.Fc); 2728 a.j.dd = h; 2729 })(); 2730 (function () { 2731 function b(b, e) { 2732 var f = b.getAttribute("params"); 2733 if (f) { 2734 var f = c.parseBindingsString(f, e, b, { 2735 valueAccessors: !0, 2736 bindingParams: !0, 2737 }), 2738 f = a.a.Ga(f, function (c) { 2739 return a.o(c, null, { l: b }); 2740 }), 2741 g = a.a.Ga(f, function (c) { 2742 var e = c.v(); 2743 return c.ja() 2744 ? a.o({ 2745 read: function () { 2746 return a.a.f(c()); 2747 }, 2748 write: 2749 a.Za(e) && 2750 function (a) { 2751 c()(a); 2752 }, 2753 l: b, 2754 }) 2755 : e; 2756 }); 2757 Object.prototype.hasOwnProperty.call(g, "$raw") || (g.$raw = f); 2758 return g; 2759 } 2760 return { $raw: {} }; 2761 } 2762 a.j.getComponentNameForNode = function (b) { 2763 var c = a.a.R(b); 2764 if ( 2765 a.j.tb(c) && 2766 (-1 != c.indexOf("-") || 2767 "[object HTMLUnknownElement]" == "" + b || 2768 (8 >= a.a.W && b.tagName === c)) 2769 ) 2770 return c; 2771 }; 2772 a.j.tc = function (c, e, f, g) { 2773 if (1 === e.nodeType) { 2774 var h = a.j.getComponentNameForNode(e); 2775 if (h) { 2776 c = c || {}; 2777 if (c.component) 2778 throw Error( 2779 'Cannot use the "component" binding on a custom element matching a component', 2780 ); 2781 var m = { name: h, params: b(e, f) }; 2782 c.component = g 2783 ? function () { 2784 return m; 2785 } 2786 : m; 2787 } 2788 } 2789 return c; 2790 }; 2791 var c = new a.ga(); 2792 9 > a.a.W && 2793 ((a.j.register = (function (a) { 2794 return function (b) { 2795 return a.apply(this, arguments); 2796 }; 2797 })(a.j.register)), 2798 (w.createDocumentFragment = (function (b) { 2799 return function () { 2800 var c = b(), 2801 f = a.j.dd, 2802 g; 2803 for (g in f); 2804 return c; 2805 }; 2806 })(w.createDocumentFragment))); 2807 })(); 2808 (function () { 2809 function b(b, c, d) { 2810 c = c.template; 2811 if (!c) throw Error("Component '" + b + "' has no template"); 2812 b = a.a.Ca(c); 2813 a.h.va(d, b); 2814 } 2815 function c(a, b, c) { 2816 var d = a.createViewModel; 2817 return d ? d.call(a, b, c) : b; 2818 } 2819 var d = 0; 2820 a.c.component = { 2821 init: function (e, f, g, h, m) { 2822 function k() { 2823 var a = l && l.dispose; 2824 "function" === typeof a && a.call(l); 2825 q && q.s(); 2826 p = l = q = null; 2827 } 2828 var l, 2829 p, 2830 q, 2831 t = a.a.la(a.h.childNodes(e)); 2832 a.h.Ea(e); 2833 a.a.K.za(e, k); 2834 a.o( 2835 function () { 2836 var g = a.a.f(f()), 2837 h, 2838 u; 2839 "string" === typeof g 2840 ? (h = g) 2841 : ((h = a.a.f(g.name)), (u = a.a.f(g.params))); 2842 if (!h) throw Error("No component name specified"); 2843 var n = a.i.Cb(e, m), 2844 z = (p = ++d); 2845 a.j.get(h, function (d) { 2846 if (p === z) { 2847 k(); 2848 if (!d) throw Error("Unknown component '" + h + "'"); 2849 b(h, d, e); 2850 var f = c(d, u, { element: e, templateNodes: t }); 2851 d = n.createChildContext(f, { 2852 extend: function (a) { 2853 a.$component = f; 2854 a.$componentTemplateNodes = t; 2855 }, 2856 }); 2857 f && 2858 f.koDescendantsComplete && 2859 (q = a.i.subscribe( 2860 e, 2861 a.i.pa, 2862 f.koDescendantsComplete, 2863 f, 2864 )); 2865 l = f; 2866 a.Oa(d, e); 2867 } 2868 }); 2869 }, 2870 null, 2871 { l: e }, 2872 ); 2873 return { controlsDescendantBindings: !0 }; 2874 }, 2875 }; 2876 a.h.ea.component = !0; 2877 })(); 2878 var V = { class: "className", for: "htmlFor" }; 2879 a.c.attr = { 2880 update: function (b, c) { 2881 var d = a.a.f(c()) || {}; 2882 a.a.P(d, function (c, d) {
2883 d = a.a.f(d); 2884 var g = c.indexOf(":"), 2885 g = 2886 "lookupNamespaceURI" in b && 2887 0 < g && 2888 b.lookupNamespaceURI(c.substr(0, g)), 2889 h = !1 === d || null === d || d === n; 2890 h 2891 ? g 2892 ? b.removeAttributeNS(g, c) 2893 : b.removeAttribute(c) 2894 : (d = d.toString()); 2895 8 >= a.a.W && c in V 2896 ? ((c = V[c]), h ? b.removeAttribute(c) : (b[c] = d)) 2897 : h || (g ? b.setAttributeNS(g, c, d) : b.setAttribute(c, d)); 2898 "name" === c && a.a.Yc(b, h ? "" : d); 2899 }); 2900 }, 2901 }; 2902 (function () { 2903 a.c.checked = { 2904 after: ["value", "attr"], 2905 init: function (b, c, d) { 2906 function e() { 2907 var e = b.checked, 2908 f = g(); 2909 if (!a.S.Ya() && (e || (!m && !a.S.qa()))) { 2910 var k = a.u.G(c); 2911 if (l) { 2912 var q = p ? k.v() : k, 2913 z = t; 2914 t = f; 2915 z !== f 2916 ? e && (a.a.Na(q, f, !0), a.a.Na(q, z, !1)) 2917 : a.a.Na(q, f, e); 2918 p && a.Za(k) && k(q); 2919 } else 2920 (h && (f === n ? (f = e) : e || (f = n)), 2921 a.m.eb(k, d, "checked", f, !0)); 2922 } 2923 } 2924 function f() { 2925 var d = a.a.f(c()), 2926 e = g(); 2927 l 2928 ? ((b.checked = 0 <= a.a.A(d, e)), (t = e)) 2929 : (b.checked = h && e === n ? !!d : g() === d); 2930 } 2931 var g = a.xb(function () { 2932 if (d.has("checkedValue")) return a.a.f(d.get("checkedValue")); 2933 if (q) return d.has("value") ? a.a.f(d.get("value")) : b.value; 2934 }), 2935 h = "checkbox" == b.type, 2936 m = "radio" == b.type; 2937 if (h || m) { 2938 var k = c(), 2939 l = h && a.a.f(k) instanceof Array, 2940 p = !(l && k.push && k.splice), 2941 q = m || l, 2942 t = l ? g() : n; 2943 m && 2944 !b.name && 2945 a.c.uniqueName.init(b, function () { 2946 return !0; 2947 }); 2948 a.o(e, null, { l: b }); 2949 a.a.B(b, "click", e); 2950 a.o(f, null, { l: b }); 2951 k = n; 2952 } 2953 }, 2954 }; 2955 a.m.wa.checked = !0; 2956 a.c.checkedValue = { 2957 update: function (b, c) { 2958 b.value = a.a.f(c()); 2959 }, 2960 }; 2961 })(); 2962 a.c["class"] = { 2963 update: function (b, c) { 2964 var d = a.a.Db(a.a.f(c())); 2965 a.a.Eb(b, b.__ko__cssValue, !1); 2966 b.__ko__cssValue = d; 2967 a.a.Eb(b, d, !0); 2968 }, 2969 }; 2970 a.c.css = { 2971 update: function (b, c) { 2972 var d = a.a.f(c()); 2973 null !== d && "object" == typeof d 2974 ? a.a.P(d, function (c, d) {
2975 d = a.a.f(d); 2976 a.a.Eb(b, c, d); 2977 }) 2978 : a.c["class"].update(b, c); 2979 }, 2980 }; 2981 a.c.enable = { 2982 update: function (b, c) { 2983 var d = a.a.f(c()); 2984 d && b.disabled 2985 ? b.removeAttribute("disabled") 2986 : d || b.disabled || (b.disabled = !0); 2987 }, 2988 }; 2989 a.c.disable = { 2990 update: function (b, c) { 2991 a.c.enable.update(b, function () { 2992 return !a.a.f(c()); 2993 }); 2994 }, 2995 }; 2996 a.c.event = { 2997 init: function (b, c, d, e, f) { 2998 var g = c() || {}; 2999 a.a.P(g, function (g) { 3000 "string" == typeof g && 3001 a.a.B(b, g, function (b) { 3002 var k, 3003 l = c()[g]; 3004 if (l) { 3005 try { 3006 var p = a.a.la(arguments); 3007 e = f.$data; 3008 p.unshift(e); 3009 k = l.apply(e, p); 3010 } finally { 3011 !0 !== k && 3012 (b.preventDefault 3013 ? b.preventDefault() 3014 : (b.returnValue = !1)); 3015 } 3016 !1 === d.get(g + "Bubble") && 3017 ((b.cancelBubble = !0), 3018 b.stopPropagation && b.stopPropagation()); 3019 } 3020 }); 3021 }); 3022 }, 3023 }; 3024 a.c.foreach = { 3025 Rc: function (b) { 3026 return function () { 3027 var c = b(), 3028 d = a.a.bc(c); 3029 if (!d || "number" == typeof d.length) 3030 return { foreach: c, templateEngine: a.ba.Ma }; 3031 a.a.f(c); 3032 return { 3033 foreach: d.data, 3034 as: d.as, 3035 noChildContext: d.noChildContext, 3036 includeDestroyed: d.includeDestroyed, 3037 afterAdd: d.afterAdd, 3038 beforeRemove: d.beforeRemove, 3039 afterRender: d.afterRender, 3040 beforeMove: d.beforeMove, 3041 afterMove: d.afterMove, 3042 templateEngine: a.ba.Ma, 3043 }; 3044 }; 3045 }, 3046 init: function (b, c) { 3047 return a.c.template.init(b, a.c.foreach.Rc(c)); 3048 }, 3049 update: function (b, c, d, e, f) { 3050 return a.c.template.update(b, a.c.foreach.Rc(c), d, e, f); 3051 }, 3052 }; 3053 a.m.Ra.foreach = !1; 3054 a.h.ea.foreach = !0; 3055 a.c.hasfocus = { 3056 init: function (b, c, d) { 3057 function e(e) { 3058 b.__ko_hasfocusUpdating = !0; 3059 var f = b.ownerDocument; 3060 if ("activeElement" in f) { 3061 var g; 3062 try { 3063 g = f.activeElement; 3064 } catch (l) { 3065 g = f.body; 3066 } 3067 e = g === b; 3068 } 3069 f = c(); 3070 a.m.eb(f, d, "hasfocus", e, !0); 3071 b.__ko_hasfocusLastValue = e; 3072 b.__ko_hasfocusUpdating = !1; 3073 } 3074 var f = e.bind(null, !0), 3075 g = e.bind(null, !1); 3076 a.a.B(b, "focus", f); 3077 a.a.B(b, "focusin", f); 3078 a.a.B(b, "blur", g); 3079 a.a.B(b, "focusout", g); 3080 b.__ko_hasfocusLastValue = !1; 3081 }, 3082 update: function (b, c) { 3083 var d = !!a.a.f(c()); 3084 b.__ko_hasfocusUpdating || 3085 b.__ko_hasfocusLastValue === d || 3086 (d ? b.focus() : b.blur(), 3087 !d && b.__ko_hasfocusLastValue && b.ownerDocument.body.focus(), 3088 a.u.G(a.a.Fb, null, [b, d ? "focusin" : "focusout"])); 3089 }, 3090 }; 3091 a.m.wa.hasfocus = !0; 3092 a.c.hasFocus = a.c.hasfocus; 3093 a.m.wa.hasFocus = "hasfocus"; 3094 a.c.html = { 3095 init: function () { 3096 return { controlsDescendantBindings: !0 }; 3097 }, 3098 update: function (b, c) { 3099 a.a.fc(b, c()); 3100 }, 3101 }; 3102 (function () { 3103 function b(b, d, e) { 3104 a.c[b] = { 3105 init: function (b, c, h, m, k) { 3106 var l, 3107 p, 3108 q = {}, 3109 t, 3110 x, 3111 n; 3112 if (d) { 3113 m = h.get("as"); 3114 var u = h.get("noChildContext"); 3115 n = !(m && u); 3116 q = { as: m, noChildContext: u, exportDependencies: n }; 3117 } 3118 x = (t = "render" == h.get("completeOn")) || h.has(a.i.pa); 3119 a.o( 3120 function () { 3121 var h = a.a.f(c()), 3122 m = !e !== !h, 3123 u = !p, 3124 r; 3125 if (n || m !== l) { 3126 x && (k = a.i.Cb(b, k)); 3127 if (m) { 3128 if (!d || n) q.dataDependency = a.S.o(); 3129 r = d 3130 ? k.createChildContext( 3131 "function" == typeof h ? h : c, 3132 q, 3133 ) 3134 : a.S.qa() 3135 ? k.extend(null, q) 3136 : k; 3137 } 3138 u && a.S.qa() && (p = a.a.Ca(a.h.childNodes(b), !0)); 3139 m 3140 ? (u || a.h.va(b, a.a.Ca(p)), a.Oa(r, b)) 3141 : (a.h.Ea(b), t || a.i.ma(b, a.i.H)); 3142 l = m; 3143 } 3144 }, 3145 null, 3146 { l: b }, 3147 ); 3148 return { controlsDescendantBindings: !0 }; 3149 }, 3150 }; 3151 a.m.Ra[b] = !1; 3152 a.h.ea[b] = !0; 3153 } 3154 b("if"); 3155 b("ifnot", !1, !0); 3156 b("with", !0); 3157 })(); 3158 a.c.let = { 3159 init: function (b, c, d, e, f) { 3160 c = f.extend(c); 3161 a.Oa(c, b); 3162 return { controlsDescendantBindings: !0 }; 3163 }, 3164 }; 3165 a.h.ea.let = !0; 3166 var Q = {}; 3167 a.c.options = { 3168 init: function (b) { 3169 if ("select" !== a.a.R(b)) 3170 throw Error("options binding applies only to SELECT elements"); 3171 for (; 0 < b.length; ) b.remove(0); 3172 return { controlsDescendantBindings: !0 }; 3173 }, 3174 update: function (b, c, d) { 3175 function e() { 3176 return a.a.jb(b.options, function (a) { 3177 return a.selected; 3178 }); 3179 } 3180 function f(a, b, c) { 3181 var d = typeof b; 3182 return "function" == d ? b(a) : "string" == d ? a[b] : c; 3183 } 3184 function g(c, d) { 3185 if (x && l) a.i.ma(b, a.i.H); 3186 else if (t.length) { 3187 var e = 0 <= a.a.A(t, a.w.M(d[0])); 3188 a.a.Zc(d[0], e); 3189 x && !e && a.u.G(a.a.Fb, null, [b, "change"]); 3190 } 3191 } 3192 var h = b.multiple, 3193 m = 0 != b.length && h ? b.scrollTop : null, 3194 k = a.a.f(c()), 3195 l = d.get("valueAllowUnset") && d.has("value"), 3196 p = d.get("optionsIncludeDestroyed"); 3197 c = {}; 3198 var q, 3199 t = []; 3200 l || 3201 (h 3202 ? (t = a.a.Mb(e(), a.w.M)) 3203 : 0 <= b.selectedIndex && 3204 t.push(a.w.M(b.options[b.selectedIndex]))); 3205 k && 3206 ("undefined" == typeof k.length && (k = [k]), 3207 (q = a.a.jb(k, function (b) { 3208 return p || b === n || null === b || !a.a.f(b._destroy); 3209 })), 3210 d.has("optionsCaption") && 3211 ((k = a.a.f(d.get("optionsCaption"))), 3212 null !== k && k !== n && q.unshift(Q))); 3213 var x = !1; 3214 c.beforeRemove = function (a) { 3215 b.removeChild(a); 3216 }; 3217 k = g; 3218 d.has("optionsAfterRender") && 3219 "function" == typeof d.get("optionsAfterRender") && 3220 (k = function (b, c) { 3221 g(0, c); 3222 a.u.G(d.get("optionsAfterRender"), null, [c[0], b !== Q ? b : n]); 3223 }); 3224 a.a.ec( 3225 b, 3226 q, 3227 function (c, e, g) { 3228 g.length && 3229 ((t = !l && g[0].selected ? [a.w.M(g[0])] : []), (x = !0)); 3230 e = b.ownerDocument.createElement("option"); 3231 c === Q 3232 ? (a.a.Bb(e, d.get("optionsCaption")), a.w.cb(e, n)) 3233 : ((g = f(c, d.get("optionsValue"), c)), 3234 a.w.cb(e, a.a.f(g)), 3235 (c = f(c, d.get("optionsText"), g)), 3236 a.a.Bb(e, c)); 3237 return [e]; 3238 }, 3239 c, 3240 k, 3241 ); 3242 if (!l) { 3243 var B; 3244 h 3245 ? (B = t.length && e().length < t.length) 3246 : (B = 3247 t.length && 0 <= b.selectedIndex 3248 ? a.w.M(b.options[b.selectedIndex]) !== t[0] 3249 : t.length || 0 <= b.selectedIndex); 3250 B && a.u.G(a.a.Fb, null, [b, "change"]); 3251 } 3252 (l || a.S.Ya()) && a.i.ma(b, a.i.H); 3253 a.a.wd(b); 3254 m && 20 < Math.abs(m - b.scrollTop) && (b.scrollTop = m); 3255 }, 3256 }; 3257 a.c.options.$b = a.a.g.Z(); 3258 a.c.selectedOptions = { 3259 init: function (b, c, d) { 3260 function e() { 3261 var e = c(), 3262 f = []; 3263 a.a.D(b.getElementsByTagName("option"), function (b) { 3264 b.selected && f.push(a.w.M(b)); 3265 }); 3266 a.m.eb(e, d, "selectedOptions", f); 3267 } 3268 function f() { 3269 var d = a.a.f(c()), 3270 e = b.scrollTop; 3271 d && 3272 "number" == typeof d.length && 3273 a.a.D(b.getElementsByTagName("option"), function (b) { 3274 var c = 0 <= a.a.A(d, a.w.M(b)); 3275 b.selected != c && a.a.Zc(b, c); 3276 }); 3277 b.scrollTop = e; 3278 } 3279 if ("select" != a.a.R(b)) 3280 throw Error( 3281 "selectedOptions binding applies only to SELECT elements", 3282 ); 3283 var g; 3284 a.i.subscribe( 3285 b, 3286 a.i.H, 3287 function () { 3288 g ? e() : (a.a.B(b, "change", e), (g = a.o(f, null, { l: b }))); 3289 }, 3290 null, 3291 { notifyImmediately: !0 }, 3292 ); 3293 }, 3294 update: function () {}, 3295 }; 3296 a.m.wa.selectedOptions = !0; 3297 a.c.style = { 3298 update: function (b, c) { 3299 var d = a.a.f(c() || {}); 3300 a.a.P(d, function (c, d) {
3301 d = a.a.f(d); 3302 if (null === d || d === n || !1 === d) d = ""; 3303 if (v) v(b).css(c, d); 3304 else if (/^--/.test(c)) b.style.setProperty(c, d); 3305 else { 3306 c = c.replace(/-(\w)/g, function (a, b) { 3307 return b.toUpperCase(); 3308 }); 3309 var g = b.style[c]; 3310 b.style[c] = d; 3311 d === g || b.style[c] != g || isNaN(d) || (b.style[c] = d + "px"); 3312 } 3313 }); 3314 }, 3315 }; 3316 a.c.submit = { 3317 init: function (b, c, d, e, f) { 3318 if ("function" != typeof c()) 3319 throw Error("The value for a submit binding must be a function"); 3320 a.a.B(b, "submit", function (a) { 3321 var d, 3322 e = c(); 3323 try { 3324 d = e.call(f.$data, b); 3325 } finally { 3326 !0 !== d && 3327 (a.preventDefault ? a.preventDefault() : (a.returnValue = !1)); 3328 } 3329 }); 3330 }, 3331 }; 3332 a.c.text = { 3333 init: function () { 3334 return { controlsDescendantBindings: !0 }; 3335 }, 3336 update: function (b, c) { 3337 a.a.Bb(b, c()); 3338 }, 3339 }; 3340 a.h.ea.text = !0; 3341 (function () { 3342 if (A && A.navigator) { 3343 var b = function (a) { 3344 if (a) return parseFloat(a[1]); 3345 }, 3346 c = A.navigator.userAgent, 3347 d, 3348 e, 3349 f, 3350 g, 3351 h; 3352 (d = A.opera && A.opera.version && parseInt(A.opera.version())) || 3353 (h = b(c.match(/Edge\/([^ ]+)$/))) || 3354 b(c.match(/Chrome\/([^ ]+)/)) || 3355 (e = b(c.match(/Version\/([^ ]+) Safari/))) || 3356 (f = b(c.match(/Firefox\/([^ ]+)/))) || 3357 (g = a.a.W || b(c.match(/MSIE ([^ ]+)/))) || 3358 (g = b(c.match(/rv:([^ )]+)/))); 3359 } 3360 if (8 <= g && 10 > g) 3361 var m = a.a.g.Z(), 3362 k = a.a.g.Z(), 3363 l = function (b) { 3364 var c = this.activeElement; 3365 (c = c && a.a.g.get(c, k)) && c(b); 3366 }, 3367 p = function (b, c) { 3368 var d = b.ownerDocument; 3369 a.a.g.get(d, m) || 3370 (a.a.g.set(d, m, !0), a.a.B(d, "selectionchange", l)); 3371 a.a.g.set(b, k, c); 3372 }; 3373 a.c.textInput = { 3374 init: function (b, c, k) { 3375 function l(c, d) { 3376 a.a.B(b, c, d); 3377 } 3378 function m() { 3379 var d = a.a.f(c()); 3380 if (null === d || d === n) d = ""; 3381 L !== n && d === L 3382 ? a.a.setTimeout(m, 4) 3383 : b.value !== d && 3384 ((y = !0), (b.value = d), (y = !1), (v = b.value)); 3385 } 3386 function r() { 3387 w || ((L = b.value), (w = a.a.setTimeout(z, 4))); 3388 } 3389 function z() { 3390 clearTimeout(w); 3391 L = w = n; 3392 var d = b.value; 3393 v !== d && ((v = d), a.m.eb(c(), k, "textInput", d)); 3394 } 3395 var v = b.value, 3396 w, 3397 L, 3398 A = 9 == a.a.W ? r : z, 3399 y = !1; 3400 g && l("keypress", z); 3401 11 > g && 3402 l("propertychange", function (a) { 3403 y || "value" !== a.propertyName || A(a); 3404 }); 3405 8 == g && (l("keyup", z), l("keydown", z)); 3406 p && (p(b, A), l("dragend", r)); 3407 (!g || 9 <= g) && l("input", A); 3408 5 > e && "textarea" === a.a.R(b) 3409 ? (l("keydown", r), l("paste", r), l("cut", r)) 3410 : 11 > d 3411 ? l("keydown", r) 3412 : 4 > f 3413 ? (l("DOMAutoComplete", z), l("dragdrop", z), l("drop", z)) 3414 : h && "number" === b.type && l("keydown", r); 3415 l("change", z); 3416 l("blur", z); 3417 a.o(m, null, { l: b }); 3418 }, 3419 }; 3420 a.m.wa.textInput = !0; 3421 a.c.textinput = { 3422 preprocess: function (a, b, c) { 3423 c("textInput", a); 3424 }, 3425 }; 3426 })(); 3427 a.c.uniqueName = { 3428 init: function (b, c) { 3429 if (c()) { 3430 var d = "ko_unique_" + ++a.c.uniqueName.rd; 3431 a.a.Yc(b, d); 3432 } 3433 }, 3434 }; 3435 a.c.uniqueName.rd = 0; 3436 a.c.using = { 3437 init: function (b, c, d, e, f) { 3438 var g; 3439 d.has("as") && 3440 (g = { as: d.get("as"), noChildContext: d.get("noChildContext") }); 3441 c = f.createChildContext(c, g); 3442 a.Oa(c, b); 3443 return { controlsDescendantBindings: !0 }; 3444 }, 3445 }; 3446 a.h.ea.using = !0; 3447 a.c.value = { 3448 init: function (b, c, d) { 3449 var e = a.a.R(b), 3450 f = "input" == e; 3451 if (!f || ("checkbox" != b.type && "radio" != b.type)) { 3452 var g = [], 3453 h = d.get("valueUpdate"), 3454 m = !1, 3455 k = null; 3456 h && 3457 ("string" == typeof h ? (g = [h]) : (g = a.a.wc(h)), 3458 a.a.Pa(g, "change")); 3459 var l = function () { 3460 k = null; 3461 m = !1; 3462 var e = c(), 3463 f = a.w.M(b); 3464 a.m.eb(e, d, "value", f); 3465 }; 3466 !a.a.W || 3467 !f || 3468 "text" != b.type || 3469 "off" == b.autocomplete || 3470 (b.form && "off" == b.form.autocomplete) || 3471 -1 != a.a.A(g, "propertychange") || 3472 (a.a.B(b, "propertychange", function () { 3473 m = !0; 3474 }), 3475 a.a.B(b, "focus", function () { 3476 m = !1; 3477 }), 3478 a.a.B(b, "blur", function () { 3479 m && l(); 3480 })); 3481 a.a.D(g, function (c) { 3482 var d = l; 3483 a.a.Ud(c, "after") && 3484 ((d = function () { 3485 k = a.w.M(b); 3486 a.a.setTimeout(l, 0); 3487 }), 3488 (c = c.substring(5))); 3489 a.a.B(b, c, d); 3490 }); 3491 var p; 3492 p = 3493 f && "file" == b.type 3494 ? function () { 3495 var d = a.a.f(c()); 3496 null === d || d === n || "" === d 3497 ? (b.value = "") 3498 : a.u.G(l); 3499 } 3500 : function () { 3501 var f = a.a.f(c()), 3502 g = a.w.M(b); 3503 if (null !== k && f === k) a.a.setTimeout(p, 0); 3504 else if (f !== g || g === n) 3505 "select" === e 3506 ? ((g = d.get("valueAllowUnset")), 3507 a.w.cb(b, f, g), 3508 g || f === a.w.M(b) || a.u.G(l)) 3509 : a.w.cb(b, f); 3510 }; 3511 if ("select" === e) { 3512 var q; 3513 a.i.subscribe( 3514 b, 3515 a.i.H, 3516 function () { 3517 q 3518 ? d.get("valueAllowUnset") 3519 ? p() 3520 : l() 3521 : (a.a.B(b, "change", l), (q = a.o(p, null, { l: b }))); 3522 }, 3523 null, 3524 { notifyImmediately: !0 }, 3525 ); 3526 } else (a.a.B(b, "change", l), a.o(p, null, { l: b })); 3527 } else a.ib(b, { checkedValue: c }); 3528 }, 3529 update: function () {}, 3530 }; 3531 a.m.wa.value = !0; 3532 a.c.visible = { 3533 update: function (b, c) { 3534 var d = a.a.f(c()), 3535 e = "none" != b.style.display; 3536 d && !e 3537 ? (b.style.display = "") 3538 : !d && e && (b.style.display = "none"); 3539 }, 3540 }; 3541 a.c.hidden = { 3542 update: function (b, c) { 3543 a.c.visible.update(b, function () { 3544 return !a.a.f(c()); 3545 }); 3546 }, 3547 }; 3548 (function (b) { 3549 a.c[b] = { 3550 init: function (c, d, e, f, g) { 3551 return a.c.event.init.call( 3552 this, 3553 c, 3554 function () { 3555 var a = {}; 3556 a[b] = d(); 3557 return a; 3558 }, 3559 e, 3560 f, 3561 g, 3562 ); 3563 }, 3564 }; 3565 })("click"); 3566 a.ca = function () {}; 3567 a.ca.prototype.renderTemplateSource = function () { 3568 throw Error("Override renderTemplateSource"); 3569 }; 3570 a.ca.prototype.createJavaScriptEvaluatorBlock = function () { 3571 throw Error("Override createJavaScriptEvaluatorBlock"); 3572 }; 3573 a.ca.prototype.makeTemplateSource = function (b, c) { 3574 if ("string" == typeof b) { 3575 c = c || w; 3576 var d = c.getElementById(b); 3577 if (!d) throw Error("Cannot find template with ID " + b); 3578 return new a.C.F(d); 3579 }
3580 if (1 == b.nodeType || 8 == b.nodeType) return new a.C.ia(b); 3581 throw Error("Unknown template type: " + b); 3582 }; 3583 a.ca.prototype.renderTemplate = function (a, c, d, e) { 3584 a = this.makeTemplateSource(a, e); 3585 return this.renderTemplateSource(a, c, d, e); 3586 }; 3587 a.ca.prototype.isTemplateRewritten = function (a, c) { 3588 return !1 === this.allowTemplateRewriting 3589 ? !0 3590 : this.makeTemplateSource(a, c).data("isRewritten"); 3591 }; 3592 a.ca.prototype.rewriteTemplate = function (a, c, d) { 3593 a = this.makeTemplateSource(a, d); 3594 c = c(a.text()); 3595 a.text(c); 3596 a.data("isRewritten", !0); 3597 }; 3598 a.b("templateEngine", a.ca); 3599 a.kc = (function () { 3600 function b(b, c, d, h) { 3601 b = a.m.ac(b); 3602 for (var m = a.m.Ra, k = 0; k < b.length; k++) { 3603 var l = b[k].key; 3604 if (Object.prototype.hasOwnProperty.call(m, l)) { 3605 var p = m[l]; 3606 if ("function" === typeof p) { 3607 if ((l = p(b[k].value))) throw Error(l); 3608 } else if (!p) 3609 throw Error( 3610 "This template engine does not support the '" + 3611 l + 3612 "' binding within its templates", 3613 ); 3614 } 3615 } 3616 d = 3617 "ko.__tr_ambtns(function($context,$element){return(function(){return{ " + 3618 a.m.vb(b, { valueAccessors: !0 }) + 3619 " } })()},'" + 3620 d.toLowerCase() + 3621 "')"; 3622 return h.createJavaScriptEvaluatorBlock(d) + c; 3623 } 3624 var c = 3625 /(<([a-z]+\d*)(?:\s+(?!data-bind\s*=\s*)[a-z0-9\-]+(?:=(?:\"[^\"]*\"|\'[^\']*\'|[^>]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi, 3626 d = /\x3c!--\s*ko\b\s*([\s\S]*?)\s*--\x3e/g; 3627 return { 3628 xd: function (b, c, d) { 3629 c.isTemplateRewritten(b, d) || 3630 c.rewriteTemplate( 3631 b, 3632 function (b) { 3633 return a.kc.Ld(b, c); 3634 }, 3635 d, 3636 ); 3637 }, 3638 Ld: function (a, f) { 3639 return a 3640 .replace(c, function (a, c, d, e, l) { 3641 return b(l, c, d, f); 3642 }) 3643 .replace(d, function (a, c) { 3644 return b(c, "\x3c!-- ko --\x3e", "#comment", f); 3645 }); 3646 }, 3647 md: function (b, c) { 3648 return a.aa.Xb(function (d, h) { 3649 var m = d.nextSibling; 3650 m && m.nodeName.toLowerCase() === c && a.ib(m, b, h); 3651 }); 3652 }, 3653 }; 3654 })(); 3655 a.b("__tr_ambtns", a.kc.md); 3656 (function () { 3657 a.C = {}; 3658 a.C.F = function (b) { 3659 if ((this.F = b)) { 3660 var c = a.a.R(b); 3661 this.ab = 3662 "script" === c 3663 ? 1 3664 : "textarea" === c 3665 ? 2 3666 : "template" == c && b.content && 11 === b.content.nodeType 3667 ? 3 3668 : 4; 3669 } 3670 }; 3671 a.C.F.prototype.text = function () { 3672 var b = 3673 1 === this.ab ? "text" : 2 === this.ab ? "value" : "innerHTML"; 3674 if (0 == arguments.length) return this.F[b]; 3675 var c = arguments[0]; 3676 "innerHTML" === b ? a.a.fc(this.F, c) : (this.F[b] = c); 3677 }; 3678 var b = a.a.g.Z() + "_"; 3679 a.C.F.prototype.data = function (c) { 3680 if (1 === arguments.length) return a.a.g.get(this.F, b + c); 3681 a.a.g.set(this.F, b + c, arguments[1]); 3682 }; 3683 var c = a.a.g.Z(); 3684 a.C.F.prototype.nodes = function () { 3685 var b = this.F; 3686 if (0 == arguments.length) { 3687 var e = a.a.g.get(b, c) || {}, 3688 f = e.lb || (3 === this.ab ? b.content : 4 === this.ab ? b : n); 3689 if (!f || e.jd) { 3690 var g = this.text(); 3691 g && 3692 g !== e.bb && 3693 ((f = a.a.Md(g, b.ownerDocument)), 3694 a.a.g.set(b, c, { lb: f, bb: g, jd: !0 })); 3695 } 3696 return f; 3697 } 3698 e = arguments[0]; 3699 this.ab !== n && this.text(""); 3700 a.a.g.set(b, c, { lb: e }); 3701 }; 3702 a.C.ia = function (a) {
3703 this.F = a; 3704 }; 3705 a.C.ia.prototype = new a.C.F(); 3706 a.C.ia.prototype.constructor = a.C.ia; 3707 a.C.ia.prototype.text = function () { 3708 if (0 == arguments.length) { 3709 var b = a.a.g.get(this.F, c) || {}; 3710 b.bb === n && b.lb && (b.bb = b.lb.innerHTML); 3711 return b.bb; 3712 } 3713 a.a.g.set(this.F, c, { bb: arguments[0] }); 3714 }; 3715 a.b("templateSources", a.C); 3716 a.b("templateSources.domElement", a.C.F); 3717 a.b("templateSources.anonymousTemplate", a.C.ia); 3718 })(); 3719 (function () { 3720 function b(b, c, d) { 3721 var e; 3722 for (c = a.h.nextSibling(c); b && (e = b) !== c; ) 3723 ((b = a.h.nextSibling(e)), d(e, b)); 3724 } 3725 function c(c, d) { 3726 if (c.length) { 3727 var e = c[0], 3728 f = c[c.length - 1], 3729 g = e.parentNode, 3730 h = a.ga.instance, 3731 m = h.preprocessNode; 3732 if (m) { 3733 b(e, f, function (a, b) { 3734 var c = a.previousSibling, 3735 d = m.call(h, a); 3736 d && 3737 (a === e && (e = d[0] || b), 3738 a === f && (f = d[d.length - 1] || c)); 3739 }); 3740 c.length = 0; 3741 if (!e) return; 3742 e === f ? c.push(e) : (c.push(e, f), a.a.Ua(c, g)); 3743 } 3744 b(e, f, function (b) { 3745 (1 !== b.nodeType && 8 !== b.nodeType) || a.vc(d, b); 3746 }); 3747 b(e, f, function (b) { 3748 (1 !== b.nodeType && 8 !== b.nodeType) || a.aa.cd(b, [d]); 3749 }); 3750 a.a.Ua(c, g); 3751 } 3752 } 3753 function d(a) { 3754 return a.nodeType ? a : 0 < a.length ? a[0] : null; 3755 } 3756 function e(b, e, f, h, m) { 3757 m = m || {}; 3758 var n = ((b && d(b)) || f || {}).ownerDocument, 3759 B = m.templateEngine || g; 3760 a.kc.xd(f, B, n); 3761 f = B.renderTemplate(f, h, m, n); 3762 if ( 3763 "number" != typeof f.length || 3764 (0 < f.length && "number" != typeof f[0].nodeType) 3765 ) 3766 throw Error("Template engine must return an array of DOM nodes"); 3767 n = !1; 3768 switch (e) { 3769 case "replaceChildren": 3770 a.h.va(b, f); 3771 n = !0; 3772 break; 3773 case "replaceNode": 3774 a.a.Xc(b, f); 3775 n = !0; 3776 break; 3777 case "ignoreTargetNode": 3778 break; 3779 default: 3780 throw Error("Unknown renderMode: " + e); 3781 } 3782 n && 3783 (c(f, h), 3784 m.afterRender && 3785 a.u.G(m.afterRender, null, [f, h[m.as || "$data"]]), 3786 "replaceChildren" == e && a.i.ma(b, a.i.H)); 3787 return f; 3788 } 3789 function f(b, c, d) { 3790 return a.O(b) ? b() : "function" === typeof b ? b(c, d) : b; 3791 } 3792 var g; 3793 a.gc = function (b) { 3794 if (b != n && !(b instanceof a.ca)) 3795 throw Error("templateEngine must inherit from ko.templateEngine"); 3796 g = b; 3797 }; 3798 a.dc = function (b, c, h, m, t) { 3799 h = h || {}; 3800 if ((h.templateEngine || g) == n) 3801 throw Error("Set a template engine before calling renderTemplate"); 3802 t = t || "replaceChildren"; 3803 if (m) { 3804 var x = d(m); 3805 return a.$( 3806 function () { 3807 var g = 3808 c && c instanceof a.fa 3809 ? c 3810 : new a.fa(c, null, null, null, { 3811 exportDependencies: !0, 3812 }), 3813 n = f(b, g.$data, g), 3814 g = e(m, t, n, g, h); 3815 "replaceNode" == t && ((m = g), (x = d(m))); 3816 }, 3817 null, 3818 { 3819 Sa: function () { 3820 return !x || !a.a.Sb(x); 3821 }, 3822 l: x && "replaceNode" == t ? x.parentNode : x, 3823 }, 3824 ); 3825 } 3826 return a.aa.Xb(function (d) { 3827 a.dc(b, c, h, d, "replaceNode"); 3828 }); 3829 }; 3830 a.Qd = function (b, d, g, h, m) { 3831 function x(b, c) { 3832 a.u.G(a.a.ec, null, [h, b, u, g, r, c]); 3833 a.i.ma(h, a.i.H); 3834 } 3835 function r(a, b) { 3836 c(b, v);
3837 g.afterRender && g.afterRender(b, a); 3838 v = null; 3839 } 3840 function u(a, c) { 3841 v = m.createChildContext(a, { 3842 as: z, 3843 noChildContext: g.noChildContext, 3844 extend: function (a) { 3845 a.$index = c; 3846 z && (a[z + "Index"] = c); 3847 }, 3848 }); 3849 var d = f(b, a, v); 3850 return e(h, "ignoreTargetNode", d, v, g); 3851 } 3852 var v, 3853 z = g.as, 3854 w = 3855 !1 === g.includeDestroyed || 3856 (a.options.foreachHidesDestroyed && !g.includeDestroyed); 3857 if (w || g.beforeRemove || !a.Pc(d)) 3858 return a.$( 3859 function () { 3860 var b = a.a.f(d) || []; 3861 "undefined" == typeof b.length && (b = [b]); 3862 w && 3863 (b = a.a.jb(b, function (b) { 3864 return b === n || null === b || !a.a.f(b._destroy); 3865 })); 3866 x(b); 3867 }, 3868 null, 3869 { l: h }, 3870 ); 3871 x(d.v()); 3872 var A = d.subscribe( 3873 function (a) { 3874 x(d(), a); 3875 }, 3876 null, 3877 "arrayChange", 3878 ); 3879 A.l(h); 3880 return A; 3881 }; 3882 var h = a.a.g.Z(), 3883 m = a.a.g.Z(); 3884 a.c.template = { 3885 init: function (b, c) { 3886 var d = a.a.f(c()); 3887 if ("string" == typeof d || "name" in d) a.h.Ea(b); 3888 else if ("nodes" in d) { 3889 d = d.nodes || []; 3890 if (a.O(d)) 3891 throw Error( 3892 'The "nodes" option must be a plain, non-observable array.', 3893 ); 3894 var e = d[0] && d[0].parentNode; 3895 (e && a.a.g.get(e, m)) || ((e = a.a.Yb(d)), a.a.g.set(e, m, !0)); 3896 new a.C.ia(b).nodes(e); 3897 } else if (((d = a.h.childNodes(b)), 0 < d.length)) 3898 ((e = a.a.Yb(d)), new a.C.ia(b).nodes(e)); 3899 else 3900 throw Error( 3901 "Anonymous template defined, but no template content was provided", 3902 ); 3903 return { controlsDescendantBindings: !0 }; 3904 }, 3905 update: function (b, c, d, e, f) { 3906 var g = c(); 3907 c = a.a.f(g); 3908 d = !0; 3909 e = null; 3910 "string" == typeof c 3911 ? (c = {}) 3912 : ((g = "name" in c ? c.name : b), 3913 "if" in c && (d = a.a.f(c["if"])), 3914 d && "ifnot" in c && (d = !a.a.f(c.ifnot)), 3915 d && !g && (d = !1)); 3916 "foreach" in c 3917 ? (e = a.Qd(g, (d && c.foreach) || [], c, b, f)) 3918 : d 3919 ? ((d = f), 3920 "data" in c && 3921 (d = f.createChildContext(c.data, { 3922 as: c.as, 3923 noChildContext: c.noChildContext, 3924 exportDependencies: !0, 3925 })), 3926 (e = a.dc(g, d, c, b))) 3927 : a.h.Ea(b); 3928 f = e; 3929 (c = a.a.g.get(b, h)) && "function" == typeof c.s && c.s(); 3930 a.a.g.set(b, h, !f || (f.ja && !f.ja()) ? n : f); 3931 }, 3932 }; 3933 a.m.Ra.template = function (b) { 3934 b = a.m.ac(b); 3935 return (1 == b.length && b[0].unknown) || a.m.Id(b, "name") 3936 ? null 3937 : "This template engine does not support anonymous templates nested within its templates"; 3938 }; 3939 a.h.ea.template = !0; 3940 })(); 3941 a.b("setTemplateEngine", a.gc); 3942 a.b("renderTemplate", a.dc); 3943 a.a.Kc = function (a, c, d) { 3944 if (a.length && c.length) { 3945 var e, f, g, h, m; 3946 for (e = f = 0; (!d || e < d) && (h = a[f]); ++f) { 3947 for (g = 0; (m = c[g]); ++g) 3948 if (h.value === m.value) { 3949 h.moved = m.index; 3950 m.moved = h.index; 3951 c.splice(g, 1); 3952 e = g = 0; 3953 break; 3954 } 3955 e += g; 3956 } 3957 } 3958 }; 3959 a.a.Pb = (function () { 3960 function b(b, d, e, f, g) { 3961 var h = Math.min, 3962 m = Math.max, 3963 k = [], 3964 l, 3965 p = b.length, 3966 q, 3967 n = d.length, 3968 r = n - p || 1, 3969 v = p + n + 1, 3970 u, 3971 w, 3972 z; 3973 for (l = 0; l <= p; l++) 3974 for ( 3975 w = u, k.push((u = [])), z = h(n, l + r), q = m(0, l - 1); 3976 q <= z; 3977 q++ 3978 ) 3979 u[q] = q 3980 ? l 3981 ? b[l - 1] === d[q - 1] 3982 ? w[q - 1] 3983 : h(w[q] || v, u[q - 1] || v) + 1 3984 : q + 1 3985 : l + 1; 3986 h = []; 3987 m = []; 3988 r = []; 3989 l = p; 3990 for (q = n; l || q; ) 3991 ((n = k[l][q] - 1), 3992 q && n === k[l][q - 1] 3993 ? m.push((h[h.length] = { status: e, value: d[--q], index: q })) 3994 : l && n === k[l - 1][q] 3995 ? r.push( 3996 (h[h.length] = { status: f, value: b[--l], index: l }), 3997 ) 3998 : (--q, 3999 --l, 4000 g.sparse || h.push({ status: "retained", value: d[q] }))); 4001 a.a.Kc(r, m, !g.dontLimitMoves && 10 * p); 4002 return h.reverse(); 4003 } 4004 return function (a, d, e) { 4005 e = "boolean" === typeof e ? { dontLimitMoves: e } : e || {}; 4006 a = a || []; 4007 d = d || []; 4008 return a.length < d.length 4009 ? b(a, d, "added", "deleted", e) 4010 : b(d, a, "deleted", "added", e); 4011 }; 4012 })(); 4013 a.b("utils.compareArrays", a.a.Pb); 4014 (function () { 4015 function b(b, c, d, h, m) { 4016 var k = [], 4017 l = a.$( 4018 function () { 4019 var l = c(d, m, a.a.Ua(k, b)) || []; 4020 0 < k.length && (a.a.Xc(k, l), h && a.u.G(h, null, [d, l, m])); 4021 k.length = 0; 4022 a.a.Nb(k, l); 4023 }, 4024 null, 4025 { 4026 l: b, 4027 Sa: function () { 4028 return !a.a.kd(k); 4029 }, 4030 }, 4031 ); 4032 return { Y: k, $: l.ja() ? l : n }; 4033 } 4034 var c = a.a.g.Z(), 4035 d = a.a.g.Z(); 4036 a.a.ec = function (e, f, g, h, m, k) { 4037 function l(b) { 4038 y = { Aa: b, pb: a.ta(w++) }; 4039 v.push(y);
4040 r || F.push(y); 4041 } 4042 function p(b) { 4043 y = t[b]; 4044 w !== y.pb.v() && D.push(y); 4045 y.pb(w++); 4046 a.a.Ua(y.Y, e); 4047 v.push(y); 4048 } 4049 function q(b, c) { 4050 if (b) 4051 for (var d = 0, e = c.length; d < e; d++) 4052 a.a.D(c[d].Y, function (a) { 4053 b(a, d, c[d].Aa); 4054 }); 4055 } 4056 f = f || []; 4057 "undefined" == typeof f.length && (f = [f]); 4058 h = h || {}; 4059 var t = a.a.g.get(e, c), 4060 r = !t, 4061 v = [], 4062 u = 0, 4063 w = 0, 4064 z = [], 4065 A = [], 4066 C = [], 4067 D = [], 4068 F = [], 4069 y, 4070 I = 0; 4071 if (r) a.a.D(f, l); 4072 else { 4073 if (!k || (t && t._countWaitingForRemove)) { 4074 var E = a.a.Mb(t, function (a) { 4075 return a.Aa; 4076 }); 4077 k = a.a.Pb(E, f, { 4078 dontLimitMoves: h.dontLimitMoves, 4079 sparse: !0, 4080 }); 4081 } 4082 for (var E = 0, G, H, K; (G = k[E]); E++) 4083 switch (((H = G.moved), (K = G.index), G.status)) { 4084 case "deleted": 4085 for (; u < K; ) p(u++); 4086 H === n && 4087 ((y = t[u]), 4088 y.$ && (y.$.s(), (y.$ = n)), 4089 a.a.Ua(y.Y, e).length && 4090 (h.beforeRemove && 4091 (v.push(y), I++, y.Aa === d ? (y = null) : C.push(y)), 4092 y && z.push.apply(z, y.Y))); 4093 u++; 4094 break; 4095 case "added": 4096 for (; w < K; ) p(u++); 4097 H !== n ? (A.push(v.length), p(H)) : l(G.value); 4098 } 4099 for (; w < f.length; ) p(u++); 4100 v._countWaitingForRemove = I; 4101 } 4102 a.a.g.set(e, c, v); 4103 q(h.beforeMove, D); 4104 a.a.D(z, h.beforeRemove ? a.oa : a.removeNode); 4105 var M, O, P; 4106 try { 4107 P = e.ownerDocument.activeElement; 4108 } catch (N) {} 4109 if (A.length) 4110 for (; (E = A.shift()) != n; ) { 4111 y = v[E]; 4112 for (M = n; E; ) 4113 if ((O = v[--E].Y) && O.length) { 4114 M = O[O.length - 1]; 4115 break; 4116 } 4117 for (f = 0; (u = y.Y[f]); M = u, f++) a.h.Wb(e, u, M); 4118 } 4119 for (E = 0; (y = v[E]); E++) { 4120 y.Y || a.a.extend(y, b(e, g, y.Aa, m, y.pb)); 4121 for (f = 0; (u = y.Y[f]); M = u, f++) a.h.Wb(e, u, M); 4122 !y.Ed && 4123 m && 4124 (m(y.Aa, y.Y, y.pb), (y.Ed = !0), (M = y.Y[y.Y.length - 1])); 4125 } 4126 P && e.ownerDocument.activeElement != P && P.focus(); 4127 q(h.beforeRemove, C); 4128 for (E = 0; E < C.length; ++E) C[E].Aa = d; 4129 q(h.afterMove, D); 4130 q(h.afterAdd, F); 4131 }; 4132 })(); 4133 a.b("utils.setDomNodeChildrenFromArrayMapping", a.a.ec); 4134 a.ba = function () { 4135 this.allowTemplateRewriting = !1; 4136 }; 4137 a.ba.prototype = new a.ca(); 4138 a.ba.prototype.constructor = a.ba; 4139 a.ba.prototype.renderTemplateSource = function (b, c, d, e) { 4140 if ((c = (9 > a.a.W ? 0 : b.nodes) ? b.nodes() : null)) 4141 return a.a.la(c.cloneNode(!0).childNodes); 4142 b = b.text(); 4143 return a.a.ua(b, e); 4144 }; 4145 a.ba.Ma = new a.ba(); 4146 a.gc(a.ba.Ma); 4147 a.b("nativeTemplateEngine", a.ba); 4148 (function () { 4149 a.$a = function () { 4150 var a = (this.Hd = (function () { 4151 if (!v || !v.tmpl) return 0; 4152 try { 4153 if (0 <= v.tmpl.tag.tmpl.open.toString().indexOf("__")) return 2; 4154 } catch (a) {} 4155 return 1; 4156 })()); 4157 this.renderTemplateSource = function (b, e, f, g) { 4158 g = g || w; 4159 f = f || {}; 4160 if (2 > a) 4161 throw Error( 4162 "Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.", 4163 ); 4164 var h = b.data("precompiled"); 4165 h || 4166 ((h = b.text() || ""), 4167 (h = v.template( 4168 null, 4169 "{{ko_with $item.koBindingContext}}" + h + "{{/ko_with}}", 4170 )), 4171 b.data("precompiled", h)); 4172 b = [e.$data]; 4173 e = v.extend({ koBindingContext: e }, f.templateOptions); 4174 e = v.tmpl(h, b, e); 4175 e.appendTo(g.createElement("div")); 4176 v.fragments = {}; 4177 return e; 4178 }; 4179 this.createJavaScriptEvaluatorBlock = function (a) { 4180 return "{{ko_code ((function() { return " + a + " })()) }}"; 4181 }; 4182 this.addTemplate = function (a, b) { 4183 w.write( 4184 "<script type='text/html' id='" + a + "'>" + b + "\x3c/script>", 4185 ); 4186 }; 4187 0 < a && 4188 ((v.tmpl.tag.ko_code = { open: "__.push($1 || '');" }), 4189 (v.tmpl.tag.ko_with = { open: "with($1) {", close: "} " })); 4190 }; 4191 a.$a.prototype = new a.ca(); 4192 a.$a.prototype.constructor = a.$a; 4193 var b = new a.$a(); 4194 0 < b.Hd && a.gc(b); 4195 a.b("jqueryTmplTemplateEngine", a.$a); 4196 })(); 4197 });
4198 })(); 4199})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.