mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Cleanup JS and better terser compression
This commit is contained in:
parent
058217de02
commit
ba7ed497b2
20 changed files with 247 additions and 298 deletions
22
README.md
22
README.md
|
|
@ -106,24 +106,24 @@ RainLoop 1.14 vs SnappyMail
|
|||
|
||||
|js/* |RainLoop |Snappy |
|
||||
|----------- |--------: |--------: |
|
||||
|admin.js |2.130.942 | 774.301 |
|
||||
|app.js |4.184.455 |2.424.578 |
|
||||
|admin.js |2.130.942 | 774.093 |
|
||||
|app.js |4.184.455 |2.426.328 |
|
||||
|boot.js | 671.522 | 5.285 |
|
||||
|libs.js | 647.614 | 249.953 |
|
||||
|libs.js | 647.614 | 246.991 |
|
||||
|polyfills.js | 325.834 | 0 |
|
||||
|TOTAL |7.960.367 |3.454.117 |
|
||||
|TOTAL |7.960.367 |3.452.697 |
|
||||
|
||||
|js/min/* |RainLoop |Snappy |Rain gzip |gzip |brotli |
|
||||
|--------------- |--------: |--------: |--------: |--------: |--------: |
|
||||
|admin.min.js | 252.147 | 103.761 | 73.657 | 27.632 | 24.004 |
|
||||
|app.min.js | 511.202 | 328.005 |140.462 | 84.451 | 68.571 |
|
||||
|boot.min.js | 66.007 | 2.935 | 22.567 | 1.510 | 1.285 |
|
||||
|libs.min.js | 572.545 | 144.650 |176.720 | 51.765 | 46.049 |
|
||||
|admin.min.js | 252.147 | 103.575 | 73.657 | 27.571 | 23.931 |
|
||||
|app.min.js | 511.202 | 327.895 |140.462 | 84.341 | 68.393 |
|
||||
|boot.min.js | 66.007 | 2.918 | 22.567 | 1.500 | 1.275 |
|
||||
|libs.min.js | 572.545 | 141.817 |176.720 | 50.690 | 45.096 |
|
||||
|polyfills.min.js | 32.452 | 0 | 11.312 | 0 | 0 |
|
||||
|TOTAL |1.434.353 | 579.351 |424.718 |165.358 |139.909 |
|
||||
|TOTAL (no admin) |1.182.206 | 475.590 |351.061 |137.726 |115.905 |
|
||||
|TOTAL |1.434.353 | 576.205 |424.718 |164.102 |138.695 |
|
||||
|TOTAL (no admin) |1.182.206 | 472.630 |351.061 |136.531 |114.764 |
|
||||
|
||||
For a user its around 60% smaller and faster than traditional RainLoop.
|
||||
For a user its around 61% smaller and faster than traditional RainLoop.
|
||||
|
||||
### CSS changes
|
||||
|
||||
|
|
|
|||
6
dev/External/User/ko.js
vendored
6
dev/External/User/ko.js
vendored
|
|
@ -87,9 +87,9 @@ ko.bindingHandlers.emailsTags = {
|
|||
});
|
||||
|
||||
if (fValue && fValue.focused && fValue.focused.subscribe) {
|
||||
fValue.focused.subscribe(value => {
|
||||
element.inputosaurus[value ? 'focus' : 'blur']();
|
||||
});
|
||||
fValue.focused.subscribe(value =>
|
||||
element.inputosaurus[value ? 'focus' : 'blur']()
|
||||
);
|
||||
}
|
||||
},
|
||||
update: (element, fValueAccessor) => {
|
||||
|
|
|
|||
|
|
@ -352,12 +352,12 @@ class EmailModel {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param {boolean} friendlyView
|
||||
* @param {boolean} friendlyView = false
|
||||
* @param {boolean=} wrapWithLink = false
|
||||
* @param {boolean=} useEncodeHtml = false
|
||||
* @returns {string}
|
||||
*/
|
||||
toLine(friendlyView, wrapWithLink = false, useEncodeHtml = false) {
|
||||
toLine(friendlyView, wrapWithLink, useEncodeHtml) {
|
||||
let result = '';
|
||||
if (this.email) {
|
||||
if (friendlyView && this.name) {
|
||||
|
|
|
|||
4
dev/bootstrap.js
vendored
4
dev/bootstrap.js
vendored
|
|
@ -124,8 +124,8 @@ export default (App) => {
|
|||
window.__APP_BOOT = fErrorCallback => {
|
||||
const doc = document,
|
||||
cb = () => setTimeout(() => {
|
||||
if (window.rainloopTEMPLATES && rainloopTEMPLATES[0]) {
|
||||
doc.getElementById('rl-templates').innerHTML = rainloopTEMPLATES[0];
|
||||
if (rl.TEMPLATES) {
|
||||
doc.getElementById('rl-templates').innerHTML = rl.TEMPLATES;
|
||||
setTimeout(() => App.bootstart(), 10);
|
||||
} else {
|
||||
fErrorCallback();
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
allowDrop,
|
||||
lastTarget,
|
||||
lastTouch,
|
||||
pressHoldInterval,
|
||||
holdInterval,
|
||||
|
||||
img, imgCustom, imgOffset;
|
||||
|
||||
|
|
@ -64,22 +64,17 @@
|
|||
}
|
||||
|
||||
const
|
||||
// copy styles/attributes from drag source to drag image element
|
||||
rmvAtts = 'id,class,style,draggable'.split(','),
|
||||
kbdProps = 'altKey,ctrlKey,metaKey,shiftKey'.split(','),
|
||||
ptProps = 'pageX,pageY,clientX,clientY,screenX,screenY,offsetX,offsetY'.split(','),
|
||||
|
||||
// clear all members
|
||||
reset = () => {
|
||||
destroyImage();
|
||||
dragSource = lastTouch = lastTarget = dataTransfer = null;
|
||||
isDragging = allowDrop = false;
|
||||
clearInterval(pressHoldInterval);
|
||||
if (dragSource) {
|
||||
clearInterval(holdInterval);
|
||||
destroyImage();
|
||||
isDragging && dispatchEvent(lastTouch, 'dragend', dragSource);
|
||||
dragSource = lastTouch = lastTarget = dataTransfer = holdInterval = null;
|
||||
isDragging = allowDrop = false;
|
||||
}
|
||||
},
|
||||
|
||||
// ignore events that have been handled or that involve more than one touch
|
||||
shouldHandle = e => e && !e.defaultPrevented && e.touches && e.touches.length < 2,
|
||||
|
||||
// get point for a touch event
|
||||
getPoint = e => {
|
||||
if (e && e.touches) {
|
||||
|
|
@ -89,28 +84,26 @@
|
|||
},
|
||||
|
||||
touchstart = e => {
|
||||
if (shouldHandle(e)) {
|
||||
// clear all variables
|
||||
reset();
|
||||
|
||||
// clear all variables
|
||||
reset();
|
||||
// ignore events that have been handled or that involve more than one touch
|
||||
if (e && !e.defaultPrevented && e.touches && e.touches.length < 2) {
|
||||
// get nearest draggable element
|
||||
let src = e.target.closest('[draggable]');
|
||||
if (src) {
|
||||
dragSource = e.target.closest('[draggable]');
|
||||
if (dragSource) {
|
||||
// get ready to start dragging
|
||||
dragSource = src;
|
||||
lastTouch = e;
|
||||
e.preventDefault(); // prevent scrolling NOTE: this creates a bug that click will not work
|
||||
|
||||
// 1000 ms to wait, chrome on android triggers dragstart in 600
|
||||
pressHoldInterval = setTimeout(() => {
|
||||
holdInterval = setTimeout(() => {
|
||||
// start dragging
|
||||
if (dragSource && !isDragging) {
|
||||
isDragging = true;
|
||||
dataTransfer = new DataTransfer();
|
||||
if ((isDragging = dispatchEvent(e, 'dragstart', dragSource))) {
|
||||
createImage(e);
|
||||
dispatchEvent(e, 'dragenter', getTarget(e));
|
||||
}
|
||||
dataTransfer = new DataTransfer();
|
||||
if ((isDragging = dispatchEvent(e, 'dragstart', dragSource))) {
|
||||
createImage(e);
|
||||
dispatchEvent(e, 'dragenter', getTarget(e));
|
||||
} else {
|
||||
reset();
|
||||
}
|
||||
}, 1000);
|
||||
}
|
||||
|
|
@ -120,37 +113,30 @@
|
|||
touchmove = e => {
|
||||
if (isDragging) {
|
||||
// continue dragging
|
||||
if (isDragging) {
|
||||
let target = getTarget(e);
|
||||
lastTouch = e;
|
||||
e.preventDefault(); // prevent scrolling
|
||||
if (target != lastTarget) {
|
||||
dispatchEvent(lastTouch, 'dragleave', lastTarget);
|
||||
dispatchEvent(e, 'dragenter', target);
|
||||
lastTarget = target;
|
||||
}
|
||||
moveImage(e);
|
||||
allowDrop = !dispatchEvent(e, 'dragover', target);
|
||||
let target = getTarget(e);
|
||||
lastTouch = e;
|
||||
e.preventDefault(); // prevent scrolling
|
||||
if (target != lastTarget) {
|
||||
dispatchEvent(lastTouch, 'dragleave', lastTarget);
|
||||
dispatchEvent(e, 'dragenter', target);
|
||||
lastTarget = target;
|
||||
}
|
||||
moveImage(e);
|
||||
allowDrop = !dispatchEvent(e, 'dragover', target);
|
||||
} else {
|
||||
reset();
|
||||
}
|
||||
},
|
||||
|
||||
touchend = e => {
|
||||
if (shouldHandle(e)) {
|
||||
if (dragSource) {
|
||||
if (!isDragging) {
|
||||
// touched the element but didn't drag, so simulate a click
|
||||
dispatchEvent(lastTouch, 'click', e.target);
|
||||
}
|
||||
// finish dragging
|
||||
if (dragSource) {
|
||||
if (allowDrop && !e.type.includes('cancel')) {
|
||||
dispatchEvent(lastTouch, 'drop', lastTarget);
|
||||
}
|
||||
dispatchEvent(lastTouch, 'dragend', dragSource);
|
||||
reset();
|
||||
}
|
||||
allowDrop && 'touchcancel' !== e.type && dispatchEvent(lastTouch, 'drop', lastTarget);
|
||||
reset();
|
||||
}
|
||||
},
|
||||
|
||||
|
|
@ -205,9 +191,7 @@
|
|||
|
||||
copyStyle = (src, dst) => {
|
||||
// remove potentially troublesome attributes
|
||||
rmvAtts.forEach(function (att) {
|
||||
dst.removeAttribute(att);
|
||||
});
|
||||
['id','class','style','draggable'].forEach(att => dst.removeAttribute(att));
|
||||
// copy canvas content
|
||||
if (src instanceof HTMLCanvasElement) {
|
||||
let cSrc = src, cDst = dst;
|
||||
|
|
@ -237,10 +221,10 @@
|
|||
evt.button = 0;
|
||||
evt.which = evt.buttons = 1;
|
||||
// copy event properties into new event
|
||||
kbdProps.forEach(k => evt[k] = e[k]);
|
||||
['altKey','ctrlKey','metaKey','shiftKey'].forEach(k => evt[k] = e[k]);
|
||||
let src = e.touches ? e.touches[0] : e;
|
||||
ptProps.forEach(k => evt[k] = src[k]);
|
||||
if (isDragging) {
|
||||
['pageX','pageY','clientX','clientY','screenX','screenY','offsetX','offsetY'].forEach(k => evt[k] = src[k]);
|
||||
if (dragSource) {
|
||||
evt.dataTransfer = dataTransfer;
|
||||
}
|
||||
return target.dispatchEvent(evt);
|
||||
|
|
@ -249,7 +233,7 @@
|
|||
};
|
||||
|
||||
// Chrome on mobile supports drag & drop
|
||||
if (ua.includes("mobile") && ua.includes('gecko/')) {
|
||||
if (ua.includes('mobile') && ua.includes('gecko/')) {
|
||||
let opt = { passive: false, capture: false };
|
||||
doc.addEventListener('touchstart', touchstart, opt);
|
||||
doc.addEventListener('touchmove', touchmove, opt);
|
||||
|
|
|
|||
|
|
@ -8,37 +8,35 @@ const
|
|||
_scopes = {},
|
||||
toArray = v => Array.isArray(v) ? v : v.split(/\s*,\s*/),
|
||||
|
||||
fire = (actions, event) => {
|
||||
let modifiers = [];
|
||||
event.altKey && modifiers.push('alt');
|
||||
event.ctrlKey && modifiers.push('ctrl');
|
||||
event.metaKey && modifiers.push('meta');
|
||||
event.shiftKey && modifiers.push('shift');
|
||||
modifiers = modifiers.join('+');
|
||||
if (actions[modifiers]) {
|
||||
// for each potential shortcut
|
||||
actions[modifiers].forEach(cmd => {
|
||||
try {
|
||||
// call the handler and stop the event if neccessary
|
||||
if (!event.defaultPrevented && cmd(event) === false) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
keydown = event => {
|
||||
let key = (event.key || event.code || '').toLowerCase(),
|
||||
scopes = [];
|
||||
scope[key] && scopes.push(scope[key]);
|
||||
_scope !== 'all' && _scopes.all[key] && scopes.push(_scopes.all[key]);
|
||||
if (scopes.length && win.shortcuts.filter(event.target)) {
|
||||
let modifiers = [];
|
||||
event.altKey && modifiers.push('alt');
|
||||
event.ctrlKey && modifiers.push('ctrl');
|
||||
event.metaKey && modifiers.push('meta');
|
||||
event.shiftKey && modifiers.push('shift');
|
||||
modifiers = modifiers.join('+');
|
||||
scopes.forEach(actions => {
|
||||
if (actions[modifiers]) {
|
||||
// for each potential shortcut
|
||||
actions[modifiers].forEach(cmd => {
|
||||
try {
|
||||
// call the handler and stop the event if neccessary
|
||||
if (!event.defaultPrevented && cmd(event) === false) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
keydown = event => {
|
||||
const key = (event.key||event.code||'').toLowerCase();
|
||||
if (scope[key] && win.shortcuts.filter(event.target)) {
|
||||
fire(scope[key], event);
|
||||
}
|
||||
if (!event.defaultPrevented && _scope !== 'all' && _scopes.all[key] && win.shortcuts.filter(event.target)) {
|
||||
fire(_scopes.all[key], event);
|
||||
}
|
||||
};
|
||||
|
||||
let
|
||||
|
|
|
|||
|
|
@ -1038,7 +1038,7 @@ class ServiceActions
|
|||
|
||||
unset($aTemplates);
|
||||
|
||||
return $bJsOutput ? 'window.rainloopTEMPLATES='.\MailSo\Base\Utils::Php2js(array($sHtml), $this->Logger()).';' : $sHtml;
|
||||
return $bJsOutput ? 'rl.TEMPLATES='.\MailSo\Base\Utils::Php2js($sHtml, $this->Logger()).';' : $sHtml;
|
||||
}
|
||||
|
||||
private function convertLanguageNameToMomentLanguageName(string $sLanguage) : string
|
||||
|
|
|
|||
|
|
@ -33,7 +33,6 @@
|
|||
<a id="move-dropdown-id" href="#" tabindex="-1" class="btn single btn-dark-disabled-border dropdown-toggle buttonMove" data-toggle="dropdown" data-bind="command: moveCommand, tooltip: 'MESSAGE_LIST/BUTTON_MOVE_TO'">
|
||||
<i class="icon-copy visible-on-ctrl-btn"></i>
|
||||
<i class="icon-folder hidden-on-ctrl-btn"></i>
|
||||
|
||||
<span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu g-ui-menu" role="menu" aria-labelledby="move-dropdown-id" role="menu" data-bind="foreach: folderMenuForMove">
|
||||
|
|
|
|||
|
|
@ -73,7 +73,13 @@ const jsMin = () =>
|
|||
.pipe(rename({ suffix: '.min' }))
|
||||
.pipe(
|
||||
terser({
|
||||
output: {comments: false}
|
||||
output: {
|
||||
comments: false
|
||||
},
|
||||
compress:{
|
||||
ecma: 6,
|
||||
drop_console: true
|
||||
}
|
||||
})
|
||||
)
|
||||
.pipe(eol('\n', true))
|
||||
|
|
|
|||
0
vendors/bootstrap/.code-changed
vendored
0
vendors/bootstrap/.code-changed
vendored
88
vendors/inputosaurus/inputosaurus.js
vendored
88
vendors/inputosaurus/inputosaurus.js
vendored
|
|
@ -41,8 +41,6 @@ this.Inputosaurus = class {
|
|||
|
||||
self.element = element;
|
||||
|
||||
self._focusTimer = 0;
|
||||
|
||||
self.options = Object.assign({
|
||||
|
||||
// while typing, the user can separate values using these delimiters
|
||||
|
|
@ -65,6 +63,8 @@ this.Inputosaurus = class {
|
|||
|
||||
self._chosenValues = [];
|
||||
|
||||
self._lastEdit = '';
|
||||
|
||||
// Create the elements
|
||||
els.ul = createEl('ul',{class:"inputosaurus-container"});
|
||||
|
||||
|
|
@ -82,8 +82,6 @@ this.Inputosaurus = class {
|
|||
els.input = createEl('input',{type:"text", list:datalist.id,
|
||||
autocomplete:"off", autocorrect:"off", autocapitalize:"off", spellcheck:"false"});
|
||||
|
||||
els.lastEdit = '';
|
||||
|
||||
els.input.addEventListener('focus', () => self._focusTrigger(true));
|
||||
els.input.addEventListener('blur', () => self._focusTrigger(false));
|
||||
|
||||
|
|
@ -108,7 +106,7 @@ this.Inputosaurus = class {
|
|||
els.input.addEventListener('blur', e => self.parseInput(e));
|
||||
|
||||
els.ul.addEventListener('click', e => self._focus(e));
|
||||
els.ul.addEventListener('dblclick', e => e.currentTarget.closest('li') && self._editTag(e));
|
||||
els.ul.addEventListener('dblclick', e => self._editTag(e));
|
||||
|
||||
// if instantiated input already contains a value, parse that junk
|
||||
if (element.value.trim()) {
|
||||
|
|
@ -134,12 +132,8 @@ this.Inputosaurus = class {
|
|||
}
|
||||
|
||||
_focusTrigger(bValue) {
|
||||
var self = this;
|
||||
clearTimeout(self._focusTimer);
|
||||
self._focusTimer = setTimeout(() => {
|
||||
self.elements.ul.classList.toggle('inputosaurus-focused', bValue);
|
||||
self.options.focusCallback(bValue);
|
||||
}, 10);
|
||||
this.elements.ul.classList.toggle('inputosaurus-focused', bValue);
|
||||
this.options.focusCallback(bValue);
|
||||
}
|
||||
|
||||
_resetAutocomplete() {
|
||||
|
|
@ -168,7 +162,7 @@ this.Inputosaurus = class {
|
|||
ev && ev.preventDefault();
|
||||
|
||||
// prevent autoComplete menu click from causing a false 'blur'
|
||||
} else if(ev.type === 'blur'){
|
||||
} else if (ev.type === 'blur') {
|
||||
values.push(val);
|
||||
}
|
||||
|
||||
|
|
@ -190,13 +184,9 @@ this.Inputosaurus = class {
|
|||
// if our input contains no value and backspace has been pressed, select the last tag
|
||||
if (ev.type === 'keydown') {
|
||||
var lastTag = self.elements.inputCont.previousElementSibling,
|
||||
target = ev.currentTarget;
|
||||
|
||||
// IE goes back in history if the event isn't stopped
|
||||
ev.stopPropagation();
|
||||
|
||||
if (lastTag && (!target.value
|
||||
|| (('selectionStart' in target) && target.selectionStart === 0 && target.selectionEnd === 0))
|
||||
input = self.elements.input;
|
||||
if (lastTag && (!input.value
|
||||
|| (('selectionStart' in input) && input.selectionStart === 0 && input.selectionEnd === 0))
|
||||
) {
|
||||
ev.preventDefault();
|
||||
lastTag.querySelector('a').focus();
|
||||
|
|
@ -223,18 +213,15 @@ this.Inputosaurus = class {
|
|||
}
|
||||
|
||||
_editTag(ev) {
|
||||
var self = this,
|
||||
tagName = '',
|
||||
li = ev.currentTarget.closest('li'),
|
||||
tagKey = li.inputosaurusKey;
|
||||
var li = ev.target.closest('li'),
|
||||
tagKey = li && li.inputosaurusKey;
|
||||
|
||||
if (!tagKey) {
|
||||
return true;
|
||||
}
|
||||
|
||||
ev.preventDefault();
|
||||
|
||||
var
|
||||
var self = this,
|
||||
tagName = '',
|
||||
oPrev = null,
|
||||
next = false
|
||||
;
|
||||
|
|
@ -253,7 +240,7 @@ this.Inputosaurus = class {
|
|||
|
||||
if (oPrev)
|
||||
{
|
||||
self.elements.lastEdit = oPrev.value;
|
||||
self._lastEdit = oPrev.value;
|
||||
}
|
||||
|
||||
li.after(self.elements.inputCont);
|
||||
|
|
@ -261,22 +248,10 @@ this.Inputosaurus = class {
|
|||
self.elements.input.value = tagName;
|
||||
setTimeout(() => self.elements.input.select(), 100);
|
||||
|
||||
self._removeTag(ev);
|
||||
self._removeTag(ev, li);
|
||||
self.resizeInput(ev);
|
||||
}
|
||||
|
||||
// select the next tag or input if no more tags exist
|
||||
_nextTag(ev) {
|
||||
var tag = ev.currentTarget.closest('li'),
|
||||
next = tag.next();
|
||||
|
||||
if (next !== this.elements.inputCont) {
|
||||
next.querySelector('a').focus();
|
||||
} else {
|
||||
this._focus();
|
||||
}
|
||||
}
|
||||
|
||||
// return the inputDelimiter that was detected or false if none were found
|
||||
_containsDelimiter(tagStr) {
|
||||
return -1 < this.options.inputDelimiters.findIndex(v => tagStr.indexOf(v) !== -1);
|
||||
|
|
@ -301,7 +276,7 @@ this.Inputosaurus = class {
|
|||
v = a[0].trim();
|
||||
|
||||
self._chosenValues.forEach((vv, kk) => {
|
||||
if (vv.value === self.elements.lastEdit)
|
||||
if (vv.value === self._lastEdit)
|
||||
{
|
||||
lastIndex = kk;
|
||||
}
|
||||
|
|
@ -324,14 +299,14 @@ this.Inputosaurus = class {
|
|||
self._chosenValues.push(obj);
|
||||
}
|
||||
|
||||
self.elements.lastEdit = '';
|
||||
self._lastEdit = '';
|
||||
self._renderTags();
|
||||
}
|
||||
});
|
||||
|
||||
if (valArr.length === 1 && valArr[0] === '' && self.elements.lastEdit !== '')
|
||||
if (valArr.length === 1 && valArr[0] === '' && self._lastEdit !== '')
|
||||
{
|
||||
self.elements.lastEdit = '';
|
||||
self._lastEdit = '';
|
||||
self._renderTags();
|
||||
}
|
||||
|
||||
|
|
@ -362,14 +337,14 @@ this.Inputosaurus = class {
|
|||
|
||||
el = createEl('a',{href:'#', class:'ficon'});
|
||||
el.append('✖');
|
||||
el.addEventListener('click', e => self._removeTag(e));
|
||||
el.addEventListener('click', e => self._removeTag(e, li));
|
||||
el.addEventListener('focus', () => li.className = 'inputosaurus-selected');
|
||||
el.addEventListener('blur', () => li.className = null);
|
||||
el.addEventListener('keydown', e => {
|
||||
switch (e.key) {
|
||||
case 'Delete':
|
||||
case 'Backspace':
|
||||
self._removeTag(e);
|
||||
self._removeTag(e, li);
|
||||
break;
|
||||
|
||||
// 'e' - edit tag (removes tag and places value into visible input
|
||||
|
|
@ -384,12 +359,18 @@ this.Inputosaurus = class {
|
|||
if (previous.matches('li')) {
|
||||
previous.querySelector('a').focus();
|
||||
} else {
|
||||
self._focus();
|
||||
self.focus();
|
||||
}
|
||||
break;
|
||||
|
||||
case 'ArrowRight':
|
||||
self._nextTag(e);
|
||||
// select the next tag or input if no more tags exist
|
||||
var next = el.closest('li').nextElementSibling;
|
||||
if (next !== this.elements.inputCont) {
|
||||
next.querySelector('a').focus();
|
||||
} else {
|
||||
this.focus();
|
||||
}
|
||||
break;
|
||||
|
||||
case 'ArrowDown':
|
||||
|
|
@ -400,7 +381,7 @@ this.Inputosaurus = class {
|
|||
li.append(el);
|
||||
|
||||
li.inputosaurusKey = v.key;
|
||||
li.inputosaurusValue = v.obj.toLine(false, false, false);
|
||||
li.inputosaurusValue = v.obj.toLine();
|
||||
|
||||
li.addEventListener("dragstart", e => {
|
||||
dragData = {
|
||||
|
|
@ -424,11 +405,10 @@ this.Inputosaurus = class {
|
|||
});
|
||||
}
|
||||
|
||||
_removeTag(ev) {
|
||||
_removeTag(ev, li) {
|
||||
ev.preventDefault();
|
||||
|
||||
var target = ev.currentTarget,
|
||||
key = target.closest('li').inputosaurusKey,
|
||||
var key = li.inputosaurusKey,
|
||||
self = this,
|
||||
indexFound = self._chosenValues.findIndex(v => key === v.key);
|
||||
|
||||
|
|
@ -436,7 +416,7 @@ this.Inputosaurus = class {
|
|||
|
||||
self._setValue(self._buildValue());
|
||||
|
||||
target.closest('li').remove();
|
||||
li.remove();
|
||||
setTimeout(() => self.elements.input.focus(), 100);
|
||||
}
|
||||
|
||||
|
|
@ -464,7 +444,7 @@ this.Inputosaurus = class {
|
|||
}
|
||||
|
||||
_focus(ev) {
|
||||
var li = ev && ev.target && ev.target.closest('li');
|
||||
var li = ev.target.closest('li');
|
||||
if (li && li.inputosaurusKey) {
|
||||
li.querySelector('a').focus();
|
||||
} else {
|
||||
|
|
|
|||
38
vendors/jua/jua.js
vendored
38
vendors/jua/jua.js
vendored
|
|
@ -131,7 +131,6 @@
|
|||
sAction = this.oOptions.action,
|
||||
aHidden = this.oOptions.hidden,
|
||||
fStartFunction = this.oJua.getEvent('onStart'),
|
||||
fCompleteFunction = this.oJua.getEvent('onComplete'),
|
||||
fProgressFunction = this.oJua.getEvent('onProgress')
|
||||
;
|
||||
|
||||
|
|
@ -139,7 +138,7 @@
|
|||
|
||||
if (fProgressFunction && oXhr.upload)
|
||||
{
|
||||
oXhr.upload.onprogress = function (oEvent) {
|
||||
oXhr.upload.onprogress = oEvent => {
|
||||
if (oEvent && oEvent.lengthComputable && defined(oEvent.loaded) && defined(oEvent.total))
|
||||
{
|
||||
fProgressFunction(sUid, oEvent.loaded, oEvent.total);
|
||||
|
|
@ -147,40 +146,25 @@
|
|||
};
|
||||
}
|
||||
|
||||
oXhr.onreadystatechange = function () {
|
||||
if (4 === oXhr.readyState && 200 === oXhr.status)
|
||||
oXhr.onreadystatechange = () => {
|
||||
if (4 === oXhr.readyState)
|
||||
{
|
||||
if (fCompleteFunction)
|
||||
delete self.oXhrs[sUid];
|
||||
let bResult = false,
|
||||
oResult = null;
|
||||
if (200 === oXhr.status)
|
||||
{
|
||||
let
|
||||
bResult = false,
|
||||
oResult = null
|
||||
;
|
||||
|
||||
try
|
||||
{
|
||||
oResult = JSON.parse(oXhr.responseText);
|
||||
bResult = true;
|
||||
}
|
||||
catch (oException)
|
||||
catch (e)
|
||||
{
|
||||
oResult = null;
|
||||
console.error(e);
|
||||
}
|
||||
|
||||
fCompleteFunction(sUid, bResult, oResult);
|
||||
}
|
||||
|
||||
if (defined(self.oXhrs[sUid]))
|
||||
{
|
||||
self.oXhrs[sUid] = null;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (4 === oXhr.readyState)
|
||||
{
|
||||
fCompleteFunction(sUid, false, null);
|
||||
}
|
||||
this.oJua.getEvent('onComplete')(sUid, bResult, bResult ? oResult : null);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -261,7 +245,7 @@
|
|||
console.error(oError);
|
||||
}
|
||||
|
||||
this.oXhrs[sUid] = null;
|
||||
delete this.oXhrs[sUid];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
vendors/jua/jua.min.js
vendored
2
vendors/jua/jua.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -687,7 +687,7 @@ ko.extenders = {
|
|||
// (2) For writable targets (observables, or writable dependent observables), we throttle *writes*
|
||||
// so the target cannot change value synchronously or faster than a certain rate
|
||||
var writeTimeoutInstance = null;
|
||||
return ko.dependentObservable({
|
||||
return ko.computed({
|
||||
'read': target,
|
||||
'write': value => {
|
||||
clearTimeout(writeTimeoutInstance);
|
||||
|
|
@ -1360,7 +1360,7 @@ ko.extenders['trackArrayChanges'] = (target, options) => {
|
|||
};
|
||||
var computedState = Symbol('_state');
|
||||
|
||||
ko.computed = ko.dependentObservable = function (evaluatorFunctionOrOptions, evaluatorFunctionTarget, options) {
|
||||
ko.computed = function (evaluatorFunctionOrOptions, evaluatorFunctionTarget, options) {
|
||||
if (typeof evaluatorFunctionOrOptions === "object") {
|
||||
// Single-parameter syntax - everything is on this "options" param
|
||||
options = evaluatorFunctionOrOptions;
|
||||
|
|
@ -1858,7 +1858,6 @@ ko.isComputed = instance => (typeof instance == 'function' && instance[protoProp
|
|||
ko.isPureComputed = instance => ko.isComputed(instance) && instance[computedState] && instance[computedState].pure;
|
||||
|
||||
ko.exportSymbol('computed', ko.computed);
|
||||
ko.exportSymbol('dependentObservable', ko.computed); // export ko.dependentObservable for backwards compatibility (1.x)
|
||||
ko.exportSymbol('isComputed', ko.isComputed);
|
||||
ko.exportSymbol('isPureComputed', ko.isPureComputed);
|
||||
ko.exportSymbol('computed.fn', computedFn);
|
||||
|
|
@ -2777,7 +2776,7 @@ ko.exportSymbol('bindingProvider', ko.bindingProvider);
|
|||
|
||||
// Get the binding from the provider within a computed observable so that we can update the bindings whenever
|
||||
// the binding context is updated or if the binding provider accesses observables.
|
||||
var bindingsUpdater = ko.dependentObservable(
|
||||
var bindingsUpdater = ko.computed(
|
||||
() => {
|
||||
bindings = sourceBindings ? sourceBindings(bindingContext, node) : getBindings.call(provider, node, bindingContext);
|
||||
// Register a dependency on the binding context to support observable view models.
|
||||
|
|
@ -2870,7 +2869,7 @@ ko.exportSymbol('bindingProvider', ko.bindingProvider);
|
|||
|
||||
// Run update in its own computed wrapper
|
||||
if (typeof handlerUpdateFn == "function") {
|
||||
ko.dependentObservable(
|
||||
ko.computed(
|
||||
() => handlerUpdateFn(node, getValueAccessor(bindingKey), allBindings, contextToExtend['$data'], contextToExtend),
|
||||
null,
|
||||
{ disposeWhenNodeIsRemoved: node }
|
||||
|
|
@ -4499,7 +4498,7 @@ ko.exportSymbol('__tr_ambtns', ko.templateRewriting.applyMemoizedBindingsToNextS
|
|||
var whenToDispose = () => (!firstTargetNode) || !ko.utils.domNodeIsAttachedToDocument(firstTargetNode); // Passive disposal (on next evaluation)
|
||||
var activelyDisposeWhenNodeIsRemoved = (firstTargetNode && renderMode == "replaceNode") ? firstTargetNode.parentNode : firstTargetNode;
|
||||
|
||||
return ko.dependentObservable( // So the DOM is automatically updated when any dependency changes
|
||||
return ko.computed( // So the DOM is automatically updated when any dependency changes
|
||||
() => {
|
||||
// Ensure we've got a proper binding context to work with
|
||||
var bindingContext = (dataOrBindingContext && (dataOrBindingContext instanceof ko.bindingContext))
|
||||
|
|
@ -4578,7 +4577,7 @@ ko.exportSymbol('__tr_ambtns', ko.templateRewriting.applyMemoizedBindingsToNextS
|
|||
|
||||
return subscription;
|
||||
} else {
|
||||
return ko.dependentObservable(() => {
|
||||
return ko.computed(() => {
|
||||
var unwrappedArray = ko.utils.unwrapObservable(arrayOrObservableArray) || [];
|
||||
if (typeof unwrappedArray.length == "undefined") // Coerce single value into array
|
||||
unwrappedArray = [unwrappedArray];
|
||||
|
|
@ -4822,7 +4821,7 @@ ko.exportSymbol('utils.compareArrays', ko.utils.compareArrays);
|
|||
function mapNodeAndRefreshWhenChanged(containerNode, mapping, valueToMap, callbackAfterAddingNodes, index) {
|
||||
// Map this array value inside a dependentObservable so we re-map when any dependency changes
|
||||
var mappedNodes = [];
|
||||
var dependentObservable = ko.dependentObservable(() => {
|
||||
var dependentObservable = ko.computed(() => {
|
||||
var newMappedNodes = mapping(valueToMap, index, ko.utils.fixUpContinuousNodeArray(mappedNodes, containerNode)) || [];
|
||||
|
||||
// On subsequent evaluations, just replace the previously-inserted DOM nodes
|
||||
|
|
|
|||
194
vendors/knockout/build/output/knockout-latest.js
vendored
194
vendors/knockout/build/output/knockout-latest.js
vendored
|
|
@ -4,101 +4,101 @@
|
|||
* License: MIT (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
(F=>{function I(b,c){return null===b||typeof b in ia?b===c:!1}function G(b,c){var e;return()=>{e||(e=a.a.setTimeout(()=>{e=void 0;b()},c))}}function J(b,c){var e;return()=>{clearTimeout(e);e=a.a.setTimeout(b,c)}}function V(b,c){c&&"change"!==c?"beforeChange"===c?this.dc(b):this.Ra(b,c):this.ec(b)}function Y(b,c){null!==c&&c.o&&c.o()}function ja(b,c){var e=this.Zc,g=e[E];g.la||(this.xb&&this.Xa[c]?(e.jc(c,b,this.Xa[c]),this.Xa[c]=null,--this.xb):g.D[c]||e.jc(c,b,g.F?{ea:b}:e.Kc(b)),b.ya&&b.Pc())}var W=
|
||||
F.document,Z={},a="undefined"!==typeof Z?Z:{};a.b=function(b,c){b=b.split(".");for(var e=a,g=0;g<b.length-1;g++)e=e[b[g]];e[b[b.length-1]]=c};a.G=function(b,c,e){b[c]=e};a.version="3.5.1-pre";a.b("version",a.version);a.a=(()=>{function b(f,h,d,l){return Array.prototype[f].call(h,d,l)}function c(f,h){h&&Object.entries(h).forEach(d=>f[d[0]]=d[1]);return f}function e(f,h){f.__proto__=h;return f}var g={__proto__:[]}instanceof Array;return{Y:(f,h,d)=>b("forEach",f,h,d),Z:(f,h)=>b("indexOf",f,h),sb:(f,
|
||||
h,d)=>{for(var l=0,k=f.length;l<k;l++)if(h.call(d,f[l],l,f))return f[l]},Ca:(f,h)=>{h=a.a.Z(f,h);0<h?f.splice(h,1):0===h&&f.shift()},tb:(f,h)=>{if(h instanceof Array)f.push.apply(f,h);else for(var d=0,l=h.length;d<l;d++)f.push(h[d]);return f},qa:g,extend:c,setPrototypeOf:e,jb:g?e:c,K:function(f,h){f&&Object.entries(f).forEach(d=>h(d[0],d[1]))},ua:(f,h,d)=>{if(!f)return f;var l={};Object.entries(f).forEach(k=>l[k[0]]=h.call(d,k[1],k[0],f));return l},Ab:f=>{for(;f.firstChild;)a.removeNode(f.firstChild)},
|
||||
Ib:f=>{var h=a.a.ta(f),d=(h[0]&&h[0].ownerDocument||W).createElement("div");f.forEach(l=>d.append(a.ja(l)));return d},ub:(f,h)=>b("map",f,h?d=>a.ja(d.cloneNode(!0)):d=>d.cloneNode(!0)),wa:(f,h)=>{a.a.Ab(f);h&&f.append.apply(f,h)},Ic:(f,h)=>{f=f.nodeType?[f]:f;if(0<f.length){var d=f[0],l=d.parentNode,k;var m=0;for(k=h.length;m<k;m++)l.insertBefore(h[m],d);m=0;for(k=f.length;m<k;m++)a.removeNode(f[m])}},Ga:(f,h)=>{if(f.length){for(h=8===h.nodeType&&h.parentNode||h;f.length&&f[0].parentNode!==h;)f.splice(0,
|
||||
1);for(;1<f.length&&f[f.length-1].parentNode!==h;)f.length--;if(1<f.length){h=f[0];var d=f[f.length-1];for(f.length=0;h!==d;)f.push(h),h=h.nextSibling;f.push(d)}}return f},Ub:f=>null===f||void 0===f?"":f.trim?f.trim():f.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,""),ud:(f,h)=>{f=f||"";return h.length>f.length?!1:f.substring(0,h.length)===h},bd:(f,h)=>h.contains(1!==f.nodeType?f.parentNode:f),zb:f=>a.a.bd(f,f.ownerDocument.documentElement),Tc:f=>!!a.a.sb(f,a.a.zb),ia:f=>f&&f.tagName&&f.tagName.toLowerCase(),
|
||||
pc:f=>a.onError?function(){try{return f.apply(this,arguments)}catch(h){throw a.onError&&a.onError(h),h;}}:f,setTimeout:(f,h)=>setTimeout(a.a.pc(f),h),uc:f=>setTimeout(()=>{a.onError&&a.onError(f);throw f;},0),L:(f,h,d)=>{f.addEventListener(h,a.a.pc(d),!1)},Yb:(f,h)=>{if(!f||!f.nodeType)throw Error("element must be a DOM node when calling triggerEvent");f.dispatchEvent(new Event(h))},h:f=>a.S(f)?f():f,Gc:f=>a.S(f)?f.A():f,mb:function(f,h,d){if(h){var l=d?"add":"remove";h.split(/\s+/).forEach(k=>f.classList[l](k))}},
|
||||
kb:(f,h)=>{h=a.a.h(h);if(null===h||void 0===h)h="";var d=a.g.firstChild(f);!d||3!=d.nodeType||a.g.nextSibling(d)?a.g.wa(f,[f.ownerDocument.createTextNode(h)]):d.data=h},ta:f=>Array.from(f)}})();a.b("utils",a.a);a.b("utils.arrayForEach",a.a.Y);a.b("utils.arrayFirst",a.a.sb);a.b("utils.arrayIndexOf",a.a.Z);a.b("utils.arrayPushAll",a.a.tb);a.b("utils.arrayRemoveItem",a.a.Ca);a.b("utils.cloneNodes",a.a.ub);a.b("utils.extend",a.a.extend);a.b("utils.objectMap",a.a.ua);a.b("utils.peekObservable",a.a.Gc);
|
||||
a.b("utils.registerEventHandler",a.a.L);a.b("utils.stringifyJson",a.a.Ad);a.b("utils.toggleDomNodeCssClass",a.a.mb);a.b("utils.triggerEvent",a.a.Yb);a.b("utils.unwrapObservable",a.a.h);a.b("utils.objectForEach",a.a.K);a.b("utils.setTextContent",a.a.kb);a.b("unwrap",a.a.h);a.a.c=new function(){var b=0,c="__ko__"+Date.now(),e=(g,f)=>{var h=g[c];!h&&f&&(h=g[c]={});return h};return{get:(g,f)=>(g=e(g,!1))&&g[f],set:(g,f,h)=>{(g=e(g,void 0!==h))&&(g[f]=h)},Cb:(g,f,h)=>{g=e(g,!0);return g[f]||(g[f]=h)},
|
||||
clear:g=>g[c]?(delete g[c],!0):!1,ca:()=>b++ +c}};a.b("utils.domData",a.a.c);a.b("utils.domData.clear",a.a.c.clear);a.a.M=new function(){function b(d,l){var k=a.a.c.get(d,g);void 0===k&&l&&(k=[],a.a.c.set(d,g,k));return k}function c(d){var l=b(d,!1);if(l){l=l.slice(0);for(var k=0;k<l.length;k++)l[k](d)}a.a.c.clear(d);h[d.nodeType]&&e(d.childNodes,!0)}function e(d,l){for(var k=[],m,n=0;n<d.length;n++)if(!l||8===d[n].nodeType)if(c(k[k.length]=m=d[n]),d[n]!==m)for(;n--&&-1==a.a.Z(k,d[n]););}var g=a.a.c.ca(),
|
||||
f={1:!0,8:!0,9:!0},h={1:!0,9:!0};return{Ba:(d,l)=>{if("function"!=typeof l)throw Error("Callback must be a function");b(d,!0).push(l)},ib:(d,l)=>{var k=b(d,!1);k&&(a.a.Ca(k,l),0==k.length&&a.a.c.set(d,g,void 0))},ja:d=>{a.m.H(()=>{f[d.nodeType]&&(c(d),h[d.nodeType]&&e(d.getElementsByTagName("*")))});return d},removeNode:d=>{a.ja(d);d.parentNode&&d.parentNode.removeChild(d)}}};a.ja=a.a.M.ja;a.removeNode=a.a.M.removeNode;a.b("cleanNode",a.ja);a.b("removeNode",a.removeNode);a.b("utils.domNodeDisposal",
|
||||
a.a.M);a.b("utils.domNodeDisposal.addDisposeCallback",a.a.M.Ba);a.b("utils.domNodeDisposal.removeDisposeCallback",a.a.M.ib);(()=>{var b=[0,"",""],c=[1,"<table>","</table>"],e=[3,"<table><tbody><tr>","</tr></tbody></table>"],g=[1,"<select multiple='multiple'>","</select>"],f={thead:c,tbody:c,tfoot:c,tr:[2,"<table><tbody>","</tbody></table>"],td:e,th:e,option:g,optgroup:g};a.a.Ka=(h,d)=>{var l=d;l||(l=W);d=l.parentWindow||l.defaultView||F;var k=a.a.Ub(h).toLowerCase();l=l.createElement("div");var m=
|
||||
(k=k.match(/^(?:\x3c!--.*?--\x3e\s*?)*?<([a-z]+)[\s>]/))&&f[k[1]]||b;k=m[0];h="ignored<div>"+m[1]+h+m[2]+"</div>";for("function"==typeof d.innerShiv?l.append(d.innerShiv(h)):l.innerHTML=h;k--;)l=l.lastChild;return a.a.ta(l.lastChild.childNodes)};a.a.qd=(h,d)=>{h=a.a.Ka(h,d);return h.length&&h[0].parentElement||a.a.Ib(h)};a.a.Sb=(h,d)=>{a.a.Ab(h);d=a.a.h(d);if(null!==d&&void 0!==d){"string"!=typeof d&&(d=d.toString());d=a.a.Ka(d,h.ownerDocument);for(var l=0;l<d.length;l++)h.appendChild(d[l])}}})();
|
||||
a.b("utils.parseHtmlFragment",a.a.Ka);a.b("utils.setHtml",a.a.Sb);a.W=function(){function b(e,g){if(e)if(8==e.nodeType){var f=a.W.Fc(e.nodeValue);null!=f&&g.push({ad:e,nd:f})}else if(1==e.nodeType){f=0;e=e.childNodes;for(var h=e.length;f<h;f++)b(e[f],g)}}var c={};return{Hb:e=>{if("function"!=typeof e)throw Error("You can only pass a function to ko.memoization.memoize()");var g=(4294967296*(1+Math.random())|0).toString(16).substring(1)+(4294967296*(1+Math.random())|0).toString(16).substring(1);c[g]=
|
||||
e;return"\x3c!--[ko_memo:"+g+"]--\x3e"},Lc:(e,g)=>{var f=c[e];if(void 0===f)throw Error("Couldn't find any memo with ID "+e+". Perhaps it's already been unmemoized.");try{return f.apply(null,g||[]),!0}finally{delete c[e]}},Mc:(e,g)=>{var f=[];b(e,f);e=0;for(var h=f.length;e<h;e++){var d=f[e].ad,l=[d];g&&a.a.tb(l,g);a.W.Lc(f[e].nd,l);d.nodeValue="";d.parentNode&&d.parentNode.removeChild(d)}},Fc:e=>(e=e.match(/^\[ko_memo:(.*?)\]$/))?e[1]:null}}();a.b("memoization",a.W);a.b("memoization.memoize",a.W.Hb);
|
||||
a.b("memoization.unmemoize",a.W.Lc);a.b("memoization.parseMemoText",a.W.Fc);a.b("memoization.unmemoizeDomNodeAndDescendants",a.W.Mc);a.lb=(()=>{function b(){if(e)for(var d=e,l=0,k;f<e;)if(k=c[f++]){if(f>d){if(5E3<=++l){f=e;a.a.uc(Error("'Too much recursion' after processing "+l+" task groups."));break}d=e}try{k()}catch(m){a.a.uc(m)}}f=e=c.length=0}var c=[],e=0,g=1,f=0,h=(d=>{var l=W.createElement("div");(new MutationObserver(d)).observe(l,{attributes:!0});return()=>l.classList.toggle("foo")})(b);
|
||||
return{Qb:d=>{e||h(b);c[e++]=d;return g++},cancel:d=>{d-=g-e;d>=f&&d<e&&(c[d]=null)}}})();a.b("tasks",a.lb);a.b("tasks.schedule",a.lb.Qb);a.Bb={throttle:(b,c)=>{b.throttleEvaluation=c;var e=null;return a.V({read:b,write:g=>{clearTimeout(e);e=a.a.setTimeout(()=>b(g),c)}})},rateLimit:(b,c)=>{if("number"==typeof c)var e=c;else{e=c.timeout;var g=c.method}var f="function"==typeof g?g:"notifyWhenChangesStop"==g?J:G;b.Gb(h=>f(h,e,c))},notify:(b,c)=>{b.equalityComparer="always"==c?null:I}};var ia={undefined:1,
|
||||
"boolean":1,number:1,string:1};a.b("extenders",a.Bb);a.Vb=function(b,c,e){this.ea=b;this.$b=c;this.ac=e;this.pb=!1;this.Qa=this.qb=null;a.G(this,"dispose",this.o);a.G(this,"disposeWhenNodeIsRemoved",this.l)};a.Vb.prototype.o=function(){this.pb||(this.Qa&&a.a.M.ib(this.qb,this.Qa),this.pb=!0,this.ac(),this.ea=this.$b=this.ac=this.qb=this.Qa=null)};a.Vb.prototype.l=function(b){this.qb=b;a.a.M.Ba(b,this.Qa=this.o.bind(this))};a.O=function(){a.a.jb(this,P);P.bb(this)};var P={bb:b=>{b.P={change:[]};b.hc=
|
||||
1},subscribe:function(b,c,e){var g=this;e=e||"change";var f=new a.Vb(g,c?b.bind(c):b,()=>{a.a.Ca(g.P[e],f);g.Sa&&g.Sa(e)});g.Da&&g.Da(e);g.P[e]||(g.P[e]=[]);g.P[e].push(f);return f},notifySubscribers:function(b,c){c=c||"change";"change"===c&&this.ob();if(this.Ia(c)){c="change"===c&&this.Nc||this.P[c].slice(0);try{a.m.mc();for(var e=0,g;g=c[e];++e)g.pb||g.$b(b)}finally{a.m.end()}}},$a:function(){return this.hc},hd:function(b){return this.$a()!==b},ob:function(){++this.hc},Gb:function(b){var c=this,
|
||||
e=a.S(c),g,f,h,d,l;c.Ra||(c.Ra=c.notifySubscribers,c.notifySubscribers=V);var k=b(()=>{c.ya=!1;e&&d===c&&(d=c.bc?c.bc():c());var m=f||l&&c.eb(h,d);l=f=g=!1;m&&c.Ra(h=d)});c.ec=(m,n)=>{n&&c.ya||(l=!n);c.Nc=c.P.change.slice(0);c.ya=g=!0;d=m;k()};c.dc=m=>{g||(h=m,c.Ra(m,"beforeChange"))};c.fc=()=>{l=!0};c.Pc=()=>{c.eb(h,c.A(!0))&&(f=!0)}},Ia:function(b){return this.P[b]&&this.P[b].length},fd:function(b){if(b)return this.P[b]&&this.P[b].length||0;var c=0;a.a.K(this.P,(e,g)=>c+=g.length);return c},eb:function(b,
|
||||
c){return!this.equalityComparer||!this.equalityComparer(b,c)},toString:()=>"[object Object]",extend:function(b){var c=this;b&&a.a.K(b,(e,g)=>{e=a.Bb[e];"function"==typeof e&&(c=e(c,g)||c)});return c}};a.G(P,"init",P.bb);a.G(P,"subscribe",P.subscribe);a.G(P,"extend",P.extend);a.G(P,"getSubscriptionsCount",P.fd);a.a.qa&&a.a.setPrototypeOf(P,Function.prototype);a.O.fn=P;a.Cc=b=>null!=b&&"function"==typeof b.subscribe&&"function"==typeof b.notifySubscribers;a.b("subscribable",a.O);a.b("isSubscribable",
|
||||
a.Cc);a.ka=a.m=(()=>{function b(h){e.push(g);g=h}function c(){g=e.pop()}var e=[],g,f=0;return{mc:b,end:c,Ob:h=>{if(g){if(!a.Cc(h))throw Error("Only subscribable things can act as dependencies");g.Xc.call(g.Yc,h,h.Oc||(h.Oc=++f))}},H:(h,d,l)=>{try{return b(),h.apply(d,l||[])}finally{c()}},Za:()=>{if(g)return g.s.Za()},Ha:()=>{if(g)return g.s.Ha()},fb:()=>{if(g)return g.fb},s:()=>{if(g)return g.s}}})();a.b("computedContext",a.ka);a.b("computedContext.getDependenciesCount",a.ka.Za);a.b("computedContext.getDependencies",
|
||||
a.ka.Ha);a.b("computedContext.isInitial",a.ka.fb);a.b("computedContext.registerDependency",a.ka.Ob);a.b("ignoreDependencies",a.xd=a.m.H);var R=Symbol("_latestValue");a.na=b=>{function c(){if(0<arguments.length)return c.eb(c[R],arguments[0])&&(c.Oa(),c[R]=arguments[0],c.Na()),this;a.m.Ob(c);return c[R]}c[R]=b;a.a.qa||a.a.extend(c,a.O.fn);a.O.fn.bb(c);a.a.jb(c,Q);return c};var Q={equalityComparer:I,A:function(){return this[R]},Na:function(){this.notifySubscribers(this[R],"spectate");this.notifySubscribers(this[R])},
|
||||
Oa:function(){this.notifySubscribers(this[R],"beforeChange")}};a.a.qa&&a.a.setPrototypeOf(Q,a.O.fn);var S=a.na.Qc="__ko_proto__";Q[S]=a.na;a.S=b=>{if((b="function"==typeof b&&b[S])&&b!==Q[S]&&b!==a.s.fn[S])throw Error("Invalid object that looks like an observable; possibly from another Knockout instance");return!!b};a.Fb=b=>"function"==typeof b&&(b[S]===Q[S]||b[S]===a.s.fn[S]&&b.zc);a.b("observable",a.na);a.b("isObservable",a.S);a.b("isWriteableObservable",a.Fb);a.b("observable.fn",Q);a.G(Q,"peek",
|
||||
Q.A);a.G(Q,"valueHasMutated",Q.Na);a.G(Q,"valueWillMutate",Q.Oa);a.va=b=>{b=b||[];if("object"!=typeof b||!("length"in b))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");b=a.na(b);a.a.jb(b,a.va.fn);return b.extend({trackArrayChanges:!0})};a.va.fn={remove:function(b){for(var c=this.A(),e=[],g="function"!=typeof b||a.S(b)?function(d){return d===b}:b,f=0;f<c.length;f++){var h=c[f];if(g(h)){0===e.length&&this.Oa();if(c[f]!==h)throw Error("Array modified during remove; cannot remove item");
|
||||
e.push(h);c.splice(f,1);f--}}e.length&&this.Na();return e},removeAll:function(b){if(void 0===b){var c=this.A(),e=c.slice(0);this.Oa();c.splice(0,c.length);this.Na();return e}return b?this.remove(function(g){return 0<=a.a.Z(b,g)}):[]},indexOf:function(b){return a.a.Z(this(),b)}};a.a.qa&&a.a.setPrototypeOf(a.va.fn,a.na.fn);"pop push reverse shift sort splice unshift".split(" ").forEach(b=>{a.va.fn[b]=function(){var c=this.A();this.Oa();this.oc(c,b,arguments);var e=c[b].apply(c,arguments);this.Na();
|
||||
return e===c?this:e}});["slice"].forEach(b=>{a.va.fn[b]=function(){var c=this();return c[b].apply(c,arguments)}});a.Bc=b=>a.S(b)&&"function"==typeof b.remove&&"function"==typeof b.push;a.b("observableArray",a.va);a.b("isObservableArray",a.Bc);a.Bb.trackArrayChanges=(b,c)=>{function e(){function q(){if(l){var t=[].concat(b.A()||[]);if(b.Ia("arrayChange")){if(!f||1<l)f=a.a.wb(k,t,b.vb);var x=f}k=t;f=null;l=0;x&&x.length&&b.notifySubscribers(x,"arrayChange")}}g?q():(g=!0,d=b.subscribe(()=>++l,null,"spectate"),
|
||||
k=[].concat(b.A()||[]),f=null,h=b.subscribe(q))}b.vb={};c&&"object"==typeof c&&a.a.extend(b.vb,c);b.vb.sparse=!0;if(!b.oc){var g=!1,f=null,h,d,l=0,k,m=b.Da,n=b.Sa;b.Da=q=>{m&&m.call(b,q);"arrayChange"===q&&e()};b.Sa=q=>{n&&n.call(b,q);"arrayChange"!==q||b.Ia("arrayChange")||(h&&h.o(),d&&d.o(),d=h=null,g=!1,k=void 0)};b.oc=(q,t,x)=>{function u(C,A,H){return w[w.length]={status:C,value:A,index:H}}if(g&&!l){var w=[],p=q.length,r=x.length,v=0;switch(t){case "push":v=p;case "unshift":for(t=0;t<r;t++)u("added",
|
||||
x[t],v+t);break;case "pop":v=p-1;case "shift":p&&u("deleted",q[v],v);break;case "splice":t=Math.min(Math.max(0,0>x[0]?p+x[0]:x[0]),p);p=1===r?p:Math.min(t+(x[1]||0),p);r=t+r-2;v=Math.max(p,r);for(var y=[],B=[],z=2;t<v;++t,++z)t<p&&B.push(u("deleted",q[t],t)),t<r&&y.push(u("added",x[z],t));a.a.xc(B,y);break;default:return}f=w}}}};var E=Symbol("_state");a.s=a.V=function(b,c,e){function g(){if(0<arguments.length){if("function"===typeof f)f.apply(h.Ya,arguments);else throw Error("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.");
|
||||
return this}h.la||a.m.Ob(g);(h.ha||h.F&&g.Ja())&&g.ba();return h.T}"object"===typeof b?e=b:(e=e||{},b&&(e.read=b));if("function"!=typeof e.read)throw Error("Pass a function that returns the value of the ko.computed");var f=e.write,h={T:void 0,ma:!0,ha:!0,cb:!1,Wb:!1,la:!1,hb:!1,F:!1,Hc:e.read,Ya:c||e.owner,l:e.disposeWhenNodeIsRemoved||e.l||null,Ea:e.disposeWhen||e.Ea,yb:null,D:{},R:0,wc:null};g[E]=h;g.zc="function"===typeof f;a.a.qa||a.a.extend(g,a.O.fn);a.O.fn.bb(g);a.a.jb(g,N);e.pure?(h.hb=!0,
|
||||
h.F=!0,a.a.extend(g,ka)):e.deferEvaluation&&a.a.extend(g,la);h.l&&(h.Wb=!0,h.l.nodeType||(h.l=null));h.F||e.deferEvaluation||g.ba();h.l&&g.ga()&&a.a.M.Ba(h.l,h.yb=function(){g.o()});return g};var N={equalityComparer:I,Za:function(){return this[E].R},Ha:function(){var b=[];a.a.K(this[E].D,(c,e)=>b[e.za]=e.ea);return b},Db:function(b){if(!this[E].R)return!1;var c=this.Ha();return-1!==a.a.Z(c,b)?!0:!!a.a.sb(c,e=>e.Db&&e.Db(b))},jc:function(b,c,e){if(this[E].hb&&c===this)throw Error("A 'pure' computed must not be called recursively");
|
||||
this[E].D[b]=e;e.za=this[E].R++;e.Aa=c.$a()},Ja:function(){var b,c=this[E].D;for(b in c)if(Object.prototype.hasOwnProperty.call(c,b)){var e=c[b];if(this.xa&&e.ea.ya||e.ea.hd(e.Aa))return!0}},yd:function(){this.xa&&!this[E].cb&&this.xa(!1)},ga:function(){var b=this[E];return b.ha||0<b.R},zd:function(){this.ya?this[E].ha&&(this[E].ma=!0):this.vc()},Kc:function(b){return b.subscribe(this.vc,this)},vc:function(){var b=this,c=b.throttleEvaluation;c&&0<=c?(clearTimeout(this[E].wc),this[E].wc=a.a.setTimeout(()=>
|
||||
b.ba(!0),c)):b.xa?b.xa(!0):b.ba(!0)},ba:function(b){var c=this[E],e=c.Ea,g=!1;if(!c.cb&&!c.la){if(c.l&&!a.a.zb(c.l)||e&&e()){if(!c.Wb){this.o();return}}else c.Wb=!1;c.cb=!0;try{g=this.ed(b)}finally{c.cb=!1}return g}},ed:function(b){var c=this[E],e=c.hb?void 0:!c.R;var g={Zc:this,Xa:c.D,xb:c.R};a.m.mc({Yc:g,Xc:ja,s:this,fb:e});c.D={};c.R=0;var f=this.dd(c,g);c.R?g=this.eb(c.T,f):(this.o(),g=!0);g&&(c.F?this.ob():this.notifySubscribers(c.T,"beforeChange"),c.T=f,this.notifySubscribers(c.T,"spectate"),
|
||||
!c.F&&b&&this.notifySubscribers(c.T),this.fc&&this.fc());e&&this.notifySubscribers(c.T,"awake");return g},dd:(b,c)=>{try{var e=b.Hc;return b.Ya?e.call(b.Ya):e()}finally{a.m.end(),c.xb&&!b.F&&a.a.K(c.Xa,Y),b.ma=b.ha=!1}},A:function(b){var c=this[E];(c.ha&&(b||!c.R)||c.F&&this.Ja())&&this.ba();return c.T},Gb:function(b){a.O.fn.Gb.call(this,b);this.bc=function(){this[E].F||(this[E].ma?this.ba():this[E].ha=!1);return this[E].T};this.xa=function(c){this.dc(this[E].T);this[E].ha=!0;c&&(this[E].ma=!0);this.ec(this,
|
||||
!c)}},o:function(){var b=this[E];!b.F&&b.D&&a.a.K(b.D,(c,e)=>e.o&&e.o());b.l&&b.yb&&a.a.M.ib(b.l,b.yb);b.D=void 0;b.R=0;b.la=!0;b.ma=!1;b.ha=!1;b.F=!1;b.l=void 0;b.Ea=void 0;b.Hc=void 0;this.zc||(b.Ya=void 0)}},ka={Da:function(b){var c=this,e=c[E];if(!e.la&&e.F&&"change"==b){e.F=!1;if(e.ma||c.Ja())e.D=null,e.R=0,c.ba()&&c.ob();else{var g=[];a.a.K(e.D,(f,h)=>g[h.za]=f);a.a.Y(g,(f,h)=>{var d=e.D[f],l=c.Kc(d.ea);l.za=h;l.Aa=d.Aa;e.D[f]=l});c.Ja()&&c.ba()&&c.ob()}e.la||c.notifySubscribers(e.T,"awake")}},
|
||||
Sa:function(b){var c=this[E];c.la||"change"!=b||this.Ia("change")||(a.a.K(c.D,(e,g)=>{g.o&&(c.D[e]={ea:g.ea,za:g.za,Aa:g.Aa},g.o())}),c.F=!0,this.notifySubscribers(void 0,"asleep"))},$a:function(){var b=this[E];b.F&&(b.ma||this.Ja())&&this.ba();return a.O.fn.$a.call(this)}},la={Da:function(b){"change"!=b&&"beforeChange"!=b||this.A()}};a.a.qa&&a.a.setPrototypeOf(N,a.O.fn);var aa=a.na.Qc;N[aa]=a.s;a.Ac=b=>"function"==typeof b&&b[aa]===N[aa];a.kd=b=>a.Ac(b)&&b[E]&&b[E].hb;a.b("computed",a.s);a.b("dependentObservable",
|
||||
a.s);a.b("isComputed",a.Ac);a.b("isPureComputed",a.kd);a.b("computed.fn",N);a.G(N,"peek",N.A);a.G(N,"dispose",N.o);a.G(N,"isActive",N.ga);a.G(N,"getDependenciesCount",N.Za);a.G(N,"getDependencies",N.Ha);a.Nb=(b,c)=>{if("function"===typeof b)return a.s(b,c,{pure:!0});b=a.a.extend({},b);b.pure=!0;return a.s(b,c)};a.b("pureComputed",a.Nb);a.wd=(b,c,e)=>{function g(f){var h=a.Nb(b,e).extend({notify:"always"}),d=h.subscribe(l=>{l&&(d.o(),f(l))});h.notifySubscribers(h.A());return d}return c?g(c.bind(e)):
|
||||
new Promise(g)};a.b("when",a.wd);(()=>{a.v={N:b=>{switch(a.a.ia(b)){case "option":return!0===b.__ko__hasDomDataOptionValue__?a.a.c.get(b,a.f.options.Kb):b.value;case "select":return 0<=b.selectedIndex?a.v.N(b.options[b.selectedIndex]):void 0;default:return b.value}},Pa:(b,c,e)=>{switch(a.a.ia(b)){case "option":"string"===typeof c?(a.a.c.set(b,a.f.options.Kb,void 0),delete b.__ko__hasDomDataOptionValue__,b.value=c):(a.a.c.set(b,a.f.options.Kb,c),b.__ko__hasDomDataOptionValue__=!0,b.value="number"===
|
||||
typeof c?c:"");break;case "select":if(""===c||null===c)c=void 0;for(var g=-1,f=0,h=b.options.length,d;f<h;++f)if(d=a.v.N(b.options[f]),d==c||""===d&&void 0===c){g=f;break}if(e||0<=g||void 0===c&&1<b.size)b.selectedIndex=g;break;default:if(null===c||void 0===c)c="";b.value=c}}}})();a.b("selectExtensions",a.v);a.b("selectExtensions.readValue",a.v.N);a.b("selectExtensions.writeValue",a.v.Pa);a.u=(()=>{function b(l){l=a.a.Ub(l);123===l.charCodeAt(0)&&(l=l.slice(1,-1));l+="\n,";var k=[],m=l.match(g),n=
|
||||
[],q=0;if(1<m.length){for(var t=0,x;x=m[t];++t){var u=x.charCodeAt(0);if(44===u){if(0>=q){k.push(w&&n.length?{key:w,value:n.join("")}:{unknown:w||n.join("")});var w=q=0;n=[];continue}}else if(58===u){if(!q&&!w&&1===n.length){w=n.pop();continue}}else if(47===u&&1<x.length&&(47===x.charCodeAt(1)||42===x.charCodeAt(1)))continue;else 47===u&&t&&1<x.length?(u=m[t-1].match(f))&&!h[u[0]]&&(l=l.substr(l.indexOf(x)+1),m=l.match(g),t=-1,x="/"):40===u||123===u||91===u?++q:41===u||125===u||93===u?--q:w||n.length||
|
||||
34!==u&&39!==u||(x=x.slice(1,-1));n.push(x)}if(0<q)throw Error("Unbalanced parentheses, braces, or brackets");}return k}var c=["true","false","null","undefined"],e=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,g=/"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|`(?:\\.|[^`])*`|\/\*(?:[^*]|\*+[^*/])*\*+\/|\/\/.*\n|\/(?:\\.|[^/])+\/w*|[^\s:,/][^,"'`{}()/:[\]]*[^\s,"'`{}()/:[\]]|[^\s]/g,f=/[\])"'A-Za-z0-9_$]+$/,h={"in":1,"return":1,"typeof":1},d={};return{Va:[],nb:d,Lb:b,Mb:function(l,k){function m(u,w){if(!x){var p=
|
||||
a.getBindingHandler(u);if(p&&p.preprocess&&!(w=p.preprocess(w,u,m)))return;if(p=d[u]){var r=w;0<=a.a.Z(c,r)?r=!1:(p=r.match(e),r=null===p?!1:p[1]?"Object("+p[1]+")"+p[2]:r);p=r}p&&q.push("'"+("string"==typeof d[u]?d[u]:u)+"':function(_z){"+r+"=_z}")}t&&(w="function(){return "+w+" }");n.push("'"+u+"':"+w)}k=k||{};var n=[],q=[],t=k.valueAccessors,x=k.bindingParams;l="string"===typeof l?b(l):l;a.a.Y(l,u=>m(u.key||u.unknown,u.value));q.length&&m("_ko_property_writers","{"+q.join(",")+" }");return n.join(",")},
|
||||
md:(l,k)=>{for(var m=0;m<l.length;m++)if(l[m].key==k)return!0;return!1},Zb:(l,k,m,n,q)=>{if(l&&a.S(l))!a.Fb(l)||q&&l.A()===n||l(n);else if((l=k.get("_ko_property_writers"))&&l[m])l[m](n)}}})();a.b("expressionRewriting",a.u);a.b("expressionRewriting.bindingRewriteValidators",a.u.Va);a.b("expressionRewriting.parseObjectLiteral",a.u.Lb);a.b("expressionRewriting.preProcessBindings",a.u.Mb);(()=>{function b(d){return 8==d.nodeType&&g.test(d.nodeValue)}function c(d){return 8==d.nodeType&&f.test(d.nodeValue)}
|
||||
function e(d,l){for(var k=d,m=1,n=[];k=k.nextSibling;){if(c(k)&&(a.a.c.set(k,h,!0),m--,0===m))return n;n.push(k);b(k)&&m++}if(!l)throw Error("Cannot find closing comment tag to match: "+d.nodeValue);return null}var g=/^\s*ko(?:\s+([\s\S]+))?\s*$/,f=/^\s*\/ko\s*$/,h="__ko_matchedEndComment__";a.g={oa:{},childNodes:d=>b(d)?e(d):d.childNodes,Fa:d=>{if(b(d)){d=a.g.childNodes(d);for(var l=0,k=d.length;l<k;l++)a.removeNode(d[l])}else a.a.Ab(d)},wa:(d,l)=>{if(b(d)){a.g.Fa(d);d=d.nextSibling;for(var k=0,
|
||||
m=l.length;k<m;k++)d.parentNode.insertBefore(l[k],d)}else a.a.wa(d,l)},prepend:(d,l)=>{if(b(d)){var k=d.nextSibling;d=d.parentNode}else k=d.firstChild;d.insertBefore(l,k)},Eb:(d,l,k)=>{k?(k=k.nextSibling,b(d)&&(d=d.parentNode),d.insertBefore(l,k)):a.g.prepend(d,l)},firstChild:d=>{if(!b(d)){if(d.firstChild&&c(d.firstChild))throw Error("Found invalid end comment, as the first child of "+d);return d.firstChild}return!d.nextSibling||c(d.nextSibling)?null:d.nextSibling},nextSibling:d=>{if(b(d)){var l=
|
||||
e(d,void 0);d=l?0<l.length?l[l.length-1].nextSibling:d.nextSibling:null}if(d.nextSibling&&c(d.nextSibling)){l=d.nextSibling;if(c(l)&&!a.a.c.get(l,h))throw Error("Found end comment without a matching opening comment, as child of "+d);return null}return d.nextSibling},gd:b,vd:d=>(d=d.nodeValue.match(g))?d[1]:null}})();a.b("virtualElements",a.g);a.b("virtualElements.allowedBindings",a.g.oa);a.b("virtualElements.emptyNode",a.g.Fa);a.b("virtualElements.insertAfter",a.g.Eb);a.b("virtualElements.prepend",
|
||||
a.g.prepend);a.b("virtualElements.setDomNodeChildren",a.g.wa);(function(){a.aa=function(){this.Wc={}};a.a.extend(a.aa.prototype,{nodeHasBindings:b=>{switch(b.nodeType){case 1:return null!=b.getAttribute("data-bind")||a.j.getComponentNameForNode(b);case 8:return a.g.gd(b);default:return!1}},getBindings:function(b,c){var e=this.getBindingsString(b,c);e=e?this.parseBindingsString(e,c,b):null;return a.j.ic(e,b,c,!1)},getBindingAccessors:function(b,c){var e=this.getBindingsString(b,c);e=e?this.parseBindingsString(e,
|
||||
c,b,{valueAccessors:!0}):null;return a.j.ic(e,b,c,!0)},getBindingsString:b=>{switch(b.nodeType){case 1:return b.getAttribute("data-bind");case 8:return a.g.vd(b)}return null},parseBindingsString:function(b,c,e,g){try{var f=this.Wc,h=b+(g&&g.valueAccessors||""),d;if(!(d=f[h])){var l="with($context){with($data||{}){return{"+a.u.Mb(b,g)+"}}}";var k=new Function("$context","$element",l);d=f[h]=k}return d(c,e)}catch(m){throw m.message="Unable to parse bindings.\nBindings value: "+b+"\nMessage: "+m.message,
|
||||
m;}}});a.aa.instance=new a.aa})();a.b("bindingProvider",a.aa);(()=>{function b(p){var r=(p=a.a.c.get(p,w))&&p.I;r&&(p.I=null,r.Ec())}function c(p,r,v){this.node=p;this.nc=r;this.Ua=[];this.J=!1;r.I||a.a.M.Ba(p,b);v&&v.I&&(v.I.Ua.push(p),this.rb=v)}function e(p){return a.a.ua(a.m.H(p),(r,v)=>()=>p()[v])}function g(p,r,v){return"function"===typeof p?e(p.bind(null,r,v)):a.a.ua(p,y=>()=>y)}function f(p,r){return e(this.getBindings.bind(this,p,r))}function h(p,r){var v=a.g.firstChild(r);if(v){var y,B=
|
||||
a.aa.instance,z=B.preprocessNode;if(z){for(;y=v;)v=a.g.nextSibling(y),z.call(B,y);v=a.g.firstChild(r)}for(;y=v;)v=a.g.nextSibling(y),d(p,y)}a.i.notify(r,a.i.J)}function d(p,r){var v=p;if(1===r.nodeType||a.aa.instance.nodeHasBindings(r))v=k(r,null,p).bindingContextForDescendants;v&&!x[a.a.ia(r)]&&h(v,r)}function l(p){var r=[],v={},y=[];a.a.K(p,function C(z){if(!v[z]){var A=a.getBindingHandler(z);A&&(A.after&&(y.push(z),a.a.Y(A.after,H=>{if(p[H]){if(-1!==a.a.Z(y,H))throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+
|
||||
y.join(", "));C(H)}}),y.length--),r.push({key:z,yc:A}));v[z]=!0}});return r}function k(p,r,v){var y=a.a.c.Cb(p,w,{}),B=y.Rc;if(!r){if(B)throw Error("You cannot apply bindings multiple times to the same element.");y.Rc=!0}B||(y.context=v);y.Jb||(y.Jb={});if(r&&"function"!==typeof r)var z=r;else{var C=a.aa.instance,A=C.getBindingAccessors||f,H=a.V(()=>{if(z=r?r(v,p):A.call(C,p,v)){if(v[n])v[n]();if(v[t])v[t]()}return z},null,{l:p});z&&H.ga()||(H=null)}var O=v,K;if(z){var L=H?D=>()=>H()[D]():D=>z[D];
|
||||
function M(){return a.a.ua(H?H():z,D=>D())}M.get=D=>z[D]&&L(D)();M.has=D=>D in z;a.i.J in z&&a.i.subscribe(p,a.i.J,()=>{var D=z[a.i.J]();if(D){var T=a.g.childNodes(p);T.length&&D(T,a.sc(T[0]))}});a.i.ra in z&&(O=a.i.Tb(p,v),a.i.subscribe(p,a.i.ra,()=>{var D=z[a.i.ra]();D&&a.g.firstChild(p)&&D(p)}));y=l(z);a.a.Y(y,D=>{var T=D.yc.init,da=D.yc.update,U=D.key;if(8===p.nodeType&&!a.g.oa[U])throw Error("The binding '"+U+"' cannot be used with virtual elements");try{"function"==typeof T&&a.m.H(()=>{var X=
|
||||
T(p,L(U),M,O.$data,O);if(X&&X.controlsDescendantBindings){if(void 0!==K)throw Error("Multiple bindings ("+K+" and "+U+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");K=U}}),"function"==typeof da&&a.V(()=>da(p,L(U),M,O.$data,O),null,{l:p})}catch(X){throw X.message='Unable to process binding "'+U+": "+z[U]+'"\nMessage: '+X.message,X;}})}y=void 0===K;return{shouldBindDescendants:y,bindingContextForDescendants:y&&O}}function m(p,
|
||||
r){return p&&p instanceof a.$?p:new a.$(p,void 0,void 0,r)}var n=Symbol("_subscribable"),q=Symbol("_ancestorBindingInfo"),t=Symbol("_dataDependency");a.f={};var x={script:!0,textarea:!0,template:!0};a.getBindingHandler=p=>a.f[p];var u={};a.$=function(p,r,v,y,B){function z(){var M=O?H():H,D=a.a.h(M);r?(a.a.extend(C,r),q in r&&(C[q]=r[q])):(C.$parents=[],C.$root=D,C.ko=a);C[n]=L;A?D=C.$data:(C.$rawData=M,C.$data=D);v&&(C[v]=D);y&&y(C,r,D);if(r&&r[n]&&!a.ka.s().Db(r[n]))r[n]();K&&(C[t]=K);return C.$data}
|
||||
var C=this,A=p===u,H=A?void 0:p,O="function"==typeof H&&!a.S(H),K=B&&B.dataDependency;if(B&&B.exportDependencies)z();else{var L=a.Nb(z);L.A();L.ga()?L.equalityComparer=null:C[n]=void 0}};a.$.prototype.createChildContext=function(p,r,v,y){!y&&r&&"object"==typeof r&&(y=r,r=y.as,v=y.extend);if(r&&y&&y.noChildContext){var B="function"==typeof p&&!a.S(p);return new a.$(u,this,null,z=>{v&&v(z);z[r]=B?p():p},y)}return new a.$(p,this,r,(z,C)=>{z.$parentContext=C;z.$parent=C.$data;z.$parents=(C.$parents||
|
||||
[]).slice(0);z.$parents.unshift(z.$parent);v&&v(z)},y)};a.$.prototype.extend=function(p,r){return new a.$(u,this,null,v=>a.a.extend(v,"function"==typeof p?p(v):p),r)};var w=a.a.c.ca();c.prototype.Ec=function(){this.rb&&this.rb.I&&this.rb.I.$c(this.node)};c.prototype.$c=function(p){a.a.Ca(this.Ua,p);!this.Ua.length&&this.J&&this.rc()};c.prototype.rc=function(){this.J=!0;this.nc.I&&!this.Ua.length&&(this.nc.I=null,a.a.M.ib(this.node,b),a.i.notify(this.node,a.i.ra),this.Ec())};a.i={J:"childrenComplete",
|
||||
ra:"descendantsComplete",subscribe:(p,r,v,y,B)=>{var z=a.a.c.Cb(p,w,{});z.sa||(z.sa=new a.O);B&&B.notifyImmediately&&z.Jb[r]&&a.m.H(v,y,[p]);return z.sa.subscribe(v,y,r)},notify:(p,r)=>{var v=a.a.c.get(p,w);if(v&&(v.Jb[r]=!0,v.sa&&v.sa.notifySubscribers(p,r),r==a.i.J))if(v.I)v.I.rc();else if(void 0===v.I&&v.sa&&v.sa.Ia(a.i.ra))throw Error("descendantsComplete event not supported for bindings on this node");},Tb:(p,r)=>{var v=a.a.c.Cb(p,w,{});v.I||(v.I=new c(p,v,r[q]));return r[q]==v?r:r.extend(y=>
|
||||
{y[q]=v})}};a.sd=p=>(p=a.a.c.get(p,w))&&p.context;a.Ta=(p,r,v)=>k(p,r,m(v));a.Uc=(p,r,v)=>{v=m(v);return a.Ta(p,g(r,v,p),v)};a.lc=(p,r)=>{1!==r.nodeType&&8!==r.nodeType||h(m(p),r)};a.kc=function(p,r,v){if(2>arguments.length){if(r=W.body,!r)throw Error("ko.applyBindings: could not find document.body; has the document been loaded?");}else if(!r||1!==r.nodeType&&8!==r.nodeType)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");d(m(p,v),r)};
|
||||
a.sc=p=>(p=p&&[1,8].includes(p.nodeType)&&a.sd(p))?p.$data:void 0;a.b("bindingHandlers",a.f);a.b("bindingEvent",a.i);a.b("bindingEvent.subscribe",a.i.subscribe);a.b("bindingEvent.startPossiblyAsyncContentBinding",a.i.Tb);a.b("applyBindings",a.kc);a.b("applyBindingsToDescendants",a.lc);a.b("applyBindingAccessorsToNode",a.Ta);a.b("applyBindingsToNode",a.Uc);a.b("dataFor",a.sc)})();(()=>{function b(d,l){return Object.prototype.hasOwnProperty.call(d,l)?d[l]:void 0}function c(d,l){var k=b(f,d);if(k)k.subscribe(l);
|
||||
else{k=f[d]=new a.O;k.subscribe(l);e(d,(n,q)=>{q=!(!q||!q.synchronous);h[d]={definition:n,ld:q};delete f[d];m||q?k.notifySubscribers(n):a.lb.Qb(()=>k.notifySubscribers(n))});var m=!0}}function e(d,l){g("getConfig",[d],k=>{k?g("loadComponent",[d,k],m=>l(m,k)):l(null,null)})}function g(d,l,k,m){m||(m=a.j.loaders.slice(0));var n=m.shift();if(n){var q=n[d];if(q){var t=!1;if(void 0!==q.apply(n,l.concat(function(x){t?k(null):null!==x?k(x):g(d,l,k,m)}))&&(t=!0,!n.suppressLoaderExceptions))throw Error("Component loaders must supply values by invoking the callback, not by returning values synchronously.");
|
||||
}else g(d,l,k,m)}else k(null)}var f={},h={};a.j={get:(d,l)=>{var k=b(h,d);k?k.ld?a.m.H(()=>l(k.definition)):a.lb.Qb(()=>l(k.definition)):c(d,l)},qc:d=>delete h[d],cc:g};a.j.loaders=[];a.b("components",a.j);a.b("components.get",a.j.get);a.b("components.clearCachedDefinition",a.j.qc)})();(()=>{function b(d,l,k,m){var n={},q=2;l=k.template;k=k.viewModel;l?a.j.cc("loadTemplate",[d,l],t=>{n.template=t;0===--q&&m(n)}):0===--q&&m(n);k?a.j.cc("loadViewModel",[d,k],t=>{n[h]=t;0===--q&&m(n)}):0===--q&&m(n)}
|
||||
function c(d,l,k){if("function"===typeof l)k(n=>new l(n));else if("function"===typeof l[h])k(l[h]);else if("instance"in l){var m=l.instance;k(()=>m)}else"viewModel"in l?c(d,l.viewModel,k):d("Unknown viewModel value: "+l)}function e(d){if("template"==a.a.ia(d)&&d.content instanceof DocumentFragment)return a.a.ub(d.content.childNodes);throw"Template Source Element not a <template>";}function g(d){return l=>{throw Error("Component '"+d+"': "+l);}}var f={};a.j.register=(d,l)=>{if(!l)throw Error("Invalid configuration for "+
|
||||
d);if(a.j.gb(d))throw Error("Component "+d+" is already registered");f[d]=l};a.j.gb=d=>Object.prototype.hasOwnProperty.call(f,d);a.j.unregister=d=>{delete f[d];a.j.qc(d)};a.j.tc={getConfig:(d,l)=>{d=a.j.gb(d)?f[d]:null;l(d)},loadComponent:(d,l,k)=>{var m=g(d);b(d,m,l,k)},loadTemplate:(d,l,k)=>{d=g(d);if("string"===typeof l)k(a.a.Ka(l));else if(l instanceof Array)k(l);else if(l instanceof DocumentFragment)k(a.a.ta(l.childNodes));else if(l.element)if(l=l.element,l instanceof HTMLElement)k(e(l));else if("string"===
|
||||
typeof l){var m=W.getElementById(l);m?k(e(m)):d("Cannot find element with ID "+l)}else d("Unknown element type: "+l);else d("Unknown template value: "+l)},loadViewModel:(d,l,k)=>c(g(d),l,k)};var h="createViewModel";a.b("components.register",a.j.register);a.b("components.isRegistered",a.j.gb);a.b("components.unregister",a.j.unregister);a.b("components.defaultLoader",a.j.tc);a.j.loaders.push(a.j.tc)})();(()=>{function b(e,g){var f=e.getAttribute("params");return f?(g=c.parseBindingsString(f,g,e,{valueAccessors:!0,
|
||||
bindingParams:!0}),g=a.a.ua(g,h=>a.s(h,null,{l:e})),f=a.a.ua(g,h=>{var d=h.A();return h.ga()?a.s({read:()=>a.a.h(h()),write:a.Fb(d)&&(l=>h()(l)),l:e}):d}),Object.prototype.hasOwnProperty.call(f,"$raw")||(f.$raw=g),f):{$raw:{}}}a.j.getComponentNameForNode=e=>{var g=a.a.ia(e);if(a.j.gb(g)&&(-1!=g.indexOf("-")||"[object HTMLUnknownElement]"==""+e))return g};a.j.ic=(e,g,f,h)=>{if(1===g.nodeType){var d=a.j.getComponentNameForNode(g);if(d){e=e||{};if(e.component)throw Error('Cannot use the "component" binding on a custom element matching a component');
|
||||
var l={name:d,params:b(g,f)};e.component=h?()=>l:l}}return e};var c=new a.aa})();(()=>{function b(g,f,h){f=f.template;if(!f)throw Error("Component '"+g+"' has no template");g=a.a.ub(f);a.g.wa(h,g)}function c(g,f,h){var d=g.createViewModel;return d?d.call(g,f,h):f}var e=0;a.f.component={init:(g,f,h,d,l)=>{var k,m,n,q=()=>{var x=k&&k.dispose;"function"===typeof x&&x.call(k);n&&n.o();m=k=n=null},t=a.a.ta(a.g.childNodes(g));a.g.Fa(g);a.a.M.Ba(g,q);a.s(()=>{var x=a.a.h(f());if("string"===typeof x)var u=
|
||||
x;else{u=a.a.h(x.name);var w=a.a.h(x.params)}if(!u)throw Error("No component name specified");var p=a.i.Tb(g,l),r=m=++e;a.j.get(u,v=>{if(m===r){q();if(!v)throw Error("Unknown component '"+u+"'");b(u,v,g);var y=c(v,w,{element:g,templateNodes:t});v=p.createChildContext(y,{extend:B=>{B.$component=y;B.$componentTemplateNodes=t}});y&&y.koDescendantsComplete&&(n=a.i.subscribe(g,a.i.ra,y.koDescendantsComplete,y));k=y;a.lc(v,g)}})},null,{l:g});return{controlsDescendantBindings:!0}}};a.g.oa.component=!0})();
|
||||
a.f.attr={update:(b,c)=>{c=a.a.h(c())||{};a.a.K(c,function(e,g){g=a.a.h(g);var f=e.indexOf(":");f="lookupNamespaceURI"in b&&0<f&&b.lookupNamespaceURI(e.substr(0,f));var h=!1===g||null===g||void 0===g;h?f?b.removeAttributeNS(f,e):b.removeAttribute(e):g=g.toString();h||(f?b.setAttributeNS(f,e,g):b.setAttribute(e,g));"name"===e&&(b.name=h?"":g)})}};a.f["class"]={update:(b,c)=>{c=a.a.Ub(a.a.h(c()));a.a.mb(b,b.__ko__cssValue,!1);b.__ko__cssValue=c;a.a.mb(b,c,!0)}};a.f.css={update:(b,c)=>{var e=a.a.h(c());
|
||||
null!==e&&"object"==typeof e?a.a.K(e,(g,f)=>{f=a.a.h(f);a.a.mb(b,g,f)}):a.f["class"].update(b,c)}};a.f.enable={update:(b,c)=>{(c=a.a.h(c()))&&b.disabled?b.removeAttribute("disabled"):c||b.disabled||(b.disabled=!0)}};a.f.disable={update:(b,c)=>a.f.enable.update(b,()=>!a.a.h(c()))};a.f.event={init:(b,c,e,g,f)=>{var h=c()||{};a.a.K(h,d=>{"string"==typeof d&&a.a.L(b,d,function(l){var k=c()[d];if(k){try{var m=a.a.ta(arguments);g=f.$data;m.unshift(g);var n=k.apply(g,m)}finally{!0!==n&&(l.preventDefault?
|
||||
l.preventDefault():l.returnValue=!1)}!1===e.get(d+"Bubble")&&(l.cancelBubble=!0,l.stopPropagation&&l.stopPropagation())}})})}};a.f.foreach={Dc:b=>()=>{var c=b(),e=a.a.Gc(c);if(!e||"number"==typeof e.length)return{foreach:c,templateEngine:a.X.instance};a.a.h(c);return{foreach:e.data,as:e.as,noChildContext:e.noChildContext,includeDestroyed:e.includeDestroyed,afterAdd:e.afterAdd,beforeRemove:e.beforeRemove,afterRender:e.afterRender,beforeMove:e.beforeMove,afterMove:e.afterMove,templateEngine:a.X.instance}},
|
||||
init:(b,c)=>a.f.template.init(b,a.f.foreach.Dc(c)),update:(b,c,e,g,f)=>a.f.template.update(b,a.f.foreach.Dc(c),e,g,f)};a.u.Va.foreach=!1;a.g.oa.foreach=!0;a.f.hasfocus={init:(b,c,e)=>{var g=h=>{b.__ko_hasfocusUpdating=!0;h=b.ownerDocument.activeElement===b;var d=c();a.u.Zb(d,e,"hasfocus",h,!0);b.__ko_hasfocusLastValue=h;b.__ko_hasfocusUpdating=!1},f=g.bind(null,!0);g=g.bind(null,!1);a.a.L(b,"focus",f);a.a.L(b,"focusin",f);a.a.L(b,"blur",g);a.a.L(b,"focusout",g);b.__ko_hasfocusLastValue=!1},update:(b,
|
||||
c)=>{c=!!a.a.h(c());b.__ko_hasfocusUpdating||b.__ko_hasfocusLastValue===c||(c?b.focus():b.blur())}};a.u.nb.hasfocus=!0;a.f.hasFocus=a.f.hasfocus;a.u.nb.hasFocus="hasfocus";a.f.html={init:()=>({controlsDescendantBindings:!0}),update:(b,c)=>a.a.Sb(b,c())};var ba={};a.f.options={init:b=>{if("select"!==a.a.ia(b))throw Error("options binding applies only to SELECT elements");for(;0<b.length;)b.remove(0);return{controlsDescendantBindings:!0}},update:(b,c,e)=>{function g(){return Array.from(b.options).filter(u=>
|
||||
u.selected)}function f(u,w,p){var r=typeof w;return"function"==r?w(u):"string"==r?u[w]:p}function h(u,w){t&&m?a.i.notify(b,a.i.J):n.length&&(u=0<=a.a.Z(n,a.v.N(w[0])),w[0].selected=u,t&&!u&&a.m.H(a.a.Yb,null,[b,"change"]))}var d=b.multiple,l=0!=b.length&&d?b.scrollTop:null,k=a.a.h(c()),m=e.get("valueAllowUnset")&&e.has("value");c={};var n=[];m||(d?n=g().map(a.v.N):0<=b.selectedIndex&&n.push(a.v.N(b.options[b.selectedIndex])));if(k){"undefined"==typeof k.length&&(k=[k]);var q=k.filter(u=>u||null==
|
||||
u);e.has("optionsCaption")&&(k=a.a.h(e.get("optionsCaption")),null!==k&&void 0!==k&&q.unshift(ba))}var t=!1;c.beforeRemove=u=>b.removeChild(u);k=h;e.has("optionsAfterRender")&&"function"==typeof e.get("optionsAfterRender")&&(k=(u,w)=>{h(u,w);a.m.H(e.get("optionsAfterRender"),null,[w[0],u!==ba?u:void 0])});a.a.Rb(b,q,function(u,w,p){p.length&&(n=!m&&p[0].selected?[a.v.N(p[0])]:[],t=!0);w=b.ownerDocument.createElement("option");u===ba?(a.a.kb(w,e.get("optionsCaption")),a.v.Pa(w,void 0)):(p=f(u,e.get("optionsValue"),
|
||||
u),a.v.Pa(w,a.a.h(p)),u=f(u,e.get("optionsText"),p),a.a.kb(w,u));return[w]},c,k);if(!m){var x;d?x=n.length&&g().length<n.length:x=n.length&&0<=b.selectedIndex?a.v.N(b.options[b.selectedIndex])!==n[0]:n.length||0<=b.selectedIndex;x&&a.m.H(a.a.Yb,null,[b,"change"])}(m||a.ka.fb())&&a.i.notify(b,a.i.J);l&&20<Math.abs(l-b.scrollTop)&&(b.scrollTop=l)}};a.f.options.Kb=a.a.c.ca();a.f.style={update:(b,c)=>{c=a.a.h(c()||{});a.a.K(c,(e,g)=>{g=a.a.h(g);if(null===g||void 0===g||!1===g)g="";if(/^--/.test(e))b.style.setProperty(e,
|
||||
g);else{e=e.replace(/-(\w)/g,(h,d)=>d.toUpperCase());var f=b.style[e];b.style[e]=g;g===f||b.style[e]!=f||isNaN(g)||(b.style[e]=g+"px")}})}};a.f.submit={init:(b,c,e,g,f)=>{if("function"!=typeof c())throw Error("The value for a submit binding must be a function");a.a.L(b,"submit",h=>{var d=c();try{var l=d.call(f.$data,b)}finally{!0!==l&&(h.preventDefault?h.preventDefault():h.returnValue=!1)}})}};a.f.text={init:()=>({controlsDescendantBindings:!0}),update:(b,c)=>a.a.kb(b,c())};a.g.oa.text=!0;a.f.textInput=
|
||||
{init:(b,c,e)=>{var g=b.value,f,h,d=()=>{clearTimeout(f);h=f=void 0;var k=b.value;g!==k&&(g=k,a.u.Zb(c(),e,"textInput",k))},l=()=>{var k=a.a.h(c());if(null===k||void 0===k)k="";void 0!==h&&k===h?a.a.setTimeout(l,4):b.value!==k&&(b.value=k,g=b.value)};a.a.L(b,"input",d);a.a.L(b,"change",d);a.a.L(b,"blur",d);a.s(l,null,{l:b})}};a.u.nb.textInput=!0;a.f.textinput={preprocess:(b,c,e)=>e("textInput",b)};a.f.value={init:(b,c,e)=>{var g=a.a.ia(b),f="input"==g;if(!f||"checkbox"!=b.type&&"radio"!=b.type){var h=
|
||||
[],d=e.get("valueUpdate"),l=null;d&&("string"==typeof d?h=[d]:h=d?d.filter((q,t)=>d.indexOf(q)===t):[],a.a.Ca(h,"change"));var k=()=>{l=null;var q=c(),t=a.v.N(b);a.u.Zb(q,e,"value",t)};a.a.Y(h,q=>{var t=k;a.a.ud(q,"after")&&(t=()=>{l=a.v.N(b);a.a.setTimeout(k,0)},q=q.substring(5));a.a.L(b,q,t)});var m=f&&"file"==b.type?()=>{var q=a.a.h(c());null===q||void 0===q||""===q?b.value="":a.m.H(k)}:()=>{var q=a.a.h(c()),t=a.v.N(b);if(null!==l&&q===l)a.a.setTimeout(m,0);else if(q!==t||void 0===t)"select"===
|
||||
g?(t=e.get("valueAllowUnset"),a.v.Pa(b,q,t),t||q===a.v.N(b)||a.m.H(k)):a.v.Pa(b,q)};if("select"===g){var n;a.i.subscribe(b,a.i.J,()=>{n?e.get("valueAllowUnset")?m():k():(a.a.L(b,"change",k),n=a.s(m,null,{l:b}))},null,{notifyImmediately:!0})}else a.a.L(b,"change",k),a.s(m,null,{l:b})}else a.Ta(b,{checkedValue:c})},update:()=>{}};a.u.nb.value=!0;a.f.visible={update:(b,c)=>{c=a.a.h(c());var e="none"!=b.style.display;c&&!e?b.style.display="":!c&&e&&(b.style.display="none")}};a.f.hidden={update:(b,c)=>
|
||||
a.f.visible.update(b,()=>!a.a.h(c()))};(function(b){a.f[b]={init:function(c,e,g,f,h){return a.f.event.init.call(this,c,()=>{var d={};d[b]=e();return d},g,f,h)}}})("click");a.da=function(){};a.da.prototype.renderTemplateSource=()=>{throw Error("Override renderTemplateSource");};a.da.prototype.createJavaScriptEvaluatorBlock=()=>{throw Error("Override createJavaScriptEvaluatorBlock");};a.da.prototype.makeTemplateSource=(b,c)=>{if("string"==typeof b){c=c||W;c=c.getElementById(b);if(!c)throw Error("Cannot find template with ID "+
|
||||
b);return new a.B.C(c)}if(1==b.nodeType||8==b.nodeType)return new a.B.fa(b);throw Error("Unknown template type: "+b);};a.da.prototype.renderTemplate=function(b,c,e,g){b=this.makeTemplateSource(b,g);return this.renderTemplateSource(b,c,e,g)};a.da.prototype.isTemplateRewritten=function(b,c){return!1===this.allowTemplateRewriting?!0:this.makeTemplateSource(b,c).data("isRewritten")};a.da.prototype.rewriteTemplate=function(b,c,e){b=this.makeTemplateSource(b,e);c=c(b.text());b.text(c);b.data("isRewritten",
|
||||
!0)};a.b("templateEngine",a.da);a.Xb=(()=>{function b(g,f,h,d){g=a.u.Lb(g);for(var l=a.u.Va,k=0;k<g.length;k++){var m=g[k].key;if(Object.prototype.hasOwnProperty.call(l,m)){var n=l[m];if("function"===typeof n){if(m=n(g[k].value))throw Error(m);}else if(!n)throw Error("This template engine does not support the '"+m+"' binding within its templates");}}h="ko.__tr_ambtns(function($context,$element){return(function(){return{ "+a.u.Mb(g,{valueAccessors:!0})+" } })()},'"+h.toLowerCase()+"')";return d.createJavaScriptEvaluatorBlock(h)+
|
||||
f}var c=/(<([a-z]+\d*)(?:\s+(?!data-bind\s*=\s*)[a-z0-9\-]+(?:=(?:"[^"]*"|'[^']*'|[^>]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,e=/\x3c!--\s*ko\b\s*([\s\S]*?)\s*--\x3e/g;return{cd:(g,f,h)=>{f.isTemplateRewritten(g,h)||f.rewriteTemplate(g,d=>a.Xb.od(d,f),h)},od:(g,f)=>g.replace(c,(...h)=>b(h[4],h[1],h[2],f)).replace(e,(...h)=>b(h[1],"\x3c!-- ko --\x3e","#comment",f)),Vc:(g,f)=>a.W.Hb((h,d)=>{(h=h.nextSibling)&&h.nodeName.toLowerCase()===f&&a.Ta(h,g,d)})}})();a.b("__tr_ambtns",a.Xb.Vc);(()=>{a.B=
|
||||
{};a.B.C=function(e){if(this.C=e){var g=a.a.ia(e);this.La="script"===g?1:"textarea"===g?2:"template"==g&&e.content&&11===e.content.nodeType?3:4}};a.B.C.prototype.text=function(){var e=1===this.La?"text":2===this.La?"value":"innerHTML";if(0==arguments.length)return this.C[e];var g=arguments[0];"innerHTML"===e?a.a.Sb(this.C,g):this.C[e]=g};var b=a.a.c.ca()+"_";a.B.C.prototype.data=function(e){if(1===arguments.length)return a.a.c.get(this.C,b+e);a.a.c.set(this.C,b+e,arguments[1])};var c=a.a.c.ca();a.B.C.prototype.nodes=
|
||||
function(){var e=this.C;if(0==arguments.length){var g=a.a.c.get(e,c)||{},f=g.Wa||(3===this.La?e.content:4===this.La?e:void 0);if(!f||g.Sc){var h=this.text();h&&h!==g.Ma&&(f=a.a.qd(h,e.ownerDocument),a.a.c.set(e,c,{Wa:f,Ma:h,Sc:!0}))}return f}g=arguments[0];void 0!==this.La&&this.text("");a.a.c.set(e,c,{Wa:g})};a.B.fa=function(e){this.C=e};a.B.fa.prototype=new a.B.C;a.B.fa.prototype.constructor=a.B.fa;a.B.fa.prototype.text=function(){if(0==arguments.length){var e=a.a.c.get(this.C,c)||{};void 0===e.Ma&&
|
||||
e.Wa&&(e.Ma=e.Wa.innerHTML);return e.Ma}a.a.c.set(this.C,c,{Ma:arguments[0]})};a.b("templateSources",a.B);a.b("templateSources.domElement",a.B.C);a.b("templateSources.anonymousTemplate",a.B.fa)})();(function(){function b(k,m,n){var q;for(m=a.g.nextSibling(m);k&&(q=k)!==m;)k=a.g.nextSibling(q),n(q,k)}function c(k,m){if(k.length){var n=k[0],q=k[k.length-1],t=n.parentNode,x=a.aa.instance,u=x.preprocessNode;if(u){b(n,q,(w,p)=>{var r=w.previousSibling,v=u.call(x,w);v&&(w===n&&(n=v[0]||p),w===q&&(q=v[v.length-
|
||||
1]||r))});k.length=0;if(!n)return;n===q?k.push(n):(k.push(n,q),a.a.Ga(k,t))}b(n,q,w=>{1!==w.nodeType&&8!==w.nodeType||a.kc(m,w)});b(n,q,w=>{1!==w.nodeType&&8!==w.nodeType||a.W.Mc(w,[m])});a.a.Ga(k,t)}}function e(k){return k.nodeType?k:0<k.length?k[0]:null}function g(k,m,n,q,t){t=t||{};var x=(k&&e(k)||n||{}).ownerDocument,u=t.templateEngine||h;a.Xb.cd(n,u,x);n=u.renderTemplate(n,q,t,x);if("number"!=typeof n.length||0<n.length&&"number"!=typeof n[0].nodeType)throw Error("Template engine must return an array of DOM nodes");
|
||||
x=!1;switch(m){case "replaceChildren":a.g.wa(k,n);x=!0;break;case "replaceNode":a.a.Ic(k,n);x=!0;break;case "ignoreTargetNode":break;default:throw Error("Unknown renderMode: "+m);}x&&(c(n,q),t.afterRender&&a.m.H(t.afterRender,null,[n,q[t.as||"$data"]]),"replaceChildren"==m&&a.i.notify(k,a.i.J));return n}function f(k,m,n){return a.S(k)?k():"function"===typeof k?k(m,n):k}var h;a.Jc=k=>{if(void 0!=k&&!(k instanceof a.da))throw Error("templateEngine must inherit from ko.templateEngine");h=k};a.Pb=function(k,
|
||||
m,n,q,t){n=n||{};if(void 0==(n.templateEngine||h))throw Error("Set a template engine before calling renderTemplate");t=t||"replaceChildren";if(q){var x=e(q);return a.V(()=>{var u=m&&m instanceof a.$?m:new a.$(m,null,null,null,{exportDependencies:!0}),w=f(k,u.$data,u);u=g(q,t,w,u,n);"replaceNode"==t&&(q=u,x=e(q))},null,{Ea:()=>!x||!a.a.zb(x),l:x&&"replaceNode"==t?x.parentNode:x})}return a.W.Hb(u=>a.Pb(k,m,n,u,"replaceNode"))};a.rd=(k,m,n,q,t)=>{function x(B,z){a.m.H(a.a.Rb,null,[q,B,p,n,r,z]);a.i.notify(q,
|
||||
a.i.J)}var u,w=n.as,p=(B,z)=>{u=t.createChildContext(B,{as:w,noChildContext:n.noChildContext,extend:C=>{C.$index=z;w&&(C[w+"Index"]=z)}});B=f(k,B,u);return g(q,"ignoreTargetNode",B,u,n)},r=(B,z)=>{c(z,u);n.afterRender&&n.afterRender(z,B);u=null},v=!1===n.includeDestroyed;if(v||n.beforeRemove||!a.Bc(m))return a.V(()=>{var B=a.a.h(m)||[];"undefined"==typeof B.length&&(B=[B]);v&&(B=B.filter(z=>z||null==z));x(B)},null,{l:q});x(m.A());var y=m.subscribe(B=>{x(m(),B)},null,"arrayChange");y.l(q);return y};
|
||||
var d=a.a.c.ca(),l=a.a.c.ca();a.f.template={init:(k,m)=>{m=a.a.h(m());if("string"==typeof m||"name"in m)a.g.Fa(k);else if("nodes"in m){m=m.nodes||[];if(a.S(m))throw Error('The "nodes" option must be a plain, non-observable array.');let n=m[0]&&m[0].parentNode;n&&a.a.c.get(n,l)||(n=a.a.Ib(m),a.a.c.set(n,l,!0));(new a.B.fa(k)).nodes(n)}else if(m=a.g.childNodes(k),0<m.length)m=a.a.Ib(m),(new a.B.fa(k)).nodes(m);else throw Error("Anonymous template defined, but no template content was provided");return{controlsDescendantBindings:!0}},
|
||||
update:(k,m,n,q,t)=>{var x=m();m=a.a.h(x);n=!0;q=null;"string"==typeof m?m={}:(x="name"in m?m.name:k,"if"in m&&(n=a.a.h(m["if"])),n&&"ifnot"in m&&(n=!a.a.h(m.ifnot)),n&&!x&&(n=!1));"foreach"in m?q=a.rd(x,n&&m.foreach||[],m,k,t):n?(n=t,"data"in m&&(n=t.createChildContext(m.data,{as:m.as,noChildContext:m.noChildContext,exportDependencies:!0})),q=a.Pb(x,n,m,k)):a.g.Fa(k);t=q;(m=a.a.c.get(k,d))&&"function"==typeof m.o&&m.o();a.a.c.set(k,d,!t||t.ga&&!t.ga()?void 0:t)}};a.u.Va.template=k=>{k=a.u.Lb(k);
|
||||
return 1==k.length&&k[0].unknown||a.u.md(k,"name")?null:"This template engine does not support anonymous templates nested within its templates"};a.g.oa.template=!0})();a.b("setTemplateEngine",a.Jc);a.b("renderTemplate",a.Pb);a.a.xc=(b,c,e)=>{if(b.length&&c.length){var g,f,h,d,l;for(g=f=0;(!e||g<e)&&(d=b[f]);++f){for(h=0;l=c[h];++h)if(d.value===l.value){d.moved=l.index;l.moved=d.index;c.splice(h,1);g=h=0;break}g+=h}}};a.a.wb=(()=>{function b(c,e,g,f,h){var d=Math.min,l=Math.max,k=[],m,n=c.length,q,
|
||||
(F=>{function I(b,c){return null===b||typeof b in ia?b===c:!1}function G(b,c){var e;return()=>{e||(e=a.a.setTimeout(()=>{e=void 0;b()},c))}}function J(b,c){var e;return()=>{clearTimeout(e);e=a.a.setTimeout(b,c)}}function V(b,c){c&&"change"!==c?"beforeChange"===c?this.dc(b):this.Qa(b,c):this.ec(b)}function Y(b,c){null!==c&&c.s&&c.s()}function ja(b,c){var e=this.Zc,g=e[E];g.ka||(this.xb&&this.Wa[c]?(e.jc(c,b,this.Wa[c]),this.Wa[c]=null,--this.xb):g.D[c]||e.jc(c,b,g.F?{da:b}:e.Kc(b)),b.xa&&b.Pc())}var W=
|
||||
F.document,Z={},a="undefined"!==typeof Z?Z:{};a.b=function(b,c){b=b.split(".");for(var e=a,g=0;g<b.length-1;g++)e=e[b[g]];e[b[b.length-1]]=c};a.G=function(b,c,e){b[c]=e};a.version="3.5.1-pre";a.b("version",a.version);a.a=(()=>{function b(f,h,d,l){return Array.prototype[f].call(h,d,l)}function c(f,h){h&&Object.entries(h).forEach(d=>f[d[0]]=d[1]);return f}function e(f,h){f.__proto__=h;return f}var g={__proto__:[]}instanceof Array;return{X:(f,h,d)=>b("forEach",f,h,d),Y:(f,h)=>b("indexOf",f,h),rb:(f,
|
||||
h,d)=>{for(var l=0,k=f.length;l<k;l++)if(h.call(d,f[l],l,f))return f[l]},Ba:(f,h)=>{h=a.a.Y(f,h);0<h?f.splice(h,1):0===h&&f.shift()},sb:(f,h)=>{if(h instanceof Array)f.push.apply(f,h);else for(var d=0,l=h.length;d<l;d++)f.push(h[d]);return f},pa:g,extend:c,setPrototypeOf:e,ib:g?e:c,K:function(f,h){f&&Object.entries(f).forEach(d=>h(d[0],d[1]))},ta:(f,h,d)=>{if(!f)return f;var l={};Object.entries(f).forEach(k=>l[k[0]]=h.call(d,k[1],k[0],f));return l},Ab:f=>{for(;f.firstChild;)a.removeNode(f.firstChild)},
|
||||
Ib:f=>{var h=a.a.sa(f),d=(h[0]&&h[0].ownerDocument||W).createElement("div");f.forEach(l=>d.append(a.ia(l)));return d},tb:(f,h)=>b("map",f,h?d=>a.ia(d.cloneNode(!0)):d=>d.cloneNode(!0)),va:(f,h)=>{a.a.Ab(f);h&&f.append.apply(f,h)},Ic:(f,h)=>{f=f.nodeType?[f]:f;if(0<f.length){var d=f[0],l=d.parentNode,k;var m=0;for(k=h.length;m<k;m++)l.insertBefore(h[m],d);m=0;for(k=f.length;m<k;m++)a.removeNode(f[m])}},Fa:(f,h)=>{if(f.length){for(h=8===h.nodeType&&h.parentNode||h;f.length&&f[0].parentNode!==h;)f.splice(0,
|
||||
1);for(;1<f.length&&f[f.length-1].parentNode!==h;)f.length--;if(1<f.length){h=f[0];var d=f[f.length-1];for(f.length=0;h!==d;)f.push(h),h=h.nextSibling;f.push(d)}}return f},Ub:f=>null===f||void 0===f?"":f.trim?f.trim():f.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,""),ud:(f,h)=>{f=f||"";return h.length>f.length?!1:f.substring(0,h.length)===h},bd:(f,h)=>h.contains(1!==f.nodeType?f.parentNode:f),zb:f=>a.a.bd(f,f.ownerDocument.documentElement),Tc:f=>!!a.a.rb(f,a.a.zb),ha:f=>f&&f.tagName&&f.tagName.toLowerCase(),
|
||||
pc:f=>a.onError?function(){try{return f.apply(this,arguments)}catch(h){throw a.onError&&a.onError(h),h;}}:f,setTimeout:(f,h)=>setTimeout(a.a.pc(f),h),uc:f=>setTimeout(()=>{a.onError&&a.onError(f);throw f;},0),L:(f,h,d)=>{f.addEventListener(h,a.a.pc(d),!1)},Yb:(f,h)=>{if(!f||!f.nodeType)throw Error("element must be a DOM node when calling triggerEvent");f.dispatchEvent(new Event(h))},h:f=>a.S(f)?f():f,Gc:f=>a.S(f)?f.A():f,lb:function(f,h,d){if(h){var l=d?"add":"remove";h.split(/\s+/).forEach(k=>f.classList[l](k))}},
|
||||
jb:(f,h)=>{h=a.a.h(h);if(null===h||void 0===h)h="";var d=a.g.firstChild(f);!d||3!=d.nodeType||a.g.nextSibling(d)?a.g.va(f,[f.ownerDocument.createTextNode(h)]):d.data=h},sa:f=>Array.from(f)}})();a.b("utils",a.a);a.b("utils.arrayForEach",a.a.X);a.b("utils.arrayFirst",a.a.rb);a.b("utils.arrayIndexOf",a.a.Y);a.b("utils.arrayPushAll",a.a.sb);a.b("utils.arrayRemoveItem",a.a.Ba);a.b("utils.cloneNodes",a.a.tb);a.b("utils.extend",a.a.extend);a.b("utils.objectMap",a.a.ta);a.b("utils.peekObservable",a.a.Gc);
|
||||
a.b("utils.registerEventHandler",a.a.L);a.b("utils.stringifyJson",a.a.Ad);a.b("utils.toggleDomNodeCssClass",a.a.lb);a.b("utils.triggerEvent",a.a.Yb);a.b("utils.unwrapObservable",a.a.h);a.b("utils.objectForEach",a.a.K);a.b("utils.setTextContent",a.a.jb);a.b("unwrap",a.a.h);a.a.c=new function(){var b=0,c="__ko__"+Date.now(),e=(g,f)=>{var h=g[c];!h&&f&&(h=g[c]={});return h};return{get:(g,f)=>(g=e(g,!1))&&g[f],set:(g,f,h)=>{(g=e(g,void 0!==h))&&(g[f]=h)},Cb:(g,f,h)=>{g=e(g,!0);return g[f]||(g[f]=h)},
|
||||
clear:g=>g[c]?(delete g[c],!0):!1,ba:()=>b++ +c}};a.b("utils.domData",a.a.c);a.b("utils.domData.clear",a.a.c.clear);a.a.M=new function(){function b(d,l){var k=a.a.c.get(d,g);void 0===k&&l&&(k=[],a.a.c.set(d,g,k));return k}function c(d){var l=b(d,!1);if(l){l=l.slice(0);for(var k=0;k<l.length;k++)l[k](d)}a.a.c.clear(d);h[d.nodeType]&&e(d.childNodes,!0)}function e(d,l){for(var k=[],m,n=0;n<d.length;n++)if(!l||8===d[n].nodeType)if(c(k[k.length]=m=d[n]),d[n]!==m)for(;n--&&-1==a.a.Y(k,d[n]););}var g=a.a.c.ba(),
|
||||
f={1:!0,8:!0,9:!0},h={1:!0,9:!0};return{Aa:(d,l)=>{if("function"!=typeof l)throw Error("Callback must be a function");b(d,!0).push(l)},hb:(d,l)=>{var k=b(d,!1);k&&(a.a.Ba(k,l),0==k.length&&a.a.c.set(d,g,void 0))},ia:d=>{a.o.H(()=>{f[d.nodeType]&&(c(d),h[d.nodeType]&&e(d.getElementsByTagName("*")))});return d},removeNode:d=>{a.ia(d);d.parentNode&&d.parentNode.removeChild(d)}}};a.ia=a.a.M.ia;a.removeNode=a.a.M.removeNode;a.b("cleanNode",a.ia);a.b("removeNode",a.removeNode);a.b("utils.domNodeDisposal",
|
||||
a.a.M);a.b("utils.domNodeDisposal.addDisposeCallback",a.a.M.Aa);a.b("utils.domNodeDisposal.removeDisposeCallback",a.a.M.hb);(()=>{var b=[0,"",""],c=[1,"<table>","</table>"],e=[3,"<table><tbody><tr>","</tr></tbody></table>"],g=[1,"<select multiple='multiple'>","</select>"],f={thead:c,tbody:c,tfoot:c,tr:[2,"<table><tbody>","</tbody></table>"],td:e,th:e,option:g,optgroup:g};a.a.Ja=(h,d)=>{var l=d;l||(l=W);d=l.parentWindow||l.defaultView||F;var k=a.a.Ub(h).toLowerCase();l=l.createElement("div");var m=
|
||||
(k=k.match(/^(?:\x3c!--.*?--\x3e\s*?)*?<([a-z]+)[\s>]/))&&f[k[1]]||b;k=m[0];h="ignored<div>"+m[1]+h+m[2]+"</div>";for("function"==typeof d.innerShiv?l.append(d.innerShiv(h)):l.innerHTML=h;k--;)l=l.lastChild;return a.a.sa(l.lastChild.childNodes)};a.a.qd=(h,d)=>{h=a.a.Ja(h,d);return h.length&&h[0].parentElement||a.a.Ib(h)};a.a.Sb=(h,d)=>{a.a.Ab(h);d=a.a.h(d);if(null!==d&&void 0!==d){"string"!=typeof d&&(d=d.toString());d=a.a.Ja(d,h.ownerDocument);for(var l=0;l<d.length;l++)h.appendChild(d[l])}}})();
|
||||
a.b("utils.parseHtmlFragment",a.a.Ja);a.b("utils.setHtml",a.a.Sb);a.V=function(){function b(e,g){if(e)if(8==e.nodeType){var f=a.V.Fc(e.nodeValue);null!=f&&g.push({ad:e,nd:f})}else if(1==e.nodeType){f=0;e=e.childNodes;for(var h=e.length;f<h;f++)b(e[f],g)}}var c={};return{Hb:e=>{if("function"!=typeof e)throw Error("You can only pass a function to ko.memoization.memoize()");var g=(4294967296*(1+Math.random())|0).toString(16).substring(1)+(4294967296*(1+Math.random())|0).toString(16).substring(1);c[g]=
|
||||
e;return"\x3c!--[ko_memo:"+g+"]--\x3e"},Lc:(e,g)=>{var f=c[e];if(void 0===f)throw Error("Couldn't find any memo with ID "+e+". Perhaps it's already been unmemoized.");try{return f.apply(null,g||[]),!0}finally{delete c[e]}},Mc:(e,g)=>{var f=[];b(e,f);e=0;for(var h=f.length;e<h;e++){var d=f[e].ad,l=[d];g&&a.a.sb(l,g);a.V.Lc(f[e].nd,l);d.nodeValue="";d.parentNode&&d.parentNode.removeChild(d)}},Fc:e=>(e=e.match(/^\[ko_memo:(.*?)\]$/))?e[1]:null}}();a.b("memoization",a.V);a.b("memoization.memoize",a.V.Hb);
|
||||
a.b("memoization.unmemoize",a.V.Lc);a.b("memoization.parseMemoText",a.V.Fc);a.b("memoization.unmemoizeDomNodeAndDescendants",a.V.Mc);a.kb=(()=>{function b(){if(e)for(var d=e,l=0,k;f<e;)if(k=c[f++]){if(f>d){if(5E3<=++l){f=e;a.a.uc(Error("'Too much recursion' after processing "+l+" task groups."));break}d=e}try{k()}catch(m){a.a.uc(m)}}f=e=c.length=0}var c=[],e=0,g=1,f=0,h=(d=>{var l=W.createElement("div");(new MutationObserver(d)).observe(l,{attributes:!0});return()=>l.classList.toggle("foo")})(b);
|
||||
return{Qb:d=>{e||h(b);c[e++]=d;return g++},cancel:d=>{d-=g-e;d>=f&&d<e&&(c[d]=null)}}})();a.b("tasks",a.kb);a.b("tasks.schedule",a.kb.Qb);a.Bb={throttle:(b,c)=>{b.throttleEvaluation=c;var e=null;return a.m({read:b,write:g=>{clearTimeout(e);e=a.a.setTimeout(()=>b(g),c)}})},rateLimit:(b,c)=>{if("number"==typeof c)var e=c;else{e=c.timeout;var g=c.method}var f="function"==typeof g?g:"notifyWhenChangesStop"==g?J:G;b.Gb(h=>f(h,e,c))},notify:(b,c)=>{b.equalityComparer="always"==c?null:I}};var ia={undefined:1,
|
||||
"boolean":1,number:1,string:1};a.b("extenders",a.Bb);a.Vb=function(b,c,e){this.da=b;this.$b=c;this.ac=e;this.ob=!1;this.Pa=this.pb=null;a.G(this,"dispose",this.s);a.G(this,"disposeWhenNodeIsRemoved",this.l)};a.Vb.prototype.s=function(){this.ob||(this.Pa&&a.a.M.hb(this.pb,this.Pa),this.ob=!0,this.ac(),this.da=this.$b=this.ac=this.pb=this.Pa=null)};a.Vb.prototype.l=function(b){this.pb=b;a.a.M.Aa(b,this.Pa=this.s.bind(this))};a.O=function(){a.a.ib(this,P);P.ab(this)};var P={ab:b=>{b.P={change:[]};b.hc=
|
||||
1},subscribe:function(b,c,e){var g=this;e=e||"change";var f=new a.Vb(g,c?b.bind(c):b,()=>{a.a.Ba(g.P[e],f);g.Ra&&g.Ra(e)});g.Ca&&g.Ca(e);g.P[e]||(g.P[e]=[]);g.P[e].push(f);return f},notifySubscribers:function(b,c){c=c||"change";"change"===c&&this.nb();if(this.Ha(c)){c="change"===c&&this.Nc||this.P[c].slice(0);try{a.o.mc();for(var e=0,g;g=c[e];++e)g.ob||g.$b(b)}finally{a.o.end()}}},Za:function(){return this.hc},hd:function(b){return this.Za()!==b},nb:function(){++this.hc},Gb:function(b){var c=this,
|
||||
e=a.S(c),g,f,h,d,l;c.Qa||(c.Qa=c.notifySubscribers,c.notifySubscribers=V);var k=b(()=>{c.xa=!1;e&&d===c&&(d=c.bc?c.bc():c());var m=f||l&&c.cb(h,d);l=f=g=!1;m&&c.Qa(h=d)});c.ec=(m,n)=>{n&&c.xa||(l=!n);c.Nc=c.P.change.slice(0);c.xa=g=!0;d=m;k()};c.dc=m=>{g||(h=m,c.Qa(m,"beforeChange"))};c.fc=()=>{l=!0};c.Pc=()=>{c.cb(h,c.A(!0))&&(f=!0)}},Ha:function(b){return this.P[b]&&this.P[b].length},fd:function(b){if(b)return this.P[b]&&this.P[b].length||0;var c=0;a.a.K(this.P,(e,g)=>c+=g.length);return c},cb:function(b,
|
||||
c){return!this.equalityComparer||!this.equalityComparer(b,c)},toString:()=>"[object Object]",extend:function(b){var c=this;b&&a.a.K(b,(e,g)=>{e=a.Bb[e];"function"==typeof e&&(c=e(c,g)||c)});return c}};a.G(P,"init",P.ab);a.G(P,"subscribe",P.subscribe);a.G(P,"extend",P.extend);a.G(P,"getSubscriptionsCount",P.fd);a.a.pa&&a.a.setPrototypeOf(P,Function.prototype);a.O.fn=P;a.Cc=b=>null!=b&&"function"==typeof b.subscribe&&"function"==typeof b.notifySubscribers;a.b("subscribable",a.O);a.b("isSubscribable",
|
||||
a.Cc);a.ja=a.o=(()=>{function b(h){e.push(g);g=h}function c(){g=e.pop()}var e=[],g,f=0;return{mc:b,end:c,Ob:h=>{if(g){if(!a.Cc(h))throw Error("Only subscribable things can act as dependencies");g.Xc.call(g.Yc,h,h.Oc||(h.Oc=++f))}},H:(h,d,l)=>{try{return b(),h.apply(d,l||[])}finally{c()}},Ya:()=>{if(g)return g.m.Ya()},Ga:()=>{if(g)return g.m.Ga()},eb:()=>{if(g)return g.eb},m:()=>{if(g)return g.m}}})();a.b("computedContext",a.ja);a.b("computedContext.getDependenciesCount",a.ja.Ya);a.b("computedContext.getDependencies",
|
||||
a.ja.Ga);a.b("computedContext.isInitial",a.ja.eb);a.b("computedContext.registerDependency",a.ja.Ob);a.b("ignoreDependencies",a.xd=a.o.H);var R=Symbol("_latestValue");a.ma=b=>{function c(){if(0<arguments.length)return c.cb(c[R],arguments[0])&&(c.Na(),c[R]=arguments[0],c.Ma()),this;a.o.Ob(c);return c[R]}c[R]=b;a.a.pa||a.a.extend(c,a.O.fn);a.O.fn.ab(c);a.a.ib(c,Q);return c};var Q={equalityComparer:I,A:function(){return this[R]},Ma:function(){this.notifySubscribers(this[R],"spectate");this.notifySubscribers(this[R])},
|
||||
Na:function(){this.notifySubscribers(this[R],"beforeChange")}};a.a.pa&&a.a.setPrototypeOf(Q,a.O.fn);var S=a.ma.Qc="__ko_proto__";Q[S]=a.ma;a.S=b=>{if((b="function"==typeof b&&b[S])&&b!==Q[S]&&b!==a.m.fn[S])throw Error("Invalid object that looks like an observable; possibly from another Knockout instance");return!!b};a.Fb=b=>"function"==typeof b&&(b[S]===Q[S]||b[S]===a.m.fn[S]&&b.zc);a.b("observable",a.ma);a.b("isObservable",a.S);a.b("isWriteableObservable",a.Fb);a.b("observable.fn",Q);a.G(Q,"peek",
|
||||
Q.A);a.G(Q,"valueHasMutated",Q.Ma);a.G(Q,"valueWillMutate",Q.Na);a.ua=b=>{b=b||[];if("object"!=typeof b||!("length"in b))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");b=a.ma(b);a.a.ib(b,a.ua.fn);return b.extend({trackArrayChanges:!0})};a.ua.fn={remove:function(b){for(var c=this.A(),e=[],g="function"!=typeof b||a.S(b)?function(d){return d===b}:b,f=0;f<c.length;f++){var h=c[f];if(g(h)){0===e.length&&this.Na();if(c[f]!==h)throw Error("Array modified during remove; cannot remove item");
|
||||
e.push(h);c.splice(f,1);f--}}e.length&&this.Ma();return e},removeAll:function(b){if(void 0===b){var c=this.A(),e=c.slice(0);this.Na();c.splice(0,c.length);this.Ma();return e}return b?this.remove(function(g){return 0<=a.a.Y(b,g)}):[]},indexOf:function(b){return a.a.Y(this(),b)}};a.a.pa&&a.a.setPrototypeOf(a.ua.fn,a.ma.fn);"pop push reverse shift sort splice unshift".split(" ").forEach(b=>{a.ua.fn[b]=function(){var c=this.A();this.Na();this.oc(c,b,arguments);var e=c[b].apply(c,arguments);this.Ma();
|
||||
return e===c?this:e}});["slice"].forEach(b=>{a.ua.fn[b]=function(){var c=this();return c[b].apply(c,arguments)}});a.Bc=b=>a.S(b)&&"function"==typeof b.remove&&"function"==typeof b.push;a.b("observableArray",a.ua);a.b("isObservableArray",a.Bc);a.Bb.trackArrayChanges=(b,c)=>{function e(){function q(){if(l){var t=[].concat(b.A()||[]);if(b.Ha("arrayChange")){if(!f||1<l)f=a.a.vb(k,t,b.ub);var x=f}k=t;f=null;l=0;x&&x.length&&b.notifySubscribers(x,"arrayChange")}}g?q():(g=!0,d=b.subscribe(()=>++l,null,"spectate"),
|
||||
k=[].concat(b.A()||[]),f=null,h=b.subscribe(q))}b.ub={};c&&"object"==typeof c&&a.a.extend(b.ub,c);b.ub.sparse=!0;if(!b.oc){var g=!1,f=null,h,d,l=0,k,m=b.Ca,n=b.Ra;b.Ca=q=>{m&&m.call(b,q);"arrayChange"===q&&e()};b.Ra=q=>{n&&n.call(b,q);"arrayChange"!==q||b.Ha("arrayChange")||(h&&h.s(),d&&d.s(),d=h=null,g=!1,k=void 0)};b.oc=(q,t,x)=>{function u(C,A,H){return w[w.length]={status:C,value:A,index:H}}if(g&&!l){var w=[],p=q.length,r=x.length,v=0;switch(t){case "push":v=p;case "unshift":for(t=0;t<r;t++)u("added",
|
||||
x[t],v+t);break;case "pop":v=p-1;case "shift":p&&u("deleted",q[v],v);break;case "splice":t=Math.min(Math.max(0,0>x[0]?p+x[0]:x[0]),p);p=1===r?p:Math.min(t+(x[1]||0),p);r=t+r-2;v=Math.max(p,r);for(var y=[],B=[],z=2;t<v;++t,++z)t<p&&B.push(u("deleted",q[t],t)),t<r&&y.push(u("added",x[z],t));a.a.xc(B,y);break;default:return}f=w}}}};var E=Symbol("_state");a.m=function(b,c,e){function g(){if(0<arguments.length){if("function"===typeof f)f.apply(h.Xa,arguments);else throw Error("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.");
|
||||
return this}h.ka||a.o.Ob(g);(h.ga||h.F&&g.Ia())&&g.aa();return h.T}"object"===typeof b?e=b:(e=e||{},b&&(e.read=b));if("function"!=typeof e.read)throw Error("Pass a function that returns the value of the ko.computed");var f=e.write,h={T:void 0,la:!0,ga:!0,bb:!1,Wb:!1,ka:!1,gb:!1,F:!1,Hc:e.read,Xa:c||e.owner,l:e.disposeWhenNodeIsRemoved||e.l||null,Da:e.disposeWhen||e.Da,yb:null,D:{},R:0,wc:null};g[E]=h;g.zc="function"===typeof f;a.a.pa||a.a.extend(g,a.O.fn);a.O.fn.ab(g);a.a.ib(g,N);e.pure?(h.gb=!0,
|
||||
h.F=!0,a.a.extend(g,ka)):e.deferEvaluation&&a.a.extend(g,la);h.l&&(h.Wb=!0,h.l.nodeType||(h.l=null));h.F||e.deferEvaluation||g.aa();h.l&&g.fa()&&a.a.M.Aa(h.l,h.yb=function(){g.s()});return g};var N={equalityComparer:I,Ya:function(){return this[E].R},Ga:function(){var b=[];a.a.K(this[E].D,(c,e)=>b[e.ya]=e.da);return b},Db:function(b){if(!this[E].R)return!1;var c=this.Ga();return-1!==a.a.Y(c,b)?!0:!!a.a.rb(c,e=>e.Db&&e.Db(b))},jc:function(b,c,e){if(this[E].gb&&c===this)throw Error("A 'pure' computed must not be called recursively");
|
||||
this[E].D[b]=e;e.ya=this[E].R++;e.za=c.Za()},Ia:function(){var b,c=this[E].D;for(b in c)if(Object.prototype.hasOwnProperty.call(c,b)){var e=c[b];if(this.wa&&e.da.xa||e.da.hd(e.za))return!0}},yd:function(){this.wa&&!this[E].bb&&this.wa(!1)},fa:function(){var b=this[E];return b.ga||0<b.R},zd:function(){this.xa?this[E].ga&&(this[E].la=!0):this.vc()},Kc:function(b){return b.subscribe(this.vc,this)},vc:function(){var b=this,c=b.throttleEvaluation;c&&0<=c?(clearTimeout(this[E].wc),this[E].wc=a.a.setTimeout(()=>
|
||||
b.aa(!0),c)):b.wa?b.wa(!0):b.aa(!0)},aa:function(b){var c=this[E],e=c.Da,g=!1;if(!c.bb&&!c.ka){if(c.l&&!a.a.zb(c.l)||e&&e()){if(!c.Wb){this.s();return}}else c.Wb=!1;c.bb=!0;try{g=this.ed(b)}finally{c.bb=!1}return g}},ed:function(b){var c=this[E],e=c.gb?void 0:!c.R;var g={Zc:this,Wa:c.D,xb:c.R};a.o.mc({Yc:g,Xc:ja,m:this,eb:e});c.D={};c.R=0;var f=this.dd(c,g);c.R?g=this.cb(c.T,f):(this.s(),g=!0);g&&(c.F?this.nb():this.notifySubscribers(c.T,"beforeChange"),c.T=f,this.notifySubscribers(c.T,"spectate"),
|
||||
!c.F&&b&&this.notifySubscribers(c.T),this.fc&&this.fc());e&&this.notifySubscribers(c.T,"awake");return g},dd:(b,c)=>{try{var e=b.Hc;return b.Xa?e.call(b.Xa):e()}finally{a.o.end(),c.xb&&!b.F&&a.a.K(c.Wa,Y),b.la=b.ga=!1}},A:function(b){var c=this[E];(c.ga&&(b||!c.R)||c.F&&this.Ia())&&this.aa();return c.T},Gb:function(b){a.O.fn.Gb.call(this,b);this.bc=function(){this[E].F||(this[E].la?this.aa():this[E].ga=!1);return this[E].T};this.wa=function(c){this.dc(this[E].T);this[E].ga=!0;c&&(this[E].la=!0);this.ec(this,
|
||||
!c)}},s:function(){var b=this[E];!b.F&&b.D&&a.a.K(b.D,(c,e)=>e.s&&e.s());b.l&&b.yb&&a.a.M.hb(b.l,b.yb);b.D=void 0;b.R=0;b.ka=!0;b.la=!1;b.ga=!1;b.F=!1;b.l=void 0;b.Da=void 0;b.Hc=void 0;this.zc||(b.Xa=void 0)}},ka={Ca:function(b){var c=this,e=c[E];if(!e.ka&&e.F&&"change"==b){e.F=!1;if(e.la||c.Ia())e.D=null,e.R=0,c.aa()&&c.nb();else{var g=[];a.a.K(e.D,(f,h)=>g[h.ya]=f);a.a.X(g,(f,h)=>{var d=e.D[f],l=c.Kc(d.da);l.ya=h;l.za=d.za;e.D[f]=l});c.Ia()&&c.aa()&&c.nb()}e.ka||c.notifySubscribers(e.T,"awake")}},
|
||||
Ra:function(b){var c=this[E];c.ka||"change"!=b||this.Ha("change")||(a.a.K(c.D,(e,g)=>{g.s&&(c.D[e]={da:g.da,ya:g.ya,za:g.za},g.s())}),c.F=!0,this.notifySubscribers(void 0,"asleep"))},Za:function(){var b=this[E];b.F&&(b.la||this.Ia())&&this.aa();return a.O.fn.Za.call(this)}},la={Ca:function(b){"change"!=b&&"beforeChange"!=b||this.A()}};a.a.pa&&a.a.setPrototypeOf(N,a.O.fn);var aa=a.ma.Qc;N[aa]=a.m;a.Ac=b=>"function"==typeof b&&b[aa]===N[aa];a.kd=b=>a.Ac(b)&&b[E]&&b[E].gb;a.b("computed",a.m);a.b("isComputed",
|
||||
a.Ac);a.b("isPureComputed",a.kd);a.b("computed.fn",N);a.G(N,"peek",N.A);a.G(N,"dispose",N.s);a.G(N,"isActive",N.fa);a.G(N,"getDependenciesCount",N.Ya);a.G(N,"getDependencies",N.Ga);a.Nb=(b,c)=>{if("function"===typeof b)return a.m(b,c,{pure:!0});b=a.a.extend({},b);b.pure=!0;return a.m(b,c)};a.b("pureComputed",a.Nb);a.wd=(b,c,e)=>{function g(f){var h=a.Nb(b,e).extend({notify:"always"}),d=h.subscribe(l=>{l&&(d.s(),f(l))});h.notifySubscribers(h.A());return d}return c?g(c.bind(e)):new Promise(g)};a.b("when",
|
||||
a.wd);(()=>{a.v={N:b=>{switch(a.a.ha(b)){case "option":return!0===b.__ko__hasDomDataOptionValue__?a.a.c.get(b,a.f.options.Kb):b.value;case "select":return 0<=b.selectedIndex?a.v.N(b.options[b.selectedIndex]):void 0;default:return b.value}},Oa:(b,c,e)=>{switch(a.a.ha(b)){case "option":"string"===typeof c?(a.a.c.set(b,a.f.options.Kb,void 0),delete b.__ko__hasDomDataOptionValue__,b.value=c):(a.a.c.set(b,a.f.options.Kb,c),b.__ko__hasDomDataOptionValue__=!0,b.value="number"===typeof c?c:"");break;case "select":if(""===
|
||||
c||null===c)c=void 0;for(var g=-1,f=0,h=b.options.length,d;f<h;++f)if(d=a.v.N(b.options[f]),d==c||""===d&&void 0===c){g=f;break}if(e||0<=g||void 0===c&&1<b.size)b.selectedIndex=g;break;default:if(null===c||void 0===c)c="";b.value=c}}}})();a.b("selectExtensions",a.v);a.b("selectExtensions.readValue",a.v.N);a.b("selectExtensions.writeValue",a.v.Oa);a.u=(()=>{function b(l){l=a.a.Ub(l);123===l.charCodeAt(0)&&(l=l.slice(1,-1));l+="\n,";var k=[],m=l.match(g),n=[],q=0;if(1<m.length){for(var t=0,x;x=m[t];++t){var u=
|
||||
x.charCodeAt(0);if(44===u){if(0>=q){k.push(w&&n.length?{key:w,value:n.join("")}:{unknown:w||n.join("")});var w=q=0;n=[];continue}}else if(58===u){if(!q&&!w&&1===n.length){w=n.pop();continue}}else if(47===u&&1<x.length&&(47===x.charCodeAt(1)||42===x.charCodeAt(1)))continue;else 47===u&&t&&1<x.length?(u=m[t-1].match(f))&&!h[u[0]]&&(l=l.substr(l.indexOf(x)+1),m=l.match(g),t=-1,x="/"):40===u||123===u||91===u?++q:41===u||125===u||93===u?--q:w||n.length||34!==u&&39!==u||(x=x.slice(1,-1));n.push(x)}if(0<
|
||||
q)throw Error("Unbalanced parentheses, braces, or brackets");}return k}var c=["true","false","null","undefined"],e=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,g=/"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|`(?:\\.|[^`])*`|\/\*(?:[^*]|\*+[^*/])*\*+\/|\/\/.*\n|\/(?:\\.|[^/])+\/w*|[^\s:,/][^,"'`{}()/:[\]]*[^\s,"'`{}()/:[\]]|[^\s]/g,f=/[\])"'A-Za-z0-9_$]+$/,h={"in":1,"return":1,"typeof":1},d={};return{Ua:[],mb:d,Lb:b,Mb:function(l,k){function m(u,w){if(!x){var p=a.getBindingHandler(u);if(p&&p.preprocess&&
|
||||
!(w=p.preprocess(w,u,m)))return;if(p=d[u]){var r=w;0<=a.a.Y(c,r)?r=!1:(p=r.match(e),r=null===p?!1:p[1]?"Object("+p[1]+")"+p[2]:r);p=r}p&&q.push("'"+("string"==typeof d[u]?d[u]:u)+"':function(_z){"+r+"=_z}")}t&&(w="function(){return "+w+" }");n.push("'"+u+"':"+w)}k=k||{};var n=[],q=[],t=k.valueAccessors,x=k.bindingParams;l="string"===typeof l?b(l):l;a.a.X(l,u=>m(u.key||u.unknown,u.value));q.length&&m("_ko_property_writers","{"+q.join(",")+" }");return n.join(",")},md:(l,k)=>{for(var m=0;m<l.length;m++)if(l[m].key==
|
||||
k)return!0;return!1},Zb:(l,k,m,n,q)=>{if(l&&a.S(l))!a.Fb(l)||q&&l.A()===n||l(n);else if((l=k.get("_ko_property_writers"))&&l[m])l[m](n)}}})();a.b("expressionRewriting",a.u);a.b("expressionRewriting.bindingRewriteValidators",a.u.Ua);a.b("expressionRewriting.parseObjectLiteral",a.u.Lb);a.b("expressionRewriting.preProcessBindings",a.u.Mb);(()=>{function b(d){return 8==d.nodeType&&g.test(d.nodeValue)}function c(d){return 8==d.nodeType&&f.test(d.nodeValue)}function e(d,l){for(var k=d,m=1,n=[];k=k.nextSibling;){if(c(k)&&
|
||||
(a.a.c.set(k,h,!0),m--,0===m))return n;n.push(k);b(k)&&m++}if(!l)throw Error("Cannot find closing comment tag to match: "+d.nodeValue);return null}var g=/^\s*ko(?:\s+([\s\S]+))?\s*$/,f=/^\s*\/ko\s*$/,h="__ko_matchedEndComment__";a.g={na:{},childNodes:d=>b(d)?e(d):d.childNodes,Ea:d=>{if(b(d)){d=a.g.childNodes(d);for(var l=0,k=d.length;l<k;l++)a.removeNode(d[l])}else a.a.Ab(d)},va:(d,l)=>{if(b(d)){a.g.Ea(d);d=d.nextSibling;for(var k=0,m=l.length;k<m;k++)d.parentNode.insertBefore(l[k],d)}else a.a.va(d,
|
||||
l)},prepend:(d,l)=>{if(b(d)){var k=d.nextSibling;d=d.parentNode}else k=d.firstChild;d.insertBefore(l,k)},Eb:(d,l,k)=>{k?(k=k.nextSibling,b(d)&&(d=d.parentNode),d.insertBefore(l,k)):a.g.prepend(d,l)},firstChild:d=>{if(!b(d)){if(d.firstChild&&c(d.firstChild))throw Error("Found invalid end comment, as the first child of "+d);return d.firstChild}return!d.nextSibling||c(d.nextSibling)?null:d.nextSibling},nextSibling:d=>{if(b(d)){var l=e(d,void 0);d=l?0<l.length?l[l.length-1].nextSibling:d.nextSibling:
|
||||
null}if(d.nextSibling&&c(d.nextSibling)){l=d.nextSibling;if(c(l)&&!a.a.c.get(l,h))throw Error("Found end comment without a matching opening comment, as child of "+d);return null}return d.nextSibling},gd:b,vd:d=>(d=d.nodeValue.match(g))?d[1]:null}})();a.b("virtualElements",a.g);a.b("virtualElements.allowedBindings",a.g.na);a.b("virtualElements.emptyNode",a.g.Ea);a.b("virtualElements.insertAfter",a.g.Eb);a.b("virtualElements.prepend",a.g.prepend);a.b("virtualElements.setDomNodeChildren",a.g.va);(function(){a.$=
|
||||
function(){this.Wc={}};a.a.extend(a.$.prototype,{nodeHasBindings:b=>{switch(b.nodeType){case 1:return null!=b.getAttribute("data-bind")||a.j.getComponentNameForNode(b);case 8:return a.g.gd(b);default:return!1}},getBindings:function(b,c){var e=this.getBindingsString(b,c);e=e?this.parseBindingsString(e,c,b):null;return a.j.ic(e,b,c,!1)},getBindingAccessors:function(b,c){var e=this.getBindingsString(b,c);e=e?this.parseBindingsString(e,c,b,{valueAccessors:!0}):null;return a.j.ic(e,b,c,!0)},getBindingsString:b=>
|
||||
{switch(b.nodeType){case 1:return b.getAttribute("data-bind");case 8:return a.g.vd(b)}return null},parseBindingsString:function(b,c,e,g){try{var f=this.Wc,h=b+(g&&g.valueAccessors||""),d;if(!(d=f[h])){var l="with($context){with($data||{}){return{"+a.u.Mb(b,g)+"}}}";var k=new Function("$context","$element",l);d=f[h]=k}return d(c,e)}catch(m){throw m.message="Unable to parse bindings.\nBindings value: "+b+"\nMessage: "+m.message,m;}}});a.$.instance=new a.$})();a.b("bindingProvider",a.$);(()=>{function b(p){var r=
|
||||
(p=a.a.c.get(p,w))&&p.I;r&&(p.I=null,r.Ec())}function c(p,r,v){this.node=p;this.nc=r;this.Ta=[];this.J=!1;r.I||a.a.M.Aa(p,b);v&&v.I&&(v.I.Ta.push(p),this.qb=v)}function e(p){return a.a.ta(a.o.H(p),(r,v)=>()=>p()[v])}function g(p,r,v){return"function"===typeof p?e(p.bind(null,r,v)):a.a.ta(p,y=>()=>y)}function f(p,r){return e(this.getBindings.bind(this,p,r))}function h(p,r){var v=a.g.firstChild(r);if(v){var y,B=a.$.instance,z=B.preprocessNode;if(z){for(;y=v;)v=a.g.nextSibling(y),z.call(B,y);v=a.g.firstChild(r)}for(;y=
|
||||
v;)v=a.g.nextSibling(y),d(p,y)}a.i.notify(r,a.i.J)}function d(p,r){var v=p;if(1===r.nodeType||a.$.instance.nodeHasBindings(r))v=k(r,null,p).bindingContextForDescendants;v&&!x[a.a.ha(r)]&&h(v,r)}function l(p){var r=[],v={},y=[];a.a.K(p,function C(z){if(!v[z]){var A=a.getBindingHandler(z);A&&(A.after&&(y.push(z),a.a.X(A.after,H=>{if(p[H]){if(-1!==a.a.Y(y,H))throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+y.join(", "));C(H)}}),y.length--),r.push({key:z,yc:A}));
|
||||
v[z]=!0}});return r}function k(p,r,v){var y=a.a.c.Cb(p,w,{}),B=y.Rc;if(!r){if(B)throw Error("You cannot apply bindings multiple times to the same element.");y.Rc=!0}B||(y.context=v);y.Jb||(y.Jb={});if(r&&"function"!==typeof r)var z=r;else{var C=a.$.instance,A=C.getBindingAccessors||f,H=a.m(()=>{if(z=r?r(v,p):A.call(C,p,v)){if(v[n])v[n]();if(v[t])v[t]()}return z},null,{l:p});z&&H.fa()||(H=null)}var O=v,K;if(z){var L=H?D=>()=>H()[D]():D=>z[D];function M(){return a.a.ta(H?H():z,D=>D())}M.get=D=>z[D]&&
|
||||
L(D)();M.has=D=>D in z;a.i.J in z&&a.i.subscribe(p,a.i.J,()=>{var D=z[a.i.J]();if(D){var T=a.g.childNodes(p);T.length&&D(T,a.sc(T[0]))}});a.i.qa in z&&(O=a.i.Tb(p,v),a.i.subscribe(p,a.i.qa,()=>{var D=z[a.i.qa]();D&&a.g.firstChild(p)&&D(p)}));y=l(z);a.a.X(y,D=>{var T=D.yc.init,da=D.yc.update,U=D.key;if(8===p.nodeType&&!a.g.na[U])throw Error("The binding '"+U+"' cannot be used with virtual elements");try{"function"==typeof T&&a.o.H(()=>{var X=T(p,L(U),M,O.$data,O);if(X&&X.controlsDescendantBindings){if(void 0!==
|
||||
K)throw Error("Multiple bindings ("+K+" and "+U+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");K=U}}),"function"==typeof da&&a.m(()=>da(p,L(U),M,O.$data,O),null,{l:p})}catch(X){throw X.message='Unable to process binding "'+U+": "+z[U]+'"\nMessage: '+X.message,X;}})}y=void 0===K;return{shouldBindDescendants:y,bindingContextForDescendants:y&&O}}function m(p,r){return p&&p instanceof a.Z?p:new a.Z(p,void 0,void 0,r)}var n=
|
||||
Symbol("_subscribable"),q=Symbol("_ancestorBindingInfo"),t=Symbol("_dataDependency");a.f={};var x={script:!0,textarea:!0,template:!0};a.getBindingHandler=p=>a.f[p];var u={};a.Z=function(p,r,v,y,B){function z(){var M=O?H():H,D=a.a.h(M);r?(a.a.extend(C,r),q in r&&(C[q]=r[q])):(C.$parents=[],C.$root=D,C.ko=a);C[n]=L;A?D=C.$data:(C.$rawData=M,C.$data=D);v&&(C[v]=D);y&&y(C,r,D);if(r&&r[n]&&!a.ja.m().Db(r[n]))r[n]();K&&(C[t]=K);return C.$data}var C=this,A=p===u,H=A?void 0:p,O="function"==typeof H&&!a.S(H),
|
||||
K=B&&B.dataDependency;if(B&&B.exportDependencies)z();else{var L=a.Nb(z);L.A();L.fa()?L.equalityComparer=null:C[n]=void 0}};a.Z.prototype.createChildContext=function(p,r,v,y){!y&&r&&"object"==typeof r&&(y=r,r=y.as,v=y.extend);if(r&&y&&y.noChildContext){var B="function"==typeof p&&!a.S(p);return new a.Z(u,this,null,z=>{v&&v(z);z[r]=B?p():p},y)}return new a.Z(p,this,r,(z,C)=>{z.$parentContext=C;z.$parent=C.$data;z.$parents=(C.$parents||[]).slice(0);z.$parents.unshift(z.$parent);v&&v(z)},y)};a.Z.prototype.extend=
|
||||
function(p,r){return new a.Z(u,this,null,v=>a.a.extend(v,"function"==typeof p?p(v):p),r)};var w=a.a.c.ba();c.prototype.Ec=function(){this.qb&&this.qb.I&&this.qb.I.$c(this.node)};c.prototype.$c=function(p){a.a.Ba(this.Ta,p);!this.Ta.length&&this.J&&this.rc()};c.prototype.rc=function(){this.J=!0;this.nc.I&&!this.Ta.length&&(this.nc.I=null,a.a.M.hb(this.node,b),a.i.notify(this.node,a.i.qa),this.Ec())};a.i={J:"childrenComplete",qa:"descendantsComplete",subscribe:(p,r,v,y,B)=>{var z=a.a.c.Cb(p,w,{});z.ra||
|
||||
(z.ra=new a.O);B&&B.notifyImmediately&&z.Jb[r]&&a.o.H(v,y,[p]);return z.ra.subscribe(v,y,r)},notify:(p,r)=>{var v=a.a.c.get(p,w);if(v&&(v.Jb[r]=!0,v.ra&&v.ra.notifySubscribers(p,r),r==a.i.J))if(v.I)v.I.rc();else if(void 0===v.I&&v.ra&&v.ra.Ha(a.i.qa))throw Error("descendantsComplete event not supported for bindings on this node");},Tb:(p,r)=>{var v=a.a.c.Cb(p,w,{});v.I||(v.I=new c(p,v,r[q]));return r[q]==v?r:r.extend(y=>{y[q]=v})}};a.sd=p=>(p=a.a.c.get(p,w))&&p.context;a.Sa=(p,r,v)=>k(p,r,m(v));a.Uc=
|
||||
(p,r,v)=>{v=m(v);return a.Sa(p,g(r,v,p),v)};a.lc=(p,r)=>{1!==r.nodeType&&8!==r.nodeType||h(m(p),r)};a.kc=function(p,r,v){if(2>arguments.length){if(r=W.body,!r)throw Error("ko.applyBindings: could not find document.body; has the document been loaded?");}else if(!r||1!==r.nodeType&&8!==r.nodeType)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");d(m(p,v),r)};a.sc=p=>(p=p&&[1,8].includes(p.nodeType)&&a.sd(p))?p.$data:void 0;a.b("bindingHandlers",
|
||||
a.f);a.b("bindingEvent",a.i);a.b("bindingEvent.subscribe",a.i.subscribe);a.b("bindingEvent.startPossiblyAsyncContentBinding",a.i.Tb);a.b("applyBindings",a.kc);a.b("applyBindingsToDescendants",a.lc);a.b("applyBindingAccessorsToNode",a.Sa);a.b("applyBindingsToNode",a.Uc);a.b("dataFor",a.sc)})();(()=>{function b(d,l){return Object.prototype.hasOwnProperty.call(d,l)?d[l]:void 0}function c(d,l){var k=b(f,d);if(k)k.subscribe(l);else{k=f[d]=new a.O;k.subscribe(l);e(d,(n,q)=>{q=!(!q||!q.synchronous);h[d]=
|
||||
{definition:n,ld:q};delete f[d];m||q?k.notifySubscribers(n):a.kb.Qb(()=>k.notifySubscribers(n))});var m=!0}}function e(d,l){g("getConfig",[d],k=>{k?g("loadComponent",[d,k],m=>l(m,k)):l(null,null)})}function g(d,l,k,m){m||(m=a.j.loaders.slice(0));var n=m.shift();if(n){var q=n[d];if(q){var t=!1;if(void 0!==q.apply(n,l.concat(function(x){t?k(null):null!==x?k(x):g(d,l,k,m)}))&&(t=!0,!n.suppressLoaderExceptions))throw Error("Component loaders must supply values by invoking the callback, not by returning values synchronously.");
|
||||
}else g(d,l,k,m)}else k(null)}var f={},h={};a.j={get:(d,l)=>{var k=b(h,d);k?k.ld?a.o.H(()=>l(k.definition)):a.kb.Qb(()=>l(k.definition)):c(d,l)},qc:d=>delete h[d],cc:g};a.j.loaders=[];a.b("components",a.j);a.b("components.get",a.j.get);a.b("components.clearCachedDefinition",a.j.qc)})();(()=>{function b(d,l,k,m){var n={},q=2;l=k.template;k=k.viewModel;l?a.j.cc("loadTemplate",[d,l],t=>{n.template=t;0===--q&&m(n)}):0===--q&&m(n);k?a.j.cc("loadViewModel",[d,k],t=>{n[h]=t;0===--q&&m(n)}):0===--q&&m(n)}
|
||||
function c(d,l,k){if("function"===typeof l)k(n=>new l(n));else if("function"===typeof l[h])k(l[h]);else if("instance"in l){var m=l.instance;k(()=>m)}else"viewModel"in l?c(d,l.viewModel,k):d("Unknown viewModel value: "+l)}function e(d){if("template"==a.a.ha(d)&&d.content instanceof DocumentFragment)return a.a.tb(d.content.childNodes);throw"Template Source Element not a <template>";}function g(d){return l=>{throw Error("Component '"+d+"': "+l);}}var f={};a.j.register=(d,l)=>{if(!l)throw Error("Invalid configuration for "+
|
||||
d);if(a.j.fb(d))throw Error("Component "+d+" is already registered");f[d]=l};a.j.fb=d=>Object.prototype.hasOwnProperty.call(f,d);a.j.unregister=d=>{delete f[d];a.j.qc(d)};a.j.tc={getConfig:(d,l)=>{d=a.j.fb(d)?f[d]:null;l(d)},loadComponent:(d,l,k)=>{var m=g(d);b(d,m,l,k)},loadTemplate:(d,l,k)=>{d=g(d);if("string"===typeof l)k(a.a.Ja(l));else if(l instanceof Array)k(l);else if(l instanceof DocumentFragment)k(a.a.sa(l.childNodes));else if(l.element)if(l=l.element,l instanceof HTMLElement)k(e(l));else if("string"===
|
||||
typeof l){var m=W.getElementById(l);m?k(e(m)):d("Cannot find element with ID "+l)}else d("Unknown element type: "+l);else d("Unknown template value: "+l)},loadViewModel:(d,l,k)=>c(g(d),l,k)};var h="createViewModel";a.b("components.register",a.j.register);a.b("components.isRegistered",a.j.fb);a.b("components.unregister",a.j.unregister);a.b("components.defaultLoader",a.j.tc);a.j.loaders.push(a.j.tc)})();(()=>{function b(e,g){var f=e.getAttribute("params");return f?(g=c.parseBindingsString(f,g,e,{valueAccessors:!0,
|
||||
bindingParams:!0}),g=a.a.ta(g,h=>a.m(h,null,{l:e})),f=a.a.ta(g,h=>{var d=h.A();return h.fa()?a.m({read:()=>a.a.h(h()),write:a.Fb(d)&&(l=>h()(l)),l:e}):d}),Object.prototype.hasOwnProperty.call(f,"$raw")||(f.$raw=g),f):{$raw:{}}}a.j.getComponentNameForNode=e=>{var g=a.a.ha(e);if(a.j.fb(g)&&(-1!=g.indexOf("-")||"[object HTMLUnknownElement]"==""+e))return g};a.j.ic=(e,g,f,h)=>{if(1===g.nodeType){var d=a.j.getComponentNameForNode(g);if(d){e=e||{};if(e.component)throw Error('Cannot use the "component" binding on a custom element matching a component');
|
||||
var l={name:d,params:b(g,f)};e.component=h?()=>l:l}}return e};var c=new a.$})();(()=>{function b(g,f,h){f=f.template;if(!f)throw Error("Component '"+g+"' has no template");g=a.a.tb(f);a.g.va(h,g)}function c(g,f,h){var d=g.createViewModel;return d?d.call(g,f,h):f}var e=0;a.f.component={init:(g,f,h,d,l)=>{var k,m,n,q=()=>{var x=k&&k.dispose;"function"===typeof x&&x.call(k);n&&n.s();m=k=n=null},t=a.a.sa(a.g.childNodes(g));a.g.Ea(g);a.a.M.Aa(g,q);a.m(()=>{var x=a.a.h(f());if("string"===typeof x)var u=
|
||||
x;else{u=a.a.h(x.name);var w=a.a.h(x.params)}if(!u)throw Error("No component name specified");var p=a.i.Tb(g,l),r=m=++e;a.j.get(u,v=>{if(m===r){q();if(!v)throw Error("Unknown component '"+u+"'");b(u,v,g);var y=c(v,w,{element:g,templateNodes:t});v=p.createChildContext(y,{extend:B=>{B.$component=y;B.$componentTemplateNodes=t}});y&&y.koDescendantsComplete&&(n=a.i.subscribe(g,a.i.qa,y.koDescendantsComplete,y));k=y;a.lc(v,g)}})},null,{l:g});return{controlsDescendantBindings:!0}}};a.g.na.component=!0})();
|
||||
a.f.attr={update:(b,c)=>{c=a.a.h(c())||{};a.a.K(c,function(e,g){g=a.a.h(g);var f=e.indexOf(":");f="lookupNamespaceURI"in b&&0<f&&b.lookupNamespaceURI(e.substr(0,f));var h=!1===g||null===g||void 0===g;h?f?b.removeAttributeNS(f,e):b.removeAttribute(e):g=g.toString();h||(f?b.setAttributeNS(f,e,g):b.setAttribute(e,g));"name"===e&&(b.name=h?"":g)})}};a.f["class"]={update:(b,c)=>{c=a.a.Ub(a.a.h(c()));a.a.lb(b,b.__ko__cssValue,!1);b.__ko__cssValue=c;a.a.lb(b,c,!0)}};a.f.css={update:(b,c)=>{var e=a.a.h(c());
|
||||
null!==e&&"object"==typeof e?a.a.K(e,(g,f)=>{f=a.a.h(f);a.a.lb(b,g,f)}):a.f["class"].update(b,c)}};a.f.enable={update:(b,c)=>{(c=a.a.h(c()))&&b.disabled?b.removeAttribute("disabled"):c||b.disabled||(b.disabled=!0)}};a.f.disable={update:(b,c)=>a.f.enable.update(b,()=>!a.a.h(c()))};a.f.event={init:(b,c,e,g,f)=>{var h=c()||{};a.a.K(h,d=>{"string"==typeof d&&a.a.L(b,d,function(l){var k=c()[d];if(k){try{var m=a.a.sa(arguments);g=f.$data;m.unshift(g);var n=k.apply(g,m)}finally{!0!==n&&(l.preventDefault?
|
||||
l.preventDefault():l.returnValue=!1)}!1===e.get(d+"Bubble")&&(l.cancelBubble=!0,l.stopPropagation&&l.stopPropagation())}})})}};a.f.foreach={Dc:b=>()=>{var c=b(),e=a.a.Gc(c);if(!e||"number"==typeof e.length)return{foreach:c,templateEngine:a.W.instance};a.a.h(c);return{foreach:e.data,as:e.as,noChildContext:e.noChildContext,includeDestroyed:e.includeDestroyed,afterAdd:e.afterAdd,beforeRemove:e.beforeRemove,afterRender:e.afterRender,beforeMove:e.beforeMove,afterMove:e.afterMove,templateEngine:a.W.instance}},
|
||||
init:(b,c)=>a.f.template.init(b,a.f.foreach.Dc(c)),update:(b,c,e,g,f)=>a.f.template.update(b,a.f.foreach.Dc(c),e,g,f)};a.u.Ua.foreach=!1;a.g.na.foreach=!0;a.f.hasfocus={init:(b,c,e)=>{var g=h=>{b.__ko_hasfocusUpdating=!0;h=b.ownerDocument.activeElement===b;var d=c();a.u.Zb(d,e,"hasfocus",h,!0);b.__ko_hasfocusLastValue=h;b.__ko_hasfocusUpdating=!1},f=g.bind(null,!0);g=g.bind(null,!1);a.a.L(b,"focus",f);a.a.L(b,"focusin",f);a.a.L(b,"blur",g);a.a.L(b,"focusout",g);b.__ko_hasfocusLastValue=!1},update:(b,
|
||||
c)=>{c=!!a.a.h(c());b.__ko_hasfocusUpdating||b.__ko_hasfocusLastValue===c||(c?b.focus():b.blur())}};a.u.mb.hasfocus=!0;a.f.hasFocus=a.f.hasfocus;a.u.mb.hasFocus="hasfocus";a.f.html={init:()=>({controlsDescendantBindings:!0}),update:(b,c)=>a.a.Sb(b,c())};var ba={};a.f.options={init:b=>{if("select"!==a.a.ha(b))throw Error("options binding applies only to SELECT elements");for(;0<b.length;)b.remove(0);return{controlsDescendantBindings:!0}},update:(b,c,e)=>{function g(){return Array.from(b.options).filter(u=>
|
||||
u.selected)}function f(u,w,p){var r=typeof w;return"function"==r?w(u):"string"==r?u[w]:p}function h(u,w){t&&m?a.i.notify(b,a.i.J):n.length&&(u=0<=a.a.Y(n,a.v.N(w[0])),w[0].selected=u,t&&!u&&a.o.H(a.a.Yb,null,[b,"change"]))}var d=b.multiple,l=0!=b.length&&d?b.scrollTop:null,k=a.a.h(c()),m=e.get("valueAllowUnset")&&e.has("value");c={};var n=[];m||(d?n=g().map(a.v.N):0<=b.selectedIndex&&n.push(a.v.N(b.options[b.selectedIndex])));if(k){"undefined"==typeof k.length&&(k=[k]);var q=k.filter(u=>u||null==
|
||||
u);e.has("optionsCaption")&&(k=a.a.h(e.get("optionsCaption")),null!==k&&void 0!==k&&q.unshift(ba))}var t=!1;c.beforeRemove=u=>b.removeChild(u);k=h;e.has("optionsAfterRender")&&"function"==typeof e.get("optionsAfterRender")&&(k=(u,w)=>{h(u,w);a.o.H(e.get("optionsAfterRender"),null,[w[0],u!==ba?u:void 0])});a.a.Rb(b,q,function(u,w,p){p.length&&(n=!m&&p[0].selected?[a.v.N(p[0])]:[],t=!0);w=b.ownerDocument.createElement("option");u===ba?(a.a.jb(w,e.get("optionsCaption")),a.v.Oa(w,void 0)):(p=f(u,e.get("optionsValue"),
|
||||
u),a.v.Oa(w,a.a.h(p)),u=f(u,e.get("optionsText"),p),a.a.jb(w,u));return[w]},c,k);if(!m){var x;d?x=n.length&&g().length<n.length:x=n.length&&0<=b.selectedIndex?a.v.N(b.options[b.selectedIndex])!==n[0]:n.length||0<=b.selectedIndex;x&&a.o.H(a.a.Yb,null,[b,"change"])}(m||a.ja.eb())&&a.i.notify(b,a.i.J);l&&20<Math.abs(l-b.scrollTop)&&(b.scrollTop=l)}};a.f.options.Kb=a.a.c.ba();a.f.style={update:(b,c)=>{c=a.a.h(c()||{});a.a.K(c,(e,g)=>{g=a.a.h(g);if(null===g||void 0===g||!1===g)g="";if(/^--/.test(e))b.style.setProperty(e,
|
||||
g);else{e=e.replace(/-(\w)/g,(h,d)=>d.toUpperCase());var f=b.style[e];b.style[e]=g;g===f||b.style[e]!=f||isNaN(g)||(b.style[e]=g+"px")}})}};a.f.submit={init:(b,c,e,g,f)=>{if("function"!=typeof c())throw Error("The value for a submit binding must be a function");a.a.L(b,"submit",h=>{var d=c();try{var l=d.call(f.$data,b)}finally{!0!==l&&(h.preventDefault?h.preventDefault():h.returnValue=!1)}})}};a.f.text={init:()=>({controlsDescendantBindings:!0}),update:(b,c)=>a.a.jb(b,c())};a.g.na.text=!0;a.f.textInput=
|
||||
{init:(b,c,e)=>{var g=b.value,f,h,d=()=>{clearTimeout(f);h=f=void 0;var k=b.value;g!==k&&(g=k,a.u.Zb(c(),e,"textInput",k))},l=()=>{var k=a.a.h(c());if(null===k||void 0===k)k="";void 0!==h&&k===h?a.a.setTimeout(l,4):b.value!==k&&(b.value=k,g=b.value)};a.a.L(b,"input",d);a.a.L(b,"change",d);a.a.L(b,"blur",d);a.m(l,null,{l:b})}};a.u.mb.textInput=!0;a.f.textinput={preprocess:(b,c,e)=>e("textInput",b)};a.f.value={init:(b,c,e)=>{var g=a.a.ha(b),f="input"==g;if(!f||"checkbox"!=b.type&&"radio"!=b.type){var h=
|
||||
[],d=e.get("valueUpdate"),l=null;d&&("string"==typeof d?h=[d]:h=d?d.filter((q,t)=>d.indexOf(q)===t):[],a.a.Ba(h,"change"));var k=()=>{l=null;var q=c(),t=a.v.N(b);a.u.Zb(q,e,"value",t)};a.a.X(h,q=>{var t=k;a.a.ud(q,"after")&&(t=()=>{l=a.v.N(b);a.a.setTimeout(k,0)},q=q.substring(5));a.a.L(b,q,t)});var m=f&&"file"==b.type?()=>{var q=a.a.h(c());null===q||void 0===q||""===q?b.value="":a.o.H(k)}:()=>{var q=a.a.h(c()),t=a.v.N(b);if(null!==l&&q===l)a.a.setTimeout(m,0);else if(q!==t||void 0===t)"select"===
|
||||
g?(t=e.get("valueAllowUnset"),a.v.Oa(b,q,t),t||q===a.v.N(b)||a.o.H(k)):a.v.Oa(b,q)};if("select"===g){var n;a.i.subscribe(b,a.i.J,()=>{n?e.get("valueAllowUnset")?m():k():(a.a.L(b,"change",k),n=a.m(m,null,{l:b}))},null,{notifyImmediately:!0})}else a.a.L(b,"change",k),a.m(m,null,{l:b})}else a.Sa(b,{checkedValue:c})},update:()=>{}};a.u.mb.value=!0;a.f.visible={update:(b,c)=>{c=a.a.h(c());var e="none"!=b.style.display;c&&!e?b.style.display="":!c&&e&&(b.style.display="none")}};a.f.hidden={update:(b,c)=>
|
||||
a.f.visible.update(b,()=>!a.a.h(c()))};(function(b){a.f[b]={init:function(c,e,g,f,h){return a.f.event.init.call(this,c,()=>{var d={};d[b]=e();return d},g,f,h)}}})("click");a.ca=function(){};a.ca.prototype.renderTemplateSource=()=>{throw Error("Override renderTemplateSource");};a.ca.prototype.createJavaScriptEvaluatorBlock=()=>{throw Error("Override createJavaScriptEvaluatorBlock");};a.ca.prototype.makeTemplateSource=(b,c)=>{if("string"==typeof b){c=c||W;c=c.getElementById(b);if(!c)throw Error("Cannot find template with ID "+
|
||||
b);return new a.B.C(c)}if(1==b.nodeType||8==b.nodeType)return new a.B.ea(b);throw Error("Unknown template type: "+b);};a.ca.prototype.renderTemplate=function(b,c,e,g){b=this.makeTemplateSource(b,g);return this.renderTemplateSource(b,c,e,g)};a.ca.prototype.isTemplateRewritten=function(b,c){return!1===this.allowTemplateRewriting?!0:this.makeTemplateSource(b,c).data("isRewritten")};a.ca.prototype.rewriteTemplate=function(b,c,e){b=this.makeTemplateSource(b,e);c=c(b.text());b.text(c);b.data("isRewritten",
|
||||
!0)};a.b("templateEngine",a.ca);a.Xb=(()=>{function b(g,f,h,d){g=a.u.Lb(g);for(var l=a.u.Ua,k=0;k<g.length;k++){var m=g[k].key;if(Object.prototype.hasOwnProperty.call(l,m)){var n=l[m];if("function"===typeof n){if(m=n(g[k].value))throw Error(m);}else if(!n)throw Error("This template engine does not support the '"+m+"' binding within its templates");}}h="ko.__tr_ambtns(function($context,$element){return(function(){return{ "+a.u.Mb(g,{valueAccessors:!0})+" } })()},'"+h.toLowerCase()+"')";return d.createJavaScriptEvaluatorBlock(h)+
|
||||
f}var c=/(<([a-z]+\d*)(?:\s+(?!data-bind\s*=\s*)[a-z0-9\-]+(?:=(?:"[^"]*"|'[^']*'|[^>]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,e=/\x3c!--\s*ko\b\s*([\s\S]*?)\s*--\x3e/g;return{cd:(g,f,h)=>{f.isTemplateRewritten(g,h)||f.rewriteTemplate(g,d=>a.Xb.od(d,f),h)},od:(g,f)=>g.replace(c,(...h)=>b(h[4],h[1],h[2],f)).replace(e,(...h)=>b(h[1],"\x3c!-- ko --\x3e","#comment",f)),Vc:(g,f)=>a.V.Hb((h,d)=>{(h=h.nextSibling)&&h.nodeName.toLowerCase()===f&&a.Sa(h,g,d)})}})();a.b("__tr_ambtns",a.Xb.Vc);(()=>{a.B=
|
||||
{};a.B.C=function(e){if(this.C=e){var g=a.a.ha(e);this.Ka="script"===g?1:"textarea"===g?2:"template"==g&&e.content&&11===e.content.nodeType?3:4}};a.B.C.prototype.text=function(){var e=1===this.Ka?"text":2===this.Ka?"value":"innerHTML";if(0==arguments.length)return this.C[e];var g=arguments[0];"innerHTML"===e?a.a.Sb(this.C,g):this.C[e]=g};var b=a.a.c.ba()+"_";a.B.C.prototype.data=function(e){if(1===arguments.length)return a.a.c.get(this.C,b+e);a.a.c.set(this.C,b+e,arguments[1])};var c=a.a.c.ba();a.B.C.prototype.nodes=
|
||||
function(){var e=this.C;if(0==arguments.length){var g=a.a.c.get(e,c)||{},f=g.Va||(3===this.Ka?e.content:4===this.Ka?e:void 0);if(!f||g.Sc){var h=this.text();h&&h!==g.La&&(f=a.a.qd(h,e.ownerDocument),a.a.c.set(e,c,{Va:f,La:h,Sc:!0}))}return f}g=arguments[0];void 0!==this.Ka&&this.text("");a.a.c.set(e,c,{Va:g})};a.B.ea=function(e){this.C=e};a.B.ea.prototype=new a.B.C;a.B.ea.prototype.constructor=a.B.ea;a.B.ea.prototype.text=function(){if(0==arguments.length){var e=a.a.c.get(this.C,c)||{};void 0===e.La&&
|
||||
e.Va&&(e.La=e.Va.innerHTML);return e.La}a.a.c.set(this.C,c,{La:arguments[0]})};a.b("templateSources",a.B);a.b("templateSources.domElement",a.B.C);a.b("templateSources.anonymousTemplate",a.B.ea)})();(function(){function b(k,m,n){var q;for(m=a.g.nextSibling(m);k&&(q=k)!==m;)k=a.g.nextSibling(q),n(q,k)}function c(k,m){if(k.length){var n=k[0],q=k[k.length-1],t=n.parentNode,x=a.$.instance,u=x.preprocessNode;if(u){b(n,q,(w,p)=>{var r=w.previousSibling,v=u.call(x,w);v&&(w===n&&(n=v[0]||p),w===q&&(q=v[v.length-
|
||||
1]||r))});k.length=0;if(!n)return;n===q?k.push(n):(k.push(n,q),a.a.Fa(k,t))}b(n,q,w=>{1!==w.nodeType&&8!==w.nodeType||a.kc(m,w)});b(n,q,w=>{1!==w.nodeType&&8!==w.nodeType||a.V.Mc(w,[m])});a.a.Fa(k,t)}}function e(k){return k.nodeType?k:0<k.length?k[0]:null}function g(k,m,n,q,t){t=t||{};var x=(k&&e(k)||n||{}).ownerDocument,u=t.templateEngine||h;a.Xb.cd(n,u,x);n=u.renderTemplate(n,q,t,x);if("number"!=typeof n.length||0<n.length&&"number"!=typeof n[0].nodeType)throw Error("Template engine must return an array of DOM nodes");
|
||||
x=!1;switch(m){case "replaceChildren":a.g.va(k,n);x=!0;break;case "replaceNode":a.a.Ic(k,n);x=!0;break;case "ignoreTargetNode":break;default:throw Error("Unknown renderMode: "+m);}x&&(c(n,q),t.afterRender&&a.o.H(t.afterRender,null,[n,q[t.as||"$data"]]),"replaceChildren"==m&&a.i.notify(k,a.i.J));return n}function f(k,m,n){return a.S(k)?k():"function"===typeof k?k(m,n):k}var h;a.Jc=k=>{if(void 0!=k&&!(k instanceof a.ca))throw Error("templateEngine must inherit from ko.templateEngine");h=k};a.Pb=function(k,
|
||||
m,n,q,t){n=n||{};if(void 0==(n.templateEngine||h))throw Error("Set a template engine before calling renderTemplate");t=t||"replaceChildren";if(q){var x=e(q);return a.m(()=>{var u=m&&m instanceof a.Z?m:new a.Z(m,null,null,null,{exportDependencies:!0}),w=f(k,u.$data,u);u=g(q,t,w,u,n);"replaceNode"==t&&(q=u,x=e(q))},null,{Da:()=>!x||!a.a.zb(x),l:x&&"replaceNode"==t?x.parentNode:x})}return a.V.Hb(u=>a.Pb(k,m,n,u,"replaceNode"))};a.rd=(k,m,n,q,t)=>{function x(B,z){a.o.H(a.a.Rb,null,[q,B,p,n,r,z]);a.i.notify(q,
|
||||
a.i.J)}var u,w=n.as,p=(B,z)=>{u=t.createChildContext(B,{as:w,noChildContext:n.noChildContext,extend:C=>{C.$index=z;w&&(C[w+"Index"]=z)}});B=f(k,B,u);return g(q,"ignoreTargetNode",B,u,n)},r=(B,z)=>{c(z,u);n.afterRender&&n.afterRender(z,B);u=null},v=!1===n.includeDestroyed;if(v||n.beforeRemove||!a.Bc(m))return a.m(()=>{var B=a.a.h(m)||[];"undefined"==typeof B.length&&(B=[B]);v&&(B=B.filter(z=>z||null==z));x(B)},null,{l:q});x(m.A());var y=m.subscribe(B=>{x(m(),B)},null,"arrayChange");y.l(q);return y};
|
||||
var d=a.a.c.ba(),l=a.a.c.ba();a.f.template={init:(k,m)=>{m=a.a.h(m());if("string"==typeof m||"name"in m)a.g.Ea(k);else if("nodes"in m){m=m.nodes||[];if(a.S(m))throw Error('The "nodes" option must be a plain, non-observable array.');let n=m[0]&&m[0].parentNode;n&&a.a.c.get(n,l)||(n=a.a.Ib(m),a.a.c.set(n,l,!0));(new a.B.ea(k)).nodes(n)}else if(m=a.g.childNodes(k),0<m.length)m=a.a.Ib(m),(new a.B.ea(k)).nodes(m);else throw Error("Anonymous template defined, but no template content was provided");return{controlsDescendantBindings:!0}},
|
||||
update:(k,m,n,q,t)=>{var x=m();m=a.a.h(x);n=!0;q=null;"string"==typeof m?m={}:(x="name"in m?m.name:k,"if"in m&&(n=a.a.h(m["if"])),n&&"ifnot"in m&&(n=!a.a.h(m.ifnot)),n&&!x&&(n=!1));"foreach"in m?q=a.rd(x,n&&m.foreach||[],m,k,t):n?(n=t,"data"in m&&(n=t.createChildContext(m.data,{as:m.as,noChildContext:m.noChildContext,exportDependencies:!0})),q=a.Pb(x,n,m,k)):a.g.Ea(k);t=q;(m=a.a.c.get(k,d))&&"function"==typeof m.s&&m.s();a.a.c.set(k,d,!t||t.fa&&!t.fa()?void 0:t)}};a.u.Ua.template=k=>{k=a.u.Lb(k);
|
||||
return 1==k.length&&k[0].unknown||a.u.md(k,"name")?null:"This template engine does not support anonymous templates nested within its templates"};a.g.na.template=!0})();a.b("setTemplateEngine",a.Jc);a.b("renderTemplate",a.Pb);a.a.xc=(b,c,e)=>{if(b.length&&c.length){var g,f,h,d,l;for(g=f=0;(!e||g<e)&&(d=b[f]);++f){for(h=0;l=c[h];++h)if(d.value===l.value){d.moved=l.index;l.moved=d.index;c.splice(h,1);g=h=0;break}g+=h}}};a.a.vb=(()=>{function b(c,e,g,f,h){var d=Math.min,l=Math.max,k=[],m,n=c.length,q,
|
||||
t=e.length,x=t-n||1,u=n+t+1,w;for(m=0;m<=n;m++){var p=w;k.push(w=[]);var r=d(t,m+x);for(q=l(0,m-1);q<=r;q++)w[q]=q?m?c[m-1]===e[q-1]?p[q-1]:d(p[q]||u,w[q-1]||u)+1:q+1:m+1}d=[];l=[];x=[];m=n;for(q=t;m||q;)t=k[m][q]-1,q&&t===k[m][q-1]?l.push(d[d.length]={status:g,value:e[--q],index:q}):m&&t===k[m-1][q]?x.push(d[d.length]={status:f,value:c[--m],index:m}):(--q,--m,h.sparse||d.push({status:"retained",value:e[q]}));a.a.xc(x,l,!h.dontLimitMoves&&10*n);return d.reverse()}return function(c,e,g){g="boolean"===
|
||||
typeof g?{dontLimitMoves:g}:g||{};c=c||[];e=e||[];return c.length<e.length?b(c,e,"added","deleted",g):b(e,c,"deleted","added",g)}})();a.b("utils.compareArrays",a.a.wb);(()=>{function b(g,f,h,d,l){var k=[],m=a.V(()=>{var n=f(h,l,a.a.Ga(k,g))||[];0<k.length&&(a.a.Ic(k,n),d&&a.m.H(d,null,[h,n,l]));k.length=0;a.a.tb(k,n)},null,{l:g,Ea:function(){return!a.a.Tc(k)}});return{U:k,V:m.ga()?m:void 0}}var c=a.a.c.ca(),e=a.a.c.ca();a.a.Rb=(g,f,h,d,l,k)=>{function m(K){A={pa:K,ab:a.na(p++)};u.push(A);x||z.push(A)}
|
||||
function n(K){A=t[K];p!==A.ab.A()&&B.push(A);A.ab(p++);a.a.Ga(A.U,g);u.push(A)}function q(K,L){if(K)for(var M=0,D=L.length;M<D;M++)a.a.Y(L[M].U,function(T){K(T,M,L[M].pa)})}f=f||[];"undefined"==typeof f.length&&(f=[f]);d=d||{};var t=a.a.c.get(g,c),x=!t,u=[],w=0,p=0,r=[],v=[],y=[],B=[],z=[],C=0;if(x)a.a.Y(f,m);else{if(!k||t&&t._countWaitingForRemove)k=Array.prototype.map.call(t,K=>K.pa),k=a.a.wb(k,f,{dontLimitMoves:d.dontLimitMoves,sparse:!0});for(let K=0,L,M,D;L=k[K];K++)switch(M=L.moved,D=L.index,
|
||||
L.status){case "deleted":for(;w<D;)n(w++);if(void 0===M){var A=t[w];A.V&&(A.V.o(),A.V=void 0);a.a.Ga(A.U,g).length&&(d.beforeRemove&&(u.push(A),C++,A.pa===e?A=null:y.push(A)),A&&r.push.apply(r,A.U))}w++;break;case "added":for(;p<D;)n(w++);void 0!==M?(v.push(u.length),n(M)):m(L.value)}for(;p<f.length;)n(w++);u._countWaitingForRemove=C}a.a.c.set(g,c,u);q(d.beforeMove,B);a.a.Y(r,d.beforeRemove?a.ja:a.removeNode);var H,O;C=g.ownerDocument.activeElement;if(v.length)for(;void 0!=(f=v.shift());){A=u[f];
|
||||
for(H=void 0;f;)if((O=u[--f].U)&&O.length){H=O[O.length-1];break}for(w=0;r=A.U[w];H=r,w++)a.g.Eb(g,r,H)}for(f=0;A=u[f];f++){A.U||a.a.extend(A,b(g,h,A.pa,l,A.ab));for(w=0;r=A.U[w];H=r,w++)a.g.Eb(g,r,H);!A.jd&&l&&(l(A.pa,A.U,A.ab),A.jd=!0,H=A.U[A.U.length-1])}C&&g.ownerDocument.activeElement!=C&&C.focus();q(d.beforeRemove,y);for(f=0;f<y.length;++f)y[f].pa=e;q(d.afterMove,B);q(d.afterAdd,z)}})();a.b("utils.setDomNodeChildrenFromArrayMapping",a.a.Rb);a.X=function(){this.allowTemplateRewriting=!1};a.X.prototype=
|
||||
new a.da;a.X.prototype.constructor=a.X;a.X.prototype.renderTemplateSource=(b,c,e,g)=>{if(c=b.pd?b.pd():null)return a.a.ta(c.cloneNode(!0).childNodes);b=b.text();return a.a.Ka(b,g)};a.X.instance=new a.X;a.Jc(a.X.instance);a.b("nativeTemplateEngine",a.X);F.ko=Z})(this);
|
||||
typeof g?{dontLimitMoves:g}:g||{};c=c||[];e=e||[];return c.length<e.length?b(c,e,"added","deleted",g):b(e,c,"deleted","added",g)}})();a.b("utils.compareArrays",a.a.vb);(()=>{function b(g,f,h,d,l){var k=[],m=a.m(()=>{var n=f(h,l,a.a.Fa(k,g))||[];0<k.length&&(a.a.Ic(k,n),d&&a.o.H(d,null,[h,n,l]));k.length=0;a.a.sb(k,n)},null,{l:g,Da:function(){return!a.a.Tc(k)}});return{U:k,wb:m.fa()?m:void 0}}var c=a.a.c.ba(),e=a.a.c.ba();a.a.Rb=(g,f,h,d,l,k)=>{function m(K){A={oa:K,$a:a.ma(p++)};u.push(A);x||z.push(A)}
|
||||
function n(K){A=t[K];p!==A.$a.A()&&B.push(A);A.$a(p++);a.a.Fa(A.U,g);u.push(A)}function q(K,L){if(K)for(var M=0,D=L.length;M<D;M++)a.a.X(L[M].U,function(T){K(T,M,L[M].oa)})}f=f||[];"undefined"==typeof f.length&&(f=[f]);d=d||{};var t=a.a.c.get(g,c),x=!t,u=[],w=0,p=0,r=[],v=[],y=[],B=[],z=[],C=0;if(x)a.a.X(f,m);else{if(!k||t&&t._countWaitingForRemove)k=Array.prototype.map.call(t,K=>K.oa),k=a.a.vb(k,f,{dontLimitMoves:d.dontLimitMoves,sparse:!0});for(let K=0,L,M,D;L=k[K];K++)switch(M=L.moved,D=L.index,
|
||||
L.status){case "deleted":for(;w<D;)n(w++);if(void 0===M){var A=t[w];A.wb&&(A.wb.s(),A.wb=void 0);a.a.Fa(A.U,g).length&&(d.beforeRemove&&(u.push(A),C++,A.oa===e?A=null:y.push(A)),A&&r.push.apply(r,A.U))}w++;break;case "added":for(;p<D;)n(w++);void 0!==M?(v.push(u.length),n(M)):m(L.value)}for(;p<f.length;)n(w++);u._countWaitingForRemove=C}a.a.c.set(g,c,u);q(d.beforeMove,B);a.a.X(r,d.beforeRemove?a.ia:a.removeNode);var H,O;C=g.ownerDocument.activeElement;if(v.length)for(;void 0!=(f=v.shift());){A=u[f];
|
||||
for(H=void 0;f;)if((O=u[--f].U)&&O.length){H=O[O.length-1];break}for(w=0;r=A.U[w];H=r,w++)a.g.Eb(g,r,H)}for(f=0;A=u[f];f++){A.U||a.a.extend(A,b(g,h,A.oa,l,A.$a));for(w=0;r=A.U[w];H=r,w++)a.g.Eb(g,r,H);!A.jd&&l&&(l(A.oa,A.U,A.$a),A.jd=!0,H=A.U[A.U.length-1])}C&&g.ownerDocument.activeElement!=C&&C.focus();q(d.beforeRemove,y);for(f=0;f<y.length;++f)y[f].oa=e;q(d.afterMove,B);q(d.afterAdd,z)}})();a.b("utils.setDomNodeChildrenFromArrayMapping",a.a.Rb);a.W=function(){this.allowTemplateRewriting=!1};a.W.prototype=
|
||||
new a.ca;a.W.prototype.constructor=a.W;a.W.prototype.renderTemplateSource=(b,c,e,g)=>{if(c=b.pd?b.pd():null)return a.a.sa(c.cloneNode(!0).childNodes);b=b.text();return a.a.Ja(b,g)};a.W.instance=new a.W;a.Jc(a.W.instance);a.b("nativeTemplateEngine",a.W);F.ko=Z})(this);
|
||||
|
|
|
|||
|
|
@ -392,7 +392,7 @@
|
|||
|
||||
// Get the binding from the provider within a computed observable so that we can update the bindings whenever
|
||||
// the binding context is updated or if the binding provider accesses observables.
|
||||
var bindingsUpdater = ko.dependentObservable(
|
||||
var bindingsUpdater = ko.computed(
|
||||
() => {
|
||||
bindings = sourceBindings ? sourceBindings(bindingContext, node) : getBindings.call(provider, node, bindingContext);
|
||||
// Register a dependency on the binding context to support observable view models.
|
||||
|
|
@ -485,7 +485,7 @@
|
|||
|
||||
// Run update in its own computed wrapper
|
||||
if (typeof handlerUpdateFn == "function") {
|
||||
ko.dependentObservable(
|
||||
ko.computed(
|
||||
() => handlerUpdateFn(node, getValueAccessor(bindingKey), allBindings, contextToExtend['$data'], contextToExtend),
|
||||
null,
|
||||
{ disposeWhenNodeIsRemoved: node }
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
function mapNodeAndRefreshWhenChanged(containerNode, mapping, valueToMap, callbackAfterAddingNodes, index) {
|
||||
// Map this array value inside a dependentObservable so we re-map when any dependency changes
|
||||
var mappedNodes = [];
|
||||
var dependentObservable = ko.dependentObservable(() => {
|
||||
var dependentObservable = ko.computed(() => {
|
||||
var newMappedNodes = mapping(valueToMap, index, ko.utils.fixUpContinuousNodeArray(mappedNodes, containerNode)) || [];
|
||||
|
||||
// On subsequent evaluations, just replace the previously-inserted DOM nodes
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
var computedState = Symbol('_state');
|
||||
|
||||
ko.computed = ko.dependentObservable = function (evaluatorFunctionOrOptions, evaluatorFunctionTarget, options) {
|
||||
ko.computed = function (evaluatorFunctionOrOptions, evaluatorFunctionTarget, options) {
|
||||
if (typeof evaluatorFunctionOrOptions === "object") {
|
||||
// Single-parameter syntax - everything is on this "options" param
|
||||
options = evaluatorFunctionOrOptions;
|
||||
|
|
@ -498,7 +498,6 @@ ko.isComputed = instance => (typeof instance == 'function' && instance[protoProp
|
|||
ko.isPureComputed = instance => ko.isComputed(instance) && instance[computedState] && instance[computedState].pure;
|
||||
|
||||
ko.exportSymbol('computed', ko.computed);
|
||||
ko.exportSymbol('dependentObservable', ko.computed); // export ko.dependentObservable for backwards compatibility (1.x)
|
||||
ko.exportSymbol('isComputed', ko.isComputed);
|
||||
ko.exportSymbol('isPureComputed', ko.isPureComputed);
|
||||
ko.exportSymbol('computed.fn', computedFn);
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ ko.extenders = {
|
|||
// (2) For writable targets (observables, or writable dependent observables), we throttle *writes*
|
||||
// so the target cannot change value synchronously or faster than a certain rate
|
||||
var writeTimeoutInstance = null;
|
||||
return ko.dependentObservable({
|
||||
return ko.computed({
|
||||
'read': target,
|
||||
'write': value => {
|
||||
clearTimeout(writeTimeoutInstance);
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@
|
|||
var whenToDispose = () => (!firstTargetNode) || !ko.utils.domNodeIsAttachedToDocument(firstTargetNode); // Passive disposal (on next evaluation)
|
||||
var activelyDisposeWhenNodeIsRemoved = (firstTargetNode && renderMode == "replaceNode") ? firstTargetNode.parentNode : firstTargetNode;
|
||||
|
||||
return ko.dependentObservable( // So the DOM is automatically updated when any dependency changes
|
||||
return ko.computed( // So the DOM is automatically updated when any dependency changes
|
||||
() => {
|
||||
// Ensure we've got a proper binding context to work with
|
||||
var bindingContext = (dataOrBindingContext && (dataOrBindingContext instanceof ko.bindingContext))
|
||||
|
|
@ -218,7 +218,7 @@
|
|||
|
||||
return subscription;
|
||||
} else {
|
||||
return ko.dependentObservable(() => {
|
||||
return ko.computed(() => {
|
||||
var unwrappedArray = ko.utils.unwrapObservable(arrayOrObservableArray) || [];
|
||||
if (typeof unwrappedArray.length == "undefined") // Coerce single value into array
|
||||
unwrappedArray = [unwrappedArray];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue