@sesamy/sesamy-js 1.21.3 → 1.21.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/sesamy-js.cjs +1 -1
- package/dist/sesamy-js.d.ts +1 -1
- package/dist/sesamy-js.iife.js +1 -1
- package/dist/sesamy-js.mjs +3 -2
- package/package.json +1 -1
package/dist/sesamy-js.cjs
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
`,10)+1,o=a.substring(i)+(n?"//# sourceMappingURL="+n:""),s=new Blob([o],{type:"application/javascript"});return URL.createObjectURL(s)}var Eu,Ou,ku,vi,kT=(Eu="Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Y2xhc3MgZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQscil7c3VwZXIociksdGhpcy5lcnJvcj10LHRoaXMuZXJyb3JfZGVzY3JpcHRpb249cixPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxlLnByb3RvdHlwZSl9c3RhdGljIGZyb21QYXlsb2FkKHtlcnJvcjp0LGVycm9yX2Rlc2NyaXB0aW9uOnJ9KXtyZXR1cm4gbmV3IGUodCxyKX19Y2xhc3MgdCBleHRlbmRzIGV7Y29uc3RydWN0b3IoZSxzKXtzdXBlcigibWlzc2luZ19yZWZyZXNoX3Rva2VuIixgTWlzc2luZyBSZWZyZXNoIFRva2VuIChhdWRpZW5jZTogJyR7cihlLFsiZGVmYXVsdCJdKX0nLCBzY29wZTogJyR7cihzKX0nKWApLHRoaXMuYXVkaWVuY2U9ZSx0aGlzLnNjb3BlPXMsT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsdC5wcm90b3R5cGUpfX1mdW5jdGlvbiByKGUsdD1bXSl7cmV0dXJuIGUmJiF0LmluY2x1ZGVzKGUpP2U6IiJ9ImZ1bmN0aW9uIj09dHlwZW9mIFN1cHByZXNzZWRFcnJvciYmU3VwcHJlc3NlZEVycm9yO2NvbnN0IHM9ZT0+e3ZhcntjbGllbnRJZDp0fT1lLHI9ZnVuY3Rpb24oZSx0KXt2YXIgcj17fTtmb3IodmFyIHMgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxzKSYmdC5pbmRleE9mKHMpPDAmJihyW3NdPWVbc10pO2lmKG51bGwhPWUmJiJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbz0wO2ZvcihzPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7bzxzLmxlbmd0aDtvKyspdC5pbmRleE9mKHNbb10pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLHNbb10pJiYocltzW29dXT1lW3Nbb11dKX1yZXR1cm4gcn0oZSxbImNsaWVudElkIl0pO3JldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKChlPT5PYmplY3Qua2V5cyhlKS5maWx0ZXIoKHQ9PnZvaWQgMCE9PWVbdF0pKS5yZWR1Y2UoKCh0LHIpPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse1tyXTplW3JdfSkpLHt9KSkoT2JqZWN0LmFzc2lnbih7Y2xpZW50X2lkOnR9LHIpKSkudG9TdHJpbmcoKX07bGV0IG89e307Y29uc3Qgbj0oZSx0KT0+YCR7ZX18JHt0fWA7YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGFzeW5jKHtkYXRhOnt0aW1lb3V0OmUsYXV0aDpyLGZldGNoVXJsOmksZmV0Y2hPcHRpb25zOmMsdXNlRm9ybURhdGE6YX0scG9ydHM6W3BdfSk9PntsZXQgZjtjb25zdHthdWRpZW5jZTp1LHNjb3BlOmx9PXJ8fHt9O3RyeXtjb25zdCByPWE/KGU9Pntjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXMoZSkscj17fTtyZXR1cm4gdC5mb3JFYWNoKCgoZSx0KT0+e3JbdF09ZX0pKSxyfSkoYy5ib2R5KTpKU09OLnBhcnNlKGMuYm9keSk7aWYoIXIucmVmcmVzaF90b2tlbiYmInJlZnJlc2hfdG9rZW4iPT09ci5ncmFudF90eXBlKXtjb25zdCBlPSgoZSx0KT0+b1tuKGUsdCldKSh1LGwpO2lmKCFlKXRocm93IG5ldyB0KHUsbCk7Yy5ib2R5PWE/cyhPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3JlZnJlc2hfdG9rZW46ZX0pKTpKU09OLnN0cmluZ2lmeShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3JlZnJlc2hfdG9rZW46ZX0pKX1sZXQgaCxnOyJmdW5jdGlvbiI9PXR5cGVvZiBBYm9ydENvbnRyb2xsZXImJihoPW5ldyBBYm9ydENvbnRyb2xsZXIsYy5zaWduYWw9aC5zaWduYWwpO3RyeXtnPWF3YWl0IFByb21pc2UucmFjZShbKGQ9ZSxuZXcgUHJvbWlzZSgoZT0+c2V0VGltZW91dChlLGQpKSkpLGZldGNoKGksT2JqZWN0LmFzc2lnbih7fSxjKSldKX1jYXRjaChlKXtyZXR1cm4gdm9pZCBwLnBvc3RNZXNzYWdlKHtlcnJvcjplLm1lc3NhZ2V9KX1pZighZylyZXR1cm4gaCYmaC5hYm9ydCgpLHZvaWQgcC5wb3N0TWVzc2FnZSh7ZXJyb3I6IlRpbWVvdXQgd2hlbiBleGVjdXRpbmcgJ2ZldGNoJyJ9KTtmPWF3YWl0IGcuanNvbigpLGYucmVmcmVzaF90b2tlbj8oKChlLHQscik9PntvW24odCxyKV09ZX0pKGYucmVmcmVzaF90b2tlbix1LGwpLGRlbGV0ZSBmLnJlZnJlc2hfdG9rZW4pOigoZSx0KT0+e2RlbGV0ZSBvW24oZSx0KV19KSh1LGwpLHAucG9zdE1lc3NhZ2Uoe29rOmcub2ssanNvbjpmfSl9Y2F0Y2goZSl7cC5wb3N0TWVzc2FnZSh7b2s6ITEsanNvbjp7ZXJyb3I6ZS5lcnJvcixlcnJvcl9kZXNjcmlwdGlvbjplLm1lc3NhZ2V9fSl9dmFyIGR9KSl9KCk7Cgo=",Ou=null,ku=!1,function(e){return vi=vi||OT(Eu,Ou,ku),new Worker(vi,e)});const hi={};let _T=class{constructor(t,r){this.cache=t,this.clientId=r,this.manifestKey=this.createManifestKeyFrom(this.clientId)}async add(t){var r;const n=new Set(((r=await this.cache.get(this.manifestKey))===null||r===void 0?void 0:r.keys)||[]);n.add(t),await this.cache.set(this.manifestKey,{keys:[...n]})}async remove(t){const r=await this.cache.get(this.manifestKey);if(r){const n=new Set(r.keys);return n.delete(t),n.size>0?await this.cache.set(this.manifestKey,{keys:[...n]}):await this.cache.remove(this.manifestKey)}}get(){return this.cache.get(this.manifestKey)}clear(){return this.cache.remove(this.manifestKey)}createManifestKeyFrom(t){return`@@auth0spajs@@::${t}`}};const RT={memory:()=>new Cd().enclosedCache,localstorage:()=>new wT},_u=e=>RT[e],Ru=e=>{const{openUrl:t,onRedirect:r}=e,n=Ae(e,["openUrl","onRedirect"]);return Object.assign(Object.assign({},n),{openUrl:t===!1||t?t:r})},pi=new cT;let CT=class{constructor(t){let r,n;if(this.userCache=new Cd().enclosedCache,this.defaultOptions={authorizationParams:{scope:"openid profile email"},useRefreshTokensFallback:!1,useFormData:!0},this._releaseLockOnPageHide=async()=>{await pi.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)},this.options=Object.assign(Object.assign(Object.assign({},this.defaultOptions),t),{authorizationParams:Object.assign(Object.assign({},this.defaultOptions.authorizationParams),t.authorizationParams)}),typeof window<"u"&&(()=>{if(!wn())throw new Error("For security reasons, `window.crypto` is required to run `auth0-spa-js`.");if(wn().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
4
|
`)})(),t.cache&&t.cacheLocation&&console.warn("Both `cache` and `cacheLocation` options have been specified in the Auth0Client configuration; ignoring `cacheLocation` and using `cache`."),t.cache)n=t.cache;else{if(r=t.cacheLocation||"memory",!_u(r))throw new Error(`Invalid cache location "${r}"`);n=_u(r)()}this.httpTimeoutMs=t.httpTimeoutInSeconds?1e3*t.httpTimeoutInSeconds:1e4,this.cookieStorage=t.legacySameSiteCookie===!1?Ot:PT,this.orgHintCookieName=`auth0.${this.options.clientId}.organization_hint`,this.isAuthenticatedCookieName=(o=>`auth0.${o}.is.authenticated`)(this.options.clientId),this.sessionCheckExpiryDays=t.sessionCheckExpiryDays||1;const a=t.useCookiesForTransactions?this.cookieStorage:ET;var i;this.scope=nn("openid",this.options.authorizationParams.scope,this.options.useRefreshTokens?"offline_access":""),this.transactionManager=new ST(a,this.options.clientId,this.options.cookieDomain),this.nowProvider=this.options.nowProvider||Id,this.cacheManager=new bT(n,n.allKeys?void 0:new _T(n,this.options.clientId),this.nowProvider),this.domainUrl=(i=this.options.domain,/^https?:\/\//.test(i)?i:`https://${i}`),this.tokenIssuer=((o,s)=>o?o.startsWith("https://")?o:`https://${o}/`:`${s}/`)(this.options.issuer,this.domainUrl),typeof window<"u"&&window.Worker&&this.options.useRefreshTokens&&r==="memory"&&(this.options.workerUrl?this.worker=new Worker(this.options.workerUrl):this.worker=new kT)}_url(t){const r=encodeURIComponent(btoa(JSON.stringify(this.options.auth0Client||$d)));return`${this.domainUrl}${t}&auth0Client=${r}`}_authorizeUrl(t){return this._url(`/authorize?${Qi(t)}`)}async _verifyIdToken(t,r,n){const a=await this.nowProvider();return IT({iss:this.tokenIssuer,aud:this.options.clientId,id_token:t,nonce:r,organization:n,leeway:this.options.leeway,max_age:(i=this.options.authorizationParams.max_age,typeof i!="string"?i:parseInt(i,10)||void 0),now:a});var i}_processOrgHint(t){t?this.cookieStorage.save(this.orgHintCookieName,t,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}):this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain})}async _prepareAuthorizeUrl(t,r,n){const a=Tu(di()),i=Tu(di()),o=di(),s=(l=>{const c=new Uint8Array(l);return(d=>{const v={"+":"-","/":"_","=":""};return d.replace(/[+/=]/g,h=>v[h])})(window.btoa(String.fromCharCode(...Array.from(c))))})(await(async l=>await wn().subtle.digest({name:"SHA-256"},new TextEncoder().encode(l)))(o)),u=((l,c,d,v,h,b,g,P)=>Object.assign(Object.assign(Object.assign({client_id:l.clientId},l.authorizationParams),d),{scope:nn(c,d.scope),response_type:"code",response_mode:P||"query",state:v,nonce:h,redirect_uri:g||l.authorizationParams.redirect_uri,code_challenge:b,code_challenge_method:"S256"}))(this.options,this.scope,t,a,i,s,t.redirect_uri||this.options.authorizationParams.redirect_uri||n,r==null?void 0:r.response_mode),f=this._authorizeUrl(u);return{nonce:i,code_verifier:o,scope:u.scope,audience:u.audience||"default",redirect_uri:u.redirect_uri,state:a,url:f}}async loginWithPopup(t,r){var n;if(t=t||{},!(r=r||{}).popup&&(r.popup=(s=>{const u=window.screenX+(window.innerWidth-400)/2,f=window.screenY+(window.innerHeight-600)/2;return window.open(s,"auth0:authorize:popup",`left=${u},top=${f},width=400,height=600,resizable,scrollbars=yes,status=1`)})(""),!r.popup))throw new Error("Unable to open a popup for loginWithPopup - window.open returned `null`");const a=await this._prepareAuthorizeUrl(t.authorizationParams||{},{response_mode:"web_message"},window.location.origin);r.popup.location.href=a.url;const i=await(s=>new Promise((u,f)=>{let l;const c=setInterval(()=>{s.popup&&s.popup.closed&&(clearInterval(c),clearTimeout(d),window.removeEventListener("message",l,!1),f(new dT(s.popup)))},1e3),d=setTimeout(()=>{clearInterval(c),f(new fT(s.popup)),window.removeEventListener("message",l,!1)},1e3*(s.timeoutInSeconds||60));l=function(v){if(v.data&&v.data.type==="authorization_response"){if(clearTimeout(d),clearInterval(c),window.removeEventListener("message",l,!1),s.popup.close(),v.data.response.error)return f(ce.fromPayload(v.data.response));u(v.data.response)}},window.addEventListener("message",l)}))(Object.assign(Object.assign({},r),{timeoutInSeconds:r.timeoutInSeconds||this.options.authorizeTimeoutInSeconds||60}));if(a.state!==i.state)throw new ce("state_mismatch","Invalid state");const o=((n=t.authorizationParams)===null||n===void 0?void 0:n.organization)||this.options.authorizationParams.organization;await this._requestToken({audience:a.audience,scope:a.scope,code_verifier:a.code_verifier,grant_type:"authorization_code",code:i.code,redirect_uri:a.redirect_uri},{nonceIn:a.nonce,organization:o})}async getUser(){var t;const r=await this._getIdTokenFromCache();return(t=r==null?void 0:r.decodedToken)===null||t===void 0?void 0:t.user}async getIdTokenClaims(){var t;const r=await this._getIdTokenFromCache();return(t=r==null?void 0:r.decodedToken)===null||t===void 0?void 0:t.claims}async loginWithRedirect(t={}){var r;const n=Ru(t),{openUrl:a,fragment:i,appState:o}=n,s=Ae(n,["openUrl","fragment","appState"]),u=((r=s.authorizationParams)===null||r===void 0?void 0:r.organization)||this.options.authorizationParams.organization,f=await this._prepareAuthorizeUrl(s.authorizationParams||{}),{url:l}=f,c=Ae(f,["url"]);this.transactionManager.create(Object.assign(Object.assign(Object.assign({},c),{appState:o}),u&&{organization:u}));const d=i?`${l}#${i}`:l;a?await a(d):window.location.assign(d)}async handleRedirectCallback(t=window.location.href){const r=t.split("?").slice(1);if(r.length===0)throw new Error("There are no query params available for parsing.");const{state:n,code:a,error:i,error_description:o}=(c=>{c.indexOf("#")>-1&&(c=c.substring(0,c.indexOf("#")));const d=new URLSearchParams(c);return{state:d.get("state"),code:d.get("code")||void 0,error:d.get("error")||void 0,error_description:d.get("error_description")||void 0}})(r.join("")),s=this.transactionManager.get();if(!s)throw new ce("missing_transaction","Invalid state");if(this.transactionManager.remove(),i)throw new lT(i,o||i,n,s.appState);if(!s.code_verifier||s.state&&s.state!==n)throw new ce("state_mismatch","Invalid state");const u=s.organization,f=s.nonce,l=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:a},l?{redirect_uri:l}:{}),{nonceIn:f,organization:u}),{appState:s.appState}}async checkSession(t){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(t)}catch{}}async getTokenSilently(t={}){var r;const n=Object.assign(Object.assign({cacheMode:"on"},t),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),t.authorizationParams),{scope:nn(this.scope,(r=t.authorizationParams)===null||r===void 0?void 0:r.scope)})}),a=await((i,o)=>{let s=hi[o];return s||(s=i().finally(()=>{delete hi[o],s=null}),hi[o]=s),s})(()=>this._getTokenSilently(n),`${this.options.clientId}::${n.authorizationParams.audience}::${n.authorizationParams.scope}`);return t.detailedResponse?a:a==null?void 0:a.access_token}async _getTokenSilently(t){const{cacheMode:r}=t,n=Ae(t,["cacheMode"]);if(r!=="off"){const a=await this._getEntryFromCache({scope:n.authorizationParams.scope,audience:n.authorizationParams.audience||"default",clientId:this.options.clientId});if(a)return a}if(r!=="cache-only"){if(!await(async(a,i=3)=>{for(let o=0;o<i;o++)if(await a())return!0;return!1})(()=>pi.acquireLock("auth0.lock.getTokenSilently",5e3),10))throw new qi;try{if(window.addEventListener("pagehide",this._releaseLockOnPageHide),r!=="off"){const f=await this._getEntryFromCache({scope:n.authorizationParams.scope,audience:n.authorizationParams.audience||"default",clientId:this.options.clientId});if(f)return f}const a=this.options.useRefreshTokens?await this._getTokenUsingRefreshToken(n):await this._getTokenFromIFrame(n),{id_token:i,access_token:o,oauthTokenScope:s,expires_in:u}=a;return Object.assign(Object.assign({id_token:i,access_token:o},s?{scope:s}:null),{expires_in:u})}finally{await pi.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)}}}async getTokenWithPopup(t={},r={}){var n;const a=Object.assign(Object.assign({},t),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),t.authorizationParams),{scope:nn(this.scope,(n=t.authorizationParams)===null||n===void 0?void 0:n.scope)})});return r=Object.assign(Object.assign({},uT),r),await this.loginWithPopup(a,r),(await this.cacheManager.get(new it({scope:a.authorizationParams.scope,audience:a.authorizationParams.audience||"default",clientId:this.options.clientId}))).access_token}async isAuthenticated(){return!!await this.getUser()}_buildLogoutUrl(t){t.clientId!==null?t.clientId=t.clientId||this.options.clientId:delete t.clientId;const r=t.logoutParams||{},{federated:n}=r,a=Ae(r,["federated"]),i=n?"&federated":"";return this._url(`/v2/logout?${Qi(Object.assign({clientId:t.clientId},a))}`)+i}async logout(t={}){const r=Ru(t),{openUrl:n}=r,a=Ae(r,["openUrl"]);t.clientId===null?await this.cacheManager.clear():await this.cacheManager.clear(t.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 i=this._buildLogoutUrl(a);n?await n(i):n!==!1&&window.location.assign(i)}async _getTokenFromIFrame(t){const r=Object.assign(Object.assign({},t.authorizationParams),{prompt:"none"}),n=this.cookieStorage.get(this.orgHintCookieName);n&&!r.organization&&(r.organization=n);const{url:a,state:i,nonce:o,code_verifier:s,redirect_uri:u,scope:f,audience:l}=await this._prepareAuthorizeUrl(r,{response_mode:"web_message"},window.location.origin);try{if(window.crossOriginIsolated)throw new ce("login_required","The application is running in a Cross-Origin Isolated context, silently retrieving a token without refresh token is not possible.");const c=t.timeoutInSeconds||this.options.authorizeTimeoutInSeconds,d=await((h,b,g=60)=>new Promise((P,T)=>{const w=window.document.createElement("iframe");w.setAttribute("width","0"),w.setAttribute("height","0"),w.style.display="none";const p=()=>{window.document.body.contains(w)&&(window.document.body.removeChild(w),window.removeEventListener("message",$,!1))};let $;const O=setTimeout(()=>{T(new qi),p()},1e3*g);$=function(_){if(_.origin!=b||!_.data||_.data.type!=="authorization_response")return;const k=_.source;k&&k.close(),_.data.response.error?T(ce.fromPayload(_.data.response)):P(_.data.response),clearTimeout(O),window.removeEventListener("message",$,!1),setTimeout(p,2e3)},window.addEventListener("message",$,!1),window.document.body.appendChild(w),w.setAttribute("src",h)}))(a,this.domainUrl,c);if(i!==d.state)throw new ce("state_mismatch","Invalid state");const v=await this._requestToken(Object.assign(Object.assign({},t.authorizationParams),{code_verifier:s,code:d.code,grant_type:"authorization_code",redirect_uri:u,timeout:t.authorizationParams.timeout||this.httpTimeoutMs}),{nonceIn:o,organization:r.organization});return Object.assign(Object.assign({},v),{scope:f,oauthTokenScope:v.scope,audience:l})}catch(c){throw c.error==="login_required"&&this.logout({openUrl:!1}),c}}async _getTokenUsingRefreshToken(t){const r=await this.cacheManager.get(new it({scope:t.authorizationParams.scope,audience:t.authorizationParams.audience||"default",clientId:this.options.clientId}));if(!(r&&r.refresh_token||this.worker)){if(this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(t);throw new _d(t.authorizationParams.audience||"default",t.authorizationParams.scope)}const n=t.authorizationParams.redirect_uri||this.options.authorizationParams.redirect_uri||window.location.origin,a=typeof t.timeoutInSeconds=="number"?1e3*t.timeoutInSeconds:null;try{const i=await this._requestToken(Object.assign(Object.assign(Object.assign({},t.authorizationParams),{grant_type:"refresh_token",refresh_token:r&&r.refresh_token,redirect_uri:n}),a&&{timeout:a}));return Object.assign(Object.assign({},i),{scope:t.authorizationParams.scope,oauthTokenScope:i.scope,audience:t.authorizationParams.audience||"default"})}catch(i){if((i.message.indexOf("Missing Refresh Token")>-1||i.message&&i.message.indexOf("invalid refresh token")>-1)&&this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(t);throw i}}async _saveEntryInCache(t){const{id_token:r,decodedToken:n}=t,a=Ae(t,["id_token","decodedToken"]);this.userCache.set("@@user@@",{id_token:r,decodedToken:n}),await this.cacheManager.setIdToken(this.options.clientId,t.id_token,t.decodedToken),await this.cacheManager.set(a)}async _getIdTokenFromCache(){const t=this.options.authorizationParams.audience||"default",r=await this.cacheManager.getIdToken(new it({clientId:this.options.clientId,audience:t,scope:this.scope})),n=this.userCache.get("@@user@@");return r&&r.id_token===(n==null?void 0:n.id_token)?n:(this.userCache.set("@@user@@",r),r)}async _getEntryFromCache({scope:t,audience:r,clientId:n}){const a=await this.cacheManager.get(new it({scope:t,audience:r,clientId:n}),60);if(a&&a.access_token){const{access_token:i,oauthTokenScope:o,expires_in:s}=a,u=await this._getIdTokenFromCache();return u&&Object.assign(Object.assign({id_token:u.id_token,access_token:i},o?{scope:o}:null),{expires_in:s})}}async _requestToken(t,r){const{nonceIn:n,organization:a}=r||{},i=await yT(Object.assign({baseUrl:this.domainUrl,client_id:this.options.clientId,auth0Client:this.options.auth0Client,useFormData:this.options.useFormData,timeout:this.httpTimeoutMs},t),this.worker),o=await this._verifyIdToken(i.id_token,n,a);return await this._saveEntryInCache(Object.assign(Object.assign(Object.assign(Object.assign({},i),{decodedToken:o,scope:t.scope,audience:t.audience||"default"}),i.scope?{oauthTokenScope:i.scope}:null),{client_id:this.options.clientId})),this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this._processOrgHint(a||o.claims.org_id),Object.assign(Object.assign({},i),{decodedToken:o})}};async function AT(e){const t=new CT(e);return await t.checkSession(),t}var Oe=(e=>(e.READY="sesamyJsReady",e.AUTHENTICATED="sesamyJsAuthenticated",e.LOGOUT="sesamyJsLogout",e.CLEAR_CACHE="sesamyJsClearCache",e.USER_ATTRIBUTE_CHANGED="sesamyUserAttributeChanged",e.PURCHASE="sesamyJsPurchase",e))(Oe||{});const jT="sesamy.com",LT="sesamy.dev",NT="https://sesa.my",to="sesamyCacheTimestamp";function Me(e,t){return`https://${e}.${t==="dev"?LT:jT}`}let le,Ld,Nd=!1;const zt="sesamyAccessToken",mi="sesamyRefreshToken";async function Nr(){return new Promise((r,n)=>{let a=0;const i=()=>{Nd?r(!0):a>=5e3?n(new Error("Initialization failed: Timeout")):(a+=100,setTimeout(i,100))};i()})}async function xT(e){if(!e)return null;const t=localStorage.getItem(mi);if(!t)throw new Error("No refresh token available");const r=new URLSearchParams;r.set("client_id",e.iss),r.set("refresh_token",t),r.set("grant_type","refresh_token");const n=new URL(e.iss);n.pathname="/oauth/token",n.searchParams.set("user_id",e.sub);try{const a=await fetch(n.href,{body:r.toString(),method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"}});if(!a.ok)throw localStorage.removeItem(mi),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(mi,i.refresh_token),localStorage.setItem(zt,i.access_token),i.access_token}catch{xd()}}async function Jo(){const e=localStorage.getItem(zt);if(!e)return null;const t=Ud(e);if(!t||!t.exp||t.exp<new Date().getTime()/1e3){const r=await xT(t);if(r)return r;localStorage.removeItem(zt)}return e}function Cu(e){try{const t=new URL(e).hostname,r=t.split(".");return r.length>1?r.slice(-2).join("."):t}catch{return null}}async function UT(e){if(e.enabled===!1)return;Ld=e.organization;const t={domain:Me("token",e.environment),clientId:e.clientId,useCookiesForTransactions:!0};if(Cu(window.location.href)!==Cu(Me("auth",e.environment))&&(t.cacheLocation="localstorage",t.useRefreshTokens=!0),le=await AT(t),window.location.search.includes("code="))try{await le.handleRedirectCallback();const r=await le.getUser();Xe(Oe.AUTHENTICATED,r);const n=new URL(location.href),a=n.searchParams;a.delete("code"),a.delete("state"),n.search=a.toString(),window.history.replaceState({},document.title,n.toString())}catch(r){console.error(r)}Nd=!0}async function Yo(){return await Nr(),await Jo()?!0:le?le.isAuthenticated():!1}async function DT(){return await Nr(),await Jo()?{sub:"local",name:"Local User"}:le?le.getUser():null}async function Xo(e){if(await Nr(),localStorage.removeItem(zt),!le)throw new Error("Auth0 client not initialized");const t=(e==null?void 0:e.authorizationParams)||{};return le.loginWithRedirect({...e,authorizationParams:{organization:Ld,redirect_uri:window.location.href,...t}})}async function cr(e=!0){await Nr();const t=await Jo();if(t)return t;try{return le?await le.getTokenSilently():null}catch(r){if(e)throw r;return null}}async function xd(e={}){if(await Nr(),localStorage.removeItem(zt),Xe(Oe.LOGOUT,{}),!!le)return le.logout({...e,logoutParams:{returnTo:window.location.href,...e.logoutParams}})}function Ud(e){const t=e.split(".");if(t.length!==3)return null;const n=t[1].replace(/-/g,"+").replace(/_/g,"/"),a=decodeURIComponent(atob(n).split("").map(function(i){return"%"+("00"+i.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(a)}async function Dd(e){const t=Ud(e);if(!t||!t.exp||t.exp<new Date().getTime()/1e3)throw new Error("Invalid token");localStorage.setItem(zt,e),Xe(Oe.AUTHENTICATED,t)}const MT=(e,t)=>t.skipDedupe||t.method!=="GET",FT=(e,t)=>t.method+"@"+e,BT=e=>e.clone(),Au=({skip:e=MT,key:t=FT,resolver:r=BT}={})=>{const n=new Map;return a=>(i,o)=>{if(e(i,o))return a(i,o);const s=t(i,o);if(!n.has(s))n.set(s,[]);else return new Promise((u,f)=>{n.get(s).push([u,f])});try{return a(i,o).then(u=>(n.get(s).forEach(([f])=>f(r(u))),n.delete(s),u)).catch(u=>{throw n.get(s).forEach(([,f])=>f(u)),n.delete(s),u})}catch(u){return n.delete(s),Promise.reject(u)}}},zT=(e,t)=>e*t,HT=e=>e&&e.ok,ju=({delayTimer:e=500,delayRamp:t=zT,maxAttempts:r=10,until:n=HT,onRetry:a=null,retryOnNetworkError:i=!1,resolveWithLatestResponse:o=!1,skip:s}={})=>u=>(f,l)=>{let c=0;if(s&&s(f,l))return u(f,l);const d=(v,h)=>Promise.resolve(n(v,h)).then(b=>b?v&&o?v:h?Promise.reject(h):v:(c++,!r||c<=r?new Promise(g=>{const P=t(e,c);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:v,error:h,url:f,options:l})).then((T={})=>{var w,p;g(u((w=T&&T.url)!==null&&w!==void 0?w:f,(p=T&&T.options)!==null&&p!==void 0?p:l))}):g(u(f,l))},P)}).then(d).catch(g=>{if(!i)throw g;return d(null,g)}):v&&o?v:Promise.reject(h||new Error("Number of attempts exceeded."))));return u(f,l).then(d).catch(v=>{if(!i)throw v;return d(null,v)})},GT="application/json",Md="Content-Type",Tt=Symbol(),Fd=Symbol();function Lu(e={}){var t;return(t=Object.entries(e).find(([r])=>r.toLowerCase()===Md.toLowerCase()))===null||t===void 0?void 0:t[1]}function Nu(e){return/^application\/.*json.*/.test(e)}const st=function(e,t,r=!1){return Object.entries(t).reduce((n,[a,i])=>{const o=e[a];return Array.isArray(o)&&Array.isArray(i)?n[a]=r?[...o,...i]:i:typeof o=="object"&&typeof i=="object"?n[a]=st(o,i,r):n[a]=i,n},{...e})},Ht={options:{},errorType:"text",polyfills:{},polyfill(e,t=!0,r=!1,...n){const a=this.polyfills[e]||(typeof self<"u"?self[e]:null)||(typeof global<"u"?global[e]:null);if(t&&!a)throw new Error(e+" is not defined");return r&&a?new a(...n):a}};function KT(e,t=!1){Ht.options=t?e:st(Ht.options,e)}function WT(e,t=!1){Ht.polyfills=t?e:st(Ht.polyfills,e)}function VT(e){Ht.errorType=e}const ZT=e=>t=>e.reduceRight((r,n)=>n(r),t)||t;class Bd extends Error{}const JT=e=>{const t=Object.create(null);e=e._addons.reduce((w,p)=>p.beforeRequest&&p.beforeRequest(w,e._options,t)||w,e);const{_url:r,_options:n,_config:a,_catchers:i,_resolvers:o,_middlewares:s,_addons:u}=e,f=new Map(i),l=st(a.options,n);let c=r;const d=ZT(s)((w,p)=>(c=w,a.polyfill("fetch")(w,p)))(r,l),v=new Error,h=d.catch(w=>{throw{[Tt]:w}}).then(w=>{var p;if(!w.ok){const $=new Bd;if($.cause=v,$.stack=$.stack+`
|
|
5
|
-
CAUSE: `+v.stack,$.response=w,$.status=w.status,$.url=c,w.type==="opaque")throw $;const O=a.errorType==="json"||((p=w.headers.get("Content-Type"))===null||p===void 0?void 0:p.split(";")[0])==="application/json";return(a.errorType?O?w.text():w[a.errorType]():Promise.resolve(w.body)).then(k=>{throw $.message=typeof k=="string"?k:w.statusText,k&&(O&&typeof k=="string"?($.text=k,$.json=JSON.parse(k)):$[a.errorType]=k),$})}return w}),b=w=>w.catch(p=>{const $=Object.prototype.hasOwnProperty.call(p,Tt),O=$?p[Tt]:p,_=(O==null?void 0:O.status)&&f.get(O.status)||f.get(O==null?void 0:O.name)||$&&f.has(Tt)&&f.get(Tt);if(_)return _(O,e);const k=f.get(Fd);if(k)return k(O,e);throw O}),g=w=>p=>b(w?h.then($=>$&&$[w]()).then($=>p?p($):$):h.then($=>p?p($):$)),P={_wretchReq:e,_fetchReq:d,_sharedState:t,res:g(null),json:g("json"),blob:g("blob"),formData:g("formData"),arrayBuffer:g("arrayBuffer"),text:g("text"),error(w,p){return f.set(w,p),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(Tt,w)}},T=u.reduce((w,p)=>({...w,...typeof p.resolver=="function"?p.resolver(w):p.resolver}),P);return o.reduce((w,p)=>p(w,e),T)},YT={_url:"",_options:{},_config:Ht,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(e){return{...this,_addons:[...this._addons,e],...e.wretch}},errorType(e){return{...this,_config:{...this._config,errorType:e}}},polyfills(e,t=!1){return{...this,_config:{...this._config,polyfills:t?e:st(this._config.polyfills,e)}}},url(e,t=!1){if(t)return{...this,_url:e};const r=this._url.split("?");return{...this,_url:r.length>1?r[0]+e+"?"+r[1]:this._url+e}},options(e,t=!1){return{...this,_options:t?e:st(this._options,e)}},headers(e){const t=e?Array.isArray(e)?Object.fromEntries(e):"entries"in e?Object.fromEntries(e.entries()):e:{};return{...this,_options:st(this._options,{headers:t})}},accept(e){return this.headers({Accept:e})},content(e){return this.headers({[Md]:e})},auth(e){return this.headers({Authorization:e})},catcher(e,t){const r=new Map(this._catchers);return r.set(e,t),{...this,_catchers:r}},catcherFallback(e){return this.catcher(Fd,e)},resolve(e,t=!1){return{...this,_resolvers:t?[e]:[...this._resolvers,e]}},defer(e,t=!1){return{...this,_deferred:t?[e]:[...this._deferred,e]}},middlewares(e,t=!1){return{...this,_middlewares:t?e:[...this._middlewares,...e]}},fetch(e=this._options.method,t="",r=null){let n=this.url(t).options({method:e});const a=Lu(n._options.headers),i=this._config.polyfill("FormData",!1),o=typeof r=="object"&&!(i&&r instanceof i)&&(!n._options.headers||!a||Nu(a));return n=r?o?n.json(r,a):n.body(r):n,JT(n._deferred.reduce((s,u)=>u(s,s._url,s._options),n))},get(e=""){return this.fetch("GET",e)},delete(e=""){return this.fetch("DELETE",e)},put(e,t=""){return this.fetch("PUT",t,e)},post(e,t=""){return this.fetch("POST",t,e)},patch(e,t=""){return this.fetch("PATCH",t,e)},head(e=""){return this.fetch("HEAD",e)},opts(e=""){return this.fetch("OPTIONS",e)},body(e){return{...this,_options:{...this._options,body:e}}},json(e,t){const r=Lu(this._options.headers);return this.content(t||Nu(r)&&r||GT).body(JSON.stringify(e))}};function Be(e="",t={}){return{...YT,_url:e,_options:t}}Be.default=Be;Be.options=KT;Be.errorType=VT;Be.polyfills=WT;Be.WretchError=Bd;function Ie(){sessionStorage.removeItem(to),Xe(Oe.CLEAR_CACHE,{})}function xu(){var r;return(r=(document.documentElement.getAttribute("lang")??"en").split("-")[0])==null?void 0:r.toLocaleLowerCase()}function XT(e){let t;try{t=new URL(e)}catch{return!1}return t.protocol==="http:"||t.protocol==="https:"}function qT(e,t){if(XT(e))return{itemSrc:e};const[r,n,a]=e.split(":");return{sku:`${r}:${n}`,purchaseOption:t||a}}function QT(e,t){const r=new URL(`${Me("checkout3",e.environment)}`);if(r.searchParams.set("vendorId",e.clientId),t.language&&r.searchParams.set("lang",t.language),t.sku)r.searchParams.set("sku",t.sku),t.purchaseOptionId&&r.searchParams.set("poId",t.purchaseOptionId);else if(t.itemSrc){const{sku:o,purchaseOption:s,itemSrc:u}=qT(t.itemSrc,t.purchaseOptionId);u&&r.searchParams.set("itemSrc",u),o&&r.searchParams.set("sku",o),s&&r.searchParams.set("poId",s)}t.email&&r.searchParams.set("email",t.email),t.business&&r.searchParams.set("business","true"),t.currency&&r.searchParams.set("currency",t.currency),t.price&&r.searchParams.set("price",t.price.toString()),t.discountCode&&r.searchParams.set("discountCode",t.discountCode),t.attributionItemSrc&&r.searchParams.set("attributionItemSrc",t.attributionItemSrc),t.attributionPublisherContentId&&r.searchParams.set("attributionPublisherContentId",t.attributionPublisherContentId),t.utmSource&&r.searchParams.set("utmSource",t.utmSource),t.utmMedium&&r.searchParams.set("utmMedium",t.utmMedium),t.utmCampaign&&r.searchParams.set("utmCampaign",t.utmCampaign),t.utmTerm&&r.searchParams.set("utmTerm",t.utmTerm),t.utmContent&&r.searchParams.set("utmContent",t.utmContent);const n=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(o=>{const[s,u]=o.trim().split("=");return{key:s,value:u}}).filter(o=>n.some(s=>s===o.key)).forEach(o=>{r.searchParams.append(o.key,o.value)});const i=new URL(t.redirectUrl||window.location.href);return i.searchParams.set("force-refetch-entitlements","true"),t.itemSrc&&i.searchParams.set("sesamy-purchase",t.itemSrc),r.searchParams.set("redirectUrl",i.toString()),t.paymemtMethodsFilter&&r.searchParams.set("paymentMethodsFilter",t.paymemtMethodsFilter.flatMap(({provider:o,methods:s})=>s?s.map(u=>`${o}|${u}`):o).join(",")),r}function eP(e){const t=Me("api2",e.environment),r=S=>async(I,C)=>{let V=sessionStorage.getItem(to);V||(V=Date.now().toString(),sessionStorage.setItem(to,V));const se={...C,headers:{...C.headers,"Cache-Timestamp":V}};return S(I,se)},n=(S=!0)=>I=>async(C,V)=>{let se=null;if(se=await cr(S),!se){if(S)throw new Error("No access token available");return I(C,V)}const gt={...V,headers:{...V.headers,...se?{Authorization:`Bearer ${se}`}:{}}};return I(C,gt)},a=S=>(I,C)=>{if(C.headers.Authorization)return S(I,C);const V=localStorage.getItem("__anon_id"),se=btoa(`${V}:`),gt={...C,headers:{...C.headers,Authorization:`Basic ${se}`}};return S(I,gt)},i=Be(t).headers({"Content-Type":"application/json"}).middlewares([r,n(),Au(),ju({delayTimer:1e3,delayRamp:(S,I)=>S*I,maxAttempts:3,until:S=>!!(S&&(S.ok||S.status>=400&&S.status<500)),retryOnNetworkError:!1})]),o=Be(t).headers({"Content-Type":"application/json"}).middlewares([r,n(!1),a,Au(),ju({delayTimer:1e3,delayRamp:(S,I)=>S*I,maxAttempts:3,until:S=>!!(S&&(S.ok||S.status>=400&&S.status<500)),retryOnNetworkError:!1})]);async function s(){return i.get("/entitlements").json()}async function u(S){const I=await i.get("/entitlements").json();return I==null?void 0:I.find(C=>C.id===S)}async function f(S){return i.get(`/entitlements/${S}/access`).json()}async function l(){return i.get("/contracts").json()}async function c(S){const I=await i.get("/contracts").json();return I==null?void 0:I.find(C=>C.id===S)}async function d(S){return(await i.post({},`/contracts/${S}/cancel`).res()).ok}async function v(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),i.get("/subscriptions").json()}async function h(){return i.get("/bills").json()}async function b(S){const I=await i.get("/bills").json();return I==null?void 0:I.find(C=>C.id===S)}async function g(){return i.get("/transactions").json()}async function P(S){const I=await i.get("/transactions").json();return I==null?void 0:I.find(C=>C.id===S)}async function T(S,I){const C=await i.url(`/user-metadata/${S}`).put(I).json();return Xe(Oe.USER_ATTRIBUTE_CHANGED,{}),Ie(),C}async function w(S){const I=await i.url(`/user-metadata/${S}`).delete().res();return Ie(),I.ok}async function p(S){return(await i.url(`/user-metadata/${S}`).get().json())[S]}async function $(){return await i.url("/user-metadata").get().json()}async function O(){return await i.url("/tags").get().json()}async function _(S){const I=await i.url(`/tags/${S}`).delete().res();return Ie(),I.ok}async function k(S){const I=await i.url("/tags").post(S).res();return Xe(Oe.USER_ATTRIBUTE_CHANGED,{}),Ie(),I.ok}async function M(S){return(await o.url("/tallies").get().json())[S]}async function F(){return await o.url("/tallies").get().json()}async function Z(S){const I=await o.url(`/tallies/${S}`).delete().res();return Ie(),I.ok}async function L(S,I){return await o.url(`/tallies/${S}/push`).post(I).json()}async function U(S){return await i.url(`/products/${S}`).get().json()}async function z(){return await cr(!1)?await i.url("/profile").get().json():null}async function R(S){const I=await i.url("/profile").patch(S).res();return Ie(),I.ok}async function K(){return await i.url("/payment-issues").get().json()}async function X(){return(await i.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function Ne(){return(await i.url("/profile/unlink-spotify").post().res()).ok}async function m(S){const I=await cr(!1);if(!I)throw new Error("No access token available");const C=new URL(`${Me("spotify-oas",e.environment)}/sesamy-callback`);C.searchParams.set("access_token",I),C.searchParams.set("state",S),window.location.href=C.toString()}async function y(S){const I=await i.url(`/products/${S}/auto-onboard`).post().json();return I.length&&Ie(),I}async function E(S,I=3600){const{shortlink:C}=await Be(NT).post({url:S,ttl:I}).json();return C}async function N(S){const I=await cr(!1);let C;const V=S.language||xu();switch(S.target){case"account":C=new URL(`${Me("account",e.environment)}/${S.language||V}/subscriptions/${e.clientId}`),C.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"consume":C=new URL(`${Me("consume",e.environment)}/${S.language||V}/@${e.clientId}/${S.sku}`),S.episodeId?C.href+=`/${S.episodeId}`:C.href+="/listen",C.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"checkout":C=QT(e,{language:V,...S});break;default:throw new Error("Invalid target")}return I&&(C.hash=`#access_token=${I}`),S.shorten?E(C.href,S.ttl):C.href}async function x(S){return(await o.url("/checkouts").post({language:xu(),...S,vendorId:e.clientId})).json()}async function D(S,I){return(await o.url(`/checkouts/${S}`).patch(I)).json()}async function J(S){return(await o.url(`/checkouts/${S}`).get()).json()}async function B(){const S=await cr(!1),I=new URL(`${Me("account",e.environment)}/subscriptions/${e.clientId}`);S&&(I.hash=`#access_token=${S}`),window.location.href=I.toString()}return{createCheckout:x,updateCheckout:D,getCheckout:J,getEntitlements:s,getEntitlement:u,getEntitlementAccess:f,getContracts:l,getContract:c,cancelContract:d,getProfile:z,updateProfile:R,getSubscriptions:v,getBills:h,getBill:b,setUserMetadata:T,deleteUserMetadata:w,getUserMetadata:p,listUserMetadata:$,getTags:O,deleteTag:_,setTag:k,getTally:M,getTallies:F,deleteTally:Z,pushTally:L,getTransactions:g,getTransaction:P,getProduct:U,getPaymentIssues:K,autoOnboardProduct:y,isSpotifyLinked:X,unlinkSpotify:Ne,linkSpotify:m,generateLink:N,openHostedAccountPage:B}}const zd="@sesamy/sesamy-js",qo="1.19.1";function Uu(e,t,r,n,a){for(t=t.split?t.split("."):t,n=0;n<t.length;n++)e=e?e[t[n]]:a;return e===a?r:e}var an="undefined",Du="object",ro=function(){},Hd="any",Gd="*",lt="__",Ln=typeof process<"u"?process:{};Ln.env&&Ln.env.NODE_ENV;var q=typeof document<"u";Ln.versions!=null&&Ln.versions.node!=null;typeof Deno<"u"&&Deno.core;q&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent!==void 0&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function Kd(e,t){return t.charAt(0)[e]()+t.slice(1)}var tP=Kd.bind(null,"toUpperCase"),rP=Kd.bind(null,"toLowerCase");function nP(e){return Wd(e)?tP("null"):typeof e=="object"?sP(e):Object.prototype.toString.call(e).slice(8,-1)}function Nn(e,t){t===void 0&&(t=!0);var r=nP(e);return t?rP(r):r}function xr(e,t){return typeof t===e}var oe=xr.bind(null,"function"),Ze=xr.bind(null,"string"),Ct=xr.bind(null,"undefined"),aP=xr.bind(null,"boolean");xr.bind(null,"symbol");function Wd(e){return e===null}function iP(e){return Nn(e)==="number"&&!isNaN(e)}function Vd(e){return Nn(e)==="array"}function ie(e){if(!oP(e))return!1;for(var t=e;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function oP(e){return e&&(typeof e=="object"||e!==null)}function sP(e){return oe(e.constructor)?e.constructor.name:null}function cP(e){return e instanceof Error||Ze(e.message)&&e.constructor&&iP(e.constructor.stackTraceLimit)}function Zd(e,t){if(typeof t!="object"||Wd(t))return!1;if(t instanceof e)return!0;var r=Nn(new e(""));if(cP(t))for(;t;){if(Nn(t)===r)return!0;t=Object.getPrototypeOf(t)}return!1}Zd.bind(null,TypeError);Zd.bind(null,SyntaxError);function ra(e,t){var r=e instanceof Element||e instanceof HTMLDocument;return r&&t?uP(e,t):r}function uP(e,t){return t===void 0&&(t=""),e&&e.nodeName===t.toUpperCase()}function na(e){var t=[].slice.call(arguments,1);return function(){return e.apply(void 0,[].slice.call(arguments).concat(t))}}na(ra,"form");na(ra,"button");na(ra,"input");na(ra,"select");function lP(e){return e?Vd(e)?e:[e]:[]}function Mu(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch{return null}}function fP(){if(q){var e=navigator,t=e.languages;return e.userLanguage||(t&&t.length?t[0]:e.language)}}function dP(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function vP(e){return function(t){for(var r,n=Object.create(null),a=/([^&=]+)=?([^&]*)/g;r=a.exec(t);){var i=Mu(r[1]),o=Mu(r[2]);i.substring(i.length-2)==="[]"?(n[i=i.substring(0,i.length-2)]||(n[i]=[])).push(o):n[i]=o===""||o}for(var s in n){var u=s.split("[");u.length>1&&(hP(n,u.map(function(f){return f.replace(/[?[\]\\ ]/g,"")}),n[s]),delete n[s])}return n}(function(t){return q&&window.location.search.substring(1)}())}function hP(e,t,r){for(var n=t.length-1,a=0;a<n;++a){var i=t[a];if(i==="__proto__"||i==="constructor")break;i in e||(e[i]={}),e=e[i]}e[t[n]]=r}function aa(){for(var e="",t=0,r=4294967295*Math.random()|0;t++<36;){var n="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[t-1],a=15&r;e+=n=="-"||n=="4"?n:(n=="x"?a:3&a|8).toString(16),r=t%8==0?4294967295*Math.random()|0:r>>4}return e}function pP(e,t){var r,n,a,i=null,o=0,s=function(){o=new Date,i=null,a=e.apply(r,n)};return function(){var u=new Date;o||(o=u);var f=t-(u-o);return r=this,n=arguments,f<=0?(clearTimeout(i),i=null,o=u,a=e.apply(r,n)):i||(i=setTimeout(s,f)),a}}var br="global",Gt=lt+"global"+lt,Kt=typeof self===Du&&self.self===self&&self||typeof global===Du&&global.global===global&&global||void 0;function ft(e){return Kt[Gt][e]}function dt(e,t){return Kt[Gt][e]=t}function qt(e){delete Kt[Gt][e]}function Qt(e,t,r){var n;try{if(Qo(e)){var a=window[e];n=a[t].bind(a)}}catch{}return n||r}Kt[Gt]||(Kt[Gt]={});var on={};function Qo(e){if(typeof on[e]!==an)return on[e];try{var t=window[e];t.setItem(an,an),t.removeItem(an)}catch{return on[e]=!1}return on[e]=!0}function j(){return j=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},j.apply(this,arguments)}var Ke="function",Fe="undefined",mP="@@redux/"+Math.random().toString(36),Fu=function(){return typeof Symbol===Ke&&Symbol.observable||"@@observable"}(),sn=" != "+Ke;function Jd(e,t,r){var n;if(typeof t===Ke&&typeof r===Fe&&(r=t,t=void 0),typeof r!==Fe){if(typeof r!==Ke)throw new Error("enhancer"+sn);return r(Jd)(e,t)}if(typeof e!==Ke)throw new Error("reducer"+sn);var a=e,i=t,o=[],s=o,u=!1;function f(){s===o&&(s=o.slice())}function l(){return i}function c(v){if(typeof v!==Ke)throw new Error("Listener"+sn);var h=!0;return f(),s.push(v),function(){if(h){h=!1,f();var b=s.indexOf(v);s.splice(b,1)}}}function d(v){if(!ie(v))throw new Error("Act != obj");if(typeof v.type===Fe)throw new Error("ActType "+Fe);if(u)throw new Error("Dispatch in reducer");try{u=!0,i=a(i,v)}finally{u=!1}for(var h=o=s,b=0;b<h.length;b++)(0,h[b])();return v}return d({type:"@@redux/INIT"}),(n={dispatch:d,subscribe:c,getState:l,replaceReducer:function(v){if(typeof v!==Ke)throw new Error("next reducer"+sn);a=v,d({type:"@@redux/INIT"})}})[Fu]=function(){var v,h=c;return(v={subscribe:function(b){if(typeof b!="object")throw new TypeError("Observer != obj");function g(){b.next&&b.next(l())}return g(),{unsubscribe:h(g)}}})[Fu]=function(){return this},v},n}function gP(e,t){var r=t&&t.type;return"action "+(r&&r.toString()||"?")+"reducer "+e+" returns "+Fe}function Wt(){var e=[].slice.call(arguments);return e.length===0?function(t){return t}:e.length===1?e[0]:e.reduce(function(t,r){return function(){return t(r.apply(void 0,[].slice.call(arguments)))}})}function yP(){var e=arguments;return function(t){return function(r,n,a){var i,o=t(r,n,a),s=o.dispatch,u={getState:o.getState,dispatch:function(f){return s(f)}};return i=[].slice.call(e).map(function(f){return f(u)}),j({},o,{dispatch:s=Wt.apply(void 0,i)(o.dispatch)})}}}var Je=lt+"anon_id",ct=lt+"user_id",Lt=lt+"user_traits",Ge="userId",At="anonymousId",bn=["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"],no=["name","EVENTS","config","loaded"],A=bn.reduce(function(e,t){return e[t]=t,e},{registerPluginType:function(e){return"registerPlugin:"+e},pluginReadyType:function(e){return"ready:"+e}}),Bu=/^utm_/,zu=/^an_prop_/,Hu=/^an_trait_/;function wP(e){var t=e.storage.setItem;return function(r){return function(n){return function(a){if(a.type===A.bootstrap){var i=a.params,o=a.user,s=a.persistedUser,u=a.initialUser,f=s.userId===o.userId;s.anonymousId!==o.anonymousId&&t(Je,o.anonymousId),f||t(ct,o.userId),u.traits&&t(Lt,j({},f&&s.traits?s.traits:{},u.traits));var l=Object.keys(a.params);if(l.length){var c=i.an_uid,d=i.an_event,v=l.reduce(function(h,b){if(b.match(Bu)||b.match(/^(d|g)clid/)){var g=b.replace(Bu,"");h.campaign[g==="campaign"?"name":g]=i[b]}return b.match(zu)&&(h.props[b.replace(zu,"")]=i[b]),b.match(Hu)&&(h.traits[b.replace(Hu,"")]=i[b]),h},{campaign:{},props:{},traits:{}});r.dispatch(j({type:A.params,raw:i},v,c?{userId:c}:{})),c&&setTimeout(function(){return e.identify(c,v.traits)},0),d&&setTimeout(function(){return e.track(d,v.props)},0),Object.keys(v.campaign).length&&r.dispatch({type:A.campaign,campaign:v.campaign})}}return n(a)}}}}function bP(e){return function(t,r){if(t===void 0&&(t={}),r===void 0&&(r={}),r.type===A.setItemEnd){if(r.key===Je)return j({},t,{anonymousId:r.value});if(r.key===ct)return j({},t,{userId:r.value})}switch(r.type){case A.identify:return Object.assign({},t,{userId:r.userId,traits:j({},t.traits,r.traits)});case A.reset:return[ct,Je,Lt].forEach(function(n){e.removeItem(n)}),Object.assign({},t,{userId:null,anonymousId:null,traits:{}});default:return t}}}function Gu(e){return{userId:e.getItem(ct),anonymousId:e.getItem(Je),traits:e.getItem(Lt)}}var ao=function(e){return lt+"TEMP"+lt+e};function SP(e){var t=e.storage,r=t.setItem,n=t.removeItem,a=t.getItem;return function(i){return function(o){return function(s){var u=s.userId,f=s.traits,l=s.options;if(s.type===A.reset&&([ct,Lt,Je].forEach(function(v){n(v)}),[Ge,At,"traits"].forEach(function(v){qt(ao(v))})),s.type===A.identify){a(Je)||r(Je,aa());var c=a(ct),d=a(Lt)||{};c&&c!==u&&i.dispatch({type:A.userIdChanged,old:{userId:c,traits:d},new:{userId:u,traits:f},options:l}),u&&r(ct,u),f&&r(Lt,j({},d,f))}return o(s)}}}}var vr={};function Ku(e,t){vr[e]&&oe(vr[e])&&(vr[e](t),delete vr[e])}function Yd(e,t,r){return new Promise(function(n,a){return t()?n(e):r<1?a(j({},e,{queue:!0})):new Promise(function(i){return setTimeout(i,10)}).then(function(i){return Yd(e,t,r-10).then(n,a)})})}function $P(e){return{abort:e}}function Xd(e,t,r){var n={},a=t(),i=e.getState(),o=i.plugins,s=i.queue,u=i.user;if(!i.context.offline&&s&&s.actions&&s.actions.length){var f=s.actions.reduce(function(c,d,v){return o[d.plugin].loaded?(c.process.push(d),c.processIndex.push(v)):(c.requeue.push(d),c.requeueIndex.push(v)),c},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(f.processIndex&&f.processIndex.length){f.processIndex.forEach(function(c){var d=s.actions[c],v=d.plugin,h=d.payload.type,b=a[v][h];if(b&&oe(b)){var g,P=function(p,$){return p===void 0&&(p={}),$===void 0&&($={}),[Ge,At].reduce(function(O,_){return p.hasOwnProperty(_)&&$[_]&&$[_]!==p[_]&&(O[_]=$[_]),O},p)}(d.payload,u),T=n[P.meta.rid];if(!T&&(g=b({payload:P,config:o[v].config,instance:r,abort:$P}))&&ie(g)&&g.abort)return void(n[P.meta.rid]=!0);if(!T){var w=h+":"+v;e.dispatch(j({},P,{type:w,_:{called:w,from:"queueDrain"}}))}}});var l=s.actions.filter(function(c,d){return!~f.processIndex.indexOf(d)});s.actions=l}}}var gi=function(e){var t=e.data,r=e.action,n=e.instance,a=e.state,i=e.allPlugins,o=e.allMatches,s=e.store,u=e.EVENTS;try{var f=a.plugins,l=a.context,c=r.type,d=c.match(Nt),v=t.exact.map(function(g){return g.pluginName});d&&(v=o.during.map(function(g){return g.pluginName}));var h=function(g,P){return function(T,w,p){var $=w.config,O=w.name,_=O+"."+T.type;p&&(_=p.event);var k=T.type.match(Nt)?function(M,F,Z,L,U){return function(z,R){var K=L?L.name:M,X=R&&Er(R)?R:Z;if(L&&(!(X=R&&Er(R)?R:[M]).includes(M)||X.length!==1))throw new Error("Method "+F+" can only abort "+M+" plugin. "+JSON.stringify(X)+" input valid");return j({},U,{abort:{reason:z,plugins:X,caller:F,_:K}})}}(O,_,P,p,T):function(M,F){return function(){throw new Error(M.type+" action not cancellable. Remove abort in "+F)}}(T,_);return{payload:IP(T),instance:g,config:$||{},abort:k}}}(n,v),b=t.exact.reduce(function(g,P){var T=P.pluginName,w=P.methodName,p=!1;return w.match(/^initialize/)||w.match(/^reset/)||(p=!f[T].loaded),l.offline&&w.match(/^(page|track|identify)/)&&(p=!0),g[""+T]=p,g},{});return Promise.resolve(t.exact.reduce(function(g,P,T){try{var w=P.pluginName;return Promise.resolve(g).then(function(p){function $(){return Promise.resolve(p)}var O=function(){if(t.namespaced&&t.namespaced[w])return Promise.resolve(t.namespaced[w].reduce(function(_,k,M){try{return Promise.resolve(_).then(function(F){return k.method&&oe(k.method)?(function(z,R){var K=qu(z);if(K&&K.name===R){var X=qu(K.method);throw new Error([R+" plugin is calling method "+z,"Plugins cant call self","Use "+K.method+" "+(X?"or "+X.method:"")+" in "+R+" plugin insteadof "+z].join(`
|
|
5
|
+
CAUSE: `+v.stack,$.response=w,$.status=w.status,$.url=c,w.type==="opaque")throw $;const O=a.errorType==="json"||((p=w.headers.get("Content-Type"))===null||p===void 0?void 0:p.split(";")[0])==="application/json";return(a.errorType?O?w.text():w[a.errorType]():Promise.resolve(w.body)).then(k=>{throw $.message=typeof k=="string"?k:w.statusText,k&&(O&&typeof k=="string"?($.text=k,$.json=JSON.parse(k)):$[a.errorType]=k),$})}return w}),b=w=>w.catch(p=>{const $=Object.prototype.hasOwnProperty.call(p,Tt),O=$?p[Tt]:p,_=(O==null?void 0:O.status)&&f.get(O.status)||f.get(O==null?void 0:O.name)||$&&f.has(Tt)&&f.get(Tt);if(_)return _(O,e);const k=f.get(Fd);if(k)return k(O,e);throw O}),g=w=>p=>b(w?h.then($=>$&&$[w]()).then($=>p?p($):$):h.then($=>p?p($):$)),P={_wretchReq:e,_fetchReq:d,_sharedState:t,res:g(null),json:g("json"),blob:g("blob"),formData:g("formData"),arrayBuffer:g("arrayBuffer"),text:g("text"),error(w,p){return f.set(w,p),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(Tt,w)}},T=u.reduce((w,p)=>({...w,...typeof p.resolver=="function"?p.resolver(w):p.resolver}),P);return o.reduce((w,p)=>p(w,e),T)},YT={_url:"",_options:{},_config:Ht,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(e){return{...this,_addons:[...this._addons,e],...e.wretch}},errorType(e){return{...this,_config:{...this._config,errorType:e}}},polyfills(e,t=!1){return{...this,_config:{...this._config,polyfills:t?e:st(this._config.polyfills,e)}}},url(e,t=!1){if(t)return{...this,_url:e};const r=this._url.split("?");return{...this,_url:r.length>1?r[0]+e+"?"+r[1]:this._url+e}},options(e,t=!1){return{...this,_options:t?e:st(this._options,e)}},headers(e){const t=e?Array.isArray(e)?Object.fromEntries(e):"entries"in e?Object.fromEntries(e.entries()):e:{};return{...this,_options:st(this._options,{headers:t})}},accept(e){return this.headers({Accept:e})},content(e){return this.headers({[Md]:e})},auth(e){return this.headers({Authorization:e})},catcher(e,t){const r=new Map(this._catchers);return r.set(e,t),{...this,_catchers:r}},catcherFallback(e){return this.catcher(Fd,e)},resolve(e,t=!1){return{...this,_resolvers:t?[e]:[...this._resolvers,e]}},defer(e,t=!1){return{...this,_deferred:t?[e]:[...this._deferred,e]}},middlewares(e,t=!1){return{...this,_middlewares:t?e:[...this._middlewares,...e]}},fetch(e=this._options.method,t="",r=null){let n=this.url(t).options({method:e});const a=Lu(n._options.headers),i=this._config.polyfill("FormData",!1),o=typeof r=="object"&&!(i&&r instanceof i)&&(!n._options.headers||!a||Nu(a));return n=r?o?n.json(r,a):n.body(r):n,JT(n._deferred.reduce((s,u)=>u(s,s._url,s._options),n))},get(e=""){return this.fetch("GET",e)},delete(e=""){return this.fetch("DELETE",e)},put(e,t=""){return this.fetch("PUT",t,e)},post(e,t=""){return this.fetch("POST",t,e)},patch(e,t=""){return this.fetch("PATCH",t,e)},head(e=""){return this.fetch("HEAD",e)},opts(e=""){return this.fetch("OPTIONS",e)},body(e){return{...this,_options:{...this._options,body:e}}},json(e,t){const r=Lu(this._options.headers);return this.content(t||Nu(r)&&r||GT).body(JSON.stringify(e))}};function Be(e="",t={}){return{...YT,_url:e,_options:t}}Be.default=Be;Be.options=KT;Be.errorType=VT;Be.polyfills=WT;Be.WretchError=Bd;function Ie(){sessionStorage.removeItem(to),Xe(Oe.CLEAR_CACHE,{})}function xu(){var r;return(r=(document.documentElement.getAttribute("lang")??"en").split("-")[0])==null?void 0:r.toLocaleLowerCase()}function XT(e){let t;try{t=new URL(e)}catch{return!1}return t.protocol==="http:"||t.protocol==="https:"}function qT(e,t){if(XT(e))return{itemSrc:e};const[r,n,a]=e.split(":");return{sku:`${r}:${n}`,purchaseOption:t||a}}function QT(e,t){const r=new URL(`${Me("checkout3",e.environment)}`);if(r.searchParams.set("vendorId",e.clientId),t.language&&r.searchParams.set("lang",t.language),t.sku)r.searchParams.set("sku",t.sku),t.purchaseOptionId&&r.searchParams.set("poId",t.purchaseOptionId);else if(t.itemSrc){const{sku:o,purchaseOption:s,itemSrc:u}=qT(t.itemSrc,t.purchaseOptionId);u&&r.searchParams.set("itemSrc",u),o&&r.searchParams.set("sku",o),s&&r.searchParams.set("poId",s)}t.email&&r.searchParams.set("email",t.email),t.business&&r.searchParams.set("business","true"),t.currency&&r.searchParams.set("currency",t.currency),t.price&&r.searchParams.set("price",t.price.toString()),t.discountCode&&r.searchParams.set("discountCode",t.discountCode),t.attributionItemSrc&&r.searchParams.set("attributionItemSrc",t.attributionItemSrc),t.attributionPublisherContentId&&r.searchParams.set("attributionPublisherContentId",t.attributionPublisherContentId),t.utmSource&&r.searchParams.set("utmSource",t.utmSource),t.utmMedium&&r.searchParams.set("utmMedium",t.utmMedium),t.utmCampaign&&r.searchParams.set("utmCampaign",t.utmCampaign),t.utmTerm&&r.searchParams.set("utmTerm",t.utmTerm),t.utmContent&&r.searchParams.set("utmContent",t.utmContent);const n=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(o=>{const[s,u]=o.trim().split("=");return{key:s,value:u}}).filter(o=>n.some(s=>s===o.key)).forEach(o=>{r.searchParams.append(o.key,o.value)});const i=new URL(t.redirectUrl||window.location.href);return i.searchParams.set("force-refetch-entitlements","true"),t.itemSrc&&i.searchParams.set("sesamy-purchase",t.itemSrc),r.searchParams.set("redirectUrl",i.toString()),t.paymemtMethodsFilter&&r.searchParams.set("paymentMethodsFilter",t.paymemtMethodsFilter.flatMap(({provider:o,methods:s})=>s?s.map(u=>`${o}|${u}`):o).join(",")),r}function eP(e){const t=Me("api2",e.environment),r=S=>async(I,C)=>{let V=sessionStorage.getItem(to);V||(V=Date.now().toString(),sessionStorage.setItem(to,V));const se={...C,headers:{...C.headers,"Cache-Timestamp":V}};return S(I,se)},n=(S=!0)=>I=>async(C,V)=>{let se=null;if(se=await cr(S),!se){if(S)throw new Error("No access token available");return I(C,V)}const gt={...V,headers:{...V.headers,...se?{Authorization:`Bearer ${se}`}:{}}};return I(C,gt)},a=S=>(I,C)=>{if(C.headers.Authorization)return S(I,C);const V=localStorage.getItem("__anon_id"),se=btoa(`${V}:`),gt={...C,headers:{...C.headers,Authorization:`Basic ${se}`}};return S(I,gt)},i=Be(t).headers({"Content-Type":"application/json"}).middlewares([r,n(),Au(),ju({delayTimer:1e3,delayRamp:(S,I)=>S*I,maxAttempts:3,until:S=>!!(S&&(S.ok||S.status>=400&&S.status<500)),retryOnNetworkError:!1})]),o=Be(t).headers({"Content-Type":"application/json"}).middlewares([r,n(!1),a,Au(),ju({delayTimer:1e3,delayRamp:(S,I)=>S*I,maxAttempts:3,until:S=>!!(S&&(S.ok||S.status>=400&&S.status<500)),retryOnNetworkError:!1})]);async function s(S){const I=S?`?wait-for-entitlement-after=${S.toISOString()}`:"";return i.get(`/entitlements${I}`).json()}async function u(S){const I=await i.get("/entitlements").json();return I==null?void 0:I.find(C=>C.id===S)}async function f(S){return i.get(`/entitlements/${S}/access`).json()}async function l(){return i.get("/contracts").json()}async function c(S){const I=await i.get("/contracts").json();return I==null?void 0:I.find(C=>C.id===S)}async function d(S){return(await i.post({},`/contracts/${S}/cancel`).res()).ok}async function v(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),i.get("/subscriptions").json()}async function h(){return i.get("/bills").json()}async function b(S){const I=await i.get("/bills").json();return I==null?void 0:I.find(C=>C.id===S)}async function g(){return i.get("/transactions").json()}async function P(S){const I=await i.get("/transactions").json();return I==null?void 0:I.find(C=>C.id===S)}async function T(S,I){const C=await i.url(`/user-metadata/${S}`).put(I).json();return Xe(Oe.USER_ATTRIBUTE_CHANGED,{}),Ie(),C}async function w(S){const I=await i.url(`/user-metadata/${S}`).delete().res();return Ie(),I.ok}async function p(S){return(await i.url(`/user-metadata/${S}`).get().json())[S]}async function $(){return await i.url("/user-metadata").get().json()}async function O(){return await i.url("/tags").get().json()}async function _(S){const I=await i.url(`/tags/${S}`).delete().res();return Ie(),I.ok}async function k(S){const I=await i.url("/tags").post(S).res();return Xe(Oe.USER_ATTRIBUTE_CHANGED,{}),Ie(),I.ok}async function M(S){return(await o.url("/tallies").get().json())[S]}async function F(){return await o.url("/tallies").get().json()}async function Z(S){const I=await o.url(`/tallies/${S}`).delete().res();return Ie(),I.ok}async function L(S,I){return await o.url(`/tallies/${S}/push`).post(I).json()}async function U(S){return await i.url(`/products/${S}`).get().json()}async function z(){return await cr(!1)?await i.url("/profile").get().json():null}async function R(S){const I=await i.url("/profile").patch(S).res();return Ie(),I.ok}async function K(){return await i.url("/payment-issues").get().json()}async function X(){return(await i.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function Ne(){return(await i.url("/profile/unlink-spotify").post().res()).ok}async function m(S){const I=await cr(!1);if(!I)throw new Error("No access token available");const C=new URL(`${Me("spotify-oas",e.environment)}/sesamy-callback`);C.searchParams.set("access_token",I),C.searchParams.set("state",S),window.location.href=C.toString()}async function y(S){const I=await i.url(`/products/${S}/auto-onboard`).post().json();return I.length&&Ie(),I}async function E(S,I=3600){const{shortlink:C}=await Be(NT).post({url:S,ttl:I}).json();return C}async function N(S){const I=await cr(!1);let C;const V=S.language||xu();switch(S.target){case"account":C=new URL(`${Me("account",e.environment)}/${S.language||V}/subscriptions/${e.clientId}`),C.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"consume":C=new URL(`${Me("consume",e.environment)}/${S.language||V}/@${e.clientId}/${S.sku}`),S.episodeId?C.href+=`/${S.episodeId}`:C.href+="/listen",C.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"checkout":C=QT(e,{language:V,...S});break;default:throw new Error("Invalid target")}return I&&(C.hash=`#access_token=${I}`),S.shorten?E(C.href,S.ttl):C.href}async function x(S){return(await o.url("/checkouts").post({language:xu(),...S,vendorId:e.clientId})).json()}async function D(S,I){return(await o.url(`/checkouts/${S}`).patch(I)).json()}async function J(S){return(await o.url(`/checkouts/${S}`).get()).json()}async function B(){const S=await cr(!1),I=new URL(`${Me("account",e.environment)}/subscriptions/${e.clientId}`);S&&(I.hash=`#access_token=${S}`),window.location.href=I.toString()}return{createCheckout:x,updateCheckout:D,getCheckout:J,getEntitlements:s,getEntitlement:u,getEntitlementAccess:f,getContracts:l,getContract:c,cancelContract:d,getProfile:z,updateProfile:R,getSubscriptions:v,getBills:h,getBill:b,setUserMetadata:T,deleteUserMetadata:w,getUserMetadata:p,listUserMetadata:$,getTags:O,deleteTag:_,setTag:k,getTally:M,getTallies:F,deleteTally:Z,pushTally:L,getTransactions:g,getTransaction:P,getProduct:U,getPaymentIssues:K,autoOnboardProduct:y,isSpotifyLinked:X,unlinkSpotify:Ne,linkSpotify:m,generateLink:N,openHostedAccountPage:B}}const zd="@sesamy/sesamy-js",qo="1.19.1";function Uu(e,t,r,n,a){for(t=t.split?t.split("."):t,n=0;n<t.length;n++)e=e?e[t[n]]:a;return e===a?r:e}var an="undefined",Du="object",ro=function(){},Hd="any",Gd="*",lt="__",Ln=typeof process<"u"?process:{};Ln.env&&Ln.env.NODE_ENV;var q=typeof document<"u";Ln.versions!=null&&Ln.versions.node!=null;typeof Deno<"u"&&Deno.core;q&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent!==void 0&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function Kd(e,t){return t.charAt(0)[e]()+t.slice(1)}var tP=Kd.bind(null,"toUpperCase"),rP=Kd.bind(null,"toLowerCase");function nP(e){return Wd(e)?tP("null"):typeof e=="object"?sP(e):Object.prototype.toString.call(e).slice(8,-1)}function Nn(e,t){t===void 0&&(t=!0);var r=nP(e);return t?rP(r):r}function xr(e,t){return typeof t===e}var oe=xr.bind(null,"function"),Ze=xr.bind(null,"string"),Ct=xr.bind(null,"undefined"),aP=xr.bind(null,"boolean");xr.bind(null,"symbol");function Wd(e){return e===null}function iP(e){return Nn(e)==="number"&&!isNaN(e)}function Vd(e){return Nn(e)==="array"}function ie(e){if(!oP(e))return!1;for(var t=e;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function oP(e){return e&&(typeof e=="object"||e!==null)}function sP(e){return oe(e.constructor)?e.constructor.name:null}function cP(e){return e instanceof Error||Ze(e.message)&&e.constructor&&iP(e.constructor.stackTraceLimit)}function Zd(e,t){if(typeof t!="object"||Wd(t))return!1;if(t instanceof e)return!0;var r=Nn(new e(""));if(cP(t))for(;t;){if(Nn(t)===r)return!0;t=Object.getPrototypeOf(t)}return!1}Zd.bind(null,TypeError);Zd.bind(null,SyntaxError);function ra(e,t){var r=e instanceof Element||e instanceof HTMLDocument;return r&&t?uP(e,t):r}function uP(e,t){return t===void 0&&(t=""),e&&e.nodeName===t.toUpperCase()}function na(e){var t=[].slice.call(arguments,1);return function(){return e.apply(void 0,[].slice.call(arguments).concat(t))}}na(ra,"form");na(ra,"button");na(ra,"input");na(ra,"select");function lP(e){return e?Vd(e)?e:[e]:[]}function Mu(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch{return null}}function fP(){if(q){var e=navigator,t=e.languages;return e.userLanguage||(t&&t.length?t[0]:e.language)}}function dP(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function vP(e){return function(t){for(var r,n=Object.create(null),a=/([^&=]+)=?([^&]*)/g;r=a.exec(t);){var i=Mu(r[1]),o=Mu(r[2]);i.substring(i.length-2)==="[]"?(n[i=i.substring(0,i.length-2)]||(n[i]=[])).push(o):n[i]=o===""||o}for(var s in n){var u=s.split("[");u.length>1&&(hP(n,u.map(function(f){return f.replace(/[?[\]\\ ]/g,"")}),n[s]),delete n[s])}return n}(function(t){return q&&window.location.search.substring(1)}())}function hP(e,t,r){for(var n=t.length-1,a=0;a<n;++a){var i=t[a];if(i==="__proto__"||i==="constructor")break;i in e||(e[i]={}),e=e[i]}e[t[n]]=r}function aa(){for(var e="",t=0,r=4294967295*Math.random()|0;t++<36;){var n="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[t-1],a=15&r;e+=n=="-"||n=="4"?n:(n=="x"?a:3&a|8).toString(16),r=t%8==0?4294967295*Math.random()|0:r>>4}return e}function pP(e,t){var r,n,a,i=null,o=0,s=function(){o=new Date,i=null,a=e.apply(r,n)};return function(){var u=new Date;o||(o=u);var f=t-(u-o);return r=this,n=arguments,f<=0?(clearTimeout(i),i=null,o=u,a=e.apply(r,n)):i||(i=setTimeout(s,f)),a}}var br="global",Gt=lt+"global"+lt,Kt=typeof self===Du&&self.self===self&&self||typeof global===Du&&global.global===global&&global||void 0;function ft(e){return Kt[Gt][e]}function dt(e,t){return Kt[Gt][e]=t}function qt(e){delete Kt[Gt][e]}function Qt(e,t,r){var n;try{if(Qo(e)){var a=window[e];n=a[t].bind(a)}}catch{}return n||r}Kt[Gt]||(Kt[Gt]={});var on={};function Qo(e){if(typeof on[e]!==an)return on[e];try{var t=window[e];t.setItem(an,an),t.removeItem(an)}catch{return on[e]=!1}return on[e]=!0}function j(){return j=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},j.apply(this,arguments)}var Ke="function",Fe="undefined",mP="@@redux/"+Math.random().toString(36),Fu=function(){return typeof Symbol===Ke&&Symbol.observable||"@@observable"}(),sn=" != "+Ke;function Jd(e,t,r){var n;if(typeof t===Ke&&typeof r===Fe&&(r=t,t=void 0),typeof r!==Fe){if(typeof r!==Ke)throw new Error("enhancer"+sn);return r(Jd)(e,t)}if(typeof e!==Ke)throw new Error("reducer"+sn);var a=e,i=t,o=[],s=o,u=!1;function f(){s===o&&(s=o.slice())}function l(){return i}function c(v){if(typeof v!==Ke)throw new Error("Listener"+sn);var h=!0;return f(),s.push(v),function(){if(h){h=!1,f();var b=s.indexOf(v);s.splice(b,1)}}}function d(v){if(!ie(v))throw new Error("Act != obj");if(typeof v.type===Fe)throw new Error("ActType "+Fe);if(u)throw new Error("Dispatch in reducer");try{u=!0,i=a(i,v)}finally{u=!1}for(var h=o=s,b=0;b<h.length;b++)(0,h[b])();return v}return d({type:"@@redux/INIT"}),(n={dispatch:d,subscribe:c,getState:l,replaceReducer:function(v){if(typeof v!==Ke)throw new Error("next reducer"+sn);a=v,d({type:"@@redux/INIT"})}})[Fu]=function(){var v,h=c;return(v={subscribe:function(b){if(typeof b!="object")throw new TypeError("Observer != obj");function g(){b.next&&b.next(l())}return g(),{unsubscribe:h(g)}}})[Fu]=function(){return this},v},n}function gP(e,t){var r=t&&t.type;return"action "+(r&&r.toString()||"?")+"reducer "+e+" returns "+Fe}function Wt(){var e=[].slice.call(arguments);return e.length===0?function(t){return t}:e.length===1?e[0]:e.reduce(function(t,r){return function(){return t(r.apply(void 0,[].slice.call(arguments)))}})}function yP(){var e=arguments;return function(t){return function(r,n,a){var i,o=t(r,n,a),s=o.dispatch,u={getState:o.getState,dispatch:function(f){return s(f)}};return i=[].slice.call(e).map(function(f){return f(u)}),j({},o,{dispatch:s=Wt.apply(void 0,i)(o.dispatch)})}}}var Je=lt+"anon_id",ct=lt+"user_id",Lt=lt+"user_traits",Ge="userId",At="anonymousId",bn=["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"],no=["name","EVENTS","config","loaded"],A=bn.reduce(function(e,t){return e[t]=t,e},{registerPluginType:function(e){return"registerPlugin:"+e},pluginReadyType:function(e){return"ready:"+e}}),Bu=/^utm_/,zu=/^an_prop_/,Hu=/^an_trait_/;function wP(e){var t=e.storage.setItem;return function(r){return function(n){return function(a){if(a.type===A.bootstrap){var i=a.params,o=a.user,s=a.persistedUser,u=a.initialUser,f=s.userId===o.userId;s.anonymousId!==o.anonymousId&&t(Je,o.anonymousId),f||t(ct,o.userId),u.traits&&t(Lt,j({},f&&s.traits?s.traits:{},u.traits));var l=Object.keys(a.params);if(l.length){var c=i.an_uid,d=i.an_event,v=l.reduce(function(h,b){if(b.match(Bu)||b.match(/^(d|g)clid/)){var g=b.replace(Bu,"");h.campaign[g==="campaign"?"name":g]=i[b]}return b.match(zu)&&(h.props[b.replace(zu,"")]=i[b]),b.match(Hu)&&(h.traits[b.replace(Hu,"")]=i[b]),h},{campaign:{},props:{},traits:{}});r.dispatch(j({type:A.params,raw:i},v,c?{userId:c}:{})),c&&setTimeout(function(){return e.identify(c,v.traits)},0),d&&setTimeout(function(){return e.track(d,v.props)},0),Object.keys(v.campaign).length&&r.dispatch({type:A.campaign,campaign:v.campaign})}}return n(a)}}}}function bP(e){return function(t,r){if(t===void 0&&(t={}),r===void 0&&(r={}),r.type===A.setItemEnd){if(r.key===Je)return j({},t,{anonymousId:r.value});if(r.key===ct)return j({},t,{userId:r.value})}switch(r.type){case A.identify:return Object.assign({},t,{userId:r.userId,traits:j({},t.traits,r.traits)});case A.reset:return[ct,Je,Lt].forEach(function(n){e.removeItem(n)}),Object.assign({},t,{userId:null,anonymousId:null,traits:{}});default:return t}}}function Gu(e){return{userId:e.getItem(ct),anonymousId:e.getItem(Je),traits:e.getItem(Lt)}}var ao=function(e){return lt+"TEMP"+lt+e};function SP(e){var t=e.storage,r=t.setItem,n=t.removeItem,a=t.getItem;return function(i){return function(o){return function(s){var u=s.userId,f=s.traits,l=s.options;if(s.type===A.reset&&([ct,Lt,Je].forEach(function(v){n(v)}),[Ge,At,"traits"].forEach(function(v){qt(ao(v))})),s.type===A.identify){a(Je)||r(Je,aa());var c=a(ct),d=a(Lt)||{};c&&c!==u&&i.dispatch({type:A.userIdChanged,old:{userId:c,traits:d},new:{userId:u,traits:f},options:l}),u&&r(ct,u),f&&r(Lt,j({},d,f))}return o(s)}}}}var vr={};function Ku(e,t){vr[e]&&oe(vr[e])&&(vr[e](t),delete vr[e])}function Yd(e,t,r){return new Promise(function(n,a){return t()?n(e):r<1?a(j({},e,{queue:!0})):new Promise(function(i){return setTimeout(i,10)}).then(function(i){return Yd(e,t,r-10).then(n,a)})})}function $P(e){return{abort:e}}function Xd(e,t,r){var n={},a=t(),i=e.getState(),o=i.plugins,s=i.queue,u=i.user;if(!i.context.offline&&s&&s.actions&&s.actions.length){var f=s.actions.reduce(function(c,d,v){return o[d.plugin].loaded?(c.process.push(d),c.processIndex.push(v)):(c.requeue.push(d),c.requeueIndex.push(v)),c},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(f.processIndex&&f.processIndex.length){f.processIndex.forEach(function(c){var d=s.actions[c],v=d.plugin,h=d.payload.type,b=a[v][h];if(b&&oe(b)){var g,P=function(p,$){return p===void 0&&(p={}),$===void 0&&($={}),[Ge,At].reduce(function(O,_){return p.hasOwnProperty(_)&&$[_]&&$[_]!==p[_]&&(O[_]=$[_]),O},p)}(d.payload,u),T=n[P.meta.rid];if(!T&&(g=b({payload:P,config:o[v].config,instance:r,abort:$P}))&&ie(g)&&g.abort)return void(n[P.meta.rid]=!0);if(!T){var w=h+":"+v;e.dispatch(j({},P,{type:w,_:{called:w,from:"queueDrain"}}))}}});var l=s.actions.filter(function(c,d){return!~f.processIndex.indexOf(d)});s.actions=l}}}var gi=function(e){var t=e.data,r=e.action,n=e.instance,a=e.state,i=e.allPlugins,o=e.allMatches,s=e.store,u=e.EVENTS;try{var f=a.plugins,l=a.context,c=r.type,d=c.match(Nt),v=t.exact.map(function(g){return g.pluginName});d&&(v=o.during.map(function(g){return g.pluginName}));var h=function(g,P){return function(T,w,p){var $=w.config,O=w.name,_=O+"."+T.type;p&&(_=p.event);var k=T.type.match(Nt)?function(M,F,Z,L,U){return function(z,R){var K=L?L.name:M,X=R&&Er(R)?R:Z;if(L&&(!(X=R&&Er(R)?R:[M]).includes(M)||X.length!==1))throw new Error("Method "+F+" can only abort "+M+" plugin. "+JSON.stringify(X)+" input valid");return j({},U,{abort:{reason:z,plugins:X,caller:F,_:K}})}}(O,_,P,p,T):function(M,F){return function(){throw new Error(M.type+" action not cancellable. Remove abort in "+F)}}(T,_);return{payload:IP(T),instance:g,config:$||{},abort:k}}}(n,v),b=t.exact.reduce(function(g,P){var T=P.pluginName,w=P.methodName,p=!1;return w.match(/^initialize/)||w.match(/^reset/)||(p=!f[T].loaded),l.offline&&w.match(/^(page|track|identify)/)&&(p=!0),g[""+T]=p,g},{});return Promise.resolve(t.exact.reduce(function(g,P,T){try{var w=P.pluginName;return Promise.resolve(g).then(function(p){function $(){return Promise.resolve(p)}var O=function(){if(t.namespaced&&t.namespaced[w])return Promise.resolve(t.namespaced[w].reduce(function(_,k,M){try{return Promise.resolve(_).then(function(F){return k.method&&oe(k.method)?(function(z,R){var K=qu(z);if(K&&K.name===R){var X=qu(K.method);throw new Error([R+" plugin is calling method "+z,"Plugins cant call self","Use "+K.method+" "+(X?"or "+X.method:"")+" in "+R+" plugin insteadof "+z].join(`
|
|
6
6
|
`))}}(k.methodName,k.pluginName),Promise.resolve(k.method({payload:F,instance:n,abort:(Z=F,L=w,U=k.pluginName,function(z,R){return j({},Z,{abort:{reason:z,plugins:R||[L],caller:c,from:U||L}})}),config:Zu(k.pluginName,f,i),plugins:f})).then(function(z){var R=ie(z)?z:{};return Promise.resolve(j({},F,R))})):F;var Z,L,U})}catch(F){return Promise.reject(F)}},Promise.resolve(r))).then(function(_){p[w]=_});p[w]=r}();return O&&O.then?O.then($):$()})}catch(p){return Promise.reject(p)}},Promise.resolve({}))).then(function(g){return Promise.resolve(t.exact.reduce(function(P,T,w){try{var p=t.exact.length===w+1,$=T.pluginName,O=i[$];return Promise.resolve(P).then(function(_){var k=g[$]?g[$]:{};if(d&&(k=_),wi(k,$))return yi({data:k,method:c,instance:n,pluginName:$,store:s}),Promise.resolve(_);if(wi(_,$))return p&&yi({data:_,method:c,instance:n,store:s}),Promise.resolve(_);if(b.hasOwnProperty($)&&b[$]===!0)return s.dispatch({type:"queue",plugin:$,payload:k,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(_);var M=h(g[$],i[$]);return Promise.resolve(O[c]({abort:M.abort,payload:k,instance:n,config:Zu($,f,i),plugins:f})).then(function(F){var Z=ie(F)?F:{},L=j({},_,Z),U=g[$];if(wi(U,$))yi({data:U,method:c,instance:n,pluginName:$,store:s});else{var z=c+":"+$;(z.match(/:/g)||[]).length<2&&!c.match(Wu)&&!c.match(Vu)&&n.dispatch(j({},d?L:k,{type:z,_:{called:z,from:"submethod"}}))}return Promise.resolve(L)})})}catch(_){return Promise.reject(_)}},Promise.resolve(r))).then(function(P){if(!(c.match(Nt)||c.match(/^registerPlugin/)||c.match(Vu)||c.match(Wu)||c.match(/^params/)||c.match(/^userIdChanged/))){if(u.plugins.includes(c),P._&&P._.originalAction===c)return P;var T=j({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});qd(P,t.exact.length)&&!c.match(/End$/)&&(T=j({},T,{type:P.type+"Aborted"})),s.dispatch(T)}return P})})}catch(g){return Promise.reject(g)}},Nt=/Start$/,Wu=/^bootstrap/,Vu=/^ready/;function yi(e){var t=e.pluginName,r=e.method+"Aborted"+(t?":"+t:"");e.store.dispatch(j({},e.data,{type:r,_:{called:r,from:"abort"}}))}function Zu(e,t,r){var n=t[e]||r[e];return n&&n.config?n.config:{}}function Ju(e,t){return t.reduce(function(r,n){return n[e]?r.concat({methodName:e,pluginName:n.name,method:n[e]}):r},[])}function Yu(e,t){var r=e.replace(Nt,""),n=t?":"+t:"";return[""+e+n,""+r+n,r+"End"+n]}function wi(e,t){var r=e.abort;return!!r&&(r===!0||Xu(r,t)||r&&Xu(r.plugins,t))}function qd(e,t){var r=e.abort;if(!r)return!1;if(r===!0||Ze(r))return!0;var n=r.plugins;return Er(r)&&r.length===t||Er(n)&&n.length===t}function Er(e){return Array.isArray(e)}function Xu(e,t){return!(!e||!Er(e))&&e.includes(t)}function qu(e){var t=e.match(/(.*):(.*)/);return!!t&&{method:t[1],name:t[2]}}function IP(e){return Object.keys(e).reduce(function(t,r){return r==="type"||(t[r]=ie(e[r])?Object.assign({},e[r]):e[r]),t},{})}function TP(e,t,r){var n={};return function(a){return function(i){return function(o){try{var s,u=function(p){return s?p:i(c)},f=o.type,l=o.plugins,c=o;if(o.abort)return Promise.resolve(i(o));if(f===A.enablePlugin&&a.dispatch({type:A.initializeStart,plugins:l,disabled:[],fromEnable:!0,meta:o.meta}),f===A.disablePlugin&&setTimeout(function(){return Ku(o.meta.rid,{payload:o})},0),f===A.initializeEnd){var d=t(),v=Object.keys(d),h=v.filter(function(p){return l.includes(p)}).map(function(p){return d[p]}),b=[],g=[],P=o.disabled,T=h.map(function(p){var $=p.loaded,O=p.name,_=p.config;return Yd(p,function(){return $({config:_})},1e4).then(function(k){return n[O]||(a.dispatch({type:A.pluginReadyType(O),name:O,events:Object.keys(p).filter(function(M){return!no.includes(M)})}),n[O]=!0),b=b.concat(O),p}).catch(function(k){if(k instanceof Error)throw new Error(k);return g=g.concat(k.name),k})});Promise.all(T).then(function(p){var $={plugins:b,failed:g,disabled:P};setTimeout(function(){v.length===T.length+P.length&&a.dispatch(j({},{type:A.ready},$))},0)})}var w=function(){if(f!==A.bootstrap)return/^ready:([^:]*)$/.test(f)&&setTimeout(function(){return Xd(a,t,e)},0),Promise.resolve(function(p,$,O,_,k){try{var M=oe($)?$():$,F=p.type,Z=F.replace(Nt,"");if(p._&&p._.called)return Promise.resolve(p);var L=O.getState(),U=(K=M,(X=L.plugins)===void 0&&(X={}),(Ne=p.options)===void 0&&(Ne={}),Object.keys(K).filter(function(m){var y=Ne.plugins||{};return aP(y[m])?y[m]:y.all!==!1&&(!X[m]||X[m].enabled!==!1)}).map(function(m){return K[m]}));F===A.initializeStart&&p.fromEnable&&(U=Object.keys(L.plugins).filter(function(m){var y=L.plugins[m];return p.plugins.includes(m)&&!y.initialized}).map(function(m){return M[m]}));var z=U.map(function(m){return m.name}),R=function(m,y,E){var N=Yu(m).map(function(x){return Ju(x,y)});return y.reduce(function(x,D){var J=D.name,B=Yu(m,J).map(function(V){return Ju(V,y)}),S=B[0],I=B[1],C=B[2];return S.length&&(x.beforeNS[J]=S),I.length&&(x.duringNS[J]=I),C.length&&(x.afterNS[J]=C),x},{before:N[0],beforeNS:{},during:N[1],duringNS:{},after:N[2],afterNS:{}})}(F,U);return Promise.resolve(gi({action:p,data:{exact:R.before,namespaced:R.beforeNS},state:L,allPlugins:M,allMatches:R,instance:O,store:_,EVENTS:k})).then(function(m){function y(){var x=function(){if(F.match(Nt))return Promise.resolve(gi({action:j({},E,{type:Z+"End"}),data:{exact:R.after,namespaced:R.afterNS},state:L,allPlugins:M,allMatches:R,instance:O,store:_,EVENTS:k})).then(function(D){D.meta&&D.meta.hasCallback&&Ku(D.meta.rid,{payload:D})})}();return x&&x.then?x.then(function(){return m}):m}if(qd(m,z.length))return m;var E,N=function(){if(F!==Z)return Promise.resolve(gi({action:j({},m,{type:Z}),data:{exact:R.during,namespaced:R.duringNS},state:L,allPlugins:M,allMatches:R,instance:O,store:_,EVENTS:k})).then(function(x){E=x});E=m}();return N&&N.then?N.then(y):y()})}catch(m){return Promise.reject(m)}var K,X,Ne}(o,t,e,a,r)).then(function(p){return s=1,i(p)})}();return Promise.resolve(w&&w.then?w.then(u):u(w))}catch(p){return Promise.reject(p)}}}}}function PP(e){return function(t){return function(r){return function(n){var a=n.type,i=n.key,o=n.value,s=n.options;if(a===A.setItem||a===A.removeItem){if(n.abort)return r(n);a===A.setItem?e.setItem(i,o,s):e.removeItem(i,s)}return r(n)}}}}var EP=function(){var e=this;this.before=[],this.after=[],this.addMiddleware=function(t,r){e[r]=e[r].concat(t)},this.removeMiddleware=function(t,r){var n=e[r].findIndex(function(a){return a===t});n!==-1&&(e[r]=[].concat(e[r].slice(0,n),e[r].slice(n+1)))},this.dynamicMiddlewares=function(t){return function(r){return function(n){return function(a){var i={getState:r.getState,dispatch:function(s){return r.dispatch(s)}},o=e[t].map(function(s){return s(i)});return Wt.apply(void 0,o)(n)(a)}}}}};function OP(e){return function(t,r){t===void 0&&(t={});var n={};if(r.type==="initialize:aborted")return t;if(/^registerPlugin:([^:]*)$/.test(r.type)){var a=Qu(r.type,"registerPlugin"),i=e()[a];if(!i||!a)return t;var o=r.enabled,s=i.config;return n[a]={enabled:o,initialized:!!o&&!i.initialize,loaded:!!o&&!!i.loaded({config:s}),config:s},j({},t,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=Qu(r.type,A.initialize),f=e()[u];return f&&u?(n[u]=j({},t[u],{initialized:!0,loaded:!!f.loaded({config:f.config})}),j({},t,n)):t}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=j({},t[r.name],{loaded:!0}),j({},t,n);switch(r.type){case A.disablePlugin:return j({},t,el(r.plugins,!1,t));case A.enablePlugin:return j({},t,el(r.plugins,!0,t));default:return t}}}function Qu(e,t){return e.substring(t.length+1,e.length)}function el(e,t,r){return e.reduce(function(n,a){return n[a]=j({},r[a],{enabled:t}),n},r)}function Qd(e){try{return JSON.parse(JSON.stringify(e))}catch{}return e}var kP={last:{},history:[]};function _P(e,t){e===void 0&&(e=kP);var r=t.options,n=t.meta;if(t.type===A.track){var a=Qd(j({event:t.event,properties:t.properties},Object.keys(r).length&&{options:r},{meta:n}));return j({},e,{last:a,history:e.history.concat(a)})}return e}var RP={actions:[]};function CP(e,t){e===void 0&&(e=RP);var r=t.payload;switch(t.type){case"queue":var n;return n=r&&r.type&&r.type===A.identify?[t].concat(e.actions):e.actions.concat(t),j({},e,{actions:n});case"dequeue":return[];default:return e}}var ev=/#.*$/;function AP(e){var t=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(e);return"/"+(t&&t[3]?t[3].split("?")[0].replace(ev,""):"")}var tv,rv,nv,av,jP=function(e){if(e===void 0&&(e={}),!q)return e;var t=document,r=t.title,n=t.referrer,a=window,i=a.location,o=a.innerWidth,s=a.innerHeight,u=i.hash,f=i.search,l=function(d){var v=function(){if(q){for(var h,b=document.getElementsByTagName("link"),g=0;h=b[g];g++)if(h.getAttribute("rel")==="canonical")return h.getAttribute("href")}}();return v?v.match(/\?/)?v:v+d:window.location.href.replace(ev,"")}(f),c={title:r,url:l,path:AP(l),hash:u,search:f,width:o,height:s};return n&&n!==""&&(c.referrer=n),j({},c,e)},LP={last:{},history:[]};function NP(e,t){e===void 0&&(e=LP);var r=t.options;if(t.type===A.page){var n=Qd(j({properties:t.properties,meta:t.meta},Object.keys(r).length&&{options:r}));return j({},e,{last:n,history:e.history.concat(n)})}return e}tv=function(){if(!q)return!1;var e=navigator.appVersion;return~e.indexOf("Win")?"Windows":~e.indexOf("Mac")?"MacOS":~e.indexOf("X11")?"UNIX":~e.indexOf("Linux")?"Linux":"Unknown OS"}(),rv=q?document.referrer:null,nv=fP(),av=dP();var tl={initialized:!1,sessionId:aa(),app:null,version:null,debug:!1,offline:!!q&&!navigator.onLine,os:{name:tv},userAgent:q?navigator.userAgent:"node",library:{name:"analytics",version:"0.12.13"},timezone:av,locale:nv,campaign:{},referrer:rv};function xP(e,t){e===void 0&&(e=tl);var r=e.initialized,n=t.campaign;switch(t.type){case A.campaign:return j({},e,{campaign:n});case A.offline:return j({},e,{offline:!0});case A.online:return j({},e,{offline:!1});default:return r?e:j({},tl,e,{initialized:!0})}}var UP=["plugins","reducers","storage"];function DP(e,t,r){if(q){var n=window[(r?"add":"remove")+"EventListener"];e.split(" ").forEach(function(a){n(a,t)})}}function MP(e){var t=DP.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(e)});return t(!0),function(r){return t(!1)}}function iv(){return dt("analytics",[]),function(e){return function(t,r,n){var a=e(t,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return Kt[Gt].analytics.push(o.action||o),i(o)}})}}}function rl(e){return function(){return Wt(Wt.apply(null,arguments),iv())}}function bi(e){return e?Vd(e)?e:[e]:[]}function nl(e,t,r){e===void 0&&(e={});var n,a,i=aa();return t&&(vr[i]=(n=t,a=function(o){for(var s,u=o||Array.prototype.slice.call(arguments),f=0;f<u.length;f++)if(oe(u[f])){s=u[f];break}return s}(r),function(o){a&&a(o),n(o)})),j({},e,{rid:i,ts:new Date().getTime()},t?{hasCallback:!0}:{})}function FP(e){e===void 0&&(e={});var t=e.reducers||{},r=e.initialUser||{},n=(e.plugins||[]).reduce(function(m,y){if(oe(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 E=y.EVENTS?Object.keys(y.EVENTS).map(function(D){return y.EVENTS[D]}):[];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(D,J){var B;return D[J]=(B=y.methods[J],function(){for(var S=Array.prototype.slice.call(arguments),I=new Array(B.length),C=0;C<S.length;C++)I[C]=S[C];return I[I.length]=$,B.apply({instance:$},I)}),D},{}),delete y.methods);var N=Object.keys(y).concat(E),x=new Set(m.events.concat(N));if(m.events=Array.from(x),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:[]}),a=e.storage?e.storage:{getItem:ft,setItem:dt,removeItem:qt},i=function(m){return function(y,E,N){return E.getState("user")[y]||(N&&ie(N)&&N[y]?N[y]:Gu(m)[y]||ft(ao(y))||null)}}(a),o=n.plugins,s=n.events.filter(function(m){return!no.includes(m)}).sort(),u=new Set(s.concat(bn).filter(function(m){return!no.includes(m)})),f=Array.from(u).sort(),l=function(){return o},c=new EP,d=c.addMiddleware,v=c.removeMiddleware,h=c.dynamicMiddlewares,b=function(){throw new Error("Abort disabled inListener")},g=vP(),P=Gu(a),T=j({},P,r,g.an_uid?{userId:g.an_uid}:{},g.an_aid?{anonymousId:g.an_aid}:{});T.anonymousId||(T.anonymousId=aa());var w=j({enable:function(m,y){return new Promise(function(E){R.dispatch({type:A.enablePlugin,plugins:bi(m),_:{originalAction:A.enablePlugin}},E,[y])})},disable:function(m,y){return new Promise(function(E){R.dispatch({type:A.disablePlugin,plugins:bi(m),_:{originalAction:A.disablePlugin}},E,[y])})}},n.methods),p=!1,$={identify:function(m,y,E,N){try{var x=Ze(m)?m:null,D=ie(m)?m:y,J=E||{},B=$.user();dt(ao(Ge),x);var S=x||D.userId||i(Ge,$,D);return Promise.resolve(new Promise(function(I){R.dispatch(j({type:A.identifyStart,userId:S,traits:D||{},options:J,anonymousId:B.anonymousId},B.id&&B.id!==x&&{previousId:B.id}),I,[y,E,N])}))}catch(I){return Promise.reject(I)}},track:function(m,y,E,N){try{var x=ie(m)?m.event:m;if(!x||!Ze(x))throw new Error("EventMissing");var D=ie(m)?m:y||{},J=ie(E)?E:{};return Promise.resolve(new Promise(function(B){R.dispatch({type:A.trackStart,event:x,properties:D,options:J,userId:i(Ge,$,y),anonymousId:i(At,$,y)},B,[y,E,N])}))}catch(B){return Promise.reject(B)}},page:function(m,y,E){try{var N=ie(m)?m:{},x=ie(y)?y:{};return Promise.resolve(new Promise(function(D){R.dispatch({type:A.pageStart,properties:jP(N),options:x,userId:i(Ge,$,N),anonymousId:i(At,$,N)},D,[m,y,E])}))}catch(D){return Promise.reject(D)}},user:function(m){if(m===Ge||m==="id")return i(Ge,$);if(m===At||m==="anonId")return i(At,$);var y=$.getState("user");return m?Uu(y,m):y},reset:function(m){return new Promise(function(y){R.dispatch({type:A.resetStart},y,m)})},ready:function(m){return p&&m({plugins:w,instance:$}),$.on(A.ready,function(y){m(y),p=!0})},on:function(m,y){if(!m||!oe(y))return!1;if(m===A.bootstrap)throw new Error(".on disabled for "+m);var E=/Start$|Start:/;if(m==="*"){var N=function(B){return function(S){return function(I){return I.type.match(E)&&y({payload:I,instance:$,plugins:o}),S(I)}}},x=function(B){return function(S){return function(I){return I.type.match(E)||y({payload:I,instance:$,plugins:o}),S(I)}}};return d(N,cn),d(x,un),function(){v(N,cn),v(x,un)}}var D=m.match(E)?cn:un,J=function(B){return function(S){return function(I){return I.type===m&&y({payload:I,instance:$,plugins:o,abort:b}),S(I)}}};return d(J,D),function(){return v(J,D)}},once:function(m,y){if(!m||!oe(y))return!1;if(m===A.bootstrap)throw new Error(".once disabled for "+m);var E=$.on(m,function(N){y({payload:N.payload,instance:$,plugins:o,abort:b}),E()});return E},getState:function(m){var y=R.getState();return m?Uu(y,m):Object.assign({},y)},dispatch:function(m){var y=Ze(m)?{type:m}:m;if(bn.includes(y.type))throw new Error("reserved action "+y.type);var E=j({},y,{_:j({originalAction:y.type},m._||{})});R.dispatch(E)},enablePlugin:w.enable,disablePlugin:w.disable,plugins:w,storage:{getItem:a.getItem,setItem:function(m,y,E){R.dispatch({type:A.setItemStart,key:m,value:y,options:E})},removeItem:function(m,y){R.dispatch({type:A.removeItemStart,key:m,options:y})}},setAnonymousId:function(m,y){$.storage.setItem(Je,m,y)},events:{core:bn,plugins:s}},O=n.middlewares.concat([function(m){return function(y){return function(E){return E.meta||(E.meta=nl()),y(E)}}},h(cn),TP($,l,{all:f,plugins:s}),PP(a),wP($),SP($),h(un)]),_={context:xP,user:bP(a),page:NP,track:_P,plugins:OP(l),queue:CP},k=Wt,M=Wt;if(q&&e.debug){var F=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;F&&(k=F({trace:!0,traceLimit:25})),M=function(){return arguments.length===0?iv():ie(typeof arguments[0])?rl():rl().apply(null,arguments)}}var Z,L=function(m){return Object.keys(m).reduce(function(y,E){return UP.includes(E)||(y[E]=m[E]),y},{})}(e),U=n.pluginsArray.reduce(function(m,y){var E=y.name,N=y.config,x=y.loaded,D=n.pluginEnabled[E];return m[E]={enabled:D,initialized:!!D&&!y.initialize,loaded:!!x({config:N}),config:N},m},{}),z={context:L,user:T,plugins:U},R=Jd(function(m){for(var y=Object.keys(m),E={},N=0;N<y.length;N++){var x=y[N];typeof m[x]===Ke&&(E[x]=m[x])}var D,J=Object.keys(E);try{(function(B){Object.keys(B).forEach(function(S){var I=B[S];if(typeof I(void 0,{type:"@@redux/INIT"})===Fe||typeof I(void 0,{type:mP})===Fe)throw new Error("reducer "+S+" "+Fe)})})(E)}catch(B){D=B}return function(B,S){if(B===void 0&&(B={}),D)throw D;for(var I=!1,C={},V=0;V<J.length;V++){var se=J[V],gt=B[se],sa=(0,E[se])(gt,S);if(typeof sa===Fe){var wv=gP(se,S);throw new Error(wv)}C[se]=sa,I=I||sa!==gt}return I?C:B}}(j({},_,t)),z,M(k(yP.apply(void 0,O))));R.dispatch=(Z=R.dispatch,function(m,y,E){var N=j({},m,{meta:nl(m.meta,y,bi(E))});return Z.apply(null,[N])});var K=Object.keys(o);R.dispatch({type:A.bootstrap,plugins:K,config:L,params:g,user:T,initialUser:r,persistedUser:P});var X=K.filter(function(m){return n.pluginEnabled[m]}),Ne=K.filter(function(m){return!n.pluginEnabled[m]});return R.dispatch({type:A.registerPlugins,plugins:K,enabled:n.pluginEnabled}),n.pluginsArray.map(function(m,y){var E=m.bootstrap,N=m.config,x=m.name;E&&oe(E)&&E({instance:$,config:N,payload:m}),R.dispatch({type:A.registerPluginType(x),name:x,enabled:n.pluginEnabled[x],plugin:m}),n.pluginsArray.length===y+1&&R.dispatch({type:A.initializeStart,plugins:X,disabled:Ne})}),MP(function(m){R.dispatch({type:m?A.offline:A.online})}),function(m,y,E){setInterval(function(){return Xd(m,y,E)},3e3)}(R,l,$),$}var cn="before",un="after",Sr="cookie",at=cv(),ov=ia,BP=ia;function sv(e){return at?ia(e,"",-1):qt(e)}function cv(){if(at!==void 0)return at;var e="cookiecookie";try{ia(e,e),at=document.cookie.indexOf(e)!==-1,sv(e)}catch{at=!1}return at}function ia(e,t,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return at===!1&&(o?dt(e,t):ft(e)),o?document.cookie=e+"="+encodeURIComponent(t)+(r?"; expires="+new Date(+new Date+1e3*r).toUTCString()+(n?"; path="+n:"")+(a?"; domain="+a:"")+(i?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+e+"=")[1]||"").split(";")[0])}}var $r="localStorage",zP=Qo.bind(null,"localStorage");Qt("localStorage","getItem",ft);Qt("localStorage","setItem",dt);Qt("localStorage","removeItem",qt);var Ir="sessionStorage",HP=Qo.bind(null,"sessionStorage");Qt("sessionStorage","getItem",ft);Qt("sessionStorage","setItem",dt);Qt("sessionStorage","removeItem",qt);function xt(e){var t=e;try{if((t=JSON.parse(e))==="true")return!0;if(t==="false")return!1;if(ie(t))return t;parseFloat(t)===t&&(t=parseFloat(t))}catch{}if(t!==null&&t!=="")return t}var GP=zP(),KP=HP(),WP=cv();function uv(e,t){if(e){var r=es(t),n=!as(r),a=ts(r)?xt(localStorage.getItem(e)):void 0;if(n&&!Ct(a))return a;var i=rs(r)?xt(ov(e)):void 0;if(n&&i)return i;var o=ns(r)?xt(sessionStorage.getItem(e)):void 0;if(n&&o)return o;var s=ft(e);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function VP(e,t,r){if(e&&!Ct(t)){var n={},a=es(r),i=JSON.stringify(t),o=!as(a);return ts(a)&&(n[$r]=ln($r,t,xt(localStorage.getItem(e))),localStorage.setItem(e,i),o)?n[$r]:rs(a)&&(n[Sr]=ln(Sr,t,xt(ov(e))),BP(e,i),o)?n[Sr]:ns(a)&&(n[Ir]=ln(Ir,t,xt(sessionStorage.getItem(e))),sessionStorage.setItem(e,i),o)?n[Ir]:(n[br]=ln(br,t,ft(e)),dt(e,t),o?n[br]:n)}}function ZP(e,t){if(e){var r=es(t),n=uv(e,Gd),a={};return!Ct(n.localStorage)&&ts(r)&&(localStorage.removeItem(e),a[$r]=n.localStorage),!Ct(n.cookie)&&rs(r)&&(sv(e),a[Sr]=n.cookie),!Ct(n.sessionStorage)&&ns(r)&&(sessionStorage.removeItem(e),a[Ir]=n.sessionStorage),!Ct(n.global)&&oa(r,br)&&(qt(e),a[br]=n.global),a}}function es(e){return e?Ze(e)?e:e.storage:Hd}function ts(e){return GP&&oa(e,$r)}function rs(e){return WP&&oa(e,Sr)}function ns(e){return KP&&oa(e,Ir)}function as(e){return e===Gd||e==="all"}function oa(e,t){return e===Hd||e===t||as(e)}function ln(e,t,r){return{location:e,current:t,previous:r}}var JP={setItem:VP,getItem:uv,removeItem:ZP};function YP(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function al(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function il(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?al(Object(r),!0).forEach(function(n){YP(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):al(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function XP(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t={storage:JP};return FP(il(il({},t),e))}function qP(e,t){t=t||{};var r,n,a=[],i=t.max||1/0;function o(){clearInterval(r),e(a.splice(0,i)),s()}function s(){r=setInterval(o,t.interval||1e4)}return s(),{flush:o,push:function(u){return n=a.push(u),n>=i&&o(),n},size:function(){return a.length},end:function(u){u&&o(),clearInterval(r)}}}function QP(e){if(typeof window>"u")return;const{addEventListener:t,history:r,location:n}=window;let a=n.pathname;t("popstate",()=>e(n.pathname)),["push","replace"].map(i=>{const o=`${i}State`;if(o!=="pushState"&&o!=="replaceState")return;const s=r[o];r[o]=function(...u){var c;const f=((c=u[2])==null?void 0:c.toString())||"",l=tE(f);return a!==l&&(a=l,setTimeout(()=>e(f),0)),s.apply(r,u)}})}function eE(e,t){const r=e.indexOf(t);return r>-1?e.slice(0,r):e}function tE(e){return["#","?"].forEach(t=>e=eE(e,t)),e}function rE(){QP(()=>{De.page()})}function nE(e){if(e===void 0&&(e={}),!q)return ro;var t=sl(),r=io(),n=ol(),a=fn(n,t),i=fn(r,t),o=[],s=[],u=[],f=n,l=a,c=i,d=Object.keys(e);if(!d.length)return ro;var v=d.map(function(b){return Number(b)}),h=pP(function(){var b=sl(),g=function(L,U){return U.map(function(z){return z===100?L-5:L*(z/100)})}(b,v),P=io(),T=ol(),w=fn(T,b),p=fn(P,b);if(l=w>l?w:l,c=p<c?p:c,!(o.length>=v.length)){var $=f===T,O="up";$?O="initial":f<=T&&(O="down");var _=g,k=v;(O==="up"||$)&&(_=g.slice().reverse(),k=v.slice().reverse());var M=k.reduce(function(L,U,z){var R=_[z];return u.includes(U)&&T<=R&&(u=u.filter(function(K){return K!==U}),L.singleFunction=U),O==="down"&&!o.includes(U)&&T>=R&&U>i?(s.push(U),L.callbacks=L.callbacks.concat(U),L):O==="up"&&!o.includes(U)&&T<=R&&U<=w?(L.foundFunc=[U],L):($&&T>=R&&L.foundFunc.length===0&&(L.foundFunc=[U]),!s.includes(U)&&T>=R&&(s.push(U),L.singleFunction?u.push(U):L.singleFunction=U),L)},{foundFunc:[],singleFunction:null,callbacks:[],direction:O});if(f=T,O==="down"&&M.callbacks&&M.callbacks.forEach(function(L){oe(e[L])&&(e[L]({trigger:L,direction:O,scrollMin:c,scrollMax:l,range:[c,l]}),o.push(L))}),M.singleFunction){var F=M.singleFunction,Z=M.direction;oe(e[F])&&e[F]({trigger:F,direction:Z,scrollMin:c,scrollMax:l,range:[c,l]}),o.push(F)}}},500);return window.addEventListener("scroll",h),function(){return window.removeEventListener("scroll",h)}}function io(){return q?document.body.scrollTop||document.documentElement.scrollTop:0}function aE(){return q?window.innerHeight||document.documentElement.clientHeight:0}function ol(){return Math.round(io()+aE())}function sl(){if(!q)return 0;var e=document.body,t=document.documentElement;return Math.max(e.scrollHeight,e.offsetHeight,t.clientHeight,t.scrollHeight,t.offsetHeight)}function fn(e,t){return Math.round(e/t*100)}var cl="EventListener";function iE(e){return function(t,r,n,a){var i=n||ro,o=a||!1;if(!q)return i;var s=xn(r),u=xn(t,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("noEvent");var f=[];return function l(c){c&&(f=[]);for(var d=c?"add"+cl:"remove"+cl,v=0;v<u.length;v++){var h=u[v];f[v]=c?o&&o.once?oE(i):i:f[v]||i;for(var b=0;b<s.length;b++)h[d]?h["on"+s[b]]=c?f[v]:null:h[d](s[b],f[v],o)}return l.bind(null,!c)}(e)}}function xn(e,t){if(Ze(e))return t?xn(document.querySelectorAll(e)):(r=e).split(r.indexOf(",")>-1?",":" ").map(function(o){return o.trim()});var r;if(NodeList.prototype.isPrototypeOf(e)){for(var n=[],a=e.length>>>0;a--;)n[a]=e[a];return n}var i=lP(e);return t?i.map(function(o){return Ze(o)?xn(o,!0):o}).flat():i}function oE(e,t){var r;return function(){return e&&(r=e.apply(this,arguments),e=null),r}}var Si=iE("Event");function lv(e,t){return q&&oe(window[e])?(r=window[e],n=t,(a=window)===void 0&&(a=null),oe(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[e]=t;var r,n,a}lv.bind(null,"onerror");lv.bind(null,"onload");var fv=typeof window>"u",ul="hidden";function sE(e){if(fv)return!1;var t=cE(),r="".concat(t.replace(/[H|h]idden/,""),"visibilitychange"),n=function(){return e(!!document[t])},a=function(){return document.addEventListener(r,n)};return a(),function(){return document.removeEventListener(r,n),a}}function cE(){var e=["webkit","moz","ms","o"];return fv||ul in document?ul:e.reduce(function(t,r){var n=r+"Hidden";return!t&&n in document?n:t},null)}var uE=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function lE(e,t){t===void 0&&(t={});var r=function(o,s){var u=this,f=!1;return function(l){f||(o.call(u,l),f=!0,setTimeout(function(){return f=!1},s))}}(e,t.throttle||1e4),n=[];function a(){var o=sE(function(s){s||r({type:"tabVisible"})});return n=[o].concat(uE.map(function(s){return Si(document,s,r)})).concat(Si(window,"load",r)).concat(Si(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function fE(e){var t,r,n=e.onIdle,a=e.onWakeUp,i=e.onHeartbeat,o=e.timeout,s=o===void 0?1e4:o,u=e.throttle,f=u===void 0?2e3:u,l=!1,c=!1,d=new Date,v=function(){return clearTimeout(t)};function h(g){v(),i&&!l&&i(ur(d),g),a&&l&&(l=!1,a(ur(r),g),d=new Date),t=setTimeout(function(){l=!0,n&&(r=new Date,n(ur(d),g))},s)}var b=lE(h,{throttle:f});return{disable:function(){c=!0,l=!1,v();var g=b();return function(){return c=!1,d=new Date,h({type:"load"}),g()}},getStatus:function(){return{isIdle:l,isDisabled:c,active:l?0:ur(d,c),idle:l?ur(r,c):0}}}}function ur(e,t){return t?0:Math.round((new Date-e)/1e3)}const ll=5e3;class dE{constructor(t){fe(this,"element");fe(this,"isInViewport",!1);fe(this,"isAwake",!1);fe(this,"isFlushing");fe(this,"observer");fe(this,"lastEventAt",Date.now());fe(this,"registeredView",!1);fe(this,"viewCallback");fe(this,"activeDurationCallback");fe(this,"idleDurationCallback");fe(this,"scrollCallback");this.element=t.element,this.viewCallback=t.viewCallback,this.activeDurationCallback=t.activeDurationCallback,this.idleDurationCallback=t.idleDurationCallback,this.scrollCallback=t.scrollCallback,this.observer=new IntersectionObserver(r=>{r.forEach(n=>{this.handleInViewPort(n.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),fE({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:ll}),nE({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(t){t?(this.isAwake=!0,this.trackInViewport()):this.handleAwake(!1),this.isInViewport=t}handleAwake(t,r=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=t,this.lastEventAt=t?Date.now()-r*ll:Date.now(),this.isInViewport&&this.trackAwake(t,r)}handleScroll(t){this.scrollCallback&&this.scrollCallback(t)}handleVisibilityChange(){this.isAwake=!1;const t=Math.round((Date.now()-this.lastEventAt)/1e3);t>1&&(this.lastEventAt=Date.now(),this.trackAwake(!1,t))}trackAwake(t,r){!t&&this.activeDurationCallback&&this.activeDurationCallback(r,this.isFlushing,this.lastEventAt),t&&this.idleDurationCallback&&this.idleDurationCallback(r,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}const fl="sesamy_session_id";function vE(){let e=sessionStorage.getItem(fl);return e||(e=Math.random().toString(36).slice(2,9),sessionStorage.setItem(fl,e)),e}let dv=!1,oo,dl,Un;const vv=new Map;function hE({clientId:e,enabled:t=!0,environment:r}){if(oo=e,dl=t,Un=`${Me("logs",r)}/events`,!dl)return;window.addEventListener("beforeunload",()=>{pv.forEach((a,i)=>{a.bind(i)()}),mE()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&vv.forEach((a,i)=>{a.bind(i)()})}),rE();const n=new dE({element:document.body,viewCallback:()=>{De.page()},activeDurationCallback:(a,i,o)=>{De.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{De.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{De.track("scroll",{scroll:a.scrollMax})}});gE(document.body,()=>{n.flush()}),yE(document.body,()=>{n.handleVisibilityChange()}),window.addEventListener(Oe.AUTHENTICATED,async a=>{const i=a;await De.identify(i.detail.sub)}),window.addEventListener(Oe.LOGOUT,async()=>{await De.track("logout",{}),is.flush(),await De.reset()})}function hv(e){return JSON.stringify(e.map(t=>({...t,clientId:oo,requestId:Math.random().toString(36).slice(2,9),sessionId:vE(),timestamp:new Date().toISOString(),version:qo,event:t.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:zd,userAgent:navigator.userAgent,clientId:oo}})))}const is=qP(async e=>{if(e.length>0){const t=hv(e);dv?navigator.sendBeacon(Un,t):(await fetch(Un,{method:"POST",body:t,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function $i(e){var t;if(e.anonymousId)if((t=e.properties)!=null&&t.flushing){const r={...e};delete r.properties.flushing,navigator.sendBeacon(Un,hv([r]))}else is.push(e)}const De=XP({app:zd,version:qo,plugins:[{name:"custom-analytics-plugin",page:({payload:e})=>{const{properties:t,anonymousId:r,userId:n,event:a}=e;$i({anonymousId:r,userId:n,properties:t,event:a,type:"page"})},track:({payload:e})=>{const{properties:t,anonymousId:r,userId:n,event:a}=e;$i({anonymousId:r,userId:n,properties:t,event:a,type:"track"})},identify:({payload:e})=>{const{properties:t,anonymousId:r,userId:n}=e;$i({anonymousId:r,userId:n,properties:t,type:"identify"})}}]});function pE(e,t){De.track(e,t)}function mE(){return dv=!0,is.flush()}const pv=new Map;function gE(e,t){pv.set(e,t)}function yE(e,t){vv.set(e,t)}const mv="sesamySignedURLs";function gv(){const e=sessionStorage.getItem(mv);return e?JSON.parse(e):[]}function wE(e){const t=gv();t.push(e),sessionStorage.setItem(mv,JSON.stringify(t))}const bE=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function SE(){return new Promise(e=>{const t=bE.map(r=>{const n=document.createElement("div");return n.innerHTML=" ",n.id=r,n.style.position="absolute",document.body.appendChild(n),n});window.setTimeout(()=>{const r=!t.every(n=>{const a=document.querySelector(`#${n.id}`);return a==null?void 0:a.offsetParent});t.forEach(n=>n.remove()),e(r)},100)})}function $E(){const e=navigator.userAgent.toLowerCase(),t=[{name:"Facebook",regex:/fbav|fban/i},{name:"LinkedIn",regex:/linkedin/i},{name:"Instagram",regex:/instagram/i},{name:"Gmail",regex:/gmail/i},{name:"Twitter",regex:/twitter/i},{name:"WeChat",regex:/micromessenger/i},{name:"Line",regex:/line/i},{name:"Snapchat",regex:/snapchat/i},{name:"Pinterest",regex:/pinterest/i},{name:"Kakao",regex:/kakaotalk/i},{name:"Skype",regex:/skype/i},{name:"WhatsApp",regex:/whatsapp/i}];for(const r of t)if(r.regex.test(e))return{isInAppBrowser:!0,browserName:r.name};return/; wv\)/.test(e)?{isInAppBrowser:!0,browserName:"Unknown In-App Browser"}:{isInAppBrowser:!1,browserName:null}}function IE(e){const{createCheckout:t,getCheckout:r,updateCheckout:n,getEntitlement:a,getEntitlements:i,getEntitlementAccess:o,getSubscriptions:s,getContract:u,getContracts:f,cancelContract:l,getBill:c,getBills:d,getTransaction:v,getTransactions:h,getProfile:b,updateProfile:g,getTags:P,deleteTag:T,setTag:w,getUserMetadata:p,listUserMetadata:$,setUserMetadata:O,deleteUserMetadata:_,getTally:k,getTallies:M,pushTally:F,deleteTally:Z,getProduct:L,getPaymentIssues:U,isSpotifyLinked:z,unlinkSpotify:R,linkSpotify:K,autoOnboardProduct:X,openHostedAccountPage:Ne,generateLink:m}=eP(e),y={auth:{getUser:b,isAuthenticated:Yo,loginWithRedirect:Xo,logout:xd,setToken:Dd},checkouts:{get:r,create:t,update:n},profile:{get:b,update:g,openHostedAccountPage:Ne,isSpotifyLinked:z,unlinkSpotify:R},analytics:{track:pE},tags:{list:P,set:w,delete:T},entitlements:{get:a,list:i,access:o,signedLinks:gv},contracts:{get:u,list:f,cancel:l},bills:{get:c,list:d},userMetadata:{get:p,list:$,set:O,delete:_},tallies:{get:k,list:M,push:F,delete:Z},subscriptions:{list:s},transactions:{get:v,list:h},products:{get:L,autoOnboard:X,linkSpotify:K},browser:{detectAdblock:SE,isInAppBrowser:$E},getVersion:TE,getPaymentIssues:U,generateLink:m,clearCache:Ie};return e.namespace&&(window[e.namespace]=y),y}function TE(){return qo}async function PE({enabled:e=!1,rules:t}){if(!e)return;const r=await Yo(),n=window.location.href;for(const a of t){const i=document.querySelectorAll(a.selector);if(!(a.path&&!new RegExp(a.path).test(n))){for(const o of i)if(!(a.authenticated!==void 0&&a.authenticated!==r))switch(a.transform){case"insert":if(a.contentType==="selector"&&a.content){const s=document.querySelector(a.content);s?o.innerHTML+=s.innerHTML:console.warn(`Source element for selector '${a.content}' not found`)}else if(a.contentType==="url"&&a.content){const s=await vl(a.content);s?o.innerHTML+=s:console.warn(`Failed to fetch content from URL '${a.content}'`)}else a.content&&(o.innerHTML+=a.content);break;case"replace":if(a.contentType==="selector"&&a.content){const s=document.querySelector(a.content);s?o.innerHTML=s.innerHTML:console.warn(`Source element for selector '${a.content}' not found`)}else if(a.contentType==="url"&&a.content){const s=await vl(a.content);s?o.innerHTML=s:console.warn(`Failed to fetch content from URL '${a.content}'`)}else a.content&&(o.innerHTML=a.content);break;case"remove":o.remove();break;default:console.warn(`Unknown transform type: ${a.transform}`)}}}}async function vl(e){try{const t=await fetch(e);return t.ok?await t.text():(console.error(`Failed to fetch content from ${e}: ${t.statusText}`),null)}catch(t){return console.error(`Error fetching content from ${e}:`,t),null}}function EE(){const e=new URLSearchParams(window.location.hash.substring(1)),t=e.get("access_token");if(t){Dd(t);const r=new URL(window.location.href);e.delete("access_token"),r.hash=e.toString(),window.history.replaceState(null,"",r)}}const hl="sesamy-refresh",pl="force-refetch-entitlements";function OE(){const e=new URLSearchParams(window.location.search),t=e.get(pl),r=e.get(hl);if(t!==null||r!==null){const n=new URL(window.location.href);e.delete(pl),e.delete(hl),n.search=e.toString(),Ie(),window.history.replaceState(null,"",n)}}function kE(){const e=new URLSearchParams(window.location.search),t=e.get("token"),r=e.get("se");if(!r||!t)return;const n=parseInt(r,10);if(Number.isNaN(n)||n<Date.now())return;wE({url:window.location.href.split("?")[0],token:t,expiresAt:n,publisherContentId:e.get("sp")??void 0});const a=new URL(window.location.href);a.searchParams.delete("ss"),a.searchParams.delete("se"),a.searchParams.delete("sp"),a.searchParams.delete("so"),a.searchParams.delete("token"),window.history.replaceState(null,"",a)}const ml="sesamy-user";async function _E(){var a;const t=(a=new URLSearchParams(window.location.search).get(ml))==null?void 0:a.toLowerCase();if(!t)return;const r=await DT();(r==null?void 0:r.email)!==t&&(Ie(),Xo({authorizationParams:{email_hint:t,login_hint:t}}));const n=new URL(window.location.href);n.searchParams.delete(ml),window.history.replaceState(null,"",n)}const gl="sesamy-purchase";function RE(){const e=new URLSearchParams(window.location.search),t=e.get(gl);if(t!==null){const r=new URL(window.location.href);e.delete(gl),r.search=e.toString(),Xe(Oe.PURCHASE,{itemSrc:t}),Ie(),window.history.replaceState(null,"",r)}}const yl="sesamy-login",CE="sesamy_login";async function AE(){const e=new URLSearchParams(window.location.search);if(!(e.get(yl)||e.get(CE)))return;await Yo()||Xo();const n=new URL(window.location.href);n.searchParams.delete(yl),window.history.replaceState(null,"",n)}const jE=typeof window<"u";async function wl(e){hE({clientId:e.clientId,environment:e.environment,...e.analytics}),await UT({clientId:e.clientId,organization:e.organization,environment:e.environment,...e.auth}),e.transform&&await PE(e.transform),EE(),OE(),kE(),await AE(),await _E(),RE(),Xe(Oe.READY,{})}async function yv(e){const t=IE({clientId:e.clientId,environment:e.environment,...e.api});return jE&&(e.awaitAllServices?await wl(e):wl(e)),t}if(typeof document<"u"){const e=document.getElementById("sesamy-js");if(e!=null&&e.textContent)try{const t=JSON.parse(e.textContent);yv(t)}catch(t){console.error("Failed to parse config",t)}}exports.init=yv;
|
package/dist/sesamy-js.d.ts
CHANGED
|
@@ -370,7 +370,7 @@ export declare function init(config: Config): Promise<{
|
|
|
370
370
|
};
|
|
371
371
|
entitlements: {
|
|
372
372
|
get: (entitlementId: string) => Promise<Entitlement | undefined>;
|
|
373
|
-
list: () => Promise<Entitlement[]>;
|
|
373
|
+
list: (waitForEntitlementAfter?: Date) => Promise<Entitlement[]>;
|
|
374
374
|
access: (entitlementId: string) => Promise<Access>;
|
|
375
375
|
signedLinks: typeof getSignedLinks;
|
|
376
376
|
};
|
package/dist/sesamy-js.iife.js
CHANGED
|
@@ -2,5 +2,5 @@ var sesamyJs=function(xe){"use strict";var jE=Object.defineProperty;var LE=(xe,f
|
|
|
2
2
|
`,10)+1,o=a.substring(i)+(n?"//# sourceMappingURL="+n:""),s=new Blob([o],{type:"application/javascript"});return URL.createObjectURL(s)}var Nf,xf,Uf,Co,ET=(Nf="Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Y2xhc3MgZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQscil7c3VwZXIociksdGhpcy5lcnJvcj10LHRoaXMuZXJyb3JfZGVzY3JpcHRpb249cixPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxlLnByb3RvdHlwZSl9c3RhdGljIGZyb21QYXlsb2FkKHtlcnJvcjp0LGVycm9yX2Rlc2NyaXB0aW9uOnJ9KXtyZXR1cm4gbmV3IGUodCxyKX19Y2xhc3MgdCBleHRlbmRzIGV7Y29uc3RydWN0b3IoZSxzKXtzdXBlcigibWlzc2luZ19yZWZyZXNoX3Rva2VuIixgTWlzc2luZyBSZWZyZXNoIFRva2VuIChhdWRpZW5jZTogJyR7cihlLFsiZGVmYXVsdCJdKX0nLCBzY29wZTogJyR7cihzKX0nKWApLHRoaXMuYXVkaWVuY2U9ZSx0aGlzLnNjb3BlPXMsT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsdC5wcm90b3R5cGUpfX1mdW5jdGlvbiByKGUsdD1bXSl7cmV0dXJuIGUmJiF0LmluY2x1ZGVzKGUpP2U6IiJ9ImZ1bmN0aW9uIj09dHlwZW9mIFN1cHByZXNzZWRFcnJvciYmU3VwcHJlc3NlZEVycm9yO2NvbnN0IHM9ZT0+e3ZhcntjbGllbnRJZDp0fT1lLHI9ZnVuY3Rpb24oZSx0KXt2YXIgcj17fTtmb3IodmFyIHMgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxzKSYmdC5pbmRleE9mKHMpPDAmJihyW3NdPWVbc10pO2lmKG51bGwhPWUmJiJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbz0wO2ZvcihzPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7bzxzLmxlbmd0aDtvKyspdC5pbmRleE9mKHNbb10pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLHNbb10pJiYocltzW29dXT1lW3Nbb11dKX1yZXR1cm4gcn0oZSxbImNsaWVudElkIl0pO3JldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKChlPT5PYmplY3Qua2V5cyhlKS5maWx0ZXIoKHQ9PnZvaWQgMCE9PWVbdF0pKS5yZWR1Y2UoKCh0LHIpPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse1tyXTplW3JdfSkpLHt9KSkoT2JqZWN0LmFzc2lnbih7Y2xpZW50X2lkOnR9LHIpKSkudG9TdHJpbmcoKX07bGV0IG89e307Y29uc3Qgbj0oZSx0KT0+YCR7ZX18JHt0fWA7YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGFzeW5jKHtkYXRhOnt0aW1lb3V0OmUsYXV0aDpyLGZldGNoVXJsOmksZmV0Y2hPcHRpb25zOmMsdXNlRm9ybURhdGE6YX0scG9ydHM6W3BdfSk9PntsZXQgZjtjb25zdHthdWRpZW5jZTp1LHNjb3BlOmx9PXJ8fHt9O3RyeXtjb25zdCByPWE/KGU9Pntjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXMoZSkscj17fTtyZXR1cm4gdC5mb3JFYWNoKCgoZSx0KT0+e3JbdF09ZX0pKSxyfSkoYy5ib2R5KTpKU09OLnBhcnNlKGMuYm9keSk7aWYoIXIucmVmcmVzaF90b2tlbiYmInJlZnJlc2hfdG9rZW4iPT09ci5ncmFudF90eXBlKXtjb25zdCBlPSgoZSx0KT0+b1tuKGUsdCldKSh1LGwpO2lmKCFlKXRocm93IG5ldyB0KHUsbCk7Yy5ib2R5PWE/cyhPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3JlZnJlc2hfdG9rZW46ZX0pKTpKU09OLnN0cmluZ2lmeShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3JlZnJlc2hfdG9rZW46ZX0pKX1sZXQgaCxnOyJmdW5jdGlvbiI9PXR5cGVvZiBBYm9ydENvbnRyb2xsZXImJihoPW5ldyBBYm9ydENvbnRyb2xsZXIsYy5zaWduYWw9aC5zaWduYWwpO3RyeXtnPWF3YWl0IFByb21pc2UucmFjZShbKGQ9ZSxuZXcgUHJvbWlzZSgoZT0+c2V0VGltZW91dChlLGQpKSkpLGZldGNoKGksT2JqZWN0LmFzc2lnbih7fSxjKSldKX1jYXRjaChlKXtyZXR1cm4gdm9pZCBwLnBvc3RNZXNzYWdlKHtlcnJvcjplLm1lc3NhZ2V9KX1pZighZylyZXR1cm4gaCYmaC5hYm9ydCgpLHZvaWQgcC5wb3N0TWVzc2FnZSh7ZXJyb3I6IlRpbWVvdXQgd2hlbiBleGVjdXRpbmcgJ2ZldGNoJyJ9KTtmPWF3YWl0IGcuanNvbigpLGYucmVmcmVzaF90b2tlbj8oKChlLHQscik9PntvW24odCxyKV09ZX0pKGYucmVmcmVzaF90b2tlbix1LGwpLGRlbGV0ZSBmLnJlZnJlc2hfdG9rZW4pOigoZSx0KT0+e2RlbGV0ZSBvW24oZSx0KV19KSh1LGwpLHAucG9zdE1lc3NhZ2Uoe29rOmcub2ssanNvbjpmfSl9Y2F0Y2goZSl7cC5wb3N0TWVzc2FnZSh7b2s6ITEsanNvbjp7ZXJyb3I6ZS5lcnJvcixlcnJvcl9kZXNjcmlwdGlvbjplLm1lc3NhZ2V9fSl9dmFyIGR9KSl9KCk7Cgo=",xf=null,Uf=!1,function(e){return Co=Co||PT(Nf,xf,Uf),new Worker(Co,e)});const Ao={};let OT=class{constructor(t,r){this.cache=t,this.clientId=r,this.manifestKey=this.createManifestKeyFrom(this.clientId)}async add(t){var r;const n=new Set(((r=await this.cache.get(this.manifestKey))===null||r===void 0?void 0:r.keys)||[]);n.add(t),await this.cache.set(this.manifestKey,{keys:[...n]})}async remove(t){const r=await this.cache.get(this.manifestKey);if(r){const n=new Set(r.keys);return n.delete(t),n.size>0?await this.cache.set(this.manifestKey,{keys:[...n]}):await this.cache.remove(this.manifestKey)}}get(){return this.cache.get(this.manifestKey)}clear(){return this.cache.remove(this.manifestKey)}createManifestKeyFrom(t){return`@@auth0spajs@@::${t}`}};const kT={memory:()=>new Af().enclosedCache,localstorage:()=>new gT},Df=e=>kT[e],Mf=e=>{const{openUrl:t,onRedirect:r}=e,n=Ne(e,["openUrl","onRedirect"]);return Object.assign(Object.assign({},n),{openUrl:t===!1||t?t:r})},jo=new oT;let _T=class{constructor(t){let r,n;if(this.userCache=new Af().enclosedCache,this.defaultOptions={authorizationParams:{scope:"openid profile email"},useRefreshTokensFallback:!1,useFormData:!0},this._releaseLockOnPageHide=async()=>{await jo.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)},this.options=Object.assign(Object.assign(Object.assign({},this.defaultOptions),t),{authorizationParams:Object.assign(Object.assign({},this.defaultOptions.authorizationParams),t.authorizationParams)}),typeof window<"u"&&(()=>{if(!Hn())throw new Error("For security reasons, `window.crypto` is required to run `auth0-spa-js`.");if(Hn().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
4
|
`)})(),t.cache&&t.cacheLocation&&console.warn("Both `cache` and `cacheLocation` options have been specified in the Auth0Client configuration; ignoring `cacheLocation` and using `cache`."),t.cache)n=t.cache;else{if(r=t.cacheLocation||"memory",!Df(r))throw new Error(`Invalid cache location "${r}"`);n=Df(r)()}this.httpTimeoutMs=t.httpTimeoutInSeconds?1e3*t.httpTimeoutInSeconds:1e4,this.cookieStorage=t.legacySameSiteCookie===!1?Bt:IT,this.orgHintCookieName=`auth0.${this.options.clientId}.organization_hint`,this.isAuthenticatedCookieName=(o=>`auth0.${o}.is.authenticated`)(this.options.clientId),this.sessionCheckExpiryDays=t.sessionCheckExpiryDays||1;const a=t.useCookiesForTransactions?this.cookieStorage:TT;var i;this.scope=Gn("openid",this.options.authorizationParams.scope,this.options.useRefreshTokens?"offline_access":""),this.transactionManager=new wT(a,this.options.clientId,this.options.cookieDomain),this.nowProvider=this.options.nowProvider||Of,this.cacheManager=new yT(n,n.allKeys?void 0:new OT(n,this.options.clientId),this.nowProvider),this.domainUrl=(i=this.options.domain,/^https?:\/\//.test(i)?i:`https://${i}`),this.tokenIssuer=((o,s)=>o?o.startsWith("https://")?o:`https://${o}/`:`${s}/`)(this.options.issuer,this.domainUrl),typeof window<"u"&&window.Worker&&this.options.useRefreshTokens&&r==="memory"&&(this.options.workerUrl?this.worker=new Worker(this.options.workerUrl):this.worker=new ET)}_url(t){const r=encodeURIComponent(btoa(JSON.stringify(this.options.auth0Client||Ef)));return`${this.domainUrl}${t}&auth0Client=${r}`}_authorizeUrl(t){return this._url(`/authorize?${Ro(t)}`)}async _verifyIdToken(t,r,n){const a=await this.nowProvider();return ST({iss:this.tokenIssuer,aud:this.options.clientId,id_token:t,nonce:r,organization:n,leeway:this.options.leeway,max_age:(i=this.options.authorizationParams.max_age,typeof i!="string"?i:parseInt(i,10)||void 0),now:a});var i}_processOrgHint(t){t?this.cookieStorage.save(this.orgHintCookieName,t,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}):this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain})}async _prepareAuthorizeUrl(t,r,n){const a=Rf(_o()),i=Rf(_o()),o=_o(),s=(l=>{const c=new Uint8Array(l);return(d=>{const v={"+":"-","/":"_","=":""};return d.replace(/[+/=]/g,h=>v[h])})(window.btoa(String.fromCharCode(...Array.from(c))))})(await(async l=>await Hn().subtle.digest({name:"SHA-256"},new TextEncoder().encode(l)))(o)),u=((l,c,d,v,h,b,g,P)=>Object.assign(Object.assign(Object.assign({client_id:l.clientId},l.authorizationParams),d),{scope:Gn(c,d.scope),response_type:"code",response_mode:P||"query",state:v,nonce:h,redirect_uri:g||l.authorizationParams.redirect_uri,code_challenge:b,code_challenge_method:"S256"}))(this.options,this.scope,t,a,i,s,t.redirect_uri||this.options.authorizationParams.redirect_uri||n,r==null?void 0:r.response_mode),f=this._authorizeUrl(u);return{nonce:i,code_verifier:o,scope:u.scope,audience:u.audience||"default",redirect_uri:u.redirect_uri,state:a,url:f}}async loginWithPopup(t,r){var n;if(t=t||{},!(r=r||{}).popup&&(r.popup=(s=>{const u=window.screenX+(window.innerWidth-400)/2,f=window.screenY+(window.innerHeight-600)/2;return window.open(s,"auth0:authorize:popup",`left=${u},top=${f},width=400,height=600,resizable,scrollbars=yes,status=1`)})(""),!r.popup))throw new Error("Unable to open a popup for loginWithPopup - window.open returned `null`");const a=await this._prepareAuthorizeUrl(t.authorizationParams||{},{response_mode:"web_message"},window.location.origin);r.popup.location.href=a.url;const i=await(s=>new Promise((u,f)=>{let l;const c=setInterval(()=>{s.popup&&s.popup.closed&&(clearInterval(c),clearTimeout(d),window.removeEventListener("message",l,!1),f(new lT(s.popup)))},1e3),d=setTimeout(()=>{clearInterval(c),f(new uT(s.popup)),window.removeEventListener("message",l,!1)},1e3*(s.timeoutInSeconds||60));l=function(v){if(v.data&&v.data.type==="authorization_response"){if(clearTimeout(d),clearInterval(c),window.removeEventListener("message",l,!1),s.popup.close(),v.data.response.error)return f(ce.fromPayload(v.data.response));u(v.data.response)}},window.addEventListener("message",l)}))(Object.assign(Object.assign({},r),{timeoutInSeconds:r.timeoutInSeconds||this.options.authorizeTimeoutInSeconds||60}));if(a.state!==i.state)throw new ce("state_mismatch","Invalid state");const o=((n=t.authorizationParams)===null||n===void 0?void 0:n.organization)||this.options.authorizationParams.organization;await this._requestToken({audience:a.audience,scope:a.scope,code_verifier:a.code_verifier,grant_type:"authorization_code",code:i.code,redirect_uri:a.redirect_uri},{nonceIn:a.nonce,organization:o})}async getUser(){var t;const r=await this._getIdTokenFromCache();return(t=r==null?void 0:r.decodedToken)===null||t===void 0?void 0:t.user}async getIdTokenClaims(){var t;const r=await this._getIdTokenFromCache();return(t=r==null?void 0:r.decodedToken)===null||t===void 0?void 0:t.claims}async loginWithRedirect(t={}){var r;const n=Mf(t),{openUrl:a,fragment:i,appState:o}=n,s=Ne(n,["openUrl","fragment","appState"]),u=((r=s.authorizationParams)===null||r===void 0?void 0:r.organization)||this.options.authorizationParams.organization,f=await this._prepareAuthorizeUrl(s.authorizationParams||{}),{url:l}=f,c=Ne(f,["url"]);this.transactionManager.create(Object.assign(Object.assign(Object.assign({},c),{appState:o}),u&&{organization:u}));const d=i?`${l}#${i}`:l;a?await a(d):window.location.assign(d)}async handleRedirectCallback(t=window.location.href){const r=t.split("?").slice(1);if(r.length===0)throw new Error("There are no query params available for parsing.");const{state:n,code:a,error:i,error_description:o}=(c=>{c.indexOf("#")>-1&&(c=c.substring(0,c.indexOf("#")));const d=new URLSearchParams(c);return{state:d.get("state"),code:d.get("code")||void 0,error:d.get("error")||void 0,error_description:d.get("error_description")||void 0}})(r.join("")),s=this.transactionManager.get();if(!s)throw new ce("missing_transaction","Invalid state");if(this.transactionManager.remove(),i)throw new cT(i,o||i,n,s.appState);if(!s.code_verifier||s.state&&s.state!==n)throw new ce("state_mismatch","Invalid state");const u=s.organization,f=s.nonce,l=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:a},l?{redirect_uri:l}:{}),{nonceIn:f,organization:u}),{appState:s.appState}}async checkSession(t){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(t)}catch{}}async getTokenSilently(t={}){var r;const n=Object.assign(Object.assign({cacheMode:"on"},t),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),t.authorizationParams),{scope:Gn(this.scope,(r=t.authorizationParams)===null||r===void 0?void 0:r.scope)})}),a=await((i,o)=>{let s=Ao[o];return s||(s=i().finally(()=>{delete Ao[o],s=null}),Ao[o]=s),s})(()=>this._getTokenSilently(n),`${this.options.clientId}::${n.authorizationParams.audience}::${n.authorizationParams.scope}`);return t.detailedResponse?a:a==null?void 0:a.access_token}async _getTokenSilently(t){const{cacheMode:r}=t,n=Ne(t,["cacheMode"]);if(r!=="off"){const a=await this._getEntryFromCache({scope:n.authorizationParams.scope,audience:n.authorizationParams.audience||"default",clientId:this.options.clientId});if(a)return a}if(r!=="cache-only"){if(!await(async(a,i=3)=>{for(let o=0;o<i;o++)if(await a())return!0;return!1})(()=>jo.acquireLock("auth0.lock.getTokenSilently",5e3),10))throw new ko;try{if(window.addEventListener("pagehide",this._releaseLockOnPageHide),r!=="off"){const f=await this._getEntryFromCache({scope:n.authorizationParams.scope,audience:n.authorizationParams.audience||"default",clientId:this.options.clientId});if(f)return f}const a=this.options.useRefreshTokens?await this._getTokenUsingRefreshToken(n):await this._getTokenFromIFrame(n),{id_token:i,access_token:o,oauthTokenScope:s,expires_in:u}=a;return Object.assign(Object.assign({id_token:i,access_token:o},s?{scope:s}:null),{expires_in:u})}finally{await jo.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)}}}async getTokenWithPopup(t={},r={}){var n;const a=Object.assign(Object.assign({},t),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),t.authorizationParams),{scope:Gn(this.scope,(n=t.authorizationParams)===null||n===void 0?void 0:n.scope)})});return r=Object.assign(Object.assign({},sT),r),await this.loginWithPopup(a,r),(await this.cacheManager.get(new ft({scope:a.authorizationParams.scope,audience:a.authorizationParams.audience||"default",clientId:this.options.clientId}))).access_token}async isAuthenticated(){return!!await this.getUser()}_buildLogoutUrl(t){t.clientId!==null?t.clientId=t.clientId||this.options.clientId:delete t.clientId;const r=t.logoutParams||{},{federated:n}=r,a=Ne(r,["federated"]),i=n?"&federated":"";return this._url(`/v2/logout?${Ro(Object.assign({clientId:t.clientId},a))}`)+i}async logout(t={}){const r=Mf(t),{openUrl:n}=r,a=Ne(r,["openUrl"]);t.clientId===null?await this.cacheManager.clear():await this.cacheManager.clear(t.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 i=this._buildLogoutUrl(a);n?await n(i):n!==!1&&window.location.assign(i)}async _getTokenFromIFrame(t){const r=Object.assign(Object.assign({},t.authorizationParams),{prompt:"none"}),n=this.cookieStorage.get(this.orgHintCookieName);n&&!r.organization&&(r.organization=n);const{url:a,state:i,nonce:o,code_verifier:s,redirect_uri:u,scope:f,audience:l}=await this._prepareAuthorizeUrl(r,{response_mode:"web_message"},window.location.origin);try{if(window.crossOriginIsolated)throw new ce("login_required","The application is running in a Cross-Origin Isolated context, silently retrieving a token without refresh token is not possible.");const c=t.timeoutInSeconds||this.options.authorizeTimeoutInSeconds,d=await((h,b,g=60)=>new Promise((P,T)=>{const w=window.document.createElement("iframe");w.setAttribute("width","0"),w.setAttribute("height","0"),w.style.display="none";const p=()=>{window.document.body.contains(w)&&(window.document.body.removeChild(w),window.removeEventListener("message",$,!1))};let $;const O=setTimeout(()=>{T(new ko),p()},1e3*g);$=function(_){if(_.origin!=b||!_.data||_.data.type!=="authorization_response")return;const k=_.source;k&&k.close(),_.data.response.error?T(ce.fromPayload(_.data.response)):P(_.data.response),clearTimeout(O),window.removeEventListener("message",$,!1),setTimeout(p,2e3)},window.addEventListener("message",$,!1),window.document.body.appendChild(w),w.setAttribute("src",h)}))(a,this.domainUrl,c);if(i!==d.state)throw new ce("state_mismatch","Invalid state");const v=await this._requestToken(Object.assign(Object.assign({},t.authorizationParams),{code_verifier:s,code:d.code,grant_type:"authorization_code",redirect_uri:u,timeout:t.authorizationParams.timeout||this.httpTimeoutMs}),{nonceIn:o,organization:r.organization});return Object.assign(Object.assign({},v),{scope:f,oauthTokenScope:v.scope,audience:l})}catch(c){throw c.error==="login_required"&&this.logout({openUrl:!1}),c}}async _getTokenUsingRefreshToken(t){const r=await this.cacheManager.get(new ft({scope:t.authorizationParams.scope,audience:t.authorizationParams.audience||"default",clientId:this.options.clientId}));if(!(r&&r.refresh_token||this.worker)){if(this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(t);throw new kf(t.authorizationParams.audience||"default",t.authorizationParams.scope)}const n=t.authorizationParams.redirect_uri||this.options.authorizationParams.redirect_uri||window.location.origin,a=typeof t.timeoutInSeconds=="number"?1e3*t.timeoutInSeconds:null;try{const i=await this._requestToken(Object.assign(Object.assign(Object.assign({},t.authorizationParams),{grant_type:"refresh_token",refresh_token:r&&r.refresh_token,redirect_uri:n}),a&&{timeout:a}));return Object.assign(Object.assign({},i),{scope:t.authorizationParams.scope,oauthTokenScope:i.scope,audience:t.authorizationParams.audience||"default"})}catch(i){if((i.message.indexOf("Missing Refresh Token")>-1||i.message&&i.message.indexOf("invalid refresh token")>-1)&&this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(t);throw i}}async _saveEntryInCache(t){const{id_token:r,decodedToken:n}=t,a=Ne(t,["id_token","decodedToken"]);this.userCache.set("@@user@@",{id_token:r,decodedToken:n}),await this.cacheManager.setIdToken(this.options.clientId,t.id_token,t.decodedToken),await this.cacheManager.set(a)}async _getIdTokenFromCache(){const t=this.options.authorizationParams.audience||"default",r=await this.cacheManager.getIdToken(new ft({clientId:this.options.clientId,audience:t,scope:this.scope})),n=this.userCache.get("@@user@@");return r&&r.id_token===(n==null?void 0:n.id_token)?n:(this.userCache.set("@@user@@",r),r)}async _getEntryFromCache({scope:t,audience:r,clientId:n}){const a=await this.cacheManager.get(new ft({scope:t,audience:r,clientId:n}),60);if(a&&a.access_token){const{access_token:i,oauthTokenScope:o,expires_in:s}=a,u=await this._getIdTokenFromCache();return u&&Object.assign(Object.assign({id_token:u.id_token,access_token:i},o?{scope:o}:null),{expires_in:s})}}async _requestToken(t,r){const{nonceIn:n,organization:a}=r||{},i=await mT(Object.assign({baseUrl:this.domainUrl,client_id:this.options.clientId,auth0Client:this.options.auth0Client,useFormData:this.options.useFormData,timeout:this.httpTimeoutMs},t),this.worker),o=await this._verifyIdToken(i.id_token,n,a);return await this._saveEntryInCache(Object.assign(Object.assign(Object.assign(Object.assign({},i),{decodedToken:o,scope:t.scope,audience:t.audience||"default"}),i.scope?{oauthTokenScope:i.scope}:null),{client_id:this.options.clientId})),this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this._processOrgHint(a||o.claims.org_id),Object.assign(Object.assign({},i),{decodedToken:o})}};async function RT(e){const t=new _T(e);return await t.checkSession(),t}var _e=(e=>(e.READY="sesamyJsReady",e.AUTHENTICATED="sesamyJsAuthenticated",e.LOGOUT="sesamyJsLogout",e.CLEAR_CACHE="sesamyJsClearCache",e.USER_ATTRIBUTE_CHANGED="sesamyUserAttributeChanged",e.PURCHASE="sesamyJsPurchase",e))(_e||{});const CT="sesamy.com",AT="sesamy.dev",jT="https://sesa.my",Lo="sesamyCacheTimestamp";function Fe(e,t){return`https://${e}.${t==="dev"?AT:CT}`}let ue,Ff,Bf=!1;const zt="sesamyAccessToken",No="sesamyRefreshToken";async function _r(){return new Promise((r,n)=>{let a=0;const i=()=>{Bf?r(!0):a>=5e3?n(new Error("Initialization failed: Timeout")):(a+=100,setTimeout(i,100))};i()})}async function LT(e){if(!e)return null;const t=localStorage.getItem(No);if(!t)throw new Error("No refresh token available");const r=new URLSearchParams;r.set("client_id",e.iss),r.set("refresh_token",t),r.set("grant_type","refresh_token");const n=new URL(e.iss);n.pathname="/oauth/token",n.searchParams.set("user_id",e.sub);try{const a=await fetch(n.href,{body:r.toString(),method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"}});if(!a.ok)throw localStorage.removeItem(No),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(No,i.refresh_token),localStorage.setItem(zt,i.access_token),i.access_token}catch{Hf()}}async function xo(){const e=localStorage.getItem(zt);if(!e)return null;const t=Gf(e);if(!t||!t.exp||t.exp<new Date().getTime()/1e3){const r=await LT(t);if(r)return r;localStorage.removeItem(zt)}return e}function zf(e){try{const t=new URL(e).hostname,r=t.split(".");return r.length>1?r.slice(-2).join("."):t}catch{return null}}async function NT(e){if(e.enabled===!1)return;Ff=e.organization;const t={domain:Fe("token",e.environment),clientId:e.clientId,useCookiesForTransactions:!0};if(zf(window.location.href)!==zf(Fe("auth",e.environment))&&(t.cacheLocation="localstorage",t.useRefreshTokens=!0),ue=await RT(t),window.location.search.includes("code="))try{await ue.handleRedirectCallback();const r=await ue.getUser();Je(_e.AUTHENTICATED,r);const n=new URL(location.href),a=n.searchParams;a.delete("code"),a.delete("state"),n.search=a.toString(),window.history.replaceState({},document.title,n.toString())}catch(r){console.error(r)}Bf=!0}async function Uo(){return await _r(),await xo()?!0:ue?ue.isAuthenticated():!1}async function xT(){return await _r(),await xo()?{sub:"local",name:"Local User"}:ue?ue.getUser():null}async function Do(e){if(await _r(),localStorage.removeItem(zt),!ue)throw new Error("Auth0 client not initialized");const t=(e==null?void 0:e.authorizationParams)||{};return ue.loginWithRedirect({...e,authorizationParams:{organization:Ff,redirect_uri:window.location.href,...t}})}async function Rr(e=!0){await _r();const t=await xo();if(t)return t;try{return ue?await ue.getTokenSilently():null}catch(r){if(e)throw r;return null}}async function Hf(e={}){if(await _r(),localStorage.removeItem(zt),Je(_e.LOGOUT,{}),!!ue)return ue.logout({...e,logoutParams:{returnTo:window.location.href,...e.logoutParams}})}function Gf(e){const t=e.split(".");if(t.length!==3)return null;const n=t[1].replace(/-/g,"+").replace(/_/g,"/"),a=decodeURIComponent(atob(n).split("").map(function(i){return"%"+("00"+i.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(a)}async function Kf(e){const t=Gf(e);if(!t||!t.exp||t.exp<new Date().getTime()/1e3)throw new Error("Invalid token");localStorage.setItem(zt,e),Je(_e.AUTHENTICATED,t)}const UT=(e,t)=>t.skipDedupe||t.method!=="GET",DT=(e,t)=>t.method+"@"+e,MT=e=>e.clone(),Wf=({skip:e=UT,key:t=DT,resolver:r=MT}={})=>{const n=new Map;return a=>(i,o)=>{if(e(i,o))return a(i,o);const s=t(i,o);if(!n.has(s))n.set(s,[]);else return new Promise((u,f)=>{n.get(s).push([u,f])});try{return a(i,o).then(u=>(n.get(s).forEach(([f])=>f(r(u))),n.delete(s),u)).catch(u=>{throw n.get(s).forEach(([,f])=>f(u)),n.delete(s),u})}catch(u){return n.delete(s),Promise.reject(u)}}},FT=(e,t)=>e*t,BT=e=>e&&e.ok,Vf=({delayTimer:e=500,delayRamp:t=FT,maxAttempts:r=10,until:n=BT,onRetry:a=null,retryOnNetworkError:i=!1,resolveWithLatestResponse:o=!1,skip:s}={})=>u=>(f,l)=>{let c=0;if(s&&s(f,l))return u(f,l);const d=(v,h)=>Promise.resolve(n(v,h)).then(b=>b?v&&o?v:h?Promise.reject(h):v:(c++,!r||c<=r?new Promise(g=>{const P=t(e,c);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:v,error:h,url:f,options:l})).then((T={})=>{var w,p;g(u((w=T&&T.url)!==null&&w!==void 0?w:f,(p=T&&T.options)!==null&&p!==void 0?p:l))}):g(u(f,l))},P)}).then(d).catch(g=>{if(!i)throw g;return d(null,g)}):v&&o?v:Promise.reject(h||new Error("Number of attempts exceeded."))));return u(f,l).then(d).catch(v=>{if(!i)throw v;return d(null,v)})},zT="application/json",Zf="Content-Type",Ht=Symbol(),Jf=Symbol();function Yf(e={}){var t;return(t=Object.entries(e).find(([r])=>r.toLowerCase()===Zf.toLowerCase()))===null||t===void 0?void 0:t[1]}function Xf(e){return/^application\/.*json.*/.test(e)}const vt=function(e,t,r=!1){return Object.entries(t).reduce((n,[a,i])=>{const o=e[a];return Array.isArray(o)&&Array.isArray(i)?n[a]=r?[...o,...i]:i:typeof o=="object"&&typeof i=="object"?n[a]=vt(o,i,r):n[a]=i,n},{...e})},Gt={options:{},errorType:"text",polyfills:{},polyfill(e,t=!0,r=!1,...n){const a=this.polyfills[e]||(typeof self<"u"?self[e]:null)||(typeof global<"u"?global[e]:null);if(t&&!a)throw new Error(e+" is not defined");return r&&a?new a(...n):a}};function HT(e,t=!1){Gt.options=t?e:vt(Gt.options,e)}function GT(e,t=!1){Gt.polyfills=t?e:vt(Gt.polyfills,e)}function KT(e){Gt.errorType=e}const WT=e=>t=>e.reduceRight((r,n)=>n(r),t)||t;class qf extends Error{}const VT=e=>{const t=Object.create(null);e=e._addons.reduce((w,p)=>p.beforeRequest&&p.beforeRequest(w,e._options,t)||w,e);const{_url:r,_options:n,_config:a,_catchers:i,_resolvers:o,_middlewares:s,_addons:u}=e,f=new Map(i),l=vt(a.options,n);let c=r;const d=WT(s)((w,p)=>(c=w,a.polyfill("fetch")(w,p)))(r,l),v=new Error,h=d.catch(w=>{throw{[Ht]:w}}).then(w=>{var p;if(!w.ok){const $=new qf;if($.cause=v,$.stack=$.stack+`
|
|
5
|
-
CAUSE: `+v.stack,$.response=w,$.status=w.status,$.url=c,w.type==="opaque")throw $;const O=a.errorType==="json"||((p=w.headers.get("Content-Type"))===null||p===void 0?void 0:p.split(";")[0])==="application/json";return(a.errorType?O?w.text():w[a.errorType]():Promise.resolve(w.body)).then(k=>{throw $.message=typeof k=="string"?k:w.statusText,k&&(O&&typeof k=="string"?($.text=k,$.json=JSON.parse(k)):$[a.errorType]=k),$})}return w}),b=w=>w.catch(p=>{const $=Object.prototype.hasOwnProperty.call(p,Ht),O=$?p[Ht]:p,_=(O==null?void 0:O.status)&&f.get(O.status)||f.get(O==null?void 0:O.name)||$&&f.has(Ht)&&f.get(Ht);if(_)return _(O,e);const k=f.get(Jf);if(k)return k(O,e);throw O}),g=w=>p=>b(w?h.then($=>$&&$[w]()).then($=>p?p($):$):h.then($=>p?p($):$)),P={_wretchReq:e,_fetchReq:d,_sharedState:t,res:g(null),json:g("json"),blob:g("blob"),formData:g("formData"),arrayBuffer:g("arrayBuffer"),text:g("text"),error(w,p){return f.set(w,p),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(Ht,w)}},T=u.reduce((w,p)=>({...w,...typeof p.resolver=="function"?p.resolver(w):p.resolver}),P);return o.reduce((w,p)=>p(w,e),T)},ZT={_url:"",_options:{},_config:Gt,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(e){return{...this,_addons:[...this._addons,e],...e.wretch}},errorType(e){return{...this,_config:{...this._config,errorType:e}}},polyfills(e,t=!1){return{...this,_config:{...this._config,polyfills:t?e:vt(this._config.polyfills,e)}}},url(e,t=!1){if(t)return{...this,_url:e};const r=this._url.split("?");return{...this,_url:r.length>1?r[0]+e+"?"+r[1]:this._url+e}},options(e,t=!1){return{...this,_options:t?e:vt(this._options,e)}},headers(e){const t=e?Array.isArray(e)?Object.fromEntries(e):"entries"in e?Object.fromEntries(e.entries()):e:{};return{...this,_options:vt(this._options,{headers:t})}},accept(e){return this.headers({Accept:e})},content(e){return this.headers({[Zf]:e})},auth(e){return this.headers({Authorization:e})},catcher(e,t){const r=new Map(this._catchers);return r.set(e,t),{...this,_catchers:r}},catcherFallback(e){return this.catcher(Jf,e)},resolve(e,t=!1){return{...this,_resolvers:t?[e]:[...this._resolvers,e]}},defer(e,t=!1){return{...this,_deferred:t?[e]:[...this._deferred,e]}},middlewares(e,t=!1){return{...this,_middlewares:t?e:[...this._middlewares,...e]}},fetch(e=this._options.method,t="",r=null){let n=this.url(t).options({method:e});const a=Yf(n._options.headers),i=this._config.polyfill("FormData",!1),o=typeof r=="object"&&!(i&&r instanceof i)&&(!n._options.headers||!a||Xf(a));return n=r?o?n.json(r,a):n.body(r):n,VT(n._deferred.reduce((s,u)=>u(s,s._url,s._options),n))},get(e=""){return this.fetch("GET",e)},delete(e=""){return this.fetch("DELETE",e)},put(e,t=""){return this.fetch("PUT",t,e)},post(e,t=""){return this.fetch("POST",t,e)},patch(e,t=""){return this.fetch("PATCH",t,e)},head(e=""){return this.fetch("HEAD",e)},opts(e=""){return this.fetch("OPTIONS",e)},body(e){return{...this,_options:{...this._options,body:e}}},json(e,t){const r=Yf(this._options.headers);return this.content(t||Xf(r)&&r||zT).body(JSON.stringify(e))}};function Be(e="",t={}){return{...ZT,_url:e,_options:t}}Be.default=Be,Be.options=HT,Be.errorType=KT,Be.polyfills=GT,Be.WretchError=qf;function Re(){sessionStorage.removeItem(Lo),Je(_e.CLEAR_CACHE,{})}function Qf(){var r;return(r=(document.documentElement.getAttribute("lang")??"en").split("-")[0])==null?void 0:r.toLocaleLowerCase()}function JT(e){let t;try{t=new URL(e)}catch{return!1}return t.protocol==="http:"||t.protocol==="https:"}function YT(e,t){if(JT(e))return{itemSrc:e};const[r,n,a]=e.split(":");return{sku:`${r}:${n}`,purchaseOption:t||a}}function XT(e,t){const r=new URL(`${Fe("checkout3",e.environment)}`);if(r.searchParams.set("vendorId",e.clientId),t.language&&r.searchParams.set("lang",t.language),t.sku)r.searchParams.set("sku",t.sku),t.purchaseOptionId&&r.searchParams.set("poId",t.purchaseOptionId);else if(t.itemSrc){const{sku:o,purchaseOption:s,itemSrc:u}=YT(t.itemSrc,t.purchaseOptionId);u&&r.searchParams.set("itemSrc",u),o&&r.searchParams.set("sku",o),s&&r.searchParams.set("poId",s)}t.email&&r.searchParams.set("email",t.email),t.business&&r.searchParams.set("business","true"),t.currency&&r.searchParams.set("currency",t.currency),t.price&&r.searchParams.set("price",t.price.toString()),t.discountCode&&r.searchParams.set("discountCode",t.discountCode),t.attributionItemSrc&&r.searchParams.set("attributionItemSrc",t.attributionItemSrc),t.attributionPublisherContentId&&r.searchParams.set("attributionPublisherContentId",t.attributionPublisherContentId),t.utmSource&&r.searchParams.set("utmSource",t.utmSource),t.utmMedium&&r.searchParams.set("utmMedium",t.utmMedium),t.utmCampaign&&r.searchParams.set("utmCampaign",t.utmCampaign),t.utmTerm&&r.searchParams.set("utmTerm",t.utmTerm),t.utmContent&&r.searchParams.set("utmContent",t.utmContent);const n=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(o=>{const[s,u]=o.trim().split("=");return{key:s,value:u}}).filter(o=>n.some(s=>s===o.key)).forEach(o=>{r.searchParams.append(o.key,o.value)});const i=new URL(t.redirectUrl||window.location.href);return i.searchParams.set("force-refetch-entitlements","true"),t.itemSrc&&i.searchParams.set("sesamy-purchase",t.itemSrc),r.searchParams.set("redirectUrl",i.toString()),t.paymemtMethodsFilter&&r.searchParams.set("paymentMethodsFilter",t.paymemtMethodsFilter.flatMap(({provider:o,methods:s})=>s?s.map(u=>`${o}|${u}`):o).join(",")),r}function qT(e){const t=Fe("api2",e.environment),r=S=>async(I,C)=>{let Z=sessionStorage.getItem(Lo);Z||(Z=Date.now().toString(),sessionStorage.setItem(Lo,Z));const le={...C,headers:{...C.headers,"Cache-Timestamp":Z}};return S(I,le)},n=(S=!0)=>I=>async(C,Z)=>{let le=null;if(le=await Rr(S),!le){if(S)throw new Error("No access token available");return I(C,Z)}const tr={...Z,headers:{...Z.headers,...le?{Authorization:`Bearer ${le}`}:{}}};return I(C,tr)},a=S=>(I,C)=>{if(C.headers.Authorization)return S(I,C);const Z=localStorage.getItem("__anon_id"),le=btoa(`${Z}:`),tr={...C,headers:{...C.headers,Authorization:`Basic ${le}`}};return S(I,tr)},i=Be(t).headers({"Content-Type":"application/json"}).middlewares([r,n(),Wf(),Vf({delayTimer:1e3,delayRamp:(S,I)=>S*I,maxAttempts:3,until:S=>!!(S&&(S.ok||S.status>=400&&S.status<500)),retryOnNetworkError:!1})]),o=Be(t).headers({"Content-Type":"application/json"}).middlewares([r,n(!1),a,Wf(),Vf({delayTimer:1e3,delayRamp:(S,I)=>S*I,maxAttempts:3,until:S=>!!(S&&(S.ok||S.status>=400&&S.status<500)),retryOnNetworkError:!1})]);async function s(){return i.get("/entitlements").json()}async function u(S){const I=await i.get("/entitlements").json();return I==null?void 0:I.find(C=>C.id===S)}async function f(S){return i.get(`/entitlements/${S}/access`).json()}async function l(){return i.get("/contracts").json()}async function c(S){const I=await i.get("/contracts").json();return I==null?void 0:I.find(C=>C.id===S)}async function d(S){return(await i.post({},`/contracts/${S}/cancel`).res()).ok}async function v(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),i.get("/subscriptions").json()}async function h(){return i.get("/bills").json()}async function b(S){const I=await i.get("/bills").json();return I==null?void 0:I.find(C=>C.id===S)}async function g(){return i.get("/transactions").json()}async function P(S){const I=await i.get("/transactions").json();return I==null?void 0:I.find(C=>C.id===S)}async function T(S,I){const C=await i.url(`/user-metadata/${S}`).put(I).json();return Je(_e.USER_ATTRIBUTE_CHANGED,{}),Re(),C}async function w(S){const I=await i.url(`/user-metadata/${S}`).delete().res();return Re(),I.ok}async function p(S){return(await i.url(`/user-metadata/${S}`).get().json())[S]}async function $(){return await i.url("/user-metadata").get().json()}async function O(){return await i.url("/tags").get().json()}async function _(S){const I=await i.url(`/tags/${S}`).delete().res();return Re(),I.ok}async function k(S){const I=await i.url("/tags").post(S).res();return Je(_e.USER_ATTRIBUTE_CHANGED,{}),Re(),I.ok}async function M(S){return(await o.url("/tallies").get().json())[S]}async function F(){return await o.url("/tallies").get().json()}async function Y(S){const I=await o.url(`/tallies/${S}`).delete().res();return Re(),I.ok}async function L(S,I){return await o.url(`/tallies/${S}/push`).post(I).json()}async function U(S){return await i.url(`/products/${S}`).get().json()}async function z(){return await Rr(!1)?await i.url("/profile").get().json():null}async function R(S){const I=await i.url("/profile").patch(S).res();return Re(),I.ok}async function V(){return await i.url("/payment-issues").get().json()}async function q(){return(await i.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function Ge(){return(await i.url("/profile/unlink-spotify").post().res()).ok}async function m(S){const I=await Rr(!1);if(!I)throw new Error("No access token available");const C=new URL(`${Fe("spotify-oas",e.environment)}/sesamy-callback`);C.searchParams.set("access_token",I),C.searchParams.set("state",S),window.location.href=C.toString()}async function y(S){const I=await i.url(`/products/${S}/auto-onboard`).post().json();return I.length&&Re(),I}async function E(S,I=3600){const{shortlink:C}=await Be(jT).post({url:S,ttl:I}).json();return C}async function N(S){const I=await Rr(!1);let C;const Z=S.language||Qf();switch(S.target){case"account":C=new URL(`${Fe("account",e.environment)}/${S.language||Z}/subscriptions/${e.clientId}`),C.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"consume":C=new URL(`${Fe("consume",e.environment)}/${S.language||Z}/@${e.clientId}/${S.sku}`),S.episodeId?C.href+=`/${S.episodeId}`:C.href+="/listen",C.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"checkout":C=XT(e,{language:Z,...S});break;default:throw new Error("Invalid target")}return I&&(C.hash=`#access_token=${I}`),S.shorten?E(C.href,S.ttl):C.href}async function x(S){return(await o.url("/checkouts").post({language:Qf(),...S,vendorId:e.clientId})).json()}async function D(S,I){return(await o.url(`/checkouts/${S}`).patch(I)).json()}async function X(S){return(await o.url(`/checkouts/${S}`).get()).json()}async function B(){const S=await Rr(!1),I=new URL(`${Fe("account",e.environment)}/subscriptions/${e.clientId}`);S&&(I.hash=`#access_token=${S}`),window.location.href=I.toString()}return{createCheckout:x,updateCheckout:D,getCheckout:X,getEntitlements:s,getEntitlement:u,getEntitlementAccess:f,getContracts:l,getContract:c,cancelContract:d,getProfile:z,updateProfile:R,getSubscriptions:v,getBills:h,getBill:b,setUserMetadata:T,deleteUserMetadata:w,getUserMetadata:p,listUserMetadata:$,getTags:O,deleteTag:_,setTag:k,getTally:M,getTallies:F,deleteTally:Y,pushTally:L,getTransactions:g,getTransaction:P,getProduct:U,getPaymentIssues:V,autoOnboardProduct:y,isSpotifyLinked:q,unlinkSpotify:Ge,linkSpotify:m,generateLink:N,openHostedAccountPage:B}}const ed="@sesamy/sesamy-js",Mo="1.19.1";function td(e,t,r,n,a){for(t=t.split?t.split("."):t,n=0;n<t.length;n++)e=e?e[t[n]]:a;return e===a?r:e}var Kn="undefined",rd="object",Fo=function(){},nd="any",ad="*",ht="__",Wn=typeof process<"u"?process:{};Wn.env&&Wn.env.NODE_ENV;var te=typeof document<"u";Wn.versions!=null&&Wn.versions.node!=null,typeof Deno<"u"&&Deno.core,te&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent!==void 0&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function id(e,t){return t.charAt(0)[e]()+t.slice(1)}var QT=id.bind(null,"toUpperCase"),eP=id.bind(null,"toLowerCase");function tP(e){return od(e)?QT("null"):typeof e=="object"?iP(e):Object.prototype.toString.call(e).slice(8,-1)}function Vn(e,t){t===void 0&&(t=!0);var r=tP(e);return t?eP(r):r}function Cr(e,t){return typeof t===e}var ie=Cr.bind(null,"function"),Ye=Cr.bind(null,"string"),Kt=Cr.bind(null,"undefined"),rP=Cr.bind(null,"boolean");Cr.bind(null,"symbol");function od(e){return e===null}function nP(e){return Vn(e)==="number"&&!isNaN(e)}function sd(e){return Vn(e)==="array"}function oe(e){if(!aP(e))return!1;for(var t=e;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function aP(e){return e&&(typeof e=="object"||e!==null)}function iP(e){return ie(e.constructor)?e.constructor.name:null}function oP(e){return e instanceof Error||Ye(e.message)&&e.constructor&&nP(e.constructor.stackTraceLimit)}function cd(e,t){if(typeof t!="object"||od(t))return!1;if(t instanceof e)return!0;var r=Vn(new e(""));if(oP(t))for(;t;){if(Vn(t)===r)return!0;t=Object.getPrototypeOf(t)}return!1}cd.bind(null,TypeError),cd.bind(null,SyntaxError);function Zn(e,t){var r=e instanceof Element||e instanceof HTMLDocument;return r&&t?sP(e,t):r}function sP(e,t){return t===void 0&&(t=""),e&&e.nodeName===t.toUpperCase()}function Jn(e){var t=[].slice.call(arguments,1);return function(){return e.apply(void 0,[].slice.call(arguments).concat(t))}}Jn(Zn,"form"),Jn(Zn,"button"),Jn(Zn,"input"),Jn(Zn,"select");function cP(e){return e?sd(e)?e:[e]:[]}function ud(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch{return null}}function uP(){if(te){var e=navigator,t=e.languages;return e.userLanguage||(t&&t.length?t[0]:e.language)}}function lP(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function fP(e){return function(t){for(var r,n=Object.create(null),a=/([^&=]+)=?([^&]*)/g;r=a.exec(t);){var i=ud(r[1]),o=ud(r[2]);i.substring(i.length-2)==="[]"?(n[i=i.substring(0,i.length-2)]||(n[i]=[])).push(o):n[i]=o===""||o}for(var s in n){var u=s.split("[");u.length>1&&(dP(n,u.map(function(f){return f.replace(/[?[\]\\ ]/g,"")}),n[s]),delete n[s])}return n}(function(t){return te&&window.location.search.substring(1)}())}function dP(e,t,r){for(var n=t.length-1,a=0;a<n;++a){var i=t[a];if(i==="__proto__"||i==="constructor")break;i in e||(e[i]={}),e=e[i]}e[t[n]]=r}function Yn(){for(var e="",t=0,r=4294967295*Math.random()|0;t++<36;){var n="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[t-1],a=15&r;e+=n=="-"||n=="4"?n:(n=="x"?a:3&a|8).toString(16),r=t%8==0?4294967295*Math.random()|0:r>>4}return e}function vP(e,t){var r,n,a,i=null,o=0,s=function(){o=new Date,i=null,a=e.apply(r,n)};return function(){var u=new Date;o||(o=u);var f=t-(u-o);return r=this,n=arguments,f<=0?(clearTimeout(i),i=null,o=u,a=e.apply(r,n)):i||(i=setTimeout(s,f)),a}}var Ar="global",Wt=ht+"global"+ht,Vt=typeof self===rd&&self.self===self&&self||typeof global===rd&&global.global===global&&global||void 0;function pt(e){return Vt[Wt][e]}function mt(e,t){return Vt[Wt][e]=t}function Zt(e){delete Vt[Wt][e]}function Jt(e,t,r){var n;try{if(Bo(e)){var a=window[e];n=a[t].bind(a)}}catch{}return n||r}Vt[Wt]||(Vt[Wt]={});var Xn={};function Bo(e){if(typeof Xn[e]!==Kn)return Xn[e];try{var t=window[e];t.setItem(Kn,Kn),t.removeItem(Kn)}catch{return Xn[e]=!1}return Xn[e]=!0}function A(){return A=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},A.apply(this,arguments)}var Xe="function",ze="undefined",hP="@@redux/"+Math.random().toString(36),ld=function(){return typeof Symbol===Xe&&Symbol.observable||"@@observable"}(),qn=" != "+Xe;function fd(e,t,r){var n;if(typeof t===Xe&&typeof r===ze&&(r=t,t=void 0),typeof r!==ze){if(typeof r!==Xe)throw new Error("enhancer"+qn);return r(fd)(e,t)}if(typeof e!==Xe)throw new Error("reducer"+qn);var a=e,i=t,o=[],s=o,u=!1;function f(){s===o&&(s=o.slice())}function l(){return i}function c(v){if(typeof v!==Xe)throw new Error("Listener"+qn);var h=!0;return f(),s.push(v),function(){if(h){h=!1,f();var b=s.indexOf(v);s.splice(b,1)}}}function d(v){if(!oe(v))throw new Error("Act != obj");if(typeof v.type===ze)throw new Error("ActType "+ze);if(u)throw new Error("Dispatch in reducer");try{u=!0,i=a(i,v)}finally{u=!1}for(var h=o=s,b=0;b<h.length;b++)(0,h[b])();return v}return d({type:"@@redux/INIT"}),(n={dispatch:d,subscribe:c,getState:l,replaceReducer:function(v){if(typeof v!==Xe)throw new Error("next reducer"+qn);a=v,d({type:"@@redux/INIT"})}})[ld]=function(){var v,h=c;return(v={subscribe:function(b){if(typeof b!="object")throw new TypeError("Observer != obj");function g(){b.next&&b.next(l())}return g(),{unsubscribe:h(g)}}})[ld]=function(){return this},v},n}function pP(e,t){var r=t&&t.type;return"action "+(r&&r.toString()||"?")+"reducer "+e+" returns "+ze}function Yt(){var e=[].slice.call(arguments);return e.length===0?function(t){return t}:e.length===1?e[0]:e.reduce(function(t,r){return function(){return t(r.apply(void 0,[].slice.call(arguments)))}})}function mP(){var e=arguments;return function(t){return function(r,n,a){var i,o=t(r,n,a),s=o.dispatch,u={getState:o.getState,dispatch:function(f){return s(f)}};return i=[].slice.call(e).map(function(f){return f(u)}),A({},o,{dispatch:s=Yt.apply(void 0,i)(o.dispatch)})}}}var qe=ht+"anon_id",gt=ht+"user_id",Xt=ht+"user_traits",Qe="userId",qt="anonymousId",Qn=["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"],zo=["name","EVENTS","config","loaded"],j=Qn.reduce(function(e,t){return e[t]=t,e},{registerPluginType:function(e){return"registerPlugin:"+e},pluginReadyType:function(e){return"ready:"+e}}),dd=/^utm_/,vd=/^an_prop_/,hd=/^an_trait_/;function gP(e){var t=e.storage.setItem;return function(r){return function(n){return function(a){if(a.type===j.bootstrap){var i=a.params,o=a.user,s=a.persistedUser,u=a.initialUser,f=s.userId===o.userId;s.anonymousId!==o.anonymousId&&t(qe,o.anonymousId),f||t(gt,o.userId),u.traits&&t(Xt,A({},f&&s.traits?s.traits:{},u.traits));var l=Object.keys(a.params);if(l.length){var c=i.an_uid,d=i.an_event,v=l.reduce(function(h,b){if(b.match(dd)||b.match(/^(d|g)clid/)){var g=b.replace(dd,"");h.campaign[g==="campaign"?"name":g]=i[b]}return b.match(vd)&&(h.props[b.replace(vd,"")]=i[b]),b.match(hd)&&(h.traits[b.replace(hd,"")]=i[b]),h},{campaign:{},props:{},traits:{}});r.dispatch(A({type:j.params,raw:i},v,c?{userId:c}:{})),c&&setTimeout(function(){return e.identify(c,v.traits)},0),d&&setTimeout(function(){return e.track(d,v.props)},0),Object.keys(v.campaign).length&&r.dispatch({type:j.campaign,campaign:v.campaign})}}return n(a)}}}}function yP(e){return function(t,r){if(t===void 0&&(t={}),r===void 0&&(r={}),r.type===j.setItemEnd){if(r.key===qe)return A({},t,{anonymousId:r.value});if(r.key===gt)return A({},t,{userId:r.value})}switch(r.type){case j.identify:return Object.assign({},t,{userId:r.userId,traits:A({},t.traits,r.traits)});case j.reset:return[gt,qe,Xt].forEach(function(n){e.removeItem(n)}),Object.assign({},t,{userId:null,anonymousId:null,traits:{}});default:return t}}}function pd(e){return{userId:e.getItem(gt),anonymousId:e.getItem(qe),traits:e.getItem(Xt)}}var Ho=function(e){return ht+"TEMP"+ht+e};function wP(e){var t=e.storage,r=t.setItem,n=t.removeItem,a=t.getItem;return function(i){return function(o){return function(s){var u=s.userId,f=s.traits,l=s.options;if(s.type===j.reset&&([gt,Xt,qe].forEach(function(v){n(v)}),[Qe,qt,"traits"].forEach(function(v){Zt(Ho(v))})),s.type===j.identify){a(qe)||r(qe,Yn());var c=a(gt),d=a(Xt)||{};c&&c!==u&&i.dispatch({type:j.userIdChanged,old:{userId:c,traits:d},new:{userId:u,traits:f},options:l}),u&&r(gt,u),f&&r(Xt,A({},d,f))}return o(s)}}}}var jr={};function md(e,t){jr[e]&&ie(jr[e])&&(jr[e](t),delete jr[e])}function gd(e,t,r){return new Promise(function(n,a){return t()?n(e):r<1?a(A({},e,{queue:!0})):new Promise(function(i){return setTimeout(i,10)}).then(function(i){return gd(e,t,r-10).then(n,a)})})}function bP(e){return{abort:e}}function yd(e,t,r){var n={},a=t(),i=e.getState(),o=i.plugins,s=i.queue,u=i.user;if(!i.context.offline&&s&&s.actions&&s.actions.length){var f=s.actions.reduce(function(c,d,v){return o[d.plugin].loaded?(c.process.push(d),c.processIndex.push(v)):(c.requeue.push(d),c.requeueIndex.push(v)),c},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(f.processIndex&&f.processIndex.length){f.processIndex.forEach(function(c){var d=s.actions[c],v=d.plugin,h=d.payload.type,b=a[v][h];if(b&&ie(b)){var g,P=function(p,$){return p===void 0&&(p={}),$===void 0&&($={}),[Qe,qt].reduce(function(O,_){return p.hasOwnProperty(_)&&$[_]&&$[_]!==p[_]&&(O[_]=$[_]),O},p)}(d.payload,u),T=n[P.meta.rid];if(!T&&(g=b({payload:P,config:o[v].config,instance:r,abort:bP}))&&oe(g)&&g.abort)return void(n[P.meta.rid]=!0);if(!T){var w=h+":"+v;e.dispatch(A({},P,{type:w,_:{called:w,from:"queueDrain"}}))}}});var l=s.actions.filter(function(c,d){return!~f.processIndex.indexOf(d)});s.actions=l}}}var Go=function(e){var t=e.data,r=e.action,n=e.instance,a=e.state,i=e.allPlugins,o=e.allMatches,s=e.store,u=e.EVENTS;try{var f=a.plugins,l=a.context,c=r.type,d=c.match(Qt),v=t.exact.map(function(g){return g.pluginName});d&&(v=o.during.map(function(g){return g.pluginName}));var h=function(g,P){return function(T,w,p){var $=w.config,O=w.name,_=O+"."+T.type;p&&(_=p.event);var k=T.type.match(Qt)?function(M,F,Y,L,U){return function(z,R){var V=L?L.name:M,q=R&&Lr(R)?R:Y;if(L&&(!(q=R&&Lr(R)?R:[M]).includes(M)||q.length!==1))throw new Error("Method "+F+" can only abort "+M+" plugin. "+JSON.stringify(q)+" input valid");return A({},U,{abort:{reason:z,plugins:q,caller:F,_:V}})}}(O,_,P,p,T):function(M,F){return function(){throw new Error(M.type+" action not cancellable. Remove abort in "+F)}}(T,_);return{payload:SP(T),instance:g,config:$||{},abort:k}}}(n,v),b=t.exact.reduce(function(g,P){var T=P.pluginName,w=P.methodName,p=!1;return w.match(/^initialize/)||w.match(/^reset/)||(p=!f[T].loaded),l.offline&&w.match(/^(page|track|identify)/)&&(p=!0),g[""+T]=p,g},{});return Promise.resolve(t.exact.reduce(function(g,P,T){try{var w=P.pluginName;return Promise.resolve(g).then(function(p){function $(){return Promise.resolve(p)}var O=function(){if(t.namespaced&&t.namespaced[w])return Promise.resolve(t.namespaced[w].reduce(function(_,k,M){try{return Promise.resolve(_).then(function(F){return k.method&&ie(k.method)?(function(z,R){var V=Ed(z);if(V&&V.name===R){var q=Ed(V.method);throw new Error([R+" plugin is calling method "+z,"Plugins cant call self","Use "+V.method+" "+(q?"or "+q.method:"")+" in "+R+" plugin insteadof "+z].join(`
|
|
5
|
+
CAUSE: `+v.stack,$.response=w,$.status=w.status,$.url=c,w.type==="opaque")throw $;const O=a.errorType==="json"||((p=w.headers.get("Content-Type"))===null||p===void 0?void 0:p.split(";")[0])==="application/json";return(a.errorType?O?w.text():w[a.errorType]():Promise.resolve(w.body)).then(k=>{throw $.message=typeof k=="string"?k:w.statusText,k&&(O&&typeof k=="string"?($.text=k,$.json=JSON.parse(k)):$[a.errorType]=k),$})}return w}),b=w=>w.catch(p=>{const $=Object.prototype.hasOwnProperty.call(p,Ht),O=$?p[Ht]:p,_=(O==null?void 0:O.status)&&f.get(O.status)||f.get(O==null?void 0:O.name)||$&&f.has(Ht)&&f.get(Ht);if(_)return _(O,e);const k=f.get(Jf);if(k)return k(O,e);throw O}),g=w=>p=>b(w?h.then($=>$&&$[w]()).then($=>p?p($):$):h.then($=>p?p($):$)),P={_wretchReq:e,_fetchReq:d,_sharedState:t,res:g(null),json:g("json"),blob:g("blob"),formData:g("formData"),arrayBuffer:g("arrayBuffer"),text:g("text"),error(w,p){return f.set(w,p),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(Ht,w)}},T=u.reduce((w,p)=>({...w,...typeof p.resolver=="function"?p.resolver(w):p.resolver}),P);return o.reduce((w,p)=>p(w,e),T)},ZT={_url:"",_options:{},_config:Gt,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(e){return{...this,_addons:[...this._addons,e],...e.wretch}},errorType(e){return{...this,_config:{...this._config,errorType:e}}},polyfills(e,t=!1){return{...this,_config:{...this._config,polyfills:t?e:vt(this._config.polyfills,e)}}},url(e,t=!1){if(t)return{...this,_url:e};const r=this._url.split("?");return{...this,_url:r.length>1?r[0]+e+"?"+r[1]:this._url+e}},options(e,t=!1){return{...this,_options:t?e:vt(this._options,e)}},headers(e){const t=e?Array.isArray(e)?Object.fromEntries(e):"entries"in e?Object.fromEntries(e.entries()):e:{};return{...this,_options:vt(this._options,{headers:t})}},accept(e){return this.headers({Accept:e})},content(e){return this.headers({[Zf]:e})},auth(e){return this.headers({Authorization:e})},catcher(e,t){const r=new Map(this._catchers);return r.set(e,t),{...this,_catchers:r}},catcherFallback(e){return this.catcher(Jf,e)},resolve(e,t=!1){return{...this,_resolvers:t?[e]:[...this._resolvers,e]}},defer(e,t=!1){return{...this,_deferred:t?[e]:[...this._deferred,e]}},middlewares(e,t=!1){return{...this,_middlewares:t?e:[...this._middlewares,...e]}},fetch(e=this._options.method,t="",r=null){let n=this.url(t).options({method:e});const a=Yf(n._options.headers),i=this._config.polyfill("FormData",!1),o=typeof r=="object"&&!(i&&r instanceof i)&&(!n._options.headers||!a||Xf(a));return n=r?o?n.json(r,a):n.body(r):n,VT(n._deferred.reduce((s,u)=>u(s,s._url,s._options),n))},get(e=""){return this.fetch("GET",e)},delete(e=""){return this.fetch("DELETE",e)},put(e,t=""){return this.fetch("PUT",t,e)},post(e,t=""){return this.fetch("POST",t,e)},patch(e,t=""){return this.fetch("PATCH",t,e)},head(e=""){return this.fetch("HEAD",e)},opts(e=""){return this.fetch("OPTIONS",e)},body(e){return{...this,_options:{...this._options,body:e}}},json(e,t){const r=Yf(this._options.headers);return this.content(t||Xf(r)&&r||zT).body(JSON.stringify(e))}};function Be(e="",t={}){return{...ZT,_url:e,_options:t}}Be.default=Be,Be.options=HT,Be.errorType=KT,Be.polyfills=GT,Be.WretchError=qf;function Re(){sessionStorage.removeItem(Lo),Je(_e.CLEAR_CACHE,{})}function Qf(){var r;return(r=(document.documentElement.getAttribute("lang")??"en").split("-")[0])==null?void 0:r.toLocaleLowerCase()}function JT(e){let t;try{t=new URL(e)}catch{return!1}return t.protocol==="http:"||t.protocol==="https:"}function YT(e,t){if(JT(e))return{itemSrc:e};const[r,n,a]=e.split(":");return{sku:`${r}:${n}`,purchaseOption:t||a}}function XT(e,t){const r=new URL(`${Fe("checkout3",e.environment)}`);if(r.searchParams.set("vendorId",e.clientId),t.language&&r.searchParams.set("lang",t.language),t.sku)r.searchParams.set("sku",t.sku),t.purchaseOptionId&&r.searchParams.set("poId",t.purchaseOptionId);else if(t.itemSrc){const{sku:o,purchaseOption:s,itemSrc:u}=YT(t.itemSrc,t.purchaseOptionId);u&&r.searchParams.set("itemSrc",u),o&&r.searchParams.set("sku",o),s&&r.searchParams.set("poId",s)}t.email&&r.searchParams.set("email",t.email),t.business&&r.searchParams.set("business","true"),t.currency&&r.searchParams.set("currency",t.currency),t.price&&r.searchParams.set("price",t.price.toString()),t.discountCode&&r.searchParams.set("discountCode",t.discountCode),t.attributionItemSrc&&r.searchParams.set("attributionItemSrc",t.attributionItemSrc),t.attributionPublisherContentId&&r.searchParams.set("attributionPublisherContentId",t.attributionPublisherContentId),t.utmSource&&r.searchParams.set("utmSource",t.utmSource),t.utmMedium&&r.searchParams.set("utmMedium",t.utmMedium),t.utmCampaign&&r.searchParams.set("utmCampaign",t.utmCampaign),t.utmTerm&&r.searchParams.set("utmTerm",t.utmTerm),t.utmContent&&r.searchParams.set("utmContent",t.utmContent);const n=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(o=>{const[s,u]=o.trim().split("=");return{key:s,value:u}}).filter(o=>n.some(s=>s===o.key)).forEach(o=>{r.searchParams.append(o.key,o.value)});const i=new URL(t.redirectUrl||window.location.href);return i.searchParams.set("force-refetch-entitlements","true"),t.itemSrc&&i.searchParams.set("sesamy-purchase",t.itemSrc),r.searchParams.set("redirectUrl",i.toString()),t.paymemtMethodsFilter&&r.searchParams.set("paymentMethodsFilter",t.paymemtMethodsFilter.flatMap(({provider:o,methods:s})=>s?s.map(u=>`${o}|${u}`):o).join(",")),r}function qT(e){const t=Fe("api2",e.environment),r=S=>async(I,C)=>{let Z=sessionStorage.getItem(Lo);Z||(Z=Date.now().toString(),sessionStorage.setItem(Lo,Z));const le={...C,headers:{...C.headers,"Cache-Timestamp":Z}};return S(I,le)},n=(S=!0)=>I=>async(C,Z)=>{let le=null;if(le=await Rr(S),!le){if(S)throw new Error("No access token available");return I(C,Z)}const tr={...Z,headers:{...Z.headers,...le?{Authorization:`Bearer ${le}`}:{}}};return I(C,tr)},a=S=>(I,C)=>{if(C.headers.Authorization)return S(I,C);const Z=localStorage.getItem("__anon_id"),le=btoa(`${Z}:`),tr={...C,headers:{...C.headers,Authorization:`Basic ${le}`}};return S(I,tr)},i=Be(t).headers({"Content-Type":"application/json"}).middlewares([r,n(),Wf(),Vf({delayTimer:1e3,delayRamp:(S,I)=>S*I,maxAttempts:3,until:S=>!!(S&&(S.ok||S.status>=400&&S.status<500)),retryOnNetworkError:!1})]),o=Be(t).headers({"Content-Type":"application/json"}).middlewares([r,n(!1),a,Wf(),Vf({delayTimer:1e3,delayRamp:(S,I)=>S*I,maxAttempts:3,until:S=>!!(S&&(S.ok||S.status>=400&&S.status<500)),retryOnNetworkError:!1})]);async function s(S){const I=S?`?wait-for-entitlement-after=${S.toISOString()}`:"";return i.get(`/entitlements${I}`).json()}async function u(S){const I=await i.get("/entitlements").json();return I==null?void 0:I.find(C=>C.id===S)}async function f(S){return i.get(`/entitlements/${S}/access`).json()}async function l(){return i.get("/contracts").json()}async function c(S){const I=await i.get("/contracts").json();return I==null?void 0:I.find(C=>C.id===S)}async function d(S){return(await i.post({},`/contracts/${S}/cancel`).res()).ok}async function v(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),i.get("/subscriptions").json()}async function h(){return i.get("/bills").json()}async function b(S){const I=await i.get("/bills").json();return I==null?void 0:I.find(C=>C.id===S)}async function g(){return i.get("/transactions").json()}async function P(S){const I=await i.get("/transactions").json();return I==null?void 0:I.find(C=>C.id===S)}async function T(S,I){const C=await i.url(`/user-metadata/${S}`).put(I).json();return Je(_e.USER_ATTRIBUTE_CHANGED,{}),Re(),C}async function w(S){const I=await i.url(`/user-metadata/${S}`).delete().res();return Re(),I.ok}async function p(S){return(await i.url(`/user-metadata/${S}`).get().json())[S]}async function $(){return await i.url("/user-metadata").get().json()}async function O(){return await i.url("/tags").get().json()}async function _(S){const I=await i.url(`/tags/${S}`).delete().res();return Re(),I.ok}async function k(S){const I=await i.url("/tags").post(S).res();return Je(_e.USER_ATTRIBUTE_CHANGED,{}),Re(),I.ok}async function M(S){return(await o.url("/tallies").get().json())[S]}async function F(){return await o.url("/tallies").get().json()}async function Y(S){const I=await o.url(`/tallies/${S}`).delete().res();return Re(),I.ok}async function L(S,I){return await o.url(`/tallies/${S}/push`).post(I).json()}async function U(S){return await i.url(`/products/${S}`).get().json()}async function z(){return await Rr(!1)?await i.url("/profile").get().json():null}async function R(S){const I=await i.url("/profile").patch(S).res();return Re(),I.ok}async function V(){return await i.url("/payment-issues").get().json()}async function q(){return(await i.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function Ge(){return(await i.url("/profile/unlink-spotify").post().res()).ok}async function m(S){const I=await Rr(!1);if(!I)throw new Error("No access token available");const C=new URL(`${Fe("spotify-oas",e.environment)}/sesamy-callback`);C.searchParams.set("access_token",I),C.searchParams.set("state",S),window.location.href=C.toString()}async function y(S){const I=await i.url(`/products/${S}/auto-onboard`).post().json();return I.length&&Re(),I}async function E(S,I=3600){const{shortlink:C}=await Be(jT).post({url:S,ttl:I}).json();return C}async function N(S){const I=await Rr(!1);let C;const Z=S.language||Qf();switch(S.target){case"account":C=new URL(`${Fe("account",e.environment)}/${S.language||Z}/subscriptions/${e.clientId}`),C.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"consume":C=new URL(`${Fe("consume",e.environment)}/${S.language||Z}/@${e.clientId}/${S.sku}`),S.episodeId?C.href+=`/${S.episodeId}`:C.href+="/listen",C.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"checkout":C=XT(e,{language:Z,...S});break;default:throw new Error("Invalid target")}return I&&(C.hash=`#access_token=${I}`),S.shorten?E(C.href,S.ttl):C.href}async function x(S){return(await o.url("/checkouts").post({language:Qf(),...S,vendorId:e.clientId})).json()}async function D(S,I){return(await o.url(`/checkouts/${S}`).patch(I)).json()}async function X(S){return(await o.url(`/checkouts/${S}`).get()).json()}async function B(){const S=await Rr(!1),I=new URL(`${Fe("account",e.environment)}/subscriptions/${e.clientId}`);S&&(I.hash=`#access_token=${S}`),window.location.href=I.toString()}return{createCheckout:x,updateCheckout:D,getCheckout:X,getEntitlements:s,getEntitlement:u,getEntitlementAccess:f,getContracts:l,getContract:c,cancelContract:d,getProfile:z,updateProfile:R,getSubscriptions:v,getBills:h,getBill:b,setUserMetadata:T,deleteUserMetadata:w,getUserMetadata:p,listUserMetadata:$,getTags:O,deleteTag:_,setTag:k,getTally:M,getTallies:F,deleteTally:Y,pushTally:L,getTransactions:g,getTransaction:P,getProduct:U,getPaymentIssues:V,autoOnboardProduct:y,isSpotifyLinked:q,unlinkSpotify:Ge,linkSpotify:m,generateLink:N,openHostedAccountPage:B}}const ed="@sesamy/sesamy-js",Mo="1.19.1";function td(e,t,r,n,a){for(t=t.split?t.split("."):t,n=0;n<t.length;n++)e=e?e[t[n]]:a;return e===a?r:e}var Kn="undefined",rd="object",Fo=function(){},nd="any",ad="*",ht="__",Wn=typeof process<"u"?process:{};Wn.env&&Wn.env.NODE_ENV;var te=typeof document<"u";Wn.versions!=null&&Wn.versions.node!=null,typeof Deno<"u"&&Deno.core,te&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent!==void 0&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function id(e,t){return t.charAt(0)[e]()+t.slice(1)}var QT=id.bind(null,"toUpperCase"),eP=id.bind(null,"toLowerCase");function tP(e){return od(e)?QT("null"):typeof e=="object"?iP(e):Object.prototype.toString.call(e).slice(8,-1)}function Vn(e,t){t===void 0&&(t=!0);var r=tP(e);return t?eP(r):r}function Cr(e,t){return typeof t===e}var ie=Cr.bind(null,"function"),Ye=Cr.bind(null,"string"),Kt=Cr.bind(null,"undefined"),rP=Cr.bind(null,"boolean");Cr.bind(null,"symbol");function od(e){return e===null}function nP(e){return Vn(e)==="number"&&!isNaN(e)}function sd(e){return Vn(e)==="array"}function oe(e){if(!aP(e))return!1;for(var t=e;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function aP(e){return e&&(typeof e=="object"||e!==null)}function iP(e){return ie(e.constructor)?e.constructor.name:null}function oP(e){return e instanceof Error||Ye(e.message)&&e.constructor&&nP(e.constructor.stackTraceLimit)}function cd(e,t){if(typeof t!="object"||od(t))return!1;if(t instanceof e)return!0;var r=Vn(new e(""));if(oP(t))for(;t;){if(Vn(t)===r)return!0;t=Object.getPrototypeOf(t)}return!1}cd.bind(null,TypeError),cd.bind(null,SyntaxError);function Zn(e,t){var r=e instanceof Element||e instanceof HTMLDocument;return r&&t?sP(e,t):r}function sP(e,t){return t===void 0&&(t=""),e&&e.nodeName===t.toUpperCase()}function Jn(e){var t=[].slice.call(arguments,1);return function(){return e.apply(void 0,[].slice.call(arguments).concat(t))}}Jn(Zn,"form"),Jn(Zn,"button"),Jn(Zn,"input"),Jn(Zn,"select");function cP(e){return e?sd(e)?e:[e]:[]}function ud(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch{return null}}function uP(){if(te){var e=navigator,t=e.languages;return e.userLanguage||(t&&t.length?t[0]:e.language)}}function lP(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function fP(e){return function(t){for(var r,n=Object.create(null),a=/([^&=]+)=?([^&]*)/g;r=a.exec(t);){var i=ud(r[1]),o=ud(r[2]);i.substring(i.length-2)==="[]"?(n[i=i.substring(0,i.length-2)]||(n[i]=[])).push(o):n[i]=o===""||o}for(var s in n){var u=s.split("[");u.length>1&&(dP(n,u.map(function(f){return f.replace(/[?[\]\\ ]/g,"")}),n[s]),delete n[s])}return n}(function(t){return te&&window.location.search.substring(1)}())}function dP(e,t,r){for(var n=t.length-1,a=0;a<n;++a){var i=t[a];if(i==="__proto__"||i==="constructor")break;i in e||(e[i]={}),e=e[i]}e[t[n]]=r}function Yn(){for(var e="",t=0,r=4294967295*Math.random()|0;t++<36;){var n="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[t-1],a=15&r;e+=n=="-"||n=="4"?n:(n=="x"?a:3&a|8).toString(16),r=t%8==0?4294967295*Math.random()|0:r>>4}return e}function vP(e,t){var r,n,a,i=null,o=0,s=function(){o=new Date,i=null,a=e.apply(r,n)};return function(){var u=new Date;o||(o=u);var f=t-(u-o);return r=this,n=arguments,f<=0?(clearTimeout(i),i=null,o=u,a=e.apply(r,n)):i||(i=setTimeout(s,f)),a}}var Ar="global",Wt=ht+"global"+ht,Vt=typeof self===rd&&self.self===self&&self||typeof global===rd&&global.global===global&&global||void 0;function pt(e){return Vt[Wt][e]}function mt(e,t){return Vt[Wt][e]=t}function Zt(e){delete Vt[Wt][e]}function Jt(e,t,r){var n;try{if(Bo(e)){var a=window[e];n=a[t].bind(a)}}catch{}return n||r}Vt[Wt]||(Vt[Wt]={});var Xn={};function Bo(e){if(typeof Xn[e]!==Kn)return Xn[e];try{var t=window[e];t.setItem(Kn,Kn),t.removeItem(Kn)}catch{return Xn[e]=!1}return Xn[e]=!0}function A(){return A=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},A.apply(this,arguments)}var Xe="function",ze="undefined",hP="@@redux/"+Math.random().toString(36),ld=function(){return typeof Symbol===Xe&&Symbol.observable||"@@observable"}(),qn=" != "+Xe;function fd(e,t,r){var n;if(typeof t===Xe&&typeof r===ze&&(r=t,t=void 0),typeof r!==ze){if(typeof r!==Xe)throw new Error("enhancer"+qn);return r(fd)(e,t)}if(typeof e!==Xe)throw new Error("reducer"+qn);var a=e,i=t,o=[],s=o,u=!1;function f(){s===o&&(s=o.slice())}function l(){return i}function c(v){if(typeof v!==Xe)throw new Error("Listener"+qn);var h=!0;return f(),s.push(v),function(){if(h){h=!1,f();var b=s.indexOf(v);s.splice(b,1)}}}function d(v){if(!oe(v))throw new Error("Act != obj");if(typeof v.type===ze)throw new Error("ActType "+ze);if(u)throw new Error("Dispatch in reducer");try{u=!0,i=a(i,v)}finally{u=!1}for(var h=o=s,b=0;b<h.length;b++)(0,h[b])();return v}return d({type:"@@redux/INIT"}),(n={dispatch:d,subscribe:c,getState:l,replaceReducer:function(v){if(typeof v!==Xe)throw new Error("next reducer"+qn);a=v,d({type:"@@redux/INIT"})}})[ld]=function(){var v,h=c;return(v={subscribe:function(b){if(typeof b!="object")throw new TypeError("Observer != obj");function g(){b.next&&b.next(l())}return g(),{unsubscribe:h(g)}}})[ld]=function(){return this},v},n}function pP(e,t){var r=t&&t.type;return"action "+(r&&r.toString()||"?")+"reducer "+e+" returns "+ze}function Yt(){var e=[].slice.call(arguments);return e.length===0?function(t){return t}:e.length===1?e[0]:e.reduce(function(t,r){return function(){return t(r.apply(void 0,[].slice.call(arguments)))}})}function mP(){var e=arguments;return function(t){return function(r,n,a){var i,o=t(r,n,a),s=o.dispatch,u={getState:o.getState,dispatch:function(f){return s(f)}};return i=[].slice.call(e).map(function(f){return f(u)}),A({},o,{dispatch:s=Yt.apply(void 0,i)(o.dispatch)})}}}var qe=ht+"anon_id",gt=ht+"user_id",Xt=ht+"user_traits",Qe="userId",qt="anonymousId",Qn=["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"],zo=["name","EVENTS","config","loaded"],j=Qn.reduce(function(e,t){return e[t]=t,e},{registerPluginType:function(e){return"registerPlugin:"+e},pluginReadyType:function(e){return"ready:"+e}}),dd=/^utm_/,vd=/^an_prop_/,hd=/^an_trait_/;function gP(e){var t=e.storage.setItem;return function(r){return function(n){return function(a){if(a.type===j.bootstrap){var i=a.params,o=a.user,s=a.persistedUser,u=a.initialUser,f=s.userId===o.userId;s.anonymousId!==o.anonymousId&&t(qe,o.anonymousId),f||t(gt,o.userId),u.traits&&t(Xt,A({},f&&s.traits?s.traits:{},u.traits));var l=Object.keys(a.params);if(l.length){var c=i.an_uid,d=i.an_event,v=l.reduce(function(h,b){if(b.match(dd)||b.match(/^(d|g)clid/)){var g=b.replace(dd,"");h.campaign[g==="campaign"?"name":g]=i[b]}return b.match(vd)&&(h.props[b.replace(vd,"")]=i[b]),b.match(hd)&&(h.traits[b.replace(hd,"")]=i[b]),h},{campaign:{},props:{},traits:{}});r.dispatch(A({type:j.params,raw:i},v,c?{userId:c}:{})),c&&setTimeout(function(){return e.identify(c,v.traits)},0),d&&setTimeout(function(){return e.track(d,v.props)},0),Object.keys(v.campaign).length&&r.dispatch({type:j.campaign,campaign:v.campaign})}}return n(a)}}}}function yP(e){return function(t,r){if(t===void 0&&(t={}),r===void 0&&(r={}),r.type===j.setItemEnd){if(r.key===qe)return A({},t,{anonymousId:r.value});if(r.key===gt)return A({},t,{userId:r.value})}switch(r.type){case j.identify:return Object.assign({},t,{userId:r.userId,traits:A({},t.traits,r.traits)});case j.reset:return[gt,qe,Xt].forEach(function(n){e.removeItem(n)}),Object.assign({},t,{userId:null,anonymousId:null,traits:{}});default:return t}}}function pd(e){return{userId:e.getItem(gt),anonymousId:e.getItem(qe),traits:e.getItem(Xt)}}var Ho=function(e){return ht+"TEMP"+ht+e};function wP(e){var t=e.storage,r=t.setItem,n=t.removeItem,a=t.getItem;return function(i){return function(o){return function(s){var u=s.userId,f=s.traits,l=s.options;if(s.type===j.reset&&([gt,Xt,qe].forEach(function(v){n(v)}),[Qe,qt,"traits"].forEach(function(v){Zt(Ho(v))})),s.type===j.identify){a(qe)||r(qe,Yn());var c=a(gt),d=a(Xt)||{};c&&c!==u&&i.dispatch({type:j.userIdChanged,old:{userId:c,traits:d},new:{userId:u,traits:f},options:l}),u&&r(gt,u),f&&r(Xt,A({},d,f))}return o(s)}}}}var jr={};function md(e,t){jr[e]&&ie(jr[e])&&(jr[e](t),delete jr[e])}function gd(e,t,r){return new Promise(function(n,a){return t()?n(e):r<1?a(A({},e,{queue:!0})):new Promise(function(i){return setTimeout(i,10)}).then(function(i){return gd(e,t,r-10).then(n,a)})})}function bP(e){return{abort:e}}function yd(e,t,r){var n={},a=t(),i=e.getState(),o=i.plugins,s=i.queue,u=i.user;if(!i.context.offline&&s&&s.actions&&s.actions.length){var f=s.actions.reduce(function(c,d,v){return o[d.plugin].loaded?(c.process.push(d),c.processIndex.push(v)):(c.requeue.push(d),c.requeueIndex.push(v)),c},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(f.processIndex&&f.processIndex.length){f.processIndex.forEach(function(c){var d=s.actions[c],v=d.plugin,h=d.payload.type,b=a[v][h];if(b&&ie(b)){var g,P=function(p,$){return p===void 0&&(p={}),$===void 0&&($={}),[Qe,qt].reduce(function(O,_){return p.hasOwnProperty(_)&&$[_]&&$[_]!==p[_]&&(O[_]=$[_]),O},p)}(d.payload,u),T=n[P.meta.rid];if(!T&&(g=b({payload:P,config:o[v].config,instance:r,abort:bP}))&&oe(g)&&g.abort)return void(n[P.meta.rid]=!0);if(!T){var w=h+":"+v;e.dispatch(A({},P,{type:w,_:{called:w,from:"queueDrain"}}))}}});var l=s.actions.filter(function(c,d){return!~f.processIndex.indexOf(d)});s.actions=l}}}var Go=function(e){var t=e.data,r=e.action,n=e.instance,a=e.state,i=e.allPlugins,o=e.allMatches,s=e.store,u=e.EVENTS;try{var f=a.plugins,l=a.context,c=r.type,d=c.match(Qt),v=t.exact.map(function(g){return g.pluginName});d&&(v=o.during.map(function(g){return g.pluginName}));var h=function(g,P){return function(T,w,p){var $=w.config,O=w.name,_=O+"."+T.type;p&&(_=p.event);var k=T.type.match(Qt)?function(M,F,Y,L,U){return function(z,R){var V=L?L.name:M,q=R&&Lr(R)?R:Y;if(L&&(!(q=R&&Lr(R)?R:[M]).includes(M)||q.length!==1))throw new Error("Method "+F+" can only abort "+M+" plugin. "+JSON.stringify(q)+" input valid");return A({},U,{abort:{reason:z,plugins:q,caller:F,_:V}})}}(O,_,P,p,T):function(M,F){return function(){throw new Error(M.type+" action not cancellable. Remove abort in "+F)}}(T,_);return{payload:SP(T),instance:g,config:$||{},abort:k}}}(n,v),b=t.exact.reduce(function(g,P){var T=P.pluginName,w=P.methodName,p=!1;return w.match(/^initialize/)||w.match(/^reset/)||(p=!f[T].loaded),l.offline&&w.match(/^(page|track|identify)/)&&(p=!0),g[""+T]=p,g},{});return Promise.resolve(t.exact.reduce(function(g,P,T){try{var w=P.pluginName;return Promise.resolve(g).then(function(p){function $(){return Promise.resolve(p)}var O=function(){if(t.namespaced&&t.namespaced[w])return Promise.resolve(t.namespaced[w].reduce(function(_,k,M){try{return Promise.resolve(_).then(function(F){return k.method&&ie(k.method)?(function(z,R){var V=Ed(z);if(V&&V.name===R){var q=Ed(V.method);throw new Error([R+" plugin is calling method "+z,"Plugins cant call self","Use "+V.method+" "+(q?"or "+q.method:"")+" in "+R+" plugin insteadof "+z].join(`
|
|
6
6
|
`))}}(k.methodName,k.pluginName),Promise.resolve(k.method({payload:F,instance:n,abort:(Y=F,L=w,U=k.pluginName,function(z,R){return A({},Y,{abort:{reason:z,plugins:R||[L],caller:c,from:U||L}})}),config:Sd(k.pluginName,f,i),plugins:f})).then(function(z){var R=oe(z)?z:{};return Promise.resolve(A({},F,R))})):F;var Y,L,U})}catch(F){return Promise.reject(F)}},Promise.resolve(r))).then(function(_){p[w]=_});p[w]=r}();return O&&O.then?O.then($):$()})}catch(p){return Promise.reject(p)}},Promise.resolve({}))).then(function(g){return Promise.resolve(t.exact.reduce(function(P,T,w){try{var p=t.exact.length===w+1,$=T.pluginName,O=i[$];return Promise.resolve(P).then(function(_){var k=g[$]?g[$]:{};if(d&&(k=_),Wo(k,$))return Ko({data:k,method:c,instance:n,pluginName:$,store:s}),Promise.resolve(_);if(Wo(_,$))return p&&Ko({data:_,method:c,instance:n,store:s}),Promise.resolve(_);if(b.hasOwnProperty($)&&b[$]===!0)return s.dispatch({type:"queue",plugin:$,payload:k,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(_);var M=h(g[$],i[$]);return Promise.resolve(O[c]({abort:M.abort,payload:k,instance:n,config:Sd($,f,i),plugins:f})).then(function(F){var Y=oe(F)?F:{},L=A({},_,Y),U=g[$];if(Wo(U,$))Ko({data:U,method:c,instance:n,pluginName:$,store:s});else{var z=c+":"+$;(z.match(/:/g)||[]).length<2&&!c.match(wd)&&!c.match(bd)&&n.dispatch(A({},d?L:k,{type:z,_:{called:z,from:"submethod"}}))}return Promise.resolve(L)})})}catch(_){return Promise.reject(_)}},Promise.resolve(r))).then(function(P){if(!(c.match(Qt)||c.match(/^registerPlugin/)||c.match(bd)||c.match(wd)||c.match(/^params/)||c.match(/^userIdChanged/))){if(u.plugins.includes(c),P._&&P._.originalAction===c)return P;var T=A({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});Td(P,t.exact.length)&&!c.match(/End$/)&&(T=A({},T,{type:P.type+"Aborted"})),s.dispatch(T)}return P})})}catch(g){return Promise.reject(g)}},Qt=/Start$/,wd=/^bootstrap/,bd=/^ready/;function Ko(e){var t=e.pluginName,r=e.method+"Aborted"+(t?":"+t:"");e.store.dispatch(A({},e.data,{type:r,_:{called:r,from:"abort"}}))}function Sd(e,t,r){var n=t[e]||r[e];return n&&n.config?n.config:{}}function $d(e,t){return t.reduce(function(r,n){return n[e]?r.concat({methodName:e,pluginName:n.name,method:n[e]}):r},[])}function Id(e,t){var r=e.replace(Qt,""),n=t?":"+t:"";return[""+e+n,""+r+n,r+"End"+n]}function Wo(e,t){var r=e.abort;return!!r&&(r===!0||Pd(r,t)||r&&Pd(r.plugins,t))}function Td(e,t){var r=e.abort;if(!r)return!1;if(r===!0||Ye(r))return!0;var n=r.plugins;return Lr(r)&&r.length===t||Lr(n)&&n.length===t}function Lr(e){return Array.isArray(e)}function Pd(e,t){return!(!e||!Lr(e))&&e.includes(t)}function Ed(e){var t=e.match(/(.*):(.*)/);return!!t&&{method:t[1],name:t[2]}}function SP(e){return Object.keys(e).reduce(function(t,r){return r==="type"||(t[r]=oe(e[r])?Object.assign({},e[r]):e[r]),t},{})}function $P(e,t,r){var n={};return function(a){return function(i){return function(o){try{var s,u=function(p){return s?p:i(c)},f=o.type,l=o.plugins,c=o;if(o.abort)return Promise.resolve(i(o));if(f===j.enablePlugin&&a.dispatch({type:j.initializeStart,plugins:l,disabled:[],fromEnable:!0,meta:o.meta}),f===j.disablePlugin&&setTimeout(function(){return md(o.meta.rid,{payload:o})},0),f===j.initializeEnd){var d=t(),v=Object.keys(d),h=v.filter(function(p){return l.includes(p)}).map(function(p){return d[p]}),b=[],g=[],P=o.disabled,T=h.map(function(p){var $=p.loaded,O=p.name,_=p.config;return gd(p,function(){return $({config:_})},1e4).then(function(k){return n[O]||(a.dispatch({type:j.pluginReadyType(O),name:O,events:Object.keys(p).filter(function(M){return!zo.includes(M)})}),n[O]=!0),b=b.concat(O),p}).catch(function(k){if(k instanceof Error)throw new Error(k);return g=g.concat(k.name),k})});Promise.all(T).then(function(p){var $={plugins:b,failed:g,disabled:P};setTimeout(function(){v.length===T.length+P.length&&a.dispatch(A({},{type:j.ready},$))},0)})}var w=function(){if(f!==j.bootstrap)return/^ready:([^:]*)$/.test(f)&&setTimeout(function(){return yd(a,t,e)},0),Promise.resolve(function(p,$,O,_,k){try{var M=ie($)?$():$,F=p.type,Y=F.replace(Qt,"");if(p._&&p._.called)return Promise.resolve(p);var L=O.getState(),U=(V=M,(q=L.plugins)===void 0&&(q={}),(Ge=p.options)===void 0&&(Ge={}),Object.keys(V).filter(function(m){var y=Ge.plugins||{};return rP(y[m])?y[m]:y.all!==!1&&(!q[m]||q[m].enabled!==!1)}).map(function(m){return V[m]}));F===j.initializeStart&&p.fromEnable&&(U=Object.keys(L.plugins).filter(function(m){var y=L.plugins[m];return p.plugins.includes(m)&&!y.initialized}).map(function(m){return M[m]}));var z=U.map(function(m){return m.name}),R=function(m,y,E){var N=Id(m).map(function(x){return $d(x,y)});return y.reduce(function(x,D){var X=D.name,B=Id(m,X).map(function(Z){return $d(Z,y)}),S=B[0],I=B[1],C=B[2];return S.length&&(x.beforeNS[X]=S),I.length&&(x.duringNS[X]=I),C.length&&(x.afterNS[X]=C),x},{before:N[0],beforeNS:{},during:N[1],duringNS:{},after:N[2],afterNS:{}})}(F,U);return Promise.resolve(Go({action:p,data:{exact:R.before,namespaced:R.beforeNS},state:L,allPlugins:M,allMatches:R,instance:O,store:_,EVENTS:k})).then(function(m){function y(){var x=function(){if(F.match(Qt))return Promise.resolve(Go({action:A({},E,{type:Y+"End"}),data:{exact:R.after,namespaced:R.afterNS},state:L,allPlugins:M,allMatches:R,instance:O,store:_,EVENTS:k})).then(function(D){D.meta&&D.meta.hasCallback&&md(D.meta.rid,{payload:D})})}();return x&&x.then?x.then(function(){return m}):m}if(Td(m,z.length))return m;var E,N=function(){if(F!==Y)return Promise.resolve(Go({action:A({},m,{type:Y}),data:{exact:R.during,namespaced:R.duringNS},state:L,allPlugins:M,allMatches:R,instance:O,store:_,EVENTS:k})).then(function(x){E=x});E=m}();return N&&N.then?N.then(y):y()})}catch(m){return Promise.reject(m)}var V,q,Ge}(o,t,e,a,r)).then(function(p){return s=1,i(p)})}();return Promise.resolve(w&&w.then?w.then(u):u(w))}catch(p){return Promise.reject(p)}}}}}function IP(e){return function(t){return function(r){return function(n){var a=n.type,i=n.key,o=n.value,s=n.options;if(a===j.setItem||a===j.removeItem){if(n.abort)return r(n);a===j.setItem?e.setItem(i,o,s):e.removeItem(i,s)}return r(n)}}}}var TP=function(){var e=this;this.before=[],this.after=[],this.addMiddleware=function(t,r){e[r]=e[r].concat(t)},this.removeMiddleware=function(t,r){var n=e[r].findIndex(function(a){return a===t});n!==-1&&(e[r]=[].concat(e[r].slice(0,n),e[r].slice(n+1)))},this.dynamicMiddlewares=function(t){return function(r){return function(n){return function(a){var i={getState:r.getState,dispatch:function(s){return r.dispatch(s)}},o=e[t].map(function(s){return s(i)});return Yt.apply(void 0,o)(n)(a)}}}}};function PP(e){return function(t,r){t===void 0&&(t={});var n={};if(r.type==="initialize:aborted")return t;if(/^registerPlugin:([^:]*)$/.test(r.type)){var a=Od(r.type,"registerPlugin"),i=e()[a];if(!i||!a)return t;var o=r.enabled,s=i.config;return n[a]={enabled:o,initialized:!!o&&!i.initialize,loaded:!!o&&!!i.loaded({config:s}),config:s},A({},t,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=Od(r.type,j.initialize),f=e()[u];return f&&u?(n[u]=A({},t[u],{initialized:!0,loaded:!!f.loaded({config:f.config})}),A({},t,n)):t}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=A({},t[r.name],{loaded:!0}),A({},t,n);switch(r.type){case j.disablePlugin:return A({},t,kd(r.plugins,!1,t));case j.enablePlugin:return A({},t,kd(r.plugins,!0,t));default:return t}}}function Od(e,t){return e.substring(t.length+1,e.length)}function kd(e,t,r){return e.reduce(function(n,a){return n[a]=A({},r[a],{enabled:t}),n},r)}function _d(e){try{return JSON.parse(JSON.stringify(e))}catch{}return e}var EP={last:{},history:[]};function OP(e,t){e===void 0&&(e=EP);var r=t.options,n=t.meta;if(t.type===j.track){var a=_d(A({event:t.event,properties:t.properties},Object.keys(r).length&&{options:r},{meta:n}));return A({},e,{last:a,history:e.history.concat(a)})}return e}var kP={actions:[]};function _P(e,t){e===void 0&&(e=kP);var r=t.payload;switch(t.type){case"queue":var n;return n=r&&r.type&&r.type===j.identify?[t].concat(e.actions):e.actions.concat(t),A({},e,{actions:n});case"dequeue":return[];default:return e}}var Rd=/#.*$/;function RP(e){var t=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(e);return"/"+(t&&t[3]?t[3].split("?")[0].replace(Rd,""):"")}var Cd,Ad,jd,Ld,CP=function(e){if(e===void 0&&(e={}),!te)return e;var t=document,r=t.title,n=t.referrer,a=window,i=a.location,o=a.innerWidth,s=a.innerHeight,u=i.hash,f=i.search,l=function(d){var v=function(){if(te){for(var h,b=document.getElementsByTagName("link"),g=0;h=b[g];g++)if(h.getAttribute("rel")==="canonical")return h.getAttribute("href")}}();return v?v.match(/\?/)?v:v+d:window.location.href.replace(Rd,"")}(f),c={title:r,url:l,path:RP(l),hash:u,search:f,width:o,height:s};return n&&n!==""&&(c.referrer=n),A({},c,e)},AP={last:{},history:[]};function jP(e,t){e===void 0&&(e=AP);var r=t.options;if(t.type===j.page){var n=_d(A({properties:t.properties,meta:t.meta},Object.keys(r).length&&{options:r}));return A({},e,{last:n,history:e.history.concat(n)})}return e}Cd=function(){if(!te)return!1;var e=navigator.appVersion;return~e.indexOf("Win")?"Windows":~e.indexOf("Mac")?"MacOS":~e.indexOf("X11")?"UNIX":~e.indexOf("Linux")?"Linux":"Unknown OS"}(),Ad=te?document.referrer:null,jd=uP(),Ld=lP();var Nd={initialized:!1,sessionId:Yn(),app:null,version:null,debug:!1,offline:!!te&&!navigator.onLine,os:{name:Cd},userAgent:te?navigator.userAgent:"node",library:{name:"analytics",version:"0.12.13"},timezone:Ld,locale:jd,campaign:{},referrer:Ad};function LP(e,t){e===void 0&&(e=Nd);var r=e.initialized,n=t.campaign;switch(t.type){case j.campaign:return A({},e,{campaign:n});case j.offline:return A({},e,{offline:!0});case j.online:return A({},e,{offline:!1});default:return r?e:A({},Nd,e,{initialized:!0})}}var NP=["plugins","reducers","storage"];function xP(e,t,r){if(te){var n=window[(r?"add":"remove")+"EventListener"];e.split(" ").forEach(function(a){n(a,t)})}}function UP(e){var t=xP.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(e)});return t(!0),function(r){return t(!1)}}function xd(){return mt("analytics",[]),function(e){return function(t,r,n){var a=e(t,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return Vt[Wt].analytics.push(o.action||o),i(o)}})}}}function Ud(e){return function(){return Yt(Yt.apply(null,arguments),xd())}}function Vo(e){return e?sd(e)?e:[e]:[]}function Dd(e,t,r){e===void 0&&(e={});var n,a,i=Yn();return t&&(jr[i]=(n=t,a=function(o){for(var s,u=o||Array.prototype.slice.call(arguments),f=0;f<u.length;f++)if(ie(u[f])){s=u[f];break}return s}(r),function(o){a&&a(o),n(o)})),A({},e,{rid:i,ts:new Date().getTime()},t?{hasCallback:!0}:{})}function DP(e){e===void 0&&(e={});var t=e.reducers||{},r=e.initialUser||{},n=(e.plugins||[]).reduce(function(m,y){if(ie(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 E=y.EVENTS?Object.keys(y.EVENTS).map(function(D){return y.EVENTS[D]}):[];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(D,X){var B;return D[X]=(B=y.methods[X],function(){for(var S=Array.prototype.slice.call(arguments),I=new Array(B.length),C=0;C<S.length;C++)I[C]=S[C];return I[I.length]=$,B.apply({instance:$},I)}),D},{}),delete y.methods);var N=Object.keys(y).concat(E),x=new Set(m.events.concat(N));if(m.events=Array.from(x),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:[]}),a=e.storage?e.storage:{getItem:pt,setItem:mt,removeItem:Zt},i=function(m){return function(y,E,N){return E.getState("user")[y]||(N&&oe(N)&&N[y]?N[y]:pd(m)[y]||pt(Ho(y))||null)}}(a),o=n.plugins,s=n.events.filter(function(m){return!zo.includes(m)}).sort(),u=new Set(s.concat(Qn).filter(function(m){return!zo.includes(m)})),f=Array.from(u).sort(),l=function(){return o},c=new TP,d=c.addMiddleware,v=c.removeMiddleware,h=c.dynamicMiddlewares,b=function(){throw new Error("Abort disabled inListener")},g=fP(),P=pd(a),T=A({},P,r,g.an_uid?{userId:g.an_uid}:{},g.an_aid?{anonymousId:g.an_aid}:{});T.anonymousId||(T.anonymousId=Yn());var w=A({enable:function(m,y){return new Promise(function(E){R.dispatch({type:j.enablePlugin,plugins:Vo(m),_:{originalAction:j.enablePlugin}},E,[y])})},disable:function(m,y){return new Promise(function(E){R.dispatch({type:j.disablePlugin,plugins:Vo(m),_:{originalAction:j.disablePlugin}},E,[y])})}},n.methods),p=!1,$={identify:function(m,y,E,N){try{var x=Ye(m)?m:null,D=oe(m)?m:y,X=E||{},B=$.user();mt(Ho(Qe),x);var S=x||D.userId||i(Qe,$,D);return Promise.resolve(new Promise(function(I){R.dispatch(A({type:j.identifyStart,userId:S,traits:D||{},options:X,anonymousId:B.anonymousId},B.id&&B.id!==x&&{previousId:B.id}),I,[y,E,N])}))}catch(I){return Promise.reject(I)}},track:function(m,y,E,N){try{var x=oe(m)?m.event:m;if(!x||!Ye(x))throw new Error("EventMissing");var D=oe(m)?m:y||{},X=oe(E)?E:{};return Promise.resolve(new Promise(function(B){R.dispatch({type:j.trackStart,event:x,properties:D,options:X,userId:i(Qe,$,y),anonymousId:i(qt,$,y)},B,[y,E,N])}))}catch(B){return Promise.reject(B)}},page:function(m,y,E){try{var N=oe(m)?m:{},x=oe(y)?y:{};return Promise.resolve(new Promise(function(D){R.dispatch({type:j.pageStart,properties:CP(N),options:x,userId:i(Qe,$,N),anonymousId:i(qt,$,N)},D,[m,y,E])}))}catch(D){return Promise.reject(D)}},user:function(m){if(m===Qe||m==="id")return i(Qe,$);if(m===qt||m==="anonId")return i(qt,$);var y=$.getState("user");return m?td(y,m):y},reset:function(m){return new Promise(function(y){R.dispatch({type:j.resetStart},y,m)})},ready:function(m){return p&&m({plugins:w,instance:$}),$.on(j.ready,function(y){m(y),p=!0})},on:function(m,y){if(!m||!ie(y))return!1;if(m===j.bootstrap)throw new Error(".on disabled for "+m);var E=/Start$|Start:/;if(m==="*"){var N=function(B){return function(S){return function(I){return I.type.match(E)&&y({payload:I,instance:$,plugins:o}),S(I)}}},x=function(B){return function(S){return function(I){return I.type.match(E)||y({payload:I,instance:$,plugins:o}),S(I)}}};return d(N,ea),d(x,ta),function(){v(N,ea),v(x,ta)}}var D=m.match(E)?ea:ta,X=function(B){return function(S){return function(I){return I.type===m&&y({payload:I,instance:$,plugins:o,abort:b}),S(I)}}};return d(X,D),function(){return v(X,D)}},once:function(m,y){if(!m||!ie(y))return!1;if(m===j.bootstrap)throw new Error(".once disabled for "+m);var E=$.on(m,function(N){y({payload:N.payload,instance:$,plugins:o,abort:b}),E()});return E},getState:function(m){var y=R.getState();return m?td(y,m):Object.assign({},y)},dispatch:function(m){var y=Ye(m)?{type:m}:m;if(Qn.includes(y.type))throw new Error("reserved action "+y.type);var E=A({},y,{_:A({originalAction:y.type},m._||{})});R.dispatch(E)},enablePlugin:w.enable,disablePlugin:w.disable,plugins:w,storage:{getItem:a.getItem,setItem:function(m,y,E){R.dispatch({type:j.setItemStart,key:m,value:y,options:E})},removeItem:function(m,y){R.dispatch({type:j.removeItemStart,key:m,options:y})}},setAnonymousId:function(m,y){$.storage.setItem(qe,m,y)},events:{core:Qn,plugins:s}},O=n.middlewares.concat([function(m){return function(y){return function(E){return E.meta||(E.meta=Dd()),y(E)}}},h(ea),$P($,l,{all:f,plugins:s}),IP(a),gP($),wP($),h(ta)]),_={context:LP,user:yP(a),page:jP,track:OP,plugins:PP(l),queue:_P},k=Yt,M=Yt;if(te&&e.debug){var F=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;F&&(k=F({trace:!0,traceLimit:25})),M=function(){return arguments.length===0?xd():oe(typeof arguments[0])?Ud():Ud().apply(null,arguments)}}var Y,L=function(m){return Object.keys(m).reduce(function(y,E){return NP.includes(E)||(y[E]=m[E]),y},{})}(e),U=n.pluginsArray.reduce(function(m,y){var E=y.name,N=y.config,x=y.loaded,D=n.pluginEnabled[E];return m[E]={enabled:D,initialized:!!D&&!y.initialize,loaded:!!x({config:N}),config:N},m},{}),z={context:L,user:T,plugins:U},R=fd(function(m){for(var y=Object.keys(m),E={},N=0;N<y.length;N++){var x=y[N];typeof m[x]===Xe&&(E[x]=m[x])}var D,X=Object.keys(E);try{(function(B){Object.keys(B).forEach(function(S){var I=B[S];if(typeof I(void 0,{type:"@@redux/INIT"})===ze||typeof I(void 0,{type:hP})===ze)throw new Error("reducer "+S+" "+ze)})})(E)}catch(B){D=B}return function(B,S){if(B===void 0&&(B={}),D)throw D;for(var I=!1,C={},Z=0;Z<X.length;Z++){var le=X[Z],tr=B[le],as=(0,E[le])(tr,S);if(typeof as===ze){var AE=pP(le,S);throw new Error(AE)}C[le]=as,I=I||as!==tr}return I?C:B}}(A({},_,t)),z,M(k(mP.apply(void 0,O))));R.dispatch=(Y=R.dispatch,function(m,y,E){var N=A({},m,{meta:Dd(m.meta,y,Vo(E))});return Y.apply(null,[N])});var V=Object.keys(o);R.dispatch({type:j.bootstrap,plugins:V,config:L,params:g,user:T,initialUser:r,persistedUser:P});var q=V.filter(function(m){return n.pluginEnabled[m]}),Ge=V.filter(function(m){return!n.pluginEnabled[m]});return R.dispatch({type:j.registerPlugins,plugins:V,enabled:n.pluginEnabled}),n.pluginsArray.map(function(m,y){var E=m.bootstrap,N=m.config,x=m.name;E&&ie(E)&&E({instance:$,config:N,payload:m}),R.dispatch({type:j.registerPluginType(x),name:x,enabled:n.pluginEnabled[x],plugin:m}),n.pluginsArray.length===y+1&&R.dispatch({type:j.initializeStart,plugins:q,disabled:Ge})}),UP(function(m){R.dispatch({type:m?j.offline:j.online})}),function(m,y,E){setInterval(function(){return yd(m,y,E)},3e3)}(R,l,$),$}var ea="before",ta="after",Nr="cookie",yt=Bd(),Md=ra,MP=ra;function Fd(e){return yt?ra(e,"",-1):Zt(e)}function Bd(){if(yt!==void 0)return yt;var e="cookiecookie";try{ra(e,e),yt=document.cookie.indexOf(e)!==-1,Fd(e)}catch{yt=!1}return yt}function ra(e,t,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return yt===!1&&(o?mt(e,t):pt(e)),o?document.cookie=e+"="+encodeURIComponent(t)+(r?"; expires="+new Date(+new Date+1e3*r).toUTCString()+(n?"; path="+n:"")+(a?"; domain="+a:"")+(i?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+e+"=")[1]||"").split(";")[0])}}var xr="localStorage",FP=Bo.bind(null,"localStorage");Jt("localStorage","getItem",pt),Jt("localStorage","setItem",mt),Jt("localStorage","removeItem",Zt);var Ur="sessionStorage",BP=Bo.bind(null,"sessionStorage");Jt("sessionStorage","getItem",pt),Jt("sessionStorage","setItem",mt),Jt("sessionStorage","removeItem",Zt);function er(e){var t=e;try{if((t=JSON.parse(e))==="true")return!0;if(t==="false")return!1;if(oe(t))return t;parseFloat(t)===t&&(t=parseFloat(t))}catch{}if(t!==null&&t!=="")return t}var zP=FP(),HP=BP(),GP=Bd();function zd(e,t){if(e){var r=Zo(t),n=!qo(r),a=Jo(r)?er(localStorage.getItem(e)):void 0;if(n&&!Kt(a))return a;var i=Yo(r)?er(Md(e)):void 0;if(n&&i)return i;var o=Xo(r)?er(sessionStorage.getItem(e)):void 0;if(n&&o)return o;var s=pt(e);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function KP(e,t,r){if(e&&!Kt(t)){var n={},a=Zo(r),i=JSON.stringify(t),o=!qo(a);return Jo(a)&&(n[xr]=aa(xr,t,er(localStorage.getItem(e))),localStorage.setItem(e,i),o)?n[xr]:Yo(a)&&(n[Nr]=aa(Nr,t,er(Md(e))),MP(e,i),o)?n[Nr]:Xo(a)&&(n[Ur]=aa(Ur,t,er(sessionStorage.getItem(e))),sessionStorage.setItem(e,i),o)?n[Ur]:(n[Ar]=aa(Ar,t,pt(e)),mt(e,t),o?n[Ar]:n)}}function WP(e,t){if(e){var r=Zo(t),n=zd(e,ad),a={};return!Kt(n.localStorage)&&Jo(r)&&(localStorage.removeItem(e),a[xr]=n.localStorage),!Kt(n.cookie)&&Yo(r)&&(Fd(e),a[Nr]=n.cookie),!Kt(n.sessionStorage)&&Xo(r)&&(sessionStorage.removeItem(e),a[Ur]=n.sessionStorage),!Kt(n.global)&&na(r,Ar)&&(Zt(e),a[Ar]=n.global),a}}function Zo(e){return e?Ye(e)?e:e.storage:nd}function Jo(e){return zP&&na(e,xr)}function Yo(e){return GP&&na(e,Nr)}function Xo(e){return HP&&na(e,Ur)}function qo(e){return e===ad||e==="all"}function na(e,t){return e===nd||e===t||qo(e)}function aa(e,t,r){return{location:e,current:t,previous:r}}var VP={setItem:KP,getItem:zd,removeItem:WP};function ZP(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Hd(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Gd(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Hd(Object(r),!0).forEach(function(n){ZP(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Hd(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function JP(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t={storage:VP};return DP(Gd(Gd({},t),e))}function YP(e,t){t=t||{};var r,n,a=[],i=t.max||1/0;function o(){clearInterval(r),e(a.splice(0,i)),s()}function s(){r=setInterval(o,t.interval||1e4)}return s(),{flush:o,push:function(u){return n=a.push(u),n>=i&&o(),n},size:function(){return a.length},end:function(u){u&&o(),clearInterval(r)}}}function XP(e){if(typeof window>"u")return;const{addEventListener:t,history:r,location:n}=window;let a=n.pathname;t("popstate",()=>e(n.pathname)),["push","replace"].map(i=>{const o=`${i}State`;if(o!=="pushState"&&o!=="replaceState")return;const s=r[o];r[o]=function(...u){var c;const f=((c=u[2])==null?void 0:c.toString())||"",l=QP(f);return a!==l&&(a=l,setTimeout(()=>e(f),0)),s.apply(r,u)}})}function qP(e,t){const r=e.indexOf(t);return r>-1?e.slice(0,r):e}function QP(e){return["#","?"].forEach(t=>e=qP(e,t)),e}function eE(){XP(()=>{He.page()})}function tE(e){if(e===void 0&&(e={}),!te)return Fo;var t=Wd(),r=Qo(),n=Kd(),a=ia(n,t),i=ia(r,t),o=[],s=[],u=[],f=n,l=a,c=i,d=Object.keys(e);if(!d.length)return Fo;var v=d.map(function(b){return Number(b)}),h=vP(function(){var b=Wd(),g=function(L,U){return U.map(function(z){return z===100?L-5:L*(z/100)})}(b,v),P=Qo(),T=Kd(),w=ia(T,b),p=ia(P,b);if(l=w>l?w:l,c=p<c?p:c,!(o.length>=v.length)){var $=f===T,O="up";$?O="initial":f<=T&&(O="down");var _=g,k=v;(O==="up"||$)&&(_=g.slice().reverse(),k=v.slice().reverse());var M=k.reduce(function(L,U,z){var R=_[z];return u.includes(U)&&T<=R&&(u=u.filter(function(V){return V!==U}),L.singleFunction=U),O==="down"&&!o.includes(U)&&T>=R&&U>i?(s.push(U),L.callbacks=L.callbacks.concat(U),L):O==="up"&&!o.includes(U)&&T<=R&&U<=w?(L.foundFunc=[U],L):($&&T>=R&&L.foundFunc.length===0&&(L.foundFunc=[U]),!s.includes(U)&&T>=R&&(s.push(U),L.singleFunction?u.push(U):L.singleFunction=U),L)},{foundFunc:[],singleFunction:null,callbacks:[],direction:O});if(f=T,O==="down"&&M.callbacks&&M.callbacks.forEach(function(L){ie(e[L])&&(e[L]({trigger:L,direction:O,scrollMin:c,scrollMax:l,range:[c,l]}),o.push(L))}),M.singleFunction){var F=M.singleFunction,Y=M.direction;ie(e[F])&&e[F]({trigger:F,direction:Y,scrollMin:c,scrollMax:l,range:[c,l]}),o.push(F)}}},500);return window.addEventListener("scroll",h),function(){return window.removeEventListener("scroll",h)}}function Qo(){return te?document.body.scrollTop||document.documentElement.scrollTop:0}function rE(){return te?window.innerHeight||document.documentElement.clientHeight:0}function Kd(){return Math.round(Qo()+rE())}function Wd(){if(!te)return 0;var e=document.body,t=document.documentElement;return Math.max(e.scrollHeight,e.offsetHeight,t.clientHeight,t.scrollHeight,t.offsetHeight)}function ia(e,t){return Math.round(e/t*100)}var Vd="EventListener";function nE(e){return function(t,r,n,a){var i=n||Fo,o=a||!1;if(!te)return i;var s=oa(r),u=oa(t,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("noEvent");var f=[];return function l(c){c&&(f=[]);for(var d=c?"add"+Vd:"remove"+Vd,v=0;v<u.length;v++){var h=u[v];f[v]=c?o&&o.once?aE(i):i:f[v]||i;for(var b=0;b<s.length;b++)h[d]?h["on"+s[b]]=c?f[v]:null:h[d](s[b],f[v],o)}return l.bind(null,!c)}(e)}}function oa(e,t){if(Ye(e))return t?oa(document.querySelectorAll(e)):(r=e).split(r.indexOf(",")>-1?",":" ").map(function(o){return o.trim()});var r;if(NodeList.prototype.isPrototypeOf(e)){for(var n=[],a=e.length>>>0;a--;)n[a]=e[a];return n}var i=cP(e);return t?i.map(function(o){return Ye(o)?oa(o,!0):o}).flat():i}function aE(e,t){var r;return function(){return e&&(r=e.apply(this,arguments),e=null),r}}var es=nE("Event");function Zd(e,t){return te&&ie(window[e])?(r=window[e],n=t,(a=window)===void 0&&(a=null),ie(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[e]=t;var r,n,a}Zd.bind(null,"onerror"),Zd.bind(null,"onload");var Jd=typeof window>"u",Yd="hidden";function iE(e){if(Jd)return!1;var t=oE(),r="".concat(t.replace(/[H|h]idden/,""),"visibilitychange"),n=function(){return e(!!document[t])},a=function(){return document.addEventListener(r,n)};return a(),function(){return document.removeEventListener(r,n),a}}function oE(){var e=["webkit","moz","ms","o"];return Jd||Yd in document?Yd:e.reduce(function(t,r){var n=r+"Hidden";return!t&&n in document?n:t},null)}var sE=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function cE(e,t){t===void 0&&(t={});var r=function(o,s){var u=this,f=!1;return function(l){f||(o.call(u,l),f=!0,setTimeout(function(){return f=!1},s))}}(e,t.throttle||1e4),n=[];function a(){var o=iE(function(s){s||r({type:"tabVisible"})});return n=[o].concat(sE.map(function(s){return es(document,s,r)})).concat(es(window,"load",r)).concat(es(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function uE(e){var t,r,n=e.onIdle,a=e.onWakeUp,i=e.onHeartbeat,o=e.timeout,s=o===void 0?1e4:o,u=e.throttle,f=u===void 0?2e3:u,l=!1,c=!1,d=new Date,v=function(){return clearTimeout(t)};function h(g){v(),i&&!l&&i(Dr(d),g),a&&l&&(l=!1,a(Dr(r),g),d=new Date),t=setTimeout(function(){l=!0,n&&(r=new Date,n(Dr(d),g))},s)}var b=cE(h,{throttle:f});return{disable:function(){c=!0,l=!1,v();var g=b();return function(){return c=!1,d=new Date,h({type:"load"}),g()}},getStatus:function(){return{isIdle:l,isDisabled:c,active:l?0:Dr(d,c),idle:l?Dr(r,c):0}}}}function Dr(e,t){return t?0:Math.round((new Date-e)/1e3)}const Xd=5e3;class lE{constructor(t){$e(this,"element");$e(this,"isInViewport",!1);$e(this,"isAwake",!1);$e(this,"isFlushing");$e(this,"observer");$e(this,"lastEventAt",Date.now());$e(this,"registeredView",!1);$e(this,"viewCallback");$e(this,"activeDurationCallback");$e(this,"idleDurationCallback");$e(this,"scrollCallback");this.element=t.element,this.viewCallback=t.viewCallback,this.activeDurationCallback=t.activeDurationCallback,this.idleDurationCallback=t.idleDurationCallback,this.scrollCallback=t.scrollCallback,this.observer=new IntersectionObserver(r=>{r.forEach(n=>{this.handleInViewPort(n.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),uE({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:Xd}),tE({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(t){t?(this.isAwake=!0,this.trackInViewport()):this.handleAwake(!1),this.isInViewport=t}handleAwake(t,r=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=t,this.lastEventAt=t?Date.now()-r*Xd:Date.now(),this.isInViewport&&this.trackAwake(t,r)}handleScroll(t){this.scrollCallback&&this.scrollCallback(t)}handleVisibilityChange(){this.isAwake=!1;const t=Math.round((Date.now()-this.lastEventAt)/1e3);t>1&&(this.lastEventAt=Date.now(),this.trackAwake(!1,t))}trackAwake(t,r){!t&&this.activeDurationCallback&&this.activeDurationCallback(r,this.isFlushing,this.lastEventAt),t&&this.idleDurationCallback&&this.idleDurationCallback(r,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}const qd="sesamy_session_id";function fE(){let e=sessionStorage.getItem(qd);return e||(e=Math.random().toString(36).slice(2,9),sessionStorage.setItem(qd,e)),e}let Qd=!1,ts,ev,sa;const tv=new Map;function dE({clientId:e,enabled:t=!0,environment:r}){if(ts=e,ev=t,sa=`${Fe("logs",r)}/events`,!ev)return;window.addEventListener("beforeunload",()=>{nv.forEach((a,i)=>{a.bind(i)()}),hE()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&tv.forEach((a,i)=>{a.bind(i)()})}),eE();const n=new lE({element:document.body,viewCallback:()=>{He.page()},activeDurationCallback:(a,i,o)=>{He.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{He.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{He.track("scroll",{scroll:a.scrollMax})}});pE(document.body,()=>{n.flush()}),mE(document.body,()=>{n.handleVisibilityChange()}),window.addEventListener(_e.AUTHENTICATED,async a=>{const i=a;await He.identify(i.detail.sub)}),window.addEventListener(_e.LOGOUT,async()=>{await He.track("logout",{}),rs.flush(),await He.reset()})}function rv(e){return JSON.stringify(e.map(t=>({...t,clientId:ts,requestId:Math.random().toString(36).slice(2,9),sessionId:fE(),timestamp:new Date().toISOString(),version:Mo,event:t.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:ed,userAgent:navigator.userAgent,clientId:ts}})))}const rs=YP(async e=>{if(e.length>0){const t=rv(e);Qd?navigator.sendBeacon(sa,t):(await fetch(sa,{method:"POST",body:t,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function ns(e){var t;if(e.anonymousId)if((t=e.properties)!=null&&t.flushing){const r={...e};delete r.properties.flushing,navigator.sendBeacon(sa,rv([r]))}else rs.push(e)}const He=JP({app:ed,version:Mo,plugins:[{name:"custom-analytics-plugin",page:({payload:e})=>{const{properties:t,anonymousId:r,userId:n,event:a}=e;ns({anonymousId:r,userId:n,properties:t,event:a,type:"page"})},track:({payload:e})=>{const{properties:t,anonymousId:r,userId:n,event:a}=e;ns({anonymousId:r,userId:n,properties:t,event:a,type:"track"})},identify:({payload:e})=>{const{properties:t,anonymousId:r,userId:n}=e;ns({anonymousId:r,userId:n,properties:t,type:"identify"})}}]});function vE(e,t){He.track(e,t)}function hE(){return Qd=!0,rs.flush()}const nv=new Map;function pE(e,t){nv.set(e,t)}function mE(e,t){tv.set(e,t)}const av="sesamySignedURLs";function iv(){const e=sessionStorage.getItem(av);return e?JSON.parse(e):[]}function gE(e){const t=iv();t.push(e),sessionStorage.setItem(av,JSON.stringify(t))}const yE=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function wE(){return new Promise(e=>{const t=yE.map(r=>{const n=document.createElement("div");return n.innerHTML=" ",n.id=r,n.style.position="absolute",document.body.appendChild(n),n});window.setTimeout(()=>{const r=!t.every(n=>{const a=document.querySelector(`#${n.id}`);return a==null?void 0:a.offsetParent});t.forEach(n=>n.remove()),e(r)},100)})}function bE(){const e=navigator.userAgent.toLowerCase(),t=[{name:"Facebook",regex:/fbav|fban/i},{name:"LinkedIn",regex:/linkedin/i},{name:"Instagram",regex:/instagram/i},{name:"Gmail",regex:/gmail/i},{name:"Twitter",regex:/twitter/i},{name:"WeChat",regex:/micromessenger/i},{name:"Line",regex:/line/i},{name:"Snapchat",regex:/snapchat/i},{name:"Pinterest",regex:/pinterest/i},{name:"Kakao",regex:/kakaotalk/i},{name:"Skype",regex:/skype/i},{name:"WhatsApp",regex:/whatsapp/i}];for(const r of t)if(r.regex.test(e))return{isInAppBrowser:!0,browserName:r.name};return/; wv\)/.test(e)?{isInAppBrowser:!0,browserName:"Unknown In-App Browser"}:{isInAppBrowser:!1,browserName:null}}function SE(e){const{createCheckout:t,getCheckout:r,updateCheckout:n,getEntitlement:a,getEntitlements:i,getEntitlementAccess:o,getSubscriptions:s,getContract:u,getContracts:f,cancelContract:l,getBill:c,getBills:d,getTransaction:v,getTransactions:h,getProfile:b,updateProfile:g,getTags:P,deleteTag:T,setTag:w,getUserMetadata:p,listUserMetadata:$,setUserMetadata:O,deleteUserMetadata:_,getTally:k,getTallies:M,pushTally:F,deleteTally:Y,getProduct:L,getPaymentIssues:U,isSpotifyLinked:z,unlinkSpotify:R,linkSpotify:V,autoOnboardProduct:q,openHostedAccountPage:Ge,generateLink:m}=qT(e),y={auth:{getUser:b,isAuthenticated:Uo,loginWithRedirect:Do,logout:Hf,setToken:Kf},checkouts:{get:r,create:t,update:n},profile:{get:b,update:g,openHostedAccountPage:Ge,isSpotifyLinked:z,unlinkSpotify:R},analytics:{track:vE},tags:{list:P,set:w,delete:T},entitlements:{get:a,list:i,access:o,signedLinks:iv},contracts:{get:u,list:f,cancel:l},bills:{get:c,list:d},userMetadata:{get:p,list:$,set:O,delete:_},tallies:{get:k,list:M,push:F,delete:Y},subscriptions:{list:s},transactions:{get:v,list:h},products:{get:L,autoOnboard:q,linkSpotify:V},browser:{detectAdblock:wE,isInAppBrowser:bE},getVersion:$E,getPaymentIssues:U,generateLink:m,clearCache:Re};return e.namespace&&(window[e.namespace]=y),y}function $E(){return Mo}async function IE({enabled:e=!1,rules:t}){if(!e)return;const r=await Uo(),n=window.location.href;for(const a of t){const i=document.querySelectorAll(a.selector);if(!(a.path&&!new RegExp(a.path).test(n))){for(const o of i)if(!(a.authenticated!==void 0&&a.authenticated!==r))switch(a.transform){case"insert":if(a.contentType==="selector"&&a.content){const s=document.querySelector(a.content);s?o.innerHTML+=s.innerHTML:console.warn(`Source element for selector '${a.content}' not found`)}else if(a.contentType==="url"&&a.content){const s=await ov(a.content);s?o.innerHTML+=s:console.warn(`Failed to fetch content from URL '${a.content}'`)}else a.content&&(o.innerHTML+=a.content);break;case"replace":if(a.contentType==="selector"&&a.content){const s=document.querySelector(a.content);s?o.innerHTML=s.innerHTML:console.warn(`Source element for selector '${a.content}' not found`)}else if(a.contentType==="url"&&a.content){const s=await ov(a.content);s?o.innerHTML=s:console.warn(`Failed to fetch content from URL '${a.content}'`)}else a.content&&(o.innerHTML=a.content);break;case"remove":o.remove();break;default:console.warn(`Unknown transform type: ${a.transform}`)}}}}async function ov(e){try{const t=await fetch(e);return t.ok?await t.text():(console.error(`Failed to fetch content from ${e}: ${t.statusText}`),null)}catch(t){return console.error(`Error fetching content from ${e}:`,t),null}}function TE(){const e=new URLSearchParams(window.location.hash.substring(1)),t=e.get("access_token");if(t){Kf(t);const r=new URL(window.location.href);e.delete("access_token"),r.hash=e.toString(),window.history.replaceState(null,"",r)}}const sv="sesamy-refresh",cv="force-refetch-entitlements";function PE(){const e=new URLSearchParams(window.location.search),t=e.get(cv),r=e.get(sv);if(t!==null||r!==null){const n=new URL(window.location.href);e.delete(cv),e.delete(sv),n.search=e.toString(),Re(),window.history.replaceState(null,"",n)}}function EE(){const e=new URLSearchParams(window.location.search),t=e.get("token"),r=e.get("se");if(!r||!t)return;const n=parseInt(r,10);if(Number.isNaN(n)||n<Date.now())return;gE({url:window.location.href.split("?")[0],token:t,expiresAt:n,publisherContentId:e.get("sp")??void 0});const a=new URL(window.location.href);a.searchParams.delete("ss"),a.searchParams.delete("se"),a.searchParams.delete("sp"),a.searchParams.delete("so"),a.searchParams.delete("token"),window.history.replaceState(null,"",a)}const uv="sesamy-user";async function OE(){var a;const t=(a=new URLSearchParams(window.location.search).get(uv))==null?void 0:a.toLowerCase();if(!t)return;const r=await xT();(r==null?void 0:r.email)!==t&&(Re(),Do({authorizationParams:{email_hint:t,login_hint:t}}));const n=new URL(window.location.href);n.searchParams.delete(uv),window.history.replaceState(null,"",n)}const lv="sesamy-purchase";function kE(){const e=new URLSearchParams(window.location.search),t=e.get(lv);if(t!==null){const r=new URL(window.location.href);e.delete(lv),r.search=e.toString(),Je(_e.PURCHASE,{itemSrc:t}),Re(),window.history.replaceState(null,"",r)}}const fv="sesamy-login",_E="sesamy_login";async function RE(){const e=new URLSearchParams(window.location.search);if(!(e.get(fv)||e.get(_E)))return;await Uo()||Do();const n=new URL(window.location.href);n.searchParams.delete(fv),window.history.replaceState(null,"",n)}const CE=typeof window<"u";async function dv(e){dE({clientId:e.clientId,environment:e.environment,...e.analytics}),await NT({clientId:e.clientId,organization:e.organization,environment:e.environment,...e.auth}),e.transform&&await IE(e.transform),TE(),PE(),EE(),await RE(),await OE(),kE(),Je(_e.READY,{})}async function vv(e){const t=SE({clientId:e.clientId,environment:e.environment,...e.api});return CE&&(e.awaitAllServices?await dv(e):dv(e)),t}if(typeof document<"u"){const e=document.getElementById("sesamy-js");if(e!=null&&e.textContent)try{const t=JSON.parse(e.textContent);vv(t)}catch(t){console.error("Failed to parse config",t)}}return xe.init=vv,Object.defineProperty(xe,Symbol.toStringTag,{value:"Module"}),xe}({});
|
package/dist/sesamy-js.mjs
CHANGED
|
@@ -3593,8 +3593,9 @@ function QT(e) {
|
|
|
3593
3593
|
retryOnNetworkError: !1
|
|
3594
3594
|
})
|
|
3595
3595
|
]);
|
|
3596
|
-
async function s() {
|
|
3597
|
-
|
|
3596
|
+
async function s(S) {
|
|
3597
|
+
const I = S ? `?wait-for-entitlement-after=${S.toISOString()}` : "";
|
|
3598
|
+
return i.get(`/entitlements${I}`).json();
|
|
3598
3599
|
}
|
|
3599
3600
|
async function u(S) {
|
|
3600
3601
|
const I = await i.get("/entitlements").json();
|