dexie-cloud-addon 1.0.0-alpha.6 → 1.0.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/copydts.sh +5 -0
  2. package/dist/modern/dexie-cloud-addon.js +5954 -0
  3. package/dist/modern/dexie-cloud-addon.js.map +1 -0
  4. package/dist/modern/dexie-cloud-addon.min.js +1 -0
  5. package/dist/modern/dexie-cloud-addon.min.js.map +1 -0
  6. package/dist/modern/service-worker.js +6054 -0
  7. package/dist/modern/service-worker.js.map +1 -0
  8. package/dist/modern/service-worker.min.js +1 -0
  9. package/dist/modern/service-worker.min.js.map +1 -0
  10. package/dist/module-es5/dexie-cloud-addon.js +6908 -0
  11. package/dist/module-es5/dexie-cloud-addon.js.map +1 -0
  12. package/dist/module-es5/dexie-cloud-addon.min.js +1 -0
  13. package/dist/module-es5/dexie-cloud-addon.min.js.map +1 -0
  14. package/dist/types/DISABLE_SERVICEWORKER_STRATEGY.d.ts +1 -0
  15. package/dist/types/DXCWebSocketStatus.d.ts +1 -0
  16. package/dist/types/DexieCloudOptions.d.ts +19 -0
  17. package/dist/types/DexieCloudServerState.d.ts +5 -0
  18. package/dist/types/TSON.d.ts +17 -0
  19. package/dist/types/WSObservable.d.ts +62 -0
  20. package/dist/types/WebSocketStatus.d.ts +1 -0
  21. package/dist/types/authentication/AuthPersistedContext.d.ts +9 -0
  22. package/dist/types/authentication/TokenExpiredError.d.ts +3 -0
  23. package/dist/types/authentication/UNAUTHORIZED_USER.d.ts +2 -0
  24. package/dist/types/authentication/authenticate.d.ts +20 -0
  25. package/dist/types/authentication/currentUserObservable.d.ts +1 -0
  26. package/dist/types/authentication/interactWithUser.d.ts +18 -0
  27. package/dist/types/authentication/login.d.ts +6 -0
  28. package/dist/types/authentication/otpFetchTokenCallback.d.ts +3 -0
  29. package/dist/types/authentication/setCurrentUser.d.ts +14 -0
  30. package/dist/types/computeSyncState.d.ts +4 -0
  31. package/dist/types/db/DexieCloudDB.d.ts +58 -0
  32. package/dist/types/db/entities/BaseRevisionMapEntry.d.ts +5 -0
  33. package/dist/types/db/entities/EntityCommon.d.ts +4 -0
  34. package/dist/types/db/entities/GuardedJob.d.ts +5 -0
  35. package/dist/types/db/entities/Member.d.ts +19 -0
  36. package/dist/types/db/entities/PersistedSyncState.d.ts +14 -0
  37. package/dist/types/db/entities/Realm.d.ts +16 -0
  38. package/dist/types/db/entities/Role.d.ts +11 -0
  39. package/dist/types/db/entities/UserLogin.d.ts +18 -0
  40. package/dist/types/default-ui/Dialog.d.ts +4 -0
  41. package/dist/types/default-ui/LoginDialog.d.ts +6 -0
  42. package/dist/types/default-ui/Styles.d.ts +3 -0
  43. package/dist/types/default-ui/index.d.ts +24 -0
  44. package/dist/types/dexie-cloud-client.d.ts +8 -0
  45. package/dist/types/errors/HttpError.d.ts +5 -0
  46. package/dist/types/extend-dexie-interface.d.ts +59 -0
  47. package/dist/types/helpers/BroadcastedAndLocalEvent.d.ts +8 -0
  48. package/dist/types/helpers/BroadcastedLocalEvent.d.ts +8 -0
  49. package/dist/types/helpers/CancelToken.d.ts +4 -0
  50. package/dist/types/helpers/IS_SERVICE_WORKER.d.ts +1 -0
  51. package/dist/types/helpers/SWBroadcastChannel.d.ts +6 -0
  52. package/dist/types/helpers/allSettled.d.ts +1 -0
  53. package/dist/types/helpers/bulkUpdate.d.ts +4 -0
  54. package/dist/types/helpers/computeRealmSetHash.d.ts +2 -0
  55. package/dist/types/helpers/date-constants.d.ts +5 -0
  56. package/dist/types/helpers/dbOnClosed.d.ts +2 -0
  57. package/dist/types/helpers/getMutationTable.d.ts +1 -0
  58. package/dist/types/helpers/getSyncableTables.d.ts +4 -0
  59. package/dist/types/helpers/getTableFromMutationTable.d.ts +1 -0
  60. package/dist/types/helpers/makeArray.d.ts +1 -0
  61. package/dist/types/helpers/randomString.d.ts +1 -0
  62. package/dist/types/helpers/resolveText.d.ts +2 -0
  63. package/dist/types/helpers/throwVersionIncrementNeeded.d.ts +1 -0
  64. package/dist/types/helpers/visibilityState.d.ts +1 -0
  65. package/dist/types/helpers/visibleState.d.ts +1 -0
  66. package/dist/types/isFirefox.d.ts +1 -0
  67. package/dist/types/isSafari.d.ts +2 -0
  68. package/dist/types/middleware-helpers/guardedTable.d.ts +11 -0
  69. package/dist/types/middlewares/createIdGenerationMiddleware.d.ts +8 -0
  70. package/dist/types/middlewares/createImplicitPropSetterMiddleware.d.ts +3 -0
  71. package/dist/types/middlewares/createMutationTrackingMiddleware.d.ts +17 -0
  72. package/dist/types/middlewares/outstandingTransaction.d.ts +4 -0
  73. package/dist/types/overrideParseStoresSpec.d.ts +4 -0
  74. package/dist/types/performInitialSync.d.ts +4 -0
  75. package/dist/types/service-worker.d.ts +1 -0
  76. package/dist/types/sync/LocalSyncWorker.d.ts +7 -0
  77. package/dist/types/sync/SyncRequiredError.d.ts +3 -0
  78. package/dist/types/sync/connectWebSocket.d.ts +2 -0
  79. package/dist/types/sync/extractRealm.d.ts +2 -0
  80. package/dist/types/sync/getLatestRevisionsPerTable.d.ts +6 -0
  81. package/dist/types/sync/getTablesToSyncify.d.ts +3 -0
  82. package/dist/types/sync/isOnline.d.ts +1 -0
  83. package/dist/types/sync/isSyncNeeded.d.ts +2 -0
  84. package/dist/types/sync/listClientChanges.d.ts +9 -0
  85. package/dist/types/sync/listSyncifiedChanges.d.ts +5 -0
  86. package/dist/types/sync/messageConsumerIsReady.d.ts +2 -0
  87. package/dist/types/sync/messagesFromServerQueue.d.ts +8 -0
  88. package/dist/types/sync/modifyLocalObjectsWithNewUserId.d.ts +4 -0
  89. package/dist/types/sync/myId.d.ts +1 -0
  90. package/dist/types/sync/numUnsyncedMutations.d.ts +2 -0
  91. package/dist/types/sync/old_startSyncingClientChanges.d.ts +39 -0
  92. package/dist/types/sync/performGuardedJob.d.ts +4 -0
  93. package/dist/types/sync/registerSyncEvent.d.ts +3 -0
  94. package/dist/types/sync/sync.d.ts +17 -0
  95. package/dist/types/sync/syncIfPossible.d.ts +5 -0
  96. package/dist/types/sync/syncServerToClientOnly.d.ts +3 -0
  97. package/dist/types/sync/syncWithServer.d.ts +5 -0
  98. package/dist/types/sync/triggerSync.d.ts +2 -0
  99. package/dist/types/sync/updateBaseRevs.d.ts +5 -0
  100. package/dist/types/types/CloudConnectionStatus.d.ts +0 -0
  101. package/dist/types/types/ConnectionStatus.d.ts +0 -0
  102. package/dist/types/types/DXCAlert.d.ts +25 -0
  103. package/dist/types/types/DXCInputField.d.ts +11 -0
  104. package/dist/types/types/DXCUserInteraction.d.ts +55 -0
  105. package/dist/types/types/LoginState.d.ts +41 -0
  106. package/dist/types/types/SWMessageEvent.d.ts +3 -0
  107. package/dist/types/types/SWSyncEvent.d.ts +4 -0
  108. package/dist/types/types/SyncConnectionStatus.d.ts +1 -0
  109. package/dist/types/types/SyncFlowStatus.d.ts +6 -0
  110. package/dist/types/types/SyncState.d.ts +8 -0
  111. package/dist/types/types/SyncStatus.d.ts +6 -0
  112. package/dist/types/types/TXExpandos.d.ts +10 -0
  113. package/dist/types/updateSchemaFromOptions.d.ts +3 -0
  114. package/dist/types/userIsActive.d.ts +7 -0
  115. package/dist/types/verifyConfig.d.ts +2 -0
  116. package/dist/types/verifySchema.d.ts +2 -0
  117. package/dist/umd/dexie-cloud-addon.js +6919 -0
  118. package/dist/umd/dexie-cloud-addon.js.map +1 -0
  119. package/dist/umd/dexie-cloud-addon.min.js +1 -0
  120. package/dist/umd/dexie-cloud-addon.min.js.map +1 -0
  121. package/dist/umd/service-worker.js +6063 -0
  122. package/dist/umd/service-worker.js.map +1 -0
  123. package/dist/umd/service-worker.min.js +1 -0
  124. package/dist/umd/service-worker.min.js.map +1 -0
  125. package/dist/umd-modern/dexie-cloud-addon.js +5965 -0
  126. package/dist/umd-modern/dexie-cloud-addon.js.map +1 -0
  127. package/package.json +71 -39
  128. package/dist/dexie-cloud.d.ts +0 -27
  129. package/dist/dexie-cloud.js +0 -285
  130. package/dist/dexie-cloud.js.map +0 -1
  131. package/dist/dexie-cloud.min.js +0 -1
  132. package/dist/dexie-cloud.min.js.map +0 -1
  133. package/dist/dexie-cloud.mjs +0 -273
  134. package/dist/dexie-cloud.mjs.map +0 -1
  135. package/esnext/dexie-cloud.js +0 -278
  136. package/esnext/dexie-cloud.js.map +0 -1
  137. package/esnext/dexie-cloud.min.js +0 -1
  138. package/esnext/dexie-cloud.min.js.map +0 -1
