From bf153d52184f09605bc36a316cdf040dc6f5e651 Mon Sep 17 00:00:00 2001 From: Albert Putra Purnama Date: Fri, 30 Jul 2021 12:43:43 -0700 Subject: [PATCH 1/4] Remove trailing and leading slash --- dist/cotter.loader.js | 2 +- dist/cotter.loader.js.map | 2 +- src/loader/index.ts | 9 ++++++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/dist/cotter.loader.js b/dist/cotter.loader.js index d771831..c4aab24 100644 --- a/dist/cotter.loader.js +++ b/dist/cotter.loader.js @@ -1,3 +1,3 @@ /*! For license information please see cotter.loader.js.LICENSE.txt */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("Cotter",[],e):"object"==typeof exports?exports.Cotter=e():t.Cotter=e()}(self,(function(){return(()=>{var t={9669:(t,e,n)=>{t.exports=n(1609)},5448:(t,e,n)=>{"use strict";var r=n(4867),o=n(6026),i=n(4372),s=n(5327),a=n(4097),c=n(4109),u=n(7985),l=n(5061);t.exports=function(t){return new Promise((function(e,n){var f=t.data,h=t.headers;r.isFormData(f)&&delete h["Content-Type"];var d=new XMLHttpRequest;if(t.auth){var p=t.auth.username||"",y=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";h.Authorization="Basic "+btoa(p+":"+y)}var g=a(t.baseURL,t.url);if(d.open(t.method.toUpperCase(),s(g,t.params,t.paramsSerializer),!0),d.timeout=t.timeout,d.onreadystatechange=function(){if(d&&4===d.readyState&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in d?c(d.getAllResponseHeaders()):null,i={data:t.responseType&&"text"!==t.responseType?d.response:d.responseText,status:d.status,statusText:d.statusText,headers:r,config:t,request:d};o(e,n,i),d=null}},d.onabort=function(){d&&(n(l("Request aborted",t,"ECONNABORTED",d)),d=null)},d.onerror=function(){n(l("Network Error",t,null,d)),d=null},d.ontimeout=function(){var e="timeout of "+t.timeout+"ms exceeded";t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(l(e,t,"ECONNABORTED",d)),d=null},r.isStandardBrowserEnv()){var v=(t.withCredentials||u(g))&&t.xsrfCookieName?i.read(t.xsrfCookieName):void 0;v&&(h[t.xsrfHeaderName]=v)}if("setRequestHeader"in d&&r.forEach(h,(function(t,e){void 0===f&&"content-type"===e.toLowerCase()?delete h[e]:d.setRequestHeader(e,t)})),r.isUndefined(t.withCredentials)||(d.withCredentials=!!t.withCredentials),t.responseType)try{d.responseType=t.responseType}catch(e){if("json"!==t.responseType)throw e}"function"==typeof t.onDownloadProgress&&d.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",t.onUploadProgress),t.cancelToken&&t.cancelToken.promise.then((function(t){d&&(d.abort(),n(t),d=null)})),f||(f=null),d.send(f)}))}},1609:(t,e,n)=>{"use strict";var r=n(4867),o=n(1849),i=n(321),s=n(7185);function a(t){var e=new i(t),n=o(i.prototype.request,e);return r.extend(n,i.prototype,e),r.extend(n,e),n}var c=a(n(5655));c.Axios=i,c.create=function(t){return a(s(c.defaults,t))},c.Cancel=n(5263),c.CancelToken=n(4972),c.isCancel=n(6502),c.all=function(t){return Promise.all(t)},c.spread=n(8713),c.isAxiosError=n(6268),t.exports=c,t.exports.default=c},5263:t=>{"use strict";function e(t){this.message=t}e.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},e.prototype.__CANCEL__=!0,t.exports=e},4972:(t,e,n)=>{"use strict";var r=n(5263);function o(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var n=this;t((function(t){n.reason||(n.reason=new r(t),e(n.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var t;return{token:new o((function(e){t=e})),cancel:t}},t.exports=o},6502:t=>{"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},321:(t,e,n)=>{"use strict";var r=n(4867),o=n(5327),i=n(782),s=n(3572),a=n(7185);function c(t){this.defaults=t,this.interceptors={request:new i,response:new i}}c.prototype.request=function(t){"string"==typeof t?(t=arguments[1]||{}).url=arguments[0]:t=t||{},(t=a(this.defaults,t)).method?t.method=t.method.toLowerCase():this.defaults.method?t.method=this.defaults.method.toLowerCase():t.method="get";var e=[s,void 0],n=Promise.resolve(t);for(this.interceptors.request.forEach((function(t){e.unshift(t.fulfilled,t.rejected)})),this.interceptors.response.forEach((function(t){e.push(t.fulfilled,t.rejected)}));e.length;)n=n.then(e.shift(),e.shift());return n},c.prototype.getUri=function(t){return t=a(this.defaults,t),o(t.url,t.params,t.paramsSerializer).replace(/^\?/,"")},r.forEach(["delete","get","head","options"],(function(t){c.prototype[t]=function(e,n){return this.request(a(n||{},{method:t,url:e,data:(n||{}).data}))}})),r.forEach(["post","put","patch"],(function(t){c.prototype[t]=function(e,n,r){return this.request(a(r||{},{method:t,url:e,data:n}))}})),t.exports=c},782:(t,e,n)=>{"use strict";var r=n(4867);function o(){this.handlers=[]}o.prototype.use=function(t,e){return this.handlers.push({fulfilled:t,rejected:e}),this.handlers.length-1},o.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},o.prototype.forEach=function(t){r.forEach(this.handlers,(function(e){null!==e&&t(e)}))},t.exports=o},4097:(t,e,n)=>{"use strict";var r=n(1793),o=n(7303);t.exports=function(t,e){return t&&!r(e)?o(t,e):e}},5061:(t,e,n)=>{"use strict";var r=n(481);t.exports=function(t,e,n,o,i){var s=new Error(t);return r(s,e,n,o,i)}},3572:(t,e,n)=>{"use strict";var r=n(4867),o=n(8527),i=n(6502),s=n(5655);function a(t){t.cancelToken&&t.cancelToken.throwIfRequested()}t.exports=function(t){return a(t),t.headers=t.headers||{},t.data=o(t.data,t.headers,t.transformRequest),t.headers=r.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),r.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete t.headers[e]})),(t.adapter||s.adapter)(t).then((function(e){return a(t),e.data=o(e.data,e.headers,t.transformResponse),e}),(function(e){return i(e)||(a(t),e&&e.response&&(e.response.data=o(e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)}))}},481:t=>{"use strict";t.exports=function(t,e,n,r,o){return t.config=e,n&&(t.code=n),t.request=r,t.response=o,t.isAxiosError=!0,t.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},t}},7185:(t,e,n)=>{"use strict";var r=n(4867);t.exports=function(t,e){e=e||{};var n={},o=["url","method","data"],i=["headers","auth","proxy","params"],s=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],a=["validateStatus"];function c(t,e){return r.isPlainObject(t)&&r.isPlainObject(e)?r.merge(t,e):r.isPlainObject(e)?r.merge({},e):r.isArray(e)?e.slice():e}function u(o){r.isUndefined(e[o])?r.isUndefined(t[o])||(n[o]=c(void 0,t[o])):n[o]=c(t[o],e[o])}r.forEach(o,(function(t){r.isUndefined(e[t])||(n[t]=c(void 0,e[t]))})),r.forEach(i,u),r.forEach(s,(function(o){r.isUndefined(e[o])?r.isUndefined(t[o])||(n[o]=c(void 0,t[o])):n[o]=c(void 0,e[o])})),r.forEach(a,(function(r){r in e?n[r]=c(t[r],e[r]):r in t&&(n[r]=c(void 0,t[r]))}));var l=o.concat(i).concat(s).concat(a),f=Object.keys(t).concat(Object.keys(e)).filter((function(t){return-1===l.indexOf(t)}));return r.forEach(f,u),n}},6026:(t,e,n)=>{"use strict";var r=n(5061);t.exports=function(t,e,n){var o=n.config.validateStatus;n.status&&o&&!o(n.status)?e(r("Request failed with status code "+n.status,n.config,null,n.request,n)):t(n)}},8527:(t,e,n)=>{"use strict";var r=n(4867);t.exports=function(t,e,n){return r.forEach(n,(function(n){t=n(t,e)})),t}},5655:(t,e,n)=>{"use strict";var r=n(4867),o=n(6016),i={"Content-Type":"application/x-www-form-urlencoded"};function s(t,e){!r.isUndefined(t)&&r.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var a,c={adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(a=n(5448)),a),transformRequest:[function(t,e){return o(e,"Accept"),o(e,"Content-Type"),r.isFormData(t)||r.isArrayBuffer(t)||r.isBuffer(t)||r.isStream(t)||r.isFile(t)||r.isBlob(t)?t:r.isArrayBufferView(t)?t.buffer:r.isURLSearchParams(t)?(s(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):r.isObject(t)?(s(e,"application/json;charset=utf-8"),JSON.stringify(t)):t}],transformResponse:[function(t){if("string"==typeof t)try{t=JSON.parse(t)}catch(t){}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};r.forEach(["delete","get","head"],(function(t){c.headers[t]={}})),r.forEach(["post","put","patch"],(function(t){c.headers[t]=r.merge(i)})),t.exports=c},1849:t=>{"use strict";t.exports=function(t,e){return function(){for(var n=new Array(arguments.length),r=0;r{"use strict";var r=n(4867);function o(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,e,n){if(!e)return t;var i;if(n)i=n(e);else if(r.isURLSearchParams(e))i=e.toString();else{var s=[];r.forEach(e,(function(t,e){null!=t&&(r.isArray(t)?e+="[]":t=[t],r.forEach(t,(function(t){r.isDate(t)?t=t.toISOString():r.isObject(t)&&(t=JSON.stringify(t)),s.push(o(e)+"="+o(t))})))})),i=s.join("&")}if(i){var a=t.indexOf("#");-1!==a&&(t=t.slice(0,a)),t+=(-1===t.indexOf("?")?"?":"&")+i}return t}},7303:t=>{"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},4372:(t,e,n)=>{"use strict";var r=n(4867);t.exports=r.isStandardBrowserEnv()?{write:function(t,e,n,o,i,s){var a=[];a.push(t+"="+encodeURIComponent(e)),r.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),r.isString(o)&&a.push("path="+o),r.isString(i)&&a.push("domain="+i),!0===s&&a.push("secure"),document.cookie=a.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},1793:t=>{"use strict";t.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)}},6268:t=>{"use strict";t.exports=function(t){return"object"==typeof t&&!0===t.isAxiosError}},7985:(t,e,n)=>{"use strict";var r=n(4867);t.exports=r.isStandardBrowserEnv()?function(){var t,e=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function o(t){var r=t;return e&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return t=o(window.location.href),function(e){var n=r.isString(e)?o(e):e;return n.protocol===t.protocol&&n.host===t.host}}():function(){return!0}},6016:(t,e,n)=>{"use strict";var r=n(4867);t.exports=function(t,e){r.forEach(t,(function(n,r){r!==e&&r.toUpperCase()===e.toUpperCase()&&(t[e]=n,delete t[r])}))}},4109:(t,e,n)=>{"use strict";var r=n(4867),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var e,n,i,s={};return t?(r.forEach(t.split("\n"),(function(t){if(i=t.indexOf(":"),e=r.trim(t.substr(0,i)).toLowerCase(),n=r.trim(t.substr(i+1)),e){if(s[e]&&o.indexOf(e)>=0)return;s[e]="set-cookie"===e?(s[e]?s[e]:[]).concat([n]):s[e]?s[e]+", "+n:n}})),s):s}},8713:t=>{"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},4867:(t,e,n)=>{"use strict";var r=n(1849),o=Object.prototype.toString;function i(t){return"[object Array]"===o.call(t)}function s(t){return void 0===t}function a(t){return null!==t&&"object"==typeof t}function c(t){if("[object Object]"!==o.call(t))return!1;var e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}function u(t){return"[object Function]"===o.call(t)}function l(t,e){if(null!=t)if("object"!=typeof t&&(t=[t]),i(t))for(var n=0,r=t.length;n{"use strict";e.byteLength=function(t){var e=c(t),n=e[0],r=e[1];return 3*(n+r)/4-r},e.toByteArray=function(t){var e,n,i=c(t),s=i[0],a=i[1],u=new o(function(t,e,n){return 3*(e+n)/4-n}(0,s,a)),l=0,f=a>0?s-4:s;for(n=0;n>16&255,u[l++]=e>>8&255,u[l++]=255&e;return 2===a&&(e=r[t.charCodeAt(n)]<<2|r[t.charCodeAt(n+1)]>>4,u[l++]=255&e),1===a&&(e=r[t.charCodeAt(n)]<<10|r[t.charCodeAt(n+1)]<<4|r[t.charCodeAt(n+2)]>>2,u[l++]=e>>8&255,u[l++]=255&e),u},e.fromByteArray=function(t){for(var e,r=t.length,o=r%3,i=[],s=16383,a=0,c=r-o;ac?c:a+s));return 1===o?(e=t[r-1],i.push(n[e>>2]+n[e<<4&63]+"==")):2===o&&(e=(t[r-2]<<8)+t[r-1],i.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"=")),i.join("")};for(var n=[],r=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,a=i.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function u(t,e,r){for(var o,i,s=[],a=e;a>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return s.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},8764:(t,e,n)=>{"use strict";const r=n(9742),o=n(645),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=c,e.SlowBuffer=function(t){return+t!=t&&(t=0),c.alloc(+t)},e.INSPECT_MAX_BYTES=50;const s=2147483647;function a(t){if(t>s)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,c.prototype),e}function c(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return f(t)}return u(t,e,n)}function u(t,e,n){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!c.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const n=0|y(t,e);let r=a(n);const o=r.write(t,e);return o!==n&&(r=r.slice(0,o)),r}(t,e);if(ArrayBuffer.isView(t))return function(t){if(J(t,Uint8Array)){const e=new Uint8Array(t);return d(e.buffer,e.byteOffset,e.byteLength)}return h(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(J(t,ArrayBuffer)||t&&J(t.buffer,ArrayBuffer))return d(t,e,n);if("undefined"!=typeof SharedArrayBuffer&&(J(t,SharedArrayBuffer)||t&&J(t.buffer,SharedArrayBuffer)))return d(t,e,n);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const r=t.valueOf&&t.valueOf();if(null!=r&&r!==t)return c.from(r,e,n);const o=function(t){if(c.isBuffer(t)){const e=0|p(t.length),n=a(e);return 0===n.length||t.copy(n,0,0,e),n}return void 0!==t.length?"number"!=typeof t.length||V(t.length)?a(0):h(t):"Buffer"===t.type&&Array.isArray(t.data)?h(t.data):void 0}(t);if(o)return o;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return c.from(t[Symbol.toPrimitive]("string"),e,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function l(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function f(t){return l(t),a(t<0?0:0|p(t))}function h(t){const e=t.length<0?0:0|p(t.length),n=a(e);for(let r=0;r=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return 0|t}function y(t,e){if(c.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||J(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const n=t.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;let o=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return q(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return $(t).length;default:if(o)return r?-1:q(t).length;e=(""+e).toLowerCase(),o=!0}}function g(t,e,n){let r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return k(this,e,n);case"utf8":case"utf-8":return O(this,e,n);case"ascii":return R(this,e,n);case"latin1":case"binary":return C(this,e,n);case"base64":return T(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return D(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function v(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function m(t,e,n,r,o){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),V(n=+n)&&(n=o?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(o)return-1;n=t.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof e&&(e=c.from(e,r)),c.isBuffer(e))return 0===e.length?-1:w(t,e,n,r,o);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):w(t,[e],n,r,o);throw new TypeError("val must be string, number or Buffer")}function w(t,e,n,r,o){let i,s=1,a=t.length,c=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;s=2,a/=2,c/=2,n/=2}function u(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(o){let r=-1;for(i=n;ia&&(n=a-c),i=n;i>=0;i--){let n=!0;for(let r=0;ro&&(r=o):r=o;const i=e.length;let s;for(r>i/2&&(r=i/2),s=0;s>8,o=n%256,i.push(o),i.push(r);return i}(e,t.length-n),t,n,r)}function T(t,e,n){return 0===e&&n===t.length?r.fromByteArray(t):r.fromByteArray(t.slice(e,n))}function O(t,e,n){n=Math.min(t.length,n);const r=[];let o=e;for(;o239?4:e>223?3:e>191?2:1;if(o+s<=n){let n,r,a,c;switch(s){case 1:e<128&&(i=e);break;case 2:n=t[o+1],128==(192&n)&&(c=(31&e)<<6|63&n,c>127&&(i=c));break;case 3:n=t[o+1],r=t[o+2],128==(192&n)&&128==(192&r)&&(c=(15&e)<<12|(63&n)<<6|63&r,c>2047&&(c<55296||c>57343)&&(i=c));break;case 4:n=t[o+1],r=t[o+2],a=t[o+3],128==(192&n)&&128==(192&r)&&128==(192&a)&&(c=(15&e)<<18|(63&n)<<12|(63&r)<<6|63&a,c>65535&&c<1114112&&(i=c))}}null===i?(i=65533,s=1):i>65535&&(i-=65536,r.push(i>>>10&1023|55296),i=56320|1023&i),r.push(i),o+=s}return function(t){const e=t.length;if(e<=S)return String.fromCharCode.apply(String,t);let n="",r=0;for(;rr.length?(c.isBuffer(e)||(e=c.from(e)),e.copy(r,o)):Uint8Array.prototype.set.call(r,e,o);else{if(!c.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(r,o)}o+=e.length}return r},c.byteLength=y,c.prototype._isBuffer=!0,c.prototype.swap16=function(){const t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;en&&(t+=" ... "),""},i&&(c.prototype[i]=c.prototype.inspect),c.prototype.compare=function(t,e,n,r,o){if(J(t,Uint8Array)&&(t=c.from(t,t.offset,t.byteLength)),!c.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),e<0||n>t.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&e>=n)return 0;if(r>=o)return-1;if(e>=n)return 1;if(this===t)return 0;let i=(o>>>=0)-(r>>>=0),s=(n>>>=0)-(e>>>=0);const a=Math.min(i,s),u=this.slice(r,o),l=t.slice(e,n);for(let t=0;t>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}const o=this.length-e;if((void 0===n||n>o)&&(n=o),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");let i=!1;for(;;)switch(r){case"hex":return b(this,t,e,n);case"utf8":case"utf-8":return _(this,t,e,n);case"ascii":case"latin1":case"binary":return I(this,t,e,n);case"base64":return E(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,t,e,n);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const S=4096;function R(t,e,n){let r="";n=Math.min(t.length,n);for(let o=e;or)&&(n=r);let o="";for(let r=e;rn)throw new RangeError("Trying to access beyond buffer length")}function L(t,e,n,r,o,i){if(!c.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>o||et.length)throw new RangeError("Index out of range")}function x(t,e,n,r,o){W(e,r,o,t,n,7);let i=Number(e&BigInt(4294967295));t[n++]=i,i>>=8,t[n++]=i,i>>=8,t[n++]=i,i>>=8,t[n++]=i;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[n++]=s,s>>=8,t[n++]=s,s>>=8,t[n++]=s,s>>=8,t[n++]=s,n}function B(t,e,n,r,o){W(e,r,o,t,n,7);let i=Number(e&BigInt(4294967295));t[n+7]=i,i>>=8,t[n+6]=i,i>>=8,t[n+5]=i,i>>=8,t[n+4]=i;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[n+3]=s,s>>=8,t[n+2]=s,s>>=8,t[n+1]=s,s>>=8,t[n]=s,n+8}function M(t,e,n,r,o,i){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function N(t,e,n,r,i){return e=+e,n>>>=0,i||M(t,0,n,4),o.write(t,e,n,r,23,4),n+4}function P(t,e,n,r,i){return e=+e,n>>>=0,i||M(t,0,n,8),o.write(t,e,n,r,52,8),n+8}c.prototype.slice=function(t,e){const n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e>>=0,e>>>=0,n||U(t,e,this.length);let r=this[t],o=1,i=0;for(;++i>>=0,e>>>=0,n||U(t,e,this.length);let r=this[t+--e],o=1;for(;e>0&&(o*=256);)r+=this[t+--e]*o;return r},c.prototype.readUint8=c.prototype.readUInt8=function(t,e){return t>>>=0,e||U(t,1,this.length),this[t]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(t,e){return t>>>=0,e||U(t,2,this.length),this[t]|this[t+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(t,e){return t>>>=0,e||U(t,2,this.length),this[t]<<8|this[t+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(t,e){return t>>>=0,e||U(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(t,e){return t>>>=0,e||U(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},c.prototype.readBigUInt64LE=Z((function(t){G(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||H(t,this.length-8);const r=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,o=this[++t]+256*this[++t]+65536*this[++t]+n*2**24;return BigInt(r)+(BigInt(o)<>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||H(t,this.length-8);const r=e*2**24+65536*this[++t]+256*this[++t]+this[++t],o=this[++t]*2**24+65536*this[++t]+256*this[++t]+n;return(BigInt(r)<>>=0,e>>>=0,n||U(t,e,this.length);let r=this[t],o=1,i=0;for(;++i=o&&(r-=Math.pow(2,8*e)),r},c.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||U(t,e,this.length);let r=e,o=1,i=this[t+--r];for(;r>0&&(o*=256);)i+=this[t+--r]*o;return o*=128,i>=o&&(i-=Math.pow(2,8*e)),i},c.prototype.readInt8=function(t,e){return t>>>=0,e||U(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},c.prototype.readInt16LE=function(t,e){t>>>=0,e||U(t,2,this.length);const n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt16BE=function(t,e){t>>>=0,e||U(t,2,this.length);const n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt32LE=function(t,e){return t>>>=0,e||U(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},c.prototype.readInt32BE=function(t,e){return t>>>=0,e||U(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},c.prototype.readBigInt64LE=Z((function(t){G(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||H(t,this.length-8);const r=this[t+4]+256*this[t+5]+65536*this[t+6]+(n<<24);return(BigInt(r)<>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||H(t,this.length-8);const r=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return(BigInt(r)<>>=0,e||U(t,4,this.length),o.read(this,t,!0,23,4)},c.prototype.readFloatBE=function(t,e){return t>>>=0,e||U(t,4,this.length),o.read(this,t,!1,23,4)},c.prototype.readDoubleLE=function(t,e){return t>>>=0,e||U(t,8,this.length),o.read(this,t,!0,52,8)},c.prototype.readDoubleBE=function(t,e){return t>>>=0,e||U(t,8,this.length),o.read(this,t,!1,52,8)},c.prototype.writeUintLE=c.prototype.writeUIntLE=function(t,e,n,r){t=+t,e>>>=0,n>>>=0,r||L(this,t,e,n,Math.pow(2,8*n)-1,0);let o=1,i=0;for(this[e]=255&t;++i>>=0,n>>>=0,r||L(this,t,e,n,Math.pow(2,8*n)-1,0);let o=n-1,i=1;for(this[e+o]=255&t;--o>=0&&(i*=256);)this[e+o]=t/i&255;return e+n},c.prototype.writeUint8=c.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,1,255,0),this[e]=255&t,e+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},c.prototype.writeBigUInt64LE=Z((function(t,e=0){return x(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),c.prototype.writeBigUInt64BE=Z((function(t,e=0){return B(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),c.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e>>>=0,!r){const r=Math.pow(2,8*n-1);L(this,t,e,n,r-1,-r)}let o=0,i=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+n},c.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e>>>=0,!r){const r=Math.pow(2,8*n-1);L(this,t,e,n,r-1,-r)}let o=n-1,i=1,s=0;for(this[e+o]=255&t;--o>=0&&(i*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/i>>0)-s&255;return e+n},c.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},c.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},c.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},c.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},c.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},c.prototype.writeBigInt64LE=Z((function(t,e=0){return x(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),c.prototype.writeBigInt64BE=Z((function(t,e=0){return B(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),c.prototype.writeFloatLE=function(t,e,n){return N(this,t,e,!0,n)},c.prototype.writeFloatBE=function(t,e,n){return N(this,t,e,!1,n)},c.prototype.writeDoubleLE=function(t,e,n){return P(this,t,e,!0,n)},c.prototype.writeDoubleBE=function(t,e,n){return P(this,t,e,!1,n)},c.prototype.copy=function(t,e,n,r){if(!c.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r=this.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=e;o=r+4;n-=3)e=`_${t.slice(n-3,n)}${e}`;return`${t.slice(0,n)}${e}`}function W(t,e,n,r,o,i){if(t>n||t3?0===e||e===BigInt(0)?`>= 0${r} and < 2${r} ** ${8*(i+1)}${r}`:`>= -(2${r} ** ${8*(i+1)-1}${r}) and < 2 ** ${8*(i+1)-1}${r}`:`>= ${e}${r} and <= ${n}${r}`,new F.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,n){G(e,"offset"),void 0!==t[e]&&void 0!==t[e+n]||H(e,t.length-(n+1))}(r,o,i)}function G(t,e){if("number"!=typeof t)throw new F.ERR_INVALID_ARG_TYPE(e,"number",t)}function H(t,e,n){if(Math.floor(t)!==t)throw G(t,n),new F.ERR_OUT_OF_RANGE(n||"offset","an integer",t);if(e<0)throw new F.ERR_BUFFER_OUT_OF_BOUNDS;throw new F.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${e}`,t)}j("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),j("ERR_INVALID_ARG_TYPE",(function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`}),TypeError),j("ERR_OUT_OF_RANGE",(function(t,e,n){let r=`The value of "${t}" is out of range.`,o=n;return Number.isInteger(n)&&Math.abs(n)>2**32?o=K(String(n)):"bigint"==typeof n&&(o=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(o=K(o)),o+="n"),r+=` It must be ${e}. Received ${o}`,r}),RangeError);const Y=/[^+/0-9A-Za-z-_]/g;function q(t,e){let n;e=e||1/0;const r=t.length;let o=null;const i=[];for(let s=0;s55295&&n<57344){if(!o){if(n>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(s+1===r){(e-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(e-=3)>-1&&i.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(e-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((e-=1)<0)break;i.push(n)}else if(n<2048){if((e-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function $(t){return r.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(Y,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function z(t,e,n,r){let o;for(o=0;o=e.length||o>=t.length);++o)e[o+n]=t[o];return o}function J(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function V(t){return t!=t}const X=function(){const t="0123456789abcdef",e=new Array(256);for(let n=0;n<16;++n){const r=16*n;for(let o=0;o<16;++o)e[r+o]=t[n]+t[o]}return e}();function Z(t){return"undefined"==typeof BigInt?Q:t}function Q(){throw new Error("BigInt not supported")}},4127:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=r(n(7803));class i extends o.default{constructor(t){super(t)}decodePayload(){return super.decodePayload()}getAuthMethod(){return this.payload.authentication_method}getScope(){return this.payload.scope}getID(){return this.payload.sub}getIdentifier(){return this.payload.identifier}getClientUserID(){return this.payload.client_user_id}}e.default=i},3686:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(9188);e.default=class{constructor(t){this.ID=t.ID,this.CreatedAt=t.CreatedAt,this.UpdatedAt=t.UpdatedAt,this.DeletedAt=t.DeletedAt,this.client_user_id=t.client_user_id,this.issuer=t.issuer,this.event=t.event,this.ip=t.ip,this.location=t.location,this.timestamp=t.timestamp,this.method=t.method,this.new=t.new,this.approved=t.approved,this.signature=t.signature}validate(){var t=`${this.client_user_id}${this.issuer}${this.event}${this.timestamp}${this.method}${this.new}${this.approved}`,e=this.signature;return r.ValidateToken(t,e)}}},9196:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=r(n(7803));class i extends o.default{constructor(t){super(t)}decodePayload(){return super.decodePayload()}getAuthTime(){return this.payload.auth_time}getIdentifier(){return this.payload.identifier}getID(){return this.payload.sub}getClientUserID(){return this.payload.client_user_id}}e.default=i},4735:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(9188);e.default=class{constructor(t){this.identifier_id=t.identifier_id,this.expire_at=t.expire_at,this.identifier=t.identifier,this.identifier_type=t.identifier_type,this.receiver=t.receiver,this.timestamp=t.timestamp,this.signature=t.signature}validate(){var t=`${this.identifier}${this.identifier_type}${this.receiver}${this.expire_at}`,e=this.signature;return r.ValidateToken(t,e)}}},7803:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(8764);e.default=class{constructor(t){this.token=t,this.payload=this.decodePayload()}decodePayload(){const t=this.token.split(".")[1];try{return JSON.parse(r.Buffer.from(t,"base64").toString("utf8"))}catch(t){return{}}}getExpiration(){return this.payload.exp}getIssuedAt(){return this.payload.iat}getAudience(){return this.payload.aud}}},5638:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.CotterEvent=e.CotterIdentity=e.CotterJwtToken=e.CotterIDToken=e.CotterAccessToken=void 0;const o=r(n(4127));e.CotterAccessToken=o.default;const i=r(n(9196));e.CotterIDToken=i.default;const s=r(n(7803));e.CotterJwtToken=s.default;const a=r(n(4735));e.CotterIdentity=a.default;const c=r(n(3686));e.CotterEvent=c.default},9188:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ValidateToken=void 0;const r=n(8764),o=n(780);e.ValidateToken=(t,e)=>{const n=new Uint8Array(r.Buffer.from(t,"utf8")),i=new Uint8Array(r.Buffer.from(e,"base64")),s=new Uint8Array(r.Buffer.from("qqOaiQGjGsxBMgI5rdAasaACRiJthOqadmefjY5mS/c=","base64"));return o.sign.detached.verify(n,i,s)}},9707:t=>{"use strict";function e(t){return Number.isInteger(t)&&t>=0}function n(t){this.name="ArgumentError",this.message=t}t.exports=function(t,r){if(r=r||{},"function"!=typeof t)throw new n("fetch must be a function");if("object"!=typeof r)throw new n("defaults must be an object");if(void 0!==r.retries&&!e(r.retries))throw new n("retries must be a positive integer");if(void 0!==r.retryDelay&&!e(r.retryDelay)&&"function"!=typeof r.retryDelay)throw new n("retryDelay must be a positive integer or a function returning a positive integer");if(void 0!==r.retryOn&&!Array.isArray(r.retryOn)&&"function"!=typeof r.retryOn)throw new n("retryOn property expects an array or function");return r=Object.assign({retries:3,retryDelay:1e3,retryOn:[]},r),function(o,i){var s=r.retries,a=r.retryDelay,c=r.retryOn;if(i&&void 0!==i.retries){if(!e(i.retries))throw new n("retries must be a positive integer");s=i.retries}if(i&&void 0!==i.retryDelay){if(!e(i.retryDelay)&&"function"!=typeof i.retryDelay)throw new n("retryDelay must be a positive integer or a function returning a positive integer");a=i.retryDelay}if(i&&i.retryOn){if(!Array.isArray(i.retryOn)&&"function"!=typeof i.retryOn)throw new n("retryOn property expects an array or function");c=i.retryOn}return new Promise((function(e,n){var r=function(r){t(o,i).then((function(t){if(Array.isArray(c)&&-1===c.indexOf(t.status))e(t);else if("function"==typeof c)try{return Promise.resolve(c(r,null,t)).then((function(n){n?u(r,null,t):e(t)})).catch(n)}catch(t){n(t)}else r{e.read=function(t,e,n,r,o){var i,s,a=8*o-r-1,c=(1<>1,l=-7,f=n?o-1:0,h=n?-1:1,d=t[e+f];for(f+=h,i=d&(1<<-l)-1,d>>=-l,l+=a;l>0;i=256*i+t[e+f],f+=h,l-=8);for(s=i&(1<<-l)-1,i>>=-l,l+=r;l>0;s=256*s+t[e+f],f+=h,l-=8);if(0===i)i=1-u;else{if(i===c)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,r),i-=u}return(d?-1:1)*s*Math.pow(2,i-r)},e.write=function(t,e,n,r,o,i){var s,a,c,u=8*i-o-1,l=(1<>1,h=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:i-1,p=r?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=l):(s=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-s))<1&&(s--,c*=2),(e+=s+f>=1?h/c:h*Math.pow(2,1-f))*c>=2&&(s++,c/=2),s+f>=l?(a=0,s=l):s+f>=1?(a=(e*c-1)*Math.pow(2,o),s+=f):(a=e*Math.pow(2,f-1)*Math.pow(2,o),s=0));o>=8;t[n+d]=255&a,d+=p,a/=256,o-=8);for(s=s<0;t[n+d]=255&s,d+=p,s/=256,u-=8);t[n+d-p]|=128*y}},2203:function(t,e,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&(null==s?void 0:s.length)>0&&(null==c?void 0:c.length)>0&&(null==f?void 0:f.length)>0?(h=atob(f),p=h?JSON.parse(h):{},this.config.RedirectURL=p.redirect_url,this.config.SkipRedirectURL=!0,[4,this.submitAuthorizationCode({authorization_code:s,challenge_id:i,state:c,client_json:{}},p.code_verifier,p.redirect_url,l)]):[3,2];case 1:o.sent(),null===window||void 0===window||window.sessionStorage.removeItem(d.default.LOGIN_KEY),history.pushState({},null,null===(n=null===(e=null===window||void 0===window?void 0:window.location)||void 0===e?void 0:e.href)||void 0===n?void 0:n.split("?")[0]),o.label=2;case 2:return l===a.AUTHENTICATION_METHOD.MAGIC_LINK&&(y=r.get("challenge"),g=r.get("id_type"),v=r.get("id"),m=r.get("client_json"),this.config.SkipRedirectURL=!0,w={challenge:y,challenge_id:i,client_json:JSON.parse(m),identifierType:g,identifier:v},b={action:"HANDLE_MAGIC_LINK_REDIRECT",payload:w},t.sendPost(b,this.cotterIframeID)),[2]}}))}))},t.prototype.showEmailForm=function(){return this.config.IdentifierField="email",this.config.Type=a.IDENTIFIER_TYPE.EMAIL,this.showForm()},t.prototype.showPhoneForm=function(){return this.config.IdentifierField="phone",this.config.Type=a.IDENTIFIER_TYPE.PHONE,this.showForm()},t.prototype.showForm=function(){var t=this,e=this.config.ContainerID||p,n=document.getElementById(e),r=document.createElement("iframe");return r.setAttribute("id",this.cotterIframeID),r.style.border="0",n.appendChild(r),r.style.width="100%",r.style.height="100%",this.config.CaptchaRequired&&(r.style.minHeight="520px"),r.style.overflow="scroll",c.challengeFromVerifier(this.verifier).then((function(e){var n=s.default.JSURL+"/signup?challenge="+e+"&type="+t.config.Type+"&domain="+t.config.Domain+"&api_key="+t.config.ApiKeyID+"&redirect_url="+t.config.RedirectURL+"&state="+t.state+"&id="+t.cID;t.config.CotterUserID&&(n=n+"&cotter_user_id="+t.config.CotterUserID),t.config.FormID&&(n=n+"&form_id="+encodeURIComponent(t.config.FormID)),r.setAttribute("src",encodeURI(n)),r.setAttribute("allowtransparency","true")})),c.verificationProccessPromise(this)},t.prototype.removeForm=function(){document.getElementById(this.cotterIframeID).remove()},t.prototype.onSuccess=function(e){t.sendPost({action:"DONE_SUCCESS"},this.cotterIframeID),this.verifySuccess=e,this.config.OnSuccess&&this.config.OnSuccess(e)},t.prototype.onError=function(e){var n={action:"DONE_ERROR",payload:e};t.sendPost(n,this.cotterIframeID),this.verifyError=e,this.config.OnError&&this.config.OnError(e)},t.prototype.submitAuthorizationCode=function(t,e,n,i){return void 0===n&&(n=null),void 0===i&&(i=null),r(this,void 0,void 0,(function(){var a,c,f,h,d,p,y,g;return o(this,(function(v){return a=t.authorization_code,c=t.challenge_id,f=t.state,h=t.client_json,d=null===this.config.RedirectURL||void 0===this.config.RedirectURL||this.config.RedirectURL&&this.config.RedirectURL.length<=0||this.config.SkipRedirectURL,f!==this.state&&this.config.OnError&&this.config.OnError("State is not the same as the original request."),p={code_verifier:e,authorization_code:a,challenge_id:parseInt(c),redirect_url:n||(d?new URL(window.location.href).origin:this.config.RedirectURL)},y=this,g=s.default.BackendURL+"/verify/get_identity?oauth_token=true",i&&(g=g+"&auth_method="+i),u.default(fetch)(g,{method:"POST",headers:{API_KEY_ID:""+y.config.ApiKeyID,"Content-Type":"application/json"},body:JSON.stringify(p),credentials:"include",retries:3,retryDelay:300,retryOn:[500]}).then((function(t){return r(this,void 0,void 0,(function(){var e,n,i=this;return o(this,(function(s){switch(s.label){case 0:return[4,t.json()];case 1:if(e=s.sent(),200!==t.status)throw t.data=e,t;return(n=h).token=e.token,n[y.config.IdentifierField||"email"]=e.user.identifier,n.oauth_token=e.oauth_token,n.user=e.user,y.Identifier=e.user.identifier,l.default.store(e.user),y.tokenHander&&y.tokenHander.storeTokens(e.oauth_token),d||!y.config.RedirectURL?(y.onSuccess(n),[2]):(fetch(y.config.RedirectURL,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}).then((function(t){return r(i,void 0,void 0,(function(){var e,n,r;return o(this,(function(o){switch(o.label){case 0:return(e=t.headers.get("content-type"))&&-1!==e.indexOf("application/json")?[4,t.json()]:[3,2];case 1:if(n=o.sent(),!(t.status>=200&&t.status<300))throw t.data=n,t;return y.onSuccess(n),[3,4];case 2:return[4,t.text()];case 3:if(r=o.sent(),!(t.status>=200&&t.status<300))throw t.data=r,t;y.onSuccess(r),o.label=4;case 4:return[2]}}))}))})).catch((function(t){y.onError(t)})),[2])}}))}))})).catch((function(t){y.onError(t)})),[2]}))}))},t.prototype.StopSubmissionWithError=function(e,n){var r={action:"ON_ERROR",errorMsg:e};t.sendPost(r,n)},t.prototype.continue=function(e,n){return r(this,void 0,void 0,(function(){var r,i,s=this;return o(this,(function(o){switch(o.label){case 0:return[4,f.default.available()];case 1:if(r=o.sent(),this.config.WebAuthnEnabled&&!r&&console.log("WebAuthn is enabled, but the user device doesn't support webauthn"),!this.config.WebAuthnEnabled||!r)return[3,6];o.label=2;case 2:return o.trys.push([2,4,,5]),[4,new h.default(this.config.ApiKeyID).checkCredentialExist(e.identifier)];case 3:if(o.sent()){if(!e.auth_required)return this.RegisterWebAuthn=!1,this.config.WebAuthnEnabled=!1,t.ContinueSubmit(e,n),[2];this.LoginWebAuthn=!0,this.ContinueSubmitData=e,new f.default({ApiKeyID:this.config.ApiKeyID,Identifier:e.identifier,IdentifierField:this.config.IdentifierField,IdentifierType:this.config.Type,AlternativeMethod:this.config.AuthenticationMethodName,Type:"LOGIN"},this.tokenHander).show().then((function(r){r.status!==f.default.CANCELED?r.status!==f.default.SUCCESS||s.onSuccess(r):t.ContinueSubmit(e,n)})).catch((function(t){s.onError(t)}))}else this.RegisterWebAuthn=!0,t.ContinueSubmit(e,n);return[2];case 4:return i=o.sent(),this.onError(i),[2];case 5:return[3,7];case 6:t.ContinueSubmit(e,n),o.label=7;case 7:return[2]}}))}))},t.ContinueSubmit=function(e,n){var r={action:"CONTINUE_SUBMIT",payload:e};t.sendPost(r,n)},t.sendPost=function(t,e){var n=document.getElementById(e);c.isIFrame(n)&&n.contentWindow&&n.contentWindow.postMessage(JSON.stringify(t),s.default.JSURL)},t}();e.default=y},5275:function(t,e,n){"use strict";var r,o=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]\n \n \n ',r=this.cancel.bind(this);this.Modal.initModal(r,n),this.initEventHandler()},t.prototype.initEventHandler=function(){var e=this;window.addEventListener("message",(function(n){try{var r=JSON.parse(n.data)}catch(n){return}if(n.origin===s.default.JSURL){var o=e.containerID;switch(r.callbackName){case o+"FIRST_LOAD":var i={action:"CONFIG",payload:{socialConnectText:e.config.SocialConnectText}};t.sendPost(i,e.cotterIframeID);break;case o+"LOADED":e.loaded=!0;break;case o+"CANCEL":e.cancel();break;case o+"ON_SOCIAL_LOGIN_CONNECT":e.loginAndConnect(r.payload)}}}))},t.sendPost=function(t,e){var n=document.getElementById(e);a.isIFrame(n)&&n.contentWindow&&n.contentWindow.postMessage(JSON.stringify(t),s.default.JSURL)},t.prototype.show=function(){return r(this,void 0,void 0,(function(){return o(this,(function(t){return this.Modal.showModal(),[2,a.verificationProccessPromise(this)]}))}))},t.prototype.cancel=function(){var t,e;history.pushState({},null,null===(e=null===(t=null===window||void 0===window?void 0:window.location)||void 0===t?void 0:t.href)||void 0===e?void 0:e.split("?")[0]),this.Modal.closeModal()},t.prototype.onSuccess=function(t){var e,n;history.pushState({},null,null===(n=null===(e=null===window||void 0===window?void 0:window.location)||void 0===e?void 0:e.href)||void 0===n?void 0:n.split("?")[0]),this.Modal.closeModal(),window.location.href=null==t?void 0:t.url},t.prototype.onError=function(t){var e,n;history.pushState({},null,null===(n=null===(e=null===window||void 0===window?void 0:window.location)||void 0===e?void 0:e.href)||void 0===n?void 0:n.split("?")[0]),this.Modal.closeModal(),this.verifyError=t},t.prototype.loginAndConnect=function(t){return r(this,void 0,void 0,(function(){var e,n,r;return o(this,(function(o){switch(o.label){case 0:e=new l.default(this.config.ApiKeyID),o.label=1;case 1:return o.trys.push([1,3,,4]),[4,e.loginAndConnect(t.tokenID,t.userID,t.provider)];case 2:return n=o.sent(),this.onSuccess(n),[3,4];case 3:return r=o.sent(),this.onError(r),[3,4];case 4:return[2]}}))}))},t.LOGIN_KEY="cotter_slk",t.OAUTH_SESSION_NAME="oauth_sess",t}();e.default=h},916:function(t,e,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]\n \n \n ',n=this.cancel.bind(this);this.Modal.initModal(n,e),this.initEventHandler()},t.prototype.onSuccess=function(e,n){void 0===n&&(n=t.SUCCESS),this.Modal.closeModal(),this.verifySuccess=r({status:n},e)},t.prototype.onError=function(t){this.Modal.closeModal(),this.verifyError=t},t.prototype.onErrorDisplay=function(e){var n=e,r=null;e.data&&e.data.msg?n=e.data.msg:e.msg&&(n=e.msg),(n=n.toString()).includes("timed out")?n="The operation either timed out or was not allowed.":n.includes("already pending")?n="A request is already pending.":n.includes("credentials already registered")?n="You already registered this authenticator, you don't have to register it again.":n.includes("session data from cookie")&&(n="Please enable third-party cookies in your browser settings",r="https://help.cotter.app/en/articles/4572882-how-to-enable-third-party-cookies-to-use-cotter"),this.displayedError=n;var o={action:"ERROR_DISPLAY",payload:{error:n,errorLink:r}};t.sendPost(o,this.cotterIframeID)},t.prototype.initEventHandler=function(){var e=this;window.addEventListener("message",(function(n){try{var r=JSON.parse(n.data)}catch(n){return}if(n.origin===c.default.JSURL){var o=e.containerID;switch(r.callbackName){case o+"FIRST_LOAD":var i={action:"CONFIG",payload:{registrationText:e.config.RegistrationText,loginText:e.config.LoginText,alternativeMethod:e.config.AlternativeMethod,identifier:e.config.Identifier,errorDisplay:e.config.ErrorDisplay}};t.sendPost(i,e.cotterIframeID);break;case o+"LOADED":e.loaded=!0;break;case o+"BEGIN_WEBAUTHN_REGISTRATION":e.beginRegistration(e.config.Identifier||"",e.config.Domain||new URL(window.location.href).origin).then((function(t){return e.onSuccess(t)})).catch((function(t){return e.onErrorDisplay(t)}));break;case o+"SKIP_WEBAUTHN":e.cancel();break;case o+"BEGIN_WEBAUTHN_LOGIN":e.beginLogin(e.config.Identifier||"",e.config.Domain||new URL(window.location.href).origin,r.payload.publicKey).then((function(t){return e.onSuccess(t)})).catch((function(t){return e.onErrorDisplay(t)}));break;case o+"ON_SUCCESS":e.onSuccess(r.payload);break;case o+"ON_ERROR":e.onError(r.payload)}}}))},t.sendPost=function(t,e){var n=document.getElementById(e);u.isIFrame(n)&&n.contentWindow&&n.contentWindow.postMessage(JSON.stringify(t),c.default.JSURL)},t.prototype.show=function(){return o(this,void 0,void 0,(function(){return i(this,(function(t){return this.Modal.showModal(),[2,u.verificationProccessPromise(this)]}))}))},t.prototype.cancel=function(){null!==this.displayedError&&void 0!==this.displayedError&&this.config.RegisterWebAuthn?this.onError(this.displayedError):this.onSuccess(this.originalResponse,t.CANCELED)},t.prototype.startRegistration=function(){this.config.Type="REGISTRATION",this.show()},t.prototype.startLogin=function(){this.config.Type="LOGIN",this.show()},t.available=function(){return o(this,void 0,void 0,(function(){return i(this,(function(t){switch(t.label){case 0:return null==window.PublicKeyCredential||void 0===window.PublicKeyCredential?[3,2]:[4,window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()];case 1:return[2,t.sent()];case 2:return[2]}}))}))},t.prototype.beginRegistration=function(t,e){return o(this,void 0,void 0,(function(){var n,r;return i(this,(function(o){switch(o.label){case 0:return[4,new l.default(this.config.ApiKeyID).beginWebAuthnRegistration(t,e)];case 1:n=o.sent(),o.label=2;case 2:return o.trys.push([2,5,,6]),[4,navigator.credentials.create({publicKey:n})];case 3:if(!(r=o.sent()))throw"Unable to create credential";return[4,this.finishRegistration(r,t,e)];case 4:return[2,o.sent()];case 5:throw o.sent();case 6:return[2]}}))}))},t.prototype.finishRegistration=function(t,e,n){return o(this,void 0,void 0,(function(){var r;return i(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),[4,new l.default(this.config.ApiKeyID).finishWebAuthnRegistration(e,t,n)];case 1:return(r=o.sent())[this.config.IdentifierField||""]=r.user.identifier,[2,r];case 2:throw o.sent();case 3:return[2]}}))}))},t.prototype.beginLogin=function(t,e,n){return o(this,void 0,void 0,(function(){var r,o;return i(this,(function(i){switch(i.label){case 0:return[4,new l.default(this.config.ApiKeyID).beginWebAuthnLogin(t,e)];case 1:r=i.sent(),i.label=2;case 2:return i.trys.push([2,5,,6]),[4,navigator.credentials.get({publicKey:r})];case 3:if(!(o=i.sent()))throw"Unable to create credential";return[4,this.finishLogin(o,t,e,n)];case 4:return[2,i.sent()];case 5:throw i.sent();case 6:return[2]}}))}))},t.prototype.finishLogin=function(t,e,n,r){return o(this,void 0,void 0,(function(){var o;return i(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,new l.default(this.config.ApiKeyID).finishWebAuthnLogin(e,this.config.IdentifierType||a.IDENTIFIER_TYPE.EMAIL,t,n,r)];case 1:return(o=i.sent())&&o.user&&f.default.store(o.user),o&&o.oauth_token&&this.tokenHander&&this.tokenHander.storeTokens(o.oauth_token),o[this.config.IdentifierField||""]=o.user.identifier,[2,o];case 2:throw i.sent();case 3:return[2]}}))}))},t.CANCELED="CANCELED",t.SUCCESS="SUCCESS",t}();e.default=y},4656:(t,e)=>{"use strict";var n,r,o;Object.defineProperty(e,"__esModule",{value:!0}),e.SOCIAL_LOGIN_ACTION=e.AUTHENTICATION_METHOD=e.IDENTIFIER_TYPE=void 0,(o=e.IDENTIFIER_TYPE||(e.IDENTIFIER_TYPE={})).EMAIL="EMAIL",o.PHONE="PHONE",(r=e.AUTHENTICATION_METHOD||(e.AUTHENTICATION_METHOD={})).MAGIC_LINK="MAGIC_LINK",r.OTP="OTP",(n=e.SOCIAL_LOGIN_ACTION||(e.SOCIAL_LOGIN_ACTION={})).LOGIN="O_LOGIN",n.CONNECT="O_CONNECT"},3015:function(t,e,n){"use strict";var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(o,i){function s(t){try{c(r.next(t))}catch(t){i(t)}}function a(t){try{c(r.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((r=r.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,r=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LOGOUT_BUTTON_HREF=e.DIV_CONTAINER=e.POPUP_BUTTON_HREF=e.DEFAULT_FORM_SETTINGS=e.ATTR_CONFIG=e.ATTR_ENV=e.ATTR_API_KEY_ID=void 0;var r=n(4656);e.ATTR_API_KEY_ID="data-cotter-api-key-id",e.ATTR_ENV="data-cotter-env",e.ATTR_CONFIG="data-cotter-config",e.DEFAULT_FORM_SETTINGS={authenticationMethod:r.AUTHENTICATION_METHOD.MAGIC_LINK,type:r.IDENTIFIER_TYPE.EMAIL,modalBackgroundColor:"#ffffff",modalTitleColor:"#2e2e2e",modalTitle:"Welcome",logo:"https://www.cotter.app/assets/cotter_logo.png"},e.POPUP_BUTTON_HREF="#/ct/login/",e.DIV_CONTAINER="cotter-form-container-",e.LOGOUT_BUTTON_HREF="#/ct/logout/"},9397:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(){}return t.DefaultUSCode="+1",t.DefaultContainerID="cotter-form-container",t.AssetURL="https://js.cotter.app",t.BackendURL="https://www.cotter.app/api/v0",t.JSURL="https://js.cotter.app",t.WorkerURL="https://worker.cotter.app",t}();e.default=n},2018:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=r(n(2203)),i=n(3949),s="cotter_company_cache_expiry",a="cotter_company_info",c=function(){function t(){}return t.getInfo=function(){var e=localStorage.getItem(a),n=Date.parse(localStorage.getItem(s));if(!e||n-Date.now()<0){var r=i.getAPIKeyIDFromAttr(),c=new o.default(r);t.infoPromise=c.getInfo().then((function(t){var e=Date.now()+10;localStorage.setItem(a,JSON.stringify(t)),localStorage.setItem(s,new Date(e).toString())}))}return JSON.parse(e)},t}();e.default=c},6233:function(t,e,n){"use strict";var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(o,i){function s(t){try{c(r.next(t))}catch(t){i(t)}}function a(t){try{c(r.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((r=r.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,r=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&(e=new s.CotterAccessToken(t)),!(null==t||null==e||e.getExpiration()<(new Date).getTime()/1e3))return[3,4];r.label=1;case 1:return r.trys.push([1,3,,4]),[4,this.getTokensFromRefreshToken()];case 2:return n=r.sent(),t=n.access_token,[3,4];case 3:return r.sent(),[2,null];case 4:return this.accessToken=t,[2,new s.CotterAccessToken(t)]}}))}))},t.prototype.getIDToken=function(){return r(this,void 0,void 0,(function(){var t,e,n;return o(this,(function(r){switch(r.label){case 0:if(t=this.idToken,e=null,t&&t.length>0&&(e=new s.CotterIDToken(t)),!(null==t||null==e||e.getExpiration()<(new Date).getTime()/1e3))return[3,4];r.label=1;case 1:return r.trys.push([1,3,,4]),[4,this.getTokensFromRefreshToken()];case 2:return n=r.sent(),t=n.id_token,[3,4];case 3:return r.sent(),[2,null];case 4:return this.idToken=t,[2,new s.CotterIDToken(t)]}}))}))},t.prototype.getTokensFromRefreshToken=function(){return r(this,void 0,void 0,(function(){var t=this;return o(this,(function(e){return[2,new Promise((function(e,n){var r=function(){switch(t.tokenFetchingState){case 1:t.getTokensFromRefreshTokenAPI();break;case 5:if(t.fetchTokenResp)return e(t.fetchTokenResp),void(t.tokenFetchingState=1);break;case 3:return t.tokenFetchingState=1,void n();case 4:return void n()}setTimeout(r,0)};r()}))]}))}))},t.prototype.getTokensFromRefreshTokenAPI=function(){var t,e;return r(this,void 0,void 0,(function(){var n,r,i;return o(this,(function(o){switch(o.label){case 0:this.tokenFetchingState=2,this.fetchTokenResp=null,n=null;try{n=null===(t=null===window||void 0===window?void 0:window.localStorage)||void 0===t?void 0:t.getItem(c)}catch(t){return this.tokenFetchingState=4,[2]}o.label=1;case 1:if(o.trys.push([1,3,,4]),!this.apiKeyID)throw"ApiKeyID is undefined, please initialize Cotter with ApiKeyID";return[4,new a.default(this.apiKeyID).getTokensFromRefreshToken(n)];case 2:return r=o.sent(),this.storeTokens(r),this.tokenFetchingState=5,this.fetchTokenResp=r,[2];case 3:return i=o.sent(),(null===(e=i.msg)||void 0===e?void 0:e.includes("not valid"))?this.tokenFetchingState=4:this.tokenFetchingState=3,[2];case 4:return[2]}}))}))},t.prototype.removeTokens=function(){var t;return r(this,void 0,void 0,(function(){return o(this,(function(e){switch(e.label){case 0:this.accessToken=void 0,this.idToken=void 0,this.tokenType=void 0;try{null===(t=null===window||void 0===window?void 0:window.localStorage)||void 0===t||t.removeItem(c)}catch(t){}e.label=1;case 1:if(e.trys.push([1,3,,4]),!this.apiKeyID)throw"ApiKeyID is undefined, please initialize Cotter with ApiKeyID";return[4,new a.default(this.apiKeyID).removeRefreshToken()];case 2:return e.sent(),[3,4];case 3:throw e.sent();case 4:return[2]}}))}))},t.prototype.updateTokensWithRefreshToken=function(t){var e;return r(this,void 0,void 0,(function(){var n;return o(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),null===(e=null===window||void 0===window?void 0:window.localStorage)||void 0===e||e.setItem(c,t),[4,this.getTokensFromRefreshToken()];case 1:return n=r.sent(),this.accessToken=n.access_token,this.idToken=n.id_token,this.tokenType=n.token_type,[2,n];case 2:return r.sent(),[2,null];case 3:return[2]}}))}))},t}();e.default=u},8998:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(){}return t.store=function(e){try{localStorage.setItem(t.STORAGE_KEY,JSON.stringify(e))}catch(t){}},t.remove=function(){try{localStorage.removeItem(t.STORAGE_KEY)}catch(t){}},t.STORAGE_KEY="COTTER_USER",t}();e.default=n},3949:function(t,e,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1].");return e},e.generateVerifier=function(){var t=new Uint32Array(28);return window.crypto.getRandomValues(t),Array.from(t,u).join("")},e.base64urlencode=l,e.base64urldecode=function(t){var e=(t=t.replace(/-/g,"+").replace(/_/g,"/")).length%4;if(e){if(1===e)throw new Error("InvalidLengthError: Input base64url string is the wrong length to determine padding");t+=new Array(5-e).join("=")}var n=atob(t);return Uint8Array.from(n,(function(t){return t.charCodeAt(0)}))},e.challengeFromVerifier=function(t){return o(this,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return[4,(n=t,r=(new TextEncoder).encode(n),window.crypto.subtle.digest("SHA-256",r))];case 1:return[2,l(e.sent())]}var n,r}))}))},e.verificationProccessPromise=function(t){return new Promise((function(e,n){var o=function(){if(t.verifySuccess)if(t.RegisterWebAuthn){var i=r({},t.verifySuccess);t.verifySuccess=void 0,new a.default({ApiKeyID:t.config.ApiKeyID,Identifier:t.Identifier,IdentifierField:t.config.IdentifierField,OriginalResponse:i,IdentifierType:t.config.Type,Type:"REGISTRATION"},t.tokenHandler).show().then((function(n){t.onSuccess(n),t.verifySuccess=n,e(t.verifySuccess)})).catch((function(e){t.onError(e),t.verifyError=e,n(t.verifyError)}))}else e(t.verifySuccess);else t.verifyError?n(t.verifyError):setTimeout(o,0)};o()}))},e.isIFrame=function(t){return null!==t&&"IFRAME"===t.tagName},e.lightOrDark=function(t){var e,n,r;return t.match(/^rgb/)?(e=(t=t.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+(?:\.\d+)?))?\)$/))[1],n=t[2],r=t[3]):(e=(t=+("0x"+t.slice(1).replace(t.length<5&&/./g,"$&$&")))>>16,n=t>>8&255,r=255&t),!(Math.sqrt(e*e*.299+n*n*.587+r*r*.114)>127.5)},e.getModalHeight=function(t){var e,n,r,o,i,s,a=200;return"true"===(null===(e=t.captchaRequired)||void 0===e?void 0:e.toString())&&(a=500),(null===(n=t.socialLoginProviders)||void 0===n?void 0:n.length)>0&&(a+=100+40*(null===(r=t.socialLoginProviders)||void 0===r?void 0:r.length)),"PHONE"===t.type&&(null===(o=t.phoneChannels)||void 0===o?void 0:o.length)>1&&(a+=120),(null===(i=t.additionalFields)||void 0===i?void 0:i.length)>0&&(a+=100*(null===(s=t.additionalFields)||void 0===s?void 0:s.length)),a}},7337:function(t,e,n){"use strict";var r,o=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1].");this.ApiKeyID=r;var o=null===(e=document.querySelector("["+f.ATTR_ENV+"]"))||void 0===e?void 0:e.getAttribute(""+f.ATTR_ENV);"DEV"===o?(d.default.BackendURL="http://localhost:1234/api/v0",d.default.JSURL="http://localhost:3000",d.default.AssetURL="http://localhost:3000",d.default.WorkerURL="http://localhost:8787"):"STAGING"===o&&(d.default.BackendURL="https://staging.cotter.app/api/v0",d.default.JSURL="https://s.js.cotter.app",d.default.AssetURL="https://s.js.cotter.app",d.default.WorkerURL="https://staging-worker.cotter.app");var i=null===(n=document.querySelector("["+f.ATTR_CONFIG+"]"))||void 0===n?void 0:n.getAttribute(""+f.ATTR_CONFIG);if(i)try{this.config=JSON.parse(i)}catch(t){console.log("Invalid "+f.ATTR_CONFIG+", has to be a JSON")}}return Object.defineProperty(t.prototype,"companyInfo",{get:function(){return m.default.getInfo()},enumerable:!1,configurable:!0}),t.prototype.identifierCheck=function(){var t,e;return s(this,void 0,void 0,(function(){var n,r,o;return a(this,(function(i){switch(i.label){case 0:return n=(null===(e=null===(t=this.companyInfo)||void 0===t?void 0:t.customization)||void 0===e?void 0:e.siteCustomization)||{},r=g.default.getLoggedInUser(),o=r.identifier,[4,fetch(d.default.WorkerURL+"/screening/site?identifier="+encodeURIComponent(o),{method:"GET",headers:{API_KEY_ID:this.ApiKeyID,"Content-type":"application/json"}})];case 1:return[4,i.sent().json()];case 2:return i.sent().passed||(window.location.href=n.accessDeniedPage||"/"),[2]}}))}))},t.prototype.protectedPageCheck=function(){var t,e,n;return s(this,void 0,void 0,(function(){var r,o,i,s,c;return a(this,(function(a){switch(a.label){case 0:return w.withApiKeyID(this.ApiKeyID),this.companyInfo||!m.default.infoPromise?[3,2]:[4,m.default.infoPromise];case 1:a.sent(),a.label=2;case 2:if(r=(null===(e=null===(t=this.companyInfo)||void 0===t?void 0:t.customization)||void 0===e?void 0:e.siteCustomization)||{},o=(o=null!==(n=r.protectedPages)&&void 0!==n?n:[]).filter((function(t){return t.path.includes(window.location.pathname)||window.location.pathname.includes(t.path)})),i=!1,o.map((function(t){if(!i)switch(t.matcher){case"start":var e=new RegExp("^"+t.path,"i");i=e.test(window.location.pathname);break;case"equal":i=window.location.pathname===t.path}})),!i)return[2];g.default.getLoggedInUser()||(window.location.href=r.accessDeniedPage||"/"),a.label=3;case 3:return a.trys.push([3,6,,7]),[4,w.getAccessToken()];case 4:return(null==(s=a.sent())?void 0:s.token)||(window.location.href=r.accessDeniedPage||"/"),[4,this.identifierCheck()];case 5:return a.sent(),[3,7];case 6:throw c=a.sent(),new Error("Fail fetching token, err: "+c);case 7:return[2]}}))}))},t.prototype.preInit=function(){return this.protectedPageCheck(),this},t.prototype.init=function(){return s(this,void 0,void 0,(function(){var t=this;return a(this,(function(e){return console.log("Loader Init"),Array.from(document.querySelectorAll("[href*='"+f.POPUP_BUTTON_HREF+"']")).forEach((function(e){var n=e.getAttribute("href"),r=(null==n?void 0:n.split(f.POPUP_BUTTON_HREF).pop())||null;if(r){t.initModal(r);var o=t;e.addEventListener("click",(function(){r&&o.Modals[r].showModal()})),t.buttons.push(e)}})),Array.from(document.querySelectorAll("[id*='"+f.DIV_CONTAINER+"']")).forEach((function(e){var n=e.getAttribute("id"),r=(null==n?void 0:n.split(f.DIV_CONTAINER).pop())||null;if(r){var o=f.DIV_CONTAINER+r;t.initCotter(r,o),t.containers.push(e)}})),Array.from(document.querySelectorAll("[href*='"+f.LOGOUT_BUTTON_HREF+"']")).map((function(e){var n=e.getAttribute("href"),r=(null==n?void 0:n.split(f.LOGOUT_BUTTON_HREF).pop())||null,o=function(){var n,o;if(r){var i=new URL(window.location.href).origin,s=null===(o=null===(n=t.companyInfo.customization)||void 0===n?void 0:n[r])||void 0===o?void 0:o.afterLogoutURL,a=""+i+s;if(!s)return;e.addEventListener("click",(function(){w.removeTokens().then((function(){v.default.remove(),window.location.href=a}))}))}};t.companyInfo?o():m.default.infoPromise.finally(o)})),[2]}))}))},t.prototype.initModal=function(t){var e,n,r;return s(this,void 0,void 0,(function(){var o,i,s,c,u,l,y,g,v,w,b,_,I=this;return a(this,(function(a){switch(a.label){case 0:return m.default.infoPromise?[4,m.default.infoPromise]:[3,2];case 1:a.sent(),a.label=2;case 2:return this.Modals[t]||(o=this.modalID+"-"+t,i=this.containerID+"-"+t,s=this.cancelDivID+"-"+t,c=null!==(r=null===(n=null===(e=this.companyInfo)||void 0===e?void 0:e.customization)||void 0===n?void 0:n[t])&&void 0!==r?r:f.DEFAULT_FORM_SETTINGS,u=c.logo||f.DEFAULT_FORM_SETTINGS.logo,l=c.modalTitle||f.DEFAULT_FORM_SETTINGS.modalTitle,y=c.modalBackgroundColor||f.DEFAULT_FORM_SETTINGS.modalBackgroundColor,g=c.modalTitleColor||f.DEFAULT_FORM_SETTINGS.modalTitleColor,v=p.getModalHeight(c),w=new h.default(o,i,s),b='\n \n ',_=this.cancel.bind(this),w.initModal((function(){_(t);var e=document.getElementById(i);e&&e.getElementsByTagName("iframe")[0].remove(),I.initCotter(t,i)}),b),this.Modals[t]=w,this.initCotter(t,i)),[2]}}))}))},t.prototype.cancel=function(t){var e;null===(e=this.Modals[t])||void 0===e||e.closeModal()},t.prototype.initCotter=function(t,e){var n,r;return s(this,void 0,void 0,(function(){var o,s,c,h,p,y,g=this;return a(this,(function(a){return document.getElementById(e)||(o=this,setTimeout((function(){return o.initCotter(t,e)}),10)),s=(null===(n=this.companyInfo)||void 0===n?void 0:n.customization)&&(null===(r=this.companyInfo)||void 0===r?void 0:r.customization[t]),c=(null==s?void 0:s.type)||f.DEFAULT_FORM_SETTINGS.type,h=(null==s?void 0:s.authenticationMethod)||f.DEFAULT_FORM_SETTINGS.authenticationMethod,p=(p=new l.default(i(i({},this.config),{ApiKeyID:this.ApiKeyID,ContainerID:e,Type:c}))).withFormID(t),y=h===u.AUTHENTICATION_METHOD.OTP?p.signInWithOTP():p.signInWithLink(),(c===u.IDENTIFIER_TYPE.PHONE?y.showPhoneForm():y.showEmailForm()).then((function(e){console.log(e),fetch(d.default.WorkerURL+"/completion/form?form-id="+encodeURIComponent(t),{method:"POST",headers:{API_KEY_ID:g.ApiKeyID,"Content-type":"application/json"},body:JSON.stringify(e)}).then((function(t){(null==s?void 0:s.afterLoginURL)&&(window.location.href=s.afterLoginURL)}))})).catch((function(t){console.log(t)})),[2]}))}))},t}())).preInit();document.addEventListener("DOMContentLoaded",(function(){b.init()}));var _=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(l.default);t.exports=_},8164:function(t,e,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]{!function(t){"use strict";var e=function(t){var e,n=new Float64Array(16);if(t)for(e=0;e>24&255,t[e+1]=n>>16&255,t[e+2]=n>>8&255,t[e+3]=255&n,t[e+4]=r>>24&255,t[e+5]=r>>16&255,t[e+6]=r>>8&255,t[e+7]=255&r}function y(t,e,n,r,o){var i,s=0;for(i=0;i>>8)-1}function g(t,e,n,r){return y(t,e,n,r,16)}function v(t,e,n,r){return y(t,e,n,r,32)}function m(t,e,n,r){!function(t,e,n,r){for(var o,i=255&r[0]|(255&r[1])<<8|(255&r[2])<<16|(255&r[3])<<24,s=255&n[0]|(255&n[1])<<8|(255&n[2])<<16|(255&n[3])<<24,a=255&n[4]|(255&n[5])<<8|(255&n[6])<<16|(255&n[7])<<24,c=255&n[8]|(255&n[9])<<8|(255&n[10])<<16|(255&n[11])<<24,u=255&n[12]|(255&n[13])<<8|(255&n[14])<<16|(255&n[15])<<24,l=255&r[4]|(255&r[5])<<8|(255&r[6])<<16|(255&r[7])<<24,f=255&e[0]|(255&e[1])<<8|(255&e[2])<<16|(255&e[3])<<24,h=255&e[4]|(255&e[5])<<8|(255&e[6])<<16|(255&e[7])<<24,d=255&e[8]|(255&e[9])<<8|(255&e[10])<<16|(255&e[11])<<24,p=255&e[12]|(255&e[13])<<8|(255&e[14])<<16|(255&e[15])<<24,y=255&r[8]|(255&r[9])<<8|(255&r[10])<<16|(255&r[11])<<24,g=255&n[16]|(255&n[17])<<8|(255&n[18])<<16|(255&n[19])<<24,v=255&n[20]|(255&n[21])<<8|(255&n[22])<<16|(255&n[23])<<24,m=255&n[24]|(255&n[25])<<8|(255&n[26])<<16|(255&n[27])<<24,w=255&n[28]|(255&n[29])<<8|(255&n[30])<<16|(255&n[31])<<24,b=255&r[12]|(255&r[13])<<8|(255&r[14])<<16|(255&r[15])<<24,_=i,I=s,E=a,A=c,T=u,O=l,S=f,R=h,C=d,k=p,D=y,U=g,L=v,x=m,B=w,M=b,N=0;N<20;N+=2)_^=(o=(L^=(o=(C^=(o=(T^=(o=_+L|0)<<7|o>>>25)+_|0)<<9|o>>>23)+T|0)<<13|o>>>19)+C|0)<<18|o>>>14,O^=(o=(I^=(o=(x^=(o=(k^=(o=O+I|0)<<7|o>>>25)+O|0)<<9|o>>>23)+k|0)<<13|o>>>19)+x|0)<<18|o>>>14,D^=(o=(S^=(o=(E^=(o=(B^=(o=D+S|0)<<7|o>>>25)+D|0)<<9|o>>>23)+B|0)<<13|o>>>19)+E|0)<<18|o>>>14,M^=(o=(U^=(o=(R^=(o=(A^=(o=M+U|0)<<7|o>>>25)+M|0)<<9|o>>>23)+A|0)<<13|o>>>19)+R|0)<<18|o>>>14,_^=(o=(A^=(o=(E^=(o=(I^=(o=_+A|0)<<7|o>>>25)+_|0)<<9|o>>>23)+I|0)<<13|o>>>19)+E|0)<<18|o>>>14,O^=(o=(T^=(o=(R^=(o=(S^=(o=O+T|0)<<7|o>>>25)+O|0)<<9|o>>>23)+S|0)<<13|o>>>19)+R|0)<<18|o>>>14,D^=(o=(k^=(o=(C^=(o=(U^=(o=D+k|0)<<7|o>>>25)+D|0)<<9|o>>>23)+U|0)<<13|o>>>19)+C|0)<<18|o>>>14,M^=(o=(B^=(o=(x^=(o=(L^=(o=M+B|0)<<7|o>>>25)+M|0)<<9|o>>>23)+L|0)<<13|o>>>19)+x|0)<<18|o>>>14;_=_+i|0,I=I+s|0,E=E+a|0,A=A+c|0,T=T+u|0,O=O+l|0,S=S+f|0,R=R+h|0,C=C+d|0,k=k+p|0,D=D+y|0,U=U+g|0,L=L+v|0,x=x+m|0,B=B+w|0,M=M+b|0,t[0]=_>>>0&255,t[1]=_>>>8&255,t[2]=_>>>16&255,t[3]=_>>>24&255,t[4]=I>>>0&255,t[5]=I>>>8&255,t[6]=I>>>16&255,t[7]=I>>>24&255,t[8]=E>>>0&255,t[9]=E>>>8&255,t[10]=E>>>16&255,t[11]=E>>>24&255,t[12]=A>>>0&255,t[13]=A>>>8&255,t[14]=A>>>16&255,t[15]=A>>>24&255,t[16]=T>>>0&255,t[17]=T>>>8&255,t[18]=T>>>16&255,t[19]=T>>>24&255,t[20]=O>>>0&255,t[21]=O>>>8&255,t[22]=O>>>16&255,t[23]=O>>>24&255,t[24]=S>>>0&255,t[25]=S>>>8&255,t[26]=S>>>16&255,t[27]=S>>>24&255,t[28]=R>>>0&255,t[29]=R>>>8&255,t[30]=R>>>16&255,t[31]=R>>>24&255,t[32]=C>>>0&255,t[33]=C>>>8&255,t[34]=C>>>16&255,t[35]=C>>>24&255,t[36]=k>>>0&255,t[37]=k>>>8&255,t[38]=k>>>16&255,t[39]=k>>>24&255,t[40]=D>>>0&255,t[41]=D>>>8&255,t[42]=D>>>16&255,t[43]=D>>>24&255,t[44]=U>>>0&255,t[45]=U>>>8&255,t[46]=U>>>16&255,t[47]=U>>>24&255,t[48]=L>>>0&255,t[49]=L>>>8&255,t[50]=L>>>16&255,t[51]=L>>>24&255,t[52]=x>>>0&255,t[53]=x>>>8&255,t[54]=x>>>16&255,t[55]=x>>>24&255,t[56]=B>>>0&255,t[57]=B>>>8&255,t[58]=B>>>16&255,t[59]=B>>>24&255,t[60]=M>>>0&255,t[61]=M>>>8&255,t[62]=M>>>16&255,t[63]=M>>>24&255}(t,e,n,r)}function w(t,e,n,r){!function(t,e,n,r){for(var o,i=255&r[0]|(255&r[1])<<8|(255&r[2])<<16|(255&r[3])<<24,s=255&n[0]|(255&n[1])<<8|(255&n[2])<<16|(255&n[3])<<24,a=255&n[4]|(255&n[5])<<8|(255&n[6])<<16|(255&n[7])<<24,c=255&n[8]|(255&n[9])<<8|(255&n[10])<<16|(255&n[11])<<24,u=255&n[12]|(255&n[13])<<8|(255&n[14])<<16|(255&n[15])<<24,l=255&r[4]|(255&r[5])<<8|(255&r[6])<<16|(255&r[7])<<24,f=255&e[0]|(255&e[1])<<8|(255&e[2])<<16|(255&e[3])<<24,h=255&e[4]|(255&e[5])<<8|(255&e[6])<<16|(255&e[7])<<24,d=255&e[8]|(255&e[9])<<8|(255&e[10])<<16|(255&e[11])<<24,p=255&e[12]|(255&e[13])<<8|(255&e[14])<<16|(255&e[15])<<24,y=255&r[8]|(255&r[9])<<8|(255&r[10])<<16|(255&r[11])<<24,g=255&n[16]|(255&n[17])<<8|(255&n[18])<<16|(255&n[19])<<24,v=255&n[20]|(255&n[21])<<8|(255&n[22])<<16|(255&n[23])<<24,m=255&n[24]|(255&n[25])<<8|(255&n[26])<<16|(255&n[27])<<24,w=255&n[28]|(255&n[29])<<8|(255&n[30])<<16|(255&n[31])<<24,b=255&r[12]|(255&r[13])<<8|(255&r[14])<<16|(255&r[15])<<24,_=0;_<20;_+=2)i^=(o=(v^=(o=(d^=(o=(u^=(o=i+v|0)<<7|o>>>25)+i|0)<<9|o>>>23)+u|0)<<13|o>>>19)+d|0)<<18|o>>>14,l^=(o=(s^=(o=(m^=(o=(p^=(o=l+s|0)<<7|o>>>25)+l|0)<<9|o>>>23)+p|0)<<13|o>>>19)+m|0)<<18|o>>>14,y^=(o=(f^=(o=(a^=(o=(w^=(o=y+f|0)<<7|o>>>25)+y|0)<<9|o>>>23)+w|0)<<13|o>>>19)+a|0)<<18|o>>>14,b^=(o=(g^=(o=(h^=(o=(c^=(o=b+g|0)<<7|o>>>25)+b|0)<<9|o>>>23)+c|0)<<13|o>>>19)+h|0)<<18|o>>>14,i^=(o=(c^=(o=(a^=(o=(s^=(o=i+c|0)<<7|o>>>25)+i|0)<<9|o>>>23)+s|0)<<13|o>>>19)+a|0)<<18|o>>>14,l^=(o=(u^=(o=(h^=(o=(f^=(o=l+u|0)<<7|o>>>25)+l|0)<<9|o>>>23)+f|0)<<13|o>>>19)+h|0)<<18|o>>>14,y^=(o=(p^=(o=(d^=(o=(g^=(o=y+p|0)<<7|o>>>25)+y|0)<<9|o>>>23)+g|0)<<13|o>>>19)+d|0)<<18|o>>>14,b^=(o=(w^=(o=(m^=(o=(v^=(o=b+w|0)<<7|o>>>25)+b|0)<<9|o>>>23)+v|0)<<13|o>>>19)+m|0)<<18|o>>>14;t[0]=i>>>0&255,t[1]=i>>>8&255,t[2]=i>>>16&255,t[3]=i>>>24&255,t[4]=l>>>0&255,t[5]=l>>>8&255,t[6]=l>>>16&255,t[7]=l>>>24&255,t[8]=y>>>0&255,t[9]=y>>>8&255,t[10]=y>>>16&255,t[11]=y>>>24&255,t[12]=b>>>0&255,t[13]=b>>>8&255,t[14]=b>>>16&255,t[15]=b>>>24&255,t[16]=f>>>0&255,t[17]=f>>>8&255,t[18]=f>>>16&255,t[19]=f>>>24&255,t[20]=h>>>0&255,t[21]=h>>>8&255,t[22]=h>>>16&255,t[23]=h>>>24&255,t[24]=d>>>0&255,t[25]=d>>>8&255,t[26]=d>>>16&255,t[27]=d>>>24&255,t[28]=p>>>0&255,t[29]=p>>>8&255,t[30]=p>>>16&255,t[31]=p>>>24&255}(t,e,n,r)}var b=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function _(t,e,n,r,o,i,s){var a,c,u=new Uint8Array(16),l=new Uint8Array(64);for(c=0;c<16;c++)u[c]=0;for(c=0;c<8;c++)u[c]=i[c];for(;o>=64;){for(m(l,u,s,b),c=0;c<64;c++)t[e+c]=n[r+c]^l[c];for(a=1,c=8;c<16;c++)a=a+(255&u[c])|0,u[c]=255&a,a>>>=8;o-=64,e+=64,r+=64}if(o>0)for(m(l,u,s,b),c=0;c=64;){for(m(c,a,o,b),s=0;s<64;s++)t[e+s]=c[s];for(i=1,s=8;s<16;s++)i=i+(255&a[s])|0,a[s]=255&i,i>>>=8;n-=64,e+=64}if(n>0)for(m(c,a,o,b),s=0;s>>13|n<<3),r=255&t[4]|(255&t[5])<<8,this.r[2]=7939&(n>>>10|r<<6),o=255&t[6]|(255&t[7])<<8,this.r[3]=8191&(r>>>7|o<<9),i=255&t[8]|(255&t[9])<<8,this.r[4]=255&(o>>>4|i<<12),this.r[5]=i>>>1&8190,s=255&t[10]|(255&t[11])<<8,this.r[6]=8191&(i>>>14|s<<2),a=255&t[12]|(255&t[13])<<8,this.r[7]=8065&(s>>>11|a<<5),c=255&t[14]|(255&t[15])<<8,this.r[8]=8191&(a>>>8|c<<8),this.r[9]=c>>>5&127,this.pad[0]=255&t[16]|(255&t[17])<<8,this.pad[1]=255&t[18]|(255&t[19])<<8,this.pad[2]=255&t[20]|(255&t[21])<<8,this.pad[3]=255&t[22]|(255&t[23])<<8,this.pad[4]=255&t[24]|(255&t[25])<<8,this.pad[5]=255&t[26]|(255&t[27])<<8,this.pad[6]=255&t[28]|(255&t[29])<<8,this.pad[7]=255&t[30]|(255&t[31])<<8};function O(t,e,n,r,o,i){var s=new T(i);return s.update(n,r,o),s.finish(t,e),0}function S(t,e,n,r,o,i){var s=new Uint8Array(16);return O(s,0,n,r,o,i),g(t,e,s,0)}function R(t,e,n,r,o){var i;if(n<32)return-1;for(A(t,0,e,0,n,r,o),O(t,16,t,32,n-32,t),i=0;i<16;i++)t[i]=0;return 0}function C(t,e,n,r,o){var i,s=new Uint8Array(32);if(n<32)return-1;if(E(s,0,32,r,o),0!==S(e,16,e,32,n-32,s))return-1;for(A(t,0,e,0,n,r,o),i=0;i<32;i++)t[i]=0;return 0}function k(t,e){var n;for(n=0;n<16;n++)t[n]=0|e[n]}function D(t){var e,n,r=1;for(e=0;e<16;e++)n=t[e]+r+65535,r=Math.floor(n/65536),t[e]=n-65536*r;t[0]+=r-1+37*(r-1)}function U(t,e,n){for(var r,o=~(n-1),i=0;i<16;i++)r=o&(t[i]^e[i]),t[i]^=r,e[i]^=r}function L(t,n){var r,o,i,s=e(),a=e();for(r=0;r<16;r++)a[r]=n[r];for(D(a),D(a),D(a),o=0;o<2;o++){for(s[0]=a[0]-65517,r=1;r<15;r++)s[r]=a[r]-65535-(s[r-1]>>16&1),s[r-1]&=65535;s[15]=a[15]-32767-(s[14]>>16&1),i=s[15]>>16&1,s[14]&=65535,U(a,s,1-i)}for(r=0;r<16;r++)t[2*r]=255&a[r],t[2*r+1]=a[r]>>8}function x(t,e){var n=new Uint8Array(32),r=new Uint8Array(32);return L(n,t),L(r,e),v(n,0,r,0)}function B(t){var e=new Uint8Array(32);return L(e,t),1&e[0]}function M(t,e){var n;for(n=0;n<16;n++)t[n]=e[2*n]+(e[2*n+1]<<8);t[15]&=32767}function N(t,e,n){for(var r=0;r<16;r++)t[r]=e[r]+n[r]}function P(t,e,n){for(var r=0;r<16;r++)t[r]=e[r]-n[r]}function F(t,e,n){var r,o,i=0,s=0,a=0,c=0,u=0,l=0,f=0,h=0,d=0,p=0,y=0,g=0,v=0,m=0,w=0,b=0,_=0,I=0,E=0,A=0,T=0,O=0,S=0,R=0,C=0,k=0,D=0,U=0,L=0,x=0,B=0,M=n[0],N=n[1],P=n[2],F=n[3],j=n[4],K=n[5],W=n[6],G=n[7],H=n[8],Y=n[9],q=n[10],$=n[11],z=n[12],J=n[13],V=n[14],X=n[15];i+=(r=e[0])*M,s+=r*N,a+=r*P,c+=r*F,u+=r*j,l+=r*K,f+=r*W,h+=r*G,d+=r*H,p+=r*Y,y+=r*q,g+=r*$,v+=r*z,m+=r*J,w+=r*V,b+=r*X,s+=(r=e[1])*M,a+=r*N,c+=r*P,u+=r*F,l+=r*j,f+=r*K,h+=r*W,d+=r*G,p+=r*H,y+=r*Y,g+=r*q,v+=r*$,m+=r*z,w+=r*J,b+=r*V,_+=r*X,a+=(r=e[2])*M,c+=r*N,u+=r*P,l+=r*F,f+=r*j,h+=r*K,d+=r*W,p+=r*G,y+=r*H,g+=r*Y,v+=r*q,m+=r*$,w+=r*z,b+=r*J,_+=r*V,I+=r*X,c+=(r=e[3])*M,u+=r*N,l+=r*P,f+=r*F,h+=r*j,d+=r*K,p+=r*W,y+=r*G,g+=r*H,v+=r*Y,m+=r*q,w+=r*$,b+=r*z,_+=r*J,I+=r*V,E+=r*X,u+=(r=e[4])*M,l+=r*N,f+=r*P,h+=r*F,d+=r*j,p+=r*K,y+=r*W,g+=r*G,v+=r*H,m+=r*Y,w+=r*q,b+=r*$,_+=r*z,I+=r*J,E+=r*V,A+=r*X,l+=(r=e[5])*M,f+=r*N,h+=r*P,d+=r*F,p+=r*j,y+=r*K,g+=r*W,v+=r*G,m+=r*H,w+=r*Y,b+=r*q,_+=r*$,I+=r*z,E+=r*J,A+=r*V,T+=r*X,f+=(r=e[6])*M,h+=r*N,d+=r*P,p+=r*F,y+=r*j,g+=r*K,v+=r*W,m+=r*G,w+=r*H,b+=r*Y,_+=r*q,I+=r*$,E+=r*z,A+=r*J,T+=r*V,O+=r*X,h+=(r=e[7])*M,d+=r*N,p+=r*P,y+=r*F,g+=r*j,v+=r*K,m+=r*W,w+=r*G,b+=r*H,_+=r*Y,I+=r*q,E+=r*$,A+=r*z,T+=r*J,O+=r*V,S+=r*X,d+=(r=e[8])*M,p+=r*N,y+=r*P,g+=r*F,v+=r*j,m+=r*K,w+=r*W,b+=r*G,_+=r*H,I+=r*Y,E+=r*q,A+=r*$,T+=r*z,O+=r*J,S+=r*V,R+=r*X,p+=(r=e[9])*M,y+=r*N,g+=r*P,v+=r*F,m+=r*j,w+=r*K,b+=r*W,_+=r*G,I+=r*H,E+=r*Y,A+=r*q,T+=r*$,O+=r*z,S+=r*J,R+=r*V,C+=r*X,y+=(r=e[10])*M,g+=r*N,v+=r*P,m+=r*F,w+=r*j,b+=r*K,_+=r*W,I+=r*G,E+=r*H,A+=r*Y,T+=r*q,O+=r*$,S+=r*z,R+=r*J,C+=r*V,k+=r*X,g+=(r=e[11])*M,v+=r*N,m+=r*P,w+=r*F,b+=r*j,_+=r*K,I+=r*W,E+=r*G,A+=r*H,T+=r*Y,O+=r*q,S+=r*$,R+=r*z,C+=r*J,k+=r*V,D+=r*X,v+=(r=e[12])*M,m+=r*N,w+=r*P,b+=r*F,_+=r*j,I+=r*K,E+=r*W,A+=r*G,T+=r*H,O+=r*Y,S+=r*q,R+=r*$,C+=r*z,k+=r*J,D+=r*V,U+=r*X,m+=(r=e[13])*M,w+=r*N,b+=r*P,_+=r*F,I+=r*j,E+=r*K,A+=r*W,T+=r*G,O+=r*H,S+=r*Y,R+=r*q,C+=r*$,k+=r*z,D+=r*J,U+=r*V,L+=r*X,w+=(r=e[14])*M,b+=r*N,_+=r*P,I+=r*F,E+=r*j,A+=r*K,T+=r*W,O+=r*G,S+=r*H,R+=r*Y,C+=r*q,k+=r*$,D+=r*z,U+=r*J,L+=r*V,x+=r*X,b+=(r=e[15])*M,s+=38*(I+=r*P),a+=38*(E+=r*F),c+=38*(A+=r*j),u+=38*(T+=r*K),l+=38*(O+=r*W),f+=38*(S+=r*G),h+=38*(R+=r*H),d+=38*(C+=r*Y),p+=38*(k+=r*q),y+=38*(D+=r*$),g+=38*(U+=r*z),v+=38*(L+=r*J),m+=38*(x+=r*V),w+=38*(B+=r*X),i=(r=(i+=38*(_+=r*N))+(o=1)+65535)-65536*(o=Math.floor(r/65536)),s=(r=s+o+65535)-65536*(o=Math.floor(r/65536)),a=(r=a+o+65535)-65536*(o=Math.floor(r/65536)),c=(r=c+o+65535)-65536*(o=Math.floor(r/65536)),u=(r=u+o+65535)-65536*(o=Math.floor(r/65536)),l=(r=l+o+65535)-65536*(o=Math.floor(r/65536)),f=(r=f+o+65535)-65536*(o=Math.floor(r/65536)),h=(r=h+o+65535)-65536*(o=Math.floor(r/65536)),d=(r=d+o+65535)-65536*(o=Math.floor(r/65536)),p=(r=p+o+65535)-65536*(o=Math.floor(r/65536)),y=(r=y+o+65535)-65536*(o=Math.floor(r/65536)),g=(r=g+o+65535)-65536*(o=Math.floor(r/65536)),v=(r=v+o+65535)-65536*(o=Math.floor(r/65536)),m=(r=m+o+65535)-65536*(o=Math.floor(r/65536)),w=(r=w+o+65535)-65536*(o=Math.floor(r/65536)),b=(r=b+o+65535)-65536*(o=Math.floor(r/65536)),i=(r=(i+=o-1+37*(o-1))+(o=1)+65535)-65536*(o=Math.floor(r/65536)),s=(r=s+o+65535)-65536*(o=Math.floor(r/65536)),a=(r=a+o+65535)-65536*(o=Math.floor(r/65536)),c=(r=c+o+65535)-65536*(o=Math.floor(r/65536)),u=(r=u+o+65535)-65536*(o=Math.floor(r/65536)),l=(r=l+o+65535)-65536*(o=Math.floor(r/65536)),f=(r=f+o+65535)-65536*(o=Math.floor(r/65536)),h=(r=h+o+65535)-65536*(o=Math.floor(r/65536)),d=(r=d+o+65535)-65536*(o=Math.floor(r/65536)),p=(r=p+o+65535)-65536*(o=Math.floor(r/65536)),y=(r=y+o+65535)-65536*(o=Math.floor(r/65536)),g=(r=g+o+65535)-65536*(o=Math.floor(r/65536)),v=(r=v+o+65535)-65536*(o=Math.floor(r/65536)),m=(r=m+o+65535)-65536*(o=Math.floor(r/65536)),w=(r=w+o+65535)-65536*(o=Math.floor(r/65536)),b=(r=b+o+65535)-65536*(o=Math.floor(r/65536)),i+=o-1+37*(o-1),t[0]=i,t[1]=s,t[2]=a,t[3]=c,t[4]=u,t[5]=l,t[6]=f,t[7]=h,t[8]=d,t[9]=p,t[10]=y,t[11]=g,t[12]=v,t[13]=m,t[14]=w,t[15]=b}function j(t,e){F(t,e,e)}function K(t,n){var r,o=e();for(r=0;r<16;r++)o[r]=n[r];for(r=253;r>=0;r--)j(o,o),2!==r&&4!==r&&F(o,o,n);for(r=0;r<16;r++)t[r]=o[r]}function W(t,n){var r,o=e();for(r=0;r<16;r++)o[r]=n[r];for(r=250;r>=0;r--)j(o,o),1!==r&&F(o,o,n);for(r=0;r<16;r++)t[r]=o[r]}function G(t,n,r){var o,i,s=new Uint8Array(32),a=new Float64Array(80),u=e(),l=e(),f=e(),h=e(),d=e(),p=e();for(i=0;i<31;i++)s[i]=n[i];for(s[31]=127&n[31]|64,s[0]&=248,M(a,r),i=0;i<16;i++)l[i]=a[i],h[i]=u[i]=f[i]=0;for(u[0]=h[0]=1,i=254;i>=0;--i)U(u,l,o=s[i>>>3]>>>(7&i)&1),U(f,h,o),N(d,u,f),P(u,u,f),N(f,l,h),P(l,l,h),j(h,d),j(p,u),F(u,f,u),F(f,l,d),N(d,u,f),P(u,u,f),j(l,u),P(f,h,p),F(u,f,c),N(u,u,h),F(f,f,u),F(u,h,p),F(h,l,a),j(l,d),U(u,l,o),U(f,h,o);for(i=0;i<16;i++)a[i+16]=u[i],a[i+32]=f[i],a[i+48]=l[i],a[i+64]=h[i];var y=a.subarray(32),g=a.subarray(16);return K(y,y),F(g,g,y),L(t,g),0}function H(t,e){return G(t,e,i)}function Y(t,e){return r(e,32),H(t,e)}function q(t,e,n){var r=new Uint8Array(32);return G(r,n,e),w(t,o,r,b)}T.prototype.blocks=function(t,e,n){for(var r,o,i,s,a,c,u,l,f,h,d,p,y,g,v,m,w,b,_,I=this.fin?0:2048,E=this.h[0],A=this.h[1],T=this.h[2],O=this.h[3],S=this.h[4],R=this.h[5],C=this.h[6],k=this.h[7],D=this.h[8],U=this.h[9],L=this.r[0],x=this.r[1],B=this.r[2],M=this.r[3],N=this.r[4],P=this.r[5],F=this.r[6],j=this.r[7],K=this.r[8],W=this.r[9];n>=16;)h=f=0,h+=(E+=8191&(r=255&t[e+0]|(255&t[e+1])<<8))*L,h+=(A+=8191&(r>>>13|(o=255&t[e+2]|(255&t[e+3])<<8)<<3))*(5*W),h+=(T+=8191&(o>>>10|(i=255&t[e+4]|(255&t[e+5])<<8)<<6))*(5*K),h+=(O+=8191&(i>>>7|(s=255&t[e+6]|(255&t[e+7])<<8)<<9))*(5*j),f=(h+=(S+=8191&(s>>>4|(a=255&t[e+8]|(255&t[e+9])<<8)<<12))*(5*F))>>>13,h&=8191,h+=(R+=a>>>1&8191)*(5*P),h+=(C+=8191&(a>>>14|(c=255&t[e+10]|(255&t[e+11])<<8)<<2))*(5*N),h+=(k+=8191&(c>>>11|(u=255&t[e+12]|(255&t[e+13])<<8)<<5))*(5*M),h+=(D+=8191&(u>>>8|(l=255&t[e+14]|(255&t[e+15])<<8)<<8))*(5*B),d=f+=(h+=(U+=l>>>5|I)*(5*x))>>>13,d+=E*x,d+=A*L,d+=T*(5*W),d+=O*(5*K),f=(d+=S*(5*j))>>>13,d&=8191,d+=R*(5*F),d+=C*(5*P),d+=k*(5*N),d+=D*(5*M),f+=(d+=U*(5*B))>>>13,d&=8191,p=f,p+=E*B,p+=A*x,p+=T*L,p+=O*(5*W),f=(p+=S*(5*K))>>>13,p&=8191,p+=R*(5*j),p+=C*(5*F),p+=k*(5*P),p+=D*(5*N),y=f+=(p+=U*(5*M))>>>13,y+=E*M,y+=A*B,y+=T*x,y+=O*L,f=(y+=S*(5*W))>>>13,y&=8191,y+=R*(5*K),y+=C*(5*j),y+=k*(5*F),y+=D*(5*P),g=f+=(y+=U*(5*N))>>>13,g+=E*N,g+=A*M,g+=T*B,g+=O*x,f=(g+=S*L)>>>13,g&=8191,g+=R*(5*W),g+=C*(5*K),g+=k*(5*j),g+=D*(5*F),v=f+=(g+=U*(5*P))>>>13,v+=E*P,v+=A*N,v+=T*M,v+=O*B,f=(v+=S*x)>>>13,v&=8191,v+=R*L,v+=C*(5*W),v+=k*(5*K),v+=D*(5*j),m=f+=(v+=U*(5*F))>>>13,m+=E*F,m+=A*P,m+=T*N,m+=O*M,f=(m+=S*B)>>>13,m&=8191,m+=R*x,m+=C*L,m+=k*(5*W),m+=D*(5*K),w=f+=(m+=U*(5*j))>>>13,w+=E*j,w+=A*F,w+=T*P,w+=O*N,f=(w+=S*M)>>>13,w&=8191,w+=R*B,w+=C*x,w+=k*L,w+=D*(5*W),b=f+=(w+=U*(5*K))>>>13,b+=E*K,b+=A*j,b+=T*F,b+=O*P,f=(b+=S*N)>>>13,b&=8191,b+=R*M,b+=C*B,b+=k*x,b+=D*L,_=f+=(b+=U*(5*W))>>>13,_+=E*W,_+=A*K,_+=T*j,_+=O*F,f=(_+=S*P)>>>13,_&=8191,_+=R*N,_+=C*M,_+=k*B,_+=D*x,E=h=8191&(f=(f=((f+=(_+=U*L)>>>13)<<2)+f|0)+(h&=8191)|0),A=d+=f>>>=13,T=p&=8191,O=y&=8191,S=g&=8191,R=v&=8191,C=m&=8191,k=w&=8191,D=b&=8191,U=_&=8191,e+=16,n-=16;this.h[0]=E,this.h[1]=A,this.h[2]=T,this.h[3]=O,this.h[4]=S,this.h[5]=R,this.h[6]=C,this.h[7]=k,this.h[8]=D,this.h[9]=U},T.prototype.finish=function(t,e){var n,r,o,i,s=new Uint16Array(10);if(this.leftover){for(i=this.leftover,this.buffer[i++]=1;i<16;i++)this.buffer[i]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(n=this.h[1]>>>13,this.h[1]&=8191,i=2;i<10;i++)this.h[i]+=n,n=this.h[i]>>>13,this.h[i]&=8191;for(this.h[0]+=5*n,n=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=n,n=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=n,s[0]=this.h[0]+5,n=s[0]>>>13,s[0]&=8191,i=1;i<10;i++)s[i]=this.h[i]+n,n=s[i]>>>13,s[i]&=8191;for(s[9]-=8192,r=(1^n)-1,i=0;i<10;i++)s[i]&=r;for(r=~r,i=0;i<10;i++)this.h[i]=this.h[i]&r|s[i];for(this.h[0]=65535&(this.h[0]|this.h[1]<<13),this.h[1]=65535&(this.h[1]>>>3|this.h[2]<<10),this.h[2]=65535&(this.h[2]>>>6|this.h[3]<<7),this.h[3]=65535&(this.h[3]>>>9|this.h[4]<<4),this.h[4]=65535&(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14),this.h[5]=65535&(this.h[6]>>>2|this.h[7]<<11),this.h[6]=65535&(this.h[7]>>>5|this.h[8]<<8),this.h[7]=65535&(this.h[8]>>>8|this.h[9]<<5),o=this.h[0]+this.pad[0],this.h[0]=65535&o,i=1;i<8;i++)o=(this.h[i]+this.pad[i]|0)+(o>>>16)|0,this.h[i]=65535&o;t[e+0]=this.h[0]>>>0&255,t[e+1]=this.h[0]>>>8&255,t[e+2]=this.h[1]>>>0&255,t[e+3]=this.h[1]>>>8&255,t[e+4]=this.h[2]>>>0&255,t[e+5]=this.h[2]>>>8&255,t[e+6]=this.h[3]>>>0&255,t[e+7]=this.h[3]>>>8&255,t[e+8]=this.h[4]>>>0&255,t[e+9]=this.h[4]>>>8&255,t[e+10]=this.h[5]>>>0&255,t[e+11]=this.h[5]>>>8&255,t[e+12]=this.h[6]>>>0&255,t[e+13]=this.h[6]>>>8&255,t[e+14]=this.h[7]>>>0&255,t[e+15]=this.h[7]>>>8&255},T.prototype.update=function(t,e,n){var r,o;if(this.leftover){for((o=16-this.leftover)>n&&(o=n),r=0;r=16&&(o=n-n%16,this.blocks(t,e,o),e+=o,n-=o),n){for(r=0;r=128;){for(I=0;I<16;I++)E=8*I+z,k[I]=n[E+0]<<24|n[E+1]<<16|n[E+2]<<8|n[E+3],D[I]=n[E+4]<<24|n[E+5]<<16|n[E+6]<<8|n[E+7];for(I=0;I<80;I++)if(o=U,i=L,s=x,a=B,c=M,u=N,l=P,h=j,d=K,p=W,y=G,g=H,v=Y,m=q,O=65535&(T=$),S=T>>>16,R=65535&(A=F),C=A>>>16,O+=65535&(T=(H>>>14|M<<18)^(H>>>18|M<<14)^(M>>>9|H<<23)),S+=T>>>16,R+=65535&(A=(M>>>14|H<<18)^(M>>>18|H<<14)^(H>>>9|M<<23)),C+=A>>>16,O+=65535&(T=H&Y^~H&q),S+=T>>>16,R+=65535&(A=M&N^~M&P),C+=A>>>16,O+=65535&(T=J[2*I+1]),S+=T>>>16,R+=65535&(A=J[2*I]),C+=A>>>16,A=k[I%16],S+=(T=D[I%16])>>>16,R+=65535&A,C+=A>>>16,R+=(S+=(O+=65535&T)>>>16)>>>16,O=65535&(T=_=65535&O|S<<16),S=T>>>16,R=65535&(A=b=65535&R|(C+=R>>>16)<<16),C=A>>>16,O+=65535&(T=(j>>>28|U<<4)^(U>>>2|j<<30)^(U>>>7|j<<25)),S+=T>>>16,R+=65535&(A=(U>>>28|j<<4)^(j>>>2|U<<30)^(j>>>7|U<<25)),C+=A>>>16,S+=(T=j&K^j&W^K&W)>>>16,R+=65535&(A=U&L^U&x^L&x),C+=A>>>16,f=65535&(R+=(S+=(O+=65535&T)>>>16)>>>16)|(C+=R>>>16)<<16,w=65535&O|S<<16,O=65535&(T=y),S=T>>>16,R=65535&(A=a),C=A>>>16,S+=(T=_)>>>16,R+=65535&(A=b),C+=A>>>16,L=o,x=i,B=s,M=a=65535&(R+=(S+=(O+=65535&T)>>>16)>>>16)|(C+=R>>>16)<<16,N=c,P=u,F=l,U=f,K=h,W=d,G=p,H=y=65535&O|S<<16,Y=g,q=v,$=m,j=w,I%16==15)for(E=0;E<16;E++)A=k[E],O=65535&(T=D[E]),S=T>>>16,R=65535&A,C=A>>>16,A=k[(E+9)%16],O+=65535&(T=D[(E+9)%16]),S+=T>>>16,R+=65535&A,C+=A>>>16,b=k[(E+1)%16],O+=65535&(T=((_=D[(E+1)%16])>>>1|b<<31)^(_>>>8|b<<24)^(_>>>7|b<<25)),S+=T>>>16,R+=65535&(A=(b>>>1|_<<31)^(b>>>8|_<<24)^b>>>7),C+=A>>>16,b=k[(E+14)%16],S+=(T=((_=D[(E+14)%16])>>>19|b<<13)^(b>>>29|_<<3)^(_>>>6|b<<26))>>>16,R+=65535&(A=(b>>>19|_<<13)^(_>>>29|b<<3)^b>>>6),C+=A>>>16,C+=(R+=(S+=(O+=65535&T)>>>16)>>>16)>>>16,k[E]=65535&R|C<<16,D[E]=65535&O|S<<16;O=65535&(T=j),S=T>>>16,R=65535&(A=U),C=A>>>16,A=t[0],S+=(T=e[0])>>>16,R+=65535&A,C+=A>>>16,C+=(R+=(S+=(O+=65535&T)>>>16)>>>16)>>>16,t[0]=U=65535&R|C<<16,e[0]=j=65535&O|S<<16,O=65535&(T=K),S=T>>>16,R=65535&(A=L),C=A>>>16,A=t[1],S+=(T=e[1])>>>16,R+=65535&A,C+=A>>>16,C+=(R+=(S+=(O+=65535&T)>>>16)>>>16)>>>16,t[1]=L=65535&R|C<<16,e[1]=K=65535&O|S<<16,O=65535&(T=W),S=T>>>16,R=65535&(A=x),C=A>>>16,A=t[2],S+=(T=e[2])>>>16,R+=65535&A,C+=A>>>16,C+=(R+=(S+=(O+=65535&T)>>>16)>>>16)>>>16,t[2]=x=65535&R|C<<16,e[2]=W=65535&O|S<<16,O=65535&(T=G),S=T>>>16,R=65535&(A=B),C=A>>>16,A=t[3],S+=(T=e[3])>>>16,R+=65535&A,C+=A>>>16,C+=(R+=(S+=(O+=65535&T)>>>16)>>>16)>>>16,t[3]=B=65535&R|C<<16,e[3]=G=65535&O|S<<16,O=65535&(T=H),S=T>>>16,R=65535&(A=M),C=A>>>16,A=t[4],S+=(T=e[4])>>>16,R+=65535&A,C+=A>>>16,C+=(R+=(S+=(O+=65535&T)>>>16)>>>16)>>>16,t[4]=M=65535&R|C<<16,e[4]=H=65535&O|S<<16,O=65535&(T=Y),S=T>>>16,R=65535&(A=N),C=A>>>16,A=t[5],S+=(T=e[5])>>>16,R+=65535&A,C+=A>>>16,C+=(R+=(S+=(O+=65535&T)>>>16)>>>16)>>>16,t[5]=N=65535&R|C<<16,e[5]=Y=65535&O|S<<16,O=65535&(T=q),S=T>>>16,R=65535&(A=P),C=A>>>16,A=t[6],S+=(T=e[6])>>>16,R+=65535&A,C+=A>>>16,C+=(R+=(S+=(O+=65535&T)>>>16)>>>16)>>>16,t[6]=P=65535&R|C<<16,e[6]=q=65535&O|S<<16,O=65535&(T=$),S=T>>>16,R=65535&(A=F),C=A>>>16,A=t[7],S+=(T=e[7])>>>16,R+=65535&A,C+=A>>>16,C+=(R+=(S+=(O+=65535&T)>>>16)>>>16)>>>16,t[7]=F=65535&R|C<<16,e[7]=$=65535&O|S<<16,z+=128,r-=128}return r}function X(t,e,n){var r,o=new Int32Array(8),i=new Int32Array(8),s=new Uint8Array(256),a=n;for(o[0]=1779033703,o[1]=3144134277,o[2]=1013904242,o[3]=2773480762,o[4]=1359893119,o[5]=2600822924,o[6]=528734635,o[7]=1541459225,i[0]=4089235720,i[1]=2227873595,i[2]=4271175723,i[3]=1595750129,i[4]=2917565137,i[5]=725511199,i[6]=4215389547,i[7]=327033209,V(o,i,e,n),n%=128,r=0;r=0;--o)Q(t,e,r=n[o/8|0]>>(7&o)&1),Z(e,t),Z(t,t),Q(t,e,r)}function nt(t,n){var r=[e(),e(),e(),e()];k(r[0],f),k(r[1],h),k(r[2],a),F(r[3],f,h),et(t,r,n)}function rt(t,n,o){var i,s=new Uint8Array(64),a=[e(),e(),e(),e()];for(o||r(n,32),X(s,n,32),s[0]&=248,s[31]&=127,s[31]|=64,nt(a,s),tt(t,a),i=0;i<32;i++)n[i+32]=t[i];return 0}var ot=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function it(t,e){var n,r,o,i;for(r=63;r>=32;--r){for(n=0,o=r-32,i=r-12;o>4)*ot[o],n=e[o]>>8,e[o]&=255;for(o=0;o<32;o++)e[o]-=n*ot[o];for(r=0;r<32;r++)e[r+1]+=e[r]>>8,t[r]=255&e[r]}function st(t){var e,n=new Float64Array(64);for(e=0;e<64;e++)n[e]=t[e];for(e=0;e<64;e++)t[e]=0;it(t,n)}function at(t,n,r,o){var i,s,a=new Uint8Array(64),c=new Uint8Array(64),u=new Uint8Array(64),l=new Float64Array(64),f=[e(),e(),e(),e()];X(a,o,32),a[0]&=248,a[31]&=127,a[31]|=64;var h=r+64;for(i=0;i>7&&P(t[0],s,t[0]),F(t[3],t[0],t[1]),0)}(h,o))return-1;for(i=0;i=0},t.sign.keyPair=function(){var t=new Uint8Array(ft),e=new Uint8Array(ht);return rt(t,e),{publicKey:t,secretKey:e}},t.sign.keyPair.fromSecretKey=function(t){if(pt(t),t.length!==ht)throw new Error("bad secret key size");for(var e=new Uint8Array(ft),n=0;n{"use strict";n.r(e),n.d(e,{Modal:()=>o,default:()=>i});const r=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","iframe","object","embed","[contenteditable]",'[tabindex]:not([tabindex^="-"])'];class o{constructor({targetModal:t,triggers:e=[],onShow:n=(()=>{}),onClose:r=(()=>{}),openTrigger:o="data-micromodal-trigger",closeTrigger:i="data-micromodal-close",openClass:s="is-open",disableScroll:a=!1,disableFocus:c=!1,awaitCloseAnimation:u=!1,awaitOpenAnimation:l=!1,debugMode:f=!1}){this.modal=document.getElementById(t),this.config={debugMode:f,disableScroll:a,openTrigger:o,closeTrigger:i,openClass:s,onShow:n,onClose:r,awaitCloseAnimation:u,awaitOpenAnimation:l,disableFocus:c},e.length>0&&this.registerTriggers(...e),this.onClick=this.onClick.bind(this),this.onKeydown=this.onKeydown.bind(this)}registerTriggers(...t){t.filter(Boolean).forEach((t=>{t.addEventListener("click",(t=>this.showModal(t)))}))}showModal(t=null){if(this.activeElement=document.activeElement,this.modal.setAttribute("aria-hidden","false"),this.modal.classList.add(this.config.openClass),this.scrollBehaviour("disable"),this.addEventListeners(),this.config.awaitOpenAnimation){const t=()=>{this.modal.removeEventListener("animationend",t,!1),this.setFocusToFirstNode()};this.modal.addEventListener("animationend",t,!1)}else this.setFocusToFirstNode();this.config.onShow(this.modal,this.activeElement,t)}closeModal(t=null){const e=this.modal;if(this.modal.setAttribute("aria-hidden","true"),this.removeEventListeners(),this.scrollBehaviour("enable"),this.activeElement&&this.activeElement.focus&&this.activeElement.focus(),this.config.onClose(this.modal,this.activeElement,t),this.config.awaitCloseAnimation){let t=this.config.openClass;this.modal.addEventListener("animationend",(function n(){e.classList.remove(t),e.removeEventListener("animationend",n,!1)}),!1)}else e.classList.remove(this.config.openClass)}closeModalById(t){this.modal=document.getElementById(t),this.modal&&this.closeModal()}scrollBehaviour(t){if(!this.config.disableScroll)return;const e=document.querySelector("body");switch(t){case"enable":Object.assign(e.style,{overflow:""});break;case"disable":Object.assign(e.style,{overflow:"hidden"})}}addEventListeners(){this.modal.addEventListener("touchstart",this.onClick),this.modal.addEventListener("click",this.onClick),document.addEventListener("keydown",this.onKeydown)}removeEventListeners(){this.modal.removeEventListener("touchstart",this.onClick),this.modal.removeEventListener("click",this.onClick),document.removeEventListener("keydown",this.onKeydown)}onClick(t){t.target.hasAttribute(this.config.closeTrigger)&&this.closeModal(t)}onKeydown(t){27===t.keyCode&&this.closeModal(t),9===t.keyCode&&this.retainFocus(t)}getFocusableNodes(){const t=this.modal.querySelectorAll(r);return Array(...t)}setFocusToFirstNode(){if(this.config.disableFocus)return;const t=this.getFocusableNodes();if(0===t.length)return;const e=t.filter((t=>!t.hasAttribute(this.config.closeTrigger)));e.length>0&&e[0].focus(),0===e.length&&t[0].focus()}retainFocus(t){let e=this.getFocusableNodes();if(0!==e.length)if(e=e.filter((t=>null!==t.offsetParent)),this.modal.contains(document.activeElement)){const n=e.indexOf(document.activeElement);t.shiftKey&&0===n&&(e[e.length-1].focus(),t.preventDefault()),!t.shiftKey&&e.length>0&&n===e.length-1&&(e[0].focus(),t.preventDefault())}else e[0].focus()}}const i=(()=>{let t=null;const e=t=>{if(!document.getElementById(t))return console.warn(`MicroModal: ❗Seems like you have missed %c'${t}'`,"background-color: #f8f9fa;color: #50596c;font-weight: bold;","ID somewhere in your code. Refer example below to resolve it."),console.warn("%cExample:","background-color: #f8f9fa;color: #50596c;font-weight: bold;",``),!1};return{init:n=>{const r=Object.assign({},{openTrigger:"data-micromodal-trigger"},n),i=[...document.querySelectorAll(`[${r.openTrigger}]`)],s=((t,e)=>{const n=[];return t.forEach((t=>{const r=t.attributes[e].value;void 0===n[r]&&(n[r]=[]),n[r].push(t)})),n})(i,r.openTrigger);if(!0!==r.debugMode||!1!==((t,n)=>{if((t=>{t.length<=0&&(console.warn("MicroModal: ❗Please specify at least one %c'micromodal-trigger'","background-color: #f8f9fa;color: #50596c;font-weight: bold;","data attribute."),console.warn("%cExample:","background-color: #f8f9fa;color: #50596c;font-weight: bold;",''))})(t),!n)return!0;for(var r in n)e(r);return!0})(i,s))for(var a in s){let e=s[a];r.targetModal=a,r.triggers=[...e],t=new o(r)}},show:(n,r)=>{const i=r||{};return i.targetModal=n,!0===i.debugMode&&!1===e(n)?null:(t&&t.removeEventListeners(),t=new o(i),t.showModal(),t)},close:e=>{e?t.closeModalById(e):t.closeModal()}}})()},5024:()=>{}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={exports:{}};return t[r].call(i.exports,i,i.exports,n),i.exports}return n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n(7337)})()})); +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("Cotter",[],e):"object"==typeof exports?exports.Cotter=e():t.Cotter=e()}(self,(function(){return(()=>{var t={9669:(t,e,n)=>{t.exports=n(1609)},5448:(t,e,n)=>{"use strict";var r=n(4867),o=n(6026),i=n(4372),s=n(5327),a=n(4097),c=n(4109),u=n(7985),l=n(5061);t.exports=function(t){return new Promise((function(e,n){var f=t.data,h=t.headers;r.isFormData(f)&&delete h["Content-Type"];var d=new XMLHttpRequest;if(t.auth){var p=t.auth.username||"",y=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";h.Authorization="Basic "+btoa(p+":"+y)}var g=a(t.baseURL,t.url);if(d.open(t.method.toUpperCase(),s(g,t.params,t.paramsSerializer),!0),d.timeout=t.timeout,d.onreadystatechange=function(){if(d&&4===d.readyState&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in d?c(d.getAllResponseHeaders()):null,i={data:t.responseType&&"text"!==t.responseType?d.response:d.responseText,status:d.status,statusText:d.statusText,headers:r,config:t,request:d};o(e,n,i),d=null}},d.onabort=function(){d&&(n(l("Request aborted",t,"ECONNABORTED",d)),d=null)},d.onerror=function(){n(l("Network Error",t,null,d)),d=null},d.ontimeout=function(){var e="timeout of "+t.timeout+"ms exceeded";t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(l(e,t,"ECONNABORTED",d)),d=null},r.isStandardBrowserEnv()){var v=(t.withCredentials||u(g))&&t.xsrfCookieName?i.read(t.xsrfCookieName):void 0;v&&(h[t.xsrfHeaderName]=v)}if("setRequestHeader"in d&&r.forEach(h,(function(t,e){void 0===f&&"content-type"===e.toLowerCase()?delete h[e]:d.setRequestHeader(e,t)})),r.isUndefined(t.withCredentials)||(d.withCredentials=!!t.withCredentials),t.responseType)try{d.responseType=t.responseType}catch(e){if("json"!==t.responseType)throw e}"function"==typeof t.onDownloadProgress&&d.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",t.onUploadProgress),t.cancelToken&&t.cancelToken.promise.then((function(t){d&&(d.abort(),n(t),d=null)})),f||(f=null),d.send(f)}))}},1609:(t,e,n)=>{"use strict";var r=n(4867),o=n(1849),i=n(321),s=n(7185);function a(t){var e=new i(t),n=o(i.prototype.request,e);return r.extend(n,i.prototype,e),r.extend(n,e),n}var c=a(n(5655));c.Axios=i,c.create=function(t){return a(s(c.defaults,t))},c.Cancel=n(5263),c.CancelToken=n(4972),c.isCancel=n(6502),c.all=function(t){return Promise.all(t)},c.spread=n(8713),c.isAxiosError=n(6268),t.exports=c,t.exports.default=c},5263:t=>{"use strict";function e(t){this.message=t}e.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},e.prototype.__CANCEL__=!0,t.exports=e},4972:(t,e,n)=>{"use strict";var r=n(5263);function o(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var n=this;t((function(t){n.reason||(n.reason=new r(t),e(n.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var t;return{token:new o((function(e){t=e})),cancel:t}},t.exports=o},6502:t=>{"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},321:(t,e,n)=>{"use strict";var r=n(4867),o=n(5327),i=n(782),s=n(3572),a=n(7185);function c(t){this.defaults=t,this.interceptors={request:new i,response:new i}}c.prototype.request=function(t){"string"==typeof t?(t=arguments[1]||{}).url=arguments[0]:t=t||{},(t=a(this.defaults,t)).method?t.method=t.method.toLowerCase():this.defaults.method?t.method=this.defaults.method.toLowerCase():t.method="get";var e=[s,void 0],n=Promise.resolve(t);for(this.interceptors.request.forEach((function(t){e.unshift(t.fulfilled,t.rejected)})),this.interceptors.response.forEach((function(t){e.push(t.fulfilled,t.rejected)}));e.length;)n=n.then(e.shift(),e.shift());return n},c.prototype.getUri=function(t){return t=a(this.defaults,t),o(t.url,t.params,t.paramsSerializer).replace(/^\?/,"")},r.forEach(["delete","get","head","options"],(function(t){c.prototype[t]=function(e,n){return this.request(a(n||{},{method:t,url:e,data:(n||{}).data}))}})),r.forEach(["post","put","patch"],(function(t){c.prototype[t]=function(e,n,r){return this.request(a(r||{},{method:t,url:e,data:n}))}})),t.exports=c},782:(t,e,n)=>{"use strict";var r=n(4867);function o(){this.handlers=[]}o.prototype.use=function(t,e){return this.handlers.push({fulfilled:t,rejected:e}),this.handlers.length-1},o.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},o.prototype.forEach=function(t){r.forEach(this.handlers,(function(e){null!==e&&t(e)}))},t.exports=o},4097:(t,e,n)=>{"use strict";var r=n(1793),o=n(7303);t.exports=function(t,e){return t&&!r(e)?o(t,e):e}},5061:(t,e,n)=>{"use strict";var r=n(481);t.exports=function(t,e,n,o,i){var s=new Error(t);return r(s,e,n,o,i)}},3572:(t,e,n)=>{"use strict";var r=n(4867),o=n(8527),i=n(6502),s=n(5655);function a(t){t.cancelToken&&t.cancelToken.throwIfRequested()}t.exports=function(t){return a(t),t.headers=t.headers||{},t.data=o(t.data,t.headers,t.transformRequest),t.headers=r.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),r.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete t.headers[e]})),(t.adapter||s.adapter)(t).then((function(e){return a(t),e.data=o(e.data,e.headers,t.transformResponse),e}),(function(e){return i(e)||(a(t),e&&e.response&&(e.response.data=o(e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)}))}},481:t=>{"use strict";t.exports=function(t,e,n,r,o){return t.config=e,n&&(t.code=n),t.request=r,t.response=o,t.isAxiosError=!0,t.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},t}},7185:(t,e,n)=>{"use strict";var r=n(4867);t.exports=function(t,e){e=e||{};var n={},o=["url","method","data"],i=["headers","auth","proxy","params"],s=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],a=["validateStatus"];function c(t,e){return r.isPlainObject(t)&&r.isPlainObject(e)?r.merge(t,e):r.isPlainObject(e)?r.merge({},e):r.isArray(e)?e.slice():e}function u(o){r.isUndefined(e[o])?r.isUndefined(t[o])||(n[o]=c(void 0,t[o])):n[o]=c(t[o],e[o])}r.forEach(o,(function(t){r.isUndefined(e[t])||(n[t]=c(void 0,e[t]))})),r.forEach(i,u),r.forEach(s,(function(o){r.isUndefined(e[o])?r.isUndefined(t[o])||(n[o]=c(void 0,t[o])):n[o]=c(void 0,e[o])})),r.forEach(a,(function(r){r in e?n[r]=c(t[r],e[r]):r in t&&(n[r]=c(void 0,t[r]))}));var l=o.concat(i).concat(s).concat(a),f=Object.keys(t).concat(Object.keys(e)).filter((function(t){return-1===l.indexOf(t)}));return r.forEach(f,u),n}},6026:(t,e,n)=>{"use strict";var r=n(5061);t.exports=function(t,e,n){var o=n.config.validateStatus;n.status&&o&&!o(n.status)?e(r("Request failed with status code "+n.status,n.config,null,n.request,n)):t(n)}},8527:(t,e,n)=>{"use strict";var r=n(4867);t.exports=function(t,e,n){return r.forEach(n,(function(n){t=n(t,e)})),t}},5655:(t,e,n)=>{"use strict";var r=n(4867),o=n(6016),i={"Content-Type":"application/x-www-form-urlencoded"};function s(t,e){!r.isUndefined(t)&&r.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var a,c={adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(a=n(5448)),a),transformRequest:[function(t,e){return o(e,"Accept"),o(e,"Content-Type"),r.isFormData(t)||r.isArrayBuffer(t)||r.isBuffer(t)||r.isStream(t)||r.isFile(t)||r.isBlob(t)?t:r.isArrayBufferView(t)?t.buffer:r.isURLSearchParams(t)?(s(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):r.isObject(t)?(s(e,"application/json;charset=utf-8"),JSON.stringify(t)):t}],transformResponse:[function(t){if("string"==typeof t)try{t=JSON.parse(t)}catch(t){}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};r.forEach(["delete","get","head"],(function(t){c.headers[t]={}})),r.forEach(["post","put","patch"],(function(t){c.headers[t]=r.merge(i)})),t.exports=c},1849:t=>{"use strict";t.exports=function(t,e){return function(){for(var n=new Array(arguments.length),r=0;r{"use strict";var r=n(4867);function o(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,e,n){if(!e)return t;var i;if(n)i=n(e);else if(r.isURLSearchParams(e))i=e.toString();else{var s=[];r.forEach(e,(function(t,e){null!=t&&(r.isArray(t)?e+="[]":t=[t],r.forEach(t,(function(t){r.isDate(t)?t=t.toISOString():r.isObject(t)&&(t=JSON.stringify(t)),s.push(o(e)+"="+o(t))})))})),i=s.join("&")}if(i){var a=t.indexOf("#");-1!==a&&(t=t.slice(0,a)),t+=(-1===t.indexOf("?")?"?":"&")+i}return t}},7303:t=>{"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},4372:(t,e,n)=>{"use strict";var r=n(4867);t.exports=r.isStandardBrowserEnv()?{write:function(t,e,n,o,i,s){var a=[];a.push(t+"="+encodeURIComponent(e)),r.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),r.isString(o)&&a.push("path="+o),r.isString(i)&&a.push("domain="+i),!0===s&&a.push("secure"),document.cookie=a.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},1793:t=>{"use strict";t.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)}},6268:t=>{"use strict";t.exports=function(t){return"object"==typeof t&&!0===t.isAxiosError}},7985:(t,e,n)=>{"use strict";var r=n(4867);t.exports=r.isStandardBrowserEnv()?function(){var t,e=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function o(t){var r=t;return e&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return t=o(window.location.href),function(e){var n=r.isString(e)?o(e):e;return n.protocol===t.protocol&&n.host===t.host}}():function(){return!0}},6016:(t,e,n)=>{"use strict";var r=n(4867);t.exports=function(t,e){r.forEach(t,(function(n,r){r!==e&&r.toUpperCase()===e.toUpperCase()&&(t[e]=n,delete t[r])}))}},4109:(t,e,n)=>{"use strict";var r=n(4867),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var e,n,i,s={};return t?(r.forEach(t.split("\n"),(function(t){if(i=t.indexOf(":"),e=r.trim(t.substr(0,i)).toLowerCase(),n=r.trim(t.substr(i+1)),e){if(s[e]&&o.indexOf(e)>=0)return;s[e]="set-cookie"===e?(s[e]?s[e]:[]).concat([n]):s[e]?s[e]+", "+n:n}})),s):s}},8713:t=>{"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},4867:(t,e,n)=>{"use strict";var r=n(1849),o=Object.prototype.toString;function i(t){return"[object Array]"===o.call(t)}function s(t){return void 0===t}function a(t){return null!==t&&"object"==typeof t}function c(t){if("[object Object]"!==o.call(t))return!1;var e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}function u(t){return"[object Function]"===o.call(t)}function l(t,e){if(null!=t)if("object"!=typeof t&&(t=[t]),i(t))for(var n=0,r=t.length;n{"use strict";e.byteLength=function(t){var e=c(t),n=e[0],r=e[1];return 3*(n+r)/4-r},e.toByteArray=function(t){var e,n,i=c(t),s=i[0],a=i[1],u=new o(function(t,e,n){return 3*(e+n)/4-n}(0,s,a)),l=0,f=a>0?s-4:s;for(n=0;n>16&255,u[l++]=e>>8&255,u[l++]=255&e;return 2===a&&(e=r[t.charCodeAt(n)]<<2|r[t.charCodeAt(n+1)]>>4,u[l++]=255&e),1===a&&(e=r[t.charCodeAt(n)]<<10|r[t.charCodeAt(n+1)]<<4|r[t.charCodeAt(n+2)]>>2,u[l++]=e>>8&255,u[l++]=255&e),u},e.fromByteArray=function(t){for(var e,r=t.length,o=r%3,i=[],s=16383,a=0,c=r-o;ac?c:a+s));return 1===o?(e=t[r-1],i.push(n[e>>2]+n[e<<4&63]+"==")):2===o&&(e=(t[r-2]<<8)+t[r-1],i.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"=")),i.join("")};for(var n=[],r=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,a=i.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function u(t,e,r){for(var o,i,s=[],a=e;a>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return s.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},8764:(t,e,n)=>{"use strict";const r=n(9742),o=n(645),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=c,e.SlowBuffer=function(t){return+t!=t&&(t=0),c.alloc(+t)},e.INSPECT_MAX_BYTES=50;const s=2147483647;function a(t){if(t>s)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,c.prototype),e}function c(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return f(t)}return u(t,e,n)}function u(t,e,n){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!c.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const n=0|y(t,e);let r=a(n);const o=r.write(t,e);return o!==n&&(r=r.slice(0,o)),r}(t,e);if(ArrayBuffer.isView(t))return function(t){if(J(t,Uint8Array)){const e=new Uint8Array(t);return d(e.buffer,e.byteOffset,e.byteLength)}return h(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(J(t,ArrayBuffer)||t&&J(t.buffer,ArrayBuffer))return d(t,e,n);if("undefined"!=typeof SharedArrayBuffer&&(J(t,SharedArrayBuffer)||t&&J(t.buffer,SharedArrayBuffer)))return d(t,e,n);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const r=t.valueOf&&t.valueOf();if(null!=r&&r!==t)return c.from(r,e,n);const o=function(t){if(c.isBuffer(t)){const e=0|p(t.length),n=a(e);return 0===n.length||t.copy(n,0,0,e),n}return void 0!==t.length?"number"!=typeof t.length||V(t.length)?a(0):h(t):"Buffer"===t.type&&Array.isArray(t.data)?h(t.data):void 0}(t);if(o)return o;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return c.from(t[Symbol.toPrimitive]("string"),e,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function l(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function f(t){return l(t),a(t<0?0:0|p(t))}function h(t){const e=t.length<0?0:0|p(t.length),n=a(e);for(let r=0;r=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return 0|t}function y(t,e){if(c.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||J(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const n=t.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;let o=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return q(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return $(t).length;default:if(o)return r?-1:q(t).length;e=(""+e).toLowerCase(),o=!0}}function g(t,e,n){let r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return k(this,e,n);case"utf8":case"utf-8":return O(this,e,n);case"ascii":return R(this,e,n);case"latin1":case"binary":return C(this,e,n);case"base64":return T(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return D(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function v(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function m(t,e,n,r,o){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),V(n=+n)&&(n=o?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(o)return-1;n=t.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof e&&(e=c.from(e,r)),c.isBuffer(e))return 0===e.length?-1:w(t,e,n,r,o);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):w(t,[e],n,r,o);throw new TypeError("val must be string, number or Buffer")}function w(t,e,n,r,o){let i,s=1,a=t.length,c=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;s=2,a/=2,c/=2,n/=2}function u(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(o){let r=-1;for(i=n;ia&&(n=a-c),i=n;i>=0;i--){let n=!0;for(let r=0;ro&&(r=o):r=o;const i=e.length;let s;for(r>i/2&&(r=i/2),s=0;s>8,o=n%256,i.push(o),i.push(r);return i}(e,t.length-n),t,n,r)}function T(t,e,n){return 0===e&&n===t.length?r.fromByteArray(t):r.fromByteArray(t.slice(e,n))}function O(t,e,n){n=Math.min(t.length,n);const r=[];let o=e;for(;o239?4:e>223?3:e>191?2:1;if(o+s<=n){let n,r,a,c;switch(s){case 1:e<128&&(i=e);break;case 2:n=t[o+1],128==(192&n)&&(c=(31&e)<<6|63&n,c>127&&(i=c));break;case 3:n=t[o+1],r=t[o+2],128==(192&n)&&128==(192&r)&&(c=(15&e)<<12|(63&n)<<6|63&r,c>2047&&(c<55296||c>57343)&&(i=c));break;case 4:n=t[o+1],r=t[o+2],a=t[o+3],128==(192&n)&&128==(192&r)&&128==(192&a)&&(c=(15&e)<<18|(63&n)<<12|(63&r)<<6|63&a,c>65535&&c<1114112&&(i=c))}}null===i?(i=65533,s=1):i>65535&&(i-=65536,r.push(i>>>10&1023|55296),i=56320|1023&i),r.push(i),o+=s}return function(t){const e=t.length;if(e<=S)return String.fromCharCode.apply(String,t);let n="",r=0;for(;rr.length?(c.isBuffer(e)||(e=c.from(e)),e.copy(r,o)):Uint8Array.prototype.set.call(r,e,o);else{if(!c.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(r,o)}o+=e.length}return r},c.byteLength=y,c.prototype._isBuffer=!0,c.prototype.swap16=function(){const t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;en&&(t+=" ... "),""},i&&(c.prototype[i]=c.prototype.inspect),c.prototype.compare=function(t,e,n,r,o){if(J(t,Uint8Array)&&(t=c.from(t,t.offset,t.byteLength)),!c.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),e<0||n>t.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&e>=n)return 0;if(r>=o)return-1;if(e>=n)return 1;if(this===t)return 0;let i=(o>>>=0)-(r>>>=0),s=(n>>>=0)-(e>>>=0);const a=Math.min(i,s),u=this.slice(r,o),l=t.slice(e,n);for(let t=0;t>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}const o=this.length-e;if((void 0===n||n>o)&&(n=o),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");let i=!1;for(;;)switch(r){case"hex":return b(this,t,e,n);case"utf8":case"utf-8":return _(this,t,e,n);case"ascii":case"latin1":case"binary":return I(this,t,e,n);case"base64":return E(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,t,e,n);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const S=4096;function R(t,e,n){let r="";n=Math.min(t.length,n);for(let o=e;or)&&(n=r);let o="";for(let r=e;rn)throw new RangeError("Trying to access beyond buffer length")}function L(t,e,n,r,o,i){if(!c.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>o||et.length)throw new RangeError("Index out of range")}function x(t,e,n,r,o){W(e,r,o,t,n,7);let i=Number(e&BigInt(4294967295));t[n++]=i,i>>=8,t[n++]=i,i>>=8,t[n++]=i,i>>=8,t[n++]=i;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[n++]=s,s>>=8,t[n++]=s,s>>=8,t[n++]=s,s>>=8,t[n++]=s,n}function B(t,e,n,r,o){W(e,r,o,t,n,7);let i=Number(e&BigInt(4294967295));t[n+7]=i,i>>=8,t[n+6]=i,i>>=8,t[n+5]=i,i>>=8,t[n+4]=i;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[n+3]=s,s>>=8,t[n+2]=s,s>>=8,t[n+1]=s,s>>=8,t[n]=s,n+8}function M(t,e,n,r,o,i){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function N(t,e,n,r,i){return e=+e,n>>>=0,i||M(t,0,n,4),o.write(t,e,n,r,23,4),n+4}function P(t,e,n,r,i){return e=+e,n>>>=0,i||M(t,0,n,8),o.write(t,e,n,r,52,8),n+8}c.prototype.slice=function(t,e){const n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e>>=0,e>>>=0,n||U(t,e,this.length);let r=this[t],o=1,i=0;for(;++i>>=0,e>>>=0,n||U(t,e,this.length);let r=this[t+--e],o=1;for(;e>0&&(o*=256);)r+=this[t+--e]*o;return r},c.prototype.readUint8=c.prototype.readUInt8=function(t,e){return t>>>=0,e||U(t,1,this.length),this[t]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(t,e){return t>>>=0,e||U(t,2,this.length),this[t]|this[t+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(t,e){return t>>>=0,e||U(t,2,this.length),this[t]<<8|this[t+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(t,e){return t>>>=0,e||U(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(t,e){return t>>>=0,e||U(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},c.prototype.readBigUInt64LE=Z((function(t){G(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||H(t,this.length-8);const r=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,o=this[++t]+256*this[++t]+65536*this[++t]+n*2**24;return BigInt(r)+(BigInt(o)<>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||H(t,this.length-8);const r=e*2**24+65536*this[++t]+256*this[++t]+this[++t],o=this[++t]*2**24+65536*this[++t]+256*this[++t]+n;return(BigInt(r)<>>=0,e>>>=0,n||U(t,e,this.length);let r=this[t],o=1,i=0;for(;++i=o&&(r-=Math.pow(2,8*e)),r},c.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||U(t,e,this.length);let r=e,o=1,i=this[t+--r];for(;r>0&&(o*=256);)i+=this[t+--r]*o;return o*=128,i>=o&&(i-=Math.pow(2,8*e)),i},c.prototype.readInt8=function(t,e){return t>>>=0,e||U(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},c.prototype.readInt16LE=function(t,e){t>>>=0,e||U(t,2,this.length);const n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt16BE=function(t,e){t>>>=0,e||U(t,2,this.length);const n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt32LE=function(t,e){return t>>>=0,e||U(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},c.prototype.readInt32BE=function(t,e){return t>>>=0,e||U(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},c.prototype.readBigInt64LE=Z((function(t){G(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||H(t,this.length-8);const r=this[t+4]+256*this[t+5]+65536*this[t+6]+(n<<24);return(BigInt(r)<>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||H(t,this.length-8);const r=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return(BigInt(r)<>>=0,e||U(t,4,this.length),o.read(this,t,!0,23,4)},c.prototype.readFloatBE=function(t,e){return t>>>=0,e||U(t,4,this.length),o.read(this,t,!1,23,4)},c.prototype.readDoubleLE=function(t,e){return t>>>=0,e||U(t,8,this.length),o.read(this,t,!0,52,8)},c.prototype.readDoubleBE=function(t,e){return t>>>=0,e||U(t,8,this.length),o.read(this,t,!1,52,8)},c.prototype.writeUintLE=c.prototype.writeUIntLE=function(t,e,n,r){t=+t,e>>>=0,n>>>=0,r||L(this,t,e,n,Math.pow(2,8*n)-1,0);let o=1,i=0;for(this[e]=255&t;++i>>=0,n>>>=0,r||L(this,t,e,n,Math.pow(2,8*n)-1,0);let o=n-1,i=1;for(this[e+o]=255&t;--o>=0&&(i*=256);)this[e+o]=t/i&255;return e+n},c.prototype.writeUint8=c.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,1,255,0),this[e]=255&t,e+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},c.prototype.writeBigUInt64LE=Z((function(t,e=0){return x(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),c.prototype.writeBigUInt64BE=Z((function(t,e=0){return B(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),c.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e>>>=0,!r){const r=Math.pow(2,8*n-1);L(this,t,e,n,r-1,-r)}let o=0,i=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+n},c.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e>>>=0,!r){const r=Math.pow(2,8*n-1);L(this,t,e,n,r-1,-r)}let o=n-1,i=1,s=0;for(this[e+o]=255&t;--o>=0&&(i*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/i>>0)-s&255;return e+n},c.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},c.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},c.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},c.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},c.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},c.prototype.writeBigInt64LE=Z((function(t,e=0){return x(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),c.prototype.writeBigInt64BE=Z((function(t,e=0){return B(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),c.prototype.writeFloatLE=function(t,e,n){return N(this,t,e,!0,n)},c.prototype.writeFloatBE=function(t,e,n){return N(this,t,e,!1,n)},c.prototype.writeDoubleLE=function(t,e,n){return P(this,t,e,!0,n)},c.prototype.writeDoubleBE=function(t,e,n){return P(this,t,e,!1,n)},c.prototype.copy=function(t,e,n,r){if(!c.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r=this.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=e;o=r+4;n-=3)e=`_${t.slice(n-3,n)}${e}`;return`${t.slice(0,n)}${e}`}function W(t,e,n,r,o,i){if(t>n||t3?0===e||e===BigInt(0)?`>= 0${r} and < 2${r} ** ${8*(i+1)}${r}`:`>= -(2${r} ** ${8*(i+1)-1}${r}) and < 2 ** ${8*(i+1)-1}${r}`:`>= ${e}${r} and <= ${n}${r}`,new F.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,n){G(e,"offset"),void 0!==t[e]&&void 0!==t[e+n]||H(e,t.length-(n+1))}(r,o,i)}function G(t,e){if("number"!=typeof t)throw new F.ERR_INVALID_ARG_TYPE(e,"number",t)}function H(t,e,n){if(Math.floor(t)!==t)throw G(t,n),new F.ERR_OUT_OF_RANGE(n||"offset","an integer",t);if(e<0)throw new F.ERR_BUFFER_OUT_OF_BOUNDS;throw new F.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${e}`,t)}j("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),j("ERR_INVALID_ARG_TYPE",(function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`}),TypeError),j("ERR_OUT_OF_RANGE",(function(t,e,n){let r=`The value of "${t}" is out of range.`,o=n;return Number.isInteger(n)&&Math.abs(n)>2**32?o=K(String(n)):"bigint"==typeof n&&(o=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(o=K(o)),o+="n"),r+=` It must be ${e}. Received ${o}`,r}),RangeError);const Y=/[^+/0-9A-Za-z-_]/g;function q(t,e){let n;e=e||1/0;const r=t.length;let o=null;const i=[];for(let s=0;s55295&&n<57344){if(!o){if(n>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(s+1===r){(e-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(e-=3)>-1&&i.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(e-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((e-=1)<0)break;i.push(n)}else if(n<2048){if((e-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function $(t){return r.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(Y,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function z(t,e,n,r){let o;for(o=0;o=e.length||o>=t.length);++o)e[o+n]=t[o];return o}function J(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function V(t){return t!=t}const X=function(){const t="0123456789abcdef",e=new Array(256);for(let n=0;n<16;++n){const r=16*n;for(let o=0;o<16;++o)e[r+o]=t[n]+t[o]}return e}();function Z(t){return"undefined"==typeof BigInt?Q:t}function Q(){throw new Error("BigInt not supported")}},4127:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=r(n(7803));class i extends o.default{constructor(t){super(t)}decodePayload(){return super.decodePayload()}getAuthMethod(){return this.payload.authentication_method}getScope(){return this.payload.scope}getID(){return this.payload.sub}getIdentifier(){return this.payload.identifier}getClientUserID(){return this.payload.client_user_id}}e.default=i},3686:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(9188);e.default=class{constructor(t){this.ID=t.ID,this.CreatedAt=t.CreatedAt,this.UpdatedAt=t.UpdatedAt,this.DeletedAt=t.DeletedAt,this.client_user_id=t.client_user_id,this.issuer=t.issuer,this.event=t.event,this.ip=t.ip,this.location=t.location,this.timestamp=t.timestamp,this.method=t.method,this.new=t.new,this.approved=t.approved,this.signature=t.signature}validate(){var t=`${this.client_user_id}${this.issuer}${this.event}${this.timestamp}${this.method}${this.new}${this.approved}`,e=this.signature;return r.ValidateToken(t,e)}}},9196:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=r(n(7803));class i extends o.default{constructor(t){super(t)}decodePayload(){return super.decodePayload()}getAuthTime(){return this.payload.auth_time}getIdentifier(){return this.payload.identifier}getID(){return this.payload.sub}getClientUserID(){return this.payload.client_user_id}}e.default=i},4735:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(9188);e.default=class{constructor(t){this.identifier_id=t.identifier_id,this.expire_at=t.expire_at,this.identifier=t.identifier,this.identifier_type=t.identifier_type,this.receiver=t.receiver,this.timestamp=t.timestamp,this.signature=t.signature}validate(){var t=`${this.identifier}${this.identifier_type}${this.receiver}${this.expire_at}`,e=this.signature;return r.ValidateToken(t,e)}}},7803:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(8764);e.default=class{constructor(t){this.token=t,this.payload=this.decodePayload()}decodePayload(){const t=this.token.split(".")[1];try{return JSON.parse(r.Buffer.from(t,"base64").toString("utf8"))}catch(t){return{}}}getExpiration(){return this.payload.exp}getIssuedAt(){return this.payload.iat}getAudience(){return this.payload.aud}}},5638:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.CotterEvent=e.CotterIdentity=e.CotterJwtToken=e.CotterIDToken=e.CotterAccessToken=void 0;const o=r(n(4127));e.CotterAccessToken=o.default;const i=r(n(9196));e.CotterIDToken=i.default;const s=r(n(7803));e.CotterJwtToken=s.default;const a=r(n(4735));e.CotterIdentity=a.default;const c=r(n(3686));e.CotterEvent=c.default},9188:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ValidateToken=void 0;const r=n(8764),o=n(780);e.ValidateToken=(t,e)=>{const n=new Uint8Array(r.Buffer.from(t,"utf8")),i=new Uint8Array(r.Buffer.from(e,"base64")),s=new Uint8Array(r.Buffer.from("qqOaiQGjGsxBMgI5rdAasaACRiJthOqadmefjY5mS/c=","base64"));return o.sign.detached.verify(n,i,s)}},9707:t=>{"use strict";function e(t){return Number.isInteger(t)&&t>=0}function n(t){this.name="ArgumentError",this.message=t}t.exports=function(t,r){if(r=r||{},"function"!=typeof t)throw new n("fetch must be a function");if("object"!=typeof r)throw new n("defaults must be an object");if(void 0!==r.retries&&!e(r.retries))throw new n("retries must be a positive integer");if(void 0!==r.retryDelay&&!e(r.retryDelay)&&"function"!=typeof r.retryDelay)throw new n("retryDelay must be a positive integer or a function returning a positive integer");if(void 0!==r.retryOn&&!Array.isArray(r.retryOn)&&"function"!=typeof r.retryOn)throw new n("retryOn property expects an array or function");return r=Object.assign({retries:3,retryDelay:1e3,retryOn:[]},r),function(o,i){var s=r.retries,a=r.retryDelay,c=r.retryOn;if(i&&void 0!==i.retries){if(!e(i.retries))throw new n("retries must be a positive integer");s=i.retries}if(i&&void 0!==i.retryDelay){if(!e(i.retryDelay)&&"function"!=typeof i.retryDelay)throw new n("retryDelay must be a positive integer or a function returning a positive integer");a=i.retryDelay}if(i&&i.retryOn){if(!Array.isArray(i.retryOn)&&"function"!=typeof i.retryOn)throw new n("retryOn property expects an array or function");c=i.retryOn}return new Promise((function(e,n){var r=function(r){t(o,i).then((function(t){if(Array.isArray(c)&&-1===c.indexOf(t.status))e(t);else if("function"==typeof c)try{return Promise.resolve(c(r,null,t)).then((function(n){n?u(r,null,t):e(t)})).catch(n)}catch(t){n(t)}else r{e.read=function(t,e,n,r,o){var i,s,a=8*o-r-1,c=(1<>1,l=-7,f=n?o-1:0,h=n?-1:1,d=t[e+f];for(f+=h,i=d&(1<<-l)-1,d>>=-l,l+=a;l>0;i=256*i+t[e+f],f+=h,l-=8);for(s=i&(1<<-l)-1,i>>=-l,l+=r;l>0;s=256*s+t[e+f],f+=h,l-=8);if(0===i)i=1-u;else{if(i===c)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,r),i-=u}return(d?-1:1)*s*Math.pow(2,i-r)},e.write=function(t,e,n,r,o,i){var s,a,c,u=8*i-o-1,l=(1<>1,h=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:i-1,p=r?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=l):(s=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-s))<1&&(s--,c*=2),(e+=s+f>=1?h/c:h*Math.pow(2,1-f))*c>=2&&(s++,c/=2),s+f>=l?(a=0,s=l):s+f>=1?(a=(e*c-1)*Math.pow(2,o),s+=f):(a=e*Math.pow(2,f-1)*Math.pow(2,o),s=0));o>=8;t[n+d]=255&a,d+=p,a/=256,o-=8);for(s=s<0;t[n+d]=255&s,d+=p,s/=256,u-=8);t[n+d-p]|=128*y}},2203:function(t,e,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&(null==s?void 0:s.length)>0&&(null==c?void 0:c.length)>0&&(null==f?void 0:f.length)>0?(h=atob(f),p=h?JSON.parse(h):{},this.config.RedirectURL=p.redirect_url,this.config.SkipRedirectURL=!0,[4,this.submitAuthorizationCode({authorization_code:s,challenge_id:i,state:c,client_json:{}},p.code_verifier,p.redirect_url,l)]):[3,2];case 1:o.sent(),null===window||void 0===window||window.sessionStorage.removeItem(d.default.LOGIN_KEY),history.pushState({},null,null===(n=null===(e=null===window||void 0===window?void 0:window.location)||void 0===e?void 0:e.href)||void 0===n?void 0:n.split("?")[0]),o.label=2;case 2:return l===a.AUTHENTICATION_METHOD.MAGIC_LINK&&(y=r.get("challenge"),g=r.get("id_type"),v=r.get("id"),m=r.get("client_json"),this.config.SkipRedirectURL=!0,w={challenge:y,challenge_id:i,client_json:JSON.parse(m),identifierType:g,identifier:v},b={action:"HANDLE_MAGIC_LINK_REDIRECT",payload:w},t.sendPost(b,this.cotterIframeID)),[2]}}))}))},t.prototype.showEmailForm=function(){return this.config.IdentifierField="email",this.config.Type=a.IDENTIFIER_TYPE.EMAIL,this.showForm()},t.prototype.showPhoneForm=function(){return this.config.IdentifierField="phone",this.config.Type=a.IDENTIFIER_TYPE.PHONE,this.showForm()},t.prototype.showForm=function(){var t=this,e=this.config.ContainerID||p,n=document.getElementById(e),r=document.createElement("iframe");return r.setAttribute("id",this.cotterIframeID),r.style.border="0",n.appendChild(r),r.style.width="100%",r.style.height="100%",this.config.CaptchaRequired&&(r.style.minHeight="520px"),r.style.overflow="scroll",c.challengeFromVerifier(this.verifier).then((function(e){var n=s.default.JSURL+"/signup?challenge="+e+"&type="+t.config.Type+"&domain="+t.config.Domain+"&api_key="+t.config.ApiKeyID+"&redirect_url="+t.config.RedirectURL+"&state="+t.state+"&id="+t.cID;t.config.CotterUserID&&(n=n+"&cotter_user_id="+t.config.CotterUserID),t.config.FormID&&(n=n+"&form_id="+encodeURIComponent(t.config.FormID)),r.setAttribute("src",encodeURI(n)),r.setAttribute("allowtransparency","true")})),c.verificationProccessPromise(this)},t.prototype.removeForm=function(){document.getElementById(this.cotterIframeID).remove()},t.prototype.onSuccess=function(e){t.sendPost({action:"DONE_SUCCESS"},this.cotterIframeID),this.verifySuccess=e,this.config.OnSuccess&&this.config.OnSuccess(e)},t.prototype.onError=function(e){var n={action:"DONE_ERROR",payload:e};t.sendPost(n,this.cotterIframeID),this.verifyError=e,this.config.OnError&&this.config.OnError(e)},t.prototype.submitAuthorizationCode=function(t,e,n,i){return void 0===n&&(n=null),void 0===i&&(i=null),r(this,void 0,void 0,(function(){var a,c,f,h,d,p,y,g;return o(this,(function(v){return a=t.authorization_code,c=t.challenge_id,f=t.state,h=t.client_json,d=null===this.config.RedirectURL||void 0===this.config.RedirectURL||this.config.RedirectURL&&this.config.RedirectURL.length<=0||this.config.SkipRedirectURL,f!==this.state&&this.config.OnError&&this.config.OnError("State is not the same as the original request."),p={code_verifier:e,authorization_code:a,challenge_id:parseInt(c),redirect_url:n||(d?new URL(window.location.href).origin:this.config.RedirectURL)},y=this,g=s.default.BackendURL+"/verify/get_identity?oauth_token=true",i&&(g=g+"&auth_method="+i),u.default(fetch)(g,{method:"POST",headers:{API_KEY_ID:""+y.config.ApiKeyID,"Content-Type":"application/json"},body:JSON.stringify(p),credentials:"include",retries:3,retryDelay:300,retryOn:[500]}).then((function(t){return r(this,void 0,void 0,(function(){var e,n,i=this;return o(this,(function(s){switch(s.label){case 0:return[4,t.json()];case 1:if(e=s.sent(),200!==t.status)throw t.data=e,t;return(n=h).token=e.token,n[y.config.IdentifierField||"email"]=e.user.identifier,n.oauth_token=e.oauth_token,n.user=e.user,y.Identifier=e.user.identifier,l.default.store(e.user),y.tokenHander&&y.tokenHander.storeTokens(e.oauth_token),d||!y.config.RedirectURL?(y.onSuccess(n),[2]):(fetch(y.config.RedirectURL,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}).then((function(t){return r(i,void 0,void 0,(function(){var e,n,r;return o(this,(function(o){switch(o.label){case 0:return(e=t.headers.get("content-type"))&&-1!==e.indexOf("application/json")?[4,t.json()]:[3,2];case 1:if(n=o.sent(),!(t.status>=200&&t.status<300))throw t.data=n,t;return y.onSuccess(n),[3,4];case 2:return[4,t.text()];case 3:if(r=o.sent(),!(t.status>=200&&t.status<300))throw t.data=r,t;y.onSuccess(r),o.label=4;case 4:return[2]}}))}))})).catch((function(t){y.onError(t)})),[2])}}))}))})).catch((function(t){y.onError(t)})),[2]}))}))},t.prototype.StopSubmissionWithError=function(e,n){var r={action:"ON_ERROR",errorMsg:e};t.sendPost(r,n)},t.prototype.continue=function(e,n){return r(this,void 0,void 0,(function(){var r,i,s=this;return o(this,(function(o){switch(o.label){case 0:return[4,f.default.available()];case 1:if(r=o.sent(),this.config.WebAuthnEnabled&&!r&&console.log("WebAuthn is enabled, but the user device doesn't support webauthn"),!this.config.WebAuthnEnabled||!r)return[3,6];o.label=2;case 2:return o.trys.push([2,4,,5]),[4,new h.default(this.config.ApiKeyID).checkCredentialExist(e.identifier)];case 3:if(o.sent()){if(!e.auth_required)return this.RegisterWebAuthn=!1,this.config.WebAuthnEnabled=!1,t.ContinueSubmit(e,n),[2];this.LoginWebAuthn=!0,this.ContinueSubmitData=e,new f.default({ApiKeyID:this.config.ApiKeyID,Identifier:e.identifier,IdentifierField:this.config.IdentifierField,IdentifierType:this.config.Type,AlternativeMethod:this.config.AuthenticationMethodName,Type:"LOGIN"},this.tokenHander).show().then((function(r){r.status!==f.default.CANCELED?r.status!==f.default.SUCCESS||s.onSuccess(r):t.ContinueSubmit(e,n)})).catch((function(t){s.onError(t)}))}else this.RegisterWebAuthn=!0,t.ContinueSubmit(e,n);return[2];case 4:return i=o.sent(),this.onError(i),[2];case 5:return[3,7];case 6:t.ContinueSubmit(e,n),o.label=7;case 7:return[2]}}))}))},t.ContinueSubmit=function(e,n){var r={action:"CONTINUE_SUBMIT",payload:e};t.sendPost(r,n)},t.sendPost=function(t,e){var n=document.getElementById(e);c.isIFrame(n)&&n.contentWindow&&n.contentWindow.postMessage(JSON.stringify(t),s.default.JSURL)},t}();e.default=y},5275:function(t,e,n){"use strict";var r,o=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]\n \n \n ',r=this.cancel.bind(this);this.Modal.initModal(r,n),this.initEventHandler()},t.prototype.initEventHandler=function(){var e=this;window.addEventListener("message",(function(n){try{var r=JSON.parse(n.data)}catch(n){return}if(n.origin===s.default.JSURL){var o=e.containerID;switch(r.callbackName){case o+"FIRST_LOAD":var i={action:"CONFIG",payload:{socialConnectText:e.config.SocialConnectText}};t.sendPost(i,e.cotterIframeID);break;case o+"LOADED":e.loaded=!0;break;case o+"CANCEL":e.cancel();break;case o+"ON_SOCIAL_LOGIN_CONNECT":e.loginAndConnect(r.payload)}}}))},t.sendPost=function(t,e){var n=document.getElementById(e);a.isIFrame(n)&&n.contentWindow&&n.contentWindow.postMessage(JSON.stringify(t),s.default.JSURL)},t.prototype.show=function(){return r(this,void 0,void 0,(function(){return o(this,(function(t){return this.Modal.showModal(),[2,a.verificationProccessPromise(this)]}))}))},t.prototype.cancel=function(){var t,e;history.pushState({},null,null===(e=null===(t=null===window||void 0===window?void 0:window.location)||void 0===t?void 0:t.href)||void 0===e?void 0:e.split("?")[0]),this.Modal.closeModal()},t.prototype.onSuccess=function(t){var e,n;history.pushState({},null,null===(n=null===(e=null===window||void 0===window?void 0:window.location)||void 0===e?void 0:e.href)||void 0===n?void 0:n.split("?")[0]),this.Modal.closeModal(),window.location.href=null==t?void 0:t.url},t.prototype.onError=function(t){var e,n;history.pushState({},null,null===(n=null===(e=null===window||void 0===window?void 0:window.location)||void 0===e?void 0:e.href)||void 0===n?void 0:n.split("?")[0]),this.Modal.closeModal(),this.verifyError=t},t.prototype.loginAndConnect=function(t){return r(this,void 0,void 0,(function(){var e,n,r;return o(this,(function(o){switch(o.label){case 0:e=new l.default(this.config.ApiKeyID),o.label=1;case 1:return o.trys.push([1,3,,4]),[4,e.loginAndConnect(t.tokenID,t.userID,t.provider)];case 2:return n=o.sent(),this.onSuccess(n),[3,4];case 3:return r=o.sent(),this.onError(r),[3,4];case 4:return[2]}}))}))},t.LOGIN_KEY="cotter_slk",t.OAUTH_SESSION_NAME="oauth_sess",t}();e.default=h},916:function(t,e,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]\n \n \n ',n=this.cancel.bind(this);this.Modal.initModal(n,e),this.initEventHandler()},t.prototype.onSuccess=function(e,n){void 0===n&&(n=t.SUCCESS),this.Modal.closeModal(),this.verifySuccess=r({status:n},e)},t.prototype.onError=function(t){this.Modal.closeModal(),this.verifyError=t},t.prototype.onErrorDisplay=function(e){var n=e,r=null;e.data&&e.data.msg?n=e.data.msg:e.msg&&(n=e.msg),(n=n.toString()).includes("timed out")?n="The operation either timed out or was not allowed.":n.includes("already pending")?n="A request is already pending.":n.includes("credentials already registered")?n="You already registered this authenticator, you don't have to register it again.":n.includes("session data from cookie")&&(n="Please enable third-party cookies in your browser settings",r="https://help.cotter.app/en/articles/4572882-how-to-enable-third-party-cookies-to-use-cotter"),this.displayedError=n;var o={action:"ERROR_DISPLAY",payload:{error:n,errorLink:r}};t.sendPost(o,this.cotterIframeID)},t.prototype.initEventHandler=function(){var e=this;window.addEventListener("message",(function(n){try{var r=JSON.parse(n.data)}catch(n){return}if(n.origin===c.default.JSURL){var o=e.containerID;switch(r.callbackName){case o+"FIRST_LOAD":var i={action:"CONFIG",payload:{registrationText:e.config.RegistrationText,loginText:e.config.LoginText,alternativeMethod:e.config.AlternativeMethod,identifier:e.config.Identifier,errorDisplay:e.config.ErrorDisplay}};t.sendPost(i,e.cotterIframeID);break;case o+"LOADED":e.loaded=!0;break;case o+"BEGIN_WEBAUTHN_REGISTRATION":e.beginRegistration(e.config.Identifier||"",e.config.Domain||new URL(window.location.href).origin).then((function(t){return e.onSuccess(t)})).catch((function(t){return e.onErrorDisplay(t)}));break;case o+"SKIP_WEBAUTHN":e.cancel();break;case o+"BEGIN_WEBAUTHN_LOGIN":e.beginLogin(e.config.Identifier||"",e.config.Domain||new URL(window.location.href).origin,r.payload.publicKey).then((function(t){return e.onSuccess(t)})).catch((function(t){return e.onErrorDisplay(t)}));break;case o+"ON_SUCCESS":e.onSuccess(r.payload);break;case o+"ON_ERROR":e.onError(r.payload)}}}))},t.sendPost=function(t,e){var n=document.getElementById(e);u.isIFrame(n)&&n.contentWindow&&n.contentWindow.postMessage(JSON.stringify(t),c.default.JSURL)},t.prototype.show=function(){return o(this,void 0,void 0,(function(){return i(this,(function(t){return this.Modal.showModal(),[2,u.verificationProccessPromise(this)]}))}))},t.prototype.cancel=function(){null!==this.displayedError&&void 0!==this.displayedError&&this.config.RegisterWebAuthn?this.onError(this.displayedError):this.onSuccess(this.originalResponse,t.CANCELED)},t.prototype.startRegistration=function(){this.config.Type="REGISTRATION",this.show()},t.prototype.startLogin=function(){this.config.Type="LOGIN",this.show()},t.available=function(){return o(this,void 0,void 0,(function(){return i(this,(function(t){switch(t.label){case 0:return null==window.PublicKeyCredential||void 0===window.PublicKeyCredential?[3,2]:[4,window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()];case 1:return[2,t.sent()];case 2:return[2]}}))}))},t.prototype.beginRegistration=function(t,e){return o(this,void 0,void 0,(function(){var n,r;return i(this,(function(o){switch(o.label){case 0:return[4,new l.default(this.config.ApiKeyID).beginWebAuthnRegistration(t,e)];case 1:n=o.sent(),o.label=2;case 2:return o.trys.push([2,5,,6]),[4,navigator.credentials.create({publicKey:n})];case 3:if(!(r=o.sent()))throw"Unable to create credential";return[4,this.finishRegistration(r,t,e)];case 4:return[2,o.sent()];case 5:throw o.sent();case 6:return[2]}}))}))},t.prototype.finishRegistration=function(t,e,n){return o(this,void 0,void 0,(function(){var r;return i(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),[4,new l.default(this.config.ApiKeyID).finishWebAuthnRegistration(e,t,n)];case 1:return(r=o.sent())[this.config.IdentifierField||""]=r.user.identifier,[2,r];case 2:throw o.sent();case 3:return[2]}}))}))},t.prototype.beginLogin=function(t,e,n){return o(this,void 0,void 0,(function(){var r,o;return i(this,(function(i){switch(i.label){case 0:return[4,new l.default(this.config.ApiKeyID).beginWebAuthnLogin(t,e)];case 1:r=i.sent(),i.label=2;case 2:return i.trys.push([2,5,,6]),[4,navigator.credentials.get({publicKey:r})];case 3:if(!(o=i.sent()))throw"Unable to create credential";return[4,this.finishLogin(o,t,e,n)];case 4:return[2,i.sent()];case 5:throw i.sent();case 6:return[2]}}))}))},t.prototype.finishLogin=function(t,e,n,r){return o(this,void 0,void 0,(function(){var o;return i(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,new l.default(this.config.ApiKeyID).finishWebAuthnLogin(e,this.config.IdentifierType||a.IDENTIFIER_TYPE.EMAIL,t,n,r)];case 1:return(o=i.sent())&&o.user&&f.default.store(o.user),o&&o.oauth_token&&this.tokenHander&&this.tokenHander.storeTokens(o.oauth_token),o[this.config.IdentifierField||""]=o.user.identifier,[2,o];case 2:throw i.sent();case 3:return[2]}}))}))},t.CANCELED="CANCELED",t.SUCCESS="SUCCESS",t}();e.default=y},4656:(t,e)=>{"use strict";var n,r,o;Object.defineProperty(e,"__esModule",{value:!0}),e.SOCIAL_LOGIN_ACTION=e.AUTHENTICATION_METHOD=e.IDENTIFIER_TYPE=void 0,(o=e.IDENTIFIER_TYPE||(e.IDENTIFIER_TYPE={})).EMAIL="EMAIL",o.PHONE="PHONE",(r=e.AUTHENTICATION_METHOD||(e.AUTHENTICATION_METHOD={})).MAGIC_LINK="MAGIC_LINK",r.OTP="OTP",(n=e.SOCIAL_LOGIN_ACTION||(e.SOCIAL_LOGIN_ACTION={})).LOGIN="O_LOGIN",n.CONNECT="O_CONNECT"},3015:function(t,e,n){"use strict";var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(o,i){function s(t){try{c(r.next(t))}catch(t){i(t)}}function a(t){try{c(r.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((r=r.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,r=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LOGOUT_BUTTON_HREF=e.DIV_CONTAINER=e.POPUP_BUTTON_HREF=e.DEFAULT_FORM_SETTINGS=e.ATTR_CONFIG=e.ATTR_ENV=e.ATTR_API_KEY_ID=void 0;var r=n(4656);e.ATTR_API_KEY_ID="data-cotter-api-key-id",e.ATTR_ENV="data-cotter-env",e.ATTR_CONFIG="data-cotter-config",e.DEFAULT_FORM_SETTINGS={authenticationMethod:r.AUTHENTICATION_METHOD.MAGIC_LINK,type:r.IDENTIFIER_TYPE.EMAIL,modalBackgroundColor:"#ffffff",modalTitleColor:"#2e2e2e",modalTitle:"Welcome",logo:"https://www.cotter.app/assets/cotter_logo.png"},e.POPUP_BUTTON_HREF="#/ct/login/",e.DIV_CONTAINER="cotter-form-container-",e.LOGOUT_BUTTON_HREF="#/ct/logout/"},9397:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(){}return t.DefaultUSCode="+1",t.DefaultContainerID="cotter-form-container",t.AssetURL="https://js.cotter.app",t.BackendURL="https://www.cotter.app/api/v0",t.JSURL="https://js.cotter.app",t.WorkerURL="https://worker.cotter.app",t}();e.default=n},2018:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=r(n(2203)),i=n(3949),s="cotter_company_cache_expiry",a="cotter_company_info",c=function(){function t(){}return t.getInfo=function(){var e=localStorage.getItem(a),n=Date.parse(localStorage.getItem(s));if(!e||n-Date.now()<0){var r=i.getAPIKeyIDFromAttr(),c=new o.default(r);t.infoPromise=c.getInfo().then((function(t){var e=Date.now()+10;localStorage.setItem(a,JSON.stringify(t)),localStorage.setItem(s,new Date(e).toString())}))}return JSON.parse(e)},t}();e.default=c},6233:function(t,e,n){"use strict";var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(o,i){function s(t){try{c(r.next(t))}catch(t){i(t)}}function a(t){try{c(r.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((r=r.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,r=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&(e=new s.CotterAccessToken(t)),!(null==t||null==e||e.getExpiration()<(new Date).getTime()/1e3))return[3,4];r.label=1;case 1:return r.trys.push([1,3,,4]),[4,this.getTokensFromRefreshToken()];case 2:return n=r.sent(),t=n.access_token,[3,4];case 3:return r.sent(),[2,null];case 4:return this.accessToken=t,[2,new s.CotterAccessToken(t)]}}))}))},t.prototype.getIDToken=function(){return r(this,void 0,void 0,(function(){var t,e,n;return o(this,(function(r){switch(r.label){case 0:if(t=this.idToken,e=null,t&&t.length>0&&(e=new s.CotterIDToken(t)),!(null==t||null==e||e.getExpiration()<(new Date).getTime()/1e3))return[3,4];r.label=1;case 1:return r.trys.push([1,3,,4]),[4,this.getTokensFromRefreshToken()];case 2:return n=r.sent(),t=n.id_token,[3,4];case 3:return r.sent(),[2,null];case 4:return this.idToken=t,[2,new s.CotterIDToken(t)]}}))}))},t.prototype.getTokensFromRefreshToken=function(){return r(this,void 0,void 0,(function(){var t=this;return o(this,(function(e){return[2,new Promise((function(e,n){var r=function(){switch(t.tokenFetchingState){case 1:t.getTokensFromRefreshTokenAPI();break;case 5:if(t.fetchTokenResp)return e(t.fetchTokenResp),void(t.tokenFetchingState=1);break;case 3:return t.tokenFetchingState=1,void n();case 4:return void n()}setTimeout(r,0)};r()}))]}))}))},t.prototype.getTokensFromRefreshTokenAPI=function(){var t,e;return r(this,void 0,void 0,(function(){var n,r,i;return o(this,(function(o){switch(o.label){case 0:this.tokenFetchingState=2,this.fetchTokenResp=null,n=null;try{n=null===(t=null===window||void 0===window?void 0:window.localStorage)||void 0===t?void 0:t.getItem(c)}catch(t){return this.tokenFetchingState=4,[2]}o.label=1;case 1:if(o.trys.push([1,3,,4]),!this.apiKeyID)throw"ApiKeyID is undefined, please initialize Cotter with ApiKeyID";return[4,new a.default(this.apiKeyID).getTokensFromRefreshToken(n)];case 2:return r=o.sent(),this.storeTokens(r),this.tokenFetchingState=5,this.fetchTokenResp=r,[2];case 3:return i=o.sent(),(null===(e=i.msg)||void 0===e?void 0:e.includes("not valid"))?this.tokenFetchingState=4:this.tokenFetchingState=3,[2];case 4:return[2]}}))}))},t.prototype.removeTokens=function(){var t;return r(this,void 0,void 0,(function(){return o(this,(function(e){switch(e.label){case 0:this.accessToken=void 0,this.idToken=void 0,this.tokenType=void 0;try{null===(t=null===window||void 0===window?void 0:window.localStorage)||void 0===t||t.removeItem(c)}catch(t){}e.label=1;case 1:if(e.trys.push([1,3,,4]),!this.apiKeyID)throw"ApiKeyID is undefined, please initialize Cotter with ApiKeyID";return[4,new a.default(this.apiKeyID).removeRefreshToken()];case 2:return e.sent(),[3,4];case 3:throw e.sent();case 4:return[2]}}))}))},t.prototype.updateTokensWithRefreshToken=function(t){var e;return r(this,void 0,void 0,(function(){var n;return o(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),null===(e=null===window||void 0===window?void 0:window.localStorage)||void 0===e||e.setItem(c,t),[4,this.getTokensFromRefreshToken()];case 1:return n=r.sent(),this.accessToken=n.access_token,this.idToken=n.id_token,this.tokenType=n.token_type,[2,n];case 2:return r.sent(),[2,null];case 3:return[2]}}))}))},t}();e.default=u},8998:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(){}return t.store=function(e){try{localStorage.setItem(t.STORAGE_KEY,JSON.stringify(e))}catch(t){}},t.remove=function(){try{localStorage.removeItem(t.STORAGE_KEY)}catch(t){}},t.STORAGE_KEY="COTTER_USER",t}();e.default=n},3949:function(t,e,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1].");return e},e.generateVerifier=function(){var t=new Uint32Array(28);return window.crypto.getRandomValues(t),Array.from(t,u).join("")},e.base64urlencode=l,e.base64urldecode=function(t){var e=(t=t.replace(/-/g,"+").replace(/_/g,"/")).length%4;if(e){if(1===e)throw new Error("InvalidLengthError: Input base64url string is the wrong length to determine padding");t+=new Array(5-e).join("=")}var n=atob(t);return Uint8Array.from(n,(function(t){return t.charCodeAt(0)}))},e.challengeFromVerifier=function(t){return o(this,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return[4,(n=t,r=(new TextEncoder).encode(n),window.crypto.subtle.digest("SHA-256",r))];case 1:return[2,l(e.sent())]}var n,r}))}))},e.verificationProccessPromise=function(t){return new Promise((function(e,n){var o=function(){if(t.verifySuccess)if(t.RegisterWebAuthn){var i=r({},t.verifySuccess);t.verifySuccess=void 0,new a.default({ApiKeyID:t.config.ApiKeyID,Identifier:t.Identifier,IdentifierField:t.config.IdentifierField,OriginalResponse:i,IdentifierType:t.config.Type,Type:"REGISTRATION"},t.tokenHandler).show().then((function(n){t.onSuccess(n),t.verifySuccess=n,e(t.verifySuccess)})).catch((function(e){t.onError(e),t.verifyError=e,n(t.verifyError)}))}else e(t.verifySuccess);else t.verifyError?n(t.verifyError):setTimeout(o,0)};o()}))},e.isIFrame=function(t){return null!==t&&"IFRAME"===t.tagName},e.lightOrDark=function(t){var e,n,r;return t.match(/^rgb/)?(e=(t=t.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+(?:\.\d+)?))?\)$/))[1],n=t[2],r=t[3]):(e=(t=+("0x"+t.slice(1).replace(t.length<5&&/./g,"$&$&")))>>16,n=t>>8&255,r=255&t),!(Math.sqrt(e*e*.299+n*n*.587+r*r*.114)>127.5)},e.getModalHeight=function(t){var e,n,r,o,i,s,a=200;return"true"===(null===(e=t.captchaRequired)||void 0===e?void 0:e.toString())&&(a=500),(null===(n=t.socialLoginProviders)||void 0===n?void 0:n.length)>0&&(a+=100+40*(null===(r=t.socialLoginProviders)||void 0===r?void 0:r.length)),"PHONE"===t.type&&(null===(o=t.phoneChannels)||void 0===o?void 0:o.length)>1&&(a+=120),(null===(i=t.additionalFields)||void 0===i?void 0:i.length)>0&&(a+=100*(null===(s=t.additionalFields)||void 0===s?void 0:s.length)),a}},7337:function(t,e,n){"use strict";var r,o=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1].");this.ApiKeyID=r;var o=null===(e=document.querySelector("["+f.ATTR_ENV+"]"))||void 0===e?void 0:e.getAttribute(""+f.ATTR_ENV);"DEV"===o?(d.default.BackendURL="http://localhost:1234/api/v0",d.default.JSURL="http://localhost:3000",d.default.AssetURL="http://localhost:3000",d.default.WorkerURL="http://localhost:8787"):"STAGING"===o&&(d.default.BackendURL="https://staging.cotter.app/api/v0",d.default.JSURL="https://s.js.cotter.app",d.default.AssetURL="https://s.js.cotter.app",d.default.WorkerURL="https://staging-worker.cotter.app");var i=null===(n=document.querySelector("["+f.ATTR_CONFIG+"]"))||void 0===n?void 0:n.getAttribute(""+f.ATTR_CONFIG);if(i)try{this.config=JSON.parse(i)}catch(t){console.log("Invalid "+f.ATTR_CONFIG+", has to be a JSON")}}return Object.defineProperty(t.prototype,"companyInfo",{get:function(){return m.default.getInfo()},enumerable:!1,configurable:!0}),t.prototype.identifierCheck=function(){var t,e;return s(this,void 0,void 0,(function(){var n,r,o;return a(this,(function(i){switch(i.label){case 0:return n=(null===(e=null===(t=this.companyInfo)||void 0===t?void 0:t.customization)||void 0===e?void 0:e.siteCustomization)||{},r=g.default.getLoggedInUser(),o=r.identifier,[4,fetch(d.default.WorkerURL+"/screening/site?identifier="+encodeURIComponent(o),{method:"GET",headers:{API_KEY_ID:this.ApiKeyID,"Content-type":"application/json"}})];case 1:return[4,i.sent().json()];case 2:return i.sent().passed||(window.location.href=n.accessDeniedPage||"/"),[2]}}))}))},t.prototype.protectedPageCheck=function(){var t,e,n;return s(this,void 0,void 0,(function(){var r,o,i,s,c;return a(this,(function(a){switch(a.label){case 0:return w.withApiKeyID(this.ApiKeyID),this.companyInfo||!m.default.infoPromise?[3,2]:[4,m.default.infoPromise];case 1:a.sent(),a.label=2;case 2:if(r=(null===(e=null===(t=this.companyInfo)||void 0===t?void 0:t.customization)||void 0===e?void 0:e.siteCustomization)||{},o=(o=null!==(n=r.protectedPages)&&void 0!==n?n:[]).filter((function(t){return t.path.includes(window.location.pathname)||window.location.pathname.includes(t.path)})),i=!1,o.map((function(t){if(!i){var e=t.path.replace(/^\/|\/$/g,""),n=window.location.pathname.replace(/^\/|\/$/g,"");switch(t.matcher){case"start":var r=new RegExp("^"+e,"i");i=r.test(n);break;case"equal":i=n===e}}})),!i)return[2];g.default.getLoggedInUser()||(window.location.href=r.accessDeniedPage||"/"),a.label=3;case 3:return a.trys.push([3,6,,7]),[4,w.getAccessToken()];case 4:return(null==(s=a.sent())?void 0:s.token)||(window.location.href=r.accessDeniedPage||"/"),[4,this.identifierCheck()];case 5:return a.sent(),[3,7];case 6:throw c=a.sent(),new Error("Fail fetching token, err: "+c);case 7:return[2]}}))}))},t.prototype.preInit=function(){return this.protectedPageCheck(),this},t.prototype.init=function(){return s(this,void 0,void 0,(function(){var t=this;return a(this,(function(e){return console.log("Loader Init"),Array.from(document.querySelectorAll("[href*='"+f.POPUP_BUTTON_HREF+"']")).forEach((function(e){var n=e.getAttribute("href"),r=(null==n?void 0:n.split(f.POPUP_BUTTON_HREF).pop())||null;if(r){t.initModal(r);var o=t;e.addEventListener("click",(function(){r&&o.Modals[r].showModal()})),t.buttons.push(e)}})),Array.from(document.querySelectorAll("[id*='"+f.DIV_CONTAINER+"']")).forEach((function(e){var n=e.getAttribute("id"),r=(null==n?void 0:n.split(f.DIV_CONTAINER).pop())||null;if(r){var o=f.DIV_CONTAINER+r;t.initCotter(r,o),t.containers.push(e)}})),Array.from(document.querySelectorAll("[href*='"+f.LOGOUT_BUTTON_HREF+"']")).map((function(e){var n=e.getAttribute("href"),r=(null==n?void 0:n.split(f.LOGOUT_BUTTON_HREF).pop())||null,o=function(){var n,o;if(r){var i=new URL(window.location.href).origin,s=null===(o=null===(n=t.companyInfo.customization)||void 0===n?void 0:n[r])||void 0===o?void 0:o.afterLogoutURL,a=""+i+s;if(!s)return;e.addEventListener("click",(function(){w.removeTokens().then((function(){v.default.remove(),window.location.href=a}))}))}};t.companyInfo?o():m.default.infoPromise.finally(o)})),[2]}))}))},t.prototype.initModal=function(t){var e,n,r;return s(this,void 0,void 0,(function(){var o,i,s,c,u,l,y,g,v,w,b,_,I=this;return a(this,(function(a){switch(a.label){case 0:return m.default.infoPromise?[4,m.default.infoPromise]:[3,2];case 1:a.sent(),a.label=2;case 2:return this.Modals[t]||(o=this.modalID+"-"+t,i=this.containerID+"-"+t,s=this.cancelDivID+"-"+t,c=null!==(r=null===(n=null===(e=this.companyInfo)||void 0===e?void 0:e.customization)||void 0===n?void 0:n[t])&&void 0!==r?r:f.DEFAULT_FORM_SETTINGS,u=c.logo||f.DEFAULT_FORM_SETTINGS.logo,l=c.modalTitle||f.DEFAULT_FORM_SETTINGS.modalTitle,y=c.modalBackgroundColor||f.DEFAULT_FORM_SETTINGS.modalBackgroundColor,g=c.modalTitleColor||f.DEFAULT_FORM_SETTINGS.modalTitleColor,v=p.getModalHeight(c),w=new h.default(o,i,s),b='\n \n ',_=this.cancel.bind(this),w.initModal((function(){_(t);var e=document.getElementById(i);e&&e.getElementsByTagName("iframe")[0].remove(),I.initCotter(t,i)}),b),this.Modals[t]=w,this.initCotter(t,i)),[2]}}))}))},t.prototype.cancel=function(t){var e;null===(e=this.Modals[t])||void 0===e||e.closeModal()},t.prototype.initCotter=function(t,e){var n,r;return s(this,void 0,void 0,(function(){var o,s,c,h,p,y,g=this;return a(this,(function(a){return document.getElementById(e)||(o=this,setTimeout((function(){return o.initCotter(t,e)}),10)),s=(null===(n=this.companyInfo)||void 0===n?void 0:n.customization)&&(null===(r=this.companyInfo)||void 0===r?void 0:r.customization[t]),c=(null==s?void 0:s.type)||f.DEFAULT_FORM_SETTINGS.type,h=(null==s?void 0:s.authenticationMethod)||f.DEFAULT_FORM_SETTINGS.authenticationMethod,p=(p=new l.default(i(i({},this.config),{ApiKeyID:this.ApiKeyID,ContainerID:e,Type:c}))).withFormID(t),y=h===u.AUTHENTICATION_METHOD.OTP?p.signInWithOTP():p.signInWithLink(),(c===u.IDENTIFIER_TYPE.PHONE?y.showPhoneForm():y.showEmailForm()).then((function(e){console.log(e),fetch(d.default.WorkerURL+"/completion/form?form-id="+encodeURIComponent(t),{method:"POST",headers:{API_KEY_ID:g.ApiKeyID,"Content-type":"application/json"},body:JSON.stringify(e)}).then((function(t){(null==s?void 0:s.afterLoginURL)&&(window.location.href=s.afterLoginURL)}))})).catch((function(t){console.log(t)})),[2]}))}))},t}())).preInit();document.addEventListener("DOMContentLoaded",(function(){b.init()}));var _=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(l.default);t.exports=_},8164:function(t,e,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]{!function(t){"use strict";var e=function(t){var e,n=new Float64Array(16);if(t)for(e=0;e>24&255,t[e+1]=n>>16&255,t[e+2]=n>>8&255,t[e+3]=255&n,t[e+4]=r>>24&255,t[e+5]=r>>16&255,t[e+6]=r>>8&255,t[e+7]=255&r}function y(t,e,n,r,o){var i,s=0;for(i=0;i>>8)-1}function g(t,e,n,r){return y(t,e,n,r,16)}function v(t,e,n,r){return y(t,e,n,r,32)}function m(t,e,n,r){!function(t,e,n,r){for(var o,i=255&r[0]|(255&r[1])<<8|(255&r[2])<<16|(255&r[3])<<24,s=255&n[0]|(255&n[1])<<8|(255&n[2])<<16|(255&n[3])<<24,a=255&n[4]|(255&n[5])<<8|(255&n[6])<<16|(255&n[7])<<24,c=255&n[8]|(255&n[9])<<8|(255&n[10])<<16|(255&n[11])<<24,u=255&n[12]|(255&n[13])<<8|(255&n[14])<<16|(255&n[15])<<24,l=255&r[4]|(255&r[5])<<8|(255&r[6])<<16|(255&r[7])<<24,f=255&e[0]|(255&e[1])<<8|(255&e[2])<<16|(255&e[3])<<24,h=255&e[4]|(255&e[5])<<8|(255&e[6])<<16|(255&e[7])<<24,d=255&e[8]|(255&e[9])<<8|(255&e[10])<<16|(255&e[11])<<24,p=255&e[12]|(255&e[13])<<8|(255&e[14])<<16|(255&e[15])<<24,y=255&r[8]|(255&r[9])<<8|(255&r[10])<<16|(255&r[11])<<24,g=255&n[16]|(255&n[17])<<8|(255&n[18])<<16|(255&n[19])<<24,v=255&n[20]|(255&n[21])<<8|(255&n[22])<<16|(255&n[23])<<24,m=255&n[24]|(255&n[25])<<8|(255&n[26])<<16|(255&n[27])<<24,w=255&n[28]|(255&n[29])<<8|(255&n[30])<<16|(255&n[31])<<24,b=255&r[12]|(255&r[13])<<8|(255&r[14])<<16|(255&r[15])<<24,_=i,I=s,E=a,A=c,T=u,O=l,S=f,R=h,C=d,k=p,D=y,U=g,L=v,x=m,B=w,M=b,N=0;N<20;N+=2)_^=(o=(L^=(o=(C^=(o=(T^=(o=_+L|0)<<7|o>>>25)+_|0)<<9|o>>>23)+T|0)<<13|o>>>19)+C|0)<<18|o>>>14,O^=(o=(I^=(o=(x^=(o=(k^=(o=O+I|0)<<7|o>>>25)+O|0)<<9|o>>>23)+k|0)<<13|o>>>19)+x|0)<<18|o>>>14,D^=(o=(S^=(o=(E^=(o=(B^=(o=D+S|0)<<7|o>>>25)+D|0)<<9|o>>>23)+B|0)<<13|o>>>19)+E|0)<<18|o>>>14,M^=(o=(U^=(o=(R^=(o=(A^=(o=M+U|0)<<7|o>>>25)+M|0)<<9|o>>>23)+A|0)<<13|o>>>19)+R|0)<<18|o>>>14,_^=(o=(A^=(o=(E^=(o=(I^=(o=_+A|0)<<7|o>>>25)+_|0)<<9|o>>>23)+I|0)<<13|o>>>19)+E|0)<<18|o>>>14,O^=(o=(T^=(o=(R^=(o=(S^=(o=O+T|0)<<7|o>>>25)+O|0)<<9|o>>>23)+S|0)<<13|o>>>19)+R|0)<<18|o>>>14,D^=(o=(k^=(o=(C^=(o=(U^=(o=D+k|0)<<7|o>>>25)+D|0)<<9|o>>>23)+U|0)<<13|o>>>19)+C|0)<<18|o>>>14,M^=(o=(B^=(o=(x^=(o=(L^=(o=M+B|0)<<7|o>>>25)+M|0)<<9|o>>>23)+L|0)<<13|o>>>19)+x|0)<<18|o>>>14;_=_+i|0,I=I+s|0,E=E+a|0,A=A+c|0,T=T+u|0,O=O+l|0,S=S+f|0,R=R+h|0,C=C+d|0,k=k+p|0,D=D+y|0,U=U+g|0,L=L+v|0,x=x+m|0,B=B+w|0,M=M+b|0,t[0]=_>>>0&255,t[1]=_>>>8&255,t[2]=_>>>16&255,t[3]=_>>>24&255,t[4]=I>>>0&255,t[5]=I>>>8&255,t[6]=I>>>16&255,t[7]=I>>>24&255,t[8]=E>>>0&255,t[9]=E>>>8&255,t[10]=E>>>16&255,t[11]=E>>>24&255,t[12]=A>>>0&255,t[13]=A>>>8&255,t[14]=A>>>16&255,t[15]=A>>>24&255,t[16]=T>>>0&255,t[17]=T>>>8&255,t[18]=T>>>16&255,t[19]=T>>>24&255,t[20]=O>>>0&255,t[21]=O>>>8&255,t[22]=O>>>16&255,t[23]=O>>>24&255,t[24]=S>>>0&255,t[25]=S>>>8&255,t[26]=S>>>16&255,t[27]=S>>>24&255,t[28]=R>>>0&255,t[29]=R>>>8&255,t[30]=R>>>16&255,t[31]=R>>>24&255,t[32]=C>>>0&255,t[33]=C>>>8&255,t[34]=C>>>16&255,t[35]=C>>>24&255,t[36]=k>>>0&255,t[37]=k>>>8&255,t[38]=k>>>16&255,t[39]=k>>>24&255,t[40]=D>>>0&255,t[41]=D>>>8&255,t[42]=D>>>16&255,t[43]=D>>>24&255,t[44]=U>>>0&255,t[45]=U>>>8&255,t[46]=U>>>16&255,t[47]=U>>>24&255,t[48]=L>>>0&255,t[49]=L>>>8&255,t[50]=L>>>16&255,t[51]=L>>>24&255,t[52]=x>>>0&255,t[53]=x>>>8&255,t[54]=x>>>16&255,t[55]=x>>>24&255,t[56]=B>>>0&255,t[57]=B>>>8&255,t[58]=B>>>16&255,t[59]=B>>>24&255,t[60]=M>>>0&255,t[61]=M>>>8&255,t[62]=M>>>16&255,t[63]=M>>>24&255}(t,e,n,r)}function w(t,e,n,r){!function(t,e,n,r){for(var o,i=255&r[0]|(255&r[1])<<8|(255&r[2])<<16|(255&r[3])<<24,s=255&n[0]|(255&n[1])<<8|(255&n[2])<<16|(255&n[3])<<24,a=255&n[4]|(255&n[5])<<8|(255&n[6])<<16|(255&n[7])<<24,c=255&n[8]|(255&n[9])<<8|(255&n[10])<<16|(255&n[11])<<24,u=255&n[12]|(255&n[13])<<8|(255&n[14])<<16|(255&n[15])<<24,l=255&r[4]|(255&r[5])<<8|(255&r[6])<<16|(255&r[7])<<24,f=255&e[0]|(255&e[1])<<8|(255&e[2])<<16|(255&e[3])<<24,h=255&e[4]|(255&e[5])<<8|(255&e[6])<<16|(255&e[7])<<24,d=255&e[8]|(255&e[9])<<8|(255&e[10])<<16|(255&e[11])<<24,p=255&e[12]|(255&e[13])<<8|(255&e[14])<<16|(255&e[15])<<24,y=255&r[8]|(255&r[9])<<8|(255&r[10])<<16|(255&r[11])<<24,g=255&n[16]|(255&n[17])<<8|(255&n[18])<<16|(255&n[19])<<24,v=255&n[20]|(255&n[21])<<8|(255&n[22])<<16|(255&n[23])<<24,m=255&n[24]|(255&n[25])<<8|(255&n[26])<<16|(255&n[27])<<24,w=255&n[28]|(255&n[29])<<8|(255&n[30])<<16|(255&n[31])<<24,b=255&r[12]|(255&r[13])<<8|(255&r[14])<<16|(255&r[15])<<24,_=0;_<20;_+=2)i^=(o=(v^=(o=(d^=(o=(u^=(o=i+v|0)<<7|o>>>25)+i|0)<<9|o>>>23)+u|0)<<13|o>>>19)+d|0)<<18|o>>>14,l^=(o=(s^=(o=(m^=(o=(p^=(o=l+s|0)<<7|o>>>25)+l|0)<<9|o>>>23)+p|0)<<13|o>>>19)+m|0)<<18|o>>>14,y^=(o=(f^=(o=(a^=(o=(w^=(o=y+f|0)<<7|o>>>25)+y|0)<<9|o>>>23)+w|0)<<13|o>>>19)+a|0)<<18|o>>>14,b^=(o=(g^=(o=(h^=(o=(c^=(o=b+g|0)<<7|o>>>25)+b|0)<<9|o>>>23)+c|0)<<13|o>>>19)+h|0)<<18|o>>>14,i^=(o=(c^=(o=(a^=(o=(s^=(o=i+c|0)<<7|o>>>25)+i|0)<<9|o>>>23)+s|0)<<13|o>>>19)+a|0)<<18|o>>>14,l^=(o=(u^=(o=(h^=(o=(f^=(o=l+u|0)<<7|o>>>25)+l|0)<<9|o>>>23)+f|0)<<13|o>>>19)+h|0)<<18|o>>>14,y^=(o=(p^=(o=(d^=(o=(g^=(o=y+p|0)<<7|o>>>25)+y|0)<<9|o>>>23)+g|0)<<13|o>>>19)+d|0)<<18|o>>>14,b^=(o=(w^=(o=(m^=(o=(v^=(o=b+w|0)<<7|o>>>25)+b|0)<<9|o>>>23)+v|0)<<13|o>>>19)+m|0)<<18|o>>>14;t[0]=i>>>0&255,t[1]=i>>>8&255,t[2]=i>>>16&255,t[3]=i>>>24&255,t[4]=l>>>0&255,t[5]=l>>>8&255,t[6]=l>>>16&255,t[7]=l>>>24&255,t[8]=y>>>0&255,t[9]=y>>>8&255,t[10]=y>>>16&255,t[11]=y>>>24&255,t[12]=b>>>0&255,t[13]=b>>>8&255,t[14]=b>>>16&255,t[15]=b>>>24&255,t[16]=f>>>0&255,t[17]=f>>>8&255,t[18]=f>>>16&255,t[19]=f>>>24&255,t[20]=h>>>0&255,t[21]=h>>>8&255,t[22]=h>>>16&255,t[23]=h>>>24&255,t[24]=d>>>0&255,t[25]=d>>>8&255,t[26]=d>>>16&255,t[27]=d>>>24&255,t[28]=p>>>0&255,t[29]=p>>>8&255,t[30]=p>>>16&255,t[31]=p>>>24&255}(t,e,n,r)}var b=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function _(t,e,n,r,o,i,s){var a,c,u=new Uint8Array(16),l=new Uint8Array(64);for(c=0;c<16;c++)u[c]=0;for(c=0;c<8;c++)u[c]=i[c];for(;o>=64;){for(m(l,u,s,b),c=0;c<64;c++)t[e+c]=n[r+c]^l[c];for(a=1,c=8;c<16;c++)a=a+(255&u[c])|0,u[c]=255&a,a>>>=8;o-=64,e+=64,r+=64}if(o>0)for(m(l,u,s,b),c=0;c=64;){for(m(c,a,o,b),s=0;s<64;s++)t[e+s]=c[s];for(i=1,s=8;s<16;s++)i=i+(255&a[s])|0,a[s]=255&i,i>>>=8;n-=64,e+=64}if(n>0)for(m(c,a,o,b),s=0;s>>13|n<<3),r=255&t[4]|(255&t[5])<<8,this.r[2]=7939&(n>>>10|r<<6),o=255&t[6]|(255&t[7])<<8,this.r[3]=8191&(r>>>7|o<<9),i=255&t[8]|(255&t[9])<<8,this.r[4]=255&(o>>>4|i<<12),this.r[5]=i>>>1&8190,s=255&t[10]|(255&t[11])<<8,this.r[6]=8191&(i>>>14|s<<2),a=255&t[12]|(255&t[13])<<8,this.r[7]=8065&(s>>>11|a<<5),c=255&t[14]|(255&t[15])<<8,this.r[8]=8191&(a>>>8|c<<8),this.r[9]=c>>>5&127,this.pad[0]=255&t[16]|(255&t[17])<<8,this.pad[1]=255&t[18]|(255&t[19])<<8,this.pad[2]=255&t[20]|(255&t[21])<<8,this.pad[3]=255&t[22]|(255&t[23])<<8,this.pad[4]=255&t[24]|(255&t[25])<<8,this.pad[5]=255&t[26]|(255&t[27])<<8,this.pad[6]=255&t[28]|(255&t[29])<<8,this.pad[7]=255&t[30]|(255&t[31])<<8};function O(t,e,n,r,o,i){var s=new T(i);return s.update(n,r,o),s.finish(t,e),0}function S(t,e,n,r,o,i){var s=new Uint8Array(16);return O(s,0,n,r,o,i),g(t,e,s,0)}function R(t,e,n,r,o){var i;if(n<32)return-1;for(A(t,0,e,0,n,r,o),O(t,16,t,32,n-32,t),i=0;i<16;i++)t[i]=0;return 0}function C(t,e,n,r,o){var i,s=new Uint8Array(32);if(n<32)return-1;if(E(s,0,32,r,o),0!==S(e,16,e,32,n-32,s))return-1;for(A(t,0,e,0,n,r,o),i=0;i<32;i++)t[i]=0;return 0}function k(t,e){var n;for(n=0;n<16;n++)t[n]=0|e[n]}function D(t){var e,n,r=1;for(e=0;e<16;e++)n=t[e]+r+65535,r=Math.floor(n/65536),t[e]=n-65536*r;t[0]+=r-1+37*(r-1)}function U(t,e,n){for(var r,o=~(n-1),i=0;i<16;i++)r=o&(t[i]^e[i]),t[i]^=r,e[i]^=r}function L(t,n){var r,o,i,s=e(),a=e();for(r=0;r<16;r++)a[r]=n[r];for(D(a),D(a),D(a),o=0;o<2;o++){for(s[0]=a[0]-65517,r=1;r<15;r++)s[r]=a[r]-65535-(s[r-1]>>16&1),s[r-1]&=65535;s[15]=a[15]-32767-(s[14]>>16&1),i=s[15]>>16&1,s[14]&=65535,U(a,s,1-i)}for(r=0;r<16;r++)t[2*r]=255&a[r],t[2*r+1]=a[r]>>8}function x(t,e){var n=new Uint8Array(32),r=new Uint8Array(32);return L(n,t),L(r,e),v(n,0,r,0)}function B(t){var e=new Uint8Array(32);return L(e,t),1&e[0]}function M(t,e){var n;for(n=0;n<16;n++)t[n]=e[2*n]+(e[2*n+1]<<8);t[15]&=32767}function N(t,e,n){for(var r=0;r<16;r++)t[r]=e[r]+n[r]}function P(t,e,n){for(var r=0;r<16;r++)t[r]=e[r]-n[r]}function F(t,e,n){var r,o,i=0,s=0,a=0,c=0,u=0,l=0,f=0,h=0,d=0,p=0,y=0,g=0,v=0,m=0,w=0,b=0,_=0,I=0,E=0,A=0,T=0,O=0,S=0,R=0,C=0,k=0,D=0,U=0,L=0,x=0,B=0,M=n[0],N=n[1],P=n[2],F=n[3],j=n[4],K=n[5],W=n[6],G=n[7],H=n[8],Y=n[9],q=n[10],$=n[11],z=n[12],J=n[13],V=n[14],X=n[15];i+=(r=e[0])*M,s+=r*N,a+=r*P,c+=r*F,u+=r*j,l+=r*K,f+=r*W,h+=r*G,d+=r*H,p+=r*Y,y+=r*q,g+=r*$,v+=r*z,m+=r*J,w+=r*V,b+=r*X,s+=(r=e[1])*M,a+=r*N,c+=r*P,u+=r*F,l+=r*j,f+=r*K,h+=r*W,d+=r*G,p+=r*H,y+=r*Y,g+=r*q,v+=r*$,m+=r*z,w+=r*J,b+=r*V,_+=r*X,a+=(r=e[2])*M,c+=r*N,u+=r*P,l+=r*F,f+=r*j,h+=r*K,d+=r*W,p+=r*G,y+=r*H,g+=r*Y,v+=r*q,m+=r*$,w+=r*z,b+=r*J,_+=r*V,I+=r*X,c+=(r=e[3])*M,u+=r*N,l+=r*P,f+=r*F,h+=r*j,d+=r*K,p+=r*W,y+=r*G,g+=r*H,v+=r*Y,m+=r*q,w+=r*$,b+=r*z,_+=r*J,I+=r*V,E+=r*X,u+=(r=e[4])*M,l+=r*N,f+=r*P,h+=r*F,d+=r*j,p+=r*K,y+=r*W,g+=r*G,v+=r*H,m+=r*Y,w+=r*q,b+=r*$,_+=r*z,I+=r*J,E+=r*V,A+=r*X,l+=(r=e[5])*M,f+=r*N,h+=r*P,d+=r*F,p+=r*j,y+=r*K,g+=r*W,v+=r*G,m+=r*H,w+=r*Y,b+=r*q,_+=r*$,I+=r*z,E+=r*J,A+=r*V,T+=r*X,f+=(r=e[6])*M,h+=r*N,d+=r*P,p+=r*F,y+=r*j,g+=r*K,v+=r*W,m+=r*G,w+=r*H,b+=r*Y,_+=r*q,I+=r*$,E+=r*z,A+=r*J,T+=r*V,O+=r*X,h+=(r=e[7])*M,d+=r*N,p+=r*P,y+=r*F,g+=r*j,v+=r*K,m+=r*W,w+=r*G,b+=r*H,_+=r*Y,I+=r*q,E+=r*$,A+=r*z,T+=r*J,O+=r*V,S+=r*X,d+=(r=e[8])*M,p+=r*N,y+=r*P,g+=r*F,v+=r*j,m+=r*K,w+=r*W,b+=r*G,_+=r*H,I+=r*Y,E+=r*q,A+=r*$,T+=r*z,O+=r*J,S+=r*V,R+=r*X,p+=(r=e[9])*M,y+=r*N,g+=r*P,v+=r*F,m+=r*j,w+=r*K,b+=r*W,_+=r*G,I+=r*H,E+=r*Y,A+=r*q,T+=r*$,O+=r*z,S+=r*J,R+=r*V,C+=r*X,y+=(r=e[10])*M,g+=r*N,v+=r*P,m+=r*F,w+=r*j,b+=r*K,_+=r*W,I+=r*G,E+=r*H,A+=r*Y,T+=r*q,O+=r*$,S+=r*z,R+=r*J,C+=r*V,k+=r*X,g+=(r=e[11])*M,v+=r*N,m+=r*P,w+=r*F,b+=r*j,_+=r*K,I+=r*W,E+=r*G,A+=r*H,T+=r*Y,O+=r*q,S+=r*$,R+=r*z,C+=r*J,k+=r*V,D+=r*X,v+=(r=e[12])*M,m+=r*N,w+=r*P,b+=r*F,_+=r*j,I+=r*K,E+=r*W,A+=r*G,T+=r*H,O+=r*Y,S+=r*q,R+=r*$,C+=r*z,k+=r*J,D+=r*V,U+=r*X,m+=(r=e[13])*M,w+=r*N,b+=r*P,_+=r*F,I+=r*j,E+=r*K,A+=r*W,T+=r*G,O+=r*H,S+=r*Y,R+=r*q,C+=r*$,k+=r*z,D+=r*J,U+=r*V,L+=r*X,w+=(r=e[14])*M,b+=r*N,_+=r*P,I+=r*F,E+=r*j,A+=r*K,T+=r*W,O+=r*G,S+=r*H,R+=r*Y,C+=r*q,k+=r*$,D+=r*z,U+=r*J,L+=r*V,x+=r*X,b+=(r=e[15])*M,s+=38*(I+=r*P),a+=38*(E+=r*F),c+=38*(A+=r*j),u+=38*(T+=r*K),l+=38*(O+=r*W),f+=38*(S+=r*G),h+=38*(R+=r*H),d+=38*(C+=r*Y),p+=38*(k+=r*q),y+=38*(D+=r*$),g+=38*(U+=r*z),v+=38*(L+=r*J),m+=38*(x+=r*V),w+=38*(B+=r*X),i=(r=(i+=38*(_+=r*N))+(o=1)+65535)-65536*(o=Math.floor(r/65536)),s=(r=s+o+65535)-65536*(o=Math.floor(r/65536)),a=(r=a+o+65535)-65536*(o=Math.floor(r/65536)),c=(r=c+o+65535)-65536*(o=Math.floor(r/65536)),u=(r=u+o+65535)-65536*(o=Math.floor(r/65536)),l=(r=l+o+65535)-65536*(o=Math.floor(r/65536)),f=(r=f+o+65535)-65536*(o=Math.floor(r/65536)),h=(r=h+o+65535)-65536*(o=Math.floor(r/65536)),d=(r=d+o+65535)-65536*(o=Math.floor(r/65536)),p=(r=p+o+65535)-65536*(o=Math.floor(r/65536)),y=(r=y+o+65535)-65536*(o=Math.floor(r/65536)),g=(r=g+o+65535)-65536*(o=Math.floor(r/65536)),v=(r=v+o+65535)-65536*(o=Math.floor(r/65536)),m=(r=m+o+65535)-65536*(o=Math.floor(r/65536)),w=(r=w+o+65535)-65536*(o=Math.floor(r/65536)),b=(r=b+o+65535)-65536*(o=Math.floor(r/65536)),i=(r=(i+=o-1+37*(o-1))+(o=1)+65535)-65536*(o=Math.floor(r/65536)),s=(r=s+o+65535)-65536*(o=Math.floor(r/65536)),a=(r=a+o+65535)-65536*(o=Math.floor(r/65536)),c=(r=c+o+65535)-65536*(o=Math.floor(r/65536)),u=(r=u+o+65535)-65536*(o=Math.floor(r/65536)),l=(r=l+o+65535)-65536*(o=Math.floor(r/65536)),f=(r=f+o+65535)-65536*(o=Math.floor(r/65536)),h=(r=h+o+65535)-65536*(o=Math.floor(r/65536)),d=(r=d+o+65535)-65536*(o=Math.floor(r/65536)),p=(r=p+o+65535)-65536*(o=Math.floor(r/65536)),y=(r=y+o+65535)-65536*(o=Math.floor(r/65536)),g=(r=g+o+65535)-65536*(o=Math.floor(r/65536)),v=(r=v+o+65535)-65536*(o=Math.floor(r/65536)),m=(r=m+o+65535)-65536*(o=Math.floor(r/65536)),w=(r=w+o+65535)-65536*(o=Math.floor(r/65536)),b=(r=b+o+65535)-65536*(o=Math.floor(r/65536)),i+=o-1+37*(o-1),t[0]=i,t[1]=s,t[2]=a,t[3]=c,t[4]=u,t[5]=l,t[6]=f,t[7]=h,t[8]=d,t[9]=p,t[10]=y,t[11]=g,t[12]=v,t[13]=m,t[14]=w,t[15]=b}function j(t,e){F(t,e,e)}function K(t,n){var r,o=e();for(r=0;r<16;r++)o[r]=n[r];for(r=253;r>=0;r--)j(o,o),2!==r&&4!==r&&F(o,o,n);for(r=0;r<16;r++)t[r]=o[r]}function W(t,n){var r,o=e();for(r=0;r<16;r++)o[r]=n[r];for(r=250;r>=0;r--)j(o,o),1!==r&&F(o,o,n);for(r=0;r<16;r++)t[r]=o[r]}function G(t,n,r){var o,i,s=new Uint8Array(32),a=new Float64Array(80),u=e(),l=e(),f=e(),h=e(),d=e(),p=e();for(i=0;i<31;i++)s[i]=n[i];for(s[31]=127&n[31]|64,s[0]&=248,M(a,r),i=0;i<16;i++)l[i]=a[i],h[i]=u[i]=f[i]=0;for(u[0]=h[0]=1,i=254;i>=0;--i)U(u,l,o=s[i>>>3]>>>(7&i)&1),U(f,h,o),N(d,u,f),P(u,u,f),N(f,l,h),P(l,l,h),j(h,d),j(p,u),F(u,f,u),F(f,l,d),N(d,u,f),P(u,u,f),j(l,u),P(f,h,p),F(u,f,c),N(u,u,h),F(f,f,u),F(u,h,p),F(h,l,a),j(l,d),U(u,l,o),U(f,h,o);for(i=0;i<16;i++)a[i+16]=u[i],a[i+32]=f[i],a[i+48]=l[i],a[i+64]=h[i];var y=a.subarray(32),g=a.subarray(16);return K(y,y),F(g,g,y),L(t,g),0}function H(t,e){return G(t,e,i)}function Y(t,e){return r(e,32),H(t,e)}function q(t,e,n){var r=new Uint8Array(32);return G(r,n,e),w(t,o,r,b)}T.prototype.blocks=function(t,e,n){for(var r,o,i,s,a,c,u,l,f,h,d,p,y,g,v,m,w,b,_,I=this.fin?0:2048,E=this.h[0],A=this.h[1],T=this.h[2],O=this.h[3],S=this.h[4],R=this.h[5],C=this.h[6],k=this.h[7],D=this.h[8],U=this.h[9],L=this.r[0],x=this.r[1],B=this.r[2],M=this.r[3],N=this.r[4],P=this.r[5],F=this.r[6],j=this.r[7],K=this.r[8],W=this.r[9];n>=16;)h=f=0,h+=(E+=8191&(r=255&t[e+0]|(255&t[e+1])<<8))*L,h+=(A+=8191&(r>>>13|(o=255&t[e+2]|(255&t[e+3])<<8)<<3))*(5*W),h+=(T+=8191&(o>>>10|(i=255&t[e+4]|(255&t[e+5])<<8)<<6))*(5*K),h+=(O+=8191&(i>>>7|(s=255&t[e+6]|(255&t[e+7])<<8)<<9))*(5*j),f=(h+=(S+=8191&(s>>>4|(a=255&t[e+8]|(255&t[e+9])<<8)<<12))*(5*F))>>>13,h&=8191,h+=(R+=a>>>1&8191)*(5*P),h+=(C+=8191&(a>>>14|(c=255&t[e+10]|(255&t[e+11])<<8)<<2))*(5*N),h+=(k+=8191&(c>>>11|(u=255&t[e+12]|(255&t[e+13])<<8)<<5))*(5*M),h+=(D+=8191&(u>>>8|(l=255&t[e+14]|(255&t[e+15])<<8)<<8))*(5*B),d=f+=(h+=(U+=l>>>5|I)*(5*x))>>>13,d+=E*x,d+=A*L,d+=T*(5*W),d+=O*(5*K),f=(d+=S*(5*j))>>>13,d&=8191,d+=R*(5*F),d+=C*(5*P),d+=k*(5*N),d+=D*(5*M),f+=(d+=U*(5*B))>>>13,d&=8191,p=f,p+=E*B,p+=A*x,p+=T*L,p+=O*(5*W),f=(p+=S*(5*K))>>>13,p&=8191,p+=R*(5*j),p+=C*(5*F),p+=k*(5*P),p+=D*(5*N),y=f+=(p+=U*(5*M))>>>13,y+=E*M,y+=A*B,y+=T*x,y+=O*L,f=(y+=S*(5*W))>>>13,y&=8191,y+=R*(5*K),y+=C*(5*j),y+=k*(5*F),y+=D*(5*P),g=f+=(y+=U*(5*N))>>>13,g+=E*N,g+=A*M,g+=T*B,g+=O*x,f=(g+=S*L)>>>13,g&=8191,g+=R*(5*W),g+=C*(5*K),g+=k*(5*j),g+=D*(5*F),v=f+=(g+=U*(5*P))>>>13,v+=E*P,v+=A*N,v+=T*M,v+=O*B,f=(v+=S*x)>>>13,v&=8191,v+=R*L,v+=C*(5*W),v+=k*(5*K),v+=D*(5*j),m=f+=(v+=U*(5*F))>>>13,m+=E*F,m+=A*P,m+=T*N,m+=O*M,f=(m+=S*B)>>>13,m&=8191,m+=R*x,m+=C*L,m+=k*(5*W),m+=D*(5*K),w=f+=(m+=U*(5*j))>>>13,w+=E*j,w+=A*F,w+=T*P,w+=O*N,f=(w+=S*M)>>>13,w&=8191,w+=R*B,w+=C*x,w+=k*L,w+=D*(5*W),b=f+=(w+=U*(5*K))>>>13,b+=E*K,b+=A*j,b+=T*F,b+=O*P,f=(b+=S*N)>>>13,b&=8191,b+=R*M,b+=C*B,b+=k*x,b+=D*L,_=f+=(b+=U*(5*W))>>>13,_+=E*W,_+=A*K,_+=T*j,_+=O*F,f=(_+=S*P)>>>13,_&=8191,_+=R*N,_+=C*M,_+=k*B,_+=D*x,E=h=8191&(f=(f=((f+=(_+=U*L)>>>13)<<2)+f|0)+(h&=8191)|0),A=d+=f>>>=13,T=p&=8191,O=y&=8191,S=g&=8191,R=v&=8191,C=m&=8191,k=w&=8191,D=b&=8191,U=_&=8191,e+=16,n-=16;this.h[0]=E,this.h[1]=A,this.h[2]=T,this.h[3]=O,this.h[4]=S,this.h[5]=R,this.h[6]=C,this.h[7]=k,this.h[8]=D,this.h[9]=U},T.prototype.finish=function(t,e){var n,r,o,i,s=new Uint16Array(10);if(this.leftover){for(i=this.leftover,this.buffer[i++]=1;i<16;i++)this.buffer[i]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(n=this.h[1]>>>13,this.h[1]&=8191,i=2;i<10;i++)this.h[i]+=n,n=this.h[i]>>>13,this.h[i]&=8191;for(this.h[0]+=5*n,n=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=n,n=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=n,s[0]=this.h[0]+5,n=s[0]>>>13,s[0]&=8191,i=1;i<10;i++)s[i]=this.h[i]+n,n=s[i]>>>13,s[i]&=8191;for(s[9]-=8192,r=(1^n)-1,i=0;i<10;i++)s[i]&=r;for(r=~r,i=0;i<10;i++)this.h[i]=this.h[i]&r|s[i];for(this.h[0]=65535&(this.h[0]|this.h[1]<<13),this.h[1]=65535&(this.h[1]>>>3|this.h[2]<<10),this.h[2]=65535&(this.h[2]>>>6|this.h[3]<<7),this.h[3]=65535&(this.h[3]>>>9|this.h[4]<<4),this.h[4]=65535&(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14),this.h[5]=65535&(this.h[6]>>>2|this.h[7]<<11),this.h[6]=65535&(this.h[7]>>>5|this.h[8]<<8),this.h[7]=65535&(this.h[8]>>>8|this.h[9]<<5),o=this.h[0]+this.pad[0],this.h[0]=65535&o,i=1;i<8;i++)o=(this.h[i]+this.pad[i]|0)+(o>>>16)|0,this.h[i]=65535&o;t[e+0]=this.h[0]>>>0&255,t[e+1]=this.h[0]>>>8&255,t[e+2]=this.h[1]>>>0&255,t[e+3]=this.h[1]>>>8&255,t[e+4]=this.h[2]>>>0&255,t[e+5]=this.h[2]>>>8&255,t[e+6]=this.h[3]>>>0&255,t[e+7]=this.h[3]>>>8&255,t[e+8]=this.h[4]>>>0&255,t[e+9]=this.h[4]>>>8&255,t[e+10]=this.h[5]>>>0&255,t[e+11]=this.h[5]>>>8&255,t[e+12]=this.h[6]>>>0&255,t[e+13]=this.h[6]>>>8&255,t[e+14]=this.h[7]>>>0&255,t[e+15]=this.h[7]>>>8&255},T.prototype.update=function(t,e,n){var r,o;if(this.leftover){for((o=16-this.leftover)>n&&(o=n),r=0;r=16&&(o=n-n%16,this.blocks(t,e,o),e+=o,n-=o),n){for(r=0;r=128;){for(I=0;I<16;I++)E=8*I+z,k[I]=n[E+0]<<24|n[E+1]<<16|n[E+2]<<8|n[E+3],D[I]=n[E+4]<<24|n[E+5]<<16|n[E+6]<<8|n[E+7];for(I=0;I<80;I++)if(o=U,i=L,s=x,a=B,c=M,u=N,l=P,h=j,d=K,p=W,y=G,g=H,v=Y,m=q,O=65535&(T=$),S=T>>>16,R=65535&(A=F),C=A>>>16,O+=65535&(T=(H>>>14|M<<18)^(H>>>18|M<<14)^(M>>>9|H<<23)),S+=T>>>16,R+=65535&(A=(M>>>14|H<<18)^(M>>>18|H<<14)^(H>>>9|M<<23)),C+=A>>>16,O+=65535&(T=H&Y^~H&q),S+=T>>>16,R+=65535&(A=M&N^~M&P),C+=A>>>16,O+=65535&(T=J[2*I+1]),S+=T>>>16,R+=65535&(A=J[2*I]),C+=A>>>16,A=k[I%16],S+=(T=D[I%16])>>>16,R+=65535&A,C+=A>>>16,R+=(S+=(O+=65535&T)>>>16)>>>16,O=65535&(T=_=65535&O|S<<16),S=T>>>16,R=65535&(A=b=65535&R|(C+=R>>>16)<<16),C=A>>>16,O+=65535&(T=(j>>>28|U<<4)^(U>>>2|j<<30)^(U>>>7|j<<25)),S+=T>>>16,R+=65535&(A=(U>>>28|j<<4)^(j>>>2|U<<30)^(j>>>7|U<<25)),C+=A>>>16,S+=(T=j&K^j&W^K&W)>>>16,R+=65535&(A=U&L^U&x^L&x),C+=A>>>16,f=65535&(R+=(S+=(O+=65535&T)>>>16)>>>16)|(C+=R>>>16)<<16,w=65535&O|S<<16,O=65535&(T=y),S=T>>>16,R=65535&(A=a),C=A>>>16,S+=(T=_)>>>16,R+=65535&(A=b),C+=A>>>16,L=o,x=i,B=s,M=a=65535&(R+=(S+=(O+=65535&T)>>>16)>>>16)|(C+=R>>>16)<<16,N=c,P=u,F=l,U=f,K=h,W=d,G=p,H=y=65535&O|S<<16,Y=g,q=v,$=m,j=w,I%16==15)for(E=0;E<16;E++)A=k[E],O=65535&(T=D[E]),S=T>>>16,R=65535&A,C=A>>>16,A=k[(E+9)%16],O+=65535&(T=D[(E+9)%16]),S+=T>>>16,R+=65535&A,C+=A>>>16,b=k[(E+1)%16],O+=65535&(T=((_=D[(E+1)%16])>>>1|b<<31)^(_>>>8|b<<24)^(_>>>7|b<<25)),S+=T>>>16,R+=65535&(A=(b>>>1|_<<31)^(b>>>8|_<<24)^b>>>7),C+=A>>>16,b=k[(E+14)%16],S+=(T=((_=D[(E+14)%16])>>>19|b<<13)^(b>>>29|_<<3)^(_>>>6|b<<26))>>>16,R+=65535&(A=(b>>>19|_<<13)^(_>>>29|b<<3)^b>>>6),C+=A>>>16,C+=(R+=(S+=(O+=65535&T)>>>16)>>>16)>>>16,k[E]=65535&R|C<<16,D[E]=65535&O|S<<16;O=65535&(T=j),S=T>>>16,R=65535&(A=U),C=A>>>16,A=t[0],S+=(T=e[0])>>>16,R+=65535&A,C+=A>>>16,C+=(R+=(S+=(O+=65535&T)>>>16)>>>16)>>>16,t[0]=U=65535&R|C<<16,e[0]=j=65535&O|S<<16,O=65535&(T=K),S=T>>>16,R=65535&(A=L),C=A>>>16,A=t[1],S+=(T=e[1])>>>16,R+=65535&A,C+=A>>>16,C+=(R+=(S+=(O+=65535&T)>>>16)>>>16)>>>16,t[1]=L=65535&R|C<<16,e[1]=K=65535&O|S<<16,O=65535&(T=W),S=T>>>16,R=65535&(A=x),C=A>>>16,A=t[2],S+=(T=e[2])>>>16,R+=65535&A,C+=A>>>16,C+=(R+=(S+=(O+=65535&T)>>>16)>>>16)>>>16,t[2]=x=65535&R|C<<16,e[2]=W=65535&O|S<<16,O=65535&(T=G),S=T>>>16,R=65535&(A=B),C=A>>>16,A=t[3],S+=(T=e[3])>>>16,R+=65535&A,C+=A>>>16,C+=(R+=(S+=(O+=65535&T)>>>16)>>>16)>>>16,t[3]=B=65535&R|C<<16,e[3]=G=65535&O|S<<16,O=65535&(T=H),S=T>>>16,R=65535&(A=M),C=A>>>16,A=t[4],S+=(T=e[4])>>>16,R+=65535&A,C+=A>>>16,C+=(R+=(S+=(O+=65535&T)>>>16)>>>16)>>>16,t[4]=M=65535&R|C<<16,e[4]=H=65535&O|S<<16,O=65535&(T=Y),S=T>>>16,R=65535&(A=N),C=A>>>16,A=t[5],S+=(T=e[5])>>>16,R+=65535&A,C+=A>>>16,C+=(R+=(S+=(O+=65535&T)>>>16)>>>16)>>>16,t[5]=N=65535&R|C<<16,e[5]=Y=65535&O|S<<16,O=65535&(T=q),S=T>>>16,R=65535&(A=P),C=A>>>16,A=t[6],S+=(T=e[6])>>>16,R+=65535&A,C+=A>>>16,C+=(R+=(S+=(O+=65535&T)>>>16)>>>16)>>>16,t[6]=P=65535&R|C<<16,e[6]=q=65535&O|S<<16,O=65535&(T=$),S=T>>>16,R=65535&(A=F),C=A>>>16,A=t[7],S+=(T=e[7])>>>16,R+=65535&A,C+=A>>>16,C+=(R+=(S+=(O+=65535&T)>>>16)>>>16)>>>16,t[7]=F=65535&R|C<<16,e[7]=$=65535&O|S<<16,z+=128,r-=128}return r}function X(t,e,n){var r,o=new Int32Array(8),i=new Int32Array(8),s=new Uint8Array(256),a=n;for(o[0]=1779033703,o[1]=3144134277,o[2]=1013904242,o[3]=2773480762,o[4]=1359893119,o[5]=2600822924,o[6]=528734635,o[7]=1541459225,i[0]=4089235720,i[1]=2227873595,i[2]=4271175723,i[3]=1595750129,i[4]=2917565137,i[5]=725511199,i[6]=4215389547,i[7]=327033209,V(o,i,e,n),n%=128,r=0;r=0;--o)Q(t,e,r=n[o/8|0]>>(7&o)&1),Z(e,t),Z(t,t),Q(t,e,r)}function nt(t,n){var r=[e(),e(),e(),e()];k(r[0],f),k(r[1],h),k(r[2],a),F(r[3],f,h),et(t,r,n)}function rt(t,n,o){var i,s=new Uint8Array(64),a=[e(),e(),e(),e()];for(o||r(n,32),X(s,n,32),s[0]&=248,s[31]&=127,s[31]|=64,nt(a,s),tt(t,a),i=0;i<32;i++)n[i+32]=t[i];return 0}var ot=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function it(t,e){var n,r,o,i;for(r=63;r>=32;--r){for(n=0,o=r-32,i=r-12;o>4)*ot[o],n=e[o]>>8,e[o]&=255;for(o=0;o<32;o++)e[o]-=n*ot[o];for(r=0;r<32;r++)e[r+1]+=e[r]>>8,t[r]=255&e[r]}function st(t){var e,n=new Float64Array(64);for(e=0;e<64;e++)n[e]=t[e];for(e=0;e<64;e++)t[e]=0;it(t,n)}function at(t,n,r,o){var i,s,a=new Uint8Array(64),c=new Uint8Array(64),u=new Uint8Array(64),l=new Float64Array(64),f=[e(),e(),e(),e()];X(a,o,32),a[0]&=248,a[31]&=127,a[31]|=64;var h=r+64;for(i=0;i>7&&P(t[0],s,t[0]),F(t[3],t[0],t[1]),0)}(h,o))return-1;for(i=0;i=0},t.sign.keyPair=function(){var t=new Uint8Array(ft),e=new Uint8Array(ht);return rt(t,e),{publicKey:t,secretKey:e}},t.sign.keyPair.fromSecretKey=function(t){if(pt(t),t.length!==ht)throw new Error("bad secret key size");for(var e=new Uint8Array(ft),n=0;n{"use strict";n.r(e),n.d(e,{Modal:()=>o,default:()=>i});const r=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","iframe","object","embed","[contenteditable]",'[tabindex]:not([tabindex^="-"])'];class o{constructor({targetModal:t,triggers:e=[],onShow:n=(()=>{}),onClose:r=(()=>{}),openTrigger:o="data-micromodal-trigger",closeTrigger:i="data-micromodal-close",openClass:s="is-open",disableScroll:a=!1,disableFocus:c=!1,awaitCloseAnimation:u=!1,awaitOpenAnimation:l=!1,debugMode:f=!1}){this.modal=document.getElementById(t),this.config={debugMode:f,disableScroll:a,openTrigger:o,closeTrigger:i,openClass:s,onShow:n,onClose:r,awaitCloseAnimation:u,awaitOpenAnimation:l,disableFocus:c},e.length>0&&this.registerTriggers(...e),this.onClick=this.onClick.bind(this),this.onKeydown=this.onKeydown.bind(this)}registerTriggers(...t){t.filter(Boolean).forEach((t=>{t.addEventListener("click",(t=>this.showModal(t)))}))}showModal(t=null){if(this.activeElement=document.activeElement,this.modal.setAttribute("aria-hidden","false"),this.modal.classList.add(this.config.openClass),this.scrollBehaviour("disable"),this.addEventListeners(),this.config.awaitOpenAnimation){const t=()=>{this.modal.removeEventListener("animationend",t,!1),this.setFocusToFirstNode()};this.modal.addEventListener("animationend",t,!1)}else this.setFocusToFirstNode();this.config.onShow(this.modal,this.activeElement,t)}closeModal(t=null){const e=this.modal;if(this.modal.setAttribute("aria-hidden","true"),this.removeEventListeners(),this.scrollBehaviour("enable"),this.activeElement&&this.activeElement.focus&&this.activeElement.focus(),this.config.onClose(this.modal,this.activeElement,t),this.config.awaitCloseAnimation){let t=this.config.openClass;this.modal.addEventListener("animationend",(function n(){e.classList.remove(t),e.removeEventListener("animationend",n,!1)}),!1)}else e.classList.remove(this.config.openClass)}closeModalById(t){this.modal=document.getElementById(t),this.modal&&this.closeModal()}scrollBehaviour(t){if(!this.config.disableScroll)return;const e=document.querySelector("body");switch(t){case"enable":Object.assign(e.style,{overflow:""});break;case"disable":Object.assign(e.style,{overflow:"hidden"})}}addEventListeners(){this.modal.addEventListener("touchstart",this.onClick),this.modal.addEventListener("click",this.onClick),document.addEventListener("keydown",this.onKeydown)}removeEventListeners(){this.modal.removeEventListener("touchstart",this.onClick),this.modal.removeEventListener("click",this.onClick),document.removeEventListener("keydown",this.onKeydown)}onClick(t){t.target.hasAttribute(this.config.closeTrigger)&&this.closeModal(t)}onKeydown(t){27===t.keyCode&&this.closeModal(t),9===t.keyCode&&this.retainFocus(t)}getFocusableNodes(){const t=this.modal.querySelectorAll(r);return Array(...t)}setFocusToFirstNode(){if(this.config.disableFocus)return;const t=this.getFocusableNodes();if(0===t.length)return;const e=t.filter((t=>!t.hasAttribute(this.config.closeTrigger)));e.length>0&&e[0].focus(),0===e.length&&t[0].focus()}retainFocus(t){let e=this.getFocusableNodes();if(0!==e.length)if(e=e.filter((t=>null!==t.offsetParent)),this.modal.contains(document.activeElement)){const n=e.indexOf(document.activeElement);t.shiftKey&&0===n&&(e[e.length-1].focus(),t.preventDefault()),!t.shiftKey&&e.length>0&&n===e.length-1&&(e[0].focus(),t.preventDefault())}else e[0].focus()}}const i=(()=>{let t=null;const e=t=>{if(!document.getElementById(t))return console.warn(`MicroModal: ❗Seems like you have missed %c'${t}'`,"background-color: #f8f9fa;color: #50596c;font-weight: bold;","ID somewhere in your code. Refer example below to resolve it."),console.warn("%cExample:","background-color: #f8f9fa;color: #50596c;font-weight: bold;",``),!1};return{init:n=>{const r=Object.assign({},{openTrigger:"data-micromodal-trigger"},n),i=[...document.querySelectorAll(`[${r.openTrigger}]`)],s=((t,e)=>{const n=[];return t.forEach((t=>{const r=t.attributes[e].value;void 0===n[r]&&(n[r]=[]),n[r].push(t)})),n})(i,r.openTrigger);if(!0!==r.debugMode||!1!==((t,n)=>{if((t=>{t.length<=0&&(console.warn("MicroModal: ❗Please specify at least one %c'micromodal-trigger'","background-color: #f8f9fa;color: #50596c;font-weight: bold;","data attribute."),console.warn("%cExample:","background-color: #f8f9fa;color: #50596c;font-weight: bold;",''))})(t),!n)return!0;for(var r in n)e(r);return!0})(i,s))for(var a in s){let e=s[a];r.targetModal=a,r.triggers=[...e],t=new o(r)}},show:(n,r)=>{const i=r||{};return i.targetModal=n,!0===i.debugMode&&!1===e(n)?null:(t&&t.removeEventListeners(),t=new o(i),t.showModal(),t)},close:e=>{e?t.closeModalById(e):t.closeModal()}}})()},5024:()=>{}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={exports:{}};return t[r].call(i.exports,i,i.exports,n),i.exports}return n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n(7337)})()})); //# sourceMappingURL=cotter.loader.js.map \ No newline at end of file diff --git a/dist/cotter.loader.js.map b/dist/cotter.loader.js.map index 7f94b1c..1a8395d 100644 --- a/dist/cotter.loader.js.map +++ b/dist/cotter.loader.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://Cotter/webpack/universalModuleDefinition","webpack://Cotter/./node_modules/axios/index.js","webpack://Cotter/./node_modules/axios/lib/adapters/xhr.js","webpack://Cotter/./node_modules/axios/lib/axios.js","webpack://Cotter/./node_modules/axios/lib/cancel/Cancel.js","webpack://Cotter/./node_modules/axios/lib/cancel/CancelToken.js","webpack://Cotter/./node_modules/axios/lib/cancel/isCancel.js","webpack://Cotter/./node_modules/axios/lib/core/Axios.js","webpack://Cotter/./node_modules/axios/lib/core/InterceptorManager.js","webpack://Cotter/./node_modules/axios/lib/core/buildFullPath.js","webpack://Cotter/./node_modules/axios/lib/core/createError.js","webpack://Cotter/./node_modules/axios/lib/core/dispatchRequest.js","webpack://Cotter/./node_modules/axios/lib/core/enhanceError.js","webpack://Cotter/./node_modules/axios/lib/core/mergeConfig.js","webpack://Cotter/./node_modules/axios/lib/core/settle.js","webpack://Cotter/./node_modules/axios/lib/core/transformData.js","webpack://Cotter/./node_modules/axios/lib/defaults.js","webpack://Cotter/./node_modules/axios/lib/helpers/bind.js","webpack://Cotter/./node_modules/axios/lib/helpers/buildURL.js","webpack://Cotter/./node_modules/axios/lib/helpers/combineURLs.js","webpack://Cotter/./node_modules/axios/lib/helpers/cookies.js","webpack://Cotter/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://Cotter/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://Cotter/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://Cotter/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://Cotter/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://Cotter/./node_modules/axios/lib/helpers/spread.js","webpack://Cotter/./node_modules/axios/lib/utils.js","webpack://Cotter/./node_modules/base64-js/index.js","webpack://Cotter/./node_modules/buffer/index.js","webpack://Cotter/./node_modules/cotter-token-js/lib/CotterAccessToken.js","webpack://Cotter/./node_modules/cotter-token-js/lib/CotterEvent.js","webpack://Cotter/./node_modules/cotter-token-js/lib/CotterIDToken.js","webpack://Cotter/./node_modules/cotter-token-js/lib/CotterIdentity.js","webpack://Cotter/./node_modules/cotter-token-js/lib/CotterJwtToken.js","webpack://Cotter/./node_modules/cotter-token-js/lib/index.js","webpack://Cotter/./node_modules/cotter-token-js/lib/tokenHelper.js","webpack://Cotter/./node_modules/fetch-retry/index.js","webpack://Cotter/./node_modules/ieee754/index.js","webpack://Cotter/./src/API.ts","webpack://Cotter/./src/Cotter.ts","webpack://Cotter/./src/CotterVerify.ts","webpack://Cotter/./src/MagicLink.ts","webpack://Cotter/./src/SocialLogin.ts","webpack://Cotter/./src/WebAuthn.ts","webpack://Cotter/./src/binder.ts","webpack://Cotter/./src/components/ModalMaker.ts","webpack://Cotter/./src/components/ModalMakerNoIframe.ts","webpack://Cotter/./src/constants.ts","webpack://Cotter/./src/enum.ts","webpack://Cotter/./src/handler/CompanyHandler.ts","webpack://Cotter/./src/handler/TokenHandler.ts","webpack://Cotter/./src/handler/UserHandler.ts","webpack://Cotter/./src/helper.ts","webpack://Cotter/./src/loader/index.ts","webpack://Cotter/./src/models/Options.ts","webpack://Cotter/./src/models/User.ts","webpack://Cotter/./node_modules/tweetnacl/nacl-fast.js","webpack://Cotter/./src/components/MicroModal.js","webpack://Cotter/webpack/bootstrap","webpack://Cotter/webpack/runtime/define property getters","webpack://Cotter/webpack/runtime/hasOwnProperty shorthand","webpack://Cotter/webpack/runtime/make namespace object","webpack://Cotter/webpack/startup"],"names":["root","factory","exports","module","define","amd","self","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","config","Promise","resolve","reject","requestData","data","requestHeaders","headers","isFormData","request","XMLHttpRequest","auth","username","password","unescape","encodeURIComponent","Authorization","btoa","fullPath","baseURL","url","open","method","toUpperCase","params","paramsSerializer","timeout","onreadystatechange","readyState","status","responseURL","indexOf","responseHeaders","getAllResponseHeaders","response","responseType","responseText","statusText","onabort","onerror","ontimeout","timeoutErrorMessage","isStandardBrowserEnv","xsrfValue","withCredentials","xsrfCookieName","read","undefined","xsrfHeaderName","forEach","val","key","toLowerCase","setRequestHeader","isUndefined","e","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","cancel","abort","send","bind","Axios","mergeConfig","createInstance","defaultConfig","context","instance","prototype","extend","axios","create","instanceConfig","defaults","Cancel","CancelToken","isCancel","all","promises","spread","isAxiosError","default","message","this","toString","__CANCEL__","executor","TypeError","resolvePromise","token","reason","throwIfRequested","source","c","value","InterceptorManager","dispatchRequest","interceptors","arguments","chain","interceptor","unshift","fulfilled","rejected","push","length","shift","getUri","replace","handlers","use","eject","id","fn","h","isAbsoluteURL","combineURLs","requestedURL","enhanceError","code","error","Error","transformData","throwIfCancellationRequested","transformRequest","merge","common","adapter","transformResponse","toJSON","name","description","number","fileName","lineNumber","columnNumber","stack","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","target","isPlainObject","isArray","slice","mergeDeepProperties","prop","axiosKeys","concat","otherKeys","Object","keys","filter","validateStatus","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","process","call","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","JSON","stringify","parse","maxContentLength","maxBodyLength","thisArg","args","Array","i","apply","encode","serializedParams","parts","v","isDate","toISOString","join","hashmarkIndex","relativeURL","write","expires","path","domain","secure","cookie","isNumber","Date","toGMTString","isString","document","match","RegExp","decodeURIComponent","remove","now","test","payload","originURL","msie","navigator","userAgent","urlParsingNode","createElement","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","window","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","split","line","trim","substr","callback","arr","getPrototypeOf","isFunction","obj","l","hasOwnProperty","constructor","FormData","ArrayBuffer","isView","pipe","URLSearchParams","product","result","assignValue","a","b","str","stripBOM","content","charCodeAt","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","Arr","_byteLength","curByte","len","revLookup","fromByteArray","uint8","extraBytes","maxChunkLength","len2","encodeChunk","lookup","Uint8Array","start","end","num","output","base64","ieee754","customInspectSymbol","Symbol","Buffer","SlowBuffer","alloc","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","RangeError","buf","setPrototypeOf","arg","encodingOrOffset","allocUnsafe","from","string","encoding","isEncoding","actual","fromString","arrayView","isInstance","copy","fromArrayBuffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","valueOf","checked","numberIsNaN","type","fromObject","toPrimitive","assertSize","size","array","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","m","bidirectionalIndexOf","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","String","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parseInt","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","Math","min","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","proto","foo","typedArraySupport","console","defineProperty","enumerable","get","poolSize","fill","allocUnsafeSlow","_isBuffer","compare","x","y","list","pos","set","swap16","swap32","swap64","toLocaleString","equals","inspect","max","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","_arr","ret","out","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","errors","E","sym","getMessage","Base","super","writable","configurable","addNumericalSeparator","range","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","floor","ERR_BUFFER_OUT_OF_BOUNDS","input","msg","received","isInteger","abs","INVALID_BASE64_RE","Infinity","leadSurrogate","base64clean","src","dst","alphabet","table","i16","BufferBigIntNotDefined","__importDefault","mod","__esModule","CotterJwtToken_1","CotterAccessToken","decodePayload","authentication_method","scope","identifier","client_user_id","tokenHelper_1","eventToken","ID","CreatedAt","UpdatedAt","DeletedAt","issuer","event","ip","timestamp","new","approved","signature","ValidateToken","CotterIDToken","auth_time","identityToken","identifier_id","expire_at","identifier_type","receiver","buffer_1","err","exp","iat","aud","CotterEvent","CotterIdentity","CotterJwtToken","CotterAccessToken_1","CotterIDToken_1","CotterIdentity_1","CotterEvent_1","tweetnacl_1","messageUint8","signatureUint8","pubKeyUint8","sign","detached","verify","isPositiveInteger","ArgumentError","fetch","retries","retryDelay","retryOn","assign","init","wrappedFetch","attempt","retryOnResponse","retry","catch","delay","setTimeout","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","s","NaN","rt","isNaN","log","LN2","apiKeyID","getTokensFromRefreshToken","refreshToken","API_KEY_ID","req","grant_type","refresh_token","post","BackendURL","removeRefreshToken","delete","checkCredentialExist","resp","exists","beginWebAuthnRegistration","origin","publicKey","serverToCreationOptions","finishWebAuthnRegistration","credential","CredentialToServerCredentialCreation","beginWebAuthnLogin","serverToRequestOptions","finishWebAuthnLogin","identifierType","CredentialToServerCredentialRequest","public_key","device_type","device_name","loginAndConnect","tokenID","userID","provider","token_id","user_id","identity_provider","loginStateSess","sessionStorage","getItem","OAUTH_SESSION_NAME","atob","getInfo","API","tokenHandler","ApiKeyID","Type","withApiKeyID","signInWithLink","constructMagicLink","signInWithWebAuthnOrLink","constructMagicLinkWithWebAuthn","signInWithOTP","constructOTPVerify","signInWithWebAuthnOrOTP","constructOTPVerifyWithWebAuthn","Cotter","withFormID","formID","FormID","onBegin","OnBegin","AuthenticationMethod","AUTHENTICATION_METHOD","MAGIC_LINK","AuthenticationMethodName","tokenHander","OTP","isWebAuthnAvailable","available","WebAuthnEnabled","registerWebAuthn","RegisterWebAuthn","Identifier","ErrorDisplay","show","logOut","removeTokens","getLoggedInUser","connectSocialLogin","userAccessToken","redirectURL","connectURL","getConnectURL","cotter_DefaultContainerID","CotterBaseURL","JSURL","AdditionalFields","Domain","URL","CotterBackendURL","newState","random","substring","state","localStorage","setItem","verifier","generateVerifier","challengeFromVerifier","challenge","loaded","cotterIframeID","cID","ContainerID","callbackName","postData","action","additionalFields","identifierField","IdentifierField","buttonText","ButtonText","buttonBackgroundColor","ButtonBackgroundColor","buttonTextColor","ButtonTextColor","errorColor","ErrorColor","buttonBorderColor","ButtonBorderColor","buttonWAText","ButtonWAText","buttonWATextSubtitle","ButtonWATextSubtitle","buttonWABackgroundColor","ButtonWABackgroundColor","buttonWABorderColor","ButtonWABorderColor","buttonWATextColor","ButtonWATextColor","buttonWALogoColor","ButtonWALogoColor","phoneChannels","PhoneChannels","countryCode","CountryCode","identifierFieldInitialValue","IdentifierFieldInitialValue","identifierFieldDisabled","IdentifierFieldDisabled","skipIdentiferForm","SkipIdentifierForm","skipIdentiferFormWithValue","SkipIdentifierFormWithValue","skipRedirectURL","RedirectURL","SkipRedirectURL","captchaRequired","CaptchaRequired","styles","Styles","authRequestText","AuthRequestText","authenticationMethod","termsOfServiceLink","TermsOfServiceLink","privacyPolicyLink","PrivacyPolicyLink","socialLoginProviders","SocialLoginProviders","handleRedirect","CotterVerify","sendPost","OnSuccess","verifySuccess","submitAuthorizationCode","LOGIN_KEY","code_verifier","redirect_url","getAuthorizeURL","OnError","verifyError","getElementById","container","currentContainerHeight","offsetHeight","style","height","StopSubmissionWithError","continue","WorkerURL","body","json","passed","urlParams","challenge_id","auth_method","socialLoginSession","SOCIAL_LOGIN_ACTION","CONNECT","socialLogin","onSuccess","onError","socialLoginb","authorization_code","client_json","removeItem","history","pushState","idType","clientJSON","showEmailForm","IDENTIFIER_TYPE","EMAIL","showForm","showPhoneForm","PHONE","containerID","ifrm","border","appendChild","width","minHeight","overflow","CotterUserID","encodeURI","verificationProccessPromise","removeForm","authorizationCode","challengeID","clientJson","fRetry","credentials","user","oauth_token","store","storeTokens","redirectResp","contentType","redirectRespJSON","text","redirectRespText","iframeID","errorMsg","auth_required","ContinueSubmit","LoginWebAuthn","ContinueSubmitData","IdentifierType","AlternativeMethod","CANCELED","SUCCESS","isIFrame","contentWindow","postMessage","checkPurple","warningImage","tapLinkImage","defaultMagicLinkConfig","RedirectMagicLink","AssetURL","title","subtitle","image","titleError","subtitleError","imageError","imageSuccess","switchOTPText","DefaultContainerID","MagicLink","defaultSocialConnectText","button","buttonSkip","theme","SocialConnectText","cancelDivID","modalID","apiKeyId","codeChallenge","loginState","client_code_challenge","client_redirect_url","client_state","LOGIN","company_id","SocialLogin","accessToken","iframeURL","searchParams","append","Modal","modalDiv","onCloseDiv","initModal","initEventHandler","socialConnectText","showModal","closeModal","api","defaultWebAuthnRegistrationText","waiting","defaultWebAuthnLoginText","RegistrationText","LoginText","originalResponse","OriginalResponse","displayedError","WebAuthn","onErrorDisplay","errLink","errorLink","registrationText","loginText","alternativeMethod","errorDisplay","beginRegistration","beginLogin","startRegistration","startLogin","PublicKeyCredential","isUserVerifyingPlatformAuthenticatorAvailable","options","finishRegistration","finishLogin","iframePath","fontStyle","rel","head","modalStyle","div","className","att","createAttribute","setAttributeNode","innerHTML","closeDiv","onclick","awaitOpenAnimation","awaitCloseAnimation","removeSelf","cotterWebAuthn","loadIframe","removeIframe","activeModal","closeModalById","close","ModalMaker","ModalMakerNoIframe","ATTR_API_KEY_ID","ATTR_ENV","ATTR_CONFIG","DEFAULT_FORM_SETTINGS","modalBackgroundColor","modalTitleColor","modalTitle","logo","POPUP_BUTTON_HREF","DIV_CONTAINER","LOGOUT_BUTTON_HREF","DefaultUSCode","CotterEnum","COTTER_COMPANY_CACHE_EXPIRY_KEY","COTTER_COMPANY_CACHE_KEY","companyInfo","expiry","getAPIKeyIDFromAttr","spaceAPI","CompanyHandler","infoPromise","newExpiry","REFRESH_TOKEN_NAME","tokenFetchingState","oauthTokens","access_token","idToken","id_token","tokenType","token_type","getAccessToken","accessTok","getExpiration","getTime","getIDToken","idTok","checkTokenFetchProcess","getTokensFromRefreshTokenAPI","fetchTokenResp","updateTokensWithRefreshToken","TokenHandler","UserHandler","STORAGE_KEY","dec2hex","dec","base64urlencode","querySelector","getAttribute","Uint32Array","crypto","getRandomValues","pad","dcd","plain","TextEncoder","subtle","digest","checkVerifyProcess","originalResp","tagName","lightOrDark","color","r","g","sqrt","getModalHeight","customization","modalHeight","__loader","buttons","containers","Modals","env","conf","identifierCheck","siteCustomization","loggedInUser","accessDeniedPage","protectedPageCheck","protectedPages","el","isProtectedPage","map","page","matcher","reg","preInit","querySelectorAll","pop","initCotter","addLogoutHandler","baseRedirectURL","redirectURLPath","afterLogoutURL","finally","backgroundColor","titleColor","modal","containerDiv","getElementsByTagName","authMethod","cotter","cotterMethod","_","afterLoginURL","CotterExport","formattedExcludeCred","excludeCredentials","item","base64urldecode","formattedAllowCred","allowCredentials","rawId","clientDataJSON","attestationObject","authenticatorData","userHandle","enrolled","update","userStr","User","nacl","gf","Float64Array","randombytes","_0","_9","gf0","gf1","_121665","D","D2","X","Y","I","ts64","vn","xi","yi","crypto_verify_16","crypto_verify_32","crypto_core_salsa20","inp","k","o","p","u","j0","j1","j2","j3","j4","j5","j6","j7","j8","j9","j10","j11","j12","j13","j14","j15","x0","x1","x2","x3","x4","x5","x6","x7","x8","x9","x10","x11","x12","x13","x14","x15","core_salsa20","crypto_core_hsalsa20","core_hsalsa20","sigma","crypto_stream_salsa20_xor","cpos","mpos","z","crypto_stream_salsa20","crypto_stream","sn","crypto_stream_xor","poly1305","t0","t1","t2","t3","t4","t5","t6","t7","Uint16Array","leftover","fin","crypto_onetimeauth","outpos","finish","crypto_onetimeauth_verify","hpos","crypto_secretbox","crypto_secretbox_open","set25519","car25519","sel25519","q","t","pack25519","neq25519","par25519","unpack25519","A","Z","M","t8","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","b10","b11","b12","b13","b14","b15","S","inv25519","pow2523","crypto_scalarmult","f","x32","x16","crypto_scalarmult_base","crypto_box_keypair","crypto_box_beforenm","blocks","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","hibit","h0","h1","h2","h3","h4","h5","h6","h7","h8","h9","r0","r1","r2","r3","r4","r5","r6","r7","r8","r9","mac","macpos","mask","want","crypto_box_afternm","crypto_box_open_afternm","K","crypto_hashblocks_hl","hh","hl","bh0","bh1","bh2","bh3","bh4","bh5","bh6","bh7","bl0","bl1","bl2","bl3","bl4","bl5","bl6","bl7","th","tl","wh","Int32Array","wl","ah0","ah1","ah2","ah3","ah4","ah5","ah6","ah7","al0","al1","al2","al3","al4","al5","al6","al7","crypto_hash","add","cswap","pack","tx","ty","zi","scalarmult","scalarbase","crypto_sign_keypair","pk","sk","seeded","L","modL","carry","reduce","crypto_sign","sm","smlen","crypto_sign_open","chk","den","den2","den4","den6","unpackneg","crypto_sign_BYTES","crypto_sign_PUBLICKEYBYTES","crypto_sign_SECRETKEYBYTES","checkLengths","checkArrayTypes","cleanup","lowlevel","crypto_box","crypto_box_open","crypto_secretbox_KEYBYTES","crypto_secretbox_NONCEBYTES","crypto_secretbox_ZEROBYTES","crypto_secretbox_BOXZEROBYTES","crypto_scalarmult_BYTES","crypto_scalarmult_SCALARBYTES","crypto_box_PUBLICKEYBYTES","crypto_box_SECRETKEYBYTES","crypto_box_BEFORENMBYTES","crypto_box_NONCEBYTES","crypto_box_ZEROBYTES","crypto_box_BOXZEROBYTES","crypto_sign_SEEDBYTES","crypto_hash_BYTES","randomBytes","secretbox","nonce","box","keyLength","nonceLength","overheadLength","scalarMult","base","scalarLength","groupElementLength","secretKey","before","checkBoxLengths","after","keyPair","fromSecretKey","publicKeyLength","secretKeyLength","sharedKeyLength","signedMsg","mlen","sig","fromSeed","seed","seedLength","signatureLength","hashLength","setPRNG","msCrypto","FOCUSABLE_ELEMENTS","targetModal","triggers","onShow","onClose","openTrigger","closeTrigger","openClass","disableScroll","disableFocus","debugMode","registerTriggers","onClick","onKeydown","Boolean","trigger","activeElement","classList","scrollBehaviour","addEventListeners","handler","removeEventListener","setFocusToFirstNode","removeEventListeners","focus","toggle","hasAttribute","keyCode","retainFocus","nodes","focusableNodes","getFocusableNodes","nodesWhichAreNotCloseTargets","node","offsetParent","contains","focusedItemIndex","shiftKey","preventDefault","validateModalPresence","warn","triggerMap","triggerAttr","attributes","generateTriggerMap","validateTriggerPresence","validateArgs","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","toStringTag"],"mappings":"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","file":"cotter.loader.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"Cotter\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Cotter\"] = factory();\n\telse\n\t\troot[\"Cotter\"] = factory();\n})(self, function() {\nreturn ","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst CotterJwtToken_1 = __importDefault(require(\"./CotterJwtToken\"));\nclass CotterAccessToken extends CotterJwtToken_1.default {\n constructor(token) {\n super(token);\n }\n decodePayload() {\n var obj = super.decodePayload();\n return obj;\n }\n getAuthMethod() {\n return this.payload.authentication_method;\n }\n getScope() {\n return this.payload.scope;\n }\n getID() {\n return this.payload.sub;\n }\n getIdentifier() {\n return this.payload.identifier;\n }\n getClientUserID() {\n return this.payload.client_user_id;\n }\n}\nexports.default = CotterAccessToken;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tokenHelper_1 = require(\"./tokenHelper\");\nclass CotterEvent {\n constructor(eventToken) {\n this.ID = eventToken.ID;\n this.CreatedAt = eventToken.CreatedAt;\n this.UpdatedAt = eventToken.UpdatedAt;\n this.DeletedAt = eventToken.DeletedAt;\n this.client_user_id = eventToken.client_user_id;\n this.issuer = eventToken.issuer;\n this.event = eventToken.event;\n this.ip = eventToken.ip;\n this.location = eventToken.location;\n this.timestamp = eventToken.timestamp;\n this.method = eventToken.method;\n this.new = eventToken.new;\n this.approved = eventToken.approved;\n this.signature = eventToken.signature;\n }\n validate() {\n var message = `${this.client_user_id}${this.issuer}${this.event}${this.timestamp}${this.method}${this.new}${this.approved}`;\n var signature = this.signature;\n return tokenHelper_1.ValidateToken(message, signature);\n }\n}\nexports.default = CotterEvent;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst CotterJwtToken_1 = __importDefault(require(\"./CotterJwtToken\"));\nclass CotterIDToken extends CotterJwtToken_1.default {\n constructor(token) {\n super(token);\n }\n decodePayload() {\n var obj = super.decodePayload();\n return obj;\n }\n getAuthTime() {\n return this.payload.auth_time;\n }\n getIdentifier() {\n return this.payload.identifier;\n }\n getID() {\n return this.payload.sub;\n }\n getClientUserID() {\n return this.payload.client_user_id;\n }\n}\nexports.default = CotterIDToken;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tokenHelper_1 = require(\"./tokenHelper\");\nclass CotterIdentity {\n constructor(identityToken) {\n this.identifier_id = identityToken.identifier_id;\n this.expire_at = identityToken.expire_at;\n this.identifier = identityToken.identifier;\n this.identifier_type = identityToken.identifier_type;\n this.receiver = identityToken.receiver;\n this.timestamp = identityToken.timestamp;\n this.signature = identityToken.signature;\n }\n validate() {\n var message = `${this.identifier}${this.identifier_type}${this.receiver}${this.expire_at}`;\n var signature = this.signature;\n return tokenHelper_1.ValidateToken(message, signature);\n }\n}\nexports.default = CotterIdentity;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst buffer_1 = require(\"buffer\");\nclass CotterJwtToken {\n constructor(token) {\n this.token = token;\n this.payload = this.decodePayload();\n }\n decodePayload() {\n const payload = this.token.split(\".\")[1];\n try {\n var obj = JSON.parse(buffer_1.Buffer.from(payload, \"base64\").toString(\"utf8\"));\n return obj;\n }\n catch (err) {\n return {};\n }\n }\n getExpiration() {\n var payload = this.payload;\n return payload.exp;\n }\n getIssuedAt() {\n var payload = this.payload;\n return payload.iat;\n }\n getAudience() {\n var payload = this.payload;\n return payload.aud;\n }\n}\nexports.default = CotterJwtToken;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CotterEvent = exports.CotterIdentity = exports.CotterJwtToken = exports.CotterIDToken = exports.CotterAccessToken = void 0;\nconst CotterAccessToken_1 = __importDefault(require(\"./CotterAccessToken\"));\nexports.CotterAccessToken = CotterAccessToken_1.default;\nconst CotterIDToken_1 = __importDefault(require(\"./CotterIDToken\"));\nexports.CotterIDToken = CotterIDToken_1.default;\nconst CotterJwtToken_1 = __importDefault(require(\"./CotterJwtToken\"));\nexports.CotterJwtToken = CotterJwtToken_1.default;\nconst CotterIdentity_1 = __importDefault(require(\"./CotterIdentity\"));\nexports.CotterIdentity = CotterIdentity_1.default;\nconst CotterEvent_1 = __importDefault(require(\"./CotterEvent\"));\nexports.CotterEvent = CotterEvent_1.default;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ValidateToken = void 0;\nconst buffer_1 = require(\"buffer\");\nconst tweetnacl_1 = require(\"tweetnacl\");\nconst CotterPublicKey = \"qqOaiQGjGsxBMgI5rdAasaACRiJthOqadmefjY5mS/c=\";\nconst ValidateToken = (message, signature) => {\n const messageUint8 = new Uint8Array(buffer_1.Buffer.from(message, \"utf8\"));\n const signatureUint8 = new Uint8Array(buffer_1.Buffer.from(signature, \"base64\"));\n const pubKeyUint8 = new Uint8Array(buffer_1.Buffer.from(CotterPublicKey, \"base64\"));\n return tweetnacl_1.sign.detached.verify(messageUint8, signatureUint8, pubKeyUint8);\n};\nexports.ValidateToken = ValidateToken;\n","'use strict';\n\nmodule.exports = function (fetch, defaults) {\n defaults = defaults || {};\n if (typeof fetch !== 'function') {\n throw new ArgumentError('fetch must be a function');\n }\n\n if (typeof defaults !== 'object') {\n throw new ArgumentError('defaults must be an object');\n }\n\n if (defaults.retries !== undefined && !isPositiveInteger(defaults.retries)) {\n throw new ArgumentError('retries must be a positive integer');\n }\n\n if (defaults.retryDelay !== undefined && !isPositiveInteger(defaults.retryDelay) && typeof defaults.retryDelay !== 'function') {\n throw new ArgumentError('retryDelay must be a positive integer or a function returning a positive integer');\n }\n\n if (defaults.retryOn !== undefined && !Array.isArray(defaults.retryOn) && typeof defaults.retryOn !== 'function') {\n throw new ArgumentError('retryOn property expects an array or function');\n }\n\n var baseDefaults = {\n retries: 3,\n retryDelay: 1000,\n retryOn: [],\n };\n\n defaults = Object.assign(baseDefaults, defaults);\n\n return function fetchRetry(input, init) {\n var retries = defaults.retries;\n var retryDelay = defaults.retryDelay;\n var retryOn = defaults.retryOn;\n\n if (init && init.retries !== undefined) {\n if (isPositiveInteger(init.retries)) {\n retries = init.retries;\n } else {\n throw new ArgumentError('retries must be a positive integer');\n }\n }\n\n if (init && init.retryDelay !== undefined) {\n if (isPositiveInteger(init.retryDelay) || (typeof init.retryDelay === 'function')) {\n retryDelay = init.retryDelay;\n } else {\n throw new ArgumentError('retryDelay must be a positive integer or a function returning a positive integer');\n }\n }\n\n if (init && init.retryOn) {\n if (Array.isArray(init.retryOn) || (typeof init.retryOn === 'function')) {\n retryOn = init.retryOn;\n } else {\n throw new ArgumentError('retryOn property expects an array or function');\n }\n }\n\n // eslint-disable-next-line no-undef\n return new Promise(function (resolve, reject) {\n var wrappedFetch = function (attempt) {\n fetch(input, init)\n .then(function (response) {\n if (Array.isArray(retryOn) && retryOn.indexOf(response.status) === -1) {\n resolve(response);\n } else if (typeof retryOn === 'function') {\n try {\n // eslint-disable-next-line no-undef\n return Promise.resolve(retryOn(attempt, null, response))\n .then(function (retryOnResponse) {\n if(retryOnResponse) {\n retry(attempt, null, response);\n } else {\n resolve(response);\n }\n }).catch(reject);\n } catch (error) {\n reject(error);\n }\n } else {\n if (attempt < retries) {\n retry(attempt, null, response);\n } else {\n resolve(response);\n }\n }\n })\n .catch(function (error) {\n if (typeof retryOn === 'function') {\n try {\n // eslint-disable-next-line no-undef\n Promise.resolve(retryOn(attempt, error, null))\n .then(function (retryOnResponse) {\n if(retryOnResponse) {\n retry(attempt, error, null);\n } else {\n reject(error);\n }\n })\n .catch(function(error) {\n reject(error);\n });\n } catch(error) {\n reject(error);\n }\n } else if (attempt < retries) {\n retry(attempt, error, null);\n } else {\n reject(error);\n }\n });\n };\n\n function retry(attempt, error, response) {\n var delay = (typeof retryDelay === 'function') ?\n retryDelay(attempt, error, response) : retryDelay;\n setTimeout(function () {\n wrappedFetch(++attempt);\n }, delay);\n }\n\n wrappedFetch(0);\n });\n };\n};\n\nfunction isPositiveInteger(value) {\n return Number.isInteger(value) && value >= 0;\n}\n\nfunction ArgumentError(message) {\n this.name = 'ArgumentError';\n this.message = message;\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","import CotterEnum from \"./enum\";\nimport axios from \"axios\";\nimport { OAuthToken } from \"./handler/TokenHandler\";\nimport { RefreshTokenRequest } from \"./binder\";\nimport {\n serverToCreationOptions,\n CredentialToServerCredentialCreation,\n CredentialToServerCredentialRequest,\n serverToRequestOptions,\n} from \"./models/Options\";\nimport SocialLogin from \"./SocialLogin\";\n\nclass API {\n apiKeyID: string;\n\n constructor(apiKeyID: string) {\n this.apiKeyID = apiKeyID;\n }\n\n // refreshToken should now be stored in httpOnly cookies\n // and no longer needed to be passed in.\n async getTokensFromRefreshToken(\n refreshToken: string | null\n ): Promise {\n try {\n var config = {\n headers: {\n API_KEY_ID: this.apiKeyID,\n \"Content-type\": \"application/json\",\n },\n withCredentials: true,\n };\n const path = `/token/${this.apiKeyID}`;\n let req: RefreshTokenRequest = {\n grant_type: \"refresh_token\",\n };\n if (refreshToken) {\n req.refresh_token = refreshToken;\n }\n var resp = await axios.post(\n `${CotterEnum.BackendURL}${path}`,\n req,\n config\n );\n return resp.data;\n } catch (err) {\n throw err.response.data;\n }\n }\n\n // removeRefreshToken will delete the cookie\n // since it's httpOnly, can only be removed from\n // the backend\n async removeRefreshToken() {\n try {\n var config = {\n headers: {\n API_KEY_ID: this.apiKeyID,\n \"Content-type\": \"application/json\",\n },\n withCredentials: true,\n };\n const path = `/token/${this.apiKeyID}`;\n var resp = await axios.delete(`${CotterEnum.BackendURL}${path}`, config);\n return resp.data;\n } catch (err) {\n throw err.response.data;\n }\n }\n\n // begin webauthn registration, grab options from the backend\n // regarding allowed authenticator algorithms etc.\n async checkCredentialExist(identifier: string): Promise {\n try {\n var config = {\n headers: {\n API_KEY_ID: this.apiKeyID,\n \"Content-type\": \"application/json\",\n },\n withCredentials: true,\n };\n const path = \"/webauthn/exists\";\n var resp = await axios.get(\n `${CotterEnum.BackendURL}${path}?identifier=${encodeURIComponent(\n identifier\n )}`,\n config\n );\n\n if (\n resp.data &&\n resp.data.exists !== null &&\n resp.data.exists !== undefined\n ) {\n return resp.data.exists;\n }\n throw resp;\n } catch (err) {\n if (err.response) {\n throw err.response.data;\n }\n throw err;\n }\n }\n\n // begin webauthn registration, grab options from the backend\n // regarding allowed authenticator algorithms etc.\n async beginWebAuthnRegistration(\n identifier: string,\n origin: string\n ): Promise {\n try {\n var config = {\n headers: {\n API_KEY_ID: this.apiKeyID,\n \"Content-type\": \"application/json\",\n },\n withCredentials: true,\n };\n\n var data = {\n origin: origin,\n };\n const path = \"/webauthn/register/begin\";\n var resp = await axios.post(\n `${CotterEnum.BackendURL}${path}?identifier=${encodeURIComponent(\n identifier\n )}`,\n data,\n config\n );\n if (resp.data && resp.data.publicKey) {\n return serverToCreationOptions(resp.data.publicKey);\n }\n throw resp;\n } catch (err) {\n if (err.response) {\n throw err.response.data;\n }\n throw err;\n }\n }\n\n // Update User's Methods by enrolling WebAuthn\n async finishWebAuthnRegistration(\n identifier: string,\n credential: any,\n origin: string\n ): Promise {\n try {\n var config = {\n headers: {\n API_KEY_ID: this.apiKeyID,\n \"Content-type\": \"application/json\",\n },\n withCredentials: true,\n };\n var data = CredentialToServerCredentialCreation(credential);\n data = {\n ...data,\n origin: origin,\n };\n var path = \"/webauthn/register/finish\";\n var resp = await axios.post(\n `${CotterEnum.BackendURL}${path}?identifier=${encodeURIComponent(\n identifier\n )}`,\n data,\n config\n );\n return resp.data;\n } catch (err) {\n if (err.response) {\n throw err.response.data;\n }\n throw err;\n }\n }\n\n // begin webauthn login, grab options from the backend\n // regarding allowed authenticator algorithms etc.\n async beginWebAuthnLogin(\n identifier: string,\n origin: string\n ): Promise {\n try {\n var config = {\n headers: {\n API_KEY_ID: this.apiKeyID,\n \"Content-type\": \"application/json\",\n },\n withCredentials: true,\n };\n var data = {\n origin: origin,\n };\n const path = \"/webauthn/login/begin\";\n var resp = await axios.post(\n `${CotterEnum.BackendURL}${path}?identifier=${encodeURIComponent(\n identifier\n )}`,\n data,\n config\n );\n if (resp.data && resp.data.publicKey) {\n return serverToRequestOptions(resp.data.publicKey);\n }\n throw resp;\n } catch (err) {\n if (err.response) {\n throw err.response.data;\n }\n throw err;\n }\n }\n\n // Validate user's webauthn credentials\n async finishWebAuthnLogin(\n identifier: string,\n identifierType: string,\n credential: any,\n origin: string,\n publicKey: string\n ): Promise {\n try {\n var config = {\n headers: {\n API_KEY_ID: this.apiKeyID,\n \"Content-type\": \"application/json\",\n },\n withCredentials: true,\n };\n var data = CredentialToServerCredentialRequest(credential);\n data = {\n ...data,\n origin: origin,\n public_key: publicKey,\n identifier_type: identifierType,\n device_type: \"BROWSER\",\n device_name: navigator.userAgent,\n };\n var path = \"/webauthn/login/finish\";\n var resp = await axios.post(\n `${CotterEnum.BackendURL}${path}?identifier=${encodeURIComponent(\n identifier\n )}`,\n data,\n config\n );\n return resp.data;\n } catch (err) {\n if (err.response) {\n throw err.response.data;\n }\n throw err;\n }\n }\n\n // =====================\n // Social Login\n // =====================\n async loginAndConnect(\n tokenID: string,\n userID: string,\n provider: any\n ): Promise {\n try {\n var config = {\n headers: {\n API_KEY_ID: this.apiKeyID,\n \"Content-type\": \"application/json\",\n },\n withCredentials: true,\n };\n const data = {\n token_id: tokenID,\n user_id: userID,\n identity_provider: provider,\n };\n try {\n const loginStateSess = sessionStorage.getItem(\n SocialLogin.OAUTH_SESSION_NAME\n );\n data[\"login_state\"] = JSON.parse(atob(loginStateSess));\n } catch (e) {}\n var path = \"/oauth/token/connect\";\n var resp = await axios.post(\n `${CotterEnum.BackendURL}${path}`,\n data,\n config\n );\n return resp.data;\n } catch (err) {\n if (err.response) {\n throw err.response.data;\n }\n throw err;\n }\n }\n\n // ==============================\n // Loader Company Info\n // ==============================\n async getInfo() {\n try {\n var resp = await axios.get(\n `${CotterEnum.BackendURL}/company/info/${this.apiKeyID}`,\n null\n );\n return resp.data;\n } catch (err) {\n if (err.response) {\n throw err.response.data;\n }\n throw err;\n }\n }\n}\n\nexport default API;\n","import CotterVerify from \"./CotterVerify\";\nimport MagicLink from \"./MagicLink\";\nimport TokenHandler from \"./handler/TokenHandler\";\nimport User from \"./models/User\";\nimport WebAuthn from \"./WebAuthn\";\nimport UserHandler from \"./handler/UserHandler\";\nimport {\n AUTHENTICATION_METHOD,\n Config,\n OnBeginHandler,\n SocialLoginProviders,\n} from \"./binder\";\nimport SocialLogin from \"./SocialLogin\";\n\nconst tokenHandler = new TokenHandler();\nexport default class Cotter extends CotterVerify {\n signInWithLink: (onBegin?: OnBeginHandler) => MagicLink;\n signInWithOTP: (onBegin?: OnBeginHandler) => CotterVerify;\n signInWithWebAuthnOrLink: (onBegin?: OnBeginHandler) => MagicLink;\n signInWithWebAuthnOrOTP: (onBegin?: OnBeginHandler) => CotterVerify;\n tokenHandler: TokenHandler;\n\n // constructor can be either string or object therefore the type is any\n constructor(config: Config | string) {\n // in this case config will definitely be the API KEY ID\n if (typeof config === typeof \"\") {\n config = { ApiKeyID: config as string, Type: \"\" };\n }\n config = config as Config;\n\n super(config, tokenHandler.withApiKeyID(config.ApiKeyID));\n\n // initialize magic link\n this.signInWithLink = this.constructMagicLink;\n this.signInWithWebAuthnOrLink = this.constructMagicLinkWithWebAuthn;\n\n this.signInWithOTP = this.constructOTPVerify;\n this.signInWithWebAuthnOrOTP = this.constructOTPVerifyWithWebAuthn;\n\n // initialize token handler\n this.tokenHandler = tokenHandler.withApiKeyID(config.ApiKeyID);\n }\n\n // withFormID specify the form ID used for customization\n withFormID(formID: string) {\n this.config.FormID = formID;\n return this;\n }\n\n // constructMagicLink constructs the magic link object with optional onBegin\n constructMagicLink(onBegin?: OnBeginHandler) {\n if (onBegin) this.config.OnBegin = onBegin;\n this.config.AuthenticationMethod = AUTHENTICATION_METHOD.MAGIC_LINK;\n this.config.AuthenticationMethodName = \"Magic Link\";\n return new MagicLink(this.config, this.tokenHander);\n }\n\n constructOTPVerify(onBegin?: OnBeginHandler) {\n if (onBegin) this.config.OnBegin = onBegin;\n this.config.AuthenticationMethod = AUTHENTICATION_METHOD.OTP;\n this.config.AuthenticationMethodName = \"Verification Code\";\n return new CotterVerify(this.config, this.tokenHander);\n }\n // ========== WEBAUTHN ============\n static async isWebAuthnAvailable() {\n return await WebAuthn.available();\n }\n // constructMagicLinkWithWebAuthn constructs the magic link to run attempt login with webauthn\n constructMagicLinkWithWebAuthn(onBegin?: OnBeginHandler) {\n if (onBegin) this.config.OnBegin = onBegin;\n this.config.WebAuthnEnabled = true;\n this.config.AuthenticationMethod = AUTHENTICATION_METHOD.MAGIC_LINK;\n this.config.AuthenticationMethodName = \"Magic Link\";\n return new MagicLink(this.config, this.tokenHander);\n }\n // constructOTPVerifyWithWebAuthn constructs the otp to run attempt login with webauthn\n constructOTPVerifyWithWebAuthn(onBegin?: OnBeginHandler) {\n if (onBegin) this.config.OnBegin = onBegin;\n this.config.WebAuthnEnabled = true;\n this.config.AuthenticationMethod = AUTHENTICATION_METHOD.OTP;\n this.config.AuthenticationMethodName = \"Verification Code\";\n return new CotterVerify(this.config, this.tokenHander);\n }\n\n // Register WebAuthn for a logged-in user\n async registerWebAuthn(identifier: string) {\n this.config.WebAuthnEnabled = true;\n this.config.RegisterWebAuthn = true;\n const available = await WebAuthn.available();\n if (!available) {\n let web = new WebAuthn(\n {\n ApiKeyID: this.config.ApiKeyID,\n Identifier: identifier,\n Type: \"REGISTRATION\",\n ErrorDisplay: \"The browser or user device doesn't support WebAuthn.\",\n RegisterWebAuthn: true,\n },\n this.tokenHander\n );\n return await web.show();\n }\n let web = new WebAuthn(\n {\n ApiKeyID: this.config.ApiKeyID,\n Identifier: identifier,\n Type: \"REGISTRATION\",\n RegisterWebAuthn: true,\n },\n this.tokenHander\n );\n return await web.show();\n }\n\n // Token handling\n async logOut() {\n try {\n await this.tokenHandler.removeTokens();\n UserHandler.remove();\n } catch (err) {\n throw err;\n }\n }\n\n // Get User\n getLoggedInUser() {\n return User.getLoggedInUser();\n }\n\n // Social Login\n // This should redirect to the oauth login page,\n // then redirect back to the `redirectURL` provided\n // with `error` query parameter if there's an error\n // ex. http://something.com/currentpage?error=some_error\n connectSocialLogin(\n provider: SocialLoginProviders,\n userAccessToken: string,\n redirectURL?: string\n ) {\n const connectURL = SocialLogin.getConnectURL(\n provider,\n this.config.ApiKeyID,\n userAccessToken,\n redirectURL || window?.location?.href\n );\n if (window) {\n window.location.href = connectURL;\n }\n }\n}\n","import CotterEnum from \"./enum\";\nimport {\n Config,\n VerifyRespondResponse,\n ResponseData,\n VerifySuccess,\n AUTHENTICATION_METHOD,\n IDENTIFIER_TYPE,\n SOCIAL_LOGIN_ACTION,\n} from \"./binder\";\nimport {\n challengeFromVerifier,\n generateVerifier,\n verificationProccessPromise,\n isIFrame,\n} from \"./helper\";\nimport fetchRetry from 'fetch-retry';\nimport TokenHandler from \"./handler/TokenHandler\";\nimport UserHandler from \"./handler/UserHandler\";\nimport WebAuthn from \"./WebAuthn\";\nimport API from \"./API\";\nimport SocialLogin from \"./SocialLogin\";\n\n// default container id\nconst cotter_DefaultContainerID = \"cotter-form-container\";\n// key in session store for code verifier\n// (used in Social Login, need to store due to redirects)\n\nclass CotterVerify {\n config: Config;\n state: string | null;\n loaded: boolean;\n cotterIframeID: string;\n verifier: string; // code verifier\n challenge: string; // code challenge\n cID: string;\n\n // Optional string definition\n verifyError?: any;\n verifySuccess?: any;\n tokenHander?: TokenHandler;\n RegisterWebAuthn?: boolean;\n Identifier?: string;\n LoginWebAuthn?: boolean;\n ContinueSubmitData?: any;\n\n constructor(config: Config, tokenHandler?: TokenHandler) {\n this.config = config;\n if (this.config.CotterBaseURL) CotterEnum.JSURL = this.config.CotterBaseURL;\n\n if (!this.config.AdditionalFields) {\n this.config.AdditionalFields = [];\n }\n this.config.Domain = new URL(window.location.href).origin;\n\n if (!this.config.CotterBackendURL) {\n this.config.CotterBackendURL = CotterEnum.BackendURL;\n }\n\n // storing access token\n this.tokenHander = tokenHandler;\n\n const newState = Math.random().toString(36).substring(2, 15);\n try {\n this.state = localStorage.getItem(\"COTTER_STATE\");\n if (!localStorage.getItem(\"COTTER_STATE\")) {\n this.state = newState;\n localStorage.setItem(\"COTTER_STATE\", this.state);\n }\n } catch (e) {\n this.state = newState;\n }\n\n // SUPPORT PKCE\n this.verifier = generateVerifier();\n\n challengeFromVerifier(this.verifier).then((challenge) => {\n this.challenge = challenge;\n });\n\n this.loaded = false;\n this.cotterIframeID =\n Math.random().toString(36).substring(2, 15) + \"cotter-signup-iframe\";\n\n // cID is the id for the Cotter instance. this will prevent postMessage to\n // be caught by other listener on other CotterVerify instances\n this.cID =\n Math.random().toString(36).substring(2, 15) +\n (this.config.ContainerID || cotter_DefaultContainerID);\n\n // ========== WEBAUTHN SETUP ===========\n if (this.config.RegisterWebAuthn) {\n // this.config.RegisterWebAuthn means that the client\n // is explicitly trying to register this device for WebAuthn\n this.RegisterWebAuthn = true;\n }\n // =====================================\n\n window.addEventListener(\"message\", (e) => {\n try {\n var data = JSON.parse(e.data);\n } catch (e) {\n // skip in case the data is not JSON formatted\n return;\n }\n\n // there are some additional messages that shouldn't be handled by this\n // listener, such as messages from https://js.stripe.com/\n if (e.origin !== CotterEnum.JSURL) {\n // skip this message\n return;\n }\n let cID = this.cID;\n switch (data.callbackName) {\n case cID + \"FIRST_LOAD\":\n var postData = {\n action: \"CONFIG\",\n payload: {\n additionalFields: this.config.AdditionalFields,\n identifierField: this.config.IdentifierField,\n buttonText: this.config.ButtonText,\n buttonBackgroundColor: this.config.ButtonBackgroundColor,\n buttonTextColor: this.config.ButtonTextColor,\n errorColor: this.config.ErrorColor,\n buttonBorderColor: this.config.ButtonBorderColor,\n buttonWAText: this.config.ButtonWAText,\n buttonWATextSubtitle: this.config.ButtonWATextSubtitle,\n buttonWABackgroundColor: this.config.ButtonWABackgroundColor,\n buttonWABorderColor: this.config.ButtonWABorderColor,\n buttonWATextColor: this.config.ButtonWATextColor,\n buttonWALogoColor: this.config.ButtonWALogoColor,\n phoneChannels: this.config.PhoneChannels,\n countryCode: this.config.CountryCode,\n identifierFieldInitialValue: this.config\n .IdentifierFieldInitialValue,\n identifierFieldDisabled: this.config.IdentifierFieldDisabled,\n skipIdentiferForm: this.config.SkipIdentifierForm,\n skipIdentiferFormWithValue: this.config\n .SkipIdentifierFormWithValue,\n skipRedirectURL:\n !this.config.RedirectURL || this.config.SkipRedirectURL\n ? true\n : false,\n captchaRequired: this.config.CaptchaRequired,\n styles: this.config.Styles,\n\n // for magic link\n authRequestText: this.config.AuthRequestText,\n authenticationMethod: this.config.AuthenticationMethod,\n\n // for terms of service\n termsOfServiceLink: this.config.TermsOfServiceLink,\n privacyPolicyLink: this.config.PrivacyPolicyLink,\n\n // For social login\n socialLoginProviders: this.config.SocialLoginProviders,\n },\n };\n this.handleRedirect();\n CotterVerify.sendPost(postData, this.cotterIframeID);\n break;\n case cID + \"LOADED\":\n this.loaded = true;\n break;\n case cID + \"ON_SUCCESS\":\n if (this.config.OnSuccess) {\n this.config.OnSuccess(data.payload);\n }\n this.verifySuccess = data.payload;\n break;\n case cID + \"ON_SUBMIT_AUTHORIZATION_CODE\":\n this.submitAuthorizationCode(data.payload, this.verifier);\n break;\n case cID + \"ON_SOCIAL_LOGIN_REQUEST\":\n window?.sessionStorage.setItem(\n SocialLogin.LOGIN_KEY,\n btoa(\n JSON.stringify({\n code_verifier: this.verifier,\n redirect_url: window.location.href,\n })\n )\n );\n const url = SocialLogin.getAuthorizeURL(\n data.payload?.provider,\n this.config.ApiKeyID,\n this.state,\n window.location.href,\n this.challenge\n );\n // Redirect to social login\n window.location.href = url;\n break;\n case cID + \"ON_ERROR\":\n if (this.config.OnError) {\n this.config.OnError(data.payload);\n }\n this.verifyError = data.payload;\n break;\n case cID + \"ON_BEGIN\":\n const continueOnBegin = () => {\n if(this.config.AuthenticationMethod === \"MAGIC_LINK\" && !this.config.CaptchaRequired && document.getElementById(this.config.ContainerID)) {\n const container = document.getElementById(this.config.ContainerID)\n const currentContainerHeight = container.offsetHeight\n container.style.height = `${Math.max(300, currentContainerHeight)}px`\n }\n\n // OnBegin method should return the error message\n // if there is no error, return null\n if (!!this.config.OnBegin) {\n let ret = this.config.OnBegin(data.payload);\n Promise.resolve(ret || null)\n .then((err: string | null) => {\n if (!err) this.continue(data.payload, this.cotterIframeID);\n else this.StopSubmissionWithError(err, this.cotterIframeID);\n })\n .catch((e) => {\n console.log(\"The OnBegin function throws an error: \", e);\n throw \"The OnBegin function throws an error: \" + e;\n });\n } else {\n this.continue(data.payload, this.cotterIframeID);\n }\n }\n\n // Check if this identifier is allowed to continue\n if(this.config.FormID) {\n const resp = fetch(`${CotterEnum.WorkerURL}/screening/form?identifier=${encodeURIComponent(data.payload.identifier)}&form-id=${encodeURIComponent(this.config.FormID)}`, {\n method: \"GET\",\n headers: {\n API_KEY_ID: this.config.ApiKeyID,\n \"Content-type\": \"application/json\",\n }\n }).then(body => body.json()).then(data => {\n if(data.passed) {\n continueOnBegin()\n return\n }\n this.StopSubmissionWithError(data.message ?? \"You are not allowed to use this form\", this.cotterIframeID)\n }).catch((e) => {\n this.StopSubmissionWithError(\"Something went wrong, we're unable to process your request\", this.cotterIframeID)\n })\n } else {\n continueOnBegin()\n }\n break;\n default:\n break;\n }\n });\n }\n\n async handleRedirect() {\n const urlParams = new URLSearchParams(window.location.search);\n const challenge_id = urlParams.get(\"challenge_id\");\n const code = urlParams.get(\"code\");\n const state = urlParams.get(\"state\");\n const action = urlParams.get(\"action\");\n const auth_method = urlParams.get(\"auth_method\");\n const socialLoginSession = window?.sessionStorage.getItem(\n SocialLogin.LOGIN_KEY\n );\n // Redirect To Connect\n if (action === SOCIAL_LOGIN_ACTION.CONNECT) {\n const socialLogin = new SocialLogin(this.config);\n socialLogin\n .show()\n .then((resp: any) => {\n this.onSuccess(resp);\n })\n .catch((err) => {\n this.onError(err);\n });\n }\n // Redirect To Login\n if (\n challenge_id?.length > 0 &&\n code?.length > 0 &&\n state?.length > 0 &&\n socialLoginSession?.length > 0\n ) {\n const socialLoginb = atob(socialLoginSession);\n const socialLogin = socialLoginb ? JSON.parse(socialLoginb) : {};\n this.config.RedirectURL = socialLogin.redirect_url;\n this.config.SkipRedirectURL = true;\n await this.submitAuthorizationCode(\n {\n authorization_code: code,\n challenge_id: challenge_id,\n state: state,\n client_json: {},\n },\n socialLogin.code_verifier,\n socialLogin.redirect_url,\n auth_method\n );\n window?.sessionStorage.removeItem(SocialLogin.LOGIN_KEY);\n history.pushState({}, null, window?.location?.href?.split(\"?\")[0]);\n }\n\n if (auth_method === AUTHENTICATION_METHOD.MAGIC_LINK) {\n const challenge = urlParams.get(\"challenge\");\n const idType = urlParams.get(\"id_type\");\n const id = urlParams.get(\"id\");\n const clientJSON = urlParams.get(\"client_json\");\n this.config.SkipRedirectURL = true;\n\n const payload = {\n challenge: challenge,\n challenge_id: challenge_id,\n client_json: JSON.parse(clientJSON),\n identifierType: idType,\n identifier: id,\n };\n\n var postData = {\n action: \"HANDLE_MAGIC_LINK_REDIRECT\",\n payload: payload,\n };\n CotterVerify.sendPost(postData, this.cotterIframeID);\n }\n }\n\n showEmailForm() {\n this.config.IdentifierField = \"email\";\n this.config.Type = IDENTIFIER_TYPE.EMAIL;\n return this.showForm();\n }\n\n showPhoneForm() {\n this.config.IdentifierField = \"phone\";\n this.config.Type = IDENTIFIER_TYPE.PHONE;\n return this.showForm();\n }\n\n showForm() {\n const containerID = this.config.ContainerID || cotter_DefaultContainerID;\n var container = document.getElementById(containerID);\n\n var ifrm = document.createElement(\"iframe\");\n ifrm.setAttribute(\"id\", this.cotterIframeID);\n ifrm.style.border = \"0\";\n container!.appendChild(ifrm);\n ifrm.style.width = \"100%\";\n ifrm.style.height = \"100%\";\n if (this.config.CaptchaRequired) {\n ifrm.style.minHeight = \"520px\";\n }\n ifrm.style.overflow = \"scroll\";\n\n challengeFromVerifier(this.verifier).then((challenge) => {\n var path = `${CotterEnum.JSURL}/signup?challenge=${challenge}&type=${this.config.Type}&domain=${this.config.Domain}&api_key=${this.config.ApiKeyID}&redirect_url=${this.config.RedirectURL}&state=${this.state}&id=${this.cID}`;\n if (this.config.CotterUserID) {\n path = `${path}&cotter_user_id=${this.config.CotterUserID}`;\n }\n if (this.config.FormID) {\n path = `${path}&form_id=${encodeURIComponent(this.config.FormID)}`;\n }\n ifrm.setAttribute(\"src\", encodeURI(path));\n ifrm.setAttribute(\"allowtransparency\", \"true\");\n });\n\n return verificationProccessPromise(this);\n }\n\n removeForm() {\n var ifrm = document.getElementById(this.cotterIframeID);\n ifrm!.remove();\n }\n\n onSuccess(data: VerifySuccess | string) {\n var postData = {\n action: \"DONE_SUCCESS\",\n };\n CotterVerify.sendPost(postData, this.cotterIframeID);\n this.verifySuccess = data;\n if (this.config.OnSuccess) this.config.OnSuccess(data as VerifySuccess);\n }\n\n onError(error: object | string) {\n var postData = {\n action: \"DONE_ERROR\",\n payload: error,\n };\n CotterVerify.sendPost(postData, this.cotterIframeID);\n this.verifyError = error;\n if (this.config.OnError) this.config.OnError(error);\n }\n\n async submitAuthorizationCode(\n payload: VerifyRespondResponse,\n code_verifier: string,\n redirect_url: string = null,\n auth_method: string = null\n ) {\n // Getting code from payload\n var authorizationCode = payload.authorization_code;\n var challengeID = payload.challenge_id;\n var state = payload.state;\n var clientJson = payload.client_json;\n\n var skipRedirectURL =\n this.config.RedirectURL === null ||\n this.config.RedirectURL === undefined ||\n (this.config.RedirectURL && this.config.RedirectURL.length <= 0) ||\n this.config.SkipRedirectURL;\n\n // State was set before the first request was sent\n // This is making sure that the state returned is still the same\n if (state !== this.state) {\n if (this.config.OnError) {\n var err = \"State is not the same as the original request.\";\n this.config.OnError(err);\n }\n }\n\n // Preparing data for PCKE token request\n var data = {\n code_verifier: code_verifier,\n authorization_code: authorizationCode,\n challenge_id: parseInt(challengeID),\n redirect_url: redirect_url\n ? redirect_url\n : skipRedirectURL\n ? new URL(window.location.href).origin\n : this.config.RedirectURL,\n };\n\n var self = this;\n var url = `${CotterEnum.BackendURL}/verify/get_identity?oauth_token=true`;\n if (auth_method) {\n url = `${url}&auth_method=${auth_method}`;\n }\n const fRetry = fetchRetry(fetch)\n fRetry(url, {\n method: \"POST\",\n headers: {\n API_KEY_ID: `${self.config.ApiKeyID}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(data),\n credentials: \"include\",\n retries: 3,\n retryDelay: 300,\n retryOn: [500],\n })\n .then(async function (response: ResponseData) {\n // If not successful, call OnError and return\n var resp = await response.json();\n if (response.status !== 200) {\n response.data = resp;\n throw response;\n }\n\n // Examine the text in the response\n // Preparing data to return to the client\n var data = clientJson;\n data.token = resp.token;\n data[self.config.IdentifierField || \"email\"] = resp.user.identifier;\n data.oauth_token = resp.oauth_token;\n data.user = resp.user;\n // Store Identifier in the object for WebAuthn reference\n self.Identifier = resp.user.identifier;\n UserHandler.store(resp.user);\n if (self.tokenHander) {\n self.tokenHander.storeTokens(resp.oauth_token);\n }\n\n // If skipRedirectURL, send the data to the client's OnSuccess function\n if (skipRedirectURL || !self.config.RedirectURL) {\n self.onSuccess(data);\n return;\n } else {\n // Otherwise, send POST request to the client's RedirectURL\n fetch(self.config.RedirectURL, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(data),\n })\n // Checking client's response\n .then(async (redirectResp: ResponseData) => {\n const contentType = redirectResp.headers.get(\"content-type\");\n if (\n contentType &&\n contentType.indexOf(\"application/json\") !== -1\n ) {\n var redirectRespJSON = await redirectResp.json();\n if (redirectResp.status >= 200 && redirectResp.status < 300) {\n self.onSuccess(redirectRespJSON);\n } else {\n redirectResp.data = redirectRespJSON;\n throw redirectResp;\n }\n } else {\n var redirectRespText = await redirectResp.text();\n if (redirectResp.status >= 200 && redirectResp.status < 300) {\n self.onSuccess(redirectRespText);\n } else {\n redirectResp.data = redirectRespText;\n throw redirectResp;\n }\n }\n })\n .catch(function (error) {\n self.onError(error);\n });\n }\n })\n .catch((error) => {\n self.onError(error);\n });\n }\n\n StopSubmissionWithError(err: string, iframeID: string) {\n var postData = {\n action: \"ON_ERROR\",\n errorMsg: err,\n };\n CotterVerify.sendPost(postData, iframeID);\n }\n\n async continue(\n payload: { identifier: string; auth_required?: boolean },\n iframeID: string\n ) {\n // Check for WebAuthn – if we can, we'll authenticate the users using WebAuthn instead\n // ========== WEBAUTHN CHECK ===========\n // - (1) if WebAuthn enabled && can perform webauthn: check if user has any webauthn credentialss\n // - (2A) if User have credentials:\n // - (a) if User's identity is NOT EXPIRED => user normally automatically\n // log in. We want user to automatically login too,\n // even with WebAuthn enabled\n // - (b) if User's identity is expired => user normally have to enter\n // OTP/MagicLink. Instead, we prompt for WebAuthn\n // - (2B) if User doesn't have credentials:\n // - We want to prompt user to setup WebAuthn at the end of the flow\n\n const available = await WebAuthn.available();\n if (this.config.WebAuthnEnabled && !available) {\n console.log(\n \"WebAuthn is enabled, but the user device doesn't support webauthn\"\n );\n }\n if (this.config.WebAuthnEnabled && available) {\n try {\n // (1) Check if user has webauthn credential\n let api = new API(this.config.ApiKeyID);\n const exists = await api.checkCredentialExist(payload.identifier);\n // (2A) if User have credentials:\n if (exists) {\n // (a) if User's identity is NOT EXPIRED => user normally automatically\n // log in. We want user to automatically login too,\n // even with WebAuthn enabled\n if (!payload.auth_required) {\n this.RegisterWebAuthn = false;\n this.config.WebAuthnEnabled = false;\n CotterVerify.ContinueSubmit(payload, iframeID);\n return;\n }\n\n // b) if User's identity is expired => user normally have to enter\n // OTP/MagicLink. Instead, we prompt for WebAuthn\n this.LoginWebAuthn = true;\n this.ContinueSubmitData = payload; // For use if WebAuthn failed\n // Start WebAuthn Login\n let web = new WebAuthn(\n {\n ApiKeyID: this.config.ApiKeyID,\n Identifier: payload.identifier,\n IdentifierField: this.config.IdentifierField,\n IdentifierType: this.config.Type,\n AlternativeMethod: this.config.AuthenticationMethodName,\n Type: \"LOGIN\",\n },\n this.tokenHander\n );\n\n web\n .show()\n .then((resp: any) => {\n if (resp.status === WebAuthn.CANCELED) {\n CotterVerify.ContinueSubmit(payload, iframeID);\n return;\n }\n if (resp.status === WebAuthn.SUCCESS) {\n this.onSuccess(resp);\n return;\n }\n })\n .catch((err) => {\n this.onError(err);\n });\n } else {\n // (2B) if User doesn't have credentials:\n // - We want to prompt user to setup WebAuthn at the end of the flow\n this.RegisterWebAuthn = true;\n CotterVerify.ContinueSubmit(payload, iframeID);\n }\n return;\n } catch (err) {\n this.onError(err);\n return;\n }\n } else {\n // WebAuthn not enabled\n CotterVerify.ContinueSubmit(payload, iframeID);\n }\n }\n\n static ContinueSubmit(payload: object, iframeID: string) {\n var postData = {\n action: \"CONTINUE_SUBMIT\",\n payload: payload,\n };\n CotterVerify.sendPost(postData, iframeID);\n }\n\n static sendPost(data: object, iframeID: string) {\n var ifrm = document.getElementById(iframeID);\n if (isIFrame(ifrm) && ifrm.contentWindow) {\n ifrm!.contentWindow.postMessage(JSON.stringify(data), CotterEnum.JSURL);\n }\n }\n}\n\nexport default CotterVerify;\n","import CotterVerify from \"./CotterVerify\";\nimport CotterEnum from \"./enum\";\nimport { AUTHENTICATION_METHOD, Config } from \"./binder\";\nimport { challengeFromVerifier, verificationProccessPromise } from \"./helper\";\nimport TokenHandler from \"./handler/TokenHandler\";\n\nvar checkPurple = (url: String) => url + \"/assets/images/check-purple.png\";\nvar warningImage = (url: String) => url + \"/assets/images/warning.png\";\nvar tapLinkImage = (url: String) => url + \"/assets/images/tapEmail.png\";\n\nconst magicLinkAuthReqText = (url: String) => ({\n title: `Approve this login from your {{type}}`,\n subtitle: `A magic link has been sent to {{identifier}}`,\n\n image: tapLinkImage(url),\n titleError: \"Something went wrong\",\n subtitleError: \"We are unable to confirm it's you, please try again\",\n imageError: warningImage(url),\n imageSuccess: checkPurple(url),\n switchOTPText: \"Authenticate with OTP instead\",\n default: true,\n});\n\nclass MagicLink extends CotterVerify {\n constructor(config: Config, tokenHandler?: TokenHandler) {\n const defaultMagicLinkConfig = {\n AuthenticationMethod: AUTHENTICATION_METHOD.MAGIC_LINK,\n };\n\n if (config.RedirectMagicLink !== false) {\n config.RedirectMagicLink = true;\n }\n\n // set default magic link, then assign the new configs if any\n super(Object.assign({ ...defaultMagicLinkConfig }, config), tokenHandler);\n }\n\n showForm() {\n // set the authentication request config\n this.config.AuthRequestText = magicLinkAuthReqText(CotterEnum.AssetURL);\n\n const containerID =\n this.config.ContainerID || CotterEnum.DefaultContainerID;\n var container = document.getElementById(containerID);\n\n var ifrm = document.createElement(\"iframe\");\n ifrm.setAttribute(\"id\", this.cotterIframeID);\n ifrm.style.border = \"0\";\n container!.appendChild(ifrm);\n ifrm.style.width = \"100%\";\n ifrm.style.height = \"100%\";\n if (this.config.CaptchaRequired) {\n ifrm.style.minHeight = \"520px\";\n }\n ifrm.style.overflow = \"scroll\";\n\n if (!this.config.RedirectURL)\n this.config.RedirectURL = window.location.href;\n this.config.SkipRedirectURL = true;\n\n challengeFromVerifier(this.verifier).then((challenge) => {\n var path = `${\n CotterEnum.JSURL\n }/login?auth_method=MAGIC_LINK&code_challenge=${challenge}&type=${\n this.config.Type\n }&domain=${this.config.Domain}&api_key=${\n this.config.ApiKeyID\n }&redirect_url=${encodeURIComponent(this.config.RedirectURL)}&state=${\n this.state\n }&id=${this.cID}&redirect_link=${this.config.RedirectMagicLink}`;\n if (this.config.CotterUserID) {\n path = `${path}&cotter_user_id=${this.config.CotterUserID}`;\n }\n if (this.config.FormID) {\n path = `${path}&form_id=${encodeURIComponent(this.config.FormID)}`;\n }\n ifrm.setAttribute(\"src\", encodeURI(path));\n });\n ifrm.setAttribute(\"allowtransparency\", \"true\");\n\n return verificationProccessPromise(this);\n }\n}\n\nexport default MagicLink;\n","import CotterEnum from \"./enum\";\nimport { isIFrame, verificationProccessPromise } from \"./helper\";\nimport { Config, SocialLoginProviders, SOCIAL_LOGIN_ACTION } from \"./binder\";\nimport ModalMaker from \"./components/ModalMaker\";\nimport API from \"./API\";\n\nconst defaultSocialConnectText = {\n title: \"Do you want to link these accounts?\",\n subtitle:\n \"You are logging-in with an email or phone that is already associated with an existing account\",\n button: \"Link\",\n buttonSkip: \"Cancel\",\n theme: \"#7d44fa\",\n};\n\nclass SocialLogin {\n static LOGIN_KEY = \"cotter_slk\" // to save code verifier etc\n static OAUTH_SESSION_NAME = \"oauth_sess\" // to store data that's supposed to be on the cookies from server\n loaded: boolean;\n cotterIframeID: string;\n containerID: string;\n cancelDivID: string;\n modalID: string;\n Modal: ModalMaker;\n\n verifyError?: any;\n verifySuccess?: any;\n\n config: Config;\n\n static getAuthorizeURL(\n provider: string,\n apiKeyId: string,\n state: string,\n redirectURL: string,\n codeChallenge: string\n ) {\n // Store state in session storage\n const loginState = {\n client_code_challenge: codeChallenge,\n client_redirect_url: redirectURL,\n client_state: state,\n action: SOCIAL_LOGIN_ACTION.LOGIN,\n company_id: apiKeyId,\n }\n const loginStateSess = btoa(JSON.stringify(loginState))\n try {\n sessionStorage.setItem(SocialLogin.OAUTH_SESSION_NAME, loginStateSess)\n } catch (e) { }\n // Send data to backend\n provider = encodeURIComponent(provider);\n apiKeyId = encodeURIComponent(apiKeyId);\n state = encodeURIComponent(state);\n redirectURL = encodeURIComponent(redirectURL);\n codeChallenge = encodeURIComponent(codeChallenge);\n\n return `${CotterEnum.BackendURL}/oauth/credential/login/${provider}?api_key_id=${apiKeyId}&state=${state}&redirect_url=${redirectURL}&code_challenge=${codeChallenge}`;\n }\n\n static getConnectURL(\n provider: SocialLoginProviders,\n apiKeyId: string,\n accessToken: string,\n redirectURL: string\n ) {\n apiKeyId = encodeURIComponent(apiKeyId);\n accessToken = encodeURIComponent(accessToken);\n redirectURL = encodeURIComponent(redirectURL);\n return `${CotterEnum.BackendURL}/oauth/credential/connect/${provider}?api_key_id=${apiKeyId}&access_token=${accessToken}&redirect_url=${redirectURL}`;\n }\n\n constructor(config: Config) {\n this.config = config;\n\n if (!this.config.SocialConnectText) {\n this.config.SocialConnectText = defaultSocialConnectText;\n }\n\n this.loaded = false;\n\n // Setup div and iframe ids\n this.cotterIframeID =\n Math.random().toString(36).substring(2, 15) +\n \"cotter-socialConnect-iframe\";\n this.containerID =\n Math.random().toString(36).substring(2, 15) +\n \"cotter-socialConnect-container\";\n this.cancelDivID = \"modal-socialConnect-close-form\";\n this.modalID = \"modal-socialConnect\";\n this.init();\n }\n init() {\n const url = new URL(window.location.href);\n const iframeURL = new URL(`${CotterEnum.JSURL}/social_connect`);\n iframeURL.search = url.search;\n iframeURL.searchParams.append(\"api_key\", this.config.ApiKeyID);\n iframeURL.searchParams.append(\"domain\", this.config.Domain);\n iframeURL.searchParams.append(\"redirect_url\", this.config.RedirectURL);\n iframeURL.searchParams.append(\"id\", this.containerID);\n\n this.Modal = new ModalMaker(\n this.modalID,\n this.containerID,\n this.cotterIframeID,\n this.cancelDivID,\n iframeURL.toString()\n );\n const modalDiv = `\n
\n
\n
\n
\n
\n
\n
\n
\n
Secured by
\n \n
Cotter
\n
\n
\n
\n `;\n var onCloseDiv = this.cancel.bind(this);\n this.Modal.initModal(onCloseDiv, modalDiv);\n\n this.initEventHandler();\n }\n\n initEventHandler() {\n window.addEventListener(\"message\", (e) => {\n try {\n var data = JSON.parse(e.data);\n } catch (e) {\n // skip in case the data is not JSON formatted\n return;\n }\n // there are some additional messages that shouldn't be handled by this\n // listener, such as messages from https://js.stripe.com/\n if (e.origin !== CotterEnum.JSURL) {\n // skip this message\n return;\n }\n let cID = this.containerID;\n switch (data.callbackName) {\n case cID + \"FIRST_LOAD\":\n var postData = {\n action: \"CONFIG\",\n payload: {\n socialConnectText: this.config.SocialConnectText,\n },\n };\n SocialLogin.sendPost(postData, this.cotterIframeID);\n break;\n case cID + \"LOADED\":\n this.loaded = true;\n break;\n case cID + \"CANCEL\":\n this.cancel();\n break;\n case cID + \"ON_SOCIAL_LOGIN_CONNECT\":\n this.loginAndConnect(data.payload);\n default:\n break;\n }\n });\n }\n\n static sendPost(data: object, iframeID: string) {\n var ifrm = document.getElementById(iframeID);\n if (isIFrame(ifrm) && ifrm.contentWindow) {\n ifrm.contentWindow.postMessage(JSON.stringify(data), CotterEnum.JSURL);\n }\n }\n\n async show() {\n this.Modal.showModal();\n\n return verificationProccessPromise(this);\n }\n\n cancel() {\n history.pushState({}, null, window?.location?.href?.split(\"?\")[0]);\n this.Modal.closeModal();\n }\n\n onSuccess(data: any) {\n history.pushState({}, null, window?.location?.href?.split(\"?\")[0]);\n this.Modal.closeModal();\n window.location.href = data?.url;\n }\n\n onError(error: any) {\n history.pushState({}, null, window?.location?.href?.split(\"?\")[0]);\n this.Modal.closeModal();\n this.verifyError = error;\n }\n\n // =====================\n // API\n // =====================\n async loginAndConnect(payload: {\n tokenID: string;\n userID: string;\n provider: string;\n }) {\n const api = new API(this.config.ApiKeyID);\n try {\n const resp = await api.loginAndConnect(\n payload.tokenID,\n payload.userID,\n payload.provider\n );\n // redirect to url\n this.onSuccess(resp);\n } catch (err) {\n this.onError(err);\n }\n }\n}\nexport default SocialLogin;\n","import { Config, IDENTIFIER_TYPE } from \"./binder\";\nimport TokenHandler from \"./handler/TokenHandler\";\nimport MicroModal, { Modal } from \"./components/MicroModal\";\nimport CotterEnum from \"./enum\";\nimport { isIFrame, verificationProccessPromise } from \"./helper\";\nimport API from \"./API\";\nimport UserHandler from \"./handler/UserHandler\";\nimport ModalMaker from \"./components/ModalMaker\";\n\nconst defaultWebAuthnRegistrationText = {\n title: \"Sign-in faster.\",\n subtitle: \"Setup {{method}} to sign-in faster the next time you log in.\",\n button: \"Enable {{method}}\",\n buttonSkip: \"Setup Later\",\n waiting: \"Please wait for the browser pop up\",\n theme: \"#7d44fa\",\n};\n\nconst defaultWebAuthnLoginText = {\n title: \"Sign in with {{method}}.\",\n subtitle: \"Authenticate with {{method}} from your device.\",\n buttonSkip: \"Send {{alternative}} to {{identifier}} instead.\",\n button: \"Sign in with {{method}}\",\n waiting: \"Please wait for the browser pop up\",\n theme: \"#7d44fa\",\n};\nclass WebAuthn {\n static CANCELED = \"CANCELED\";\n static SUCCESS = \"SUCCESS\";\n\n config: Config;\n loaded: boolean;\n cotterIframeID: string;\n containerID: string;\n modalID: string;\n cancelDivID: string;\n\n state: string | null;\n verifyError?: any;\n verifySuccess?: any;\n tokenHander?: TokenHandler;\n originalResponse?: any;\n displayedError?: string;\n Modal: ModalMaker;\n\n // config needs:\n // - ApiKeyID\n // - Identifier\n constructor(config: Config, tokenHandler?: TokenHandler) {\n this.config = config;\n\n // These are not directly called by client, so client can't set customization in code\n this.config.RegistrationText = defaultWebAuthnRegistrationText;\n this.config.LoginText = defaultWebAuthnLoginText;\n\n this.loaded = false;\n\n // storing access token\n this.tokenHander = tokenHandler;\n\n this.originalResponse = this.config.OriginalResponse;\n if (this.config.ErrorDisplay) {\n this.displayedError = this.config.ErrorDisplay;\n }\n\n const newState = Math.random().toString(36).substring(2, 15);\n try {\n this.state = localStorage.getItem(\"COTTER_STATE\");\n if (!localStorage.getItem(\"COTTER_STATE\")) {\n this.state = newState;\n localStorage.setItem(\"COTTER_STATE\", this.state);\n }\n } catch (e) {\n this.state = newState;\n }\n\n this.config.Domain = new URL(window.location.href).origin;\n\n if (!this.config.CotterBackendURL) {\n this.config.CotterBackendURL = CotterEnum.BackendURL;\n }\n\n // Setup div and iframe ids\n this.cotterIframeID =\n Math.random().toString(36).substring(2, 15) + \"cotter-webauthn-iframe\";\n this.containerID =\n Math.random().toString(36).substring(2, 15) + \"cotter-webauthn-container\";\n this.cancelDivID = \"modal-cotterWebAuthn-close-form\";\n this.modalID = \"modal-cotterWebAuthn\";\n this.init();\n }\n init() {\n var path = `${CotterEnum.JSURL}/webauthn?type=${this.config.Type}&domain=${this.config.Domain}&api_key=${this.config.ApiKeyID}&state=${this.state}&id=${this.containerID}&identifier=${this.config.Identifier}`;\n this.Modal = new ModalMaker(\n this.modalID,\n this.containerID,\n this.cotterIframeID,\n this.cancelDivID,\n path\n );\n const modalDiv = `\n
\n
\n
\n
\n
\n
\n
\n
\n
Secured by
\n \n
Cotter
\n
\n
\n
\n `;\n var onCloseDiv = this.cancel.bind(this);\n this.Modal.initModal(onCloseDiv, modalDiv);\n\n this.initEventHandler();\n }\n\n onSuccess(data: any, status = WebAuthn.SUCCESS) {\n this.Modal.closeModal();\n this.verifySuccess = {\n status: status,\n ...data,\n };\n }\n\n onError(error: any) {\n this.Modal.closeModal();\n this.verifyError = error;\n }\n onErrorDisplay(error: any) {\n var err = error;\n var errLink = null;\n if (error.data && error.data.msg) {\n err = error.data.msg;\n } else if (error.msg) {\n err = error.msg\n }\n err = err.toString();\n if (err.includes(\"timed out\")) {\n err = \"The operation either timed out or was not allowed.\";\n } else if (err.includes(\"already pending\")) {\n err = \"A request is already pending.\";\n } else if (err.includes(\"credentials already registered\")) {\n err =\n \"You already registered this authenticator, you don't have to register it again.\";\n } else if (err.includes(\"session data from cookie\")) {\n err =\n \"Please enable third-party cookies in your browser settings\";\n errLink = \"https://help.cotter.app/en/articles/4572882-how-to-enable-third-party-cookies-to-use-cotter\"\n }\n this.displayedError = err;\n var postData = {\n action: \"ERROR_DISPLAY\",\n payload: {\n error: err,\n errorLink: errLink\n },\n };\n WebAuthn.sendPost(postData, this.cotterIframeID);\n }\n\n initEventHandler() {\n window.addEventListener(\"message\", (e) => {\n try {\n var data = JSON.parse(e.data);\n } catch (e) {\n // skip in case the data is not JSON formatted\n return;\n }\n // there are some additional messages that shouldn't be handled by this\n // listener, such as messages from https://js.stripe.com/\n if (e.origin !== CotterEnum.JSURL) {\n // skip this message\n return;\n }\n let cID = this.containerID;\n switch (data.callbackName) {\n case cID + \"FIRST_LOAD\":\n var postData = {\n action: \"CONFIG\",\n payload: {\n registrationText: this.config.RegistrationText,\n loginText: this.config.LoginText,\n alternativeMethod: this.config.AlternativeMethod,\n identifier: this.config.Identifier,\n errorDisplay: this.config.ErrorDisplay,\n },\n };\n WebAuthn.sendPost(postData, this.cotterIframeID);\n break;\n case cID + \"LOADED\":\n this.loaded = true;\n break;\n case cID + \"BEGIN_WEBAUTHN_REGISTRATION\":\n this.beginRegistration(\n this.config.Identifier || \"\",\n this.config.Domain || new URL(window.location.href).origin\n )\n .then((resp) => this.onSuccess(resp))\n .catch((err) => this.onErrorDisplay(err));\n break;\n case cID + \"SKIP_WEBAUTHN\":\n this.cancel();\n break;\n case cID + \"BEGIN_WEBAUTHN_LOGIN\":\n this.beginLogin(\n this.config.Identifier || \"\",\n this.config.Domain || new URL(window.location.href).origin,\n data.payload.publicKey\n )\n .then((resp) => this.onSuccess(resp))\n .catch((err) => this.onErrorDisplay(err));\n break;\n case cID + \"ON_SUCCESS\":\n this.onSuccess(data.payload);\n break;\n case cID + \"ON_ERROR\":\n this.onError(data.payload);\n break;\n default:\n break;\n }\n });\n }\n\n static sendPost(data: object, iframeID: string) {\n var ifrm = document.getElementById(iframeID);\n if (isIFrame(ifrm) && ifrm.contentWindow) {\n ifrm.contentWindow.postMessage(JSON.stringify(data), CotterEnum.JSURL);\n }\n }\n\n async show() {\n this.Modal.showModal();\n\n return verificationProccessPromise(this);\n }\n\n cancel() {\n if (\n this.displayedError !== null &&\n this.displayedError !== undefined &&\n this.config.RegisterWebAuthn\n ) {\n this.onError(this.displayedError);\n return;\n }\n this.onSuccess(this.originalResponse, WebAuthn.CANCELED);\n }\n\n // Opening Registration\n startRegistration() {\n this.config.Type = \"REGISTRATION\";\n this.show();\n }\n startLogin() {\n this.config.Type = \"LOGIN\";\n this.show();\n }\n\n // ===========================================\n // WEBAUTHN FUNCTIONALITIES\n // ===========================================\n\n // ============== CHECK WEBAUTHN EXISTS ===============\n static async available() {\n if (\n window.PublicKeyCredential != null &&\n window.PublicKeyCredential !== undefined\n )\n return await window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable();\n }\n\n // ============== REGISTER WEBAUTHN ===============\n\n async beginRegistration(identifier: string, origin: string) {\n let api = new API(this.config.ApiKeyID);\n let options = await api.beginWebAuthnRegistration(identifier, origin);\n\n try {\n const credential = await navigator.credentials.create({\n publicKey: options,\n });\n if (!credential) {\n throw \"Unable to create credential\";\n }\n return await this.finishRegistration(credential, identifier, origin);\n } catch (err) {\n throw err;\n }\n }\n\n async finishRegistration(\n credential: Credential,\n identifier: string,\n origin: string\n ) {\n try {\n let api = new API(this.config.ApiKeyID);\n let resp = await api.finishWebAuthnRegistration(\n identifier,\n credential,\n origin\n );\n resp[this.config.IdentifierField || \"\"] = resp.user.identifier;\n return resp;\n } catch (err) {\n throw err;\n }\n }\n\n async beginLogin(identifier: string, origin: string, publicKey: string) {\n let api = new API(this.config.ApiKeyID);\n let options = await api.beginWebAuthnLogin(identifier, origin);\n\n try {\n const credential = await navigator.credentials.get({\n publicKey: options,\n });\n if (!credential) {\n throw \"Unable to create credential\";\n }\n return await this.finishLogin(credential, identifier, origin, publicKey);\n } catch (err) {\n throw err;\n }\n }\n\n async finishLogin(\n credential: Credential,\n identifier: string,\n origin: string,\n publicKey: string\n ) {\n try {\n let api = new API(this.config.ApiKeyID);\n let resp = await api.finishWebAuthnLogin(\n identifier,\n this.config.IdentifierType || IDENTIFIER_TYPE.EMAIL,\n credential,\n origin,\n publicKey\n );\n\n if (resp && resp.user) {\n UserHandler.store(resp.user);\n }\n if (resp && resp.oauth_token && this.tokenHander) {\n this.tokenHander.storeTokens(resp.oauth_token);\n }\n resp[this.config.IdentifierField || \"\"] = resp.user.identifier;\n return resp;\n } catch (err) {\n throw err;\n }\n }\n}\nexport default WebAuthn;\n","import { OAuthToken } from \"./handler/TokenHandler\";\nimport User from \"./models/User\";\nexport interface VerifyRespondResponse {\n authorization_code: string;\n challenge_id: string;\n state: string;\n client_json: any;\n}\n\nexport interface RefreshTokenRequest {\n grant_type: string;\n refresh_token?: string;\n}\n\nexport interface ResponseData extends Response {\n data?: any;\n}\n\nexport interface WebAuthnRegistrationText {\n title: string;\n subtitle: string;\n button: string;\n buttonSkip: string;\n theme: string;\n}\n\nexport type OnBeginHandler = (\n payload: OnBeginPayload\n) => Promise | (string | void);\n\nexport interface WebAuthnLoginText {\n title: string;\n subtitle: string;\n button: string;\n buttonSkip: string;\n theme: string;\n waiting: string;\n}\n\nexport interface Config {\n ApiKeyID: string;\n Type: string;\n ContainerID?: string;\n OnSuccess?: (payload: VerifySuccess) => void;\n IdentifierField?: string;\n CotterBaseURL?: string;\n CountryCode?: string[];\n AdditionalFields?: AdditionalField[];\n Domain?: string;\n ButtonText?: string;\n ButtonTextColor?: string;\n ErrorColor?: string;\n ButtonBorderColor?: string;\n ButtonWAText?: string;\n ButtonBackgroundColor?: string;\n ButtonWATextSubtitle?: string;\n ButtonWABackgroundColor?: string;\n ButtonWABorderColor?: string;\n ButtonWATextColor?: string;\n ButtonWALogoColor?: string;\n PhoneChannels?: string[];\n IdentifierFieldInitialValue?: string;\n IdentifierFieldDisabled?: string;\n SkipIdentifierForm?: string;\n SkipIdentifierFormWithValue?: string;\n RedirectURL?: string;\n SkipRedirectURL?: boolean;\n CaptchaRequired?: boolean;\n Styles?: Styles;\n OnError?: (error: any) => void;\n OnBegin?: OnBeginHandler;\n CotterUserID?: String;\n AuthRequestText?: Object;\n AuthenticationMethod?: AUTHENTICATION_METHOD;\n TermsOfServiceLink?: String;\n PrivacyPolicyLink?: String;\n\n // For WebAuthn\n WebAuthnEnabled?: boolean;\n RegistrationText?: WebAuthnRegistrationText;\n LoginText?: WebAuthnLoginText;\n OriginalResponse?: any;\n ErrorDisplay?: string;\n CotterBackendURL?: string;\n AlternativeMethod?: string;\n Identifier?: string;\n RegisterWebAuthn?: boolean;\n IdentifierType?: string;\n AuthenticationMethodName?: string;\n\n // For Social Login\n SocialConnectText?: SocialLoginConnectText;\n SocialLoginProviders?: string[];\n\n // Redirect Magic Link to login\n RedirectMagicLink?: boolean; // default true\n\n FormID?: string // for customization\n}\n\nexport interface AdditionalField {\n label: string;\n name: string;\n type?: string; // Same as HTML input types\n placeholder?: string;\n initial_value?: string | number;\n}\n\nexport enum IDENTIFIER_TYPE {\n EMAIL = \"EMAIL\",\n PHONE = \"PHONE\",\n}\nexport enum AUTHENTICATION_METHOD {\n MAGIC_LINK = \"MAGIC_LINK\",\n OTP = \"OTP\",\n}\nexport interface OnBeginPayload {\n auth_required: boolean;\n device_name: string; // User Agent\n device_type: \"BROWSER\";\n identifier: string; // User's email/phone\n identifier_type: IDENTIFIER_TYPE;\n}\nexport interface VerifySuccess {\n email?: String;\n phone?: String;\n oauth_token: OAuthToken;\n user: User;\n identifier?: String; // only from WebAuthn same as email/phone\n status?: String; // only from WebAuthn = SUCCESS or CANCELED\n}\n\nexport interface Styles {\n form_container: any;\n loadingImg: any;\n input_label: any;\n verification_label: any;\n pin_row: any;\n pin_input: any;\n verification_subtitle: any;\n error: any;\n input_row_container: any;\n input_row: any;\n input_text_container_default: any;\n input_text: any;\n input_text_container: any;\n country_code: any;\n country_code_blank: any;\n input_text_p: any;\n check_input: any;\n button_container: any;\n button_text: any;\n divider_text: any;\n divider_text_before: any;\n divider_text_span: any;\n divider_text_after: any;\n [key: string]: any;\n}\n\nexport interface SocialLoginConnectText {\n title: string;\n subtitle: string;\n button: string;\n buttonSkip: string;\n theme: string;\n}\n\nexport type SocialLoginProviders = \"GITHUB\" | \"GOOGLE\";\n\nexport enum SOCIAL_LOGIN_ACTION {\n LOGIN = \"O_LOGIN\",\n CONNECT = \"O_CONNECT\",\n}\n","import MicroModal, { Modal } from \"./MicroModal\";\nimport CotterEnum from \"../enum\";\n\nclass ModalMaker {\n containerID: string; // Cotter div Container ID\n modalID: string;\n cancelDivID: string;\n cotterIframeID: string;\n iframePath: string;\n activeModal?: Modal | null;\n\n constructor(\n modalID: string,\n containerID: string,\n cotterIframeID: string,\n cancelDivID: string,\n iframePath: string\n ) {\n this.modalID = modalID;\n this.containerID = containerID;\n this.cotterIframeID = cotterIframeID;\n this.cancelDivID = cancelDivID;\n this.iframePath = iframePath;\n }\n initModal(onCloseDiv: Function, modalDiv: string) {\n // Setup Font\n var fontStyle = document.createElement(\"link\");\n fontStyle.rel = \"stylesheet\";\n fontStyle.href =\n \"https://fonts.googleapis.com/css?family=Lato:700&display=swap\";\n document.head.appendChild(fontStyle);\n\n var modalStyle = document.createElement(\"link\");\n modalStyle.rel = \"stylesheet\";\n modalStyle.href = `${CotterEnum.AssetURL}/lib/modal.css`;\n document.head.appendChild(modalStyle);\n\n var div = document.createElement(\"div\");\n div.className = \"modal micromodal-slide\";\n div.id = this.modalID;\n var att = document.createAttribute(\"aria-hidden\");\n att.value = \"true\";\n div.setAttributeNode(att);\n\n div.innerHTML = modalDiv;\n document.body.appendChild(div);\n\n // set close form for cotter modal\n let closeDiv = document.getElementById(this.cancelDivID);\n if (closeDiv) {\n closeDiv.onclick = () => {\n onCloseDiv();\n };\n }\n\n // Load modal\n MicroModal.init({\n awaitOpenAnimation: true, // [8]\n awaitCloseAnimation: true, // [9]\n });\n }\n\n removeSelf() {\n let cotterWebAuthn = document.getElementById(this.modalID);\n if (cotterWebAuthn) cotterWebAuthn.remove();\n }\n\n loadIframe() {\n const containerID = this.containerID;\n var container = document.getElementById(containerID);\n if (container) {\n }\n\n var ifrm = document.createElement(\"iframe\");\n ifrm.setAttribute(\"id\", this.cotterIframeID);\n ifrm.style.border = \"0\";\n container!.appendChild(ifrm);\n ifrm.style.width = \"100%\";\n ifrm.style.height = \"100%\";\n ifrm.style.overflow = \"scroll\";\n\n ifrm.setAttribute(\"src\", encodeURI(this.iframePath));\n ifrm.setAttribute(\"allowtransparency\", \"true\");\n }\n\n removeIframe() {\n var ifrm = document.getElementById(this.cotterIframeID);\n ifrm!.remove();\n }\n\n async showModal() {\n try {\n this.activeModal = MicroModal.show(this.modalID, {});\n } catch (e) {\n if (e instanceof TypeError) {\n let self = this;\n setTimeout(() => self.showModal(), 0);\n } else {\n console.error(e);\n }\n } finally {\n this.loadIframe(); // setup iframe\n }\n }\n\n closeModal() {\n if (this.activeModal) this.activeModal.closeModalById(this.modalID);\n else MicroModal.close(this.modalID);\n this.removeIframe();\n this.removeSelf();\n }\n}\n\nexport default ModalMaker;\n","import MicroModal, { Modal } from \"./MicroModal\";\nimport CotterEnum from \"../enum\";\n\nclass ModalMakerNoIframe {\n containerID: string; // Cotter div Container ID\n modalID: string;\n cancelDivID: string;\n activeModal?: Modal | null;\n\n constructor(modalID: string, containerID: string, cancelDivID: string) {\n this.modalID = modalID;\n this.containerID = containerID;\n this.cancelDivID = cancelDivID;\n }\n initModal(onCloseDiv: Function, modalDiv: string) {\n // Setup Font\n var fontStyle = document.createElement(\"link\");\n fontStyle.rel = \"stylesheet\";\n fontStyle.href =\n \"https://fonts.googleapis.com/css?family=Lato:700&display=swap\";\n document.head.appendChild(fontStyle);\n\n var modalStyle = document.createElement(\"link\");\n modalStyle.rel = \"stylesheet\";\n modalStyle.href = `${CotterEnum.AssetURL}/lib/modal.css`;\n document.head.appendChild(modalStyle);\n\n var div = document.createElement(\"div\");\n div.className = \"modal micromodal-slide\";\n div.id = this.modalID;\n var att = document.createAttribute(\"aria-hidden\");\n att.value = \"true\";\n div.setAttributeNode(att);\n\n div.innerHTML = modalDiv;\n document.body.appendChild(div);\n\n // set close form for cotter modal\n let closeDiv = document.getElementById(this.cancelDivID);\n if (closeDiv) {\n closeDiv.onclick = () => {\n onCloseDiv();\n };\n }\n\n // Load modal\n MicroModal.init({\n awaitOpenAnimation: true, // [8]\n awaitCloseAnimation: true, // [9]\n });\n }\n\n async showModal() {\n try {\n this.activeModal = MicroModal.show(this.modalID, {});\n } catch (e) {\n if (e instanceof TypeError) {\n let self = this;\n setTimeout(() => self.showModal(), 0);\n } else {\n console.error(e);\n }\n }\n }\n\n closeModal() {\n if (this.activeModal) this.activeModal.closeModalById(this.modalID);\n else MicroModal.close(this.modalID);\n }\n}\n\nexport default ModalMakerNoIframe;\n","import { AUTHENTICATION_METHOD, IDENTIFIER_TYPE } from \"./binder\";\n\nexport const ATTR_API_KEY_ID = \"data-cotter-api-key-id\";\nexport const ATTR_ENV = \"data-cotter-env\";\nexport const ATTR_CONFIG = \"data-cotter-config\";\nexport const DEFAULT_FORM_SETTINGS = {\n authenticationMethod: AUTHENTICATION_METHOD.MAGIC_LINK,\n type: IDENTIFIER_TYPE.EMAIL,\n modalBackgroundColor: \"#ffffff\",\n modalTitleColor: \"#2e2e2e\",\n modalTitle: \"Welcome\",\n logo: \"https://www.cotter.app/assets/cotter_logo.png\",\n};\nexport const POPUP_BUTTON_HREF = \"#/ct/login/\";\nexport const DIV_CONTAINER = \"cotter-form-container-\";\n\nexport const LOGOUT_BUTTON_HREF = \"#/ct/logout/\";\n","class CotterEnum {\n static DefaultUSCode: string = \"+1\";\n\n // default container ID\n static DefaultContainerID: string = \"cotter-form-container\";\n\n static AssetURL = \"https://js.cotter.app\";\n static BackendURL = \"https://www.cotter.app/api/v0\";\n static JSURL = \"https://js.cotter.app\";\n static WorkerURL = \"https://worker.cotter.app\"\n}\n\nexport default CotterEnum;\n","import API from \"../API\"\nimport { getAPIKeyIDFromAttr } from \"../helper\"\n\nconst COTTER_COMPANY_CACHE_EXPIRY_KEY = \"cotter_company_cache_expiry\"\nconst COTTER_COMPANY_CACHE_KEY = \"cotter_company_info\"\n\nclass CompanyHandler {\n static infoPromise: Promise\n\n static getInfo(): any {\n let companyInfo = localStorage.getItem(COTTER_COMPANY_CACHE_KEY)\n let expiry = Date.parse(localStorage.getItem(COTTER_COMPANY_CACHE_EXPIRY_KEY))\n\n if(!companyInfo || expiry - Date.now() < 0) {\n // fetch from API\n let apiKeyID = getAPIKeyIDFromAttr()\n let spaceAPI = new API(apiKeyID)\n CompanyHandler.infoPromise = spaceAPI.getInfo().then((companyInfo) => {\n let newExpiry = Date.now() + 10\n localStorage.setItem(COTTER_COMPANY_CACHE_KEY, JSON.stringify(companyInfo))\n localStorage.setItem(COTTER_COMPANY_CACHE_EXPIRY_KEY, new Date(newExpiry).toString())\n })\n }\n return JSON.parse(companyInfo)\n }\n}\n\nexport default CompanyHandler","import { CotterAccessToken, CotterIDToken } from \"cotter-token-js\";\nimport API from \"../API\";\n\nconst REFRESH_TOKEN_NAME = \"rft\";\n\nconst TOKEN_FETCHING_STATES = {\n initial: 1,\n fetching: 2,\n errorRetry: 3,\n errorFatal: 4,\n ready: 5,\n};\n\nexport interface OAuthToken {\n access_token: string;\n id_token: string;\n token_type: string;\n refresh_token: string;\n expires_in: number;\n auth_method: string;\n}\n\nclass TokenHandler {\n accessToken: string | undefined;\n idToken: string | undefined;\n tokenType: string | undefined;\n apiKeyID: string | undefined;\n tokenFetchingState: number = TOKEN_FETCHING_STATES.initial;\n fetchTokenResp?: OAuthToken | null;\n\n withApiKeyID(apiKeyID: string) {\n this.apiKeyID = apiKeyID;\n return this;\n }\n\n storeTokens(oauthTokens: OAuthToken) {\n if (oauthTokens === null || oauthTokens === undefined) {\n throw new Error(\"oauthTokens are not specified (null or undefined)\");\n }\n this.accessToken = oauthTokens.access_token;\n this.idToken = oauthTokens.id_token;\n this.tokenType = oauthTokens.token_type;\n try {\n window?.localStorage?.setItem(\n REFRESH_TOKEN_NAME,\n oauthTokens.refresh_token\n );\n } catch (e) { }\n this.tokenFetchingState = TOKEN_FETCHING_STATES.initial;\n }\n\n async getAccessToken(): Promise {\n var accessToken = this.accessToken;\n\n var accessTok = null;\n if (accessToken && accessToken.length > 0) {\n accessTok = new CotterAccessToken(accessToken);\n }\n\n // if Access token already expired: refetch new token\n if (\n accessToken == undefined ||\n accessTok == null ||\n accessTok.getExpiration() < new Date().getTime() / 1000\n ) {\n try {\n var resp = await this.getTokensFromRefreshToken();\n accessToken = resp.access_token;\n } catch (err) {\n // No refresh token in cookie or some other error\n return null;\n }\n }\n this.accessToken = accessToken;\n return new CotterAccessToken(accessToken);\n }\n\n async getIDToken(): Promise {\n var idToken = this.idToken;\n\n var idTok = null;\n if (idToken && idToken.length > 0) {\n idTok = new CotterIDToken(idToken);\n }\n\n // if ID token already expired: refetch new token\n if (\n idToken == undefined ||\n idTok == null ||\n idTok.getExpiration() < new Date().getTime() / 1000\n ) {\n try {\n var resp = await this.getTokensFromRefreshToken();\n idToken = resp.id_token;\n } catch (err) {\n // No refresh token in cookie or some other error\n return null;\n }\n }\n this.idToken = idToken;\n return new CotterIDToken(idToken);\n }\n\n // Refresh tokens only when needed.\n async getTokensFromRefreshToken(): Promise {\n return new Promise((resolve, reject) => {\n const checkTokenFetchProcess = () => {\n switch (this.tokenFetchingState) {\n case TOKEN_FETCHING_STATES.initial:\n this.getTokensFromRefreshTokenAPI();\n break;\n case TOKEN_FETCHING_STATES.ready:\n if (this.fetchTokenResp) {\n resolve(this.fetchTokenResp);\n this.tokenFetchingState = TOKEN_FETCHING_STATES.initial;\n return;\n }\n break;\n case TOKEN_FETCHING_STATES.errorRetry:\n this.tokenFetchingState = TOKEN_FETCHING_STATES.initial;\n reject();\n return;\n case TOKEN_FETCHING_STATES.errorFatal:\n reject();\n return;\n default:\n break;\n }\n setTimeout(checkTokenFetchProcess, 0);\n };\n checkTokenFetchProcess();\n });\n }\n\n // Returns access token\n async getTokensFromRefreshTokenAPI(): Promise {\n this.tokenFetchingState = TOKEN_FETCHING_STATES.fetching;\n this.fetchTokenResp = null;\n let refreshToken = null;\n try {\n refreshToken = window?.localStorage?.getItem(REFRESH_TOKEN_NAME);\n } catch (e) {\n this.tokenFetchingState = TOKEN_FETCHING_STATES.errorFatal;\n return;\n }\n try {\n if (!this.apiKeyID) {\n throw \"ApiKeyID is undefined, please initialize Cotter with ApiKeyID\";\n }\n var api = new API(this.apiKeyID);\n var resp = await api.getTokensFromRefreshToken(refreshToken);\n this.storeTokens(resp);\n this.tokenFetchingState = TOKEN_FETCHING_STATES.ready;\n this.fetchTokenResp = resp;\n return;\n } catch (err) {\n if (err.msg?.includes(\"not valid\")) {\n this.tokenFetchingState = TOKEN_FETCHING_STATES.errorFatal;\n } else {\n this.tokenFetchingState = TOKEN_FETCHING_STATES.errorRetry;\n }\n return;\n }\n }\n\n // Clear all access token\n async removeTokens() {\n this.accessToken = undefined;\n this.idToken = undefined;\n this.tokenType = undefined;\n try {\n window?.localStorage?.removeItem(REFRESH_TOKEN_NAME);\n } catch (e) { }\n try {\n if (!this.apiKeyID) {\n throw \"ApiKeyID is undefined, please initialize Cotter with ApiKeyID\";\n }\n var api = new API(this.apiKeyID);\n await api.removeRefreshToken();\n } catch (err) {\n throw err;\n }\n }\n\n // Update tokens with a new refresh token\n async updateTokensWithRefreshToken(refreshToken: string): Promise {\n try {\n window?.localStorage?.setItem(REFRESH_TOKEN_NAME, refreshToken);\n const resp = await this.getTokensFromRefreshToken();\n this.accessToken = resp.access_token\n this.idToken = resp.id_token;\n this.tokenType = resp.token_type;\n return resp\n } catch (err) {\n // No refresh token in cookie or some other error\n return null;\n }\n }\n}\n\nexport default TokenHandler;\n","export interface IUser {\n ID: string;\n issuer: string;\n client_user_id: string;\n enrolled: string[];\n identifier: string;\n}\n\nexport default class UserHandler {\n static STORAGE_KEY = \"COTTER_USER\";\n static store(user: IUser) {\n try {\n localStorage.setItem(UserHandler.STORAGE_KEY, JSON.stringify(user));\n } catch (e) {}\n }\n static remove() {\n try {\n localStorage.removeItem(UserHandler.STORAGE_KEY);\n } catch (e) {}\n }\n}\n","import { Config, IDENTIFIER_TYPE, VerifySuccess } from \"./binder\";\nimport WebAuthn from \"./WebAuthn\";\nimport TokenHandler from \"./handler/TokenHandler\";\nimport {\n ATTR_API_KEY_ID,\n} from \"./constants\";\n\nfunction dec2hex(dec: any) {\n return (\"0\" + dec.toString(16)).substr(-2);\n}\n\nexport function getAPIKeyIDFromAttr(): string {\n var apiKeyID = document\n .querySelector(`[${ATTR_API_KEY_ID}]`)\n ?.getAttribute(`${ATTR_API_KEY_ID}`);\n if (!apiKeyID) {\n throw new Error(\n `You need to specify the ${ATTR_API_KEY_ID} when adding this