@sesamy/sesamy-js 1.13.7 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,6 +8,7 @@ export interface Config {
8
8
  api?: Partial<ApiConfig>;
9
9
  analytics?: Partial<AnalyticsConfig>;
10
10
  auth?: Partial<AuthConfig>;
11
+ content?: Partial<ContentConfig>;
11
12
  }
12
13
  export interface ApiConfig {
13
14
  clientId: string;
@@ -25,6 +26,15 @@ export interface AuthConfig {
25
26
  enabled?: boolean;
26
27
  endpoint?: string;
27
28
  }
29
+ export interface ContentConfig {
30
+ enabled?: boolean;
31
+ lockMode?: "proxy" | "embed" | "encode" | "event" | "signedUrl";
32
+ accessLevel?: "logged-in" | "entitlement" | "public";
33
+ loadingStyle?: "skeleton" | "spinner";
34
+ loginButtonContainerSelector?: string;
35
+ contentContainerSelector?: string;
36
+ buyButtonContainerSelector?: string;
37
+ }
28
38
  export type Profile = {
29
39
  sub: string;
30
40
  email: string;
@@ -158,6 +168,7 @@ export interface GenerateConsumeLink extends GenerateLinkBase {
158
168
  export interface GenerateLinkBase {
159
169
  shorten?: boolean;
160
170
  ttl?: number;
171
+ redirectUrl?: string;
161
172
  }
162
173
  declare function clearCache(): void;
163
174
  export declare function init(config: Config): Promise<{
@@ -1,6 +1,6 @@
1
- var sesamyJs=function(re){"use strict";var ra=Object.defineProperty;var ia=(re,J,V)=>J in re?ra(re,J,{enumerable:!0,configurable:!0,writable:!0,value:V}):re[J]=V;var Q=(re,J,V)=>ia(re,typeof J!="symbol"?J+"":J,V);function J(t,e){const n=new CustomEvent(t,{detail:e,bubbles:!0,composed:!0});dispatchEvent(n)}function V(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function"){var i=0;for(r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]])}return n}typeof SuppressedError=="function"&&SuppressedError;var de=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function pt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function mt(t,e){return t(e={exports:{}},e.exports),e.exports}var he=mt(function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function r(){var i=this;this.locked=new Map,this.addToLocked=function(o,a){var s=i.locked.get(o);s===void 0?a===void 0?i.locked.set(o,[]):i.locked.set(o,[a]):a!==void 0&&(s.unshift(a),i.locked.set(o,s))},this.isLocked=function(o){return i.locked.has(o)},this.lock=function(o){return new Promise(function(a,s){i.isLocked(o)?i.addToLocked(o,a):(i.addToLocked(o),a())})},this.unlock=function(o){var a=i.locked.get(o);if(a!==void 0&&a.length!==0){var s=a.pop();i.locked.set(o,a),s!==void 0&&setTimeout(s,0)}else i.locked.delete(o)}}return r.getInstance=function(){return r.instance===void 0&&(r.instance=new r),r.instance},r}();e.default=function(){return n.getInstance()}});pt(he);var zr=pt(mt(function(t,e){var n=de&&de.__awaiter||function(u,c,p,d){return new(p||(p=Promise))(function(b,S){function w(v){try{_(d.next(v))}catch(l){S(l)}}function P(v){try{_(d.throw(v))}catch(l){S(l)}}function _(v){v.done?b(v.value):new p(function(l){l(v.value)}).then(w,P)}_((d=d.apply(u,c||[])).next())})},r=de&&de.__generator||function(u,c){var p,d,b,S,w={label:0,sent:function(){if(1&b[0])throw b[1];return b[1]},trys:[],ops:[]};return S={next:P(0),throw:P(1),return:P(2)},typeof Symbol=="function"&&(S[Symbol.iterator]=function(){return this}),S;function P(_){return function(v){return function(l){if(p)throw new TypeError("Generator is already executing.");for(;w;)try{if(p=1,d&&(b=2&l[0]?d.return:l[0]?d.throw||((b=d.return)&&b.call(d),0):d.next)&&!(b=b.call(d,l[1])).done)return b;switch(d=0,b&&(l=[2&l[0],b.value]),l[0]){case 0:case 1:b=l;break;case 4:return w.label++,{value:l[1],done:!1};case 5:w.label++,d=l[1],l=[0];continue;case 7:l=w.ops.pop(),w.trys.pop();continue;default:if(b=w.trys,!((b=b.length>0&&b[b.length-1])||l[0]!==6&&l[0]!==2)){w=0;continue}if(l[0]===3&&(!b||l[1]>b[0]&&l[1]<b[3])){w.label=l[1];break}if(l[0]===6&&w.label<b[1]){w.label=b[1],b=l;break}if(b&&w.label<b[2]){w.label=b[2],w.ops.push(l);break}b[2]&&w.ops.pop(),w.trys.pop();continue}l=c.call(u,w)}catch(k){l=[6,k],d=0}finally{p=b=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([_,v])}}},i=de;Object.defineProperty(e,"__esModule",{value:!0});var o="browser-tabs-lock-key",a={key:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},getItem:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},clear:function(){return n(i,void 0,void 0,function(){return r(this,function(u){return[2,window.localStorage.clear()]})})},removeItem:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},setItem:function(u,c){return n(i,void 0,void 0,function(){return r(this,function(p){throw new Error("Unsupported")})})},keySync:function(u){return window.localStorage.key(u)},getItemSync:function(u){return window.localStorage.getItem(u)},clearSync:function(){return window.localStorage.clear()},removeItemSync:function(u){return window.localStorage.removeItem(u)},setItemSync:function(u,c){return window.localStorage.setItem(u,c)}};function s(u){return new Promise(function(c){return setTimeout(c,u)})}function h(u){for(var c="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",p="",d=0;d<u;d++)p+=c[Math.floor(Math.random()*c.length)];return p}var f=function(){function u(c){this.acquiredIatSet=new Set,this.storageHandler=void 0,this.id=Date.now().toString()+h(15),this.acquireLock=this.acquireLock.bind(this),this.releaseLock=this.releaseLock.bind(this),this.releaseLock__private__=this.releaseLock__private__.bind(this),this.waitForSomethingToChange=this.waitForSomethingToChange.bind(this),this.refreshLockWhileAcquired=this.refreshLockWhileAcquired.bind(this),this.storageHandler=c,u.waiters===void 0&&(u.waiters=[])}return u.prototype.acquireLock=function(c,p){return p===void 0&&(p=5e3),n(this,void 0,void 0,function(){var d,b,S,w,P,_,v;return r(this,function(l){switch(l.label){case 0:d=Date.now()+h(4),b=Date.now()+p,S=o+"-"+c,w=this.storageHandler===void 0?a:this.storageHandler,l.label=1;case 1:return Date.now()<b?[4,s(30)]:[3,8];case 2:return l.sent(),w.getItemSync(S)!==null?[3,5]:(P=this.id+"-"+c+"-"+d,[4,s(Math.floor(25*Math.random()))]);case 3:return l.sent(),w.setItemSync(S,JSON.stringify({id:this.id,iat:d,timeoutKey:P,timeAcquired:Date.now(),timeRefreshed:Date.now()})),[4,s(30)];case 4:return l.sent(),(_=w.getItemSync(S))!==null&&(v=JSON.parse(_)).id===this.id&&v.iat===d?(this.acquiredIatSet.add(d),this.refreshLockWhileAcquired(S,d),[2,!0]):[3,7];case 5:return u.lockCorrector(this.storageHandler===void 0?a:this.storageHandler),[4,this.waitForSomethingToChange(b)];case 6:l.sent(),l.label=7;case 7:return d=Date.now()+h(4),[3,1];case 8:return[2,!1]}})})},u.prototype.refreshLockWhileAcquired=function(c,p){return n(this,void 0,void 0,function(){var d=this;return r(this,function(b){return setTimeout(function(){return n(d,void 0,void 0,function(){var S,w,P;return r(this,function(_){switch(_.label){case 0:return[4,he.default().lock(p)];case 1:return _.sent(),this.acquiredIatSet.has(p)?(S=this.storageHandler===void 0?a:this.storageHandler,(w=S.getItemSync(c))===null?(he.default().unlock(p),[2]):((P=JSON.parse(w)).timeRefreshed=Date.now(),S.setItemSync(c,JSON.stringify(P)),he.default().unlock(p),this.refreshLockWhileAcquired(c,p),[2])):(he.default().unlock(p),[2])}})})},1e3),[2]})})},u.prototype.waitForSomethingToChange=function(c){return n(this,void 0,void 0,function(){return r(this,function(p){switch(p.label){case 0:return[4,new Promise(function(d){var b=!1,S=Date.now(),w=!1;function P(){if(w||(window.removeEventListener("storage",P),u.removeFromWaiting(P),clearTimeout(_),w=!0),!b){b=!0;var v=50-(Date.now()-S);v>0?setTimeout(d,v):d(null)}}window.addEventListener("storage",P),u.addToWaiting(P);var _=setTimeout(P,Math.max(0,c-Date.now()))})];case 1:return p.sent(),[2]}})})},u.addToWaiting=function(c){this.removeFromWaiting(c),u.waiters!==void 0&&u.waiters.push(c)},u.removeFromWaiting=function(c){u.waiters!==void 0&&(u.waiters=u.waiters.filter(function(p){return p!==c}))},u.notifyWaiters=function(){u.waiters!==void 0&&u.waiters.slice().forEach(function(c){return c()})},u.prototype.releaseLock=function(c){return n(this,void 0,void 0,function(){return r(this,function(p){switch(p.label){case 0:return[4,this.releaseLock__private__(c)];case 1:return[2,p.sent()]}})})},u.prototype.releaseLock__private__=function(c){return n(this,void 0,void 0,function(){var p,d,b,S;return r(this,function(w){switch(w.label){case 0:return p=this.storageHandler===void 0?a:this.storageHandler,d=o+"-"+c,(b=p.getItemSync(d))===null?[2]:(S=JSON.parse(b)).id!==this.id?[3,2]:[4,he.default().lock(S.iat)];case 1:w.sent(),this.acquiredIatSet.delete(S.iat),p.removeItemSync(d),he.default().unlock(S.iat),u.notifyWaiters(),w.label=2;case 2:return[2]}})})},u.lockCorrector=function(c){for(var p=Date.now()-5e3,d=c,b=[],S=0;;){var w=d.keySync(S);if(w===null)break;b.push(w),S++}for(var P=!1,_=0;_<b.length;_++){var v=b[_];if(v.includes(o)){var l=d.getItemSync(v);if(l!==null){var k=JSON.parse(l);(k.timeRefreshed===void 0&&k.timeAcquired<p||k.timeRefreshed!==void 0&&k.timeRefreshed<p)&&(d.removeItemSync(v),P=!0)}}}P&&u.notifyWaiters()},u.waiters=void 0,u}();e.default=f}));const Dr={timeoutInSeconds:60},Xt={name:"auth0-spa-js",version:"2.1.3"},Vt=()=>Date.now();let B=class Ht extends Error{constructor(e,n){super(n),this.error=e,this.error_description=n,Object.setPrototypeOf(this,Ht.prototype)}static fromPayload({error:e,error_description:n}){return new Ht(e,n)}},Mr=class Ar extends B{constructor(e,n,r,i=null){super(e,n),this.state=r,this.appState=i,Object.setPrototypeOf(this,Ar.prototype)}},gt=class $r extends B{constructor(){super("timeout","Timeout"),Object.setPrototypeOf(this,$r.prototype)}},Zr=class Lr extends gt{constructor(e){super(),this.popup=e,Object.setPrototypeOf(this,Lr.prototype)}},Kr=class Ur extends B{constructor(e){super("cancelled","Popup closed"),this.popup=e,Object.setPrototypeOf(this,Ur.prototype)}},Wr=class Nr extends B{constructor(e,n,r){super(e,n),this.mfa_token=r,Object.setPrototypeOf(this,Nr.prototype)}},Yt=class Rr extends B{constructor(e,n){super("missing_refresh_token",`Missing Refresh Token (audience: '${Gt(e,["default"])}', scope: '${Gt(n)}')`),this.audience=e,this.scope=n,Object.setPrototypeOf(this,Rr.prototype)}};function Gt(t,e=[]){return t&&!e.includes(t)?t:""}const Ve=()=>window.crypto,yt=()=>{const t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_~.";let e="";return Array.from(Ve().getRandomValues(new Uint8Array(43))).forEach(n=>e+=t[n%t.length]),e},Bt=t=>btoa(t),vt=t=>{var{clientId:e}=t,n=V(t,["clientId"]);return new URLSearchParams((r=>Object.keys(r).filter(i=>r[i]!==void 0).reduce((i,o)=>Object.assign(Object.assign({},i),{[o]:r[o]}),{}))(Object.assign({client_id:e},n))).toString()},qt=t=>(e=>decodeURIComponent(atob(e).split("").map(n=>"%"+("00"+n.charCodeAt(0).toString(16)).slice(-2)).join("")))(t.replace(/_/g,"/").replace(/-/g,"+")),Fr=async(t,e)=>{const n=await fetch(t,e);return{ok:n.ok,json:await n.json()}},Hr=async(t,e,n)=>{const r=new AbortController;let i;return e.signal=r.signal,Promise.race([Fr(t,e),new Promise((o,a)=>{i=setTimeout(()=>{r.abort(),a(new Error("Timeout when executing 'fetch'"))},n)})]).finally(()=>{clearTimeout(i)})},Jr=async(t,e,n,r,i,o,a)=>{return s={auth:{audience:e,scope:n},timeout:i,fetchUrl:t,fetchOptions:r,useFormData:a},h=o,new Promise(function(f,u){const c=new MessageChannel;c.port1.onmessage=function(p){p.data.error?u(new Error(p.data.error)):f(p.data),c.port1.close()},h.postMessage(s,[c.port2])});var s,h},Xr=async(t,e,n,r,i,o,a=1e4)=>i?Jr(t,e,n,r,a,i,o):Hr(t,r,a);async function Vr(t,e){var{baseUrl:n,timeout:r,audience:i,scope:o,auth0Client:a,useFormData:s}=t,h=V(t,["baseUrl","timeout","audience","scope","auth0Client","useFormData"]);const f=s?vt(h):JSON.stringify(h);return await async function(u,c,p,d,b,S,w){let P,_=null;for(let A=0;A<3;A++)try{P=await Xr(u,p,d,b,S,w,c),_=null;break}catch(R){_=R}if(_)throw _;const v=P.json,{error:l,error_description:k}=v,T=V(v,["error","error_description"]),{ok:O}=P;if(!O){const A=k||`HTTP error. Unable to fetch ${u}`;throw l==="mfa_required"?new Wr(l,A,T.mfa_token):l==="missing_refresh_token"?new Yt(p,d):new B(l||"request_error",A)}return T}(`${n}/oauth/token`,r,i||"default",o,{method:"POST",body:f,headers:{"Content-Type":s?"application/x-www-form-urlencoded":"application/json","Auth0-Client":btoa(JSON.stringify(a||Xt))}},e,s)}const Ye=(...t)=>{return(e=t.filter(Boolean).join(" ").trim().split(/\s+/),Array.from(new Set(e))).join(" ");var e};let fe=class Jt{constructor(e,n="@@auth0spajs@@",r){this.prefix=n,this.suffix=r,this.clientId=e.clientId,this.scope=e.scope,this.audience=e.audience}toKey(){return[this.prefix,this.clientId,this.audience,this.scope,this.suffix].filter(Boolean).join("::")}static fromKey(e){const[n,r,i,o]=e.split("::");return new Jt({clientId:r,scope:o,audience:i},n)}static fromCacheEntry(e){const{scope:n,audience:r,client_id:i}=e;return new Jt({scope:n,audience:r,clientId:i})}},Yr=class{set(e,n){localStorage.setItem(e,JSON.stringify(n))}get(e){const n=window.localStorage.getItem(e);if(n)try{return JSON.parse(n)}catch{return}}remove(e){localStorage.removeItem(e)}allKeys(){return Object.keys(window.localStorage).filter(e=>e.startsWith("@@auth0spajs@@"))}},Qt=class{constructor(){this.enclosedCache=function(){let e={};return{set(n,r){e[n]=r},get(n){const r=e[n];if(r)return r},remove(n){delete e[n]},allKeys:()=>Object.keys(e)}}()}},Gr=class{constructor(e,n,r){this.cache=e,this.keyManifest=n,this.nowProvider=r||Vt}async setIdToken(e,n,r){var i;const o=this.getIdTokenCacheKey(e);await this.cache.set(o,{id_token:n,decodedToken:r}),await((i=this.keyManifest)===null||i===void 0?void 0:i.add(o))}async getIdToken(e){const n=await this.cache.get(this.getIdTokenCacheKey(e.clientId));if(!n&&e.scope&&e.audience){const r=await this.get(e);return!r||!r.id_token||!r.decodedToken?void 0:{id_token:r.id_token,decodedToken:r.decodedToken}}if(n)return{id_token:n.id_token,decodedToken:n.decodedToken}}async get(e,n=0){var r;let i=await this.cache.get(e.toKey());if(!i){const s=await this.getCacheKeys();if(!s)return;const h=this.matchExistingCacheKey(e,s);h&&(i=await this.cache.get(h))}if(!i)return;const o=await this.nowProvider(),a=Math.floor(o/1e3);return i.expiresAt-n<a?i.body.refresh_token?(i.body={refresh_token:i.body.refresh_token},await this.cache.set(e.toKey(),i),i.body):(await this.cache.remove(e.toKey()),void await((r=this.keyManifest)===null||r===void 0?void 0:r.remove(e.toKey()))):i.body}async set(e){var n;const r=new fe({clientId:e.client_id,scope:e.scope,audience:e.audience}),i=await this.wrapCacheEntry(e);await this.cache.set(r.toKey(),i),await((n=this.keyManifest)===null||n===void 0?void 0:n.add(r.toKey()))}async clear(e){var n;const r=await this.getCacheKeys();r&&(await r.filter(i=>!e||i.includes(e)).reduce(async(i,o)=>{await i,await this.cache.remove(o)},Promise.resolve()),await((n=this.keyManifest)===null||n===void 0?void 0:n.clear()))}async wrapCacheEntry(e){const n=await this.nowProvider();return{body:e,expiresAt:Math.floor(n/1e3)+e.expires_in}}async getCacheKeys(){var e;return this.keyManifest?(e=await this.keyManifest.get())===null||e===void 0?void 0:e.keys:this.cache.allKeys?this.cache.allKeys():void 0}getIdTokenCacheKey(e){return new fe({clientId:e},"@@auth0spajs@@","@@user@@").toKey()}matchExistingCacheKey(e,n){return n.filter(r=>{var i;const o=fe.fromKey(r),a=new Set(o.scope&&o.scope.split(" ")),s=((i=e.scope)===null||i===void 0?void 0:i.split(" "))||[],h=o.scope&&s.reduce((f,u)=>f&&a.has(u),!0);return o.prefix==="@@auth0spajs@@"&&o.clientId===e.clientId&&o.audience===e.audience&&h})[0]}},Br=class{constructor(e,n,r){this.storage=e,this.clientId=n,this.cookieDomain=r,this.storageKey=`a0.spajs.txs.${this.clientId}`}create(e){this.storage.save(this.storageKey,e,{daysUntilExpire:1,cookieDomain:this.cookieDomain})}get(){return this.storage.get(this.storageKey)}remove(){this.storage.remove(this.storageKey,{cookieDomain:this.cookieDomain})}};const Ne=t=>typeof t=="number",qr=["iss","aud","exp","nbf","iat","jti","azp","nonce","auth_time","at_hash","c_hash","acr","amr","sub_jwk","cnf","sip_from_tag","sip_date","sip_callid","sip_cseq_num","sip_via_branch","orig","dest","mky","events","toe","txn","rph","sid","vot","vtm"],Qr=t=>{if(!t.id_token)throw new Error("ID token is required but missing");const e=(o=>{const a=o.split("."),[s,h,f]=a;if(a.length!==3||!s||!h||!f)throw new Error("ID token could not be decoded");const u=JSON.parse(qt(h)),c={__raw:o},p={};return Object.keys(u).forEach(d=>{c[d]=u[d],qr.includes(d)||(p[d]=u[d])}),{encoded:{header:s,payload:h,signature:f},header:JSON.parse(qt(s)),claims:c,user:p}})(t.id_token);if(!e.claims.iss)throw new Error("Issuer (iss) claim must be a string present in the ID token");if(e.claims.iss!==t.iss)throw new Error(`Issuer (iss) claim mismatch in the ID token; expected "${t.iss}", found "${e.claims.iss}"`);if(!e.user.sub)throw new Error("Subject (sub) claim must be a string present in the ID token");if(e.header.alg!=="RS256")throw new Error(`Signature algorithm of "${e.header.alg}" is not supported. Expected the ID token to be signed with "RS256".`);if(!e.claims.aud||typeof e.claims.aud!="string"&&!Array.isArray(e.claims.aud))throw new Error("Audience (aud) claim must be a string or array of strings present in the ID token");if(Array.isArray(e.claims.aud)){if(!e.claims.aud.includes(t.aud))throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${t.aud}" but was not one of "${e.claims.aud.join(", ")}"`);if(e.claims.aud.length>1){if(!e.claims.azp)throw new Error("Authorized Party (azp) claim must be a string present in the ID token when Audience (aud) claim has multiple values");if(e.claims.azp!==t.aud)throw new Error(`Authorized Party (azp) claim mismatch in the ID token; expected "${t.aud}", found "${e.claims.azp}"`)}}else if(e.claims.aud!==t.aud)throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${t.aud}" but found "${e.claims.aud}"`);if(t.nonce){if(!e.claims.nonce)throw new Error("Nonce (nonce) claim must be a string present in the ID token");if(e.claims.nonce!==t.nonce)throw new Error(`Nonce (nonce) claim mismatch in the ID token; expected "${t.nonce}", found "${e.claims.nonce}"`)}if(t.max_age&&!Ne(e.claims.auth_time))throw new Error("Authentication Time (auth_time) claim must be a number present in the ID token when Max Age (max_age) is specified");if(e.claims.exp==null||!Ne(e.claims.exp))throw new Error("Expiration Time (exp) claim must be a number present in the ID token");if(!Ne(e.claims.iat))throw new Error("Issued At (iat) claim must be a number present in the ID token");const n=t.leeway||60,r=new Date(t.now||Date.now()),i=new Date(0);if(i.setUTCSeconds(e.claims.exp+n),r>i)throw new Error(`Expiration Time (exp) claim error in the ID token; current time (${r}) is after expiration time (${i})`);if(e.claims.nbf!=null&&Ne(e.claims.nbf)){const o=new Date(0);if(o.setUTCSeconds(e.claims.nbf-n),r<o)throw new Error(`Not Before time (nbf) claim in the ID token indicates that this token can't be used just yet. Current time (${r}) is before ${o}`)}if(e.claims.auth_time!=null&&Ne(e.claims.auth_time)){const o=new Date(0);if(o.setUTCSeconds(parseInt(e.claims.auth_time)+t.max_age+n),r>o)throw new Error(`Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Current time (${r}) is after last auth at ${o}`)}if(t.organization){const o=t.organization.trim();if(o.startsWith("org_")){const a=o;if(!e.claims.org_id)throw new Error("Organization ID (org_id) claim must be a string present in the ID token");if(a!==e.claims.org_id)throw new Error(`Organization ID (org_id) claim mismatch in the ID token; expected "${a}", found "${e.claims.org_id}"`)}else{const a=o.toLowerCase();if(!e.claims.org_name)throw new Error("Organization Name (org_name) claim must be a string present in the ID token");if(a!==e.claims.org_name)throw new Error(`Organization Name (org_name) claim mismatch in the ID token; expected "${a}", found "${e.claims.org_name}"`)}}return e};var pe=mt(function(t,e){var n=de&&de.__assign||function(){return n=Object.assign||function(h){for(var f,u=1,c=arguments.length;u<c;u++)for(var p in f=arguments[u])Object.prototype.hasOwnProperty.call(f,p)&&(h[p]=f[p]);return h},n.apply(this,arguments)};function r(h,f){if(!f)return"";var u="; "+h;return f===!0?u:u+"="+f}function i(h,f,u){return encodeURIComponent(h).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/\(/g,"%28").replace(/\)/g,"%29")+"="+encodeURIComponent(f).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent)+function(c){if(typeof c.expires=="number"){var p=new Date;p.setMilliseconds(p.getMilliseconds()+864e5*c.expires),c.expires=p}return r("Expires",c.expires?c.expires.toUTCString():"")+r("Domain",c.domain)+r("Path",c.path)+r("Secure",c.secure)+r("SameSite",c.sameSite)}(u)}function o(h){for(var f={},u=h?h.split("; "):[],c=/(%[\dA-F]{2})+/gi,p=0;p<u.length;p++){var d=u[p].split("="),b=d.slice(1).join("=");b.charAt(0)==='"'&&(b=b.slice(1,-1));try{f[d[0].replace(c,decodeURIComponent)]=b.replace(c,decodeURIComponent)}catch{}}return f}function a(){return o(document.cookie)}function s(h,f,u){document.cookie=i(h,f,n({path:"/"},u))}e.__esModule=!0,e.encode=i,e.parse=o,e.getAll=a,e.get=function(h){return a()[h]},e.set=s,e.remove=function(h,f){s(h,"",n(n({},f),{expires:-1}))}});pt(pe),pe.encode,pe.parse,pe.getAll;var ei=pe.get,en=pe.set,tn=pe.remove;const Se={get(t){const e=ei(t);if(e!==void 0)return JSON.parse(e)},save(t,e,n){let r={};window.location.protocol==="https:"&&(r={secure:!0,sameSite:"none"}),n!=null&&n.daysUntilExpire&&(r.expires=n.daysUntilExpire),n!=null&&n.cookieDomain&&(r.domain=n.cookieDomain),en(t,JSON.stringify(e),r)},remove(t,e){let n={};e!=null&&e.cookieDomain&&(n.domain=e.cookieDomain),tn(t,n)}},ti={get(t){return Se.get(t)||Se.get(`_legacy_${t}`)},save(t,e,n){let r={};window.location.protocol==="https:"&&(r={secure:!0}),n!=null&&n.daysUntilExpire&&(r.expires=n.daysUntilExpire),n!=null&&n.cookieDomain&&(r.domain=n.cookieDomain),en(`_legacy_${t}`,JSON.stringify(e),r),Se.save(t,e,n)},remove(t,e){let n={};e!=null&&e.cookieDomain&&(n.domain=e.cookieDomain),tn(t,n),Se.remove(t,e),Se.remove(`_legacy_${t}`,e)}},ni={get(t){if(typeof sessionStorage>"u")return;const e=sessionStorage.getItem(t);return e!=null?JSON.parse(e):void 0},save(t,e){sessionStorage.setItem(t,JSON.stringify(e))},remove(t){sessionStorage.removeItem(t)}};function ri(t,e,n){var r=e===void 0?null:e,i=function(h,f){var u=atob(h);if(f){for(var c=new Uint8Array(u.length),p=0,d=u.length;p<d;++p)c[p]=u.charCodeAt(p);return String.fromCharCode.apply(null,new Uint16Array(c.buffer))}return u}(t,n!==void 0&&n),o=i.indexOf(`
2
- `,10)+1,a=i.substring(o)+(r?"//# sourceMappingURL="+r:""),s=new Blob([a],{type:"application/javascript"});return URL.createObjectURL(s)}var nn,rn,on,wt,ii=(nn="Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Y2xhc3MgZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQscil7c3VwZXIociksdGhpcy5lcnJvcj10LHRoaXMuZXJyb3JfZGVzY3JpcHRpb249cixPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxlLnByb3RvdHlwZSl9c3RhdGljIGZyb21QYXlsb2FkKHtlcnJvcjp0LGVycm9yX2Rlc2NyaXB0aW9uOnJ9KXtyZXR1cm4gbmV3IGUodCxyKX19Y2xhc3MgdCBleHRlbmRzIGV7Y29uc3RydWN0b3IoZSxzKXtzdXBlcigibWlzc2luZ19yZWZyZXNoX3Rva2VuIixgTWlzc2luZyBSZWZyZXNoIFRva2VuIChhdWRpZW5jZTogJyR7cihlLFsiZGVmYXVsdCJdKX0nLCBzY29wZTogJyR7cihzKX0nKWApLHRoaXMuYXVkaWVuY2U9ZSx0aGlzLnNjb3BlPXMsT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsdC5wcm90b3R5cGUpfX1mdW5jdGlvbiByKGUsdD1bXSl7cmV0dXJuIGUmJiF0LmluY2x1ZGVzKGUpP2U6IiJ9ImZ1bmN0aW9uIj09dHlwZW9mIFN1cHByZXNzZWRFcnJvciYmU3VwcHJlc3NlZEVycm9yO2NvbnN0IHM9ZT0+e3ZhcntjbGllbnRJZDp0fT1lLHI9ZnVuY3Rpb24oZSx0KXt2YXIgcj17fTtmb3IodmFyIHMgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxzKSYmdC5pbmRleE9mKHMpPDAmJihyW3NdPWVbc10pO2lmKG51bGwhPWUmJiJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbz0wO2ZvcihzPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7bzxzLmxlbmd0aDtvKyspdC5pbmRleE9mKHNbb10pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLHNbb10pJiYocltzW29dXT1lW3Nbb11dKX1yZXR1cm4gcn0oZSxbImNsaWVudElkIl0pO3JldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKChlPT5PYmplY3Qua2V5cyhlKS5maWx0ZXIoKHQ9PnZvaWQgMCE9PWVbdF0pKS5yZWR1Y2UoKCh0LHIpPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse1tyXTplW3JdfSkpLHt9KSkoT2JqZWN0LmFzc2lnbih7Y2xpZW50X2lkOnR9LHIpKSkudG9TdHJpbmcoKX07bGV0IG89e307Y29uc3Qgbj0oZSx0KT0+YCR7ZX18JHt0fWA7YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGFzeW5jKHtkYXRhOnt0aW1lb3V0OmUsYXV0aDpyLGZldGNoVXJsOmksZmV0Y2hPcHRpb25zOmMsdXNlRm9ybURhdGE6YX0scG9ydHM6W3BdfSk9PntsZXQgZjtjb25zdHthdWRpZW5jZTp1LHNjb3BlOmx9PXJ8fHt9O3RyeXtjb25zdCByPWE/KGU9Pntjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXMoZSkscj17fTtyZXR1cm4gdC5mb3JFYWNoKCgoZSx0KT0+e3JbdF09ZX0pKSxyfSkoYy5ib2R5KTpKU09OLnBhcnNlKGMuYm9keSk7aWYoIXIucmVmcmVzaF90b2tlbiYmInJlZnJlc2hfdG9rZW4iPT09ci5ncmFudF90eXBlKXtjb25zdCBlPSgoZSx0KT0+b1tuKGUsdCldKSh1LGwpO2lmKCFlKXRocm93IG5ldyB0KHUsbCk7Yy5ib2R5PWE/cyhPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3JlZnJlc2hfdG9rZW46ZX0pKTpKU09OLnN0cmluZ2lmeShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3JlZnJlc2hfdG9rZW46ZX0pKX1sZXQgaCxnOyJmdW5jdGlvbiI9PXR5cGVvZiBBYm9ydENvbnRyb2xsZXImJihoPW5ldyBBYm9ydENvbnRyb2xsZXIsYy5zaWduYWw9aC5zaWduYWwpO3RyeXtnPWF3YWl0IFByb21pc2UucmFjZShbKGQ9ZSxuZXcgUHJvbWlzZSgoZT0+c2V0VGltZW91dChlLGQpKSkpLGZldGNoKGksT2JqZWN0LmFzc2lnbih7fSxjKSldKX1jYXRjaChlKXtyZXR1cm4gdm9pZCBwLnBvc3RNZXNzYWdlKHtlcnJvcjplLm1lc3NhZ2V9KX1pZighZylyZXR1cm4gaCYmaC5hYm9ydCgpLHZvaWQgcC5wb3N0TWVzc2FnZSh7ZXJyb3I6IlRpbWVvdXQgd2hlbiBleGVjdXRpbmcgJ2ZldGNoJyJ9KTtmPWF3YWl0IGcuanNvbigpLGYucmVmcmVzaF90b2tlbj8oKChlLHQscik9PntvW24odCxyKV09ZX0pKGYucmVmcmVzaF90b2tlbix1LGwpLGRlbGV0ZSBmLnJlZnJlc2hfdG9rZW4pOigoZSx0KT0+e2RlbGV0ZSBvW24oZSx0KV19KSh1LGwpLHAucG9zdE1lc3NhZ2Uoe29rOmcub2ssanNvbjpmfSl9Y2F0Y2goZSl7cC5wb3N0TWVzc2FnZSh7b2s6ITEsanNvbjp7ZXJyb3I6ZS5lcnJvcixlcnJvcl9kZXNjcmlwdGlvbjplLm1lc3NhZ2V9fSl9dmFyIGR9KSl9KCk7Cgo=",rn=null,on=!1,function(t){return wt=wt||ri(nn,rn,on),new Worker(wt,t)});const bt={};let oi=class{constructor(e,n){this.cache=e,this.clientId=n,this.manifestKey=this.createManifestKeyFrom(this.clientId)}async add(e){var n;const r=new Set(((n=await this.cache.get(this.manifestKey))===null||n===void 0?void 0:n.keys)||[]);r.add(e),await this.cache.set(this.manifestKey,{keys:[...r]})}async remove(e){const n=await this.cache.get(this.manifestKey);if(n){const r=new Set(n.keys);return r.delete(e),r.size>0?await this.cache.set(this.manifestKey,{keys:[...r]}):await this.cache.remove(this.manifestKey)}}get(){return this.cache.get(this.manifestKey)}clear(){return this.cache.remove(this.manifestKey)}createManifestKeyFrom(e){return`@@auth0spajs@@::${e}`}};const ai={memory:()=>new Qt().enclosedCache,localstorage:()=>new Yr},an=t=>ai[t],sn=t=>{const{openUrl:e,onRedirect:n}=t,r=V(t,["openUrl","onRedirect"]);return Object.assign(Object.assign({},r),{openUrl:e===!1||e?e:n})},kt=new zr;let si=class{constructor(e){let n,r;if(this.userCache=new Qt().enclosedCache,this.defaultOptions={authorizationParams:{scope:"openid profile email"},useRefreshTokensFallback:!1,useFormData:!0},this._releaseLockOnPageHide=async()=>{await kt.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)},this.options=Object.assign(Object.assign(Object.assign({},this.defaultOptions),e),{authorizationParams:Object.assign(Object.assign({},this.defaultOptions.authorizationParams),e.authorizationParams)}),typeof window<"u"&&(()=>{if(!Ve())throw new Error("For security reasons, `window.crypto` is required to run `auth0-spa-js`.");if(Ve().subtle===void 0)throw new Error(`
1
+ var sesamyJs=function(re){"use strict";var ha=Object.defineProperty;var fa=(re,J,V)=>J in re?ha(re,J,{enumerable:!0,configurable:!0,writable:!0,value:V}):re[J]=V;var Q=(re,J,V)=>fa(re,typeof J!="symbol"?J+"":J,V);function J(t,e){const n=new CustomEvent(t,{detail:e,bubbles:!0,composed:!0});dispatchEvent(n)}function V(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function"){var i=0;for(r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]])}return n}typeof SuppressedError=="function"&&SuppressedError;var he=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function mt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function gt(t,e){return t(e={exports:{}},e.exports),e.exports}var fe=gt(function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function r(){var i=this;this.locked=new Map,this.addToLocked=function(o,a){var s=i.locked.get(o);s===void 0?a===void 0?i.locked.set(o,[]):i.locked.set(o,[a]):a!==void 0&&(s.unshift(a),i.locked.set(o,s))},this.isLocked=function(o){return i.locked.has(o)},this.lock=function(o){return new Promise(function(a,s){i.isLocked(o)?i.addToLocked(o,a):(i.addToLocked(o),a())})},this.unlock=function(o){var a=i.locked.get(o);if(a!==void 0&&a.length!==0){var s=a.pop();i.locked.set(o,a),s!==void 0&&setTimeout(s,0)}else i.locked.delete(o)}}return r.getInstance=function(){return r.instance===void 0&&(r.instance=new r),r.instance},r}();e.default=function(){return n.getInstance()}});mt(fe);var Dr=mt(gt(function(t,e){var n=he&&he.__awaiter||function(u,c,p,h){return new(p||(p=Promise))(function(b,S){function v(w){try{_(h.next(w))}catch(d){S(d)}}function P(w){try{_(h.throw(w))}catch(d){S(d)}}function _(w){w.done?b(w.value):new p(function(d){d(w.value)}).then(v,P)}_((h=h.apply(u,c||[])).next())})},r=he&&he.__generator||function(u,c){var p,h,b,S,v={label:0,sent:function(){if(1&b[0])throw b[1];return b[1]},trys:[],ops:[]};return S={next:P(0),throw:P(1),return:P(2)},typeof Symbol=="function"&&(S[Symbol.iterator]=function(){return this}),S;function P(_){return function(w){return function(d){if(p)throw new TypeError("Generator is already executing.");for(;v;)try{if(p=1,h&&(b=2&d[0]?h.return:d[0]?h.throw||((b=h.return)&&b.call(h),0):h.next)&&!(b=b.call(h,d[1])).done)return b;switch(h=0,b&&(d=[2&d[0],b.value]),d[0]){case 0:case 1:b=d;break;case 4:return v.label++,{value:d[1],done:!1};case 5:v.label++,h=d[1],d=[0];continue;case 7:d=v.ops.pop(),v.trys.pop();continue;default:if(b=v.trys,!((b=b.length>0&&b[b.length-1])||d[0]!==6&&d[0]!==2)){v=0;continue}if(d[0]===3&&(!b||d[1]>b[0]&&d[1]<b[3])){v.label=d[1];break}if(d[0]===6&&v.label<b[1]){v.label=b[1],b=d;break}if(b&&v.label<b[2]){v.label=b[2],v.ops.push(d);break}b[2]&&v.ops.pop(),v.trys.pop();continue}d=c.call(u,v)}catch(k){d=[6,k],h=0}finally{p=b=0}if(5&d[0])throw d[1];return{value:d[0]?d[1]:void 0,done:!0}}([_,w])}}},i=he;Object.defineProperty(e,"__esModule",{value:!0});var o="browser-tabs-lock-key",a={key:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},getItem:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},clear:function(){return n(i,void 0,void 0,function(){return r(this,function(u){return[2,window.localStorage.clear()]})})},removeItem:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},setItem:function(u,c){return n(i,void 0,void 0,function(){return r(this,function(p){throw new Error("Unsupported")})})},keySync:function(u){return window.localStorage.key(u)},getItemSync:function(u){return window.localStorage.getItem(u)},clearSync:function(){return window.localStorage.clear()},removeItemSync:function(u){return window.localStorage.removeItem(u)},setItemSync:function(u,c){return window.localStorage.setItem(u,c)}};function s(u){return new Promise(function(c){return setTimeout(c,u)})}function l(u){for(var c="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",p="",h=0;h<u;h++)p+=c[Math.floor(Math.random()*c.length)];return p}var f=function(){function u(c){this.acquiredIatSet=new Set,this.storageHandler=void 0,this.id=Date.now().toString()+l(15),this.acquireLock=this.acquireLock.bind(this),this.releaseLock=this.releaseLock.bind(this),this.releaseLock__private__=this.releaseLock__private__.bind(this),this.waitForSomethingToChange=this.waitForSomethingToChange.bind(this),this.refreshLockWhileAcquired=this.refreshLockWhileAcquired.bind(this),this.storageHandler=c,u.waiters===void 0&&(u.waiters=[])}return u.prototype.acquireLock=function(c,p){return p===void 0&&(p=5e3),n(this,void 0,void 0,function(){var h,b,S,v,P,_,w;return r(this,function(d){switch(d.label){case 0:h=Date.now()+l(4),b=Date.now()+p,S=o+"-"+c,v=this.storageHandler===void 0?a:this.storageHandler,d.label=1;case 1:return Date.now()<b?[4,s(30)]:[3,8];case 2:return d.sent(),v.getItemSync(S)!==null?[3,5]:(P=this.id+"-"+c+"-"+h,[4,s(Math.floor(25*Math.random()))]);case 3:return d.sent(),v.setItemSync(S,JSON.stringify({id:this.id,iat:h,timeoutKey:P,timeAcquired:Date.now(),timeRefreshed:Date.now()})),[4,s(30)];case 4:return d.sent(),(_=v.getItemSync(S))!==null&&(w=JSON.parse(_)).id===this.id&&w.iat===h?(this.acquiredIatSet.add(h),this.refreshLockWhileAcquired(S,h),[2,!0]):[3,7];case 5:return u.lockCorrector(this.storageHandler===void 0?a:this.storageHandler),[4,this.waitForSomethingToChange(b)];case 6:d.sent(),d.label=7;case 7:return h=Date.now()+l(4),[3,1];case 8:return[2,!1]}})})},u.prototype.refreshLockWhileAcquired=function(c,p){return n(this,void 0,void 0,function(){var h=this;return r(this,function(b){return setTimeout(function(){return n(h,void 0,void 0,function(){var S,v,P;return r(this,function(_){switch(_.label){case 0:return[4,fe.default().lock(p)];case 1:return _.sent(),this.acquiredIatSet.has(p)?(S=this.storageHandler===void 0?a:this.storageHandler,(v=S.getItemSync(c))===null?(fe.default().unlock(p),[2]):((P=JSON.parse(v)).timeRefreshed=Date.now(),S.setItemSync(c,JSON.stringify(P)),fe.default().unlock(p),this.refreshLockWhileAcquired(c,p),[2])):(fe.default().unlock(p),[2])}})})},1e3),[2]})})},u.prototype.waitForSomethingToChange=function(c){return n(this,void 0,void 0,function(){return r(this,function(p){switch(p.label){case 0:return[4,new Promise(function(h){var b=!1,S=Date.now(),v=!1;function P(){if(v||(window.removeEventListener("storage",P),u.removeFromWaiting(P),clearTimeout(_),v=!0),!b){b=!0;var w=50-(Date.now()-S);w>0?setTimeout(h,w):h(null)}}window.addEventListener("storage",P),u.addToWaiting(P);var _=setTimeout(P,Math.max(0,c-Date.now()))})];case 1:return p.sent(),[2]}})})},u.addToWaiting=function(c){this.removeFromWaiting(c),u.waiters!==void 0&&u.waiters.push(c)},u.removeFromWaiting=function(c){u.waiters!==void 0&&(u.waiters=u.waiters.filter(function(p){return p!==c}))},u.notifyWaiters=function(){u.waiters!==void 0&&u.waiters.slice().forEach(function(c){return c()})},u.prototype.releaseLock=function(c){return n(this,void 0,void 0,function(){return r(this,function(p){switch(p.label){case 0:return[4,this.releaseLock__private__(c)];case 1:return[2,p.sent()]}})})},u.prototype.releaseLock__private__=function(c){return n(this,void 0,void 0,function(){var p,h,b,S;return r(this,function(v){switch(v.label){case 0:return p=this.storageHandler===void 0?a:this.storageHandler,h=o+"-"+c,(b=p.getItemSync(h))===null?[2]:(S=JSON.parse(b)).id!==this.id?[3,2]:[4,fe.default().lock(S.iat)];case 1:v.sent(),this.acquiredIatSet.delete(S.iat),p.removeItemSync(h),fe.default().unlock(S.iat),u.notifyWaiters(),v.label=2;case 2:return[2]}})})},u.lockCorrector=function(c){for(var p=Date.now()-5e3,h=c,b=[],S=0;;){var v=h.keySync(S);if(v===null)break;b.push(v),S++}for(var P=!1,_=0;_<b.length;_++){var w=b[_];if(w.includes(o)){var d=h.getItemSync(w);if(d!==null){var k=JSON.parse(d);(k.timeRefreshed===void 0&&k.timeAcquired<p||k.timeRefreshed!==void 0&&k.timeRefreshed<p)&&(h.removeItemSync(w),P=!0)}}}P&&u.notifyWaiters()},u.waiters=void 0,u}();e.default=f}));const zr={timeoutInSeconds:60},Vt={name:"auth0-spa-js",version:"2.1.3"},Yt=()=>Date.now();let B=class Jt extends Error{constructor(e,n){super(n),this.error=e,this.error_description=n,Object.setPrototypeOf(this,Jt.prototype)}static fromPayload({error:e,error_description:n}){return new Jt(e,n)}},Mr=class Ar extends B{constructor(e,n,r,i=null){super(e,n),this.state=r,this.appState=i,Object.setPrototypeOf(this,Ar.prototype)}},yt=class $r extends B{constructor(){super("timeout","Timeout"),Object.setPrototypeOf(this,$r.prototype)}},Zr=class Lr extends yt{constructor(e){super(),this.popup=e,Object.setPrototypeOf(this,Lr.prototype)}},Kr=class Ur extends B{constructor(e){super("cancelled","Popup closed"),this.popup=e,Object.setPrototypeOf(this,Ur.prototype)}},Wr=class Rr extends B{constructor(e,n,r){super(e,n),this.mfa_token=r,Object.setPrototypeOf(this,Rr.prototype)}},Gt=class Nr extends B{constructor(e,n){super("missing_refresh_token",`Missing Refresh Token (audience: '${Bt(e,["default"])}', scope: '${Bt(n)}')`),this.audience=e,this.scope=n,Object.setPrototypeOf(this,Nr.prototype)}};function Bt(t,e=[]){return t&&!e.includes(t)?t:""}const Ve=()=>window.crypto,wt=()=>{const t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_~.";let e="";return Array.from(Ve().getRandomValues(new Uint8Array(43))).forEach(n=>e+=t[n%t.length]),e},qt=t=>btoa(t),vt=t=>{var{clientId:e}=t,n=V(t,["clientId"]);return new URLSearchParams((r=>Object.keys(r).filter(i=>r[i]!==void 0).reduce((i,o)=>Object.assign(Object.assign({},i),{[o]:r[o]}),{}))(Object.assign({client_id:e},n))).toString()},Qt=t=>(e=>decodeURIComponent(atob(e).split("").map(n=>"%"+("00"+n.charCodeAt(0).toString(16)).slice(-2)).join("")))(t.replace(/_/g,"/").replace(/-/g,"+")),Fr=async(t,e)=>{const n=await fetch(t,e);return{ok:n.ok,json:await n.json()}},Hr=async(t,e,n)=>{const r=new AbortController;let i;return e.signal=r.signal,Promise.race([Fr(t,e),new Promise((o,a)=>{i=setTimeout(()=>{r.abort(),a(new Error("Timeout when executing 'fetch'"))},n)})]).finally(()=>{clearTimeout(i)})},Jr=async(t,e,n,r,i,o,a)=>{return s={auth:{audience:e,scope:n},timeout:i,fetchUrl:t,fetchOptions:r,useFormData:a},l=o,new Promise(function(f,u){const c=new MessageChannel;c.port1.onmessage=function(p){p.data.error?u(new Error(p.data.error)):f(p.data),c.port1.close()},l.postMessage(s,[c.port2])});var s,l},Xr=async(t,e,n,r,i,o,a=1e4)=>i?Jr(t,e,n,r,a,i,o):Hr(t,r,a);async function Vr(t,e){var{baseUrl:n,timeout:r,audience:i,scope:o,auth0Client:a,useFormData:s}=t,l=V(t,["baseUrl","timeout","audience","scope","auth0Client","useFormData"]);const f=s?vt(l):JSON.stringify(l);return await async function(u,c,p,h,b,S,v){let P,_=null;for(let A=0;A<3;A++)try{P=await Xr(u,p,h,b,S,v,c),_=null;break}catch(N){_=N}if(_)throw _;const w=P.json,{error:d,error_description:k}=w,T=V(w,["error","error_description"]),{ok:O}=P;if(!O){const A=k||`HTTP error. Unable to fetch ${u}`;throw d==="mfa_required"?new Wr(d,A,T.mfa_token):d==="missing_refresh_token"?new Gt(p,h):new B(d||"request_error",A)}return T}(`${n}/oauth/token`,r,i||"default",o,{method:"POST",body:f,headers:{"Content-Type":s?"application/x-www-form-urlencoded":"application/json","Auth0-Client":btoa(JSON.stringify(a||Vt))}},e,s)}const Ye=(...t)=>{return(e=t.filter(Boolean).join(" ").trim().split(/\s+/),Array.from(new Set(e))).join(" ");var e};let pe=class Xt{constructor(e,n="@@auth0spajs@@",r){this.prefix=n,this.suffix=r,this.clientId=e.clientId,this.scope=e.scope,this.audience=e.audience}toKey(){return[this.prefix,this.clientId,this.audience,this.scope,this.suffix].filter(Boolean).join("::")}static fromKey(e){const[n,r,i,o]=e.split("::");return new Xt({clientId:r,scope:o,audience:i},n)}static fromCacheEntry(e){const{scope:n,audience:r,client_id:i}=e;return new Xt({scope:n,audience:r,clientId:i})}},Yr=class{set(e,n){localStorage.setItem(e,JSON.stringify(n))}get(e){const n=window.localStorage.getItem(e);if(n)try{return JSON.parse(n)}catch{return}}remove(e){localStorage.removeItem(e)}allKeys(){return Object.keys(window.localStorage).filter(e=>e.startsWith("@@auth0spajs@@"))}},en=class{constructor(){this.enclosedCache=function(){let e={};return{set(n,r){e[n]=r},get(n){const r=e[n];if(r)return r},remove(n){delete e[n]},allKeys:()=>Object.keys(e)}}()}},Gr=class{constructor(e,n,r){this.cache=e,this.keyManifest=n,this.nowProvider=r||Yt}async setIdToken(e,n,r){var i;const o=this.getIdTokenCacheKey(e);await this.cache.set(o,{id_token:n,decodedToken:r}),await((i=this.keyManifest)===null||i===void 0?void 0:i.add(o))}async getIdToken(e){const n=await this.cache.get(this.getIdTokenCacheKey(e.clientId));if(!n&&e.scope&&e.audience){const r=await this.get(e);return!r||!r.id_token||!r.decodedToken?void 0:{id_token:r.id_token,decodedToken:r.decodedToken}}if(n)return{id_token:n.id_token,decodedToken:n.decodedToken}}async get(e,n=0){var r;let i=await this.cache.get(e.toKey());if(!i){const s=await this.getCacheKeys();if(!s)return;const l=this.matchExistingCacheKey(e,s);l&&(i=await this.cache.get(l))}if(!i)return;const o=await this.nowProvider(),a=Math.floor(o/1e3);return i.expiresAt-n<a?i.body.refresh_token?(i.body={refresh_token:i.body.refresh_token},await this.cache.set(e.toKey(),i),i.body):(await this.cache.remove(e.toKey()),void await((r=this.keyManifest)===null||r===void 0?void 0:r.remove(e.toKey()))):i.body}async set(e){var n;const r=new pe({clientId:e.client_id,scope:e.scope,audience:e.audience}),i=await this.wrapCacheEntry(e);await this.cache.set(r.toKey(),i),await((n=this.keyManifest)===null||n===void 0?void 0:n.add(r.toKey()))}async clear(e){var n;const r=await this.getCacheKeys();r&&(await r.filter(i=>!e||i.includes(e)).reduce(async(i,o)=>{await i,await this.cache.remove(o)},Promise.resolve()),await((n=this.keyManifest)===null||n===void 0?void 0:n.clear()))}async wrapCacheEntry(e){const n=await this.nowProvider();return{body:e,expiresAt:Math.floor(n/1e3)+e.expires_in}}async getCacheKeys(){var e;return this.keyManifest?(e=await this.keyManifest.get())===null||e===void 0?void 0:e.keys:this.cache.allKeys?this.cache.allKeys():void 0}getIdTokenCacheKey(e){return new pe({clientId:e},"@@auth0spajs@@","@@user@@").toKey()}matchExistingCacheKey(e,n){return n.filter(r=>{var i;const o=pe.fromKey(r),a=new Set(o.scope&&o.scope.split(" ")),s=((i=e.scope)===null||i===void 0?void 0:i.split(" "))||[],l=o.scope&&s.reduce((f,u)=>f&&a.has(u),!0);return o.prefix==="@@auth0spajs@@"&&o.clientId===e.clientId&&o.audience===e.audience&&l})[0]}},Br=class{constructor(e,n,r){this.storage=e,this.clientId=n,this.cookieDomain=r,this.storageKey=`a0.spajs.txs.${this.clientId}`}create(e){this.storage.save(this.storageKey,e,{daysUntilExpire:1,cookieDomain:this.cookieDomain})}get(){return this.storage.get(this.storageKey)}remove(){this.storage.remove(this.storageKey,{cookieDomain:this.cookieDomain})}};const Ne=t=>typeof t=="number",qr=["iss","aud","exp","nbf","iat","jti","azp","nonce","auth_time","at_hash","c_hash","acr","amr","sub_jwk","cnf","sip_from_tag","sip_date","sip_callid","sip_cseq_num","sip_via_branch","orig","dest","mky","events","toe","txn","rph","sid","vot","vtm"],Qr=t=>{if(!t.id_token)throw new Error("ID token is required but missing");const e=(o=>{const a=o.split("."),[s,l,f]=a;if(a.length!==3||!s||!l||!f)throw new Error("ID token could not be decoded");const u=JSON.parse(Qt(l)),c={__raw:o},p={};return Object.keys(u).forEach(h=>{c[h]=u[h],qr.includes(h)||(p[h]=u[h])}),{encoded:{header:s,payload:l,signature:f},header:JSON.parse(Qt(s)),claims:c,user:p}})(t.id_token);if(!e.claims.iss)throw new Error("Issuer (iss) claim must be a string present in the ID token");if(e.claims.iss!==t.iss)throw new Error(`Issuer (iss) claim mismatch in the ID token; expected "${t.iss}", found "${e.claims.iss}"`);if(!e.user.sub)throw new Error("Subject (sub) claim must be a string present in the ID token");if(e.header.alg!=="RS256")throw new Error(`Signature algorithm of "${e.header.alg}" is not supported. Expected the ID token to be signed with "RS256".`);if(!e.claims.aud||typeof e.claims.aud!="string"&&!Array.isArray(e.claims.aud))throw new Error("Audience (aud) claim must be a string or array of strings present in the ID token");if(Array.isArray(e.claims.aud)){if(!e.claims.aud.includes(t.aud))throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${t.aud}" but was not one of "${e.claims.aud.join(", ")}"`);if(e.claims.aud.length>1){if(!e.claims.azp)throw new Error("Authorized Party (azp) claim must be a string present in the ID token when Audience (aud) claim has multiple values");if(e.claims.azp!==t.aud)throw new Error(`Authorized Party (azp) claim mismatch in the ID token; expected "${t.aud}", found "${e.claims.azp}"`)}}else if(e.claims.aud!==t.aud)throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${t.aud}" but found "${e.claims.aud}"`);if(t.nonce){if(!e.claims.nonce)throw new Error("Nonce (nonce) claim must be a string present in the ID token");if(e.claims.nonce!==t.nonce)throw new Error(`Nonce (nonce) claim mismatch in the ID token; expected "${t.nonce}", found "${e.claims.nonce}"`)}if(t.max_age&&!Ne(e.claims.auth_time))throw new Error("Authentication Time (auth_time) claim must be a number present in the ID token when Max Age (max_age) is specified");if(e.claims.exp==null||!Ne(e.claims.exp))throw new Error("Expiration Time (exp) claim must be a number present in the ID token");if(!Ne(e.claims.iat))throw new Error("Issued At (iat) claim must be a number present in the ID token");const n=t.leeway||60,r=new Date(t.now||Date.now()),i=new Date(0);if(i.setUTCSeconds(e.claims.exp+n),r>i)throw new Error(`Expiration Time (exp) claim error in the ID token; current time (${r}) is after expiration time (${i})`);if(e.claims.nbf!=null&&Ne(e.claims.nbf)){const o=new Date(0);if(o.setUTCSeconds(e.claims.nbf-n),r<o)throw new Error(`Not Before time (nbf) claim in the ID token indicates that this token can't be used just yet. Current time (${r}) is before ${o}`)}if(e.claims.auth_time!=null&&Ne(e.claims.auth_time)){const o=new Date(0);if(o.setUTCSeconds(parseInt(e.claims.auth_time)+t.max_age+n),r>o)throw new Error(`Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Current time (${r}) is after last auth at ${o}`)}if(t.organization){const o=t.organization.trim();if(o.startsWith("org_")){const a=o;if(!e.claims.org_id)throw new Error("Organization ID (org_id) claim must be a string present in the ID token");if(a!==e.claims.org_id)throw new Error(`Organization ID (org_id) claim mismatch in the ID token; expected "${a}", found "${e.claims.org_id}"`)}else{const a=o.toLowerCase();if(!e.claims.org_name)throw new Error("Organization Name (org_name) claim must be a string present in the ID token");if(a!==e.claims.org_name)throw new Error(`Organization Name (org_name) claim mismatch in the ID token; expected "${a}", found "${e.claims.org_name}"`)}}return e};var me=gt(function(t,e){var n=he&&he.__assign||function(){return n=Object.assign||function(l){for(var f,u=1,c=arguments.length;u<c;u++)for(var p in f=arguments[u])Object.prototype.hasOwnProperty.call(f,p)&&(l[p]=f[p]);return l},n.apply(this,arguments)};function r(l,f){if(!f)return"";var u="; "+l;return f===!0?u:u+"="+f}function i(l,f,u){return encodeURIComponent(l).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/\(/g,"%28").replace(/\)/g,"%29")+"="+encodeURIComponent(f).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent)+function(c){if(typeof c.expires=="number"){var p=new Date;p.setMilliseconds(p.getMilliseconds()+864e5*c.expires),c.expires=p}return r("Expires",c.expires?c.expires.toUTCString():"")+r("Domain",c.domain)+r("Path",c.path)+r("Secure",c.secure)+r("SameSite",c.sameSite)}(u)}function o(l){for(var f={},u=l?l.split("; "):[],c=/(%[\dA-F]{2})+/gi,p=0;p<u.length;p++){var h=u[p].split("="),b=h.slice(1).join("=");b.charAt(0)==='"'&&(b=b.slice(1,-1));try{f[h[0].replace(c,decodeURIComponent)]=b.replace(c,decodeURIComponent)}catch{}}return f}function a(){return o(document.cookie)}function s(l,f,u){document.cookie=i(l,f,n({path:"/"},u))}e.__esModule=!0,e.encode=i,e.parse=o,e.getAll=a,e.get=function(l){return a()[l]},e.set=s,e.remove=function(l,f){s(l,"",n(n({},f),{expires:-1}))}});mt(me),me.encode,me.parse,me.getAll;var ei=me.get,tn=me.set,nn=me.remove;const Se={get(t){const e=ei(t);if(e!==void 0)return JSON.parse(e)},save(t,e,n){let r={};window.location.protocol==="https:"&&(r={secure:!0,sameSite:"none"}),n!=null&&n.daysUntilExpire&&(r.expires=n.daysUntilExpire),n!=null&&n.cookieDomain&&(r.domain=n.cookieDomain),tn(t,JSON.stringify(e),r)},remove(t,e){let n={};e!=null&&e.cookieDomain&&(n.domain=e.cookieDomain),nn(t,n)}},ti={get(t){return Se.get(t)||Se.get(`_legacy_${t}`)},save(t,e,n){let r={};window.location.protocol==="https:"&&(r={secure:!0}),n!=null&&n.daysUntilExpire&&(r.expires=n.daysUntilExpire),n!=null&&n.cookieDomain&&(r.domain=n.cookieDomain),tn(`_legacy_${t}`,JSON.stringify(e),r),Se.save(t,e,n)},remove(t,e){let n={};e!=null&&e.cookieDomain&&(n.domain=e.cookieDomain),nn(t,n),Se.remove(t,e),Se.remove(`_legacy_${t}`,e)}},ni={get(t){if(typeof sessionStorage>"u")return;const e=sessionStorage.getItem(t);return e!=null?JSON.parse(e):void 0},save(t,e){sessionStorage.setItem(t,JSON.stringify(e))},remove(t){sessionStorage.removeItem(t)}};function ri(t,e,n){var r=e===void 0?null:e,i=function(l,f){var u=atob(l);if(f){for(var c=new Uint8Array(u.length),p=0,h=u.length;p<h;++p)c[p]=u.charCodeAt(p);return String.fromCharCode.apply(null,new Uint16Array(c.buffer))}return u}(t,n!==void 0&&n),o=i.indexOf(`
2
+ `,10)+1,a=i.substring(o)+(r?"//# sourceMappingURL="+r:""),s=new Blob([a],{type:"application/javascript"});return URL.createObjectURL(s)}var rn,on,an,bt,ii=(rn="Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Y2xhc3MgZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQscil7c3VwZXIociksdGhpcy5lcnJvcj10LHRoaXMuZXJyb3JfZGVzY3JpcHRpb249cixPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxlLnByb3RvdHlwZSl9c3RhdGljIGZyb21QYXlsb2FkKHtlcnJvcjp0LGVycm9yX2Rlc2NyaXB0aW9uOnJ9KXtyZXR1cm4gbmV3IGUodCxyKX19Y2xhc3MgdCBleHRlbmRzIGV7Y29uc3RydWN0b3IoZSxzKXtzdXBlcigibWlzc2luZ19yZWZyZXNoX3Rva2VuIixgTWlzc2luZyBSZWZyZXNoIFRva2VuIChhdWRpZW5jZTogJyR7cihlLFsiZGVmYXVsdCJdKX0nLCBzY29wZTogJyR7cihzKX0nKWApLHRoaXMuYXVkaWVuY2U9ZSx0aGlzLnNjb3BlPXMsT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsdC5wcm90b3R5cGUpfX1mdW5jdGlvbiByKGUsdD1bXSl7cmV0dXJuIGUmJiF0LmluY2x1ZGVzKGUpP2U6IiJ9ImZ1bmN0aW9uIj09dHlwZW9mIFN1cHByZXNzZWRFcnJvciYmU3VwcHJlc3NlZEVycm9yO2NvbnN0IHM9ZT0+e3ZhcntjbGllbnRJZDp0fT1lLHI9ZnVuY3Rpb24oZSx0KXt2YXIgcj17fTtmb3IodmFyIHMgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxzKSYmdC5pbmRleE9mKHMpPDAmJihyW3NdPWVbc10pO2lmKG51bGwhPWUmJiJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbz0wO2ZvcihzPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7bzxzLmxlbmd0aDtvKyspdC5pbmRleE9mKHNbb10pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLHNbb10pJiYocltzW29dXT1lW3Nbb11dKX1yZXR1cm4gcn0oZSxbImNsaWVudElkIl0pO3JldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKChlPT5PYmplY3Qua2V5cyhlKS5maWx0ZXIoKHQ9PnZvaWQgMCE9PWVbdF0pKS5yZWR1Y2UoKCh0LHIpPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse1tyXTplW3JdfSkpLHt9KSkoT2JqZWN0LmFzc2lnbih7Y2xpZW50X2lkOnR9LHIpKSkudG9TdHJpbmcoKX07bGV0IG89e307Y29uc3Qgbj0oZSx0KT0+YCR7ZX18JHt0fWA7YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGFzeW5jKHtkYXRhOnt0aW1lb3V0OmUsYXV0aDpyLGZldGNoVXJsOmksZmV0Y2hPcHRpb25zOmMsdXNlRm9ybURhdGE6YX0scG9ydHM6W3BdfSk9PntsZXQgZjtjb25zdHthdWRpZW5jZTp1LHNjb3BlOmx9PXJ8fHt9O3RyeXtjb25zdCByPWE/KGU9Pntjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXMoZSkscj17fTtyZXR1cm4gdC5mb3JFYWNoKCgoZSx0KT0+e3JbdF09ZX0pKSxyfSkoYy5ib2R5KTpKU09OLnBhcnNlKGMuYm9keSk7aWYoIXIucmVmcmVzaF90b2tlbiYmInJlZnJlc2hfdG9rZW4iPT09ci5ncmFudF90eXBlKXtjb25zdCBlPSgoZSx0KT0+b1tuKGUsdCldKSh1LGwpO2lmKCFlKXRocm93IG5ldyB0KHUsbCk7Yy5ib2R5PWE/cyhPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3JlZnJlc2hfdG9rZW46ZX0pKTpKU09OLnN0cmluZ2lmeShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3JlZnJlc2hfdG9rZW46ZX0pKX1sZXQgaCxnOyJmdW5jdGlvbiI9PXR5cGVvZiBBYm9ydENvbnRyb2xsZXImJihoPW5ldyBBYm9ydENvbnRyb2xsZXIsYy5zaWduYWw9aC5zaWduYWwpO3RyeXtnPWF3YWl0IFByb21pc2UucmFjZShbKGQ9ZSxuZXcgUHJvbWlzZSgoZT0+c2V0VGltZW91dChlLGQpKSkpLGZldGNoKGksT2JqZWN0LmFzc2lnbih7fSxjKSldKX1jYXRjaChlKXtyZXR1cm4gdm9pZCBwLnBvc3RNZXNzYWdlKHtlcnJvcjplLm1lc3NhZ2V9KX1pZighZylyZXR1cm4gaCYmaC5hYm9ydCgpLHZvaWQgcC5wb3N0TWVzc2FnZSh7ZXJyb3I6IlRpbWVvdXQgd2hlbiBleGVjdXRpbmcgJ2ZldGNoJyJ9KTtmPWF3YWl0IGcuanNvbigpLGYucmVmcmVzaF90b2tlbj8oKChlLHQscik9PntvW24odCxyKV09ZX0pKGYucmVmcmVzaF90b2tlbix1LGwpLGRlbGV0ZSBmLnJlZnJlc2hfdG9rZW4pOigoZSx0KT0+e2RlbGV0ZSBvW24oZSx0KV19KSh1LGwpLHAucG9zdE1lc3NhZ2Uoe29rOmcub2ssanNvbjpmfSl9Y2F0Y2goZSl7cC5wb3N0TWVzc2FnZSh7b2s6ITEsanNvbjp7ZXJyb3I6ZS5lcnJvcixlcnJvcl9kZXNjcmlwdGlvbjplLm1lc3NhZ2V9fSl9dmFyIGR9KSl9KCk7Cgo=",on=null,an=!1,function(t){return bt=bt||ri(rn,on,an),new Worker(bt,t)});const kt={};let oi=class{constructor(e,n){this.cache=e,this.clientId=n,this.manifestKey=this.createManifestKeyFrom(this.clientId)}async add(e){var n;const r=new Set(((n=await this.cache.get(this.manifestKey))===null||n===void 0?void 0:n.keys)||[]);r.add(e),await this.cache.set(this.manifestKey,{keys:[...r]})}async remove(e){const n=await this.cache.get(this.manifestKey);if(n){const r=new Set(n.keys);return r.delete(e),r.size>0?await this.cache.set(this.manifestKey,{keys:[...r]}):await this.cache.remove(this.manifestKey)}}get(){return this.cache.get(this.manifestKey)}clear(){return this.cache.remove(this.manifestKey)}createManifestKeyFrom(e){return`@@auth0spajs@@::${e}`}};const ai={memory:()=>new en().enclosedCache,localstorage:()=>new Yr},sn=t=>ai[t],cn=t=>{const{openUrl:e,onRedirect:n}=t,r=V(t,["openUrl","onRedirect"]);return Object.assign(Object.assign({},r),{openUrl:e===!1||e?e:n})},It=new Dr;let si=class{constructor(e){let n,r;if(this.userCache=new en().enclosedCache,this.defaultOptions={authorizationParams:{scope:"openid profile email"},useRefreshTokensFallback:!1,useFormData:!0},this._releaseLockOnPageHide=async()=>{await It.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)},this.options=Object.assign(Object.assign(Object.assign({},this.defaultOptions),e),{authorizationParams:Object.assign(Object.assign({},this.defaultOptions.authorizationParams),e.authorizationParams)}),typeof window<"u"&&(()=>{if(!Ve())throw new Error("For security reasons, `window.crypto` is required to run `auth0-spa-js`.");if(Ve().subtle===void 0)throw new Error(`
3
3
  auth0-spa-js must run on a secure origin. See https://github.com/auth0/auth0-spa-js/blob/main/FAQ.md#why-do-i-get-auth0-spa-js-must-run-on-a-secure-origin for more information.
4
- `)})(),e.cache&&e.cacheLocation&&console.warn("Both `cache` and `cacheLocation` options have been specified in the Auth0Client configuration; ignoring `cacheLocation` and using `cache`."),e.cache)r=e.cache;else{if(n=e.cacheLocation||"memory",!an(n))throw new Error(`Invalid cache location "${n}"`);r=an(n)()}this.httpTimeoutMs=e.httpTimeoutInSeconds?1e3*e.httpTimeoutInSeconds:1e4,this.cookieStorage=e.legacySameSiteCookie===!1?Se:ti,this.orgHintCookieName=`auth0.${this.options.clientId}.organization_hint`,this.isAuthenticatedCookieName=(a=>`auth0.${a}.is.authenticated`)(this.options.clientId),this.sessionCheckExpiryDays=e.sessionCheckExpiryDays||1;const i=e.useCookiesForTransactions?this.cookieStorage:ni;var o;this.scope=Ye("openid",this.options.authorizationParams.scope,this.options.useRefreshTokens?"offline_access":""),this.transactionManager=new Br(i,this.options.clientId,this.options.cookieDomain),this.nowProvider=this.options.nowProvider||Vt,this.cacheManager=new Gr(r,r.allKeys?void 0:new oi(r,this.options.clientId),this.nowProvider),this.domainUrl=(o=this.options.domain,/^https?:\/\//.test(o)?o:`https://${o}`),this.tokenIssuer=((a,s)=>a?a.startsWith("https://")?a:`https://${a}/`:`${s}/`)(this.options.issuer,this.domainUrl),typeof window<"u"&&window.Worker&&this.options.useRefreshTokens&&n==="memory"&&(this.options.workerUrl?this.worker=new Worker(this.options.workerUrl):this.worker=new ii)}_url(e){const n=encodeURIComponent(btoa(JSON.stringify(this.options.auth0Client||Xt)));return`${this.domainUrl}${e}&auth0Client=${n}`}_authorizeUrl(e){return this._url(`/authorize?${vt(e)}`)}async _verifyIdToken(e,n,r){const i=await this.nowProvider();return Qr({iss:this.tokenIssuer,aud:this.options.clientId,id_token:e,nonce:n,organization:r,leeway:this.options.leeway,max_age:(o=this.options.authorizationParams.max_age,typeof o!="string"?o:parseInt(o,10)||void 0),now:i});var o}_processOrgHint(e){e?this.cookieStorage.save(this.orgHintCookieName,e,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}):this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain})}async _prepareAuthorizeUrl(e,n,r){const i=Bt(yt()),o=Bt(yt()),a=yt(),s=(u=>{const c=new Uint8Array(u);return(p=>{const d={"+":"-","/":"_","=":""};return p.replace(/[+/=]/g,b=>d[b])})(window.btoa(String.fromCharCode(...Array.from(c))))})(await(async u=>await Ve().subtle.digest({name:"SHA-256"},new TextEncoder().encode(u)))(a)),h=((u,c,p,d,b,S,w,P)=>Object.assign(Object.assign(Object.assign({client_id:u.clientId},u.authorizationParams),p),{scope:Ye(c,p.scope),response_type:"code",response_mode:P||"query",state:d,nonce:b,redirect_uri:w||u.authorizationParams.redirect_uri,code_challenge:S,code_challenge_method:"S256"}))(this.options,this.scope,e,i,o,s,e.redirect_uri||this.options.authorizationParams.redirect_uri||r,n==null?void 0:n.response_mode),f=this._authorizeUrl(h);return{nonce:o,code_verifier:a,scope:h.scope,audience:h.audience||"default",redirect_uri:h.redirect_uri,state:i,url:f}}async loginWithPopup(e,n){var r;if(e=e||{},!(n=n||{}).popup&&(n.popup=(s=>{const h=window.screenX+(window.innerWidth-400)/2,f=window.screenY+(window.innerHeight-600)/2;return window.open(s,"auth0:authorize:popup",`left=${h},top=${f},width=400,height=600,resizable,scrollbars=yes,status=1`)})(""),!n.popup))throw new Error("Unable to open a popup for loginWithPopup - window.open returned `null`");const i=await this._prepareAuthorizeUrl(e.authorizationParams||{},{response_mode:"web_message"},window.location.origin);n.popup.location.href=i.url;const o=await(s=>new Promise((h,f)=>{let u;const c=setInterval(()=>{s.popup&&s.popup.closed&&(clearInterval(c),clearTimeout(p),window.removeEventListener("message",u,!1),f(new Kr(s.popup)))},1e3),p=setTimeout(()=>{clearInterval(c),f(new Zr(s.popup)),window.removeEventListener("message",u,!1)},1e3*(s.timeoutInSeconds||60));u=function(d){if(d.data&&d.data.type==="authorization_response"){if(clearTimeout(p),clearInterval(c),window.removeEventListener("message",u,!1),s.popup.close(),d.data.response.error)return f(B.fromPayload(d.data.response));h(d.data.response)}},window.addEventListener("message",u)}))(Object.assign(Object.assign({},n),{timeoutInSeconds:n.timeoutInSeconds||this.options.authorizeTimeoutInSeconds||60}));if(i.state!==o.state)throw new B("state_mismatch","Invalid state");const a=((r=e.authorizationParams)===null||r===void 0?void 0:r.organization)||this.options.authorizationParams.organization;await this._requestToken({audience:i.audience,scope:i.scope,code_verifier:i.code_verifier,grant_type:"authorization_code",code:o.code,redirect_uri:i.redirect_uri},{nonceIn:i.nonce,organization:a})}async getUser(){var e;const n=await this._getIdTokenFromCache();return(e=n==null?void 0:n.decodedToken)===null||e===void 0?void 0:e.user}async getIdTokenClaims(){var e;const n=await this._getIdTokenFromCache();return(e=n==null?void 0:n.decodedToken)===null||e===void 0?void 0:e.claims}async loginWithRedirect(e={}){var n;const r=sn(e),{openUrl:i,fragment:o,appState:a}=r,s=V(r,["openUrl","fragment","appState"]),h=((n=s.authorizationParams)===null||n===void 0?void 0:n.organization)||this.options.authorizationParams.organization,f=await this._prepareAuthorizeUrl(s.authorizationParams||{}),{url:u}=f,c=V(f,["url"]);this.transactionManager.create(Object.assign(Object.assign(Object.assign({},c),{appState:a}),h&&{organization:h}));const p=o?`${u}#${o}`:u;i?await i(p):window.location.assign(p)}async handleRedirectCallback(e=window.location.href){const n=e.split("?").slice(1);if(n.length===0)throw new Error("There are no query params available for parsing.");const{state:r,code:i,error:o,error_description:a}=(c=>{c.indexOf("#")>-1&&(c=c.substring(0,c.indexOf("#")));const p=new URLSearchParams(c);return{state:p.get("state"),code:p.get("code")||void 0,error:p.get("error")||void 0,error_description:p.get("error_description")||void 0}})(n.join("")),s=this.transactionManager.get();if(!s)throw new B("missing_transaction","Invalid state");if(this.transactionManager.remove(),o)throw new Mr(o,a||o,r,s.appState);if(!s.code_verifier||s.state&&s.state!==r)throw new B("state_mismatch","Invalid state");const h=s.organization,f=s.nonce,u=s.redirect_uri;return await this._requestToken(Object.assign({audience:s.audience,scope:s.scope,code_verifier:s.code_verifier,grant_type:"authorization_code",code:i},u?{redirect_uri:u}:{}),{nonceIn:f,organization:h}),{appState:s.appState}}async checkSession(e){if(!this.cookieStorage.get(this.isAuthenticatedCookieName)){if(!this.cookieStorage.get("auth0.is.authenticated"))return;this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove("auth0.is.authenticated")}try{await this.getTokenSilently(e)}catch{}}async getTokenSilently(e={}){var n;const r=Object.assign(Object.assign({cacheMode:"on"},e),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),e.authorizationParams),{scope:Ye(this.scope,(n=e.authorizationParams)===null||n===void 0?void 0:n.scope)})}),i=await((o,a)=>{let s=bt[a];return s||(s=o().finally(()=>{delete bt[a],s=null}),bt[a]=s),s})(()=>this._getTokenSilently(r),`${this.options.clientId}::${r.authorizationParams.audience}::${r.authorizationParams.scope}`);return e.detailedResponse?i:i==null?void 0:i.access_token}async _getTokenSilently(e){const{cacheMode:n}=e,r=V(e,["cacheMode"]);if(n!=="off"){const i=await this._getEntryFromCache({scope:r.authorizationParams.scope,audience:r.authorizationParams.audience||"default",clientId:this.options.clientId});if(i)return i}if(n!=="cache-only"){if(!await(async(i,o=3)=>{for(let a=0;a<o;a++)if(await i())return!0;return!1})(()=>kt.acquireLock("auth0.lock.getTokenSilently",5e3),10))throw new gt;try{if(window.addEventListener("pagehide",this._releaseLockOnPageHide),n!=="off"){const f=await this._getEntryFromCache({scope:r.authorizationParams.scope,audience:r.authorizationParams.audience||"default",clientId:this.options.clientId});if(f)return f}const i=this.options.useRefreshTokens?await this._getTokenUsingRefreshToken(r):await this._getTokenFromIFrame(r),{id_token:o,access_token:a,oauthTokenScope:s,expires_in:h}=i;return Object.assign(Object.assign({id_token:o,access_token:a},s?{scope:s}:null),{expires_in:h})}finally{await kt.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)}}}async getTokenWithPopup(e={},n={}){var r;const i=Object.assign(Object.assign({},e),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),e.authorizationParams),{scope:Ye(this.scope,(r=e.authorizationParams)===null||r===void 0?void 0:r.scope)})});return n=Object.assign(Object.assign({},Dr),n),await this.loginWithPopup(i,n),(await this.cacheManager.get(new fe({scope:i.authorizationParams.scope,audience:i.authorizationParams.audience||"default",clientId:this.options.clientId}))).access_token}async isAuthenticated(){return!!await this.getUser()}_buildLogoutUrl(e){e.clientId!==null?e.clientId=e.clientId||this.options.clientId:delete e.clientId;const n=e.logoutParams||{},{federated:r}=n,i=V(n,["federated"]),o=r?"&federated":"";return this._url(`/v2/logout?${vt(Object.assign({clientId:e.clientId},i))}`)+o}async logout(e={}){const n=sn(e),{openUrl:r}=n,i=V(n,["openUrl"]);e.clientId===null?await this.cacheManager.clear():await this.cacheManager.clear(e.clientId||this.options.clientId),this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove(this.isAuthenticatedCookieName,{cookieDomain:this.options.cookieDomain}),this.userCache.remove("@@user@@");const o=this._buildLogoutUrl(i);r?await r(o):r!==!1&&window.location.assign(o)}async _getTokenFromIFrame(e){const n=Object.assign(Object.assign({},e.authorizationParams),{prompt:"none"}),r=this.cookieStorage.get(this.orgHintCookieName);r&&!n.organization&&(n.organization=r);const{url:i,state:o,nonce:a,code_verifier:s,redirect_uri:h,scope:f,audience:u}=await this._prepareAuthorizeUrl(n,{response_mode:"web_message"},window.location.origin);try{if(window.crossOriginIsolated)throw new B("login_required","The application is running in a Cross-Origin Isolated context, silently retrieving a token without refresh token is not possible.");const c=e.timeoutInSeconds||this.options.authorizeTimeoutInSeconds,p=await((b,S,w=60)=>new Promise((P,_)=>{const v=window.document.createElement("iframe");v.setAttribute("width","0"),v.setAttribute("height","0"),v.style.display="none";const l=()=>{window.document.body.contains(v)&&(window.document.body.removeChild(v),window.removeEventListener("message",k,!1))};let k;const T=setTimeout(()=>{_(new gt),l()},1e3*w);k=function(O){if(O.origin!=S||!O.data||O.data.type!=="authorization_response")return;const A=O.source;A&&A.close(),O.data.response.error?_(B.fromPayload(O.data.response)):P(O.data.response),clearTimeout(T),window.removeEventListener("message",k,!1),setTimeout(l,2e3)},window.addEventListener("message",k,!1),window.document.body.appendChild(v),v.setAttribute("src",b)}))(i,this.domainUrl,c);if(o!==p.state)throw new B("state_mismatch","Invalid state");const d=await this._requestToken(Object.assign(Object.assign({},e.authorizationParams),{code_verifier:s,code:p.code,grant_type:"authorization_code",redirect_uri:h,timeout:e.authorizationParams.timeout||this.httpTimeoutMs}),{nonceIn:a,organization:n.organization});return Object.assign(Object.assign({},d),{scope:f,oauthTokenScope:d.scope,audience:u})}catch(c){throw c.error==="login_required"&&this.logout({openUrl:!1}),c}}async _getTokenUsingRefreshToken(e){const n=await this.cacheManager.get(new fe({scope:e.authorizationParams.scope,audience:e.authorizationParams.audience||"default",clientId:this.options.clientId}));if(!(n&&n.refresh_token||this.worker)){if(this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(e);throw new Yt(e.authorizationParams.audience||"default",e.authorizationParams.scope)}const r=e.authorizationParams.redirect_uri||this.options.authorizationParams.redirect_uri||window.location.origin,i=typeof e.timeoutInSeconds=="number"?1e3*e.timeoutInSeconds:null;try{const o=await this._requestToken(Object.assign(Object.assign(Object.assign({},e.authorizationParams),{grant_type:"refresh_token",refresh_token:n&&n.refresh_token,redirect_uri:r}),i&&{timeout:i}));return Object.assign(Object.assign({},o),{scope:e.authorizationParams.scope,oauthTokenScope:o.scope,audience:e.authorizationParams.audience||"default"})}catch(o){if((o.message.indexOf("Missing Refresh Token")>-1||o.message&&o.message.indexOf("invalid refresh token")>-1)&&this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(e);throw o}}async _saveEntryInCache(e){const{id_token:n,decodedToken:r}=e,i=V(e,["id_token","decodedToken"]);this.userCache.set("@@user@@",{id_token:n,decodedToken:r}),await this.cacheManager.setIdToken(this.options.clientId,e.id_token,e.decodedToken),await this.cacheManager.set(i)}async _getIdTokenFromCache(){const e=this.options.authorizationParams.audience||"default",n=await this.cacheManager.getIdToken(new fe({clientId:this.options.clientId,audience:e,scope:this.scope})),r=this.userCache.get("@@user@@");return n&&n.id_token===(r==null?void 0:r.id_token)?r:(this.userCache.set("@@user@@",n),n)}async _getEntryFromCache({scope:e,audience:n,clientId:r}){const i=await this.cacheManager.get(new fe({scope:e,audience:n,clientId:r}),60);if(i&&i.access_token){const{access_token:o,oauthTokenScope:a,expires_in:s}=i,h=await this._getIdTokenFromCache();return h&&Object.assign(Object.assign({id_token:h.id_token,access_token:o},a?{scope:a}:null),{expires_in:s})}}async _requestToken(e,n){const{nonceIn:r,organization:i}=n||{},o=await Vr(Object.assign({baseUrl:this.domainUrl,client_id:this.options.clientId,auth0Client:this.options.auth0Client,useFormData:this.options.useFormData,timeout:this.httpTimeoutMs},e),this.worker),a=await this._verifyIdToken(o.id_token,r,i);return await this._saveEntryInCache(Object.assign(Object.assign(Object.assign(Object.assign({},o),{decodedToken:a,scope:e.scope,audience:e.audience||"default"}),o.scope?{oauthTokenScope:o.scope}:null),{client_id:this.options.clientId})),this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this._processOrgHint(i||a.claims.org_id),Object.assign(Object.assign({},o),{decodedToken:a})}};async function ci(t){const e=new si(t);return await e.checkSession(),e}const me="sesamy.com",ui="https://sesa.my",li="https://logs.sesamy.com/events",It="sesamyCacheTimestamp";var ee=(t=>(t.READY="sesamyJsReady",t.AUTHENTICATED="sesamyJsAuthenticated",t.LOGOUT="sesamyJsLogout",t.CLEAR_CACHE="sesamyJsClearCache",t.USER_ATTRIBUTE_CHANGED="sesamyUserAttributeChanged",t.PURCHASE="sesamyJsPurchase",t))(ee||{});let q,cn;const Re="sesamyAccessToken";function St(){const t=localStorage.getItem(Re);if(!t)return null;const e=ln(t);return(!e||!e.exp||e.exp<new Date().getTime()/1e3)&&localStorage.removeItem(Re),t}function di(t){try{const e=new URL(t).hostname,n=e.split(".");return n.length>1?n.slice(-2).join("."):e}catch{return null}}async function hi(t){if(t.enabled===!1)return;cn=t.organization;const e={domain:t.endpoint||`token.${me}`,clientId:t.clientId,useCookiesForTransactions:!0};if(di(window.location.href)!==me&&(e.cacheLocation="localstorage",e.useRefreshTokens=!0),q=await ci(e),window.location.search.includes("code="))try{await q.handleRedirectCallback();const n=await q.getUser();J(ee.AUTHENTICATED,n);const r=new URL(location.href),i=r.searchParams;i.delete("code"),i.delete("state"),r.search=i.toString(),window.history.replaceState({},document.title,r.toString())}catch(n){console.error(n)}}async function un(){return St()?!0:q?q.isAuthenticated():!1}async function fi(){return St()?{sub:"local",name:"Local User"}:q?q.getUser():null}function _t(t){if(localStorage.removeItem(Re),!q)throw new Error("Auth0 client not initialized");const e=(t==null?void 0:t.authorizationParams)||{};return q.loginWithRedirect({...t,authorizationParams:{organization:cn,redirect_uri:window.location.href,...e}})}async function ze(t=!0){const e=St();if(e)return e;try{return q?await q.getTokenSilently():null}catch(n){if(t)throw n;return null}}async function pi(t={}){if(localStorage.removeItem(Re),J(ee.LOGOUT,{}),!!q)return q.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function ln(t){const e=t.split(".");if(e.length!==3)return null;const r=e[1].replace(/-/g,"+").replace(/_/g,"/"),i=decodeURIComponent(atob(r).split("").map(function(o){return"%"+("00"+o.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(i)}async function dn(t){const e=ln(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");localStorage.setItem(Re,t),J(ee.AUTHENTICATED,e)}const mi=(t,e)=>e.skipDedupe||e.method!=="GET",gi=(t,e)=>e.method+"@"+t,yi=t=>t.clone(),hn=({skip:t=mi,key:e=gi,resolver:n=yi}={})=>{const r=new Map;return i=>(o,a)=>{if(t(o,a))return i(o,a);const s=e(o,a);if(!r.has(s))r.set(s,[]);else return new Promise((h,f)=>{r.get(s).push([h,f])});try{return i(o,a).then(h=>(r.get(s).forEach(([f])=>f(n(h))),r.delete(s),h)).catch(h=>{throw r.get(s).forEach(([f,u])=>u(h)),r.delete(s),h})}catch(h){return r.delete(s),Promise.reject(h)}}},vi=(t,e)=>t*e,wi=t=>t&&t.ok,fn=({delayTimer:t=500,delayRamp:e=vi,maxAttempts:n=10,until:r=wi,onRetry:i=null,retryOnNetworkError:o=!1,resolveWithLatestResponse:a=!1,skip:s}={})=>h=>(f,u)=>{let c=0;if(s&&s(f,u))return h(f,u);const p=(d,b)=>Promise.resolve(r(d,b)).then(S=>S?d&&a?d:b?Promise.reject(b):d:(c++,!n||c<=n?new Promise(w=>{const P=e(t,c);setTimeout(()=>{typeof i=="function"?Promise.resolve(i({response:d,error:b,url:f,options:u})).then((_={})=>{var v,l;w(h((v=_&&_.url)!==null&&v!==void 0?v:f,(l=_&&_.options)!==null&&l!==void 0?l:u))}):w(h(f,u))},P)}).then(p).catch(w=>{if(!o)throw w;return p(null,w)}):d&&a?d:Promise.reject(b||new Error("Number of attempts exceeded."))));return h(f,u).then(p).catch(d=>{if(!o)throw d;return p(null,d)})},bi="application/json",pn="Content-Type",_e=Symbol(),mn=Symbol();function gn(t={}){var e;return(e=Object.entries(t).find(([n])=>n.toLowerCase()===pn.toLowerCase()))===null||e===void 0?void 0:e[1]}function yn(t){return/^application\/.*json.*/.test(t)}const ge=function(t,e,n=!1){return Object.entries(e).reduce((r,[i,o])=>{const a=t[i];return Array.isArray(a)&&Array.isArray(o)?r[i]=n?[...a,...o]:o:typeof a=="object"&&typeof o=="object"?r[i]=ge(a,o,n):r[i]=o,r},{...t})},Ee={options:{},errorType:"text",polyfills:{},polyfill(t,e=!0,n=!1,...r){const i=this.polyfills[t]||(typeof self<"u"?self[t]:null)||(typeof global<"u"?global[t]:null);if(e&&!i)throw new Error(t+" is not defined");return n&&i?new i(...r):i}};function ki(t,e=!1){Ee.options=e?t:ge(Ee.options,t)}function Ii(t,e=!1){Ee.polyfills=e?t:ge(Ee.polyfills,t)}function Si(t){Ee.errorType=t}const _i=t=>e=>t.reduceRight((n,r)=>r(n),e)||e;class vn extends Error{}const Ei=t=>{const e=Object.create(null);t=t._addons.reduce((v,l)=>l.beforeRequest&&l.beforeRequest(v,t._options,e)||v,t);const{_url:n,_options:r,_config:i,_catchers:o,_resolvers:a,_middlewares:s,_addons:h}=t,f=new Map(o),u=ge(i.options,r);let c=n;const p=_i(s)((v,l)=>(c=v,i.polyfill("fetch")(v,l)))(n,u),d=new Error,b=p.catch(v=>{throw{[_e]:v}}).then(v=>{if(!v.ok){const l=new vn;if(l.cause=d,l.stack=l.stack+`
5
- CAUSE: `+d.stack,l.response=v,l.url=c,v.type==="opaque")throw l;return v.text().then(k=>{var T;if(l.message=k,i.errorType==="json"||((T=v.headers.get("Content-Type"))===null||T===void 0?void 0:T.split(";")[0])==="application/json")try{l.json=JSON.parse(k)}catch{}throw l.text=k,l.status=v.status,l})}return v}),S=v=>v.catch(l=>{const k=l.hasOwnProperty(_e),T=k?l[_e]:l,O=(T==null?void 0:T.status)&&f.get(T.status)||f.get(T==null?void 0:T.name)||k&&f.has(_e)&&f.get(_e);if(O)return O(T,t);const A=f.get(mn);if(A)return A(T,t);throw T}),w=v=>l=>S(v?b.then(k=>k&&k[v]()).then(k=>l?l(k):k):b.then(k=>l?l(k):k)),P={_wretchReq:t,_fetchReq:p,_sharedState:e,res:w(null),json:w("json"),blob:w("blob"),formData:w("formData"),arrayBuffer:w("arrayBuffer"),text:w("text"),error(v,l){return f.set(v,l),this},badRequest(v){return this.error(400,v)},unauthorized(v){return this.error(401,v)},forbidden(v){return this.error(403,v)},notFound(v){return this.error(404,v)},timeout(v){return this.error(408,v)},internalError(v){return this.error(500,v)},fetchError(v){return this.error(_e,v)}},_=h.reduce((v,l)=>({...v,...typeof l.resolver=="function"?l.resolver(v):l.resolver}),P);return a.reduce((v,l)=>l(v,t),_)},Pi={_url:"",_options:{},_config:Ee,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(t){return{...this,_addons:[...this._addons,t],...t.wretch}},errorType(t){return{...this,_config:{...this._config,errorType:t}}},polyfills(t,e=!1){return{...this,_config:{...this._config,polyfills:e?t:ge(this._config.polyfills,t)}}},url(t,e=!1){if(e)return{...this,_url:t};const n=this._url.split("?");return{...this,_url:n.length>1?n[0]+t+"?"+n[1]:this._url+t}},options(t,e=!1){return{...this,_options:e?t:ge(this._options,t)}},headers(t){const e=t?Array.isArray(t)?Object.fromEntries(t):"entries"in t?Object.fromEntries(t.entries()):t:{};return{...this,_options:ge(this._options,{headers:e})}},accept(t){return this.headers({Accept:t})},content(t){return this.headers({[pn]:t})},auth(t){return this.headers({Authorization:t})},catcher(t,e){const n=new Map(this._catchers);return n.set(t,e),{...this,_catchers:n}},catcherFallback(t){return this.catcher(mn,t)},resolve(t,e=!1){return{...this,_resolvers:e?[t]:[...this._resolvers,t]}},defer(t,e=!1){return{...this,_deferred:e?[t]:[...this._deferred,t]}},middlewares(t,e=!1){return{...this,_middlewares:e?t:[...this._middlewares,...t]}},fetch(t=this._options.method,e="",n=null){let r=this.url(e).options({method:t});const i=gn(r._options.headers),o=this._config.polyfill("FormData",!1),a=typeof n=="object"&&!(o&&n instanceof o)&&(!r._options.headers||!i||yn(i));return r=n?a?r.json(n,i):r.body(n):r,Ei(r._deferred.reduce((s,h)=>h(s,s._url,s._options),r))},get(t=""){return this.fetch("GET",t)},delete(t=""){return this.fetch("DELETE",t)},put(t,e=""){return this.fetch("PUT",e,t)},post(t,e=""){return this.fetch("POST",e,t)},patch(t,e=""){return this.fetch("PATCH",e,t)},head(t=""){return this.fetch("HEAD",t)},opts(t=""){return this.fetch("OPTIONS",t)},body(t){return{...this,_options:{...this._options,body:t}}},json(t,e){const n=gn(this._options.headers);return this.content(e||yn(n)&&n||bi).body(JSON.stringify(t))}};function ie(t="",e={}){return{...Pi,_url:t,_options:e}}ie.default=ie,ie.options=ki,ie.errorType=Si,ie.polyfills=Ii,ie.WretchError=vn;function te(){sessionStorage.removeItem(It),J(ee.CLEAR_CACHE,{})}function Ti(t){const e=t.endpoint||`https://api2.${me}`,n=g=>async(I,E)=>{let L=sessionStorage.getItem(It);L||(L=Date.now().toString(),sessionStorage.setItem(It,L));const Z={...E,headers:{...E.headers,"Cache-Timestamp":L}};return g(I,Z)},r=(g=!0)=>I=>async(E,L)=>{let Z=null;if(Z=await ze(g),!Z){if(g)throw new Error("No access token available");return I(E,L)}const N={...L,headers:{...L.headers,...Z?{Authorization:`Bearer ${Z}`}:{}}};return I(E,N)},i=g=>(I,E)=>{if(E.headers.Authorization)return g(I,E);const L=localStorage.getItem("__anon_id"),Z=btoa(`${L}:`),N={...E,headers:{...E.headers,Authorization:`Basic ${Z}`}};return g(I,N)},o=ie(e).headers({"Content-Type":"application/json"}).middlewares([n,r(),hn(),fn({delayTimer:1e3,delayRamp:(g,I)=>g*I,maxAttempts:3,until:g=>!!(g&&(g.ok||g.status>=400&&g.status<500)),retryOnNetworkError:!1})]),a=ie(e).headers({"Content-Type":"application/json"}).middlewares([n,r(!1),i,hn(),fn({delayTimer:1e3,delayRamp:(g,I)=>g*I,maxAttempts:3,until:g=>!!(g&&(g.ok||g.status>=400&&g.status<500)),retryOnNetworkError:!1})]);async function s(){return o.get("/entitlements").json()}async function h(g){const I=await o.get("/entitlements").json();return I==null?void 0:I.find(E=>E.id===g)}async function f(g){return o.get(`/entitlements/${g}/access`).json()}async function u(){return o.get("/contracts").json()}async function c(g){const I=await o.get("/contracts").json();return I==null?void 0:I.find(E=>E.id===g)}async function p(){return o.get("/subscriptions").json()}async function d(){return o.get("/bills").json()}async function b(g){const I=await o.get("/bills").json();return I==null?void 0:I.find(E=>E.id===g)}async function S(g,I){const E=await o.url(`/user-metadata/${g}`).put(I).json();return J(ee.USER_ATTRIBUTE_CHANGED,{}),te(),E}async function w(g){const I=await o.url(`/user-metadata/${g}`).delete().res();return te(),I.ok}async function P(g){return(await o.url(`/user-metadata/${g}`).get().json())[g]}async function _(){return await o.url("/user-metadata").get().json()}async function v(){return await o.url("/tags").get().json()}async function l(g){const I=await o.url(`/tags/${g}`).delete().res();return te(),I.ok}async function k(g){const I=await o.url("/tags").post(g).res();return J(ee.USER_ATTRIBUTE_CHANGED,{}),te(),I.ok}async function T(g){return(await a.url("/tallies").get().json())[g]}async function O(){return await a.url("/tallies").get().json()}async function A(g){const I=await a.url(`/tallies/${g}`).delete().res();return te(),I.ok}async function R(g,I){return await a.url(`/tallies/${g}/push`).post(I).json()}async function z(g){return await o.url(`/products/${g}`).get().json()}async function K(){return await ze(!1)?await o.url("/profile").get().json():null}async function $(g){const I=await o.url("/profile").patch(g).res();return te(),I.ok}async function U(){return await o.url("/payment-issues").get().json()}async function M(){return(await o.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function j(){return(await o.url("/profile/unlink-spotify").post().res()).ok}async function W(g){const I=await ze(!1);if(!I)throw new Error("No access token available");const E=new URL(`https://spotify-oas.${me}/sesamy-callback`);E.searchParams.set("access_token",I),E.searchParams.set("state",g),window.location.href=E.toString()}async function X(g){const I=await o.url(`/products/${g}/auto-onboard`).post().json();return I.length&&te(),I}async function Ie(g,I=3600){const{shortlink:E}=await ie(ui).post({url:g,ttl:I}).json();return E}async function m(g){const I=await ze(!1);let E;switch(g.target){case"account":E=new URL(`https://account.${me}/subscriptions/${t.clientId}`);break;case"consume":E=new URL(`https://consume.${me}/@${t.clientId}/${g.sku}`),g.episodeId&&(E.href+=`/${g.episodeId}`);break;default:throw new Error("Invalid target")}return I&&(E.hash=`#access_token=${I}`),g.shorten?Ie(E.href,g.ttl):E.href}async function y(){const g=await ze(!1),I=new URL(`https://account.${me}/subscriptions/${t.clientId}`);g&&(I.hash=`#access_token=${g}`),window.location.href=I.toString()}return{getEntitlements:s,getEntitlement:h,getEntitlementAccess:f,getContracts:u,getContract:c,getProfile:K,updateProfile:$,getSubscriptions:p,getBills:d,getBill:b,setUserMetadata:S,deleteUserMetadata:w,getUserMetadata:P,listUserMetadata:_,getTags:v,deleteTag:l,setTag:k,getTally:T,getTallies:O,deleteTally:A,pushTally:R,getProduct:z,getPaymentIssues:U,autoOnboardProduct:X,isSpotifyLinked:M,unlinkSpotify:j,linkSpotify:W,generateLink:m,openHostedAccountPage:y}}const wn="@sesamy/sesamy-js",Et="1.13.2";function bn(t,e,n,r,i){for(e=e.split?e.split("."):e,r=0;r<e.length;r++)t=t?t[e[r]]:i;return t===i?n:t}var Ge="undefined",kn="object",Pt=function(){},In="any",Sn="*",ye="__",Be=typeof process<"u"?process:{};Be.env&&Be.env.NODE_ENV;var H=typeof document<"u";Be.versions!=null&&Be.versions.node!=null,typeof Deno<"u"&&Deno.core,H&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent!==void 0&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function _n(t,e){return e.charAt(0)[t]()+e.slice(1)}var Oi=_n.bind(null,"toUpperCase"),ji=_n.bind(null,"toLowerCase");function Ci(t){return En(t)?Oi("null"):typeof t=="object"?Li(t):Object.prototype.toString.call(t).slice(8,-1)}function qe(t,e){e===void 0&&(e=!0);var n=Ci(t);return e?ji(n):n}function De(t,e){return typeof e===t}var Y=De.bind(null,"function"),se=De.bind(null,"string"),Pe=De.bind(null,"undefined"),xi=De.bind(null,"boolean");De.bind(null,"symbol");function En(t){return t===null}function Ai(t){return qe(t)==="number"&&!isNaN(t)}function Pn(t){return qe(t)==="array"}function G(t){if(!$i(t))return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function $i(t){return t&&(typeof t=="object"||t!==null)}function Li(t){return Y(t.constructor)?t.constructor.name:null}function Ui(t){return t instanceof Error||se(t.message)&&t.constructor&&Ai(t.constructor.stackTraceLimit)}function Tn(t,e){if(typeof e!="object"||En(e))return!1;if(e instanceof t)return!0;var n=qe(new t(""));if(Ui(e))for(;e;){if(qe(e)===n)return!0;e=Object.getPrototypeOf(e)}return!1}Tn.bind(null,TypeError),Tn.bind(null,SyntaxError);function Qe(t,e){var n=t instanceof Element||t instanceof HTMLDocument;return n&&e?Ni(t,e):n}function Ni(t,e){return e===void 0&&(e=""),t&&t.nodeName===e.toUpperCase()}function et(t){var e=[].slice.call(arguments,1);return function(){return t.apply(void 0,[].slice.call(arguments).concat(e))}}et(Qe,"form"),et(Qe,"button"),et(Qe,"input"),et(Qe,"select");function Ri(t){return t?Pn(t)?t:[t]:[]}function On(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch{return null}}function zi(){if(H){var t=navigator,e=t.languages;return t.userLanguage||(e&&e.length?e[0]:t.language)}}function Di(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function Mi(t){return function(e){for(var n,r=Object.create(null),i=/([^&=]+)=?([^&]*)/g;n=i.exec(e);){var o=On(n[1]),a=On(n[2]);o.substring(o.length-2)==="[]"?(r[o=o.substring(0,o.length-2)]||(r[o]=[])).push(a):r[o]=a===""||a}for(var s in r){var h=s.split("[");h.length>1&&(Zi(r,h.map(function(f){return f.replace(/[?[\]\\ ]/g,"")}),r[s]),delete r[s])}return r}(function(e){return H&&window.location.search.substring(1)}())}function Zi(t,e,n){for(var r=e.length-1,i=0;i<r;++i){var o=e[i];if(o==="__proto__"||o==="constructor")break;o in t||(t[o]={}),t=t[o]}t[e[r]]=n}function tt(){for(var t="",e=0,n=4294967295*Math.random()|0;e++<36;){var r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[e-1],i=15&n;t+=r=="-"||r=="4"?r:(r=="x"?i:3&i|8).toString(16),n=e%8==0?4294967295*Math.random()|0:n>>4}return t}function Ki(t,e){var n,r,i,o=null,a=0,s=function(){a=new Date,o=null,i=t.apply(n,r)};return function(){var h=new Date;a||(a=h);var f=e-(h-a);return n=this,r=arguments,f<=0?(clearTimeout(o),o=null,a=h,i=t.apply(n,r)):o||(o=setTimeout(s,f)),i}}var Me="global",Te=ye+"global"+ye,Oe=typeof self===kn&&self.self===self&&self||typeof global===kn&&global.global===global&&global||void 0;function ve(t){return Oe[Te][t]}function we(t,e){return Oe[Te][t]=e}function je(t){delete Oe[Te][t]}function Ce(t,e,n){var r;try{if(Tt(t)){var i=window[t];r=i[e].bind(i)}}catch{}return r||n}Oe[Te]||(Oe[Te]={});var nt={};function Tt(t){if(typeof nt[t]!==Ge)return nt[t];try{var e=window[t];e.setItem(Ge,Ge),e.removeItem(Ge)}catch{return nt[t]=!1}return nt[t]=!0}function C(){return C=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},C.apply(this,arguments)}var ce="function",oe="undefined",Wi="@@redux/"+Math.random().toString(36),jn=function(){return typeof Symbol===ce&&Symbol.observable||"@@observable"}(),rt=" != "+ce;function Cn(t,e,n){var r;if(typeof e===ce&&typeof n===oe&&(n=e,e=void 0),typeof n!==oe){if(typeof n!==ce)throw new Error("enhancer"+rt);return n(Cn)(t,e)}if(typeof t!==ce)throw new Error("reducer"+rt);var i=t,o=e,a=[],s=a,h=!1;function f(){s===a&&(s=a.slice())}function u(){return o}function c(d){if(typeof d!==ce)throw new Error("Listener"+rt);var b=!0;return f(),s.push(d),function(){if(b){b=!1,f();var S=s.indexOf(d);s.splice(S,1)}}}function p(d){if(!G(d))throw new Error("Act != obj");if(typeof d.type===oe)throw new Error("ActType "+oe);if(h)throw new Error("Dispatch in reducer");try{h=!0,o=i(o,d)}finally{h=!1}for(var b=a=s,S=0;S<b.length;S++)(0,b[S])();return d}return p({type:"@@redux/INIT"}),(r={dispatch:p,subscribe:c,getState:u,replaceReducer:function(d){if(typeof d!==ce)throw new Error("next reducer"+rt);i=d,p({type:"@@redux/INIT"})}})[jn]=function(){var d,b=c;return(d={subscribe:function(S){if(typeof S!="object")throw new TypeError("Observer != obj");function w(){S.next&&S.next(u())}return w(),{unsubscribe:b(w)}}})[jn]=function(){return this},d},r}function Fi(t,e){var n=e&&e.type;return"action "+(n&&n.toString()||"?")+"reducer "+t+" returns "+oe}function xe(){var t=[].slice.call(arguments);return t.length===0?function(e){return e}:t.length===1?t[0]:t.reduce(function(e,n){return function(){return e(n.apply(void 0,[].slice.call(arguments)))}})}function Hi(){var t=arguments;return function(e){return function(n,r,i){var o,a=e(n,r,i),s=a.dispatch,h={getState:a.getState,dispatch:function(f){return s(f)}};return o=[].slice.call(t).map(function(f){return f(h)}),C({},a,{dispatch:s=xe.apply(void 0,o)(a.dispatch)})}}}var ue=ye+"anon_id",be=ye+"user_id",Ae=ye+"user_traits",le="userId",$e="anonymousId",it=["bootstrap","params","campaign","initializeStart","initialize","initializeEnd","ready","resetStart","reset","resetEnd","pageStart","page","pageEnd","pageAborted","trackStart","track","trackEnd","trackAborted","identifyStart","identify","identifyEnd","identifyAborted","userIdChanged","registerPlugins","enablePlugin","disablePlugin","online","offline","setItemStart","setItem","setItemEnd","setItemAborted","removeItemStart","removeItem","removeItemEnd","removeItemAborted"],Ot=["name","EVENTS","config","loaded"],x=it.reduce(function(t,e){return t[e]=e,t},{registerPluginType:function(t){return"registerPlugin:"+t},pluginReadyType:function(t){return"ready:"+t}}),xn=/^utm_/,An=/^an_prop_/,$n=/^an_trait_/;function Ji(t){var e=t.storage.setItem;return function(n){return function(r){return function(i){if(i.type===x.bootstrap){var o=i.params,a=i.user,s=i.persistedUser,h=i.initialUser,f=s.userId===a.userId;s.anonymousId!==a.anonymousId&&e(ue,a.anonymousId),f||e(be,a.userId),h.traits&&e(Ae,C({},f&&s.traits?s.traits:{},h.traits));var u=Object.keys(i.params);if(u.length){var c=o.an_uid,p=o.an_event,d=u.reduce(function(b,S){if(S.match(xn)||S.match(/^(d|g)clid/)){var w=S.replace(xn,"");b.campaign[w==="campaign"?"name":w]=o[S]}return S.match(An)&&(b.props[S.replace(An,"")]=o[S]),S.match($n)&&(b.traits[S.replace($n,"")]=o[S]),b},{campaign:{},props:{},traits:{}});n.dispatch(C({type:x.params,raw:o},d,c?{userId:c}:{})),c&&setTimeout(function(){return t.identify(c,d.traits)},0),p&&setTimeout(function(){return t.track(p,d.props)},0),Object.keys(d.campaign).length&&n.dispatch({type:x.campaign,campaign:d.campaign})}}return r(i)}}}}function Xi(t){return function(e,n){if(e===void 0&&(e={}),n===void 0&&(n={}),n.type===x.setItemEnd){if(n.key===ue)return C({},e,{anonymousId:n.value});if(n.key===be)return C({},e,{userId:n.value})}switch(n.type){case x.identify:return Object.assign({},e,{userId:n.userId,traits:C({},e.traits,n.traits)});case x.reset:return[be,ue,Ae].forEach(function(r){t.removeItem(r)}),Object.assign({},e,{userId:null,anonymousId:null,traits:{}});default:return e}}}function Ln(t){return{userId:t.getItem(be),anonymousId:t.getItem(ue),traits:t.getItem(Ae)}}var jt=function(t){return ye+"TEMP"+ye+t};function Vi(t){var e=t.storage,n=e.setItem,r=e.removeItem,i=e.getItem;return function(o){return function(a){return function(s){var h=s.userId,f=s.traits,u=s.options;if(s.type===x.reset&&([be,Ae,ue].forEach(function(d){r(d)}),[le,$e,"traits"].forEach(function(d){je(jt(d))})),s.type===x.identify){i(ue)||n(ue,tt());var c=i(be),p=i(Ae)||{};c&&c!==h&&o.dispatch({type:x.userIdChanged,old:{userId:c,traits:p},new:{userId:h,traits:f},options:u}),h&&n(be,h),f&&n(Ae,C({},p,f))}return a(s)}}}}var Ze={};function Un(t,e){Ze[t]&&Y(Ze[t])&&(Ze[t](e),delete Ze[t])}function Nn(t,e,n){return new Promise(function(r,i){return e()?r(t):n<1?i(C({},t,{queue:!0})):new Promise(function(o){return setTimeout(o,10)}).then(function(o){return Nn(t,e,n-10).then(r,i)})})}function Yi(t){return{abort:t}}function Rn(t,e,n){var r={},i=e(),o=t.getState(),a=o.plugins,s=o.queue,h=o.user;if(!o.context.offline&&s&&s.actions&&s.actions.length){var f=s.actions.reduce(function(c,p,d){return a[p.plugin].loaded?(c.process.push(p),c.processIndex.push(d)):(c.requeue.push(p),c.requeueIndex.push(d)),c},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(f.processIndex&&f.processIndex.length){f.processIndex.forEach(function(c){var p=s.actions[c],d=p.plugin,b=p.payload.type,S=i[d][b];if(S&&Y(S)){var w,P=function(l,k){return l===void 0&&(l={}),k===void 0&&(k={}),[le,$e].reduce(function(T,O){return l.hasOwnProperty(O)&&k[O]&&k[O]!==l[O]&&(T[O]=k[O]),T},l)}(p.payload,h),_=r[P.meta.rid];if(!_&&(w=S({payload:P,config:a[d].config,instance:n,abort:Yi}))&&G(w)&&w.abort)return void(r[P.meta.rid]=!0);if(!_){var v=b+":"+d;t.dispatch(C({},P,{type:v,_:{called:v,from:"queueDrain"}}))}}});var u=s.actions.filter(function(c,p){return!~f.processIndex.indexOf(p)});s.actions=u}}}var Ct=function(t){var e=t.data,n=t.action,r=t.instance,i=t.state,o=t.allPlugins,a=t.allMatches,s=t.store,h=t.EVENTS;try{var f=i.plugins,u=i.context,c=n.type,p=c.match(Le),d=e.exact.map(function(w){return w.pluginName});p&&(d=a.during.map(function(w){return w.pluginName}));var b=function(w,P){return function(_,v,l){var k=v.config,T=v.name,O=T+"."+_.type;l&&(O=l.event);var A=_.type.match(Le)?function(R,z,K,$,U){return function(M,j){var W=$?$.name:R,X=j&&Ke(j)?j:K;if($&&(!(X=j&&Ke(j)?j:[R]).includes(R)||X.length!==1))throw new Error("Method "+z+" can only abort "+R+" plugin. "+JSON.stringify(X)+" input valid");return C({},U,{abort:{reason:M,plugins:X,caller:z,_:W}})}}(T,O,P,l,_):function(R,z){return function(){throw new Error(R.type+" action not cancellable. Remove abort in "+z)}}(_,O);return{payload:Gi(_),instance:w,config:k||{},abort:A}}}(r,d),S=e.exact.reduce(function(w,P){var _=P.pluginName,v=P.methodName,l=!1;return v.match(/^initialize/)||v.match(/^reset/)||(l=!f[_].loaded),u.offline&&v.match(/^(page|track|identify)/)&&(l=!0),w[""+_]=l,w},{});return Promise.resolve(e.exact.reduce(function(w,P,_){try{var v=P.pluginName;return Promise.resolve(w).then(function(l){function k(){return Promise.resolve(l)}var T=function(){if(e.namespaced&&e.namespaced[v])return Promise.resolve(e.namespaced[v].reduce(function(O,A,R){try{return Promise.resolve(O).then(function(z){return A.method&&Y(A.method)?(function(M,j){var W=Hn(M);if(W&&W.name===j){var X=Hn(W.method);throw new Error([j+" plugin is calling method "+M,"Plugins cant call self","Use "+W.method+" "+(X?"or "+X.method:"")+" in "+j+" plugin insteadof "+M].join(`
6
- `))}}(A.methodName,A.pluginName),Promise.resolve(A.method({payload:z,instance:r,abort:(K=z,$=v,U=A.pluginName,function(M,j){return C({},K,{abort:{reason:M,plugins:j||[$],caller:c,from:U||$}})}),config:Mn(A.pluginName,f,o),plugins:f})).then(function(M){var j=G(M)?M:{};return Promise.resolve(C({},z,j))})):z;var K,$,U})}catch(z){return Promise.reject(z)}},Promise.resolve(n))).then(function(O){l[v]=O});l[v]=n}();return T&&T.then?T.then(k):k()})}catch(l){return Promise.reject(l)}},Promise.resolve({}))).then(function(w){return Promise.resolve(e.exact.reduce(function(P,_,v){try{var l=e.exact.length===v+1,k=_.pluginName,T=o[k];return Promise.resolve(P).then(function(O){var A=w[k]?w[k]:{};if(p&&(A=O),At(A,k))return xt({data:A,method:c,instance:r,pluginName:k,store:s}),Promise.resolve(O);if(At(O,k))return l&&xt({data:O,method:c,instance:r,store:s}),Promise.resolve(O);if(S.hasOwnProperty(k)&&S[k]===!0)return s.dispatch({type:"queue",plugin:k,payload:A,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(O);var R=b(w[k],o[k]);return Promise.resolve(T[c]({abort:R.abort,payload:A,instance:r,config:Mn(k,f,o),plugins:f})).then(function(z){var K=G(z)?z:{},$=C({},O,K),U=w[k];if(At(U,k))xt({data:U,method:c,instance:r,pluginName:k,store:s});else{var M=c+":"+k;(M.match(/:/g)||[]).length<2&&!c.match(zn)&&!c.match(Dn)&&r.dispatch(C({},p?$:A,{type:M,_:{called:M,from:"submethod"}}))}return Promise.resolve($)})})}catch(O){return Promise.reject(O)}},Promise.resolve(n))).then(function(P){if(!(c.match(Le)||c.match(/^registerPlugin/)||c.match(Dn)||c.match(zn)||c.match(/^params/)||c.match(/^userIdChanged/))){if(h.plugins.includes(c),P._&&P._.originalAction===c)return P;var _=C({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});Wn(P,e.exact.length)&&!c.match(/End$/)&&(_=C({},_,{type:P.type+"Aborted"})),s.dispatch(_)}return P})})}catch(w){return Promise.reject(w)}},Le=/Start$/,zn=/^bootstrap/,Dn=/^ready/;function xt(t){var e=t.pluginName,n=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(C({},t.data,{type:n,_:{called:n,from:"abort"}}))}function Mn(t,e,n){var r=e[t]||n[t];return r&&r.config?r.config:{}}function Zn(t,e){return e.reduce(function(n,r){return r[t]?n.concat({methodName:t,pluginName:r.name,method:r[t]}):n},[])}function Kn(t,e){var n=t.replace(Le,""),r=e?":"+e:"";return[""+t+r,""+n+r,n+"End"+r]}function At(t,e){var n=t.abort;return!!n&&(n===!0||Fn(n,e)||n&&Fn(n.plugins,e))}function Wn(t,e){var n=t.abort;if(!n)return!1;if(n===!0||se(n))return!0;var r=n.plugins;return Ke(n)&&n.length===e||Ke(r)&&r.length===e}function Ke(t){return Array.isArray(t)}function Fn(t,e){return!(!t||!Ke(t))&&t.includes(e)}function Hn(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function Gi(t){return Object.keys(t).reduce(function(e,n){return n==="type"||(e[n]=G(t[n])?Object.assign({},t[n]):t[n]),e},{})}function Bi(t,e,n){var r={};return function(i){return function(o){return function(a){try{var s,h=function(l){return s?l:o(c)},f=a.type,u=a.plugins,c=a;if(a.abort)return Promise.resolve(o(a));if(f===x.enablePlugin&&i.dispatch({type:x.initializeStart,plugins:u,disabled:[],fromEnable:!0,meta:a.meta}),f===x.disablePlugin&&setTimeout(function(){return Un(a.meta.rid,{payload:a})},0),f===x.initializeEnd){var p=e(),d=Object.keys(p),b=d.filter(function(l){return u.includes(l)}).map(function(l){return p[l]}),S=[],w=[],P=a.disabled,_=b.map(function(l){var k=l.loaded,T=l.name,O=l.config;return Nn(l,function(){return k({config:O})},1e4).then(function(A){return r[T]||(i.dispatch({type:x.pluginReadyType(T),name:T,events:Object.keys(l).filter(function(R){return!Ot.includes(R)})}),r[T]=!0),S=S.concat(T),l}).catch(function(A){if(A instanceof Error)throw new Error(A);return w=w.concat(A.name),A})});Promise.all(_).then(function(l){var k={plugins:S,failed:w,disabled:P};setTimeout(function(){d.length===_.length+P.length&&i.dispatch(C({},{type:x.ready},k))},0)})}var v=function(){if(f!==x.bootstrap)return/^ready:([^:]*)$/.test(f)&&setTimeout(function(){return Rn(i,e,t)},0),Promise.resolve(function(l,k,T,O,A){try{var R=Y(k)?k():k,z=l.type,K=z.replace(Le,"");if(l._&&l._.called)return Promise.resolve(l);var $=T.getState(),U=(W=R,(X=$.plugins)===void 0&&(X={}),(Ie=l.options)===void 0&&(Ie={}),Object.keys(W).filter(function(m){var y=Ie.plugins||{};return xi(y[m])?y[m]:y.all!==!1&&(!X[m]||X[m].enabled!==!1)}).map(function(m){return W[m]}));z===x.initializeStart&&l.fromEnable&&(U=Object.keys($.plugins).filter(function(m){var y=$.plugins[m];return l.plugins.includes(m)&&!y.initialized}).map(function(m){return R[m]}));var M=U.map(function(m){return m.name}),j=function(m,y,g){var I=Kn(m).map(function(E){return Zn(E,y)});return y.reduce(function(E,L){var Z=L.name,N=Kn(m,Z).map(function(Xe){return Zn(Xe,y)}),F=N[0],D=N[1],ne=N[2];return F.length&&(E.beforeNS[Z]=F),D.length&&(E.duringNS[Z]=D),ne.length&&(E.afterNS[Z]=ne),E},{before:I[0],beforeNS:{},during:I[1],duringNS:{},after:I[2],afterNS:{}})}(z,U);return Promise.resolve(Ct({action:l,data:{exact:j.before,namespaced:j.beforeNS},state:$,allPlugins:R,allMatches:j,instance:T,store:O,EVENTS:A})).then(function(m){function y(){var E=function(){if(z.match(Le))return Promise.resolve(Ct({action:C({},g,{type:K+"End"}),data:{exact:j.after,namespaced:j.afterNS},state:$,allPlugins:R,allMatches:j,instance:T,store:O,EVENTS:A})).then(function(L){L.meta&&L.meta.hasCallback&&Un(L.meta.rid,{payload:L})})}();return E&&E.then?E.then(function(){return m}):m}if(Wn(m,M.length))return m;var g,I=function(){if(z!==K)return Promise.resolve(Ct({action:C({},m,{type:K}),data:{exact:j.during,namespaced:j.duringNS},state:$,allPlugins:R,allMatches:j,instance:T,store:O,EVENTS:A})).then(function(E){g=E});g=m}();return I&&I.then?I.then(y):y()})}catch(m){return Promise.reject(m)}var W,X,Ie}(a,e,t,i,n)).then(function(l){return s=1,o(l)})}();return Promise.resolve(v&&v.then?v.then(h):h(v))}catch(l){return Promise.reject(l)}}}}}function qi(t){return function(e){return function(n){return function(r){var i=r.type,o=r.key,a=r.value,s=r.options;if(i===x.setItem||i===x.removeItem){if(r.abort)return n(r);i===x.setItem?t.setItem(o,a,s):t.removeItem(o,s)}return n(r)}}}}var Qi=function(){var t=this;this.before=[],this.after=[],this.addMiddleware=function(e,n){t[n]=t[n].concat(e)},this.removeMiddleware=function(e,n){var r=t[n].findIndex(function(i){return i===e});r!==-1&&(t[n]=[].concat(t[n].slice(0,r),t[n].slice(r+1)))},this.dynamicMiddlewares=function(e){return function(n){return function(r){return function(i){var o={getState:n.getState,dispatch:function(s){return n.dispatch(s)}},a=t[e].map(function(s){return s(o)});return xe.apply(void 0,a)(r)(i)}}}}};function eo(t){return function(e,n){e===void 0&&(e={});var r={};if(n.type==="initialize:aborted")return e;if(/^registerPlugin:([^:]*)$/.test(n.type)){var i=Jn(n.type,"registerPlugin"),o=t()[i];if(!o||!i)return e;var a=n.enabled,s=o.config;return r[i]={enabled:a,initialized:!!a&&!o.initialize,loaded:!!a&&!!o.loaded({config:s}),config:s},C({},e,r)}if(/^initialize:([^:]*)$/.test(n.type)){var h=Jn(n.type,x.initialize),f=t()[h];return f&&h?(r[h]=C({},e[h],{initialized:!0,loaded:!!f.loaded({config:f.config})}),C({},e,r)):e}if(/^ready:([^:]*)$/.test(n.type))return r[n.name]=C({},e[n.name],{loaded:!0}),C({},e,r);switch(n.type){case x.disablePlugin:return C({},e,Xn(n.plugins,!1,e));case x.enablePlugin:return C({},e,Xn(n.plugins,!0,e));default:return e}}}function Jn(t,e){return t.substring(e.length+1,t.length)}function Xn(t,e,n){return t.reduce(function(r,i){return r[i]=C({},n[i],{enabled:e}),r},n)}function Vn(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var to={last:{},history:[]};function no(t,e){t===void 0&&(t=to);var n=e.options,r=e.meta;if(e.type===x.track){var i=Vn(C({event:e.event,properties:e.properties},Object.keys(n).length&&{options:n},{meta:r}));return C({},t,{last:i,history:t.history.concat(i)})}return t}var ro={actions:[]};function io(t,e){t===void 0&&(t=ro);var n=e.payload;switch(e.type){case"queue":var r;return r=n&&n.type&&n.type===x.identify?[e].concat(t.actions):t.actions.concat(e),C({},t,{actions:r});case"dequeue":return[];default:return t}}var Yn=/#.*$/;function oo(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(Yn,""):"")}var Gn,Bn,qn,Qn,ao=function(t){if(t===void 0&&(t={}),!H)return t;var e=document,n=e.title,r=e.referrer,i=window,o=i.location,a=i.innerWidth,s=i.innerHeight,h=o.hash,f=o.search,u=function(p){var d=function(){if(H){for(var b,S=document.getElementsByTagName("link"),w=0;b=S[w];w++)if(b.getAttribute("rel")==="canonical")return b.getAttribute("href")}}();return d?d.match(/\?/)?d:d+p:window.location.href.replace(Yn,"")}(f),c={title:n,url:u,path:oo(u),hash:h,search:f,width:a,height:s};return r&&r!==""&&(c.referrer=r),C({},c,t)},so={last:{},history:[]};function co(t,e){t===void 0&&(t=so);var n=e.options;if(e.type===x.page){var r=Vn(C({properties:e.properties,meta:e.meta},Object.keys(n).length&&{options:n}));return C({},t,{last:r,history:t.history.concat(r)})}return t}Gn=function(){if(!H)return!1;var t=navigator.appVersion;return~t.indexOf("Win")?"Windows":~t.indexOf("Mac")?"MacOS":~t.indexOf("X11")?"UNIX":~t.indexOf("Linux")?"Linux":"Unknown OS"}(),Bn=H?document.referrer:null,qn=zi(),Qn=Di();var er={initialized:!1,sessionId:tt(),app:null,version:null,debug:!1,offline:!!H&&!navigator.onLine,os:{name:Gn},userAgent:H?navigator.userAgent:"node",library:{name:"analytics",version:"0.12.7"},timezone:Qn,locale:qn,campaign:{},referrer:Bn};function uo(t,e){t===void 0&&(t=er);var n=t.initialized,r=e.campaign;switch(e.type){case x.campaign:return C({},t,{campaign:r});case x.offline:return C({},t,{offline:!0});case x.online:return C({},t,{offline:!1});default:return n?t:C({},er,t,{initialized:!0})}}var lo=["plugins","reducers","storage"];function ho(t,e,n){if(H){var r=window[(n?"add":"remove")+"EventListener"];t.split(" ").forEach(function(i){r(i,e)})}}function fo(t){var e=ho.bind(null,"online offline",function(n){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(n){return e(!1)}}function tr(){return we("analytics",[]),function(t){return function(e,n,r){var i=t(e,n,r),o=i.dispatch;return Object.assign(i,{dispatch:function(a){return Oe[Te].analytics.push(a.action||a),o(a)}})}}}function nr(t){return function(){return xe(xe.apply(null,arguments),tr())}}function $t(t){return t?Pn(t)?t:[t]:[]}function rr(t,e,n){t===void 0&&(t={});var r,i,o=tt();return e&&(Ze[o]=(r=e,i=function(a){for(var s,h=a||Array.prototype.slice.call(arguments),f=0;f<h.length;f++)if(Y(h[f])){s=h[f];break}return s}(n),function(a){i&&i(a),r(a)})),C({},t,{rid:o,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function po(t){t===void 0&&(t={});var e=t.reducers||{},n=t.initialUser||{},r=(t.plugins||[]).reduce(function(m,y){if(Y(y))return m.middlewares=m.middlewares.concat(y),m;if(y.NAMESPACE&&(y.name=y.NAMESPACE),!y.name)throw new Error("https://lytics.dev/errors/1");y.config||(y.config={});var g=y.EVENTS?Object.keys(y.EVENTS).map(function(L){return y.EVENTS[L]}):[];m.pluginEnabled[y.name]=!(y.enabled===!1||y.config.enabled===!1),delete y.enabled,y.methods&&(m.methods[y.name]=Object.keys(y.methods).reduce(function(L,Z){var N;return L[Z]=(N=y.methods[Z],function(){for(var F=Array.prototype.slice.call(arguments),D=new Array(N.length),ne=0;ne<F.length;ne++)D[ne]=F[ne];return D[D.length]=k,N.apply({instance:k},D)}),L},{}),delete y.methods);var I=Object.keys(y).concat(g),E=new Set(m.events.concat(I));if(m.events=Array.from(E),m.pluginsArray=m.pluginsArray.concat(y),m.plugins[y.name])throw new Error(y.name+"AlreadyLoaded");return m.plugins[y.name]=y,m.plugins[y.name].loaded||(m.plugins[y.name].loaded=function(){return!0}),m},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),i=t.storage?t.storage:{getItem:ve,setItem:we,removeItem:je},o=function(m){return function(y,g,I){return g.getState("user")[y]||(I&&G(I)&&I[y]?I[y]:Ln(m)[y]||ve(jt(y))||null)}}(i),a=r.plugins,s=r.events.filter(function(m){return!Ot.includes(m)}).sort(),h=new Set(s.concat(it).filter(function(m){return!Ot.includes(m)})),f=Array.from(h).sort(),u=function(){return a},c=new Qi,p=c.addMiddleware,d=c.removeMiddleware,b=c.dynamicMiddlewares,S=function(){throw new Error("Abort disabled inListener")},w=Mi(),P=Ln(i),_=C({},P,n,w.an_uid?{userId:w.an_uid}:{},w.an_aid?{anonymousId:w.an_aid}:{});_.anonymousId||(_.anonymousId=tt());var v=C({enable:function(m,y){return new Promise(function(g){j.dispatch({type:x.enablePlugin,plugins:$t(m),_:{originalAction:x.enablePlugin}},g,[y])})},disable:function(m,y){return new Promise(function(g){j.dispatch({type:x.disablePlugin,plugins:$t(m),_:{originalAction:x.disablePlugin}},g,[y])})}},r.methods),l=!1,k={identify:function(m,y,g,I){try{var E=se(m)?m:null,L=G(m)?m:y,Z=g||{},N=k.user();we(jt(le),E);var F=E||L.userId||o(le,k,L);return Promise.resolve(new Promise(function(D){j.dispatch(C({type:x.identifyStart,userId:F,traits:L||{},options:Z,anonymousId:N.anonymousId},N.id&&N.id!==E&&{previousId:N.id}),D,[y,g,I])}))}catch(D){return Promise.reject(D)}},track:function(m,y,g,I){try{var E=G(m)?m.event:m;if(!E||!se(E))throw new Error("EventMissing");var L=G(m)?m:y||{},Z=G(g)?g:{};return Promise.resolve(new Promise(function(N){j.dispatch({type:x.trackStart,event:E,properties:L,options:Z,userId:o(le,k,y),anonymousId:o($e,k,y)},N,[y,g,I])}))}catch(N){return Promise.reject(N)}},page:function(m,y,g){try{var I=G(m)?m:{},E=G(y)?y:{};return Promise.resolve(new Promise(function(L){j.dispatch({type:x.pageStart,properties:ao(I),options:E,userId:o(le,k,I),anonymousId:o($e,k,I)},L,[m,y,g])}))}catch(L){return Promise.reject(L)}},user:function(m){if(m===le||m==="id")return o(le,k);if(m===$e||m==="anonId")return o($e,k);var y=k.getState("user");return m?bn(y,m):y},reset:function(m){return new Promise(function(y){j.dispatch({type:x.resetStart},y,m)})},ready:function(m){return l&&m({plugins:v,instance:k}),k.on(x.ready,function(y){m(y),l=!0})},on:function(m,y){if(!m||!Y(y))return!1;if(m===x.bootstrap)throw new Error(".on disabled for "+m);var g=/Start$|Start:/;if(m==="*"){var I=function(N){return function(F){return function(D){return D.type.match(g)&&y({payload:D,instance:k,plugins:a}),F(D)}}},E=function(N){return function(F){return function(D){return D.type.match(g)||y({payload:D,instance:k,plugins:a}),F(D)}}};return p(I,ot),p(E,at),function(){d(I,ot),d(E,at)}}var L=m.match(g)?ot:at,Z=function(N){return function(F){return function(D){return D.type===m&&y({payload:D,instance:k,plugins:a,abort:S}),F(D)}}};return p(Z,L),function(){return d(Z,L)}},once:function(m,y){if(!m||!Y(y))return!1;if(m===x.bootstrap)throw new Error(".once disabled for "+m);var g=k.on(m,function(I){y({payload:I.payload,instance:k,plugins:a,abort:S}),g()});return g},getState:function(m){var y=j.getState();return m?bn(y,m):Object.assign({},y)},dispatch:function(m){var y=se(m)?{type:m}:m;if(it.includes(y.type))throw new Error("reserved action "+y.type);var g=C({},y,{_:C({originalAction:y.type},m._||{})});j.dispatch(g)},enablePlugin:v.enable,disablePlugin:v.disable,plugins:v,storage:{getItem:i.getItem,setItem:function(m,y,g){j.dispatch({type:x.setItemStart,key:m,value:y,options:g})},removeItem:function(m,y){j.dispatch({type:x.removeItemStart,key:m,options:y})}},setAnonymousId:function(m,y){k.storage.setItem(ue,m,y)},events:{core:it,plugins:s}},T=r.middlewares.concat([function(m){return function(y){return function(g){return g.meta||(g.meta=rr()),y(g)}}},b(ot),Bi(k,u,{all:f,plugins:s}),qi(i),Ji(k),Vi(k),b(at)]),O={context:uo,user:Xi(i),page:co,track:no,plugins:eo(u),queue:io},A=xe,R=xe;if(H&&t.debug){var z=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;z&&(A=z({trace:!0,traceLimit:25})),R=function(){return arguments.length===0?tr():G(typeof arguments[0])?nr():nr().apply(null,arguments)}}var K,$=function(m){return Object.keys(m).reduce(function(y,g){return lo.includes(g)||(y[g]=m[g]),y},{})}(t),U=r.pluginsArray.reduce(function(m,y){var g=y.name,I=y.config,E=y.loaded,L=r.pluginEnabled[g];return m[g]={enabled:L,initialized:!!L&&!y.initialize,loaded:!!E({config:I}),config:I},m},{}),M={context:$,user:_,plugins:U},j=Cn(function(m){for(var y=Object.keys(m),g={},I=0;I<y.length;I++){var E=y[I];typeof m[E]===ce&&(g[E]=m[E])}var L,Z=Object.keys(g);try{(function(N){Object.keys(N).forEach(function(F){var D=N[F];if(typeof D(void 0,{type:"@@redux/INIT"})===oe||typeof D(void 0,{type:Wi})===oe)throw new Error("reducer "+F+" "+oe)})})(g)}catch(N){L=N}return function(N,F){if(N===void 0&&(N={}),L)throw L;for(var D=!1,ne={},Xe=0;Xe<Z.length;Xe++){var ft=Z[Xe],xr=N[ft],Ft=(0,g[ft])(xr,F);if(typeof Ft===oe){var na=Fi(ft,F);throw new Error(na)}ne[ft]=Ft,D=D||Ft!==xr}return D?ne:N}}(C({},O,e)),M,R(A(Hi.apply(void 0,T))));j.dispatch=(K=j.dispatch,function(m,y,g){var I=C({},m,{meta:rr(m.meta,y,$t(g))});return K.apply(null,[I])});var W=Object.keys(a);j.dispatch({type:x.bootstrap,plugins:W,config:$,params:w,user:_,initialUser:n,persistedUser:P});var X=W.filter(function(m){return r.pluginEnabled[m]}),Ie=W.filter(function(m){return!r.pluginEnabled[m]});return j.dispatch({type:x.registerPlugins,plugins:W,enabled:r.pluginEnabled}),r.pluginsArray.map(function(m,y){var g=m.bootstrap,I=m.config,E=m.name;g&&Y(g)&&g({instance:k,config:I,payload:m}),j.dispatch({type:x.registerPluginType(E),name:E,enabled:r.pluginEnabled[E],plugin:m}),r.pluginsArray.length===y+1&&j.dispatch({type:x.initializeStart,plugins:X,disabled:Ie})}),fo(function(m){j.dispatch({type:m?x.offline:x.online})}),function(m,y,g){setInterval(function(){return Rn(m,y,g)},3e3)}(j,u,k),k}var ot="before",at="after",We="cookie",ke=ar(),ir=st,mo=st;function or(t){return ke?st(t,"",-1):je(t)}function ar(){if(ke!==void 0)return ke;var t="cookiecookie";try{st(t,t),ke=document.cookie.indexOf(t)!==-1,or(t)}catch{ke=!1}return ke}function st(t,e,n,r,i,o){if(typeof window<"u"){var a=arguments.length>1;return ke===!1&&(a?we(t,e):ve(t)),a?document.cookie=t+"="+encodeURIComponent(e)+(n?"; expires="+new Date(+new Date+1e3*n).toUTCString()+(r?"; path="+r:"")+(i?"; domain="+i:"")+(o?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+t+"=")[1]||"").split(";")[0])}}var Fe="localStorage",go=Tt.bind(null,"localStorage");Ce("localStorage","getItem",ve),Ce("localStorage","setItem",we),Ce("localStorage","removeItem",je);var He="sessionStorage",yo=Tt.bind(null,"sessionStorage");Ce("sessionStorage","getItem",ve),Ce("sessionStorage","setItem",we),Ce("sessionStorage","removeItem",je);function Ue(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(G(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var vo=go(),wo=yo(),bo=ar();function sr(t,e){if(t){var n=Lt(e),r=!zt(n),i=Ut(n)?Ue(localStorage.getItem(t)):void 0;if(r&&!Pe(i))return i;var o=Nt(n)?Ue(ir(t)):void 0;if(r&&o)return o;var a=Rt(n)?Ue(sessionStorage.getItem(t)):void 0;if(r&&a)return a;var s=ve(t);return r?s:{localStorage:i,sessionStorage:a,cookie:o,global:s}}}function ko(t,e,n){if(t&&!Pe(e)){var r={},i=Lt(n),o=JSON.stringify(e),a=!zt(i);return Ut(i)&&(r[Fe]=ut(Fe,e,Ue(localStorage.getItem(t))),localStorage.setItem(t,o),a)?r[Fe]:Nt(i)&&(r[We]=ut(We,e,Ue(ir(t))),mo(t,o),a)?r[We]:Rt(i)&&(r[He]=ut(He,e,Ue(sessionStorage.getItem(t))),sessionStorage.setItem(t,o),a)?r[He]:(r[Me]=ut(Me,e,ve(t)),we(t,e),a?r[Me]:r)}}function Io(t,e){if(t){var n=Lt(e),r=sr(t,Sn),i={};return!Pe(r.localStorage)&&Ut(n)&&(localStorage.removeItem(t),i[Fe]=r.localStorage),!Pe(r.cookie)&&Nt(n)&&(or(t),i[We]=r.cookie),!Pe(r.sessionStorage)&&Rt(n)&&(sessionStorage.removeItem(t),i[He]=r.sessionStorage),!Pe(r.global)&&ct(n,Me)&&(je(t),i[Me]=r.global),i}}function Lt(t){return t?se(t)?t:t.storage:In}function Ut(t){return vo&&ct(t,Fe)}function Nt(t){return bo&&ct(t,We)}function Rt(t){return wo&&ct(t,He)}function zt(t){return t===Sn||t==="all"}function ct(t,e){return t===In||t===e||zt(t)}function ut(t,e,n){return{location:t,current:e,previous:n}}var So={setItem:ko,getItem:sr,removeItem:Io};function _o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function cr(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function ur(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?cr(Object(n),!0).forEach(function(r){_o(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):cr(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function Eo(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:So};return po(ur(ur({},e),t))}function Po(t,e){e=e||{};var n,r,i=[],o=e.max||1/0;function a(){clearInterval(n),t(i.splice(0,o)),s()}function s(){n=setInterval(a,e.interval||1e4)}return s(),{flush:a,push:function(h){return r=i.push(h),r>=o&&a(),r},size:function(){return i.length},end:function(h){h&&a(),clearInterval(n)}}}function To(t){if(typeof window>"u")return;const{addEventListener:e,history:n,location:r}=window;let i=r.pathname;e("popstate",()=>t(r.pathname)),["push","replace"].map(o=>{const a=`${o}State`;if(a!=="pushState"&&a!=="replaceState")return;const s=n[a];n[a]=function(...h){var c;const f=((c=h[2])==null?void 0:c.toString())||"",u=jo(f);return i!==u&&(i=u,setTimeout(()=>t(f),0)),s.apply(n,h)}})}function Oo(t,e){const n=t.indexOf(e);return n>-1?t.slice(0,n):t}function jo(t){return["#","?"].forEach(e=>t=Oo(t,e)),t}function Co(){To(()=>{ae.page()})}function xo(t){if(t===void 0&&(t={}),!H)return Pt;var e=dr(),n=Dt(),r=lr(),i=lt(r,e),o=lt(n,e),a=[],s=[],h=[],f=r,u=i,c=o,p=Object.keys(t);if(!p.length)return Pt;var d=p.map(function(S){return Number(S)}),b=Ki(function(){var S=dr(),w=function($,U){return U.map(function(M){return M===100?$-5:$*(M/100)})}(S,d),P=Dt(),_=lr(),v=lt(_,S),l=lt(P,S);if(u=v>u?v:u,c=l<c?l:c,!(a.length>=d.length)){var k=f===_,T="up";k?T="initial":f<=_&&(T="down");var O=w,A=d;(T==="up"||k)&&(O=w.slice().reverse(),A=d.slice().reverse());var R=A.reduce(function($,U,M){var j=O[M];return h.includes(U)&&_<=j&&(h=h.filter(function(W){return W!==U}),$.singleFunction=U),T==="down"&&!a.includes(U)&&_>=j&&U>o?(s.push(U),$.callbacks=$.callbacks.concat(U),$):T==="up"&&!a.includes(U)&&_<=j&&U<=v?($.foundFunc=[U],$):(k&&_>=j&&$.foundFunc.length===0&&($.foundFunc=[U]),!s.includes(U)&&_>=j&&(s.push(U),$.singleFunction?h.push(U):$.singleFunction=U),$)},{foundFunc:[],singleFunction:null,callbacks:[],direction:T});if(f=_,T==="down"&&R.callbacks&&R.callbacks.forEach(function($){Y(t[$])&&(t[$]({trigger:$,direction:T,scrollMin:c,scrollMax:u,range:[c,u]}),a.push($))}),R.singleFunction){var z=R.singleFunction,K=R.direction;Y(t[z])&&t[z]({trigger:z,direction:K,scrollMin:c,scrollMax:u,range:[c,u]}),a.push(z)}}},500);return window.addEventListener("scroll",b),function(){return window.removeEventListener("scroll",b)}}function Dt(){return H?document.body.scrollTop||document.documentElement.scrollTop:0}function Ao(){return H?window.innerHeight||document.documentElement.clientHeight:0}function lr(){return Math.round(Dt()+Ao())}function dr(){if(!H)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function lt(t,e){return Math.round(t/e*100)}var hr="EventListener";function $o(t){return function(e,n,r,i){var o=r||Pt,a=i||!1;if(!H)return o;var s=dt(n),h=dt(e,!0);if(!h.length)throw new Error("noElements");if(!s.length)throw new Error("noEvent");var f=[];return function u(c){c&&(f=[]);for(var p=c?"add"+hr:"remove"+hr,d=0;d<h.length;d++){var b=h[d];f[d]=c?a&&a.once?Lo(o):o:f[d]||o;for(var S=0;S<s.length;S++)b[p]?b["on"+s[S]]=c?f[d]:null:b[p](s[S],f[d],a)}return u.bind(null,!c)}(t)}}function dt(t,e){if(se(t))return e?dt(document.querySelectorAll(t)):(n=t).split(n.indexOf(",")>-1?",":" ").map(function(a){return a.trim()});var n;if(NodeList.prototype.isPrototypeOf(t)){for(var r=[],i=t.length>>>0;i--;)r[i]=t[i];return r}var o=Ri(t);return e?o.map(function(a){return se(a)?dt(a,!0):a}).flat():o}function Lo(t,e){var n;return function(){return t&&(n=t.apply(this,arguments),t=null),n}}var Mt=$o("Event");function fr(t,e){return H&&Y(window[t])?(n=window[t],r=e,(i=window)===void 0&&(i=null),Y(n)?function(){n.apply(i,arguments),r.apply(i,arguments)}:r):window[t]=e;var n,r,i}fr.bind(null,"onerror"),fr.bind(null,"onload");var pr=typeof window>"u",mr="hidden";function Uo(t){if(pr)return!1;var e=No(),n="".concat(e.replace(/[H|h]idden/,""),"visibilitychange"),r=function(){return t(!!document[e])},i=function(){return document.addEventListener(n,r)};return i(),function(){return document.removeEventListener(n,r),i}}function No(){var t=["webkit","moz","ms","o"];return pr||mr in document?mr:t.reduce(function(e,n){var r=n+"Hidden";return!e&&r in document?r:e},null)}var Ro=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function zo(t,e){e===void 0&&(e={});var n=function(a,s){var h=this,f=!1;return function(u){f||(a.call(h,u),f=!0,setTimeout(function(){return f=!1},s))}}(t,e.throttle||1e4),r=[];function i(){var a=Uo(function(s){s||n({type:"tabVisible"})});return r=[a].concat(Ro.map(function(s){return Mt(document,s,n)})).concat(Mt(window,"load",n)).concat(Mt(window,"scroll",n,{capture:!0,passive:!0})),o}function o(){r.map(function(a){return a()})}return i(),function(){return o(),i}}function Do(t){var e,n,r=t.onIdle,i=t.onWakeUp,o=t.onHeartbeat,a=t.timeout,s=a===void 0?1e4:a,h=t.throttle,f=h===void 0?2e3:h,u=!1,c=!1,p=new Date,d=function(){return clearTimeout(e)};function b(w){d(),o&&!u&&o(Je(p),w),i&&u&&(u=!1,i(Je(n),w),p=new Date),e=setTimeout(function(){u=!0,r&&(n=new Date,r(Je(p),w))},s)}var S=zo(b,{throttle:f});return{disable:function(){c=!0,u=!1,d();var w=S();return function(){return c=!1,p=new Date,b({type:"load"}),w()}},getStatus:function(){return{isIdle:u,isDisabled:c,active:u?0:Je(p,c),idle:u?Je(n,c):0}}}}function Je(t,e){return e?0:Math.round((new Date-t)/1e3)}const gr=5e3;class Mo{constructor(e){Q(this,"element");Q(this,"isInViewport",!1);Q(this,"isAwake",!1);Q(this,"isFlushing");Q(this,"observer");Q(this,"lastEventAt",Date.now());Q(this,"registeredView",!1);Q(this,"viewCallback");Q(this,"activeDurationCallback");Q(this,"idleDurationCallback");Q(this,"scrollCallback");this.element=e.element,this.viewCallback=e.viewCallback,this.activeDurationCallback=e.activeDurationCallback,this.idleDurationCallback=e.idleDurationCallback,this.scrollCallback=e.scrollCallback,this.observer=new IntersectionObserver(n=>{n.forEach(r=>{this.handleInViewPort(r.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),Do({onIdle:n=>this.handleAwake(!1,n),onWakeUp:n=>this.handleAwake(!0,n),timeout:gr}),xo({25:this.handleScroll.bind(this),50:this.handleScroll.bind(this),75:this.handleScroll.bind(this),90:this.handleScroll.bind(this),100:this.handleScroll.bind(this)})}flush(){this.isFlushing=!0,this.handleAwake(!this.isAwake)}handleInViewPort(e){e?(this.isAwake=!0,this.trackInViewport()):this.handleAwake(!1),this.isInViewport=e}handleAwake(e,n=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=e,this.lastEventAt=e?Date.now()-n*gr:Date.now(),this.isInViewport&&this.trackAwake(e,n)}handleScroll(e){this.scrollCallback&&this.scrollCallback(e)}handleVisibilityChange(){this.isAwake=!1;const e=Math.round((Date.now()-this.lastEventAt)/1e3);e>1&&(this.lastEventAt=Date.now(),this.trackAwake(!1,e))}trackAwake(e,n){!e&&this.activeDurationCallback&&this.activeDurationCallback(n,this.isFlushing,this.lastEventAt),e&&this.idleDurationCallback&&this.idleDurationCallback(n,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}const yr="sesamy_session_id";function Zo(){let t=sessionStorage.getItem(yr);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(yr,t)),t}let vr=!1,Zt,wr,ht;function Ko({clientId:t,enabled:e=!0,endpoint:n=li}){if(Zt=t,wr=e,ht=n,!wr)return;Co();const r=new Mo({element:document.body,viewCallback:()=>{ae.page()},activeDurationCallback:(i,o,a)=>{ae.track("activeDuration",{duration:i,durationStart:a,flushing:o})},idleDurationCallback:(i,o,a)=>{ae.track("idleDuration",{duration:i,durationStart:a,flushing:o})},scrollCallback:i=>{ae.track("scroll",{scroll:i.scrollMax})}});Ho(document.body,()=>{r.flush()}),Jo(document.body,()=>{r.handleVisibilityChange()}),window.addEventListener(ee.AUTHENTICATED,async i=>{const o=i;await ae.identify(o.detail.sub)}),window.addEventListener(ee.LOGOUT,async()=>{await ae.track("logout",{}),Kt.flush(),await ae.reset()})}function br(t){return JSON.stringify(t.map(e=>({...e,clientId:Zt,requestId:Math.random().toString(36).slice(2,9),sessionId:Zo(),timestamp:new Date().toISOString(),version:Et,event:e.event,context:{page:{url:window.location.hostname,path:window.location.pathname,title:document.title,search:window.location.search,referrer:document.referrer},locale:navigator.language,library:wn,userAgent:navigator.userAgent,clientId:Zt}})))}const Kt=Po(async t=>{if(t.length>0){const e=br(t);vr?navigator.sendBeacon(ht,e):(await fetch(ht,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function Wt(t){var e;if(t.anonymousId)if((e=t.properties)!=null&&e.flushing){const n={...t};delete n.properties.flushing,navigator.sendBeacon(ht,br([n]))}else Kt.push(t)}const ae=Eo({app:wn,version:Et,plugins:[{name:"custom-analytics-plugin",page:({payload:t})=>{const{properties:e,anonymousId:n,userId:r,event:i}=t;Wt({anonymousId:n,userId:r,properties:e,event:i,type:"page"})},track:({payload:t})=>{const{properties:e,anonymousId:n,userId:r,event:i}=t;Wt({anonymousId:n,userId:r,properties:e,event:i,type:"track"})},identify:({payload:t})=>{const{properties:e,anonymousId:n,userId:r}=t;Wt({anonymousId:n,userId:r,properties:e,type:"identify"})}}]});function Wo(t,e){ae.track(t,e)}function Fo(){return vr=!0,Kt.flush()}const kr=new Map;function Ho(t,e){kr.set(t,e)}window.addEventListener("beforeunload",()=>{kr.forEach((t,e)=>{t.bind(e)()}),Fo()});const Ir=new Map;function Jo(t,e){Ir.set(t,e)}window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&Ir.forEach((t,e)=>{t.bind(e)()})});const Sr="sesamySignedURLs";function _r(){const t=sessionStorage.getItem(Sr);return t?JSON.parse(t):[]}function Xo(t){const e=_r();e.push(t),sessionStorage.setItem(Sr,JSON.stringify(e))}function Vo(t){const{getEntitlement:e,getEntitlements:n,getEntitlementAccess:r,getSubscriptions:i,getContract:o,getContracts:a,getBill:s,getBills:h,getProfile:f,updateProfile:u,getTags:c,deleteTag:p,setTag:d,getUserMetadata:b,listUserMetadata:S,setUserMetadata:w,deleteUserMetadata:P,getTally:_,getTallies:v,pushTally:l,deleteTally:k,getProduct:T,getPaymentIssues:O,isSpotifyLinked:A,unlinkSpotify:R,linkSpotify:z,autoOnboardProduct:K,openHostedAccountPage:$,generateLink:U}=Ti(t),M={auth:{getUser:f,isAuthenticated:un,loginWithRedirect:_t,logout:pi,setToken:dn},profile:{get:f,update:u,openHostedAccountPage:$,isSpotifyLinked:A,unlinkSpotify:R},analytics:{track:Wo},tags:{list:c,set:d,delete:p},entitlements:{get:e,list:n,access:r,signedLinks:_r},contracts:{get:o,list:a},bills:{get:s,list:h},userMetadata:{get:b,list:S,set:w,delete:P},tallies:{get:_,list:v,push:l,delete:k},subscriptions:{list:i},products:{get:T,autoOnboard:K,linkSpotify:z},getVersion:Yo,getPaymentIssues:O,generateLink:U,clearCache:te};return t.namespace&&(window[t.namespace]=M),M}function Yo(){return Et}function Go(){const t=new URLSearchParams(window.location.hash.substring(1)),e=t.get("access_token");if(e){dn(e);const n=new URL(window.location.href);t.delete("access_token"),n.hash=t.toString(),window.history.replaceState(null,"",n)}}const Er="sesamy-refresh",Pr="force-refetch-entitlements";function Bo(){const t=new URLSearchParams(window.location.search),e=t.get(Pr),n=t.get(Er);if(e!==null||n!==null){const r=new URL(window.location.href);t.delete(Pr),t.delete(Er),r.search=t.toString(),te(),window.history.replaceState(null,"",r)}}function qo(){const t=new URLSearchParams(window.location.search),e=t.get("token"),n=t.get("se");if(!n||!e)return;const r=parseInt(n,10);if(Number.isNaN(r)||r<Date.now())return;Xo({url:window.location.href.split("?")[0],token:e,expiresAt:r,publisherContentId:t.get("sp")??void 0});const i=new URL(window.location.href);i.searchParams.delete("ss"),i.searchParams.delete("se"),i.searchParams.delete("sp"),i.searchParams.delete("so"),i.searchParams.delete("token"),window.history.replaceState(null,"",i)}const Tr="sesamy-user";async function Qo(){const e=new URLSearchParams(window.location.search).get(Tr);if(!e)return;const n=await fi();(n==null?void 0:n.email)!==e&&(te(),_t({authorizationParams:{email_hint:e,login_hint:e}}));const r=new URL(window.location.href);r.searchParams.delete(Tr),window.history.replaceState(null,"",r)}const Or="sesamy-purchase";function ea(){const t=new URLSearchParams(window.location.search),e=t.get(Or);if(e!==null){const n=new URL(window.location.href);t.delete(Or),n.search=t.toString(),J(ee.PURCHASE,{itemSrc:e}),te(),window.history.replaceState(null,"",n)}}const jr="sesamy-login";async function ta(){if(!new URLSearchParams(window.location.search).get(jr))return;await un()||_t();const r=new URL(window.location.href);r.searchParams.delete(jr),window.history.replaceState(null,"",r)}async function Cr(t){Ko({clientId:t.clientId,...t.analytics}),await hi({clientId:t.clientId,organization:t.organization,...t.auth});const e=Vo({clientId:t.clientId,...t.api});return J(ee.READY,{}),Go(),Bo(),qo(),await ta(),await Qo(),ea(),e}if(typeof document<"u"){const t=document.getElementById("sesamy-js");if(t!=null&&t.textContent)try{const e=JSON.parse(t.textContent);Cr(e)}catch(e){console.error("Failed to parse config",e)}}return re.init=Cr,Object.defineProperty(re,Symbol.toStringTag,{value:"Module"}),re}({});
4
+ `)})(),e.cache&&e.cacheLocation&&console.warn("Both `cache` and `cacheLocation` options have been specified in the Auth0Client configuration; ignoring `cacheLocation` and using `cache`."),e.cache)r=e.cache;else{if(n=e.cacheLocation||"memory",!sn(n))throw new Error(`Invalid cache location "${n}"`);r=sn(n)()}this.httpTimeoutMs=e.httpTimeoutInSeconds?1e3*e.httpTimeoutInSeconds:1e4,this.cookieStorage=e.legacySameSiteCookie===!1?Se:ti,this.orgHintCookieName=`auth0.${this.options.clientId}.organization_hint`,this.isAuthenticatedCookieName=(a=>`auth0.${a}.is.authenticated`)(this.options.clientId),this.sessionCheckExpiryDays=e.sessionCheckExpiryDays||1;const i=e.useCookiesForTransactions?this.cookieStorage:ni;var o;this.scope=Ye("openid",this.options.authorizationParams.scope,this.options.useRefreshTokens?"offline_access":""),this.transactionManager=new Br(i,this.options.clientId,this.options.cookieDomain),this.nowProvider=this.options.nowProvider||Yt,this.cacheManager=new Gr(r,r.allKeys?void 0:new oi(r,this.options.clientId),this.nowProvider),this.domainUrl=(o=this.options.domain,/^https?:\/\//.test(o)?o:`https://${o}`),this.tokenIssuer=((a,s)=>a?a.startsWith("https://")?a:`https://${a}/`:`${s}/`)(this.options.issuer,this.domainUrl),typeof window<"u"&&window.Worker&&this.options.useRefreshTokens&&n==="memory"&&(this.options.workerUrl?this.worker=new Worker(this.options.workerUrl):this.worker=new ii)}_url(e){const n=encodeURIComponent(btoa(JSON.stringify(this.options.auth0Client||Vt)));return`${this.domainUrl}${e}&auth0Client=${n}`}_authorizeUrl(e){return this._url(`/authorize?${vt(e)}`)}async _verifyIdToken(e,n,r){const i=await this.nowProvider();return Qr({iss:this.tokenIssuer,aud:this.options.clientId,id_token:e,nonce:n,organization:r,leeway:this.options.leeway,max_age:(o=this.options.authorizationParams.max_age,typeof o!="string"?o:parseInt(o,10)||void 0),now:i});var o}_processOrgHint(e){e?this.cookieStorage.save(this.orgHintCookieName,e,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}):this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain})}async _prepareAuthorizeUrl(e,n,r){const i=qt(wt()),o=qt(wt()),a=wt(),s=(u=>{const c=new Uint8Array(u);return(p=>{const h={"+":"-","/":"_","=":""};return p.replace(/[+/=]/g,b=>h[b])})(window.btoa(String.fromCharCode(...Array.from(c))))})(await(async u=>await Ve().subtle.digest({name:"SHA-256"},new TextEncoder().encode(u)))(a)),l=((u,c,p,h,b,S,v,P)=>Object.assign(Object.assign(Object.assign({client_id:u.clientId},u.authorizationParams),p),{scope:Ye(c,p.scope),response_type:"code",response_mode:P||"query",state:h,nonce:b,redirect_uri:v||u.authorizationParams.redirect_uri,code_challenge:S,code_challenge_method:"S256"}))(this.options,this.scope,e,i,o,s,e.redirect_uri||this.options.authorizationParams.redirect_uri||r,n==null?void 0:n.response_mode),f=this._authorizeUrl(l);return{nonce:o,code_verifier:a,scope:l.scope,audience:l.audience||"default",redirect_uri:l.redirect_uri,state:i,url:f}}async loginWithPopup(e,n){var r;if(e=e||{},!(n=n||{}).popup&&(n.popup=(s=>{const l=window.screenX+(window.innerWidth-400)/2,f=window.screenY+(window.innerHeight-600)/2;return window.open(s,"auth0:authorize:popup",`left=${l},top=${f},width=400,height=600,resizable,scrollbars=yes,status=1`)})(""),!n.popup))throw new Error("Unable to open a popup for loginWithPopup - window.open returned `null`");const i=await this._prepareAuthorizeUrl(e.authorizationParams||{},{response_mode:"web_message"},window.location.origin);n.popup.location.href=i.url;const o=await(s=>new Promise((l,f)=>{let u;const c=setInterval(()=>{s.popup&&s.popup.closed&&(clearInterval(c),clearTimeout(p),window.removeEventListener("message",u,!1),f(new Kr(s.popup)))},1e3),p=setTimeout(()=>{clearInterval(c),f(new Zr(s.popup)),window.removeEventListener("message",u,!1)},1e3*(s.timeoutInSeconds||60));u=function(h){if(h.data&&h.data.type==="authorization_response"){if(clearTimeout(p),clearInterval(c),window.removeEventListener("message",u,!1),s.popup.close(),h.data.response.error)return f(B.fromPayload(h.data.response));l(h.data.response)}},window.addEventListener("message",u)}))(Object.assign(Object.assign({},n),{timeoutInSeconds:n.timeoutInSeconds||this.options.authorizeTimeoutInSeconds||60}));if(i.state!==o.state)throw new B("state_mismatch","Invalid state");const a=((r=e.authorizationParams)===null||r===void 0?void 0:r.organization)||this.options.authorizationParams.organization;await this._requestToken({audience:i.audience,scope:i.scope,code_verifier:i.code_verifier,grant_type:"authorization_code",code:o.code,redirect_uri:i.redirect_uri},{nonceIn:i.nonce,organization:a})}async getUser(){var e;const n=await this._getIdTokenFromCache();return(e=n==null?void 0:n.decodedToken)===null||e===void 0?void 0:e.user}async getIdTokenClaims(){var e;const n=await this._getIdTokenFromCache();return(e=n==null?void 0:n.decodedToken)===null||e===void 0?void 0:e.claims}async loginWithRedirect(e={}){var n;const r=cn(e),{openUrl:i,fragment:o,appState:a}=r,s=V(r,["openUrl","fragment","appState"]),l=((n=s.authorizationParams)===null||n===void 0?void 0:n.organization)||this.options.authorizationParams.organization,f=await this._prepareAuthorizeUrl(s.authorizationParams||{}),{url:u}=f,c=V(f,["url"]);this.transactionManager.create(Object.assign(Object.assign(Object.assign({},c),{appState:a}),l&&{organization:l}));const p=o?`${u}#${o}`:u;i?await i(p):window.location.assign(p)}async handleRedirectCallback(e=window.location.href){const n=e.split("?").slice(1);if(n.length===0)throw new Error("There are no query params available for parsing.");const{state:r,code:i,error:o,error_description:a}=(c=>{c.indexOf("#")>-1&&(c=c.substring(0,c.indexOf("#")));const p=new URLSearchParams(c);return{state:p.get("state"),code:p.get("code")||void 0,error:p.get("error")||void 0,error_description:p.get("error_description")||void 0}})(n.join("")),s=this.transactionManager.get();if(!s)throw new B("missing_transaction","Invalid state");if(this.transactionManager.remove(),o)throw new Mr(o,a||o,r,s.appState);if(!s.code_verifier||s.state&&s.state!==r)throw new B("state_mismatch","Invalid state");const l=s.organization,f=s.nonce,u=s.redirect_uri;return await this._requestToken(Object.assign({audience:s.audience,scope:s.scope,code_verifier:s.code_verifier,grant_type:"authorization_code",code:i},u?{redirect_uri:u}:{}),{nonceIn:f,organization:l}),{appState:s.appState}}async checkSession(e){if(!this.cookieStorage.get(this.isAuthenticatedCookieName)){if(!this.cookieStorage.get("auth0.is.authenticated"))return;this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove("auth0.is.authenticated")}try{await this.getTokenSilently(e)}catch{}}async getTokenSilently(e={}){var n;const r=Object.assign(Object.assign({cacheMode:"on"},e),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),e.authorizationParams),{scope:Ye(this.scope,(n=e.authorizationParams)===null||n===void 0?void 0:n.scope)})}),i=await((o,a)=>{let s=kt[a];return s||(s=o().finally(()=>{delete kt[a],s=null}),kt[a]=s),s})(()=>this._getTokenSilently(r),`${this.options.clientId}::${r.authorizationParams.audience}::${r.authorizationParams.scope}`);return e.detailedResponse?i:i==null?void 0:i.access_token}async _getTokenSilently(e){const{cacheMode:n}=e,r=V(e,["cacheMode"]);if(n!=="off"){const i=await this._getEntryFromCache({scope:r.authorizationParams.scope,audience:r.authorizationParams.audience||"default",clientId:this.options.clientId});if(i)return i}if(n!=="cache-only"){if(!await(async(i,o=3)=>{for(let a=0;a<o;a++)if(await i())return!0;return!1})(()=>It.acquireLock("auth0.lock.getTokenSilently",5e3),10))throw new yt;try{if(window.addEventListener("pagehide",this._releaseLockOnPageHide),n!=="off"){const f=await this._getEntryFromCache({scope:r.authorizationParams.scope,audience:r.authorizationParams.audience||"default",clientId:this.options.clientId});if(f)return f}const i=this.options.useRefreshTokens?await this._getTokenUsingRefreshToken(r):await this._getTokenFromIFrame(r),{id_token:o,access_token:a,oauthTokenScope:s,expires_in:l}=i;return Object.assign(Object.assign({id_token:o,access_token:a},s?{scope:s}:null),{expires_in:l})}finally{await It.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)}}}async getTokenWithPopup(e={},n={}){var r;const i=Object.assign(Object.assign({},e),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),e.authorizationParams),{scope:Ye(this.scope,(r=e.authorizationParams)===null||r===void 0?void 0:r.scope)})});return n=Object.assign(Object.assign({},zr),n),await this.loginWithPopup(i,n),(await this.cacheManager.get(new pe({scope:i.authorizationParams.scope,audience:i.authorizationParams.audience||"default",clientId:this.options.clientId}))).access_token}async isAuthenticated(){return!!await this.getUser()}_buildLogoutUrl(e){e.clientId!==null?e.clientId=e.clientId||this.options.clientId:delete e.clientId;const n=e.logoutParams||{},{federated:r}=n,i=V(n,["federated"]),o=r?"&federated":"";return this._url(`/v2/logout?${vt(Object.assign({clientId:e.clientId},i))}`)+o}async logout(e={}){const n=cn(e),{openUrl:r}=n,i=V(n,["openUrl"]);e.clientId===null?await this.cacheManager.clear():await this.cacheManager.clear(e.clientId||this.options.clientId),this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove(this.isAuthenticatedCookieName,{cookieDomain:this.options.cookieDomain}),this.userCache.remove("@@user@@");const o=this._buildLogoutUrl(i);r?await r(o):r!==!1&&window.location.assign(o)}async _getTokenFromIFrame(e){const n=Object.assign(Object.assign({},e.authorizationParams),{prompt:"none"}),r=this.cookieStorage.get(this.orgHintCookieName);r&&!n.organization&&(n.organization=r);const{url:i,state:o,nonce:a,code_verifier:s,redirect_uri:l,scope:f,audience:u}=await this._prepareAuthorizeUrl(n,{response_mode:"web_message"},window.location.origin);try{if(window.crossOriginIsolated)throw new B("login_required","The application is running in a Cross-Origin Isolated context, silently retrieving a token without refresh token is not possible.");const c=e.timeoutInSeconds||this.options.authorizeTimeoutInSeconds,p=await((b,S,v=60)=>new Promise((P,_)=>{const w=window.document.createElement("iframe");w.setAttribute("width","0"),w.setAttribute("height","0"),w.style.display="none";const d=()=>{window.document.body.contains(w)&&(window.document.body.removeChild(w),window.removeEventListener("message",k,!1))};let k;const T=setTimeout(()=>{_(new yt),d()},1e3*v);k=function(O){if(O.origin!=S||!O.data||O.data.type!=="authorization_response")return;const A=O.source;A&&A.close(),O.data.response.error?_(B.fromPayload(O.data.response)):P(O.data.response),clearTimeout(T),window.removeEventListener("message",k,!1),setTimeout(d,2e3)},window.addEventListener("message",k,!1),window.document.body.appendChild(w),w.setAttribute("src",b)}))(i,this.domainUrl,c);if(o!==p.state)throw new B("state_mismatch","Invalid state");const h=await this._requestToken(Object.assign(Object.assign({},e.authorizationParams),{code_verifier:s,code:p.code,grant_type:"authorization_code",redirect_uri:l,timeout:e.authorizationParams.timeout||this.httpTimeoutMs}),{nonceIn:a,organization:n.organization});return Object.assign(Object.assign({},h),{scope:f,oauthTokenScope:h.scope,audience:u})}catch(c){throw c.error==="login_required"&&this.logout({openUrl:!1}),c}}async _getTokenUsingRefreshToken(e){const n=await this.cacheManager.get(new pe({scope:e.authorizationParams.scope,audience:e.authorizationParams.audience||"default",clientId:this.options.clientId}));if(!(n&&n.refresh_token||this.worker)){if(this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(e);throw new Gt(e.authorizationParams.audience||"default",e.authorizationParams.scope)}const r=e.authorizationParams.redirect_uri||this.options.authorizationParams.redirect_uri||window.location.origin,i=typeof e.timeoutInSeconds=="number"?1e3*e.timeoutInSeconds:null;try{const o=await this._requestToken(Object.assign(Object.assign(Object.assign({},e.authorizationParams),{grant_type:"refresh_token",refresh_token:n&&n.refresh_token,redirect_uri:r}),i&&{timeout:i}));return Object.assign(Object.assign({},o),{scope:e.authorizationParams.scope,oauthTokenScope:o.scope,audience:e.authorizationParams.audience||"default"})}catch(o){if((o.message.indexOf("Missing Refresh Token")>-1||o.message&&o.message.indexOf("invalid refresh token")>-1)&&this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(e);throw o}}async _saveEntryInCache(e){const{id_token:n,decodedToken:r}=e,i=V(e,["id_token","decodedToken"]);this.userCache.set("@@user@@",{id_token:n,decodedToken:r}),await this.cacheManager.setIdToken(this.options.clientId,e.id_token,e.decodedToken),await this.cacheManager.set(i)}async _getIdTokenFromCache(){const e=this.options.authorizationParams.audience||"default",n=await this.cacheManager.getIdToken(new pe({clientId:this.options.clientId,audience:e,scope:this.scope})),r=this.userCache.get("@@user@@");return n&&n.id_token===(r==null?void 0:r.id_token)?r:(this.userCache.set("@@user@@",n),n)}async _getEntryFromCache({scope:e,audience:n,clientId:r}){const i=await this.cacheManager.get(new pe({scope:e,audience:n,clientId:r}),60);if(i&&i.access_token){const{access_token:o,oauthTokenScope:a,expires_in:s}=i,l=await this._getIdTokenFromCache();return l&&Object.assign(Object.assign({id_token:l.id_token,access_token:o},a?{scope:a}:null),{expires_in:s})}}async _requestToken(e,n){const{nonceIn:r,organization:i}=n||{},o=await Vr(Object.assign({baseUrl:this.domainUrl,client_id:this.options.clientId,auth0Client:this.options.auth0Client,useFormData:this.options.useFormData,timeout:this.httpTimeoutMs},e),this.worker),a=await this._verifyIdToken(o.id_token,r,i);return await this._saveEntryInCache(Object.assign(Object.assign(Object.assign(Object.assign({},o),{decodedToken:a,scope:e.scope,audience:e.audience||"default"}),o.scope?{oauthTokenScope:o.scope}:null),{client_id:this.options.clientId})),this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this._processOrgHint(i||a.claims.org_id),Object.assign(Object.assign({},o),{decodedToken:a})}};async function ci(t){const e=new si(t);return await e.checkSession(),e}const se="sesamy.com",ui="https://sesa.my",li="https://logs.sesamy.com/events",St="sesamyCacheTimestamp";var ee=(t=>(t.READY="sesamyJsReady",t.AUTHENTICATED="sesamyJsAuthenticated",t.LOGOUT="sesamyJsLogout",t.CLEAR_CACHE="sesamyJsClearCache",t.USER_ATTRIBUTE_CHANGED="sesamyUserAttributeChanged",t.PURCHASE="sesamyJsPurchase",t))(ee||{});let q,un;const De="sesamyAccessToken";function _t(){const t=localStorage.getItem(De);if(!t)return null;const e=ln(t);return(!e||!e.exp||e.exp<new Date().getTime()/1e3)&&localStorage.removeItem(De),t}function di(t){try{const e=new URL(t).hostname,n=e.split(".");return n.length>1?n.slice(-2).join("."):e}catch{return null}}async function hi(t){if(t.enabled===!1)return;un=t.organization;const e={domain:t.endpoint||`token.${se}`,clientId:t.clientId,useCookiesForTransactions:!0};if(di(window.location.href)!==se&&(e.cacheLocation="localstorage",e.useRefreshTokens=!0),q=await ci(e),window.location.search.includes("code="))try{await q.handleRedirectCallback();const n=await q.getUser();J(ee.AUTHENTICATED,n);const r=new URL(location.href),i=r.searchParams;i.delete("code"),i.delete("state"),r.search=i.toString(),window.history.replaceState({},document.title,r.toString())}catch(n){console.error(n)}}async function Ge(){return _t()?!0:q?q.isAuthenticated():!1}async function fi(){return _t()?{sub:"local",name:"Local User"}:q?q.getUser():null}function Et(t){if(localStorage.removeItem(De),!q)throw new Error("Auth0 client not initialized");const e=(t==null?void 0:t.authorizationParams)||{};return q.loginWithRedirect({...t,authorizationParams:{organization:un,redirect_uri:window.location.href,...e}})}async function _e(t=!0){const e=_t();if(e)return e;try{return q?await q.getTokenSilently():null}catch(n){if(t)throw n;return null}}async function pi(t={}){if(localStorage.removeItem(De),J(ee.LOGOUT,{}),!!q)return q.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function ln(t){const e=t.split(".");if(e.length!==3)return null;const r=e[1].replace(/-/g,"+").replace(/_/g,"/"),i=decodeURIComponent(atob(r).split("").map(function(o){return"%"+("00"+o.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(i)}async function dn(t){const e=ln(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");localStorage.setItem(De,t),J(ee.AUTHENTICATED,e)}const mi=(t,e)=>e.skipDedupe||e.method!=="GET",gi=(t,e)=>e.method+"@"+t,yi=t=>t.clone(),hn=({skip:t=mi,key:e=gi,resolver:n=yi}={})=>{const r=new Map;return i=>(o,a)=>{if(t(o,a))return i(o,a);const s=e(o,a);if(!r.has(s))r.set(s,[]);else return new Promise((l,f)=>{r.get(s).push([l,f])});try{return i(o,a).then(l=>(r.get(s).forEach(([f])=>f(n(l))),r.delete(s),l)).catch(l=>{throw r.get(s).forEach(([f,u])=>u(l)),r.delete(s),l})}catch(l){return r.delete(s),Promise.reject(l)}}},wi=(t,e)=>t*e,vi=t=>t&&t.ok,fn=({delayTimer:t=500,delayRamp:e=wi,maxAttempts:n=10,until:r=vi,onRetry:i=null,retryOnNetworkError:o=!1,resolveWithLatestResponse:a=!1,skip:s}={})=>l=>(f,u)=>{let c=0;if(s&&s(f,u))return l(f,u);const p=(h,b)=>Promise.resolve(r(h,b)).then(S=>S?h&&a?h:b?Promise.reject(b):h:(c++,!n||c<=n?new Promise(v=>{const P=e(t,c);setTimeout(()=>{typeof i=="function"?Promise.resolve(i({response:h,error:b,url:f,options:u})).then((_={})=>{var w,d;v(l((w=_&&_.url)!==null&&w!==void 0?w:f,(d=_&&_.options)!==null&&d!==void 0?d:u))}):v(l(f,u))},P)}).then(p).catch(v=>{if(!o)throw v;return p(null,v)}):h&&a?h:Promise.reject(b||new Error("Number of attempts exceeded."))));return l(f,u).then(p).catch(h=>{if(!o)throw h;return p(null,h)})},bi="application/json",pn="Content-Type",Ee=Symbol(),mn=Symbol();function gn(t={}){var e;return(e=Object.entries(t).find(([n])=>n.toLowerCase()===pn.toLowerCase()))===null||e===void 0?void 0:e[1]}function yn(t){return/^application\/.*json.*/.test(t)}const ge=function(t,e,n=!1){return Object.entries(e).reduce((r,[i,o])=>{const a=t[i];return Array.isArray(a)&&Array.isArray(o)?r[i]=n?[...a,...o]:o:typeof a=="object"&&typeof o=="object"?r[i]=ge(a,o,n):r[i]=o,r},{...t})},Pe={options:{},errorType:"text",polyfills:{},polyfill(t,e=!0,n=!1,...r){const i=this.polyfills[t]||(typeof self<"u"?self[t]:null)||(typeof global<"u"?global[t]:null);if(e&&!i)throw new Error(t+" is not defined");return n&&i?new i(...r):i}};function ki(t,e=!1){Pe.options=e?t:ge(Pe.options,t)}function Ii(t,e=!1){Pe.polyfills=e?t:ge(Pe.polyfills,t)}function Si(t){Pe.errorType=t}const _i=t=>e=>t.reduceRight((n,r)=>r(n),e)||e;class wn extends Error{}const Ei=t=>{const e=Object.create(null);t=t._addons.reduce((w,d)=>d.beforeRequest&&d.beforeRequest(w,t._options,e)||w,t);const{_url:n,_options:r,_config:i,_catchers:o,_resolvers:a,_middlewares:s,_addons:l}=t,f=new Map(o),u=ge(i.options,r);let c=n;const p=_i(s)((w,d)=>(c=w,i.polyfill("fetch")(w,d)))(n,u),h=new Error,b=p.catch(w=>{throw{[Ee]:w}}).then(w=>{if(!w.ok){const d=new wn;if(d.cause=h,d.stack=d.stack+`
5
+ CAUSE: `+h.stack,d.response=w,d.url=c,w.type==="opaque")throw d;return w.text().then(k=>{var T;if(d.message=k,i.errorType==="json"||((T=w.headers.get("Content-Type"))===null||T===void 0?void 0:T.split(";")[0])==="application/json")try{d.json=JSON.parse(k)}catch{}throw d.text=k,d.status=w.status,d})}return w}),S=w=>w.catch(d=>{const k=d.hasOwnProperty(Ee),T=k?d[Ee]:d,O=(T==null?void 0:T.status)&&f.get(T.status)||f.get(T==null?void 0:T.name)||k&&f.has(Ee)&&f.get(Ee);if(O)return O(T,t);const A=f.get(mn);if(A)return A(T,t);throw T}),v=w=>d=>S(w?b.then(k=>k&&k[w]()).then(k=>d?d(k):k):b.then(k=>d?d(k):k)),P={_wretchReq:t,_fetchReq:p,_sharedState:e,res:v(null),json:v("json"),blob:v("blob"),formData:v("formData"),arrayBuffer:v("arrayBuffer"),text:v("text"),error(w,d){return f.set(w,d),this},badRequest(w){return this.error(400,w)},unauthorized(w){return this.error(401,w)},forbidden(w){return this.error(403,w)},notFound(w){return this.error(404,w)},timeout(w){return this.error(408,w)},internalError(w){return this.error(500,w)},fetchError(w){return this.error(Ee,w)}},_=l.reduce((w,d)=>({...w,...typeof d.resolver=="function"?d.resolver(w):d.resolver}),P);return a.reduce((w,d)=>d(w,t),_)},Pi={_url:"",_options:{},_config:Pe,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(t){return{...this,_addons:[...this._addons,t],...t.wretch}},errorType(t){return{...this,_config:{...this._config,errorType:t}}},polyfills(t,e=!1){return{...this,_config:{...this._config,polyfills:e?t:ge(this._config.polyfills,t)}}},url(t,e=!1){if(e)return{...this,_url:t};const n=this._url.split("?");return{...this,_url:n.length>1?n[0]+t+"?"+n[1]:this._url+t}},options(t,e=!1){return{...this,_options:e?t:ge(this._options,t)}},headers(t){const e=t?Array.isArray(t)?Object.fromEntries(t):"entries"in t?Object.fromEntries(t.entries()):t:{};return{...this,_options:ge(this._options,{headers:e})}},accept(t){return this.headers({Accept:t})},content(t){return this.headers({[pn]:t})},auth(t){return this.headers({Authorization:t})},catcher(t,e){const n=new Map(this._catchers);return n.set(t,e),{...this,_catchers:n}},catcherFallback(t){return this.catcher(mn,t)},resolve(t,e=!1){return{...this,_resolvers:e?[t]:[...this._resolvers,t]}},defer(t,e=!1){return{...this,_deferred:e?[t]:[...this._deferred,t]}},middlewares(t,e=!1){return{...this,_middlewares:e?t:[...this._middlewares,...t]}},fetch(t=this._options.method,e="",n=null){let r=this.url(e).options({method:t});const i=gn(r._options.headers),o=this._config.polyfill("FormData",!1),a=typeof n=="object"&&!(o&&n instanceof o)&&(!r._options.headers||!i||yn(i));return r=n?a?r.json(n,i):r.body(n):r,Ei(r._deferred.reduce((s,l)=>l(s,s._url,s._options),r))},get(t=""){return this.fetch("GET",t)},delete(t=""){return this.fetch("DELETE",t)},put(t,e=""){return this.fetch("PUT",e,t)},post(t,e=""){return this.fetch("POST",e,t)},patch(t,e=""){return this.fetch("PATCH",e,t)},head(t=""){return this.fetch("HEAD",t)},opts(t=""){return this.fetch("OPTIONS",t)},body(t){return{...this,_options:{...this._options,body:t}}},json(t,e){const n=gn(this._options.headers);return this.content(e||yn(n)&&n||bi).body(JSON.stringify(t))}};function ie(t="",e={}){return{...Pi,_url:t,_options:e}}ie.default=ie,ie.options=ki,ie.errorType=Si,ie.polyfills=Ii,ie.WretchError=wn;function te(){sessionStorage.removeItem(St),J(ee.CLEAR_CACHE,{})}function Ti(t){const e=t.endpoint||`https://api2.${se}`,n=g=>async(I,E)=>{let L=sessionStorage.getItem(St);L||(L=Date.now().toString(),sessionStorage.setItem(St,L));const Z={...E,headers:{...E.headers,"Cache-Timestamp":L}};return g(I,Z)},r=(g=!0)=>I=>async(E,L)=>{let Z=null;if(Z=await _e(g),!Z){if(g)throw new Error("No access token available");return I(E,L)}const R={...L,headers:{...L.headers,...Z?{Authorization:`Bearer ${Z}`}:{}}};return I(E,R)},i=g=>(I,E)=>{if(E.headers.Authorization)return g(I,E);const L=localStorage.getItem("__anon_id"),Z=btoa(`${L}:`),R={...E,headers:{...E.headers,Authorization:`Basic ${Z}`}};return g(I,R)},o=ie(e).headers({"Content-Type":"application/json"}).middlewares([n,r(),hn(),fn({delayTimer:1e3,delayRamp:(g,I)=>g*I,maxAttempts:3,until:g=>!!(g&&(g.ok||g.status>=400&&g.status<500)),retryOnNetworkError:!1})]),a=ie(e).headers({"Content-Type":"application/json"}).middlewares([n,r(!1),i,hn(),fn({delayTimer:1e3,delayRamp:(g,I)=>g*I,maxAttempts:3,until:g=>!!(g&&(g.ok||g.status>=400&&g.status<500)),retryOnNetworkError:!1})]);async function s(){return o.get("/entitlements").json()}async function l(g){const I=await o.get("/entitlements").json();return I==null?void 0:I.find(E=>E.id===g)}async function f(g){return o.get(`/entitlements/${g}/access`).json()}async function u(){return o.get("/contracts").json()}async function c(g){const I=await o.get("/contracts").json();return I==null?void 0:I.find(E=>E.id===g)}async function p(){return o.get("/subscriptions").json()}async function h(){return o.get("/bills").json()}async function b(g){const I=await o.get("/bills").json();return I==null?void 0:I.find(E=>E.id===g)}async function S(g,I){const E=await o.url(`/user-metadata/${g}`).put(I).json();return J(ee.USER_ATTRIBUTE_CHANGED,{}),te(),E}async function v(g){const I=await o.url(`/user-metadata/${g}`).delete().res();return te(),I.ok}async function P(g){return(await o.url(`/user-metadata/${g}`).get().json())[g]}async function _(){return await o.url("/user-metadata").get().json()}async function w(){return await o.url("/tags").get().json()}async function d(g){const I=await o.url(`/tags/${g}`).delete().res();return te(),I.ok}async function k(g){const I=await o.url("/tags").post(g).res();return J(ee.USER_ATTRIBUTE_CHANGED,{}),te(),I.ok}async function T(g){return(await a.url("/tallies").get().json())[g]}async function O(){return await a.url("/tallies").get().json()}async function A(g){const I=await a.url(`/tallies/${g}`).delete().res();return te(),I.ok}async function N(g,I){return await a.url(`/tallies/${g}/push`).post(I).json()}async function D(g){return await o.url(`/products/${g}`).get().json()}async function K(){return await _e(!1)?await o.url("/profile").get().json():null}async function $(g){const I=await o.url("/profile").patch(g).res();return te(),I.ok}async function U(){return await o.url("/payment-issues").get().json()}async function M(){return(await o.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function C(){return(await o.url("/profile/unlink-spotify").post().res()).ok}async function W(g){const I=await _e(!1);if(!I)throw new Error("No access token available");const E=new URL(`https://spotify-oas.${se}/sesamy-callback`);E.searchParams.set("access_token",I),E.searchParams.set("state",g),window.location.href=E.toString()}async function X(g){const I=await o.url(`/products/${g}/auto-onboard`).post().json();return I.length&&te(),I}async function Ie(g,I=3600){const{shortlink:E}=await ie(ui).post({url:g,ttl:I}).json();return E}async function m(g){const I=await _e(!1);let E;switch(g.target){case"account":E=new URL(`https://account.${se}/subscriptions/${t.clientId}`);break;case"consume":E=new URL(`https://consume.${se}/@${t.clientId}/${g.sku}`),g.episodeId&&(E.href+=`/${g.episodeId}`);break;default:throw new Error("Invalid target")}return E.searchParams.set("sesamy-redirect-url",g.redirectUrl||window.location.href),I&&(E.hash=`#access_token=${I}`),g.shorten?Ie(E.href,g.ttl):E.href}async function y(){const g=await _e(!1),I=new URL(`https://account.${se}/subscriptions/${t.clientId}`);g&&(I.hash=`#access_token=${g}`),window.location.href=I.toString()}return{getEntitlements:s,getEntitlement:l,getEntitlementAccess:f,getContracts:u,getContract:c,getProfile:K,updateProfile:$,getSubscriptions:p,getBills:h,getBill:b,setUserMetadata:S,deleteUserMetadata:v,getUserMetadata:P,listUserMetadata:_,getTags:w,deleteTag:d,setTag:k,getTally:T,getTallies:O,deleteTally:A,pushTally:N,getProduct:D,getPaymentIssues:U,autoOnboardProduct:X,isSpotifyLinked:M,unlinkSpotify:C,linkSpotify:W,generateLink:m,openHostedAccountPage:y}}const vn="@sesamy/sesamy-js",Pt="1.13.2";function bn(t,e,n,r,i){for(e=e.split?e.split("."):e,r=0;r<e.length;r++)t=t?t[e[r]]:i;return t===i?n:t}var Be="undefined",kn="object",Tt=function(){},In="any",Sn="*",ye="__",qe=typeof process<"u"?process:{};qe.env&&qe.env.NODE_ENV;var H=typeof document<"u";qe.versions!=null&&qe.versions.node!=null,typeof Deno<"u"&&Deno.core,H&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent!==void 0&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function _n(t,e){return e.charAt(0)[t]()+e.slice(1)}var Oi=_n.bind(null,"toUpperCase"),Ci=_n.bind(null,"toLowerCase");function ji(t){return En(t)?Oi("null"):typeof t=="object"?Li(t):Object.prototype.toString.call(t).slice(8,-1)}function Qe(t,e){e===void 0&&(e=!0);var n=ji(t);return e?Ci(n):n}function ze(t,e){return typeof e===t}var Y=ze.bind(null,"function"),ce=ze.bind(null,"string"),Te=ze.bind(null,"undefined"),xi=ze.bind(null,"boolean");ze.bind(null,"symbol");function En(t){return t===null}function Ai(t){return Qe(t)==="number"&&!isNaN(t)}function Pn(t){return Qe(t)==="array"}function G(t){if(!$i(t))return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function $i(t){return t&&(typeof t=="object"||t!==null)}function Li(t){return Y(t.constructor)?t.constructor.name:null}function Ui(t){return t instanceof Error||ce(t.message)&&t.constructor&&Ai(t.constructor.stackTraceLimit)}function Tn(t,e){if(typeof e!="object"||En(e))return!1;if(e instanceof t)return!0;var n=Qe(new t(""));if(Ui(e))for(;e;){if(Qe(e)===n)return!0;e=Object.getPrototypeOf(e)}return!1}Tn.bind(null,TypeError),Tn.bind(null,SyntaxError);function et(t,e){var n=t instanceof Element||t instanceof HTMLDocument;return n&&e?Ri(t,e):n}function Ri(t,e){return e===void 0&&(e=""),t&&t.nodeName===e.toUpperCase()}function tt(t){var e=[].slice.call(arguments,1);return function(){return t.apply(void 0,[].slice.call(arguments).concat(e))}}tt(et,"form"),tt(et,"button"),tt(et,"input"),tt(et,"select");function Ni(t){return t?Pn(t)?t:[t]:[]}function On(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch{return null}}function Di(){if(H){var t=navigator,e=t.languages;return t.userLanguage||(e&&e.length?e[0]:t.language)}}function zi(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function Mi(t){return function(e){for(var n,r=Object.create(null),i=/([^&=]+)=?([^&]*)/g;n=i.exec(e);){var o=On(n[1]),a=On(n[2]);o.substring(o.length-2)==="[]"?(r[o=o.substring(0,o.length-2)]||(r[o]=[])).push(a):r[o]=a===""||a}for(var s in r){var l=s.split("[");l.length>1&&(Zi(r,l.map(function(f){return f.replace(/[?[\]\\ ]/g,"")}),r[s]),delete r[s])}return r}(function(e){return H&&window.location.search.substring(1)}())}function Zi(t,e,n){for(var r=e.length-1,i=0;i<r;++i){var o=e[i];if(o==="__proto__"||o==="constructor")break;o in t||(t[o]={}),t=t[o]}t[e[r]]=n}function nt(){for(var t="",e=0,n=4294967295*Math.random()|0;e++<36;){var r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[e-1],i=15&n;t+=r=="-"||r=="4"?r:(r=="x"?i:3&i|8).toString(16),n=e%8==0?4294967295*Math.random()|0:n>>4}return t}function Ki(t,e){var n,r,i,o=null,a=0,s=function(){a=new Date,o=null,i=t.apply(n,r)};return function(){var l=new Date;a||(a=l);var f=e-(l-a);return n=this,r=arguments,f<=0?(clearTimeout(o),o=null,a=l,i=t.apply(n,r)):o||(o=setTimeout(s,f)),i}}var Me="global",Oe=ye+"global"+ye,Ce=typeof self===kn&&self.self===self&&self||typeof global===kn&&global.global===global&&global||void 0;function we(t){return Ce[Oe][t]}function ve(t,e){return Ce[Oe][t]=e}function je(t){delete Ce[Oe][t]}function xe(t,e,n){var r;try{if(Ot(t)){var i=window[t];r=i[e].bind(i)}}catch{}return r||n}Ce[Oe]||(Ce[Oe]={});var rt={};function Ot(t){if(typeof rt[t]!==Be)return rt[t];try{var e=window[t];e.setItem(Be,Be),e.removeItem(Be)}catch{return rt[t]=!1}return rt[t]=!0}function j(){return j=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},j.apply(this,arguments)}var ue="function",oe="undefined",Wi="@@redux/"+Math.random().toString(36),Cn=function(){return typeof Symbol===ue&&Symbol.observable||"@@observable"}(),it=" != "+ue;function jn(t,e,n){var r;if(typeof e===ue&&typeof n===oe&&(n=e,e=void 0),typeof n!==oe){if(typeof n!==ue)throw new Error("enhancer"+it);return n(jn)(t,e)}if(typeof t!==ue)throw new Error("reducer"+it);var i=t,o=e,a=[],s=a,l=!1;function f(){s===a&&(s=a.slice())}function u(){return o}function c(h){if(typeof h!==ue)throw new Error("Listener"+it);var b=!0;return f(),s.push(h),function(){if(b){b=!1,f();var S=s.indexOf(h);s.splice(S,1)}}}function p(h){if(!G(h))throw new Error("Act != obj");if(typeof h.type===oe)throw new Error("ActType "+oe);if(l)throw new Error("Dispatch in reducer");try{l=!0,o=i(o,h)}finally{l=!1}for(var b=a=s,S=0;S<b.length;S++)(0,b[S])();return h}return p({type:"@@redux/INIT"}),(r={dispatch:p,subscribe:c,getState:u,replaceReducer:function(h){if(typeof h!==ue)throw new Error("next reducer"+it);i=h,p({type:"@@redux/INIT"})}})[Cn]=function(){var h,b=c;return(h={subscribe:function(S){if(typeof S!="object")throw new TypeError("Observer != obj");function v(){S.next&&S.next(u())}return v(),{unsubscribe:b(v)}}})[Cn]=function(){return this},h},r}function Fi(t,e){var n=e&&e.type;return"action "+(n&&n.toString()||"?")+"reducer "+t+" returns "+oe}function Ae(){var t=[].slice.call(arguments);return t.length===0?function(e){return e}:t.length===1?t[0]:t.reduce(function(e,n){return function(){return e(n.apply(void 0,[].slice.call(arguments)))}})}function Hi(){var t=arguments;return function(e){return function(n,r,i){var o,a=e(n,r,i),s=a.dispatch,l={getState:a.getState,dispatch:function(f){return s(f)}};return o=[].slice.call(t).map(function(f){return f(l)}),j({},a,{dispatch:s=Ae.apply(void 0,o)(a.dispatch)})}}}var le=ye+"anon_id",be=ye+"user_id",$e=ye+"user_traits",de="userId",Le="anonymousId",ot=["bootstrap","params","campaign","initializeStart","initialize","initializeEnd","ready","resetStart","reset","resetEnd","pageStart","page","pageEnd","pageAborted","trackStart","track","trackEnd","trackAborted","identifyStart","identify","identifyEnd","identifyAborted","userIdChanged","registerPlugins","enablePlugin","disablePlugin","online","offline","setItemStart","setItem","setItemEnd","setItemAborted","removeItemStart","removeItem","removeItemEnd","removeItemAborted"],Ct=["name","EVENTS","config","loaded"],x=ot.reduce(function(t,e){return t[e]=e,t},{registerPluginType:function(t){return"registerPlugin:"+t},pluginReadyType:function(t){return"ready:"+t}}),xn=/^utm_/,An=/^an_prop_/,$n=/^an_trait_/;function Ji(t){var e=t.storage.setItem;return function(n){return function(r){return function(i){if(i.type===x.bootstrap){var o=i.params,a=i.user,s=i.persistedUser,l=i.initialUser,f=s.userId===a.userId;s.anonymousId!==a.anonymousId&&e(le,a.anonymousId),f||e(be,a.userId),l.traits&&e($e,j({},f&&s.traits?s.traits:{},l.traits));var u=Object.keys(i.params);if(u.length){var c=o.an_uid,p=o.an_event,h=u.reduce(function(b,S){if(S.match(xn)||S.match(/^(d|g)clid/)){var v=S.replace(xn,"");b.campaign[v==="campaign"?"name":v]=o[S]}return S.match(An)&&(b.props[S.replace(An,"")]=o[S]),S.match($n)&&(b.traits[S.replace($n,"")]=o[S]),b},{campaign:{},props:{},traits:{}});n.dispatch(j({type:x.params,raw:o},h,c?{userId:c}:{})),c&&setTimeout(function(){return t.identify(c,h.traits)},0),p&&setTimeout(function(){return t.track(p,h.props)},0),Object.keys(h.campaign).length&&n.dispatch({type:x.campaign,campaign:h.campaign})}}return r(i)}}}}function Xi(t){return function(e,n){if(e===void 0&&(e={}),n===void 0&&(n={}),n.type===x.setItemEnd){if(n.key===le)return j({},e,{anonymousId:n.value});if(n.key===be)return j({},e,{userId:n.value})}switch(n.type){case x.identify:return Object.assign({},e,{userId:n.userId,traits:j({},e.traits,n.traits)});case x.reset:return[be,le,$e].forEach(function(r){t.removeItem(r)}),Object.assign({},e,{userId:null,anonymousId:null,traits:{}});default:return e}}}function Ln(t){return{userId:t.getItem(be),anonymousId:t.getItem(le),traits:t.getItem($e)}}var jt=function(t){return ye+"TEMP"+ye+t};function Vi(t){var e=t.storage,n=e.setItem,r=e.removeItem,i=e.getItem;return function(o){return function(a){return function(s){var l=s.userId,f=s.traits,u=s.options;if(s.type===x.reset&&([be,$e,le].forEach(function(h){r(h)}),[de,Le,"traits"].forEach(function(h){je(jt(h))})),s.type===x.identify){i(le)||n(le,nt());var c=i(be),p=i($e)||{};c&&c!==l&&o.dispatch({type:x.userIdChanged,old:{userId:c,traits:p},new:{userId:l,traits:f},options:u}),l&&n(be,l),f&&n($e,j({},p,f))}return a(s)}}}}var Ze={};function Un(t,e){Ze[t]&&Y(Ze[t])&&(Ze[t](e),delete Ze[t])}function Rn(t,e,n){return new Promise(function(r,i){return e()?r(t):n<1?i(j({},t,{queue:!0})):new Promise(function(o){return setTimeout(o,10)}).then(function(o){return Rn(t,e,n-10).then(r,i)})})}function Yi(t){return{abort:t}}function Nn(t,e,n){var r={},i=e(),o=t.getState(),a=o.plugins,s=o.queue,l=o.user;if(!o.context.offline&&s&&s.actions&&s.actions.length){var f=s.actions.reduce(function(c,p,h){return a[p.plugin].loaded?(c.process.push(p),c.processIndex.push(h)):(c.requeue.push(p),c.requeueIndex.push(h)),c},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(f.processIndex&&f.processIndex.length){f.processIndex.forEach(function(c){var p=s.actions[c],h=p.plugin,b=p.payload.type,S=i[h][b];if(S&&Y(S)){var v,P=function(d,k){return d===void 0&&(d={}),k===void 0&&(k={}),[de,Le].reduce(function(T,O){return d.hasOwnProperty(O)&&k[O]&&k[O]!==d[O]&&(T[O]=k[O]),T},d)}(p.payload,l),_=r[P.meta.rid];if(!_&&(v=S({payload:P,config:a[h].config,instance:n,abort:Yi}))&&G(v)&&v.abort)return void(r[P.meta.rid]=!0);if(!_){var w=b+":"+h;t.dispatch(j({},P,{type:w,_:{called:w,from:"queueDrain"}}))}}});var u=s.actions.filter(function(c,p){return!~f.processIndex.indexOf(p)});s.actions=u}}}var xt=function(t){var e=t.data,n=t.action,r=t.instance,i=t.state,o=t.allPlugins,a=t.allMatches,s=t.store,l=t.EVENTS;try{var f=i.plugins,u=i.context,c=n.type,p=c.match(Ue),h=e.exact.map(function(v){return v.pluginName});p&&(h=a.during.map(function(v){return v.pluginName}));var b=function(v,P){return function(_,w,d){var k=w.config,T=w.name,O=T+"."+_.type;d&&(O=d.event);var A=_.type.match(Ue)?function(N,D,K,$,U){return function(M,C){var W=$?$.name:N,X=C&&Ke(C)?C:K;if($&&(!(X=C&&Ke(C)?C:[N]).includes(N)||X.length!==1))throw new Error("Method "+D+" can only abort "+N+" plugin. "+JSON.stringify(X)+" input valid");return j({},U,{abort:{reason:M,plugins:X,caller:D,_:W}})}}(T,O,P,d,_):function(N,D){return function(){throw new Error(N.type+" action not cancellable. Remove abort in "+D)}}(_,O);return{payload:Gi(_),instance:v,config:k||{},abort:A}}}(r,h),S=e.exact.reduce(function(v,P){var _=P.pluginName,w=P.methodName,d=!1;return w.match(/^initialize/)||w.match(/^reset/)||(d=!f[_].loaded),u.offline&&w.match(/^(page|track|identify)/)&&(d=!0),v[""+_]=d,v},{});return Promise.resolve(e.exact.reduce(function(v,P,_){try{var w=P.pluginName;return Promise.resolve(v).then(function(d){function k(){return Promise.resolve(d)}var T=function(){if(e.namespaced&&e.namespaced[w])return Promise.resolve(e.namespaced[w].reduce(function(O,A,N){try{return Promise.resolve(O).then(function(D){return A.method&&Y(A.method)?(function(M,C){var W=Hn(M);if(W&&W.name===C){var X=Hn(W.method);throw new Error([C+" plugin is calling method "+M,"Plugins cant call self","Use "+W.method+" "+(X?"or "+X.method:"")+" in "+C+" plugin insteadof "+M].join(`
6
+ `))}}(A.methodName,A.pluginName),Promise.resolve(A.method({payload:D,instance:r,abort:(K=D,$=w,U=A.pluginName,function(M,C){return j({},K,{abort:{reason:M,plugins:C||[$],caller:c,from:U||$}})}),config:Mn(A.pluginName,f,o),plugins:f})).then(function(M){var C=G(M)?M:{};return Promise.resolve(j({},D,C))})):D;var K,$,U})}catch(D){return Promise.reject(D)}},Promise.resolve(n))).then(function(O){d[w]=O});d[w]=n}();return T&&T.then?T.then(k):k()})}catch(d){return Promise.reject(d)}},Promise.resolve({}))).then(function(v){return Promise.resolve(e.exact.reduce(function(P,_,w){try{var d=e.exact.length===w+1,k=_.pluginName,T=o[k];return Promise.resolve(P).then(function(O){var A=v[k]?v[k]:{};if(p&&(A=O),$t(A,k))return At({data:A,method:c,instance:r,pluginName:k,store:s}),Promise.resolve(O);if($t(O,k))return d&&At({data:O,method:c,instance:r,store:s}),Promise.resolve(O);if(S.hasOwnProperty(k)&&S[k]===!0)return s.dispatch({type:"queue",plugin:k,payload:A,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(O);var N=b(v[k],o[k]);return Promise.resolve(T[c]({abort:N.abort,payload:A,instance:r,config:Mn(k,f,o),plugins:f})).then(function(D){var K=G(D)?D:{},$=j({},O,K),U=v[k];if($t(U,k))At({data:U,method:c,instance:r,pluginName:k,store:s});else{var M=c+":"+k;(M.match(/:/g)||[]).length<2&&!c.match(Dn)&&!c.match(zn)&&r.dispatch(j({},p?$:A,{type:M,_:{called:M,from:"submethod"}}))}return Promise.resolve($)})})}catch(O){return Promise.reject(O)}},Promise.resolve(n))).then(function(P){if(!(c.match(Ue)||c.match(/^registerPlugin/)||c.match(zn)||c.match(Dn)||c.match(/^params/)||c.match(/^userIdChanged/))){if(l.plugins.includes(c),P._&&P._.originalAction===c)return P;var _=j({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});Wn(P,e.exact.length)&&!c.match(/End$/)&&(_=j({},_,{type:P.type+"Aborted"})),s.dispatch(_)}return P})})}catch(v){return Promise.reject(v)}},Ue=/Start$/,Dn=/^bootstrap/,zn=/^ready/;function At(t){var e=t.pluginName,n=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(j({},t.data,{type:n,_:{called:n,from:"abort"}}))}function Mn(t,e,n){var r=e[t]||n[t];return r&&r.config?r.config:{}}function Zn(t,e){return e.reduce(function(n,r){return r[t]?n.concat({methodName:t,pluginName:r.name,method:r[t]}):n},[])}function Kn(t,e){var n=t.replace(Ue,""),r=e?":"+e:"";return[""+t+r,""+n+r,n+"End"+r]}function $t(t,e){var n=t.abort;return!!n&&(n===!0||Fn(n,e)||n&&Fn(n.plugins,e))}function Wn(t,e){var n=t.abort;if(!n)return!1;if(n===!0||ce(n))return!0;var r=n.plugins;return Ke(n)&&n.length===e||Ke(r)&&r.length===e}function Ke(t){return Array.isArray(t)}function Fn(t,e){return!(!t||!Ke(t))&&t.includes(e)}function Hn(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function Gi(t){return Object.keys(t).reduce(function(e,n){return n==="type"||(e[n]=G(t[n])?Object.assign({},t[n]):t[n]),e},{})}function Bi(t,e,n){var r={};return function(i){return function(o){return function(a){try{var s,l=function(d){return s?d:o(c)},f=a.type,u=a.plugins,c=a;if(a.abort)return Promise.resolve(o(a));if(f===x.enablePlugin&&i.dispatch({type:x.initializeStart,plugins:u,disabled:[],fromEnable:!0,meta:a.meta}),f===x.disablePlugin&&setTimeout(function(){return Un(a.meta.rid,{payload:a})},0),f===x.initializeEnd){var p=e(),h=Object.keys(p),b=h.filter(function(d){return u.includes(d)}).map(function(d){return p[d]}),S=[],v=[],P=a.disabled,_=b.map(function(d){var k=d.loaded,T=d.name,O=d.config;return Rn(d,function(){return k({config:O})},1e4).then(function(A){return r[T]||(i.dispatch({type:x.pluginReadyType(T),name:T,events:Object.keys(d).filter(function(N){return!Ct.includes(N)})}),r[T]=!0),S=S.concat(T),d}).catch(function(A){if(A instanceof Error)throw new Error(A);return v=v.concat(A.name),A})});Promise.all(_).then(function(d){var k={plugins:S,failed:v,disabled:P};setTimeout(function(){h.length===_.length+P.length&&i.dispatch(j({},{type:x.ready},k))},0)})}var w=function(){if(f!==x.bootstrap)return/^ready:([^:]*)$/.test(f)&&setTimeout(function(){return Nn(i,e,t)},0),Promise.resolve(function(d,k,T,O,A){try{var N=Y(k)?k():k,D=d.type,K=D.replace(Ue,"");if(d._&&d._.called)return Promise.resolve(d);var $=T.getState(),U=(W=N,(X=$.plugins)===void 0&&(X={}),(Ie=d.options)===void 0&&(Ie={}),Object.keys(W).filter(function(m){var y=Ie.plugins||{};return xi(y[m])?y[m]:y.all!==!1&&(!X[m]||X[m].enabled!==!1)}).map(function(m){return W[m]}));D===x.initializeStart&&d.fromEnable&&(U=Object.keys($.plugins).filter(function(m){var y=$.plugins[m];return d.plugins.includes(m)&&!y.initialized}).map(function(m){return N[m]}));var M=U.map(function(m){return m.name}),C=function(m,y,g){var I=Kn(m).map(function(E){return Zn(E,y)});return y.reduce(function(E,L){var Z=L.name,R=Kn(m,Z).map(function(Xe){return Zn(Xe,y)}),F=R[0],z=R[1],ne=R[2];return F.length&&(E.beforeNS[Z]=F),z.length&&(E.duringNS[Z]=z),ne.length&&(E.afterNS[Z]=ne),E},{before:I[0],beforeNS:{},during:I[1],duringNS:{},after:I[2],afterNS:{}})}(D,U);return Promise.resolve(xt({action:d,data:{exact:C.before,namespaced:C.beforeNS},state:$,allPlugins:N,allMatches:C,instance:T,store:O,EVENTS:A})).then(function(m){function y(){var E=function(){if(D.match(Ue))return Promise.resolve(xt({action:j({},g,{type:K+"End"}),data:{exact:C.after,namespaced:C.afterNS},state:$,allPlugins:N,allMatches:C,instance:T,store:O,EVENTS:A})).then(function(L){L.meta&&L.meta.hasCallback&&Un(L.meta.rid,{payload:L})})}();return E&&E.then?E.then(function(){return m}):m}if(Wn(m,M.length))return m;var g,I=function(){if(D!==K)return Promise.resolve(xt({action:j({},m,{type:K}),data:{exact:C.during,namespaced:C.duringNS},state:$,allPlugins:N,allMatches:C,instance:T,store:O,EVENTS:A})).then(function(E){g=E});g=m}();return I&&I.then?I.then(y):y()})}catch(m){return Promise.reject(m)}var W,X,Ie}(a,e,t,i,n)).then(function(d){return s=1,o(d)})}();return Promise.resolve(w&&w.then?w.then(l):l(w))}catch(d){return Promise.reject(d)}}}}}function qi(t){return function(e){return function(n){return function(r){var i=r.type,o=r.key,a=r.value,s=r.options;if(i===x.setItem||i===x.removeItem){if(r.abort)return n(r);i===x.setItem?t.setItem(o,a,s):t.removeItem(o,s)}return n(r)}}}}var Qi=function(){var t=this;this.before=[],this.after=[],this.addMiddleware=function(e,n){t[n]=t[n].concat(e)},this.removeMiddleware=function(e,n){var r=t[n].findIndex(function(i){return i===e});r!==-1&&(t[n]=[].concat(t[n].slice(0,r),t[n].slice(r+1)))},this.dynamicMiddlewares=function(e){return function(n){return function(r){return function(i){var o={getState:n.getState,dispatch:function(s){return n.dispatch(s)}},a=t[e].map(function(s){return s(o)});return Ae.apply(void 0,a)(r)(i)}}}}};function eo(t){return function(e,n){e===void 0&&(e={});var r={};if(n.type==="initialize:aborted")return e;if(/^registerPlugin:([^:]*)$/.test(n.type)){var i=Jn(n.type,"registerPlugin"),o=t()[i];if(!o||!i)return e;var a=n.enabled,s=o.config;return r[i]={enabled:a,initialized:!!a&&!o.initialize,loaded:!!a&&!!o.loaded({config:s}),config:s},j({},e,r)}if(/^initialize:([^:]*)$/.test(n.type)){var l=Jn(n.type,x.initialize),f=t()[l];return f&&l?(r[l]=j({},e[l],{initialized:!0,loaded:!!f.loaded({config:f.config})}),j({},e,r)):e}if(/^ready:([^:]*)$/.test(n.type))return r[n.name]=j({},e[n.name],{loaded:!0}),j({},e,r);switch(n.type){case x.disablePlugin:return j({},e,Xn(n.plugins,!1,e));case x.enablePlugin:return j({},e,Xn(n.plugins,!0,e));default:return e}}}function Jn(t,e){return t.substring(e.length+1,t.length)}function Xn(t,e,n){return t.reduce(function(r,i){return r[i]=j({},n[i],{enabled:e}),r},n)}function Vn(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var to={last:{},history:[]};function no(t,e){t===void 0&&(t=to);var n=e.options,r=e.meta;if(e.type===x.track){var i=Vn(j({event:e.event,properties:e.properties},Object.keys(n).length&&{options:n},{meta:r}));return j({},t,{last:i,history:t.history.concat(i)})}return t}var ro={actions:[]};function io(t,e){t===void 0&&(t=ro);var n=e.payload;switch(e.type){case"queue":var r;return r=n&&n.type&&n.type===x.identify?[e].concat(t.actions):t.actions.concat(e),j({},t,{actions:r});case"dequeue":return[];default:return t}}var Yn=/#.*$/;function oo(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(Yn,""):"")}var Gn,Bn,qn,Qn,ao=function(t){if(t===void 0&&(t={}),!H)return t;var e=document,n=e.title,r=e.referrer,i=window,o=i.location,a=i.innerWidth,s=i.innerHeight,l=o.hash,f=o.search,u=function(p){var h=function(){if(H){for(var b,S=document.getElementsByTagName("link"),v=0;b=S[v];v++)if(b.getAttribute("rel")==="canonical")return b.getAttribute("href")}}();return h?h.match(/\?/)?h:h+p:window.location.href.replace(Yn,"")}(f),c={title:n,url:u,path:oo(u),hash:l,search:f,width:a,height:s};return r&&r!==""&&(c.referrer=r),j({},c,t)},so={last:{},history:[]};function co(t,e){t===void 0&&(t=so);var n=e.options;if(e.type===x.page){var r=Vn(j({properties:e.properties,meta:e.meta},Object.keys(n).length&&{options:n}));return j({},t,{last:r,history:t.history.concat(r)})}return t}Gn=function(){if(!H)return!1;var t=navigator.appVersion;return~t.indexOf("Win")?"Windows":~t.indexOf("Mac")?"MacOS":~t.indexOf("X11")?"UNIX":~t.indexOf("Linux")?"Linux":"Unknown OS"}(),Bn=H?document.referrer:null,qn=Di(),Qn=zi();var er={initialized:!1,sessionId:nt(),app:null,version:null,debug:!1,offline:!!H&&!navigator.onLine,os:{name:Gn},userAgent:H?navigator.userAgent:"node",library:{name:"analytics",version:"0.12.7"},timezone:Qn,locale:qn,campaign:{},referrer:Bn};function uo(t,e){t===void 0&&(t=er);var n=t.initialized,r=e.campaign;switch(e.type){case x.campaign:return j({},t,{campaign:r});case x.offline:return j({},t,{offline:!0});case x.online:return j({},t,{offline:!1});default:return n?t:j({},er,t,{initialized:!0})}}var lo=["plugins","reducers","storage"];function ho(t,e,n){if(H){var r=window[(n?"add":"remove")+"EventListener"];t.split(" ").forEach(function(i){r(i,e)})}}function fo(t){var e=ho.bind(null,"online offline",function(n){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(n){return e(!1)}}function tr(){return ve("analytics",[]),function(t){return function(e,n,r){var i=t(e,n,r),o=i.dispatch;return Object.assign(i,{dispatch:function(a){return Ce[Oe].analytics.push(a.action||a),o(a)}})}}}function nr(t){return function(){return Ae(Ae.apply(null,arguments),tr())}}function Lt(t){return t?Pn(t)?t:[t]:[]}function rr(t,e,n){t===void 0&&(t={});var r,i,o=nt();return e&&(Ze[o]=(r=e,i=function(a){for(var s,l=a||Array.prototype.slice.call(arguments),f=0;f<l.length;f++)if(Y(l[f])){s=l[f];break}return s}(n),function(a){i&&i(a),r(a)})),j({},t,{rid:o,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function po(t){t===void 0&&(t={});var e=t.reducers||{},n=t.initialUser||{},r=(t.plugins||[]).reduce(function(m,y){if(Y(y))return m.middlewares=m.middlewares.concat(y),m;if(y.NAMESPACE&&(y.name=y.NAMESPACE),!y.name)throw new Error("https://lytics.dev/errors/1");y.config||(y.config={});var g=y.EVENTS?Object.keys(y.EVENTS).map(function(L){return y.EVENTS[L]}):[];m.pluginEnabled[y.name]=!(y.enabled===!1||y.config.enabled===!1),delete y.enabled,y.methods&&(m.methods[y.name]=Object.keys(y.methods).reduce(function(L,Z){var R;return L[Z]=(R=y.methods[Z],function(){for(var F=Array.prototype.slice.call(arguments),z=new Array(R.length),ne=0;ne<F.length;ne++)z[ne]=F[ne];return z[z.length]=k,R.apply({instance:k},z)}),L},{}),delete y.methods);var I=Object.keys(y).concat(g),E=new Set(m.events.concat(I));if(m.events=Array.from(E),m.pluginsArray=m.pluginsArray.concat(y),m.plugins[y.name])throw new Error(y.name+"AlreadyLoaded");return m.plugins[y.name]=y,m.plugins[y.name].loaded||(m.plugins[y.name].loaded=function(){return!0}),m},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),i=t.storage?t.storage:{getItem:we,setItem:ve,removeItem:je},o=function(m){return function(y,g,I){return g.getState("user")[y]||(I&&G(I)&&I[y]?I[y]:Ln(m)[y]||we(jt(y))||null)}}(i),a=r.plugins,s=r.events.filter(function(m){return!Ct.includes(m)}).sort(),l=new Set(s.concat(ot).filter(function(m){return!Ct.includes(m)})),f=Array.from(l).sort(),u=function(){return a},c=new Qi,p=c.addMiddleware,h=c.removeMiddleware,b=c.dynamicMiddlewares,S=function(){throw new Error("Abort disabled inListener")},v=Mi(),P=Ln(i),_=j({},P,n,v.an_uid?{userId:v.an_uid}:{},v.an_aid?{anonymousId:v.an_aid}:{});_.anonymousId||(_.anonymousId=nt());var w=j({enable:function(m,y){return new Promise(function(g){C.dispatch({type:x.enablePlugin,plugins:Lt(m),_:{originalAction:x.enablePlugin}},g,[y])})},disable:function(m,y){return new Promise(function(g){C.dispatch({type:x.disablePlugin,plugins:Lt(m),_:{originalAction:x.disablePlugin}},g,[y])})}},r.methods),d=!1,k={identify:function(m,y,g,I){try{var E=ce(m)?m:null,L=G(m)?m:y,Z=g||{},R=k.user();ve(jt(de),E);var F=E||L.userId||o(de,k,L);return Promise.resolve(new Promise(function(z){C.dispatch(j({type:x.identifyStart,userId:F,traits:L||{},options:Z,anonymousId:R.anonymousId},R.id&&R.id!==E&&{previousId:R.id}),z,[y,g,I])}))}catch(z){return Promise.reject(z)}},track:function(m,y,g,I){try{var E=G(m)?m.event:m;if(!E||!ce(E))throw new Error("EventMissing");var L=G(m)?m:y||{},Z=G(g)?g:{};return Promise.resolve(new Promise(function(R){C.dispatch({type:x.trackStart,event:E,properties:L,options:Z,userId:o(de,k,y),anonymousId:o(Le,k,y)},R,[y,g,I])}))}catch(R){return Promise.reject(R)}},page:function(m,y,g){try{var I=G(m)?m:{},E=G(y)?y:{};return Promise.resolve(new Promise(function(L){C.dispatch({type:x.pageStart,properties:ao(I),options:E,userId:o(de,k,I),anonymousId:o(Le,k,I)},L,[m,y,g])}))}catch(L){return Promise.reject(L)}},user:function(m){if(m===de||m==="id")return o(de,k);if(m===Le||m==="anonId")return o(Le,k);var y=k.getState("user");return m?bn(y,m):y},reset:function(m){return new Promise(function(y){C.dispatch({type:x.resetStart},y,m)})},ready:function(m){return d&&m({plugins:w,instance:k}),k.on(x.ready,function(y){m(y),d=!0})},on:function(m,y){if(!m||!Y(y))return!1;if(m===x.bootstrap)throw new Error(".on disabled for "+m);var g=/Start$|Start:/;if(m==="*"){var I=function(R){return function(F){return function(z){return z.type.match(g)&&y({payload:z,instance:k,plugins:a}),F(z)}}},E=function(R){return function(F){return function(z){return z.type.match(g)||y({payload:z,instance:k,plugins:a}),F(z)}}};return p(I,at),p(E,st),function(){h(I,at),h(E,st)}}var L=m.match(g)?at:st,Z=function(R){return function(F){return function(z){return z.type===m&&y({payload:z,instance:k,plugins:a,abort:S}),F(z)}}};return p(Z,L),function(){return h(Z,L)}},once:function(m,y){if(!m||!Y(y))return!1;if(m===x.bootstrap)throw new Error(".once disabled for "+m);var g=k.on(m,function(I){y({payload:I.payload,instance:k,plugins:a,abort:S}),g()});return g},getState:function(m){var y=C.getState();return m?bn(y,m):Object.assign({},y)},dispatch:function(m){var y=ce(m)?{type:m}:m;if(ot.includes(y.type))throw new Error("reserved action "+y.type);var g=j({},y,{_:j({originalAction:y.type},m._||{})});C.dispatch(g)},enablePlugin:w.enable,disablePlugin:w.disable,plugins:w,storage:{getItem:i.getItem,setItem:function(m,y,g){C.dispatch({type:x.setItemStart,key:m,value:y,options:g})},removeItem:function(m,y){C.dispatch({type:x.removeItemStart,key:m,options:y})}},setAnonymousId:function(m,y){k.storage.setItem(le,m,y)},events:{core:ot,plugins:s}},T=r.middlewares.concat([function(m){return function(y){return function(g){return g.meta||(g.meta=rr()),y(g)}}},b(at),Bi(k,u,{all:f,plugins:s}),qi(i),Ji(k),Vi(k),b(st)]),O={context:uo,user:Xi(i),page:co,track:no,plugins:eo(u),queue:io},A=Ae,N=Ae;if(H&&t.debug){var D=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;D&&(A=D({trace:!0,traceLimit:25})),N=function(){return arguments.length===0?tr():G(typeof arguments[0])?nr():nr().apply(null,arguments)}}var K,$=function(m){return Object.keys(m).reduce(function(y,g){return lo.includes(g)||(y[g]=m[g]),y},{})}(t),U=r.pluginsArray.reduce(function(m,y){var g=y.name,I=y.config,E=y.loaded,L=r.pluginEnabled[g];return m[g]={enabled:L,initialized:!!L&&!y.initialize,loaded:!!E({config:I}),config:I},m},{}),M={context:$,user:_,plugins:U},C=jn(function(m){for(var y=Object.keys(m),g={},I=0;I<y.length;I++){var E=y[I];typeof m[E]===ue&&(g[E]=m[E])}var L,Z=Object.keys(g);try{(function(R){Object.keys(R).forEach(function(F){var z=R[F];if(typeof z(void 0,{type:"@@redux/INIT"})===oe||typeof z(void 0,{type:Wi})===oe)throw new Error("reducer "+F+" "+oe)})})(g)}catch(R){L=R}return function(R,F){if(R===void 0&&(R={}),L)throw L;for(var z=!1,ne={},Xe=0;Xe<Z.length;Xe++){var pt=Z[Xe],xr=R[pt],Ht=(0,g[pt])(xr,F);if(typeof Ht===oe){var da=Fi(pt,F);throw new Error(da)}ne[pt]=Ht,z=z||Ht!==xr}return z?ne:R}}(j({},O,e)),M,N(A(Hi.apply(void 0,T))));C.dispatch=(K=C.dispatch,function(m,y,g){var I=j({},m,{meta:rr(m.meta,y,Lt(g))});return K.apply(null,[I])});var W=Object.keys(a);C.dispatch({type:x.bootstrap,plugins:W,config:$,params:v,user:_,initialUser:n,persistedUser:P});var X=W.filter(function(m){return r.pluginEnabled[m]}),Ie=W.filter(function(m){return!r.pluginEnabled[m]});return C.dispatch({type:x.registerPlugins,plugins:W,enabled:r.pluginEnabled}),r.pluginsArray.map(function(m,y){var g=m.bootstrap,I=m.config,E=m.name;g&&Y(g)&&g({instance:k,config:I,payload:m}),C.dispatch({type:x.registerPluginType(E),name:E,enabled:r.pluginEnabled[E],plugin:m}),r.pluginsArray.length===y+1&&C.dispatch({type:x.initializeStart,plugins:X,disabled:Ie})}),fo(function(m){C.dispatch({type:m?x.offline:x.online})}),function(m,y,g){setInterval(function(){return Nn(m,y,g)},3e3)}(C,u,k),k}var at="before",st="after",We="cookie",ke=ar(),ir=ct,mo=ct;function or(t){return ke?ct(t,"",-1):je(t)}function ar(){if(ke!==void 0)return ke;var t="cookiecookie";try{ct(t,t),ke=document.cookie.indexOf(t)!==-1,or(t)}catch{ke=!1}return ke}function ct(t,e,n,r,i,o){if(typeof window<"u"){var a=arguments.length>1;return ke===!1&&(a?ve(t,e):we(t)),a?document.cookie=t+"="+encodeURIComponent(e)+(n?"; expires="+new Date(+new Date+1e3*n).toUTCString()+(r?"; path="+r:"")+(i?"; domain="+i:"")+(o?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+t+"=")[1]||"").split(";")[0])}}var Fe="localStorage",go=Ot.bind(null,"localStorage");xe("localStorage","getItem",we),xe("localStorage","setItem",ve),xe("localStorage","removeItem",je);var He="sessionStorage",yo=Ot.bind(null,"sessionStorage");xe("sessionStorage","getItem",we),xe("sessionStorage","setItem",ve),xe("sessionStorage","removeItem",je);function Re(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(G(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var wo=go(),vo=yo(),bo=ar();function sr(t,e){if(t){var n=Ut(e),r=!zt(n),i=Rt(n)?Re(localStorage.getItem(t)):void 0;if(r&&!Te(i))return i;var o=Nt(n)?Re(ir(t)):void 0;if(r&&o)return o;var a=Dt(n)?Re(sessionStorage.getItem(t)):void 0;if(r&&a)return a;var s=we(t);return r?s:{localStorage:i,sessionStorage:a,cookie:o,global:s}}}function ko(t,e,n){if(t&&!Te(e)){var r={},i=Ut(n),o=JSON.stringify(e),a=!zt(i);return Rt(i)&&(r[Fe]=lt(Fe,e,Re(localStorage.getItem(t))),localStorage.setItem(t,o),a)?r[Fe]:Nt(i)&&(r[We]=lt(We,e,Re(ir(t))),mo(t,o),a)?r[We]:Dt(i)&&(r[He]=lt(He,e,Re(sessionStorage.getItem(t))),sessionStorage.setItem(t,o),a)?r[He]:(r[Me]=lt(Me,e,we(t)),ve(t,e),a?r[Me]:r)}}function Io(t,e){if(t){var n=Ut(e),r=sr(t,Sn),i={};return!Te(r.localStorage)&&Rt(n)&&(localStorage.removeItem(t),i[Fe]=r.localStorage),!Te(r.cookie)&&Nt(n)&&(or(t),i[We]=r.cookie),!Te(r.sessionStorage)&&Dt(n)&&(sessionStorage.removeItem(t),i[He]=r.sessionStorage),!Te(r.global)&&ut(n,Me)&&(je(t),i[Me]=r.global),i}}function Ut(t){return t?ce(t)?t:t.storage:In}function Rt(t){return wo&&ut(t,Fe)}function Nt(t){return bo&&ut(t,We)}function Dt(t){return vo&&ut(t,He)}function zt(t){return t===Sn||t==="all"}function ut(t,e){return t===In||t===e||zt(t)}function lt(t,e,n){return{location:t,current:e,previous:n}}var So={setItem:ko,getItem:sr,removeItem:Io};function _o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function cr(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function ur(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?cr(Object(n),!0).forEach(function(r){_o(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):cr(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function Eo(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:So};return po(ur(ur({},e),t))}function Po(t,e){e=e||{};var n,r,i=[],o=e.max||1/0;function a(){clearInterval(n),t(i.splice(0,o)),s()}function s(){n=setInterval(a,e.interval||1e4)}return s(),{flush:a,push:function(l){return r=i.push(l),r>=o&&a(),r},size:function(){return i.length},end:function(l){l&&a(),clearInterval(n)}}}function To(t){if(typeof window>"u")return;const{addEventListener:e,history:n,location:r}=window;let i=r.pathname;e("popstate",()=>t(r.pathname)),["push","replace"].map(o=>{const a=`${o}State`;if(a!=="pushState"&&a!=="replaceState")return;const s=n[a];n[a]=function(...l){var c;const f=((c=l[2])==null?void 0:c.toString())||"",u=Co(f);return i!==u&&(i=u,setTimeout(()=>t(f),0)),s.apply(n,l)}})}function Oo(t,e){const n=t.indexOf(e);return n>-1?t.slice(0,n):t}function Co(t){return["#","?"].forEach(e=>t=Oo(t,e)),t}function jo(){To(()=>{ae.page()})}function xo(t){if(t===void 0&&(t={}),!H)return Tt;var e=dr(),n=Mt(),r=lr(),i=dt(r,e),o=dt(n,e),a=[],s=[],l=[],f=r,u=i,c=o,p=Object.keys(t);if(!p.length)return Tt;var h=p.map(function(S){return Number(S)}),b=Ki(function(){var S=dr(),v=function($,U){return U.map(function(M){return M===100?$-5:$*(M/100)})}(S,h),P=Mt(),_=lr(),w=dt(_,S),d=dt(P,S);if(u=w>u?w:u,c=d<c?d:c,!(a.length>=h.length)){var k=f===_,T="up";k?T="initial":f<=_&&(T="down");var O=v,A=h;(T==="up"||k)&&(O=v.slice().reverse(),A=h.slice().reverse());var N=A.reduce(function($,U,M){var C=O[M];return l.includes(U)&&_<=C&&(l=l.filter(function(W){return W!==U}),$.singleFunction=U),T==="down"&&!a.includes(U)&&_>=C&&U>o?(s.push(U),$.callbacks=$.callbacks.concat(U),$):T==="up"&&!a.includes(U)&&_<=C&&U<=w?($.foundFunc=[U],$):(k&&_>=C&&$.foundFunc.length===0&&($.foundFunc=[U]),!s.includes(U)&&_>=C&&(s.push(U),$.singleFunction?l.push(U):$.singleFunction=U),$)},{foundFunc:[],singleFunction:null,callbacks:[],direction:T});if(f=_,T==="down"&&N.callbacks&&N.callbacks.forEach(function($){Y(t[$])&&(t[$]({trigger:$,direction:T,scrollMin:c,scrollMax:u,range:[c,u]}),a.push($))}),N.singleFunction){var D=N.singleFunction,K=N.direction;Y(t[D])&&t[D]({trigger:D,direction:K,scrollMin:c,scrollMax:u,range:[c,u]}),a.push(D)}}},500);return window.addEventListener("scroll",b),function(){return window.removeEventListener("scroll",b)}}function Mt(){return H?document.body.scrollTop||document.documentElement.scrollTop:0}function Ao(){return H?window.innerHeight||document.documentElement.clientHeight:0}function lr(){return Math.round(Mt()+Ao())}function dr(){if(!H)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function dt(t,e){return Math.round(t/e*100)}var hr="EventListener";function $o(t){return function(e,n,r,i){var o=r||Tt,a=i||!1;if(!H)return o;var s=ht(n),l=ht(e,!0);if(!l.length)throw new Error("noElements");if(!s.length)throw new Error("noEvent");var f=[];return function u(c){c&&(f=[]);for(var p=c?"add"+hr:"remove"+hr,h=0;h<l.length;h++){var b=l[h];f[h]=c?a&&a.once?Lo(o):o:f[h]||o;for(var S=0;S<s.length;S++)b[p]?b["on"+s[S]]=c?f[h]:null:b[p](s[S],f[h],a)}return u.bind(null,!c)}(t)}}function ht(t,e){if(ce(t))return e?ht(document.querySelectorAll(t)):(n=t).split(n.indexOf(",")>-1?",":" ").map(function(a){return a.trim()});var n;if(NodeList.prototype.isPrototypeOf(t)){for(var r=[],i=t.length>>>0;i--;)r[i]=t[i];return r}var o=Ni(t);return e?o.map(function(a){return ce(a)?ht(a,!0):a}).flat():o}function Lo(t,e){var n;return function(){return t&&(n=t.apply(this,arguments),t=null),n}}var Zt=$o("Event");function fr(t,e){return H&&Y(window[t])?(n=window[t],r=e,(i=window)===void 0&&(i=null),Y(n)?function(){n.apply(i,arguments),r.apply(i,arguments)}:r):window[t]=e;var n,r,i}fr.bind(null,"onerror"),fr.bind(null,"onload");var pr=typeof window>"u",mr="hidden";function Uo(t){if(pr)return!1;var e=Ro(),n="".concat(e.replace(/[H|h]idden/,""),"visibilitychange"),r=function(){return t(!!document[e])},i=function(){return document.addEventListener(n,r)};return i(),function(){return document.removeEventListener(n,r),i}}function Ro(){var t=["webkit","moz","ms","o"];return pr||mr in document?mr:t.reduce(function(e,n){var r=n+"Hidden";return!e&&r in document?r:e},null)}var No=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function Do(t,e){e===void 0&&(e={});var n=function(a,s){var l=this,f=!1;return function(u){f||(a.call(l,u),f=!0,setTimeout(function(){return f=!1},s))}}(t,e.throttle||1e4),r=[];function i(){var a=Uo(function(s){s||n({type:"tabVisible"})});return r=[a].concat(No.map(function(s){return Zt(document,s,n)})).concat(Zt(window,"load",n)).concat(Zt(window,"scroll",n,{capture:!0,passive:!0})),o}function o(){r.map(function(a){return a()})}return i(),function(){return o(),i}}function zo(t){var e,n,r=t.onIdle,i=t.onWakeUp,o=t.onHeartbeat,a=t.timeout,s=a===void 0?1e4:a,l=t.throttle,f=l===void 0?2e3:l,u=!1,c=!1,p=new Date,h=function(){return clearTimeout(e)};function b(v){h(),o&&!u&&o(Je(p),v),i&&u&&(u=!1,i(Je(n),v),p=new Date),e=setTimeout(function(){u=!0,r&&(n=new Date,r(Je(p),v))},s)}var S=Do(b,{throttle:f});return{disable:function(){c=!0,u=!1,h();var v=S();return function(){return c=!1,p=new Date,b({type:"load"}),v()}},getStatus:function(){return{isIdle:u,isDisabled:c,active:u?0:Je(p,c),idle:u?Je(n,c):0}}}}function Je(t,e){return e?0:Math.round((new Date-t)/1e3)}const gr=5e3;class Mo{constructor(e){Q(this,"element");Q(this,"isInViewport",!1);Q(this,"isAwake",!1);Q(this,"isFlushing");Q(this,"observer");Q(this,"lastEventAt",Date.now());Q(this,"registeredView",!1);Q(this,"viewCallback");Q(this,"activeDurationCallback");Q(this,"idleDurationCallback");Q(this,"scrollCallback");this.element=e.element,this.viewCallback=e.viewCallback,this.activeDurationCallback=e.activeDurationCallback,this.idleDurationCallback=e.idleDurationCallback,this.scrollCallback=e.scrollCallback,this.observer=new IntersectionObserver(n=>{n.forEach(r=>{this.handleInViewPort(r.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),zo({onIdle:n=>this.handleAwake(!1,n),onWakeUp:n=>this.handleAwake(!0,n),timeout:gr}),xo({25:this.handleScroll.bind(this),50:this.handleScroll.bind(this),75:this.handleScroll.bind(this),90:this.handleScroll.bind(this),100:this.handleScroll.bind(this)})}flush(){this.isFlushing=!0,this.handleAwake(!this.isAwake)}handleInViewPort(e){e?(this.isAwake=!0,this.trackInViewport()):this.handleAwake(!1),this.isInViewport=e}handleAwake(e,n=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=e,this.lastEventAt=e?Date.now()-n*gr:Date.now(),this.isInViewport&&this.trackAwake(e,n)}handleScroll(e){this.scrollCallback&&this.scrollCallback(e)}handleVisibilityChange(){this.isAwake=!1;const e=Math.round((Date.now()-this.lastEventAt)/1e3);e>1&&(this.lastEventAt=Date.now(),this.trackAwake(!1,e))}trackAwake(e,n){!e&&this.activeDurationCallback&&this.activeDurationCallback(n,this.isFlushing,this.lastEventAt),e&&this.idleDurationCallback&&this.idleDurationCallback(n,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}const yr="sesamy_session_id";function Zo(){let t=sessionStorage.getItem(yr);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(yr,t)),t}let wr=!1,Kt,vr,ft;function Ko({clientId:t,enabled:e=!0,endpoint:n=li}){if(Kt=t,vr=e,ft=n,!vr)return;jo();const r=new Mo({element:document.body,viewCallback:()=>{ae.page()},activeDurationCallback:(i,o,a)=>{ae.track("activeDuration",{duration:i,durationStart:a,flushing:o})},idleDurationCallback:(i,o,a)=>{ae.track("idleDuration",{duration:i,durationStart:a,flushing:o})},scrollCallback:i=>{ae.track("scroll",{scroll:i.scrollMax})}});Ho(document.body,()=>{r.flush()}),Jo(document.body,()=>{r.handleVisibilityChange()}),window.addEventListener(ee.AUTHENTICATED,async i=>{const o=i;await ae.identify(o.detail.sub)}),window.addEventListener(ee.LOGOUT,async()=>{await ae.track("logout",{}),Wt.flush(),await ae.reset()})}function br(t){return JSON.stringify(t.map(e=>({...e,clientId:Kt,requestId:Math.random().toString(36).slice(2,9),sessionId:Zo(),timestamp:new Date().toISOString(),version:Pt,event:e.event,context:{page:{url:window.location.hostname,path:window.location.pathname,title:document.title,search:window.location.search,referrer:document.referrer},locale:navigator.language,library:vn,userAgent:navigator.userAgent,clientId:Kt}})))}const Wt=Po(async t=>{if(t.length>0){const e=br(t);wr?navigator.sendBeacon(ft,e):(await fetch(ft,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function Ft(t){var e;if(t.anonymousId)if((e=t.properties)!=null&&e.flushing){const n={...t};delete n.properties.flushing,navigator.sendBeacon(ft,br([n]))}else Wt.push(t)}const ae=Eo({app:vn,version:Pt,plugins:[{name:"custom-analytics-plugin",page:({payload:t})=>{const{properties:e,anonymousId:n,userId:r,event:i}=t;Ft({anonymousId:n,userId:r,properties:e,event:i,type:"page"})},track:({payload:t})=>{const{properties:e,anonymousId:n,userId:r,event:i}=t;Ft({anonymousId:n,userId:r,properties:e,event:i,type:"track"})},identify:({payload:t})=>{const{properties:e,anonymousId:n,userId:r}=t;Ft({anonymousId:n,userId:r,properties:e,type:"identify"})}}]});function Wo(t,e){ae.track(t,e)}function Fo(){return wr=!0,Wt.flush()}const kr=new Map;function Ho(t,e){kr.set(t,e)}window.addEventListener("beforeunload",()=>{kr.forEach((t,e)=>{t.bind(e)()}),Fo()});const Ir=new Map;function Jo(t,e){Ir.set(t,e)}window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&Ir.forEach((t,e)=>{t.bind(e)()})});const Sr="sesamySignedURLs";function _r(){const t=sessionStorage.getItem(Sr);return t?JSON.parse(t):[]}function Xo(t){const e=_r();e.push(t),sessionStorage.setItem(Sr,JSON.stringify(e))}function Vo(t){const{getEntitlement:e,getEntitlements:n,getEntitlementAccess:r,getSubscriptions:i,getContract:o,getContracts:a,getBill:s,getBills:l,getProfile:f,updateProfile:u,getTags:c,deleteTag:p,setTag:h,getUserMetadata:b,listUserMetadata:S,setUserMetadata:v,deleteUserMetadata:P,getTally:_,getTallies:w,pushTally:d,deleteTally:k,getProduct:T,getPaymentIssues:O,isSpotifyLinked:A,unlinkSpotify:N,linkSpotify:D,autoOnboardProduct:K,openHostedAccountPage:$,generateLink:U}=Ti(t),M={auth:{getUser:f,isAuthenticated:Ge,loginWithRedirect:Et,logout:pi,setToken:dn},profile:{get:f,update:u,openHostedAccountPage:$,isSpotifyLinked:A,unlinkSpotify:N},analytics:{track:Wo},tags:{list:c,set:h,delete:p},entitlements:{get:e,list:n,access:r,signedLinks:_r},contracts:{get:o,list:a},bills:{get:s,list:l},userMetadata:{get:b,list:S,set:v,delete:P},tallies:{get:_,list:w,push:d,delete:k},subscriptions:{list:i},products:{get:T,autoOnboard:K,linkSpotify:D},getVersion:Yo,getPaymentIssues:O,generateLink:U,clearCache:te};return t.namespace&&(window[t.namespace]=M),M}function Yo(){return Pt}const Go=`https://api2.${se}`;async function Bo({enabled:t=!1,lockMode:e="proxy",accessLevel:n="logged-in",loadingStyle:r="skeleton",contentContainerSelector:i,loginButtonContainerSelector:o,buyButtonContainerSelector:a}){if(!t)return;await na(n)?(qo({lockMode:e,contentContainerSelector:i}),a&&ea(a)):Qo({lockMode:e,contentContainerSelector:i,loadingStyle:r})}function qo({lockMode:t,contentContainerSelector:e}){if(t==="proxy"||t==="signedUrl")return;if(e===void 0)throw new Error("contentContainerSelector is required");const n=document.querySelector(e);if(!n)return;const r=n.children;if(!(r.length<2))for(let i=2;i<r.length;i++){const o=r[i];o.style.display="none"}}async function Qo({lockMode:t,contentContainerSelector:e=".content",loadingStyle:n}){switch(t){case"proxy":{const r=document.querySelector(e);if(!r)return;const i=r.innerHTML;n==="spinner"||n==="skeleton"&&ta(e);try{const o=await ia(),l=new DOMParser().parseFromString(o,"text/html").querySelector(e);if(!l)throw new Error("Failed to find the content");r.innerHTML=l.innerHTML}catch(o){console.error("Failed to fetch the content:",o),r.innerHTML=i}return}case"embed":case"encode":case"event":case"signedUrl":default:throw new Error("Not implemented")}}function ea(t){const e=document.querySelector(t);if(!e)return;const n=document.createElement("button");n.textContent="Buy now for 10 SEK",n.addEventListener("click",()=>{alert("You need to buy the content to view the full article")}),e.appendChild(n)}function ta(t){const e=document.querySelector(t);if(!e)return;e.innerHTML="";const n=ra();e.appendChild(n)}async function na(t){var e;switch(t){case"public":return!1;case"logged-in":return!await Ge();case"entitlement":{if(!await Ge())return!0;const r=await window.sesamy.entitlements.list(),i=new URL(window.location.href),o=i.origin+i.pathname;return!!((e=r.find(a=>a.url===o))!=null&&e.id)}default:throw new Error("Not implemented")}}function ra({showGroup:t,showTitle:e,showSubtitle:n,showImage:r,showContent:i,contentLength:o}={showGroup:!0,showTitle:!0,showSubtitle:!0,showImage:!0,showContent:!0,contentLength:4}){const a=document.createElement("div");if(a.style.padding="16px",t){const s=document.createElement("div");Object.assign(s.style,{background:"#ddd",borderRadius:"4px",margin:"8px 0",width:"30%",height:"14px"}),a.appendChild(s)}if(e){const s=document.createElement("div");Object.assign(s.style,{background:"#ddd",borderRadius:"4px",margin:"16px 0",width:"70%",height:"50px"}),a.appendChild(s)}if(n){const s=document.createElement("div");Object.assign(s.style,{background:"#ddd",borderRadius:"4px",margin:"8px 0",width:"50%",height:"20px"}),a.appendChild(s)}if(r){const s=document.createElement("div");Object.assign(s.style,{background:"#ddd",borderRadius:"4px",margin:"8px 0",width:"100%",maxWidth:"300px",height:"150px"}),a.appendChild(s)}if(i)for(let s=0;s<o;s++){const l=document.createElement("div");Object.assign(l.style,{background:"#ddd",borderRadius:"4px",margin:"8px 0",width:s===o-1?"80%":"100%",height:"14px"}),a.appendChild(l)}return a}async function ia(){const t=await _e(!0),e=new URL(window.location.href),n=new URL("/proxy",Go);n.searchParams.append("url",e.toString());const r=await fetch(n.toString(),{headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`}});if(!r.ok)throw new Error("Failed to fetch the content");return await r.text()}function oa(){const t=new URLSearchParams(window.location.hash.substring(1)),e=t.get("access_token");if(e){dn(e);const n=new URL(window.location.href);t.delete("access_token"),n.hash=t.toString(),window.history.replaceState(null,"",n)}}const Er="sesamy-refresh",Pr="force-refetch-entitlements";function aa(){const t=new URLSearchParams(window.location.search),e=t.get(Pr),n=t.get(Er);if(e!==null||n!==null){const r=new URL(window.location.href);t.delete(Pr),t.delete(Er),r.search=t.toString(),te(),window.history.replaceState(null,"",r)}}function sa(){const t=new URLSearchParams(window.location.search),e=t.get("token"),n=t.get("se");if(!n||!e)return;const r=parseInt(n,10);if(Number.isNaN(r)||r<Date.now())return;Xo({url:window.location.href.split("?")[0],token:e,expiresAt:r,publisherContentId:t.get("sp")??void 0});const i=new URL(window.location.href);i.searchParams.delete("ss"),i.searchParams.delete("se"),i.searchParams.delete("sp"),i.searchParams.delete("so"),i.searchParams.delete("token"),window.history.replaceState(null,"",i)}const Tr="sesamy-user";async function ca(){const e=new URLSearchParams(window.location.search).get(Tr);if(!e)return;const n=await fi();(n==null?void 0:n.email)!==e&&(te(),Et({authorizationParams:{email_hint:e,login_hint:e}}));const r=new URL(window.location.href);r.searchParams.delete(Tr),window.history.replaceState(null,"",r)}const Or="sesamy-purchase";function ua(){const t=new URLSearchParams(window.location.search),e=t.get(Or);if(e!==null){const n=new URL(window.location.href);t.delete(Or),n.search=t.toString(),J(ee.PURCHASE,{itemSrc:e}),te(),window.history.replaceState(null,"",n)}}const Cr="sesamy-login";async function la(){if(!new URLSearchParams(window.location.search).get(Cr))return;await Ge()||Et();const r=new URL(window.location.href);r.searchParams.delete(Cr),window.history.replaceState(null,"",r)}async function jr(t){Ko({clientId:t.clientId,...t.analytics}),await hi({clientId:t.clientId,organization:t.organization,...t.auth}),await Bo({...t.content});const e=Vo({clientId:t.clientId,...t.api});return J(ee.READY,{}),oa(),aa(),sa(),await la(),await ca(),ua(),e}if(typeof document<"u"){const t=document.getElementById("sesamy-js");if(t!=null&&t.textContent)try{const e=JSON.parse(t.textContent);jr(e)}catch(e){console.error("Failed to parse config",e)}}return re.init=jr,Object.defineProperty(re,Symbol.toStringTag,{value:"Module"}),re}({});