@@ -0,0 +1 @@
1
+ (function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("dexie"),require("rxjs")):"function"==typeof define&&define.amd?define(["exports","dexie","rxjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).DexieCloud={},e.Dexie,e.rxjs)})(this,function(e,b,y){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=t(b),r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function n(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var g=function(){return(g=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function x(e,s,u,c){return new(u=u||Promise)(function(n,t){function r(e){try{i(c.next(e))}catch(e){t(e)}}function o(e){try{i(c.throw(e))}catch(e){t(e)}}function i(e){var t;e.done?n(e.value):((t=e.value)instanceof u?t:new u(function(e){e(t)})).then(r,o)}i((c=c.apply(e,s||[])).next())})}function E(n,r){var o,i,s,u={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]},e={next:t(0),throw:t(1),return:t(2)};return"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(o)throw new TypeError("Generator is already executing.");for(;u;)try{if(o=1,i&&(s=2&t[0]?i.return:t[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,t[1])).done)return s;switch(i=0,(t=s?[2&t[0],s.value]:t)[0]){case 0:case 1:s=t;break;case 4:return u.label++,{value:t[1],done:!1};case 5:u.label++,i=t[1],t=[0];continue;case 7:t=u.ops.pop(),u.trys.pop();continue;default:if(!(s=0<(s=u.trys).length&&s[s.length-1])&&(6===t[0]||2===t[0])){u=0;continue}if(3===t[0]&&(!s||t[1]>s[0]&&t[1]<s[3])){u.label=t[1];break}if(6===t[0]&&u.label<s[1]){u.label=s[1],s=t;break}if(s&&u.label<s[2]){u.label=s[2],u.ops.push(t);break}s[2]&&u.ops.pop(),u.trys.pop();continue}t=r.call(n,u)}catch(e){t=[6,e],i=0}finally{o=s=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}}function _(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e}var o=crypto.getRandomValues;function w(e,t,n){if(e&&void 0!==t&&!("isFrozen"in Object&&Object.isFrozen(e)))if("string"!=typeof t&&"length"in t){(function(e){if(!e)throw new Error("Assertion Failed")})("string"!=typeof n&&"length"in n);for(var r=0,o=t.length;r<o;++r)w(e,t[r],n[r])}else{var i,s=t.indexOf(".");-1!==s?(i=t.substr(0,s),""===(s=t.substr(s+1))?void 0===n?Array.isArray(e)?isNaN(parseInt(i))||e.splice(parseInt(i),1):delete e[i]:e[i]=n:w(e[i]||(e[i]={}),s,n)):void 0===n?Array.isArray(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=n}}var I="undefined"==typeof self?function(e){e=Buffer.alloc(e);return o(e),e.toString("base64")}:function(e){e=new Uint8Array(e);return crypto.getRandomValues(e),btoa(String.fromCharCode.apply(null,e))};function c(e){return"string"==typeof e||!!(Array.isArray(e)&&e.some(c)&&e.every(i))}function i(e){return"string"==typeof e||"number"==typeof e||Array.isArray(e)&&e.every(i)}function s(e,t){for(var n=0,r=t;n<r.length;n++)for(var o=r[n],i=o.table,s=0,u=o.muts;s<u.length;s++)(function(e,t,c){var a=e[t]||(e[t]={});switch(c.type){case"insert":case"upsert":c.keys.forEach(function(e,t){a[e]={type:"ups",val:c.values[t]}});break;case"update":case"modify":c.keys.forEach(function(e,t){var n="update"===c.type?c.changeSpecs[t]:c.changeSpec,r=a[e];if(r)switch(r.type){case"ups":for(var o=0,i=Object.entries(n);o<i.length;o++){var s=i[o],u=s[0],s=s[1];w(r.val,u,s)}break;case"del":break;case"upd":Object.assign(r.mod,n)}else a[e]={type:"upd",mod:n}});break;case"delete":c.keys.forEach(function(e){a[e]={type:"del"}})}})(e,i,u[s])}var u=function(e,t){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function a(e,t){function n(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function l(e){return"function"==typeof e}var f=!1,d={Promise:void 0,set useDeprecatedSynchronousErrorHandling(e){e&&(new Error).stack,f=e},get useDeprecatedSynchronousErrorHandling(){return f}};function h(e){setTimeout(function(){throw e},0)}var p={closed:!0,next:function(e){},error:function(e){if(d.useDeprecatedSynchronousErrorHandling)throw e;h(e)},complete:function(){}},v=function(){return Array.isArray||function(e){return e&&"number"==typeof e.length}}();function S(e){return null!==e&&"object"==typeof e}var k=function(){function e(e){return Error.call(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map(function(e,t){return t+1+") "+e.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=e,this}return e.prototype=Object.create(Error.prototype),e}(),T=function(){function c(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}var e;return c.prototype.unsubscribe=function(){var t;if(!this.closed){var e=this._parentOrParents,n=this._ctorUnsubscribe,r=this._unsubscribe,o=this._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,e instanceof c)e.remove(this);else if(null!==e)for(var i=0;i<e.length;++i)e[i].remove(this);if(l(r)){n&&(this._unsubscribe=void 0);try{r.call(this)}catch(e){t=e instanceof k?C(e.errors):[e]}}if(v(o))for(var i=-1,s=o.length;++i<s;){var u=o[i];if(S(u))try{u.unsubscribe()}catch(e){t=t||[],e instanceof k?t=t.concat(C(e.errors)):t.push(e)}}if(t)throw new k(t)}},c.prototype.add=function(e){var t,n=e;if(!e)return c.EMPTY;switch(typeof e){case"function":n=new c(e);case"object":if(n===this||n.closed||"function"!=typeof n.unsubscribe)return n;if(this.closed)return n.unsubscribe(),n;n instanceof c||(t=n,(n=new c)._subscriptions=[t]);break;default:throw new Error("unrecognized teardown "+e+" added to Subscription.")}var r=n._parentOrParents;if(null===r)n._parentOrParents=this;else if(r instanceof c){if(r===this)return n;n._parentOrParents=[r,this]}else{if(-1!==r.indexOf(this))return n;r.push(this)}r=this._subscriptions;return null===r?this._subscriptions=[n]:r.push(n),n},c.prototype.remove=function(e){var t=this._subscriptions;!t||-1!==(e=t.indexOf(e))&&t.splice(e,1)},c.EMPTY=((e=new c).closed=!0,e),c}();function C(e){return e.reduce(function(e,t){return e.concat(t instanceof k?t.errors:t)},[])}var A=function(){return"function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random()}(),O=function(o){function i(e,t,n){var r=o.call(this)||this;switch(r.syncErrorValue=null,r.syncErrorThrown=!1,r.syncErrorThrowable=!1,r.isStopped=!1,arguments.length){case 0:r.destination=p;break;case 1:if(!e){r.destination=p;break}if("object"==typeof e){e instanceof i?(r.syncErrorThrowable=e.syncErrorThrowable,(r.destination=e).add(r)):(r.syncErrorThrowable=!0,r.destination=new P(r,e));break}default:r.syncErrorThrowable=!0,r.destination=new P(r,e,t,n)}return r}return a(i,o),i.prototype[A]=function(){return this},i.create=function(e,t,n){n=new i(e,t,n);return n.syncErrorThrowable=!1,n},i.prototype.next=function(e){this.isStopped||this._next(e)},i.prototype.error=function(e){this.isStopped||(this.isStopped=!0,this._error(e))},i.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},i.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,o.prototype.unsubscribe.call(this))},i.prototype._next=function(e){this.destination.next(e)},i.prototype._error=function(e){this.destination.error(e),this.unsubscribe()},i.prototype._complete=function(){this.destination.complete(),this.unsubscribe()},i.prototype._unsubscribeAndRecycle=function(){var e=this._parentOrParents;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this},i}(T),P=function(s){function e(e,t,n,r){var o,i=s.call(this)||this;i._parentSubscriber=e;e=i;return l(t)?o=t:t&&(o=t.next,n=t.error,r=t.complete,t!==p&&(l((e=Object.create(t)).unsubscribe)&&i.add(e.unsubscribe.bind(e)),e.unsubscribe=i.unsubscribe.bind(i))),i._context=e,i._next=o,i._error=n,i._complete=r,i}return a(e,s),e.prototype.next=function(e){var t;!this.isStopped&&this._next&&(t=this._parentSubscriber,d.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e))},e.prototype.error=function(e){if(!this.isStopped){var t=this._parentSubscriber,n=d.useDeprecatedSynchronousErrorHandling;if(this._error)n&&t.syncErrorThrowable?this.__tryOrSetError(t,this._error,e):this.__tryOrUnsub(this._error,e),this.unsubscribe();else if(t.syncErrorThrowable)n?(t.syncErrorValue=e,t.syncErrorThrown=!0):h(e),this.unsubscribe();else{if(this.unsubscribe(),n)throw e;h(e)}}},e.prototype.complete=function(){var e,t,n=this;this.isStopped||(e=this._parentSubscriber,this._complete&&(t=function(){return n._complete.call(n._context)},d.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,t):this.__tryOrUnsub(t)),this.unsubscribe())},e.prototype.__tryOrUnsub=function(e,t){try{e.call(this._context,t)}catch(e){if(this.unsubscribe(),d.useDeprecatedSynchronousErrorHandling)throw e;h(e)}},e.prototype.__tryOrSetError=function(t,e,n){if(!d.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,n)}catch(e){return d.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=e,t.syncErrorThrown=!0):(h(e),!0)}return!1},e.prototype._unsubscribe=function(){var e=this._parentSubscriber;this._context=null,this._parentSubscriber=null,e.unsubscribe()},e}(O);var U=function(){return"function"==typeof Symbol&&Symbol.observable||"@@observable"}();function D(e){return e}var j=function(){function n(e){this._isScalar=!1,e&&(this._subscribe=e)}return n.prototype.lift=function(e){var t=new n;return t.source=this,t.operator=e,t},n.prototype.subscribe=function(e,t,n){var r=this.operator,n=function(e,t,n){if(e){if(e instanceof O)return e;if(e[A])return e[A]()}return e||t||n?new O(e,t,n):new O(p)}(e,t,n);if(r?n.add(r.call(n,this.source)):n.add(this.source||d.useDeprecatedSynchronousErrorHandling&&!n.syncErrorThrowable?this._subscribe(n):this._trySubscribe(n)),d.useDeprecatedSynchronousErrorHandling&&n.syncErrorThrowable&&(n.syncErrorThrowable=!1,n.syncErrorThrown))throw n.syncErrorValue;return n},n.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){d.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),!function(e){for(;e;){var t=e.closed,n=e.destination,r=e.isStopped;if(t||r)return;e=n&&n instanceof O?n:null}return 1}(t)?console.warn(e):t.error(e)}},n.prototype.forEach=function(r,e){var o=this;return new(e=N(e))(function(e,t){var n=o.subscribe(function(e){try{r(e)}catch(e){t(e),n&&n.unsubscribe()}},t,e)})},n.prototype._subscribe=function(e){var t=this.source;return t&&t.subscribe(e)},n.prototype[U]=function(){return this},n.prototype.pipe=function(){for(var t,e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return 0===e.length?this:(0===(t=e).length?D:1===t.length?t[0]:function(e){return t.reduce(function(e,t){return t(e)},e)})(this)},n.prototype.toPromise=function(e){var r=this;return new(e=N(e))(function(e,t){var n;r.subscribe(function(e){return n=e},function(e){return t(e)},function(){return e(n)})})},n.create=function(e){return new n(e)},n}();function N(e){if(!(e=e||Promise))throw new Error("no Promise impl found");return e}var R=function(r){return function(e){for(var t=0,n=r.length;t<n&&!e.closed;t++)e.next(r[t]);e.complete()}};function L(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}var $=L(),B=function(e){return e&&"number"==typeof e.length&&"function"!=typeof e};function W(e){return e&&"function"!=typeof e.subscribe&&"function"==typeof e.then}var F=function(e){if(e&&"function"==typeof e[U])return o=e,function(e){var t=o[U]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)};if(B(e))return R(e);if(W(e))return n=e,function(t){return n.then(function(e){t.closed||(t.next(e),t.complete())},function(e){return t.error(e)}).then(null,h),t};if(e&&"function"==typeof e[$])return r=e,function(t){for(var e=r[$]();;){var n=void 0;try{n=e.next()}catch(e){return t.error(e),t}if(n.done){t.complete();break}if(t.next(n.value),t.closed)break}return"function"==typeof e.return&&t.add(function(){e.return&&e.return()}),t};var r,n,o,e=S(e)?"an invalid object":"'"+e+"'";throw new TypeError("You provided "+e+" where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.")},M=function(n){function e(e){var t=n.call(this)||this;return t.parent=e,t}return a(e,n),e.prototype._next=function(e){this.parent.notifyNext(e)},e.prototype._error=function(e){this.parent.notifyError(e),this.unsubscribe()},e.prototype._complete=function(){this.parent.notifyComplete(),this.unsubscribe()},e}(O),H=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return a(t,e),t.prototype.notifyNext=function(e){this.destination.next(e)},t.prototype.notifyError=function(e){this.destination.error(e)},t.prototype.notifyComplete=function(){this.destination.complete()},t}(O);function V(e,t){if(!t.closed){if(e instanceof j)return e.subscribe(t);var n;try{n=F(e)(t)}catch(e){t.error(e)}return n}}var K=function(r){function e(e,t){var n=r.call(this,e,t)||this;return n.scheduler=e,n.work=t,n.pending=!1,n}return a(e,r),e.prototype.schedule=function(e,t){if(void 0===t&&(t=0),this.closed)return this;this.state=e;var n=this.id,e=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(e,n,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(e,this.id,t),this},e.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),setInterval(e.flush.bind(e,this),n)},e.prototype.recycleAsyncId=function(e,t,n){if(null!==(n=void 0===n?0:n)&&this.delay===n&&!1===this.pending)return t;clearInterval(t)},e.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;t=this._execute(e,t);if(t)return t;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(e,t){var n=!1,r=void 0;try{this.work(e)}catch(e){n=!0,r=!!e&&e||new Error(e)}if(n)return this.unsubscribe(),r},e.prototype._unsubscribe=function(){var e=this.id,t=this.scheduler,n=t.actions,r=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&n.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null},e}(function(n){function e(e,t){return n.call(this)||this}return a(e,n),e.prototype.schedule=function(e,t){return this},e}(T)),q=function(){function n(e,t){void 0===t&&(t=n.now),this.SchedulerAction=e,this.now=t}return n.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.SchedulerAction(this,e).schedule(n,t)},n.now=function(){return Date.now()},n}(),z=new(function(r){function o(e,t){void 0===t&&(t=q.now);var n=r.call(this,e,function(){return o.delegate&&o.delegate!==n?o.delegate.now():t()})||this;return n.actions=[],n.active=!1,n.scheduled=void 0,n}return a(o,r),o.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),o.delegate&&o.delegate!==this?o.delegate.schedule(e,t,n):r.prototype.schedule.call(this,e,t,n)},o.prototype.flush=function(e){var t,n=this.actions;if(this.active)n.push(e);else{this.active=!0;do{if(t=e.execute(e.state,e.delay))break}while(e=n.shift());if(this.active=!1,t){for(;e=n.shift();)e.unsubscribe();throw t}}},o}(q))(K);function G(e){return e&&"function"==typeof e.schedule}function J(n){return function(e){var t=new Y(n),e=e.lift(t);return t.caught=e}}var Y=function(){function e(e){this.selector=e}return e.prototype.call=function(e,t){return t.subscribe(new Q(e,this.selector,this.caught))},e}(),Q=function(o){function e(e,t,n){e=o.call(this,e)||this;return e.selector=t,e.caught=n,e}return a(e,o),e.prototype.error=function(e){if(!this.isStopped){var t=void 0;try{t=this.selector(e,this.caught)}catch(e){return void o.prototype.error.call(this,e)}this._unsubscribeAndRecycle();var n=new M(this);this.add(n);var r=V(t,n);r!==n&&this.add(r)}},e}(H);function X(r,o){return new j(function(e){var t=new T,n=0;return t.add(o.schedule(function(){n!==r.length?(e.next(r[n++]),e.closed||t.add(this.schedule())):e.complete()})),t})}function Z(e,t){if(null!=e){if((n=e)&&"function"==typeof n[U])return i=e,s=t,new j(function(t){var n=new T;return n.add(s.schedule(function(){var e=i[U]();n.add(e.subscribe({next:function(e){n.add(s.schedule(function(){return t.next(e)}))},error:function(e){n.add(s.schedule(function(){return t.error(e)}))},complete:function(){n.add(s.schedule(function(){return t.complete()}))}}))})),n});if(W(e))return r=e,o=t,new j(function(t){var n=new T;return n.add(o.schedule(function(){return r.then(function(e){n.add(o.schedule(function(){t.next(e),n.add(o.schedule(function(){return t.complete()}))}))},function(e){n.add(o.schedule(function(){return t.error(e)}))})})),n});if(B(e))return X(e,t);if((n=e)&&"function"==typeof n[$]||"string"==typeof e)return function(t,n){if(!t)throw new Error("Iterable cannot be null");return new j(function(r){var o,e=new T;return e.add(function(){o&&"function"==typeof o.return&&o.return()}),e.add(n.schedule(function(){o=t[$](),e.add(n.schedule(function(){if(!r.closed){try{var e=o.next(),t=e.value,n=e.done}catch(e){return void r.error(e)}n?r.complete():(r.next(t),this.schedule())}}))})),e})}(e,t)}var r,o,i,s,n;throw new TypeError((null!==e&&typeof e||e)+" is not observable")}function ee(e,t){return t?Z(e,t):e instanceof j?e:new j(F(e))}function te(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n,r=e[e.length-1];return G(r)?(e.pop(),X(e,r)):(r=e,n?X(r,n):new j(R(r)))}function ne(t,n){return function(e){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return e.lift(new re(t,n))}}var re=function(){function e(e,t){this.project=e,this.thisArg=t}return e.prototype.call=function(e,t){return t.subscribe(new oe(e,this.project,this.thisArg))},e}(),oe=function(r){function e(e,t,n){e=r.call(this,e)||this;return e.project=t,e.count=0,e.thisArg=n||e,e}return a(e,r),e.prototype._next=function(e){var t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(e){return void this.destination.error(e)}this.destination.next(t)},e}(O);var ie=function(){function e(e,t){void 0===t&&(t=Number.POSITIVE_INFINITY),this.project=e,this.concurrent=t}return e.prototype.call=function(e,t){return t.subscribe(new se(e,this.project,this.concurrent))},e}(),se=function(r){function e(e,t,n){void 0===n&&(n=Number.POSITIVE_INFINITY);e=r.call(this,e)||this;return e.project=t,e.concurrent=n,e.hasCompleted=!1,e.buffer=[],e.active=0,e.index=0,e}return a(e,r),e.prototype._next=function(e){this.active<this.concurrent?this._tryNext(e):this.buffer.push(e)},e.prototype._tryNext=function(e){var t,n=this.index++;try{t=this.project(e,n)}catch(e){return void this.destination.error(e)}this.active++,this._innerSub(t)},e.prototype._innerSub=function(e){var t=new M(this),n=this.destination;n.add(t);e=V(e,t);e!==t&&n.add(e)},e.prototype._complete=function(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete(),this.unsubscribe()},e.prototype.notifyNext=function(e){this.destination.next(e)},e.prototype.notifyComplete=function(){var e=this.buffer;this.active--,0<e.length?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(H);function ue(e){return function t(o,i,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),"function"==typeof i?function(e){return e.pipe(t(function(n,r){return ee(o(n,r)).pipe(ne(function(e,t){return i(n,e,r,t)}))},n))}:("number"==typeof i&&(n=i),function(e){return e.lift(new ie(o,n))})}(D,e=void 0===e?Number.POSITIVE_INFINITY:e)}function ce(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return ue(1)(te.apply(void 0,e))}function ae(t,n){return void 0===n&&(n=z),function(e){return e.lift(new le(t,n))}}var le=function(){function e(e,t){this.dueTime=e,this.scheduler=t}return e.prototype.call=function(e,t){return t.subscribe(new fe(e,this.dueTime,this.scheduler))},e}(),fe=function(r){function e(e,t,n){e=r.call(this,e)||this;return e.dueTime=t,e.scheduler=n,e.debouncedSubscription=null,e.lastValue=null,e.hasValue=!1,e}return a(e,r),e.prototype._next=function(e){this.clearDebounce(),this.lastValue=e,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(de,this.dueTime,this))},e.prototype._complete=function(){this.debouncedNext(),this.destination.complete()},e.prototype.debouncedNext=function(){var e;this.clearDebounce(),this.hasValue&&(e=this.lastValue,this.lastValue=null,this.hasValue=!1,this.destination.next(e))},e.prototype.clearDebounce=function(){var e=this.debouncedSubscription;null!==e&&(this.remove(e),e.unsubscribe(),this.debouncedSubscription=null)},e}(O);function de(e){e.debouncedNext()}function he(e){return e instanceof Date&&!isNaN(+e)}var pe=new j(function(e){return e.complete()});function ve(e){return e?(t=e,new j(function(e){return t.schedule(function(){return e.complete()})})):pe;var t}function be(t,n){return new j(n?function(e){return n.schedule(ye,0,{error:t,subscriber:e})}:function(e){return e.error(t)})}function ye(e){var t=e.error;e.subscriber.error(t)}var me=function(){function t(e,t,n){this.kind=e,this.value=t,this.error=n,this.hasValue="N"===e}return t.prototype.observe=function(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}},t.prototype.do=function(e,t,n){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return n&&n()}},t.prototype.accept=function(e,t,n){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,n)},t.prototype.toObservable=function(){switch(this.kind){case"N":return te(this.value);case"E":return be(this.error);case"C":return ve()}throw new Error("unexpected notification kind value")},t.createNext=function(e){return void 0!==e?new t("N",e):t.undefinedValueNotification},t.createError=function(e){return new t("E",void 0,e)},t.createComplete=function(){return t.completeNotification},t.completeNotification=new t("C"),t.undefinedValueNotification=new t("N",void 0),t}();function ge(e,t){void 0===t&&(t=z);var n=he(e)?+e-t.now():Math.abs(e);return function(e){return e.lift(new _e(n,t))}}var _e=function(){function e(e,t){this.delay=e,this.scheduler=t}return e.prototype.call=function(e,t){return t.subscribe(new we(e,this.delay,this.scheduler))},e}(),we=function(r){function t(e,t,n){e=r.call(this,e)||this;return e.delay=t,e.scheduler=n,e.queue=[],e.active=!1,e.errored=!1,e}return a(t,r),t.dispatch=function(e){for(var t,n=e.source,r=n.queue,o=e.scheduler,i=e.destination;0<r.length&&r[0].time-o.now()<=0;)r.shift().notification.observe(i);0<r.length?(t=Math.max(0,r[0].time-o.now()),this.schedule(e,t)):(this.unsubscribe(),n.active=!1)},t.prototype._schedule=function(e){this.active=!0,this.destination.add(e.schedule(t.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))},t.prototype.scheduleNotification=function(e){var t;!0!==this.errored&&(t=this.scheduler,e=new Se(t.now()+this.delay,e),this.queue.push(e),!1===this.active&&this._schedule(t))},t.prototype._next=function(e){this.scheduleNotification(me.createNext(e))},t.prototype._error=function(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()},t.prototype._complete=function(){this.scheduleNotification(me.createComplete()),this.unsubscribe()},t}(O),Se=function(){return function(e,t){this.time=e,this.notification=t}}();var ke=function(){function e(e,t){this.compare=e,this.keySelector=t}return e.prototype.call=function(e,t){return t.subscribe(new xe(e,this.compare,this.keySelector))},e}(),xe=function(r){function e(e,t,n){e=r.call(this,e)||this;return e.keySelector=n,e.hasKey=!1,"function"==typeof t&&(e.compare=t),e}return a(e,r),e.prototype.compare=function(e,t){return e===t},e.prototype._next=function(e){try{var t=this.keySelector,n=t?t(e):e}catch(e){return this.destination.error(e)}var r=!1;if(this.hasKey)try{r=(0,this.compare)(this.key,n)}catch(e){return this.destination.error(e)}else this.hasKey=!0;r||(this.key=n,this.destination.next(e))},e}(O),Ee=function(){function e(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return e.prototype=Object.create(Error.prototype),e}();function Ie(t,n){return function(e){return e.lift(new Te(t,n))}}var Te=function(){function e(e,t){this.predicate=e,this.thisArg=t}return e.prototype.call=function(e,t){return t.subscribe(new Ce(e,this.predicate,this.thisArg))},e}(),Ce=function(r){function e(e,t,n){e=r.call(this,e)||this;return e.predicate=t,e.thisArg=n,e.count=0,e}return a(e,r),e.prototype._next=function(e){var t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(e){return void this.destination.error(e)}t&&this.destination.next(e)},e}(O);function Ae(t){return function(e){return 0===t?ve():e.lift(new Oe(t))}}var Oe=function(){function e(e){if(this.total=e,this.total<0)throw new Ee}return e.prototype.call=function(e,t){return t.subscribe(new Pe(e,this.total))},e}(),Pe=function(n){function e(e,t){e=n.call(this,e)||this;return e.total=t,e.count=0,e}return a(e,n),e.prototype._next=function(e){var t=this.total,n=++this.count;n<=t&&(this.destination.next(e),n===t&&(this.destination.complete(),this.unsubscribe()))},e}(O);function Ue(t){return function(e){return e.lift(new De(t))}}var De=function(){function e(e){this.total=e}return e.prototype.call=function(e,t){return t.subscribe(new je(e,this.total))},e}(),je=function(n){function e(e,t){e=n.call(this,e)||this;return e.total=t,e.count=0,e}return a(e,n),e.prototype._next=function(e){++this.count>this.total&&this.destination.next(e)},e}(O);function Ne(t,o){return"function"==typeof o?function(e){return e.pipe(Ne(function(n,r){return ee(t(n,r)).pipe(ne(function(e,t){return o(n,e,r,t)}))}))}:function(e){return e.lift(new Re(t))}}var Re=function(){function e(e){this.project=e}return e.prototype.call=function(e,t){return t.subscribe(new Le(e,this.project))},e}(),Le=function(n){function e(e,t){e=n.call(this,e)||this;return e.project=t,e.index=0,e}return a(e,n),e.prototype._next=function(e){var t,n=this.index++;try{t=this.project(e,n)}catch(e){return void this.destination.error(e)}this._innerSub(t)},e.prototype._innerSub=function(e){var t=this.innerSubscription;t&&t.unsubscribe();var n=new M(this),t=this.destination;t.add(n),this.innerSubscription=V(e,n),this.innerSubscription!==n&&t.add(this.innerSubscription)},e.prototype._complete=function(){var e=this.innerSubscription;e&&!e.closed||n.prototype._complete.call(this),this.unsubscribe()},e.prototype._unsubscribe=function(){this.innerSubscription=void 0},e.prototype.notifyComplete=function(){this.innerSubscription=void 0,this.isStopped&&n.prototype._complete.call(this)},e.prototype.notifyNext=function(e){this.destination.next(e)},e}(H);function $e(){}function Be(t,n,r){return function(e){return e.lift(new We(t,n,r))}}var We=function(){function e(e,t,n){this.nextOrObserver=e,this.error=t,this.complete=n}return e.prototype.call=function(e,t){return t.subscribe(new Fe(e,this.nextOrObserver,this.error,this.complete))},e}(),Fe=function(o){function e(e,t,n,r){e=o.call(this,e)||this;return e._tapNext=$e,e._tapError=$e,e._tapComplete=$e,e._tapError=n||$e,e._tapComplete=r||$e,l(t)?(e._context=e)._tapNext=t:t&&(e._context=t,e._tapNext=t.next||$e,e._tapError=t.error||$e,e._tapComplete=t.complete||$e),e}return a(e,o),e.prototype._next=function(e){try{this._tapNext.call(this._context,e)}catch(e){return void this.destination.error(e)}this.destination.next(e)},e.prototype._error=function(e){try{this._tapError.call(this._context,e)}catch(e){return void this.destination.error(e)}this.destination.error(e)},e.prototype._complete=function(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()},e}(O),Me=function(){function e(){return Error.call(this),this.message="Timeout has occurred",this.name="TimeoutError",this}return e.prototype=Object.create(Error.prototype),e}();var He=function(){function e(e,t,n,r){this.waitFor=e,this.absoluteTimeout=t,this.withObservable=n,this.scheduler=r}return e.prototype.call=function(e,t){return t.subscribe(new Ve(e,this.absoluteTimeout,this.waitFor,this.withObservable,this.scheduler))},e}(),Ve=function(i){function t(e,t,n,r,o){e=i.call(this,e)||this;return e.absoluteTimeout=t,e.waitFor=n,e.withObservable=r,e.scheduler=o,e.scheduleTimeout(),e}return a(t,i),t.dispatchTimeout=function(e){var t=e.withObservable;e._unsubscribeAndRecycle(),e.add(V(t,new M(e)))},t.prototype.scheduleTimeout=function(){var e=this.action;e?this.action=e.schedule(this,this.waitFor):this.add(this.action=this.scheduler.schedule(t.dispatchTimeout,this.waitFor,this))},t.prototype._next=function(e){this.absoluteTimeout||this.scheduleTimeout(),i.prototype._next.call(this,e)},t.prototype._unsubscribe=function(){this.action=void 0,this.scheduler=null,this.withObservable=null},t}(H);function Ke(e,t){return void 0===t&&(t=z),r=e,o=be(new Me),void 0===(i=t)&&(i=z),function(e){var t=he(r),n=t?+r-i.now():Math.abs(r);return e.lift(new He(n,t,o,i))};var r,o,i}var qe=!1;function ze(n,r){return x(this,void 0,void 0,function(){var t;return E(this,function(e){switch(e.label){case 0:return e.trys.push([0,4,,5]),[4,navigator.serviceWorker.ready];case 1:return t=e.sent(),"push"===r&&t.sync?[4,t.sync.register("dexie-cloud:"+n.name)]:[3,3];case 2:e.sent(),e.label=3;case 3:return t.active?t.active.postMessage({type:"dexie-cloud-sync",dbName:n.name,purpose:r}):console.error("Dexie Cloud: There's no active service worker. Can this ever happen??"),[2];case 4:return t=e.sent(),qe||(console.debug("Dexie Cloud: Could not register sync event",t),qe=!0),[3,5];case 5:return[2]}})})}function Ge(e,t){e.cloud.usingServiceWorker?ze(e,t):e.localSyncEvent.next({purpose:t})}var Je="undefined"!=typeof Buffer?function(e){return Buffer.from(e,"base64")}:function(e){for(var t=atob(e),n=t.length,r=new Uint8Array(n),o=0;o<n;o++)r[o]=t.charCodeAt(o);return r},Ye="undefined"!=typeof Buffer?function(e){return(ArrayBuffer.isView(e)?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e)).toString("base64")}:function(e){return btoa(String.fromCharCode.apply(null,e))};function Qe(r,o){return new Promise(function(t,e){var n=g(g({},o),{onSubmit:function(e){r.next(void 0),t(e)},onCancel:function(){r.next(void 0),e(new m.default.AbortError("User cancelled"))}});r.next(n)})}function Xe(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return Qe(e,{type:"message-alert",title:t,alerts:n,fields:{}})}function Ze(n,r,o){return x(this,void 0,void 0,function(){var t;return E(this,function(e){switch(e.label){case 0:t=o||"",e.label=1;case 1:return t&&/^[\w-\.]+@([\w-]+\.)+[\w-]{2,10}$/.test(t)?[3,3]:[4,Qe(n,{type:"email",title:r,alerts:t?[{type:"error",messageCode:"INVALID_EMAIL",message:"Please enter a valid email address",messageParams:{}}]:[],fields:{email:{type:"email",placeholder:"you@somedomain.com"}}})];case 2:return t=e.sent().email,[3,1];case 3:return[2,t]}})})}function et(n,r,o){return x(this,void 0,void 0,function(){var t;return E(this,function(e){switch(e.label){case 0:return t=[{type:"info",messageCode:"OTP_SENT",message:"A One-Time password has been sent to {email}",messageParams:{email:r}}],o&&t.push(o),[4,Qe(n,{type:"otp",title:"Enter OTP",alerts:t,fields:{otp:{type:"otp",label:"OTP",placeholder:"Paste OTP here"}}})];case 1:return[2,e.sent().otp]}})})}function tt(t,n,r,o,i){return x(this,void 0,void 0,function(){return E(this,function(e){switch(e.label){case 0:return n.accessToken&&n.accessTokenExpiration.getTime()>Date.now()?[2,n]:[3,1];case 1:return n.refreshToken&&(!n.refreshTokenExpiration||n.refreshTokenExpiration.getTime()>Date.now())?[4,nt(t,n)]:[3,3];case 2:return[2,e.sent()];case 3:return[4,function(i,s,u,c){return x(this,void 0,void 0,function(){var t,n,r,o;return E(this,function(e){switch(e.label){case 0:return[4,crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!1,["sign","verify"])];case 1:return n=e.sent(),t=n.privateKey,n=n.publicKey,i.nonExportablePrivateKey=t,[4,crypto.subtle.exportKey("spki",n)];case 2:r=e.sent(),r=function(e){var t="-----BEGIN PUBLIC KEY-----\n";for(;0<e.length;)t+=e.substring(0,64)+"\n",e=e.substring(64);return t+="-----END PUBLIC KEY-----"}(Ye(r)),i.publicKey=n,e.label=3;case 3:return e.trys.push([3,7,,9]),[4,s({public_key:r,hints:c})];case 4:if("tokens"!==(r=e.sent()).type)throw new Error("Unexpected response type from token endpoint: "+r.type);return i.accessToken=r.accessToken,i.accessTokenExpiration=new Date(r.accessTokenExpiration),i.refreshToken=r.refreshToken,r.refreshTokenExpiration&&(i.refreshTokenExpiration=new Date(r.refreshTokenExpiration)),i.userId=r.claims.sub,i.email=r.claims.email,i.name=r.claims.name,i.claims=r.claims,r.alerts&&0<r.alerts.length?[4,Qe(u,{type:"message-alert",title:"Authentication Alert",fields:{},alerts:r.alerts})]:[3,6];case 5:e.sent(),e.label=6;case 6:return[2,i];case 7:return o=e.sent(),[4,Xe(u,"Authentication Failed",{type:"error",messageCode:"GENERIC_ERROR",message:"We're having a problem to authenticate rigth now.",messageParams:{}}).catch(function(){})];case 8:throw e.sent(),o;case 9:return[2]}})})}(n,r,o,i)];case 4:return[2,e.sent()]}})})}function nt(i,s){return x(this,void 0,void 0,function(){var t,n,r,o;return E(this,function(e){switch(e.label){case 0:if(!s.refreshToken)throw new Error("Cannot refresh token - refresh token is missing.");if(!s.nonExportablePrivateKey)throw new Error("login.nonExportablePrivateKey is missing - cannot sign refresh token without a private key.");return r=Date.now(),t="RSASSA-PKCS1-v1_5",n=new TextEncoder,n=n.encode(s.refreshToken+r),[4,crypto.subtle.sign(t,s.nonExportablePrivateKey,n)];case 1:return n=e.sent(),n=Ye(n),r={grant_type:"refresh_token",refresh_token:s.refreshToken,scopes:["ACCESS_DB"],signature:n,signing_algorithm:t,time_stamp:r},[4,fetch(i+"/token",{body:JSON.stringify(r),method:"post",headers:{"Content-Type":"application/json"},mode:"cors"})];case 2:if(200!==(o=e.sent()).status)throw new Error("RefreshToken: Status "+o.status+" from "+i+"/token");return[4,o.json()];case 3:return o=e.sent(),s.accessToken=o.accessToken,s.accessTokenExpiration=o.accessTokenExpiration?new Date(o.accessTokenExpiration):void 0,[2,s]}})})}var rt=new WeakMap,ot=(it.load=function(t,n){return t.table("$logins").get(n).then(function(e){return new it(t,e||{userId:n,claims:{sub:n},lastLogin:new Date(0)})})},it.prototype.save=function(){return x(this,void 0,void 0,function(){return E(this,function(e){return rt.get(this).table("$logins").put(this),[2]})})},it);function it(e,t){rt.set(this,e),Object.assign(this,t)}var st,ut=(n(ct,st=Error),Object.defineProperty(ct.prototype,"name",{get:function(){return"HttpError"},enumerable:!1,configurable:!0}),ct);function ct(e,t){t=st.call(this,t||e.status+" "+e.statusText)||this;return t.httpStatus=e.status,t}function at(n,r){return x(this,void 0,void 0,function(){var t;return E(this,function(e){switch(e.label){case 0:return[4,n.getCurrentUser()];case 1:if(e.sent().isLoggedIn){if(r){if(r.email&&n.cloud.currentUser.value.email!==r.email)throw new Error("Must logout before changing user");if(r.userId&&n.cloud.currentUserId!==r.userId)throw new Error("Must logout before changing user")}return[2]}return t=new ot(n,{claims:{},lastLogin:new Date(0)}),[4,tt(n.cloud.options.databaseUrl,t,n.cloud.options.fetchTokens||(d=(f=n).cloud.userInteraction,function(e){var a=e.public_key,l=e.hints;return x(this,void 0,void 0,function(){var t,n,r,o,i,s,u,c;return E(this,function(e){switch(e.label){case 0:if(!(n=null===(n=f.cloud.options)||void 0===n?void 0:n.databaseUrl))throw new Error("No database URL given.");return"demo"!==(null==l?void 0:l.grant_type)?[3,2]:[4,Ze(d,"Enter a demo user email",(null==l?void 0:l.email)||(null==l?void 0:l.userId))];case 1:return r=e.sent(),t={demo_user:r,grant_type:"demo",scopes:["ACCESS_DB"],public_key:a},[3,4];case 2:return[4,Ze(d,"Enter email address",null==l?void 0:l.email)];case 3:r=e.sent(),t={email:r,grant_type:"otp",scopes:["ACCESS_DB"],public_key:a},e.label=4;case 4:return[4,fetch(n+"/token",{body:JSON.stringify(t),method:"post",headers:{"Content-Type":"application/json",mode:"cors"}})];case 5:return 200===(o=e.sent()).status?[3,8]:[4,o.text()];case 6:return c=e.sent(),[4,Xe(d,"Token request failed",{type:"error",messageCode:"GENERIC_ERROR",message:c,messageParams:{}}).catch(function(){})];case 7:throw e.sent(),new ut(o,c);case 8:return[4,o.json()];case 9:return"tokens"!==(s=e.sent()).type?[3,10]:[2,s];case 10:if("otp"!==t.grant_type)return[3,22];if("otp-sent"!==s.type)throw new Error("Unexpected response from "+n+"/token");return[4,et(d,t.email)];case 11:return o=e.sent(),t.otp=o||"",t.otp_id=s.otp_id,[4,fetch(n+"/token",{body:JSON.stringify(t),method:"post",headers:{"Content-Type":"application/json"},mode:"cors"})];case 12:i=e.sent(),e.label=13;case 13:return 401!==i.status?[3,17]:[4,i.text()];case 14:return s=e.sent(),u=t,[4,et(d,t.email,{type:"error",messageCode:"INVALID_OTP",message:s,messageParams:{}})];case 15:return u.otp=e.sent(),[4,fetch(n+"/token",{body:JSON.stringify(t),method:"post",headers:{"Content-Type":"application/json"},mode:"cors"})];case 16:return i=e.sent(),[3,13];case 17:return 200===i.status?[3,20]:[4,i.text()];case 18:return c=e.sent(),[4,Xe(d,"OTP Authentication Failed",{type:"error",messageCode:"GENERIC_ERROR",message:c,messageParams:{}}).catch(function(){})];case 19:throw e.sent(),new ut(i,c);case 20:return[4,i.json()];case 21:return[2,e.sent()];case 22:throw new Error("Unexpected response from "+n+"/token")}})})}),n.cloud.userInteraction,r)];case 2:return e.sent(),[4,t.save()];case 3:return e.sent(),[4,function(r,o){return x(this,void 0,void 0,function(){var n,t=this;return E(this,function(e){switch(e.label){case 0:return o.userId===r.cloud.currentUserId?[2]:(n=r.table("$logins"),[4,r.transaction("rw",n,function(e){return x(t,void 0,void 0,function(){var t;return E(this,function(e){switch(e.label){case 0:return[4,n.toArray()];case 1:return t=e.sent(),[4,Promise.all(t.filter(function(e){return e.userId!==o.userId&&e.isLoggedIn}).map(function(e){return e.isLoggedIn=!1,n.put(e)}))];case 2:return e.sent(),o.isLoggedIn=!0,o.lastLogin=new Date,[4,o.save()];case 3:return e.sent(),console.debug("Saved new user",o.email),[2]}})})})]);case 1:return e.sent(),[4,new Promise(function(t){var n;r.cloud.currentUserId===o.userId?t(null):n=r.cloud.currentUser.subscribe(function(e){e.userId===o.userId&&(n.unsubscribe(),t(null))})})];case 2:return e.sent(),[2]}})})}(n,t)];case 4:return e.sent(),Ge(n,"pull"),[2]}var f,d})})}var lt={userId:"unauthorized",name:"Unauthorized",claims:{sub:"unauthorized"},lastLogin:new Date(0)};try{Object.freeze(lt),Object.freeze(lt.claims)}catch(e){}var ft={},dt=self.document&&navigator.serviceWorker;dt&&dt.ready.then(function(e){return ft.registration=e}),"undefined"!=typeof self&&"clients"in self&&!self.document&&addEventListener("message",function(n){var e;null!==(e=null===(e=n.data)||void 0===e?void 0:e.type)&&void 0!==e&&e.startsWith("sw-broadcast-")&&_([],self.clients.matchAll({includeUncontrolled:!0})).forEach(function(e){var t;return e.id!==(null===(t=n.source)||void 0===t?void 0:t.id)&&e.postMessage(n.data)})});var ht=(pt.prototype.subscribe=function(n){var r=this;if(!dt)return function(){};function e(e){var t;(null===(t=e.data)||void 0===t?void 0:t.type)==="sw-broadcast-"+r.name&&n(e.data.message)}return dt.addEventListener("message",e),function(){return dt.removeEventListener("message",e)}},pt.prototype.postMessage=function(t){var e,n=this;"object"==typeof self.clients?_([],self.clients.matchAll({includeUncontrolled:!0})).forEach(function(e){return e.postMessage({type:"sw-broadcast-"+n.name,message:t})}):ft.registration&&null!==(e=ft.registration.active)&&void 0!==e&&e.postMessage({type:"sw-broadcast-"+this.name,message:t})},pt);function pt(e){this.name=e}var vt,bt=(n(yt,vt=y.Observable),yt.prototype.next=function(e){console.debug("BroadcastedAndLocalEvent: bc.postMessage()",g({},e),"bc is a",this.bc),this.bc.postMessage(e);e=new CustomEvent("lbc-"+this.name,{detail:e});self.dispatchEvent(e)},yt);function yt(o){var e=this,i=new("undefined"==typeof BroadcastChannel?ht:BroadcastChannel)(o);return(e=vt.call(this,function(t){function e(e){t.next(e.detail)}function n(e){console.debug("BroadcastedAndLocalEvent: onMessageEvent",e),t.next(e.data)}var r;return self.addEventListener("lbc-"+o,e),i instanceof ht?r=i.subscribe(function(e){return t.next(e)}):(console.debug("BroadcastedAndLocalEvent: bc.addEventListener()",o,"bc is a",i),i.addEventListener("message",n)),function(){self.removeEventListener("lbc-"+o,e),i instanceof ht?r():i.removeEventListener("message",n)}})||this).name=o,e.bc=i,e}function mt(e){var n=e.realms,r=e.inviteRealms;return x(this,void 0,void 0,function(){var t;return E(this,function(e){switch(e.label){case 0:return t=JSON.stringify(_(_([],n.map(function(e){return{realmId:e,accepted:!0}})),r.map(function(e){return{realmId:e,accepted:!1}})).sort(function(e,t){return e.realmId<t.realmId?-1:e.realmId>t.realmId?1:0})),t=(new TextEncoder).encode(t),[4,crypto.subtle.digest("SHA-1",t)];case 1:return t=e.sent(),[2,Ye(t)]}})})}function gt(t){return Object.entries(t.cloud.schema||{}).filter(function(e){return e[1].markedForSync}).map(function(e){e=e[0];return t.table(e)})}function _t(e){return"$"+e+"_mutations"}function wt(e){var t=null===(t=/^\$(.*)_mutations$/.exec(e))||void 0===t?void 0:t[1];if(!t)throw new Error("Given mutationTable "+e+" is not correct");return t}function St(n,e,t){var r=void 0===t?{}:t,t=r.since,o=void 0===t?{}:t,r=r.limit,i=void 0===r?1/0:r;return x(this,void 0,void 0,function(){var t=this;return E(this,function(e){switch(e.label){case 0:return[4,Promise.all(n.map(function(r){return x(t,void 0,void 0,function(){var t,n;return E(this,function(e){switch(e.label){case 0:return t=wt(r.name),n=o[t],n=n?r.where("rev").above(n):r,[4,(n=i<1/0?n.limit(i):n).toArray()];case 1:return n=e.sent(),[2,{table:t,muts:n}]}})})}))];case 1:return[2,e.sent().filter(function(e){return 0<e.muts.length})]}})})}function kt(n,s,u,r){return x(this,void 0,void 0,function(){var i,t=this;return E(this,function(e){switch(e.label){case 0:return s.isLoggedIn?0<n.length?(i=new Set(r||[]),[4,Promise.all(n.map(function(o){return x(t,void 0,void 0,function(){var n,r,t;return E(this,function(e){switch(e.label){case 0:return(n=o.core.schema.primaryKey.extractKey)?(r=u[o.name],[4,(null!=r&&r.generatedGlobalId?o.filter(function(e){return!i.has(e.realmId||"")&&c(n(e))}):o.filter(function(e){return!i.has(e.realmId||"")&&(t=n(e),!(e=null==r?void 0:r.idPrefix)||"string"==typeof t&&t.startsWith(e));var t})).toArray()]):[2,{table:o.name,muts:[]}];case 1:return 0<(t=e.sent()).length?(t={type:"insert",values:t,keys:t.map(n),userId:s.userId},[2,{table:o.name,muts:[t]}]):[2,{table:o.name,muts:[]}]}})})}))]):[3,2]:[3,2];case 1:return[2,e.sent().filter(function(e){return 0<e.muts.length})];case 2:return[2,[]]}})})}function xt(e,t){var n=(null==t?void 0:t.syncedTables)||[];return gt(e).filter(function(e){return!n.includes(e.name)})}var Et={}.toString;var It={replace:function(e){for(var t=Object.keys(e),n=null,r=0,o=t.length;r<o;++r)"$"===t[r][0]&&(n=n||[]).push(t[r]);if(!n)return e;for(var i=g({},e),s=0,u=n;s<u.length;s++){var c=u[s];delete i[c],i["$"+c]=e[c]}return i}};function Tt(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var l=e.reduce(function(e,t){return g(g({},e),t)},e.reduce(function(e,t){return g(g({},t),e)},{})),s=new WeakMap;return{stringify:function(e,n,t){return JSON.stringify(e,function(e){var t=this[e],e=function(r){var e=typeof r;switch(typeof r){case"object":case"function":if(null===r)return null;var t=Object.getPrototypeOf(r);if(!t)return It;var n=s.get(t);if(void 0!==n)return n;var o=function(e){return Et.call(e).slice(8,-1)}(r),i=Object.entries(l).find(function(e){var t=e[0],n=e[1];return null!==(n=null===(e=null==n?void 0:n.test)||void 0===e?void 0:e.call(n,r,o))&&void 0!==n?n:t===o});return n=(n=null==i?void 0:i[1])||(Array.isArray(r)?null:"function"==typeof r?l.function||null:It),s.set(t,n),n;default:return l[e]}}(t);return e?e.replace(t,n,l):t},t)},parse:function(e,u){var c=null,a=[];return JSON.parse(e,function(e,t){var n,r=null==t?void 0:t.$t;if((t=r&&(n=l[r])?n.revive(t,u,l):t)!==c)return"$"===e[0]&&"$t"!==e&&(c=this,a.push(e)),t;if(0<a.length){t=g({},t);for(var o=0,i=a;o<i.length;o++){var s=i[o];t[s.substr(1)]=t[s],delete t[s]}}return a=[],t})}}}var Ct={Blob:{test:function(e,t){return"Blob"===t},replace:function(e,t){var n=t.length;return t.push(e),{$t:"Blob",mimeType:e.type,i:n}},revive:function(e,t){var n=e.i,e=e.mimeType;return new Blob([t[n]],{type:e})}}},At={number:{replace:function(e){switch(!0){case isNaN(e):return{$t:"number",v:"NaN"};case e===1/0:return{$t:"number",v:"Infinity"};case e===-1/0:return{$t:"number",v:"-Infinity"};default:return e}},revive:function(e){e=e.v;return Number(e)}}},Ot={bigint:{replace:function(e){return{$t:"bigint",v:""+e}},revive:function(e){return BigInt(e.v)}}},Pt={Date:{replace:function(e){return{$t:"Date",v:isNaN(e.getTime())?"NaN":e.toISOString()}},revive:function(e){e=e.v;return new Date("NaN"===e?NaN:Date.parse(e))}}},Ut={Set:{replace:function(e){return{$t:"Set",v:Array.from(e.entries())}},revive:function(e){e=e.v;return new Set(e)}}},Dt={Map:{replace:function(e){return{$t:"Map",v:Array.from(e.entries())}},revive:function(e){e=e.v;return new Map(e)}}},jt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"==typeof global?global:void 0,Nt=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","DataView","BigInt64Array","BigUint64Array"].reduce(function(e,o){return g(g({},e),((e={})[o]={replace:function(e,t,n){return{$t:o,v:n.ArrayBuffer.replace(0===e.byteOffset&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),t,n).v}},revive:function(e,t,n){var r=e.v,e=jt[o];return e&&new e(n.ArrayBuffer.revive({v:r},t,n))}},e))},{});function Rt(e){return function(e){for(var t="",n=0,r=e.length;n<r;n++)t+=Bt[e[n]];return t}(Ye(e))}function Lt(e){return Je(function(e){if("string"!=typeof e)throw new Error("invalid decoder input: "+e);for(var t="",n=0,r=e.length;n<r;n++)t+=$t[e[n]];return t}(e))}for(var $t={"-":"=",0:"A",1:"B",2:"C",3:"D",4:"E",5:"F",6:"G",7:"H",8:"I",9:"J",A:"K",B:"L",C:"M",D:"N",E:"O",F:"P",G:"Q",H:"R",I:"S",J:"T",K:"U",L:"V",M:"W",N:"X",O:"Y",P:"Z",Q:"a",R:"b",S:"c",T:"d",U:"e",V:"f",W:"g",X:"h",Y:"i",Z:"j",_:"k",a:"l",b:"m",c:"n",d:"o",e:"p",f:"q",g:"r",h:"s",i:"t",j:"u",k:"v",l:"w",m:"x",n:"y",o:"z",p:"0",q:"1",r:"2",s:"3",t:"4",u:"5",v:"6",w:"7",x:"8",y:"9",z:"+","|":"/"},Bt={},Wt=0,Ft=Object.keys($t);Wt<Ft.length;Wt++){var Mt=Ft[Wt];Bt[$t[Mt]]=Mt}var K={ArrayBuffer:{replace:function(e){return{$t:"ArrayBuffer",v:Rt(e)}},revive:function(e){e=Lt(e.v);return e.buffer.byteLength===e.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}}},Ht=function(e,t){this.buf=e,this.type=t};var H={Blob:{test:function(e,t){return"Blob"===t||e instanceof Ht},replace:function(e){return{$t:"Blob",v:Ye(e instanceof Ht?e.buf:function(e){for(var t=new Uint8Array(e.length),n=0;n<e.length;++n)t[n]=e.charCodeAt(n);return t.buffer}(function(e){var t=new XMLHttpRequest;if(t.overrideMimeType("text/plain; charset=x-user-defined"),t.open("GET",URL.createObjectURL(e),!1),t.send(),200!==t.status&&0!==t.status)throw new Error("Bad Blob access: "+t.status);return t.responseText}(e))),type:e.type}},revive:function(e){e.type;e=e.v,e=Je(e);return new Blob([e])}}},Vt=g(g(g(g(g(g(g(g({},At),Ot),Pt),Ut),Dt),Nt),K),H);function Kt(r){return new Promise(function(t,n){var e=new FileReader;e.onabort=function(e){return n(new Error("file read aborted"))},e.onerror=function(e){return n(e.target.error)},e.onload=function(e){return t(e.target.result)},e.readAsArrayBuffer(r)})}var Nt={undefined:{replace:function(){},revive:function(){}}},K="bigint"==typeof BigInt(0),qt=(zt.prototype.toString=function(){return this.v},zt);function zt(e){this.v=e}var H=g(g({},Nt),K?{}:{bigint:{test:function(e){return e instanceof qt},replace:function(e){return g({$t:"bigint"},e)},revive:function(e){e=e.v;return new qt(e)}}}),Gt=Tt(Vt,H),Jt=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var a=Tt.apply(void 0,_([Vt,Ct],e));return{toBinary:function(e){var t=this.stringify(e),n=t[0],e=t[1],t=new ArrayBuffer(4);return new DataView(t).setUint32(0,n.size),new Blob([t,n,e])},stringify:function(e){var t=[],e=a.stringify(e,t);return[new Blob(t.map(function(e){var t=new ArrayBuffer(4);return new DataView(t).setUint32(0,"byteLength"in e?e.byteLength:e.size),new Blob([t,e])})),e]},parse:function(u,c){return x(this,void 0,void 0,function(){var t,n,r,o,i,s;return E(this,function(e){switch(e.label){case 0:return t=0,n=[],[4,Kt(c)];case 1:for(r=e.sent(),o=new DataView(r);t<r.byteLength;)i=o.getUint32(t),t+=4,s=r.slice(t,t+i),t+=i,n.push(s);return[2,a.parse(u,n)]}})})},fromBinary:function(i){return x(this,void 0,void 0,function(){var t,n,o;return E(this,function(e){switch(e.label){case 0:return t=DataView.bind,[4,Kt(i.slice(0,4))];case 1:return o=(new(t.apply(DataView,[void 0,e.sent()]))).getUint32(0),n=i.slice(4,o+4),[4,(r=i.slice(o+4),new Promise(function(t,n){var e=new FileReader;e.onabort=function(e){return n(new Error("file read aborted"))},e.onerror=function(e){return n(e.target.error)},e.onload=function(e){return t(e.target.result)},e.readAsText(r)}))];case 2:return o=e.sent(),[4,this.parse(o,n)];case 3:return[2,e.sent()]}var r})})}}}(H);function Yt(s,u,c,a,l,f,d){return x(this,void 0,void 0,function(){var t,n,r,o,i;return E(this,function(e){switch(e.label){case 0:return t={Accept:"application/json, application/x-bison, application/x-bison-stream","Content-Type":"application/tson"},[4,function(c){return x(this,void 0,void 0,function(){var t,n,r,o,i,s,u;return E(this,function(e){switch(e.label){case 0:return[4,c.getCurrentUser()];case 1:if(t=e.sent(),n=t.accessToken,r=t.accessTokenExpiration,o=t.refreshToken,i=t.refreshTokenExpiration,s=t.claims,!n)return[2];if((null!==(r=null==r?void 0:r.getTime())&&void 0!==r?r:1/0)>Date.now())return[2,n];if(!o)throw new Error("Refresh token missing");if((null!==(i=null==i?void 0:i.getTime())&&void 0!==i?i:1/0)<=Date.now())throw new Error("Refresh token has expired");return[4,nt(c.cloud.options.databaseUrl,t)];case 2:return u=e.sent(),[4,c.table("$logins").update(s.sub,{accessToken:u.accessToken,accessTokenExpiration:u.accessTokenExpiration})];case 3:return e.sent(),[2,u.accessToken]}})})}(a)];case 1:return(n=e.sent())&&(t.Authorization="Bearer "+n),n={v:2,dbID:null==u?void 0:u.remoteDbId,clientIdentity:d,schema:f||{},lastPull:u?{serverRevision:u.serverRevision,realms:u.realms,inviteRealms:u.inviteRealms}:void 0,baseRevs:c,changes:s},console.debug("Sync request",n),a.syncStateChangedEvent.next({phase:"pushing"}),[4,fetch(l+"/sync",{method:"post",headers:t,body:Gt.stringify(n)})];case 2:if(i=e.sent(),a.syncStateChangedEvent.next({phase:"pulling"}),!i.ok)throw new ut(i);switch(i.headers.get("content-type")){case"application/x-bison":return[3,3];case"application/x-bison-stream":case"application/json":return[3,5]}return[3,5];case 3:return o=(r=Jt).fromBinary,[4,i.blob()];case 4:return[2,o.apply(r,[e.sent()])];case 5:return[4,i.text()];case 6:return i=e.sent(),[2,Gt.parse(i)]}})})}function Qt(i,s,u){return x(this,void 0,void 0,function(){var t,n,r,o;return E(this,function(e){switch(e.label){case 0:t=new Set(u||[]),n=0,r=i,e.label=1;case 1:return n<r.length?"members"!==(o=r[n]).name?[3,3]:[4,o.toCollection().modify(function(e){t.has(e.realmId)||e.userId!==lt.userId||(e.userId=s.userId)})]:[3,9];case 2:return e.sent(),[3,8];case 3:return"roles"!==o.name?[3,4]:[3,8];case 4:return"realms"!==o.name?[3,6]:[4,o.toCollection().modify(function(e){(t.has(e.realmId)||e.owner)&&e.owner!==lt.userId||(e.owner=s.userId)})];case 5:return e.sent(),[3,8];case 6:return[4,o.toCollection().modify(function(e){e.realmId&&t.has(e.realmId)||(e.owner&&e.owner!==lt.userId||(e.owner=s.userId),e.realmId&&e.realmId!==lt.userId||(e.realmId=s.userId))})];case 7:e.sent(),e.label=8;case 8:return n++,[3,1];case 9:return[2]}})})}function Xt(e){if(null!=e&&e.cancelled)throw new m.default.AbortError("Operation was cancelled")}var Zt=navigator.onLine;function en(t,n,r,o){return x(this,void 0,void 0,function(){return E(this,function(e){switch(e.label){case 0:return[4,t.$baseRevs.bulkPut(Object.keys(n).filter(function(e){return n[e].markedForSync}).map(function(e){return{tableName:e,clientRev:(r[e]||0)+1,serverRev:o}}))];case 1:return e.sent(),[2]}})})}function tn(e,t){void 0===t&&(t={});for(var n=0,r=e;n<r.length;n++){var o=r[n],i=o.table,o=o.muts,o=0<o.length?o[o.length-1].rev:null;t[i]=o||t[i]||0}return t}self.addEventListener("online",function(){return Zt=!0}),self.addEventListener("offline",function(){return Zt=!1});var nn="currentSyncWorker";function rn(n,r,o,i){var e=this;return function l(y,m,g,e){var e=void 0===e?{isInitialSync:!1}:e,_=e.isInitialSync,w=e.cancelToken,S=e.justCheckIfNeeded,k=e.purpose;return x(this,void 0,void 0,function(){var t,i,f,d,s,h,u,n,r,o,c,p,v,b,a=this;return E(this,function(e){switch(e.label){case 0:if(S||console.debug("SYNC STARTED",{isInitialSync:_,purpose:k}),null===(o=y.cloud.options)||void 0===o||!o.databaseUrl)throw new Error("Internal error: sync must not be called when no databaseUrl is configured");return t=m.databaseUrl,[4,y.getCurrentUser()];case 1:return i=e.sent(),f=i.isLoggedIn?gt(y):[],d=f.map(function(e){return y.table(_t(e.name))}),[4,y.getPersistedSyncState()];case 2:return(s=e.sent(),h=!_&&i.isLoggedIn?xt(y,s):[],Xt(w),u=0<h.length)?S?[2,!0]:(console.debug("sync doSyncify is true"),[4,y.transaction("rw",h,function(t){return x(a,void 0,void 0,function(){return E(this,function(e){switch(e.label){case 0:return t.idbtrans.disableChangeTracking=!0,t.idbtrans.disableAccessControl=!0,[4,Qt(h,i,null==s?void 0:s.realms)];case 1:return e.sent(),[2]}})})})]):[3,4];case 3:e.sent(),Xt(w),e.label=4;case 4:return[4,y.transaction("r",y.tables,function(){return x(a,void 0,void 0,function(){var t,n,r,o;return E(this,function(e){switch(e.label){case 0:return[4,y.getPersistedSyncState()];case 1:return t=e.sent(),[4,y.$baseRevs.toArray()];case 2:return n=e.sent(),[4,St(d)];case 3:return r=e.sent(),Xt(w),u?[4,kt(h,i,g,null==s?void 0:s.realms)]:[3,5];case 4:return o=e.sent(),Xt(w),[2,[r=r.concat(o),t,n]];case 5:return[2,[r,t,n]]}})})})];case 5:return(c=e.sent(),n=c[0],r=c[1],o=c[2],c=n.some(function(e){return e.muts.some(function(e){return 0<e.keys.length})}),S)?(console.debug("Sync is needed:",c),[2,c]):"push"!==k||c?(p=tn(n,null==r?void 0:r.latestRevisions),v=(null==r?void 0:r.clientIdentity)||I(16),Xt(w),[4,Yt(n,r,o,y,t,g,v)]):[2,!1];case 6:return b=e.sent(),console.debug("Sync response",b),[4,y.transaction("rw",y.tables,function(l){return x(a,void 0,void 0,function(){var t,n,r,o,i,s,u,c,a;return E(this,function(e){switch(e.label){case 0:for(l.idbtrans.disableChangeTracking=!0,l.idbtrans.disableAccessControl=!0,t=0,n=Object.keys(g);t<n.length;t++)r=n[t],b.schema[r]&&(g[r]=b.schema[r]);return[4,y.$syncState.put(g,"schema")];case 1:return e.sent(),[4,St(d,0,{since:p})];case 2:o=e.sent(),i=function(t){var n,r;return E(this,function(e){switch(e.label){case 0:return n=wt(t.name),o.some(function(e){return e.table===n&&0<e.muts.length})?[3,2]:[4,Promise.all([t.clear(),y.$baseRevs.where({tableName:n}).delete()])];case 1:return e.sent(),[3,5];case 2:return p[t.name]?(r=p[t.name]||0,[4,Promise.all([t.where("rev").belowOrEqual(r).delete(),y.$baseRevs.where(":id").between([n,-1/0],[n,r+1],!0,!0).reverse().offset(1).delete()])]):[3,4];case 3:return e.sent(),[3,5];case 4:e.label=5;case 5:return[2]}})},s=0,u=d,e.label=3;case 3:return s<u.length?(u=u[s],[5,i(u)]):[3,6];case 4:e.sent(),e.label=5;case 5:return s++,[3,3];case 6:return tn(o,p),[4,en(y,g,p,b.serverRevision)];case 7:return e.sent(),[4,y.getPersistedSyncState()];case 8:return c=e.sent(),[4,on(y,b,c)];case 9:return e.sent(),(a=c||{syncedTables:[],latestRevisions:{},realms:[],inviteRealms:[],clientIdentity:v}).syncedTables=f.map(function(e){return e.name}).concat(h.map(function(e){return e.name})),a.latestRevisions=p,a.remoteDbId=b.dbId,a.initiallySynced=!0,a.realms=b.realms,a.inviteRealms=b.inviteRealms,a.serverRevision=b.serverRevision,a.timestamp=new Date,delete a.error,[4,sn(un(b.changes,o),y)];case 10:return e.sent(),y.$syncState.put(a,"syncState"),[2,0===o.length]}})})})];case 7:return e.sent()?[3,9]:(console.debug("MORE SYNC NEEDED. Go for it again!"),[4,l(y,m,g,{isInitialSync:_,cancelToken:w})]);case 8:return[2,e.sent()];case 9:return console.debug("SYNC DONE",{isInitialSync:_}),[2,!1]}})})}.apply(this,arguments).then(function(){null!=i&&i.justCheckIfNeeded||n.syncStateChangedEvent.next({phase:"in-sync"})}).catch(function(t){return x(e,void 0,void 0,function(){return E(this,function(e){switch(e.label){case 0:return null!=i&&i.justCheckIfNeeded?[2,Promise.reject(t)]:(console.debug("Error from _sync",{isOnline:Zt,syncOptions:i,error:t}),Zt&&null!=i&&i.retryImmediatelyOnFetchError&&"TypeError"===(null==t?void 0:t.name)&&/fetch/.test(null==t?void 0:t.message)?(n.syncStateChangedEvent.next({phase:"error",error:t}),[4,new Promise(function(e){return setTimeout(e,500)})]):[3,3]);case 1:return e.sent(),[4,rn(n,r,o,g(g({},i),{retryImmediatelyOnFetchError:!1}))];case 2:return[2,e.sent()];case 3:return[4,n.$syncState.update("syncState",{timestamp:new Date,error:""+t})];case 4:return e.sent(),n.syncStateChangedEvent.next({phase:Zt?"error":"offline",error:t}),[2,Promise.reject(t)]}})})})}function on(l,f,d){return x(this,void 0,void 0,function(){var t,n,r,o,i,s,u,c,a;return E(this,function(e){switch(e.label){case 0:for(t=[],u=d?d.realms.concat(d.inviteRealms):[],n=new Set(_(_([],f.realms),f.inviteRealms)),r=0,o=u;r<o.length;r++)i=o[r],n.has(i)||t.push(i);if(!(0<t.length))return[3,6];s=new Set(t),c=gt(l),u=0,c=c,e.label=1;case 1:return u<c.length?(a=c[u]).schema.indexes.some(function(e){return"realmId"===e.keyPath||Array.isArray(e.keyPath)&&"realmId"===e.keyPath[0]})?[4,a.where("realmId").anyOf(t).delete()]:[3,3]:[3,6];case 2:return e.sent(),[3,5];case 3:return[4,a.filter(function(e){return!(null==e||!e.realmId)&&s.has(e.realmId)}).delete()];case 4:e.sent(),e.label=5;case 5:return u++,[3,1];case 6:return[2]}})})}function sn(i,c){return x(this,void 0,void 0,function(){var t,n,r,o;return E(this,function(e){switch(e.label){case 0:console.debug("Applying server changes",i,m.default.currentTransaction),t=function(t,n){var r,o,i,s,u;return E(this,function(e){switch(e.label){case 0:if(!(r=c.table(t)))return[2,"continue"];o=r.core.schema.primaryKey,i=function(n){return E(this,function(e){switch(e.label){case 0:switch(n.type){case"insert":return[3,1];case"upsert":return[3,6];case"modify":return[3,11];case"update":return[3,16];case"delete":return[3,18]}return[3,20];case 1:return o.outbound?[4,r.bulkAdd(n.values,n.keys)]:[3,3];case 2:return e.sent(),[3,5];case 3:return n.keys.forEach(function(e,t){m.default.setByKeyPath(n.values[t],o.keyPath,e)}),[4,r.bulkAdd(n.values)];case 4:e.sent(),e.label=5;case 5:return[3,20];case 6:return o.outbound?[4,r.bulkPut(n.values,n.keys)]:[3,8];case 7:return e.sent(),[3,10];case 8:return n.keys.forEach(function(e,t){m.default.setByKeyPath(n.values[t],o.keyPath,e)}),[4,r.bulkPut(n.values)];case 9:e.sent(),e.label=10;case 10:return[3,20];case 11:return 1!==n.keys.length?[3,13]:[4,r.update(n.keys[0],n.changeSpec)];case 12:return e.sent(),[3,15];case 13:return[4,r.where(":id").anyOf(n.keys).modify(n.changeSpec)];case 14:e.sent(),e.label=15;case 15:return[3,20];case 16:return[4,function(l,t,f){return x(this,void 0,void 0,function(){var u,c,a;return E(this,function(e){switch(e.label){case 0:return[4,l.bulkGet(t)];case 1:return u=e.sent(),c=[],a=[],t.forEach(function(e,t){var n=u[t];if(n){for(var r=0,o=Object.entries(f[t]);r<o.length;r++){var i=o[r],s=i[0],i=i[1];if(s===l.schema.primKey.keyPath)throw new Error("Cannot change primary key");m.default.setByKeyPath(n,s,i)}c.push(e),a.push(n)}}),[4,null==l.schema.primKey.keyPath?l.bulkPut(a,c):l.bulkPut(a)];case 2:return e.sent(),[2]}})})}(r,n.keys,n.changeSpecs)];case 17:return e.sent(),[3,20];case 18:return[4,r.bulkDelete(n.keys)];case 19:return e.sent(),[3,20];case 20:return[2]}})},s=0,u=n,e.label=1;case 1:return s<u.length?(u=u[s],[5,i(u)]):[3,4];case 2:e.sent(),e.label=3;case 3:return s++,[3,1];case 4:return[2]}})},n=0,r=i,e.label=1;case 1:return n<r.length?(o=r[n],r=o.table,o=o.muts,[5,t(r,o)]):[3,4];case 2:e.sent(),e.label=3;case 3:return n++,[3,1];case 4:return[2]}})})}function un(e,t){var n={};s(n,e);e={};return s(e,t),function(e,t){for(var n,r,o=0,i=Object.entries(t);o<i.length;o++)for(var s=(u=i[o])[0],u=u[1],c=0,a=Object.entries(u);c<a.length;c++){var l,f=a[c],d=f[0],h=f[1];switch(h.type){case"ups":if(l=null===(n=e[s])||void 0===n?void 0:n[d])switch(l.type){case"ups":delete e[s][d];break;case"del":break;case"upd":delete e[s][d]}break;case"del":null===(r=e[s])||void 0===r||delete r[d];break;case"upd":if(l=null===(r=e[s])||void 0===r?void 0:r[d])switch(l.type){case"ups":for(var p=0,v=Object.entries(h.mod);p<v.length;p++){var b=v[p],y=b[0],b=b[1];w(l.val,y,b)}break;case"del":break;case"upd":for(var m=0,g=Object.keys(h.mod);m<g.length;m++){y=g[m];delete l.mod[y]}}}}}(n,e),function(e){for(var t=I(16),n={},r=0,o=Object.entries(e);r<o.length;r++)for(var i=o[r],s=i[0],u=i[1],c=0,a=Object.entries(u);c<a.length;c++){var l=a[c],f=l[0],d=l[1],l=n[s]||(n[s]={});(l[d.type]||(l[d.type]=[])).push(Object.assign({key:f},d))}for(var h=[],p=0,v=Object.entries(n);p<v.length;p++){for(var b=v[p],s=b[0],u=b[1],y={table:s,muts:[]},m=0,g=Object.entries(u);m<g.length;m++){var _=g[m],w=_[0],S=_[1];switch(w){case"ups":d={type:"upsert",keys:S.map(function(e){return e.key}),values:S.map(function(e){return e.val}),txid:t};y.muts.push(d);break;case"upd":d={type:"update",keys:S.map(function(e){return e.key}),changeSpecs:S.map(function(e){return e.mod}),txid:t};y.muts.push(d);break;case"del":d={type:"delete",keys:S.map(function(e){return e.key}),txid:t};y.muts.push(d)}}h.push(y)}return h}(n)}function cn(a){var e=this,s=[],t=new y.BehaviorSubject(!0),n=new y.BehaviorSubject(null),r=!1,o=0,i=[0,0,0,0,0,0,0,0,0,Date.now()];return n.subscribe(function(){return x(e,void 0,void 0,function(){return E(this,function(e){switch(e.label){case 0:if(r)return[2];if(!(0<s.length))return[3,8];r=!0,i.shift(),i.push(Date.now()),t.next(!1),e.label=1;case 1:return e.trys.push([1,,3,8]),[4,function(){return x(this,void 0,void 0,function(){var o,i,t,c=this;return E(this,function(e){switch(e.label){case 0:t=function(){var u,t,n,r;return E(this,function(e){switch(e.label){case 0:u=s.shift(),e.label=1;case 1:return e.trys.push([1,12,,13]),console.debug("processing msg",u),[4,a.cloud.syncState.pipe(Ie(function(e){e=e.phase;return"in-sync"===e||"error"===e}),Ae(1)).toPromise()];case 2:if(e.sent(),console.debug("processing msg",u),r=a.cloud.persistedSyncState.value,!u)return[2,"continue"];switch(u.type){case"token-expired":return[3,3];case"realm-added":return[3,6];case"realm-removed":return[3,7];case"realms-changed":return[3,8];case"changes":return[3,9]}return[3,11];case 3:return console.debug("WebSocket observable: Token expired. Refreshing token..."),t=a.cloud.currentUser.value,[4,nt(a.cloud.options.databaseUrl,t)];case 4:return n=e.sent(),[4,a.table("$logins").update(t.userId,{accessToken:n.accessToken,accessTokenExpiration:n.accessTokenExpiration})];case 5:return e.sent(),[3,11];case 6:return null!==(o=null==r?void 0:r.realms)&&void 0!==o&&o.includes(u.realm)||Ge(a,"pull"),[3,11];case 7:return null!==(i=null==r?void 0:r.realms)&&void 0!==i&&i.includes(u.realm)&&Ge(a,"pull"),[3,11];case 8:return Ge(a,"pull"),[3,11];case 9:return console.debug("changes"),"error"===(null===(i=a.cloud.syncState.value)||void 0===i?void 0:i.phase)?(Ge(a,"pull"),[3,11]):[4,a.transaction("rw",a.dx.tables,function(s){return x(c,void 0,void 0,function(){var t,n,r,o,i;return E(this,function(e){switch(e.label){case 0:return s.idbtrans.disableChangeTracking=!0,s.idbtrans.disableAccessControl=!0,[4,Promise.all([a.getSchema(),a.getPersistedSyncState(),a.getCurrentUser()])];case 1:return r=e.sent(),t=r[0],n=r[1],i=r[2],console.debug("ws message queue: in transaction"),n&&t&&i?u.baseRev!==n.serverRevision?(console.debug("baseRev ("+u.baseRev+") differs from our serverRevision in syncState ("+n.serverRevision+")"),"string"!=typeof u.baseRev||"bigint"!=typeof n.serverRevision&&"object"!=typeof n.serverRevision||Ge(a,"pull"),[2]):[4,m.default.waitFor(mt(n))]:(console.debug("required vars not present",{syncState:n,schema:t,currentUser:i}),[2]);case 2:return(r=e.sent(),console.debug("ourRealmSetHash",r),r!==u.realmSetHash)?(console.debug("not same realmSetHash",u.realmSetHash),Ge(a,"pull"),[2]):(o=[],i.isLoggedIn?[4,St(gt(a).map(function(e){return a.table(_t(e.name))}))]:[3,4]);case 3:o=e.sent(),console.debug("msg queue: client changes",o),e.label=4;case 4:return 0<u.changes.length?(i=un(u.changes,o),console.debug("applying filtered server changes",i),[4,sn(i,a)]):[3,6];case 5:e.sent(),e.label=6;case 6:return n.latestRevisions=tn(o,n.latestRevisions),n.serverRevision=u.newRev,console.debug("Updating baseRefs",n.latestRevisions),[4,en(a,t,n.latestRevisions,u.newRev)];case 7:return e.sent(),console.debug("Updating syncState",n),[4,a.$syncState.put(n,"syncState")];case 8:return e.sent(),[2]}})})})];case 10:return e.sent(),console.debug("msg queue: done with rw transaction"),[3,11];case 11:return[3,13];case 12:return r=e.sent(),console.error("Error in msg queue",r),[3,13];case 13:return[2]}})},e.label=1;case 1:return 0<s.length?[5,t()]:[3,3];case 2:return e.sent(),[3,1];case 3:return[2]}})})}()];case 2:return e.sent(),[3,8];case 3:return i[i.length-1]-i[0]<1e4?Date.now()-o<5e3?(console.warn("Slowing down websocket loop for one minute"),o=Date.now()+6e4,[4,new Promise(function(e){return setTimeout(e,6e4)})]):[3,5]:[3,7];case 4:return e.sent(),[3,7];case 5:return console.warn("Slowing down websocket loop for 10 seconds"),o=Date.now()+1e4,[4,new Promise(function(e){return setTimeout(e,1e4)})];case 6:e.sent(),e.label=7;case 7:return r=!1,t.next(!0),[7];case 8:return[2]}})})}),{enqueue:function(e){s.push(e),n.next(null)},readyToServe:t}}var an=new WeakMap,ln={realms:"@realmId",members:"@id",roles:"[realmId+name]",$jobs:"",$syncState:"",$baseRevs:"[tableName+clientRev]",$logins:"claims.sub, lastLogin"},fn=0;function dn(e){"vip"in e&&(e=e.vip);var t,n,r,o=an.get(e.cloud);return o||(r=new y.Subject,t=new bt("syncstatechanged-"+e.name),r.id=++fn,n=!1,o={get name(){return e.name},close:function(){return e.close()},transaction:e.transaction.bind(e),table:e.table.bind(e),get tables(){return e.tables},cloud:e.cloud,get $jobs(){return e.table("$jobs")},get $syncState(){return e.table("$syncState")},get $baseRevs(){return e.table("$baseRevs")},get $logins(){return e.table("$logins")},get realms(){return e.realms},get members(){return e.members},get roles(){return e.roles},get initiallySynced(){return n},localSyncEvent:r,get syncStateChangedEvent(){return t},dx:e},r={getCurrentUser:function(){return o.$logins.toArray().then(function(e){return e.find(function(e){return e.isLoggedIn})||lt})},getPersistedSyncState:function(){return o.$syncState.get("syncState")},getSchema:function(){return o.$syncState.get("schema")},getOptions:function(){return o.$syncState.get("options")},setInitiallySynced:function(e){n=e},reconfigure:function(){t=new bt("syncstatechanged-"+e.name)}},Object.assign(o,r),o.messageConsumer=cn(o),an.set(e.cloud,o)),o}var Nt="undefined"!=typeof InstallTrigger,K="undefined"!=typeof navigator&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\/|Edge\//.test(navigator.userAgent),H=K?[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]:NaN,hn=K&&H<=605||Nt;var pn="undefined"!=typeof self&&"clients"in self&&!self.document;function vn(){throw new m.default.SchemaError("Version increment needed to allow dexie-cloud change tracking")}var bn={}.toString;function yn(e){return bn.call(e).slice(8,-1)}function mn(e,t){var n;return"delete"===t.type?t.keys:(null===(n=t.keys)||void 0===n?void 0:n.slice())||t.values.map(e.extractKey)}var gn=/b|c|d|f|g|h|j|k|l|m|n|p|q|r|s|t|v|x|y|z/i;var _n=0;function wn(h){return{stack:"dbcore",name:"idGenerationMiddleware",level:1,create:function(e){return g(g({},e),{table:function(f){var d=e.table(f);function o(u,c){var a=null,l=mn(d.schema.primaryKey,u);return l.forEach(function(e,t){if(void 0===e){var n=u.values[t].realmId||h.cloud.currentUserId,r=n.substr(n.length-3);l[t]=(o=c,i=r,s=new Uint8Array(18),n=new Uint8Array(s.buffer,0,6),(r=Date.now())<=_n?++_n:_n=r,n[0]=_n/1099511627776,n[1]=_n/4294967296,n[2]=_n/16777216,n[3]=_n/65536,n[4]=_n/256,n[5]=_n,n=new Uint8Array(s.buffer,6),crypto.getRandomValues(n),o+Rt(new Uint8Array(s.buffer))+(i||"")),d.schema.primaryKey.outbound||((a=a||u.values.slice())[t]=m.default.deepClone(a[t]),m.default.setByKeyPath(a[t],d.schema.primaryKey.keyPath,l[t]))}else if("string"!=typeof e||!e.startsWith(c))throw new m.default.ConstraintError('The ID "'+e+'" is not valid for table "'+f+"\". Primary '@' keys requires the key to be prefixed with \""+c+".\n\"If you want to generate IDs programmatically, remove '@' from the schema to get rid of this constraint. Dexie Cloud supports custom IDs as long as they are random and globally unique.");var o,i,s}),d.mutate(g(g({},u),{keys:l,values:a||u.values}))}return g(g({},d),{mutate:function(t){var e;if(t.trans.disableChangeTracking)return d.mutate(t);if("add"===t.type||"put"===t.type){var n=null===(e=h.cloud.schema)||void 0===e?void 0:e[f];if(null!=n&&n.generatedGlobalId){if(null===(e=h.cloud.options)||void 0===e||!e.databaseUrl||h.initiallySynced)return o(t,n.idPrefix);var r=mn(d.schema.primaryKey,t);return d.getMany({keys:r,trans:t.trans,cache:"immutable"}).then(function(e){if(e.length<r.length)throw new Error("Unable to create new objects without an initial sync having been performed.");return d.mutate(t)})}null!=n&&n.markedForSync&&mn(d.schema.primaryKey,t).forEach(function(e,t){if(!c(e)){e=Array.isArray(e)?e.map(yn).join(","):yn(e);throw new m.default.ConstraintError("Invalid primary key type "+e+" for table "+f+". Tables marked for sync has primary keys of type string or Array of string (and optional numbers)")}})}return d.mutate(t)}})}})}}}function Sn(e){e=new Uint8Array(e);return crypto.getRandomValues(e),btoa(String.fromCharCode.apply(null,e))}var kn=0;function xn(e){var i,s,t="$lock"+ ++kn;return g(g({},e),{count:En(e.count,t),get:En(e.get,t),getMany:En(e.getMany,t),openCursor:En(e.openCursor,t),query:En(e.query,t),mutate:(i=e.mutate,s=t,function(e){var t,n=e.trans[s]||(e.trans[s]={writers:[],readers:[]}),r=n.readers,o=n.writers,r=(0<o.length?o[o.length-1].then(function(){return i(e)},function(){return i(e)}):0<r.length?(t=r,new Promise(function(n){0===t.length&&n([]);var r=t.length,o=new Array(r);t.forEach(function(e,t){return Promise.resolve(e).then(function(e){return o[t]={status:"fulfilled",value:e}},function(e){return o[t]={status:"rejected",reason:e}}).then(function(){return--r||n(o)})})}).then(function(){return i(e)})):i(e)).finally(function(){return o.shift()});return o.push(r),r})})}function En(i,s){return function(e){var t=e.trans[s]||(e.trans[s]={writers:[],readers:[]}),n=t.readers,r=t.writers,t=r.length,o=(0<t?r[t-1].then(function(){return i(e)},function(){return i(e)}):i(e)).finally(function(){return n.splice(n.indexOf(o))});return n.push(o),o}}var In=new y.BehaviorSubject(new Set);function Tn(n,s){return function(e,t){var r=g(g({},ln),e),o=s.cloud.schema||(s.cloud.schema={}),i=new Set;return Object.keys(r).forEach(function(e){var t=r[e],n=o[e]||(o[e]={});null!=t?(/^\@/.test(t)&&(r[e]=r[e].substr(1),n.generatedGlobalId=!0,n.idPrefix=function(e,t){for(var n,r,o,i=e[0].toLocaleLowerCase(),s=1,u=e.length;s<u&&i.length<3;++s)(gn.test(e[s])||"A"<=(n=e[s])&&n<="Z")&&(i+=e[s].toLowerCase());for(;t.has(i);){if(/\d/g.test(i)){if(!(3<(i=i.substr(0,i.length-1)+(i[i.length-1]+1)).length))continue;i=i.substr(0,3)}else if(i.length<3){i+="2";continue}for(var c,a=1,l=i;t.has(l)&&a<8;)r=i,l=(1&(o=a)?r[0].toUpperCase():r[0].toLowerCase())+(2&o?r[1].toUpperCase():r[1].toLowerCase())+(4&o?r[2].toUpperCase():r[2].toLowerCase()),++a;i=a<8?l:(c=i.charCodeAt(2)+1&127,i.substr(0,2)+String.fromCharCode(c))}return i}(e,i),i.add(n.idPrefix)),/^\$/.test(e)||(r["$"+e+"_mutations"]="++rev",n.markedForSync=!0),n.deleted&&(n.deleted=!1)):(n.deleted=!0,n.markedForSync=!1,r["$"+e+"_mutations"]=null)}),n.call(this,r,t)}}var Cn=6e4,An=Sn(16),On=1e3,Pn=+Cn;function Un(i,s,u,r,e){var c=(void 0===e?{}:e).awaitRemoteJob;return x(this,void 0,void 0,function(){var o,t,n=this;return E(this,function(e){switch(e.label){case 0:return o=i.table(u),[4,function r(){return x(this,void 0,void 0,function(){var t,n=this;return E(this,function(e){switch(e.label){case 0:return[4,i.transaction("rw!",u,function(){return x(n,void 0,void 0,function(){var t;return E(this,function(e){switch(e.label){case 0:return[4,o.get(s)];case 1:return(t=e.sent())?[3,3]:[4,o.add({nodeId:An,started:new Date,heartbeat:new Date},s)];case 2:return e.sent(),[2,!0];case 3:return t.heartbeat.getTime()<Date.now()-Pn?(console.warn("Latest "+s+" worker seem to have died.\n","The dead job started:",t.started,"\n","Last heart beat was:",t.heartbeat,"\n","We're now taking over!"),[4,o.put({nodeId:An,started:new Date,heartbeat:new Date},s)]):[3,5];case 4:return e.sent(),[2,!0];case 5:return[2,!1]}})})})];case 1:if(e.sent())return[2,!0];if(!c)return[3,6];e.label=2;case 2:return e.trys.push([2,4,,6]),[4,y.from(b.liveQuery(function(){return o.get(s)})).pipe(Ke(Pn),Ie(function(e){return!e})).toPromise()];case 3:return e.sent(),[2,!1];case 4:if("TimeoutError"!==(t=e.sent()).name)throw t;return[4,r()];case 5:return[2,e.sent()];case 6:return[2,!1]}})})}()];case 1:if(!e.sent())return[3,6];t=setInterval(function(){o.update(s,function(e){return e.nodeId===An&&(e.heartbeat=new Date)})},On),e.label=2;case 2:return e.trys.push([2,,4,6]),[4,r()];case 3:return[2,e.sent()];case 4:return clearInterval(t),[4,i.transaction("rw!",u,function(){return x(n,void 0,void 0,function(){var t;return E(this,function(e){switch(e.label){case 0:return[4,o.get(s)];case 1:return(t=e.sent())&&t.nodeId===An&&o.delete(s),[2]}})})})];case 5:return e.sent(),[7];case 6:return[2]}})})}var Dn,jn,Nn=new y.BehaviorSubject(!0),Rn=new y.BehaviorSubject(!0);Nn.pipe(Ne(function(e){return e?y.of(!0):y.of(!1).pipe(ge(2e4))}),function(e){return e.lift(new ke(Dn,jn))}).subscribe(Rn);var H="undefined"!=typeof document?y.fromEvent(document,"visibilitychange"):y.of({}),Nt=H.pipe(Ie(function(){return"hidden"===document.visibilityState})),H=H.pipe(Ie(function(){return"visible"===document.visibilityState})),Ln="undefined"!=typeof window?y.merge(H,y.fromEvent(window,"mousemove"),y.fromEvent(window,"keydown"),y.fromEvent(window,"wheel"),y.fromEvent(window,"touchmove")):y.of({});"undefined"!=typeof document&&y.merge(y.of(!0),Nt,Ln).pipe(ne(function(){return"visible"===document.visibilityState}),Be(function(e){Nn.value!==e&&Nn.next(e)}),Ne(function(e){return e?y.of(0).pipe(ge(28e4),Be(function(){return Nn.next(!1)})):y.of(0)})).subscribe(function(){});var $n,Bn=(n(Wn,$n=Error),Wn);function Wn(){var e=$n.apply(this,arguments)||this;return e.name="TokenExpiredError",e}var Fn,Mn=(n(Hn,Fn=y.Observable),Hn);function Hn(t,n,r,o,i,s,u,c){return Fn.call(this,function(e){return new qn(t,n,r,o,u,c,e,i,s)})||this}var Vn,Kn=0,qn=(n(zn,Vn=y.Subscription),zn.prototype.teardown=function(){console.debug("Teardown WebSocket Connection",this.id),this.disconnect()},zn.prototype.disconnect=function(){if(this.webSocketStatus.next("disconnected"),this.pinger&&(clearInterval(this.pinger),this.pinger=null),this.ws)try{this.ws.close()}catch(e){}this.ws=null,this.messageProducerSubscription&&(this.messageProducerSubscription.unsubscribe(),this.messageProducerSubscription=null)},zn.prototype.reconnect=function(){this.disconnect(),this.connect()},zn.prototype.connect=function(){return x(this,void 0,void 0,function(){var t,n,r,o=this;return E(this,function(e){switch(e.label){case 0:if(this.webSocketStatus.next("connecting"),this.lastServerActivity=new Date,this.pauseUntil&&this.pauseUntil>new Date)return console.debug("WS not reconnecting just yet",{id:this.id,pauseUntil:this.pauseUntil}),[2];if(this.ws)throw new Error("Called connect() when a connection is already open");if(!this.databaseUrl)throw new Error("Cannot connect without a database URL");if(this.closed)return[2];if(this.tokenExpiration&&this.tokenExpiration<new Date)return this.subscriber.error(new Bn),[2];if(this.pinger=setInterval(function(){return x(o,void 0,void 0,function(){var t=this;return E(this,function(e){if(this.closed)return console.debug("pinger check",this.id,"CLOSED."),this.teardown(),[2];if(this.ws)try{this.ws.send(JSON.stringify({type:"ping"})),setTimeout(function(){if(console.debug("pinger setTimeout",t.id,t.pinger?"alive":"dead"),t.pinger)return t.closed?(console.debug("pinger setTimeout",t.id,"subscription is closed"),void t.teardown()):void(t.lastServerActivity<new Date(Date.now()-2e4)?(console.debug("pinger: server is inactive"),console.debug("pinger reconnecting"),t.reconnect()):console.debug("pinger: server still active"))},2e4)}catch(e){console.debug("pinger catch error",this.id,"reconnecting"),this.reconnect()}else console.debug("pinger",this.id,"reconnecting"),this.reconnect();return[2]})})},3e4),(t=new URL(this.databaseUrl)).protocol="http:"===t.protocol?"ws":"wss",n=new URLSearchParams,this.subscriber.closed)return[2];n.set("v","2"),n.set("rev",this.rev),n.set("realmsHash",this.realmSetHash),n.set("clientId",this.clientIdentity),this.token&&n.set("token",this.token),console.debug("dexie-cloud WebSocket create"),(r=this.ws=new WebSocket(t+"/changes?"+n)).onclose=function(e){o.pinger&&(console.debug("dexie-cloud WebSocket onclosed",o.id),o.reconnect())},r.onmessage=function(e){if(o.pinger){console.debug("dexie-cloud WebSocket onmessage",e.data),o.lastServerActivity=new Date;try{var t=Gt.parse(e.data);if("error"===t.type)throw new Error("Error message from dexie-cloud: "+t.error);"rev"===t.type&&(o.rev=t.rev),"pong"!==t.type&&o.subscriber.next(t)}catch(e){o.subscriber.error(e)}}},e.label=1;case 1:return e.trys.push([1,3,,4]),[4,new Promise(function(t,n){r.onopen=function(e){console.debug("dexie-cloud WebSocket onopen"),t(null)},r.onerror=function(e){e=e.error||new Error("WebSocket Error");o.disconnect(),o.subscriber.error(e),o.webSocketStatus.next("error"),n(e)}})];case 2:return e.sent(),this.messageProducerSubscription=this.messageProducer.subscribe(function(e){var t;o.closed||("ready"===e.type&&"connected"!==o.webSocketStatus.value&&o.webSocketStatus.next("connected"),null!==(t=o.ws)&&void 0!==t&&t.send(Gt.stringify(e)))}),[3,4];case 3:return e.sent(),this.pauseUntil=new Date(Date.now()+6e4),[3,4];case 4:return[2]}})})},zn);function zn(e,t,n,r,o,i,s,u,c){var a=Vn.call(this,function(){return a.teardown()})||this;return a.id=++Kn,console.debug("New WebSocket Connection",a.id,o?"authorized":"unauthorized"),a.databaseUrl=e,a.rev=t,a.realmSetHash=n,a.clientIdentity=r,a.token=o,a.tokenExpiration=i,a.subscriber=s,a.lastUserActivity=new Date,a.messageProducer=u,a.messageProducerSubscription=null,a.webSocketStatus=c,a.connect(),a}function Gn(n){return x(this,void 0,void 0,function(){return E(this,function(e){switch(e.label){case 0:return console.error("WebSocket observable: error but revive when user does some active thing...",n),[4,(t=3e3,new Promise(function(e){return setTimeout(e,t)}))];case 1:return e.sent(),console.debug("waiting for someone to do something"),[4,Ln.pipe(Ae(1)).toPromise()];case 2:return e.sent(),console.debug("someone did something!"),[2]}var t})})}function Jn(r){var e;if(null===(e=r.cloud.options)||void 0===e||!e.databaseUrl)throw new Error("No database URL to connect WebSocket to");var n=r.messageConsumer.readyToServe.pipe(Ie(function(e){return e}),Ne(function(){return r.getPersistedSyncState()}),Ie(function(e){return e&&e.serverRevision}),ne(function(e){return{type:"ready",rev:e.serverRevision}}));return function t(){var o=this;return r.cloud.persistedSyncState.pipe(Ie(function(e){return null==e?void 0:e.serverRevision}),Ae(1),Ne(function(t){return r.cloud.currentUser.pipe(ne(function(e){return[e,t]}))}),Ne(function(e){var t=e[0],n=e[1];return Rn.pipe(ne(function(e){return[e?t:null,n]}))}),Ne(function(e){var n=e[0],r=e[1];return x(o,void 0,void 0,function(){var t;return E(this,function(e){switch(e.label){case 0:return t=[n],[4,mt(r)];case 1:return[2,t.concat([e.sent()])]}})})}),Ne(function(e){var t=e[0],e=e[1];return t?new Mn(r.cloud.options.databaseUrl,r.cloud.persistedSyncState.value.serverRevision,e,r.cloud.persistedSyncState.value.clientIdentity,n,r.cloud.webSocketStatus,t.accessToken,t.accessTokenExpiration):y.from([])}),J(function(e){return"TokenExpiredError"===(null==e?void 0:e.name)?(console.debug("WebSocket observable: Token expired. Refreshing token..."),y.of(!0).pipe(Ne(function(){return x(o,void 0,void 0,function(){var t,n;return E(this,function(e){switch(e.label){case 0:return[4,r.getCurrentUser()];case 1:return t=e.sent(),[4,nt(r.cloud.options.databaseUrl,t)];case 2:return n=e.sent(),[4,r.table("$logins").update(t.userId,{accessToken:n.accessToken,accessTokenExpiration:n.accessTokenExpiration})];case 3:return e.sent(),[2]}})})}),Ne(function(){return t()}))):y.throwError(e)}),J(function(e){return y.from(Gn(e)).pipe(Ne(function(){return t()}))}))}().subscribe(function(e){e&&(console.debug("WS got message",e),r.messageConsumer.enqueue(e))},function(e){console.error("Oops! The main observable errored!",e)},function(){console.error("Oops! The main observable completed!")})}function Yn(r){return x(this,void 0,void 0,function(){var t,n;return E(this,function(e){switch(e.label){case 0:return null!==(t=r.cloud.options)&&void 0!==t&&t.databaseUrl&&r.cloud.schema?[4,rn(r,r.cloud.options,r.cloud.schema,{justCheckIfNeeded:!0})]:[3,2];case 1:return n=e.sent(),[3,3];case 2:n=!1,e.label=3;case 3:return[2,n]}})})}var Qn=new WeakMap;function Xn(e,r,o){var t=null,i={cancelled:!1};function s(t,n){void 0===n&&(n=1),setTimeout(function(){(function e(n,r,o,i){var t=Qn.get(n);if(t){if(t.pull||"push"===(null==i?void 0:i.purpose))return console.debug("syncIfPossible(): returning the ongoing sync promise."),t.promise;var s=!1,u=n.cloud.syncState.subscribe(function(e){"pulling"===e.phase&&(s=!0)});return t.promise.then(function(){u.unsubscribe()}).catch(function(e){return u.unsubscribe(),Promise.reject(e)}).then(function(){if(!s)return e(n,r,o,i)})}t=function(){return x(this,void 0,void 0,function(){var t;return E(this,function(e){switch(e.label){case 0:return e.trys.push([0,6,,7]),n.cloud.usingServiceWorker?pn?[4,rn(n,r,o,i)]:[3,2]:[3,3];case 1:e.sent(),e.label=2;case 2:return[3,5];case 3:return[4,Un(n,nn,"$jobs",function(){return rn(n,r,o,i)})];case 4:e.sent(),e.label=5;case 5:return Qn.delete(n),console.debug("Done sync"),[3,7];case 6:throw t=e.sent(),Qn.delete(n),console.error("Failed to sync client changes",t),t;case 7:return[2]}})})}();return Qn.set(n,{promise:t,pull:"push"!==(null==i?void 0:i.purpose)}),t})(e,r,o,{cancelToken:i,retryImmediatelyOnFetchError:!0,purpose:t}).catch(function(e){console.error("error in syncIfPossible()",e),i.cancelled?u():n<3&&setTimeout(function(){return s(t,n+1)},[0,5,15][n]*Cn)})},0)}var u=function(){console.debug("Stopping LocalSyncWorker"),i.cancelled=!0,t&&t.unsubscribe()};return{start:function(){console.debug("Starting LocalSyncWorker",e.localSyncEvent.id),t=e.localSyncEvent.subscribe(function(e){var t=e.purpose;try{s(t||"pull")}catch(e){console.error("What-the....",e)}})},stop:u}}function Zn(e,t){if(e&&t&&t.unsyncedTables)for(var n=0,r=t.unsyncedTables;n<r.length;n++){var o=r[n];e[o]&&(e[o].markedForSync=!1)}}var er,tr,nr={},rr=[],or=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function ir(e,t){for(var n in t)e[n]=t[n];return e}function sr(e){var t=e.parentNode;t&&t.removeChild(e)}function ur(e,t,n){var r,o,i,s=arguments,u={};for(i in t)"key"==i?r=t[i]:"ref"==i?o=t[i]:u[i]=t[i];if(3<arguments.length)for(n=[n],i=3;i<arguments.length;i++)n.push(s[i]);if(null!=n&&(u.children=n),"function"==typeof e&&null!=e.defaultProps)for(i in e.defaultProps)void 0===u[i]&&(u[i]=e.defaultProps[i]);return cr(e,u,r,o,null)}function cr(e,t,n,r,o){o={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++er.__v:o};return null!=er.vnode&&er.vnode(o),o}function ar(e){return e.children}function lr(e,t){this.props=e,this.context=t}function fr(e,t){if(null==t)return e.__?fr(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e)return n.__e;return"function"==typeof e.type?fr(e):null}function dr(e){(!e.__d&&(e.__d=!0)&&xr.push(e)&&!hr.__r++||tr!==er.debounceRendering)&&((tr=er.debounceRendering)||Er)(hr)}function hr(){for(var e;hr.__r=xr.length;)e=xr.sort(function(e,t){return e.__v.__b-t.__v.__b}),xr=[],e.some(function(e){var t,n,r,o,i;e.__d&&(o=(r=(t=e).__v).__e,(i=t.__P)&&(n=[],(e=ir({},r)).__v=r.__v+1,_r(i,r,e,t.__n,void 0!==i.ownerSVGElement,null!=r.__h?[o]:null,n,null==o?fr(r):o,r.__h),wr(n,r),r.__e!=o&&function e(t){var n,r;if(null!=(t=t.__)&&null!=t.__c){for(t.__e=t.__c.base=null,n=0;n<t.__k.length;n++)if(null!=(r=t.__k[n])&&null!=r.__e){t.__e=t.__c.base=r.__e;break}return e(t)}}(r)))})}function pr(e,t,n,r,o,i,s,u,c,a){var l,f,d,h,p,v,b,y=r&&r.__k||rr,m=y.length;for(n.__k=[],l=0;l<t.length;l++)if(null!=(h=n.__k[l]=null==(h=t[l])||"boolean"==typeof h?null:"string"==typeof h||"number"==typeof h||"bigint"==typeof h?cr(null,h,null,null,h):Array.isArray(h)?cr(ar,{children:h},null,null,null):0<h.__b?cr(h.type,h.props,h.key,null,h.__v):h)){if(h.__=n,h.__b=n.__b+1,null===(d=y[l])||d&&h.key==d.key&&h.type===d.type)y[l]=void 0;else for(f=0;f<m;f++){if((d=y[f])&&h.key==d.key&&h.type===d.type){y[f]=void 0;break}d=null}_r(e,h,d=d||nr,o,i,s,u,c,a),p=h.__e,(f=h.ref)&&d.ref!=f&&(b=b||[],d.ref&&b.push(d.ref,null,h),b.push(f,h.__c||p,h)),null!=p?(null==v&&(v=p),"function"==typeof h.type&&null!=h.__k&&h.__k===d.__k?h.__d=c=function e(t,n,r){var o,i;for(o=0;o<t.__k.length;o++)(i=t.__k[o])&&(i.__=t,n="function"==typeof i.type?e(i,n,r):vr(r,i,i,t.__k,i.__e,n));return n}(h,c,e):c=vr(e,h,d,y,p,c),a||"option"!==n.type?"function"==typeof n.type&&(n.__d=c):e.value=""):c&&d.__e==c&&c.parentNode!=e&&(c=fr(d))}for(n.__e=v,l=m;l--;)null!=y[l]&&("function"==typeof n.type&&null!=y[l].__e&&y[l].__e==n.__d&&(n.__d=fr(r,l+1)),function e(t,n,r){var o,i,s;if(er.unmount&&er.unmount(t),(o=t.ref)&&(o.current&&o.current!==t.__e||Sr(o,null,n)),r||"function"==typeof t.type||(r=null!=(i=t.__e)),t.__e=t.__d=void 0,null!=(o=t.__c)){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(t){er.__e(t,n)}o.base=o.__P=null}if(o=t.__k)for(s=0;s<o.length;s++)o[s]&&e(o[s],n,r);null!=i&&sr(i)}(y[l],y[l]));if(b)for(l=0;l<b.length;l++)Sr(b[l],b[++l],b[++l])}function vr(e,t,n,r,o,i){var s,u,c;if(void 0!==t.__d)s=t.__d,t.__d=void 0;else if(null==n||o!=i||null==o.parentNode)e:if(null==i||i.parentNode!==e)e.appendChild(o),s=null;else{for(u=i,c=0;(u=u.nextSibling)&&c<r.length;c+=2)if(u==o)break e;e.insertBefore(o,i),s=i}return void 0!==s?s:o.nextSibling}function br(e,t,n){"-"===t[0]?e.setProperty(t,n):e[t]=null==n?"":"number"!=typeof n||or.test(t)?n:n+"px"}function yr(e,t,n,r,o){var i;e:if("style"===t)if("string"==typeof n)e.style.cssText=n;else{if("string"==typeof r&&(e.style.cssText=r=""),r)for(t in r)n&&t in n||br(e.style,t,"");if(n)for(t in n)r&&n[t]===r[t]||br(e.style,t,n[t])}else if("o"===t[0]&&"n"===t[1])i=t!==(t=t.replace(/Capture$/,"")),t=(t.toLowerCase()in e?t.toLowerCase():t).slice(2),e.l||(e.l={}),e.l[t+i]=n,n?r||e.addEventListener(t,i?gr:mr,i):e.removeEventListener(t,i?gr:mr,i);else if("dangerouslySetInnerHTML"!==t){if(o)t=t.replace(/xlink[H:h]/,"h").replace(/sName$/,"s");else if("href"!==t&&"list"!==t&&"form"!==t&&"tabIndex"!==t&&"download"!==t&&t in e)try{e[t]=null==n?"":n;break e}catch(e){}"function"==typeof n||(null!=n&&(!1!==n||"a"===t[0]&&"r"===t[1])?e.setAttribute(t,n):e.removeAttribute(t))}}function mr(e){this.l[e.type+!1](er.event?er.event(e):e)}function gr(e){this.l[e.type+!0](er.event?er.event(e):e)}function _r(e,t,n,r,o,i,s,u,c){var a,l,f,d,h,p,v,b,y,m,g=t.type;if(void 0===t.constructor){null!=n.__h&&(c=n.__h,u=t.__e=n.__e,t.__h=null,i=[u]),(a=er.__b)&&a(t);try{e:if("function"==typeof g){if(v=t.props,b=(a=g.contextType)&&r[a.__c],y=a?b?b.props.value:a.__:r,n.__c?p=(l=t.__c=n.__c).__=l.__E:("prototype"in g&&g.prototype.render?t.__c=l=new g(v,y):(t.__c=l=new lr(v,y),l.constructor=g,l.render=kr),b&&b.sub(l),l.props=v,l.state||(l.state={}),l.context=y,l.__n=r,m=l.__d=!0,l.__h=[]),null==l.__s&&(l.__s=l.state),null!=g.getDerivedStateFromProps&&(l.__s==l.state&&(l.__s=ir({},l.__s)),ir(l.__s,g.getDerivedStateFromProps(v,l.__s))),f=l.props,d=l.state,m)null==g.getDerivedStateFromProps&&null!=l.componentWillMount&&l.componentWillMount(),null!=l.componentDidMount&&l.__h.push(l.componentDidMount);else{if(null==g.getDerivedStateFromProps&&v!==f&&null!=l.componentWillReceiveProps&&l.componentWillReceiveProps(v,y),!l.__e&&null!=l.shouldComponentUpdate&&!1===l.shouldComponentUpdate(v,l.__s,y)||t.__v===n.__v){l.props=v,l.state=l.__s,t.__v!==n.__v&&(l.__d=!1),(l.__v=t).__e=n.__e,t.__k=n.__k,t.__k.forEach(function(e){e&&(e.__=t)}),l.__h.length&&s.push(l);break e}null!=l.componentWillUpdate&&l.componentWillUpdate(v,l.__s,y),null!=l.componentDidUpdate&&l.__h.push(function(){l.componentDidUpdate(f,d,h)})}l.context=y,l.props=v,l.state=l.__s,(a=er.__r)&&a(t),l.__d=!1,l.__v=t,l.__P=e,a=l.render(l.props,l.state,l.context),l.state=l.__s,null!=l.getChildContext&&(r=ir(ir({},r),l.getChildContext())),m||null==l.getSnapshotBeforeUpdate||(h=l.getSnapshotBeforeUpdate(f,d)),m=null!=a&&a.type===ar&&null==a.key?a.props.children:a,pr(e,Array.isArray(m)?m:[m],t,n,r,o,i,s,u,c),l.base=t.__e,t.__h=null,l.__h.length&&s.push(l),p&&(l.__E=l.__=null),l.__e=!1}else null==i&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=function(e,t,n,r,o,i,s,u){var c,a,l,f,d=n.props,h=t.props,p=t.type,v=0;if("svg"===p&&(o=!0),null!=i)for(;v<i.length;v++)if((c=i[v])&&(c===e||(p?c.localName==p:3==c.nodeType))){e=c,i[v]=null;break}if(null==e){if(null===p)return document.createTextNode(h);e=o?document.createElementNS("http://www.w3.org/2000/svg",p):document.createElement(p,h.is&&h),i=null,u=!1}if(null===p)d===h||u&&e.data===h||(e.data=h);else{if(i=i&&rr.slice.call(e.childNodes),a=(d=n.props||nr).dangerouslySetInnerHTML,l=h.dangerouslySetInnerHTML,!u){if(null!=i)for(d={},f=0;f<e.attributes.length;f++)d[e.attributes[f].name]=e.attributes[f].value;(l||a)&&(l&&(a&&l.__html==a.__html||l.__html===e.innerHTML)||(e.innerHTML=l&&l.__html||""))}if(function(e,t,n,r,o){for(var i in n)"children"===i||"key"===i||i in t||yr(e,i,null,n[i],r);for(i in t)o&&"function"!=typeof t[i]||"children"===i||"key"===i||"value"===i||"checked"===i||n[i]===t[i]||yr(e,i,t[i],n[i],r)}(e,h,d,o,u),l)t.__k=[];else if(v=t.props.children,pr(e,Array.isArray(v)?v:[v],t,n,r,o&&"foreignObject"!==p,i,s,e.firstChild,u),null!=i)for(v=i.length;v--;)null!=i[v]&&sr(i[v]);u||("value"in h&&void 0!==(v=h.value)&&(v!==e.value||"progress"===p&&!v)&&yr(e,"value",v,d.value,!1),"checked"in h&&void 0!==(v=h.checked)&&v!==e.checked&&yr(e,"checked",v,d.checked,!1))}return e}(n.__e,t,n,r,o,i,s,c);(a=er.diffed)&&a(t)}catch(e){t.__v=null,!c&&null==i||(t.__e=u,t.__h=!!c,i[i.indexOf(u)]=null),er.__e(e,t,n)}}}function wr(e,t){er.__c&&er.__c(t,e),e.some(function(t){try{e=t.__h,t.__h=[],e.some(function(e){e.call(t)})}catch(e){er.__e(e,t.__v)}})}function Sr(e,t,n){try{"function"==typeof e?e(t):e.current=t}catch(e){er.__e(e,n)}}function kr(e,t,n){return this.constructor(e,n)}er={__e:function(e,t){for(var n,r,o;t=t.__;)if((n=t.__c)&&!n.__)try{if((r=n.constructor)&&null!=r.getDerivedStateFromError&&(n.setState(r.getDerivedStateFromError(e)),o=n.__d),null!=n.componentDidCatch&&(n.componentDidCatch(e),o=n.__d),o)return n.__E=n}catch(t){e=t}throw e},__v:0},lr.prototype.setState=function(e,t){var n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=ir({},this.state);(e="function"==typeof e?e(ir({},n),this.props):e)&&ir(n,e),null!=e&&this.__v&&(t&&this.__h.push(t),dr(this))},lr.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),dr(this))},lr.prototype.render=ar;var xr=[],Er="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Ir={Error:{color:"red"},Alert:{error:{color:"red"},warning:{color:"yellow"},info:{color:"black"}},Darken:{position:"fixed",top:hr.__r=0,left:0,opacity:.5,backgroundColor:"#000",width:"100vw",height:"100vh",zIndex:150,webkitBackdropFilter:"blur(2px)",backdropFilter:"blur(2px)"},DialogOuter:{position:"fixed",top:0,left:0,width:"100vw",height:"100vh",zIndex:150,alignItems:"center",display:"flex",justifyContent:"center"},DialogInner:{position:"relative",color:"#222",backgroundColor:"#fff",padding:"30px",marginBottom:"2em",maxWidth:"90%",maxHeight:"90%",overflowY:"auto",border:"3px solid #3d3d5d",borderRadius:"8px",boxShadow:"0 0 80px 10px #666",width:"auto"},Input:{height:"35px",width:"17em",borderColor:"#ccf4",outline:"none",fontSize:"17pt",padding:"8px"}};function Tr(e){e=e.children;return ur("div",null,ur("div",{style:Ir.Darken}),ur("div",{style:Ir.DialogOuter},ur("div",{style:Ir.DialogInner},e)))}var Cr,Ar,Or,Pr=0,Ur=[],Dr=er.__b,jr=er.__r,Nr=er.diffed,Rr=er.__c,Lr=er.unmount;function $r(e,t){er.__h&&er.__h(Ar,e,Pr||t),Pr=0;t=Ar.__H||(Ar.__H={__:[],__h:[]});return e>=t.__.length&&t.__.push({}),t.__[e]}function Br(e){return Pr=1,t=qr,e=e,(r=$r(Cr++,2)).t=t,r.__c||(r.__=[n?n(e):qr(void 0,e),function(e){e=r.t(r.__[0],e);r.__[0]!==e&&(r.__=[e,r.__[1]],r.__c.setState({}))}],r.__c=Ar),r.__;var t,n,r}function Wr(e){return Pr=5,t=function(){return{current:e}},n=[],Kr((r=$r(Cr++,7)).__H,n)&&(r.__=t(),r.__H=n,r.__h=t),r.__;var t,n,r}function Fr(){Ur.forEach(function(t){if(t.__P)try{t.__H.__h.forEach(Hr),t.__H.__h.forEach(Vr),t.__H.__h=[]}catch(e){t.__H.__h=[],er.__e(e,t.__v)}}),Ur=[]}er.__b=function(e){Ar=null,Dr&&Dr(e)},er.__r=function(e){jr&&jr(e),Cr=0;e=(Ar=e.__c).__H;e&&(e.__h.forEach(Hr),e.__h.forEach(Vr),e.__h=[])},er.diffed=function(e){Nr&&Nr(e);e=e.__c;e&&e.__H&&e.__H.__h.length&&(1!==Ur.push(e)&&Or===er.requestAnimationFrame||((Or=er.requestAnimationFrame)||function(e){function t(){clearTimeout(r),Mr&&cancelAnimationFrame(n),setTimeout(e)}var n,r=setTimeout(t,100);Mr&&(n=requestAnimationFrame(t))})(Fr)),Ar=void 0},er.__c=function(e,n){n.some(function(t){try{t.__h.forEach(Hr),t.__h=t.__h.filter(function(e){return!e.__||Vr(e)})}catch(e){n.some(function(e){e.__h&&(e.__h=[])}),n=[],er.__e(e,t.__v)}}),Rr&&Rr(e,n)},er.unmount=function(e){Lr&&Lr(e);var t=e.__c;if(t&&t.__H)try{t.__H.__.forEach(Hr)}catch(e){er.__e(e,t.__v)}};var Mr="function"==typeof requestAnimationFrame;function Hr(e){var t=Ar;"function"==typeof e.__c&&e.__c(),Ar=t}function Vr(e){var t=Ar;e.__c=e.__(),Ar=t}function Kr(n,e){return!n||n.length!==e.length||e.some(function(e,t){return e!==n[t]})}function qr(e,t){return"function"==typeof t?t(e):t}function zr(e){var t,n=e.title,r=e.alerts,o=e.fields,i=e.onCancel,s=e.onSubmit,u=Br({}),c=u[0],a=u[1],l=Wr();return t=function(){var e;return null===(e=l.current)||void 0===e?void 0:e.focus()},e=[],u=$r(Cr++,4),!er.__s&&Kr(u.__H,e)&&(u.__=t,u.__H=e,Ar.__h.push(u)),ur(Tr,null,ur(ar,null,ur("h3",{style:Ir.WindowHeader},n),r.map(function(e){return ur("p",{style:Ir.Alert[e.type]},function(e){var t=e.message;e.messageCode;var n=e.messageParams;return t.replace(/\{\w+\}/gi,function(e){return n[e.substr(1,e.length-2)]})}(e))}),ur("form",{onSubmit:function(e){e.preventDefault(),s(c)}},Object.entries(o).map(function(e,t){var n=e[0],r=e[1],o=r.type,e=r.label,r=r.placeholder;return ur("label",{style:Ir.Label},e?e+": ":"",ur("input",{ref:0===t?l:void 0,type:o,name:n,autoComplete:"on",style:Ir.Input,autoFocus:!0,placeholder:r,value:c[n]||"",onInput:function(e){var t;return a(g(g({},c),((t={})[n]=function(e,t){switch(e){case"email":return t.toLowerCase();case"otp":return t.toUpperCase();default:return t}}(o,null===(e=e.target)||void 0===e?void 0:e.value),t)))}}))}))),ur("div",{style:Ir.ButtonsDiv},ur("button",{type:"submit",style:Ir.Button,onClick:function(){return s(c)}},"Submit"),ur("button",{style:Ir.Button,onClick:i},"Cancel")))}var Gr,Jr=(n(Yr,Gr=lr),Yr.prototype.componentDidMount=function(){this.subscription=y.from(this.props.db.cloud.userInteraction).subscribe(this.observer)},Yr.prototype.componentWillUnmount=function(){this.subscription&&(this.subscription.unsubscribe(),delete this.subscription)},Yr.prototype.render=function(e,t){t=t.userInteraction;return t?ur(zr,Object.assign({},t)):null},Yr);function Yr(e){var t=Gr.call(this,e)||this;return t.observer=function(e){return t.setState({userInteraction:e})},t.state={userInteraction:void 0},t}function Qr(e){var t,n,r,o,i,s=document.createElement("div");document.body.appendChild(s),t=ur(Jr,{db:e.vip}),n=s,er.__&&er.__(t,n),i=(o="function"==typeof r)?null:r&&r.__k||n.__k,e=[],_r(n,t=(!o&&r||n).__k=ur(ar,null,[t]),i||nr,nr,void 0!==n.ownerSVGElement,!o&&r?[r]:!i&&n.firstChild?rr.slice.call(n.childNodes):null,e,!o&&r?r:i?i.__e:n.firstChild,o),wr(e,t);var u=!1;return{unsubscribe:function(){s.remove(),u=!0},get closed(){return u}}}function Xr(u){var r=u.cloud.webSocketStatus.value,e=u.cloud.webSocketStatus.pipe(Ne(function(e){var t=r;r=e;var n=y.of(e);switch(e){case"disconnected":return Nn.value?n.pipe(ae(500)):n;case"connecting":return"not-started"===t||"error"===t?n:n.pipe(ae(4e3));default:return n}}));return y.combineLatest([e,u.syncStateChangedEvent.pipe(function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=t[t.length-1];return G(n)?(t.pop(),function(e){return ce(t,e,n)}):function(e){return ce(t,e)}}({phase:"initial"})),Rn]).pipe(ne(function(e){var t=e[0],n=e[1],r=e[2],o=n.phase,i=n.error,s=n.progress,e="error"===o?"error":t;return"not-started"===t&&("pushing"!==o&&"pulling"!==o||(e="connecting")),"error"!==u.cloud.syncState.value.phase||"pushing"!==n.phase&&"pulling"!==n.phase||(e="connecting"),r||(e="disconnected"),{phase:o,error:i,progress:s,status:Zt?e:"offline"}}))}function Zr(c){var e=this,t=c.name,a=new y.BehaviorSubject(lt),l=[],f=null;c.on("ready",function(n){return x(e,void 0,void 0,function(){var t;return E(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,function(u){return x(this,void 0,void 0,function(){var t,n,r,d,h,o,i,s=this;return E(this,function(e){switch(e.label){case 0:return p=!1,d=dn(u),pn||(null!==(t=d.cloud.options)&&void 0!==t&&t.customLoginGui||l.push(Qr(u)),l.push(Xr(d).subscribe(u.cloud.syncState))),d.tables.every(function(e){return e.core})||vn(),"serviceWorker"in navigator?[4,navigator.serviceWorker.getRegistrations()]:[3,2];case 1:return o=e.sent(),[3,3];case 2:o=[],e.label=3;case 3:return h=o,[4,d.transaction("rw",d.$syncState,function(){return x(s,void 0,void 0,function(){var t,n,r,o,i,s,u,c,a,l,f;return E(this,function(e){switch(e.label){case 0:return n=d.cloud,t=n.options,n=n.schema,[4,Promise.all([d.getOptions(),d.getSchema(),d.getPersistedSyncState()])];case 1:return(i=e.sent(),r=i[0],o=i[1],i=i[2],t)?[3,2]:(d.cloud.options=r||null,[3,4]);case 2:return r&&JSON.stringify(r)===JSON.stringify(t)?[3,4]:[4,d.$syncState.put(t,"options")];case 3:e.sent(),e.label=4;case 4:return(null!==(t=d.cloud.options)&&void 0!==t&&t.tryUseServiceWorker&&"serviceWorker"in navigator&&0<h.length&&!hn?(console.debug("Dexie Cloud Addon: Using service worker"),d.cloud.usingServiceWorker=!0):(null!==(t=d.cloud.options)&&void 0!==t&&t.tryUseServiceWorker&&!pn&&console.debug("dexie-cloud-addon: Not using service worker.",0===h.length?"No SW registrations found.":"serviceWorker"in navigator&&hn?"Avoiding SW background sync and SW periodic bg sync for this browser due to browser bugs.":"navigator.serviceWorker not present"),d.cloud.usingServiceWorker=!1),Zn(n,d.cloud.options),Zn(o,d.cloud.options),n)?[3,5]:(d.cloud.schema=o||null,[3,7]);case 5:if(o&&JSON.stringify(o)===JSON.stringify(n))return[3,7];for(s=o||{},u=0,c=Object.entries(n);u<c.length;u++)f=c[u],a=f[0],l=f[1],(f=s[a])?(f.markedForSync=l.markedForSync,l.deleted=f.deleted,f.generatedGlobalId=l.generatedGlobalId):s[a]=g({},l);return[4,d.$syncState.put(s,"schema")];case 6:e.sent(),Object.assign(n,s),e.label=7;case 7:return[2,null==i?void 0:i.initiallySynced]}})})})];case 4:return(i=e.sent())&&d.setInitiallySynced(!0),function(e){for(var t,n=0,r=e.tables;n<r.length;n++){var o=r[n];if(null!==(t=null===(t=e.cloud.schema)||void 0===t?void 0:t[o.name])&&void 0!==t&&t.markedForSync){if(o.schema.primKey.auto)throw new m.default.SchemaError("Table "+o.name+" is both autoIncremented and synced. Use db.cloud.configure({unsyncedTables: ["+JSON.stringify(o.name)+"]}) to blacklist it from sync");if(!o.schema.primKey.keyPath)throw new m.default.SchemaError("Table "+o.name+" cannot be both synced and outbound. Use db.cloud.configure({unsyncedTables: ["+JSON.stringify(o.name)+"]}) to blacklist it from sync")}}}(d),null===(o=d.cloud.options)||void 0===o||!o.databaseUrl||i?[3,6]:[4,function(n,r,o){return x(this,void 0,void 0,function(){var t=this;return E(this,function(e){switch(e.label){case 0:return console.debug("Performing initial sync"),[4,Un(n,"initialSync","$jobs",function(){return x(t,void 0,void 0,function(){var t;return E(this,function(e){switch(e.label){case 0:return[4,n.getPersistedSyncState()];case 1:return null!=(t=e.sent())&&t.initiallySynced?[3,3]:[4,rn(n,r,o,{isInitialSync:!0})];case 2:e.sent(),e.label=3;case 3:return[2]}})})},{awaitRemoteJob:!0})];case 1:return e.sent(),console.debug("Done initial sync"),[2]}})})}(d,d.cloud.options,d.cloud.schema)];case 5:e.sent(),d.setInitiallySynced(!0),e.label=6;case 6:return(v(),pn)?[3,8]:(l.push(b.liveQuery(function(){return d.getCurrentUser()}).subscribe(a)),l.push(b.liveQuery(function(){return d.getPersistedSyncState()}).subscribe(d.cloud.persistedSyncState)),[4,y.combineLatest([a.pipe(Ue(1),Ae(1)),d.cloud.persistedSyncState.pipe(Ue(1),Ae(1))]).toPromise()]);case 7:e.sent(),e.label=8;case 8:return null!==(i=d.cloud.options)&&void 0!==i&&i.requireAuth?[4,at(d)]:[3,10];case 9:e.sent(),e.label=10;case 10:return f&&f.stop(),f=null,v(),d.cloud.usingServiceWorker&&null!==(n=d.cloud.options)&&void 0!==n&&n.databaseUrl?(ze(d,"push").catch(function(){}),function(r){return x(this,void 0,void 0,function(){var t,n;return E(this,function(e){switch(e.label){case 0:return e.trys.push([0,8,,9]),[4,navigator.serviceWorker.ready];case 1:if(!(t=e.sent().periodicSync))return[3,6];e.label=2;case 2:return e.trys.push([2,4,,5]),[4,t.register("dexie-cloud:"+r.name,null===(t=r.cloud.options)||void 0===t?void 0:t.periodicSync)];case 3:return e.sent(),console.debug("Dexie Cloud: Successfully registered periodicsync event for "+r.name),[3,5];case 4:return n=e.sent(),console.debug("Dexie Cloud: Failed to register periodic sync. Your PWA must be installed to allow background sync.",n),[3,5];case 5:return[3,7];case 6:console.debug("Dexie Cloud: periodicSync not supported."),e.label=7;case 7:return[3,9];case 8:return n=e.sent(),console.debug("Dexie Cloud: Could not register periodicSync for "+r.name,n),[3,9];case 9:return[2]}})})}(d).catch(function(){})):null!==(n=d.cloud.options)&&void 0!==n&&n.databaseUrl&&d.cloud.schema&&!pn&&((f=Xn(d,d.cloud.options,d.cloud.schema)).start(),Ge(d,"push")),v(),pn||l.push(y.fromEvent(self,"online").subscribe(function(){console.debug("online!"),d.syncStateChangedEvent.next({phase:"not-in-sync"}),Ge(d,"push")}),y.fromEvent(self,"offline").subscribe(function(){console.debug("offline!"),d.syncStateChangedEvent.next({phase:"offline"})})),"undefined"!=typeof window&&!pn&&null!==(r=d.cloud.options)&&void 0!==r&&r.databaseUrl&&l.push(Jn(d)),[2]}})})}(n)];case 1:return e.sent(),[3,3];case 2:return t=e.sent(),console.error(t),[3,3];case 3:return[2]}})})},!0);var n,u,d,h,p=!1;function v(){if(p)throw new m.default.DatabaseClosedError}(function(e,t){e.on.close.subscribe(t);var n=e.close;e.close=function(){n.call(this),t()}})(c,function(){l.forEach(function(e){return e.unsubscribe()}),p=!0,f&&f.stop(),f=null,a.next(lt)}),c.cloud={version:"1.0.0-beta.10",options:null,schema:null,serverState:null,get currentUserId(){return a.value.userId||lt.userId},currentUser:a,syncState:new y.BehaviorSubject({phase:"initial",status:"not-started"}),persistedSyncState:new y.BehaviorSubject(void 0),userInteraction:new y.BehaviorSubject(void 0),webSocketStatus:new y.BehaviorSubject("not-started"),login:function(n){return x(this,void 0,void 0,function(){var t;return E(this,function(e){switch(e.label){case 0:return[4,(t=dn(c)).cloud.sync()];case 1:return e.sent(),[4,at(t,n)];case 2:return e.sent(),[2]}})})},configure:function(e){(c.cloud.options=e).databaseUrl&&(c.name=t+"-"+(e=e.databaseUrl,"/"===(e=new URL(e)).pathname?e.hostname.split(".")[0]:e.pathname.split("/")[1]),dn(c).reconfigure()),Zn(c.cloud.schema,c.cloud.options)},sync:function(e){var e=void 0===e?{wait:!0,purpose:"push"}:e,s=e.wait,u=e.purpose;return x(this,void 0,void 0,function(){var r,t,n,o,i=this;return E(this,function(e){switch(e.label){case 0:return(void 0===s&&(s=!0),r=dn(c),"pull"!==u)?[3,3]:(t=r.cloud.persistedSyncState.value,Ge(r,u),s?[4,r.cloud.persistedSyncState.pipe(Ie(function(e){return null!=(null==e?void 0:e.timestamp)&&(!t||e.timestamp>t.timestamp)}),Ae(1)).toPromise()]:[3,2]);case 1:if(null!=(n=e.sent())&&n.error)throw new Error("Sync error: "+n.error);e.label=2;case 2:return[3,6];case 3:return[4,Yn(r)];case 4:return e.sent()?(o=r.cloud.persistedSyncState.value,Ge(r,u),s?(console.debug("db.cloud.login() is waiting for sync completion..."),[4,y.from(b.liveQuery(function(){return x(i,void 0,void 0,function(){var t,n;return E(this,function(e){switch(e.label){case 0:return[4,Yn(r)];case 1:return t=e.sent(),[4,r.getPersistedSyncState()];case 2:if((null==(n=e.sent())?void 0:n.timestamp)!==(null==o?void 0:o.timestamp)&&null!=n&&n.error)throw new Error("Sync error: "+n.error);return[2,t]}})})})).pipe(Ie(function(e){return!e}),Ae(1)).toPromise()]):[3,6]):[3,6];case 5:e.sent(),console.debug("Done waiting for sync completion because we have nothing to push anymore"),e.label=6;case 6:return[2]}})})}},c.Version.prototype._parseStoresSpec=m.default.override(c.Version.prototype._parseStoresSpec,function(e){return Tn(e,c)}),c.use((n={currentUserObservable:c.cloud.currentUser,db:dn(c)},u=n.currentUserObservable,d=n.db,{stack:"dbcore",name:"MutationTrackingMiddleware",level:1,create:function(s){var t,e=s.schema.tables.filter(function(e){return!/^\$/.test(e.name)});try{t=new Map(e.map(function(e){return[e.name,s.table("$"+e.name+"_mutations")]}))}catch(e){vn()}return g(g({},s),{transaction:function(e,t){var n,r,o,i;return r="readwrite"===t?(n=e.filter(function(e){var t;return null===(e=null===(t=d.cloud.schema)||void 0===t?void 0:t[e])||void 0===e?void 0:e.markedForSync}).map(_t),s.transaction(_(_([],e),n),t)):s.transaction(e,t),"readwrite"===t&&(r.txid=Sn(16),r.currentUser=u.value,In.value.add(r),In.next(In.value),o=function(){r.removeEventListener("complete",i),r.removeEventListener("error",o),r.removeEventListener("abort",o),In.value.delete(r),In.next(In.value)},i=function(){var e;r.mutationsAdded&&null!==(e=d.cloud.options)&&void 0!==e&&e.databaseUrl&&(d.cloud.usingServiceWorker?(console.debug("registering sync event"),ze(d,"push")):d.localSyncEvent.next({purpose:"push"})),o()},r.addEventListener("complete",i),r.addEventListener("error",o),r.addEventListener("abort",o)),r},table:function(e){var r=s.table(e);if(/^\$/.test(e))return e.endsWith("_mutations")?g(g({},r),{mutate:function(e){return"add"!==e.type&&"put"!==e.type||(e.trans.mutationsAdded=!0),r.mutate(e)}}):"$logins"===e?g(g({},r),{mutate:function(t){return console.debug("Mutating $logins table",t),r.mutate(t).then(function(e){return console.debug("Mutating $logins"),t.trans.mutationsAdded=!0,console.debug("$logins mutated"),e}).catch(function(e){return console.debug("Failed mutation $logins",e),Promise.reject(e)})}}):r;var o=r.schema,f=t.get(e);return xn(g(g({},r),{mutate:function(t){var e,n=t.trans;return n.txid&&!n.disableChangeTracking&&null!==(e=n.currentUser)&&void 0!==e&&e.isLoggedIn?"deleteRange"===t.type?r.query({query:{range:t.range,index:o.primaryKey},trans:t.trans,values:!1}).then(function(e){return i({type:"delete",keys:e.result,trans:t.trans,criteria:{index:null,range:t.range}})}):i(t):r.mutate(t)}}));function i(s){var u=s.trans;u.mutationsAdded=!0;var c=u.txid,a=u.currentUser.userId,l=s.type;return r.mutate(s).then(function(e){var t=e.numFailures,n=e.failures,r="delete"===l?s.keys:e.results,o="values"in s?s.values:[],i="changeSpecs"in s?s.changeSpecs:[];t&&(r=r.filter(function(e,t){return!n[t]}),o=o.filter(function(e,t){return!n[t]}),i=i.filter(function(e,t){return!n[t]}));t=Date.now(),o="delete"===s.type?{type:"delete",ts:t,keys:r,criteria:s.criteria,txid:c,userId:a}:"add"===s.type?{type:"insert",ts:t,keys:r,txid:c,userId:a,values:o}:s.criteria&&s.changeSpec?{type:"modify",ts:t,keys:r,criteria:s.criteria,changeSpec:s.changeSpec,txid:c,userId:a}:s.changeSpecs?{type:"update",ts:t,keys:r,changeSpecs:i,txid:c,userId:a}:{type:"upsert",ts:t,keys:r,values:o,txid:c,userId:a};return 0<r.length||"criteria"in s&&s.criteria?f.mutate({type:"add",trans:u,values:[o]}).then(function(){return e}):e})}}})}})),c.use((h=dn(c),{stack:"dbcore",name:"implicitPropSetterMiddleware",level:1,create:function(e){return g(g({},e),{table:function(u){var c=e.table(u);return g(g({},c),{mutate:function(e){var t,n,r=e.trans;if(null!==(t=null===(t=h.cloud.schema)||void 0===t?void 0:t[u])&&void 0!==t&&t.markedForSync&&null!==(n=r.currentUser)&&void 0!==n&&n.isLoggedIn&&("add"===e.type||"put"===e.type))for(var o=0,i=e.values;o<i.length;o++){var s=i[o];"owner"in s||(s.owner=r.currentUser.userId),"realmId"in s||(s.realmId=r.currentUser.userId)}return c.mutate(e)}})}})}})),c.use(wn(dn(c)))}Zr.version="1.0.0-beta.10",m.default.Cloud=Zr,e.default=Zr,e.dexieCloud=Zr,Object.defineProperty(e,"__esModule",{value:!0})});