skapi-js 1.0.141 → 1.0.142

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.
package/dist/skapi.js CHANGED
@@ -1,3 +1,3 @@
1
1
  /*! For license information please see skapi.js.LICENSE.txt */
2
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}(self,(()=>(()=>{var e={914:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawSha256=void 0;var r=n(945),i=function(){function e(){this.state=Int32Array.from(r.INIT),this.temp=new Int32Array(64),this.buffer=new Uint8Array(64),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}return e.prototype.update=function(e){if(this.finished)throw new Error("Attempted to update an already finished hash.");var t=0,n=e.byteLength;if(this.bytesHashed+=n,8*this.bytesHashed>r.MAX_HASHABLE_LENGTH)throw new Error("Cannot hash more than 2^53 - 1 bits");for(;n>0;)this.buffer[this.bufferLength++]=e[t++],n--,this.bufferLength===r.BLOCK_SIZE&&(this.hashBuffer(),this.bufferLength=0)},e.prototype.digest=function(){if(!this.finished){var e=8*this.bytesHashed,t=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),n=this.bufferLength;if(t.setUint8(this.bufferLength++,128),n%r.BLOCK_SIZE>=r.BLOCK_SIZE-8){for(var i=this.bufferLength;i<r.BLOCK_SIZE;i++)t.setUint8(i,0);this.hashBuffer(),this.bufferLength=0}for(i=this.bufferLength;i<r.BLOCK_SIZE-8;i++)t.setUint8(i,0);t.setUint32(r.BLOCK_SIZE-8,Math.floor(e/4294967296),!0),t.setUint32(r.BLOCK_SIZE-4,e),this.hashBuffer(),this.finished=!0}var s=new Uint8Array(r.DIGEST_LENGTH);for(i=0;i<8;i++)s[4*i]=this.state[i]>>>24&255,s[4*i+1]=this.state[i]>>>16&255,s[4*i+2]=this.state[i]>>>8&255,s[4*i+3]=this.state[i]>>>0&255;return s},e.prototype.hashBuffer=function(){for(var e=this.buffer,t=this.state,n=t[0],i=t[1],s=t[2],o=t[3],a=t[4],u=t[5],c=t[6],l=t[7],h=0;h<r.BLOCK_SIZE;h++){if(h<16)this.temp[h]=(255&e[4*h])<<24|(255&e[4*h+1])<<16|(255&e[4*h+2])<<8|255&e[4*h+3];else{var f=this.temp[h-2],d=(f>>>17|f<<15)^(f>>>19|f<<13)^f>>>10,p=((f=this.temp[h-15])>>>7|f<<25)^(f>>>18|f<<14)^f>>>3;this.temp[h]=(d+this.temp[h-7]|0)+(p+this.temp[h-16]|0)}var g=(((a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7))+(a&u^~a&c)|0)+(l+(r.KEY[h]+this.temp[h]|0)|0)|0,_=((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&i^n&s^i&s)|0;l=c,c=u,u=a,a=o+g|0,o=s,s=i,i=n,n=g+_|0}t[0]+=n,t[1]+=i,t[2]+=s,t[3]+=o,t[4]+=a,t[5]+=u,t[6]+=c,t[7]+=l},e}();t.RawSha256=i},945:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MAX_HASHABLE_LENGTH=t.INIT=t.KEY=t.DIGEST_LENGTH=t.BLOCK_SIZE=void 0,t.BLOCK_SIZE=64,t.DIGEST_LENGTH=32,t.KEY=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),t.INIT=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],t.MAX_HASHABLE_LENGTH=Math.pow(2,53)-1},938:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),(0,n(655).__exportStar)(n(430),t)},430:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sha256=void 0;var r=n(655),i=n(945),s=n(914),o=n(658),a=function(){function e(e){if(this.hash=new s.RawSha256,e){this.outer=new s.RawSha256;var t=function(e){var t=(0,o.convertToBuffer)(e);if(t.byteLength>i.BLOCK_SIZE){var n=new s.RawSha256;n.update(t),t=n.digest()}var r=new Uint8Array(i.BLOCK_SIZE);return r.set(t),r}(e),n=new Uint8Array(i.BLOCK_SIZE);n.set(t);for(var r=0;r<i.BLOCK_SIZE;r++)t[r]^=54,n[r]^=92;for(this.hash.update(t),this.outer.update(n),r=0;r<t.byteLength;r++)t[r]=0}}return e.prototype.update=function(e){if(!(0,o.isEmptyData)(e)&&!this.error)try{this.hash.update((0,o.convertToBuffer)(e))}catch(e){this.error=e}},e.prototype.digestSync=function(){if(this.error)throw this.error;return this.outer?(this.outer.finished||this.outer.update(this.hash.digest()),this.outer.digest()):this.hash.digest()},e.prototype.digest=function(){return(0,r.__awaiter)(this,void 0,void 0,(function(){return(0,r.__generator)(this,(function(e){return[2,this.digestSync()]}))}))},e}();t.Sha256=a},106:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertToBuffer=void 0;var r=n(84),i="undefined"!=typeof Buffer&&Buffer.from?function(e){return Buffer.from(e,"utf8")}:r.fromUtf8;t.convertToBuffer=function(e){return e instanceof Uint8Array?e:"string"==typeof e?i(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}},658:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uint32ArrayFrom=t.numToUint8=t.isEmptyData=t.convertToBuffer=void 0;var r=n(106);Object.defineProperty(t,"convertToBuffer",{enumerable:!0,get:function(){return r.convertToBuffer}});var i=n(304);Object.defineProperty(t,"isEmptyData",{enumerable:!0,get:function(){return i.isEmptyData}});var s=n(174);Object.defineProperty(t,"numToUint8",{enumerable:!0,get:function(){return s.numToUint8}});var o=n(558);Object.defineProperty(t,"uint32ArrayFrom",{enumerable:!0,get:function(){return o.uint32ArrayFrom}})},304:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isEmptyData=void 0,t.isEmptyData=function(e){return"string"==typeof e?0===e.length:0===e.byteLength}},174:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.numToUint8=void 0,t.numToUint8=function(e){return new Uint8Array([(4278190080&e)>>24,(16711680&e)>>16,(65280&e)>>8,255&e])}},558:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uint32ArrayFrom=void 0,t.uint32ArrayFrom=function(e){if(!Array.from){for(var t=new Uint32Array(e.length);0<e.length;)t[0]=e[0];return t}return Uint32Array.from(e)}},84:(e,t,n)=>{"use strict";n.r(t),n.d(t,{fromUtf8:()=>r,toUtf8:()=>i});const r=e=>"function"==typeof TextEncoder?function(e){return(new TextEncoder).encode(e)}(e):(e=>{const t=[];for(let n=0,r=e.length;n<r;n++){const r=e.charCodeAt(n);if(r<128)t.push(r);else if(r<2048)t.push(r>>6|192,63&r|128);else if(n+1<e.length&&55296==(64512&r)&&56320==(64512&e.charCodeAt(n+1))){const i=65536+((1023&r)<<10)+(1023&e.charCodeAt(++n));t.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}else t.push(r>>12|224,r>>6&63|128,63&r|128)}return Uint8Array.from(t)})(e),i=e=>"function"==typeof TextDecoder?function(e){return new TextDecoder("utf-8").decode(e)}(e):(e=>{let t="";for(let n=0,r=e.length;n<r;n++){const r=e[n];if(r<128)t+=String.fromCharCode(r);else if(192<=r&&r<224){const i=e[++n];t+=String.fromCharCode((31&r)<<6|63&i)}else if(240<=r&&r<365){const i="%"+[r,e[++n],e[++n],e[++n]].map((e=>e.toString(16))).join("%");t+=decodeURIComponent(i)}else t+=String.fromCharCode((15&r)<<12|(63&e[++n])<<6|63&e[++n])}return t})(e)},742:(e,t)=>{"use strict";t.byteLength=function(e){var t=a(e),n=t[0],r=t[1];return 3*(n+r)/4-r},t.toByteArray=function(e){var t,n,s=a(e),o=s[0],u=s[1],c=new i(function(e,t,n){return 3*(t+n)/4-n}(0,o,u)),l=0,h=u>0?o-4:o;for(n=0;n<h;n+=4)t=r[e.charCodeAt(n)]<<18|r[e.charCodeAt(n+1)]<<12|r[e.charCodeAt(n+2)]<<6|r[e.charCodeAt(n+3)],c[l++]=t>>16&255,c[l++]=t>>8&255,c[l++]=255&t;return 2===u&&(t=r[e.charCodeAt(n)]<<2|r[e.charCodeAt(n+1)]>>4,c[l++]=255&t),1===u&&(t=r[e.charCodeAt(n)]<<10|r[e.charCodeAt(n+1)]<<4|r[e.charCodeAt(n+2)]>>2,c[l++]=t>>8&255,c[l++]=255&t),c},t.fromByteArray=function(e){for(var t,r=e.length,i=r%3,s=[],o=16383,a=0,c=r-i;a<c;a+=o)s.push(u(e,a,a+o>c?c:a+o));return 1===i?(t=e[r-1],s.push(n[t>>2]+n[t<<4&63]+"==")):2===i&&(t=(e[r-2]<<8)+e[r-1],s.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),s.join("")};for(var n=[],r=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)n[o]=s[o],r[s.charCodeAt(o)]=o;function a(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function u(e,t,r){for(var i,s,o=[],a=t;a<r;a+=3)i=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(255&e[a+2]),o.push(n[(s=i)>>18&63]+n[s>>12&63]+n[s>>6&63]+n[63&s]);return o.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},764:(e,t,n)=>{"use strict";var r=n(742),i=n(645),s=n(826);function o(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,t){if(o()<t)throw new RangeError("Invalid typed array length");return u.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=u.prototype:(null===e&&(e=new u(t)),e.length=t),e}function u(e,t,n){if(!(u.TYPED_ARRAY_SUPPORT||this instanceof u))return new u(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return h(this,e)}return c(this,e,t,n)}function c(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");return t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r),u.TYPED_ARRAY_SUPPORT?(e=t).__proto__=u.prototype:e=f(e,t),e}(e,t,n,r):"string"==typeof t?function(e,t,n){if("string"==typeof n&&""!==n||(n="utf8"),!u.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|p(t,n),i=(e=a(e,r)).write(t,n);return i!==r&&(e=e.slice(0,i)),e}(e,t,n):function(e,t){if(u.isBuffer(t)){var n=0|d(t.length);return 0===(e=a(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(r=t.length)!=r?a(e,0):f(e,t);if("Buffer"===t.type&&s(t.data))return f(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function h(e,t){if(l(t),e=a(e,t<0?0:0|d(t)),!u.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function f(e,t){var n=t.length<0?0:0|d(t.length);e=a(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function d(e){if(e>=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function p(e,t){if(u.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return B(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return $(e).length;default:if(r)return B(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return C(this,t,n);case"utf8":case"utf-8":return T(this,t,n);case"ascii":return U(this,t,n);case"latin1":case"binary":return D(this,t,n);case"base64":return I(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function _(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function m(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=u.from(t,r)),u.isBuffer(t))return 0===t.length?-1:y(e,t,n,r,i);if("number"==typeof t)return t&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):y(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function y(e,t,n,r,i){var s,o=1,a=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;o=2,a/=2,u/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var l=-1;for(s=n;s<a;s++)if(c(e,s)===c(t,-1===l?0:s-l)){if(-1===l&&(l=s),s-l+1===u)return l*o}else-1!==l&&(s-=s-l),l=-1}else for(n+u>a&&(n=a-u),s=n;s>=0;s--){for(var h=!0,f=0;f<u;f++)if(c(e,s+f)!==c(t,f)){h=!1;break}if(h)return s}return-1}function w(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var s=t.length;if(s%2!=0)throw new TypeError("Invalid hex string");r>s/2&&(r=s/2);for(var o=0;o<r;++o){var a=parseInt(t.substr(2*o,2),16);if(isNaN(a))return o;e[n+o]=a}return o}function b(e,t,n,r){return q(B(t,e.length-n),e,n,r)}function A(e,t,n,r){return q(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function v(e,t,n,r){return A(e,t,n,r)}function E(e,t,n,r){return q($(t),e,n,r)}function S(e,t,n,r){return q(function(e,t){for(var n,r,i,s=[],o=0;o<e.length&&!((t-=2)<0);++o)r=(n=e.charCodeAt(o))>>8,i=n%256,s.push(i),s.push(r);return s}(t,e.length-n),e,n,r)}function I(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function T(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var s,o,a,u,c=e[i],l=null,h=c>239?4:c>223?3:c>191?2:1;if(i+h<=n)switch(h){case 1:c<128&&(l=c);break;case 2:128==(192&(s=e[i+1]))&&(u=(31&c)<<6|63&s)>127&&(l=u);break;case 3:s=e[i+1],o=e[i+2],128==(192&s)&&128==(192&o)&&(u=(15&c)<<12|(63&s)<<6|63&o)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:s=e[i+1],o=e[i+2],a=e[i+3],128==(192&s)&&128==(192&o)&&128==(192&a)&&(u=(15&c)<<18|(63&s)<<12|(63&o)<<6|63&a)>65535&&u<1114112&&(l=u)}null===l?(l=65533,h=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),i+=h}return function(e){var t=e.length;if(t<=R)return String.fromCharCode.apply(String,e);for(var n="",r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=R));return n}(r)}t.lW=u,t.h2=50,u.TYPED_ARRAY_SUPPORT=void 0!==n.g.TYPED_ARRAY_SUPPORT?n.g.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),o(),u.poolSize=8192,u._augment=function(e){return e.__proto__=u.prototype,e},u.from=function(e,t,n){return c(null,e,t,n)},u.TYPED_ARRAY_SUPPORT&&(u.prototype.__proto__=Uint8Array.prototype,u.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&u[Symbol.species]===u&&Object.defineProperty(u,Symbol.species,{value:null,configurable:!0})),u.alloc=function(e,t,n){return function(e,t,n,r){return l(t),t<=0?a(e,t):void 0!==n?"string"==typeof r?a(e,t).fill(n,r):a(e,t).fill(n):a(e,t)}(null,e,t,n)},u.allocUnsafe=function(e){return h(null,e)},u.allocUnsafeSlow=function(e){return h(null,e)},u.isBuffer=function(e){return!(null==e||!e._isBuffer)},u.compare=function(e,t){if(!u.isBuffer(e)||!u.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,s=Math.min(n,r);i<s;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},u.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},u.concat=function(e,t){if(!s(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return u.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=u.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var o=e[n];if(!u.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(r,i),i+=o.length}return r},u.byteLength=p,u.prototype._isBuffer=!0,u.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)_(this,t,t+1);return this},u.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)_(this,t,t+3),_(this,t+1,t+2);return this},u.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)_(this,t,t+7),_(this,t+1,t+6),_(this,t+2,t+5),_(this,t+3,t+4);return this},u.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?T(this,0,e):g.apply(this,arguments)},u.prototype.equals=function(e){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===u.compare(this,e)},u.prototype.inspect=function(){var e="",n=t.h2;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),"<Buffer "+e+">"},u.prototype.compare=function(e,t,n,r,i){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var s=(i>>>=0)-(r>>>=0),o=(n>>>=0)-(t>>>=0),a=Math.min(s,o),c=this.slice(r,i),l=e.slice(t,n),h=0;h<a;++h)if(c[h]!==l[h]){s=c[h],o=l[h];break}return s<o?-1:o<s?1:0},u.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},u.prototype.indexOf=function(e,t,n){return m(this,e,t,n,!0)},u.prototype.lastIndexOf=function(e,t,n){return m(this,e,t,n,!1)},u.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var s=!1;;)switch(r){case"hex":return w(this,e,t,n);case"utf8":case"utf-8":return b(this,e,t,n);case"ascii":return A(this,e,t,n);case"latin1":case"binary":return v(this,e,t,n);case"base64":return E(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),s=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var R=4096;function U(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function D(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function C(e,t,n){var r,i=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>i)&&(n=i);for(var s="",o=t;o<n;++o)s+=(r=e[o])<16?"0"+r.toString(16):r.toString(16);return s}function P(e,t,n){for(var r=e.slice(t,n),i="",s=0;s<r.length;s+=2)i+=String.fromCharCode(r[s]+256*r[s+1]);return i}function N(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function k(e,t,n,r,i,s){if(!u.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<s)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function O(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,s=Math.min(e.length-n,2);i<s;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function M(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,s=Math.min(e.length-n,4);i<s;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function L(e,t,n,r,i,s){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function V(e,t,n,r,s){return s||L(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function F(e,t,n,r,s){return s||L(e,0,n,8),i.write(e,t,n,r,52,8),n+8}u.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),u.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=u.prototype;else{var i=t-e;n=new u(i,void 0);for(var s=0;s<i;++s)n[s]=this[s+e]}return n},u.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||N(e,t,this.length);for(var r=this[e],i=1,s=0;++s<t&&(i*=256);)r+=this[e+s]*i;return r},u.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||N(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},u.prototype.readUInt8=function(e,t){return t||N(e,1,this.length),this[e]},u.prototype.readUInt16LE=function(e,t){return t||N(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function(e,t){return t||N(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function(e,t){return t||N(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function(e,t){return t||N(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||N(e,t,this.length);for(var r=this[e],i=1,s=0;++s<t&&(i*=256);)r+=this[e+s]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},u.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||N(e,t,this.length);for(var r=t,i=1,s=this[e+--r];r>0&&(i*=256);)s+=this[e+--r]*i;return s>=(i*=128)&&(s-=Math.pow(2,8*t)),s},u.prototype.readInt8=function(e,t){return t||N(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){t||N(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(e,t){t||N(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(e,t){return t||N(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return t||N(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function(e,t){return t||N(e,4,this.length),i.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return t||N(e,4,this.length),i.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return t||N(e,8,this.length),i.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return t||N(e,8,this.length),i.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function(e,t,n,r){e=+e,t|=0,n|=0,r||k(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,s=0;for(this[t]=255&e;++s<n&&(i*=256);)this[t+s]=e/i&255;return t+n},u.prototype.writeUIntBE=function(e,t,n,r){e=+e,t|=0,n|=0,r||k(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,s=1;for(this[t+i]=255&e;--i>=0&&(s*=256);)this[t+i]=e/s&255;return t+n},u.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},u.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):O(this,e,t,!0),t+2},u.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):O(this,e,t,!1),t+2},u.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):M(this,e,t,!0),t+4},u.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):M(this,e,t,!1),t+4},u.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);k(this,e,t,n,i-1,-i)}var s=0,o=1,a=0;for(this[t]=255&e;++s<n&&(o*=256);)e<0&&0===a&&0!==this[t+s-1]&&(a=1),this[t+s]=(e/o>>0)-a&255;return t+n},u.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);k(this,e,t,n,i-1,-i)}var s=n-1,o=1,a=0;for(this[t+s]=255&e;--s>=0&&(o*=256);)e<0&&0===a&&0!==this[t+s+1]&&(a=1),this[t+s]=(e/o>>0)-a&255;return t+n},u.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):O(this,e,t,!0),t+2},u.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):O(this,e,t,!1),t+2},u.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):M(this,e,t,!0),t+4},u.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):M(this,e,t,!1),t+4},u.prototype.writeFloatLE=function(e,t,n){return V(this,e,t,!0,n)},u.prototype.writeFloatBE=function(e,t,n){return V(this,e,t,!1,n)},u.prototype.writeDoubleLE=function(e,t,n){return F(this,e,t,!0,n)},u.prototype.writeDoubleBE=function(e,t,n){return F(this,e,t,!1,n)},u.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,s=r-n;if(this===e&&n<t&&t<r)for(i=s-1;i>=0;--i)e[i+t]=this[i+n];else if(s<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i<s;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+s),t);return s},u.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!u.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var s;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(s=t;s<n;++s)this[s]=e;else{var o=u.isBuffer(e)?e:B(new u(e,r).toString()),a=o.length;for(s=0;s<n-t;++s)this[s+t]=o[s%a]}return this};var x=/[^+\/0-9A-Za-z-_]/g;function B(e,t){var n;t=t||1/0;for(var r=e.length,i=null,s=[],o=0;o<r;++o){if((n=e.charCodeAt(o))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===r){(t-=3)>-1&&s.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function $(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(x,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function q(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}},645:(e,t)=>{t.read=function(e,t,n,r,i){var s,o,a=8*i-r-1,u=(1<<a)-1,c=u>>1,l=-7,h=n?i-1:0,f=n?-1:1,d=e[t+h];for(h+=f,s=d&(1<<-l)-1,d>>=-l,l+=a;l>0;s=256*s+e[t+h],h+=f,l-=8);for(o=s&(1<<-l)-1,s>>=-l,l+=r;l>0;o=256*o+e[t+h],h+=f,l-=8);if(0===s)s=1-c;else{if(s===u)return o?NaN:1/0*(d?-1:1);o+=Math.pow(2,r),s-=c}return(d?-1:1)*o*Math.pow(2,s-r)},t.write=function(e,t,n,r,i,s){var o,a,u,c=8*s-i-1,l=(1<<c)-1,h=l>>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:s-1,p=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-o))<1&&(o--,u*=2),(t+=o+h>=1?f/u:f*Math.pow(2,1-h))*u>=2&&(o++,u/=2),o+h>=l?(a=0,o=l):o+h>=1?(a=(t*u-1)*Math.pow(2,i),o+=h):(a=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[n+d]=255&a,d+=p,a/=256,i-=8);for(o=o<<i|a,c+=i;c>0;e[n+d]=255&o,d+=p,o/=256,c-=8);e[n+d-p]|=128*g}},826:e=>{var t={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==t.call(e)}},204:(e,t,n)=>{e.exports=self.fetch||(self.fetch=n(869).default||n(869))},808:(e,t,n)=>{var r,i,s;void 0===(i="function"==typeof(r=s=function(){function e(){for(var e=0,t={};e<arguments.length;e++){var n=arguments[e];for(var r in n)t[r]=n[r]}return t}function t(e){return e.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent)}return function n(r){function i(){}function s(t,n,s){if("undefined"!=typeof document){"number"==typeof(s=e({path:"/"},i.defaults,s)).expires&&(s.expires=new Date(1*new Date+864e5*s.expires)),s.expires=s.expires?s.expires.toUTCString():"";try{var o=JSON.stringify(n);/^[\{\[]/.test(o)&&(n=o)}catch(e){}n=r.write?r.write(n,t):encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),t=encodeURIComponent(String(t)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var a="";for(var u in s)s[u]&&(a+="; "+u,!0!==s[u]&&(a+="="+s[u].split(";")[0]));return document.cookie=t+"="+n+a}}function o(e,n){if("undefined"!=typeof document){for(var i={},s=document.cookie?document.cookie.split("; "):[],o=0;o<s.length;o++){var a=s[o].split("="),u=a.slice(1).join("=");n||'"'!==u.charAt(0)||(u=u.slice(1,-1));try{var c=t(a[0]);if(u=(r.read||r)(u,c)||t(u),n)try{u=JSON.parse(u)}catch(e){}if(i[c]=u,e===c)break}catch(e){}}return e?i[e]:i}}return i.set=s,i.get=function(e){return o(e,!1)},i.getJSON=function(e){return o(e,!0)},i.remove=function(t,n){s(t,"",e(n,{expires:-1}))},i.defaults={},i.withConverter=n,i}((function(){}))})?r.call(t,n,t,e):r)||(e.exports=i),e.exports=s()},655:(e,t,n)=>{"use strict";n.r(t),n.d(t,{__assign:()=>s,__asyncDelegator:()=>b,__asyncGenerator:()=>w,__asyncValues:()=>A,__await:()=>y,__awaiter:()=>l,__classPrivateFieldGet:()=>I,__classPrivateFieldSet:()=>T,__createBinding:()=>f,__decorate:()=>a,__exportStar:()=>d,__extends:()=>i,__generator:()=>h,__importDefault:()=>S,__importStar:()=>E,__makeTemplateObject:()=>v,__metadata:()=>c,__param:()=>u,__read:()=>g,__rest:()=>o,__spread:()=>_,__spreadArrays:()=>m,__values:()=>p});var 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)t.hasOwnProperty(n)&&(e[n]=t[n])},r(e,t)};function i(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var s=function(){return s=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},s.apply(this,arguments)};function o(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n}function a(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o}function u(e,t){return function(n,r){t(n,r,e)}}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function l(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))}function h(e,t){var n,r,i,s,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,r=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!((i=(i=o.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){o.label=s[1];break}if(6===s[0]&&o.label<i[1]){o.label=i[1],i=s;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(s);break}i[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],r=0}finally{n=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}}function f(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}function d(e,t){for(var n in e)"default"===n||t.hasOwnProperty(n)||(t[n]=e[n])}function p(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function g(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,s=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(r=s.next()).done;)o.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(i)throw i.error}}return o}function _(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(g(arguments[t]));return e}function m(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),i=0;for(t=0;t<n;t++)for(var s=arguments[t],o=0,a=s.length;o<a;o++,i++)r[i]=s[o];return r}function y(e){return this instanceof y?(this.v=e,this):new y(e)}function w(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=n.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(e){i[e]&&(r[e]=function(t){return new Promise((function(n,r){s.push([e,t,n,r])>1||a(e,t)}))})}function a(e,t){try{(n=i[e](t)).value instanceof y?Promise.resolve(n.value.v).then(u,c):l(s[0][2],n)}catch(e){l(s[0][3],e)}var n}function u(e){a("next",e)}function c(e){a("throw",e)}function l(e,t){e(t),s.shift(),s.length&&a(s[0][0],s[0][1])}}function b(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,i){t[r]=e[r]?function(t){return(n=!n)?{value:y(e[r](t)),done:"return"===r}:i?i(t):t}:i}}function A(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=p(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,i){!function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)}(r,i,(t=e[n](t)).done,t.value)}))}}}function v(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function E(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function S(e){return e&&e.__esModule?e:{default:e}}function I(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function T(e,t,n){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,n),n}},869:(e,t,n)=>{"use strict";function r(e,t){return t=t||{},new Promise((function(n,r){var i=new XMLHttpRequest,s=[],o=[],a={},u=function(){return{ok:2==(i.status/100|0),statusText:i.statusText,status:i.status,url:i.responseURL,text:function(){return Promise.resolve(i.responseText)},json:function(){return Promise.resolve(i.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([i.response]))},clone:u,headers:{keys:function(){return s},entries:function(){return o},get:function(e){return a[e.toLowerCase()]},has:function(e){return e.toLowerCase()in a}}}};for(var c in i.open(t.method||"get",e,!0),i.onload=function(){i.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,(function(e,t,n){s.push(t=t.toLowerCase()),o.push([t,n]),a[t]=a[t]?a[t]+","+n:n})),n(u())},i.onerror=r,i.withCredentials="include"==t.credentials,t.headers)i.setRequestHeader(c,t.headers[c]);i.send(t.body||null)}))}n.r(t),n.d(t,{default:()=>r})},249:()=>{}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var s=t[r]={exports:{}};return e[r](s,s.exports,n),s.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return(()=>{"use strict";n.r(r),n.d(r,{Skapi:()=>kt,SkapiError:()=>e});class e extends Error{constructor(e,t){if(Array.isArray(e)&&e.length<=2){let n=e[1];if(e.length>2)for(let t=2;t<e.length&&"string"==typeof e[t];t++)n+=e[t];super((n||"Something went wrong.").trim()),this.name=t?.name||"SKAPI",this.code=t?.code||e[0]||"ERROR",t?.cause&&(this.cause=t.cause)}else"string"==typeof e?(super((e||"Something went wrong.").trim()),this.name=t?.name||"SKAPI",this.code=t?.code||"ERROR",t?.cause&&(this.cause=t.cause)):e instanceof Error&&(super((e.message||"Something went wrong.").trim()),this.cause=e,this.name=e.name,e.hasOwnProperty("code")&&(this.code=e.code))}}class t{static hash(e){"string"!=typeof e&&(console.warn("coercing non-string value to empty string"),e="");const n=t.sb(e);let r,i,s,o,a=1732584193,u=-271733879,c=-1732584194,l=271733878;for(let e=0;e<n.length;e+=16)r=a,i=u,s=c,o=l,a=t.ff(a,u,c,l,n[e],7,-680876936),l=t.ff(l,a,u,c,n[e+1],12,-389564586),c=t.ff(c,l,a,u,n[e+2],17,606105819),u=t.ff(u,c,l,a,n[e+3],22,-1044525330),a=t.ff(a,u,c,l,n[e+4],7,-176418897),l=t.ff(l,a,u,c,n[e+5],12,1200080426),c=t.ff(c,l,a,u,n[e+6],17,-1473231341),u=t.ff(u,c,l,a,n[e+7],22,-45705983),a=t.ff(a,u,c,l,n[e+8],7,1770035416),l=t.ff(l,a,u,c,n[e+9],12,-1958414417),c=t.ff(c,l,a,u,n[e+10],17,-42063),u=t.ff(u,c,l,a,n[e+11],22,-1990404162),a=t.ff(a,u,c,l,n[e+12],7,1804603682),l=t.ff(l,a,u,c,n[e+13],12,-40341101),c=t.ff(c,l,a,u,n[e+14],17,-1502002290),u=t.ff(u,c,l,a,n[e+15],22,1236535329),a=t.gg(a,u,c,l,n[e+1],5,-165796510),l=t.gg(l,a,u,c,n[e+6],9,-1069501632),c=t.gg(c,l,a,u,n[e+11],14,643717713),u=t.gg(u,c,l,a,n[e],20,-373897302),a=t.gg(a,u,c,l,n[e+5],5,-701558691),l=t.gg(l,a,u,c,n[e+10],9,38016083),c=t.gg(c,l,a,u,n[e+15],14,-660478335),u=t.gg(u,c,l,a,n[e+4],20,-405537848),a=t.gg(a,u,c,l,n[e+9],5,568446438),l=t.gg(l,a,u,c,n[e+14],9,-1019803690),c=t.gg(c,l,a,u,n[e+3],14,-187363961),u=t.gg(u,c,l,a,n[e+8],20,1163531501),a=t.gg(a,u,c,l,n[e+13],5,-1444681467),l=t.gg(l,a,u,c,n[e+2],9,-51403784),c=t.gg(c,l,a,u,n[e+7],14,1735328473),u=t.gg(u,c,l,a,n[e+12],20,-1926607734),a=t.hh(a,u,c,l,n[e+5],4,-378558),l=t.hh(l,a,u,c,n[e+8],11,-2022574463),c=t.hh(c,l,a,u,n[e+11],16,1839030562),u=t.hh(u,c,l,a,n[e+14],23,-35309556),a=t.hh(a,u,c,l,n[e+1],4,-1530992060),l=t.hh(l,a,u,c,n[e+4],11,1272893353),c=t.hh(c,l,a,u,n[e+7],16,-155497632),u=t.hh(u,c,l,a,n[e+10],23,-1094730640),a=t.hh(a,u,c,l,n[e+13],4,681279174),l=t.hh(l,a,u,c,n[e],11,-358537222),c=t.hh(c,l,a,u,n[e+3],16,-722521979),u=t.hh(u,c,l,a,n[e+6],23,76029189),a=t.hh(a,u,c,l,n[e+9],4,-640364487),l=t.hh(l,a,u,c,n[e+12],11,-421815835),c=t.hh(c,l,a,u,n[e+15],16,530742520),u=t.hh(u,c,l,a,n[e+2],23,-995338651),a=t.ii(a,u,c,l,n[e],6,-198630844),l=t.ii(l,a,u,c,n[e+7],10,1126891415),c=t.ii(c,l,a,u,n[e+14],15,-1416354905),u=t.ii(u,c,l,a,n[e+5],21,-57434055),a=t.ii(a,u,c,l,n[e+12],6,1700485571),l=t.ii(l,a,u,c,n[e+3],10,-1894986606),c=t.ii(c,l,a,u,n[e+10],15,-1051523),u=t.ii(u,c,l,a,n[e+1],21,-2054922799),a=t.ii(a,u,c,l,n[e+8],6,1873313359),l=t.ii(l,a,u,c,n[e+15],10,-30611744),c=t.ii(c,l,a,u,n[e+6],15,-1560198380),u=t.ii(u,c,l,a,n[e+13],21,1309151649),a=t.ii(a,u,c,l,n[e+4],6,-145523070),l=t.ii(l,a,u,c,n[e+11],10,-1120210379),c=t.ii(c,l,a,u,n[e+2],15,718787259),u=t.ii(u,c,l,a,n[e+9],21,-343485551),a=t.ad(a,r),u=t.ad(u,i),c=t.ad(c,s),l=t.ad(l,o);return t.rh(a)+t.rh(u)+t.rh(c)+t.rh(l)}static rh(e){let n="";for(let r=0;r<=3;r++)n+=t.alphabet.charAt(e>>8*r+4&15)+t.alphabet.charAt(e>>8*r&15);return n}static ad(e,t){const n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}static rl(e,t){return e<<t|e>>>32-t}static cm(e,n,r,i,s,o){return t.ad(t.rl(t.ad(t.ad(n,e),t.ad(i,o)),s),r)}static ff(e,n,r,i,s,o,a){return t.cm(n&r|~n&i,e,n,s,o,a)}static gg(e,n,r,i,s,o,a){return t.cm(n&i|r&~i,e,n,s,o,a)}static hh(e,n,r,i,s,o,a){return t.cm(n^r^i,e,n,s,o,a)}static ii(e,n,r,i,s,o,a){return t.cm(r^(n|~i),e,n,s,o,a)}static sb(e){let t;const n=1+(e.length+8>>6),r=new Array(16*n);for(t=0;t<16*n;t++)r[t]=0;for(t=0;t<e.length;t++)r[t>>2]|=e.charCodeAt(t)<<t%4*8;return r[t>>2]|=128<<t%4*8,r[16*n-2]=8*e.length,r}}function i(e){const t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";if(0===e)return t[0];let n="";for(;e>0;)n=t[e%62]+n,e=Math.floor(e/62);return n}function s(e){return e.split("").reverse().reduce(((e,t,n)=>e+"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".indexOf(t)*62**n),0)}function o(e=6){let t="";let n=0;for(;n<e;)t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random())),n+=1;return t}function a(t,n,r){let i={},s=[];function o(t){let n;try{n=JSON.stringify(t)}catch(t){throw new e("Invalid data type.",{code:"INVALID_REQUEST"})}return new Blob([n]).size}function a(t,i,s){if(n?.ignoreEmpty&&""===s)return;if(n?.nullIfEmpty&&""===s&&(s=null),"function"==typeof r){let e=r(i,s);void 0!==e&&(s=e)}let o=i.split("[").map((e=>{let t=e.replace("]",""),n=Number(t);return isNaN(n)||t.includes(".")?('"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1])&&(t=t.replace(/"/g,"").replace(/'/g,"")):t=n,t})),a=t;if("number"==typeof o[0])throw new e("Form key cannot start with an array index.",{code:"INVALID_REQUEST"});for(let e=0;e<o.length;e++){let t=o[e];if(e<o.length-1){if(void 0===a[t]){let n=o[e+1];a[t]="number"==typeof n?[]:{}}a=a[t]}else void 0===a[t]?a[t]=s:Array.isArray(a[t])?a[t].push(s):a[t]=[a[t],s]}}function u(e,t,n){if(n instanceof File)e.push({name:t,file:n});else if(n instanceof FileList&&n&&n.length>0)for(let r=0;r<=n.length-1;r++){let i=n.item(r);i&&e.push({name:t,file:i})}}if(t instanceof FormData){for(let e of t.entries()){let t=e[0],n=e[1];n instanceof File||n instanceof FileList?u(s,t,n):a(i,t,n)}if(o(i)>2097152)throw new e("Data should not exceed 2MB",{code:"INVALID_REQUEST"});return{data:i,files:s}}if(t instanceof SubmitEvent&&(t=t.target),t instanceof HTMLFormElement){let n=t.querySelectorAll("input"),r=t.querySelectorAll("select"),c=t.querySelectorAll("textarea");for(let e=0;e<r.length;e++){let t=r[e];t.name&&a(i,t.name,t.value)}for(let e=0;e<c.length;e++){let t=c[e];t.name&&a(i,t.name,t.value)}for(let e=0;e<n.length;e++){let t=n[e];t.name&&("number"===t.type?t.value&&a(i,t.name,Number(t.value)):"checkbox"===t.type||"radio"===t.type?t.checked?""===t.value&&"checkbox"===t.type||"on"===t.value||"true"===t.value?a(i,t.name,!0):"false"===t.value?a(i,t.name,!1):t.value&&a(i,t.name,t.value):"checkbox"===t.type&&(""===t.value||"on"===t.value||"true"===t.value?a(i,t.name,!1):"false"===t.value&&a(i,t.name,!0)):"file"===t.type?t.files&&t.files.length>0&&u(s,t.name,t.files):a(i,t.name,t.value))}if(o(i)>2097152)throw new e("Data should not exceed 2MB",{code:"INVALID_REQUEST"});return{data:i,files:s}}if(o(t)>2097152)throw new e("Data should not exceed 2MB",{code:"INVALID_REQUEST"});return{data:t,files:s}}function u(e,t,n=[],r=null){function i(e){return e&&"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length}function s(e){return Array.isArray(e)&&e.length}if(null===r&&!i(t))throw'Argument "struct" is required.';let o=null!==r?` in key "${r}" is invalid.`:". Parameter should be type <object>.";if(s(t)){let i="";t.forEach((e=>{["string","number","boolean","object","array"].includes(e)?i+=`Type<${e}>, `:"function"!=typeof e&&(i+=JSON.stringify(e,null,2)+", ")})),i=i?" Should be: "+i.slice(0,-2):"";let s,a=!1,c="";for(let i of t)try{s=u(e,i,n,r),a=!0;break}catch(e){c="function"==typeof i?e?.message||e:"",a=!1}if(!a)throw c||`Invalid type "${typeof e}"${o}${i}.`;return s}if(i(e)){if(i(t))for(let i in t){let o=(null===r?"":r)+(null!==r?"["+i+"]":i);if(!e.hasOwnProperty(i)){if(n.includes(o))throw`Key "${o}" is required.`;s(t[i])&&"function"==typeof t[i][t[i].length-1]&&(e[i]=t[i][t[i].length-1]())}}if("object"===t)return e;if("function"==typeof t)return t(e);for(let i in e){let o=(null===r?"":r)+(null!==r?"["+i+"]":i);if(s(t)||t.hasOwnProperty(i))if(s(e[i])){if("array"===t[i])continue;if("function"==typeof t[i]){e[i]=t[i](e[i]);continue}for(let r=0;r<e[i].length;r++)e[i][r]=u(e[i][r],t[i],n,o+`[${r}]`)}else e[i]=u(e[i],t[i],n,o)}return e}if("function"==typeof t)return t(e);if("array"===t&&Array.isArray(e)||t===typeof e||e===t)return e;if(null==e||(a=e)&&"object"==typeof a&&!Array.isArray(a)&&!Object.keys(a).length)return e;var a;throw`Invalid type "${typeof e}"${o} Should be: ${["string","number","boolean","object","array"].includes(t)?`Type<${t}>`:JSON.stringify(t,null,2)}`}t.alphabet="0123456789abcdef";const c={UserId:function(t,n="User ID"){if(!t)throw new e(`${n} is empty.`,{code:"INVALID_PARAMETER"});if("string"!=typeof t)throw new e(`${n} should be type: string.`,{code:"INVALID_PARAMETER"});if(!t.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i))throw new e(`${n} is invalid.`,{code:"INVALID_PARAMETER"});return t},PhoneNumber:function(t){if(t&&("string"!=typeof t||"+"!==t.charAt(0)||isNaN(Number(t.substring(1)))))throw new e('"phone_number" is invalid. The format should be "+00123456789". Type: string.',{code:"INVALID_PARAMETER"});return t||""},Birthdate:function(t){if(t){if("string"!=typeof t)throw new e('"birthdate" is invalid. The format should be "yyyy-mm-dd". Type: string.',{code:"INVALID_PARAMETER"});{let n=new RegExp(/([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))/);if(10!==t.length||3!==t.split("-").length||!n.test(t))throw new e('"birthdate" is invalid. The format should be "yyyy-mm-dd". Type: string.',{code:"INVALID_PARAMETER"})}}return t||""},Password:function(t){if(!t)throw new e('"password" is required.',{code:"INVALID_PARAMETER"});if("string"!=typeof t)throw new e('"password" should be type: string.',{code:"INVALID_PARAMETER"});if(t.length<6)throw new e('"password" should be at least 6 characters.',{code:"INVALID_PARAMETER"});if(t.length>60)throw new e('"password" can be up to 60 characters max.',{code:"INVALID_PARAMETER"});return t},Email:function(t,n="email"){if(!t)throw new e(`"${n}" is required.`,{code:"INVALID_PARAMETER"});if("string"!=typeof t)throw new e(`"${n}"should be type: string.`,{code:"INVALID_PARAMETER"});if(t.length<5)throw new e(`"${n}" should be at least 5 characters.`,{code:"INVALID_PARAMETER"});if(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(t)&&(t=t.trim()).split("@")[1].split(".").length>=2)return t.toLowerCase();throw new e(`"${t}" is an invalid email.`,{code:"INVALID_PARAMETER"})},Url:function(t){const n=(()=>{let e=window.location.origin||null;return e&&"/"===e.slice(-1)&&(e=e.slice(0,-1)),e})();let r=t=>{if("string"==typeof t){if("*"===t)return"*";{let r,i=t.trim();if("/"===i[0]&&n){if("file:"===n.slice(0,5))throw new e(`"${t}" is an invalid url. Relative URL does not work on local file system. Use full URL string.`,{code:"INVALID_PARAMETER"});i=n+i}else if("."===i[0]&&n){if("file:"===n.slice(0,5))throw new e(`"${t}" is an invalid url. Relative URL does not work on local file system. Use full URL string.`,{code:"INVALID_PARAMETER"});let r=window.location.href.split("?")[0];"/"!==r.slice(-1)&&(r+="/"),i=r+i.slice(1)}try{r=new URL(i)}catch(n){throw new e(`"${t}" is an invalid url.`,{code:"INVALID_PARAMETER"})}if(r.protocol)return r.href}}throw new e(`"${t}" is an invalid url.`,{code:"INVALID_PARAMETER"})};return Array.isArray(t)?t.map((e=>r(e))):r(t)},specialChars:function(t,n="parameter",r=!1,i=!1){let s=t=>{if("string"!=typeof t)throw new e(`${n} should be type: <string | string[]>.`,{code:"INVALID_PARAMETER"});if(!i&&t.includes(" "))throw new e(`${n} should not have whitespace.`,{code:"INVALID_PARAMETER"});if(!r&&t.includes("."))throw new e(`${n} should not have periods.`,{code:"INVALID_PARAMETER"});if(/[!@#$%&*()+\-={};':"\|,<>\/?~]/.test(t))throw new e(`${n} should not have special characters.`,{code:"INVALID_PARAMETER"})};if(Array.isArray(t))for(let e of t)s(e);else s(t);return t},Params:function(t,n,r=[]){let i=a(t).data;n.service="string",n.owner="string";let s={};for(let e in n)if(i&&"object"==typeof i&&!Array.isArray(i)&&i.hasOwnProperty(e))if("function"==typeof i[e])s[e]=i[e];else try{s[e]=JSON.parse(JSON.stringify(i[e]))}catch(t){s[e]=i[e]}try{return u(s,n,r)}catch(t){throw new e(t,{code:"INVALID_PARAMETER"})}}};async function l(e,t){const n=await Promise.all([this.admin_endpoint,this.record_endpoint]),r=n[0],i=n[1];let s=e.split("?"),o=s.length>1?"?"+s[1]:"";switch(e=s[0]){case"get-newsletters":case"get-public-newsletters":case"get-users":case"post-userdata":case"remove-account":case"post-secure":case"subscribe-newsletter":case"subscribe-public-newsletter":case"admin-signup":case"confirm-signup":case"recover-account":case"mock":case"service":case"grant-access":case"last-verified-email":case"ticket":case"register-ticket":case"get-newsletter-subscription":case"request-username-change":case"jwt-login":case"client-secret-request":case"signupkey":case"send-inquiry":case"client-secret-request-public":return(t?r.admin_private:r.admin_public)+e+o;case"post-record":case"get-records":case"subscription":case"get-subscription":case"del-records":case"get-table":case"get-tag":case"get-index":case"get-signed-url":case"grant-private-access":case"request-private-access-key":case"get-ws-group":case"del-files":return(t?i.record_private:i.record_public)+e+o;default:return c.Url(e)}}const h={};async function f(n,r=null,i,s){this.__network_logs&&console.log(JSON.parse(JSON.stringify({url:n,data:r,options:i}))),i=i||{};let{auth:o=!1,method:u="post",bypassAwaitConnection:f=!1}=i;u=u.toUpperCase();let _=null,m=this.service,y=this.owner,w=null,b=await l.bind(this)(n,!!o);if(!f&&(_=await this.__connection,!_))throw new e("Invalid connection. The service could have been disabled, or has a restricted CORS.",{code:"INVALID_REQUEST"});if(o){if(!this.session)throw this.logout(),new e("User login is required.",{code:"INVALID_REQUEST"});{let t=Date.now()/1e3;if(this.session.idToken.payload.exp<t)try{await this.authentication().getSession({refreshToken:!0})}catch(t){throw this.logout(),new e("User login is required.",{code:"INVALID_REQUEST"})}w=this.session?.idToken?.jwtToken}}let A={},{fetchMore:v=!1,progress:E}=i?.fetchOptions||{};if(i?.fetchOptions&&Object.keys(i.fetchOptions).length){for(let e of["limit","startKey","ascending"])i.fetchOptions.hasOwnProperty(e)&&(A[e]=i.fetchOptions[e]);A=c.Params(A,{limit:t=>{if("number"!=typeof t)throw new e("Fetch limit should be a number.",{code:"INVALID_REQUEST"});if(t>1e3)throw new e("Fetch limit should be below 1000.",{code:"INVALID_REQUEST"});return t},startKey:e=>e,ascending:"boolean"})}let S=s?.ignoreService?{}:{service:m,owner:y};Object.assign(S,A),(r=a(r).data)?r&&"object"==typeof r&&(r=Object.assign(S,r)):r=S;let I=(()=>{if(r&&"object"==typeof r&&Object.keys(r).length&&!(r instanceof FormData)){function e(t){return"object"==typeof t&&null!==t?Object.keys(t).sort().reduce(((n,r)=>("object"==typeof t[r]&&null!==t[r]?n[r]=e(t[r]):n[r]=t[r],n)),{}):t}return t.hash(n+"/"+JSON.stringify(e(r)))}return t.hash(n+"/"+this.service)})(),T=d.bind(this)({params:r,url:n,fetchMore:v,hashedParams:I});if(!T||T&&"object"==typeof T)return T;if("string"==typeof T&&h[T]instanceof Promise)return h[T];let R={Accept:"*/*","Content-Type":i.hasOwnProperty("contentType")?null===i.contentType?"application/x-www-form-urlencoded":i.contentType:"application/json"};w&&(R.Authorization=w);let U={headers:R};if(i?.responseType&&(U.responseType=i.responseType),"GET"===u){if(r){let e=[];if(r instanceof FormData)for(let[t,n]of r.entries())"string"==typeof n&&(n=encodeURIComponent(n),e.push(`&${t}=${n}`));else e=Object.keys(r).map((e=>{let t=r[e];return"string"!=typeof t&&(t=JSON.stringify(t)),encodeURIComponent(e)+"="+encodeURIComponent(t)}));e.length&&("?"!==b.substring(b.length-1)&&(b+="?"),b+=e.join("&"))}U.body=null}else U.body=r?JSON.stringify(r):null;U.method=u,h[T]=p.bind(this)(b,U,E);try{return g.bind(this)({hashedParam:T,url:n,fetched:await h[T]})}finally{T&&h.hasOwnProperty(T)&&delete h[T]}}function d(n){let{params:r={},url:i,fetchMore:s=!1,hashedParams:o}=n||{};if(r.startKey){if(("object"!=typeof r.startKey||!Object.keys(r.startKey).length)&&"start"!==r.startKey&&"end"!==r.startKey)throw new e(`"${r.startKey}" is invalid startKey key.`,{code:"INVALID_PARAMETER"});"start"===r.startKey&&(s=!1,delete r.startKey)}if(!s&&this.__startKeyHistory?.[i]?.[o]){if(this.__cached_requests?.[i]?.[o]&&delete this.__cached_requests[i][o],Array.isArray(this.__startKeyHistory[i][o])&&this.__startKeyHistory[i][o].length)for(let e of this.__startKeyHistory[i][o]){let n=o+t.hash(e);this.__cached_requests?.[i]&&this.__cached_requests?.[i]?.[n]&&delete this.__cached_requests[i][n]}return delete this.__startKeyHistory[i][o],o}if(!Array.isArray(this.__startKeyHistory?.[i]?.[o]))return o;let a=this.__startKeyHistory[i][o],u=a[a.length-1],c=o;if(u){if("end"===u)return{list:[],startKey:"end",endOfList:!0,startKeyHistory:a};c+=t.hash(u),r.startKey=JSON.parse(u)}return this.__cached_requests?.[i]?.[c]?this.__cached_requests[i][c]:o}function p(t,n,r){return new Promise(((i,s)=>{let o=new XMLHttpRequest;for(var a in o.open(n.method||"GET",t),n.headers||{})o.setRequestHeader(a,n.headers[a]);n.responseType&&(o.responseType=n.responseType),o.onload=()=>{if(o.status<400)if("json"==n.responseType||"blob"==n.responseType)i(o.response);else{let e=o.responseText;try{e=JSON.parse(e)}catch(e){}i(e)}else if(429===o.status){let e=o.getResponseHeader("Retry-After");e?setTimeout((()=>{p(t,n,r).then(i,s)}),1e3*parseInt(e)):s("Too many requests")}else{let t=o.status,n=["INVALID_CORS","INVALID_REQUEST","SERVICE_DISABLED","INVALID_PARAMETER","ERROR","EXISTS","NOT_EXISTS"],r=o.responseText;try{r=JSON.parse(r)}catch(e){}if("string"==typeof r){let t=o.response.split(":"),r=t.splice(0,1)[0].trim();s(new e(t.join(":").trim(),{code:n.includes(r)?r:"ERROR"}))}else if("object"==typeof r&&r?.message){let n=r?.code||(t?t.toString():null)||"ERROR",i=r.message;"string"==typeof i&&(i=i.trim()),s(new e(i,{code:n}))}else s(r)}},o.onerror=()=>s("Network error"),o.onabort=()=>s("Aborted"),o.ontimeout=()=>s("Timeout"),"function"==typeof r&&(o.onprogress=e=>{r({status:"download",progress:e.loaded/e.total*100,loaded:e.loaded,total:e.total,abort:()=>o.abort()})},o.upload&&(o.upload.onprogress=e=>{r({status:"upload",progress:e.loaded/e.total*100,loaded:e.loaded,total:e.total,abort:()=>o.abort()})})),o.send(n.body)}))}function g(e){let{hashedParam:t,url:n,fetched:r}=e;if(!r?.startKey)return r;this.__startKeyHistory.hasOwnProperty(n)||(this.__startKeyHistory[n]={}),this.__cached_requests?.[n]||(this.__cached_requests[n]={}),this.__cached_requests[n][t]=r,this.__startKeyHistory[n].hasOwnProperty(t)||(this.__startKeyHistory[n][t]=[]);let i="end"===r.startKey?"end":JSON.stringify(r.startKey);return this.__startKeyHistory[n][t].includes(i)||this.__startKeyHistory[n][t].push(i),Object.assign({startKeyHistory:this.__startKeyHistory[n][t]},r)}async function _(t,n){await this.__connection;let{record_id:r,service:i=this.service,progress:s}=n;if(!r)throw new e('"record_id" is required.',{code:"INVALID_PARAMETER"});if(t instanceof SubmitEvent&&(t=t.target),t instanceof HTMLFormElement&&(t=new FormData(t)),!(t instanceof FormData))throw new e('"fileList" should be a FormData or HTMLFormElement.',{code:"INVALID_PARAMETER"});let a,u={reserved_key:o(),service:i,request:"post"};n?.record_id&&(u.id=n.record_id);let c=(e,t,n)=>new Promise(((r,i)=>{a=new XMLHttpRequest,a.open("POST",e),a.onload=()=>{let s=a.responseText;try{s=JSON.parse(s)}catch(e){}if(a.status>=200&&a.status<300)r(s);else if(429===a.status){let s=a.getResponseHeader("Retry-After");s?setTimeout((()=>{c(e,t,n).then(r,i)}),1e3*parseInt(s)):i("Too many requests")}else i(s)},a.onerror=()=>i("Network error"),a.onabort=()=>i("Aborted"),a.ontimeout=()=>i("Timeout"),a.upload&&"function"==typeof n&&(a.upload.onprogress=n),a.send(t)})),l=[],h=[];function d(e){const t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";if(0===e)return t[0];let n="";for(;e>0;)n=t[e%62]+n,e=Math.floor(e/62);return n}let p=[];for(let[e,n]of t.entries()){if(!(n instanceof File))continue;let t=Object.assign({key:e+"/"+n.name,sizeKey:d(n.size),contentType:n.type||null},u),{fields:r=null,url:i,cdn:o}=await f.bind(this)("get-signed-url",t,{auth:!0});p.push(o);let g=new FormData;for(let e in r)g.append(e,r[e]);g.append("file",n);try{await c(i,g,"function"==typeof s?e=>s({status:"upload",progress:e.loaded/e.total*100,currentFile:n,completed:l,failed:h,loaded:e.loaded,total:e.total,abort:()=>a.abort()}):null),l.push(n)}catch(e){h.push(n)}}return{completed:l,failed:h,bin_endpoints:p}}const m={};function y(n){let{preventMultipleCalls:r=!1}=n||{};return function(n,i,s){const o=s.value;s.value=function(...n){let s=n[0],a=!0,u=null,c="",l={},h=!1;if(s instanceof SubmitEvent){s.preventDefault();let e=window.location.href;u=s.target;let t=new URL(u.action);c=t.href;let n=c?c.match(/(?<=\{).*?(?=\})/g):"";if(n)for(let e of n){if(!e)continue;let t=u.querySelector(`[name="${e}"]`);if(t)if("file"===t.type)for(let n=0;n<=t.files.length-1;n++)t.files[n]&&(l[e]||(l[e]=[]),l[e].push(new Promise(((e,r)=>{let i=new FileReader;i.onload=function(){e(i.result)},i.readAsDataURL(t.files[n]),i.onerror=r}))));else c=c.replace(`{${e}}`,t.value)}null===u.getAttribute("action")?a=!1:h=t.href===e}const f=async e=>{if(c)for(let e in l)l[e].length&&(c=c.replace(`{${e}}`,(await Promise.all(l[e])).join(",")));return u&&a&&(window.sessionStorage.setItem(`${this.service}:${t.hash(c)}`,JSON.stringify(e)),h?window.location.replace(c):window.location.href=c),e};let d;const p=async()=>{try{if(d=o.bind(this)(...n),d instanceof Promise){let e=await d;return await f(e),d}}catch(t){throw(t=>{throw t instanceof e?t.name=i+"()":t=t instanceof Error?t:new e(t,{name:i+"()"}),t})(t)}};return r?(m?.[i]||(m[i]=p().finally((()=>{delete m[i]}))),m[i]):p()}}}async function w(){await this.__connection;let e=`${this.service}:${t.hash(window.location.href.split("?")[0])}`,n=window.sessionStorage.getItem(e);if(null!==n){try{n=JSON.parse(n)}catch(e){}return n}return null}var b,A=function(){function e(e){var t=e||{},n=t.ValidationData,r=t.Username,i=t.Password,s=t.AuthParameters,o=t.ClientMetadata;this.validationData=n||{},this.authParameters=s||{},this.clientMetadata=o||{},this.username=r,this.password=i}var t=e.prototype;return t.getUsername=function(){return this.username},t.getPassword=function(){return this.password},t.getValidationData=function(){return this.validationData},t.getAuthParameters=function(){return this.authParameters},t.getClientMetadata=function(){return this.clientMetadata},e}(),v=n(764);if("undefined"!=typeof window&&window.crypto&&(b=window.crypto),!b&&"undefined"!=typeof window&&window.msCrypto&&(b=window.msCrypto),!b&&void 0!==n.g&&n.g.crypto&&(b=n.g.crypto),!b)try{b=n(249)}catch(e){}function E(){if(b){if("function"==typeof b.getRandomValues)try{return b.getRandomValues(new Uint32Array(1))[0]}catch(e){}if("function"==typeof b.randomBytes)try{return b.randomBytes(4).readInt32LE()}catch(e){}}throw new Error("Native crypto module could not be used to get secure random number.")}var S=function(){function e(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length}var t=e.prototype;return t.random=function(t){for(var n=[],r=0;r<t;r+=4)n.push(E());return new e(n,t)},t.toString=function(){return function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i<n;i++){var s=t[i>>>2]>>>24-i%4*8&255;r.push((s>>>4).toString(16)),r.push((15&s).toString(16))}return r.join("")}(this)},e}(),I=n(938);const T=R;function R(e,t){null!=e&&this.fromString(e,t)}function U(){return new R(null)}var D,C="undefined"!=typeof navigator;C&&"Microsoft Internet Explorer"==navigator.appName?(R.prototype.am=function(e,t,n,r,i,s){for(var o=32767&t,a=t>>15;--s>=0;){var u=32767&this[e],c=this[e++]>>15,l=a*u+c*o;i=((u=o*u+((32767&l)<<15)+n[r]+(1073741823&i))>>>30)+(l>>>15)+a*c+(i>>>30),n[r++]=1073741823&u}return i},D=30):C&&"Netscape"!=navigator.appName?(R.prototype.am=function(e,t,n,r,i,s){for(;--s>=0;){var o=t*this[e++]+n[r]+i;i=Math.floor(o/67108864),n[r++]=67108863&o}return i},D=26):(R.prototype.am=function(e,t,n,r,i,s){for(var o=16383&t,a=t>>14;--s>=0;){var u=16383&this[e],c=this[e++]>>14,l=a*u+c*o;i=((u=o*u+((16383&l)<<14)+n[r]+i)>>28)+(l>>14)+a*c,n[r++]=268435455&u}return i},D=28),R.prototype.DB=D,R.prototype.DM=(1<<D)-1,R.prototype.DV=1<<D,R.prototype.FV=Math.pow(2,52),R.prototype.F1=52-D,R.prototype.F2=2*D-52;var P,N,k=new Array;for(P="0".charCodeAt(0),N=0;N<=9;++N)k[P++]=N;for(P="a".charCodeAt(0),N=10;N<36;++N)k[P++]=N;for(P="A".charCodeAt(0),N=10;N<36;++N)k[P++]=N;function O(e){return"0123456789abcdefghijklmnopqrstuvwxyz".charAt(e)}function M(e,t){var n=k[e.charCodeAt(t)];return null==n?-1:n}function L(e){var t=U();return t.fromInt(e),t}function V(e){var t,n=1;return 0!=(t=e>>>16)&&(e=t,n+=16),0!=(t=e>>8)&&(e=t,n+=8),0!=(t=e>>4)&&(e=t,n+=4),0!=(t=e>>2)&&(e=t,n+=2),0!=(t=e>>1)&&(e=t,n+=1),n}function F(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function x(e){return v.lW.from((new S).random(e).toString(),"hex")}F.prototype.convert=function(e){var t=U();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(R.ZERO)>0&&this.m.subTo(t,t),t},F.prototype.revert=function(e){var t=U();return e.copyTo(t),this.reduce(t),t},F.prototype.reduce=function(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t<this.m.t;++t){var n=32767&e[t],r=n*this.mpl+((n*this.mph+(e[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(e[n=t+this.m.t]+=this.m.am(0,r,e,t,0,this.m.t);e[n]>=e.DV;)e[n]-=e.DV,e[++n]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)},F.prototype.mulTo=function(e,t,n){e.multiplyTo(t,n),this.reduce(n)},F.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},R.prototype.copyTo=function(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s},R.prototype.fromInt=function(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0},R.prototype.fromString=function(e,t){var n;if(16==t)n=4;else if(8==t)n=3;else if(2==t)n=1;else if(32==t)n=5;else{if(4!=t)throw new Error("Only radix 2, 4, 8, 16, 32 are supported");n=2}this.t=0,this.s=0;for(var r=e.length,i=!1,s=0;--r>=0;){var o=M(e,r);o<0?"-"==e.charAt(r)&&(i=!0):(i=!1,0==s?this[this.t++]=o:s+n>this.DB?(this[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this[this.t++]=o>>this.DB-s):this[this.t-1]|=o<<s,(s+=n)>=this.DB&&(s-=this.DB))}this.clamp(),i&&R.ZERO.subTo(this,this)},R.prototype.clamp=function(){for(var e=this.s&this.DM;this.t>0&&this[this.t-1]==e;)--this.t},R.prototype.dlShiftTo=function(e,t){var n;for(n=this.t-1;n>=0;--n)t[n+e]=this[n];for(n=e-1;n>=0;--n)t[n]=0;t.t=this.t+e,t.s=this.s},R.prototype.drShiftTo=function(e,t){for(var n=e;n<this.t;++n)t[n-e]=this[n];t.t=Math.max(this.t-e,0),t.s=this.s},R.prototype.lShiftTo=function(e,t){var n,r=e%this.DB,i=this.DB-r,s=(1<<i)-1,o=Math.floor(e/this.DB),a=this.s<<r&this.DM;for(n=this.t-1;n>=0;--n)t[n+o+1]=this[n]>>i|a,a=(this[n]&s)<<r;for(n=o-1;n>=0;--n)t[n]=0;t[o]=a,t.t=this.t+o+1,t.s=this.s,t.clamp()},R.prototype.rShiftTo=function(e,t){t.s=this.s;var n=Math.floor(e/this.DB);if(n>=this.t)t.t=0;else{var r=e%this.DB,i=this.DB-r,s=(1<<r)-1;t[0]=this[n]>>r;for(var o=n+1;o<this.t;++o)t[o-n-1]|=(this[o]&s)<<i,t[o-n]=this[o]>>r;r>0&&(t[this.t-n-1]|=(this.s&s)<<i),t.t=this.t-n,t.clamp()}},R.prototype.subTo=function(e,t){for(var n=0,r=0,i=Math.min(e.t,this.t);n<i;)r+=this[n]-e[n],t[n++]=r&this.DM,r>>=this.DB;if(e.t<this.t){for(r-=e.s;n<this.t;)r+=this[n],t[n++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;n<e.t;)r-=e[n],t[n++]=r&this.DM,r>>=this.DB;r-=e.s}t.s=r<0?-1:0,r<-1?t[n++]=this.DV+r:r>0&&(t[n++]=r),t.t=n,t.clamp()},R.prototype.multiplyTo=function(e,t){var n=this.abs(),r=e.abs(),i=n.t;for(t.t=i+r.t;--i>=0;)t[i]=0;for(i=0;i<r.t;++i)t[i+n.t]=n.am(0,r[i],t,i,0,n.t);t.s=0,t.clamp(),this.s!=e.s&&R.ZERO.subTo(t,t)},R.prototype.squareTo=function(e){for(var t=this.abs(),n=e.t=2*t.t;--n>=0;)e[n]=0;for(n=0;n<t.t-1;++n){var r=t.am(n,t[n],e,2*n,0,1);(e[n+t.t]+=t.am(n+1,2*t[n],e,2*n+1,r,t.t-n-1))>=t.DV&&(e[n+t.t]-=t.DV,e[n+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(n,t[n],e,2*n,0,1)),e.s=0,e.clamp()},R.prototype.divRemTo=function(e,t,n){var r=e.abs();if(!(r.t<=0)){var i=this.abs();if(i.t<r.t)return null!=t&&t.fromInt(0),void(null!=n&&this.copyTo(n));null==n&&(n=U());var s=U(),o=this.s,a=e.s,u=this.DB-V(r[r.t-1]);u>0?(r.lShiftTo(u,s),i.lShiftTo(u,n)):(r.copyTo(s),i.copyTo(n));var c=s.t,l=s[c-1];if(0!=l){var h=l*(1<<this.F1)+(c>1?s[c-2]>>this.F2:0),f=this.FV/h,d=(1<<this.F1)/h,p=1<<this.F2,g=n.t,_=g-c,m=null==t?U():t;for(s.dlShiftTo(_,m),n.compareTo(m)>=0&&(n[n.t++]=1,n.subTo(m,n)),R.ONE.dlShiftTo(c,m),m.subTo(s,s);s.t<c;)s[s.t++]=0;for(;--_>=0;){var y=n[--g]==l?this.DM:Math.floor(n[g]*f+(n[g-1]+p)*d);if((n[g]+=s.am(0,y,n,_,0,c))<y)for(s.dlShiftTo(_,m),n.subTo(m,n);n[g]<--y;)n.subTo(m,n)}null!=t&&(n.drShiftTo(c,t),o!=a&&R.ZERO.subTo(t,t)),n.t=c,n.clamp(),u>0&&n.rShiftTo(u,n),o<0&&R.ZERO.subTo(n,n)}}},R.prototype.invDigit=function(){if(this.t<1)return 0;var e=this[0];if(0==(1&e))return 0;var t=3&e;return(t=(t=(t=(t=t*(2-(15&e)*t)&15)*(2-(255&e)*t)&255)*(2-((65535&e)*t&65535))&65535)*(2-e*t%this.DV)%this.DV)>0?this.DV-t:-t},R.prototype.addTo=function(e,t){for(var n=0,r=0,i=Math.min(e.t,this.t);n<i;)r+=this[n]+e[n],t[n++]=r&this.DM,r>>=this.DB;if(e.t<this.t){for(r+=e.s;n<this.t;)r+=this[n],t[n++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;n<e.t;)r+=e[n],t[n++]=r&this.DM,r>>=this.DB;r+=e.s}t.s=r<0?-1:0,r>0?t[n++]=r:r<-1&&(t[n++]=this.DV+r),t.t=n,t.clamp()},R.prototype.toString=function(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)throw new Error("Only radix 2, 4, 8, 16, 32 are supported");t=2}var n,r=(1<<t)-1,i=!1,s="",o=this.t,a=this.DB-o*this.DB%t;if(o-- >0)for(a<this.DB&&(n=this[o]>>a)>0&&(i=!0,s=O(n));o>=0;)a<t?(n=(this[o]&(1<<a)-1)<<t-a,n|=this[--o]>>(a+=this.DB-t)):(n=this[o]>>(a-=t)&r,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=O(n));return i?s:"0"},R.prototype.negate=function(){var e=U();return R.ZERO.subTo(this,e),e},R.prototype.abs=function(){return this.s<0?this.negate():this},R.prototype.compareTo=function(e){var t=this.s-e.s;if(0!=t)return t;var n=this.t;if(0!=(t=n-e.t))return this.s<0?-t:t;for(;--n>=0;)if(0!=(t=this[n]-e[n]))return t;return 0},R.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+V(this[this.t-1]^this.s&this.DM)},R.prototype.mod=function(e){var t=U();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(R.ZERO)>0&&e.subTo(t,t),t},R.prototype.equals=function(e){return 0==this.compareTo(e)},R.prototype.add=function(e){var t=U();return this.addTo(e,t),t},R.prototype.subtract=function(e){var t=U();return this.subTo(e,t),t},R.prototype.multiply=function(e){var t=U();return this.multiplyTo(e,t),t},R.prototype.divide=function(e){var t=U();return this.divRemTo(e,t,null),t},R.prototype.modPow=function(e,t,n){var r,i=e.bitLength(),s=L(1),o=new F(t);if(i<=0)return s;r=i<18?1:i<48?3:i<144?4:i<768?5:6;var a=new Array,u=3,c=r-1,l=(1<<r)-1;if(a[1]=o.convert(this),r>1){var h=U();for(o.sqrTo(a[1],h);u<=l;)a[u]=U(),o.mulTo(h,a[u-2],a[u]),u+=2}var f,d,p=e.t-1,g=!0,_=U();for(i=V(e[p])-1;p>=0;){for(i>=c?f=e[p]>>i-c&l:(f=(e[p]&(1<<i+1)-1)<<c-i,p>0&&(f|=e[p-1]>>this.DB+i-c)),u=r;0==(1&f);)f>>=1,--u;if((i-=u)<0&&(i+=this.DB,--p),g)a[f].copyTo(s),g=!1;else{for(;u>1;)o.sqrTo(s,_),o.sqrTo(_,s),u-=2;u>0?o.sqrTo(s,_):(d=s,s=_,_=d),o.mulTo(_,a[f],s)}for(;p>=0&&0==(e[p]&1<<i);)o.sqrTo(s,_),d=s,s=_,_=d,--i<0&&(i=this.DB-1,--p)}var m=o.revert(s);return n(null,m),m},R.ZERO=L(0),R.ONE=L(1);var B=/^[89a-f]/i,$=function(){function e(e){this.N=new T("FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF",16),this.g=new T("2",16),this.k=new T(this.hexHash(""+this.padHex(this.N)+this.padHex(this.g)),16),this.smallAValue=this.generateRandomSmallA(),this.getLargeAValue((function(){})),this.infoBits=v.lW.from("Caldera Derived Key","utf8"),this.poolName=e}var t=e.prototype;return t.getSmallAValue=function(){return this.smallAValue},t.getLargeAValue=function(e){var t=this;this.largeAValue?e(null,this.largeAValue):this.calculateA(this.smallAValue,(function(n,r){n&&e(n,null),t.largeAValue=r,e(null,t.largeAValue)}))},t.generateRandomSmallA=function(){var e=x(128).toString("hex");return new T(e,16)},t.generateRandomString=function(){return x(40).toString("base64")},t.getRandomPassword=function(){return this.randomPassword},t.getSaltDevices=function(){return this.SaltToHashDevices},t.getVerifierDevices=function(){return this.verifierDevices},t.generateHashDevice=function(e,t,n){var r=this;this.randomPassword=this.generateRandomString();var i=""+e+t+":"+this.randomPassword,s=this.hash(i),o=x(16).toString("hex");this.SaltToHashDevices=this.padHex(new T(o,16)),this.g.modPow(new T(this.hexHash(this.SaltToHashDevices+s),16),this.N,(function(e,t){e&&n(e,null),r.verifierDevices=r.padHex(t),n(null,null)}))},t.calculateA=function(e,t){var n=this;this.g.modPow(e,this.N,(function(e,r){e&&t(e,null),r.mod(n.N).equals(T.ZERO)&&t(new Error("Illegal paramater. A mod N cannot be 0."),null),t(null,r)}))},t.calculateU=function(e,t){return this.UHexHash=this.hexHash(this.padHex(e)+this.padHex(t)),new T(this.UHexHash,16)},t.hash=function(e){var t=new I.Sha256;t.update(e);var n=t.digestSync(),r=v.lW.from(n).toString("hex");return new Array(64-r.length).join("0")+r},t.hexHash=function(e){return this.hash(v.lW.from(e,"hex"))},t.computehkdf=function(e,t){var n=v.lW.concat([this.infoBits,v.lW.from(String.fromCharCode(1),"utf8")]),r=new I.Sha256(t);r.update(e);var i=r.digestSync(),s=new I.Sha256(i);return s.update(n),s.digestSync().slice(0,16)},t.getPasswordAuthenticationKey=function(e,t,n,r,i){var s=this;if(n.mod(this.N).equals(T.ZERO))throw new Error("B cannot be zero.");if(this.UValue=this.calculateU(this.largeAValue,n),this.UValue.equals(T.ZERO))throw new Error("U cannot be zero.");var o=""+this.poolName+e+":"+t,a=this.hash(o),u=new T(this.hexHash(this.padHex(r)+a),16);this.calculateS(u,n,(function(e,t){e&&i(e,null);var n=s.computehkdf(v.lW.from(s.padHex(t),"hex"),v.lW.from(s.padHex(s.UValue),"hex"));i(null,n)}))},t.calculateS=function(e,t,n){var r=this;this.g.modPow(e,this.N,(function(i,s){i&&n(i,null),t.subtract(r.k.multiply(s)).modPow(r.smallAValue.add(r.UValue.multiply(e)),r.N,(function(e,t){e&&n(e,null),n(null,t.mod(r.N))}))}))},t.getNewPasswordRequiredChallengeUserAttributePrefix=function(){return"userAttributes."},t.padHex=function(e){if(!(e instanceof T))throw new Error("Not a BigInteger");var t=e.compareTo(T.ZERO)<0,n=e.abs().toString(16);if(n=n.length%2!=0?"0"+n:n,n=B.test(n)?"00"+n:n,t){var r=n.split("").map((function(e){var t=15&~parseInt(e,16);return"0123456789ABCDEF".charAt(t)})).join("");(n=new T(r,16).add(T.ONE).toString(16)).toUpperCase().startsWith("FF8")&&(n=n.substring(2))}return n},e}(),q=function(){function e(e){this.jwtToken=e||"",this.payload=this.decodePayload()}var t=e.prototype;return t.getJwtToken=function(){return this.jwtToken},t.getExpiration=function(){return this.payload.exp},t.getIssuedAt=function(){return this.payload.iat},t.decodePayload=function(){var e=this.jwtToken.split(".")[1];try{return JSON.parse(v.lW.from(e,"base64").toString("utf8"))}catch(e){return{}}},e}();function j(e,t){return j=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},j(e,t)}var K=function(e){var t,n;function r(t){var n=(void 0===t?{}:t).AccessToken;return e.call(this,n||"")||this}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,j(t,n),r}(q);function H(e,t){return H=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},H(e,t)}var J=function(e){var t,n;function r(t){var n=(void 0===t?{}:t).IdToken;return e.call(this,n||"")||this}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,H(t,n),r}(q),W="aws-amplify/5.0.4",Y="undefined"!=typeof navigator&&"ReactNative"===navigator.product,Q=function(){function e(e){var t=(void 0===e?{}:e).RefreshToken;this.token=t||""}return e.prototype.getToken=function(){return this.token},e}(),G=function(){function e(e){var t=void 0===e?{}:e,n=t.IdToken,r=t.RefreshToken,i=t.AccessToken,s=t.ClockDrift;if(null==i||null==n)throw new Error("Id token and Access Token must be present.");this.idToken=n,this.refreshToken=r,this.accessToken=i,this.clockDrift=void 0===s?this.calculateClockDrift():s}var t=e.prototype;return t.getIdToken=function(){return this.idToken},t.getRefreshToken=function(){return this.refreshToken},t.getAccessToken=function(){return this.accessToken},t.getClockDrift=function(){return this.clockDrift},t.calculateClockDrift=function(){return Math.floor(new Date/1e3)-Math.min(this.accessToken.getIssuedAt(),this.idToken.getIssuedAt())},t.isValid=function(){var e=Math.floor(new Date/1e3)-this.clockDrift;return e<this.accessToken.getExpiration()&&e<this.idToken.getExpiration()},e}(),z=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Z=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],X=function(){function e(){}return e.prototype.getNowString=function(){var e=new Date,t=Z[e.getUTCDay()],n=z[e.getUTCMonth()],r=e.getUTCDate(),i=e.getUTCHours();i<10&&(i="0"+i);var s=e.getUTCMinutes();s<10&&(s="0"+s);var o=e.getUTCSeconds();return o<10&&(o="0"+o),t+" "+n+" "+r+" "+i+":"+s+":"+o+" UTC "+e.getUTCFullYear()},e}(),ee=function(){function e(e){var t=void 0===e?{}:e,n=t.Name,r=t.Value;this.Name=n||"",this.Value=r||""}var t=e.prototype;return t.getValue=function(){return this.Value},t.setValue=function(e){return this.Value=e,this},t.getName=function(){return this.Name},t.setName=function(e){return this.Name=e,this},t.toString=function(){return JSON.stringify(this)},t.toJSON=function(){return{Name:this.Name,Value:this.Value}},e}(),te={},ne=function(){function e(){}return e.setItem=function(e,t){return te[e]=t,te[e]},e.getItem=function(e){return Object.prototype.hasOwnProperty.call(te,e)?te[e]:void 0},e.removeItem=function(e){return delete te[e]},e.clear=function(){return te={}},e}(),re=function(){function e(){try{this.storageWindow=window.localStorage,this.storageWindow.setItem("aws.cognito.test-ls",1),this.storageWindow.removeItem("aws.cognito.test-ls")}catch(e){this.storageWindow=ne}}return e.prototype.getStorage=function(){return this.storageWindow},e}(),ie="undefined"!=typeof navigator?Y?"react-native":navigator.userAgent:"nodejs",se=function(){function e(e){if(null==e||null==e.Username||null==e.Pool)throw new Error("Username and Pool information are required.");this.username=e.Username||"",this.pool=e.Pool,this.Session=null,this.client=e.Pool.client,this.signInUserSession=null,this.authenticationFlowType="USER_SRP_AUTH",this.storage=e.Storage||(new re).getStorage(),this.keyPrefix="CognitoIdentityServiceProvider."+this.pool.getClientId(),this.userDataKey=this.keyPrefix+"."+this.username+".userData"}var t=e.prototype;return t.setSignInUserSession=function(e){this.clearCachedUserData(),this.signInUserSession=e,this.cacheTokens()},t.getSignInUserSession=function(){return this.signInUserSession},t.getUsername=function(){return this.username},t.getAuthenticationFlowType=function(){return this.authenticationFlowType},t.setAuthenticationFlowType=function(e){this.authenticationFlowType=e},t.initiateAuth=function(e,t){var n=this,r=e.getAuthParameters();r.USERNAME=this.username;var i=0!==Object.keys(e.getValidationData()).length?e.getValidationData():e.getClientMetadata(),s={AuthFlow:"CUSTOM_AUTH",ClientId:this.pool.getClientId(),AuthParameters:r,ClientMetadata:i};this.getUserContextData()&&(s.UserContextData=this.getUserContextData()),this.client.request("InitiateAuth",s,(function(e,r){if(e)return t.onFailure(e);var i=r.ChallengeName,s=r.ChallengeParameters;return"CUSTOM_CHALLENGE"===i?(n.Session=r.Session,t.customChallenge(s)):(n.signInUserSession=n.getCognitoUserSession(r.AuthenticationResult),n.cacheTokens(),t.onSuccess(n.signInUserSession))}))},t.authenticateUser=function(e,t){return"USER_PASSWORD_AUTH"===this.authenticationFlowType?this.authenticateUserPlainUsernamePassword(e,t):"USER_SRP_AUTH"===this.authenticationFlowType||"CUSTOM_AUTH"===this.authenticationFlowType?this.authenticateUserDefaultAuth(e,t):t.onFailure(new Error("Authentication flow type is invalid."))},t.authenticateUserDefaultAuth=function(e,t){var n,r,i=this,s=new $(this.pool.getUserPoolName()),o=new X,a={};null!=this.deviceKey&&(a.DEVICE_KEY=this.deviceKey),a.USERNAME=this.username,s.getLargeAValue((function(u,c){u&&t.onFailure(u),a.SRP_A=c.toString(16),"CUSTOM_AUTH"===i.authenticationFlowType&&(a.CHALLENGE_NAME="SRP_A");var l=0!==Object.keys(e.getValidationData()).length?e.getValidationData():e.getClientMetadata(),h={AuthFlow:i.authenticationFlowType,ClientId:i.pool.getClientId(),AuthParameters:a,ClientMetadata:l};i.getUserContextData(i.username)&&(h.UserContextData=i.getUserContextData(i.username)),i.client.request("InitiateAuth",h,(function(a,u){if(a)return t.onFailure(a);var c=u.ChallengeParameters;i.username=c.USER_ID_FOR_SRP,i.userDataKey=i.keyPrefix+"."+i.username+".userData",n=new T(c.SRP_B,16),r=new T(c.SALT,16),i.getCachedDeviceKeyAndPassword(),s.getPasswordAuthenticationKey(i.username,e.getPassword(),n,r,(function(e,n){e&&t.onFailure(e);var r=o.getNowString(),a=v.lW.concat([v.lW.from(i.pool.getUserPoolName(),"utf8"),v.lW.from(i.username,"utf8"),v.lW.from(c.SECRET_BLOCK,"base64"),v.lW.from(r,"utf8")]),h=new I.Sha256(n);h.update(a);var f=h.digestSync(),d=v.lW.from(f).toString("base64"),p={};p.USERNAME=i.username,p.PASSWORD_CLAIM_SECRET_BLOCK=c.SECRET_BLOCK,p.TIMESTAMP=r,p.PASSWORD_CLAIM_SIGNATURE=d,null!=i.deviceKey&&(p.DEVICE_KEY=i.deviceKey);var g={ChallengeName:"PASSWORD_VERIFIER",ClientId:i.pool.getClientId(),ChallengeResponses:p,Session:u.Session,ClientMetadata:l};i.getUserContextData()&&(g.UserContextData=i.getUserContextData()),function e(t,n){return i.client.request("RespondToAuthChallenge",t,(function(r,s){return r&&"ResourceNotFoundException"===r.code&&-1!==r.message.toLowerCase().indexOf("device")?(p.DEVICE_KEY=null,i.deviceKey=null,i.randomPassword=null,i.deviceGroupKey=null,i.clearCachedDeviceKeyAndPassword(),e(t,n)):n(r,s)}))}(g,(function(e,n){return e?t.onFailure(e):i.authenticateUserInternal(n,s,t)}))}))}))}))},t.authenticateUserPlainUsernamePassword=function(e,t){var n=this,r={};if(r.USERNAME=this.username,r.PASSWORD=e.getPassword(),r.PASSWORD){var i=new $(this.pool.getUserPoolName());this.getCachedDeviceKeyAndPassword(),null!=this.deviceKey&&(r.DEVICE_KEY=this.deviceKey);var s=0!==Object.keys(e.getValidationData()).length?e.getValidationData():e.getClientMetadata(),o={AuthFlow:"USER_PASSWORD_AUTH",ClientId:this.pool.getClientId(),AuthParameters:r,ClientMetadata:s};this.getUserContextData(this.username)&&(o.UserContextData=this.getUserContextData(this.username)),this.client.request("InitiateAuth",o,(function(e,r){return e?t.onFailure(e):n.authenticateUserInternal(r,i,t)}))}else t.onFailure(new Error("PASSWORD parameter is required"))},t.authenticateUserInternal=function(e,t,n){var r=this,i=e.ChallengeName,s=e.ChallengeParameters;if("SMS_MFA"===i)return this.Session=e.Session,n.mfaRequired(i,s);if("SELECT_MFA_TYPE"===i)return this.Session=e.Session,n.selectMFAType(i,s);if("MFA_SETUP"===i)return this.Session=e.Session,n.mfaSetup(i,s);if("SOFTWARE_TOKEN_MFA"===i)return this.Session=e.Session,n.totpRequired(i,s);if("CUSTOM_CHALLENGE"===i)return this.Session=e.Session,n.customChallenge(s);if("NEW_PASSWORD_REQUIRED"===i){this.Session=e.Session;var o=null,a=null,u=[],c=t.getNewPasswordRequiredChallengeUserAttributePrefix();if(s&&(o=JSON.parse(e.ChallengeParameters.userAttributes),a=JSON.parse(e.ChallengeParameters.requiredAttributes)),a)for(var l=0;l<a.length;l++)u[l]=a[l].substr(c.length);return n.newPasswordRequired(o,u)}if("DEVICE_SRP_AUTH"===i)return this.Session=e.Session,void this.getDeviceResponse(n);this.signInUserSession=this.getCognitoUserSession(e.AuthenticationResult),this.challengeName=i,this.cacheTokens();var h=e.AuthenticationResult.NewDeviceMetadata;if(null==h)return n.onSuccess(this.signInUserSession);t.generateHashDevice(e.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey,e.AuthenticationResult.NewDeviceMetadata.DeviceKey,(function(i){if(i)return n.onFailure(i);var s={Salt:v.lW.from(t.getSaltDevices(),"hex").toString("base64"),PasswordVerifier:v.lW.from(t.getVerifierDevices(),"hex").toString("base64")};r.verifierDevices=s.PasswordVerifier,r.deviceGroupKey=h.DeviceGroupKey,r.randomPassword=t.getRandomPassword(),r.client.request("ConfirmDevice",{DeviceKey:h.DeviceKey,AccessToken:r.signInUserSession.getAccessToken().getJwtToken(),DeviceSecretVerifierConfig:s,DeviceName:ie},(function(t,i){return t?n.onFailure(t):(r.deviceKey=e.AuthenticationResult.NewDeviceMetadata.DeviceKey,r.cacheDeviceKeyAndPassword(),!0===i.UserConfirmationNecessary?n.onSuccess(r.signInUserSession,i.UserConfirmationNecessary):n.onSuccess(r.signInUserSession))}))}))},t.completeNewPasswordChallenge=function(e,t,n,r){var i=this;if(!e)return n.onFailure(new Error("New password is required."));var s=new $(this.pool.getUserPoolName()),o=s.getNewPasswordRequiredChallengeUserAttributePrefix(),a={};t&&Object.keys(t).forEach((function(e){a[o+e]=t[e]})),a.NEW_PASSWORD=e,a.USERNAME=this.username;var u={ChallengeName:"NEW_PASSWORD_REQUIRED",ClientId:this.pool.getClientId(),ChallengeResponses:a,Session:this.Session,ClientMetadata:r};this.getUserContextData()&&(u.UserContextData=this.getUserContextData()),this.client.request("RespondToAuthChallenge",u,(function(e,t){return e?n.onFailure(e):i.authenticateUserInternal(t,s,n)}))},t.getDeviceResponse=function(e,t){var n=this,r=new $(this.deviceGroupKey),i=new X,s={};s.USERNAME=this.username,s.DEVICE_KEY=this.deviceKey,r.getLargeAValue((function(o,a){o&&e.onFailure(o),s.SRP_A=a.toString(16);var u={ChallengeName:"DEVICE_SRP_AUTH",ClientId:n.pool.getClientId(),ChallengeResponses:s,ClientMetadata:t,Session:n.Session};n.getUserContextData()&&(u.UserContextData=n.getUserContextData()),n.client.request("RespondToAuthChallenge",u,(function(t,s){if(t)return e.onFailure(t);var o=s.ChallengeParameters,a=new T(o.SRP_B,16),u=new T(o.SALT,16);r.getPasswordAuthenticationKey(n.deviceKey,n.randomPassword,a,u,(function(t,r){if(t)return e.onFailure(t);var a=i.getNowString(),u=v.lW.concat([v.lW.from(n.deviceGroupKey,"utf8"),v.lW.from(n.deviceKey,"utf8"),v.lW.from(o.SECRET_BLOCK,"base64"),v.lW.from(a,"utf8")]),c=new I.Sha256(r);c.update(u);var l=c.digestSync(),h=v.lW.from(l).toString("base64"),f={};f.USERNAME=n.username,f.PASSWORD_CLAIM_SECRET_BLOCK=o.SECRET_BLOCK,f.TIMESTAMP=a,f.PASSWORD_CLAIM_SIGNATURE=h,f.DEVICE_KEY=n.deviceKey;var d={ChallengeName:"DEVICE_PASSWORD_VERIFIER",ClientId:n.pool.getClientId(),ChallengeResponses:f,Session:s.Session};n.getUserContextData()&&(d.UserContextData=n.getUserContextData()),n.client.request("RespondToAuthChallenge",d,(function(t,r){return t?e.onFailure(t):(n.signInUserSession=n.getCognitoUserSession(r.AuthenticationResult),n.cacheTokens(),e.onSuccess(n.signInUserSession))}))}))}))}))},t.confirmRegistration=function(e,t,n,r){var i={ClientId:this.pool.getClientId(),ConfirmationCode:e,Username:this.username,ForceAliasCreation:t,ClientMetadata:r};this.getUserContextData()&&(i.UserContextData=this.getUserContextData()),this.client.request("ConfirmSignUp",i,(function(e){return e?n(e,null):n(null,"SUCCESS")}))},t.sendCustomChallengeAnswer=function(e,t,n){var r=this,i={};i.USERNAME=this.username,i.ANSWER=e;var s=new $(this.pool.getUserPoolName());this.getCachedDeviceKeyAndPassword(),null!=this.deviceKey&&(i.DEVICE_KEY=this.deviceKey);var o={ChallengeName:"CUSTOM_CHALLENGE",ChallengeResponses:i,ClientId:this.pool.getClientId(),Session:this.Session,ClientMetadata:n};this.getUserContextData()&&(o.UserContextData=this.getUserContextData()),this.client.request("RespondToAuthChallenge",o,(function(e,n){return e?t.onFailure(e):r.authenticateUserInternal(n,s,t)}))},t.sendMFACode=function(e,t,n,r){var i=this,s={};s.USERNAME=this.username,s.SMS_MFA_CODE=e;var o=n||"SMS_MFA";"SOFTWARE_TOKEN_MFA"===o&&(s.SOFTWARE_TOKEN_MFA_CODE=e),null!=this.deviceKey&&(s.DEVICE_KEY=this.deviceKey);var a={ChallengeName:o,ChallengeResponses:s,ClientId:this.pool.getClientId(),Session:this.Session,ClientMetadata:r};this.getUserContextData()&&(a.UserContextData=this.getUserContextData()),this.client.request("RespondToAuthChallenge",a,(function(e,n){if(e)return t.onFailure(e);if("DEVICE_SRP_AUTH"!==n.ChallengeName){if(i.signInUserSession=i.getCognitoUserSession(n.AuthenticationResult),i.cacheTokens(),null==n.AuthenticationResult.NewDeviceMetadata)return t.onSuccess(i.signInUserSession);var r=new $(i.pool.getUserPoolName());r.generateHashDevice(n.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey,n.AuthenticationResult.NewDeviceMetadata.DeviceKey,(function(e){if(e)return t.onFailure(e);var s={Salt:v.lW.from(r.getSaltDevices(),"hex").toString("base64"),PasswordVerifier:v.lW.from(r.getVerifierDevices(),"hex").toString("base64")};i.verifierDevices=s.PasswordVerifier,i.deviceGroupKey=n.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey,i.randomPassword=r.getRandomPassword(),i.client.request("ConfirmDevice",{DeviceKey:n.AuthenticationResult.NewDeviceMetadata.DeviceKey,AccessToken:i.signInUserSession.getAccessToken().getJwtToken(),DeviceSecretVerifierConfig:s,DeviceName:ie},(function(e,r){return e?t.onFailure(e):(i.deviceKey=n.AuthenticationResult.NewDeviceMetadata.DeviceKey,i.cacheDeviceKeyAndPassword(),!0===r.UserConfirmationNecessary?t.onSuccess(i.signInUserSession,r.UserConfirmationNecessary):t.onSuccess(i.signInUserSession))}))}))}else i.getDeviceResponse(t)}))},t.changePassword=function(e,t,n,r){if(null==this.signInUserSession||!this.signInUserSession.isValid())return n(new Error("User is not authenticated"),null);this.client.request("ChangePassword",{PreviousPassword:e,ProposedPassword:t,AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),ClientMetadata:r},(function(e){return e?n(e,null):n(null,"SUCCESS")}))},t.enableMFA=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e(new Error("User is not authenticated"),null);var t=[];t.push({DeliveryMedium:"SMS",AttributeName:"phone_number"}),this.client.request("SetUserSettings",{MFAOptions:t,AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(t){return t?e(t,null):e(null,"SUCCESS")}))},t.setUserMfaPreference=function(e,t,n){if(null==this.signInUserSession||!this.signInUserSession.isValid())return n(new Error("User is not authenticated"),null);this.client.request("SetUserMFAPreference",{SMSMfaSettings:e,SoftwareTokenMfaSettings:t,AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(e){return e?n(e,null):n(null,"SUCCESS")}))},t.disableMFA=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e(new Error("User is not authenticated"),null);this.client.request("SetUserSettings",{MFAOptions:[],AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(t){return t?e(t,null):e(null,"SUCCESS")}))},t.deleteUser=function(e,t){var n=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return e(new Error("User is not authenticated"),null);this.client.request("DeleteUser",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),ClientMetadata:t},(function(t){return t?e(t,null):(n.clearCachedUser(),e(null,"SUCCESS"))}))},t.updateAttributes=function(e,t,n){var r=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return t(new Error("User is not authenticated"),null);this.client.request("UpdateUserAttributes",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),UserAttributes:e,ClientMetadata:n},(function(e,n){return e?t(e,null):r.getUserData((function(){return t(null,"SUCCESS",n)}),{bypassCache:!0})}))},t.getUserAttributes=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e(new Error("User is not authenticated"),null);this.client.request("GetUser",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(t,n){if(t)return e(t,null);for(var r=[],i=0;i<n.UserAttributes.length;i++){var s={Name:n.UserAttributes[i].Name,Value:n.UserAttributes[i].Value},o=new ee(s);r.push(o)}return e(null,r)}))},t.getMFAOptions=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e(new Error("User is not authenticated"),null);this.client.request("GetUser",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(t,n){return t?e(t,null):e(null,n.MFAOptions)}))},t.createGetUserRequest=function(){return this.client.promisifyRequest("GetUser",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken()})},t.refreshSessionIfPossible=function(e){var t=this;return void 0===e&&(e={}),new Promise((function(n){var r=t.signInUserSession.getRefreshToken();r&&r.getToken()?t.refreshSession(r,n,e.clientMetadata):n()}))},t.getUserData=function(e,t){var n=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return this.clearCachedUserData(),e(new Error("User is not authenticated"),null);var r=this.getUserDataFromCache();if(r)if(this.isFetchUserDataAndTokenRequired(t))this.fetchUserData().then((function(e){return n.refreshSessionIfPossible(t).then((function(){return e}))})).then((function(t){return e(null,t)})).catch(e);else try{return void e(null,JSON.parse(r))}catch(t){return this.clearCachedUserData(),void e(t,null)}else this.fetchUserData().then((function(t){e(null,t)})).catch(e)},t.getUserDataFromCache=function(){return this.storage.getItem(this.userDataKey)},t.isFetchUserDataAndTokenRequired=function(e){var t=(e||{}).bypassCache;return void 0!==t&&t},t.fetchUserData=function(){var e=this;return this.createGetUserRequest().then((function(t){return e.cacheUserData(t),t}))},t.deleteAttributes=function(e,t){var n=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return t(new Error("User is not authenticated"),null);this.client.request("DeleteUserAttributes",{UserAttributeNames:e,AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(e){return e?t(e,null):n.getUserData((function(){return t(null,"SUCCESS")}),{bypassCache:!0})}))},t.resendConfirmationCode=function(e,t){var n={ClientId:this.pool.getClientId(),Username:this.username,ClientMetadata:t};this.client.request("ResendConfirmationCode",n,(function(t,n){return t?e(t,null):e(null,n)}))},t.getSession=function(e,t){if(void 0===t&&(t={}),null==this.username)return e(new Error("Username is null. Cannot retrieve a new session"),null);if(null!=this.signInUserSession&&this.signInUserSession.isValid())return e(null,this.signInUserSession);var n="CognitoIdentityServiceProvider."+this.pool.getClientId()+"."+this.username,r=n+".idToken",i=n+".accessToken",s=n+".refreshToken",o=n+".clockDrift";if(this.storage.getItem(r)){var a=new J({IdToken:this.storage.getItem(r)}),u=new K({AccessToken:this.storage.getItem(i)}),c=new Q({RefreshToken:this.storage.getItem(s)}),l=parseInt(this.storage.getItem(o),0)||0,h=new G({IdToken:a,AccessToken:u,RefreshToken:c,ClockDrift:l});if(h.isValid())return this.signInUserSession=h,e(null,this.signInUserSession);if(!c.getToken())return e(new Error("Cannot retrieve a new session. Please authenticate."),null);this.refreshSession(c,e,t.clientMetadata)}else e(new Error("Local storage is missing an ID Token, Please authenticate"),null)},t.refreshSession=function(e,t,n){var r=this,i=this.pool.wrapRefreshSessionCallback?this.pool.wrapRefreshSessionCallback(t):t,s={};s.REFRESH_TOKEN=e.getToken();var o="CognitoIdentityServiceProvider."+this.pool.getClientId(),a=o+".LastAuthUser";if(this.storage.getItem(a)){this.username=this.storage.getItem(a);var u=o+"."+this.username+".deviceKey";this.deviceKey=this.storage.getItem(u),s.DEVICE_KEY=this.deviceKey}var c={ClientId:this.pool.getClientId(),AuthFlow:"REFRESH_TOKEN_AUTH",AuthParameters:s,ClientMetadata:n};this.getUserContextData()&&(c.UserContextData=this.getUserContextData()),this.client.request("InitiateAuth",c,(function(t,n){if(t)return"NotAuthorizedException"===t.code&&r.clearCachedUser(),i(t,null);if(n){var s=n.AuthenticationResult;return Object.prototype.hasOwnProperty.call(s,"RefreshToken")||(s.RefreshToken=e.getToken()),r.signInUserSession=r.getCognitoUserSession(s),r.cacheTokens(),i(null,r.signInUserSession)}}))},t.cacheTokens=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId(),t=e+"."+this.username+".idToken",n=e+"."+this.username+".accessToken",r=e+"."+this.username+".refreshToken",i=e+"."+this.username+".clockDrift",s=e+".LastAuthUser";this.storage.setItem(t,this.signInUserSession.getIdToken().getJwtToken()),this.storage.setItem(n,this.signInUserSession.getAccessToken().getJwtToken()),this.storage.setItem(r,this.signInUserSession.getRefreshToken().getToken()),this.storage.setItem(i,""+this.signInUserSession.getClockDrift()),this.storage.setItem(s,this.username)},t.cacheUserData=function(e){this.storage.setItem(this.userDataKey,JSON.stringify(e))},t.clearCachedUserData=function(){this.storage.removeItem(this.userDataKey)},t.clearCachedUser=function(){this.clearCachedTokens(),this.clearCachedUserData()},t.cacheDeviceKeyAndPassword=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId()+"."+this.username,t=e+".deviceKey",n=e+".randomPasswordKey",r=e+".deviceGroupKey";this.storage.setItem(t,this.deviceKey),this.storage.setItem(n,this.randomPassword),this.storage.setItem(r,this.deviceGroupKey)},t.getCachedDeviceKeyAndPassword=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId()+"."+this.username,t=e+".deviceKey",n=e+".randomPasswordKey",r=e+".deviceGroupKey";this.storage.getItem(t)&&(this.deviceKey=this.storage.getItem(t),this.randomPassword=this.storage.getItem(n),this.deviceGroupKey=this.storage.getItem(r))},t.clearCachedDeviceKeyAndPassword=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId()+"."+this.username,t=e+".deviceKey",n=e+".randomPasswordKey",r=e+".deviceGroupKey";this.storage.removeItem(t),this.storage.removeItem(n),this.storage.removeItem(r)},t.clearCachedTokens=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId(),t=e+"."+this.username+".idToken",n=e+"."+this.username+".accessToken",r=e+"."+this.username+".refreshToken",i=e+".LastAuthUser",s=e+"."+this.username+".clockDrift";this.storage.removeItem(t),this.storage.removeItem(n),this.storage.removeItem(r),this.storage.removeItem(i),this.storage.removeItem(s)},t.getCognitoUserSession=function(e){var t=new J(e),n=new K(e),r=new Q(e);return new G({IdToken:t,AccessToken:n,RefreshToken:r})},t.forgotPassword=function(e,t){var n={ClientId:this.pool.getClientId(),Username:this.username,ClientMetadata:t};this.getUserContextData()&&(n.UserContextData=this.getUserContextData()),this.client.request("ForgotPassword",n,(function(t,n){return t?e.onFailure(t):"function"==typeof e.inputVerificationCode?e.inputVerificationCode(n):e.onSuccess(n)}))},t.confirmPassword=function(e,t,n,r){var i={ClientId:this.pool.getClientId(),Username:this.username,ConfirmationCode:e,Password:t,ClientMetadata:r};this.getUserContextData()&&(i.UserContextData=this.getUserContextData()),this.client.request("ConfirmForgotPassword",i,(function(e){return e?n.onFailure(e):n.onSuccess("SUCCESS")}))},t.getAttributeVerificationCode=function(e,t,n){if(null==this.signInUserSession||!this.signInUserSession.isValid())return t.onFailure(new Error("User is not authenticated"));this.client.request("GetUserAttributeVerificationCode",{AttributeName:e,AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),ClientMetadata:n},(function(e,n){return e?t.onFailure(e):"function"==typeof t.inputVerificationCode?t.inputVerificationCode(n):t.onSuccess("SUCCESS")}))},t.verifyAttribute=function(e,t,n){if(null==this.signInUserSession||!this.signInUserSession.isValid())return n.onFailure(new Error("User is not authenticated"));this.client.request("VerifyUserAttribute",{AttributeName:e,Code:t,AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(e){return e?n.onFailure(e):n.onSuccess("SUCCESS")}))},t.getDevice=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e.onFailure(new Error("User is not authenticated"));this.client.request("GetDevice",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),DeviceKey:this.deviceKey},(function(t,n){return t?e.onFailure(t):e.onSuccess(n)}))},t.forgetSpecificDevice=function(e,t){if(null==this.signInUserSession||!this.signInUserSession.isValid())return t.onFailure(new Error("User is not authenticated"));this.client.request("ForgetDevice",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),DeviceKey:e},(function(e){return e?t.onFailure(e):t.onSuccess("SUCCESS")}))},t.forgetDevice=function(e){var t=this;this.forgetSpecificDevice(this.deviceKey,{onFailure:e.onFailure,onSuccess:function(n){return t.deviceKey=null,t.deviceGroupKey=null,t.randomPassword=null,t.clearCachedDeviceKeyAndPassword(),e.onSuccess(n)}})},t.setDeviceStatusRemembered=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e.onFailure(new Error("User is not authenticated"));this.client.request("UpdateDeviceStatus",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),DeviceKey:this.deviceKey,DeviceRememberedStatus:"remembered"},(function(t){return t?e.onFailure(t):e.onSuccess("SUCCESS")}))},t.setDeviceStatusNotRemembered=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e.onFailure(new Error("User is not authenticated"));this.client.request("UpdateDeviceStatus",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),DeviceKey:this.deviceKey,DeviceRememberedStatus:"not_remembered"},(function(t){return t?e.onFailure(t):e.onSuccess("SUCCESS")}))},t.listDevices=function(e,t,n){if(null==this.signInUserSession||!this.signInUserSession.isValid())return n.onFailure(new Error("User is not authenticated"));var r={AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),Limit:e};t&&(r.PaginationToken=t),this.client.request("ListDevices",r,(function(e,t){return e?n.onFailure(e):n.onSuccess(t)}))},t.globalSignOut=function(e){var t=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return e.onFailure(new Error("User is not authenticated"));this.client.request("GlobalSignOut",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(n){return n?e.onFailure(n):(t.clearCachedUser(),e.onSuccess("SUCCESS"))}))},t.signOut=function(e){var t=this;e&&"function"==typeof e?this.getSession((function(n,r){if(n)return e(n);t.revokeTokens((function(n){t.cleanClientData(),e(n)}))})):this.cleanClientData()},t.revokeTokens=function(e){if(void 0===e&&(e=function(){}),"function"!=typeof e)throw new Error("Invalid revokeTokenCallback. It should be a function.");if(!this.signInUserSession)return e(new Error("User is not authenticated"));if(!this.signInUserSession.getAccessToken())return e(new Error("No Access token available"));var t=this.signInUserSession.getRefreshToken().getToken(),n=this.signInUserSession.getAccessToken();if(this.isSessionRevocable(n)&&t)return this.revokeToken({token:t,callback:e});e()},t.isSessionRevocable=function(e){if(e&&"function"==typeof e.decodePayload)try{return!!e.decodePayload().origin_jti}catch(e){}return!1},t.cleanClientData=function(){this.signInUserSession=null,this.clearCachedUser()},t.revokeToken=function(e){var t=e.token,n=e.callback;this.client.requestWithRetry("RevokeToken",{Token:t,ClientId:this.pool.getClientId()},(function(e){if(e)return n(e);n()}))},t.sendMFASelectionAnswer=function(e,t){var n=this,r={};r.USERNAME=this.username,r.ANSWER=e;var i={ChallengeName:"SELECT_MFA_TYPE",ChallengeResponses:r,ClientId:this.pool.getClientId(),Session:this.Session};this.getUserContextData()&&(i.UserContextData=this.getUserContextData()),this.client.request("RespondToAuthChallenge",i,(function(r,i){return r?t.onFailure(r):(n.Session=i.Session,"SMS_MFA"===e?t.mfaRequired(i.ChallengeName,i.ChallengeParameters):"SOFTWARE_TOKEN_MFA"===e?t.totpRequired(i.ChallengeName,i.ChallengeParameters):void 0)}))},t.getUserContextData=function(){return this.pool.getUserContextData(this.username)},t.associateSoftwareToken=function(e){var t=this;null!=this.signInUserSession&&this.signInUserSession.isValid()?this.client.request("AssociateSoftwareToken",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(t,n){return t?e.onFailure(t):e.associateSecretCode(n.SecretCode)})):this.client.request("AssociateSoftwareToken",{Session:this.Session},(function(n,r){return n?e.onFailure(n):(t.Session=r.Session,e.associateSecretCode(r.SecretCode))}))},t.verifySoftwareToken=function(e,t,n){var r=this;null!=this.signInUserSession&&this.signInUserSession.isValid()?this.client.request("VerifySoftwareToken",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),UserCode:e,FriendlyDeviceName:t},(function(e,t){return e?n.onFailure(e):n.onSuccess(t)})):this.client.request("VerifySoftwareToken",{Session:this.Session,UserCode:e,FriendlyDeviceName:t},(function(e,t){if(e)return n.onFailure(e);r.Session=t.Session;var i={};i.USERNAME=r.username;var s={ChallengeName:"MFA_SETUP",ClientId:r.pool.getClientId(),ChallengeResponses:i,Session:r.Session};r.getUserContextData()&&(s.UserContextData=r.getUserContextData()),r.client.request("RespondToAuthChallenge",s,(function(e,t){return e?n.onFailure(e):(r.signInUserSession=r.getCognitoUserSession(t.AuthenticationResult),r.cacheTokens(),n.onSuccess(r.signInUserSession))}))}))},e}();function oe(){}function ae(e){var t="function"==typeof Map?new Map:void 0;return ae=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return ue(e,arguments,le(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),ce(r,e)},ae(e)}function ue(e,t,n){return ue=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&ce(i,n.prototype),i},ue.apply(null,arguments)}function ce(e,t){return ce=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ce(e,t)}function le(e){return le=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},le(e)}n(204),oe.prototype.userAgent=W;var he=function(e){function t(t,n,r,i){var s;return(s=e.call(this,t)||this).code=n,s.name=r,s.statusCode=i,s}return r=e,(n=t).prototype=Object.create(r.prototype),n.prototype.constructor=n,ce(n,r),t;var n,r}(ae(Error)),fe=function(){function e(e,t,n){this.endpoint=t||"https://cognito-idp."+e+".amazonaws.com/";var r=(n||{}).credentials;this.fetchOptions=r?{credentials:r}:{}}var t=e.prototype;return t.promisifyRequest=function(e,t){var n=this;return new Promise((function(r,i){n.request(e,t,(function(e,t){e?i(new he(e.message,e.code,e.name,e.statusCode)):r(t)}))}))},t.requestWithRetry=function(e,t,n){var r,i,s=this;(r=[t],i=5e3,void 0===i&&(i=_e),ge((function(t){return new Promise((function(n,r){s.request(e,t,(function(e,t){e?r(e):n(t)}))}))}),r,function(e){return function(t){var n=100*Math.pow(2,t)+100*Math.random();return!(n>e)&&n}}(i))).then((function(e){return n(null,e)})).catch((function(e){return n(e)}))},t.request=function(e,t,n){var r,i,s,o={"Content-Type":"application/x-amz-json-1.1","X-Amz-Target":"AWSCognitoIdentityProviderService."+e,"X-Amz-User-Agent":(r=oe.category?" "+oe.category:"",i=oe.framework?" framework/"+oe.framework:"",""+oe.prototype.userAgent+r+i),"Cache-Control":"no-store"},a=Object.assign({},this.fetchOptions,{headers:o,method:"POST",mode:"cors",body:JSON.stringify(t)});fetch(this.endpoint,a).then((function(e){return s=e,e}),(function(e){if(e instanceof TypeError)throw new Error("Network error");throw e})).then((function(e){return e.json().catch((function(){return{}}))})).then((function(e){if(s.ok)return n(null,e);var t=(e.__type||e.code).split("#").pop(),r=new Error(e.message||e.Message||null);return r.name=t,r.code=t,n(r)})).catch((function(e){if(s&&s.headers&&s.headers.get("x-amzn-errortype"))try{var t=s.headers.get("x-amzn-errortype").split(":")[0],r=new Error(s.status?s.status.toString():null);return r.code=t,r.name=t,r.statusCode=s.status,n(r)}catch(t){return n(e)}else e instanceof Error&&"Network error"===e.message&&(e.code="NetworkError");return n(e)}))},e}(),de={debug:function(){}},pe=function(e){return e&&e.nonRetryable};function ge(e,t,n,r){if(void 0===r&&(r=1),"function"!=typeof e)throw Error("functionToRetry must be a function");return de.debug(e.name+" attempt #"+r+" with args: "+JSON.stringify(t)),e.apply(void 0,t).catch((function(i){if(de.debug("error on "+e.name,i),pe(i))throw de.debug(e.name+" non retryable error",i),i;var s=n(r,t,i);if(de.debug(e.name+" retrying in "+s+" ms"),!1!==s)return new Promise((function(e){return setTimeout(e,s)})).then((function(){return ge(e,t,n,r+1)}));throw i}))}var _e=3e5,me=function(){function e(e,t){var n=e||{},r=n.UserPoolId,i=n.ClientId,s=n.endpoint,o=n.fetchOptions,a=n.AdvancedSecurityDataCollectionFlag;if(!r||!i)throw new Error("Both UserPoolId and ClientId are required.");if(r.length>55||!/^[\w-]+_[0-9a-zA-Z]+$/.test(r))throw new Error("Invalid UserPoolId format.");var u=r.split("_")[0];this.userPoolId=r,this.clientId=i,this.client=new fe(u,s,o),this.advancedSecurityDataCollectionFlag=!1!==a,this.storage=e.Storage||(new re).getStorage(),t&&(this.wrapRefreshSessionCallback=t)}var t=e.prototype;return t.getUserPoolId=function(){return this.userPoolId},t.getUserPoolName=function(){return this.getUserPoolId().split("_")[1]},t.getClientId=function(){return this.clientId},t.signUp=function(e,t,n,r,i,s){var o=this,a={ClientId:this.clientId,Username:e,Password:t,UserAttributes:n,ValidationData:r,ClientMetadata:s};this.getUserContextData(e)&&(a.UserContextData=this.getUserContextData(e)),this.client.request("SignUp",a,(function(t,n){if(t)return i(t,null);var r={Username:e,Pool:o,Storage:o.storage},s={user:new se(r),userConfirmed:n.UserConfirmed,userSub:n.UserSub,codeDeliveryDetails:n.CodeDeliveryDetails};return i(null,s)}))},t.getCurrentUser=function(){var e="CognitoIdentityServiceProvider."+this.clientId+".LastAuthUser",t=this.storage.getItem(e);if(t){var n={Username:t,Pool:this,Storage:this.storage};return new se(n)}return null},t.getUserContextData=function(e){if("undefined"!=typeof AmazonCognitoAdvancedSecurityData){var t=AmazonCognitoAdvancedSecurityData;if(this.advancedSecurityDataCollectionFlag){var n=t.getData(e,this.userPoolId,this.clientId);if(n)return{EncodedData:n}}return{}}},e}();n(808);let ye=null,we=null;function be(e){let t={tkid:"ticket_id",cond:"condition",actn:"action",cnt:"count",ttl:"time_to_live",stmp:"timestamp",plch:"placeholder",hash:"hash",desc:"description"},n={};for(let r in e)if("tkid"===r){let t=e[r].split("#");if(1===t.length){n.ticket_id=t[0];continue}n.ticket_id=t[1],n.consume_id=t[2],n.user_id=t[3],e.stmp||(n.timestamp=s(t[2].slice(0,-4)))}else t[r]?n[t[r]]=e[r]:n[r]=e[r];return n}async function Ae(t){if(!t.ticket_id)throw new e("Ticket ID is required.",{code:"INVALID_PARAMETER"});let n=t.ticket_id;return await this.__connection,be(await f.bind(this)(`https://${this.service.slice(0,4)}.skapi.dev/auth/consume/${this.service}/${this.owner}/${n}`,t,{auth:!0}))}async function ve(e,t){await this.__connection;let n=await f.bind(this)("ticket",Object.assign({exec:"list"},e||{}),{auth:!0,fetchOptions:t});return n.list=n.list.map(be),n}async function Ee(e,t){await this.__connection;let n=await f.bind(this)("ticket",Object.assign({exec:"consumed"},e||{}),{auth:!0,fetchOptions:t});return n.list=n.list.map(be),n}async function Se(e){return f.bind(this)("register-ticket",Object.assign({exec:"reg"},e),{auth:!0})}async function Ie(e){return f.bind(this)("register-ticket",Object.assign({exec:"unreg"},e),{auth:!0})}function Te(){if(!we)throw new e("User pool is missing",{code:"INVALID_REQUEST"});const n=t=>{let n={};if(Array.isArray(t)){let n={};for(let r of t)if(n[r.Name]=r.Value,"custom:service"===r.Name&&n[r.Name]!==this.service)throw new e("The user is not registered to the service.",{code:"INVALID_REQUEST"});t=n}for(let r in t)if(r.includes("custom:")){if("custom:service"===r&&t[r]!==this.service)throw new e("The user is not registered to the service.",{code:"INVALID_REQUEST"});n[r.replace("custom:","")]=t[r]}else{if("address"===r){let e=t[r];if(e&&"object"==typeof e&&Object.keys(e).length&&e?.formatted)try{t[r]=JSON.parse(e.formatted)}catch(n){t[r]=e.formatted}}n[r]=t[r]}for(let e of["address_public","birthdate_public","email_public","gender_public","phone_number_public","access_group"])e.includes("_public")?n.hasOwnProperty(e.split("_")[0])?n[e]=!!n.hasOwnProperty(e)&&!!Number(n[e]):delete n[e]:n[e]=n.hasOwnProperty(e)?Number(n[e]):0;for(let e of["email","phone_number"])n.hasOwnProperty(e)?!0===n[e+"_verified"]||"true"===n[e+"_verified"]?n[e+"_verified"]=!0:n[e+"_verified"]=!1:delete n[e+"_verified"];for(let e of["aud",{from:"auth_time",to:"log"},"cognito:username","event_id","exp","iat","iss","jti","origin_jti","secret_key",{from:"sub",to:"user_id"},"token_use"])"string"==typeof e?delete n[e]:(n[e.to]=n[e.from],delete n[e.from]);this.__user=n},r=async t=>{let{refreshToken:r=!1}=t||{};return new Promise(((t,i)=>{ye=we?.getCurrentUser()||null,null!==ye?ye.getSession(((s,o)=>{if(s)return void i(s);if(!o)return void i(new e("Current session does not exist.",{code:"INVALID_REQUEST"}));let a=r=>{let s=r.getIdToken().payload;if(s["custom:service"]!==this.service)return ye.signOut(),this.session=null,void i(new e("Invalid session.",{code:"INVALID_REQUEST"}));this.session=r,n(s),t(r)};if(!r&&o.isValid())return a(o);ye.refreshSession(o.getRefreshToken(),((t,n)=>{if(!t)return n.isValid()?a(n):void i(new e("Invalid session.",{code:"INVALID_REQUEST"}));i(t)}))})):i(null)}))},i=e=>{let n=e.includes(this.service+"-")?e:this.service+"-"+t.hash(e);return{cognitoUser:new se({Username:n,Pool:we}),cognitoUsername:n}};return{getSession:r,authenticateUser:(t,n)=>new Promise(((s,o)=>{this.__request_signup_confirmation=null,this.__disabledAccount=null;let a=i(t),u=a.cognitoUsername,c=new A({Username:u,Password:n});a.cognitoUser.authenticateUser(c,{newPasswordRequired:(t,i)=>{this.__disabledAccount=null,this.__request_signup_confirmation=u,"PASS"===t["custom:signup_ticket"]||"MEMBER"===t["custom:signup_ticket"]?a.cognitoUser.completeNewPasswordChallenge(n,{},{onSuccess:e=>{ye=a.cognitoUser,r().then((e=>s(this.user)))},onFailure:t=>{o(new e(t.message||"Failed to authenticate user.",{code:t.code}))}}):o(new e("User's signup confirmation is required.",{code:"SIGNUP_CONFIRMATION_NEEDED"}))},onSuccess:e=>r().then((e=>{this.__disabledAccount=null,s(this.user)})),onFailure:t=>{let n=[t.message||"Failed to authenticate user.",t?.code||"INVALID_REQUEST"];"NotAuthorizedException"===t.code?"User is disabled."===t.message?(this.__disabledAccount=u,n=["This account is disabled.","USER_IS_DISABLED"]):n=["Incorrect username or password.","INCORRECT_USERNAME_OR_PASSWORD"]:"UserNotFoundException"===t.code?n=["Incorrect username or password.","INCORRECT_USERNAME_OR_PASSWORD"]:"UserNotConfirmedException"===t.code?(this.__request_signup_confirmation=u,n=["User's signup confirmation is required.","SIGNUP_CONFIRMATION_NEEDED"]):"TooManyRequestsException"!==t.code&&"LimitExceededException"!==t.code||(n=["Too many attempts. Please try again later.","REQUEST_EXCEED"]);let r=n[1],i=n[0],s=n[0].split("#");if(s.length>1&&(s=s[s.length-1].split(":"),r=s[0],i=s[1],"CONFIRM_REQUIRED"===r))return this.__request_signup_confirmation=u,void o(new e("User's signup confirmation is required.",{code:"SIGNUP_CONFIRMATION_NEEDED"}));o(new e(i,{code:r,cause:t}))}})})),createCognitoUser:i,getUser:()=>new Promise(((t,r)=>{this.session||t(null),null===ye?r(new e("Invalid session",{code:"INVALID_REQUEST"})):ye.getUserAttributes(((e,i)=>{e?r(e):(n(i),t(this.user))}))})),signup:(e,t,n)=>new Promise(((r,i)=>{we.signUp(e,t,n,null,((e,t)=>{e?i(e):r(t)}))}))}}async function Re(e){await this.__authConnection;try{return await Te.bind(this)().getSession(e),this.user}catch(e){return null}}async function Ue(){return await this.__connection,this.__user?.service===this.service?this.__user?.owner===this.host:(await De.bind(this)(),!1)}async function De(){await this.__connection,ye&&ye.signOut();let e={session:null,__startKeyHistory:{},__cached_requests:{},__user:null};for(let t in e)this[t]=e[t];return"SUCCESS: The user has been logged out."}async function Ce(t){if(!this.__request_signup_confirmation)throw new e("Least one login attempt is required.",{code:"INVALID_REQUEST"});return t=t?c.Url(t):void 0,await f.bind(this)("confirm-signup",{username:this.__request_signup_confirmation,redirect:t})}async function Pe(t=!1){if("string"==typeof t)t=c.Url(t);else if("boolean"!=typeof t)throw new e("Argument should be type: <boolean | string>.",{code:"INVALID_REQUEST"});if(!this.__disabledAccount)throw new e("Least one signin attempt of disabled account is required.",{code:"INVALID_REQUEST"});return await f.bind(this)("recover-account",{username:this.__disabledAccount,redirect:t}),"SUCCESS: Recovery e-mail has been sent."}async function Ne(t){c.Params(t,{idToken:"string",clientId:"string",keyUrl:e=>c.Url(e),provider:"string",nonce:"string"},["idToken","keyUrl","clientId"]);let{hashedPassword:n,username:r,email:i}=await f.bind(this)("jwt-login",t);try{return ke.bind(this)({username:r,password:n,email:i})}catch(t){if("INCORRECT_USERNAME_OR_PASSWORD"===t?.code)throw new e("User has migrated the account. Login with the service email and password.",{code:"INVALID_REQUEST"})}}async function ke(t){await this.logout();let n=c.Params(t,{username:"string",email:"string",password:"string"},["password"]);if(n.email)try{c.Email(n.email)}catch(e){n.username=n.email,delete n.email}if(!n.username&&!n.email)throw new e('Least one of "username" or "email" is required.',{code:"INVALID_PARAMETER"});return Te.bind(this)().authenticateUser(n.username||n.email,n.password)}async function Oe(t,n){let r={username:"string",password:e=>c.Password(e),email:e=>c.Email(e),name:"string",address:e=>e?"string"==typeof e?e:"object"==typeof e?JSON.stringify(e):void 0:"",gender:"string",birthdate:e=>c.Birthdate(e),phone_number:e=>c.PhoneNumber(e),email_public:["boolean",()=>!1],address_public:["boolean",()=>!1],gender_public:["boolean",()=>!1],birthdate_public:["boolean",()=>!1],phone_number_public:["boolean",()=>!1],access_group:"number",misc:"string",picture:e=>e?c.Url(e):void 0,profile:e=>e?c.Url(e):void 0,family_name:"string",given_name:"string",middle_name:"string",nickname:"string",website:e=>e?c.Url(e):void 0},i=c.Params(t||{},r,["email","password"]);await this.logout(),n=c.Params(n||{},{email_subscription:t=>{if("boolean"!=typeof t)throw new e('"option.email_subscription" should be type: <boolean>.',{code:"INVALID_PARAMETER"});if(!n?.signup_confirmation)throw new e('"option.signup_confirmation" is required for email subscription.',{code:"INVALID_PARAMETER"});return t},signup_confirmation:t=>{let n=t;if("string"==typeof t)n=c.Url(t);else{if("boolean"!=typeof t)throw new e('"option.signup_confirmation" should be type: <string | boolean>.',{code:"INVALID_PARAMETER"});n=t}if(n&&!i.email)throw new e('"email" is required for signup confirmation.',{code:"INVALID_PARAMETER"});return n},login:t=>{if("boolean"==typeof t){if(n.signup_confirmation&&t)throw new e('"login" is not allowed when "option.signup_confirmation" is true.',{code:"INVALID_PARAMETER"});return t}throw new e('"option.login" should be type: boolean.',{code:"INVALID_PARAMETER"})}});let s=n?.login||!1;if(i.signup_confirmation=n?.signup_confirmation||!1,i.email_subscription=n?.email_subscription||!1,i.email_public&&!i.signup_confirmation)throw new e('"option.signup_confirmation" should be true if "email_public" is set to true.',{code:"INVALID_PARAMETER"});i.service=this.service,i.owner=this.owner;let o=Te.bind(this)().createCognitoUser(i.username||i.email);for(let e of["email_public","address_public","gender_public","birthdate_public","phone_number_public"])i[e]=i[e]?"1":"0";i.access_group&&(i.access_group=i.access_group.toString());let a=(await f.bind(this)("signupkey",{username:o.cognitoUsername,signup_confirmation:"boolean"==typeof i.signup_confirmation?JSON.stringify(i.signup_confirmation):i.signup_confirmation,email_subscription:i.email_subscription})).split(":"),u=a.slice(1).join(":"),l=[new ee({Name:"custom:signup",Value:a[0]}),new ee({Name:"locale",Value:u.split("#")[1]}),new ee({Name:"custom:signup_ticket",Value:u})];for(let e in r){let t=["email_public","address_public","gender_public","birthdate_public","phone_number_public","misc","service","owner"];""!==i[e]&&"username"!==e&&"password"!==e&&"access_group"!==e&&(t.includes(e)?l.push(new ee({Name:"custom:"+e,Value:i[e]})):l.push(new ee({Name:e,Value:i[e]})))}return await Te.bind(this)().signup(o.cognitoUsername,i.password,l),i.signup_confirmation?(ye=o.cognitoUser,this.__request_signup_confirmation=o.cognitoUsername,"SUCCESS: The account has been created. User's signup confirmation is required."):s?ke.bind(this)({email:i.username||i.email,password:i.password}):"SUCCESS: The account has been created."}async function Me(){await this.__connection;let e=await f.bind(this)("remove-account",{disable:this.__user.user_id},{auth:!0});return await De.bind(this)(),e}async function Le(t){await this.__connection;let n=c.Params(t,{email:e=>c.Email(e),code:["number","string"],new_password:e=>c.Password(e)},["email","code","new_password"]),r=n.code,i=n.new_password;return"number"==typeof r&&(r=r.toString()),new Promise((async(t,s)=>{Te.bind(this)().createCognitoUser(n.email).cognitoUser.confirmPassword(r,i,{onSuccess:e=>{t("SUCCESS: New password has been set.")},onFailure:t=>{s(new e(t?.message||"Failed to reset password.",{code:t?.code}))}})}))}async function Ve(t,n){let r;if(await this.__connection,!ye)throw new e("The user has to be logged in.",{code:"INVALID_REQUEST"});if("email"===t||"phone_number"===t){if(!this.__user.hasOwnProperty(t))throw new e(`No ${"email"===t?"e-mail":"phone number"} to verify`,{code:"INVALID_REQUEST"});return this.__user?.[`${t}_verified`]?`SUCCESS: "${t}" is verified.`:(r=(n?c.Params(n,{code:["string"]}):{}).code||"",new Promise(((n,i)=>{let s={onSuccess:e=>{r?Te.bind(this)().getSession({refreshToken:!0}).then((()=>{this.__user&&(this.__user[t+"_verified"]=!0),n(`SUCCESS: "${t}" is verified.`)})).catch((e=>{i(e)})):n("SUCCESS: Verification code has been sent.")},onFailure:t=>{i(new e(t.message||"Failed to request verification code.",{code:t?.code}))}};r?ye?.verifyAttribute(t,r,s):(s.inputVerificationCode=null,ye?.getAttributeVerificationCode(t,s))})))}}function Fe(e){return Ve.bind(this)("phone_number",e)}function xe(e){return Ve.bind(this)("email",e)}async function Be(t){await this.__connection;let n=c.Params(t,{email:e=>c.Email(e)},["email"]);return new Promise((async(t,r)=>{Te.bind(this)().createCognitoUser(n.email).cognitoUser.forgotPassword({onSuccess:e=>{t("SUCCESS: Verification code has been sent.")},onFailure:t=>{r(new e(t?.message||"Failed to send verification code.",{code:t?.code||"ERROR"}))}})}))}async function $e(t){if(await this.__connection,!this.session)throw new e("User login is required.",{code:"INVALID_REQUEST"});let n=c.Params(t,{current_password:"string",new_password:"string"});if(!n?.current_password)throw new e('"current_password" is required to change password.',{code:"INVALID_PARAMETER"});if(!n?.new_password)throw new e('"new_password" is required to change password.',{code:"INVALID_PARAMETER"});return c.Password(n.current_password),c.Password(n.new_password),new Promise(((t,r)=>{ye.changePassword(n.current_password,n.new_password,((n,i)=>{n&&r("InvalidParameterException"===n?.code?new e("Invalid password parameter.",{code:"INVALID_PARAMETER"}):"NotAuthorizedException"===n?.code?new e("Incorrect password.",{code:"INVALID_REQUEST"}):"TooManyRequestsException"===n?.code||"LimitExceededException"===n?.code?new e("Too many attempts. Please try again later.",{code:"REQUEST_EXCEED"}):new e(n?.message||"Failed to change user password.",{code:n?.code||n?.name})),t("SUCCESS: Password has been changed.")}))}))}async function qe(n){if(await this.__connection,!this.session)throw new e("User login is required.",{code:"INVALID_REQUEST"});let r=c.Params(n||{},{email:e=>c.Email(e),address:e=>e?"string"==typeof e?e:"object"==typeof e?JSON.stringify(e):void 0:"",name:"string",gender:"string",birthdate:e=>c.Birthdate(e),phone_number:e=>c.PhoneNumber(e),email_public:"boolean",phone_number_public:"boolean",address_public:"boolean",gender_public:"boolean",birthdate_public:"boolean",misc:"string",picture:e=>c.Url(e),profile:e=>c.Url(e),family_name:"string",given_name:"string",middle_name:"string",nickname:"string",website:e=>c.Url(e)});if(r&&"object"==typeof r&&!Object.keys(r).length)return this.user;r.email&&(r.preferred_username=this.service+"-"+t.hash(r.email));let i=[["email_public","email_verified","User's E-Mail should be verified to set"],["phone_number_public","phone_number_verified","User's phone number should be verified to set"]];if(this.__user)for(let t of i)if(r[t[0]]&&!this.__user[t[1]])throw new e(`${t[2]} "${t[0]}" to true.`,{code:"INVALID_REQUEST"});let s=[];for(let e in r)if(r[e]!==this.user[e]){if(["email_public","phone_number_public","address_public","gender_public","birthdate_public","misc"].includes(e)){let t=r[e];"boolean"==typeof t&&(t=t?"1":"0"),r["custom:"+e]=t,s.push(e)}}else s.push(e);for(let e of s)delete r[e];if(r&&"object"==typeof r&&Object.keys(r).length){let e=[];for(let t in r)e.push(new ee({Name:t,Value:r[t]}));return await new Promise(((t,n)=>{ye?.updateAttributes(e,((e,r)=>{e&&n([e?.code||e?.name,e?.message||"Failed to update user settings."]),t(r)}))})),await Te.bind(this)().getSession({refreshToken:!0}),this.user}return this.user}async function je(t,n){t||(t={searchFor:"timestamp",condition:">",value:0},n||(n={}),n.ascending=!1),await this.__connection;const r={user_id:e=>c.UserId(e),email:e=>c.Email(e),phone_number:e=>c.PhoneNumber(e),locale:t=>{if("string"!=typeof t||"string"==typeof t&&t.length>5)throw new e('Value of "locale" should be a country code.',{code:"INVALID_PARAMETER"});return t},name:"string",address:"string",gender:"string",birthdate:e=>c.Birthdate(e),subscribers:"number",timestamp:"number",access_group:"number",approved:e=>e?"by_admin:approved":"by_admin:suspended"};if(t=c.Params(t,{searchFor:["user_id","name","email","phone_number","address","gender","birthdate","locale","subscribers","timestamp","access_group","approved"],condition:[">",">=","=","<","<=","gt","gte","eq","lt","lte",()=>"="],value:n=>{let i=r[t.searchFor];if("function"==typeof i)return i(n);if(typeof n!==i)throw new e(`Value does not match the type of "${t.searchFor}" index.`,{code:"INVALID_PARAMETER"});return n},range:n=>{let i=r[t.searchFor];if("function"==typeof i)return i(n);if(typeof n!==i)throw new e(`Range does not match the type of "${t.searchFor}" index.`,{code:"INVALID_PARAMETER"});return n}},["searchFor","value"]),t?.condition&&"="!==t?.condition&&t.hasOwnProperty("range"))throw new e("Conditions does not apply on range search.",{code:"INVALID_PARAMETER"});if(["user_id","phone_number","email"].includes(t.searchFor)&&("="!==t.condition||t.range))throw new e(`Conditions are not allowed on "${t.searchFor}"`,{code:"INVALID_PARAMETER"});if("string"==typeof t?.value&&!t?.value)throw new e("Value should not be an empty string.",{code:"INVALID_PARAMETER"});if("string"==typeof t?.searchFor&&!t?.searchFor)throw new e('"searchFor" should not be an empty string.',{code:"INVALID_PARAMETER"});return f.bind(this)("get-users",t,{auth:!0,fetchOptions:n})}async function Ke(e){await this.__connection;let t=await f.bind(this)("last-verified-email",e,{auth:!0});return t.includes("SUCCESS")?(await Te.bind(this)().getSession({refreshToken:!0}),this.user):t}async function He(e){return await this.__connection,e=c.Params(e,{username:c.Email,redirect:c.Url},["username"]),await f.bind(this)("request-username-change",e,{auth:!0})}const Je=4503599627370496;async function We(t){const n={user_id:"",record_id:"",updated:0,uploaded:0,table:{name:"",access_group:0},reference:{reference_limit:null,allow_multiple_reference:!0,referenced_count:0},ip:"",bin:{}},r={ip:e=>{"R"===e.slice(-1)?(n.readonly=!0,e=e.slice(0,-1)):n.readonly=!1,n.ip=e},rec:e=>{if(!e)return;n.record_id=e;let t=s(e.substring(0,e.length-9));n.uploaded=t},usr:e=>{n.user_id=e},tbl:e=>{if(e&&!n.table.name){let t=e.split("/");n.table.name=t[0];let r="**"==t[2]?"private":parseInt(t[2]);r=0==r?"public":1==r?"authorized":r,n.table.access_group=r,n.table.subscription=!!t?.[3]}},usr_tbl:e=>{let t=e.split("/");if(n.user_id||(n.user_id=t[0]),!n.table.name){n.table.name=t[1];let e="**"==t[3]?"private":parseInt(t[3]);e=0==e?"public":1==e?"authorized":e,n.table.access_group=e,n.table.subscription=!!t?.[4]}},idx:t=>{if(!t)return;let r=t.split("!"),i=r.splice(0,1)[0],s=function(t){let n=t.substring(3);switch(t.substring(0,3)){case"!S%":return n;case"!N%":let r=n.split("."),i=Number(r[0])-4503599627370496;return 1===r.length?i:parseFloat(i.toString()+"."+r[1]);case"!B%":return"1"===n;case"!L%":case"!D%":try{return JSON.parse(n)}catch(t){throw new e("Value parse error.",{code:"PARSE_ERROR"})}default:return t}}("!"+r.join("!"));n.index={name:i,value:s}},ref:e=>{e&&(n.reference.record_id=e.split("/")[0])},tags:e=>{n.tags=e},upd:e=>{n.updated=e},acpt_mrf:e=>{n.reference.allow_multiple_reference=e},ref_limt:e=>{n.reference.reference_limit=e},rfd:e=>{n.reference.referenced_count=e},bin:async e=>{let t={};if(Array.isArray(e))for(let n of e){let e=n.split("/").slice(3).join("/"),r=e.split("/"),i=decodeURIComponent(r.slice(-1)[0]),o=decodeURIComponent(r[10]),a=r[9],u=r[8],c="**"==r[6]?"private":parseInt(r[6]);c=0==c?"public":1==c?"authorized":c;let l=n;"public"!==c&&(l="private"===c&&this.__user?.user_id!==r[3]?n:await Qe.bind(this)(n,{dataType:"endpoint"}));let h={access_group:c,filename:i,url:l,path:e,size:s(a),uploaded:s(u),getFile:(e,t)=>{let r={dataType:e||"download",progress:t};return Qe.bind(this)(n,r)}};t[o]?t[o].push(h):t[o]=[h]}n.bin=t},data:e=>{let t=e;"!D%{}"===e?t={}:"!L%[]"===e&&(t=[]),n.data=t}};if(t.record_id)return t;for(let e in r)if(t.hasOwnProperty(e)){let n=r[e](t[e]);n instanceof Promise&&await n}return t.private_key&&(this.__private_access_key[n.record_id]=t.private_key),n}async function Ye(t){let{endpoints:n}=t;if("string"==typeof n&&(n=[n]),!Array.isArray(n))throw new e('"endpoints" should be type: array | string.',{code:"INVALID_PARAMETER"});let r=await f.bind(this)("del-files",{endpoints:n,storage:"records"},{auth:!0,method:"post"});for(let e in r)r[e]=We.bind(this)(r[e]);return await Promise.all(r)}async function Qe(t,n){if("string"!=typeof t)throw new e('"url" should be type: string.',{code:"INVALID_PARAMETER"});c.Url(t);let r=!1,i=t.split("/"),s=i[2].split("."),o=null;3===s.length&&"skapi"===s[1]&&(o=s[0],r=!0);let a=i.slice(3),u=!1;if(!r&&("auth"===a[0]||"publ"===a[0]))try{c.UserId(a[2]),c.UserId(a[3]),u="auth"==a[0],r=!0}catch{throw new e("Invalid file url.",{code:"INVALID_PARAMETER"})}let l=o?null:a[1];n=c.Params(n,{expires:["number",()=>0],dataType:["base64","blob","endpoint","text",()=>"download"],progress:"function"});let h=t.split("/").slice(-1)[0],d=n.expires;if(d){if(!r)throw new e("Expires option can only be used on skapi cdn endpoints.",{code:"INVALID_PARAMETER"});if(d<0)throw new e('"config.expires" should be > 0. (seconds)',{code:"INVALID_PARAMETER"});let n={request:o?"get-host":"get",id:o||a[5],key:t,expires:d};l&&(n.service=l),t=(await f.bind(this)("get-signed-url",n,{auth:!0})).url}else if(u){let n=this.session?.idToken?.jwtToken,r="**"===a[6]?"**":parseInt(a[6]);if(!n)throw new e("User login is required.",{code:"INVALID_REQUEST"});{let t=Date.now()/1e3;if(this.session.idToken.payload.exp<t)try{await this.authentication().getSession({refreshToken:!0}),n=this.session?.idToken?.jwtToken}catch(t){throw this.logout(),new e("User login is required.",{code:"INVALID_REQUEST"})}}if("**"===r){if(this.__user.user_id!==a[3])throw new e("User has no access.",{code:"INVALID_REQUEST"})}else if(this.__user.access_group<r)throw new e("User has no access.",{code:"INVALID_REQUEST"});t+=`?t=${n}`}if("endpoint"===n?.dataType)return t;if("download"===n?.dataType){let e=document.createElement("a");return e.href=t,document.body.appendChild(e),e.setAttribute("download",h),e.target="_blank",e.click(),document.body.removeChild(e),null}return new Promise((async(e,r)=>{try{let r=await f.bind(this)(t,null,{method:"get",contentType:null,responseType:"text"===n?.dataType?"text":"blob",fetchOptions:{progress:n?.progress}},{ignoreService:!0});if("base64"===n?.dataType){const t=new FileReader;t.onloadend=()=>e(t.result),t.readAsDataURL(r)}else e(r)}catch(e){r(e)}}))}async function Ge(t,n){await this.__connection,"string"==typeof t?.table&&(t.table={name:t.table,access_group:0});let r="",i="";if(t?.record_id){c.specialChars(t.record_id,"record_id",!1,!1);let e={record_id:t.record_id};t?.service&&(e.service=t.service),t=e,this.__private_access_key[t.record_id]&&(t.private_key=this.__private_access_key[t.record_id])}else{const n={table:{name:[t=>{if(!t)throw new e('"table.name" cannot be empty string.',{code:"INVALID_PARAMETER"});return c.specialChars(t,"table name",!0,!0)}],access_group:[n=>{if(void 0===n)return!this.__user&&t.table.hasOwnProperty("subscription")?1:0;if("number"==typeof n){if((this.__user?.access_group||0)<n)throw new e("User has no access",{code:"INVALID_REQUEST"})}else{if("string"!=typeof n)throw new e('"table.access_group" should be type: <number | string>.',{code:"INVALID_PARAMETER"});if("private"===(n={private:"private",public:0,authorized:1}[n])&&!this.__user)throw new e("Unsigned users have no access to private records.",{code:"INVALID_REQUEST"});if(void 0===n)throw new e('"table.access_group" is invalid.',{code:"INVALID_PARAMETER"})}return n}],subscription:t=>{if(null==t)return t;if(c.UserId(t,'User ID in "subscription"'),!this.__user)throw new e("Unsigned users have no access to subscription records.",{code:"INVALID_REQUEST"});return{user_id:t,group:1}}},reference:n=>{if(null==n)return n;if("string"==typeof n){try{i=c.UserId(n)}catch(e){c.specialChars(n,"reference",!1,!1),r=n,this.__private_access_key[r]&&(t.private_key=this.__private_access_key[r])}return r=n,n}throw new e('"reference" should be type: string.',{code:"INVALID_PARAMETER"})},index:{name:["$updated","$uploaded","$referenced_count","$user_id",t=>{if(void 0===t)throw new e('"index.name" is required.',{code:"INVALID_PARAMETER"});if("string"!=typeof t)throw new e('"index.name" should be type: string.',{code:"INVALID_PARAMETER"});return c.specialChars(t,"index.name",!0,!1)}],value:n=>{const r={$updated:"number",$uploaded:"number",$referenced_count:"number",$user_id:c.UserId};if(r.hasOwnProperty(t.index.name)){let i=r[t.index.name];if("function"==typeof i)return i(n);if(i!==typeof n)throw new e(`"index.value" should be type: ${i}.`,{code:"INVALID_PARAMETER"});return n}if("number"==typeof n){if(n>Je||n<-4503599627370496)throw new e("Number value should be within range -4503599627370496 ~ +4503599627370496",{code:"INVALID_PARAMETER"});return n}if("boolean"==typeof n)return n;if("string"==typeof n)return n;throw new e('"index.value" should be type: <number | boolean | string>.',{code:"INVALID_PARAMETER"})},condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne"],range:n=>{if(!t.index||!("value"in t.index))throw new e('"index.value" is required.',{code:"INVALID_PARAMETER"});if("$record_id"===t.index.name)throw new e(`Cannot do "index.range" on ${t.index.name}`,{code:"INVALID_PARAMETER"});if(typeof t.index.value!=typeof n)throw new e('"index.range" type should match the type of "index.value".',{code:"INVALID_PARAMETER"});return"string"==typeof n?c.specialChars(n,"index.range",!1,!0):n}},tag:t=>{if(null==t)return t;if("string"==typeof t)return c.specialChars(t,"tag",!1,!0);throw new e('"tag" should be type: string.',{code:"INVALID_PARAMETER"})},private_key:"string"};let s=await Ue.bind(this)();t=c.Params(t||{},n,i||s?[]:["table"])}let s=await f.bind(this)("get-records",t,{fetchOptions:n,auth:!!this.__user,method:this.__user?"post":"get"});for(let e in s.list)s.list[e]=We.bind(this)(s.list[e]);return s.list=await Promise.all(s.list),r&&s?.reference_private_key&&(this.__private_access_key[r]=s.reference_private_key),s}async function ze(t,n){let r=await Ue.bind(this)();if(!n)throw new e('"config" argument is required.',{code:"INVALID_PARAMETER"});if(!this.user)throw new e("Login is required.",{code:"INVALID_REQUEST"});"string"==typeof n.table&&(n.table={name:n.table},n.record_id||(n.table.access_group=0)),"string"==typeof n.reference&&(n.reference={record_id:n.reference});let i=c.Params(n||{},{record_id:["string",()=>{if(!n.table||!n.table.name)throw new e('"table.name" is required.',{code:"INVALID_PARAMETER"})}],readonly:"boolean",table:{name:t=>{if(!t)throw new e('"table.name" cannot be empty string.',{code:"INVALID_PARAMETER"});return c.specialChars(t,"table name",!0,!0)},subscription:t=>{if(t&&(!n.record_id&&!n.table.access_group||0===n.table.access_group||"public"===n.table.access_group))throw new e("Public records cannot require subscription.",{code:"INVALID_REQUEST"});return t},access_group:t=>{if("string"==typeof t&&(t={private:"private",public:0,authorized:1}[t]),"number"==typeof t&&!r&&this.user.access_group<t)throw new e("User has no access",{code:"INVALID_REQUEST"});if(void 0===t)throw new e('"table.access_group" is invalid.',{code:"INVALID_PARAMETER"});return t}},reference:{record_id:e=>(c.specialChars(e,'"reference.record_id"',!1,!1),this.__private_access_key[e]&&(n.reference_private_key=this.__private_access_key[e]),e),reference_limit:t=>{if(null===t)return null;if("number"==typeof t){if(0>t)throw new e('"reference_limit" should be >= 0',{code:"INVALID_PARAMETER"});if(t>4503599627370546)throw new e('"reference_limit" should be <= 4503599627370546',{code:"INVALID_PARAMETER"});return t}throw new e('"reference_limit" should be type: <number | null>',{code:"INVALID_PARAMETER"})},allow_multiple_reference:"boolean"},index:{name:["$uploaded","$updated","$referenced_count","$user_id",t=>{if(!t)throw new e('"index.name" is required.',{code:"INVALID_PARAMETER"});if("string"==typeof t)return c.specialChars(t,"index name",!0),t;throw new e('"index.name" should be type: string.',{code:"INVALID_PARAMETER"})}],value:[t=>{if(!t&&"boolean"!=typeof t&&0!==t)throw new e('"index.value" is required.',{code:"INVALID_PARAMETER"});if(!["boolean","string","number"].includes(typeof t))throw new e('"index.value" should be type: <boolean | string | number>.',{code:"INVALID_PARAMETER"});if("string"==typeof t)c.specialChars(t,"index value",!1,!0);else if("number"==typeof t&&(t>Je||t<-4503599627370496))throw new e("Number value should be within range -4503599627370496 ~ +4503599627370496",{code:"INVALID_PARAMETER"});return t}]},tags:e=>null==e?e:("string"==typeof e&&(e=e.split(",").map((e=>e.trim()))),c.specialChars(e,"tag",!1,!0)),remove_bin:t=>{if(!t)return null;let n=[];if(!Array.isArray(t))throw new e('"remove_bin" should be type: <string[] | BinaryFile[]>',{code:"INVALID_PARAMETER"});for(let r of t)if("string"==typeof r)n.push(r);else{if(!(r.url&&r.size&&r.filename))throw new e('"remove_bin" should be type: <string[] | BinaryFile[]>',{code:"INVALID_PARAMETER"});n.push(r.url)}return n},progress:"function"}),s=n.progress||null;n.table&&n.table.hasOwnProperty("subscription")&&(i.table.subscription_group=n.table.subscription?1:null,delete i.table.subscription),delete i.progress;let o={auth:!0},u=null,l=null,h=a(t);h.files.length&&(l=h.files),u=Object.assign({data:h.data},i);let d={};"function"==typeof s&&(d.progress=s),Object.keys(d).length&&Object.assign(o,{fetchOptions:d});let p=await f.bind(this)("post-record",u,o);if(l){let e=new FormData;for(let t of l)e.append(t.name,t.file,t.file.name);let t={record_id:p.rec,progress:s};i.hasOwnProperty("service")&&(t.service=i.service);let{bin_endpoints:n}=await _.bind(this)(e,t);p.bin?p.bin.push(...n):p.bin=n}return We.bind(this)(p)}async function Ze(e,t){let n=await f.bind(this)("get-table",c.Params(e||{},{table:"string",condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne"]}),Object.assign({auth:!!this.__user},{fetchOptions:t})),r={cnt_rec:"number_of_records",tbl:"table",srvc:"service"};if(Array.isArray(n?.list))for(let e of n.list)for(let t in r)e.hasOwnProperty(t)&&(e[r[t]]=e[t],delete e[t]);return n}async function Xe(t,n){if(!t?.table)throw new e('"table" is required.',{code:"INVALID_PARAMETER"});let r=c.Params(t||{},{table:"string",index:e=>c.specialChars(e,"index name",!0,!1),order:{by:["average_number","total_number","number_count","average_bool","total_bool","bool_count","string_count","index_name","number_of_records"],value:["string","number","boolean"],condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne"]}},["table"]);if(r.hasOwnProperty("order")){if(!r.order?.by)throw new e('"order.by" is required.',{code:"INVALID_PARAMETER"});if(r.order.hasOwnProperty("condition")&&!r.order.hasOwnProperty("value"))throw new e('"value" is required for "condition".',{code:"INVALID_PARAMETER"});if(r.hasOwnProperty("index")&&"."!==r.index.substring(r.index.length-1))throw new e('"index" should be a parent index name of the compound index when using "order.by"',{code:"INVALID_PARAMETER"})}let i=await f.bind(this)("get-index",r,Object.assign({auth:!!this.__user},{fetchOptions:n})),s={cnt_bool:"boolean_count",cnt_numb:"number_count",totl_numb:"total_number",totl_bool:"total_bool",avrg_numb:"average_number",avrg_bool:"average_bool",cnt_str:"string_count"};return Array.isArray(i?.list)&&(i.list=i.list.map((e=>{let t=e.idx.split("/"),n={table:t[1],index:t[2],number_of_records:e.cnt_rec};for(let t in s)e?.[t]&&(n[s[t]]=e[t]);return n}))),i}async function et(e,t){let n=await f.bind(this)("get-tag",c.Params(e||{},{table:"string",tag:"string",condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne"]}),Object.assign({auth:!!this.__user},{fetchOptions:t}));if(Array.isArray(n?.list))for(let e in n.list){let t=n.list[e],r=t.tag.split("/");n.list[e]={table:r[1],tag:r[0],number_of_records:t.cnt_rec}}return n}async function tt(t){let n=await Ue.bind(this)();if(n&&!t?.service)throw new e("Service ID is required.",{code:"INVALID_PARAMETER"});if(t?.record_id)return await f.bind(this)("del-records",{service:t.service||this.service,record_id:(t=>{if("string"==typeof t)return[t];if(!Array.isArray(t))throw new e('"record_id" should be type: <string | string[]>',{code:"INVALID_PARAMETER"});if(t.length>100)throw new e('"record_id" should not exceed 100 items.',{code:"INVALID_PARAMETER"});return c.specialChars(t,"record_id",!1,!1)})(t.record_id)},{auth:!0});{if(!t?.table)throw new e('Either "table" or "record_id" is required.',{code:"INVALID_PARAMETER"});let r={access_group:t=>{if("string"==typeof t&&["private","public","authorized"].includes(t))switch(t){case"private":return t;case"public":return 0;case"authorized":return 1}else if("number"==typeof t&&t>=0&&t<100)return t;throw new e('Invalid "table.access_group". Access group should be type <number (0~99) | "private" | "public" | "authorized">.',{code:"INVALID_PARAMETER"})},name:"string",subscription:r=>{if("boolean"==typeof r&&r)return this.__user.user_id;if(!t.table.hasOwnProperty("access_group"))throw new e('"table.access_group" is required for subscription records.',{code:"INVALID_PARAMETER"});if(0===t.table.access_group)throw new e("Public tables does not hold subscription records.",{code:"INVALID_REQUEST"});if(n&&"string"==typeof r)return c.UserId(r,'User ID in "table.subscription"');throw new e('"table.subscription" is an invalid parameter key.',{code:"INVALID_PARAMETER"})}},i=c.Params(t.table||{},r,n?[]:["name"]);i.subscription&&(i.subscription_group=1);let s=Object.assign({},t,{table:i});return await f.bind(this)("del-records",s,{auth:!0})}}function nt(t){if(!t.record_id)throw new e("Record ID is required.",{code:"INVALID_PARAMETER"});if(!t.user_id||Array.isArray(t.user_id)&&!t.user_id.length)throw new e("User ID is required.",{code:"INVALID_PARAMETER"});return ot.bind(this)({record_id:t.record_id,user_id:t.user_id||null,execute:"add"})}function rt(t){if(!t.record_id)throw new e("Record ID is required.",{code:"INVALID_PARAMETER"});if(!t.user_id||Array.isArray(t.user_id)&&!t.user_id.length)throw new e("User ID is required.",{code:"INVALID_PARAMETER"});return ot.bind(this)({record_id:t.record_id,user_id:t.user_id||null,execute:"remove"})}async function it(e){let t=await ot.bind(this)({record_id:e.record_id,user_id:e.user_id||null,execute:"list"});return t.list=t.list.map((e=>(e.record_id=e.rec_usr.split("/")[0],e.user_id=e.rec_usr.split("/")[1],e))),t}function st(e){return f.bind(this)("request-private-access-key",{record_id:e},{auth:!0})}function ot(t){let n=t.execute,r=c.Params(t,{record_id:"string",user_id:t=>{if(!t){if("list"==n)return null;throw new e("User ID is required.",{code:"INVALID_PARAMETER"})}let r=t;if("string"==typeof r&&(r=[r]),r.length>100)throw new e("Cannot process more than 100 users at once.",{code:"INVALID_REQUEST"});for(let e of r)c.UserId(e,'User ID in "user_id"');return r},execute:["add","remove","list"]},["execute","record_id","user_id"]);return r.user_id||(r.user_id=null),f.bind(this)("grant-private-access",r,{auth:!0})}async function at(){if(await this.getProfile(),!this.session)throw new e("No access.",{code:"INVALID_REQUEST"});let t=await this.record_endpoint;return new WebSocket(t.websocket_private+"?token="+this.session.accessToken.jwtToken)}let ut=0,ct={},lt={},ht=null;function ft(t,n=0){if("function"!=typeof t)throw new e("Callback must be a function.",{code:"INVALID_REQUEST"});return!ut&&this.__socket instanceof Promise||(this.__socket=new Promise((async r=>{setTimeout((async()=>{if(await this.__connection,!await this.getProfile())throw new e("No access.",{code:"INVALID_REQUEST"});let n=await at.bind(this)();n.onopen=()=>{ut=0,t({type:"success",message:"Connected to WebSocket server."}),this.__socket_room&&n.send(JSON.stringify({action:"joinRoom",rid:this.__socket_room,token:this.session.accessToken.jwtToken})),ht=setInterval((()=>{1===n.readyState&&n.send(JSON.stringify({action:"keepAlive",token:this.session.accessToken.jwtToken}))}),3e4),r(n)},n.onmessage=async e=>{let n=JSON.parse(decodeURI(e.data)),r="message";n?.["#private"]?r="private":n?.["#notice"]&&(r="notice");let i={type:r,message:n?.["#message"]||n?.["#private"]||n?.["#notice"]||null};if(n?.["#user_id"]&&(i.sender=n["#user_id"]),n?.["#scid"]&&(i.sender_cid=n["#scid"]),"notice"===r)if(this.__socket_room&&(i.message.includes("has left the message group.")||i.message.includes("has been disconnected."))){lt[this.__socket_room]&&await lt[this.__socket_room];let e=i.sender;if(ct?.[this.__socket_room]?.[e]&&(ct[this.__socket_room][e]=ct[this.__socket_room][e].filter((e=>e!==i.sender_cid))),ct?.[this.__socket_room]?.[e]&&0===ct[this.__socket_room][e].length&&delete ct[this.__socket_room][e],ct?.[this.__socket_room]?.[e])return}else if(this.__socket_room&&i.message.includes("has joined the message group.")){lt[this.__socket_room]&&await lt[this.__socket_room];let e=i.sender;if(ct?.[this.__socket_room]||(ct[this.__socket_room]={}),ct[this.__socket_room][e])return void(ct[this.__socket_room][e].includes(i.sender_cid)||ct[this.__socket_room][e].push(i.sender_cid));ct[this.__socket_room][e]=[i.sender_cid]}t(i)},n.onclose=e=>{if(e.wasClean)clearInterval(ht),ht=null,t({type:"close",message:"WebSocket connection closed."}),this.__socket=null,this.__socket_room=null;else if(ut++,ut<10){let e=Math.min(1e3*2**ut,3e4);t({type:"error",message:`Skapi: WebSocket connection error. Reconnecting in ${e/1e3} seconds...`}),ft.bind(this)(t,e)}else t({type:"error",message:"Skapi: WebSocket connection error. Max reconnection attempts reached."}),this.__socket=null},n.onerror=()=>{throw t({type:"error",message:"Skapi: WebSocket connection error."}),new e("Skapi: WebSocket connection error.",{code:"ERROR"})}}),n)}))),this.__socket}async function dt(){let e=this.__socket?await this.__socket:this.__socket;return e&&e.close(),this.__socket=null,this.__socket_room=null,null}async function pt(t,n){let r=this.__socket?await this.__socket:this.__socket;if(!r)throw new e("No realtime connection. Execute connectRealtime() before this method.",{code:"INVALID_REQUEST"});if(!n)throw new e("No recipient.",{code:"INVALID_REQUEST"});if(t=a(t).data,1===r.readyState){try{c.UserId(n),r.send(JSON.stringify({action:"sendMessage",uid:n,content:t,token:this.session.accessToken.jwtToken}))}catch(i){if(this.__socket_room!==n)throw new e(`User has not joined to the recipient group. Run joinRealtime({ group: "${n}" })`,{code:"INVALID_REQUEST"});r.send(JSON.stringify({action:"broadcast",rid:n,content:t,token:this.session.accessToken.jwtToken}))}return{type:"success",message:"Message sent."}}throw new e("Realtime connection is not open. Try reconnecting with connectRealtime().",{code:"INVALID_REQUEST"})}async function gt(t){let n=this.__socket?await this.__socket:this.__socket;if(!n)throw new e("No realtime connection. Execute connectRealtime() before this method.",{code:"INVALID_REQUEST"});t=a(t).data;let{group:r=null}=t;if(!r&&!this.__socket_room)return{type:"success",message:"Left realtime message group."};if(null!==r&&"string"!=typeof r)throw new e('"group" must be a string | null.',{code:"INVALID_PARAMETER"});return n.send(JSON.stringify({action:"joinRoom",rid:r,token:this.session.accessToken.jwtToken})),this.__socket_room=r,{type:"success",message:r?`Joined realtime message group: "${r}".`:"Left realtime message group."}}async function _t(t,n){if(await this.__connection,!(t=c.Params(t,{user_id:e=>c.UserId(e,'User ID in "user_id"'),group:"string"},["group"])).group)throw new e('"group" is required.',{code:"INVALID_PARAMETER"});if(!t.user_id&&lt[t.group])return lt[t.group];let r=f.bind(this)("get-ws-group",t,{fetchOptions:n,auth:!0,method:"post"}).then((e=>(e.list=e.list.map((e=>{let n=e.uid.split("#")[1];return t.user_id||(ct[t.group]||(ct[t.group]={}),ct[t.group][n]?ct[t.group][n].includes(e.cid)||ct[t.group][n].push(e.cid):ct[t.group][n]=[e.cid]),{user_id:n,connection_id:e.cid}})),e))).finally((()=>{delete lt[t.group]}));return t.user_id||lt[t.group]||(lt[t.group]=r),r}async function mt(t,n){if(await this.__connection,t||(t={searchFor:"group"}),(t=c.Params(t,{searchFor:["group","number_of_users",()=>"group"],value:["string","number",()=>t?.searchFor&&"number_of_users"===t?.searchFor?0:" "],condition:[">",">=","=","<","<=","!=","gt","gte","eq","lt","lte","ne"],range:["string","number"]})).condition||(" "!==t.value&&t.value?t.condition="=":t.condition=">"),t.range&&t.condition&&delete t.condition,"number_of_users"===t.searchFor&&"number"!=typeof t.value)throw new e('"value" must be a number.',{code:"INVALID_PARAMETER"});if("group"===t.searchFor&&"string"!=typeof t.value)throw new e('"value" must be a string.',{code:"INVALID_PARAMETER"});if(t.hasOwnProperty("range")&&typeof t.range!=typeof t.value)throw new e(`"range" must be a ${typeof t.value}.`,{code:"INVALID_PARAMETER"});let r=await f.bind(this)("get-ws-group",t,{fetchOptions:n,auth:!0,method:"post"});return r.list=r.list.map((e=>({group:e.rid.split("#")[1],number_of_users:e.cnt}))),r}async function yt(t){let n=!1,r=e=>{for(let t in e)if("string"==typeof e[t]&&e[t].includes("$CLIENT_SECRET")){n=!0;break}};if(c.Params(t,{url:t=>{if(!t||"string"!=typeof t)throw new e('"url" should be type: <string>.',{code:"INVALID_PARAMETER"});return c.Url(t),t.includes("$CLIENT_SECRET")&&(n=!0),t},clientSecretName:"string",method:t=>{if(t&&"string"!=typeof t)throw new e('"method" should be either "GET" or "POST" or "DELETE" or "PUT".',{code:"INVALID_PARAMETER"});let n=t.toLowerCase();if("get"!==n&&"post"!==n&&"delete"!==n&&"put"!==n)throw new e('"method" should be either "GET" or "POST" or "DELETE" or "PUT".',{code:"INVALID_PARAMETER"});return n},headers:t=>{if(t&&"object"!=typeof t)throw new e('"headers" should be type: <object>.',{code:"INVALID_PARAMETER"});return r(t),t},data:t=>{if(t&&"object"!=typeof t)throw new e('"data" should be type: <object>.',{code:"INVALID_PARAMETER"});return r(t),t},params:t=>{if(t&&"object"!=typeof t)throw new e('"params" should be type: <object>.',{code:"INVALID_PARAMETER"});return r(t),t}},["clientSecretName","method","url"]),!n)throw new e(`At least one parameter value should include "$CLIENT_SECRET" in ${"post"===t.method.toLowerCase()?'"data"':'"params"'} or "headers".`,{code:"INVALID_PARAMETER"});await this.__connection;let i=!!this.__user;return f.bind(this)("client-secret-request"+(i?"-public":""),t,{auth:i})}async function wt(e){await this.__connection;let t={name:"string",email:e=>(c.Email(e),e),subject:"string",message:"string"};return e=c.Params(e,t,["name","email","subject","message"]),await f.bind(this)("send-inquery",e),"SUCCESS: Inquiry has been sent."}async function bt(e){await this.__connection;let t={url:e=>c.Url(e),data:e=>e,sync:["boolean",()=>!0]};if(Array.isArray(e))for(let n of e)n=c.Params(n,t);else e=c.Params(e,t);return f.bind(this)("post-secure",e,{auth:!0})}async function At(e,t){await this.__connection;let{auth:n=!1,method:r="POST",bypassAwaitConnection:i=!1,responseType:s,contentType:o,progress:a}=t||{};return t=Object.assign({auth:n,method:r,bypassAwaitConnection:i,responseType:s,contentType:o},{fetchOptions:{progress:a}}),f.bind(this)("mock",e,t)}function vt(t){return c.Params(t,{user_id:t=>{if(!this.__user)throw new e("User should be logged in.",{code:"INVALID_REQUEST"});if(t===this.__user.user_id)throw new e('"user_id" cannot be the user\'s own ID.',{code:"INVALID_PARAMETER"});return c.UserId(t,'"user_id"')}},["user_id"])}async function Et(t,n,r){if(!(t=c.Params(t,{subscriber:e=>c.UserId(e,'User ID in "subscriber"'),subscription:e=>c.UserId(e,'User ID in "subscription"'),blocked:"boolean"})).subscriber&&!t.subscription)throw new e('At least either "subscriber" or "subscription" should have a value.',{code:"INVALID_PARAMETER"});Object.assign(t,{group:1});let i=await f.bind(this)("get-subscription",t,Object.assign({auth:!0},{fetchOptions:n}));return i.list=i.list.map(r||(e=>{let t={},n=e.sub.split("#");return t.subscriber=n[2],t.subscription=n[0],t.group=parseInt(n[1]),t.timestamp=e.stmp,t.blocked="N"===e.grp.substring(0,1),t})),i}async function St(e){await this.__connection;let{user_id:t}=vt.bind(this)(e);return await f.bind(this)("subscription",{subscribe:t,group:1},{auth:!0})}async function It(e){await this.__connection;let{user_id:t}=vt.bind(this)(e);return await f.bind(this)("subscription",{unsubscribe:t,group:1},{auth:!0})}async function Tt(e){await this.__connection;let{user_id:t}=vt.bind(this)(e);return await f.bind(this)("subscription",{block:t,group:1},{auth:!0})}async function Rt(e){await this.__connection;let{user_id:t}=vt.bind(this)(e);return await f.bind(this)("subscription",{unblock:t,group:1},{auth:!0})}async function Ut(t){await this.__connection;let n=await Ue.bind(this)();t=c.Params(t,{user_id:t=>{if(t!==this.__user.user_id&&!n)throw new e("No access.",{code:"INVALID_REQUEST"});return t},group:t=>{if("public"===t&&(t=0),"authorized"===t&&(t=1),"number"!=typeof t)throw new e('"group" should be type number | "public" | "authorized".',{code:"INVALID_PARAMETER"});return t}});let r=await f.bind(this)("get-newsletter-subscription",t,{auth:!0}),i=[];for(let e of r){let t=e.subt.split("#"),n=!0;"@"===t[0].charAt(0)&&(n=!1,t[0]=t[0].substring(1));let r=parseInt(t[0]);i.push({timestamp:e.stmp,group:r,subscribed_email:t[1],active:n})}return i}async function Dt(e){await this.__connection;let t=c.Params(e||{},{email:e=>c.Email(e),group:["number","public","authorized"],redirect:e=>c.Url(e)},this.__user?["group"]:["email","group"]);return f.bind(this)(`subscribe-${this.__user?"":"public-"}newsletter`,t,{auth:!!this.__user})}async function Ct(e){await this.__connection,e=c.Params(e,{group:["number","public","authorized"]},["group"]);let t=Object.assign({action:"unsubscribe"},e);return f.bind(this)("subscribe-newsletter",t,{auth:!0})}async function Pt(t,n){let r=await Ue.bind(this)(),i={message_id:"string",timestamp:"number",read:"number",complaint:"number",subject:"string"};t||(n=Object.assign({ascending:!1},n||{})),t=t||{searchFor:"timestamp",value:Date.now(),condition:"<",group:"public"};let s=0===(t=c.Params(t,{searchFor:["message_id","timestamp","read","complaint","group","subject"],value:n=>{if(typeof n!==i[t.searchFor])throw new e(`"value" type does not match the type of "${t.searchFor}" index.`,{code:"INVALID_PARAMETER"});if("string"==typeof n&&!n)throw new e('"value" should not be empty string.',{code:"INVALID_PARAMETER"});return n},range:n=>{if(!t.hasOwnProperty("value")||typeof n!=typeof t.value)throw new e('"range" should match type of "value".',{code:"INVALID_PARAMETER"});return n},condition:[">",">=","=","<","<=","gt","gte","eq","lt","lte",()=>"="],group:t=>{if("public"===t)return 0;if(!this.session)throw new e("User should be logged in.",{code:"INVALID_REQUEST"});if("authorized"===t)return 1;if("number"==typeof t){if(!r&&t>parseInt(this.session.idToken.payload.access_group))throw new e("User has no access.",{code:"INVALID_REQUEST"});return t}throw new e('"group" should be type: number | "public" | "authorized".',{code:"INVALID_PARAMETER"})}},["searchFor","value","group"])).group?"get-public-newsletters":"get-newsletters",o=await f.bind(this)(s,t,Object.assign({method:"get",auth:"get-public-newsletters"!==s||!!this.__user},{fetchOptions:n})),a={message_id:"mid",timestamp:"stmp",complaint:"cmpl",read:"read",subject:"subj",bounced:"bnce",url:"url"},u={message_id:"",timestamp:0,complaint:0,read:0,subject:"",bounced:0,url:""};return o.list=o.list.map((e=>{let t={};for(let n in a)t[n]=e[a[n]]||u[n];return t})),o}var Nt=function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o};class kt{get user(){return this.__user&&Object.keys(this.__user).length?JSON.parse(JSON.stringify(this.__user)):null}set user(e){}constructor(n,r,u,l){if(this.version="1.0.141",this.session=null,this.connection=null,this.host="skapi",this.hostDomain="skapi.com",this.target_cdn="d3e9syvbtso631",this.__disabledAccount=null,this.__cached_requests={},this.__startKeyHistory={},this.__request_signup_confirmation=null,this.__private_access_key={},this.__class_properties_has_been_cached=!1,this.__user=null,this.validate={userId(e){try{return c.UserId(e),!0}catch(e){return!1}},url(e){try{return c.Url(e),!0}catch(e){return!1}},phoneNumber(e){try{return c.PhoneNumber(e),!0}catch(e){return!1}},birthdate(e){try{return c.Birthdate(e),!0}catch(e){return!1}},email(e){try{return c.Email(e),!0}catch(e){return!1}}},this.util={MD5:t,generateRandom:o,toBase62:i,fromBase62:s,extractFormData:a,request:(e,t,n)=>f.bind(this)(e,t,n,{ignoreService:!0})},this.__network_logs=!1,this.registerTicket=Se.bind(this),this.unregisterTicket=Ie.bind(this),"string"!=typeof n||"string"!=typeof r)throw new e('"service" and "owner" should be type <string>.',{code:"INVALID_PARAMETER"});if(!n||!r)throw new e('"service" and "owner" is required',{code:"INVALID_PARAMETER"});r!==this.host&&c.UserId(r,'"owner"'),this.service=n,this.owner=r;let h=!0;u&&"boolean"==typeof u.autoLogin&&(h=u.autoLogin),this.target_cdn=l?.target_cdn||this.target_cdn,this.hostDomain=l?.hostDomain||this.hostDomain,this.__network_logs=!!l?.network_logs;const d=`https://${this.target_cdn}.cloudfront.net`;let p=n.substring(0,4);if(this.admin_endpoint=fetch(`${d}/${p}/admin.json`).then((e=>e.blob())).then((e=>new Promise(((t,n)=>{const r=new FileReader;r.onloadend=()=>t(r.result),r.onerror=n,r.readAsDataURL(e)})))).then((e=>"string"==typeof e?JSON.parse(window.atob(e.split(",")[1])):null)),this.record_endpoint=fetch(`${d}/${p}/record.json`).then((e=>e.blob())).then((e=>new Promise(((t,n)=>{const r=new FileReader;r.onloadend=()=>t(r.result),r.onerror=n,r.readAsDataURL(e)})))).then((e=>"string"==typeof e?JSON.parse(window.atob(e.split(",")[1])):null)),!window.sessionStorage)throw new Error("This browser does not support skapi.");const g=JSON.parse(window.sessionStorage.getItem(`${n}#${r}`)||"null");if(g?.connection)for(let e in g)this[e]=g[e];this.__authConnection=(async()=>{const e=await this.admin_endpoint;var t;if(t={UserPoolId:e.userpool_id,ClientId:e.userpool_client},we=new me(t),g?.connection||h)try{await Te.bind(this)().getSession({refreshToken:!g?.connection})}catch(e){this.__user=null}else{let e=we.getCurrentUser();e&&e.signOut()}})(),this.__connection=(async()=>{let e=null;g?.connection||(e=this.updateConnection());const t=()=>{if(this.__class_properties_has_been_cached)return;let t=()=>{let e={};const t=["__startKeyHistory","__disabledAccount","__cached_requests","__request_signup_confirmation","connection"];if(this.connection){for(let n of t)e[n]=this[n];window.sessionStorage.setItem(`${n}#${r}`,JSON.stringify(e)),this.__class_properties_has_been_cached=!0}};return e instanceof Promise?e.then((()=>t())):t()};if(window.addEventListener("beforeunload",(()=>{t(),this.closeRealtime()})),window.addEventListener("visibilitychange",(()=>{t()})),await e,await this.__authConnection,this.connection.group<3){let e="%c\r\n $$\\ $$\\ \r\n $$ | \\__|\r\n $$$$$$$\\ $$ | $$\\ $$$$$$\\ $$$$$$\\ $$\\ \r\n$$ _____|$$ | $$ |\\____$$\\ $$ __$$\\ $$ |\r\n\\$$$$$$\\ $$$$$$ / $$$$$$$ |$$ / $$ |$$ |\r\n \\____$$\\ $$ _$$< $$ __$$ |$$ | $$ |$$ |\r\n$$$$$$$ |$$ | \\$$\\\\$$$$$$$ |$$$$$$$ |$$ |\r\n\\_______/ \\__| \\__|\\_______|$$ ____/ \\__|\r\n $$ | \r\n $$ | \r\n \\__| \r\n";console.log(`Built with:\n${e}Version: ${this.version}\n\nDocumentation: https://docs.skapi.com`,"font-family: monospace; color:blue;"),1===this.connection.group&&console.log("%cSKAPI: THE SERVICE IS IN TRIAL MODE. ALL THE USERS AND DATA WILL BE INITIALIZED EVERY 30 DAYS.","font-family: monospace; color:red;")}return this.connection})()}async updateConnection(){try{this.connection=await f.bind(this)("service",{service:this.service,owner:this.owner},{bypassAwaitConnection:!0,method:"get"})}catch(e){throw window&&window.alert("Service is not available: "+(e.message||e.toString())),this.connection=null,e}return this.connection}connectRealtime(e){return ft.bind(this)(e)}jwtLogin(e){return Ne.bind(this)(e)}clientSecretRequest(e){return yt.bind(this)(e)}consumeTicket(e){return Ae.bind(this)(e)}getConsumedTickets(e,t){return Ee.bind(this)(e,t)}getTickets(e,t){return ve.bind(this)(e,t)}closeRealtime(){return dt.bind(this)()}getRealtimeUsers(e,t){return _t.bind(this)(e,t)}sendInquiry(e){return wt.bind(this)(e)}getRealtimeGroups(e,t){return mt.bind(this)(e,t)}postRealtime(e,t){return pt.bind(this)(e,t)}joinRealtime(e){return gt.bind(this)(e)}getConnection(){return this.__connection}getProfile(e){return Re.bind(this)(e)}getFile(e,t){return Qe.bind(this)(e,t)}secureRequest(e){return bt.bind(this)(e)}getFormResponse(){return w.bind(this)()}getRecords(e,t){return Ge.bind(this)(e,t)}getTables(e,t){return Ze.bind(this)(e,t)}getIndexes(e,t){return Xe.bind(this)(e,t)}getTags(e,t){return et.bind(this)(e,t)}deleteRecords(e){return tt.bind(this)(e)}resendSignupConfirmation(e){return Ce.bind(this)(e)}recoverAccount(e=!1){return Pe.bind(this)(e)}getUsers(e,t){return je.bind(this)(e,t)}disableAccount(){return Me.bind(this)()}lastVerifiedEmail(e){return Ke.bind(this)(e)}unsubscribeNewsletter(e){return Ct.bind(this)(e)}getNewsletters(e,t){return Pt.bind(this)(e,t)}getNewsletterSubscription(e){return Ut.bind(this)(e)}requestUsernameChange(e){return He.bind(this)(e)}grantPrivateRecordAccess(e){return nt.bind(this)(e)}removePrivateRecordAccess(e){return rt.bind(this)(e)}listPrivateRecordAccess(e){return it.bind(this)(e)}requestPrivateRecordAccessKey(e){return st.bind(this)(e)}deleteFiles(e){return Ye.bind(this)(e)}uploadFiles(e,t){return _.bind(this)(e,t)}mock(e,t){return At.bind(this)(e,t)}login(e){return ke.bind(this)(e)}logout(){return De.bind(this)()}signup(e,t){return Oe.bind(this)(e,t)}resetPassword(e){return Le.bind(this)(e)}verifyEmail(e){return xe.bind(this)(e)}verifyPhoneNumber(e){return Fe.bind(this)(e)}forgotPassword(e){return Be.bind(this)(e)}changePassword(e){return $e.bind(this)(e)}updateProfile(e){return qe.bind(this)(e)}postRecord(e,t){return ze.bind(this)(e,t)}getSubscriptions(e,t){return Et.bind(this)(e,t)}subscribe(e){return St.bind(this)(e)}unsubscribe(e){return It.bind(this)(e)}blockSubscriber(e){return Tt.bind(this)(e)}unblockSubscriber(e){return Rt.bind(this)(e)}subscribeNewsletter(e){return Dt.bind(this)(e)}}Nt([y()],kt.prototype,"clientSecretRequest",null),Nt([y()],kt.prototype,"consumeTicket",null),Nt([y()],kt.prototype,"getConsumedTickets",null),Nt([y()],kt.prototype,"getTickets",null),Nt([y()],kt.prototype,"getRealtimeUsers",null),Nt([y()],kt.prototype,"sendInquiry",null),Nt([y()],kt.prototype,"getRealtimeGroups",null),Nt([y()],kt.prototype,"postRealtime",null),Nt([y()],kt.prototype,"joinRealtime",null),Nt([y()],kt.prototype,"getProfile",null),Nt([y()],kt.prototype,"getFile",null),Nt([y()],kt.prototype,"secureRequest",null),Nt([y()],kt.prototype,"getFormResponse",null),Nt([y()],kt.prototype,"getRecords",null),Nt([y()],kt.prototype,"getTables",null),Nt([y()],kt.prototype,"getIndexes",null),Nt([y()],kt.prototype,"getTags",null),Nt([y()],kt.prototype,"deleteRecords",null),Nt([y()],kt.prototype,"resendSignupConfirmation",null),Nt([y()],kt.prototype,"recoverAccount",null),Nt([y()],kt.prototype,"getUsers",null),Nt([y()],kt.prototype,"disableAccount",null),Nt([y()],kt.prototype,"lastVerifiedEmail",null),Nt([y()],kt.prototype,"unsubscribeNewsletter",null),Nt([y()],kt.prototype,"getNewsletters",null),Nt([y()],kt.prototype,"getNewsletterSubscription",null),Nt([y()],kt.prototype,"requestUsernameChange",null),Nt([y()],kt.prototype,"grantPrivateRecordAccess",null),Nt([y()],kt.prototype,"removePrivateRecordAccess",null),Nt([y()],kt.prototype,"listPrivateRecordAccess",null),Nt([y()],kt.prototype,"requestPrivateRecordAccessKey",null),Nt([y()],kt.prototype,"deleteFiles",null),Nt([y()],kt.prototype,"uploadFiles",null),Nt([y()],kt.prototype,"mock",null),Nt([y({preventMultipleCalls:!0})],kt.prototype,"login",null),Nt([y()],kt.prototype,"logout",null),Nt([y({preventMultipleCalls:!0})],kt.prototype,"signup",null),Nt([y({preventMultipleCalls:!0})],kt.prototype,"resetPassword",null),Nt([y({preventMultipleCalls:!0})],kt.prototype,"verifyEmail",null),Nt([y({preventMultipleCalls:!0})],kt.prototype,"verifyPhoneNumber",null),Nt([y({preventMultipleCalls:!0})],kt.prototype,"forgotPassword",null),Nt([y({preventMultipleCalls:!0})],kt.prototype,"changePassword",null),Nt([y({preventMultipleCalls:!0})],kt.prototype,"updateProfile",null),Nt([y()],kt.prototype,"postRecord",null),Nt([y()],kt.prototype,"getSubscriptions",null),Nt([y()],kt.prototype,"subscribe",null),Nt([y()],kt.prototype,"unsubscribe",null),Nt([y()],kt.prototype,"blockSubscriber",null),Nt([y()],kt.prototype,"unblockSubscriber",null),Nt([y()],kt.prototype,"subscribeNewsletter",null)})(),r})()));
2
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}(self,(()=>(()=>{var e={914:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawSha256=void 0;var r=n(945),i=function(){function e(){this.state=Int32Array.from(r.INIT),this.temp=new Int32Array(64),this.buffer=new Uint8Array(64),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}return e.prototype.update=function(e){if(this.finished)throw new Error("Attempted to update an already finished hash.");var t=0,n=e.byteLength;if(this.bytesHashed+=n,8*this.bytesHashed>r.MAX_HASHABLE_LENGTH)throw new Error("Cannot hash more than 2^53 - 1 bits");for(;n>0;)this.buffer[this.bufferLength++]=e[t++],n--,this.bufferLength===r.BLOCK_SIZE&&(this.hashBuffer(),this.bufferLength=0)},e.prototype.digest=function(){if(!this.finished){var e=8*this.bytesHashed,t=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),n=this.bufferLength;if(t.setUint8(this.bufferLength++,128),n%r.BLOCK_SIZE>=r.BLOCK_SIZE-8){for(var i=this.bufferLength;i<r.BLOCK_SIZE;i++)t.setUint8(i,0);this.hashBuffer(),this.bufferLength=0}for(i=this.bufferLength;i<r.BLOCK_SIZE-8;i++)t.setUint8(i,0);t.setUint32(r.BLOCK_SIZE-8,Math.floor(e/4294967296),!0),t.setUint32(r.BLOCK_SIZE-4,e),this.hashBuffer(),this.finished=!0}var s=new Uint8Array(r.DIGEST_LENGTH);for(i=0;i<8;i++)s[4*i]=this.state[i]>>>24&255,s[4*i+1]=this.state[i]>>>16&255,s[4*i+2]=this.state[i]>>>8&255,s[4*i+3]=this.state[i]>>>0&255;return s},e.prototype.hashBuffer=function(){for(var e=this.buffer,t=this.state,n=t[0],i=t[1],s=t[2],o=t[3],a=t[4],u=t[5],c=t[6],l=t[7],h=0;h<r.BLOCK_SIZE;h++){if(h<16)this.temp[h]=(255&e[4*h])<<24|(255&e[4*h+1])<<16|(255&e[4*h+2])<<8|255&e[4*h+3];else{var f=this.temp[h-2],d=(f>>>17|f<<15)^(f>>>19|f<<13)^f>>>10,p=((f=this.temp[h-15])>>>7|f<<25)^(f>>>18|f<<14)^f>>>3;this.temp[h]=(d+this.temp[h-7]|0)+(p+this.temp[h-16]|0)}var g=(((a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7))+(a&u^~a&c)|0)+(l+(r.KEY[h]+this.temp[h]|0)|0)|0,_=((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&i^n&s^i&s)|0;l=c,c=u,u=a,a=o+g|0,o=s,s=i,i=n,n=g+_|0}t[0]+=n,t[1]+=i,t[2]+=s,t[3]+=o,t[4]+=a,t[5]+=u,t[6]+=c,t[7]+=l},e}();t.RawSha256=i},945:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MAX_HASHABLE_LENGTH=t.INIT=t.KEY=t.DIGEST_LENGTH=t.BLOCK_SIZE=void 0,t.BLOCK_SIZE=64,t.DIGEST_LENGTH=32,t.KEY=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),t.INIT=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],t.MAX_HASHABLE_LENGTH=Math.pow(2,53)-1},938:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),(0,n(655).__exportStar)(n(430),t)},430:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sha256=void 0;var r=n(655),i=n(945),s=n(914),o=n(658),a=function(){function e(e){if(this.hash=new s.RawSha256,e){this.outer=new s.RawSha256;var t=function(e){var t=(0,o.convertToBuffer)(e);if(t.byteLength>i.BLOCK_SIZE){var n=new s.RawSha256;n.update(t),t=n.digest()}var r=new Uint8Array(i.BLOCK_SIZE);return r.set(t),r}(e),n=new Uint8Array(i.BLOCK_SIZE);n.set(t);for(var r=0;r<i.BLOCK_SIZE;r++)t[r]^=54,n[r]^=92;for(this.hash.update(t),this.outer.update(n),r=0;r<t.byteLength;r++)t[r]=0}}return e.prototype.update=function(e){if(!(0,o.isEmptyData)(e)&&!this.error)try{this.hash.update((0,o.convertToBuffer)(e))}catch(e){this.error=e}},e.prototype.digestSync=function(){if(this.error)throw this.error;return this.outer?(this.outer.finished||this.outer.update(this.hash.digest()),this.outer.digest()):this.hash.digest()},e.prototype.digest=function(){return(0,r.__awaiter)(this,void 0,void 0,(function(){return(0,r.__generator)(this,(function(e){return[2,this.digestSync()]}))}))},e}();t.Sha256=a},106:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertToBuffer=void 0;var r=n(84),i="undefined"!=typeof Buffer&&Buffer.from?function(e){return Buffer.from(e,"utf8")}:r.fromUtf8;t.convertToBuffer=function(e){return e instanceof Uint8Array?e:"string"==typeof e?i(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}},658:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uint32ArrayFrom=t.numToUint8=t.isEmptyData=t.convertToBuffer=void 0;var r=n(106);Object.defineProperty(t,"convertToBuffer",{enumerable:!0,get:function(){return r.convertToBuffer}});var i=n(304);Object.defineProperty(t,"isEmptyData",{enumerable:!0,get:function(){return i.isEmptyData}});var s=n(174);Object.defineProperty(t,"numToUint8",{enumerable:!0,get:function(){return s.numToUint8}});var o=n(558);Object.defineProperty(t,"uint32ArrayFrom",{enumerable:!0,get:function(){return o.uint32ArrayFrom}})},304:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isEmptyData=void 0,t.isEmptyData=function(e){return"string"==typeof e?0===e.length:0===e.byteLength}},174:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.numToUint8=void 0,t.numToUint8=function(e){return new Uint8Array([(4278190080&e)>>24,(16711680&e)>>16,(65280&e)>>8,255&e])}},558:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uint32ArrayFrom=void 0,t.uint32ArrayFrom=function(e){if(!Array.from){for(var t=new Uint32Array(e.length);0<e.length;)t[0]=e[0];return t}return Uint32Array.from(e)}},84:(e,t,n)=>{"use strict";n.r(t),n.d(t,{fromUtf8:()=>r,toUtf8:()=>i});const r=e=>"function"==typeof TextEncoder?function(e){return(new TextEncoder).encode(e)}(e):(e=>{const t=[];for(let n=0,r=e.length;n<r;n++){const r=e.charCodeAt(n);if(r<128)t.push(r);else if(r<2048)t.push(r>>6|192,63&r|128);else if(n+1<e.length&&55296==(64512&r)&&56320==(64512&e.charCodeAt(n+1))){const i=65536+((1023&r)<<10)+(1023&e.charCodeAt(++n));t.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}else t.push(r>>12|224,r>>6&63|128,63&r|128)}return Uint8Array.from(t)})(e),i=e=>"function"==typeof TextDecoder?function(e){return new TextDecoder("utf-8").decode(e)}(e):(e=>{let t="";for(let n=0,r=e.length;n<r;n++){const r=e[n];if(r<128)t+=String.fromCharCode(r);else if(192<=r&&r<224){const i=e[++n];t+=String.fromCharCode((31&r)<<6|63&i)}else if(240<=r&&r<365){const i="%"+[r,e[++n],e[++n],e[++n]].map((e=>e.toString(16))).join("%");t+=decodeURIComponent(i)}else t+=String.fromCharCode((15&r)<<12|(63&e[++n])<<6|63&e[++n])}return t})(e)},742:(e,t)=>{"use strict";t.byteLength=function(e){var t=a(e),n=t[0],r=t[1];return 3*(n+r)/4-r},t.toByteArray=function(e){var t,n,s=a(e),o=s[0],u=s[1],c=new i(function(e,t,n){return 3*(t+n)/4-n}(0,o,u)),l=0,h=u>0?o-4:o;for(n=0;n<h;n+=4)t=r[e.charCodeAt(n)]<<18|r[e.charCodeAt(n+1)]<<12|r[e.charCodeAt(n+2)]<<6|r[e.charCodeAt(n+3)],c[l++]=t>>16&255,c[l++]=t>>8&255,c[l++]=255&t;return 2===u&&(t=r[e.charCodeAt(n)]<<2|r[e.charCodeAt(n+1)]>>4,c[l++]=255&t),1===u&&(t=r[e.charCodeAt(n)]<<10|r[e.charCodeAt(n+1)]<<4|r[e.charCodeAt(n+2)]>>2,c[l++]=t>>8&255,c[l++]=255&t),c},t.fromByteArray=function(e){for(var t,r=e.length,i=r%3,s=[],o=16383,a=0,c=r-i;a<c;a+=o)s.push(u(e,a,a+o>c?c:a+o));return 1===i?(t=e[r-1],s.push(n[t>>2]+n[t<<4&63]+"==")):2===i&&(t=(e[r-2]<<8)+e[r-1],s.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),s.join("")};for(var n=[],r=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)n[o]=s[o],r[s.charCodeAt(o)]=o;function a(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function u(e,t,r){for(var i,s,o=[],a=t;a<r;a+=3)i=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(255&e[a+2]),o.push(n[(s=i)>>18&63]+n[s>>12&63]+n[s>>6&63]+n[63&s]);return o.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},764:(e,t,n)=>{"use strict";var r=n(742),i=n(645),s=n(826);function o(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,t){if(o()<t)throw new RangeError("Invalid typed array length");return u.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=u.prototype:(null===e&&(e=new u(t)),e.length=t),e}function u(e,t,n){if(!(u.TYPED_ARRAY_SUPPORT||this instanceof u))return new u(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return h(this,e)}return c(this,e,t,n)}function c(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");return t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r),u.TYPED_ARRAY_SUPPORT?(e=t).__proto__=u.prototype:e=f(e,t),e}(e,t,n,r):"string"==typeof t?function(e,t,n){if("string"==typeof n&&""!==n||(n="utf8"),!u.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|p(t,n),i=(e=a(e,r)).write(t,n);return i!==r&&(e=e.slice(0,i)),e}(e,t,n):function(e,t){if(u.isBuffer(t)){var n=0|d(t.length);return 0===(e=a(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(r=t.length)!=r?a(e,0):f(e,t);if("Buffer"===t.type&&s(t.data))return f(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function h(e,t){if(l(t),e=a(e,t<0?0:0|d(t)),!u.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function f(e,t){var n=t.length<0?0:0|d(t.length);e=a(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function d(e){if(e>=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function p(e,t){if(u.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return B(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return $(e).length;default:if(r)return B(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return C(this,t,n);case"utf8":case"utf-8":return T(this,t,n);case"ascii":return U(this,t,n);case"latin1":case"binary":return D(this,t,n);case"base64":return I(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function _(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function m(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=u.from(t,r)),u.isBuffer(t))return 0===t.length?-1:y(e,t,n,r,i);if("number"==typeof t)return t&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):y(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function y(e,t,n,r,i){var s,o=1,a=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;o=2,a/=2,u/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var l=-1;for(s=n;s<a;s++)if(c(e,s)===c(t,-1===l?0:s-l)){if(-1===l&&(l=s),s-l+1===u)return l*o}else-1!==l&&(s-=s-l),l=-1}else for(n+u>a&&(n=a-u),s=n;s>=0;s--){for(var h=!0,f=0;f<u;f++)if(c(e,s+f)!==c(t,f)){h=!1;break}if(h)return s}return-1}function w(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var s=t.length;if(s%2!=0)throw new TypeError("Invalid hex string");r>s/2&&(r=s/2);for(var o=0;o<r;++o){var a=parseInt(t.substr(2*o,2),16);if(isNaN(a))return o;e[n+o]=a}return o}function b(e,t,n,r){return q(B(t,e.length-n),e,n,r)}function A(e,t,n,r){return q(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function v(e,t,n,r){return A(e,t,n,r)}function E(e,t,n,r){return q($(t),e,n,r)}function S(e,t,n,r){return q(function(e,t){for(var n,r,i,s=[],o=0;o<e.length&&!((t-=2)<0);++o)r=(n=e.charCodeAt(o))>>8,i=n%256,s.push(i),s.push(r);return s}(t,e.length-n),e,n,r)}function I(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function T(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var s,o,a,u,c=e[i],l=null,h=c>239?4:c>223?3:c>191?2:1;if(i+h<=n)switch(h){case 1:c<128&&(l=c);break;case 2:128==(192&(s=e[i+1]))&&(u=(31&c)<<6|63&s)>127&&(l=u);break;case 3:s=e[i+1],o=e[i+2],128==(192&s)&&128==(192&o)&&(u=(15&c)<<12|(63&s)<<6|63&o)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:s=e[i+1],o=e[i+2],a=e[i+3],128==(192&s)&&128==(192&o)&&128==(192&a)&&(u=(15&c)<<18|(63&s)<<12|(63&o)<<6|63&a)>65535&&u<1114112&&(l=u)}null===l?(l=65533,h=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),i+=h}return function(e){var t=e.length;if(t<=R)return String.fromCharCode.apply(String,e);for(var n="",r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=R));return n}(r)}t.lW=u,t.h2=50,u.TYPED_ARRAY_SUPPORT=void 0!==n.g.TYPED_ARRAY_SUPPORT?n.g.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),o(),u.poolSize=8192,u._augment=function(e){return e.__proto__=u.prototype,e},u.from=function(e,t,n){return c(null,e,t,n)},u.TYPED_ARRAY_SUPPORT&&(u.prototype.__proto__=Uint8Array.prototype,u.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&u[Symbol.species]===u&&Object.defineProperty(u,Symbol.species,{value:null,configurable:!0})),u.alloc=function(e,t,n){return function(e,t,n,r){return l(t),t<=0?a(e,t):void 0!==n?"string"==typeof r?a(e,t).fill(n,r):a(e,t).fill(n):a(e,t)}(null,e,t,n)},u.allocUnsafe=function(e){return h(null,e)},u.allocUnsafeSlow=function(e){return h(null,e)},u.isBuffer=function(e){return!(null==e||!e._isBuffer)},u.compare=function(e,t){if(!u.isBuffer(e)||!u.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,s=Math.min(n,r);i<s;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},u.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},u.concat=function(e,t){if(!s(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return u.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=u.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var o=e[n];if(!u.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(r,i),i+=o.length}return r},u.byteLength=p,u.prototype._isBuffer=!0,u.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)_(this,t,t+1);return this},u.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)_(this,t,t+3),_(this,t+1,t+2);return this},u.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)_(this,t,t+7),_(this,t+1,t+6),_(this,t+2,t+5),_(this,t+3,t+4);return this},u.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?T(this,0,e):g.apply(this,arguments)},u.prototype.equals=function(e){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===u.compare(this,e)},u.prototype.inspect=function(){var e="",n=t.h2;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),"<Buffer "+e+">"},u.prototype.compare=function(e,t,n,r,i){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var s=(i>>>=0)-(r>>>=0),o=(n>>>=0)-(t>>>=0),a=Math.min(s,o),c=this.slice(r,i),l=e.slice(t,n),h=0;h<a;++h)if(c[h]!==l[h]){s=c[h],o=l[h];break}return s<o?-1:o<s?1:0},u.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},u.prototype.indexOf=function(e,t,n){return m(this,e,t,n,!0)},u.prototype.lastIndexOf=function(e,t,n){return m(this,e,t,n,!1)},u.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var s=!1;;)switch(r){case"hex":return w(this,e,t,n);case"utf8":case"utf-8":return b(this,e,t,n);case"ascii":return A(this,e,t,n);case"latin1":case"binary":return v(this,e,t,n);case"base64":return E(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),s=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var R=4096;function U(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function D(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function C(e,t,n){var r,i=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>i)&&(n=i);for(var s="",o=t;o<n;++o)s+=(r=e[o])<16?"0"+r.toString(16):r.toString(16);return s}function P(e,t,n){for(var r=e.slice(t,n),i="",s=0;s<r.length;s+=2)i+=String.fromCharCode(r[s]+256*r[s+1]);return i}function N(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function k(e,t,n,r,i,s){if(!u.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<s)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function O(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,s=Math.min(e.length-n,2);i<s;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function M(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,s=Math.min(e.length-n,4);i<s;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function L(e,t,n,r,i,s){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function V(e,t,n,r,s){return s||L(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function F(e,t,n,r,s){return s||L(e,0,n,8),i.write(e,t,n,r,52,8),n+8}u.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),u.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=u.prototype;else{var i=t-e;n=new u(i,void 0);for(var s=0;s<i;++s)n[s]=this[s+e]}return n},u.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||N(e,t,this.length);for(var r=this[e],i=1,s=0;++s<t&&(i*=256);)r+=this[e+s]*i;return r},u.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||N(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},u.prototype.readUInt8=function(e,t){return t||N(e,1,this.length),this[e]},u.prototype.readUInt16LE=function(e,t){return t||N(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function(e,t){return t||N(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function(e,t){return t||N(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function(e,t){return t||N(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||N(e,t,this.length);for(var r=this[e],i=1,s=0;++s<t&&(i*=256);)r+=this[e+s]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},u.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||N(e,t,this.length);for(var r=t,i=1,s=this[e+--r];r>0&&(i*=256);)s+=this[e+--r]*i;return s>=(i*=128)&&(s-=Math.pow(2,8*t)),s},u.prototype.readInt8=function(e,t){return t||N(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){t||N(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(e,t){t||N(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(e,t){return t||N(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return t||N(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function(e,t){return t||N(e,4,this.length),i.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return t||N(e,4,this.length),i.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return t||N(e,8,this.length),i.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return t||N(e,8,this.length),i.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function(e,t,n,r){e=+e,t|=0,n|=0,r||k(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,s=0;for(this[t]=255&e;++s<n&&(i*=256);)this[t+s]=e/i&255;return t+n},u.prototype.writeUIntBE=function(e,t,n,r){e=+e,t|=0,n|=0,r||k(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,s=1;for(this[t+i]=255&e;--i>=0&&(s*=256);)this[t+i]=e/s&255;return t+n},u.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},u.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):O(this,e,t,!0),t+2},u.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):O(this,e,t,!1),t+2},u.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):M(this,e,t,!0),t+4},u.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):M(this,e,t,!1),t+4},u.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);k(this,e,t,n,i-1,-i)}var s=0,o=1,a=0;for(this[t]=255&e;++s<n&&(o*=256);)e<0&&0===a&&0!==this[t+s-1]&&(a=1),this[t+s]=(e/o>>0)-a&255;return t+n},u.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);k(this,e,t,n,i-1,-i)}var s=n-1,o=1,a=0;for(this[t+s]=255&e;--s>=0&&(o*=256);)e<0&&0===a&&0!==this[t+s+1]&&(a=1),this[t+s]=(e/o>>0)-a&255;return t+n},u.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):O(this,e,t,!0),t+2},u.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):O(this,e,t,!1),t+2},u.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):M(this,e,t,!0),t+4},u.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||k(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):M(this,e,t,!1),t+4},u.prototype.writeFloatLE=function(e,t,n){return V(this,e,t,!0,n)},u.prototype.writeFloatBE=function(e,t,n){return V(this,e,t,!1,n)},u.prototype.writeDoubleLE=function(e,t,n){return F(this,e,t,!0,n)},u.prototype.writeDoubleBE=function(e,t,n){return F(this,e,t,!1,n)},u.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,s=r-n;if(this===e&&n<t&&t<r)for(i=s-1;i>=0;--i)e[i+t]=this[i+n];else if(s<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i<s;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+s),t);return s},u.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!u.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var s;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(s=t;s<n;++s)this[s]=e;else{var o=u.isBuffer(e)?e:B(new u(e,r).toString()),a=o.length;for(s=0;s<n-t;++s)this[s+t]=o[s%a]}return this};var x=/[^+\/0-9A-Za-z-_]/g;function B(e,t){var n;t=t||1/0;for(var r=e.length,i=null,s=[],o=0;o<r;++o){if((n=e.charCodeAt(o))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===r){(t-=3)>-1&&s.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function $(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(x,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function q(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}},645:(e,t)=>{t.read=function(e,t,n,r,i){var s,o,a=8*i-r-1,u=(1<<a)-1,c=u>>1,l=-7,h=n?i-1:0,f=n?-1:1,d=e[t+h];for(h+=f,s=d&(1<<-l)-1,d>>=-l,l+=a;l>0;s=256*s+e[t+h],h+=f,l-=8);for(o=s&(1<<-l)-1,s>>=-l,l+=r;l>0;o=256*o+e[t+h],h+=f,l-=8);if(0===s)s=1-c;else{if(s===u)return o?NaN:1/0*(d?-1:1);o+=Math.pow(2,r),s-=c}return(d?-1:1)*o*Math.pow(2,s-r)},t.write=function(e,t,n,r,i,s){var o,a,u,c=8*s-i-1,l=(1<<c)-1,h=l>>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:s-1,p=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-o))<1&&(o--,u*=2),(t+=o+h>=1?f/u:f*Math.pow(2,1-h))*u>=2&&(o++,u/=2),o+h>=l?(a=0,o=l):o+h>=1?(a=(t*u-1)*Math.pow(2,i),o+=h):(a=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[n+d]=255&a,d+=p,a/=256,i-=8);for(o=o<<i|a,c+=i;c>0;e[n+d]=255&o,d+=p,o/=256,c-=8);e[n+d-p]|=128*g}},826:e=>{var t={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==t.call(e)}},204:(e,t,n)=>{e.exports=self.fetch||(self.fetch=n(869).default||n(869))},808:(e,t,n)=>{var r,i,s;void 0===(i="function"==typeof(r=s=function(){function e(){for(var e=0,t={};e<arguments.length;e++){var n=arguments[e];for(var r in n)t[r]=n[r]}return t}function t(e){return e.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent)}return function n(r){function i(){}function s(t,n,s){if("undefined"!=typeof document){"number"==typeof(s=e({path:"/"},i.defaults,s)).expires&&(s.expires=new Date(1*new Date+864e5*s.expires)),s.expires=s.expires?s.expires.toUTCString():"";try{var o=JSON.stringify(n);/^[\{\[]/.test(o)&&(n=o)}catch(e){}n=r.write?r.write(n,t):encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),t=encodeURIComponent(String(t)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var a="";for(var u in s)s[u]&&(a+="; "+u,!0!==s[u]&&(a+="="+s[u].split(";")[0]));return document.cookie=t+"="+n+a}}function o(e,n){if("undefined"!=typeof document){for(var i={},s=document.cookie?document.cookie.split("; "):[],o=0;o<s.length;o++){var a=s[o].split("="),u=a.slice(1).join("=");n||'"'!==u.charAt(0)||(u=u.slice(1,-1));try{var c=t(a[0]);if(u=(r.read||r)(u,c)||t(u),n)try{u=JSON.parse(u)}catch(e){}if(i[c]=u,e===c)break}catch(e){}}return e?i[e]:i}}return i.set=s,i.get=function(e){return o(e,!1)},i.getJSON=function(e){return o(e,!0)},i.remove=function(t,n){s(t,"",e(n,{expires:-1}))},i.defaults={},i.withConverter=n,i}((function(){}))})?r.call(t,n,t,e):r)||(e.exports=i),e.exports=s()},655:(e,t,n)=>{"use strict";n.r(t),n.d(t,{__assign:()=>s,__asyncDelegator:()=>b,__asyncGenerator:()=>w,__asyncValues:()=>A,__await:()=>y,__awaiter:()=>l,__classPrivateFieldGet:()=>I,__classPrivateFieldSet:()=>T,__createBinding:()=>f,__decorate:()=>a,__exportStar:()=>d,__extends:()=>i,__generator:()=>h,__importDefault:()=>S,__importStar:()=>E,__makeTemplateObject:()=>v,__metadata:()=>c,__param:()=>u,__read:()=>g,__rest:()=>o,__spread:()=>_,__spreadArrays:()=>m,__values:()=>p});var 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)t.hasOwnProperty(n)&&(e[n]=t[n])},r(e,t)};function i(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var s=function(){return s=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},s.apply(this,arguments)};function o(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n}function a(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o}function u(e,t){return function(n,r){t(n,r,e)}}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function l(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))}function h(e,t){var n,r,i,s,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,r=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!((i=(i=o.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){o.label=s[1];break}if(6===s[0]&&o.label<i[1]){o.label=i[1],i=s;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(s);break}i[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],r=0}finally{n=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}}function f(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}function d(e,t){for(var n in e)"default"===n||t.hasOwnProperty(n)||(t[n]=e[n])}function p(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function g(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,s=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(r=s.next()).done;)o.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(i)throw i.error}}return o}function _(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(g(arguments[t]));return e}function m(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),i=0;for(t=0;t<n;t++)for(var s=arguments[t],o=0,a=s.length;o<a;o++,i++)r[i]=s[o];return r}function y(e){return this instanceof y?(this.v=e,this):new y(e)}function w(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=n.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(e){i[e]&&(r[e]=function(t){return new Promise((function(n,r){s.push([e,t,n,r])>1||a(e,t)}))})}function a(e,t){try{(n=i[e](t)).value instanceof y?Promise.resolve(n.value.v).then(u,c):l(s[0][2],n)}catch(e){l(s[0][3],e)}var n}function u(e){a("next",e)}function c(e){a("throw",e)}function l(e,t){e(t),s.shift(),s.length&&a(s[0][0],s[0][1])}}function b(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,i){t[r]=e[r]?function(t){return(n=!n)?{value:y(e[r](t)),done:"return"===r}:i?i(t):t}:i}}function A(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=p(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,i){!function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)}(r,i,(t=e[n](t)).done,t.value)}))}}}function v(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function E(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function S(e){return e&&e.__esModule?e:{default:e}}function I(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function T(e,t,n){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,n),n}},869:(e,t,n)=>{"use strict";function r(e,t){return t=t||{},new Promise((function(n,r){var i=new XMLHttpRequest,s=[],o=[],a={},u=function(){return{ok:2==(i.status/100|0),statusText:i.statusText,status:i.status,url:i.responseURL,text:function(){return Promise.resolve(i.responseText)},json:function(){return Promise.resolve(i.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([i.response]))},clone:u,headers:{keys:function(){return s},entries:function(){return o},get:function(e){return a[e.toLowerCase()]},has:function(e){return e.toLowerCase()in a}}}};for(var c in i.open(t.method||"get",e,!0),i.onload=function(){i.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,(function(e,t,n){s.push(t=t.toLowerCase()),o.push([t,n]),a[t]=a[t]?a[t]+","+n:n})),n(u())},i.onerror=r,i.withCredentials="include"==t.credentials,t.headers)i.setRequestHeader(c,t.headers[c]);i.send(t.body||null)}))}n.r(t),n.d(t,{default:()=>r})},249:()=>{}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var s=t[r]={exports:{}};return e[r](s,s.exports,n),s.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return(()=>{"use strict";n.r(r),n.d(r,{Skapi:()=>kt,SkapiError:()=>e});class e extends Error{constructor(e,t){if(Array.isArray(e)&&e.length<=2){let n=e[1];if(e.length>2)for(let t=2;t<e.length&&"string"==typeof e[t];t++)n+=e[t];super((n||"Something went wrong.").trim()),this.name=t?.name||"SKAPI",this.code=t?.code||e[0]||"ERROR",t?.cause&&(this.cause=t.cause)}else"string"==typeof e?(super((e||"Something went wrong.").trim()),this.name=t?.name||"SKAPI",this.code=t?.code||"ERROR",t?.cause&&(this.cause=t.cause)):e instanceof Error&&(super((e.message||"Something went wrong.").trim()),this.cause=e,this.name=e.name,e.hasOwnProperty("code")&&(this.code=e.code))}}class t{static hash(e){"string"!=typeof e&&(console.warn("coercing non-string value to empty string"),e="");const n=t.sb(e);let r,i,s,o,a=1732584193,u=-271733879,c=-1732584194,l=271733878;for(let e=0;e<n.length;e+=16)r=a,i=u,s=c,o=l,a=t.ff(a,u,c,l,n[e],7,-680876936),l=t.ff(l,a,u,c,n[e+1],12,-389564586),c=t.ff(c,l,a,u,n[e+2],17,606105819),u=t.ff(u,c,l,a,n[e+3],22,-1044525330),a=t.ff(a,u,c,l,n[e+4],7,-176418897),l=t.ff(l,a,u,c,n[e+5],12,1200080426),c=t.ff(c,l,a,u,n[e+6],17,-1473231341),u=t.ff(u,c,l,a,n[e+7],22,-45705983),a=t.ff(a,u,c,l,n[e+8],7,1770035416),l=t.ff(l,a,u,c,n[e+9],12,-1958414417),c=t.ff(c,l,a,u,n[e+10],17,-42063),u=t.ff(u,c,l,a,n[e+11],22,-1990404162),a=t.ff(a,u,c,l,n[e+12],7,1804603682),l=t.ff(l,a,u,c,n[e+13],12,-40341101),c=t.ff(c,l,a,u,n[e+14],17,-1502002290),u=t.ff(u,c,l,a,n[e+15],22,1236535329),a=t.gg(a,u,c,l,n[e+1],5,-165796510),l=t.gg(l,a,u,c,n[e+6],9,-1069501632),c=t.gg(c,l,a,u,n[e+11],14,643717713),u=t.gg(u,c,l,a,n[e],20,-373897302),a=t.gg(a,u,c,l,n[e+5],5,-701558691),l=t.gg(l,a,u,c,n[e+10],9,38016083),c=t.gg(c,l,a,u,n[e+15],14,-660478335),u=t.gg(u,c,l,a,n[e+4],20,-405537848),a=t.gg(a,u,c,l,n[e+9],5,568446438),l=t.gg(l,a,u,c,n[e+14],9,-1019803690),c=t.gg(c,l,a,u,n[e+3],14,-187363961),u=t.gg(u,c,l,a,n[e+8],20,1163531501),a=t.gg(a,u,c,l,n[e+13],5,-1444681467),l=t.gg(l,a,u,c,n[e+2],9,-51403784),c=t.gg(c,l,a,u,n[e+7],14,1735328473),u=t.gg(u,c,l,a,n[e+12],20,-1926607734),a=t.hh(a,u,c,l,n[e+5],4,-378558),l=t.hh(l,a,u,c,n[e+8],11,-2022574463),c=t.hh(c,l,a,u,n[e+11],16,1839030562),u=t.hh(u,c,l,a,n[e+14],23,-35309556),a=t.hh(a,u,c,l,n[e+1],4,-1530992060),l=t.hh(l,a,u,c,n[e+4],11,1272893353),c=t.hh(c,l,a,u,n[e+7],16,-155497632),u=t.hh(u,c,l,a,n[e+10],23,-1094730640),a=t.hh(a,u,c,l,n[e+13],4,681279174),l=t.hh(l,a,u,c,n[e],11,-358537222),c=t.hh(c,l,a,u,n[e+3],16,-722521979),u=t.hh(u,c,l,a,n[e+6],23,76029189),a=t.hh(a,u,c,l,n[e+9],4,-640364487),l=t.hh(l,a,u,c,n[e+12],11,-421815835),c=t.hh(c,l,a,u,n[e+15],16,530742520),u=t.hh(u,c,l,a,n[e+2],23,-995338651),a=t.ii(a,u,c,l,n[e],6,-198630844),l=t.ii(l,a,u,c,n[e+7],10,1126891415),c=t.ii(c,l,a,u,n[e+14],15,-1416354905),u=t.ii(u,c,l,a,n[e+5],21,-57434055),a=t.ii(a,u,c,l,n[e+12],6,1700485571),l=t.ii(l,a,u,c,n[e+3],10,-1894986606),c=t.ii(c,l,a,u,n[e+10],15,-1051523),u=t.ii(u,c,l,a,n[e+1],21,-2054922799),a=t.ii(a,u,c,l,n[e+8],6,1873313359),l=t.ii(l,a,u,c,n[e+15],10,-30611744),c=t.ii(c,l,a,u,n[e+6],15,-1560198380),u=t.ii(u,c,l,a,n[e+13],21,1309151649),a=t.ii(a,u,c,l,n[e+4],6,-145523070),l=t.ii(l,a,u,c,n[e+11],10,-1120210379),c=t.ii(c,l,a,u,n[e+2],15,718787259),u=t.ii(u,c,l,a,n[e+9],21,-343485551),a=t.ad(a,r),u=t.ad(u,i),c=t.ad(c,s),l=t.ad(l,o);return t.rh(a)+t.rh(u)+t.rh(c)+t.rh(l)}static rh(e){let n="";for(let r=0;r<=3;r++)n+=t.alphabet.charAt(e>>8*r+4&15)+t.alphabet.charAt(e>>8*r&15);return n}static ad(e,t){const n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}static rl(e,t){return e<<t|e>>>32-t}static cm(e,n,r,i,s,o){return t.ad(t.rl(t.ad(t.ad(n,e),t.ad(i,o)),s),r)}static ff(e,n,r,i,s,o,a){return t.cm(n&r|~n&i,e,n,s,o,a)}static gg(e,n,r,i,s,o,a){return t.cm(n&i|r&~i,e,n,s,o,a)}static hh(e,n,r,i,s,o,a){return t.cm(n^r^i,e,n,s,o,a)}static ii(e,n,r,i,s,o,a){return t.cm(r^(n|~i),e,n,s,o,a)}static sb(e){let t;const n=1+(e.length+8>>6),r=new Array(16*n);for(t=0;t<16*n;t++)r[t]=0;for(t=0;t<e.length;t++)r[t>>2]|=e.charCodeAt(t)<<t%4*8;return r[t>>2]|=128<<t%4*8,r[16*n-2]=8*e.length,r}}function i(e){const t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";if(0===e)return t[0];let n="";for(;e>0;)n=t[e%62]+n,e=Math.floor(e/62);return n}function s(e){return e.split("").reverse().reduce(((e,t,n)=>e+"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".indexOf(t)*62**n),0)}function o(e=6){let t="";let n=0;for(;n<e;)t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random())),n+=1;return t}function a(t,n,r){let i={},s=[];function o(t){let n;try{n=JSON.stringify(t)}catch(t){throw new e("Invalid data type.",{code:"INVALID_REQUEST"})}return new Blob([n]).size}function a(t,i,s){if(n?.ignoreEmpty&&""===s)return;if(n?.nullIfEmpty&&""===s&&(s=null),"function"==typeof r){let e=r(i,s);void 0!==e&&(s=e)}let o=i.split("[").map((e=>{let t=e.replace("]",""),n=Number(t);return isNaN(n)||t.includes(".")?('"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1])&&(t=t.replace(/"/g,"").replace(/'/g,"")):t=n,t})),a=t;if("number"==typeof o[0])throw new e("Form key cannot start with an array index.",{code:"INVALID_REQUEST"});for(let e=0;e<o.length;e++){let t=o[e];if(e<o.length-1){if(void 0===a[t]){let n=o[e+1];a[t]="number"==typeof n?[]:{}}a=a[t]}else void 0===a[t]?a[t]=s:Array.isArray(a[t])?a[t].push(s):a[t]=[a[t],s]}}function u(e,t,n){if(n instanceof File)e.push({name:t,file:n});else if(n instanceof FileList&&n&&n.length>0)for(let r=0;r<=n.length-1;r++){let i=n.item(r);i&&e.push({name:t,file:i})}}if(t instanceof FormData){for(let e of t.entries()){let t=e[0],n=e[1];n instanceof File||n instanceof FileList?u(s,t,n):a(i,t,n)}if(o(i)>2097152)throw new e("Data should not exceed 2MB",{code:"INVALID_REQUEST"});return{data:i,files:s}}if(t instanceof SubmitEvent&&(t=t.target),t instanceof HTMLFormElement){let n=t.querySelectorAll("input"),r=t.querySelectorAll("select"),c=t.querySelectorAll("textarea");for(let e=0;e<r.length;e++){let t=r[e];t.name&&a(i,t.name,t.value)}for(let e=0;e<c.length;e++){let t=c[e];t.name&&a(i,t.name,t.value)}for(let e=0;e<n.length;e++){let t=n[e];t.name&&("number"===t.type?t.value&&a(i,t.name,Number(t.value)):"checkbox"===t.type||"radio"===t.type?t.checked?""===t.value&&"checkbox"===t.type||"on"===t.value||"true"===t.value?a(i,t.name,!0):"false"===t.value?a(i,t.name,!1):t.value&&a(i,t.name,t.value):"checkbox"===t.type&&(""===t.value||"on"===t.value||"true"===t.value?a(i,t.name,!1):"false"===t.value&&a(i,t.name,!0)):"file"===t.type?t.files&&t.files.length>0&&u(s,t.name,t.files):a(i,t.name,t.value))}if(o(i)>2097152)throw new e("Data should not exceed 2MB",{code:"INVALID_REQUEST"});return{data:i,files:s}}if(o(t)>2097152)throw new e("Data should not exceed 2MB",{code:"INVALID_REQUEST"});return{data:t,files:s}}function u(e,t,n=[],r=null){function i(e){return e&&"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length}function s(e){return Array.isArray(e)&&e.length}if(null===r&&!i(t))throw'Argument "struct" is required.';let o=null!==r?` in key "${r}" is invalid.`:". Parameter should be type <object>.";if(s(t)){let i="";t.forEach((e=>{["string","number","boolean","object","array"].includes(e)?i+=`Type<${e}>, `:"function"!=typeof e&&(i+=JSON.stringify(e,null,2)+", ")})),i=i?" Should be: "+i.slice(0,-2):"";let s,a=!1,c="";for(let i of t)try{s=u(e,i,n,r),a=!0;break}catch(e){c="function"==typeof i?e?.message||e:"",a=!1}if(!a)throw c||`Invalid type "${typeof e}"${o}${i}.`;return s}if(i(e)){if(i(t))for(let i in t){let o=(null===r?"":r)+(null!==r?"["+i+"]":i);if(!e.hasOwnProperty(i)){if(n.includes(o))throw`Key "${o}" is required.`;s(t[i])&&"function"==typeof t[i][t[i].length-1]&&(e[i]=t[i][t[i].length-1]())}}if("object"===t)return e;if("function"==typeof t)return t(e);for(let i in e){let o=(null===r?"":r)+(null!==r?"["+i+"]":i);if(s(t)||t.hasOwnProperty(i))if(s(e[i])){if("array"===t[i])continue;if("function"==typeof t[i]){e[i]=t[i](e[i]);continue}for(let r=0;r<e[i].length;r++)e[i][r]=u(e[i][r],t[i],n,o+`[${r}]`)}else e[i]=u(e[i],t[i],n,o)}return e}if("function"==typeof t)return t(e);if("array"===t&&Array.isArray(e)||t===typeof e||e===t)return e;if(null==e||(a=e)&&"object"==typeof a&&!Array.isArray(a)&&!Object.keys(a).length)return e;var a;throw`Invalid type "${typeof e}"${o} Should be: ${["string","number","boolean","object","array"].includes(t)?`Type<${t}>`:JSON.stringify(t,null,2)}`}t.alphabet="0123456789abcdef";const c={UserId:function(t,n="User ID"){if(!t)throw new e(`${n} is empty.`,{code:"INVALID_PARAMETER"});if("string"!=typeof t)throw new e(`${n} should be type: string.`,{code:"INVALID_PARAMETER"});if(!t.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i))throw new e(`${n} is invalid.`,{code:"INVALID_PARAMETER"});return t},PhoneNumber:function(t){if(t&&("string"!=typeof t||"+"!==t.charAt(0)||isNaN(Number(t.substring(1)))))throw new e('"phone_number" is invalid. The format should be "+00123456789". Type: string.',{code:"INVALID_PARAMETER"});return t||""},Birthdate:function(t){if(t){if("string"!=typeof t)throw new e('"birthdate" is invalid. The format should be "yyyy-mm-dd". Type: string.',{code:"INVALID_PARAMETER"});{let n=new RegExp(/([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))/);if(10!==t.length||3!==t.split("-").length||!n.test(t))throw new e('"birthdate" is invalid. The format should be "yyyy-mm-dd". Type: string.',{code:"INVALID_PARAMETER"})}}return t||""},Password:function(t){if(!t)throw new e('"password" is required.',{code:"INVALID_PARAMETER"});if("string"!=typeof t)throw new e('"password" should be type: string.',{code:"INVALID_PARAMETER"});if(t.length<6)throw new e('"password" should be at least 6 characters.',{code:"INVALID_PARAMETER"});if(t.length>60)throw new e('"password" can be up to 60 characters max.',{code:"INVALID_PARAMETER"});return t},Email:function(t,n="email"){if(!t)throw new e(`"${n}" is required.`,{code:"INVALID_PARAMETER"});if("string"!=typeof t)throw new e(`"${n}"should be type: string.`,{code:"INVALID_PARAMETER"});if(t.length<5)throw new e(`"${n}" should be at least 5 characters.`,{code:"INVALID_PARAMETER"});if(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(t)&&(t=t.trim()).split("@")[1].split(".").length>=2)return t.toLowerCase();throw new e(`"${t}" is an invalid email.`,{code:"INVALID_PARAMETER"})},Url:function(t){const n=(()=>{let e=window.location.origin||null;return e&&"/"===e.slice(-1)&&(e=e.slice(0,-1)),e})();let r=t=>{if("string"==typeof t){if("*"===t)return"*";{let r,i=t.trim();if("/"===i[0]&&n){if("file:"===n.slice(0,5))throw new e(`"${t}" is an invalid url. Relative URL does not work on local file system. Use full URL string.`,{code:"INVALID_PARAMETER"});i=n+i}else if("."===i[0]&&n){if("file:"===n.slice(0,5))throw new e(`"${t}" is an invalid url. Relative URL does not work on local file system. Use full URL string.`,{code:"INVALID_PARAMETER"});let r=window.location.href.split("?")[0];"/"!==r.slice(-1)&&(r+="/"),i=r+i.slice(1)}try{r=new URL(i)}catch(n){throw new e(`"${t}" is an invalid url.`,{code:"INVALID_PARAMETER"})}if(r.protocol)return r.href}}throw new e(`"${t}" is an invalid url.`,{code:"INVALID_PARAMETER"})};return Array.isArray(t)?t.map((e=>r(e))):r(t)},specialChars:function(t,n="parameter",r=!1,i=!1){let s=t=>{if("string"!=typeof t)throw new e(`${n} should be type: <string | string[]>.`,{code:"INVALID_PARAMETER"});if(!i&&t.includes(" "))throw new e(`${n} should not have whitespace.`,{code:"INVALID_PARAMETER"});if(!r&&t.includes("."))throw new e(`${n} should not have periods.`,{code:"INVALID_PARAMETER"});if(/[!@#$%&*()+\-={};':"\|,<>\/?~]/.test(t))throw new e(`${n} should not have special characters.`,{code:"INVALID_PARAMETER"})};if(Array.isArray(t))for(let e of t)s(e);else s(t);return t},Params:function(t,n,r=[]){let i=a(t).data;n.service="string",n.owner="string";let s={};for(let e in n)if(i&&"object"==typeof i&&!Array.isArray(i)&&i.hasOwnProperty(e))if("function"==typeof i[e])s[e]=i[e];else try{s[e]=JSON.parse(JSON.stringify(i[e]))}catch(t){s[e]=i[e]}try{return u(s,n,r)}catch(t){throw new e(t,{code:"INVALID_PARAMETER"})}}};async function l(e,t){const n=await Promise.all([this.admin_endpoint,this.record_endpoint]),r=n[0],i=n[1];let s=e.split("?"),o=s.length>1?"?"+s[1]:"";switch(e=s[0]){case"get-newsletters":case"get-public-newsletters":case"get-users":case"post-userdata":case"remove-account":case"post-secure":case"subscribe-newsletter":case"subscribe-public-newsletter":case"admin-signup":case"confirm-signup":case"recover-account":case"mock":case"service":case"grant-access":case"last-verified-email":case"ticket":case"register-ticket":case"get-newsletter-subscription":case"request-username-change":case"jwt-login":case"client-secret-request":case"signupkey":case"send-inquiry":case"client-secret-request-public":return(t?r.admin_private:r.admin_public)+e+o;case"post-record":case"get-records":case"subscription":case"get-subscription":case"del-records":case"get-table":case"get-tag":case"get-index":case"get-signed-url":case"grant-private-access":case"request-private-access-key":case"get-ws-group":case"del-files":return(t?i.record_private:i.record_public)+e+o;default:return c.Url(e)}}const h={};async function f(n,r=null,i,s){this.__network_logs&&console.log(JSON.parse(JSON.stringify({url:n,data:r,options:i}))),i=i||{};let{auth:o=!1,method:u="post",bypassAwaitConnection:f=!1}=i;u=u.toUpperCase();let _=null,m=this.service,y=this.owner,w=null,b=await l.bind(this)(n,!!o);if(!f&&(_=await this.__connection,!_))throw new e("Invalid connection. The service could have been disabled, or has a restricted CORS.",{code:"INVALID_REQUEST"});if(o){if(!this.session)throw this.logout(),new e("User login is required.",{code:"INVALID_REQUEST"});{let t=Date.now()/1e3;if(this.session.idToken.payload.exp<t)try{await this.authentication().getSession({refreshToken:!0})}catch(t){throw this.logout(),new e("User login is required.",{code:"INVALID_REQUEST"})}w=this.session?.idToken?.jwtToken}}let A={},{fetchMore:v=!1,progress:E}=i?.fetchOptions||{};if(i?.fetchOptions&&Object.keys(i.fetchOptions).length){for(let e of["limit","startKey","ascending"])i.fetchOptions.hasOwnProperty(e)&&(A[e]=i.fetchOptions[e]);A=c.Params(A,{limit:t=>{if("number"!=typeof t)throw new e("Fetch limit should be a number.",{code:"INVALID_REQUEST"});if(t>1e3)throw new e("Fetch limit should be below 1000.",{code:"INVALID_REQUEST"});return t},startKey:e=>e,ascending:"boolean"})}let S=s?.ignoreService?{}:{service:m,owner:y};Object.assign(S,A),(r=a(r).data)?r&&"object"==typeof r&&(r=Object.assign(S,r)):r=S;let I=(()=>{if(r&&"object"==typeof r&&Object.keys(r).length&&!(r instanceof FormData)){function e(t){return"object"==typeof t&&null!==t?Object.keys(t).sort().reduce(((n,r)=>("object"==typeof t[r]&&null!==t[r]?n[r]=e(t[r]):n[r]=t[r],n)),{}):t}return t.hash(n+"/"+JSON.stringify(e(r)))}return t.hash(n+"/"+this.service)})(),T=d.bind(this)({params:r,url:n,fetchMore:v,hashedParams:I});if(!T||T&&"object"==typeof T)return T;if("string"==typeof T&&h[T]instanceof Promise)return h[T];let R={Accept:"*/*","Content-Type":i.hasOwnProperty("contentType")?null===i.contentType?"application/x-www-form-urlencoded":i.contentType:"application/json"};w&&(R.Authorization=w);let U={headers:R};if(i?.responseType&&(U.responseType=i.responseType),"GET"===u){if(r){let e=[];if(r instanceof FormData)for(let[t,n]of r.entries())"string"==typeof n&&(n=encodeURIComponent(n),e.push(`&${t}=${n}`));else e=Object.keys(r).map((e=>{let t=r[e];return"string"!=typeof t&&(t=JSON.stringify(t)),encodeURIComponent(e)+"="+encodeURIComponent(t)}));e.length&&("?"!==b.substring(b.length-1)&&(b+="?"),b+=e.join("&"))}U.body=null}else U.body=r?JSON.stringify(r):null;U.method=u,h[T]=p.bind(this)(b,U,E);try{return g.bind(this)({hashedParam:T,url:n,fetched:await h[T]})}finally{T&&h.hasOwnProperty(T)&&delete h[T]}}function d(n){let{params:r={},url:i,fetchMore:s=!1,hashedParams:o}=n||{};if(r.startKey){if(("object"!=typeof r.startKey||!Object.keys(r.startKey).length)&&"start"!==r.startKey&&"end"!==r.startKey)throw new e(`"${r.startKey}" is invalid startKey key.`,{code:"INVALID_PARAMETER"});"start"===r.startKey&&(s=!1,delete r.startKey)}if(!s&&this.__startKeyHistory?.[i]?.[o]){if(this.__cached_requests?.[i]?.[o]&&delete this.__cached_requests[i][o],Array.isArray(this.__startKeyHistory[i][o])&&this.__startKeyHistory[i][o].length)for(let e of this.__startKeyHistory[i][o]){let n=o+t.hash(e);this.__cached_requests?.[i]&&this.__cached_requests?.[i]?.[n]&&delete this.__cached_requests[i][n]}return delete this.__startKeyHistory[i][o],o}if(!Array.isArray(this.__startKeyHistory?.[i]?.[o]))return o;let a=this.__startKeyHistory[i][o],u=a[a.length-1],c=o;if(u){if("end"===u)return{list:[],startKey:"end",endOfList:!0,startKeyHistory:a};c+=t.hash(u),r.startKey=JSON.parse(u)}return this.__cached_requests?.[i]?.[c]?this.__cached_requests[i][c]:o}function p(t,n,r){return new Promise(((i,s)=>{let o=new XMLHttpRequest;for(var a in o.open(n.method||"GET",t),n.headers||{})o.setRequestHeader(a,n.headers[a]);n.responseType&&(o.responseType=n.responseType),o.onload=()=>{if(o.status<400)if("json"==n.responseType||"blob"==n.responseType)i(o.response);else{let e=o.responseText;try{e=JSON.parse(e)}catch(e){}i(e)}else if(429===o.status){let e=o.getResponseHeader("Retry-After");e?setTimeout((()=>{p(t,n,r).then(i,s)}),1e3*parseInt(e)):s("Too many requests")}else{let t=o.status,n=["INVALID_CORS","INVALID_REQUEST","SERVICE_DISABLED","INVALID_PARAMETER","ERROR","EXISTS","NOT_EXISTS"],r=o.responseText;try{r=JSON.parse(r)}catch(e){}if("string"==typeof r){let t=o.response.split(":"),r=t.splice(0,1)[0].trim();s(new e(t.join(":").trim(),{code:n.includes(r)?r:"ERROR"}))}else if("object"==typeof r&&r?.message){let n=r?.code||(t?t.toString():null)||"ERROR",i=r.message;"string"==typeof i&&(i=i.trim()),s(new e(i,{code:n}))}else s(r)}},o.onerror=()=>s("Network error"),o.onabort=()=>s("Aborted"),o.ontimeout=()=>s("Timeout"),"function"==typeof r&&(o.onprogress=e=>{r({status:"download",progress:e.loaded/e.total*100,loaded:e.loaded,total:e.total,abort:()=>o.abort()})},o.upload&&(o.upload.onprogress=e=>{r({status:"upload",progress:e.loaded/e.total*100,loaded:e.loaded,total:e.total,abort:()=>o.abort()})})),o.send(n.body)}))}function g(e){let{hashedParam:t,url:n,fetched:r}=e;if(!r?.startKey)return r;this.__startKeyHistory.hasOwnProperty(n)||(this.__startKeyHistory[n]={}),this.__cached_requests?.[n]||(this.__cached_requests[n]={}),this.__cached_requests[n][t]=r,this.__startKeyHistory[n].hasOwnProperty(t)||(this.__startKeyHistory[n][t]=[]);let i="end"===r.startKey?"end":JSON.stringify(r.startKey);return this.__startKeyHistory[n][t].includes(i)||this.__startKeyHistory[n][t].push(i),Object.assign({startKeyHistory:this.__startKeyHistory[n][t]},r)}async function _(t,n){await this.__connection;let{record_id:r,service:i=this.service,progress:s}=n;if(!r)throw new e('"record_id" is required.',{code:"INVALID_PARAMETER"});if(t instanceof SubmitEvent&&(t=t.target),t instanceof HTMLFormElement&&(t=new FormData(t)),!(t instanceof FormData))throw new e('"fileList" should be a FormData or HTMLFormElement.',{code:"INVALID_PARAMETER"});let a,u={reserved_key:o(),service:i,request:"post"};n?.record_id&&(u.id=n.record_id);let c=(e,t,n)=>new Promise(((r,i)=>{a=new XMLHttpRequest,a.open("POST",e),a.onload=()=>{let s=a.responseText;try{s=JSON.parse(s)}catch(e){}if(a.status>=200&&a.status<300)r(s);else if(429===a.status){let s=a.getResponseHeader("Retry-After");s?setTimeout((()=>{c(e,t,n).then(r,i)}),1e3*parseInt(s)):i("Too many requests")}else i(s)},a.onerror=()=>i("Network error"),a.onabort=()=>i("Aborted"),a.ontimeout=()=>i("Timeout"),a.upload&&"function"==typeof n&&(a.upload.onprogress=n),a.send(t)})),l=[],h=[];function d(e){const t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";if(0===e)return t[0];let n="";for(;e>0;)n=t[e%62]+n,e=Math.floor(e/62);return n}let p=[];for(let[e,n]of t.entries()){if(!(n instanceof File))continue;let t=Object.assign({key:e+"/"+n.name,sizeKey:d(n.size),contentType:n.type||null},u),{fields:r=null,url:i,cdn:o}=await f.bind(this)("get-signed-url",t,{auth:!0});p.push(o);let g=new FormData;for(let e in r)g.append(e,r[e]);g.append("file",n);try{await c(i,g,"function"==typeof s?e=>s({status:"upload",progress:e.loaded/e.total*100,currentFile:n,completed:l,failed:h,loaded:e.loaded,total:e.total,abort:()=>a.abort()}):null),l.push(n)}catch(e){h.push(n)}}return{completed:l,failed:h,bin_endpoints:p}}const m={};function y(n){let{preventMultipleCalls:r=!1}=n||{};return function(n,i,s){const o=s.value;s.value=function(...n){let s=n[0],a=!0,u=null,c="",l={},h=!1;if(s instanceof SubmitEvent){s.preventDefault();let e=window.location.href;u=s.target;let t=new URL(u.action);c=t.href;let n=c?c.match(/(?<=\{).*?(?=\})/g):"";if(n)for(let e of n){if(!e)continue;let t=u.querySelector(`[name="${e}"]`);if(t)if("file"===t.type)for(let n=0;n<=t.files.length-1;n++)t.files[n]&&(l[e]||(l[e]=[]),l[e].push(new Promise(((e,r)=>{let i=new FileReader;i.onload=function(){e(i.result)},i.readAsDataURL(t.files[n]),i.onerror=r}))));else c=c.replace(`{${e}}`,t.value)}null===u.getAttribute("action")?a=!1:h=t.href===e}const f=async e=>{if(c)for(let e in l)l[e].length&&(c=c.replace(`{${e}}`,(await Promise.all(l[e])).join(",")));return u&&a&&(window.sessionStorage.setItem(`${this.service}:${t.hash(c)}`,JSON.stringify(e)),h?window.location.replace(c):window.location.href=c),e};let d;const p=async()=>{try{if(d=o.bind(this)(...n),d instanceof Promise){let e=await d;return await f(e),d}}catch(t){throw(t=>{throw t instanceof e?t.name=i+"()":t=t instanceof Error?t:new e(t,{name:i+"()"}),t})(t)}};return r?(m?.[i]||(m[i]=p().finally((()=>{delete m[i]}))),m[i]):p()}}}async function w(){await this.__connection;let e=`${this.service}:${t.hash(window.location.href.split("?")[0])}`,n=window.sessionStorage.getItem(e);if(null!==n){try{n=JSON.parse(n)}catch(e){}return n}return null}var b,A=function(){function e(e){var t=e||{},n=t.ValidationData,r=t.Username,i=t.Password,s=t.AuthParameters,o=t.ClientMetadata;this.validationData=n||{},this.authParameters=s||{},this.clientMetadata=o||{},this.username=r,this.password=i}var t=e.prototype;return t.getUsername=function(){return this.username},t.getPassword=function(){return this.password},t.getValidationData=function(){return this.validationData},t.getAuthParameters=function(){return this.authParameters},t.getClientMetadata=function(){return this.clientMetadata},e}(),v=n(764);if("undefined"!=typeof window&&window.crypto&&(b=window.crypto),!b&&"undefined"!=typeof window&&window.msCrypto&&(b=window.msCrypto),!b&&void 0!==n.g&&n.g.crypto&&(b=n.g.crypto),!b)try{b=n(249)}catch(e){}function E(){if(b){if("function"==typeof b.getRandomValues)try{return b.getRandomValues(new Uint32Array(1))[0]}catch(e){}if("function"==typeof b.randomBytes)try{return b.randomBytes(4).readInt32LE()}catch(e){}}throw new Error("Native crypto module could not be used to get secure random number.")}var S=function(){function e(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length}var t=e.prototype;return t.random=function(t){for(var n=[],r=0;r<t;r+=4)n.push(E());return new e(n,t)},t.toString=function(){return function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i<n;i++){var s=t[i>>>2]>>>24-i%4*8&255;r.push((s>>>4).toString(16)),r.push((15&s).toString(16))}return r.join("")}(this)},e}(),I=n(938);const T=R;function R(e,t){null!=e&&this.fromString(e,t)}function U(){return new R(null)}var D,C="undefined"!=typeof navigator;C&&"Microsoft Internet Explorer"==navigator.appName?(R.prototype.am=function(e,t,n,r,i,s){for(var o=32767&t,a=t>>15;--s>=0;){var u=32767&this[e],c=this[e++]>>15,l=a*u+c*o;i=((u=o*u+((32767&l)<<15)+n[r]+(1073741823&i))>>>30)+(l>>>15)+a*c+(i>>>30),n[r++]=1073741823&u}return i},D=30):C&&"Netscape"!=navigator.appName?(R.prototype.am=function(e,t,n,r,i,s){for(;--s>=0;){var o=t*this[e++]+n[r]+i;i=Math.floor(o/67108864),n[r++]=67108863&o}return i},D=26):(R.prototype.am=function(e,t,n,r,i,s){for(var o=16383&t,a=t>>14;--s>=0;){var u=16383&this[e],c=this[e++]>>14,l=a*u+c*o;i=((u=o*u+((16383&l)<<14)+n[r]+i)>>28)+(l>>14)+a*c,n[r++]=268435455&u}return i},D=28),R.prototype.DB=D,R.prototype.DM=(1<<D)-1,R.prototype.DV=1<<D,R.prototype.FV=Math.pow(2,52),R.prototype.F1=52-D,R.prototype.F2=2*D-52;var P,N,k=new Array;for(P="0".charCodeAt(0),N=0;N<=9;++N)k[P++]=N;for(P="a".charCodeAt(0),N=10;N<36;++N)k[P++]=N;for(P="A".charCodeAt(0),N=10;N<36;++N)k[P++]=N;function O(e){return"0123456789abcdefghijklmnopqrstuvwxyz".charAt(e)}function M(e,t){var n=k[e.charCodeAt(t)];return null==n?-1:n}function L(e){var t=U();return t.fromInt(e),t}function V(e){var t,n=1;return 0!=(t=e>>>16)&&(e=t,n+=16),0!=(t=e>>8)&&(e=t,n+=8),0!=(t=e>>4)&&(e=t,n+=4),0!=(t=e>>2)&&(e=t,n+=2),0!=(t=e>>1)&&(e=t,n+=1),n}function F(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function x(e){return v.lW.from((new S).random(e).toString(),"hex")}F.prototype.convert=function(e){var t=U();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(R.ZERO)>0&&this.m.subTo(t,t),t},F.prototype.revert=function(e){var t=U();return e.copyTo(t),this.reduce(t),t},F.prototype.reduce=function(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t<this.m.t;++t){var n=32767&e[t],r=n*this.mpl+((n*this.mph+(e[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(e[n=t+this.m.t]+=this.m.am(0,r,e,t,0,this.m.t);e[n]>=e.DV;)e[n]-=e.DV,e[++n]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)},F.prototype.mulTo=function(e,t,n){e.multiplyTo(t,n),this.reduce(n)},F.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},R.prototype.copyTo=function(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s},R.prototype.fromInt=function(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0},R.prototype.fromString=function(e,t){var n;if(16==t)n=4;else if(8==t)n=3;else if(2==t)n=1;else if(32==t)n=5;else{if(4!=t)throw new Error("Only radix 2, 4, 8, 16, 32 are supported");n=2}this.t=0,this.s=0;for(var r=e.length,i=!1,s=0;--r>=0;){var o=M(e,r);o<0?"-"==e.charAt(r)&&(i=!0):(i=!1,0==s?this[this.t++]=o:s+n>this.DB?(this[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this[this.t++]=o>>this.DB-s):this[this.t-1]|=o<<s,(s+=n)>=this.DB&&(s-=this.DB))}this.clamp(),i&&R.ZERO.subTo(this,this)},R.prototype.clamp=function(){for(var e=this.s&this.DM;this.t>0&&this[this.t-1]==e;)--this.t},R.prototype.dlShiftTo=function(e,t){var n;for(n=this.t-1;n>=0;--n)t[n+e]=this[n];for(n=e-1;n>=0;--n)t[n]=0;t.t=this.t+e,t.s=this.s},R.prototype.drShiftTo=function(e,t){for(var n=e;n<this.t;++n)t[n-e]=this[n];t.t=Math.max(this.t-e,0),t.s=this.s},R.prototype.lShiftTo=function(e,t){var n,r=e%this.DB,i=this.DB-r,s=(1<<i)-1,o=Math.floor(e/this.DB),a=this.s<<r&this.DM;for(n=this.t-1;n>=0;--n)t[n+o+1]=this[n]>>i|a,a=(this[n]&s)<<r;for(n=o-1;n>=0;--n)t[n]=0;t[o]=a,t.t=this.t+o+1,t.s=this.s,t.clamp()},R.prototype.rShiftTo=function(e,t){t.s=this.s;var n=Math.floor(e/this.DB);if(n>=this.t)t.t=0;else{var r=e%this.DB,i=this.DB-r,s=(1<<r)-1;t[0]=this[n]>>r;for(var o=n+1;o<this.t;++o)t[o-n-1]|=(this[o]&s)<<i,t[o-n]=this[o]>>r;r>0&&(t[this.t-n-1]|=(this.s&s)<<i),t.t=this.t-n,t.clamp()}},R.prototype.subTo=function(e,t){for(var n=0,r=0,i=Math.min(e.t,this.t);n<i;)r+=this[n]-e[n],t[n++]=r&this.DM,r>>=this.DB;if(e.t<this.t){for(r-=e.s;n<this.t;)r+=this[n],t[n++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;n<e.t;)r-=e[n],t[n++]=r&this.DM,r>>=this.DB;r-=e.s}t.s=r<0?-1:0,r<-1?t[n++]=this.DV+r:r>0&&(t[n++]=r),t.t=n,t.clamp()},R.prototype.multiplyTo=function(e,t){var n=this.abs(),r=e.abs(),i=n.t;for(t.t=i+r.t;--i>=0;)t[i]=0;for(i=0;i<r.t;++i)t[i+n.t]=n.am(0,r[i],t,i,0,n.t);t.s=0,t.clamp(),this.s!=e.s&&R.ZERO.subTo(t,t)},R.prototype.squareTo=function(e){for(var t=this.abs(),n=e.t=2*t.t;--n>=0;)e[n]=0;for(n=0;n<t.t-1;++n){var r=t.am(n,t[n],e,2*n,0,1);(e[n+t.t]+=t.am(n+1,2*t[n],e,2*n+1,r,t.t-n-1))>=t.DV&&(e[n+t.t]-=t.DV,e[n+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(n,t[n],e,2*n,0,1)),e.s=0,e.clamp()},R.prototype.divRemTo=function(e,t,n){var r=e.abs();if(!(r.t<=0)){var i=this.abs();if(i.t<r.t)return null!=t&&t.fromInt(0),void(null!=n&&this.copyTo(n));null==n&&(n=U());var s=U(),o=this.s,a=e.s,u=this.DB-V(r[r.t-1]);u>0?(r.lShiftTo(u,s),i.lShiftTo(u,n)):(r.copyTo(s),i.copyTo(n));var c=s.t,l=s[c-1];if(0!=l){var h=l*(1<<this.F1)+(c>1?s[c-2]>>this.F2:0),f=this.FV/h,d=(1<<this.F1)/h,p=1<<this.F2,g=n.t,_=g-c,m=null==t?U():t;for(s.dlShiftTo(_,m),n.compareTo(m)>=0&&(n[n.t++]=1,n.subTo(m,n)),R.ONE.dlShiftTo(c,m),m.subTo(s,s);s.t<c;)s[s.t++]=0;for(;--_>=0;){var y=n[--g]==l?this.DM:Math.floor(n[g]*f+(n[g-1]+p)*d);if((n[g]+=s.am(0,y,n,_,0,c))<y)for(s.dlShiftTo(_,m),n.subTo(m,n);n[g]<--y;)n.subTo(m,n)}null!=t&&(n.drShiftTo(c,t),o!=a&&R.ZERO.subTo(t,t)),n.t=c,n.clamp(),u>0&&n.rShiftTo(u,n),o<0&&R.ZERO.subTo(n,n)}}},R.prototype.invDigit=function(){if(this.t<1)return 0;var e=this[0];if(0==(1&e))return 0;var t=3&e;return(t=(t=(t=(t=t*(2-(15&e)*t)&15)*(2-(255&e)*t)&255)*(2-((65535&e)*t&65535))&65535)*(2-e*t%this.DV)%this.DV)>0?this.DV-t:-t},R.prototype.addTo=function(e,t){for(var n=0,r=0,i=Math.min(e.t,this.t);n<i;)r+=this[n]+e[n],t[n++]=r&this.DM,r>>=this.DB;if(e.t<this.t){for(r+=e.s;n<this.t;)r+=this[n],t[n++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;n<e.t;)r+=e[n],t[n++]=r&this.DM,r>>=this.DB;r+=e.s}t.s=r<0?-1:0,r>0?t[n++]=r:r<-1&&(t[n++]=this.DV+r),t.t=n,t.clamp()},R.prototype.toString=function(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)throw new Error("Only radix 2, 4, 8, 16, 32 are supported");t=2}var n,r=(1<<t)-1,i=!1,s="",o=this.t,a=this.DB-o*this.DB%t;if(o-- >0)for(a<this.DB&&(n=this[o]>>a)>0&&(i=!0,s=O(n));o>=0;)a<t?(n=(this[o]&(1<<a)-1)<<t-a,n|=this[--o]>>(a+=this.DB-t)):(n=this[o]>>(a-=t)&r,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=O(n));return i?s:"0"},R.prototype.negate=function(){var e=U();return R.ZERO.subTo(this,e),e},R.prototype.abs=function(){return this.s<0?this.negate():this},R.prototype.compareTo=function(e){var t=this.s-e.s;if(0!=t)return t;var n=this.t;if(0!=(t=n-e.t))return this.s<0?-t:t;for(;--n>=0;)if(0!=(t=this[n]-e[n]))return t;return 0},R.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+V(this[this.t-1]^this.s&this.DM)},R.prototype.mod=function(e){var t=U();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(R.ZERO)>0&&e.subTo(t,t),t},R.prototype.equals=function(e){return 0==this.compareTo(e)},R.prototype.add=function(e){var t=U();return this.addTo(e,t),t},R.prototype.subtract=function(e){var t=U();return this.subTo(e,t),t},R.prototype.multiply=function(e){var t=U();return this.multiplyTo(e,t),t},R.prototype.divide=function(e){var t=U();return this.divRemTo(e,t,null),t},R.prototype.modPow=function(e,t,n){var r,i=e.bitLength(),s=L(1),o=new F(t);if(i<=0)return s;r=i<18?1:i<48?3:i<144?4:i<768?5:6;var a=new Array,u=3,c=r-1,l=(1<<r)-1;if(a[1]=o.convert(this),r>1){var h=U();for(o.sqrTo(a[1],h);u<=l;)a[u]=U(),o.mulTo(h,a[u-2],a[u]),u+=2}var f,d,p=e.t-1,g=!0,_=U();for(i=V(e[p])-1;p>=0;){for(i>=c?f=e[p]>>i-c&l:(f=(e[p]&(1<<i+1)-1)<<c-i,p>0&&(f|=e[p-1]>>this.DB+i-c)),u=r;0==(1&f);)f>>=1,--u;if((i-=u)<0&&(i+=this.DB,--p),g)a[f].copyTo(s),g=!1;else{for(;u>1;)o.sqrTo(s,_),o.sqrTo(_,s),u-=2;u>0?o.sqrTo(s,_):(d=s,s=_,_=d),o.mulTo(_,a[f],s)}for(;p>=0&&0==(e[p]&1<<i);)o.sqrTo(s,_),d=s,s=_,_=d,--i<0&&(i=this.DB-1,--p)}var m=o.revert(s);return n(null,m),m},R.ZERO=L(0),R.ONE=L(1);var B=/^[89a-f]/i,$=function(){function e(e){this.N=new T("FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF",16),this.g=new T("2",16),this.k=new T(this.hexHash(""+this.padHex(this.N)+this.padHex(this.g)),16),this.smallAValue=this.generateRandomSmallA(),this.getLargeAValue((function(){})),this.infoBits=v.lW.from("Caldera Derived Key","utf8"),this.poolName=e}var t=e.prototype;return t.getSmallAValue=function(){return this.smallAValue},t.getLargeAValue=function(e){var t=this;this.largeAValue?e(null,this.largeAValue):this.calculateA(this.smallAValue,(function(n,r){n&&e(n,null),t.largeAValue=r,e(null,t.largeAValue)}))},t.generateRandomSmallA=function(){var e=x(128).toString("hex");return new T(e,16)},t.generateRandomString=function(){return x(40).toString("base64")},t.getRandomPassword=function(){return this.randomPassword},t.getSaltDevices=function(){return this.SaltToHashDevices},t.getVerifierDevices=function(){return this.verifierDevices},t.generateHashDevice=function(e,t,n){var r=this;this.randomPassword=this.generateRandomString();var i=""+e+t+":"+this.randomPassword,s=this.hash(i),o=x(16).toString("hex");this.SaltToHashDevices=this.padHex(new T(o,16)),this.g.modPow(new T(this.hexHash(this.SaltToHashDevices+s),16),this.N,(function(e,t){e&&n(e,null),r.verifierDevices=r.padHex(t),n(null,null)}))},t.calculateA=function(e,t){var n=this;this.g.modPow(e,this.N,(function(e,r){e&&t(e,null),r.mod(n.N).equals(T.ZERO)&&t(new Error("Illegal paramater. A mod N cannot be 0."),null),t(null,r)}))},t.calculateU=function(e,t){return this.UHexHash=this.hexHash(this.padHex(e)+this.padHex(t)),new T(this.UHexHash,16)},t.hash=function(e){var t=new I.Sha256;t.update(e);var n=t.digestSync(),r=v.lW.from(n).toString("hex");return new Array(64-r.length).join("0")+r},t.hexHash=function(e){return this.hash(v.lW.from(e,"hex"))},t.computehkdf=function(e,t){var n=v.lW.concat([this.infoBits,v.lW.from(String.fromCharCode(1),"utf8")]),r=new I.Sha256(t);r.update(e);var i=r.digestSync(),s=new I.Sha256(i);return s.update(n),s.digestSync().slice(0,16)},t.getPasswordAuthenticationKey=function(e,t,n,r,i){var s=this;if(n.mod(this.N).equals(T.ZERO))throw new Error("B cannot be zero.");if(this.UValue=this.calculateU(this.largeAValue,n),this.UValue.equals(T.ZERO))throw new Error("U cannot be zero.");var o=""+this.poolName+e+":"+t,a=this.hash(o),u=new T(this.hexHash(this.padHex(r)+a),16);this.calculateS(u,n,(function(e,t){e&&i(e,null);var n=s.computehkdf(v.lW.from(s.padHex(t),"hex"),v.lW.from(s.padHex(s.UValue),"hex"));i(null,n)}))},t.calculateS=function(e,t,n){var r=this;this.g.modPow(e,this.N,(function(i,s){i&&n(i,null),t.subtract(r.k.multiply(s)).modPow(r.smallAValue.add(r.UValue.multiply(e)),r.N,(function(e,t){e&&n(e,null),n(null,t.mod(r.N))}))}))},t.getNewPasswordRequiredChallengeUserAttributePrefix=function(){return"userAttributes."},t.padHex=function(e){if(!(e instanceof T))throw new Error("Not a BigInteger");var t=e.compareTo(T.ZERO)<0,n=e.abs().toString(16);if(n=n.length%2!=0?"0"+n:n,n=B.test(n)?"00"+n:n,t){var r=n.split("").map((function(e){var t=15&~parseInt(e,16);return"0123456789ABCDEF".charAt(t)})).join("");(n=new T(r,16).add(T.ONE).toString(16)).toUpperCase().startsWith("FF8")&&(n=n.substring(2))}return n},e}(),q=function(){function e(e){this.jwtToken=e||"",this.payload=this.decodePayload()}var t=e.prototype;return t.getJwtToken=function(){return this.jwtToken},t.getExpiration=function(){return this.payload.exp},t.getIssuedAt=function(){return this.payload.iat},t.decodePayload=function(){var e=this.jwtToken.split(".")[1];try{return JSON.parse(v.lW.from(e,"base64").toString("utf8"))}catch(e){return{}}},e}();function j(e,t){return j=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},j(e,t)}var K=function(e){var t,n;function r(t){var n=(void 0===t?{}:t).AccessToken;return e.call(this,n||"")||this}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,j(t,n),r}(q);function H(e,t){return H=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},H(e,t)}var J=function(e){var t,n;function r(t){var n=(void 0===t?{}:t).IdToken;return e.call(this,n||"")||this}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,H(t,n),r}(q),W="aws-amplify/5.0.4",Y="undefined"!=typeof navigator&&"ReactNative"===navigator.product,Q=function(){function e(e){var t=(void 0===e?{}:e).RefreshToken;this.token=t||""}return e.prototype.getToken=function(){return this.token},e}(),G=function(){function e(e){var t=void 0===e?{}:e,n=t.IdToken,r=t.RefreshToken,i=t.AccessToken,s=t.ClockDrift;if(null==i||null==n)throw new Error("Id token and Access Token must be present.");this.idToken=n,this.refreshToken=r,this.accessToken=i,this.clockDrift=void 0===s?this.calculateClockDrift():s}var t=e.prototype;return t.getIdToken=function(){return this.idToken},t.getRefreshToken=function(){return this.refreshToken},t.getAccessToken=function(){return this.accessToken},t.getClockDrift=function(){return this.clockDrift},t.calculateClockDrift=function(){return Math.floor(new Date/1e3)-Math.min(this.accessToken.getIssuedAt(),this.idToken.getIssuedAt())},t.isValid=function(){var e=Math.floor(new Date/1e3)-this.clockDrift;return e<this.accessToken.getExpiration()&&e<this.idToken.getExpiration()},e}(),z=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Z=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],X=function(){function e(){}return e.prototype.getNowString=function(){var e=new Date,t=Z[e.getUTCDay()],n=z[e.getUTCMonth()],r=e.getUTCDate(),i=e.getUTCHours();i<10&&(i="0"+i);var s=e.getUTCMinutes();s<10&&(s="0"+s);var o=e.getUTCSeconds();return o<10&&(o="0"+o),t+" "+n+" "+r+" "+i+":"+s+":"+o+" UTC "+e.getUTCFullYear()},e}(),ee=function(){function e(e){var t=void 0===e?{}:e,n=t.Name,r=t.Value;this.Name=n||"",this.Value=r||""}var t=e.prototype;return t.getValue=function(){return this.Value},t.setValue=function(e){return this.Value=e,this},t.getName=function(){return this.Name},t.setName=function(e){return this.Name=e,this},t.toString=function(){return JSON.stringify(this)},t.toJSON=function(){return{Name:this.Name,Value:this.Value}},e}(),te={},ne=function(){function e(){}return e.setItem=function(e,t){return te[e]=t,te[e]},e.getItem=function(e){return Object.prototype.hasOwnProperty.call(te,e)?te[e]:void 0},e.removeItem=function(e){return delete te[e]},e.clear=function(){return te={}},e}(),re=function(){function e(){try{this.storageWindow=window.localStorage,this.storageWindow.setItem("aws.cognito.test-ls",1),this.storageWindow.removeItem("aws.cognito.test-ls")}catch(e){this.storageWindow=ne}}return e.prototype.getStorage=function(){return this.storageWindow},e}(),ie="undefined"!=typeof navigator?Y?"react-native":navigator.userAgent:"nodejs",se=function(){function e(e){if(null==e||null==e.Username||null==e.Pool)throw new Error("Username and Pool information are required.");this.username=e.Username||"",this.pool=e.Pool,this.Session=null,this.client=e.Pool.client,this.signInUserSession=null,this.authenticationFlowType="USER_SRP_AUTH",this.storage=e.Storage||(new re).getStorage(),this.keyPrefix="CognitoIdentityServiceProvider."+this.pool.getClientId(),this.userDataKey=this.keyPrefix+"."+this.username+".userData"}var t=e.prototype;return t.setSignInUserSession=function(e){this.clearCachedUserData(),this.signInUserSession=e,this.cacheTokens()},t.getSignInUserSession=function(){return this.signInUserSession},t.getUsername=function(){return this.username},t.getAuthenticationFlowType=function(){return this.authenticationFlowType},t.setAuthenticationFlowType=function(e){this.authenticationFlowType=e},t.initiateAuth=function(e,t){var n=this,r=e.getAuthParameters();r.USERNAME=this.username;var i=0!==Object.keys(e.getValidationData()).length?e.getValidationData():e.getClientMetadata(),s={AuthFlow:"CUSTOM_AUTH",ClientId:this.pool.getClientId(),AuthParameters:r,ClientMetadata:i};this.getUserContextData()&&(s.UserContextData=this.getUserContextData()),this.client.request("InitiateAuth",s,(function(e,r){if(e)return t.onFailure(e);var i=r.ChallengeName,s=r.ChallengeParameters;return"CUSTOM_CHALLENGE"===i?(n.Session=r.Session,t.customChallenge(s)):(n.signInUserSession=n.getCognitoUserSession(r.AuthenticationResult),n.cacheTokens(),t.onSuccess(n.signInUserSession))}))},t.authenticateUser=function(e,t){return"USER_PASSWORD_AUTH"===this.authenticationFlowType?this.authenticateUserPlainUsernamePassword(e,t):"USER_SRP_AUTH"===this.authenticationFlowType||"CUSTOM_AUTH"===this.authenticationFlowType?this.authenticateUserDefaultAuth(e,t):t.onFailure(new Error("Authentication flow type is invalid."))},t.authenticateUserDefaultAuth=function(e,t){var n,r,i=this,s=new $(this.pool.getUserPoolName()),o=new X,a={};null!=this.deviceKey&&(a.DEVICE_KEY=this.deviceKey),a.USERNAME=this.username,s.getLargeAValue((function(u,c){u&&t.onFailure(u),a.SRP_A=c.toString(16),"CUSTOM_AUTH"===i.authenticationFlowType&&(a.CHALLENGE_NAME="SRP_A");var l=0!==Object.keys(e.getValidationData()).length?e.getValidationData():e.getClientMetadata(),h={AuthFlow:i.authenticationFlowType,ClientId:i.pool.getClientId(),AuthParameters:a,ClientMetadata:l};i.getUserContextData(i.username)&&(h.UserContextData=i.getUserContextData(i.username)),i.client.request("InitiateAuth",h,(function(a,u){if(a)return t.onFailure(a);var c=u.ChallengeParameters;i.username=c.USER_ID_FOR_SRP,i.userDataKey=i.keyPrefix+"."+i.username+".userData",n=new T(c.SRP_B,16),r=new T(c.SALT,16),i.getCachedDeviceKeyAndPassword(),s.getPasswordAuthenticationKey(i.username,e.getPassword(),n,r,(function(e,n){e&&t.onFailure(e);var r=o.getNowString(),a=v.lW.concat([v.lW.from(i.pool.getUserPoolName(),"utf8"),v.lW.from(i.username,"utf8"),v.lW.from(c.SECRET_BLOCK,"base64"),v.lW.from(r,"utf8")]),h=new I.Sha256(n);h.update(a);var f=h.digestSync(),d=v.lW.from(f).toString("base64"),p={};p.USERNAME=i.username,p.PASSWORD_CLAIM_SECRET_BLOCK=c.SECRET_BLOCK,p.TIMESTAMP=r,p.PASSWORD_CLAIM_SIGNATURE=d,null!=i.deviceKey&&(p.DEVICE_KEY=i.deviceKey);var g={ChallengeName:"PASSWORD_VERIFIER",ClientId:i.pool.getClientId(),ChallengeResponses:p,Session:u.Session,ClientMetadata:l};i.getUserContextData()&&(g.UserContextData=i.getUserContextData()),function e(t,n){return i.client.request("RespondToAuthChallenge",t,(function(r,s){return r&&"ResourceNotFoundException"===r.code&&-1!==r.message.toLowerCase().indexOf("device")?(p.DEVICE_KEY=null,i.deviceKey=null,i.randomPassword=null,i.deviceGroupKey=null,i.clearCachedDeviceKeyAndPassword(),e(t,n)):n(r,s)}))}(g,(function(e,n){return e?t.onFailure(e):i.authenticateUserInternal(n,s,t)}))}))}))}))},t.authenticateUserPlainUsernamePassword=function(e,t){var n=this,r={};if(r.USERNAME=this.username,r.PASSWORD=e.getPassword(),r.PASSWORD){var i=new $(this.pool.getUserPoolName());this.getCachedDeviceKeyAndPassword(),null!=this.deviceKey&&(r.DEVICE_KEY=this.deviceKey);var s=0!==Object.keys(e.getValidationData()).length?e.getValidationData():e.getClientMetadata(),o={AuthFlow:"USER_PASSWORD_AUTH",ClientId:this.pool.getClientId(),AuthParameters:r,ClientMetadata:s};this.getUserContextData(this.username)&&(o.UserContextData=this.getUserContextData(this.username)),this.client.request("InitiateAuth",o,(function(e,r){return e?t.onFailure(e):n.authenticateUserInternal(r,i,t)}))}else t.onFailure(new Error("PASSWORD parameter is required"))},t.authenticateUserInternal=function(e,t,n){var r=this,i=e.ChallengeName,s=e.ChallengeParameters;if("SMS_MFA"===i)return this.Session=e.Session,n.mfaRequired(i,s);if("SELECT_MFA_TYPE"===i)return this.Session=e.Session,n.selectMFAType(i,s);if("MFA_SETUP"===i)return this.Session=e.Session,n.mfaSetup(i,s);if("SOFTWARE_TOKEN_MFA"===i)return this.Session=e.Session,n.totpRequired(i,s);if("CUSTOM_CHALLENGE"===i)return this.Session=e.Session,n.customChallenge(s);if("NEW_PASSWORD_REQUIRED"===i){this.Session=e.Session;var o=null,a=null,u=[],c=t.getNewPasswordRequiredChallengeUserAttributePrefix();if(s&&(o=JSON.parse(e.ChallengeParameters.userAttributes),a=JSON.parse(e.ChallengeParameters.requiredAttributes)),a)for(var l=0;l<a.length;l++)u[l]=a[l].substr(c.length);return n.newPasswordRequired(o,u)}if("DEVICE_SRP_AUTH"===i)return this.Session=e.Session,void this.getDeviceResponse(n);this.signInUserSession=this.getCognitoUserSession(e.AuthenticationResult),this.challengeName=i,this.cacheTokens();var h=e.AuthenticationResult.NewDeviceMetadata;if(null==h)return n.onSuccess(this.signInUserSession);t.generateHashDevice(e.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey,e.AuthenticationResult.NewDeviceMetadata.DeviceKey,(function(i){if(i)return n.onFailure(i);var s={Salt:v.lW.from(t.getSaltDevices(),"hex").toString("base64"),PasswordVerifier:v.lW.from(t.getVerifierDevices(),"hex").toString("base64")};r.verifierDevices=s.PasswordVerifier,r.deviceGroupKey=h.DeviceGroupKey,r.randomPassword=t.getRandomPassword(),r.client.request("ConfirmDevice",{DeviceKey:h.DeviceKey,AccessToken:r.signInUserSession.getAccessToken().getJwtToken(),DeviceSecretVerifierConfig:s,DeviceName:ie},(function(t,i){return t?n.onFailure(t):(r.deviceKey=e.AuthenticationResult.NewDeviceMetadata.DeviceKey,r.cacheDeviceKeyAndPassword(),!0===i.UserConfirmationNecessary?n.onSuccess(r.signInUserSession,i.UserConfirmationNecessary):n.onSuccess(r.signInUserSession))}))}))},t.completeNewPasswordChallenge=function(e,t,n,r){var i=this;if(!e)return n.onFailure(new Error("New password is required."));var s=new $(this.pool.getUserPoolName()),o=s.getNewPasswordRequiredChallengeUserAttributePrefix(),a={};t&&Object.keys(t).forEach((function(e){a[o+e]=t[e]})),a.NEW_PASSWORD=e,a.USERNAME=this.username;var u={ChallengeName:"NEW_PASSWORD_REQUIRED",ClientId:this.pool.getClientId(),ChallengeResponses:a,Session:this.Session,ClientMetadata:r};this.getUserContextData()&&(u.UserContextData=this.getUserContextData()),this.client.request("RespondToAuthChallenge",u,(function(e,t){return e?n.onFailure(e):i.authenticateUserInternal(t,s,n)}))},t.getDeviceResponse=function(e,t){var n=this,r=new $(this.deviceGroupKey),i=new X,s={};s.USERNAME=this.username,s.DEVICE_KEY=this.deviceKey,r.getLargeAValue((function(o,a){o&&e.onFailure(o),s.SRP_A=a.toString(16);var u={ChallengeName:"DEVICE_SRP_AUTH",ClientId:n.pool.getClientId(),ChallengeResponses:s,ClientMetadata:t,Session:n.Session};n.getUserContextData()&&(u.UserContextData=n.getUserContextData()),n.client.request("RespondToAuthChallenge",u,(function(t,s){if(t)return e.onFailure(t);var o=s.ChallengeParameters,a=new T(o.SRP_B,16),u=new T(o.SALT,16);r.getPasswordAuthenticationKey(n.deviceKey,n.randomPassword,a,u,(function(t,r){if(t)return e.onFailure(t);var a=i.getNowString(),u=v.lW.concat([v.lW.from(n.deviceGroupKey,"utf8"),v.lW.from(n.deviceKey,"utf8"),v.lW.from(o.SECRET_BLOCK,"base64"),v.lW.from(a,"utf8")]),c=new I.Sha256(r);c.update(u);var l=c.digestSync(),h=v.lW.from(l).toString("base64"),f={};f.USERNAME=n.username,f.PASSWORD_CLAIM_SECRET_BLOCK=o.SECRET_BLOCK,f.TIMESTAMP=a,f.PASSWORD_CLAIM_SIGNATURE=h,f.DEVICE_KEY=n.deviceKey;var d={ChallengeName:"DEVICE_PASSWORD_VERIFIER",ClientId:n.pool.getClientId(),ChallengeResponses:f,Session:s.Session};n.getUserContextData()&&(d.UserContextData=n.getUserContextData()),n.client.request("RespondToAuthChallenge",d,(function(t,r){return t?e.onFailure(t):(n.signInUserSession=n.getCognitoUserSession(r.AuthenticationResult),n.cacheTokens(),e.onSuccess(n.signInUserSession))}))}))}))}))},t.confirmRegistration=function(e,t,n,r){var i={ClientId:this.pool.getClientId(),ConfirmationCode:e,Username:this.username,ForceAliasCreation:t,ClientMetadata:r};this.getUserContextData()&&(i.UserContextData=this.getUserContextData()),this.client.request("ConfirmSignUp",i,(function(e){return e?n(e,null):n(null,"SUCCESS")}))},t.sendCustomChallengeAnswer=function(e,t,n){var r=this,i={};i.USERNAME=this.username,i.ANSWER=e;var s=new $(this.pool.getUserPoolName());this.getCachedDeviceKeyAndPassword(),null!=this.deviceKey&&(i.DEVICE_KEY=this.deviceKey);var o={ChallengeName:"CUSTOM_CHALLENGE",ChallengeResponses:i,ClientId:this.pool.getClientId(),Session:this.Session,ClientMetadata:n};this.getUserContextData()&&(o.UserContextData=this.getUserContextData()),this.client.request("RespondToAuthChallenge",o,(function(e,n){return e?t.onFailure(e):r.authenticateUserInternal(n,s,t)}))},t.sendMFACode=function(e,t,n,r){var i=this,s={};s.USERNAME=this.username,s.SMS_MFA_CODE=e;var o=n||"SMS_MFA";"SOFTWARE_TOKEN_MFA"===o&&(s.SOFTWARE_TOKEN_MFA_CODE=e),null!=this.deviceKey&&(s.DEVICE_KEY=this.deviceKey);var a={ChallengeName:o,ChallengeResponses:s,ClientId:this.pool.getClientId(),Session:this.Session,ClientMetadata:r};this.getUserContextData()&&(a.UserContextData=this.getUserContextData()),this.client.request("RespondToAuthChallenge",a,(function(e,n){if(e)return t.onFailure(e);if("DEVICE_SRP_AUTH"!==n.ChallengeName){if(i.signInUserSession=i.getCognitoUserSession(n.AuthenticationResult),i.cacheTokens(),null==n.AuthenticationResult.NewDeviceMetadata)return t.onSuccess(i.signInUserSession);var r=new $(i.pool.getUserPoolName());r.generateHashDevice(n.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey,n.AuthenticationResult.NewDeviceMetadata.DeviceKey,(function(e){if(e)return t.onFailure(e);var s={Salt:v.lW.from(r.getSaltDevices(),"hex").toString("base64"),PasswordVerifier:v.lW.from(r.getVerifierDevices(),"hex").toString("base64")};i.verifierDevices=s.PasswordVerifier,i.deviceGroupKey=n.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey,i.randomPassword=r.getRandomPassword(),i.client.request("ConfirmDevice",{DeviceKey:n.AuthenticationResult.NewDeviceMetadata.DeviceKey,AccessToken:i.signInUserSession.getAccessToken().getJwtToken(),DeviceSecretVerifierConfig:s,DeviceName:ie},(function(e,r){return e?t.onFailure(e):(i.deviceKey=n.AuthenticationResult.NewDeviceMetadata.DeviceKey,i.cacheDeviceKeyAndPassword(),!0===r.UserConfirmationNecessary?t.onSuccess(i.signInUserSession,r.UserConfirmationNecessary):t.onSuccess(i.signInUserSession))}))}))}else i.getDeviceResponse(t)}))},t.changePassword=function(e,t,n,r){if(null==this.signInUserSession||!this.signInUserSession.isValid())return n(new Error("User is not authenticated"),null);this.client.request("ChangePassword",{PreviousPassword:e,ProposedPassword:t,AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),ClientMetadata:r},(function(e){return e?n(e,null):n(null,"SUCCESS")}))},t.enableMFA=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e(new Error("User is not authenticated"),null);var t=[];t.push({DeliveryMedium:"SMS",AttributeName:"phone_number"}),this.client.request("SetUserSettings",{MFAOptions:t,AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(t){return t?e(t,null):e(null,"SUCCESS")}))},t.setUserMfaPreference=function(e,t,n){if(null==this.signInUserSession||!this.signInUserSession.isValid())return n(new Error("User is not authenticated"),null);this.client.request("SetUserMFAPreference",{SMSMfaSettings:e,SoftwareTokenMfaSettings:t,AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(e){return e?n(e,null):n(null,"SUCCESS")}))},t.disableMFA=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e(new Error("User is not authenticated"),null);this.client.request("SetUserSettings",{MFAOptions:[],AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(t){return t?e(t,null):e(null,"SUCCESS")}))},t.deleteUser=function(e,t){var n=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return e(new Error("User is not authenticated"),null);this.client.request("DeleteUser",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),ClientMetadata:t},(function(t){return t?e(t,null):(n.clearCachedUser(),e(null,"SUCCESS"))}))},t.updateAttributes=function(e,t,n){var r=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return t(new Error("User is not authenticated"),null);this.client.request("UpdateUserAttributes",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),UserAttributes:e,ClientMetadata:n},(function(e,n){return e?t(e,null):r.getUserData((function(){return t(null,"SUCCESS",n)}),{bypassCache:!0})}))},t.getUserAttributes=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e(new Error("User is not authenticated"),null);this.client.request("GetUser",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(t,n){if(t)return e(t,null);for(var r=[],i=0;i<n.UserAttributes.length;i++){var s={Name:n.UserAttributes[i].Name,Value:n.UserAttributes[i].Value},o=new ee(s);r.push(o)}return e(null,r)}))},t.getMFAOptions=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e(new Error("User is not authenticated"),null);this.client.request("GetUser",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(t,n){return t?e(t,null):e(null,n.MFAOptions)}))},t.createGetUserRequest=function(){return this.client.promisifyRequest("GetUser",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken()})},t.refreshSessionIfPossible=function(e){var t=this;return void 0===e&&(e={}),new Promise((function(n){var r=t.signInUserSession.getRefreshToken();r&&r.getToken()?t.refreshSession(r,n,e.clientMetadata):n()}))},t.getUserData=function(e,t){var n=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return this.clearCachedUserData(),e(new Error("User is not authenticated"),null);var r=this.getUserDataFromCache();if(r)if(this.isFetchUserDataAndTokenRequired(t))this.fetchUserData().then((function(e){return n.refreshSessionIfPossible(t).then((function(){return e}))})).then((function(t){return e(null,t)})).catch(e);else try{return void e(null,JSON.parse(r))}catch(t){return this.clearCachedUserData(),void e(t,null)}else this.fetchUserData().then((function(t){e(null,t)})).catch(e)},t.getUserDataFromCache=function(){return this.storage.getItem(this.userDataKey)},t.isFetchUserDataAndTokenRequired=function(e){var t=(e||{}).bypassCache;return void 0!==t&&t},t.fetchUserData=function(){var e=this;return this.createGetUserRequest().then((function(t){return e.cacheUserData(t),t}))},t.deleteAttributes=function(e,t){var n=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return t(new Error("User is not authenticated"),null);this.client.request("DeleteUserAttributes",{UserAttributeNames:e,AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(e){return e?t(e,null):n.getUserData((function(){return t(null,"SUCCESS")}),{bypassCache:!0})}))},t.resendConfirmationCode=function(e,t){var n={ClientId:this.pool.getClientId(),Username:this.username,ClientMetadata:t};this.client.request("ResendConfirmationCode",n,(function(t,n){return t?e(t,null):e(null,n)}))},t.getSession=function(e,t){if(void 0===t&&(t={}),null==this.username)return e(new Error("Username is null. Cannot retrieve a new session"),null);if(null!=this.signInUserSession&&this.signInUserSession.isValid())return e(null,this.signInUserSession);var n="CognitoIdentityServiceProvider."+this.pool.getClientId()+"."+this.username,r=n+".idToken",i=n+".accessToken",s=n+".refreshToken",o=n+".clockDrift";if(this.storage.getItem(r)){var a=new J({IdToken:this.storage.getItem(r)}),u=new K({AccessToken:this.storage.getItem(i)}),c=new Q({RefreshToken:this.storage.getItem(s)}),l=parseInt(this.storage.getItem(o),0)||0,h=new G({IdToken:a,AccessToken:u,RefreshToken:c,ClockDrift:l});if(h.isValid())return this.signInUserSession=h,e(null,this.signInUserSession);if(!c.getToken())return e(new Error("Cannot retrieve a new session. Please authenticate."),null);this.refreshSession(c,e,t.clientMetadata)}else e(new Error("Local storage is missing an ID Token, Please authenticate"),null)},t.refreshSession=function(e,t,n){var r=this,i=this.pool.wrapRefreshSessionCallback?this.pool.wrapRefreshSessionCallback(t):t,s={};s.REFRESH_TOKEN=e.getToken();var o="CognitoIdentityServiceProvider."+this.pool.getClientId(),a=o+".LastAuthUser";if(this.storage.getItem(a)){this.username=this.storage.getItem(a);var u=o+"."+this.username+".deviceKey";this.deviceKey=this.storage.getItem(u),s.DEVICE_KEY=this.deviceKey}var c={ClientId:this.pool.getClientId(),AuthFlow:"REFRESH_TOKEN_AUTH",AuthParameters:s,ClientMetadata:n};this.getUserContextData()&&(c.UserContextData=this.getUserContextData()),this.client.request("InitiateAuth",c,(function(t,n){if(t)return"NotAuthorizedException"===t.code&&r.clearCachedUser(),i(t,null);if(n){var s=n.AuthenticationResult;return Object.prototype.hasOwnProperty.call(s,"RefreshToken")||(s.RefreshToken=e.getToken()),r.signInUserSession=r.getCognitoUserSession(s),r.cacheTokens(),i(null,r.signInUserSession)}}))},t.cacheTokens=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId(),t=e+"."+this.username+".idToken",n=e+"."+this.username+".accessToken",r=e+"."+this.username+".refreshToken",i=e+"."+this.username+".clockDrift",s=e+".LastAuthUser";this.storage.setItem(t,this.signInUserSession.getIdToken().getJwtToken()),this.storage.setItem(n,this.signInUserSession.getAccessToken().getJwtToken()),this.storage.setItem(r,this.signInUserSession.getRefreshToken().getToken()),this.storage.setItem(i,""+this.signInUserSession.getClockDrift()),this.storage.setItem(s,this.username)},t.cacheUserData=function(e){this.storage.setItem(this.userDataKey,JSON.stringify(e))},t.clearCachedUserData=function(){this.storage.removeItem(this.userDataKey)},t.clearCachedUser=function(){this.clearCachedTokens(),this.clearCachedUserData()},t.cacheDeviceKeyAndPassword=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId()+"."+this.username,t=e+".deviceKey",n=e+".randomPasswordKey",r=e+".deviceGroupKey";this.storage.setItem(t,this.deviceKey),this.storage.setItem(n,this.randomPassword),this.storage.setItem(r,this.deviceGroupKey)},t.getCachedDeviceKeyAndPassword=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId()+"."+this.username,t=e+".deviceKey",n=e+".randomPasswordKey",r=e+".deviceGroupKey";this.storage.getItem(t)&&(this.deviceKey=this.storage.getItem(t),this.randomPassword=this.storage.getItem(n),this.deviceGroupKey=this.storage.getItem(r))},t.clearCachedDeviceKeyAndPassword=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId()+"."+this.username,t=e+".deviceKey",n=e+".randomPasswordKey",r=e+".deviceGroupKey";this.storage.removeItem(t),this.storage.removeItem(n),this.storage.removeItem(r)},t.clearCachedTokens=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId(),t=e+"."+this.username+".idToken",n=e+"."+this.username+".accessToken",r=e+"."+this.username+".refreshToken",i=e+".LastAuthUser",s=e+"."+this.username+".clockDrift";this.storage.removeItem(t),this.storage.removeItem(n),this.storage.removeItem(r),this.storage.removeItem(i),this.storage.removeItem(s)},t.getCognitoUserSession=function(e){var t=new J(e),n=new K(e),r=new Q(e);return new G({IdToken:t,AccessToken:n,RefreshToken:r})},t.forgotPassword=function(e,t){var n={ClientId:this.pool.getClientId(),Username:this.username,ClientMetadata:t};this.getUserContextData()&&(n.UserContextData=this.getUserContextData()),this.client.request("ForgotPassword",n,(function(t,n){return t?e.onFailure(t):"function"==typeof e.inputVerificationCode?e.inputVerificationCode(n):e.onSuccess(n)}))},t.confirmPassword=function(e,t,n,r){var i={ClientId:this.pool.getClientId(),Username:this.username,ConfirmationCode:e,Password:t,ClientMetadata:r};this.getUserContextData()&&(i.UserContextData=this.getUserContextData()),this.client.request("ConfirmForgotPassword",i,(function(e){return e?n.onFailure(e):n.onSuccess("SUCCESS")}))},t.getAttributeVerificationCode=function(e,t,n){if(null==this.signInUserSession||!this.signInUserSession.isValid())return t.onFailure(new Error("User is not authenticated"));this.client.request("GetUserAttributeVerificationCode",{AttributeName:e,AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),ClientMetadata:n},(function(e,n){return e?t.onFailure(e):"function"==typeof t.inputVerificationCode?t.inputVerificationCode(n):t.onSuccess("SUCCESS")}))},t.verifyAttribute=function(e,t,n){if(null==this.signInUserSession||!this.signInUserSession.isValid())return n.onFailure(new Error("User is not authenticated"));this.client.request("VerifyUserAttribute",{AttributeName:e,Code:t,AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(e){return e?n.onFailure(e):n.onSuccess("SUCCESS")}))},t.getDevice=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e.onFailure(new Error("User is not authenticated"));this.client.request("GetDevice",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),DeviceKey:this.deviceKey},(function(t,n){return t?e.onFailure(t):e.onSuccess(n)}))},t.forgetSpecificDevice=function(e,t){if(null==this.signInUserSession||!this.signInUserSession.isValid())return t.onFailure(new Error("User is not authenticated"));this.client.request("ForgetDevice",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),DeviceKey:e},(function(e){return e?t.onFailure(e):t.onSuccess("SUCCESS")}))},t.forgetDevice=function(e){var t=this;this.forgetSpecificDevice(this.deviceKey,{onFailure:e.onFailure,onSuccess:function(n){return t.deviceKey=null,t.deviceGroupKey=null,t.randomPassword=null,t.clearCachedDeviceKeyAndPassword(),e.onSuccess(n)}})},t.setDeviceStatusRemembered=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e.onFailure(new Error("User is not authenticated"));this.client.request("UpdateDeviceStatus",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),DeviceKey:this.deviceKey,DeviceRememberedStatus:"remembered"},(function(t){return t?e.onFailure(t):e.onSuccess("SUCCESS")}))},t.setDeviceStatusNotRemembered=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e.onFailure(new Error("User is not authenticated"));this.client.request("UpdateDeviceStatus",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),DeviceKey:this.deviceKey,DeviceRememberedStatus:"not_remembered"},(function(t){return t?e.onFailure(t):e.onSuccess("SUCCESS")}))},t.listDevices=function(e,t,n){if(null==this.signInUserSession||!this.signInUserSession.isValid())return n.onFailure(new Error("User is not authenticated"));var r={AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),Limit:e};t&&(r.PaginationToken=t),this.client.request("ListDevices",r,(function(e,t){return e?n.onFailure(e):n.onSuccess(t)}))},t.globalSignOut=function(e){var t=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return e.onFailure(new Error("User is not authenticated"));this.client.request("GlobalSignOut",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(n){return n?e.onFailure(n):(t.clearCachedUser(),e.onSuccess("SUCCESS"))}))},t.signOut=function(e){var t=this;e&&"function"==typeof e?this.getSession((function(n,r){if(n)return e(n);t.revokeTokens((function(n){t.cleanClientData(),e(n)}))})):this.cleanClientData()},t.revokeTokens=function(e){if(void 0===e&&(e=function(){}),"function"!=typeof e)throw new Error("Invalid revokeTokenCallback. It should be a function.");if(!this.signInUserSession)return e(new Error("User is not authenticated"));if(!this.signInUserSession.getAccessToken())return e(new Error("No Access token available"));var t=this.signInUserSession.getRefreshToken().getToken(),n=this.signInUserSession.getAccessToken();if(this.isSessionRevocable(n)&&t)return this.revokeToken({token:t,callback:e});e()},t.isSessionRevocable=function(e){if(e&&"function"==typeof e.decodePayload)try{return!!e.decodePayload().origin_jti}catch(e){}return!1},t.cleanClientData=function(){this.signInUserSession=null,this.clearCachedUser()},t.revokeToken=function(e){var t=e.token,n=e.callback;this.client.requestWithRetry("RevokeToken",{Token:t,ClientId:this.pool.getClientId()},(function(e){if(e)return n(e);n()}))},t.sendMFASelectionAnswer=function(e,t){var n=this,r={};r.USERNAME=this.username,r.ANSWER=e;var i={ChallengeName:"SELECT_MFA_TYPE",ChallengeResponses:r,ClientId:this.pool.getClientId(),Session:this.Session};this.getUserContextData()&&(i.UserContextData=this.getUserContextData()),this.client.request("RespondToAuthChallenge",i,(function(r,i){return r?t.onFailure(r):(n.Session=i.Session,"SMS_MFA"===e?t.mfaRequired(i.ChallengeName,i.ChallengeParameters):"SOFTWARE_TOKEN_MFA"===e?t.totpRequired(i.ChallengeName,i.ChallengeParameters):void 0)}))},t.getUserContextData=function(){return this.pool.getUserContextData(this.username)},t.associateSoftwareToken=function(e){var t=this;null!=this.signInUserSession&&this.signInUserSession.isValid()?this.client.request("AssociateSoftwareToken",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(t,n){return t?e.onFailure(t):e.associateSecretCode(n.SecretCode)})):this.client.request("AssociateSoftwareToken",{Session:this.Session},(function(n,r){return n?e.onFailure(n):(t.Session=r.Session,e.associateSecretCode(r.SecretCode))}))},t.verifySoftwareToken=function(e,t,n){var r=this;null!=this.signInUserSession&&this.signInUserSession.isValid()?this.client.request("VerifySoftwareToken",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),UserCode:e,FriendlyDeviceName:t},(function(e,t){return e?n.onFailure(e):n.onSuccess(t)})):this.client.request("VerifySoftwareToken",{Session:this.Session,UserCode:e,FriendlyDeviceName:t},(function(e,t){if(e)return n.onFailure(e);r.Session=t.Session;var i={};i.USERNAME=r.username;var s={ChallengeName:"MFA_SETUP",ClientId:r.pool.getClientId(),ChallengeResponses:i,Session:r.Session};r.getUserContextData()&&(s.UserContextData=r.getUserContextData()),r.client.request("RespondToAuthChallenge",s,(function(e,t){return e?n.onFailure(e):(r.signInUserSession=r.getCognitoUserSession(t.AuthenticationResult),r.cacheTokens(),n.onSuccess(r.signInUserSession))}))}))},e}();function oe(){}function ae(e){var t="function"==typeof Map?new Map:void 0;return ae=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return ue(e,arguments,le(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),ce(r,e)},ae(e)}function ue(e,t,n){return ue=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&ce(i,n.prototype),i},ue.apply(null,arguments)}function ce(e,t){return ce=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ce(e,t)}function le(e){return le=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},le(e)}n(204),oe.prototype.userAgent=W;var he=function(e){function t(t,n,r,i){var s;return(s=e.call(this,t)||this).code=n,s.name=r,s.statusCode=i,s}return r=e,(n=t).prototype=Object.create(r.prototype),n.prototype.constructor=n,ce(n,r),t;var n,r}(ae(Error)),fe=function(){function e(e,t,n){this.endpoint=t||"https://cognito-idp."+e+".amazonaws.com/";var r=(n||{}).credentials;this.fetchOptions=r?{credentials:r}:{}}var t=e.prototype;return t.promisifyRequest=function(e,t){var n=this;return new Promise((function(r,i){n.request(e,t,(function(e,t){e?i(new he(e.message,e.code,e.name,e.statusCode)):r(t)}))}))},t.requestWithRetry=function(e,t,n){var r,i,s=this;(r=[t],i=5e3,void 0===i&&(i=_e),ge((function(t){return new Promise((function(n,r){s.request(e,t,(function(e,t){e?r(e):n(t)}))}))}),r,function(e){return function(t){var n=100*Math.pow(2,t)+100*Math.random();return!(n>e)&&n}}(i))).then((function(e){return n(null,e)})).catch((function(e){return n(e)}))},t.request=function(e,t,n){var r,i,s,o={"Content-Type":"application/x-amz-json-1.1","X-Amz-Target":"AWSCognitoIdentityProviderService."+e,"X-Amz-User-Agent":(r=oe.category?" "+oe.category:"",i=oe.framework?" framework/"+oe.framework:"",""+oe.prototype.userAgent+r+i),"Cache-Control":"no-store"},a=Object.assign({},this.fetchOptions,{headers:o,method:"POST",mode:"cors",body:JSON.stringify(t)});fetch(this.endpoint,a).then((function(e){return s=e,e}),(function(e){if(e instanceof TypeError)throw new Error("Network error");throw e})).then((function(e){return e.json().catch((function(){return{}}))})).then((function(e){if(s.ok)return n(null,e);var t=(e.__type||e.code).split("#").pop(),r=new Error(e.message||e.Message||null);return r.name=t,r.code=t,n(r)})).catch((function(e){if(s&&s.headers&&s.headers.get("x-amzn-errortype"))try{var t=s.headers.get("x-amzn-errortype").split(":")[0],r=new Error(s.status?s.status.toString():null);return r.code=t,r.name=t,r.statusCode=s.status,n(r)}catch(t){return n(e)}else e instanceof Error&&"Network error"===e.message&&(e.code="NetworkError");return n(e)}))},e}(),de={debug:function(){}},pe=function(e){return e&&e.nonRetryable};function ge(e,t,n,r){if(void 0===r&&(r=1),"function"!=typeof e)throw Error("functionToRetry must be a function");return de.debug(e.name+" attempt #"+r+" with args: "+JSON.stringify(t)),e.apply(void 0,t).catch((function(i){if(de.debug("error on "+e.name,i),pe(i))throw de.debug(e.name+" non retryable error",i),i;var s=n(r,t,i);if(de.debug(e.name+" retrying in "+s+" ms"),!1!==s)return new Promise((function(e){return setTimeout(e,s)})).then((function(){return ge(e,t,n,r+1)}));throw i}))}var _e=3e5,me=function(){function e(e,t){var n=e||{},r=n.UserPoolId,i=n.ClientId,s=n.endpoint,o=n.fetchOptions,a=n.AdvancedSecurityDataCollectionFlag;if(!r||!i)throw new Error("Both UserPoolId and ClientId are required.");if(r.length>55||!/^[\w-]+_[0-9a-zA-Z]+$/.test(r))throw new Error("Invalid UserPoolId format.");var u=r.split("_")[0];this.userPoolId=r,this.clientId=i,this.client=new fe(u,s,o),this.advancedSecurityDataCollectionFlag=!1!==a,this.storage=e.Storage||(new re).getStorage(),t&&(this.wrapRefreshSessionCallback=t)}var t=e.prototype;return t.getUserPoolId=function(){return this.userPoolId},t.getUserPoolName=function(){return this.getUserPoolId().split("_")[1]},t.getClientId=function(){return this.clientId},t.signUp=function(e,t,n,r,i,s){var o=this,a={ClientId:this.clientId,Username:e,Password:t,UserAttributes:n,ValidationData:r,ClientMetadata:s};this.getUserContextData(e)&&(a.UserContextData=this.getUserContextData(e)),this.client.request("SignUp",a,(function(t,n){if(t)return i(t,null);var r={Username:e,Pool:o,Storage:o.storage},s={user:new se(r),userConfirmed:n.UserConfirmed,userSub:n.UserSub,codeDeliveryDetails:n.CodeDeliveryDetails};return i(null,s)}))},t.getCurrentUser=function(){var e="CognitoIdentityServiceProvider."+this.clientId+".LastAuthUser",t=this.storage.getItem(e);if(t){var n={Username:t,Pool:this,Storage:this.storage};return new se(n)}return null},t.getUserContextData=function(e){if("undefined"!=typeof AmazonCognitoAdvancedSecurityData){var t=AmazonCognitoAdvancedSecurityData;if(this.advancedSecurityDataCollectionFlag){var n=t.getData(e,this.userPoolId,this.clientId);if(n)return{EncodedData:n}}return{}}},e}();n(808);let ye=null,we=null;function be(e){let t={tkid:"ticket_id",cond:"condition",actn:"action",cnt:"count",ttl:"time_to_live",stmp:"timestamp",plch:"placeholder",hash:"hash",desc:"description"},n={};for(let r in e)if("tkid"===r){let t=e[r].split("#");if(1===t.length){n.ticket_id=t[0];continue}n.ticket_id=t[1],n.consume_id=t[2],n.user_id=t[3],e.stmp||(n.timestamp=s(t[2].slice(0,-4)))}else t[r]?n[t[r]]=e[r]:n[r]=e[r];return n}async function Ae(t){if(!t.ticket_id)throw new e("Ticket ID is required.",{code:"INVALID_PARAMETER"});let n=t.ticket_id;return await this.__connection,be(await f.bind(this)(`https://${this.service.slice(0,4)}.skapi.dev/auth/consume/${this.service}/${this.owner}/${n}`,t,{auth:!0}))}async function ve(e,t){await this.__connection;let n=await f.bind(this)("ticket",Object.assign({exec:"list"},e||{}),{auth:!0,fetchOptions:t});return n.list=n.list.map(be),n}async function Ee(e,t){await this.__connection;let n=await f.bind(this)("ticket",Object.assign({exec:"consumed"},e||{}),{auth:!0,fetchOptions:t});return n.list=n.list.map(be),n}async function Se(e){return f.bind(this)("register-ticket",Object.assign({exec:"reg"},e),{auth:!0})}async function Ie(e){return f.bind(this)("register-ticket",Object.assign({exec:"unreg"},e),{auth:!0})}function Te(){if(!we)throw new e("User pool is missing",{code:"INVALID_REQUEST"});const n=t=>{let n={};if(Array.isArray(t)){let n={};for(let r of t)if(n[r.Name]=r.Value,"custom:service"===r.Name&&n[r.Name]!==this.service)throw new e("The user is not registered to the service.",{code:"INVALID_REQUEST"});t=n}for(let r in t)if(r.includes("custom:")){if("custom:service"===r&&t[r]!==this.service)throw new e("The user is not registered to the service.",{code:"INVALID_REQUEST"});n[r.replace("custom:","")]=t[r]}else{if("address"===r){let e=t[r];if(e&&"object"==typeof e&&Object.keys(e).length&&e?.formatted)try{t[r]=JSON.parse(e.formatted)}catch(n){t[r]=e.formatted}}n[r]=t[r]}for(let e of["address_public","birthdate_public","email_public","gender_public","phone_number_public","access_group"])e.includes("_public")?n.hasOwnProperty(e.split("_")[0])?n[e]=!!n.hasOwnProperty(e)&&!!Number(n[e]):delete n[e]:n[e]=n.hasOwnProperty(e)?Number(n[e]):0;for(let e of["email","phone_number"])n.hasOwnProperty(e)?!0===n[e+"_verified"]||"true"===n[e+"_verified"]?n[e+"_verified"]=!0:n[e+"_verified"]=!1:delete n[e+"_verified"];for(let e of["aud",{from:"auth_time",to:"log"},"cognito:username","event_id","exp","iat","iss","jti","origin_jti","secret_key",{from:"sub",to:"user_id"},"token_use"])"string"==typeof e?delete n[e]:(n[e.to]=n[e.from],delete n[e.from]);this.__user=n},r=async t=>{let{refreshToken:r=!1}=t||{};return new Promise(((t,i)=>{ye=we?.getCurrentUser()||null,null!==ye?ye.getSession(((s,o)=>{if(s)return void i(s);if(!o)return void i(new e("Current session does not exist.",{code:"INVALID_REQUEST"}));let a=r=>{let s=r.getIdToken().payload;if(s["custom:service"]!==this.service)return ye.signOut(),this.session=null,void i(new e("Invalid session.",{code:"INVALID_REQUEST"}));this.session=r,n(s),t(r)};if(!r&&o.isValid())return a(o);ye.refreshSession(o.getRefreshToken(),((t,n)=>{if(!t)return n.isValid()?a(n):void i(new e("Invalid session.",{code:"INVALID_REQUEST"}));i(t)}))})):i(null)}))},i=e=>{let n=e.includes(this.service+"-")?e:this.service+"-"+t.hash(e);return{cognitoUser:new se({Username:n,Pool:we}),cognitoUsername:n}};return{getSession:r,authenticateUser:(t,n)=>new Promise(((s,o)=>{this.__request_signup_confirmation=null,this.__disabledAccount=null;let a=i(t),u=a.cognitoUsername,c=new A({Username:u,Password:n});a.cognitoUser.authenticateUser(c,{newPasswordRequired:(t,i)=>{this.__disabledAccount=null,this.__request_signup_confirmation=u,"PASS"===t["custom:signup_ticket"]||"MEMBER"===t["custom:signup_ticket"]?a.cognitoUser.completeNewPasswordChallenge(n,{},{onSuccess:e=>{ye=a.cognitoUser,r().then((e=>s(this.user)))},onFailure:t=>{o(new e(t.message||"Failed to authenticate user.",{code:t.code}))}}):o(new e("User's signup confirmation is required.",{code:"SIGNUP_CONFIRMATION_NEEDED"}))},onSuccess:e=>r().then((e=>{this.__disabledAccount=null,s(this.user)})),onFailure:t=>{let n=[t.message||"Failed to authenticate user.",t?.code||"INVALID_REQUEST"];"NotAuthorizedException"===t.code?"User is disabled."===t.message?(this.__disabledAccount=u,n=["This account is disabled.","USER_IS_DISABLED"]):n=["Incorrect username or password.","INCORRECT_USERNAME_OR_PASSWORD"]:"UserNotFoundException"===t.code?n=["Incorrect username or password.","INCORRECT_USERNAME_OR_PASSWORD"]:"UserNotConfirmedException"===t.code?(this.__request_signup_confirmation=u,n=["User's signup confirmation is required.","SIGNUP_CONFIRMATION_NEEDED"]):"TooManyRequestsException"!==t.code&&"LimitExceededException"!==t.code||(n=["Too many attempts. Please try again later.","REQUEST_EXCEED"]);let r=n[1],i=n[0],s=n[0].split("#");if(s.length>1&&(s=s[s.length-1].split(":"),r=s[0],i=s[1],"CONFIRM_REQUIRED"===r))return this.__request_signup_confirmation=u,void o(new e("User's signup confirmation is required.",{code:"SIGNUP_CONFIRMATION_NEEDED"}));o(new e(i,{code:r,cause:t}))}})})),createCognitoUser:i,getUser:()=>new Promise(((t,r)=>{this.session||t(null),null===ye?r(new e("Invalid session",{code:"INVALID_REQUEST"})):ye.getUserAttributes(((e,i)=>{e?r(e):(n(i),t(this.user))}))})),signup:(e,t,n)=>new Promise(((r,i)=>{we.signUp(e,t,n,null,((e,t)=>{e?i(e):r(t)}))}))}}async function Re(e){await this.__authConnection;try{return await Te.bind(this)().getSession(e),this.user}catch(e){return null}}async function Ue(){return await this.__connection,this.__user?.service===this.service?this.__user?.owner===this.host:(await De.bind(this)(),!1)}async function De(){await this.__connection,ye&&ye.signOut();let e={session:null,__startKeyHistory:{},__cached_requests:{},__user:null};for(let t in e)this[t]=e[t];return"SUCCESS: The user has been logged out."}async function Ce(t){if(!this.__request_signup_confirmation)throw new e("Least one login attempt is required.",{code:"INVALID_REQUEST"});return t=t?c.Url(t):void 0,await f.bind(this)("confirm-signup",{username:this.__request_signup_confirmation,redirect:t})}async function Pe(t=!1){if("string"==typeof t)t=c.Url(t);else if("boolean"!=typeof t)throw new e("Argument should be type: <boolean | string>.",{code:"INVALID_REQUEST"});if(!this.__disabledAccount)throw new e("Least one signin attempt of disabled account is required.",{code:"INVALID_REQUEST"});return await f.bind(this)("recover-account",{username:this.__disabledAccount,redirect:t}),"SUCCESS: Recovery e-mail has been sent."}async function Ne(t){c.Params(t,{idToken:"string",clientId:"string",keyUrl:e=>c.Url(e),provider:"string",nonce:"string"},["idToken","keyUrl","clientId"]);let{hashedPassword:n,username:r,email:i}=await f.bind(this)("jwt-login",t);try{return ke.bind(this)({username:r,password:n,email:i})}catch(t){if("INCORRECT_USERNAME_OR_PASSWORD"===t?.code)throw new e("User has migrated the account. Login with the service email and password.",{code:"INVALID_REQUEST"})}}async function ke(t){await this.logout();let n=c.Params(t,{username:"string",email:"string",password:"string"},["password"]);if(n.email)try{c.Email(n.email)}catch(e){n.username=n.email,delete n.email}if(!n.username&&!n.email)throw new e('Least one of "username" or "email" is required.',{code:"INVALID_PARAMETER"});return Te.bind(this)().authenticateUser(n.username||n.email,n.password)}async function Oe(t,n){let r={username:"string",password:e=>c.Password(e),email:e=>c.Email(e),name:"string",address:e=>e?"string"==typeof e?e:"object"==typeof e?JSON.stringify(e):void 0:"",gender:"string",birthdate:e=>c.Birthdate(e),phone_number:e=>c.PhoneNumber(e),email_public:["boolean",()=>!1],address_public:["boolean",()=>!1],gender_public:["boolean",()=>!1],birthdate_public:["boolean",()=>!1],phone_number_public:["boolean",()=>!1],access_group:"number",misc:"string",picture:e=>e?c.Url(e):void 0,profile:e=>e?c.Url(e):void 0,family_name:"string",given_name:"string",middle_name:"string",nickname:"string",website:e=>e?c.Url(e):void 0},i=c.Params(t||{},r,["email","password"]);await this.logout(),n=c.Params(n||{},{email_subscription:t=>{if("boolean"!=typeof t)throw new e('"option.email_subscription" should be type: <boolean>.',{code:"INVALID_PARAMETER"});if(!n?.signup_confirmation)throw new e('"option.signup_confirmation" is required for email subscription.',{code:"INVALID_PARAMETER"});return t},signup_confirmation:t=>{let n=t;if("string"==typeof t)n=c.Url(t);else{if("boolean"!=typeof t)throw new e('"option.signup_confirmation" should be type: <string | boolean>.',{code:"INVALID_PARAMETER"});n=t}if(n&&!i.email)throw new e('"email" is required for signup confirmation.',{code:"INVALID_PARAMETER"});return n},login:t=>{if("boolean"==typeof t){if(n.signup_confirmation&&t)throw new e('"login" is not allowed when "option.signup_confirmation" is true.',{code:"INVALID_PARAMETER"});return t}throw new e('"option.login" should be type: boolean.',{code:"INVALID_PARAMETER"})}});let s=n?.login||!1;if(i.signup_confirmation=n?.signup_confirmation||!1,i.email_subscription=n?.email_subscription||!1,i.email_public&&!i.signup_confirmation)throw new e('"option.signup_confirmation" should be true if "email_public" is set to true.',{code:"INVALID_PARAMETER"});i.service=this.service,i.owner=this.owner;let o=Te.bind(this)().createCognitoUser(i.username||i.email);for(let e of["email_public","address_public","gender_public","birthdate_public","phone_number_public"])i[e]=i[e]?"1":"0";i.access_group&&(i.access_group=i.access_group.toString());let a=(await f.bind(this)("signupkey",{username:o.cognitoUsername,signup_confirmation:"boolean"==typeof i.signup_confirmation?JSON.stringify(i.signup_confirmation):i.signup_confirmation,email_subscription:i.email_subscription})).split(":"),u=a.slice(1).join(":"),l=[new ee({Name:"custom:signup",Value:a[0]}),new ee({Name:"locale",Value:u.split("#")[1]}),new ee({Name:"custom:signup_ticket",Value:u})];for(let e in r){let t=["email_public","address_public","gender_public","birthdate_public","phone_number_public","misc","service","owner"];""!==i[e]&&"username"!==e&&"password"!==e&&"access_group"!==e&&(t.includes(e)?l.push(new ee({Name:"custom:"+e,Value:i[e]})):l.push(new ee({Name:e,Value:i[e]})))}return await Te.bind(this)().signup(o.cognitoUsername,i.password,l),i.signup_confirmation?(ye=o.cognitoUser,this.__request_signup_confirmation=o.cognitoUsername,"SUCCESS: The account has been created. User's signup confirmation is required."):s?ke.bind(this)({email:i.username||i.email,password:i.password}):"SUCCESS: The account has been created."}async function Me(){await this.__connection;let e=await f.bind(this)("remove-account",{disable:this.__user.user_id},{auth:!0});return await De.bind(this)(),e}async function Le(t){await this.__connection;let n=c.Params(t,{email:e=>c.Email(e),code:["number","string"],new_password:e=>c.Password(e)},["email","code","new_password"]),r=n.code,i=n.new_password;return"number"==typeof r&&(r=r.toString()),new Promise((async(t,s)=>{Te.bind(this)().createCognitoUser(n.email).cognitoUser.confirmPassword(r,i,{onSuccess:e=>{t("SUCCESS: New password has been set.")},onFailure:t=>{s(new e(t?.message||"Failed to reset password.",{code:t?.code}))}})}))}async function Ve(t,n){let r;if(await this.__connection,!ye)throw new e("The user has to be logged in.",{code:"INVALID_REQUEST"});if("email"===t||"phone_number"===t){if(!this.__user.hasOwnProperty(t))throw new e(`No ${"email"===t?"e-mail":"phone number"} to verify`,{code:"INVALID_REQUEST"});return this.__user?.[`${t}_verified`]?`SUCCESS: "${t}" is verified.`:(r=(n?c.Params(n,{code:["string"]}):{}).code||"",new Promise(((n,i)=>{let s={onSuccess:e=>{r?Te.bind(this)().getSession({refreshToken:!0}).then((()=>{this.__user&&(this.__user[t+"_verified"]=!0),n(`SUCCESS: "${t}" is verified.`)})).catch((e=>{i(e)})):n("SUCCESS: Verification code has been sent.")},onFailure:t=>{i(new e(t.message||"Failed to request verification code.",{code:t?.code}))}};r?ye?.verifyAttribute(t,r,s):(s.inputVerificationCode=null,ye?.getAttributeVerificationCode(t,s))})))}}function Fe(e){return Ve.bind(this)("phone_number",e)}function xe(e){return Ve.bind(this)("email",e)}async function Be(t){await this.__connection;let n=c.Params(t,{email:e=>c.Email(e)},["email"]);return new Promise((async(t,r)=>{Te.bind(this)().createCognitoUser(n.email).cognitoUser.forgotPassword({onSuccess:e=>{t("SUCCESS: Verification code has been sent.")},onFailure:t=>{r(new e(t?.message||"Failed to send verification code.",{code:t?.code||"ERROR"}))}})}))}async function $e(t){if(await this.__connection,!this.session)throw new e("User login is required.",{code:"INVALID_REQUEST"});let n=c.Params(t,{current_password:"string",new_password:"string"});if(!n?.current_password)throw new e('"current_password" is required to change password.',{code:"INVALID_PARAMETER"});if(!n?.new_password)throw new e('"new_password" is required to change password.',{code:"INVALID_PARAMETER"});return c.Password(n.current_password),c.Password(n.new_password),new Promise(((t,r)=>{ye.changePassword(n.current_password,n.new_password,((n,i)=>{n&&r("InvalidParameterException"===n?.code?new e("Invalid password parameter.",{code:"INVALID_PARAMETER"}):"NotAuthorizedException"===n?.code?new e("Incorrect password.",{code:"INVALID_REQUEST"}):"TooManyRequestsException"===n?.code||"LimitExceededException"===n?.code?new e("Too many attempts. Please try again later.",{code:"REQUEST_EXCEED"}):new e(n?.message||"Failed to change user password.",{code:n?.code||n?.name})),t("SUCCESS: Password has been changed.")}))}))}async function qe(n){if(await this.__connection,!this.session)throw new e("User login is required.",{code:"INVALID_REQUEST"});let r=c.Params(n||{},{email:e=>c.Email(e),address:e=>e?"string"==typeof e?e:"object"==typeof e?JSON.stringify(e):void 0:"",name:"string",gender:"string",birthdate:e=>c.Birthdate(e),phone_number:e=>c.PhoneNumber(e),email_public:"boolean",phone_number_public:"boolean",address_public:"boolean",gender_public:"boolean",birthdate_public:"boolean",misc:"string",picture:e=>c.Url(e),profile:e=>c.Url(e),family_name:"string",given_name:"string",middle_name:"string",nickname:"string",website:e=>c.Url(e)});if(r&&"object"==typeof r&&!Object.keys(r).length)return this.user;r.email&&(r.preferred_username=this.service+"-"+t.hash(r.email));let i=[["email_public","email_verified","User's E-Mail should be verified to set"],["phone_number_public","phone_number_verified","User's phone number should be verified to set"]];if(this.__user)for(let t of i)if(r[t[0]]&&!this.__user[t[1]])throw new e(`${t[2]} "${t[0]}" to true.`,{code:"INVALID_REQUEST"});let s=[];for(let e in r)if(r[e]!==this.user[e]){if(["email_public","phone_number_public","address_public","gender_public","birthdate_public","misc"].includes(e)){let t=r[e];"boolean"==typeof t&&(t=t?"1":"0"),r["custom:"+e]=t,s.push(e)}}else s.push(e);for(let e of s)delete r[e];if(r&&"object"==typeof r&&Object.keys(r).length){let e=[];for(let t in r)e.push(new ee({Name:t,Value:r[t]}));return await new Promise(((t,n)=>{ye?.updateAttributes(e,((e,r)=>{e&&n([e?.code||e?.name,e?.message||"Failed to update user settings."]),t(r)}))})),await Te.bind(this)().getSession({refreshToken:!0}),this.user}return this.user}async function je(t,n){t||(t={searchFor:"timestamp",condition:">",value:0},n||(n={}),n.ascending=!1),await this.__connection;const r={user_id:e=>c.UserId(e),email:e=>c.Email(e),phone_number:e=>c.PhoneNumber(e),locale:t=>{if("string"!=typeof t||"string"==typeof t&&t.length>5)throw new e('Value of "locale" should be a country code.',{code:"INVALID_PARAMETER"});return t},name:"string",address:"string",gender:"string",birthdate:e=>c.Birthdate(e),subscribers:"number",timestamp:"number",access_group:"number",approved:e=>e?"by_admin:approved":"by_admin:suspended"};if(t=c.Params(t,{searchFor:["user_id","name","email","phone_number","address","gender","birthdate","locale","subscribers","timestamp","access_group","approved"],condition:[">",">=","=","<","<=","gt","gte","eq","lt","lte",()=>"="],value:n=>{let i=r[t.searchFor];if("function"==typeof i)return i(n);if(typeof n!==i)throw new e(`Value does not match the type of "${t.searchFor}" index.`,{code:"INVALID_PARAMETER"});return n},range:n=>{let i=r[t.searchFor];if("function"==typeof i)return i(n);if(typeof n!==i)throw new e(`Range does not match the type of "${t.searchFor}" index.`,{code:"INVALID_PARAMETER"});return n}},["searchFor","value"]),t?.condition&&"="!==t?.condition&&t.hasOwnProperty("range"))throw new e("Conditions does not apply on range search.",{code:"INVALID_PARAMETER"});if(["user_id","phone_number","email"].includes(t.searchFor)&&("="!==t.condition||t.range))throw new e(`Conditions are not allowed on "${t.searchFor}"`,{code:"INVALID_PARAMETER"});if("string"==typeof t?.value&&!t?.value)throw new e("Value should not be an empty string.",{code:"INVALID_PARAMETER"});if("string"==typeof t?.searchFor&&!t?.searchFor)throw new e('"searchFor" should not be an empty string.',{code:"INVALID_PARAMETER"});return f.bind(this)("get-users",t,{auth:!0,fetchOptions:n})}async function Ke(e){await this.__connection;let t=await f.bind(this)("last-verified-email",e,{auth:!0});return t.includes("SUCCESS")?(await Te.bind(this)().getSession({refreshToken:!0}),this.user):t}async function He(e){return await this.__connection,e=c.Params(e,{username:c.Email,redirect:c.Url},["username"]),await f.bind(this)("request-username-change",e,{auth:!0})}const Je=4503599627370496;async function We(t){const n={user_id:"",record_id:"",updated:0,uploaded:0,table:{name:"",access_group:0},reference:{reference_limit:null,allow_multiple_reference:!0,referenced_count:0},ip:"",bin:{}},r={ip:e=>{"R"===e.slice(-1)?(n.readonly=!0,e=e.slice(0,-1)):n.readonly=!1,n.ip=e},rec:e=>{if(!e)return;n.record_id=e;let t=s(e.substring(0,e.length-9));n.uploaded=t},usr:e=>{n.user_id=e},tbl:e=>{if(e&&!n.table.name){let t=e.split("/");n.table.name=t[0];let r="**"==t[2]?"private":parseInt(t[2]);r=0==r?"public":1==r?"authorized":r,n.table.access_group=r,n.table.subscription=!!t?.[3]}},usr_tbl:e=>{let t=e.split("/");if(n.user_id||(n.user_id=t[0]),!n.table.name){n.table.name=t[1];let e="**"==t[3]?"private":parseInt(t[3]);e=0==e?"public":1==e?"authorized":e,n.table.access_group=e,n.table.subscription=!!t?.[4]}},idx:t=>{if(!t)return;let r=t.split("!"),i=r.splice(0,1)[0],s=function(t){let n=t.substring(3);switch(t.substring(0,3)){case"!S%":return n;case"!N%":let r=n.split("."),i=Number(r[0])-4503599627370496;return 1===r.length?i:parseFloat(i.toString()+"."+r[1]);case"!B%":return"1"===n;case"!L%":case"!D%":try{return JSON.parse(n)}catch(t){throw new e("Value parse error.",{code:"PARSE_ERROR"})}default:return t}}("!"+r.join("!"));n.index={name:i,value:s}},ref:e=>{e&&(n.reference.record_id=e.split("/")[0])},tags:e=>{n.tags=e},upd:e=>{n.updated=e},acpt_mrf:e=>{n.reference.allow_multiple_reference=e},ref_limt:e=>{n.reference.reference_limit=e},rfd:e=>{n.reference.referenced_count=e},bin:async e=>{let t={};if(Array.isArray(e))for(let n of e){let e=n.split("/").slice(3).join("/"),r=e.split("/"),i=decodeURIComponent(r.slice(-1)[0]),o=decodeURIComponent(r[10]),a=r[9],u=r[8],c="**"==r[6]?"private":parseInt(r[6]);c=0==c?"public":1==c?"authorized":c;let l=n;"public"!==c&&(l="private"===c&&this.__user?.user_id!==r[3]?n:await Qe.bind(this)(n,{dataType:"endpoint"}));let h={access_group:c,filename:i,url:l,path:e,size:s(a),uploaded:s(u),getFile:(e,t)=>{let r={dataType:e||"download",progress:t};return Qe.bind(this)(n,r)}};t[o]?t[o].push(h):t[o]=[h]}n.bin=t},data:e=>{let t=e;"!D%{}"===e?t={}:"!L%[]"===e&&(t=[]),n.data=t}};if(t.record_id)return t;for(let e in r)if(t.hasOwnProperty(e)){let n=r[e](t[e]);n instanceof Promise&&await n}return t.private_key&&(this.__private_access_key[n.record_id]=t.private_key),n}async function Ye(t){let{endpoints:n}=t;if("string"==typeof n&&(n=[n]),!Array.isArray(n))throw new e('"endpoints" should be type: array | string.',{code:"INVALID_PARAMETER"});let r=await f.bind(this)("del-files",{endpoints:n,storage:"records"},{auth:!0,method:"post"});for(let e in r)r[e]=We.bind(this)(r[e]);return await Promise.all(r)}async function Qe(t,n){if("string"!=typeof t)throw new e('"url" should be type: string.',{code:"INVALID_PARAMETER"});c.Url(t);let r=!1,i=t.split("/"),s=i[2].split("."),o=null;3===s.length&&"skapi"===s[1]&&(o=s[0],r=!0);let a=i.slice(3),u=!1;if(!r&&("auth"===a[0]||"publ"===a[0]))try{c.UserId(a[2]),c.UserId(a[3]),u="auth"==a[0],r=!0}catch{throw new e("Invalid file url.",{code:"INVALID_PARAMETER"})}let l=o?null:a[1];n=c.Params(n,{expires:["number",()=>0],dataType:["base64","blob","endpoint","text",()=>"download"],progress:"function"});let h=t.split("/").slice(-1)[0],d=n.expires;if(d){if(!r)throw new e("Expires option can only be used on skapi cdn endpoints.",{code:"INVALID_PARAMETER"});if(d<0)throw new e('"config.expires" should be > 0. (seconds)',{code:"INVALID_PARAMETER"});let n={request:o?"get-host":"get",id:o||a[5],key:t,expires:d};l&&(n.service=l),t=(await f.bind(this)("get-signed-url",n,{auth:!0})).url}else if(u){let n=this.session?.idToken?.jwtToken,r="**"===a[6]?"**":parseInt(a[6]);if(!n)throw new e("User login is required.",{code:"INVALID_REQUEST"});{let t=Date.now()/1e3;if(this.session.idToken.payload.exp<t)try{await this.authentication().getSession({refreshToken:!0}),n=this.session?.idToken?.jwtToken}catch(t){throw this.logout(),new e("User login is required.",{code:"INVALID_REQUEST"})}}if("**"===r){if(this.__user.user_id!==a[3])throw new e("User has no access.",{code:"INVALID_REQUEST"})}else if(this.__user.access_group<r)throw new e("User has no access.",{code:"INVALID_REQUEST"});t+=`?t=${n}`}if("endpoint"===n?.dataType)return t;if("download"===n?.dataType){let e=document.createElement("a");return e.href=t,document.body.appendChild(e),e.setAttribute("download",h),e.target="_blank",e.click(),document.body.removeChild(e),null}return new Promise((async(e,r)=>{try{let r=await f.bind(this)(t,null,{method:"get",contentType:null,responseType:"text"===n?.dataType?"text":"blob",fetchOptions:{progress:n?.progress}},{ignoreService:!0});if("base64"===n?.dataType){const t=new FileReader;t.onloadend=()=>e(t.result),t.readAsDataURL(r)}else e(r)}catch(e){r(e)}}))}async function Ge(t,n){await this.__connection,"string"==typeof t?.table&&(t.table={name:t.table,access_group:0});let r="",i="";if(t?.record_id){c.specialChars(t.record_id,"record_id",!1,!1);let e={record_id:t.record_id};t?.service&&(e.service=t.service),t=e,this.__private_access_key[t.record_id]&&(t.private_key=this.__private_access_key[t.record_id])}else{const n={table:{name:[t=>{if(!t)throw new e('"table.name" cannot be empty string.',{code:"INVALID_PARAMETER"});return c.specialChars(t,"table name",!0,!0)}],access_group:[n=>{if(void 0===n)return!this.__user&&t.table.hasOwnProperty("subscription")?1:0;if("number"==typeof n){if((this.__user?.access_group||0)<n)throw new e("User has no access",{code:"INVALID_REQUEST"})}else{if("string"!=typeof n)throw new e('"table.access_group" should be type: <number | string>.',{code:"INVALID_PARAMETER"});if("private"===(n={private:"private",public:0,authorized:1}[n])&&!this.__user)throw new e("Unsigned users have no access to private records.",{code:"INVALID_REQUEST"});if(void 0===n)throw new e('"table.access_group" is invalid.',{code:"INVALID_PARAMETER"})}return n}],subscription:t=>{if(null==t)return t;if(c.UserId(t,'User ID in "subscription"'),!this.__user)throw new e("Unsigned users have no access to subscription records.",{code:"INVALID_REQUEST"});return{user_id:t,group:1}}},reference:n=>{if(null==n)return n;if("string"==typeof n){try{i=c.UserId(n)}catch(e){c.specialChars(n,"reference",!1,!1),r=n,this.__private_access_key[r]&&(t.private_key=this.__private_access_key[r])}return r=n,n}throw new e('"reference" should be type: string.',{code:"INVALID_PARAMETER"})},index:{name:["$updated","$uploaded","$referenced_count","$user_id",t=>{if(void 0===t)throw new e('"index.name" is required.',{code:"INVALID_PARAMETER"});if("string"!=typeof t)throw new e('"index.name" should be type: string.',{code:"INVALID_PARAMETER"});return c.specialChars(t,"index.name",!0,!1)}],value:n=>{const r={$updated:"number",$uploaded:"number",$referenced_count:"number",$user_id:c.UserId};if(r.hasOwnProperty(t.index.name)){let i=r[t.index.name];if("function"==typeof i)return i(n);if(i!==typeof n)throw new e(`"index.value" should be type: ${i}.`,{code:"INVALID_PARAMETER"});return n}if("number"==typeof n){if(n>Je||n<-4503599627370496)throw new e("Number value should be within range -4503599627370496 ~ +4503599627370496",{code:"INVALID_PARAMETER"});return n}if("boolean"==typeof n)return n;if("string"==typeof n)return n;throw new e('"index.value" should be type: <number | boolean | string>.',{code:"INVALID_PARAMETER"})},condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne"],range:n=>{if(!t.index||!("value"in t.index))throw new e('"index.value" is required.',{code:"INVALID_PARAMETER"});if("$record_id"===t.index.name)throw new e(`Cannot do "index.range" on ${t.index.name}`,{code:"INVALID_PARAMETER"});if(typeof t.index.value!=typeof n)throw new e('"index.range" type should match the type of "index.value".',{code:"INVALID_PARAMETER"});return"string"==typeof n?c.specialChars(n,"index.range",!1,!0):n}},tag:t=>{if(null==t)return t;if("string"==typeof t)return c.specialChars(t,"tag",!1,!0);throw new e('"tag" should be type: string.',{code:"INVALID_PARAMETER"})},private_key:"string"};let s=await Ue.bind(this)();t=c.Params(t||{},n,i||s?[]:["table"])}let s=await f.bind(this)("get-records",t,{fetchOptions:n,auth:!!this.__user,method:this.__user?"post":"get"});for(let e in s.list)s.list[e]=We.bind(this)(s.list[e]);return s.list=await Promise.all(s.list),r&&s?.reference_private_key&&(this.__private_access_key[r]=s.reference_private_key),s}async function ze(t,n){let r=await Ue.bind(this)();if(!n)throw new e('"config" argument is required.',{code:"INVALID_PARAMETER"});if(!this.user)throw new e("Login is required.",{code:"INVALID_REQUEST"});"string"==typeof n.table&&(n.table={name:n.table},n.record_id||(n.table.access_group=0)),"string"==typeof n.reference&&(n.reference={record_id:n.reference});let i=c.Params(n||{},{record_id:["string",()=>{if(!n.table||!n.table.name)throw new e('"table.name" is required.',{code:"INVALID_PARAMETER"})}],readonly:"boolean",table:{name:t=>{if(!t)throw new e('"table.name" cannot be empty string.',{code:"INVALID_PARAMETER"});return c.specialChars(t,"table name",!0,!0)},subscription:t=>{if(t&&(!n.record_id&&!n.table.access_group||0===n.table.access_group||"public"===n.table.access_group))throw new e("Public records cannot require subscription.",{code:"INVALID_REQUEST"});return t},access_group:t=>{if("string"==typeof t&&(t={private:"private",public:0,authorized:1}[t]),"number"==typeof t&&!r&&this.user.access_group<t)throw new e("User has no access",{code:"INVALID_REQUEST"});if(void 0===t)throw new e('"table.access_group" is invalid.',{code:"INVALID_PARAMETER"});return t}},reference:{record_id:e=>(c.specialChars(e,'"reference.record_id"',!1,!1),this.__private_access_key[e]&&(n.reference_private_key=this.__private_access_key[e]),e),reference_limit:t=>{if(null===t)return null;if("number"==typeof t){if(0>t)throw new e('"reference_limit" should be >= 0',{code:"INVALID_PARAMETER"});if(t>4503599627370546)throw new e('"reference_limit" should be <= 4503599627370546',{code:"INVALID_PARAMETER"});return t}throw new e('"reference_limit" should be type: <number | null>',{code:"INVALID_PARAMETER"})},allow_multiple_reference:"boolean"},index:{name:["$uploaded","$updated","$referenced_count","$user_id",t=>{if(!t)throw new e('"index.name" is required.',{code:"INVALID_PARAMETER"});if("string"==typeof t)return c.specialChars(t,"index name",!0),t;throw new e('"index.name" should be type: string.',{code:"INVALID_PARAMETER"})}],value:[t=>{if(!t&&"boolean"!=typeof t&&0!==t)throw new e('"index.value" is required.',{code:"INVALID_PARAMETER"});if(!["boolean","string","number"].includes(typeof t))throw new e('"index.value" should be type: <boolean | string | number>.',{code:"INVALID_PARAMETER"});if("string"==typeof t)c.specialChars(t,"index value",!1,!0);else if("number"==typeof t&&(t>Je||t<-4503599627370496))throw new e("Number value should be within range -4503599627370496 ~ +4503599627370496",{code:"INVALID_PARAMETER"});return t}]},tags:e=>null==e?e:("string"==typeof e&&(e=e.split(",").map((e=>e.trim()))),c.specialChars(e,"tag",!1,!0)),remove_bin:t=>{if(!t)return null;let n=[];if(!Array.isArray(t))throw new e('"remove_bin" should be type: <string[] | BinaryFile[]>',{code:"INVALID_PARAMETER"});for(let r of t)if("string"==typeof r)n.push(r);else{if(!(r.url&&r.size&&r.filename))throw new e('"remove_bin" should be type: <string[] | BinaryFile[]>',{code:"INVALID_PARAMETER"});n.push(r.url)}return n},progress:"function"}),s=n.progress||null;n.table&&n.table.hasOwnProperty("subscription")&&(i.table.subscription_group=n.table.subscription?1:null,delete i.table.subscription),delete i.progress;let o={auth:!0},u=null,l=null,h=a(t);h.files.length&&(l=h.files),u=Object.assign({data:h.data},i);let d={};"function"==typeof s&&(d.progress=s),Object.keys(d).length&&Object.assign(o,{fetchOptions:d});let p=await f.bind(this)("post-record",u,o);if(l){let e=new FormData;for(let t of l)e.append(t.name,t.file,t.file.name);let t={record_id:p.rec,progress:s};i.hasOwnProperty("service")&&(t.service=i.service);let{bin_endpoints:n}=await _.bind(this)(e,t);p.bin?p.bin.push(...n):p.bin=n}return We.bind(this)(p)}async function Ze(e,t){let n=await f.bind(this)("get-table",c.Params(e||{},{table:"string",condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne"]}),Object.assign({auth:!!this.__user},{fetchOptions:t})),r={cnt_rec:"number_of_records",tbl:"table",srvc:"service"};if(Array.isArray(n?.list))for(let e of n.list)for(let t in r)e.hasOwnProperty(t)&&(e[r[t]]=e[t],delete e[t]);return n}async function Xe(t,n){if(!t?.table)throw new e('"table" is required.',{code:"INVALID_PARAMETER"});let r=c.Params(t||{},{table:"string",index:e=>c.specialChars(e,"index name",!0,!1),order:{by:["average_number","total_number","number_count","average_bool","total_bool","bool_count","string_count","index_name","number_of_records"],value:["string","number","boolean"],condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne"]}},["table"]);if(r.hasOwnProperty("order")){if(!r.order?.by)throw new e('"order.by" is required.',{code:"INVALID_PARAMETER"});if(r.order.hasOwnProperty("condition")&&!r.order.hasOwnProperty("value"))throw new e('"value" is required for "condition".',{code:"INVALID_PARAMETER"});if(r.hasOwnProperty("index")&&"."!==r.index.substring(r.index.length-1))throw new e('"index" should be a parent index name of the compound index when using "order.by"',{code:"INVALID_PARAMETER"})}let i=await f.bind(this)("get-index",r,Object.assign({auth:!!this.__user},{fetchOptions:n})),s={cnt_bool:"boolean_count",cnt_numb:"number_count",totl_numb:"total_number",totl_bool:"total_bool",avrg_numb:"average_number",avrg_bool:"average_bool",cnt_str:"string_count"};return Array.isArray(i?.list)&&(i.list=i.list.map((e=>{let t=e.idx.split("/"),n={table:t[1],index:t[2],number_of_records:e.cnt_rec};for(let t in s)e?.[t]&&(n[s[t]]=e[t]);return n}))),i}async function et(e,t){let n=await f.bind(this)("get-tag",c.Params(e||{},{table:"string",tag:"string",condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne"]}),Object.assign({auth:!!this.__user},{fetchOptions:t}));if(Array.isArray(n?.list))for(let e in n.list){let t=n.list[e],r=t.tag.split("/");n.list[e]={table:r[1],tag:r[0],number_of_records:t.cnt_rec}}return n}async function tt(t){let n=await Ue.bind(this)();if(n&&!t?.service)throw new e("Service ID is required.",{code:"INVALID_PARAMETER"});if(t?.record_id)return await f.bind(this)("del-records",{service:t.service||this.service,record_id:(t=>{if("string"==typeof t)return[t];if(!Array.isArray(t))throw new e('"record_id" should be type: <string | string[]>',{code:"INVALID_PARAMETER"});if(t.length>100)throw new e('"record_id" should not exceed 100 items.',{code:"INVALID_PARAMETER"});return c.specialChars(t,"record_id",!1,!1)})(t.record_id)},{auth:!0});{if(!t?.table)throw new e('Either "table" or "record_id" is required.',{code:"INVALID_PARAMETER"});let r={access_group:t=>{if("string"==typeof t&&["private","public","authorized"].includes(t))switch(t){case"private":return t;case"public":return 0;case"authorized":return 1}else if("number"==typeof t&&t>=0&&t<100)return t;throw new e('Invalid "table.access_group". Access group should be type <number (0~99) | "private" | "public" | "authorized">.',{code:"INVALID_PARAMETER"})},name:"string",subscription:r=>{if("boolean"==typeof r&&r)return this.__user.user_id;if(!t.table.hasOwnProperty("access_group"))throw new e('"table.access_group" is required for subscription records.',{code:"INVALID_PARAMETER"});if(0===t.table.access_group)throw new e("Public tables does not hold subscription records.",{code:"INVALID_REQUEST"});if(n&&"string"==typeof r)return c.UserId(r,'User ID in "table.subscription"');throw new e('"table.subscription" is an invalid parameter key.',{code:"INVALID_PARAMETER"})}},i=c.Params(t.table||{},r,n?[]:["name"]);i.subscription&&(i.subscription_group=1);let s=Object.assign({},t,{table:i});return await f.bind(this)("del-records",s,{auth:!0})}}function nt(t){if(!t.record_id)throw new e("Record ID is required.",{code:"INVALID_PARAMETER"});if(!t.user_id||Array.isArray(t.user_id)&&!t.user_id.length)throw new e("User ID is required.",{code:"INVALID_PARAMETER"});return ot.bind(this)({record_id:t.record_id,user_id:t.user_id||null,execute:"add"})}function rt(t){if(!t.record_id)throw new e("Record ID is required.",{code:"INVALID_PARAMETER"});if(!t.user_id||Array.isArray(t.user_id)&&!t.user_id.length)throw new e("User ID is required.",{code:"INVALID_PARAMETER"});return ot.bind(this)({record_id:t.record_id,user_id:t.user_id||null,execute:"remove"})}async function it(e){let t=await ot.bind(this)({record_id:e.record_id,user_id:e.user_id||null,execute:"list"});return t.list=t.list.map((e=>(e.record_id=e.rec_usr.split("/")[0],e.user_id=e.rec_usr.split("/")[1],e))),t}function st(e){return f.bind(this)("request-private-access-key",{record_id:e},{auth:!0})}function ot(t){let n=t.execute,r=c.Params(t,{record_id:"string",user_id:t=>{if(!t){if("list"==n)return null;throw new e("User ID is required.",{code:"INVALID_PARAMETER"})}let r=t;if("string"==typeof r&&(r=[r]),r.length>100)throw new e("Cannot process more than 100 users at once.",{code:"INVALID_REQUEST"});for(let e of r)c.UserId(e,'User ID in "user_id"');return r},execute:["add","remove","list"]},["execute","record_id","user_id"]);return r.user_id||(r.user_id=null),f.bind(this)("grant-private-access",r,{auth:!0})}async function at(){if(await this.getProfile(),!this.session)throw new e("No access.",{code:"INVALID_REQUEST"});let t=await this.record_endpoint;return new WebSocket(t.websocket_private+"?token="+this.session.accessToken.jwtToken)}let ut=0,ct={},lt={},ht=null;function ft(t,n=0){if("function"!=typeof t)throw new e("Callback must be a function.",{code:"INVALID_REQUEST"});return!ut&&this.__socket instanceof Promise||(this.__socket=new Promise((async r=>{setTimeout((async()=>{if(await this.__connection,!await this.getProfile())throw new e("No access.",{code:"INVALID_REQUEST"});let n=await at.bind(this)();n.onopen=()=>{ut=0,t({type:"success",message:"Connected to WebSocket server."}),this.__socket_room&&n.send(JSON.stringify({action:"joinRoom",rid:this.__socket_room,token:this.session.accessToken.jwtToken})),ht=setInterval((()=>{1===n.readyState&&n.send(JSON.stringify({action:"keepAlive",token:this.session.accessToken.jwtToken}))}),3e4),r(n)},n.onmessage=async e=>{let n=JSON.parse(decodeURI(e.data)),r="message";n?.["#private"]?r="private":n?.["#notice"]&&(r="notice");let i={type:r,message:n?.["#message"]||n?.["#private"]||n?.["#notice"]||null};if(n?.["#user_id"]&&(i.sender=n["#user_id"]),n?.["#scid"]&&(i.sender_cid=n["#scid"]),"notice"===r)if(this.__socket_room&&(i.message.includes("has left the message group.")||i.message.includes("has been disconnected."))){lt[this.__socket_room]&&await lt[this.__socket_room];let e=i.sender;if(ct?.[this.__socket_room]?.[e]&&(ct[this.__socket_room][e]=ct[this.__socket_room][e].filter((e=>e!==i.sender_cid))),ct?.[this.__socket_room]?.[e]&&0===ct[this.__socket_room][e].length&&delete ct[this.__socket_room][e],ct?.[this.__socket_room]?.[e])return}else if(this.__socket_room&&i.message.includes("has joined the message group.")){lt[this.__socket_room]&&await lt[this.__socket_room];let e=i.sender;if(ct?.[this.__socket_room]||(ct[this.__socket_room]={}),ct[this.__socket_room][e])return void(ct[this.__socket_room][e].includes(i.sender_cid)||ct[this.__socket_room][e].push(i.sender_cid));ct[this.__socket_room][e]=[i.sender_cid]}t(i)},n.onclose=e=>{if(e.wasClean)clearInterval(ht),ht=null,t({type:"close",message:"WebSocket connection closed."}),this.__socket=null,this.__socket_room=null;else if(ut++,ut<10){let e=Math.min(1e3*2**ut,3e4);t({type:"error",message:`Skapi: WebSocket connection error. Reconnecting in ${e/1e3} seconds...`}),ft.bind(this)(t,e)}else t({type:"error",message:"Skapi: WebSocket connection error. Max reconnection attempts reached."}),this.__socket=null},n.onerror=()=>{throw t({type:"error",message:"Skapi: WebSocket connection error."}),new e("Skapi: WebSocket connection error.",{code:"ERROR"})}}),n)}))),this.__socket}async function dt(){let e=this.__socket?await this.__socket:this.__socket;return e&&e.close(),this.__socket=null,this.__socket_room=null,null}async function pt(t,n){let r=this.__socket?await this.__socket:this.__socket;if(!r)throw new e("No realtime connection. Execute connectRealtime() before this method.",{code:"INVALID_REQUEST"});if(!n)throw new e("No recipient.",{code:"INVALID_REQUEST"});if(t=a(t).data,1===r.readyState){try{c.UserId(n),r.send(JSON.stringify({action:"sendMessage",uid:n,content:t,token:this.session.accessToken.jwtToken}))}catch(i){if(this.__socket_room!==n)throw new e(`User has not joined to the recipient group. Run joinRealtime({ group: "${n}" })`,{code:"INVALID_REQUEST"});r.send(JSON.stringify({action:"broadcast",rid:n,content:t,token:this.session.accessToken.jwtToken}))}return{type:"success",message:"Message sent."}}throw new e("Realtime connection is not open. Try reconnecting with connectRealtime().",{code:"INVALID_REQUEST"})}async function gt(t){let n=this.__socket?await this.__socket:this.__socket;if(!n)throw new e("No realtime connection. Execute connectRealtime() before this method.",{code:"INVALID_REQUEST"});t=a(t).data;let{group:r=null}=t;if(!r&&!this.__socket_room)return{type:"success",message:"Left realtime message group."};if(null!==r&&"string"!=typeof r)throw new e('"group" must be a string | null.',{code:"INVALID_PARAMETER"});return n.send(JSON.stringify({action:"joinRoom",rid:r,token:this.session.accessToken.jwtToken})),this.__socket_room=r,{type:"success",message:r?`Joined realtime message group: "${r}".`:"Left realtime message group."}}async function _t(t,n){if(await this.__connection,!(t=c.Params(t,{user_id:e=>c.UserId(e,'User ID in "user_id"'),group:"string"},["group"])).group)throw new e('"group" is required.',{code:"INVALID_PARAMETER"});if(!t.user_id&&lt[t.group])return lt[t.group];let r=f.bind(this)("get-ws-group",t,{fetchOptions:n,auth:!0,method:"post"}).then((e=>(e.list=e.list.map((e=>{let n=e.uid.split("#")[1];return t.user_id||(ct[t.group]||(ct[t.group]={}),ct[t.group][n]?ct[t.group][n].includes(e.cid)||ct[t.group][n].push(e.cid):ct[t.group][n]=[e.cid]),{user_id:n,connection_id:e.cid}})),e))).finally((()=>{delete lt[t.group]}));return t.user_id||lt[t.group]||(lt[t.group]=r),r}async function mt(t,n){if(await this.__connection,t||(t={searchFor:"group"}),(t=c.Params(t,{searchFor:["group","number_of_users",()=>"group"],value:["string","number",()=>t?.searchFor&&"number_of_users"===t?.searchFor?0:" "],condition:[">",">=","=","<","<=","!=","gt","gte","eq","lt","lte","ne"],range:["string","number"]})).condition||(" "!==t.value&&t.value?t.condition="=":t.condition=">"),t.range&&t.condition&&delete t.condition,"number_of_users"===t.searchFor&&"number"!=typeof t.value)throw new e('"value" must be a number.',{code:"INVALID_PARAMETER"});if("group"===t.searchFor&&"string"!=typeof t.value)throw new e('"value" must be a string.',{code:"INVALID_PARAMETER"});if(t.hasOwnProperty("range")&&typeof t.range!=typeof t.value)throw new e(`"range" must be a ${typeof t.value}.`,{code:"INVALID_PARAMETER"});let r=await f.bind(this)("get-ws-group",t,{fetchOptions:n,auth:!0,method:"post"});return r.list=r.list.map((e=>({group:e.rid.split("#")[1],number_of_users:e.cnt}))),r}async function yt(t){let n=!1,r=e=>{for(let t in e)if("string"==typeof e[t]&&e[t].includes("$CLIENT_SECRET")){n=!0;break}};if(c.Params(t,{url:t=>{if(!t||"string"!=typeof t)throw new e('"url" should be type: <string>.',{code:"INVALID_PARAMETER"});return c.Url(t),t.includes("$CLIENT_SECRET")&&(n=!0),t},clientSecretName:"string",method:t=>{if(t&&"string"!=typeof t)throw new e('"method" should be either "GET" or "POST" or "DELETE" or "PUT".',{code:"INVALID_PARAMETER"});let n=t.toLowerCase();if("get"!==n&&"post"!==n&&"delete"!==n&&"put"!==n)throw new e('"method" should be either "GET" or "POST" or "DELETE" or "PUT".',{code:"INVALID_PARAMETER"});return n},headers:t=>{if(t&&"object"!=typeof t)throw new e('"headers" should be type: <object>.',{code:"INVALID_PARAMETER"});return r(t),t},data:t=>{if(t&&"object"!=typeof t)throw new e('"data" should be type: <object>.',{code:"INVALID_PARAMETER"});return r(t),t},params:t=>{if(t&&"object"!=typeof t)throw new e('"params" should be type: <object>.',{code:"INVALID_PARAMETER"});return r(t),t}},["clientSecretName","method","url"]),!n)throw new e(`At least one parameter value should include "$CLIENT_SECRET" in ${"post"===t.method.toLowerCase()?'"data"':'"params"'} or "headers".`,{code:"INVALID_PARAMETER"});await this.__connection;let i=!!this.__user;return f.bind(this)("client-secret-request"+(i?"-public":""),t,{auth:i})}async function wt(e){await this.__connection;let t={name:"string",email:e=>(c.Email(e),e),subject:"string",message:"string"};return e=c.Params(e,t,["name","email","subject","message"]),await f.bind(this)("send-inquiry",e),"SUCCESS: Inquiry has been sent."}async function bt(e){await this.__connection;let t={url:e=>c.Url(e),data:e=>e,sync:["boolean",()=>!0]};if(Array.isArray(e))for(let n of e)n=c.Params(n,t);else e=c.Params(e,t);return f.bind(this)("post-secure",e,{auth:!0})}async function At(e,t){await this.__connection;let{auth:n=!1,method:r="POST",bypassAwaitConnection:i=!1,responseType:s,contentType:o,progress:a}=t||{};return t=Object.assign({auth:n,method:r,bypassAwaitConnection:i,responseType:s,contentType:o},{fetchOptions:{progress:a}}),f.bind(this)("mock",e,t)}function vt(t){return c.Params(t,{user_id:t=>{if(!this.__user)throw new e("User should be logged in.",{code:"INVALID_REQUEST"});if(t===this.__user.user_id)throw new e('"user_id" cannot be the user\'s own ID.',{code:"INVALID_PARAMETER"});return c.UserId(t,'"user_id"')}},["user_id"])}async function Et(t,n,r){if(!(t=c.Params(t,{subscriber:e=>c.UserId(e,'User ID in "subscriber"'),subscription:e=>c.UserId(e,'User ID in "subscription"'),blocked:"boolean"})).subscriber&&!t.subscription)throw new e('At least either "subscriber" or "subscription" should have a value.',{code:"INVALID_PARAMETER"});Object.assign(t,{group:1});let i=await f.bind(this)("get-subscription",t,Object.assign({auth:!0},{fetchOptions:n}));return i.list=i.list.map(r||(e=>{let t={},n=e.sub.split("#");return t.subscriber=n[2],t.subscription=n[0],t.group=parseInt(n[1]),t.timestamp=e.stmp,t.blocked="N"===e.grp.substring(0,1),t})),i}async function St(e){await this.__connection;let{user_id:t}=vt.bind(this)(e);return await f.bind(this)("subscription",{subscribe:t,group:1},{auth:!0})}async function It(e){await this.__connection;let{user_id:t}=vt.bind(this)(e);return await f.bind(this)("subscription",{unsubscribe:t,group:1},{auth:!0})}async function Tt(e){await this.__connection;let{user_id:t}=vt.bind(this)(e);return await f.bind(this)("subscription",{block:t,group:1},{auth:!0})}async function Rt(e){await this.__connection;let{user_id:t}=vt.bind(this)(e);return await f.bind(this)("subscription",{unblock:t,group:1},{auth:!0})}async function Ut(t){await this.__connection;let n=await Ue.bind(this)();t=c.Params(t,{user_id:t=>{if(t!==this.__user.user_id&&!n)throw new e("No access.",{code:"INVALID_REQUEST"});return t},group:t=>{if("public"===t&&(t=0),"authorized"===t&&(t=1),"number"!=typeof t)throw new e('"group" should be type number | "public" | "authorized".',{code:"INVALID_PARAMETER"});return t}});let r=await f.bind(this)("get-newsletter-subscription",t,{auth:!0}),i=[];for(let e of r){let t=e.subt.split("#"),n=!0;"@"===t[0].charAt(0)&&(n=!1,t[0]=t[0].substring(1));let r=parseInt(t[0]);i.push({timestamp:e.stmp,group:r,subscribed_email:t[1],active:n})}return i}async function Dt(e){await this.__connection;let t=c.Params(e||{},{email:e=>c.Email(e),group:["number","public","authorized"],redirect:e=>c.Url(e)},this.__user?["group"]:["email","group"]);return f.bind(this)(`subscribe-${this.__user?"":"public-"}newsletter`,t,{auth:!!this.__user})}async function Ct(e){await this.__connection,e=c.Params(e,{group:["number","public","authorized"]},["group"]);let t=Object.assign({action:"unsubscribe"},e);return f.bind(this)("subscribe-newsletter",t,{auth:!0})}async function Pt(t,n){let r=await Ue.bind(this)(),i={message_id:"string",timestamp:"number",read:"number",complaint:"number",subject:"string"};t||(n=Object.assign({ascending:!1},n||{})),t=t||{searchFor:"timestamp",value:Date.now(),condition:"<",group:"public"};let s=0===(t=c.Params(t,{searchFor:["message_id","timestamp","read","complaint","group","subject"],value:n=>{if(typeof n!==i[t.searchFor])throw new e(`"value" type does not match the type of "${t.searchFor}" index.`,{code:"INVALID_PARAMETER"});if("string"==typeof n&&!n)throw new e('"value" should not be empty string.',{code:"INVALID_PARAMETER"});return n},range:n=>{if(!t.hasOwnProperty("value")||typeof n!=typeof t.value)throw new e('"range" should match type of "value".',{code:"INVALID_PARAMETER"});return n},condition:[">",">=","=","<","<=","gt","gte","eq","lt","lte",()=>"="],group:t=>{if("public"===t)return 0;if(!this.session)throw new e("User should be logged in.",{code:"INVALID_REQUEST"});if("authorized"===t)return 1;if("number"==typeof t){if(!r&&t>parseInt(this.session.idToken.payload.access_group))throw new e("User has no access.",{code:"INVALID_REQUEST"});return t}throw new e('"group" should be type: number | "public" | "authorized".',{code:"INVALID_PARAMETER"})}},["searchFor","value","group"])).group?"get-public-newsletters":"get-newsletters",o=await f.bind(this)(s,t,Object.assign({method:"get",auth:"get-public-newsletters"!==s||!!this.__user},{fetchOptions:n})),a={message_id:"mid",timestamp:"stmp",complaint:"cmpl",read:"read",subject:"subj",bounced:"bnce",url:"url"},u={message_id:"",timestamp:0,complaint:0,read:0,subject:"",bounced:0,url:""};return o.list=o.list.map((e=>{let t={};for(let n in a)t[n]=e[a[n]]||u[n];return t})),o}var Nt=function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o};class kt{get user(){return this.__user&&Object.keys(this.__user).length?JSON.parse(JSON.stringify(this.__user)):null}set user(e){}constructor(n,r,u,l){if(this.version="1.0.142",this.session=null,this.connection=null,this.host="skapi",this.hostDomain="skapi.com",this.target_cdn="d3e9syvbtso631",this.__disabledAccount=null,this.__cached_requests={},this.__startKeyHistory={},this.__request_signup_confirmation=null,this.__private_access_key={},this.__class_properties_has_been_cached=!1,this.__user=null,this.validate={userId(e){try{return c.UserId(e),!0}catch(e){return!1}},url(e){try{return c.Url(e),!0}catch(e){return!1}},phoneNumber(e){try{return c.PhoneNumber(e),!0}catch(e){return!1}},birthdate(e){try{return c.Birthdate(e),!0}catch(e){return!1}},email(e){try{return c.Email(e),!0}catch(e){return!1}}},this.util={MD5:t,generateRandom:o,toBase62:i,fromBase62:s,extractFormData:a,request:(e,t,n)=>f.bind(this)(e,t,n,{ignoreService:!0})},this.__network_logs=!1,this.registerTicket=Se.bind(this),this.unregisterTicket=Ie.bind(this),"string"!=typeof n||"string"!=typeof r)throw new e('"service" and "owner" should be type <string>.',{code:"INVALID_PARAMETER"});if(!n||!r)throw new e('"service" and "owner" is required',{code:"INVALID_PARAMETER"});r!==this.host&&c.UserId(r,'"owner"'),this.service=n,this.owner=r;let h=!0;u&&"boolean"==typeof u.autoLogin&&(h=u.autoLogin),this.target_cdn=l?.target_cdn||this.target_cdn,this.hostDomain=l?.hostDomain||this.hostDomain,this.__network_logs=!!l?.network_logs;const d=`https://${this.target_cdn}.cloudfront.net`;let p=n.substring(0,4);if(this.admin_endpoint=fetch(`${d}/${p}/admin.json`).then((e=>e.blob())).then((e=>new Promise(((t,n)=>{const r=new FileReader;r.onloadend=()=>t(r.result),r.onerror=n,r.readAsDataURL(e)})))).then((e=>"string"==typeof e?JSON.parse(window.atob(e.split(",")[1])):null)),this.record_endpoint=fetch(`${d}/${p}/record.json`).then((e=>e.blob())).then((e=>new Promise(((t,n)=>{const r=new FileReader;r.onloadend=()=>t(r.result),r.onerror=n,r.readAsDataURL(e)})))).then((e=>"string"==typeof e?JSON.parse(window.atob(e.split(",")[1])):null)),!window.sessionStorage)throw new Error("This browser does not support skapi.");const g=JSON.parse(window.sessionStorage.getItem(`${n}#${r}`)||"null");if(g?.connection)for(let e in g)this[e]=g[e];this.__authConnection=(async()=>{const e=await this.admin_endpoint;var t;if(t={UserPoolId:e.userpool_id,ClientId:e.userpool_client},we=new me(t),g?.connection||h)try{await Te.bind(this)().getSession({refreshToken:!g?.connection})}catch(e){this.__user=null}else{let e=we.getCurrentUser();e&&e.signOut()}})(),this.__connection=(async()=>{let e=null;g?.connection||(e=this.updateConnection());const t=()=>{if(this.__class_properties_has_been_cached)return;let t=()=>{let e={};const t=["__startKeyHistory","__disabledAccount","__cached_requests","__request_signup_confirmation","connection"];if(this.connection){for(let n of t)e[n]=this[n];window.sessionStorage.setItem(`${n}#${r}`,JSON.stringify(e)),this.__class_properties_has_been_cached=!0}};return e instanceof Promise?e.then((()=>t())):t()};if(window.addEventListener("beforeunload",(()=>{t(),this.closeRealtime()})),window.addEventListener("visibilitychange",(()=>{t()})),await e,await this.__authConnection,this.connection.group<3){let e="%c\r\n $$\\ $$\\ \r\n $$ | \\__|\r\n $$$$$$$\\ $$ | $$\\ $$$$$$\\ $$$$$$\\ $$\\ \r\n$$ _____|$$ | $$ |\\____$$\\ $$ __$$\\ $$ |\r\n\\$$$$$$\\ $$$$$$ / $$$$$$$ |$$ / $$ |$$ |\r\n \\____$$\\ $$ _$$< $$ __$$ |$$ | $$ |$$ |\r\n$$$$$$$ |$$ | \\$$\\\\$$$$$$$ |$$$$$$$ |$$ |\r\n\\_______/ \\__| \\__|\\_______|$$ ____/ \\__|\r\n $$ | \r\n $$ | \r\n \\__| \r\n";console.log(`Built with:\n${e}Version: ${this.version}\n\nDocumentation: https://docs.skapi.com`,"font-family: monospace; color:blue;"),1===this.connection.group&&console.log("%cSKAPI: THE SERVICE IS IN TRIAL MODE. ALL THE USERS AND DATA WILL BE INITIALIZED EVERY 30 DAYS.","font-family: monospace; color:red;")}return this.connection})()}async updateConnection(){try{this.connection=await f.bind(this)("service",{service:this.service,owner:this.owner},{bypassAwaitConnection:!0,method:"get"})}catch(e){throw window&&window.alert("Service is not available: "+(e.message||e.toString())),this.connection=null,e}return this.connection}connectRealtime(e){return ft.bind(this)(e)}jwtLogin(e){return Ne.bind(this)(e)}clientSecretRequest(e){return yt.bind(this)(e)}consumeTicket(e){return Ae.bind(this)(e)}getConsumedTickets(e,t){return Ee.bind(this)(e,t)}getTickets(e,t){return ve.bind(this)(e,t)}closeRealtime(){return dt.bind(this)()}getRealtimeUsers(e,t){return _t.bind(this)(e,t)}sendInquiry(e){return wt.bind(this)(e)}getRealtimeGroups(e,t){return mt.bind(this)(e,t)}postRealtime(e,t){return pt.bind(this)(e,t)}joinRealtime(e){return gt.bind(this)(e)}getConnection(){return this.__connection}getProfile(e){return Re.bind(this)(e)}getFile(e,t){return Qe.bind(this)(e,t)}secureRequest(e){return bt.bind(this)(e)}getFormResponse(){return w.bind(this)()}getRecords(e,t){return Ge.bind(this)(e,t)}getTables(e,t){return Ze.bind(this)(e,t)}getIndexes(e,t){return Xe.bind(this)(e,t)}getTags(e,t){return et.bind(this)(e,t)}deleteRecords(e){return tt.bind(this)(e)}resendSignupConfirmation(e){return Ce.bind(this)(e)}recoverAccount(e=!1){return Pe.bind(this)(e)}getUsers(e,t){return je.bind(this)(e,t)}disableAccount(){return Me.bind(this)()}lastVerifiedEmail(e){return Ke.bind(this)(e)}unsubscribeNewsletter(e){return Ct.bind(this)(e)}getNewsletters(e,t){return Pt.bind(this)(e,t)}getNewsletterSubscription(e){return Ut.bind(this)(e)}requestUsernameChange(e){return He.bind(this)(e)}grantPrivateRecordAccess(e){return nt.bind(this)(e)}removePrivateRecordAccess(e){return rt.bind(this)(e)}listPrivateRecordAccess(e){return it.bind(this)(e)}requestPrivateRecordAccessKey(e){return st.bind(this)(e)}deleteFiles(e){return Ye.bind(this)(e)}uploadFiles(e,t){return _.bind(this)(e,t)}mock(e,t){return At.bind(this)(e,t)}login(e){return ke.bind(this)(e)}logout(){return De.bind(this)()}signup(e,t){return Oe.bind(this)(e,t)}resetPassword(e){return Le.bind(this)(e)}verifyEmail(e){return xe.bind(this)(e)}verifyPhoneNumber(e){return Fe.bind(this)(e)}forgotPassword(e){return Be.bind(this)(e)}changePassword(e){return $e.bind(this)(e)}updateProfile(e){return qe.bind(this)(e)}postRecord(e,t){return ze.bind(this)(e,t)}getSubscriptions(e,t){return Et.bind(this)(e,t)}subscribe(e){return St.bind(this)(e)}unsubscribe(e){return It.bind(this)(e)}blockSubscriber(e){return Tt.bind(this)(e)}unblockSubscriber(e){return Rt.bind(this)(e)}subscribeNewsletter(e){return Dt.bind(this)(e)}}Nt([y()],kt.prototype,"clientSecretRequest",null),Nt([y()],kt.prototype,"consumeTicket",null),Nt([y()],kt.prototype,"getConsumedTickets",null),Nt([y()],kt.prototype,"getTickets",null),Nt([y()],kt.prototype,"getRealtimeUsers",null),Nt([y()],kt.prototype,"sendInquiry",null),Nt([y()],kt.prototype,"getRealtimeGroups",null),Nt([y()],kt.prototype,"postRealtime",null),Nt([y()],kt.prototype,"joinRealtime",null),Nt([y()],kt.prototype,"getProfile",null),Nt([y()],kt.prototype,"getFile",null),Nt([y()],kt.prototype,"secureRequest",null),Nt([y()],kt.prototype,"getFormResponse",null),Nt([y()],kt.prototype,"getRecords",null),Nt([y()],kt.prototype,"getTables",null),Nt([y()],kt.prototype,"getIndexes",null),Nt([y()],kt.prototype,"getTags",null),Nt([y()],kt.prototype,"deleteRecords",null),Nt([y()],kt.prototype,"resendSignupConfirmation",null),Nt([y()],kt.prototype,"recoverAccount",null),Nt([y()],kt.prototype,"getUsers",null),Nt([y()],kt.prototype,"disableAccount",null),Nt([y()],kt.prototype,"lastVerifiedEmail",null),Nt([y()],kt.prototype,"unsubscribeNewsletter",null),Nt([y()],kt.prototype,"getNewsletters",null),Nt([y()],kt.prototype,"getNewsletterSubscription",null),Nt([y()],kt.prototype,"requestUsernameChange",null),Nt([y()],kt.prototype,"grantPrivateRecordAccess",null),Nt([y()],kt.prototype,"removePrivateRecordAccess",null),Nt([y()],kt.prototype,"listPrivateRecordAccess",null),Nt([y()],kt.prototype,"requestPrivateRecordAccessKey",null),Nt([y()],kt.prototype,"deleteFiles",null),Nt([y()],kt.prototype,"uploadFiles",null),Nt([y()],kt.prototype,"mock",null),Nt([y({preventMultipleCalls:!0})],kt.prototype,"login",null),Nt([y()],kt.prototype,"logout",null),Nt([y({preventMultipleCalls:!0})],kt.prototype,"signup",null),Nt([y({preventMultipleCalls:!0})],kt.prototype,"resetPassword",null),Nt([y({preventMultipleCalls:!0})],kt.prototype,"verifyEmail",null),Nt([y({preventMultipleCalls:!0})],kt.prototype,"verifyPhoneNumber",null),Nt([y({preventMultipleCalls:!0})],kt.prototype,"forgotPassword",null),Nt([y({preventMultipleCalls:!0})],kt.prototype,"changePassword",null),Nt([y({preventMultipleCalls:!0})],kt.prototype,"updateProfile",null),Nt([y()],kt.prototype,"postRecord",null),Nt([y()],kt.prototype,"getSubscriptions",null),Nt([y()],kt.prototype,"subscribe",null),Nt([y()],kt.prototype,"unsubscribe",null),Nt([y()],kt.prototype,"blockSubscriber",null),Nt([y()],kt.prototype,"unblockSubscriber",null),Nt([y()],kt.prototype,"subscribeNewsletter",null)})(),r})()));
3
3
  //# sourceMappingURL=skapi.js.map