-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathserviceWorker.js
1 lines (1 loc) · 31.7 KB
/
serviceWorker.js
1
function getIDB(){try{if("undefined"!=typeof indexedDB)return indexedDB;if("undefined"!=typeof webkitIndexedDB)return webkitIndexedDB;if("undefined"!=typeof mozIndexedDB)return mozIndexedDB;if("undefined"!=typeof OIndexedDB)return OIndexedDB;if("undefined"!=typeof msIndexedDB)return msIndexedDB}catch(e){return}}var idb=getIDB();function isIndexedDBValid(){try{if(!idb||!idb.open)return!1;var e="undefined"!=typeof openDatabase&&/(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent)&&!/BlackBerry/.test(navigator.platform),t="function"==typeof fetch&&-1!==fetch.toString().indexOf("[native code");return(!e||t)&&"undefined"!=typeof indexedDB&&"undefined"!=typeof IDBKeyRange}catch(e){return!1}}function createBlob(e,t){e=e||[],t=t||{};try{return new Blob(e,t)}catch(o){if("TypeError"!==o.name)throw o;for(var r=new("undefined"!=typeof BlobBuilder?BlobBuilder:"undefined"!=typeof MSBlobBuilder?MSBlobBuilder:"undefined"!=typeof MozBlobBuilder?MozBlobBuilder:WebKitBlobBuilder),n=0;n<e.length;n+=1)r.append(e[n]);return r.getBlob(t.type)}}"undefined"==typeof Promise&&require("lie/polyfill");function executeCallback(e,t){t&&e.then(function(e){t(null,e)},function(e){t(e)})}function executeTwoCallbacks(e,t,r){"function"==typeof t&&e.then(t),"function"==typeof r&&e.catch(r)}function normalizeKey(e){return"string"!=typeof e&&(console.warn(e+" used as a key, but it is not a string."),e=String(e)),e}function getCallback(){if(arguments.length&&"function"==typeof arguments[arguments.length-1])return arguments[arguments.length-1]}var DETECT_BLOB_SUPPORT_STORE="local-forage-detect-blob-support",supportsBlobs=void 0,dbContexts={},toString=Object.prototype.toString,READ_ONLY="readonly",READ_WRITE="readwrite";function _binStringToArrayBuffer(e){for(var t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r),o=0;o<t;o++)n[o]=e.charCodeAt(o);return r}function _checkBlobSupportWithoutCaching(e){return new Promise(function(t){var r=e.transaction(DETECT_BLOB_SUPPORT_STORE,READ_WRITE),n=createBlob([""]);r.objectStore(DETECT_BLOB_SUPPORT_STORE).put(n,"key"),r.onabort=function(e){e.preventDefault(),e.stopPropagation(),t(!1)},r.oncomplete=function(){var e=navigator.userAgent.match(/Chrome\/(\d+)/),r=navigator.userAgent.match(/Edge\//);t(r||!e||parseInt(e[1],10)>=43)}}).catch(function(){return!1})}function _checkBlobSupport(e){return"boolean"==typeof supportsBlobs?Promise.resolve(supportsBlobs):_checkBlobSupportWithoutCaching(e).then(function(e){return supportsBlobs=e})}function _deferReadiness(e){var t=dbContexts[e.name],r={};r.promise=new Promise(function(e,t){r.resolve=e,r.reject=t}),t.deferredOperations.push(r),t.dbReady?t.dbReady=t.dbReady.then(function(){return r.promise}):t.dbReady=r.promise}function _advanceReadiness(e){var t=dbContexts[e.name].deferredOperations.pop();if(t)return t.resolve(),t.promise}function _rejectReadiness(e,t){var r=dbContexts[e.name].deferredOperations.pop();if(r)return r.reject(t),r.promise}function _getConnection(e,t){return new Promise(function(r,n){if(dbContexts[e.name]=dbContexts[e.name]||createDbContext(),e.db){if(!t)return r(e.db);_deferReadiness(e),e.db.close()}var o=[e.name];t&&o.push(e.version);var a=idb.open.apply(idb,o);t&&(a.onupgradeneeded=function(t){var r=a.result;try{r.createObjectStore(e.storeName),t.oldVersion<=1&&r.createObjectStore(DETECT_BLOB_SUPPORT_STORE)}catch(r){if("ConstraintError"!==r.name)throw r;console.warn('The database "'+e.name+'" has been upgraded from version '+t.oldVersion+" to version "+t.newVersion+', but the storage "'+e.storeName+'" already exists.')}}),a.onerror=function(e){e.preventDefault(),n(a.error)},a.onsuccess=function(){r(a.result),_advanceReadiness(e)}})}function _getOriginalConnection(e){return _getConnection(e,!1)}function _getUpgradedConnection(e){return _getConnection(e,!0)}function _isUpgradeNeeded(e,t){if(!e.db)return!0;var r=!e.db.objectStoreNames.contains(e.storeName),n=e.version<e.db.version,o=e.version>e.db.version;if(n&&(e.version!==t&&console.warn('The database "'+e.name+"\" can't be downgraded from version "+e.db.version+" to version "+e.version+"."),e.version=e.db.version),o||r){if(r){var a=e.db.version+1;a>e.version&&(e.version=a)}return!0}return!1}function _encodeBlob(e){return new Promise(function(t,r){var n=new FileReader;n.onerror=r,n.onloadend=function(r){var n=btoa(r.target.result||"");t({__local_forage_encoded_blob:!0,data:n,type:e.type})},n.readAsBinaryString(e)})}function _decodeBlob(e){return createBlob([_binStringToArrayBuffer(atob(e.data))],{type:e.type})}function _isEncodedBlob(e){return e&&e.__local_forage_encoded_blob}function _fullyReady(e){var t=this,r=t._initReady().then(function(){var e=dbContexts[t._dbInfo.name];if(e&&e.dbReady)return e.dbReady});return executeTwoCallbacks(r,e,e),r}function _tryReconnect(e){_deferReadiness(e);for(var t=dbContexts[e.name],r=t.forages,n=0;n<r.length;n++){var o=r[n];o._dbInfo.db&&(o._dbInfo.db.close(),o._dbInfo.db=null)}return e.db=null,_getOriginalConnection(e).then(function(t){return e.db=t,_isUpgradeNeeded(e)?_getUpgradedConnection(e):t}).then(function(n){e.db=t.db=n;for(var o=0;o<r.length;o++)r[o]._dbInfo.db=n}).catch(function(t){throw _rejectReadiness(e,t),t})}function createTransaction(e,t,r,n){void 0===n&&(n=1);try{var o=e.db.transaction(e.storeName,t);r(null,o)}catch(o){if(n>0&&(!e.db||"InvalidStateError"===o.name||"NotFoundError"===o.name))return Promise.resolve().then(function(){if(!e.db||"NotFoundError"===o.name&&!e.db.objectStoreNames.contains(e.storeName)&&e.version<=e.db.version)return e.db&&(e.version=e.db.version+1),_getUpgradedConnection(e)}).then(function(){return _tryReconnect(e).then(function(){createTransaction(e,t,r,n-1)})}).catch(r);r(o)}}function createDbContext(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function _initStorage(e){var t=this,r={db:null};if(e)for(var n in e)r[n]=e[n];var o=dbContexts[r.name];o||(o=createDbContext(),dbContexts[r.name]=o),o.forages.push(t),t._initReady||(t._initReady=t.ready,t.ready=_fullyReady);var a=[];function i(){return Promise.resolve()}for(var c=0;c<o.forages.length;c++){var u=o.forages[c];u!==t&&a.push(u._initReady().catch(i))}var s=o.forages.slice(0);return Promise.all(a).then(function(){return r.db=o.db,_getOriginalConnection(r)}).then(function(e){return r.db=e,_isUpgradeNeeded(r,t._defaultConfig.version)?_getUpgradedConnection(r):e}).then(function(e){r.db=o.db=e,t._dbInfo=r;for(var n=0;n<s.length;n++){var a=s[n];a!==t&&(a._dbInfo.db=r.db,a._dbInfo.version=r.version)}})}function getItem(e,t){var r=this;e=normalizeKey(e);var n=new Promise(function(t,n){r.ready().then(function(){createTransaction(r._dbInfo,READ_ONLY,function(o,a){if(o)return n(o);try{var i=a.objectStore(r._dbInfo.storeName).get(e);i.onsuccess=function(){var e=i.result;void 0===e&&(e=null),_isEncodedBlob(e)&&(e=_decodeBlob(e)),t(e)},i.onerror=function(){n(i.error)}}catch(e){n(e)}})}).catch(n)});return executeCallback(n,t),n}function iterate(e,t){var r=this,n=new Promise(function(t,n){r.ready().then(function(){createTransaction(r._dbInfo,READ_ONLY,function(o,a){if(o)return n(o);try{var i=a.objectStore(r._dbInfo.storeName).openCursor(),c=1;i.onsuccess=function(){var r=i.result;if(r){var n=r.value;_isEncodedBlob(n)&&(n=_decodeBlob(n));var o=e(n,r.key,c++);void 0!==o?t(o):r.continue()}else t()},i.onerror=function(){n(i.error)}}catch(e){n(e)}})}).catch(n)});return executeCallback(n,t),n}function setItem(e,t,r){var n=this;e=normalizeKey(e);var o=new Promise(function(r,o){var a;n.ready().then(function(){return a=n._dbInfo,"[object Blob]"===toString.call(t)?_checkBlobSupport(a.db).then(function(e){return e?t:_encodeBlob(t)}):t}).then(function(t){createTransaction(n._dbInfo,READ_WRITE,function(a,i){if(a)return o(a);try{var c=i.objectStore(n._dbInfo.storeName);null===t&&(t=void 0);var u=c.put(t,e);i.oncomplete=function(){void 0===t&&(t=null),r(t)},i.onabort=i.onerror=function(){var e=u.error?u.error:u.transaction.error;o(e)}}catch(e){o(e)}})}).catch(o)});return executeCallback(o,r),o}function removeItem(e,t){var r=this;e=normalizeKey(e);var n=new Promise(function(t,n){r.ready().then(function(){createTransaction(r._dbInfo,READ_WRITE,function(o,a){if(o)return n(o);try{var i=a.objectStore(r._dbInfo.storeName).delete(e);a.oncomplete=function(){t()},a.onerror=function(){n(i.error)},a.onabort=function(){var e=i.error?i.error:i.transaction.error;n(e)}}catch(e){n(e)}})}).catch(n)});return executeCallback(n,t),n}function clear(e){var t=this,r=new Promise(function(e,r){t.ready().then(function(){createTransaction(t._dbInfo,READ_WRITE,function(n,o){if(n)return r(n);try{var a=o.objectStore(t._dbInfo.storeName).clear();o.oncomplete=function(){e()},o.onabort=o.onerror=function(){var e=a.error?a.error:a.transaction.error;r(e)}}catch(e){r(e)}})}).catch(r)});return executeCallback(r,e),r}function length(e){var t=this,r=new Promise(function(e,r){t.ready().then(function(){createTransaction(t._dbInfo,READ_ONLY,function(n,o){if(n)return r(n);try{var a=o.objectStore(t._dbInfo.storeName).count();a.onsuccess=function(){e(a.result)},a.onerror=function(){r(a.error)}}catch(e){r(e)}})}).catch(r)});return executeCallback(r,e),r}function key(e,t){var r=this,n=new Promise(function(t,n){e<0?t(null):r.ready().then(function(){createTransaction(r._dbInfo,READ_ONLY,function(o,a){if(o)return n(o);try{var i=a.objectStore(r._dbInfo.storeName),c=!1,u=i.openKeyCursor();u.onsuccess=function(){var r=u.result;r?0===e?t(r.key):c?t(r.key):(c=!0,r.advance(e)):t(null)},u.onerror=function(){n(u.error)}}catch(e){n(e)}})}).catch(n)});return executeCallback(n,t),n}function keys(e){var t=this,r=new Promise(function(e,r){t.ready().then(function(){createTransaction(t._dbInfo,READ_ONLY,function(n,o){if(n)return r(n);try{var a=o.objectStore(t._dbInfo.storeName).openKeyCursor(),i=[];a.onsuccess=function(){var t=a.result;t?(i.push(t.key),t.continue()):e(i)},a.onerror=function(){r(a.error)}}catch(e){r(e)}})}).catch(r)});return executeCallback(r,e),r}function dropInstance(e,t){t=getCallback.apply(this,arguments);var r=this.config();(e="function"!=typeof e&&e||{}).name||(e.name=e.name||r.name,e.storeName=e.storeName||r.storeName);var n;if(e.name){var o=e.name===r.name&&this._dbInfo.db?Promise.resolve(this._dbInfo.db):_getOriginalConnection(e).then(function(t){var r=dbContexts[e.name],n=r.forages;r.db=t;for(var o=0;o<n.length;o++)n[o]._dbInfo.db=t;return t});n=e.storeName?o.then(function(t){if(t.objectStoreNames.contains(e.storeName)){var r=t.version+1;_deferReadiness(e);var n=dbContexts[e.name],o=n.forages;t.close();for(var a=0;a<o.length;a++){var i=o[a];i._dbInfo.db=null,i._dbInfo.version=r}return new Promise(function(t,n){var o=idb.open(e.name,r);o.onerror=function(e){o.result.close(),n(e)},o.onupgradeneeded=function(){o.result.deleteObjectStore(e.storeName)},o.onsuccess=function(){var e=o.result;e.close(),t(e)}}).then(function(e){n.db=e;for(var t=0;t<o.length;t++){var r=o[t];r._dbInfo.db=e,_advanceReadiness(r._dbInfo)}}).catch(function(t){throw(_rejectReadiness(e,t)||Promise.resolve()).catch(function(){}),t})}}):o.then(function(t){_deferReadiness(e);var r=dbContexts[e.name],n=r.forages;t.close();for(var o=0;o<n.length;o++){n[o]._dbInfo.db=null}return new Promise(function(t,r){var n=idb.deleteDatabase(e.name);n.onerror=n.onblocked=function(e){var t=n.result;t&&t.close(),r(e)},n.onsuccess=function(){var e=n.result;e&&e.close(),t(e)}}).then(function(e){r.db=e;for(var t=0;t<n.length;t++){_advanceReadiness(n[t]._dbInfo)}}).catch(function(t){throw(_rejectReadiness(e,t)||Promise.resolve()).catch(function(){}),t})})}else n=Promise.reject("Invalid arguments");return executeCallback(n,t),n}var asyncStorage={_driver:"asyncStorage",_initStorage:_initStorage,_support:isIndexedDBValid(),iterate:iterate,getItem:getItem,setItem:setItem,removeItem:removeItem,clear:clear,length:length,key:key,keys:keys,dropInstance:dropInstance};function isWebSQLValid(){return"function"==typeof openDatabase}var BASE_CHARS="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",BLOB_TYPE_PREFIX="~~local_forage_type~",BLOB_TYPE_PREFIX_REGEX=/^~~local_forage_type~([^~]+)~/,SERIALIZED_MARKER="__lfsc__:",SERIALIZED_MARKER_LENGTH=SERIALIZED_MARKER.length,TYPE_ARRAYBUFFER="arbf",TYPE_BLOB="blob",TYPE_INT8ARRAY="si08",TYPE_UINT8ARRAY="ui08",TYPE_UINT8CLAMPEDARRAY="uic8",TYPE_INT16ARRAY="si16",TYPE_INT32ARRAY="si32",TYPE_UINT16ARRAY="ur16",TYPE_UINT32ARRAY="ui32",TYPE_FLOAT32ARRAY="fl32",TYPE_FLOAT64ARRAY="fl64",TYPE_SERIALIZED_MARKER_LENGTH=SERIALIZED_MARKER_LENGTH+TYPE_ARRAYBUFFER.length,toString$1=Object.prototype.toString;function stringToBuffer(e){var t,r,n,o,a,i=.75*e.length,c=e.length,u=0;"="===e[e.length-1]&&(i--,"="===e[e.length-2]&&i--);var s=new ArrayBuffer(i),f=new Uint8Array(s);for(t=0;t<c;t+=4)r=BASE_CHARS.indexOf(e[t]),n=BASE_CHARS.indexOf(e[t+1]),o=BASE_CHARS.indexOf(e[t+2]),a=BASE_CHARS.indexOf(e[t+3]),f[u++]=r<<2|n>>4,f[u++]=(15&n)<<4|o>>2,f[u++]=(3&o)<<6|63&a;return s}function bufferToString(e){var t,r=new Uint8Array(e),n="";for(t=0;t<r.length;t+=3)n+=BASE_CHARS[r[t]>>2],n+=BASE_CHARS[(3&r[t])<<4|r[t+1]>>4],n+=BASE_CHARS[(15&r[t+1])<<2|r[t+2]>>6],n+=BASE_CHARS[63&r[t+2]];return r.length%3==2?n=n.substring(0,n.length-1)+"=":r.length%3==1&&(n=n.substring(0,n.length-2)+"=="),n}function serialize(e,t){var r="";if(e&&(r=toString$1.call(e)),e&&("[object ArrayBuffer]"===r||e.buffer&&"[object ArrayBuffer]"===toString$1.call(e.buffer))){var n,o=SERIALIZED_MARKER;e instanceof ArrayBuffer?(n=e,o+=TYPE_ARRAYBUFFER):(n=e.buffer,"[object Int8Array]"===r?o+=TYPE_INT8ARRAY:"[object Uint8Array]"===r?o+=TYPE_UINT8ARRAY:"[object Uint8ClampedArray]"===r?o+=TYPE_UINT8CLAMPEDARRAY:"[object Int16Array]"===r?o+=TYPE_INT16ARRAY:"[object Uint16Array]"===r?o+=TYPE_UINT16ARRAY:"[object Int32Array]"===r?o+=TYPE_INT32ARRAY:"[object Uint32Array]"===r?o+=TYPE_UINT32ARRAY:"[object Float32Array]"===r?o+=TYPE_FLOAT32ARRAY:"[object Float64Array]"===r?o+=TYPE_FLOAT64ARRAY:t(new Error("Failed to get type for BinaryArray"))),t(o+bufferToString(n))}else if("[object Blob]"===r){var a=new FileReader;a.onload=function(){var r=BLOB_TYPE_PREFIX+e.type+"~"+bufferToString(this.result);t(SERIALIZED_MARKER+TYPE_BLOB+r)},a.readAsArrayBuffer(e)}else try{t(JSON.stringify(e))}catch(r){console.error("Couldn't convert value into a JSON string: ",e),t(null,r)}}function deserialize(e){if(e.substring(0,SERIALIZED_MARKER_LENGTH)!==SERIALIZED_MARKER)return JSON.parse(e);var t,r=e.substring(TYPE_SERIALIZED_MARKER_LENGTH),n=e.substring(SERIALIZED_MARKER_LENGTH,TYPE_SERIALIZED_MARKER_LENGTH);if(n===TYPE_BLOB&&BLOB_TYPE_PREFIX_REGEX.test(r)){var o=r.match(BLOB_TYPE_PREFIX_REGEX);t=o[1],r=r.substring(o[0].length)}var a=stringToBuffer(r);switch(n){case TYPE_ARRAYBUFFER:return a;case TYPE_BLOB:return createBlob([a],{type:t});case TYPE_INT8ARRAY:return new Int8Array(a);case TYPE_UINT8ARRAY:return new Uint8Array(a);case TYPE_UINT8CLAMPEDARRAY:return new Uint8ClampedArray(a);case TYPE_INT16ARRAY:return new Int16Array(a);case TYPE_UINT16ARRAY:return new Uint16Array(a);case TYPE_INT32ARRAY:return new Int32Array(a);case TYPE_UINT32ARRAY:return new Uint32Array(a);case TYPE_FLOAT32ARRAY:return new Float32Array(a);case TYPE_FLOAT64ARRAY:return new Float64Array(a);default:throw new Error("Unkown type: "+n)}}var localforageSerializer={serialize:serialize,deserialize:deserialize,stringToBuffer:stringToBuffer,bufferToString:bufferToString};function createDbTable(e,t,r,n){e.executeSql("CREATE TABLE IF NOT EXISTS "+t.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],r,n)}function _initStorage$1(e){var t=this,r={db:null};if(e)for(var n in e)r[n]="string"!=typeof e[n]?e[n].toString():e[n];var o=new Promise(function(e,n){try{r.db=openDatabase(r.name,String(r.version),r.description,r.size)}catch(e){return n(e)}r.db.transaction(function(o){createDbTable(o,r,function(){t._dbInfo=r,e()},function(e,t){n(t)})},n)});return r.serializer=localforageSerializer,o}function tryExecuteSql(e,t,r,n,o,a){e.executeSql(r,n,o,function(e,i){i.code===i.SYNTAX_ERR?e.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[t.storeName],function(e,c){c.rows.length?a(e,i):createDbTable(e,t,function(){e.executeSql(r,n,o,a)},a)},a):a(e,i)},a)}function getItem$1(e,t){var r=this;e=normalizeKey(e);var n=new Promise(function(t,n){r.ready().then(function(){var o=r._dbInfo;o.db.transaction(function(r){tryExecuteSql(r,o,"SELECT * FROM "+o.storeName+" WHERE key = ? LIMIT 1",[e],function(e,r){var n=r.rows.length?r.rows.item(0).value:null;n&&(n=o.serializer.deserialize(n)),t(n)},function(e,t){n(t)})})}).catch(n)});return executeCallback(n,t),n}function iterate$1(e,t){var r=this,n=new Promise(function(t,n){r.ready().then(function(){var o=r._dbInfo;o.db.transaction(function(r){tryExecuteSql(r,o,"SELECT * FROM "+o.storeName,[],function(r,n){for(var a=n.rows,i=a.length,c=0;c<i;c++){var u=a.item(c),s=u.value;if(s&&(s=o.serializer.deserialize(s)),void 0!==(s=e(s,u.key,c+1)))return void t(s)}t()},function(e,t){n(t)})})}).catch(n)});return executeCallback(n,t),n}function _setItem(e,t,r,n){var o=this;e=normalizeKey(e);var a=new Promise(function(a,i){o.ready().then(function(){void 0===t&&(t=null);var c=t,u=o._dbInfo;u.serializer.serialize(t,function(t,s){s?i(s):u.db.transaction(function(r){tryExecuteSql(r,u,"INSERT OR REPLACE INTO "+u.storeName+" (key, value) VALUES (?, ?)",[e,t],function(){a(c)},function(e,t){i(t)})},function(t){if(t.code===t.QUOTA_ERR){if(n>0)return void a(_setItem.apply(o,[e,c,r,n-1]));i(t)}})})}).catch(i)});return executeCallback(a,r),a}function setItem$1(e,t,r){return _setItem.apply(this,[e,t,r,1])}function removeItem$1(e,t){var r=this;e=normalizeKey(e);var n=new Promise(function(t,n){r.ready().then(function(){var o=r._dbInfo;o.db.transaction(function(r){tryExecuteSql(r,o,"DELETE FROM "+o.storeName+" WHERE key = ?",[e],function(){t()},function(e,t){n(t)})})}).catch(n)});return executeCallback(n,t),n}function clear$1(e){var t=this,r=new Promise(function(e,r){t.ready().then(function(){var n=t._dbInfo;n.db.transaction(function(t){tryExecuteSql(t,n,"DELETE FROM "+n.storeName,[],function(){e()},function(e,t){r(t)})})}).catch(r)});return executeCallback(r,e),r}function length$1(e){var t=this,r=new Promise(function(e,r){t.ready().then(function(){var n=t._dbInfo;n.db.transaction(function(t){tryExecuteSql(t,n,"SELECT COUNT(key) as c FROM "+n.storeName,[],function(t,r){var n=r.rows.item(0).c;e(n)},function(e,t){r(t)})})}).catch(r)});return executeCallback(r,e),r}function key$1(e,t){var r=this,n=new Promise(function(t,n){r.ready().then(function(){var o=r._dbInfo;o.db.transaction(function(r){tryExecuteSql(r,o,"SELECT key FROM "+o.storeName+" WHERE id = ? LIMIT 1",[e+1],function(e,r){var n=r.rows.length?r.rows.item(0).key:null;t(n)},function(e,t){n(t)})})}).catch(n)});return executeCallback(n,t),n}function keys$1(e){var t=this,r=new Promise(function(e,r){t.ready().then(function(){var n=t._dbInfo;n.db.transaction(function(t){tryExecuteSql(t,n,"SELECT key FROM "+n.storeName,[],function(t,r){for(var n=[],o=0;o<r.rows.length;o++)n.push(r.rows.item(o).key);e(n)},function(e,t){r(t)})})}).catch(r)});return executeCallback(r,e),r}function getAllStoreNames(e){return new Promise(function(t,r){e.transaction(function(n){n.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'",[],function(r,n){for(var o=[],a=0;a<n.rows.length;a++)o.push(n.rows.item(a).name);t({db:e,storeNames:o})},function(e,t){r(t)})},function(e){r(e)})})}function dropInstance$1(e,t){t=getCallback.apply(this,arguments);var r=this.config();(e="function"!=typeof e&&e||{}).name||(e.name=e.name||r.name,e.storeName=e.storeName||r.storeName);var n,o=this;return executeCallback(n=e.name?new Promise(function(t){var n;n=e.name===r.name?o._dbInfo.db:openDatabase(e.name,"","",0),e.storeName?t({db:n,storeNames:[e.storeName]}):t(getAllStoreNames(n))}).then(function(e){return new Promise(function(t,r){e.db.transaction(function(n){function o(e){return new Promise(function(t,r){n.executeSql("DROP TABLE IF EXISTS "+e,[],function(){t()},function(e,t){r(t)})})}for(var a=[],i=0,c=e.storeNames.length;i<c;i++)a.push(o(e.storeNames[i]));Promise.all(a).then(function(){t()}).catch(function(e){r(e)})},function(e){r(e)})})}):Promise.reject("Invalid arguments"),t),n}var webSQLStorage={_driver:"webSQLStorage",_initStorage:_initStorage$1,_support:isWebSQLValid(),iterate:iterate$1,getItem:getItem$1,setItem:setItem$1,removeItem:removeItem$1,clear:clear$1,length:length$1,key:key$1,keys:keys$1,dropInstance:dropInstance$1};function isLocalStorageValid(){try{return"undefined"!=typeof localStorage&&"setItem"in localStorage&&!!localStorage.setItem}catch(e){return!1}}function _getKeyPrefix(e,t){var r=e.name+"/";return e.storeName!==t.storeName&&(r+=e.storeName+"/"),r}function checkIfLocalStorageThrows(){var e="_localforage_support_test";try{return localStorage.setItem(e,!0),localStorage.removeItem(e),!1}catch(e){return!0}}function _isLocalStorageUsable(){return!checkIfLocalStorageThrows()||localStorage.length>0}function _initStorage$2(e){var t={};if(e)for(var r in e)t[r]=e[r];return t.keyPrefix=_getKeyPrefix(e,this._defaultConfig),_isLocalStorageUsable()?(this._dbInfo=t,t.serializer=localforageSerializer,Promise.resolve()):Promise.reject()}function clear$2(e){var t=this,r=t.ready().then(function(){for(var e=t._dbInfo.keyPrefix,r=localStorage.length-1;r>=0;r--){var n=localStorage.key(r);0===n.indexOf(e)&&localStorage.removeItem(n)}});return executeCallback(r,e),r}function getItem$2(e,t){var r=this;e=normalizeKey(e);var n=r.ready().then(function(){var t=r._dbInfo,n=localStorage.getItem(t.keyPrefix+e);return n&&(n=t.serializer.deserialize(n)),n});return executeCallback(n,t),n}function iterate$2(e,t){var r=this,n=r.ready().then(function(){for(var t=r._dbInfo,n=t.keyPrefix,o=n.length,a=localStorage.length,i=1,c=0;c<a;c++){var u=localStorage.key(c);if(0===u.indexOf(n)){var s=localStorage.getItem(u);if(s&&(s=t.serializer.deserialize(s)),void 0!==(s=e(s,u.substring(o),i++)))return s}}});return executeCallback(n,t),n}function key$2(e,t){var r=this,n=r.ready().then(function(){var t,n=r._dbInfo;try{t=localStorage.key(e)}catch(e){t=null}return t&&(t=t.substring(n.keyPrefix.length)),t});return executeCallback(n,t),n}function keys$2(e){var t=this,r=t.ready().then(function(){for(var e=t._dbInfo,r=localStorage.length,n=[],o=0;o<r;o++){var a=localStorage.key(o);0===a.indexOf(e.keyPrefix)&&n.push(a.substring(e.keyPrefix.length))}return n});return executeCallback(r,e),r}function length$2(e){var t=this.keys().then(function(e){return e.length});return executeCallback(t,e),t}function removeItem$2(e,t){var r=this;e=normalizeKey(e);var n=r.ready().then(function(){var t=r._dbInfo;localStorage.removeItem(t.keyPrefix+e)});return executeCallback(n,t),n}function setItem$2(e,t,r){var n=this;e=normalizeKey(e);var o=n.ready().then(function(){void 0===t&&(t=null);var r=t;return new Promise(function(o,a){var i=n._dbInfo;i.serializer.serialize(t,function(t,n){if(n)a(n);else try{localStorage.setItem(i.keyPrefix+e,t),o(r)}catch(e){"QuotaExceededError"!==e.name&&"NS_ERROR_DOM_QUOTA_REACHED"!==e.name||a(e),a(e)}})})});return executeCallback(o,r),o}function dropInstance$2(e,t){if(t=getCallback.apply(this,arguments),!(e="function"!=typeof e&&e||{}).name){var r=this.config();e.name=e.name||r.name,e.storeName=e.storeName||r.storeName}var n,o=this;return executeCallback(n=e.name?new Promise(function(t){e.storeName?t(_getKeyPrefix(e,o._defaultConfig)):t(e.name+"/")}).then(function(e){for(var t=localStorage.length-1;t>=0;t--){var r=localStorage.key(t);0===r.indexOf(e)&&localStorage.removeItem(r)}}):Promise.reject("Invalid arguments"),t),n}var localStorageWrapper={_driver:"localStorageWrapper",_initStorage:_initStorage$2,_support:isLocalStorageValid(),iterate:iterate$2,getItem:getItem$2,setItem:setItem$2,removeItem:removeItem$2,clear:clear$2,length:length$2,key:key$2,keys:keys$2,dropInstance:dropInstance$2},sameValue=function(e,t){return e===t||"number"==typeof e&&"number"==typeof t&&isNaN(e)&&isNaN(t)},includes=function(e,t){for(var r=e.length,n=0;n<r;){if(sameValue(e[n],t))return!0;n++}return!1},isArray=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},asyncGenerator=function(){function e(e){this.value=e}function t(t){var r,n;function o(r,n){try{var i=t[r](n),c=i.value;c instanceof e?Promise.resolve(c.value).then(function(e){o("next",e)},function(e){o("throw",e)}):a(i.done?"return":"normal",i.value)}catch(e){a("throw",e)}}function a(e,t){switch(e){case"return":r.resolve({value:t,done:!0});break;case"throw":r.reject(t);break;default:r.resolve({value:t,done:!1})}(r=r.next)?o(r.key,r.arg):n=null}this._invoke=function(e,t){return new Promise(function(a,i){var c={key:e,arg:t,resolve:a,reject:i,next:null};n?n=n.next=c:(r=n=c,o(e,t))})},"function"!=typeof t.return&&(this.return=void 0)}return"function"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke("next",e)},t.prototype.throw=function(e){return this._invoke("throw",e)},t.prototype.return=function(e){return this._invoke("return",e)},{wrap:function(e){return function(){return new t(e.apply(this,arguments))}},await:function(t){return new e(t)}}}(),classCallCheck=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),DefinedDrivers={},DriverSupport={},DefaultDrivers={INDEXEDDB:asyncStorage,WEBSQL:webSQLStorage,LOCALSTORAGE:localStorageWrapper},DefaultDriverOrder=[DefaultDrivers.INDEXEDDB._driver,DefaultDrivers.WEBSQL._driver,DefaultDrivers.LOCALSTORAGE._driver],OptionalDriverMethods=["dropInstance"],LibraryMethods=["clear","getItem","iterate","key","keys","length","removeItem","setItem"].concat(OptionalDriverMethods),DefaultConfig={description:"",driver:DefaultDriverOrder.slice(),name:"localforage",size:4980736,storeName:"keyvaluepairs",version:1};function callWhenReady(e,t){e[t]=function(){var r=arguments;return e.ready().then(function(){return e[t].apply(e,r)})}}function extend(){for(var e=1;e<arguments.length;e++){var t=arguments[e];if(t)for(var r in t)t.hasOwnProperty(r)&&(isArray(t[r])?arguments[0][r]=t[r].slice():arguments[0][r]=t[r])}return arguments[0]}var LocalForage=function(){function e(t){classCallCheck(this,e);for(var r in DefaultDrivers)if(DefaultDrivers.hasOwnProperty(r)){var n=DefaultDrivers[r],o=n._driver;this[r]=o,DefinedDrivers[o]||this.defineDriver(n)}this._defaultConfig=extend({},DefaultConfig),this._config=extend({},this._defaultConfig,t),this._driverSet=null,this._initDriver=null,this._ready=!1,this._dbInfo=null,this._wrapLibraryMethodsWithReady(),this.setDriver(this._config.driver).catch(function(){})}return createClass(e,[{key:"config",value:function(e){if("object"===(void 0===e?"undefined":_typeof(e))){if(this._ready)return new Error("Can't call config() after localforage has been used.");for(var t in e){if("storeName"===t&&(e[t]=e[t].replace(/\W/g,"_")),"version"===t&&"number"!=typeof e[t])return new Error("Database version must be a number.");this._config[t]=e[t]}return!("driver"in e&&e.driver)||this.setDriver(this._config.driver)}return"string"==typeof e?this._config[e]:this._config}},{key:"defineDriver",value:function(e,t,r){var n=new Promise(function(t,r){try{var n=e._driver,o=new Error("Custom driver not compliant; see https://mozilla.github.io/localForage/#definedriver");if(!e._driver)return void r(o);for(var a=LibraryMethods.concat("_initStorage"),i=0,c=a.length;i<c;i++){var u=a[i];if((!includes(OptionalDriverMethods,u)||e[u])&&"function"!=typeof e[u])return void r(o)}!function(){for(var t=function(e){return function(){var t=new Error("Method "+e+" is not implemented by the current driver"),r=Promise.reject(t);return executeCallback(r,arguments[arguments.length-1]),r}},r=0,n=OptionalDriverMethods.length;r<n;r++){var o=OptionalDriverMethods[r];e[o]||(e[o]=t(o))}}();var s=function(r){DefinedDrivers[n]&&console.info("Redefining LocalForage driver: "+n),DefinedDrivers[n]=e,DriverSupport[n]=r,t()};"_support"in e?e._support&&"function"==typeof e._support?e._support().then(s,r):s(!!e._support):s(!0)}catch(e){r(e)}});return executeTwoCallbacks(n,t,r),n}},{key:"driver",value:function(){return this._driver||null}},{key:"getDriver",value:function(e,t,r){var n=DefinedDrivers[e]?Promise.resolve(DefinedDrivers[e]):Promise.reject(new Error("Driver not found."));return executeTwoCallbacks(n,t,r),n}},{key:"getSerializer",value:function(e){var t=Promise.resolve(localforageSerializer);return executeTwoCallbacks(t,e),t}},{key:"ready",value:function(e){var t=this,r=t._driverSet.then(function(){return null===t._ready&&(t._ready=t._initDriver()),t._ready});return executeTwoCallbacks(r,e,e),r}},{key:"setDriver",value:function(e,t,r){var n=this;isArray(e)||(e=[e]);var o=this._getSupportedDrivers(e);function a(){n._config.driver=n.driver()}function i(e){return n._extend(e),a(),n._ready=n._initStorage(n._config),n._ready}var c=null!==this._driverSet?this._driverSet.catch(function(){return Promise.resolve()}):Promise.resolve();return this._driverSet=c.then(function(){var e=o[0];return n._dbInfo=null,n._ready=null,n.getDriver(e).then(function(e){n._driver=e._driver,a(),n._wrapLibraryMethodsWithReady(),n._initDriver=(t=o,function(){var e=0;return function r(){for(;e<t.length;){var o=t[e];return e++,n._dbInfo=null,n._ready=null,n.getDriver(o).then(i).catch(r)}a();var c=new Error("No available storage method found.");return n._driverSet=Promise.reject(c),n._driverSet}()});var t})}).catch(function(){a();var e=new Error("No available storage method found.");return n._driverSet=Promise.reject(e),n._driverSet}),executeTwoCallbacks(this._driverSet,t,r),this._driverSet}},{key:"supports",value:function(e){return!!DriverSupport[e]}},{key:"_extend",value:function(e){extend(this,e)}},{key:"_getSupportedDrivers",value:function(e){for(var t=[],r=0,n=e.length;r<n;r++){var o=e[r];this.supports(o)&&t.push(o)}return t}},{key:"_wrapLibraryMethodsWithReady",value:function(){for(var e=0,t=LibraryMethods.length;e<t;e++)callWhenReady(this,LibraryMethods[e])}},{key:"createInstance",value:function(t){return new e(t)}}]),e}(),localforage=new LocalForage;if(void 0===globalRedirectPath)var globalNotificationData,globalRedirectPath;self.addEventListener("push",function(e){var t,r=JSON.parse(e.data.text()),n=r.title,o=r.notificationOptions,a=o.data;void 0!==a&&(t=a.wzrk_id),void 0===t&&(t=n),console.log("locaforage : Service worker Push event data: ",r),localforage.setItem(t,e.data.text()).then(function(e){console.log("persisted data in localForage for key= "+t+"data: "+e)}).catch(function(e){console.log("Error in persisting",e)}),globalRedirectPath=r.redirectPath,globalNotificationData=r;var i=r.raiseNotificationViewedPath;void 0!==i&&fetch(i,{mode:"no-cors"}),e.waitUntil(self.registration.showNotification(n,{body:o.body,renotify:!0,data:o.kaiosKV,requireInteraction:!0,actions:[{action:"open",title:"Open"},{action:"dismiss",title:"Dismiss"}]}))}),self.addEventListener("install",function(e){console.log("latest Service-Worker install Triggered: ",e)}),self.addEventListener("activate",function(e){console.log("latest Service-Worker activated: ",e)});function onClick(e,t,r){var n=t;console.log("Raising Clicked event, Notification Data:",r),console.log("event action: ",e.action),fireSilentRequest(n),"open"==e.action?(e.notification.close(),e.waitUntil(clients.openApp({msg:JSON.stringify(e.notification.data)}))):e.notification.close()}self.addEventListener("notificationclick",function(e){var t,r=e.notification,n=r.data;if(void 0!==n&&null!==n&&(t=n.wzrk_id),void 0===t&&(t=r.title),"dismiss"!=e.action){var o=localforage.getItem(t).then(function(t){var r=JSON.parse(t),n=r.redirectPath;console.log("event",e),console.log("redirect path for click : "+n),console.log("notification data: "+r),onClick(e,n,r)}).catch(function(t){onClick(e,globalRedirectPath,globalNotificationData),console.log(t)});e.waitUntil(o)}});var fireSilentRequest=function(e){fetch(e+="&s=true",{mode:"no-cors"})};