Your IP : 172.70.127.68


Current Path : /var/www/element/data/www/revenuestory.ru/bitrix/js/ui/dexie/dist/
Upload File :
Current File : /var/www/element/data/www/revenuestory.ru/bitrix/js/ui/dexie/dist/dexie3.bundle.js.map

{"version":3,"file":"dexie3.bundle.js","sources":["../src/dexie3.js"],"sourcesContent":["/*\n * Dexie.js - a minimalistic wrapper for IndexedDB\n * ===============================================\n *\n * By David Fahlander, david.fahlander@gmail.com\n *\n * Version 3.2.2, Wed Apr 27 2022\n *\n * https://dexie.org\n *\n * Apache License Version 2.0, January 2004, http://www.apache.org/licenses/\n */\n\n/**\n * Modify list for integration with Bitrix Framework:\n * - removed integration with third-party package builders;\n * - add check variables before using them, see tags: 28122018;\n * - add alternative Promise check for Bitrix Cli, see tags: 02032020;\n * - add export for work in Bitrix CoreJS extensions;\n * - add export BX.Dexie for backward compatibility;\n */\n\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\nvar __assign = function() {\n\t__assign = Object.assign || function __assign(t) {\n\t\tfor (var s, i = 1, n = arguments.length; i < n; i++) {\n\t\t\ts = arguments[i];\n\t\t\tfor (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n\t\t}\n\t\treturn t;\n\t};\n\treturn __assign.apply(this, arguments);\n};\nfunction __spreadArray(to, from, pack) {\n\tif (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n\t\tif (ar || !(i in from)) {\n\t\t\tif (!ar) ar = Array.prototype.slice.call(from, 0, i);\n\t\t\tar[i] = from[i];\n\t\t}\n\t}\n\treturn to.concat(ar || Array.prototype.slice.call(from));\n}\n\nvar _global = typeof globalThis !== 'undefined' ? globalThis :\n\ttypeof self !== 'undefined' ? self :\n\t\ttypeof window !== 'undefined' ? window :\n\t\t\tglobal;\n\nvar keys = Object.keys;\nvar isArray = Array.isArray;\nif (typeof Promise !== 'undefined' && !_global.Promise) {\n\t_global.Promise = Promise;\n}\nfunction extend(obj, extension) {\n\tif (typeof extension !== 'object')\n\t\treturn obj;\n\tkeys(extension).forEach(function (key) {\n\t\tobj[key] = extension[key];\n\t});\n\treturn obj;\n}\nvar getProto = Object.getPrototypeOf;\nvar _hasOwn = {}.hasOwnProperty;\nfunction hasOwn(obj, prop) {\n\treturn _hasOwn.call(obj, prop);\n}\nfunction props(proto, extension) {\n\tif (typeof extension === 'function')\n\t\textension = extension(getProto(proto));\n\t// tag start 28122018\n\tif (typeof extension !== 'object')\n\t\treturn;\n\t// tag end 28122018\n\t(typeof Reflect === \"undefined\" ? keys : Reflect.ownKeys)(extension).forEach(function (key) {\n\t\tsetProp(proto, key, extension[key]);\n\t});\n}\nvar defineProperty = Object.defineProperty;\nfunction setProp(obj, prop, functionOrGetSet, options) {\n\tdefineProperty(obj, prop, extend(functionOrGetSet && hasOwn(functionOrGetSet, \"get\") && typeof functionOrGetSet.get === 'function' ?\n\t\t{ get: functionOrGetSet.get, set: functionOrGetSet.set, configurable: true } :\n\t\t{ value: functionOrGetSet, configurable: true, writable: true }, options));\n}\nfunction derive(Child) {\n\treturn {\n\t\tfrom: function (Parent) {\n\t\t\tChild.prototype = Object.create(Parent.prototype);\n\t\t\tsetProp(Child.prototype, \"constructor\", Child);\n\t\t\treturn {\n\t\t\t\textend: props.bind(null, Child.prototype)\n\t\t\t};\n\t\t}\n\t};\n}\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nfunction getPropertyDescriptor(obj, prop) {\n\tvar pd = getOwnPropertyDescriptor(obj, prop);\n\tvar proto;\n\treturn pd || (proto = getProto(obj)) && getPropertyDescriptor(proto, prop);\n}\nvar _slice = [].slice;\nfunction slice(args, start, end) {\n\treturn _slice.call(args, start, end);\n}\nfunction override(origFunc, overridedFactory) {\n\treturn overridedFactory(origFunc);\n}\nfunction assert(b) {\n\tif (!b)\n\t\tthrow new Error(\"Assertion Failed\");\n}\nfunction asap$1(fn) {\n\tif (_global.setImmediate)\n\t\tsetImmediate(fn);\n\telse\n\t\tsetTimeout(fn, 0);\n}\nfunction arrayToObject(array, extractor) {\n\treturn array.reduce(function (result, item, i) {\n\t\tvar nameAndValue = extractor(item, i);\n\t\tif (nameAndValue)\n\t\t\tresult[nameAndValue[0]] = nameAndValue[1];\n\t\treturn result;\n\t}, {});\n}\nfunction tryCatch(fn, onerror, args) {\n\ttry {\n\t\tfn.apply(null, args);\n\t}\n\tcatch (ex) {\n\t\tonerror && onerror(ex);\n\t}\n}\nfunction getByKeyPath(obj, keyPath) {\n\tif (hasOwn(obj, keyPath))\n\t\treturn obj[keyPath];\n\tif (!keyPath)\n\t\treturn obj;\n\tif (typeof keyPath !== 'string') {\n\t\tvar rv = [];\n\t\tfor (var i = 0, l = keyPath.length; i < l; ++i) {\n\t\t\tvar val = getByKeyPath(obj, keyPath[i]);\n\t\t\trv.push(val);\n\t\t}\n\t\treturn rv;\n\t}\n\tvar period = keyPath.indexOf('.');\n\tif (period !== -1) {\n\t\tvar innerObj = obj[keyPath.substr(0, period)];\n\t\treturn innerObj === undefined ? undefined : getByKeyPath(innerObj, keyPath.substr(period + 1));\n\t}\n\treturn undefined;\n}\nfunction setByKeyPath(obj, keyPath, value) {\n\tif (!obj || keyPath === undefined)\n\t\treturn;\n\tif ('isFrozen' in Object && Object.isFrozen(obj))\n\t\treturn;\n\tif (typeof keyPath !== 'string' && 'length' in keyPath) {\n\t\tassert(typeof value !== 'string' && 'length' in value);\n\t\tfor (var i = 0, l = keyPath.length; i < l; ++i) {\n\t\t\tsetByKeyPath(obj, keyPath[i], value[i]);\n\t\t}\n\t}\n\telse {\n\t\tvar period = keyPath.indexOf('.');\n\t\tif (period !== -1) {\n\t\t\tvar currentKeyPath = keyPath.substr(0, period);\n\t\t\tvar remainingKeyPath = keyPath.substr(period + 1);\n\t\t\tif (remainingKeyPath === \"\")\n\t\t\t\tif (value === undefined) {\n\t\t\t\t\tif (isArray(obj) && !isNaN(parseInt(currentKeyPath)))\n\t\t\t\t\t\tobj.splice(currentKeyPath, 1);\n\t\t\t\t\telse\n\t\t\t\t\t\tdelete obj[currentKeyPath];\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tobj[currentKeyPath] = value;\n\t\t\telse {\n\t\t\t\tvar innerObj = obj[currentKeyPath];\n\t\t\t\tif (!innerObj || !hasOwn(obj, currentKeyPath))\n\t\t\t\t\tinnerObj = (obj[currentKeyPath] = {});\n\t\t\t\tsetByKeyPath(innerObj, remainingKeyPath, value);\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tif (value === undefined) {\n\t\t\t\tif (isArray(obj) && !isNaN(parseInt(keyPath)))\n\t\t\t\t\tobj.splice(keyPath, 1);\n\t\t\t\telse\n\t\t\t\t\tdelete obj[keyPath];\n\t\t\t}\n\t\t\telse\n\t\t\t\tobj[keyPath] = value;\n\t\t}\n\t}\n}\nfunction delByKeyPath(obj, keyPath) {\n\tif (typeof keyPath === 'string')\n\t\tsetByKeyPath(obj, keyPath, undefined);\n\telse if ('length' in keyPath)\n\t\t[].map.call(keyPath, function (kp) {\n\t\t\tsetByKeyPath(obj, kp, undefined);\n\t\t});\n}\nfunction shallowClone(obj) {\n\tvar rv = {};\n\tfor (var m in obj) {\n\t\tif (hasOwn(obj, m))\n\t\t\trv[m] = obj[m];\n\t}\n\treturn rv;\n}\nvar concat = [].concat;\nfunction flatten(a) {\n\treturn concat.apply([], a);\n}\nvar intrinsicTypeNames = \"Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey\"\n\t.split(',').concat(flatten([8, 16, 32, 64].map(function (num) { return [\"Int\", \"Uint\", \"Float\"].map(function (t) { return t + num + \"Array\"; }); }))).filter(function (t) { return _global[t]; });\nvar intrinsicTypes = intrinsicTypeNames.map(function (t) { return _global[t]; });\narrayToObject(intrinsicTypeNames, function (x) { return [x, true]; });\nvar circularRefs = null;\nfunction deepClone(any) {\n\tcircularRefs = typeof WeakMap !== 'undefined' && new WeakMap();\n\tvar rv = innerDeepClone(any);\n\tcircularRefs = null;\n\treturn rv;\n}\nfunction innerDeepClone(any) {\n\tif (!any || typeof any !== 'object')\n\t\treturn any;\n\tvar rv = circularRefs && circularRefs.get(any);\n\tif (rv)\n\t\treturn rv;\n\tif (isArray(any)) {\n\t\trv = [];\n\t\tcircularRefs && circularRefs.set(any, rv);\n\t\tfor (var i = 0, l = any.length; i < l; ++i) {\n\t\t\trv.push(innerDeepClone(any[i]));\n\t\t}\n\t}\n\telse if (intrinsicTypes.indexOf(any.constructor) >= 0) {\n\t\trv = any;\n\t}\n\telse {\n\t\tvar proto = getProto(any);\n\t\trv = proto === Object.prototype ? {} : Object.create(proto);\n\t\tcircularRefs && circularRefs.set(any, rv);\n\t\tfor (var prop in any) {\n\t\t\tif (hasOwn(any, prop)) {\n\t\t\t\trv[prop] = innerDeepClone(any[prop]);\n\t\t\t}\n\t\t}\n\t}\n\treturn rv;\n}\nvar toString = {}.toString;\nfunction toStringTag(o) {\n\treturn toString.call(o).slice(8, -1);\n}\nvar iteratorSymbol = typeof Symbol !== 'undefined' ?\n\tSymbol.iterator :\n\t'@@iterator';\nvar getIteratorOf = typeof iteratorSymbol === \"symbol\" ? function (x) {\n\tvar i;\n\treturn x != null && (i = x[iteratorSymbol]) && i.apply(x);\n} : function () { return null; };\nvar NO_CHAR_ARRAY = {};\nfunction getArrayOf(arrayLike) {\n\tvar i, a, x, it;\n\tif (arguments.length === 1) {\n\t\tif (isArray(arrayLike))\n\t\t\treturn arrayLike.slice();\n\t\tif (this === NO_CHAR_ARRAY && typeof arrayLike === 'string')\n\t\t\treturn [arrayLike];\n\t\tif ((it = getIteratorOf(arrayLike))) {\n\t\t\ta = [];\n\t\t\twhile ((x = it.next()), !x.done)\n\t\t\t\ta.push(x.value);\n\t\t\treturn a;\n\t\t}\n\t\tif (arrayLike == null)\n\t\t\treturn [arrayLike];\n\t\ti = arrayLike.length;\n\t\tif (typeof i === 'number') {\n\t\t\ta = new Array(i);\n\t\t\twhile (i--)\n\t\t\t\ta[i] = arrayLike[i];\n\t\t\treturn a;\n\t\t}\n\t\treturn [arrayLike];\n\t}\n\ti = arguments.length;\n\ta = new Array(i);\n\twhile (i--)\n\t\ta[i] = arguments[i];\n\treturn a;\n}\nvar isAsyncFunction = typeof Symbol !== 'undefined'\n\t? function (fn) { return fn[Symbol.toStringTag] === 'AsyncFunction'; }\n\t: function () { return false; };\n\nvar debug = typeof location !== 'undefined' &&\n\t/^(http|https):\\/\\/(localhost|127\\.0\\.0\\.1)/.test(location.href);\nfunction setDebug(value, filter) {\n\tdebug = value;\n\tlibraryFilter = filter;\n}\nvar libraryFilter = function () { return true; };\nvar NEEDS_THROW_FOR_STACK = !new Error(\"\").stack;\nfunction getErrorWithStack() {\n\tif (NEEDS_THROW_FOR_STACK)\n\t\ttry {\n\t\t\tgetErrorWithStack.arguments;\n\t\t\tthrow new Error();\n\t\t}\n\t\tcatch (e) {\n\t\t\treturn e;\n\t\t}\n\treturn new Error();\n}\nfunction prettyStack(exception, numIgnoredFrames) {\n\tvar stack = exception.stack;\n\tif (!stack)\n\t\treturn \"\";\n\tnumIgnoredFrames = (numIgnoredFrames || 0);\n\tif (stack.indexOf(exception.name) === 0)\n\t\tnumIgnoredFrames += (exception.name + exception.message).split('\\n').length;\n\treturn stack.split('\\n')\n\t\t.slice(numIgnoredFrames)\n\t\t.filter(libraryFilter)\n\t\t.map(function (frame) { return \"\\n\" + frame; })\n\t\t.join('');\n}\n\nvar dexieErrorNames = [\n\t'Modify',\n\t'Bulk',\n\t'OpenFailed',\n\t'VersionChange',\n\t'Schema',\n\t'Upgrade',\n\t'InvalidTable',\n\t'MissingAPI',\n\t'NoSuchDatabase',\n\t'InvalidArgument',\n\t'SubTransaction',\n\t'Unsupported',\n\t'Internal',\n\t'DatabaseClosed',\n\t'PrematureCommit',\n\t'ForeignAwait'\n];\nvar idbDomErrorNames = [\n\t'Unknown',\n\t'Constraint',\n\t'Data',\n\t'TransactionInactive',\n\t'ReadOnly',\n\t'Version',\n\t'NotFound',\n\t'InvalidState',\n\t'InvalidAccess',\n\t'Abort',\n\t'Timeout',\n\t'QuotaExceeded',\n\t'Syntax',\n\t'DataClone'\n];\nvar errorList = dexieErrorNames.concat(idbDomErrorNames);\nvar defaultTexts = {\n\tVersionChanged: \"Database version changed by other database connection\",\n\tDatabaseClosed: \"Database has been closed\",\n\tAbort: \"Transaction aborted\",\n\tTransactionInactive: \"Transaction has already completed or failed\",\n\tMissingAPI: \"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb\"\n};\nfunction DexieError(name, msg) {\n\tthis._e = getErrorWithStack();\n\tthis.name = name;\n\tthis.message = msg;\n}\nderive(DexieError).from(Error).extend({\n\tstack: {\n\t\tget: function () {\n\t\t\treturn this._stack ||\n\t\t\t\t(this._stack = this.name + \": \" + this.message + prettyStack(this._e, 2));\n\t\t}\n\t},\n\ttoString: function () { return this.name + \": \" + this.message; }\n});\nfunction getMultiErrorMessage(msg, failures) {\n\treturn msg + \". Errors: \" + Object.keys(failures)\n\t\t.map(function (key) { return failures[key].toString(); })\n\t\t.filter(function (v, i, s) { return s.indexOf(v) === i; })\n\t\t.join('\\n');\n}\nfunction ModifyError(msg, failures, successCount, failedKeys) {\n\tthis._e = getErrorWithStack();\n\tthis.failures = failures;\n\tthis.failedKeys = failedKeys;\n\tthis.successCount = successCount;\n\tthis.message = getMultiErrorMessage(msg, failures);\n}\nderive(ModifyError).from(DexieError);\nfunction BulkError(msg, failures) {\n\tthis._e = getErrorWithStack();\n\tthis.name = \"BulkError\";\n\tthis.failures = Object.keys(failures).map(function (pos) { return failures[pos]; });\n\tthis.failuresByPos = failures;\n\tthis.message = getMultiErrorMessage(msg, failures);\n}\nderive(BulkError).from(DexieError);\nvar errnames = errorList.reduce(function (obj, name) { return (obj[name] = name + \"Error\", obj); }, {});\nvar BaseException = DexieError;\nvar exceptions = errorList.reduce(function (obj, name) {\n\tvar fullName = name + \"Error\";\n\tfunction DexieError(msgOrInner, inner) {\n\t\tthis._e = getErrorWithStack();\n\t\tthis.name = fullName;\n\t\tif (!msgOrInner) {\n\t\t\tthis.message = defaultTexts[name] || fullName;\n\t\t\tthis.inner = null;\n\t\t}\n\t\telse if (typeof msgOrInner === 'string') {\n\t\t\tthis.message = \"\" + msgOrInner + (!inner ? '' : '\\n ' + inner);\n\t\t\tthis.inner = inner || null;\n\t\t}\n\t\telse if (typeof msgOrInner === 'object') {\n\t\t\tthis.message = msgOrInner.name + \" \" + msgOrInner.message;\n\t\t\tthis.inner = msgOrInner;\n\t\t}\n\t}\n\tderive(DexieError).from(BaseException);\n\tobj[name] = DexieError;\n\treturn obj;\n}, {});\nexceptions.Syntax = SyntaxError;\nexceptions.Type = TypeError;\nexceptions.Range = RangeError;\nvar exceptionMap = idbDomErrorNames.reduce(function (obj, name) {\n\tobj[name + \"Error\"] = exceptions[name];\n\treturn obj;\n}, {});\nfunction mapError(domError, message) {\n\tif (!domError || domError instanceof DexieError || domError instanceof TypeError || domError instanceof SyntaxError || !domError.name || !exceptionMap[domError.name])\n\t\treturn domError;\n\tvar rv = new exceptionMap[domError.name](message || domError.message, domError);\n\tif (\"stack\" in domError) {\n\t\tsetProp(rv, \"stack\", { get: function () {\n\t\t\t\treturn this.inner.stack;\n\t\t\t} });\n\t}\n\treturn rv;\n}\nvar fullNameExceptions = errorList.reduce(function (obj, name) {\n\tif ([\"Syntax\", \"Type\", \"Range\"].indexOf(name) === -1)\n\t\tobj[name + \"Error\"] = exceptions[name];\n\treturn obj;\n}, {});\nfullNameExceptions.ModifyError = ModifyError;\nfullNameExceptions.DexieError = DexieError;\nfullNameExceptions.BulkError = BulkError;\n\nfunction nop() { }\nfunction mirror(val) { return val; }\nfunction pureFunctionChain(f1, f2) {\n\tif (f1 == null || f1 === mirror)\n\t\treturn f2;\n\treturn function (val) {\n\t\treturn f2(f1(val));\n\t};\n}\nfunction callBoth(on1, on2) {\n\treturn function () {\n\t\ton1.apply(this, arguments);\n\t\ton2.apply(this, arguments);\n\t};\n}\nfunction hookCreatingChain(f1, f2) {\n\tif (f1 === nop)\n\t\treturn f2;\n\treturn function () {\n\t\tvar res = f1.apply(this, arguments);\n\t\tif (res !== undefined)\n\t\t\targuments[0] = res;\n\t\tvar onsuccess = this.onsuccess,\n\t\t\tonerror = this.onerror;\n\t\tthis.onsuccess = null;\n\t\tthis.onerror = null;\n\t\tvar res2 = f2.apply(this, arguments);\n\t\tif (onsuccess)\n\t\t\tthis.onsuccess = this.onsuccess ? callBoth(onsuccess, this.onsuccess) : onsuccess;\n\t\tif (onerror)\n\t\t\tthis.onerror = this.onerror ? callBoth(onerror, this.onerror) : onerror;\n\t\treturn res2 !== undefined ? res2 : res;\n\t};\n}\nfunction hookDeletingChain(f1, f2) {\n\tif (f1 === nop)\n\t\treturn f2;\n\treturn function () {\n\t\tf1.apply(this, arguments);\n\t\tvar onsuccess = this.onsuccess,\n\t\t\tonerror = this.onerror;\n\t\tthis.onsuccess = this.onerror = null;\n\t\tf2.apply(this, arguments);\n\t\tif (onsuccess)\n\t\t\tthis.onsuccess = this.onsuccess ? callBoth(onsuccess, this.onsuccess) : onsuccess;\n\t\tif (onerror)\n\t\t\tthis.onerror = this.onerror ? callBoth(onerror, this.onerror) : onerror;\n\t};\n}\nfunction hookUpdatingChain(f1, f2) {\n\tif (f1 === nop)\n\t\treturn f2;\n\treturn function (modifications) {\n\t\tvar res = f1.apply(this, arguments);\n\t\textend(modifications, res);\n\t\tvar onsuccess = this.onsuccess,\n\t\t\tonerror = this.onerror;\n\t\tthis.onsuccess = null;\n\t\tthis.onerror = null;\n\t\tvar res2 = f2.apply(this, arguments);\n\t\tif (onsuccess)\n\t\t\tthis.onsuccess = this.onsuccess ? callBoth(onsuccess, this.onsuccess) : onsuccess;\n\t\tif (onerror)\n\t\t\tthis.onerror = this.onerror ? callBoth(onerror, this.onerror) : onerror;\n\t\treturn res === undefined ?\n\t\t\t(res2 === undefined ? undefined : res2) :\n\t\t\t(extend(res, res2));\n\t};\n}\nfunction reverseStoppableEventChain(f1, f2) {\n\tif (f1 === nop)\n\t\treturn f2;\n\treturn function () {\n\t\tif (f2.apply(this, arguments) === false)\n\t\t\treturn false;\n\t\treturn f1.apply(this, arguments);\n\t};\n}\nfunction promisableChain(f1, f2) {\n\tif (f1 === nop)\n\t\treturn f2;\n\treturn function () {\n\t\tvar res = f1.apply(this, arguments);\n\t\tif (res && typeof res.then === 'function') {\n\t\t\tvar thiz = this, i = arguments.length, args = new Array(i);\n\t\t\twhile (i--)\n\t\t\t\targs[i] = arguments[i];\n\t\t\treturn res.then(function () {\n\t\t\t\treturn f2.apply(thiz, args);\n\t\t\t});\n\t\t}\n\t\treturn f2.apply(this, arguments);\n\t};\n}\n\nvar INTERNAL = {};\nvar LONG_STACKS_CLIP_LIMIT = 100,\n\tMAX_LONG_STACKS = 20, ZONE_ECHO_LIMIT = 100, _a$1 = typeof Promise === 'undefined' ?\n\t\t[] :\n\t\t(function () {\n\t\t\tvar globalP = Promise.resolve();\n\t\t\tif (typeof crypto === 'undefined' || !crypto.subtle)\n\t\t\t\treturn [globalP, getProto(globalP), globalP];\n\t\t\tvar nativeP = crypto.subtle.digest(\"SHA-512\", new Uint8Array([0]));\n\t\t\treturn [\n\t\t\t\tnativeP,\n\t\t\t\tgetProto(nativeP),\n\t\t\t\tglobalP\n\t\t\t];\n\t\t})(), resolvedNativePromise = _a$1[0], nativePromiseProto = _a$1[1], resolvedGlobalPromise = _a$1[2], nativePromiseThen = nativePromiseProto && nativePromiseProto.then;\nvar NativePromise = resolvedNativePromise && resolvedNativePromise.constructor;\nvar patchGlobalPromise = !!resolvedGlobalPromise;\nvar stack_being_generated = false;\nvar schedulePhysicalTick = resolvedGlobalPromise ?\n\tfunction () { resolvedGlobalPromise.then(physicalTick); }\n\t:\n\t_global.setImmediate ?\n\t\tsetImmediate.bind(null, physicalTick) :\n\t\t_global.MutationObserver ?\n\t\t\tfunction () {\n\t\t\t\tvar hiddenDiv = document.createElement(\"div\");\n\t\t\t\t(new MutationObserver(function () {\n\t\t\t\t\tphysicalTick();\n\t\t\t\t\thiddenDiv = null;\n\t\t\t\t})).observe(hiddenDiv, { attributes: true });\n\t\t\t\thiddenDiv.setAttribute('i', '1');\n\t\t\t} :\n\t\t\tfunction () { setTimeout(physicalTick, 0); };\nvar asap = function (callback, args) {\n\tmicrotickQueue.push([callback, args]);\n\tif (needsNewPhysicalTick) {\n\t\tschedulePhysicalTick();\n\t\tneedsNewPhysicalTick = false;\n\t}\n};\nvar isOutsideMicroTick = true,\n\tneedsNewPhysicalTick = true,\n\tunhandledErrors = [],\n\trejectingErrors = [],\n\tcurrentFulfiller = null, rejectionMapper = mirror;\nvar globalPSD = {\n\tid: 'global',\n\tglobal: true,\n\tref: 0,\n\tunhandleds: [],\n\tonunhandled: globalError,\n\tpgp: false,\n\tenv: {},\n\tfinalize: function () {\n\t\tthis.unhandleds.forEach(function (uh) {\n\t\t\ttry {\n\t\t\t\tglobalError(uh[0], uh[1]);\n\t\t\t}\n\t\t\tcatch (e) { }\n\t\t});\n\t}\n};\nvar PSD = globalPSD;\nvar microtickQueue = [];\nvar numScheduledCalls = 0;\nvar tickFinalizers = [];\nfunction DexiePromise(fn) {\n\tif (typeof this !== 'object')\n\t\tthrow new TypeError('Promises must be constructed via new');\n\tthis._listeners = [];\n\tthis.onuncatched = nop;\n\tthis._lib = false;\n\tvar psd = (this._PSD = PSD);\n\tif (debug) {\n\t\tthis._stackHolder = getErrorWithStack();\n\t\tthis._prev = null;\n\t\tthis._numPrev = 0;\n\t}\n\tif (typeof fn !== 'function') {\n\t\tif (fn !== INTERNAL)\n\t\t\tthrow new TypeError('Not a function');\n\t\tthis._state = arguments[1];\n\t\tthis._value = arguments[2];\n\t\tif (this._state === false)\n\t\t\thandleRejection(this, this._value);\n\t\treturn;\n\t}\n\tthis._state = null;\n\tthis._value = null;\n\t++psd.ref;\n\texecutePromiseTask(this, fn);\n}\nvar thenProp = {\n\tget: function () {\n\t\tvar psd = PSD, microTaskId = totalEchoes;\n\t\tfunction then(onFulfilled, onRejected) {\n\t\t\tvar _this = this;\n\t\t\tvar possibleAwait = !psd.global && (psd !== PSD || microTaskId !== totalEchoes);\n\t\t\tvar cleanup = possibleAwait && !decrementExpectedAwaits();\n\t\t\tvar rv = new DexiePromise(function (resolve, reject) {\n\t\t\t\tpropagateToListener(_this, new Listener(nativeAwaitCompatibleWrap(onFulfilled, psd, possibleAwait, cleanup), nativeAwaitCompatibleWrap(onRejected, psd, possibleAwait, cleanup), resolve, reject, psd));\n\t\t\t});\n\t\t\tdebug && linkToPreviousPromise(rv, this);\n\t\t\treturn rv;\n\t\t}\n\t\tthen.prototype = INTERNAL;\n\t\treturn then;\n\t},\n\tset: function (value) {\n\t\tsetProp(this, 'then', value && value.prototype === INTERNAL ?\n\t\t\tthenProp :\n\t\t\t{\n\t\t\t\tget: function () {\n\t\t\t\t\treturn value;\n\t\t\t\t},\n\t\t\t\tset: thenProp.set\n\t\t\t});\n\t}\n};\nprops(DexiePromise.prototype, {\n\tthen: thenProp,\n\t_then: function (onFulfilled, onRejected) {\n\t\tpropagateToListener(this, new Listener(null, null, onFulfilled, onRejected, PSD));\n\t},\n\tcatch: function (onRejected) {\n\t\tif (arguments.length === 1)\n\t\t\treturn this.then(null, onRejected);\n\t\tvar type = arguments[0], handler = arguments[1];\n\t\treturn typeof type === 'function' ? this.then(null, function (err) {\n\t\t\t\treturn err instanceof type ? handler(err) : PromiseReject(err);\n\t\t\t})\n\t\t\t: this.then(null, function (err) {\n\t\t\t\treturn err && err.name === type ? handler(err) : PromiseReject(err);\n\t\t\t});\n\t},\n\tfinally: function (onFinally) {\n\t\treturn this.then(function (value) {\n\t\t\tonFinally();\n\t\t\treturn value;\n\t\t}, function (err) {\n\t\t\tonFinally();\n\t\t\treturn PromiseReject(err);\n\t\t});\n\t},\n\tstack: {\n\t\tget: function () {\n\t\t\tif (this._stack)\n\t\t\t\treturn this._stack;\n\t\t\ttry {\n\t\t\t\tstack_being_generated = true;\n\t\t\t\tvar stacks = getStack(this, [], MAX_LONG_STACKS);\n\t\t\t\tvar stack = stacks.join(\"\\nFrom previous: \");\n\t\t\t\tif (this._state !== null)\n\t\t\t\t\tthis._stack = stack;\n\t\t\t\treturn stack;\n\t\t\t}\n\t\t\tfinally {\n\t\t\t\tstack_being_generated = false;\n\t\t\t}\n\t\t}\n\t},\n\ttimeout: function (ms, msg) {\n\t\tvar _this = this;\n\t\treturn ms < Infinity ?\n\t\t\tnew DexiePromise(function (resolve, reject) {\n\t\t\t\tvar handle = setTimeout(function () { return reject(new exceptions.Timeout(msg)); }, ms);\n\t\t\t\t_this.then(resolve, reject).finally(clearTimeout.bind(null, handle));\n\t\t\t}) : this;\n\t}\n});\nif (typeof Symbol !== 'undefined' && Symbol.toStringTag)\n\tsetProp(DexiePromise.prototype, Symbol.toStringTag, 'Dexie.Promise');\nglobalPSD.env = snapShot();\nfunction Listener(onFulfilled, onRejected, resolve, reject, zone) {\n\tthis.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n\tthis.onRejected = typeof onRejected === 'function' ? onRejected : null;\n\tthis.resolve = resolve;\n\tthis.reject = reject;\n\tthis.psd = zone;\n}\nprops(DexiePromise, {\n\tall: function () {\n\t\tvar values = getArrayOf.apply(null, arguments)\n\t\t\t.map(onPossibleParallellAsync);\n\t\treturn new DexiePromise(function (resolve, reject) {\n\t\t\tif (values.length === 0)\n\t\t\t\tresolve([]);\n\t\t\tvar remaining = values.length;\n\t\t\tvalues.forEach(function (a, i) { return DexiePromise.resolve(a).then(function (x) {\n\t\t\t\tvalues[i] = x;\n\t\t\t\tif (!--remaining)\n\t\t\t\t\tresolve(values);\n\t\t\t}, reject); });\n\t\t});\n\t},\n\tresolve: function (value) {\n\t\tif (value instanceof DexiePromise)\n\t\t\treturn value;\n\t\tif (value && typeof value.then === 'function')\n\t\t\treturn new DexiePromise(function (resolve, reject) {\n\t\t\t\tvalue.then(resolve, reject);\n\t\t\t});\n\t\tvar rv = new DexiePromise(INTERNAL, true, value);\n\t\tlinkToPreviousPromise(rv, currentFulfiller);\n\t\treturn rv;\n\t},\n\treject: PromiseReject,\n\trace: function () {\n\t\tvar values = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync);\n\t\treturn new DexiePromise(function (resolve, reject) {\n\t\t\tvalues.map(function (value) { return DexiePromise.resolve(value).then(resolve, reject); });\n\t\t});\n\t},\n\tPSD: {\n\t\tget: function () { return PSD; },\n\t\tset: function (value) { return PSD = value; }\n\t},\n\ttotalEchoes: { get: function () { return totalEchoes; } },\n\tnewPSD: newScope,\n\tusePSD: usePSD,\n\tscheduler: {\n\t\tget: function () { return asap; },\n\t\tset: function (value) { asap = value; }\n\t},\n\trejectionMapper: {\n\t\tget: function () { return rejectionMapper; },\n\t\tset: function (value) { rejectionMapper = value; }\n\t},\n\tfollow: function (fn, zoneProps) {\n\t\treturn new DexiePromise(function (resolve, reject) {\n\t\t\treturn newScope(function (resolve, reject) {\n\t\t\t\tvar psd = PSD;\n\t\t\t\tpsd.unhandleds = [];\n\t\t\t\tpsd.onunhandled = reject;\n\t\t\t\tpsd.finalize = callBoth(function () {\n\t\t\t\t\tvar _this = this;\n\t\t\t\t\trun_at_end_of_this_or_next_physical_tick(function () {\n\t\t\t\t\t\t_this.unhandleds.length === 0 ? resolve() : reject(_this.unhandleds[0]);\n\t\t\t\t\t});\n\t\t\t\t}, psd.finalize);\n\t\t\t\tfn();\n\t\t\t}, zoneProps, resolve, reject);\n\t\t});\n\t}\n});\nif (NativePromise) {\n\tif (NativePromise.allSettled)\n\t\tsetProp(DexiePromise, \"allSettled\", function () {\n\t\t\tvar possiblePromises = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync);\n\t\t\treturn new DexiePromise(function (resolve) {\n\t\t\t\tif (possiblePromises.length === 0)\n\t\t\t\t\tresolve([]);\n\t\t\t\tvar remaining = possiblePromises.length;\n\t\t\t\tvar results = new Array(remaining);\n\t\t\t\tpossiblePromises.forEach(function (p, i) { return DexiePromise.resolve(p).then(function (value) { return results[i] = { status: \"fulfilled\", value: value }; }, function (reason) { return results[i] = { status: \"rejected\", reason: reason }; })\n\t\t\t\t\t.then(function () { return --remaining || resolve(results); }); });\n\t\t\t});\n\t\t});\n\tif (NativePromise.any && typeof AggregateError !== 'undefined')\n\t\tsetProp(DexiePromise, \"any\", function () {\n\t\t\tvar possiblePromises = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync);\n\t\t\treturn new DexiePromise(function (resolve, reject) {\n\t\t\t\tif (possiblePromises.length === 0)\n\t\t\t\t\treject(new AggregateError([]));\n\t\t\t\tvar remaining = possiblePromises.length;\n\t\t\t\tvar failures = new Array(remaining);\n\t\t\t\tpossiblePromises.forEach(function (p, i) { return DexiePromise.resolve(p).then(function (value) { return resolve(value); }, function (failure) {\n\t\t\t\t\tfailures[i] = failure;\n\t\t\t\t\tif (!--remaining)\n\t\t\t\t\t\treject(new AggregateError(failures));\n\t\t\t\t}); });\n\t\t\t});\n\t\t});\n}\nfunction executePromiseTask(promise, fn) {\n\ttry {\n\t\tfn(function (value) {\n\t\t\tif (promise._state !== null)\n\t\t\t\treturn;\n\t\t\tif (value === promise)\n\t\t\t\tthrow new TypeError('A promise cannot be resolved with itself.');\n\t\t\tvar shouldExecuteTick = promise._lib && beginMicroTickScope();\n\t\t\tif (value && typeof value.then === 'function') {\n\t\t\t\texecutePromiseTask(promise, function (resolve, reject) {\n\t\t\t\t\tvalue instanceof DexiePromise ?\n\t\t\t\t\t\tvalue._then(resolve, reject) :\n\t\t\t\t\t\tvalue.then(resolve, reject);\n\t\t\t\t});\n\t\t\t}\n\t\t\telse {\n\t\t\t\tpromise._state = true;\n\t\t\t\tpromise._value = value;\n\t\t\t\tpropagateAllListeners(promise);\n\t\t\t}\n\t\t\tif (shouldExecuteTick)\n\t\t\t\tendMicroTickScope();\n\t\t}, handleRejection.bind(null, promise));\n\t}\n\tcatch (ex) {\n\t\thandleRejection(promise, ex);\n\t}\n}\nfunction handleRejection(promise, reason) {\n\trejectingErrors.push(reason);\n\tif (promise._state !== null)\n\t\treturn;\n\tvar shouldExecuteTick = promise._lib && beginMicroTickScope();\n\treason = rejectionMapper(reason);\n\tpromise._state = false;\n\tpromise._value = reason;\n\tdebug && reason !== null && typeof reason === 'object' && !reason._promise && tryCatch(function () {\n\t\tvar origProp = getPropertyDescriptor(reason, \"stack\");\n\t\treason._promise = promise;\n\t\tsetProp(reason, \"stack\", {\n\t\t\tget: function () {\n\t\t\t\treturn stack_being_generated ?\n\t\t\t\t\torigProp && (origProp.get ?\n\t\t\t\t\t\torigProp.get.apply(reason) :\n\t\t\t\t\t\torigProp.value) :\n\t\t\t\t\tpromise.stack;\n\t\t\t}\n\t\t});\n\t});\n\taddPossiblyUnhandledError(promise);\n\tpropagateAllListeners(promise);\n\tif (shouldExecuteTick)\n\t\tendMicroTickScope();\n}\nfunction propagateAllListeners(promise) {\n\tvar listeners = promise._listeners;\n\tpromise._listeners = [];\n\tfor (var i = 0, len = listeners.length; i < len; ++i) {\n\t\tpropagateToListener(promise, listeners[i]);\n\t}\n\tvar psd = promise._PSD;\n\t--psd.ref || psd.finalize();\n\tif (numScheduledCalls === 0) {\n\t\t++numScheduledCalls;\n\t\tasap(function () {\n\t\t\tif (--numScheduledCalls === 0)\n\t\t\t\tfinalizePhysicalTick();\n\t\t}, []);\n\t}\n}\nfunction propagateToListener(promise, listener) {\n\tif (promise._state === null) {\n\t\tpromise._listeners.push(listener);\n\t\treturn;\n\t}\n\tvar cb = promise._state ? listener.onFulfilled : listener.onRejected;\n\tif (cb === null) {\n\t\treturn (promise._state ? listener.resolve : listener.reject)(promise._value);\n\t}\n\t++listener.psd.ref;\n\t++numScheduledCalls;\n\tasap(callListener, [cb, promise, listener]);\n}\nfunction callListener(cb, promise, listener) {\n\ttry {\n\t\tcurrentFulfiller = promise;\n\t\tvar ret, value = promise._value;\n\t\tif (promise._state) {\n\t\t\tret = cb(value);\n\t\t}\n\t\telse {\n\t\t\tif (rejectingErrors.length)\n\t\t\t\trejectingErrors = [];\n\t\t\tret = cb(value);\n\t\t\tif (rejectingErrors.indexOf(value) === -1)\n\t\t\t\tmarkErrorAsHandled(promise);\n\t\t}\n\t\tlistener.resolve(ret);\n\t}\n\tcatch (e) {\n\t\tlistener.reject(e);\n\t}\n\tfinally {\n\t\tcurrentFulfiller = null;\n\t\tif (--numScheduledCalls === 0)\n\t\t\tfinalizePhysicalTick();\n\t\t--listener.psd.ref || listener.psd.finalize();\n\t}\n}\nfunction getStack(promise, stacks, limit) {\n\tif (stacks.length === limit)\n\t\treturn stacks;\n\tvar stack = \"\";\n\tif (promise._state === false) {\n\t\tvar failure = promise._value, errorName, message;\n\t\tif (failure != null) {\n\t\t\terrorName = failure.name || \"Error\";\n\t\t\tmessage = failure.message || failure;\n\t\t\tstack = prettyStack(failure, 0);\n\t\t}\n\t\telse {\n\t\t\terrorName = failure;\n\t\t\tmessage = \"\";\n\t\t}\n\t\tstacks.push(errorName + (message ? \": \" + message : \"\") + stack);\n\t}\n\tif (debug) {\n\t\tstack = prettyStack(promise._stackHolder, 2);\n\t\tif (stack && stacks.indexOf(stack) === -1)\n\t\t\tstacks.push(stack);\n\t\tif (promise._prev)\n\t\t\tgetStack(promise._prev, stacks, limit);\n\t}\n\treturn stacks;\n}\nfunction linkToPreviousPromise(promise, prev) {\n\tvar numPrev = prev ? prev._numPrev + 1 : 0;\n\tif (numPrev < LONG_STACKS_CLIP_LIMIT) {\n\t\tpromise._prev = prev;\n\t\tpromise._numPrev = numPrev;\n\t}\n}\nfunction physicalTick() {\n\tbeginMicroTickScope() && endMicroTickScope();\n}\nfunction beginMicroTickScope() {\n\tvar wasRootExec = isOutsideMicroTick;\n\tisOutsideMicroTick = false;\n\tneedsNewPhysicalTick = false;\n\treturn wasRootExec;\n}\nfunction endMicroTickScope() {\n\tvar callbacks, i, l;\n\tdo {\n\t\twhile (microtickQueue.length > 0) {\n\t\t\tcallbacks = microtickQueue;\n\t\t\tmicrotickQueue = [];\n\t\t\tl = callbacks.length;\n\t\t\tfor (i = 0; i < l; ++i) {\n\t\t\t\tvar item = callbacks[i];\n\t\t\t\titem[0].apply(null, item[1]);\n\t\t\t}\n\t\t}\n\t} while (microtickQueue.length > 0);\n\tisOutsideMicroTick = true;\n\tneedsNewPhysicalTick = true;\n}\nfunction finalizePhysicalTick() {\n\tvar unhandledErrs = unhandledErrors;\n\tunhandledErrors = [];\n\tunhandledErrs.forEach(function (p) {\n\t\tp._PSD.onunhandled.call(null, p._value, p);\n\t});\n\tvar finalizers = tickFinalizers.slice(0);\n\tvar i = finalizers.length;\n\twhile (i)\n\t\tfinalizers[--i]();\n}\nfunction run_at_end_of_this_or_next_physical_tick(fn) {\n\tfunction finalizer() {\n\t\tfn();\n\t\ttickFinalizers.splice(tickFinalizers.indexOf(finalizer), 1);\n\t}\n\ttickFinalizers.push(finalizer);\n\t++numScheduledCalls;\n\tasap(function () {\n\t\tif (--numScheduledCalls === 0)\n\t\t\tfinalizePhysicalTick();\n\t}, []);\n}\nfunction addPossiblyUnhandledError(promise) {\n\tif (!unhandledErrors.some(function (p) { return p._value === promise._value; }))\n\t\tunhandledErrors.push(promise);\n}\nfunction markErrorAsHandled(promise) {\n\tvar i = unhandledErrors.length;\n\twhile (i)\n\t\tif (unhandledErrors[--i]._value === promise._value) {\n\t\t\tunhandledErrors.splice(i, 1);\n\t\t\treturn;\n\t\t}\n}\nfunction PromiseReject(reason) {\n\treturn new DexiePromise(INTERNAL, false, reason);\n}\nfunction wrap(fn, errorCatcher) {\n\tvar psd = PSD;\n\treturn function () {\n\t\tvar wasRootExec = beginMicroTickScope(), outerScope = PSD;\n\t\ttry {\n\t\t\tswitchToZone(psd, true);\n\t\t\treturn fn.apply(this, arguments);\n\t\t}\n\t\tcatch (e) {\n\t\t\terrorCatcher && errorCatcher(e);\n\t\t}\n\t\tfinally {\n\t\t\tswitchToZone(outerScope, false);\n\t\t\tif (wasRootExec)\n\t\t\t\tendMicroTickScope();\n\t\t}\n\t};\n}\nvar task = { awaits: 0, echoes: 0, id: 0 };\nvar taskCounter = 0;\nvar zoneStack = [];\nvar zoneEchoes = 0;\nvar totalEchoes = 0;\nvar zone_id_counter = 0;\nfunction newScope(fn, props, a1, a2) {\n\tvar parent = PSD, psd = Object.create(parent);\n\tpsd.parent = parent;\n\tpsd.ref = 0;\n\tpsd.global = false;\n\tpsd.id = ++zone_id_counter;\n\tvar globalEnv = globalPSD.env;\n\tpsd.env = patchGlobalPromise ? {\n\t\tPromise: DexiePromise,\n\t\tPromiseProp: { value: DexiePromise, configurable: true, writable: true },\n\t\tall: DexiePromise.all,\n\t\trace: DexiePromise.race,\n\t\tallSettled: DexiePromise.allSettled,\n\t\tany: DexiePromise.any,\n\t\tresolve: DexiePromise.resolve,\n\t\treject: DexiePromise.reject,\n\t\tnthen: getPatchedPromiseThen(globalEnv.nthen, psd),\n\t\tgthen: getPatchedPromiseThen(globalEnv.gthen, psd)\n\t} : {};\n\tif (props)\n\t\textend(psd, props);\n\t++parent.ref;\n\tpsd.finalize = function () {\n\t\t--this.parent.ref || this.parent.finalize();\n\t};\n\tvar rv = usePSD(psd, fn, a1, a2);\n\tif (psd.ref === 0)\n\t\tpsd.finalize();\n\treturn rv;\n}\nfunction incrementExpectedAwaits() {\n\tif (!task.id)\n\t\ttask.id = ++taskCounter;\n\t++task.awaits;\n\ttask.echoes += ZONE_ECHO_LIMIT;\n\treturn task.id;\n}\nfunction decrementExpectedAwaits() {\n\tif (!task.awaits)\n\t\treturn false;\n\tif (--task.awaits === 0)\n\t\ttask.id = 0;\n\ttask.echoes = task.awaits * ZONE_ECHO_LIMIT;\n\treturn true;\n}\nif (('' + nativePromiseThen).indexOf('[native code]') === -1) {\n\tincrementExpectedAwaits = decrementExpectedAwaits = nop;\n}\nfunction onPossibleParallellAsync(possiblePromise) {\n\tif (task.echoes && possiblePromise && possiblePromise.constructor === NativePromise) {\n\t\tincrementExpectedAwaits();\n\t\treturn possiblePromise.then(function (x) {\n\t\t\tdecrementExpectedAwaits();\n\t\t\treturn x;\n\t\t}, function (e) {\n\t\t\tdecrementExpectedAwaits();\n\t\t\treturn rejection(e);\n\t\t});\n\t}\n\treturn possiblePromise;\n}\nfunction zoneEnterEcho(targetZone) {\n\t++totalEchoes;\n\tif (!task.echoes || --task.echoes === 0) {\n\t\ttask.echoes = task.id = 0;\n\t}\n\tzoneStack.push(PSD);\n\tswitchToZone(targetZone, true);\n}\nfunction zoneLeaveEcho() {\n\tvar zone = zoneStack[zoneStack.length - 1];\n\tzoneStack.pop();\n\tswitchToZone(zone, false);\n}\nfunction switchToZone(targetZone, bEnteringZone) {\n\tvar currentZone = PSD;\n\tif (bEnteringZone ? task.echoes && (!zoneEchoes++ || targetZone !== PSD) : zoneEchoes && (!--zoneEchoes || targetZone !== PSD)) {\n\t\tenqueueNativeMicroTask(bEnteringZone ? zoneEnterEcho.bind(null, targetZone) : zoneLeaveEcho);\n\t}\n\tif (targetZone === PSD)\n\t\treturn;\n\tPSD = targetZone;\n\tif (currentZone === globalPSD)\n\t\tglobalPSD.env = snapShot();\n\tif (patchGlobalPromise) {\n\t\tvar GlobalPromise_1 = globalPSD.env.Promise;\n\t\tvar targetEnv = targetZone.env;\n\t\tnativePromiseProto.then = targetEnv.nthen;\n\t\tGlobalPromise_1.prototype.then = targetEnv.gthen;\n\t\tif (currentZone.global || targetZone.global) {\n\t\t\tObject.defineProperty(_global, 'Promise', targetEnv.PromiseProp);\n\t\t\tGlobalPromise_1.all = targetEnv.all;\n\t\t\tGlobalPromise_1.race = targetEnv.race;\n\t\t\tGlobalPromise_1.resolve = targetEnv.resolve;\n\t\t\tGlobalPromise_1.reject = targetEnv.reject;\n\t\t\tif (targetEnv.allSettled)\n\t\t\t\tGlobalPromise_1.allSettled = targetEnv.allSettled;\n\t\t\tif (targetEnv.any)\n\t\t\t\tGlobalPromise_1.any = targetEnv.any;\n\t\t}\n\t}\n}\nfunction snapShot() {\n\tvar GlobalPromise = _global.Promise || Promise; // tag 02032020\n\treturn patchGlobalPromise ? {\n\t\tPromise: GlobalPromise,\n\t\tPromiseProp: Object.getOwnPropertyDescriptor(_global, \"Promise\"),\n\t\tall: GlobalPromise.all,\n\t\trace: GlobalPromise.race,\n\t\tallSettled: GlobalPromise.allSettled,\n\t\tany: GlobalPromise.any,\n\t\tresolve: GlobalPromise.resolve,\n\t\treject: GlobalPromise.reject,\n\t\tnthen: nativePromiseProto.then,\n\t\tgthen: GlobalPromise.prototype.then\n\t} : {};\n}\nfunction usePSD(psd, fn, a1, a2, a3) {\n\tvar outerScope = PSD;\n\ttry {\n\t\tswitchToZone(psd, true);\n\t\treturn fn(a1, a2, a3);\n\t}\n\tfinally {\n\t\tswitchToZone(outerScope, false);\n\t}\n}\nfunction enqueueNativeMicroTask(job) {\n\tnativePromiseThen.call(resolvedNativePromise, job);\n}\nfunction nativeAwaitCompatibleWrap(fn, zone, possibleAwait, cleanup) {\n\treturn typeof fn !== 'function' ? fn : function () {\n\t\tvar outerZone = PSD;\n\t\tif (possibleAwait)\n\t\t\tincrementExpectedAwaits();\n\t\tswitchToZone(zone, true);\n\t\ttry {\n\t\t\treturn fn.apply(this, arguments);\n\t\t}\n\t\tfinally {\n\t\t\tswitchToZone(outerZone, false);\n\t\t\tif (cleanup)\n\t\t\t\tenqueueNativeMicroTask(decrementExpectedAwaits);\n\t\t}\n\t};\n}\nfunction getPatchedPromiseThen(origThen, zone) {\n\treturn function (onResolved, onRejected) {\n\t\treturn origThen.call(this, nativeAwaitCompatibleWrap(onResolved, zone), nativeAwaitCompatibleWrap(onRejected, zone));\n\t};\n}\nvar UNHANDLEDREJECTION = \"unhandledrejection\";\nfunction globalError(err, promise) {\n\tvar rv;\n\ttry {\n\t\trv = promise.onuncatched(err);\n\t}\n\tcatch (e) { }\n\tif (rv !== false)\n\t\ttry {\n\t\t\tvar event, eventData = { promise: promise, reason: err };\n\t\t\tif (_global.document && document.createEvent) {\n\t\t\t\tevent = document.createEvent('Event');\n\t\t\t\tevent.initEvent(UNHANDLEDREJECTION, true, true);\n\t\t\t\textend(event, eventData);\n\t\t\t}\n\t\t\telse if (_global.CustomEvent) {\n\t\t\t\tevent = new CustomEvent(UNHANDLEDREJECTION, { detail: eventData });\n\t\t\t\textend(event, eventData);\n\t\t\t}\n\t\t\tif (event && _global.dispatchEvent) {\n\t\t\t\tdispatchEvent(event);\n\t\t\t\tif (!_global.PromiseRejectionEvent && _global.onunhandledrejection)\n\t\t\t\t\ttry {\n\t\t\t\t\t\t_global.onunhandledrejection(event);\n\t\t\t\t\t}\n\t\t\t\t\tcatch (_) { }\n\t\t\t}\n\t\t\tif (debug && event && !event.defaultPrevented) {\n\t\t\t\tconsole.warn(\"Unhandled rejection: \" + (err.stack || err));\n\t\t\t}\n\t\t}\n\t\tcatch (e) { }\n}\nvar rejection = DexiePromise.reject;\n\nfunction tempTransaction(db, mode, storeNames, fn) {\n\tif (!db.idbdb || (!db._state.openComplete && (!PSD.letThrough && !db._vip))) {\n\t\tif (db._state.openComplete) {\n\t\t\treturn rejection(new exceptions.DatabaseClosed(db._state.dbOpenError));\n\t\t}\n\t\tif (!db._state.isBeingOpened) {\n\t\t\tif (!db._options.autoOpen)\n\t\t\t\treturn rejection(new exceptions.DatabaseClosed());\n\t\t\tdb.open().catch(nop);\n\t\t}\n\t\treturn db._state.dbReadyPromise.then(function () { return tempTransaction(db, mode, storeNames, fn); });\n\t}\n\telse {\n\t\tvar trans = db._createTransaction(mode, storeNames, db._dbSchema);\n\t\ttry {\n\t\t\ttrans.create();\n\t\t\tdb._state.PR1398_maxLoop = 3;\n\t\t}\n\t\tcatch (ex) {\n\t\t\tif (ex.name === errnames.InvalidState && db.isOpen() && --db._state.PR1398_maxLoop > 0) {\n\t\t\t\tconsole.warn('Dexie: Need to reopen db');\n\t\t\t\tdb._close();\n\t\t\t\treturn db.open().then(function () { return tempTransaction(db, mode, storeNames, fn); });\n\t\t\t}\n\t\t\treturn rejection(ex);\n\t\t}\n\t\treturn trans._promise(mode, function (resolve, reject) {\n\t\t\treturn newScope(function () {\n\t\t\t\tPSD.trans = trans;\n\t\t\t\treturn fn(resolve, reject, trans);\n\t\t\t});\n\t\t}).then(function (result) {\n\t\t\treturn trans._completion.then(function () { return result; });\n\t\t});\n\t}\n}\n\nvar DEXIE_VERSION = '3.2.2';\nvar maxString = String.fromCharCode(65535);\nvar minKey = -Infinity;\nvar INVALID_KEY_ARGUMENT = \"Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.\";\nvar STRING_EXPECTED = \"String expected.\";\nvar connections = [];\nvar isIEOrEdge = typeof navigator !== 'undefined' && /(MSIE|Trident|Edge)/.test(navigator.userAgent);\nvar hasIEDeleteObjectStoreBug = isIEOrEdge;\nvar hangsOnDeleteLargeKeyRange = isIEOrEdge;\nvar dexieStackFrameFilter = function (frame) { return !/(dexie\\.js|dexie\\.min\\.js)/.test(frame); };\nvar DBNAMES_DB = '__dbnames';\nvar READONLY = 'readonly';\nvar READWRITE = 'readwrite';\n\nfunction combine(filter1, filter2) {\n\treturn filter1 ?\n\t\tfilter2 ?\n\t\t\tfunction () { return filter1.apply(this, arguments) && filter2.apply(this, arguments); } :\n\t\t\tfilter1 :\n\t\tfilter2;\n}\n\nvar AnyRange = {\n\ttype: 3 ,\n\tlower: -Infinity,\n\tlowerOpen: false,\n\tupper: [[]],\n\tupperOpen: false\n};\n\nfunction workaroundForUndefinedPrimKey(keyPath) {\n\treturn typeof keyPath === \"string\" && !/\\./.test(keyPath)\n\t\t? function (obj) {\n\t\t\tif (obj[keyPath] === undefined && (keyPath in obj)) {\n\t\t\t\tobj = deepClone(obj);\n\t\t\t\tdelete obj[keyPath];\n\t\t\t}\n\t\t\treturn obj;\n\t\t}\n\t\t: function (obj) { return obj; };\n}\n\nvar Table =  (function () {\n\tfunction Table() {\n\t}\n\tTable.prototype._trans = function (mode, fn, writeLocked) {\n\t\tvar trans = this._tx || PSD.trans;\n\t\tvar tableName = this.name;\n\t\tfunction checkTableInTransaction(resolve, reject, trans) {\n\t\t\tif (!trans.schema[tableName])\n\t\t\t\tthrow new exceptions.NotFound(\"Table \" + tableName + \" not part of transaction\");\n\t\t\treturn fn(trans.idbtrans, trans);\n\t\t}\n\t\tvar wasRootExec = beginMicroTickScope();\n\t\ttry {\n\t\t\treturn trans && trans.db === this.db ?\n\t\t\t\ttrans === PSD.trans ?\n\t\t\t\t\ttrans._promise(mode, checkTableInTransaction, writeLocked) :\n\t\t\t\t\tnewScope(function () { return trans._promise(mode, checkTableInTransaction, writeLocked); }, { trans: trans, transless: PSD.transless || PSD }) :\n\t\t\t\ttempTransaction(this.db, mode, [this.name], checkTableInTransaction);\n\t\t}\n\t\tfinally {\n\t\t\tif (wasRootExec)\n\t\t\t\tendMicroTickScope();\n\t\t}\n\t};\n\tTable.prototype.get = function (keyOrCrit, cb) {\n\t\tvar _this = this;\n\t\tif (keyOrCrit && keyOrCrit.constructor === Object)\n\t\t\treturn this.where(keyOrCrit).first(cb);\n\t\treturn this._trans('readonly', function (trans) {\n\t\t\treturn _this.core.get({ trans: trans, key: keyOrCrit })\n\t\t\t\t.then(function (res) { return _this.hook.reading.fire(res); });\n\t\t}).then(cb);\n\t};\n\tTable.prototype.where = function (indexOrCrit) {\n\t\tif (typeof indexOrCrit === 'string')\n\t\t\treturn new this.db.WhereClause(this, indexOrCrit);\n\t\tif (isArray(indexOrCrit))\n\t\t\treturn new this.db.WhereClause(this, \"[\" + indexOrCrit.join('+') + \"]\");\n\t\tvar keyPaths = keys(indexOrCrit);\n\t\tif (keyPaths.length === 1)\n\t\t\treturn this\n\t\t\t\t.where(keyPaths[0])\n\t\t\t\t.equals(indexOrCrit[keyPaths[0]]);\n\t\tvar compoundIndex = this.schema.indexes.concat(this.schema.primKey).filter(function (ix) {\n\t\t\treturn ix.compound &&\n\t\t\t\tkeyPaths.every(function (keyPath) { return ix.keyPath.indexOf(keyPath) >= 0; }) &&\n\t\t\t\tix.keyPath.every(function (keyPath) { return keyPaths.indexOf(keyPath) >= 0; });\n\t\t})[0];\n\t\tif (compoundIndex && this.db._maxKey !== maxString)\n\t\t\treturn this\n\t\t\t\t.where(compoundIndex.name)\n\t\t\t\t.equals(compoundIndex.keyPath.map(function (kp) { return indexOrCrit[kp]; }));\n\t\tif (!compoundIndex && debug)\n\t\t\tconsole.warn(\"The query \" + JSON.stringify(indexOrCrit) + \" on \" + this.name + \" would benefit of a \" +\n\t\t\t\t(\"compound index [\" + keyPaths.join('+') + \"]\"));\n\t\tvar idxByName = this.schema.idxByName;\n\t\tvar idb = this.db._deps.indexedDB;\n\t\tfunction equals(a, b) {\n\t\t\ttry {\n\t\t\t\treturn idb.cmp(a, b) === 0;\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tvar _a = keyPaths.reduce(function (_a, keyPath) {\n\t\t\tvar prevIndex = _a[0], prevFilterFn = _a[1];\n\t\t\tvar index = idxByName[keyPath];\n\t\t\tvar value = indexOrCrit[keyPath];\n\t\t\treturn [\n\t\t\t\tprevIndex || index,\n\t\t\t\tprevIndex || !index ?\n\t\t\t\t\tcombine(prevFilterFn, index && index.multi ?\n\t\t\t\t\t\tfunction (x) {\n\t\t\t\t\t\t\tvar prop = getByKeyPath(x, keyPath);\n\t\t\t\t\t\t\treturn isArray(prop) && prop.some(function (item) { return equals(value, item); });\n\t\t\t\t\t\t} : function (x) { return equals(value, getByKeyPath(x, keyPath)); })\n\t\t\t\t\t: prevFilterFn\n\t\t\t];\n\t\t}, [null, null]), idx = _a[0], filterFunction = _a[1];\n\t\treturn idx ?\n\t\t\tthis.where(idx.name).equals(indexOrCrit[idx.keyPath])\n\t\t\t\t.filter(filterFunction) :\n\t\t\tcompoundIndex ?\n\t\t\t\tthis.filter(filterFunction) :\n\t\t\t\tthis.where(keyPaths).equals('');\n\t};\n\tTable.prototype.filter = function (filterFunction) {\n\t\treturn this.toCollection().and(filterFunction);\n\t};\n\tTable.prototype.count = function (thenShortcut) {\n\t\treturn this.toCollection().count(thenShortcut);\n\t};\n\tTable.prototype.offset = function (offset) {\n\t\treturn this.toCollection().offset(offset);\n\t};\n\tTable.prototype.limit = function (numRows) {\n\t\treturn this.toCollection().limit(numRows);\n\t};\n\tTable.prototype.each = function (callback) {\n\t\treturn this.toCollection().each(callback);\n\t};\n\tTable.prototype.toArray = function (thenShortcut) {\n\t\treturn this.toCollection().toArray(thenShortcut);\n\t};\n\tTable.prototype.toCollection = function () {\n\t\treturn new this.db.Collection(new this.db.WhereClause(this));\n\t};\n\tTable.prototype.orderBy = function (index) {\n\t\treturn new this.db.Collection(new this.db.WhereClause(this, isArray(index) ?\n\t\t\t\"[\" + index.join('+') + \"]\" :\n\t\t\tindex));\n\t};\n\tTable.prototype.reverse = function () {\n\t\treturn this.toCollection().reverse();\n\t};\n\tTable.prototype.mapToClass = function (constructor) {\n\t\tthis.schema.mappedClass = constructor;\n\t\tvar readHook = function (obj) {\n\t\t\tif (!obj)\n\t\t\t\treturn obj;\n\t\t\tvar res = Object.create(constructor.prototype);\n\t\t\tfor (var m in obj)\n\t\t\t\tif (hasOwn(obj, m))\n\t\t\t\t\ttry {\n\t\t\t\t\t\tres[m] = obj[m];\n\t\t\t\t\t}\n\t\t\t\t\tcatch (_) { }\n\t\t\treturn res;\n\t\t};\n\t\tif (this.schema.readHook) {\n\t\t\tthis.hook.reading.unsubscribe(this.schema.readHook);\n\t\t}\n\t\tthis.schema.readHook = readHook;\n\t\tthis.hook(\"reading\", readHook);\n\t\treturn constructor;\n\t};\n\tTable.prototype.defineClass = function () {\n\t\tfunction Class(content) {\n\t\t\textend(this, content);\n\t\t}\n\t\treturn this.mapToClass(Class);\n\t};\n\tTable.prototype.add = function (obj, key) {\n\t\tvar _this = this;\n\t\tvar _a = this.schema.primKey, auto = _a.auto, keyPath = _a.keyPath;\n\t\tvar objToAdd = obj;\n\t\tif (keyPath && auto) {\n\t\t\tobjToAdd = workaroundForUndefinedPrimKey(keyPath)(obj);\n\t\t}\n\t\treturn this._trans('readwrite', function (trans) {\n\t\t\treturn _this.core.mutate({ trans: trans, type: 'add', keys: key != null ? [key] : null, values: [objToAdd] });\n\t\t}).then(function (res) { return res.numFailures ? DexiePromise.reject(res.failures[0]) : res.lastResult; })\n\t\t\t.then(function (lastResult) {\n\t\t\t\tif (keyPath) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsetByKeyPath(obj, keyPath, lastResult);\n\t\t\t\t\t}\n\t\t\t\t\tcatch (_) { }\n\t\t\t\t}\n\t\t\t\treturn lastResult;\n\t\t\t});\n\t};\n\tTable.prototype.update = function (keyOrObject, modifications) {\n\t\tif (typeof keyOrObject === 'object' && !isArray(keyOrObject)) {\n\t\t\tvar key = getByKeyPath(keyOrObject, this.schema.primKey.keyPath);\n\t\t\tif (key === undefined)\n\t\t\t\treturn rejection(new exceptions.InvalidArgument(\"Given object does not contain its primary key\"));\n\t\t\ttry {\n\t\t\t\tif (typeof modifications !== \"function\") {\n\t\t\t\t\tkeys(modifications).forEach(function (keyPath) {\n\t\t\t\t\t\tsetByKeyPath(keyOrObject, keyPath, modifications[keyPath]);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tmodifications(keyOrObject, { value: keyOrObject, primKey: key });\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (_a) {\n\t\t\t}\n\t\t\treturn this.where(\":id\").equals(key).modify(modifications);\n\t\t}\n\t\telse {\n\t\t\treturn this.where(\":id\").equals(keyOrObject).modify(modifications);\n\t\t}\n\t};\n\tTable.prototype.put = function (obj, key) {\n\t\tvar _this = this;\n\t\tvar _a = this.schema.primKey, auto = _a.auto, keyPath = _a.keyPath;\n\t\tvar objToAdd = obj;\n\t\tif (keyPath && auto) {\n\t\t\tobjToAdd = workaroundForUndefinedPrimKey(keyPath)(obj);\n\t\t}\n\t\treturn this._trans('readwrite', function (trans) { return _this.core.mutate({ trans: trans, type: 'put', values: [objToAdd], keys: key != null ? [key] : null }); })\n\t\t\t.then(function (res) { return res.numFailures ? DexiePromise.reject(res.failures[0]) : res.lastResult; })\n\t\t\t.then(function (lastResult) {\n\t\t\t\tif (keyPath) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsetByKeyPath(obj, keyPath, lastResult);\n\t\t\t\t\t}\n\t\t\t\t\tcatch (_) { }\n\t\t\t\t}\n\t\t\t\treturn lastResult;\n\t\t\t});\n\t};\n\tTable.prototype.delete = function (key) {\n\t\tvar _this = this;\n\t\treturn this._trans('readwrite', function (trans) { return _this.core.mutate({ trans: trans, type: 'delete', keys: [key] }); })\n\t\t\t.then(function (res) { return res.numFailures ? DexiePromise.reject(res.failures[0]) : undefined; });\n\t};\n\tTable.prototype.clear = function () {\n\t\tvar _this = this;\n\t\treturn this._trans('readwrite', function (trans) { return _this.core.mutate({ trans: trans, type: 'deleteRange', range: AnyRange }); })\n\t\t\t.then(function (res) { return res.numFailures ? DexiePromise.reject(res.failures[0]) : undefined; });\n\t};\n\tTable.prototype.bulkGet = function (keys) {\n\t\tvar _this = this;\n\t\treturn this._trans('readonly', function (trans) {\n\t\t\treturn _this.core.getMany({\n\t\t\t\tkeys: keys,\n\t\t\t\ttrans: trans\n\t\t\t}).then(function (result) { return result.map(function (res) { return _this.hook.reading.fire(res); }); });\n\t\t});\n\t};\n\tTable.prototype.bulkAdd = function (objects, keysOrOptions, options) {\n\t\tvar _this = this;\n\t\tvar keys = Array.isArray(keysOrOptions) ? keysOrOptions : undefined;\n\t\toptions = options || (keys ? undefined : keysOrOptions);\n\t\tvar wantResults = options ? options.allKeys : undefined;\n\t\treturn this._trans('readwrite', function (trans) {\n\t\t\tvar _a = _this.schema.primKey, auto = _a.auto, keyPath = _a.keyPath;\n\t\t\tif (keyPath && keys)\n\t\t\t\tthrow new exceptions.InvalidArgument(\"bulkAdd(): keys argument invalid on tables with inbound keys\");\n\t\t\tif (keys && keys.length !== objects.length)\n\t\t\t\tthrow new exceptions.InvalidArgument(\"Arguments objects and keys must have the same length\");\n\t\t\tvar numObjects = objects.length;\n\t\t\tvar objectsToAdd = keyPath && auto ?\n\t\t\t\tobjects.map(workaroundForUndefinedPrimKey(keyPath)) :\n\t\t\t\tobjects;\n\t\t\treturn _this.core.mutate({ trans: trans, type: 'add', keys: keys, values: objectsToAdd, wantResults: wantResults })\n\t\t\t\t.then(function (_a) {\n\t\t\t\t\tvar numFailures = _a.numFailures, results = _a.results, lastResult = _a.lastResult, failures = _a.failures;\n\t\t\t\t\tvar result = wantResults ? results : lastResult;\n\t\t\t\t\tif (numFailures === 0)\n\t\t\t\t\t\treturn result;\n\t\t\t\t\tthrow new BulkError(_this.name + \".bulkAdd(): \" + numFailures + \" of \" + numObjects + \" operations failed\", failures);\n\t\t\t\t});\n\t\t});\n\t};\n\tTable.prototype.bulkPut = function (objects, keysOrOptions, options) {\n\t\tvar _this = this;\n\t\tvar keys = Array.isArray(keysOrOptions) ? keysOrOptions : undefined;\n\t\toptions = options || (keys ? undefined : keysOrOptions);\n\t\tvar wantResults = options ? options.allKeys : undefined;\n\t\treturn this._trans('readwrite', function (trans) {\n\t\t\tvar _a = _this.schema.primKey, auto = _a.auto, keyPath = _a.keyPath;\n\t\t\tif (keyPath && keys)\n\t\t\t\tthrow new exceptions.InvalidArgument(\"bulkPut(): keys argument invalid on tables with inbound keys\");\n\t\t\tif (keys && keys.length !== objects.length)\n\t\t\t\tthrow new exceptions.InvalidArgument(\"Arguments objects and keys must have the same length\");\n\t\t\tvar numObjects = objects.length;\n\t\t\tvar objectsToPut = keyPath && auto ?\n\t\t\t\tobjects.map(workaroundForUndefinedPrimKey(keyPath)) :\n\t\t\t\tobjects;\n\t\t\treturn _this.core.mutate({ trans: trans, type: 'put', keys: keys, values: objectsToPut, wantResults: wantResults })\n\t\t\t\t.then(function (_a) {\n\t\t\t\t\tvar numFailures = _a.numFailures, results = _a.results, lastResult = _a.lastResult, failures = _a.failures;\n\t\t\t\t\tvar result = wantResults ? results : lastResult;\n\t\t\t\t\tif (numFailures === 0)\n\t\t\t\t\t\treturn result;\n\t\t\t\t\tthrow new BulkError(_this.name + \".bulkPut(): \" + numFailures + \" of \" + numObjects + \" operations failed\", failures);\n\t\t\t\t});\n\t\t});\n\t};\n\tTable.prototype.bulkDelete = function (keys) {\n\t\tvar _this = this;\n\t\tvar numKeys = keys.length;\n\t\treturn this._trans('readwrite', function (trans) {\n\t\t\treturn _this.core.mutate({ trans: trans, type: 'delete', keys: keys });\n\t\t}).then(function (_a) {\n\t\t\tvar numFailures = _a.numFailures, lastResult = _a.lastResult, failures = _a.failures;\n\t\t\tif (numFailures === 0)\n\t\t\t\treturn lastResult;\n\t\t\tthrow new BulkError(_this.name + \".bulkDelete(): \" + numFailures + \" of \" + numKeys + \" operations failed\", failures);\n\t\t});\n\t};\n\treturn Table;\n}());\n\nfunction Events(ctx) {\n\tvar evs = {};\n\tvar rv = function (eventName, subscriber) {\n\t\tif (subscriber) {\n\t\t\tvar i = arguments.length, args = new Array(i - 1);\n\t\t\twhile (--i)\n\t\t\t\targs[i - 1] = arguments[i];\n\t\t\tevs[eventName].subscribe.apply(null, args);\n\t\t\treturn ctx;\n\t\t}\n\t\telse if (typeof (eventName) === 'string') {\n\t\t\treturn evs[eventName];\n\t\t}\n\t};\n\trv.addEventType = add;\n\tfor (var i = 1, l = arguments.length; i < l; ++i) {\n\t\tadd(arguments[i]);\n\t}\n\treturn rv;\n\tfunction add(eventName, chainFunction, defaultFunction) {\n\t\tif (typeof eventName === 'object')\n\t\t\treturn addConfiguredEvents(eventName);\n\t\tif (!chainFunction)\n\t\t\tchainFunction = reverseStoppableEventChain;\n\t\tif (!defaultFunction)\n\t\t\tdefaultFunction = nop;\n\t\tvar context = {\n\t\t\tsubscribers: [],\n\t\t\tfire: defaultFunction,\n\t\t\tsubscribe: function (cb) {\n\t\t\t\tif (context.subscribers.indexOf(cb) === -1) {\n\t\t\t\t\tcontext.subscribers.push(cb);\n\t\t\t\t\tcontext.fire = chainFunction(context.fire, cb);\n\t\t\t\t}\n\t\t\t},\n\t\t\tunsubscribe: function (cb) {\n\t\t\t\tcontext.subscribers = context.subscribers.filter(function (fn) { return fn !== cb; });\n\t\t\t\tcontext.fire = context.subscribers.reduce(chainFunction, defaultFunction);\n\t\t\t}\n\t\t};\n\t\tevs[eventName] = rv[eventName] = context;\n\t\treturn context;\n\t}\n\tfunction addConfiguredEvents(cfg) {\n\t\tkeys(cfg).forEach(function (eventName) {\n\t\t\tvar args = cfg[eventName];\n\t\t\tif (isArray(args)) {\n\t\t\t\tadd(eventName, cfg[eventName][0], cfg[eventName][1]);\n\t\t\t}\n\t\t\telse if (args === 'asap') {\n\t\t\t\tvar context = add(eventName, mirror, function fire() {\n\t\t\t\t\tvar i = arguments.length, args = new Array(i);\n\t\t\t\t\twhile (i--)\n\t\t\t\t\t\targs[i] = arguments[i];\n\t\t\t\t\tcontext.subscribers.forEach(function (fn) {\n\t\t\t\t\t\tasap$1(function fireEvent() {\n\t\t\t\t\t\t\tfn.apply(null, args);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\telse\n\t\t\t\tthrow new exceptions.InvalidArgument(\"Invalid event config\");\n\t\t});\n\t}\n}\n\nfunction makeClassConstructor(prototype, constructor) {\n\tderive(constructor).from({ prototype: prototype });\n\treturn constructor;\n}\n\nfunction createTableConstructor(db) {\n\treturn makeClassConstructor(Table.prototype, function Table(name, tableSchema, trans) {\n\t\tthis.db = db;\n\t\tthis._tx = trans;\n\t\tthis.name = name;\n\t\tthis.schema = tableSchema;\n\t\tthis.hook = db._allTables[name] ? db._allTables[name].hook : Events(null, {\n\t\t\t\"creating\": [hookCreatingChain, nop],\n\t\t\t\"reading\": [pureFunctionChain, mirror],\n\t\t\t\"updating\": [hookUpdatingChain, nop],\n\t\t\t\"deleting\": [hookDeletingChain, nop]\n\t\t});\n\t});\n}\n\nfunction isPlainKeyRange(ctx, ignoreLimitFilter) {\n\treturn !(ctx.filter || ctx.algorithm || ctx.or) &&\n\t\t(ignoreLimitFilter ? ctx.justLimit : !ctx.replayFilter);\n}\nfunction addFilter(ctx, fn) {\n\tctx.filter = combine(ctx.filter, fn);\n}\nfunction addReplayFilter(ctx, factory, isLimitFilter) {\n\tvar curr = ctx.replayFilter;\n\tctx.replayFilter = curr ? function () { return combine(curr(), factory()); } : factory;\n\tctx.justLimit = isLimitFilter && !curr;\n}\nfunction addMatchFilter(ctx, fn) {\n\tctx.isMatch = combine(ctx.isMatch, fn);\n}\nfunction getIndexOrStore(ctx, coreSchema) {\n\tif (ctx.isPrimKey)\n\t\treturn coreSchema.primaryKey;\n\tvar index = coreSchema.getIndexByKeyPath(ctx.index);\n\tif (!index)\n\t\tthrow new exceptions.Schema(\"KeyPath \" + ctx.index + \" on object store \" + coreSchema.name + \" is not indexed\");\n\treturn index;\n}\nfunction openCursor(ctx, coreTable, trans) {\n\tvar index = getIndexOrStore(ctx, coreTable.schema);\n\treturn coreTable.openCursor({\n\t\ttrans: trans,\n\t\tvalues: !ctx.keysOnly,\n\t\treverse: ctx.dir === 'prev',\n\t\tunique: !!ctx.unique,\n\t\tquery: {\n\t\t\tindex: index,\n\t\t\trange: ctx.range\n\t\t}\n\t});\n}\nfunction iter(ctx, fn, coreTrans, coreTable) {\n\tvar filter = ctx.replayFilter ? combine(ctx.filter, ctx.replayFilter()) : ctx.filter;\n\tif (!ctx.or) {\n\t\treturn iterate(openCursor(ctx, coreTable, coreTrans), combine(ctx.algorithm, filter), fn, !ctx.keysOnly && ctx.valueMapper);\n\t}\n\telse {\n\t\tvar set_1 = {};\n\t\tvar union = function (item, cursor, advance) {\n\t\t\tif (!filter || filter(cursor, advance, function (result) { return cursor.stop(result); }, function (err) { return cursor.fail(err); })) {\n\t\t\t\tvar primaryKey = cursor.primaryKey;\n\t\t\t\tvar key = '' + primaryKey;\n\t\t\t\tif (key === '[object ArrayBuffer]')\n\t\t\t\t\tkey = '' + new Uint8Array(primaryKey);\n\t\t\t\tif (!hasOwn(set_1, key)) {\n\t\t\t\t\tset_1[key] = true;\n\t\t\t\t\tfn(item, cursor, advance);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\treturn Promise.all([\n\t\t\tctx.or._iterate(union, coreTrans),\n\t\t\titerate(openCursor(ctx, coreTable, coreTrans), ctx.algorithm, union, !ctx.keysOnly && ctx.valueMapper)\n\t\t]);\n\t}\n}\nfunction iterate(cursorPromise, filter, fn, valueMapper) {\n\tvar mappedFn = valueMapper ? function (x, c, a) { return fn(valueMapper(x), c, a); } : fn;\n\tvar wrappedFn = wrap(mappedFn);\n\treturn cursorPromise.then(function (cursor) {\n\t\tif (cursor) {\n\t\t\treturn cursor.start(function () {\n\t\t\t\tvar c = function () { return cursor.continue(); };\n\t\t\t\tif (!filter || filter(cursor, function (advancer) { return c = advancer; }, function (val) { cursor.stop(val); c = nop; }, function (e) { cursor.fail(e); c = nop; }))\n\t\t\t\t\twrappedFn(cursor.value, cursor, function (advancer) { return c = advancer; });\n\t\t\t\tc();\n\t\t\t});\n\t\t}\n\t});\n}\n\nfunction cmp(a, b) {\n\ttry {\n\t\tvar ta = type(a);\n\t\tvar tb = type(b);\n\t\tif (ta !== tb) {\n\t\t\tif (ta === 'Array')\n\t\t\t\treturn 1;\n\t\t\tif (tb === 'Array')\n\t\t\t\treturn -1;\n\t\t\tif (ta === 'binary')\n\t\t\t\treturn 1;\n\t\t\tif (tb === 'binary')\n\t\t\t\treturn -1;\n\t\t\tif (ta === 'string')\n\t\t\t\treturn 1;\n\t\t\tif (tb === 'string')\n\t\t\t\treturn -1;\n\t\t\tif (ta === 'Date')\n\t\t\t\treturn 1;\n\t\t\tif (tb !== 'Date')\n\t\t\t\treturn NaN;\n\t\t\treturn -1;\n\t\t}\n\t\tswitch (ta) {\n\t\t\tcase 'number':\n\t\t\tcase 'Date':\n\t\t\tcase 'string':\n\t\t\t\treturn a > b ? 1 : a < b ? -1 : 0;\n\t\t\tcase 'binary': {\n\t\t\t\treturn compareUint8Arrays(getUint8Array(a), getUint8Array(b));\n\t\t\t}\n\t\t\tcase 'Array':\n\t\t\t\treturn compareArrays(a, b);\n\t\t}\n\t}\n\tcatch (_a) { }\n\treturn NaN;\n}\nfunction compareArrays(a, b) {\n\tvar al = a.length;\n\tvar bl = b.length;\n\tvar l = al < bl ? al : bl;\n\tfor (var i = 0; i < l; ++i) {\n\t\tvar res = cmp(a[i], b[i]);\n\t\tif (res !== 0)\n\t\t\treturn res;\n\t}\n\treturn al === bl ? 0 : al < bl ? -1 : 1;\n}\nfunction compareUint8Arrays(a, b) {\n\tvar al = a.length;\n\tvar bl = b.length;\n\tvar l = al < bl ? al : bl;\n\tfor (var i = 0; i < l; ++i) {\n\t\tif (a[i] !== b[i])\n\t\t\treturn a[i] < b[i] ? -1 : 1;\n\t}\n\treturn al === bl ? 0 : al < bl ? -1 : 1;\n}\nfunction type(x) {\n\tvar t = typeof x;\n\tif (t !== 'object')\n\t\treturn t;\n\tif (ArrayBuffer.isView(x))\n\t\treturn 'binary';\n\tvar tsTag = toStringTag(x);\n\treturn tsTag === 'ArrayBuffer' ? 'binary' : tsTag;\n}\nfunction getUint8Array(a) {\n\tif (a instanceof Uint8Array)\n\t\treturn a;\n\tif (ArrayBuffer.isView(a))\n\t\treturn new Uint8Array(a.buffer, a.byteOffset, a.byteLength);\n\treturn new Uint8Array(a);\n}\n\nvar Collection =  (function () {\n\tfunction Collection() {\n\t}\n\tCollection.prototype._read = function (fn, cb) {\n\t\tvar ctx = this._ctx;\n\t\treturn ctx.error ?\n\t\t\tctx.table._trans(null, rejection.bind(null, ctx.error)) :\n\t\t\tctx.table._trans('readonly', fn).then(cb);\n\t};\n\tCollection.prototype._write = function (fn) {\n\t\tvar ctx = this._ctx;\n\t\treturn ctx.error ?\n\t\t\tctx.table._trans(null, rejection.bind(null, ctx.error)) :\n\t\t\tctx.table._trans('readwrite', fn, \"locked\");\n\t};\n\tCollection.prototype._addAlgorithm = function (fn) {\n\t\tvar ctx = this._ctx;\n\t\tctx.algorithm = combine(ctx.algorithm, fn);\n\t};\n\tCollection.prototype._iterate = function (fn, coreTrans) {\n\t\treturn iter(this._ctx, fn, coreTrans, this._ctx.table.core);\n\t};\n\tCollection.prototype.clone = function (props) {\n\t\tvar rv = Object.create(this.constructor.prototype), ctx = Object.create(this._ctx);\n\t\tif (props)\n\t\t\textend(ctx, props);\n\t\trv._ctx = ctx;\n\t\treturn rv;\n\t};\n\tCollection.prototype.raw = function () {\n\t\tthis._ctx.valueMapper = null;\n\t\treturn this;\n\t};\n\tCollection.prototype.each = function (fn) {\n\t\tvar ctx = this._ctx;\n\t\treturn this._read(function (trans) { return iter(ctx, fn, trans, ctx.table.core); });\n\t};\n\tCollection.prototype.count = function (cb) {\n\t\tvar _this = this;\n\t\treturn this._read(function (trans) {\n\t\t\tvar ctx = _this._ctx;\n\t\t\tvar coreTable = ctx.table.core;\n\t\t\tif (isPlainKeyRange(ctx, true)) {\n\t\t\t\treturn coreTable.count({\n\t\t\t\t\ttrans: trans,\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tindex: getIndexOrStore(ctx, coreTable.schema),\n\t\t\t\t\t\trange: ctx.range\n\t\t\t\t\t}\n\t\t\t\t}).then(function (count) { return Math.min(count, ctx.limit); });\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvar count = 0;\n\t\t\t\treturn iter(ctx, function () { ++count; return false; }, trans, coreTable)\n\t\t\t\t\t.then(function () { return count; });\n\t\t\t}\n\t\t}).then(cb);\n\t};\n\tCollection.prototype.sortBy = function (keyPath, cb) {\n\t\tvar parts = keyPath.split('.').reverse(), lastPart = parts[0], lastIndex = parts.length - 1;\n\t\tfunction getval(obj, i) {\n\t\t\tif (i)\n\t\t\t\treturn getval(obj[parts[i]], i - 1);\n\t\t\treturn obj[lastPart];\n\t\t}\n\t\tvar order = this._ctx.dir === \"next\" ? 1 : -1;\n\t\tfunction sorter(a, b) {\n\t\t\tvar aVal = getval(a, lastIndex), bVal = getval(b, lastIndex);\n\t\t\treturn aVal < bVal ? -order : aVal > bVal ? order : 0;\n\t\t}\n\t\treturn this.toArray(function (a) {\n\t\t\treturn a.sort(sorter);\n\t\t}).then(cb);\n\t};\n\tCollection.prototype.toArray = function (cb) {\n\t\tvar _this = this;\n\t\treturn this._read(function (trans) {\n\t\t\tvar ctx = _this._ctx;\n\t\t\tif (ctx.dir === 'next' && isPlainKeyRange(ctx, true) && ctx.limit > 0) {\n\t\t\t\tvar valueMapper_1 = ctx.valueMapper;\n\t\t\t\tvar index = getIndexOrStore(ctx, ctx.table.core.schema);\n\t\t\t\treturn ctx.table.core.query({\n\t\t\t\t\ttrans: trans,\n\t\t\t\t\tlimit: ctx.limit,\n\t\t\t\t\tvalues: true,\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tindex: index,\n\t\t\t\t\t\trange: ctx.range\n\t\t\t\t\t}\n\t\t\t\t}).then(function (_a) {\n\t\t\t\t\tvar result = _a.result;\n\t\t\t\t\treturn valueMapper_1 ? result.map(valueMapper_1) : result;\n\t\t\t\t});\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvar a_1 = [];\n\t\t\t\treturn iter(ctx, function (item) { return a_1.push(item); }, trans, ctx.table.core).then(function () { return a_1; });\n\t\t\t}\n\t\t}, cb);\n\t};\n\tCollection.prototype.offset = function (offset) {\n\t\tvar ctx = this._ctx;\n\t\tif (offset <= 0)\n\t\t\treturn this;\n\t\tctx.offset += offset;\n\t\tif (isPlainKeyRange(ctx)) {\n\t\t\taddReplayFilter(ctx, function () {\n\t\t\t\tvar offsetLeft = offset;\n\t\t\t\treturn function (cursor, advance) {\n\t\t\t\t\tif (offsetLeft === 0)\n\t\t\t\t\t\treturn true;\n\t\t\t\t\tif (offsetLeft === 1) {\n\t\t\t\t\t\t--offsetLeft;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tadvance(function () {\n\t\t\t\t\t\tcursor.advance(offsetLeft);\n\t\t\t\t\t\toffsetLeft = 0;\n\t\t\t\t\t});\n\t\t\t\t\treturn false;\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\taddReplayFilter(ctx, function () {\n\t\t\t\tvar offsetLeft = offset;\n\t\t\t\treturn function () { return (--offsetLeft < 0); };\n\t\t\t});\n\t\t}\n\t\treturn this;\n\t};\n\tCollection.prototype.limit = function (numRows) {\n\t\tthis._ctx.limit = Math.min(this._ctx.limit, numRows);\n\t\taddReplayFilter(this._ctx, function () {\n\t\t\tvar rowsLeft = numRows;\n\t\t\treturn function (cursor, advance, resolve) {\n\t\t\t\tif (--rowsLeft <= 0)\n\t\t\t\t\tadvance(resolve);\n\t\t\t\treturn rowsLeft >= 0;\n\t\t\t};\n\t\t}, true);\n\t\treturn this;\n\t};\n\tCollection.prototype.until = function (filterFunction, bIncludeStopEntry) {\n\t\taddFilter(this._ctx, function (cursor, advance, resolve) {\n\t\t\tif (filterFunction(cursor.value)) {\n\t\t\t\tadvance(resolve);\n\t\t\t\treturn bIncludeStopEntry;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t});\n\t\treturn this;\n\t};\n\tCollection.prototype.first = function (cb) {\n\t\treturn this.limit(1).toArray(function (a) { return a[0]; }).then(cb);\n\t};\n\tCollection.prototype.last = function (cb) {\n\t\treturn this.reverse().first(cb);\n\t};\n\tCollection.prototype.filter = function (filterFunction) {\n\t\taddFilter(this._ctx, function (cursor) {\n\t\t\treturn filterFunction(cursor.value);\n\t\t});\n\t\taddMatchFilter(this._ctx, filterFunction);\n\t\treturn this;\n\t};\n\tCollection.prototype.and = function (filter) {\n\t\treturn this.filter(filter);\n\t};\n\tCollection.prototype.or = function (indexName) {\n\t\treturn new this.db.WhereClause(this._ctx.table, indexName, this);\n\t};\n\tCollection.prototype.reverse = function () {\n\t\tthis._ctx.dir = (this._ctx.dir === \"prev\" ? \"next\" : \"prev\");\n\t\tif (this._ondirectionchange)\n\t\t\tthis._ondirectionchange(this._ctx.dir);\n\t\treturn this;\n\t};\n\tCollection.prototype.desc = function () {\n\t\treturn this.reverse();\n\t};\n\tCollection.prototype.eachKey = function (cb) {\n\t\tvar ctx = this._ctx;\n\t\tctx.keysOnly = !ctx.isMatch;\n\t\treturn this.each(function (val, cursor) { cb(cursor.key, cursor); });\n\t};\n\tCollection.prototype.eachUniqueKey = function (cb) {\n\t\tthis._ctx.unique = \"unique\";\n\t\treturn this.eachKey(cb);\n\t};\n\tCollection.prototype.eachPrimaryKey = function (cb) {\n\t\tvar ctx = this._ctx;\n\t\tctx.keysOnly = !ctx.isMatch;\n\t\treturn this.each(function (val, cursor) { cb(cursor.primaryKey, cursor); });\n\t};\n\tCollection.prototype.keys = function (cb) {\n\t\tvar ctx = this._ctx;\n\t\tctx.keysOnly = !ctx.isMatch;\n\t\tvar a = [];\n\t\treturn this.each(function (item, cursor) {\n\t\t\ta.push(cursor.key);\n\t\t}).then(function () {\n\t\t\treturn a;\n\t\t}).then(cb);\n\t};\n\tCollection.prototype.primaryKeys = function (cb) {\n\t\tvar ctx = this._ctx;\n\t\tif (ctx.dir === 'next' && isPlainKeyRange(ctx, true) && ctx.limit > 0) {\n\t\t\treturn this._read(function (trans) {\n\t\t\t\tvar index = getIndexOrStore(ctx, ctx.table.core.schema);\n\t\t\t\treturn ctx.table.core.query({\n\t\t\t\t\ttrans: trans,\n\t\t\t\t\tvalues: false,\n\t\t\t\t\tlimit: ctx.limit,\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tindex: index,\n\t\t\t\t\t\trange: ctx.range\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}).then(function (_a) {\n\t\t\t\tvar result = _a.result;\n\t\t\t\treturn result;\n\t\t\t}).then(cb);\n\t\t}\n\t\tctx.keysOnly = !ctx.isMatch;\n\t\tvar a = [];\n\t\treturn this.each(function (item, cursor) {\n\t\t\ta.push(cursor.primaryKey);\n\t\t}).then(function () {\n\t\t\treturn a;\n\t\t}).then(cb);\n\t};\n\tCollection.prototype.uniqueKeys = function (cb) {\n\t\tthis._ctx.unique = \"unique\";\n\t\treturn this.keys(cb);\n\t};\n\tCollection.prototype.firstKey = function (cb) {\n\t\treturn this.limit(1).keys(function (a) { return a[0]; }).then(cb);\n\t};\n\tCollection.prototype.lastKey = function (cb) {\n\t\treturn this.reverse().firstKey(cb);\n\t};\n\tCollection.prototype.distinct = function () {\n\t\tvar ctx = this._ctx, idx = ctx.index && ctx.table.schema.idxByName[ctx.index];\n\t\tif (!idx || !idx.multi)\n\t\t\treturn this;\n\t\tvar set = {};\n\t\taddFilter(this._ctx, function (cursor) {\n\t\t\tvar strKey = cursor.primaryKey.toString();\n\t\t\tvar found = hasOwn(set, strKey);\n\t\t\tset[strKey] = true;\n\t\t\treturn !found;\n\t\t});\n\t\treturn this;\n\t};\n\tCollection.prototype.modify = function (changes) {\n\t\tvar _this = this;\n\t\tvar ctx = this._ctx;\n\t\treturn this._write(function (trans) {\n\t\t\tvar modifyer;\n\t\t\tif (typeof changes === 'function') {\n\t\t\t\tmodifyer = changes;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvar keyPaths = keys(changes);\n\t\t\t\tvar numKeys = keyPaths.length;\n\t\t\t\tmodifyer = function (item) {\n\t\t\t\t\tvar anythingModified = false;\n\t\t\t\t\tfor (var i = 0; i < numKeys; ++i) {\n\t\t\t\t\t\tvar keyPath = keyPaths[i], val = changes[keyPath];\n\t\t\t\t\t\tif (getByKeyPath(item, keyPath) !== val) {\n\t\t\t\t\t\t\tsetByKeyPath(item, keyPath, val);\n\t\t\t\t\t\t\tanythingModified = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn anythingModified;\n\t\t\t\t};\n\t\t\t}\n\t\t\tvar coreTable = ctx.table.core;\n\t\t\tvar _a = coreTable.schema.primaryKey, outbound = _a.outbound, extractKey = _a.extractKey;\n\t\t\tvar limit = _this.db._options.modifyChunkSize || 200;\n\t\t\tvar totalFailures = [];\n\t\t\tvar successCount = 0;\n\t\t\tvar failedKeys = [];\n\t\t\tvar applyMutateResult = function (expectedCount, res) {\n\t\t\t\tvar failures = res.failures, numFailures = res.numFailures;\n\t\t\t\tsuccessCount += expectedCount - numFailures;\n\t\t\t\tfor (var _i = 0, _a = keys(failures); _i < _a.length; _i++) {\n\t\t\t\t\tvar pos = _a[_i];\n\t\t\t\t\ttotalFailures.push(failures[pos]);\n\t\t\t\t}\n\t\t\t};\n\t\t\treturn _this.clone().primaryKeys().then(function (keys) {\n\t\t\t\tvar nextChunk = function (offset) {\n\t\t\t\t\tvar count = Math.min(limit, keys.length - offset);\n\t\t\t\t\treturn coreTable.getMany({\n\t\t\t\t\t\ttrans: trans,\n\t\t\t\t\t\tkeys: keys.slice(offset, offset + count),\n\t\t\t\t\t\tcache: \"immutable\"\n\t\t\t\t\t}).then(function (values) {\n\t\t\t\t\t\tvar addValues = [];\n\t\t\t\t\t\tvar putValues = [];\n\t\t\t\t\t\tvar putKeys = outbound ? [] : null;\n\t\t\t\t\t\tvar deleteKeys = [];\n\t\t\t\t\t\tfor (var i = 0; i < count; ++i) {\n\t\t\t\t\t\t\tvar origValue = values[i];\n\t\t\t\t\t\t\tvar ctx_1 = {\n\t\t\t\t\t\t\t\tvalue: deepClone(origValue),\n\t\t\t\t\t\t\t\tprimKey: keys[offset + i]\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tif (modifyer.call(ctx_1, ctx_1.value, ctx_1) !== false) {\n\t\t\t\t\t\t\t\tif (ctx_1.value == null) {\n\t\t\t\t\t\t\t\t\tdeleteKeys.push(keys[offset + i]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse if (!outbound && cmp(extractKey(origValue), extractKey(ctx_1.value)) !== 0) {\n\t\t\t\t\t\t\t\t\tdeleteKeys.push(keys[offset + i]);\n\t\t\t\t\t\t\t\t\taddValues.push(ctx_1.value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tputValues.push(ctx_1.value);\n\t\t\t\t\t\t\t\t\tif (outbound)\n\t\t\t\t\t\t\t\t\t\tputKeys.push(keys[offset + i]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvar criteria = isPlainKeyRange(ctx) &&\n\t\t\t\t\t\t\tctx.limit === Infinity &&\n\t\t\t\t\t\t\t(typeof changes !== 'function' || changes === deleteCallback) && {\n\t\t\t\t\t\t\t\tindex: ctx.index,\n\t\t\t\t\t\t\t\trange: ctx.range\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\treturn Promise.resolve(addValues.length > 0 &&\n\t\t\t\t\t\t\tcoreTable.mutate({ trans: trans, type: 'add', values: addValues })\n\t\t\t\t\t\t\t\t.then(function (res) {\n\t\t\t\t\t\t\t\t\tfor (var pos in res.failures) {\n\t\t\t\t\t\t\t\t\t\tdeleteKeys.splice(parseInt(pos), 1);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tapplyMutateResult(addValues.length, res);\n\t\t\t\t\t\t\t\t})).then(function () { return (putValues.length > 0 || (criteria && typeof changes === 'object')) &&\n\t\t\t\t\t\t\tcoreTable.mutate({\n\t\t\t\t\t\t\t\ttrans: trans,\n\t\t\t\t\t\t\t\ttype: 'put',\n\t\t\t\t\t\t\t\tkeys: putKeys,\n\t\t\t\t\t\t\t\tvalues: putValues,\n\t\t\t\t\t\t\t\tcriteria: criteria,\n\t\t\t\t\t\t\t\tchangeSpec: typeof changes !== 'function'\n\t\t\t\t\t\t\t\t\t&& changes\n\t\t\t\t\t\t\t}).then(function (res) { return applyMutateResult(putValues.length, res); }); }).then(function () { return (deleteKeys.length > 0 || (criteria && changes === deleteCallback)) &&\n\t\t\t\t\t\t\tcoreTable.mutate({\n\t\t\t\t\t\t\t\ttrans: trans,\n\t\t\t\t\t\t\t\ttype: 'delete',\n\t\t\t\t\t\t\t\tkeys: deleteKeys,\n\t\t\t\t\t\t\t\tcriteria: criteria\n\t\t\t\t\t\t\t}).then(function (res) { return applyMutateResult(deleteKeys.length, res); }); }).then(function () {\n\t\t\t\t\t\t\treturn keys.length > offset + count && nextChunk(offset + limit);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t\treturn nextChunk(0).then(function () {\n\t\t\t\t\tif (totalFailures.length > 0)\n\t\t\t\t\t\tthrow new ModifyError(\"Error modifying one or more objects\", totalFailures, successCount, failedKeys);\n\t\t\t\t\treturn keys.length;\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t};\n\tCollection.prototype.delete = function () {\n\t\tvar ctx = this._ctx, range = ctx.range;\n\t\tif (isPlainKeyRange(ctx) &&\n\t\t\t((ctx.isPrimKey && !hangsOnDeleteLargeKeyRange) || range.type === 3 ))\n\t\t{\n\t\t\treturn this._write(function (trans) {\n\t\t\t\tvar primaryKey = ctx.table.core.schema.primaryKey;\n\t\t\t\tvar coreRange = range;\n\t\t\t\treturn ctx.table.core.count({ trans: trans, query: { index: primaryKey, range: coreRange } }).then(function (count) {\n\t\t\t\t\treturn ctx.table.core.mutate({ trans: trans, type: 'deleteRange', range: coreRange })\n\t\t\t\t\t\t.then(function (_a) {\n\t\t\t\t\t\t\tvar failures = _a.failures; _a.lastResult; _a.results; var numFailures = _a.numFailures;\n\t\t\t\t\t\t\tif (numFailures)\n\t\t\t\t\t\t\t\tthrow new ModifyError(\"Could not delete some values\", Object.keys(failures).map(function (pos) { return failures[pos]; }), count - numFailures);\n\t\t\t\t\t\t\treturn count - numFailures;\n\t\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t\treturn this.modify(deleteCallback);\n\t};\n\treturn Collection;\n}());\nvar deleteCallback = function (value, ctx) { return ctx.value = null; };\n\nfunction createCollectionConstructor(db) {\n\treturn makeClassConstructor(Collection.prototype, function Collection(whereClause, keyRangeGenerator) {\n\t\tthis.db = db;\n\t\tvar keyRange = AnyRange, error = null;\n\t\tif (keyRangeGenerator)\n\t\t\ttry {\n\t\t\t\tkeyRange = keyRangeGenerator();\n\t\t\t}\n\t\t\tcatch (ex) {\n\t\t\t\terror = ex;\n\t\t\t}\n\t\tvar whereCtx = whereClause._ctx;\n\t\tvar table = whereCtx.table;\n\t\tvar readingHook = table.hook.reading.fire;\n\t\tthis._ctx = {\n\t\t\ttable: table,\n\t\t\tindex: whereCtx.index,\n\t\t\tisPrimKey: (!whereCtx.index || (table.schema.primKey.keyPath && whereCtx.index === table.schema.primKey.name)),\n\t\t\trange: keyRange,\n\t\t\tkeysOnly: false,\n\t\t\tdir: \"next\",\n\t\t\tunique: \"\",\n\t\t\talgorithm: null,\n\t\t\tfilter: null,\n\t\t\treplayFilter: null,\n\t\t\tjustLimit: true,\n\t\t\tisMatch: null,\n\t\t\toffset: 0,\n\t\t\tlimit: Infinity,\n\t\t\terror: error,\n\t\t\tor: whereCtx.or,\n\t\t\tvalueMapper: readingHook !== mirror ? readingHook : null\n\t\t};\n\t});\n}\n\nfunction simpleCompare(a, b) {\n\treturn a < b ? -1 : a === b ? 0 : 1;\n}\nfunction simpleCompareReverse(a, b) {\n\treturn a > b ? -1 : a === b ? 0 : 1;\n}\n\nfunction fail(collectionOrWhereClause, err, T) {\n\tvar collection = collectionOrWhereClause instanceof WhereClause ?\n\t\tnew collectionOrWhereClause.Collection(collectionOrWhereClause) :\n\t\tcollectionOrWhereClause;\n\tcollection._ctx.error = T ? new T(err) : new TypeError(err);\n\treturn collection;\n}\nfunction emptyCollection(whereClause) {\n\treturn new whereClause.Collection(whereClause, function () { return rangeEqual(\"\"); }).limit(0);\n}\nfunction upperFactory(dir) {\n\treturn dir === \"next\" ?\n\t\tfunction (s) { return s.toUpperCase(); } :\n\t\tfunction (s) { return s.toLowerCase(); };\n}\nfunction lowerFactory(dir) {\n\treturn dir === \"next\" ?\n\t\tfunction (s) { return s.toLowerCase(); } :\n\t\tfunction (s) { return s.toUpperCase(); };\n}\nfunction nextCasing(key, lowerKey, upperNeedle, lowerNeedle, cmp, dir) {\n\tvar length = Math.min(key.length, lowerNeedle.length);\n\tvar llp = -1;\n\tfor (var i = 0; i < length; ++i) {\n\t\tvar lwrKeyChar = lowerKey[i];\n\t\tif (lwrKeyChar !== lowerNeedle[i]) {\n\t\t\tif (cmp(key[i], upperNeedle[i]) < 0)\n\t\t\t\treturn key.substr(0, i) + upperNeedle[i] + upperNeedle.substr(i + 1);\n\t\t\tif (cmp(key[i], lowerNeedle[i]) < 0)\n\t\t\t\treturn key.substr(0, i) + lowerNeedle[i] + upperNeedle.substr(i + 1);\n\t\t\tif (llp >= 0)\n\t\t\t\treturn key.substr(0, llp) + lowerKey[llp] + upperNeedle.substr(llp + 1);\n\t\t\treturn null;\n\t\t}\n\t\tif (cmp(key[i], lwrKeyChar) < 0)\n\t\t\tllp = i;\n\t}\n\tif (length < lowerNeedle.length && dir === \"next\")\n\t\treturn key + upperNeedle.substr(key.length);\n\tif (length < key.length && dir === \"prev\")\n\t\treturn key.substr(0, upperNeedle.length);\n\treturn (llp < 0 ? null : key.substr(0, llp) + lowerNeedle[llp] + upperNeedle.substr(llp + 1));\n}\nfunction addIgnoreCaseAlgorithm(whereClause, match, needles, suffix) {\n\tvar upper, lower, compare, upperNeedles, lowerNeedles, direction, nextKeySuffix, needlesLen = needles.length;\n\tif (!needles.every(function (s) { return typeof s === 'string'; })) {\n\t\treturn fail(whereClause, STRING_EXPECTED);\n\t}\n\tfunction initDirection(dir) {\n\t\tupper = upperFactory(dir);\n\t\tlower = lowerFactory(dir);\n\t\tcompare = (dir === \"next\" ? simpleCompare : simpleCompareReverse);\n\t\tvar needleBounds = needles.map(function (needle) {\n\t\t\treturn { lower: lower(needle), upper: upper(needle) };\n\t\t}).sort(function (a, b) {\n\t\t\treturn compare(a.lower, b.lower);\n\t\t});\n\t\tupperNeedles = needleBounds.map(function (nb) { return nb.upper; });\n\t\tlowerNeedles = needleBounds.map(function (nb) { return nb.lower; });\n\t\tdirection = dir;\n\t\tnextKeySuffix = (dir === \"next\" ? \"\" : suffix);\n\t}\n\tinitDirection(\"next\");\n\tvar c = new whereClause.Collection(whereClause, function () { return createRange(upperNeedles[0], lowerNeedles[needlesLen - 1] + suffix); });\n\tc._ondirectionchange = function (direction) {\n\t\tinitDirection(direction);\n\t};\n\tvar firstPossibleNeedle = 0;\n\tc._addAlgorithm(function (cursor, advance, resolve) {\n\t\tvar key = cursor.key;\n\t\tif (typeof key !== 'string')\n\t\t\treturn false;\n\t\tvar lowerKey = lower(key);\n\t\tif (match(lowerKey, lowerNeedles, firstPossibleNeedle)) {\n\t\t\treturn true;\n\t\t}\n\t\telse {\n\t\t\tvar lowestPossibleCasing = null;\n\t\t\tfor (var i = firstPossibleNeedle; i < needlesLen; ++i) {\n\t\t\t\tvar casing = nextCasing(key, lowerKey, upperNeedles[i], lowerNeedles[i], compare, direction);\n\t\t\t\tif (casing === null && lowestPossibleCasing === null)\n\t\t\t\t\tfirstPossibleNeedle = i + 1;\n\t\t\t\telse if (lowestPossibleCasing === null || compare(lowestPossibleCasing, casing) > 0) {\n\t\t\t\t\tlowestPossibleCasing = casing;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (lowestPossibleCasing !== null) {\n\t\t\t\tadvance(function () { cursor.continue(lowestPossibleCasing + nextKeySuffix); });\n\t\t\t}\n\t\t\telse {\n\t\t\t\tadvance(resolve);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t});\n\treturn c;\n}\nfunction createRange(lower, upper, lowerOpen, upperOpen) {\n\treturn {\n\t\ttype: 2 ,\n\t\tlower: lower,\n\t\tupper: upper,\n\t\tlowerOpen: lowerOpen,\n\t\tupperOpen: upperOpen\n\t};\n}\nfunction rangeEqual(value) {\n\treturn {\n\t\ttype: 1 ,\n\t\tlower: value,\n\t\tupper: value\n\t};\n}\n\nvar WhereClause =  (function () {\n\tfunction WhereClause() {\n\t}\n\tObject.defineProperty(WhereClause.prototype, \"Collection\", {\n\t\tget: function () {\n\t\t\treturn this._ctx.table.db.Collection;\n\t\t},\n\t\tenumerable: false,\n\t\tconfigurable: true\n\t});\n\tWhereClause.prototype.between = function (lower, upper, includeLower, includeUpper) {\n\t\tincludeLower = includeLower !== false;\n\t\tincludeUpper = includeUpper === true;\n\t\ttry {\n\t\t\tif ((this._cmp(lower, upper) > 0) ||\n\t\t\t\t(this._cmp(lower, upper) === 0 && (includeLower || includeUpper) && !(includeLower && includeUpper)))\n\t\t\t\treturn emptyCollection(this);\n\t\t\treturn new this.Collection(this, function () { return createRange(lower, upper, !includeLower, !includeUpper); });\n\t\t}\n\t\tcatch (e) {\n\t\t\treturn fail(this, INVALID_KEY_ARGUMENT);\n\t\t}\n\t};\n\tWhereClause.prototype.equals = function (value) {\n\t\tif (value == null)\n\t\t\treturn fail(this, INVALID_KEY_ARGUMENT);\n\t\treturn new this.Collection(this, function () { return rangeEqual(value); });\n\t};\n\tWhereClause.prototype.above = function (value) {\n\t\tif (value == null)\n\t\t\treturn fail(this, INVALID_KEY_ARGUMENT);\n\t\treturn new this.Collection(this, function () { return createRange(value, undefined, true); });\n\t};\n\tWhereClause.prototype.aboveOrEqual = function (value) {\n\t\tif (value == null)\n\t\t\treturn fail(this, INVALID_KEY_ARGUMENT);\n\t\treturn new this.Collection(this, function () { return createRange(value, undefined, false); });\n\t};\n\tWhereClause.prototype.below = function (value) {\n\t\tif (value == null)\n\t\t\treturn fail(this, INVALID_KEY_ARGUMENT);\n\t\treturn new this.Collection(this, function () { return createRange(undefined, value, false, true); });\n\t};\n\tWhereClause.prototype.belowOrEqual = function (value) {\n\t\tif (value == null)\n\t\t\treturn fail(this, INVALID_KEY_ARGUMENT);\n\t\treturn new this.Collection(this, function () { return createRange(undefined, value); });\n\t};\n\tWhereClause.prototype.startsWith = function (str) {\n\t\tif (typeof str !== 'string')\n\t\t\treturn fail(this, STRING_EXPECTED);\n\t\treturn this.between(str, str + maxString, true, true);\n\t};\n\tWhereClause.prototype.startsWithIgnoreCase = function (str) {\n\t\tif (str === \"\")\n\t\t\treturn this.startsWith(str);\n\t\treturn addIgnoreCaseAlgorithm(this, function (x, a) { return x.indexOf(a[0]) === 0; }, [str], maxString);\n\t};\n\tWhereClause.prototype.equalsIgnoreCase = function (str) {\n\t\treturn addIgnoreCaseAlgorithm(this, function (x, a) { return x === a[0]; }, [str], \"\");\n\t};\n\tWhereClause.prototype.anyOfIgnoreCase = function () {\n\t\tvar set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);\n\t\tif (set.length === 0)\n\t\t\treturn emptyCollection(this);\n\t\treturn addIgnoreCaseAlgorithm(this, function (x, a) { return a.indexOf(x) !== -1; }, set, \"\");\n\t};\n\tWhereClause.prototype.startsWithAnyOfIgnoreCase = function () {\n\t\tvar set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);\n\t\tif (set.length === 0)\n\t\t\treturn emptyCollection(this);\n\t\treturn addIgnoreCaseAlgorithm(this, function (x, a) { return a.some(function (n) { return x.indexOf(n) === 0; }); }, set, maxString);\n\t};\n\tWhereClause.prototype.anyOf = function () {\n\t\tvar _this = this;\n\t\tvar set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);\n\t\tvar compare = this._cmp;\n\t\ttry {\n\t\t\tset.sort(compare);\n\t\t}\n\t\tcatch (e) {\n\t\t\treturn fail(this, INVALID_KEY_ARGUMENT);\n\t\t}\n\t\tif (set.length === 0)\n\t\t\treturn emptyCollection(this);\n\t\tvar c = new this.Collection(this, function () { return createRange(set[0], set[set.length - 1]); });\n\t\tc._ondirectionchange = function (direction) {\n\t\t\tcompare = (direction === \"next\" ?\n\t\t\t\t_this._ascending :\n\t\t\t\t_this._descending);\n\t\t\tset.sort(compare);\n\t\t};\n\t\tvar i = 0;\n\t\tc._addAlgorithm(function (cursor, advance, resolve) {\n\t\t\tvar key = cursor.key;\n\t\t\twhile (compare(key, set[i]) > 0) {\n\t\t\t\t++i;\n\t\t\t\tif (i === set.length) {\n\t\t\t\t\tadvance(resolve);\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (compare(key, set[i]) === 0) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tadvance(function () { cursor.continue(set[i]); });\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\treturn c;\n\t};\n\tWhereClause.prototype.notEqual = function (value) {\n\t\treturn this.inAnyRange([[minKey, value], [value, this.db._maxKey]], { includeLowers: false, includeUppers: false });\n\t};\n\tWhereClause.prototype.noneOf = function () {\n\t\tvar set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);\n\t\tif (set.length === 0)\n\t\t\treturn new this.Collection(this);\n\t\ttry {\n\t\t\tset.sort(this._ascending);\n\t\t}\n\t\tcatch (e) {\n\t\t\treturn fail(this, INVALID_KEY_ARGUMENT);\n\t\t}\n\t\tvar ranges = set.reduce(function (res, val) { return res ?\n\t\t\tres.concat([[res[res.length - 1][1], val]]) :\n\t\t\t[[minKey, val]]; }, null);\n\t\tranges.push([set[set.length - 1], this.db._maxKey]);\n\t\treturn this.inAnyRange(ranges, { includeLowers: false, includeUppers: false });\n\t};\n\tWhereClause.prototype.inAnyRange = function (ranges, options) {\n\t\tvar _this = this;\n\t\tvar cmp = this._cmp, ascending = this._ascending, descending = this._descending, min = this._min, max = this._max;\n\t\tif (ranges.length === 0)\n\t\t\treturn emptyCollection(this);\n\t\tif (!ranges.every(function (range) {\n\t\t\treturn range[0] !== undefined &&\n\t\t\t\trange[1] !== undefined &&\n\t\t\t\tascending(range[0], range[1]) <= 0;\n\t\t})) {\n\t\t\treturn fail(this, \"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower\", exceptions.InvalidArgument);\n\t\t}\n\t\tvar includeLowers = !options || options.includeLowers !== false;\n\t\tvar includeUppers = options && options.includeUppers === true;\n\t\tfunction addRange(ranges, newRange) {\n\t\t\tvar i = 0, l = ranges.length;\n\t\t\tfor (; i < l; ++i) {\n\t\t\t\tvar range = ranges[i];\n\t\t\t\tif (cmp(newRange[0], range[1]) < 0 && cmp(newRange[1], range[0]) > 0) {\n\t\t\t\t\trange[0] = min(range[0], newRange[0]);\n\t\t\t\t\trange[1] = max(range[1], newRange[1]);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (i === l)\n\t\t\t\tranges.push(newRange);\n\t\t\treturn ranges;\n\t\t}\n\t\tvar sortDirection = ascending;\n\t\tfunction rangeSorter(a, b) { return sortDirection(a[0], b[0]); }\n\t\tvar set;\n\t\ttry {\n\t\t\tset = ranges.reduce(addRange, []);\n\t\t\tset.sort(rangeSorter);\n\t\t}\n\t\tcatch (ex) {\n\t\t\treturn fail(this, INVALID_KEY_ARGUMENT);\n\t\t}\n\t\tvar rangePos = 0;\n\t\tvar keyIsBeyondCurrentEntry = includeUppers ?\n\t\t\tfunction (key) { return ascending(key, set[rangePos][1]) > 0; } :\n\t\t\tfunction (key) { return ascending(key, set[rangePos][1]) >= 0; };\n\t\tvar keyIsBeforeCurrentEntry = includeLowers ?\n\t\t\tfunction (key) { return descending(key, set[rangePos][0]) > 0; } :\n\t\t\tfunction (key) { return descending(key, set[rangePos][0]) >= 0; };\n\t\tfunction keyWithinCurrentRange(key) {\n\t\t\treturn !keyIsBeyondCurrentEntry(key) && !keyIsBeforeCurrentEntry(key);\n\t\t}\n\t\tvar checkKey = keyIsBeyondCurrentEntry;\n\t\tvar c = new this.Collection(this, function () { return createRange(set[0][0], set[set.length - 1][1], !includeLowers, !includeUppers); });\n\t\tc._ondirectionchange = function (direction) {\n\t\t\tif (direction === \"next\") {\n\t\t\t\tcheckKey = keyIsBeyondCurrentEntry;\n\t\t\t\tsortDirection = ascending;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tcheckKey = keyIsBeforeCurrentEntry;\n\t\t\t\tsortDirection = descending;\n\t\t\t}\n\t\t\tset.sort(rangeSorter);\n\t\t};\n\t\tc._addAlgorithm(function (cursor, advance, resolve) {\n\t\t\tvar key = cursor.key;\n\t\t\twhile (checkKey(key)) {\n\t\t\t\t++rangePos;\n\t\t\t\tif (rangePos === set.length) {\n\t\t\t\t\tadvance(resolve);\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (keyWithinCurrentRange(key)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\telse if (_this._cmp(key, set[rangePos][1]) === 0 || _this._cmp(key, set[rangePos][0]) === 0) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tadvance(function () {\n\t\t\t\t\tif (sortDirection === ascending)\n\t\t\t\t\t\tcursor.continue(set[rangePos][0]);\n\t\t\t\t\telse\n\t\t\t\t\t\tcursor.continue(set[rangePos][1]);\n\t\t\t\t});\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\treturn c;\n\t};\n\tWhereClause.prototype.startsWithAnyOf = function () {\n\t\tvar set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);\n\t\tif (!set.every(function (s) { return typeof s === 'string'; })) {\n\t\t\treturn fail(this, \"startsWithAnyOf() only works with strings\");\n\t\t}\n\t\tif (set.length === 0)\n\t\t\treturn emptyCollection(this);\n\t\treturn this.inAnyRange(set.map(function (str) { return [str, str + maxString]; }));\n\t};\n\treturn WhereClause;\n}());\n\nfunction createWhereClauseConstructor(db) {\n\treturn makeClassConstructor(WhereClause.prototype, function WhereClause(table, index, orCollection) {\n\t\tthis.db = db;\n\t\tthis._ctx = {\n\t\t\ttable: table,\n\t\t\tindex: index === \":id\" ? null : index,\n\t\t\tor: orCollection\n\t\t};\n\t\tvar indexedDB = db._deps.indexedDB;\n\t\tif (!indexedDB)\n\t\t\tthrow new exceptions.MissingAPI();\n\t\tthis._cmp = this._ascending = indexedDB.cmp.bind(indexedDB);\n\t\tthis._descending = function (a, b) { return indexedDB.cmp(b, a); };\n\t\tthis._max = function (a, b) { return indexedDB.cmp(a, b) > 0 ? a : b; };\n\t\tthis._min = function (a, b) { return indexedDB.cmp(a, b) < 0 ? a : b; };\n\t\tthis._IDBKeyRange = db._deps.IDBKeyRange;\n\t});\n}\n\nfunction eventRejectHandler(reject) {\n\treturn wrap(function (event) {\n\t\tpreventDefault(event);\n\t\treject(event.target.error);\n\t\treturn false;\n\t});\n}\nfunction preventDefault(event) {\n\tif (event.stopPropagation)\n\t\tevent.stopPropagation();\n\tif (event.preventDefault)\n\t\tevent.preventDefault();\n}\n\nvar DEXIE_STORAGE_MUTATED_EVENT_NAME = 'storagemutated';\nvar STORAGE_MUTATED_DOM_EVENT_NAME = 'x-storagemutated-1';\nvar globalEvents = Events(null, DEXIE_STORAGE_MUTATED_EVENT_NAME);\n\nvar Transaction =  (function () {\n\tfunction Transaction() {\n\t}\n\tTransaction.prototype._lock = function () {\n\t\tassert(!PSD.global);\n\t\t++this._reculock;\n\t\tif (this._reculock === 1 && !PSD.global)\n\t\t\tPSD.lockOwnerFor = this;\n\t\treturn this;\n\t};\n\tTransaction.prototype._unlock = function () {\n\t\tassert(!PSD.global);\n\t\tif (--this._reculock === 0) {\n\t\t\tif (!PSD.global)\n\t\t\t\tPSD.lockOwnerFor = null;\n\t\t\twhile (this._blockedFuncs.length > 0 && !this._locked()) {\n\t\t\t\tvar fnAndPSD = this._blockedFuncs.shift();\n\t\t\t\ttry {\n\t\t\t\t\tusePSD(fnAndPSD[1], fnAndPSD[0]);\n\t\t\t\t}\n\t\t\t\tcatch (e) { }\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t};\n\tTransaction.prototype._locked = function () {\n\t\treturn this._reculock && PSD.lockOwnerFor !== this;\n\t};\n\tTransaction.prototype.create = function (idbtrans) {\n\t\tvar _this = this;\n\t\tif (!this.mode)\n\t\t\treturn this;\n\t\tvar idbdb = this.db.idbdb;\n\t\tvar dbOpenError = this.db._state.dbOpenError;\n\t\tassert(!this.idbtrans);\n\t\tif (!idbtrans && !idbdb) {\n\t\t\tswitch (dbOpenError && dbOpenError.name) {\n\t\t\t\tcase \"DatabaseClosedError\":\n\t\t\t\t\tthrow new exceptions.DatabaseClosed(dbOpenError);\n\t\t\t\tcase \"MissingAPIError\":\n\t\t\t\t\tthrow new exceptions.MissingAPI(dbOpenError.message, dbOpenError);\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new exceptions.OpenFailed(dbOpenError);\n\t\t\t}\n\t\t}\n\t\tif (!this.active)\n\t\t\tthrow new exceptions.TransactionInactive();\n\t\tassert(this._completion._state === null);\n\t\tidbtrans = this.idbtrans = idbtrans ||\n\t\t\t(this.db.core\n\t\t\t\t? this.db.core.transaction(this.storeNames, this.mode, { durability: this.chromeTransactionDurability })\n\t\t\t\t: idbdb.transaction(this.storeNames, this.mode, { durability: this.chromeTransactionDurability }));\n\t\tidbtrans.onerror = wrap(function (ev) {\n\t\t\tpreventDefault(ev);\n\t\t\t_this._reject(idbtrans.error);\n\t\t});\n\t\tidbtrans.onabort = wrap(function (ev) {\n\t\t\tpreventDefault(ev);\n\t\t\t_this.active && _this._reject(new exceptions.Abort(idbtrans.error));\n\t\t\t_this.active = false;\n\t\t\t_this.on(\"abort\").fire(ev);\n\t\t});\n\t\tidbtrans.oncomplete = wrap(function () {\n\t\t\t_this.active = false;\n\t\t\t_this._resolve();\n\t\t\tif ('mutatedParts' in idbtrans) {\n\t\t\t\tglobalEvents.storagemutated.fire(idbtrans[\"mutatedParts\"]);\n\t\t\t}\n\t\t});\n\t\treturn this;\n\t};\n\tTransaction.prototype._promise = function (mode, fn, bWriteLock) {\n\t\tvar _this = this;\n\t\tif (mode === 'readwrite' && this.mode !== 'readwrite')\n\t\t\treturn rejection(new exceptions.ReadOnly(\"Transaction is readonly\"));\n\t\tif (!this.active)\n\t\t\treturn rejection(new exceptions.TransactionInactive());\n\t\tif (this._locked()) {\n\t\t\treturn new DexiePromise(function (resolve, reject) {\n\t\t\t\t_this._blockedFuncs.push([function () {\n\t\t\t\t\t_this._promise(mode, fn, bWriteLock).then(resolve, reject);\n\t\t\t\t}, PSD]);\n\t\t\t});\n\t\t}\n\t\telse if (bWriteLock) {\n\t\t\treturn newScope(function () {\n\t\t\t\tvar p = new DexiePromise(function (resolve, reject) {\n\t\t\t\t\t_this._lock();\n\t\t\t\t\tvar rv = fn(resolve, reject, _this);\n\t\t\t\t\tif (rv && rv.then)\n\t\t\t\t\t\trv.then(resolve, reject);\n\t\t\t\t});\n\t\t\t\tp.finally(function () { return _this._unlock(); });\n\t\t\t\tp._lib = true;\n\t\t\t\treturn p;\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\tvar p = new DexiePromise(function (resolve, reject) {\n\t\t\t\tvar rv = fn(resolve, reject, _this);\n\t\t\t\tif (rv && rv.then)\n\t\t\t\t\trv.then(resolve, reject);\n\t\t\t});\n\t\t\tp._lib = true;\n\t\t\treturn p;\n\t\t}\n\t};\n\tTransaction.prototype._root = function () {\n\t\treturn this.parent ? this.parent._root() : this;\n\t};\n\tTransaction.prototype.waitFor = function (promiseLike) {\n\t\tvar root = this._root();\n\t\tvar promise = DexiePromise.resolve(promiseLike);\n\t\tif (root._waitingFor) {\n\t\t\troot._waitingFor = root._waitingFor.then(function () { return promise; });\n\t\t}\n\t\telse {\n\t\t\troot._waitingFor = promise;\n\t\t\troot._waitingQueue = [];\n\t\t\tvar store = root.idbtrans.objectStore(root.storeNames[0]);\n\t\t\t(function spin() {\n\t\t\t\t++root._spinCount;\n\t\t\t\twhile (root._waitingQueue.length)\n\t\t\t\t\t(root._waitingQueue.shift())();\n\t\t\t\tif (root._waitingFor)\n\t\t\t\t\tstore.get(-Infinity).onsuccess = spin;\n\t\t\t}());\n\t\t}\n\t\tvar currentWaitPromise = root._waitingFor;\n\t\treturn new DexiePromise(function (resolve, reject) {\n\t\t\tpromise.then(function (res) { return root._waitingQueue.push(wrap(resolve.bind(null, res))); }, function (err) { return root._waitingQueue.push(wrap(reject.bind(null, err))); }).finally(function () {\n\t\t\t\tif (root._waitingFor === currentWaitPromise) {\n\t\t\t\t\troot._waitingFor = null;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t};\n\tTransaction.prototype.abort = function () {\n\t\tif (this.active) {\n\t\t\tthis.active = false;\n\t\t\tif (this.idbtrans)\n\t\t\t\tthis.idbtrans.abort();\n\t\t\tthis._reject(new exceptions.Abort());\n\t\t}\n\t};\n\tTransaction.prototype.table = function (tableName) {\n\t\tvar memoizedTables = (this._memoizedTables || (this._memoizedTables = {}));\n\t\tif (hasOwn(memoizedTables, tableName))\n\t\t\treturn memoizedTables[tableName];\n\t\tvar tableSchema = this.schema[tableName];\n\t\tif (!tableSchema) {\n\t\t\tthrow new exceptions.NotFound(\"Table \" + tableName + \" not part of transaction\");\n\t\t}\n\t\tvar transactionBoundTable = new this.db.Table(tableName, tableSchema, this);\n\t\ttransactionBoundTable.core = this.db.core.table(tableName);\n\t\tmemoizedTables[tableName] = transactionBoundTable;\n\t\treturn transactionBoundTable;\n\t};\n\treturn Transaction;\n}());\n\nfunction createTransactionConstructor(db) {\n\treturn makeClassConstructor(Transaction.prototype, function Transaction(mode, storeNames, dbschema, chromeTransactionDurability, parent) {\n\t\tvar _this = this;\n\t\tthis.db = db;\n\t\tthis.mode = mode;\n\t\tthis.storeNames = storeNames;\n\t\tthis.schema = dbschema;\n\t\tthis.chromeTransactionDurability = chromeTransactionDurability;\n\t\tthis.idbtrans = null;\n\t\tthis.on = Events(this, \"complete\", \"error\", \"abort\");\n\t\tthis.parent = parent || null;\n\t\tthis.active = true;\n\t\tthis._reculock = 0;\n\t\tthis._blockedFuncs = [];\n\t\tthis._resolve = null;\n\t\tthis._reject = null;\n\t\tthis._waitingFor = null;\n\t\tthis._waitingQueue = null;\n\t\tthis._spinCount = 0;\n\t\tthis._completion = new DexiePromise(function (resolve, reject) {\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._reject = reject;\n\t\t});\n\t\tthis._completion.then(function () {\n\t\t\t_this.active = false;\n\t\t\t_this.on.complete.fire();\n\t\t}, function (e) {\n\t\t\tvar wasActive = _this.active;\n\t\t\t_this.active = false;\n\t\t\t_this.on.error.fire(e);\n\t\t\t_this.parent ?\n\t\t\t\t_this.parent._reject(e) :\n\t\t\t\twasActive && _this.idbtrans && _this.idbtrans.abort();\n\t\t\treturn rejection(e);\n\t\t});\n\t});\n}\n\nfunction createIndexSpec(name, keyPath, unique, multi, auto, compound, isPrimKey) {\n\treturn {\n\t\tname: name,\n\t\tkeyPath: keyPath,\n\t\tunique: unique,\n\t\tmulti: multi,\n\t\tauto: auto,\n\t\tcompound: compound,\n\t\tsrc: (unique && !isPrimKey ? '&' : '') + (multi ? '*' : '') + (auto ? \"++\" : \"\") + nameFromKeyPath(keyPath)\n\t};\n}\nfunction nameFromKeyPath(keyPath) {\n\treturn typeof keyPath === 'string' ?\n\t\tkeyPath :\n\t\tkeyPath ? ('[' + [].join.call(keyPath, '+') + ']') : \"\";\n}\n\nfunction createTableSchema(name, primKey, indexes) {\n\treturn {\n\t\tname: name,\n\t\tprimKey: primKey,\n\t\tindexes: indexes,\n\t\tmappedClass: null,\n\t\tidxByName: arrayToObject(indexes, function (index) { return [index.name, index]; })\n\t};\n}\n\nfunction safariMultiStoreFix(storeNames) {\n\treturn storeNames.length === 1 ? storeNames[0] : storeNames;\n}\nvar getMaxKey = function (IdbKeyRange) {\n\ttry {\n\t\tIdbKeyRange.only([[]]);\n\t\tgetMaxKey = function () { return [[]]; };\n\t\treturn [[]];\n\t}\n\tcatch (e) {\n\t\tgetMaxKey = function () { return maxString; };\n\t\treturn maxString;\n\t}\n};\n\nfunction getKeyExtractor(keyPath) {\n\tif (keyPath == null) {\n\t\treturn function () { return undefined; };\n\t}\n\telse if (typeof keyPath === 'string') {\n\t\treturn getSinglePathKeyExtractor(keyPath);\n\t}\n\telse {\n\t\treturn function (obj) { return getByKeyPath(obj, keyPath); };\n\t}\n}\nfunction getSinglePathKeyExtractor(keyPath) {\n\tvar split = keyPath.split('.');\n\tif (split.length === 1) {\n\t\treturn function (obj) { return obj[keyPath]; };\n\t}\n\telse {\n\t\treturn function (obj) { return getByKeyPath(obj, keyPath); };\n\t}\n}\n\nfunction arrayify(arrayLike) {\n\treturn [].slice.call(arrayLike);\n}\nvar _id_counter = 0;\nfunction getKeyPathAlias(keyPath) {\n\treturn keyPath == null ?\n\t\t\":id\" :\n\t\ttypeof keyPath === 'string' ?\n\t\t\tkeyPath :\n\t\t\t\"[\" + keyPath.join('+') + \"]\";\n}\nfunction createDBCore(db, IdbKeyRange, tmpTrans) {\n\tfunction extractSchema(db, trans) {\n\t\tvar tables = arrayify(db.objectStoreNames);\n\t\treturn {\n\t\t\tschema: {\n\t\t\t\tname: db.name,\n\t\t\t\ttables: tables.map(function (table) { return trans.objectStore(table); }).map(function (store) {\n\t\t\t\t\tvar keyPath = store.keyPath, autoIncrement = store.autoIncrement;\n\t\t\t\t\tvar compound = isArray(keyPath);\n\t\t\t\t\tvar outbound = keyPath == null;\n\t\t\t\t\tvar indexByKeyPath = {};\n\t\t\t\t\tvar result = {\n\t\t\t\t\t\tname: store.name,\n\t\t\t\t\t\tprimaryKey: {\n\t\t\t\t\t\t\tname: null,\n\t\t\t\t\t\t\tisPrimaryKey: true,\n\t\t\t\t\t\t\toutbound: outbound,\n\t\t\t\t\t\t\tcompound: compound,\n\t\t\t\t\t\t\tkeyPath: keyPath,\n\t\t\t\t\t\t\tautoIncrement: autoIncrement,\n\t\t\t\t\t\t\tunique: true,\n\t\t\t\t\t\t\textractKey: getKeyExtractor(keyPath)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tindexes: arrayify(store.indexNames).map(function (indexName) { return store.index(indexName); })\n\t\t\t\t\t\t\t.map(function (index) {\n\t\t\t\t\t\t\t\tvar name = index.name, unique = index.unique, multiEntry = index.multiEntry, keyPath = index.keyPath;\n\t\t\t\t\t\t\t\tvar compound = isArray(keyPath);\n\t\t\t\t\t\t\t\tvar result = {\n\t\t\t\t\t\t\t\t\tname: name,\n\t\t\t\t\t\t\t\t\tcompound: compound,\n\t\t\t\t\t\t\t\t\tkeyPath: keyPath,\n\t\t\t\t\t\t\t\t\tunique: unique,\n\t\t\t\t\t\t\t\t\tmultiEntry: multiEntry,\n\t\t\t\t\t\t\t\t\textractKey: getKeyExtractor(keyPath)\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tindexByKeyPath[getKeyPathAlias(keyPath)] = result;\n\t\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\tgetIndexByKeyPath: function (keyPath) { return indexByKeyPath[getKeyPathAlias(keyPath)]; }\n\t\t\t\t\t};\n\t\t\t\t\tindexByKeyPath[\":id\"] = result.primaryKey;\n\t\t\t\t\tif (keyPath != null) {\n\t\t\t\t\t\tindexByKeyPath[getKeyPathAlias(keyPath)] = result.primaryKey;\n\t\t\t\t\t}\n\t\t\t\t\treturn result;\n\t\t\t\t})\n\t\t\t},\n\t\t\thasGetAll: tables.length > 0 && ('getAll' in trans.objectStore(tables[0])) &&\n\t\t\t\t!(typeof navigator !== 'undefined' && /Safari/.test(navigator.userAgent) &&\n\t\t\t\t\t!/(Chrome\\/|Edge\\/)/.test(navigator.userAgent) &&\n\t\t\t\t\t[].concat(navigator.userAgent.match(/Safari\\/(\\d*)/))[1] < 604)\n\t\t};\n\t}\n\tfunction makeIDBKeyRange(range) {\n\t\tif (range.type === 3 )\n\t\t\treturn null;\n\t\tif (range.type === 4 )\n\t\t\tthrow new Error(\"Cannot convert never type to IDBKeyRange\");\n\t\tvar lower = range.lower, upper = range.upper, lowerOpen = range.lowerOpen, upperOpen = range.upperOpen;\n\t\tvar idbRange = lower === undefined ?\n\t\t\tupper === undefined ?\n\t\t\t\tnull :\n\t\t\t\tIdbKeyRange.upperBound(upper, !!upperOpen) :\n\t\t\tupper === undefined ?\n\t\t\t\tIdbKeyRange.lowerBound(lower, !!lowerOpen) :\n\t\t\t\tIdbKeyRange.bound(lower, upper, !!lowerOpen, !!upperOpen);\n\t\treturn idbRange;\n\t}\n\tfunction createDbCoreTable(tableSchema) {\n\t\tvar tableName = tableSchema.name;\n\t\tfunction mutate(_a) {\n\t\t\tvar trans = _a.trans, type = _a.type, keys = _a.keys, values = _a.values, range = _a.range;\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tresolve = wrap(resolve);\n\t\t\t\tvar store = trans.objectStore(tableName);\n\t\t\t\tvar outbound = store.keyPath == null;\n\t\t\t\tvar isAddOrPut = type === \"put\" || type === \"add\";\n\t\t\t\tif (!isAddOrPut && type !== 'delete' && type !== 'deleteRange')\n\t\t\t\t\tthrow new Error(\"Invalid operation type: \" + type);\n\t\t\t\tvar length = (keys || values || { length: 1 }).length;\n\t\t\t\tif (keys && values && keys.length !== values.length) {\n\t\t\t\t\tthrow new Error(\"Given keys array must have same length as given values array.\");\n\t\t\t\t}\n\t\t\t\tif (length === 0)\n\t\t\t\t\treturn resolve({ numFailures: 0, failures: {}, results: [], lastResult: undefined });\n\t\t\t\tvar req;\n\t\t\t\tvar reqs = [];\n\t\t\t\tvar failures = [];\n\t\t\t\tvar numFailures = 0;\n\t\t\t\tvar errorHandler = function (event) {\n\t\t\t\t\t++numFailures;\n\t\t\t\t\tpreventDefault(event);\n\t\t\t\t};\n\t\t\t\tif (type === 'deleteRange') {\n\t\t\t\t\tif (range.type === 4 )\n\t\t\t\t\t\treturn resolve({ numFailures: numFailures, failures: failures, results: [], lastResult: undefined });\n\t\t\t\t\tif (range.type === 3 )\n\t\t\t\t\t\treqs.push(req = store.clear());\n\t\t\t\t\telse\n\t\t\t\t\t\treqs.push(req = store.delete(makeIDBKeyRange(range)));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tvar _a = isAddOrPut ?\n\t\t\t\t\t\toutbound ?\n\t\t\t\t\t\t\t[values, keys] :\n\t\t\t\t\t\t\t[values, null] :\n\t\t\t\t\t\t[keys, null], args1 = _a[0], args2 = _a[1];\n\t\t\t\t\tif (isAddOrPut) {\n\t\t\t\t\t\tfor (var i = 0; i < length; ++i) {\n\t\t\t\t\t\t\treqs.push(req = (args2 && args2[i] !== undefined ?\n\t\t\t\t\t\t\t\tstore[type](args1[i], args2[i]) :\n\t\t\t\t\t\t\t\tstore[type](args1[i])));\n\t\t\t\t\t\t\treq.onerror = errorHandler;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tfor (var i = 0; i < length; ++i) {\n\t\t\t\t\t\t\treqs.push(req = store[type](args1[i]));\n\t\t\t\t\t\t\treq.onerror = errorHandler;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar done = function (event) {\n\t\t\t\t\tvar lastResult = event.target.result;\n\t\t\t\t\treqs.forEach(function (req, i) { return req.error != null && (failures[i] = req.error); });\n\t\t\t\t\tresolve({\n\t\t\t\t\t\tnumFailures: numFailures,\n\t\t\t\t\t\tfailures: failures,\n\t\t\t\t\t\tresults: type === \"delete\" ? keys : reqs.map(function (req) { return req.result; }),\n\t\t\t\t\t\tlastResult: lastResult\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t\treq.onerror = function (event) {\n\t\t\t\t\terrorHandler(event);\n\t\t\t\t\tdone(event);\n\t\t\t\t};\n\t\t\t\treq.onsuccess = done;\n\t\t\t});\n\t\t}\n\t\tfunction openCursor(_a) {\n\t\t\tvar trans = _a.trans, values = _a.values, query = _a.query, reverse = _a.reverse, unique = _a.unique;\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tresolve = wrap(resolve);\n\t\t\t\tvar index = query.index, range = query.range;\n\t\t\t\tvar store = trans.objectStore(tableName);\n\t\t\t\tvar source = index.isPrimaryKey ?\n\t\t\t\t\tstore :\n\t\t\t\t\tstore.index(index.name);\n\t\t\t\tvar direction = reverse ?\n\t\t\t\t\tunique ?\n\t\t\t\t\t\t\"prevunique\" :\n\t\t\t\t\t\t\"prev\" :\n\t\t\t\t\tunique ?\n\t\t\t\t\t\t\"nextunique\" :\n\t\t\t\t\t\t\"next\";\n\t\t\t\tvar req = values || !('openKeyCursor' in source) ?\n\t\t\t\t\tsource.openCursor(makeIDBKeyRange(range), direction) :\n\t\t\t\t\tsource.openKeyCursor(makeIDBKeyRange(range), direction);\n\t\t\t\treq.onerror = eventRejectHandler(reject);\n\t\t\t\treq.onsuccess = wrap(function (ev) {\n\t\t\t\t\tvar cursor = req.result;\n\t\t\t\t\tif (!cursor) {\n\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tcursor.___id = ++_id_counter;\n\t\t\t\t\tcursor.done = false;\n\t\t\t\t\tvar _cursorContinue = cursor.continue.bind(cursor);\n\t\t\t\t\tvar _cursorContinuePrimaryKey = cursor.continuePrimaryKey;\n\t\t\t\t\tif (_cursorContinuePrimaryKey)\n\t\t\t\t\t\t_cursorContinuePrimaryKey = _cursorContinuePrimaryKey.bind(cursor);\n\t\t\t\t\tvar _cursorAdvance = cursor.advance.bind(cursor);\n\t\t\t\t\tvar doThrowCursorIsNotStarted = function () { throw new Error(\"Cursor not started\"); };\n\t\t\t\t\tvar doThrowCursorIsStopped = function () { throw new Error(\"Cursor not stopped\"); };\n\t\t\t\t\tcursor.trans = trans;\n\t\t\t\t\tcursor.stop = cursor.continue = cursor.continuePrimaryKey = cursor.advance = doThrowCursorIsNotStarted;\n\t\t\t\t\tcursor.fail = wrap(reject);\n\t\t\t\t\tcursor.next = function () {\n\t\t\t\t\t\tvar _this = this;\n\t\t\t\t\t\tvar gotOne = 1;\n\t\t\t\t\t\treturn this.start(function () { return gotOne-- ? _this.continue() : _this.stop(); }).then(function () { return _this; });\n\t\t\t\t\t};\n\t\t\t\t\tcursor.start = function (callback) {\n\t\t\t\t\t\tvar iterationPromise = new Promise(function (resolveIteration, rejectIteration) {\n\t\t\t\t\t\t\tresolveIteration = wrap(resolveIteration);\n\t\t\t\t\t\t\treq.onerror = eventRejectHandler(rejectIteration);\n\t\t\t\t\t\t\tcursor.fail = rejectIteration;\n\t\t\t\t\t\t\tcursor.stop = function (value) {\n\t\t\t\t\t\t\t\tcursor.stop = cursor.continue = cursor.continuePrimaryKey = cursor.advance = doThrowCursorIsStopped;\n\t\t\t\t\t\t\t\tresolveIteration(value);\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t\tvar guardedCallback = function () {\n\t\t\t\t\t\t\tif (req.result) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tcallback();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (err) {\n\t\t\t\t\t\t\t\t\tcursor.fail(err);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tcursor.done = true;\n\t\t\t\t\t\t\t\tcursor.start = function () { throw new Error(\"Cursor behind last entry\"); };\n\t\t\t\t\t\t\t\tcursor.stop();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t\treq.onsuccess = wrap(function (ev) {\n\t\t\t\t\t\t\treq.onsuccess = guardedCallback;\n\t\t\t\t\t\t\tguardedCallback();\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcursor.continue = _cursorContinue;\n\t\t\t\t\t\tcursor.continuePrimaryKey = _cursorContinuePrimaryKey;\n\t\t\t\t\t\tcursor.advance = _cursorAdvance;\n\t\t\t\t\t\tguardedCallback();\n\t\t\t\t\t\treturn iterationPromise;\n\t\t\t\t\t};\n\t\t\t\t\tresolve(cursor);\n\t\t\t\t}, reject);\n\t\t\t});\n\t\t}\n\t\tfunction query(hasGetAll) {\n\t\t\treturn function (request) {\n\t\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\t\tresolve = wrap(resolve);\n\t\t\t\t\tvar trans = request.trans, values = request.values, limit = request.limit, query = request.query;\n\t\t\t\t\tvar nonInfinitLimit = limit === Infinity ? undefined : limit;\n\t\t\t\t\tvar index = query.index, range = query.range;\n\t\t\t\t\tvar store = trans.objectStore(tableName);\n\t\t\t\t\tvar source = index.isPrimaryKey ? store : store.index(index.name);\n\t\t\t\t\tvar idbKeyRange = makeIDBKeyRange(range);\n\t\t\t\t\tif (limit === 0)\n\t\t\t\t\t\treturn resolve({ result: [] });\n\t\t\t\t\tif (hasGetAll) {\n\t\t\t\t\t\tvar req = values ?\n\t\t\t\t\t\t\tsource.getAll(idbKeyRange, nonInfinitLimit) :\n\t\t\t\t\t\t\tsource.getAllKeys(idbKeyRange, nonInfinitLimit);\n\t\t\t\t\t\treq.onsuccess = function (event) { return resolve({ result: event.target.result }); };\n\t\t\t\t\t\treq.onerror = eventRejectHandler(reject);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvar count_1 = 0;\n\t\t\t\t\t\tvar req_1 = values || !('openKeyCursor' in source) ?\n\t\t\t\t\t\t\tsource.openCursor(idbKeyRange) :\n\t\t\t\t\t\t\tsource.openKeyCursor(idbKeyRange);\n\t\t\t\t\t\tvar result_1 = [];\n\t\t\t\t\t\treq_1.onsuccess = function (event) {\n\t\t\t\t\t\t\tvar cursor = req_1.result;\n\t\t\t\t\t\t\tif (!cursor)\n\t\t\t\t\t\t\t\treturn resolve({ result: result_1 });\n\t\t\t\t\t\t\tresult_1.push(values ? cursor.value : cursor.primaryKey);\n\t\t\t\t\t\t\tif (++count_1 === limit)\n\t\t\t\t\t\t\t\treturn resolve({ result: result_1 });\n\t\t\t\t\t\t\tcursor.continue();\n\t\t\t\t\t\t};\n\t\t\t\t\t\treq_1.onerror = eventRejectHandler(reject);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tname: tableName,\n\t\t\tschema: tableSchema,\n\t\t\tmutate: mutate,\n\t\t\tgetMany: function (_a) {\n\t\t\t\tvar trans = _a.trans, keys = _a.keys;\n\t\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\t\tresolve = wrap(resolve);\n\t\t\t\t\tvar store = trans.objectStore(tableName);\n\t\t\t\t\tvar length = keys.length;\n\t\t\t\t\tvar result = new Array(length);\n\t\t\t\t\tvar keyCount = 0;\n\t\t\t\t\tvar callbackCount = 0;\n\t\t\t\t\tvar req;\n\t\t\t\t\tvar successHandler = function (event) {\n\t\t\t\t\t\tvar req = event.target;\n\t\t\t\t\t\tif ((result[req._pos] = req.result) != null)\n\t\t\t\t\t\t\t;\n\t\t\t\t\t\tif (++callbackCount === keyCount)\n\t\t\t\t\t\t\tresolve(result);\n\t\t\t\t\t};\n\t\t\t\t\tvar errorHandler = eventRejectHandler(reject);\n\t\t\t\t\tfor (var i = 0; i < length; ++i) {\n\t\t\t\t\t\tvar key = keys[i];\n\t\t\t\t\t\tif (key != null) {\n\t\t\t\t\t\t\treq = store.get(keys[i]);\n\t\t\t\t\t\t\treq._pos = i;\n\t\t\t\t\t\t\treq.onsuccess = successHandler;\n\t\t\t\t\t\t\treq.onerror = errorHandler;\n\t\t\t\t\t\t\t++keyCount;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (keyCount === 0)\n\t\t\t\t\t\tresolve(result);\n\t\t\t\t});\n\t\t\t},\n\t\t\tget: function (_a) {\n\t\t\t\tvar trans = _a.trans, key = _a.key;\n\t\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\t\tresolve = wrap(resolve);\n\t\t\t\t\tvar store = trans.objectStore(tableName);\n\t\t\t\t\tvar req = store.get(key);\n\t\t\t\t\treq.onsuccess = function (event) { return resolve(event.target.result); };\n\t\t\t\t\treq.onerror = eventRejectHandler(reject);\n\t\t\t\t});\n\t\t\t},\n\t\t\tquery: query(hasGetAll),\n\t\t\topenCursor: openCursor,\n\t\t\tcount: function (_a) {\n\t\t\t\tvar query = _a.query, trans = _a.trans;\n\t\t\t\tvar index = query.index, range = query.range;\n\t\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\t\tvar store = trans.objectStore(tableName);\n\t\t\t\t\tvar source = index.isPrimaryKey ? store : store.index(index.name);\n\t\t\t\t\tvar idbKeyRange = makeIDBKeyRange(range);\n\t\t\t\t\tvar req = idbKeyRange ? source.count(idbKeyRange) : source.count();\n\t\t\t\t\treq.onsuccess = wrap(function (ev) { return resolve(ev.target.result); });\n\t\t\t\t\treq.onerror = eventRejectHandler(reject);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t}\n\tvar _a = extractSchema(db, tmpTrans), schema = _a.schema, hasGetAll = _a.hasGetAll;\n\tvar tables = schema.tables.map(function (tableSchema) { return createDbCoreTable(tableSchema); });\n\tvar tableMap = {};\n\ttables.forEach(function (table) { return tableMap[table.name] = table; });\n\treturn {\n\t\tstack: \"dbcore\",\n\t\ttransaction: db.transaction.bind(db),\n\t\ttable: function (name) {\n\t\t\tvar result = tableMap[name];\n\t\t\tif (!result)\n\t\t\t\tthrow new Error(\"Table '\" + name + \"' not found\");\n\t\t\treturn tableMap[name];\n\t\t},\n\t\tMIN_KEY: -Infinity,\n\t\tMAX_KEY: getMaxKey(IdbKeyRange),\n\t\tschema: schema\n\t};\n}\n\nfunction createMiddlewareStack(stackImpl, middlewares) {\n\treturn middlewares.reduce(function (down, _a) {\n\t\tvar create = _a.create;\n\t\treturn (__assign(__assign({}, down), create(down)));\n\t}, stackImpl);\n}\nfunction createMiddlewareStacks(middlewares, idbdb, _a, tmpTrans) {\n\tvar IDBKeyRange = _a.IDBKeyRange; _a.indexedDB;\n\tvar dbcore = createMiddlewareStack(createDBCore(idbdb, IDBKeyRange, tmpTrans), middlewares.dbcore);\n\treturn {\n\t\tdbcore: dbcore\n\t};\n}\nfunction generateMiddlewareStacks(_a, tmpTrans) {\n\tvar db = _a._novip;\n\tvar idbdb = tmpTrans.db;\n\tvar stacks = createMiddlewareStacks(db._middlewares, idbdb, db._deps, tmpTrans);\n\tdb.core = stacks.dbcore;\n\tdb.tables.forEach(function (table) {\n\t\tvar tableName = table.name;\n\t\tif (db.core.schema.tables.some(function (tbl) { return tbl.name === tableName; })) {\n\t\t\ttable.core = db.core.table(tableName);\n\t\t\tif (db[tableName] instanceof db.Table) {\n\t\t\t\tdb[tableName].core = table.core;\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction setApiOnPlace(_a, objs, tableNames, dbschema) {\n\tvar db = _a._novip;\n\ttableNames.forEach(function (tableName) {\n\t\tvar schema = dbschema[tableName];\n\t\tobjs.forEach(function (obj) {\n\t\t\tvar propDesc = getPropertyDescriptor(obj, tableName);\n\t\t\tif (!propDesc || (\"value\" in propDesc && propDesc.value === undefined)) {\n\t\t\t\tif (obj === db.Transaction.prototype || obj instanceof db.Transaction) {\n\t\t\t\t\tsetProp(obj, tableName, {\n\t\t\t\t\t\tget: function () { return this.table(tableName); },\n\t\t\t\t\t\tset: function (value) {\n\t\t\t\t\t\t\tdefineProperty(this, tableName, { value: value, writable: true, configurable: true, enumerable: true });\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tobj[tableName] = new db.Table(tableName, schema);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n}\nfunction removeTablesApi(_a, objs) {\n\tvar db = _a._novip;\n\tobjs.forEach(function (obj) {\n\t\tfor (var key in obj) {\n\t\t\tif (obj[key] instanceof db.Table)\n\t\t\t\tdelete obj[key];\n\t\t}\n\t});\n}\nfunction lowerVersionFirst(a, b) {\n\treturn a._cfg.version - b._cfg.version;\n}\nfunction runUpgraders(db, oldVersion, idbUpgradeTrans, reject) {\n\tvar globalSchema = db._dbSchema;\n\tvar trans = db._createTransaction('readwrite', db._storeNames, globalSchema);\n\ttrans.create(idbUpgradeTrans);\n\ttrans._completion.catch(reject);\n\tvar rejectTransaction = trans._reject.bind(trans);\n\tvar transless = PSD.transless || PSD;\n\tnewScope(function () {\n\t\tPSD.trans = trans;\n\t\tPSD.transless = transless;\n\t\tif (oldVersion === 0) {\n\t\t\tkeys(globalSchema).forEach(function (tableName) {\n\t\t\t\tcreateTable(idbUpgradeTrans, tableName, globalSchema[tableName].primKey, globalSchema[tableName].indexes);\n\t\t\t});\n\t\t\tgenerateMiddlewareStacks(db, idbUpgradeTrans);\n\t\t\tDexiePromise.follow(function () { return db.on.populate.fire(trans); }).catch(rejectTransaction);\n\t\t}\n\t\telse\n\t\t\tupdateTablesAndIndexes(db, oldVersion, trans, idbUpgradeTrans).catch(rejectTransaction);\n\t});\n}\nfunction updateTablesAndIndexes(_a, oldVersion, trans, idbUpgradeTrans) {\n\tvar db = _a._novip;\n\tvar queue = [];\n\tvar versions = db._versions;\n\tvar globalSchema = db._dbSchema = buildGlobalSchema(db, db.idbdb, idbUpgradeTrans);\n\tvar anyContentUpgraderHasRun = false;\n\tvar versToRun = versions.filter(function (v) { return v._cfg.version >= oldVersion; });\n\tversToRun.forEach(function (version) {\n\t\tqueue.push(function () {\n\t\t\tvar oldSchema = globalSchema;\n\t\t\tvar newSchema = version._cfg.dbschema;\n\t\t\tadjustToExistingIndexNames(db, oldSchema, idbUpgradeTrans);\n\t\t\tadjustToExistingIndexNames(db, newSchema, idbUpgradeTrans);\n\t\t\tglobalSchema = db._dbSchema = newSchema;\n\t\t\tvar diff = getSchemaDiff(oldSchema, newSchema);\n\t\t\tdiff.add.forEach(function (tuple) {\n\t\t\t\tcreateTable(idbUpgradeTrans, tuple[0], tuple[1].primKey, tuple[1].indexes);\n\t\t\t});\n\t\t\tdiff.change.forEach(function (change) {\n\t\t\t\tif (change.recreate) {\n\t\t\t\t\tthrow new exceptions.Upgrade(\"Not yet support for changing primary key\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tvar store_1 = idbUpgradeTrans.objectStore(change.name);\n\t\t\t\t\tchange.add.forEach(function (idx) { return addIndex(store_1, idx); });\n\t\t\t\t\tchange.change.forEach(function (idx) {\n\t\t\t\t\t\tstore_1.deleteIndex(idx.name);\n\t\t\t\t\t\taddIndex(store_1, idx);\n\t\t\t\t\t});\n\t\t\t\t\tchange.del.forEach(function (idxName) { return store_1.deleteIndex(idxName); });\n\t\t\t\t}\n\t\t\t});\n\t\t\tvar contentUpgrade = version._cfg.contentUpgrade;\n\t\t\tif (contentUpgrade && version._cfg.version > oldVersion) {\n\t\t\t\tgenerateMiddlewareStacks(db, idbUpgradeTrans);\n\t\t\t\ttrans._memoizedTables = {};\n\t\t\t\tanyContentUpgraderHasRun = true;\n\t\t\t\tvar upgradeSchema_1 = shallowClone(newSchema);\n\t\t\t\tdiff.del.forEach(function (table) {\n\t\t\t\t\tupgradeSchema_1[table] = oldSchema[table];\n\t\t\t\t});\n\t\t\t\tremoveTablesApi(db, [db.Transaction.prototype]);\n\t\t\t\tsetApiOnPlace(db, [db.Transaction.prototype], keys(upgradeSchema_1), upgradeSchema_1);\n\t\t\t\ttrans.schema = upgradeSchema_1;\n\t\t\t\tvar contentUpgradeIsAsync_1 = isAsyncFunction(contentUpgrade);\n\t\t\t\tif (contentUpgradeIsAsync_1) {\n\t\t\t\t\tincrementExpectedAwaits();\n\t\t\t\t}\n\t\t\t\tvar returnValue_1;\n\t\t\t\tvar promiseFollowed = DexiePromise.follow(function () {\n\t\t\t\t\treturnValue_1 = contentUpgrade(trans);\n\t\t\t\t\tif (returnValue_1) {\n\t\t\t\t\t\tif (contentUpgradeIsAsync_1) {\n\t\t\t\t\t\t\tvar decrementor = decrementExpectedAwaits.bind(null, null);\n\t\t\t\t\t\t\treturnValue_1.then(decrementor, decrementor);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn (returnValue_1 && typeof returnValue_1.then === 'function' ?\n\t\t\t\t\tDexiePromise.resolve(returnValue_1) : promiseFollowed.then(function () { return returnValue_1; }));\n\t\t\t}\n\t\t});\n\t\tqueue.push(function (idbtrans) {\n\t\t\tif (!anyContentUpgraderHasRun || !hasIEDeleteObjectStoreBug) {\n\t\t\t\tvar newSchema = version._cfg.dbschema;\n\t\t\t\tdeleteRemovedTables(newSchema, idbtrans);\n\t\t\t}\n\t\t\tremoveTablesApi(db, [db.Transaction.prototype]);\n\t\t\tsetApiOnPlace(db, [db.Transaction.prototype], db._storeNames, db._dbSchema);\n\t\t\ttrans.schema = db._dbSchema;\n\t\t});\n\t});\n\tfunction runQueue() {\n\t\treturn queue.length ? DexiePromise.resolve(queue.shift()(trans.idbtrans)).then(runQueue) :\n\t\t\tDexiePromise.resolve();\n\t}\n\treturn runQueue().then(function () {\n\t\tcreateMissingTables(globalSchema, idbUpgradeTrans);\n\t});\n}\nfunction getSchemaDiff(oldSchema, newSchema) {\n\tvar diff = {\n\t\tdel: [],\n\t\tadd: [],\n\t\tchange: []\n\t};\n\tvar table;\n\tfor (table in oldSchema) {\n\t\tif (!newSchema[table])\n\t\t\tdiff.del.push(table);\n\t}\n\tfor (table in newSchema) {\n\t\tvar oldDef = oldSchema[table], newDef = newSchema[table];\n\t\tif (!oldDef) {\n\t\t\tdiff.add.push([table, newDef]);\n\t\t}\n\t\telse {\n\t\t\tvar change = {\n\t\t\t\tname: table,\n\t\t\t\tdef: newDef,\n\t\t\t\trecreate: false,\n\t\t\t\tdel: [],\n\t\t\t\tadd: [],\n\t\t\t\tchange: []\n\t\t\t};\n\t\t\tif ((\n\t\t\t\t\t'' + (oldDef.primKey.keyPath || '')) !== ('' + (newDef.primKey.keyPath || '')) ||\n\t\t\t\t(oldDef.primKey.auto !== newDef.primKey.auto && !isIEOrEdge))\n\t\t\t{\n\t\t\t\tchange.recreate = true;\n\t\t\t\tdiff.change.push(change);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvar oldIndexes = oldDef.idxByName;\n\t\t\t\tvar newIndexes = newDef.idxByName;\n\t\t\t\tvar idxName = void 0;\n\t\t\t\tfor (idxName in oldIndexes) {\n\t\t\t\t\tif (!newIndexes[idxName])\n\t\t\t\t\t\tchange.del.push(idxName);\n\t\t\t\t}\n\t\t\t\tfor (idxName in newIndexes) {\n\t\t\t\t\tvar oldIdx = oldIndexes[idxName], newIdx = newIndexes[idxName];\n\t\t\t\t\tif (!oldIdx)\n\t\t\t\t\t\tchange.add.push(newIdx);\n\t\t\t\t\telse if (oldIdx.src !== newIdx.src)\n\t\t\t\t\t\tchange.change.push(newIdx);\n\t\t\t\t}\n\t\t\t\tif (change.del.length > 0 || change.add.length > 0 || change.change.length > 0) {\n\t\t\t\t\tdiff.change.push(change);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn diff;\n}\nfunction createTable(idbtrans, tableName, primKey, indexes) {\n\tvar store = idbtrans.db.createObjectStore(tableName, primKey.keyPath ?\n\t\t{ keyPath: primKey.keyPath, autoIncrement: primKey.auto } :\n\t\t{ autoIncrement: primKey.auto });\n\tindexes.forEach(function (idx) { return addIndex(store, idx); });\n\treturn store;\n}\nfunction createMissingTables(newSchema, idbtrans) {\n\tkeys(newSchema).forEach(function (tableName) {\n\t\tif (!idbtrans.db.objectStoreNames.contains(tableName)) {\n\t\t\tcreateTable(idbtrans, tableName, newSchema[tableName].primKey, newSchema[tableName].indexes);\n\t\t}\n\t});\n}\nfunction deleteRemovedTables(newSchema, idbtrans) {\n\t[].slice.call(idbtrans.db.objectStoreNames).forEach(function (storeName) {\n\t\treturn newSchema[storeName] == null && idbtrans.db.deleteObjectStore(storeName);\n\t});\n}\nfunction addIndex(store, idx) {\n\tstore.createIndex(idx.name, idx.keyPath, { unique: idx.unique, multiEntry: idx.multi });\n}\nfunction buildGlobalSchema(db, idbdb, tmpTrans) {\n\tvar globalSchema = {};\n\tvar dbStoreNames = slice(idbdb.objectStoreNames, 0);\n\tdbStoreNames.forEach(function (storeName) {\n\t\tvar store = tmpTrans.objectStore(storeName);\n\t\tvar keyPath = store.keyPath;\n\t\tvar primKey = createIndexSpec(nameFromKeyPath(keyPath), keyPath || \"\", false, false, !!store.autoIncrement, keyPath && typeof keyPath !== \"string\", true);\n\t\tvar indexes = [];\n\t\tfor (var j = 0; j < store.indexNames.length; ++j) {\n\t\t\tvar idbindex = store.index(store.indexNames[j]);\n\t\t\tkeyPath = idbindex.keyPath;\n\t\t\tvar index = createIndexSpec(idbindex.name, keyPath, !!idbindex.unique, !!idbindex.multiEntry, false, keyPath && typeof keyPath !== \"string\", false);\n\t\t\tindexes.push(index);\n\t\t}\n\t\tglobalSchema[storeName] = createTableSchema(storeName, primKey, indexes);\n\t});\n\treturn globalSchema;\n}\nfunction readGlobalSchema(_a, idbdb, tmpTrans) {\n\tvar db = _a._novip;\n\tdb.verno = idbdb.version / 10;\n\tvar globalSchema = db._dbSchema = buildGlobalSchema(db, idbdb, tmpTrans);\n\tdb._storeNames = slice(idbdb.objectStoreNames, 0);\n\tsetApiOnPlace(db, [db._allTables], keys(globalSchema), globalSchema);\n}\nfunction verifyInstalledSchema(db, tmpTrans) {\n\tvar installedSchema = buildGlobalSchema(db, db.idbdb, tmpTrans);\n\tvar diff = getSchemaDiff(installedSchema, db._dbSchema);\n\treturn !(diff.add.length || diff.change.some(function (ch) { return ch.add.length || ch.change.length; }));\n}\nfunction adjustToExistingIndexNames(_a, schema, idbtrans) {\n\tvar db = _a._novip;\n\tvar storeNames = idbtrans.db.objectStoreNames;\n\tfor (var i = 0; i < storeNames.length; ++i) {\n\t\tvar storeName = storeNames[i];\n\t\tvar store = idbtrans.objectStore(storeName);\n\t\tdb._hasGetAll = 'getAll' in store;\n\t\tfor (var j = 0; j < store.indexNames.length; ++j) {\n\t\t\tvar indexName = store.indexNames[j];\n\t\t\tvar keyPath = store.index(indexName).keyPath;\n\t\t\tvar dexieName = typeof keyPath === 'string' ? keyPath : \"[\" + slice(keyPath).join('+') + \"]\";\n\t\t\tif (schema[storeName]) {\n\t\t\t\tvar indexSpec = schema[storeName].idxByName[dexieName];\n\t\t\t\tif (indexSpec) {\n\t\t\t\t\tindexSpec.name = indexName;\n\t\t\t\t\tdelete schema[storeName].idxByName[dexieName];\n\t\t\t\t\tschema[storeName].idxByName[indexName] = indexSpec;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif (typeof navigator !== 'undefined' && /Safari/.test(navigator.userAgent) &&\n\t\t!/(Chrome\\/|Edge\\/)/.test(navigator.userAgent) &&\n\t\t_global.WorkerGlobalScope && _global instanceof _global.WorkerGlobalScope &&\n\t\t[].concat(navigator.userAgent.match(/Safari\\/(\\d*)/))[1] < 604) {\n\t\tdb._hasGetAll = false;\n\t}\n}\nfunction parseIndexSyntax(primKeyAndIndexes) {\n\treturn primKeyAndIndexes.split(',').map(function (index, indexNum) {\n\t\tindex = index.trim();\n\t\tvar name = index.replace(/([&*]|\\+\\+)/g, \"\");\n\t\tvar keyPath = /^\\[/.test(name) ? name.match(/^\\[(.*)\\]$/)[1].split('+') : name;\n\t\treturn createIndexSpec(name, keyPath || null, /\\&/.test(index), /\\*/.test(index), /\\+\\+/.test(index), isArray(keyPath), indexNum === 0);\n\t});\n}\n\nvar Version =  (function () {\n\tfunction Version() {\n\t}\n\tVersion.prototype._parseStoresSpec = function (stores, outSchema) {\n\t\tkeys(stores).forEach(function (tableName) {\n\t\t\tif (stores[tableName] !== null) {\n\t\t\t\tvar indexes = parseIndexSyntax(stores[tableName]);\n\t\t\t\tvar primKey = indexes.shift();\n\t\t\t\tif (primKey.multi)\n\t\t\t\t\tthrow new exceptions.Schema(\"Primary key cannot be multi-valued\");\n\t\t\t\tindexes.forEach(function (idx) {\n\t\t\t\t\tif (idx.auto)\n\t\t\t\t\t\tthrow new exceptions.Schema(\"Only primary key can be marked as autoIncrement (++)\");\n\t\t\t\t\tif (!idx.keyPath)\n\t\t\t\t\t\tthrow new exceptions.Schema(\"Index must have a name and cannot be an empty string\");\n\t\t\t\t});\n\t\t\t\toutSchema[tableName] = createTableSchema(tableName, primKey, indexes);\n\t\t\t}\n\t\t});\n\t};\n\tVersion.prototype.stores = function (stores) {\n\t\tvar db = this.db;\n\t\tthis._cfg.storesSource = this._cfg.storesSource ?\n\t\t\textend(this._cfg.storesSource, stores) :\n\t\t\tstores;\n\t\tvar versions = db._versions;\n\t\tvar storesSpec = {};\n\t\tvar dbschema = {};\n\t\tversions.forEach(function (version) {\n\t\t\textend(storesSpec, version._cfg.storesSource);\n\t\t\tdbschema = (version._cfg.dbschema = {});\n\t\t\tversion._parseStoresSpec(storesSpec, dbschema);\n\t\t});\n\t\tdb._dbSchema = dbschema;\n\t\tremoveTablesApi(db, [db._allTables, db, db.Transaction.prototype]);\n\t\tsetApiOnPlace(db, [db._allTables, db, db.Transaction.prototype, this._cfg.tables], keys(dbschema), dbschema);\n\t\tdb._storeNames = keys(dbschema);\n\t\treturn this;\n\t};\n\tVersion.prototype.upgrade = function (upgradeFunction) {\n\t\tthis._cfg.contentUpgrade = promisableChain(this._cfg.contentUpgrade || nop, upgradeFunction);\n\t\treturn this;\n\t};\n\treturn Version;\n}());\n\nfunction createVersionConstructor(db) {\n\treturn makeClassConstructor(Version.prototype, function Version(versionNumber) {\n\t\tthis.db = db;\n\t\tthis._cfg = {\n\t\t\tversion: versionNumber,\n\t\t\tstoresSource: null,\n\t\t\tdbschema: {},\n\t\t\ttables: {},\n\t\t\tcontentUpgrade: null\n\t\t};\n\t});\n}\n\nfunction getDbNamesTable(indexedDB, IDBKeyRange) {\n\tvar dbNamesDB = indexedDB[\"_dbNamesDB\"];\n\tif (!dbNamesDB) {\n\t\tdbNamesDB = indexedDB[\"_dbNamesDB\"] = new Dexie$1(DBNAMES_DB, {\n\t\t\taddons: [],\n\t\t\tindexedDB: indexedDB,\n\t\t\tIDBKeyRange: IDBKeyRange,\n\t\t});\n\t\tdbNamesDB.version(1).stores({ dbnames: \"name\" });\n\t}\n\treturn dbNamesDB.table(\"dbnames\");\n}\nfunction hasDatabasesNative(indexedDB) {\n\treturn indexedDB && typeof indexedDB.databases === \"function\";\n}\nfunction getDatabaseNames(_a) {\n\tvar indexedDB = _a.indexedDB, IDBKeyRange = _a.IDBKeyRange;\n\treturn hasDatabasesNative(indexedDB)\n\t\t? Promise.resolve(indexedDB.databases()).then(function (infos) {\n\t\t\treturn infos\n\t\t\t\t.map(function (info) { return info.name; })\n\t\t\t\t.filter(function (name) { return name !== DBNAMES_DB; });\n\t\t})\n\t\t: getDbNamesTable(indexedDB, IDBKeyRange).toCollection().primaryKeys();\n}\nfunction _onDatabaseCreated(_a, name) {\n\tvar indexedDB = _a.indexedDB, IDBKeyRange = _a.IDBKeyRange;\n\t!hasDatabasesNative(indexedDB) &&\n\tname !== DBNAMES_DB &&\n\tgetDbNamesTable(indexedDB, IDBKeyRange).put({ name: name }).catch(nop);\n}\nfunction _onDatabaseDeleted(_a, name) {\n\tvar indexedDB = _a.indexedDB, IDBKeyRange = _a.IDBKeyRange;\n\t!hasDatabasesNative(indexedDB) &&\n\tname !== DBNAMES_DB &&\n\tgetDbNamesTable(indexedDB, IDBKeyRange).delete(name).catch(nop);\n}\n\nfunction vip(fn) {\n\treturn newScope(function () {\n\t\tPSD.letThrough = true;\n\t\treturn fn();\n\t});\n}\n\nfunction idbReady() {\n\tvar isSafari = !navigator.userAgentData &&\n\t\t/Safari\\//.test(navigator.userAgent) &&\n\t\t!/Chrom(e|ium)\\//.test(navigator.userAgent);\n\tif (!isSafari || !indexedDB.databases)\n\t\treturn Promise.resolve();\n\tvar intervalId;\n\treturn new Promise(function (resolve) {\n\t\tvar tryIdb = function () { return indexedDB.databases().finally(resolve); };\n\t\tintervalId = setInterval(tryIdb, 100);\n\t\ttryIdb();\n\t}).finally(function () { return clearInterval(intervalId); });\n}\n\nfunction dexieOpen(db) {\n\tvar state = db._state;\n\tvar indexedDB = db._deps.indexedDB;\n\tif (state.isBeingOpened || db.idbdb)\n\t\treturn state.dbReadyPromise.then(function () { return state.dbOpenError ?\n\t\t\trejection(state.dbOpenError) :\n\t\t\tdb; });\n\tdebug && (state.openCanceller._stackHolder = getErrorWithStack());\n\tstate.isBeingOpened = true;\n\tstate.dbOpenError = null;\n\tstate.openComplete = false;\n\tvar openCanceller = state.openCanceller;\n\tfunction throwIfCancelled() {\n\t\tif (state.openCanceller !== openCanceller)\n\t\t\tthrow new exceptions.DatabaseClosed('db.open() was cancelled');\n\t}\n\tvar resolveDbReady = state.dbReadyResolve,\n\t\tupgradeTransaction = null, wasCreated = false;\n\treturn DexiePromise.race([openCanceller, (typeof navigator === 'undefined' ? DexiePromise.resolve() : idbReady()).then(function () { return new DexiePromise(function (resolve, reject) {\n\t\tthrowIfCancelled();\n\t\tif (!indexedDB)\n\t\t\tthrow new exceptions.MissingAPI();\n\t\tvar dbName = db.name;\n\t\tvar req = state.autoSchema ?\n\t\t\tindexedDB.open(dbName) :\n\t\t\tindexedDB.open(dbName, Math.round(db.verno * 10));\n\t\tif (!req)\n\t\t\tthrow new exceptions.MissingAPI();\n\t\treq.onerror = eventRejectHandler(reject);\n\t\treq.onblocked = wrap(db._fireOnBlocked);\n\t\treq.onupgradeneeded = wrap(function (e) {\n\t\t\tupgradeTransaction = req.transaction;\n\t\t\tif (state.autoSchema && !db._options.allowEmptyDB) {\n\t\t\t\treq.onerror = preventDefault;\n\t\t\t\tupgradeTransaction.abort();\n\t\t\t\treq.result.close();\n\t\t\t\tvar delreq = indexedDB.deleteDatabase(dbName);\n\t\t\t\tdelreq.onsuccess = delreq.onerror = wrap(function () {\n\t\t\t\t\treject(new exceptions.NoSuchDatabase(\"Database \" + dbName + \" doesnt exist\"));\n\t\t\t\t});\n\t\t\t}\n\t\t\telse {\n\t\t\t\tupgradeTransaction.onerror = eventRejectHandler(reject);\n\t\t\t\tvar oldVer = e.oldVersion > Math.pow(2, 62) ? 0 : e.oldVersion;\n\t\t\t\twasCreated = oldVer < 1;\n\t\t\t\tdb._novip.idbdb = req.result;\n\t\t\t\trunUpgraders(db, oldVer / 10, upgradeTransaction, reject);\n\t\t\t}\n\t\t}, reject);\n\t\treq.onsuccess = wrap(function () {\n\t\t\tupgradeTransaction = null;\n\t\t\tvar idbdb = db._novip.idbdb = req.result;\n\t\t\tvar objectStoreNames = slice(idbdb.objectStoreNames);\n\t\t\tif (objectStoreNames.length > 0)\n\t\t\t\ttry {\n\t\t\t\t\tvar tmpTrans = idbdb.transaction(safariMultiStoreFix(objectStoreNames), 'readonly');\n\t\t\t\t\tif (state.autoSchema)\n\t\t\t\t\t\treadGlobalSchema(db, idbdb, tmpTrans);\n\t\t\t\t\telse {\n\t\t\t\t\t\tadjustToExistingIndexNames(db, db._dbSchema, tmpTrans);\n\t\t\t\t\t\tif (!verifyInstalledSchema(db, tmpTrans)) {\n\t\t\t\t\t\t\tconsole.warn(\"Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tgenerateMiddlewareStacks(db, tmpTrans);\n\t\t\t\t}\n\t\t\t\tcatch (e) {\n\t\t\t\t}\n\t\t\tconnections.push(db);\n\t\t\tidbdb.onversionchange = wrap(function (ev) {\n\t\t\t\tstate.vcFired = true;\n\t\t\t\tdb.on(\"versionchange\").fire(ev);\n\t\t\t});\n\t\t\tidbdb.onclose = wrap(function (ev) {\n\t\t\t\tdb.on(\"close\").fire(ev);\n\t\t\t});\n\t\t\tif (wasCreated)\n\t\t\t\t_onDatabaseCreated(db._deps, dbName);\n\t\t\tresolve();\n\t\t}, reject);\n\t}); })]).then(function () {\n\t\tthrowIfCancelled();\n\t\tstate.onReadyBeingFired = [];\n\t\treturn DexiePromise.resolve(vip(function () { return db.on.ready.fire(db.vip); })).then(function fireRemainders() {\n\t\t\tif (state.onReadyBeingFired.length > 0) {\n\t\t\t\tvar remainders_1 = state.onReadyBeingFired.reduce(promisableChain, nop);\n\t\t\t\tstate.onReadyBeingFired = [];\n\t\t\t\treturn DexiePromise.resolve(vip(function () { return remainders_1(db.vip); })).then(fireRemainders);\n\t\t\t}\n\t\t});\n\t}).finally(function () {\n\t\tstate.onReadyBeingFired = null;\n\t\tstate.isBeingOpened = false;\n\t}).then(function () {\n\t\treturn db;\n\t}).catch(function (err) {\n\t\tstate.dbOpenError = err;\n\t\ttry {\n\t\t\tupgradeTransaction && upgradeTransaction.abort();\n\t\t}\n\t\tcatch (_a) { }\n\t\tif (openCanceller === state.openCanceller) {\n\t\t\tdb._close();\n\t\t}\n\t\treturn rejection(err);\n\t}).finally(function () {\n\t\tstate.openComplete = true;\n\t\tresolveDbReady();\n\t});\n}\n\nfunction awaitIterator(iterator) {\n\tvar callNext = function (result) { return iterator.next(result); }, doThrow = function (error) { return iterator.throw(error); }, onSuccess = step(callNext), onError = step(doThrow);\n\tfunction step(getNext) {\n\t\treturn function (val) {\n\t\t\tvar next = getNext(val), value = next.value;\n\t\t\treturn next.done ? value :\n\t\t\t\t(!value || typeof value.then !== 'function' ?\n\t\t\t\t\tisArray(value) ? Promise.all(value).then(onSuccess, onError) : onSuccess(value) :\n\t\t\t\t\tvalue.then(onSuccess, onError));\n\t\t};\n\t}\n\treturn step(callNext)();\n}\n\nfunction extractTransactionArgs(mode, _tableArgs_, scopeFunc) {\n\tvar i = arguments.length;\n\tif (i < 2)\n\t\tthrow new exceptions.InvalidArgument(\"Too few arguments\");\n\tvar args = new Array(i - 1);\n\twhile (--i)\n\t\targs[i - 1] = arguments[i];\n\tscopeFunc = args.pop();\n\tvar tables = flatten(args);\n\treturn [mode, tables, scopeFunc];\n}\nfunction enterTransactionScope(db, mode, storeNames, parentTransaction, scopeFunc) {\n\treturn DexiePromise.resolve().then(function () {\n\t\tvar transless = PSD.transless || PSD;\n\t\tvar trans = db._createTransaction(mode, storeNames, db._dbSchema, parentTransaction);\n\t\tvar zoneProps = {\n\t\t\ttrans: trans,\n\t\t\ttransless: transless\n\t\t};\n\t\tif (parentTransaction) {\n\t\t\ttrans.idbtrans = parentTransaction.idbtrans;\n\t\t}\n\t\telse {\n\t\t\ttry {\n\t\t\t\ttrans.create();\n\t\t\t\tdb._state.PR1398_maxLoop = 3;\n\t\t\t}\n\t\t\tcatch (ex) {\n\t\t\t\tif (ex.name === errnames.InvalidState && db.isOpen() && --db._state.PR1398_maxLoop > 0) {\n\t\t\t\t\tconsole.warn('Dexie: Need to reopen db');\n\t\t\t\t\tdb._close();\n\t\t\t\t\treturn db.open().then(function () { return enterTransactionScope(db, mode, storeNames, null, scopeFunc); });\n\t\t\t\t}\n\t\t\t\treturn rejection(ex);\n\t\t\t}\n\t\t}\n\t\tvar scopeFuncIsAsync = isAsyncFunction(scopeFunc);\n\t\tif (scopeFuncIsAsync) {\n\t\t\tincrementExpectedAwaits();\n\t\t}\n\t\tvar returnValue;\n\t\tvar promiseFollowed = DexiePromise.follow(function () {\n\t\t\treturnValue = scopeFunc.call(trans, trans);\n\t\t\tif (returnValue) {\n\t\t\t\tif (scopeFuncIsAsync) {\n\t\t\t\t\tvar decrementor = decrementExpectedAwaits.bind(null, null);\n\t\t\t\t\treturnValue.then(decrementor, decrementor);\n\t\t\t\t}\n\t\t\t\telse if (typeof returnValue.next === 'function' && typeof returnValue.throw === 'function') {\n\t\t\t\t\treturnValue = awaitIterator(returnValue);\n\t\t\t\t}\n\t\t\t}\n\t\t}, zoneProps);\n\t\treturn (returnValue && typeof returnValue.then === 'function' ?\n\t\t\tDexiePromise.resolve(returnValue).then(function (x) { return trans.active ?\n\t\t\t\tx\n\t\t\t\t: rejection(new exceptions.PrematureCommit(\"Transaction committed too early. See http://bit.ly/2kdckMn\")); })\n\t\t\t: promiseFollowed.then(function () { return returnValue; })).then(function (x) {\n\t\t\tif (parentTransaction)\n\t\t\t\ttrans._resolve();\n\t\t\treturn trans._completion.then(function () { return x; });\n\t\t}).catch(function (e) {\n\t\t\ttrans._reject(e);\n\t\t\treturn rejection(e);\n\t\t});\n\t});\n}\n\nfunction pad(a, value, count) {\n\tvar result = isArray(a) ? a.slice() : [a];\n\tfor (var i = 0; i < count; ++i)\n\t\tresult.push(value);\n\treturn result;\n}\nfunction createVirtualIndexMiddleware(down) {\n\treturn __assign(__assign({}, down), { table: function (tableName) {\n\t\t\tvar table = down.table(tableName);\n\t\t\tvar schema = table.schema;\n\t\t\tvar indexLookup = {};\n\t\t\tvar allVirtualIndexes = [];\n\t\t\tfunction addVirtualIndexes(keyPath, keyTail, lowLevelIndex) {\n\t\t\t\tvar keyPathAlias = getKeyPathAlias(keyPath);\n\t\t\t\tvar indexList = (indexLookup[keyPathAlias] = indexLookup[keyPathAlias] || []);\n\t\t\t\tvar keyLength = keyPath == null ? 0 : typeof keyPath === 'string' ? 1 : keyPath.length;\n\t\t\t\tvar isVirtual = keyTail > 0;\n\t\t\t\tvar virtualIndex = __assign(__assign({}, lowLevelIndex), { isVirtual: isVirtual, keyTail: keyTail, keyLength: keyLength, extractKey: getKeyExtractor(keyPath), unique: !isVirtual && lowLevelIndex.unique });\n\t\t\t\tindexList.push(virtualIndex);\n\t\t\t\tif (!virtualIndex.isPrimaryKey) {\n\t\t\t\t\tallVirtualIndexes.push(virtualIndex);\n\t\t\t\t}\n\t\t\t\tif (keyLength > 1) {\n\t\t\t\t\tvar virtualKeyPath = keyLength === 2 ?\n\t\t\t\t\t\tkeyPath[0] :\n\t\t\t\t\t\tkeyPath.slice(0, keyLength - 1);\n\t\t\t\t\taddVirtualIndexes(virtualKeyPath, keyTail + 1, lowLevelIndex);\n\t\t\t\t}\n\t\t\t\tindexList.sort(function (a, b) { return a.keyTail - b.keyTail; });\n\t\t\t\treturn virtualIndex;\n\t\t\t}\n\t\t\tvar primaryKey = addVirtualIndexes(schema.primaryKey.keyPath, 0, schema.primaryKey);\n\t\t\tindexLookup[\":id\"] = [primaryKey];\n\t\t\tfor (var _i = 0, _a = schema.indexes; _i < _a.length; _i++) {\n\t\t\t\tvar index = _a[_i];\n\t\t\t\taddVirtualIndexes(index.keyPath, 0, index);\n\t\t\t}\n\t\t\tfunction findBestIndex(keyPath) {\n\t\t\t\tvar result = indexLookup[getKeyPathAlias(keyPath)];\n\t\t\t\treturn result && result[0];\n\t\t\t}\n\t\t\tfunction translateRange(range, keyTail) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: range.type === 1  ?\n\t\t\t\t\t\t2  :\n\t\t\t\t\t\trange.type,\n\t\t\t\t\tlower: pad(range.lower, range.lowerOpen ? down.MAX_KEY : down.MIN_KEY, keyTail),\n\t\t\t\t\tlowerOpen: true,\n\t\t\t\t\tupper: pad(range.upper, range.upperOpen ? down.MIN_KEY : down.MAX_KEY, keyTail),\n\t\t\t\t\tupperOpen: true\n\t\t\t\t};\n\t\t\t}\n\t\t\tfunction translateRequest(req) {\n\t\t\t\tvar index = req.query.index;\n\t\t\t\treturn index.isVirtual ? __assign(__assign({}, req), { query: {\n\t\t\t\t\t\tindex: index,\n\t\t\t\t\t\trange: translateRange(req.query.range, index.keyTail)\n\t\t\t\t\t} }) : req;\n\t\t\t}\n\t\t\tvar result = __assign(__assign({}, table), { schema: __assign(__assign({}, schema), { primaryKey: primaryKey, indexes: allVirtualIndexes, getIndexByKeyPath: findBestIndex }), count: function (req) {\n\t\t\t\t\treturn table.count(translateRequest(req));\n\t\t\t\t}, query: function (req) {\n\t\t\t\t\treturn table.query(translateRequest(req));\n\t\t\t\t}, openCursor: function (req) {\n\t\t\t\t\tvar _a = req.query.index, keyTail = _a.keyTail, isVirtual = _a.isVirtual, keyLength = _a.keyLength;\n\t\t\t\t\tif (!isVirtual)\n\t\t\t\t\t\treturn table.openCursor(req);\n\t\t\t\t\tfunction createVirtualCursor(cursor) {\n\t\t\t\t\t\tfunction _continue(key) {\n\t\t\t\t\t\t\tkey != null ?\n\t\t\t\t\t\t\t\tcursor.continue(pad(key, req.reverse ? down.MAX_KEY : down.MIN_KEY, keyTail)) :\n\t\t\t\t\t\t\t\treq.unique ?\n\t\t\t\t\t\t\t\t\tcursor.continue(cursor.key.slice(0, keyLength)\n\t\t\t\t\t\t\t\t\t\t.concat(req.reverse\n\t\t\t\t\t\t\t\t\t\t\t? down.MIN_KEY\n\t\t\t\t\t\t\t\t\t\t\t: down.MAX_KEY, keyTail)) :\n\t\t\t\t\t\t\t\t\tcursor.continue();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvar virtualCursor = Object.create(cursor, {\n\t\t\t\t\t\t\tcontinue: { value: _continue },\n\t\t\t\t\t\t\tcontinuePrimaryKey: {\n\t\t\t\t\t\t\t\tvalue: function (key, primaryKey) {\n\t\t\t\t\t\t\t\t\tcursor.continuePrimaryKey(pad(key, down.MAX_KEY, keyTail), primaryKey);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tprimaryKey: {\n\t\t\t\t\t\t\t\tget: function () {\n\t\t\t\t\t\t\t\t\treturn cursor.primaryKey;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tkey: {\n\t\t\t\t\t\t\t\tget: function () {\n\t\t\t\t\t\t\t\t\tvar key = cursor.key;\n\t\t\t\t\t\t\t\t\treturn keyLength === 1 ?\n\t\t\t\t\t\t\t\t\t\tkey[0] :\n\t\t\t\t\t\t\t\t\t\tkey.slice(0, keyLength);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\t\tget: function () {\n\t\t\t\t\t\t\t\t\treturn cursor.value;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn virtualCursor;\n\t\t\t\t\t}\n\t\t\t\t\treturn table.openCursor(translateRequest(req))\n\t\t\t\t\t\t.then(function (cursor) { return cursor && createVirtualCursor(cursor); });\n\t\t\t\t} });\n\t\t\treturn result;\n\t\t} });\n}\nvar virtualIndexMiddleware = {\n\tstack: \"dbcore\",\n\tname: \"VirtualIndexMiddleware\",\n\tlevel: 1,\n\tcreate: createVirtualIndexMiddleware\n};\n\nfunction getObjectDiff(a, b, rv, prfx) {\n\trv = rv || {};\n\tprfx = prfx || '';\n\tkeys(a).forEach(function (prop) {\n\t\tif (!hasOwn(b, prop)) {\n\t\t\trv[prfx + prop] = undefined;\n\t\t}\n\t\telse {\n\t\t\tvar ap = a[prop], bp = b[prop];\n\t\t\tif (typeof ap === 'object' && typeof bp === 'object' && ap && bp) {\n\t\t\t\tvar apTypeName = toStringTag(ap);\n\t\t\t\tvar bpTypeName = toStringTag(bp);\n\t\t\t\tif (apTypeName !== bpTypeName) {\n\t\t\t\t\trv[prfx + prop] = b[prop];\n\t\t\t\t}\n\t\t\t\telse if (apTypeName === 'Object') {\n\t\t\t\t\tgetObjectDiff(ap, bp, rv, prfx + prop + '.');\n\t\t\t\t}\n\t\t\t\telse if (ap !== bp) {\n\t\t\t\t\trv[prfx + prop] = b[prop];\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (ap !== bp)\n\t\t\t\trv[prfx + prop] = b[prop];\n\t\t}\n\t});\n\tkeys(b).forEach(function (prop) {\n\t\tif (!hasOwn(a, prop)) {\n\t\t\trv[prfx + prop] = b[prop];\n\t\t}\n\t});\n\treturn rv;\n}\n\nfunction getEffectiveKeys(primaryKey, req) {\n\tif (req.type === 'delete')\n\t\treturn req.keys;\n\treturn req.keys || req.values.map(primaryKey.extractKey);\n}\n\nvar hooksMiddleware = {\n\tstack: \"dbcore\",\n\tname: \"HooksMiddleware\",\n\tlevel: 2,\n\tcreate: function (downCore) { return (__assign(__assign({}, downCore), { table: function (tableName) {\n\t\t\tvar downTable = downCore.table(tableName);\n\t\t\tvar primaryKey = downTable.schema.primaryKey;\n\t\t\tvar tableMiddleware = __assign(__assign({}, downTable), { mutate: function (req) {\n\t\t\t\t\tvar dxTrans = PSD.trans;\n\t\t\t\t\tvar _a = dxTrans.table(tableName).hook, deleting = _a.deleting, creating = _a.creating, updating = _a.updating;\n\t\t\t\t\tswitch (req.type) {\n\t\t\t\t\t\tcase 'add':\n\t\t\t\t\t\t\tif (creating.fire === nop)\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\treturn dxTrans._promise('readwrite', function () { return addPutOrDelete(req); }, true);\n\t\t\t\t\t\tcase 'put':\n\t\t\t\t\t\t\tif (creating.fire === nop && updating.fire === nop)\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\treturn dxTrans._promise('readwrite', function () { return addPutOrDelete(req); }, true);\n\t\t\t\t\t\tcase 'delete':\n\t\t\t\t\t\t\tif (deleting.fire === nop)\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\treturn dxTrans._promise('readwrite', function () { return addPutOrDelete(req); }, true);\n\t\t\t\t\t\tcase 'deleteRange':\n\t\t\t\t\t\t\tif (deleting.fire === nop)\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\treturn dxTrans._promise('readwrite', function () { return deleteRange(req); }, true);\n\t\t\t\t\t}\n\t\t\t\t\treturn downTable.mutate(req);\n\t\t\t\t\tfunction addPutOrDelete(req) {\n\t\t\t\t\t\tvar dxTrans = PSD.trans;\n\t\t\t\t\t\tvar keys = req.keys || getEffectiveKeys(primaryKey, req);\n\t\t\t\t\t\tif (!keys)\n\t\t\t\t\t\t\tthrow new Error(\"Keys missing\");\n\t\t\t\t\t\treq = req.type === 'add' || req.type === 'put' ? __assign(__assign({}, req), { keys: keys }) : __assign({}, req);\n\t\t\t\t\t\tif (req.type !== 'delete')\n\t\t\t\t\t\t\treq.values = __spreadArray([], req.values, true);\n\t\t\t\t\t\tif (req.keys)\n\t\t\t\t\t\t\treq.keys = __spreadArray([], req.keys, true);\n\t\t\t\t\t\treturn getExistingValues(downTable, req, keys).then(function (existingValues) {\n\t\t\t\t\t\t\tvar contexts = keys.map(function (key, i) {\n\t\t\t\t\t\t\t\tvar existingValue = existingValues[i];\n\t\t\t\t\t\t\t\tvar ctx = { onerror: null, onsuccess: null };\n\t\t\t\t\t\t\t\tif (req.type === 'delete') {\n\t\t\t\t\t\t\t\t\tdeleting.fire.call(ctx, key, existingValue, dxTrans);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse if (req.type === 'add' || existingValue === undefined) {\n\t\t\t\t\t\t\t\t\tvar generatedPrimaryKey = creating.fire.call(ctx, key, req.values[i], dxTrans);\n\t\t\t\t\t\t\t\t\tif (key == null && generatedPrimaryKey != null) {\n\t\t\t\t\t\t\t\t\t\tkey = generatedPrimaryKey;\n\t\t\t\t\t\t\t\t\t\treq.keys[i] = key;\n\t\t\t\t\t\t\t\t\t\tif (!primaryKey.outbound) {\n\t\t\t\t\t\t\t\t\t\t\tsetByKeyPath(req.values[i], primaryKey.keyPath, key);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tvar objectDiff = getObjectDiff(existingValue, req.values[i]);\n\t\t\t\t\t\t\t\t\tvar additionalChanges_1 = updating.fire.call(ctx, objectDiff, key, existingValue, dxTrans);\n\t\t\t\t\t\t\t\t\tif (additionalChanges_1) {\n\t\t\t\t\t\t\t\t\t\tvar requestedValue_1 = req.values[i];\n\t\t\t\t\t\t\t\t\t\tObject.keys(additionalChanges_1).forEach(function (keyPath) {\n\t\t\t\t\t\t\t\t\t\t\tif (hasOwn(requestedValue_1, keyPath)) {\n\t\t\t\t\t\t\t\t\t\t\t\trequestedValue_1[keyPath] = additionalChanges_1[keyPath];\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tsetByKeyPath(requestedValue_1, keyPath, additionalChanges_1[keyPath]);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn ctx;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn downTable.mutate(req).then(function (_a) {\n\t\t\t\t\t\t\t\tvar failures = _a.failures, results = _a.results, numFailures = _a.numFailures, lastResult = _a.lastResult;\n\t\t\t\t\t\t\t\tfor (var i = 0; i < keys.length; ++i) {\n\t\t\t\t\t\t\t\t\tvar primKey = results ? results[i] : keys[i];\n\t\t\t\t\t\t\t\t\tvar ctx = contexts[i];\n\t\t\t\t\t\t\t\t\tif (primKey == null) {\n\t\t\t\t\t\t\t\t\t\tctx.onerror && ctx.onerror(failures[i]);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tctx.onsuccess && ctx.onsuccess(req.type === 'put' && existingValues[i] ?\n\t\t\t\t\t\t\t\t\t\t\treq.values[i] :\n\t\t\t\t\t\t\t\t\t\t\tprimKey\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn { failures: failures, results: results, numFailures: numFailures, lastResult: lastResult };\n\t\t\t\t\t\t\t}).catch(function (error) {\n\t\t\t\t\t\t\t\tcontexts.forEach(function (ctx) { return ctx.onerror && ctx.onerror(error); });\n\t\t\t\t\t\t\t\treturn Promise.reject(error);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tfunction deleteRange(req) {\n\t\t\t\t\t\treturn deleteNextChunk(req.trans, req.range, 10000);\n\t\t\t\t\t}\n\t\t\t\t\tfunction deleteNextChunk(trans, range, limit) {\n\t\t\t\t\t\treturn downTable.query({ trans: trans, values: false, query: { index: primaryKey, range: range }, limit: limit })\n\t\t\t\t\t\t\t.then(function (_a) {\n\t\t\t\t\t\t\t\tvar result = _a.result;\n\t\t\t\t\t\t\t\treturn addPutOrDelete({ type: 'delete', keys: result, trans: trans }).then(function (res) {\n\t\t\t\t\t\t\t\t\tif (res.numFailures > 0)\n\t\t\t\t\t\t\t\t\t\treturn Promise.reject(res.failures[0]);\n\t\t\t\t\t\t\t\t\tif (result.length < limit) {\n\t\t\t\t\t\t\t\t\t\treturn { failures: [], numFailures: 0, lastResult: undefined };\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\treturn deleteNextChunk(trans, __assign(__assign({}, range), { lower: result[result.length - 1], lowerOpen: true }), limit);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} });\n\t\t\treturn tableMiddleware;\n\t\t} })); }\n};\nfunction getExistingValues(table, req, effectiveKeys) {\n\treturn req.type === \"add\"\n\t\t? Promise.resolve([])\n\t\t: table.getMany({ trans: req.trans, keys: effectiveKeys, cache: \"immutable\" });\n}\n\nfunction getFromTransactionCache(keys, cache, clone) {\n\ttry {\n\t\tif (!cache)\n\t\t\treturn null;\n\t\tif (cache.keys.length < keys.length)\n\t\t\treturn null;\n\t\tvar result = [];\n\t\tfor (var i = 0, j = 0; i < cache.keys.length && j < keys.length; ++i) {\n\t\t\tif (cmp(cache.keys[i], keys[j]) !== 0)\n\t\t\t\tcontinue;\n\t\t\tresult.push(clone ? deepClone(cache.values[i]) : cache.values[i]);\n\t\t\t++j;\n\t\t}\n\t\treturn result.length === keys.length ? result : null;\n\t}\n\tcatch (_a) {\n\t\treturn null;\n\t}\n}\nvar cacheExistingValuesMiddleware = {\n\tstack: \"dbcore\",\n\tlevel: -1,\n\tcreate: function (core) {\n\t\treturn {\n\t\t\ttable: function (tableName) {\n\t\t\t\tvar table = core.table(tableName);\n\t\t\t\treturn __assign(__assign({}, table), { getMany: function (req) {\n\t\t\t\t\t\tif (!req.cache) {\n\t\t\t\t\t\t\treturn table.getMany(req);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvar cachedResult = getFromTransactionCache(req.keys, req.trans[\"_cache\"], req.cache === \"clone\");\n\t\t\t\t\t\tif (cachedResult) {\n\t\t\t\t\t\t\treturn DexiePromise.resolve(cachedResult);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn table.getMany(req).then(function (res) {\n\t\t\t\t\t\t\treq.trans[\"_cache\"] = {\n\t\t\t\t\t\t\t\tkeys: req.keys,\n\t\t\t\t\t\t\t\tvalues: req.cache === \"clone\" ? deepClone(res) : res,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\treturn res;\n\t\t\t\t\t\t});\n\t\t\t\t\t}, mutate: function (req) {\n\t\t\t\t\t\tif (req.type !== \"add\")\n\t\t\t\t\t\t\treq.trans[\"_cache\"] = null;\n\t\t\t\t\t\treturn table.mutate(req);\n\t\t\t\t\t} });\n\t\t\t},\n\t\t};\n\t},\n};\n\nvar _a;\nfunction isEmptyRange(node) {\n\treturn !(\"from\" in node);\n}\nvar RangeSet = function (fromOrTree, to) {\n\tif (this) {\n\t\textend(this, arguments.length ? { d: 1, from: fromOrTree, to: arguments.length > 1 ? to : fromOrTree } : { d: 0 });\n\t}\n\telse {\n\t\tvar rv = new RangeSet();\n\t\tif (fromOrTree && (\"d\" in fromOrTree)) {\n\t\t\textend(rv, fromOrTree);\n\t\t}\n\t\treturn rv;\n\t}\n};\nprops(RangeSet.prototype, (_a = {\n\tadd: function (rangeSet) {\n\t\tmergeRanges(this, rangeSet);\n\t\treturn this;\n\t},\n\taddKey: function (key) {\n\t\taddRange(this, key, key);\n\t\treturn this;\n\t},\n\taddKeys: function (keys) {\n\t\tvar _this = this;\n\t\tkeys.forEach(function (key) { return addRange(_this, key, key); });\n\t\treturn this;\n\t}\n},\n\t_a[iteratorSymbol] = function () {\n\t\treturn getRangeSetIterator(this);\n\t},\n\t_a));\nfunction addRange(target, from, to) {\n\tvar diff = cmp(from, to);\n\tif (isNaN(diff))\n\t\treturn;\n\tif (diff > 0)\n\t\tthrow RangeError();\n\tif (isEmptyRange(target))\n\t\treturn extend(target, { from: from, to: to, d: 1 });\n\tvar left = target.l;\n\tvar right = target.r;\n\tif (cmp(to, target.from) < 0) {\n\t\tleft\n\t\t\t? addRange(left, from, to)\n\t\t\t: (target.l = { from: from, to: to, d: 1, l: null, r: null });\n\t\treturn rebalance(target);\n\t}\n\tif (cmp(from, target.to) > 0) {\n\t\tright\n\t\t\t? addRange(right, from, to)\n\t\t\t: (target.r = { from: from, to: to, d: 1, l: null, r: null });\n\t\treturn rebalance(target);\n\t}\n\tif (cmp(from, target.from) < 0) {\n\t\ttarget.from = from;\n\t\ttarget.l = null;\n\t\ttarget.d = right ? right.d + 1 : 1;\n\t}\n\tif (cmp(to, target.to) > 0) {\n\t\ttarget.to = to;\n\t\ttarget.r = null;\n\t\ttarget.d = target.l ? target.l.d + 1 : 1;\n\t}\n\tvar rightWasCutOff = !target.r;\n\tif (left && !target.l) {\n\t\tmergeRanges(target, left);\n\t}\n\tif (right && rightWasCutOff) {\n\t\tmergeRanges(target, right);\n\t}\n}\nfunction mergeRanges(target, newSet) {\n\tfunction _addRangeSet(target, _a) {\n\t\tvar from = _a.from, to = _a.to, l = _a.l, r = _a.r;\n\t\taddRange(target, from, to);\n\t\tif (l)\n\t\t\t_addRangeSet(target, l);\n\t\tif (r)\n\t\t\t_addRangeSet(target, r);\n\t}\n\tif (!isEmptyRange(newSet))\n\t\t_addRangeSet(target, newSet);\n}\nfunction rangesOverlap(rangeSet1, rangeSet2) {\n\tvar i1 = getRangeSetIterator(rangeSet2);\n\tvar nextResult1 = i1.next();\n\tif (nextResult1.done)\n\t\treturn false;\n\tvar a = nextResult1.value;\n\tvar i2 = getRangeSetIterator(rangeSet1);\n\tvar nextResult2 = i2.next(a.from);\n\tvar b = nextResult2.value;\n\twhile (!nextResult1.done && !nextResult2.done) {\n\t\tif (cmp(b.from, a.to) <= 0 && cmp(b.to, a.from) >= 0)\n\t\t\treturn true;\n\t\tcmp(a.from, b.from) < 0\n\t\t\t? (a = (nextResult1 = i1.next(b.from)).value)\n\t\t\t: (b = (nextResult2 = i2.next(a.from)).value);\n\t}\n\treturn false;\n}\nfunction getRangeSetIterator(node) {\n\tvar state = isEmptyRange(node) ? null : { s: 0, n: node };\n\treturn {\n\t\tnext: function (key) {\n\t\t\tvar keyProvided = arguments.length > 0;\n\t\t\twhile (state) {\n\t\t\t\tswitch (state.s) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tstate.s = 1;\n\t\t\t\t\t\tif (keyProvided) {\n\t\t\t\t\t\t\twhile (state.n.l && cmp(key, state.n.from) < 0)\n\t\t\t\t\t\t\t\tstate = { up: state, n: state.n.l, s: 1 };\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\twhile (state.n.l)\n\t\t\t\t\t\t\t\tstate = { up: state, n: state.n.l, s: 1 };\n\t\t\t\t\t\t}\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\tstate.s = 2;\n\t\t\t\t\t\tif (!keyProvided || cmp(key, state.n.to) <= 0)\n\t\t\t\t\t\t\treturn { value: state.n, done: false };\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\tif (state.n.r) {\n\t\t\t\t\t\t\tstate.s = 3;\n\t\t\t\t\t\t\tstate = { up: state, n: state.n.r, s: 0 };\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\tcase 3:\n\t\t\t\t\t\tstate = state.up;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn { done: true };\n\t\t},\n\t};\n}\nfunction rebalance(target) {\n\tvar _a, _b;\n\tvar diff = (((_a = target.r) === null || _a === void 0 ? void 0 : _a.d) || 0) - (((_b = target.l) === null || _b === void 0 ? void 0 : _b.d) || 0);\n\tvar r = diff > 1 ? \"r\" : diff < -1 ? \"l\" : \"\";\n\tif (r) {\n\t\tvar l = r === \"r\" ? \"l\" : \"r\";\n\t\tvar rootClone = __assign({}, target);\n\t\tvar oldRootRight = target[r];\n\t\ttarget.from = oldRootRight.from;\n\t\ttarget.to = oldRootRight.to;\n\t\ttarget[r] = oldRootRight[r];\n\t\trootClone[r] = oldRootRight[l];\n\t\ttarget[l] = rootClone;\n\t\trootClone.d = computeDepth(rootClone);\n\t}\n\ttarget.d = computeDepth(target);\n}\nfunction computeDepth(_a) {\n\tvar r = _a.r, l = _a.l;\n\treturn (r ? (l ? Math.max(r.d, l.d) : r.d) : l ? l.d : 0) + 1;\n}\n\nvar observabilityMiddleware = {\n\tstack: \"dbcore\",\n\tlevel: 0,\n\tcreate: function (core) {\n\t\tvar dbName = core.schema.name;\n\t\tvar FULL_RANGE = new RangeSet(core.MIN_KEY, core.MAX_KEY);\n\t\treturn __assign(__assign({}, core), { table: function (tableName) {\n\t\t\t\tvar table = core.table(tableName);\n\t\t\t\tvar schema = table.schema;\n\t\t\t\tvar primaryKey = schema.primaryKey;\n\t\t\t\tvar extractKey = primaryKey.extractKey, outbound = primaryKey.outbound;\n\t\t\t\tvar tableClone = __assign(__assign({}, table), { mutate: function (req) {\n\t\t\t\t\t\tvar trans = req.trans;\n\t\t\t\t\t\tvar mutatedParts = trans.mutatedParts || (trans.mutatedParts = {});\n\t\t\t\t\t\tvar getRangeSet = function (indexName) {\n\t\t\t\t\t\t\tvar part = \"idb://\" + dbName + \"/\" + tableName + \"/\" + indexName;\n\t\t\t\t\t\t\treturn (mutatedParts[part] ||\n\t\t\t\t\t\t\t\t(mutatedParts[part] = new RangeSet()));\n\t\t\t\t\t\t};\n\t\t\t\t\t\tvar pkRangeSet = getRangeSet(\"\");\n\t\t\t\t\t\tvar delsRangeSet = getRangeSet(\":dels\");\n\t\t\t\t\t\tvar type = req.type;\n\t\t\t\t\t\tvar _a = req.type === \"deleteRange\"\n\t\t\t\t\t\t\t? [req.range]\n\t\t\t\t\t\t\t: req.type === \"delete\"\n\t\t\t\t\t\t\t\t? [req.keys]\n\t\t\t\t\t\t\t\t: req.values.length < 50\n\t\t\t\t\t\t\t\t\t? [[], req.values]\n\t\t\t\t\t\t\t\t\t: [], keys = _a[0], newObjs = _a[1];\n\t\t\t\t\t\tvar oldCache = req.trans[\"_cache\"];\n\t\t\t\t\t\treturn table.mutate(req).then(function (res) {\n\t\t\t\t\t\t\tif (isArray(keys)) {\n\t\t\t\t\t\t\t\tif (type !== \"delete\")\n\t\t\t\t\t\t\t\t\tkeys = res.results;\n\t\t\t\t\t\t\t\tpkRangeSet.addKeys(keys);\n\t\t\t\t\t\t\t\tvar oldObjs = getFromTransactionCache(keys, oldCache);\n\t\t\t\t\t\t\t\tif (!oldObjs && type !== \"add\") {\n\t\t\t\t\t\t\t\t\tdelsRangeSet.addKeys(keys);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (oldObjs || newObjs) {\n\t\t\t\t\t\t\t\t\ttrackAffectedIndexes(getRangeSet, schema, oldObjs, newObjs);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (keys) {\n\t\t\t\t\t\t\t\tvar range = { from: keys.lower, to: keys.upper };\n\t\t\t\t\t\t\t\tdelsRangeSet.add(range);\n\t\t\t\t\t\t\t\tpkRangeSet.add(range);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tpkRangeSet.add(FULL_RANGE);\n\t\t\t\t\t\t\t\tdelsRangeSet.add(FULL_RANGE);\n\t\t\t\t\t\t\t\tschema.indexes.forEach(function (idx) { return getRangeSet(idx.name).add(FULL_RANGE); });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn res;\n\t\t\t\t\t\t});\n\t\t\t\t\t} });\n\t\t\t\tvar getRange = function (_a) {\n\t\t\t\t\tvar _b, _c;\n\t\t\t\t\tvar _d = _a.query, index = _d.index, range = _d.range;\n\t\t\t\t\treturn [\n\t\t\t\t\t\tindex,\n\t\t\t\t\t\tnew RangeSet((_b = range.lower) !== null && _b !== void 0 ? _b : core.MIN_KEY, (_c = range.upper) !== null && _c !== void 0 ? _c : core.MAX_KEY),\n\t\t\t\t\t];\n\t\t\t\t};\n\t\t\t\tvar readSubscribers = {\n\t\t\t\t\tget: function (req) { return [primaryKey, new RangeSet(req.key)]; },\n\t\t\t\t\tgetMany: function (req) { return [primaryKey, new RangeSet().addKeys(req.keys)]; },\n\t\t\t\t\tcount: getRange,\n\t\t\t\t\tquery: getRange,\n\t\t\t\t\topenCursor: getRange,\n\t\t\t\t};\n\t\t\t\tkeys(readSubscribers).forEach(function (method) {\n\t\t\t\t\ttableClone[method] = function (req) {\n\t\t\t\t\t\tvar subscr = PSD.subscr;\n\t\t\t\t\t\tif (subscr) {\n\t\t\t\t\t\t\tvar getRangeSet = function (indexName) {\n\t\t\t\t\t\t\t\tvar part = \"idb://\" + dbName + \"/\" + tableName + \"/\" + indexName;\n\t\t\t\t\t\t\t\treturn (subscr[part] ||\n\t\t\t\t\t\t\t\t\t(subscr[part] = new RangeSet()));\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tvar pkRangeSet_1 = getRangeSet(\"\");\n\t\t\t\t\t\t\tvar delsRangeSet_1 = getRangeSet(\":dels\");\n\t\t\t\t\t\t\tvar _a = readSubscribers[method](req), queriedIndex = _a[0], queriedRanges = _a[1];\n\t\t\t\t\t\t\tgetRangeSet(queriedIndex.name || \"\").add(queriedRanges);\n\t\t\t\t\t\t\tif (!queriedIndex.isPrimaryKey) {\n\t\t\t\t\t\t\t\tif (method === \"count\") {\n\t\t\t\t\t\t\t\t\tdelsRangeSet_1.add(FULL_RANGE);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tvar keysPromise_1 = method === \"query\" &&\n\t\t\t\t\t\t\t\t\t\toutbound &&\n\t\t\t\t\t\t\t\t\t\treq.values &&\n\t\t\t\t\t\t\t\t\t\ttable.query(__assign(__assign({}, req), { values: false }));\n\t\t\t\t\t\t\t\t\treturn table[method].apply(this, arguments).then(function (res) {\n\t\t\t\t\t\t\t\t\t\tif (method === \"query\") {\n\t\t\t\t\t\t\t\t\t\t\tif (outbound && req.values) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn keysPromise_1.then(function (_a) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tvar resultingKeys = _a.result;\n\t\t\t\t\t\t\t\t\t\t\t\t\tpkRangeSet_1.addKeys(resultingKeys);\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn res;\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tvar pKeys = req.values\n\t\t\t\t\t\t\t\t\t\t\t\t? res.result.map(extractKey)\n\t\t\t\t\t\t\t\t\t\t\t\t: res.result;\n\t\t\t\t\t\t\t\t\t\t\tif (req.values) {\n\t\t\t\t\t\t\t\t\t\t\t\tpkRangeSet_1.addKeys(pKeys);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\tdelsRangeSet_1.addKeys(pKeys);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (method === \"openCursor\") {\n\t\t\t\t\t\t\t\t\t\t\tvar cursor_1 = res;\n\t\t\t\t\t\t\t\t\t\t\tvar wantValues_1 = req.values;\n\t\t\t\t\t\t\t\t\t\t\treturn (cursor_1 &&\n\t\t\t\t\t\t\t\t\t\t\t\tObject.create(cursor_1, {\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tget: function () {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdelsRangeSet_1.addKey(cursor_1.primaryKey);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn cursor_1.key;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\tprimaryKey: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tget: function () {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvar pkey = cursor_1.primaryKey;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdelsRangeSet_1.addKey(pkey);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn pkey;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tget: function () {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twantValues_1 && pkRangeSet_1.addKey(cursor_1.primaryKey);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn cursor_1.value;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn res;\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn table[method].apply(this, arguments);\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t\treturn tableClone;\n\t\t\t} });\n\t},\n};\nfunction trackAffectedIndexes(getRangeSet, schema, oldObjs, newObjs) {\n\tfunction addAffectedIndex(ix) {\n\t\tvar rangeSet = getRangeSet(ix.name || \"\");\n\t\tfunction extractKey(obj) {\n\t\t\treturn obj != null ? ix.extractKey(obj) : null;\n\t\t}\n\t\tvar addKeyOrKeys = function (key) { return ix.multiEntry && isArray(key)\n\t\t\t? key.forEach(function (key) { return rangeSet.addKey(key); })\n\t\t\t: rangeSet.addKey(key); };\n\t\t(oldObjs || newObjs).forEach(function (_, i) {\n\t\t\tvar oldKey = oldObjs && extractKey(oldObjs[i]);\n\t\t\tvar newKey = newObjs && extractKey(newObjs[i]);\n\t\t\tif (cmp(oldKey, newKey) !== 0) {\n\t\t\t\tif (oldKey != null)\n\t\t\t\t\taddKeyOrKeys(oldKey);\n\t\t\t\tif (newKey != null)\n\t\t\t\t\taddKeyOrKeys(newKey);\n\t\t\t}\n\t\t});\n\t}\n\tschema.indexes.forEach(addAffectedIndex);\n}\n\nvar Dexie$1 =  (function () {\n\tfunction Dexie(name, options) {\n\t\tvar _this = this;\n\t\tthis._middlewares = {};\n\t\tthis.verno = 0;\n\t\tvar deps = Dexie.dependencies;\n\t\tthis._options = options = __assign({\n\t\t\taddons: Dexie.addons, autoOpen: true,\n\t\t\tindexedDB: deps.indexedDB, IDBKeyRange: deps.IDBKeyRange }, options);\n\t\tthis._deps = {\n\t\t\tindexedDB: options.indexedDB,\n\t\t\tIDBKeyRange: options.IDBKeyRange\n\t\t};\n\t\tvar addons = options.addons;\n\t\tthis._dbSchema = {};\n\t\tthis._versions = [];\n\t\tthis._storeNames = [];\n\t\tthis._allTables = {};\n\t\tthis.idbdb = null;\n\t\tthis._novip = this;\n\t\tvar state = {\n\t\t\tdbOpenError: null,\n\t\t\tisBeingOpened: false,\n\t\t\tonReadyBeingFired: null,\n\t\t\topenComplete: false,\n\t\t\tdbReadyResolve: nop,\n\t\t\tdbReadyPromise: null,\n\t\t\tcancelOpen: nop,\n\t\t\topenCanceller: null,\n\t\t\tautoSchema: true,\n\t\t\tPR1398_maxLoop: 3\n\t\t};\n\t\tstate.dbReadyPromise = new DexiePromise(function (resolve) {\n\t\t\tstate.dbReadyResolve = resolve;\n\t\t});\n\t\tstate.openCanceller = new DexiePromise(function (_, reject) {\n\t\t\tstate.cancelOpen = reject;\n\t\t});\n\t\tthis._state = state;\n\t\tthis.name = name;\n\t\tthis.on = Events(this, \"populate\", \"blocked\", \"versionchange\", \"close\", { ready: [promisableChain, nop] });\n\t\tthis.on.ready.subscribe = override(this.on.ready.subscribe, function (subscribe) {\n\t\t\treturn function (subscriber, bSticky) {\n\t\t\t\tDexie.vip(function () {\n\t\t\t\t\tvar state = _this._state;\n\t\t\t\t\tif (state.openComplete) {\n\t\t\t\t\t\tif (!state.dbOpenError)\n\t\t\t\t\t\t\tDexiePromise.resolve().then(subscriber);\n\t\t\t\t\t\tif (bSticky)\n\t\t\t\t\t\t\tsubscribe(subscriber);\n\t\t\t\t\t}\n\t\t\t\t\telse if (state.onReadyBeingFired) {\n\t\t\t\t\t\tstate.onReadyBeingFired.push(subscriber);\n\t\t\t\t\t\tif (bSticky)\n\t\t\t\t\t\t\tsubscribe(subscriber);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tsubscribe(subscriber);\n\t\t\t\t\t\tvar db_1 = _this;\n\t\t\t\t\t\tif (!bSticky)\n\t\t\t\t\t\t\tsubscribe(function unsubscribe() {\n\t\t\t\t\t\t\t\tdb_1.on.ready.unsubscribe(subscriber);\n\t\t\t\t\t\t\t\tdb_1.on.ready.unsubscribe(unsubscribe);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t};\n\t\t});\n\t\tthis.Collection = createCollectionConstructor(this);\n\t\tthis.Table = createTableConstructor(this);\n\t\tthis.Transaction = createTransactionConstructor(this);\n\t\tthis.Version = createVersionConstructor(this);\n\t\tthis.WhereClause = createWhereClauseConstructor(this);\n\t\tthis.on(\"versionchange\", function (ev) {\n\t\t\tif (ev.newVersion > 0)\n\t\t\t\tconsole.warn(\"Another connection wants to upgrade database '\" + _this.name + \"'. Closing db now to resume the upgrade.\");\n\t\t\telse\n\t\t\t\tconsole.warn(\"Another connection wants to delete database '\" + _this.name + \"'. Closing db now to resume the delete request.\");\n\t\t\t_this.close();\n\t\t});\n\t\tthis.on(\"blocked\", function (ev) {\n\t\t\tif (!ev.newVersion || ev.newVersion < ev.oldVersion)\n\t\t\t\tconsole.warn(\"Dexie.delete('\" + _this.name + \"') was blocked\");\n\t\t\telse\n\t\t\t\tconsole.warn(\"Upgrade '\" + _this.name + \"' blocked by other connection holding version \" + ev.oldVersion / 10);\n\t\t});\n\t\tthis._maxKey = getMaxKey(options.IDBKeyRange);\n\t\tthis._createTransaction = function (mode, storeNames, dbschema, parentTransaction) { return new _this.Transaction(mode, storeNames, dbschema, _this._options.chromeTransactionDurability, parentTransaction); };\n\t\tthis._fireOnBlocked = function (ev) {\n\t\t\t_this.on(\"blocked\").fire(ev);\n\t\t\tconnections\n\t\t\t\t.filter(function (c) { return c.name === _this.name && c !== _this && !c._state.vcFired; })\n\t\t\t\t.map(function (c) { return c.on(\"versionchange\").fire(ev); });\n\t\t};\n\t\tthis.use(virtualIndexMiddleware);\n\t\tthis.use(hooksMiddleware);\n\t\tthis.use(observabilityMiddleware);\n\t\tthis.use(cacheExistingValuesMiddleware);\n\t\tthis.vip = Object.create(this, { _vip: { value: true } });\n\t\taddons.forEach(function (addon) { return addon(_this); });\n\t}\n\tDexie.prototype.version = function (versionNumber) {\n\t\tif (isNaN(versionNumber) || versionNumber < 0.1)\n\t\t\tthrow new exceptions.Type(\"Given version is not a positive number\");\n\t\tversionNumber = Math.round(versionNumber * 10) / 10;\n\t\tif (this.idbdb || this._state.isBeingOpened)\n\t\t\tthrow new exceptions.Schema(\"Cannot add version when database is open\");\n\t\tthis.verno = Math.max(this.verno, versionNumber);\n\t\tvar versions = this._versions;\n\t\tvar versionInstance = versions.filter(function (v) { return v._cfg.version === versionNumber; })[0];\n\t\tif (versionInstance)\n\t\t\treturn versionInstance;\n\t\tversionInstance = new this.Version(versionNumber);\n\t\tversions.push(versionInstance);\n\t\tversions.sort(lowerVersionFirst);\n\t\tversionInstance.stores({});\n\t\tthis._state.autoSchema = false;\n\t\treturn versionInstance;\n\t};\n\tDexie.prototype._whenReady = function (fn) {\n\t\tvar _this = this;\n\t\treturn (this.idbdb && (this._state.openComplete || PSD.letThrough || this._vip)) ? fn() : new DexiePromise(function (resolve, reject) {\n\t\t\tif (_this._state.openComplete) {\n\t\t\t\treturn reject(new exceptions.DatabaseClosed(_this._state.dbOpenError));\n\t\t\t}\n\t\t\tif (!_this._state.isBeingOpened) {\n\t\t\t\tif (!_this._options.autoOpen) {\n\t\t\t\t\treject(new exceptions.DatabaseClosed());\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t_this.open().catch(nop);\n\t\t\t}\n\t\t\t_this._state.dbReadyPromise.then(resolve, reject);\n\t\t}).then(fn);\n\t};\n\tDexie.prototype.use = function (_a) {\n\t\tvar stack = _a.stack, create = _a.create, level = _a.level, name = _a.name;\n\t\tif (name)\n\t\t\tthis.unuse({ stack: stack, name: name });\n\t\tvar middlewares = this._middlewares[stack] || (this._middlewares[stack] = []);\n\t\tmiddlewares.push({ stack: stack, create: create, level: level == null ? 10 : level, name: name });\n\t\tmiddlewares.sort(function (a, b) { return a.level - b.level; });\n\t\treturn this;\n\t};\n\tDexie.prototype.unuse = function (_a) {\n\t\tvar stack = _a.stack, name = _a.name, create = _a.create;\n\t\tif (stack && this._middlewares[stack]) {\n\t\t\tthis._middlewares[stack] = this._middlewares[stack].filter(function (mw) {\n\t\t\t\treturn create ? mw.create !== create :\n\t\t\t\t\tname ? mw.name !== name :\n\t\t\t\t\t\tfalse;\n\t\t\t});\n\t\t}\n\t\treturn this;\n\t};\n\tDexie.prototype.open = function () {\n\t\treturn dexieOpen(this);\n\t};\n\tDexie.prototype._close = function () {\n\t\tvar state = this._state;\n\t\tvar idx = connections.indexOf(this);\n\t\tif (idx >= 0)\n\t\t\tconnections.splice(idx, 1);\n\t\tif (this.idbdb) {\n\t\t\ttry {\n\t\t\t\tthis.idbdb.close();\n\t\t\t}\n\t\t\tcatch (e) { }\n\t\t\tthis._novip.idbdb = null;\n\t\t}\n\t\tstate.dbReadyPromise = new DexiePromise(function (resolve) {\n\t\t\tstate.dbReadyResolve = resolve;\n\t\t});\n\t\tstate.openCanceller = new DexiePromise(function (_, reject) {\n\t\t\tstate.cancelOpen = reject;\n\t\t});\n\t};\n\tDexie.prototype.close = function () {\n\t\tthis._close();\n\t\tvar state = this._state;\n\t\tthis._options.autoOpen = false;\n\t\tstate.dbOpenError = new exceptions.DatabaseClosed();\n\t\tif (state.isBeingOpened)\n\t\t\tstate.cancelOpen(state.dbOpenError);\n\t};\n\tDexie.prototype.delete = function () {\n\t\tvar _this = this;\n\t\tvar hasArguments = arguments.length > 0;\n\t\tvar state = this._state;\n\t\treturn new DexiePromise(function (resolve, reject) {\n\t\t\tvar doDelete = function () {\n\t\t\t\t_this.close();\n\t\t\t\tvar req = _this._deps.indexedDB.deleteDatabase(_this.name);\n\t\t\t\treq.onsuccess = wrap(function () {\n\t\t\t\t\t_onDatabaseDeleted(_this._deps, _this.name);\n\t\t\t\t\tresolve();\n\t\t\t\t});\n\t\t\t\treq.onerror = eventRejectHandler(reject);\n\t\t\t\treq.onblocked = _this._fireOnBlocked;\n\t\t\t};\n\t\t\tif (hasArguments)\n\t\t\t\tthrow new exceptions.InvalidArgument(\"Arguments not allowed in db.delete()\");\n\t\t\tif (state.isBeingOpened) {\n\t\t\t\tstate.dbReadyPromise.then(doDelete);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tdoDelete();\n\t\t\t}\n\t\t});\n\t};\n\tDexie.prototype.backendDB = function () {\n\t\treturn this.idbdb;\n\t};\n\tDexie.prototype.isOpen = function () {\n\t\treturn this.idbdb !== null;\n\t};\n\tDexie.prototype.hasBeenClosed = function () {\n\t\tvar dbOpenError = this._state.dbOpenError;\n\t\treturn dbOpenError && (dbOpenError.name === 'DatabaseClosed');\n\t};\n\tDexie.prototype.hasFailed = function () {\n\t\treturn this._state.dbOpenError !== null;\n\t};\n\tDexie.prototype.dynamicallyOpened = function () {\n\t\treturn this._state.autoSchema;\n\t};\n\tObject.defineProperty(Dexie.prototype, \"tables\", {\n\t\tget: function () {\n\t\t\tvar _this = this;\n\t\t\treturn keys(this._allTables).map(function (name) { return _this._allTables[name]; });\n\t\t},\n\t\tenumerable: false,\n\t\tconfigurable: true\n\t});\n\tDexie.prototype.transaction = function () {\n\t\tvar args = extractTransactionArgs.apply(this, arguments);\n\t\treturn this._transaction.apply(this, args);\n\t};\n\tDexie.prototype._transaction = function (mode, tables, scopeFunc) {\n\t\tvar _this = this;\n\t\tvar parentTransaction = PSD.trans;\n\t\tif (!parentTransaction || parentTransaction.db !== this || mode.indexOf('!') !== -1)\n\t\t\tparentTransaction = null;\n\t\tvar onlyIfCompatible = mode.indexOf('?') !== -1;\n\t\tmode = mode.replace('!', '').replace('?', '');\n\t\tvar idbMode, storeNames;\n\t\ttry {\n\t\t\tstoreNames = tables.map(function (table) {\n\t\t\t\tvar storeName = table instanceof _this.Table ? table.name : table;\n\t\t\t\tif (typeof storeName !== 'string')\n\t\t\t\t\tthrow new TypeError(\"Invalid table argument to Dexie.transaction(). Only Table or String are allowed\");\n\t\t\t\treturn storeName;\n\t\t\t});\n\t\t\tif (mode == \"r\" || mode === READONLY)\n\t\t\t\tidbMode = READONLY;\n\t\t\telse if (mode == \"rw\" || mode == READWRITE)\n\t\t\t\tidbMode = READWRITE;\n\t\t\telse\n\t\t\t\tthrow new exceptions.InvalidArgument(\"Invalid transaction mode: \" + mode);\n\t\t\tif (parentTransaction) {\n\t\t\t\tif (parentTransaction.mode === READONLY && idbMode === READWRITE) {\n\t\t\t\t\tif (onlyIfCompatible) {\n\t\t\t\t\t\tparentTransaction = null;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t\tthrow new exceptions.SubTransaction(\"Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY\");\n\t\t\t\t}\n\t\t\t\tif (parentTransaction) {\n\t\t\t\t\tstoreNames.forEach(function (storeName) {\n\t\t\t\t\t\tif (parentTransaction && parentTransaction.storeNames.indexOf(storeName) === -1) {\n\t\t\t\t\t\t\tif (onlyIfCompatible) {\n\t\t\t\t\t\t\t\tparentTransaction = null;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tthrow new exceptions.SubTransaction(\"Table \" + storeName +\n\t\t\t\t\t\t\t\t\t\" not included in parent transaction.\");\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (onlyIfCompatible && parentTransaction && !parentTransaction.active) {\n\t\t\t\t\tparentTransaction = null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tcatch (e) {\n\t\t\treturn parentTransaction ?\n\t\t\t\tparentTransaction._promise(null, function (_, reject) { reject(e); }) :\n\t\t\t\trejection(e);\n\t\t}\n\t\tvar enterTransaction = enterTransactionScope.bind(null, this, idbMode, storeNames, parentTransaction, scopeFunc);\n\t\treturn (parentTransaction ?\n\t\t\tparentTransaction._promise(idbMode, enterTransaction, \"lock\") :\n\t\t\tPSD.trans ?\n\t\t\t\tusePSD(PSD.transless, function () { return _this._whenReady(enterTransaction); }) :\n\t\t\t\tthis._whenReady(enterTransaction));\n\t};\n\tDexie.prototype.table = function (tableName) {\n\t\tif (!hasOwn(this._allTables, tableName)) {\n\t\t\tthrow new exceptions.InvalidTable(\"Table \" + tableName + \" does not exist\");\n\t\t}\n\t\treturn this._allTables[tableName];\n\t};\n\treturn Dexie;\n}());\n\nvar symbolObservable = typeof Symbol !== \"undefined\" && \"observable\" in Symbol\n\t? Symbol.observable\n\t: \"@@observable\";\nvar Observable =  (function () {\n\tfunction Observable(subscribe) {\n\t\tthis._subscribe = subscribe;\n\t}\n\tObservable.prototype.subscribe = function (x, error, complete) {\n\t\treturn this._subscribe(!x || typeof x === \"function\" ? { next: x, error: error, complete: complete } : x);\n\t};\n\tObservable.prototype[symbolObservable] = function () {\n\t\treturn this;\n\t};\n\treturn Observable;\n}());\n\nfunction extendObservabilitySet(target, newSet) {\n\tkeys(newSet).forEach(function (part) {\n\t\tvar rangeSet = target[part] || (target[part] = new RangeSet());\n\t\tmergeRanges(rangeSet, newSet[part]);\n\t});\n\treturn target;\n}\n\nfunction liveQuery(querier) {\n\treturn new Observable(function (observer) {\n\t\tvar scopeFuncIsAsync = isAsyncFunction(querier);\n\t\tfunction execute(subscr) {\n\t\t\tif (scopeFuncIsAsync) {\n\t\t\t\tincrementExpectedAwaits();\n\t\t\t}\n\t\t\tvar exec = function () { return newScope(querier, { subscr: subscr, trans: null }); };\n\t\t\tvar rv = PSD.trans\n\t\t\t\t?\n\t\t\t\tusePSD(PSD.transless, exec)\n\t\t\t\t: exec();\n\t\t\tif (scopeFuncIsAsync) {\n\t\t\t\trv.then(decrementExpectedAwaits, decrementExpectedAwaits);\n\t\t\t}\n\t\t\treturn rv;\n\t\t}\n\t\tvar closed = false;\n\t\tvar accumMuts = {};\n\t\tvar currentObs = {};\n\t\tvar subscription = {\n\t\t\tget closed() {\n\t\t\t\treturn closed;\n\t\t\t},\n\t\t\tunsubscribe: function () {\n\t\t\t\tclosed = true;\n\t\t\t\tglobalEvents.storagemutated.unsubscribe(mutationListener);\n\t\t\t},\n\t\t};\n\t\tobserver.start && observer.start(subscription);\n\t\tvar querying = false, startedListening = false;\n\t\tfunction shouldNotify() {\n\t\t\treturn keys(currentObs).some(function (key) {\n\t\t\t\treturn accumMuts[key] && rangesOverlap(accumMuts[key], currentObs[key]);\n\t\t\t});\n\t\t}\n\t\tvar mutationListener = function (parts) {\n\t\t\textendObservabilitySet(accumMuts, parts);\n\t\t\tif (shouldNotify()) {\n\t\t\t\tdoQuery();\n\t\t\t}\n\t\t};\n\t\tvar doQuery = function () {\n\t\t\tif (querying || closed)\n\t\t\t\treturn;\n\t\t\taccumMuts = {};\n\t\t\tvar subscr = {};\n\t\t\tvar ret = execute(subscr);\n\t\t\tif (!startedListening) {\n\t\t\t\tglobalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, mutationListener);\n\t\t\t\tstartedListening = true;\n\t\t\t}\n\t\t\tquerying = true;\n\t\t\tPromise.resolve(ret).then(function (result) {\n\t\t\t\tquerying = false;\n\t\t\t\tif (closed)\n\t\t\t\t\treturn;\n\t\t\t\tif (shouldNotify()) {\n\t\t\t\t\tdoQuery();\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\taccumMuts = {};\n\t\t\t\t\tcurrentObs = subscr;\n\t\t\t\t\tobserver.next && observer.next(result);\n\t\t\t\t}\n\t\t\t}, function (err) {\n\t\t\t\tquerying = false;\n\t\t\t\tobserver.error && observer.error(err);\n\t\t\t\tsubscription.unsubscribe();\n\t\t\t});\n\t\t};\n\t\tdoQuery();\n\t\treturn subscription;\n\t});\n}\n\nvar domDeps;\ntry {\n\tdomDeps = {\n\t\tindexedDB: _global.indexedDB || _global.mozIndexedDB || _global.webkitIndexedDB || _global.msIndexedDB,\n\t\tIDBKeyRange: _global.IDBKeyRange || _global.webkitIDBKeyRange\n\t};\n}\ncatch (e) {\n\tdomDeps = { indexedDB: null, IDBKeyRange: null };\n}\n\nvar Dexie = Dexie$1;\nprops(Dexie, __assign(__assign({}, fullNameExceptions), {\n\tdelete: function (databaseName) {\n\t\tvar db = new Dexie(databaseName, { addons: [] });\n\t\treturn db.delete();\n\t},\n\texists: function (name) {\n\t\treturn new Dexie(name, { addons: [] }).open().then(function (db) {\n\t\t\tdb.close();\n\t\t\treturn true;\n\t\t}).catch('NoSuchDatabaseError', function () { return false; });\n\t},\n\tgetDatabaseNames: function (cb) {\n\t\ttry {\n\t\t\treturn getDatabaseNames(Dexie.dependencies).then(cb);\n\t\t}\n\t\tcatch (_a) {\n\t\t\treturn rejection(new exceptions.MissingAPI());\n\t\t}\n\t},\n\tdefineClass: function () {\n\t\tfunction Class(content) {\n\t\t\textend(this, content);\n\t\t}\n\t\treturn Class;\n\t}, ignoreTransaction: function (scopeFunc) {\n\t\treturn PSD.trans ?\n\t\t\tusePSD(PSD.transless, scopeFunc) :\n\t\t\tscopeFunc();\n\t}, vip: vip, async: function (generatorFn) {\n\t\treturn function () {\n\t\t\ttry {\n\t\t\t\tvar rv = awaitIterator(generatorFn.apply(this, arguments));\n\t\t\t\tif (!rv || typeof rv.then !== 'function')\n\t\t\t\t\treturn DexiePromise.resolve(rv);\n\t\t\t\treturn rv;\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\treturn rejection(e);\n\t\t\t}\n\t\t};\n\t}, spawn: function (generatorFn, args, thiz) {\n\t\ttry {\n\t\t\tvar rv = awaitIterator(generatorFn.apply(thiz, args || []));\n\t\t\tif (!rv || typeof rv.then !== 'function')\n\t\t\t\treturn DexiePromise.resolve(rv);\n\t\t\treturn rv;\n\t\t}\n\t\tcatch (e) {\n\t\t\treturn rejection(e);\n\t\t}\n\t},\n\tcurrentTransaction: {\n\t\tget: function () { return PSD.trans || null; }\n\t}, waitFor: function (promiseOrFunction, optionalTimeout) {\n\t\tvar promise = DexiePromise.resolve(typeof promiseOrFunction === 'function' ?\n\t\t\t\tDexie.ignoreTransaction(promiseOrFunction) :\n\t\t\t\tpromiseOrFunction)\n\t\t\t.timeout(optionalTimeout || 60000);\n\t\treturn PSD.trans ?\n\t\t\tPSD.trans.waitFor(promise) :\n\t\t\tpromise;\n\t},\n\tPromise: DexiePromise,\n\tdebug: {\n\t\tget: function () { return debug; },\n\t\tset: function (value) {\n\t\t\tsetDebug(value, value === 'dexie' ? function () { return true; } : dexieStackFrameFilter);\n\t\t}\n\t},\n\tderive: derive, extend: extend, props: props, override: override,\n\tEvents: Events, on: globalEvents, liveQuery: liveQuery, extendObservabilitySet: extendObservabilitySet,\n\tgetByKeyPath: getByKeyPath, setByKeyPath: setByKeyPath, delByKeyPath: delByKeyPath, shallowClone: shallowClone, deepClone: deepClone, getObjectDiff: getObjectDiff, cmp: cmp, asap: asap$1,\n\tminKey: minKey,\n\taddons: [],\n\tconnections: connections,\n\terrnames: errnames,\n\tdependencies: domDeps,\n\tsemVer: DEXIE_VERSION, version: DEXIE_VERSION.split('.')\n\t\t.map(function (n) { return parseInt(n); })\n\t\t.reduce(function (p, c, i) { return p + (c / Math.pow(10, i * 2)); }) }));\nDexie.maxKey = getMaxKey(Dexie.dependencies.IDBKeyRange);\n\nif (typeof dispatchEvent !== 'undefined' && typeof addEventListener !== 'undefined') {\n\tglobalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, function (updatedParts) {\n\t\tif (!propagatingLocally) {\n\t\t\tvar event_1;\n\t\t\tif (isIEOrEdge) {\n\t\t\t\tevent_1 = document.createEvent('CustomEvent');\n\t\t\t\tevent_1.initCustomEvent(STORAGE_MUTATED_DOM_EVENT_NAME, true, true, updatedParts);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tevent_1 = new CustomEvent(STORAGE_MUTATED_DOM_EVENT_NAME, {\n\t\t\t\t\tdetail: updatedParts\n\t\t\t\t});\n\t\t\t}\n\t\t\tpropagatingLocally = true;\n\t\t\tdispatchEvent(event_1);\n\t\t\tpropagatingLocally = false;\n\t\t}\n\t});\n\taddEventListener(STORAGE_MUTATED_DOM_EVENT_NAME, function (_a) {\n\t\tvar detail = _a.detail;\n\t\tif (!propagatingLocally) {\n\t\t\tpropagateLocally(detail);\n\t\t}\n\t});\n}\nfunction propagateLocally(updateParts) {\n\tvar wasMe = propagatingLocally;\n\ttry {\n\t\tpropagatingLocally = true;\n\t\tglobalEvents.storagemutated.fire(updateParts);\n\t}\n\tfinally {\n\t\tpropagatingLocally = wasMe;\n\t}\n}\nvar propagatingLocally = false;\n\nif (typeof BroadcastChannel !== 'undefined') {\n\tvar bc_1 = new BroadcastChannel(STORAGE_MUTATED_DOM_EVENT_NAME);\n\tglobalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, function (changedParts) {\n\t\tif (!propagatingLocally) {\n\t\t\tbc_1.postMessage(changedParts);\n\t\t}\n\t});\n\tbc_1.onmessage = function (ev) {\n\t\tif (ev.data)\n\t\t\tpropagateLocally(ev.data);\n\t};\n}\nelse if (typeof self !== 'undefined' && typeof navigator !== 'undefined') {\n\tglobalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, function (changedParts) {\n\t\ttry {\n\t\t\tif (!propagatingLocally) {\n\t\t\t\tif (typeof localStorage !== 'undefined') {\n\t\t\t\t\tlocalStorage.setItem(STORAGE_MUTATED_DOM_EVENT_NAME, JSON.stringify({\n\t\t\t\t\t\ttrig: Math.random(),\n\t\t\t\t\t\tchangedParts: changedParts,\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\tif (typeof self['clients'] === 'object') {\n\t\t\t\t\t__spreadArray([], self['clients'].matchAll({ includeUncontrolled: true }), true).forEach(function (client) {\n\t\t\t\t\t\treturn client.postMessage({\n\t\t\t\t\t\t\ttype: STORAGE_MUTATED_DOM_EVENT_NAME,\n\t\t\t\t\t\t\tchangedParts: changedParts,\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tcatch (_a) { }\n\t});\n\tif (typeof addEventListener !== 'undefined') {\n\t\taddEventListener('storage', function (ev) {\n\t\t\tif (ev.key === STORAGE_MUTATED_DOM_EVENT_NAME) {\n\t\t\t\tvar data = JSON.parse(ev.newValue);\n\t\t\t\tif (data)\n\t\t\t\t\tpropagateLocally(data.changedParts);\n\t\t\t}\n\t\t});\n\t}\n\tvar swContainer = self.document && navigator.serviceWorker;\n\tif (swContainer) {\n\t\tswContainer.addEventListener('message', propagateMessageLocally);\n\t}\n}\nfunction propagateMessageLocally(_a) {\n\tvar data = _a.data;\n\tif (data && data.type === STORAGE_MUTATED_DOM_EVENT_NAME) {\n\t\tpropagateLocally(data.changedParts);\n\t}\n}\n\nDexiePromise.rejectionMapper = mapError;\nsetDebug(debug, dexieStackFrameFilter);\n\n// backward compatibility with Dexie 2 usages\nwindow.BX.Dexie = Dexie$1;\n\nexport {\n\tDexie$1 as Dexie,\n\tliveQuery,\n\tRangeSet,\n\tmergeRanges,\n\trangesOverlap\n}"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","__spreadArray","to","from","pack","l","ar","Array","slice","concat","_global","globalThis","self","window","global","keys","isArray","Promise","extend","obj","extension","forEach","key","getProto","getPrototypeOf","_hasOwn","hasOwn","prop","props","proto","Reflect","ownKeys","setProp","defineProperty","functionOrGetSet","options","get","set","configurable","value","writable","derive","Child","Parent","create","bind","getOwnPropertyDescriptor","getPropertyDescriptor","pd","_slice","args","start","end","override","origFunc","overridedFactory","assert","b","Error","asap$1","fn","setImmediate","setTimeout","arrayToObject","array","extractor","reduce","result","item","nameAndValue","tryCatch","onerror","ex","getByKeyPath","keyPath","rv","val","push","period","indexOf","innerObj","substr","undefined","setByKeyPath","isFrozen","currentKeyPath","remainingKeyPath","isNaN","parseInt","splice","delByKeyPath","map","kp","shallowClone","m","flatten","a","intrinsicTypeNames","split","num","filter","intrinsicTypes","x","circularRefs","deepClone","any","WeakMap","innerDeepClone","constructor","toString","toStringTag","o","iteratorSymbol","Symbol","iterator","getIteratorOf","NO_CHAR_ARRAY","getArrayOf","arrayLike","it","next","done","isAsyncFunction","debug","location","test","href","setDebug","libraryFilter","NEEDS_THROW_FOR_STACK","stack","getErrorWithStack","e","prettyStack","exception","numIgnoredFrames","name","message","frame","join","dexieErrorNames","idbDomErrorNames","errorList","defaultTexts","VersionChanged","DatabaseClosed","Abort","TransactionInactive","MissingAPI","DexieError","msg","_e","_stack","getMultiErrorMessage","failures","v","ModifyError","successCount","failedKeys","BulkError","pos","failuresByPos","errnames","BaseException","exceptions","fullName","msgOrInner","inner","Syntax","SyntaxError","Type","TypeError","Range","RangeError","exceptionMap","mapError","domError","fullNameExceptions","nop","mirror","pureFunctionChain","f1","f2","callBoth","on1","on2","hookCreatingChain","res","onsuccess","res2","hookDeletingChain","hookUpdatingChain","modifications","reverseStoppableEventChain","promisableChain","then","thiz","INTERNAL","LONG_STACKS_CLIP_LIMIT","MAX_LONG_STACKS","ZONE_ECHO_LIMIT","_a$1","globalP","resolve","crypto","subtle","nativeP","digest","Uint8Array","resolvedNativePromise","nativePromiseProto","resolvedGlobalPromise","nativePromiseThen","NativePromise","patchGlobalPromise","stack_being_generated","schedulePhysicalTick","physicalTick","MutationObserver","hiddenDiv","document","createElement","observe","attributes","setAttribute","asap","callback","microtickQueue","needsNewPhysicalTick","isOutsideMicroTick","unhandledErrors","rejectingErrors","currentFulfiller","rejectionMapper","globalPSD","id","ref","unhandleds","onunhandled","globalError","pgp","env","finalize","uh","PSD","numScheduledCalls","tickFinalizers","DexiePromise","_listeners","onuncatched","_lib","psd","_PSD","_stackHolder","_prev","_numPrev","_state","_value","handleRejection","executePromiseTask","thenProp","microTaskId","totalEchoes","onFulfilled","onRejected","_this","possibleAwait","cleanup","decrementExpectedAwaits","reject","propagateToListener","Listener","nativeAwaitCompatibleWrap","linkToPreviousPromise","_then","type","handler","err","PromiseReject","onFinally","stacks","getStack","timeout","ms","Infinity","handle","Timeout","clearTimeout","snapShot","zone","all","values","onPossibleParallellAsync","remaining","race","newPSD","newScope","usePSD","scheduler","follow","zoneProps","run_at_end_of_this_or_next_physical_tick","allSettled","possiblePromises","results","status","reason","AggregateError","failure","promise","shouldExecuteTick","beginMicroTickScope","propagateAllListeners","endMicroTickScope","_promise","origProp","addPossiblyUnhandledError","listeners","len","finalizePhysicalTick","listener","cb","callListener","ret","markErrorAsHandled","limit","errorName","prev","numPrev","wasRootExec","callbacks","unhandledErrs","finalizers","finalizer","some","wrap","errorCatcher","outerScope","switchToZone","task","awaits","echoes","taskCounter","zoneStack","zoneEchoes","zone_id_counter","a1","a2","parent","globalEnv","PromiseProp","nthen","getPatchedPromiseThen","gthen","incrementExpectedAwaits","possiblePromise","rejection","zoneEnterEcho","targetZone","zoneLeaveEcho","pop","bEnteringZone","currentZone","enqueueNativeMicroTask","GlobalPromise_1","targetEnv","GlobalPromise","a3","job","outerZone","origThen","onResolved","UNHANDLEDREJECTION","event","eventData","createEvent","initEvent","CustomEvent","detail","dispatchEvent","PromiseRejectionEvent","onunhandledrejection","_","defaultPrevented","console","warn","tempTransaction","db","mode","storeNames","idbdb","openComplete","letThrough","_vip","dbOpenError","isBeingOpened","_options","autoOpen","open","dbReadyPromise","trans","_createTransaction","_dbSchema","PR1398_maxLoop","InvalidState","isOpen","_close","_completion","DEXIE_VERSION","maxString","String","fromCharCode","minKey","INVALID_KEY_ARGUMENT","STRING_EXPECTED","connections","isIEOrEdge","navigator","userAgent","hasIEDeleteObjectStoreBug","hangsOnDeleteLargeKeyRange","dexieStackFrameFilter","DBNAMES_DB","READONLY","READWRITE","combine","filter1","filter2","AnyRange","lower","lowerOpen","upper","upperOpen","workaroundForUndefinedPrimKey","Table","_trans","writeLocked","_tx","tableName","checkTableInTransaction","schema","NotFound","idbtrans","transless","keyOrCrit","where","first","core","hook","reading","fire","indexOrCrit","WhereClause","keyPaths","equals","compoundIndex","indexes","primKey","ix","compound","every","_maxKey","JSON","stringify","idxByName","idb","_deps","indexedDB","cmp","_a","prevIndex","prevFilterFn","index","multi","idx","filterFunction","toCollection","and","count","thenShortcut","offset","numRows","each","toArray","Collection","orderBy","reverse","mapToClass","mappedClass","readHook","unsubscribe","defineClass","Class","content","add","auto","objToAdd","mutate","numFailures","lastResult","update","keyOrObject","InvalidArgument","modify","put","clear","range","bulkGet","getMany","bulkAdd","objects","keysOrOptions","wantResults","allKeys","numObjects","objectsToAdd","bulkPut","objectsToPut","bulkDelete","numKeys","Events","ctx","evs","eventName","subscriber","subscribe","addEventType","chainFunction","defaultFunction","addConfiguredEvents","context","subscribers","cfg","fireEvent","makeClassConstructor","createTableConstructor","tableSchema","_allTables","isPlainKeyRange","ignoreLimitFilter","algorithm","or","justLimit","replayFilter","addFilter","addReplayFilter","factory","isLimitFilter","curr","addMatchFilter","isMatch","getIndexOrStore","coreSchema","isPrimKey","primaryKey","getIndexByKeyPath","Schema","openCursor","coreTable","keysOnly","dir","unique","query","iter","coreTrans","iterate","valueMapper","set_1","union","cursor","advance","stop","fail","_iterate","cursorPromise","mappedFn","c","wrappedFn","advancer","ta","tb","NaN","compareUint8Arrays","getUint8Array","compareArrays","al","bl","ArrayBuffer","isView","tsTag","buffer","byteOffset","byteLength","_read","_ctx","error","table","_write","_addAlgorithm","clone","raw","Math","min","sortBy","parts","lastPart","lastIndex","getval","order","sorter","aVal","bVal","sort","valueMapper_1","a_1","offsetLeft","rowsLeft","until","bIncludeStopEntry","last","indexName","_ondirectionchange","desc","eachKey","eachUniqueKey","eachPrimaryKey","primaryKeys","uniqueKeys","firstKey","lastKey","distinct","strKey","found","changes","modifyer","anythingModified","outbound","extractKey","modifyChunkSize","totalFailures","applyMutateResult","expectedCount","_i","nextChunk","cache","addValues","putValues","putKeys","deleteKeys","origValue","ctx_1","criteria","deleteCallback","changeSpec","coreRange","createCollectionConstructor","whereClause","keyRangeGenerator","keyRange","whereCtx","readingHook","simpleCompare","simpleCompareReverse","collectionOrWhereClause","T","collection","emptyCollection","rangeEqual","upperFactory","toUpperCase","toLowerCase","lowerFactory","nextCasing","lowerKey","upperNeedle","lowerNeedle","llp","lwrKeyChar","addIgnoreCaseAlgorithm","match","needles","suffix","compare","upperNeedles","lowerNeedles","direction","nextKeySuffix","needlesLen","initDirection","needleBounds","needle","nb","createRange","firstPossibleNeedle","lowestPossibleCasing","casing","enumerable","between","includeLower","includeUpper","_cmp","above","aboveOrEqual","below","belowOrEqual","startsWith","str","startsWithIgnoreCase","equalsIgnoreCase","anyOfIgnoreCase","startsWithAnyOfIgnoreCase","anyOf","_ascending","_descending","notEqual","inAnyRange","includeLowers","includeUppers","noneOf","ranges","ascending","descending","_min","max","_max","addRange","newRange","sortDirection","rangeSorter","rangePos","keyIsBeyondCurrentEntry","keyIsBeforeCurrentEntry","keyWithinCurrentRange","checkKey","startsWithAnyOf","createWhereClauseConstructor","orCollection","_IDBKeyRange","IDBKeyRange","eventRejectHandler","preventDefault","target","stopPropagation","DEXIE_STORAGE_MUTATED_EVENT_NAME","STORAGE_MUTATED_DOM_EVENT_NAME","globalEvents","Transaction","_lock","_reculock","lockOwnerFor","_unlock","_blockedFuncs","_locked","fnAndPSD","shift","OpenFailed","active","transaction","durability","chromeTransactionDurability","ev","_reject","onabort","on","oncomplete","_resolve","storagemutated","bWriteLock","ReadOnly","_root","waitFor","promiseLike","root","_waitingFor","_waitingQueue","store","objectStore","spin","_spinCount","currentWaitPromise","abort","memoizedTables","_memoizedTables","transactionBoundTable","createTransactionConstructor","dbschema","complete","wasActive","createIndexSpec","src","nameFromKeyPath","createTableSchema","safariMultiStoreFix","getMaxKey","IdbKeyRange","only","getKeyExtractor","getSinglePathKeyExtractor","arrayify","_id_counter","getKeyPathAlias","createDBCore","tmpTrans","extractSchema","tables","objectStoreNames","autoIncrement","indexByKeyPath","isPrimaryKey","indexNames","multiEntry","hasGetAll","makeIDBKeyRange","idbRange","upperBound","lowerBound","bound","createDbCoreTable","isAddOrPut","req","reqs","errorHandler","args1","args2","source","openKeyCursor","___id","_cursorContinue","_cursorContinuePrimaryKey","continuePrimaryKey","_cursorAdvance","doThrowCursorIsNotStarted","doThrowCursorIsStopped","gotOne","iterationPromise","resolveIteration","rejectIteration","guardedCallback","request","nonInfinitLimit","idbKeyRange","getAll","getAllKeys","count_1","req_1","result_1","keyCount","callbackCount","successHandler","_pos","tableMap","MIN_KEY","MAX_KEY","createMiddlewareStack","stackImpl","middlewares","down","createMiddlewareStacks","dbcore","generateMiddlewareStacks","_novip","_middlewares","tbl","setApiOnPlace","objs","tableNames","propDesc","removeTablesApi","lowerVersionFirst","_cfg","version","runUpgraders","oldVersion","idbUpgradeTrans","globalSchema","_storeNames","rejectTransaction","createTable","populate","updateTablesAndIndexes","queue","versions","_versions","buildGlobalSchema","anyContentUpgraderHasRun","versToRun","oldSchema","newSchema","adjustToExistingIndexNames","diff","getSchemaDiff","tuple","change","recreate","Upgrade","store_1","addIndex","deleteIndex","del","idxName","contentUpgrade","upgradeSchema_1","contentUpgradeIsAsync_1","returnValue_1","promiseFollowed","decrementor","deleteRemovedTables","runQueue","createMissingTables","oldDef","newDef","def","oldIndexes","newIndexes","oldIdx","newIdx","createObjectStore","contains","storeName","deleteObjectStore","createIndex","dbStoreNames","j","idbindex","readGlobalSchema","verno","verifyInstalledSchema","installedSchema","ch","_hasGetAll","dexieName","indexSpec","WorkerGlobalScope","parseIndexSyntax","primKeyAndIndexes","indexNum","trim","replace","Version","_parseStoresSpec","stores","outSchema","storesSource","storesSpec","upgrade","upgradeFunction","createVersionConstructor","versionNumber","getDbNamesTable","dbNamesDB","Dexie$1","addons","dbnames","hasDatabasesNative","databases","getDatabaseNames","infos","info","_onDatabaseCreated","_onDatabaseDeleted","vip","idbReady","isSafari","userAgentData","intervalId","tryIdb","setInterval","clearInterval","dexieOpen","state","openCanceller","throwIfCancelled","resolveDbReady","dbReadyResolve","upgradeTransaction","wasCreated","dbName","autoSchema","round","onblocked","_fireOnBlocked","onupgradeneeded","allowEmptyDB","close","delreq","deleteDatabase","NoSuchDatabase","oldVer","pow","onversionchange","vcFired","onclose","onReadyBeingFired","ready","fireRemainders","remainders_1","awaitIterator","callNext","doThrow","onSuccess","step","onError","getNext","extractTransactionArgs","_tableArgs_","scopeFunc","enterTransactionScope","parentTransaction","scopeFuncIsAsync","returnValue","PrematureCommit","pad","createVirtualIndexMiddleware","indexLookup","allVirtualIndexes","addVirtualIndexes","keyTail","lowLevelIndex","keyPathAlias","indexList","keyLength","isVirtual","virtualIndex","virtualKeyPath","findBestIndex","translateRange","translateRequest","createVirtualCursor","_continue","virtualCursor","virtualIndexMiddleware","level","getObjectDiff","prfx","ap","bp","apTypeName","bpTypeName","getEffectiveKeys","hooksMiddleware","downCore","downTable","tableMiddleware","dxTrans","deleting","creating","updating","addPutOrDelete","deleteRange","getExistingValues","existingValues","contexts","existingValue","generatedPrimaryKey","objectDiff","additionalChanges_1","requestedValue_1","deleteNextChunk","effectiveKeys","getFromTransactionCache","cacheExistingValuesMiddleware","cachedResult","isEmptyRange","node","RangeSet","fromOrTree","d","rangeSet","mergeRanges","addKey","addKeys","getRangeSetIterator","left","right","r","rebalance","rightWasCutOff","newSet","_addRangeSet","rangesOverlap","rangeSet1","rangeSet2","i1","nextResult1","i2","nextResult2","keyProvided","up","_b","rootClone","oldRootRight","computeDepth","observabilityMiddleware","FULL_RANGE","tableClone","mutatedParts","getRangeSet","part","pkRangeSet","delsRangeSet","newObjs","oldCache","oldObjs","trackAffectedIndexes","getRange","_c","_d","readSubscribers","method","subscr","pkRangeSet_1","delsRangeSet_1","queriedIndex","queriedRanges","keysPromise_1","resultingKeys","pKeys","cursor_1","wantValues_1","pkey","addAffectedIndex","addKeyOrKeys","oldKey","newKey","Dexie","deps","dependencies","cancelOpen","bSticky","db_1","newVersion","use","addon","versionInstance","_whenReady","unuse","mw","hasArguments","doDelete","backendDB","hasBeenClosed","hasFailed","dynamicallyOpened","_transaction","onlyIfCompatible","idbMode","SubTransaction","enterTransaction","InvalidTable","symbolObservable","observable","Observable","_subscribe","extendObservabilitySet","liveQuery","querier","observer","execute","exec","closed","accumMuts","currentObs","subscription","mutationListener","querying","startedListening","shouldNotify","doQuery","domDeps","mozIndexedDB","webkitIndexedDB","msIndexedDB","webkitIDBKeyRange","databaseName","exists","ignoreTransaction","async","generatorFn","spawn","currentTransaction","promiseOrFunction","optionalTimeout","semVer","maxKey","addEventListener","updatedParts","propagatingLocally","event_1","initCustomEvent","propagateLocally","updateParts","wasMe","BroadcastChannel","bc_1","changedParts","postMessage","onmessage","data","localStorage","setItem","trig","random","matchAll","includeUncontrolled","client","parse","newValue","swContainer","serviceWorker","propagateMessageLocally","BX"],"mappings":"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"}