@sesamy/sesamy-js 1.24.0 → 1.24.1
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 +2 -2
- package/dist/sesamy-js.d.ts +80 -80
- package/dist/sesamy-js.iife.js +2 -2
- package/dist/sesamy-js.mjs +127 -127
- package/package.json +1 -1
package/dist/sesamy-js.cjs
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
`,10)+1,o=a.substring(i)+(n?"//# sourceMappingURL="+n:""),s=new Blob([o],{type:"application/javascript"});return URL.createObjectURL(s)}var Du,Mu,Fu,bi,XT=(Du="Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Y2xhc3MgZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQscil7c3VwZXIociksdGhpcy5lcnJvcj10LHRoaXMuZXJyb3JfZGVzY3JpcHRpb249cixPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxlLnByb3RvdHlwZSl9c3RhdGljIGZyb21QYXlsb2FkKHtlcnJvcjp0LGVycm9yX2Rlc2NyaXB0aW9uOnJ9KXtyZXR1cm4gbmV3IGUodCxyKX19Y2xhc3MgdCBleHRlbmRzIGV7Y29uc3RydWN0b3IoZSxzKXtzdXBlcigibWlzc2luZ19yZWZyZXNoX3Rva2VuIixgTWlzc2luZyBSZWZyZXNoIFRva2VuIChhdWRpZW5jZTogJyR7cihlLFsiZGVmYXVsdCJdKX0nLCBzY29wZTogJyR7cihzKX0nKWApLHRoaXMuYXVkaWVuY2U9ZSx0aGlzLnNjb3BlPXMsT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsdC5wcm90b3R5cGUpfX1mdW5jdGlvbiByKGUsdD1bXSl7cmV0dXJuIGUmJiF0LmluY2x1ZGVzKGUpP2U6IiJ9ImZ1bmN0aW9uIj09dHlwZW9mIFN1cHByZXNzZWRFcnJvciYmU3VwcHJlc3NlZEVycm9yO2NvbnN0IHM9ZT0+e3ZhcntjbGllbnRJZDp0fT1lLHI9ZnVuY3Rpb24oZSx0KXt2YXIgcj17fTtmb3IodmFyIHMgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxzKSYmdC5pbmRleE9mKHMpPDAmJihyW3NdPWVbc10pO2lmKG51bGwhPWUmJiJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbz0wO2ZvcihzPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7bzxzLmxlbmd0aDtvKyspdC5pbmRleE9mKHNbb10pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLHNbb10pJiYocltzW29dXT1lW3Nbb11dKX1yZXR1cm4gcn0oZSxbImNsaWVudElkIl0pO3JldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKChlPT5PYmplY3Qua2V5cyhlKS5maWx0ZXIoKHQ9PnZvaWQgMCE9PWVbdF0pKS5yZWR1Y2UoKCh0LHIpPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse1tyXTplW3JdfSkpLHt9KSkoT2JqZWN0LmFzc2lnbih7Y2xpZW50X2lkOnR9LHIpKSkudG9TdHJpbmcoKX07bGV0IG89e307Y29uc3Qgbj0oZSx0KT0+YCR7ZX18JHt0fWA7YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGFzeW5jKHtkYXRhOnt0aW1lb3V0OmUsYXV0aDpyLGZldGNoVXJsOmksZmV0Y2hPcHRpb25zOmMsdXNlRm9ybURhdGE6YX0scG9ydHM6W3BdfSk9PntsZXQgZjtjb25zdHthdWRpZW5jZTp1LHNjb3BlOmx9PXJ8fHt9O3RyeXtjb25zdCByPWE/KGU9Pntjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXMoZSkscj17fTtyZXR1cm4gdC5mb3JFYWNoKCgoZSx0KT0+e3JbdF09ZX0pKSxyfSkoYy5ib2R5KTpKU09OLnBhcnNlKGMuYm9keSk7aWYoIXIucmVmcmVzaF90b2tlbiYmInJlZnJlc2hfdG9rZW4iPT09ci5ncmFudF90eXBlKXtjb25zdCBlPSgoZSx0KT0+b1tuKGUsdCldKSh1LGwpO2lmKCFlKXRocm93IG5ldyB0KHUsbCk7Yy5ib2R5PWE/cyhPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3JlZnJlc2hfdG9rZW46ZX0pKTpKU09OLnN0cmluZ2lmeShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3JlZnJlc2hfdG9rZW46ZX0pKX1sZXQgaCxnOyJmdW5jdGlvbiI9PXR5cGVvZiBBYm9ydENvbnRyb2xsZXImJihoPW5ldyBBYm9ydENvbnRyb2xsZXIsYy5zaWduYWw9aC5zaWduYWwpO3RyeXtnPWF3YWl0IFByb21pc2UucmFjZShbKGQ9ZSxuZXcgUHJvbWlzZSgoZT0+c2V0VGltZW91dChlLGQpKSkpLGZldGNoKGksT2JqZWN0LmFzc2lnbih7fSxjKSldKX1jYXRjaChlKXtyZXR1cm4gdm9pZCBwLnBvc3RNZXNzYWdlKHtlcnJvcjplLm1lc3NhZ2V9KX1pZighZylyZXR1cm4gaCYmaC5hYm9ydCgpLHZvaWQgcC5wb3N0TWVzc2FnZSh7ZXJyb3I6IlRpbWVvdXQgd2hlbiBleGVjdXRpbmcgJ2ZldGNoJyJ9KTtmPWF3YWl0IGcuanNvbigpLGYucmVmcmVzaF90b2tlbj8oKChlLHQscik9PntvW24odCxyKV09ZX0pKGYucmVmcmVzaF90b2tlbix1LGwpLGRlbGV0ZSBmLnJlZnJlc2hfdG9rZW4pOigoZSx0KT0+e2RlbGV0ZSBvW24oZSx0KV19KSh1LGwpLHAucG9zdE1lc3NhZ2Uoe29rOmcub2ssanNvbjpmfSl9Y2F0Y2goZSl7cC5wb3N0TWVzc2FnZSh7b2s6ITEsanNvbjp7ZXJyb3I6ZS5lcnJvcixlcnJvcl9kZXNjcmlwdGlvbjplLm1lc3NhZ2V9fSl9dmFyIGR9KSl9KCk7Cgo=",Mu=null,Fu=!1,function(e){return bi=bi||YT(Du,Mu,Fu),new Worker(bi,e)});const Si={};let qT=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 QT={memory:()=>new Zd().enclosedCache,localstorage:()=>new zT},Bu=e=>QT[e],zu=e=>{const{openUrl:t,onRedirect:r}=e,n=xe(e,["openUrl","onRedirect"]);return Object.assign(Object.assign({},n),{openUrl:t===!1||t?t:r})},$i=new CT;let eP=class{constructor(t){let r,n;if(this.userCache=new Zd().enclosedCache,this.defaultOptions={authorizationParams:{scope:"openid profile email"},useRefreshTokensFallback:!1,useFormData:!0},this._releaseLockOnPageHide=async()=>{await $i.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(!On())throw new Error("For security reasons, `window.crypto` is required to run `auth0-spa-js`.");if(On().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",!Bu(r))throw new Error(`Invalid cache location "${r}"`);n=Bu(r)()}this.httpTimeoutMs=t.httpTimeoutInSeconds?1e3*t.httpTimeoutInSeconds:1e4,this.cookieStorage=t.legacySameSiteCookie===!1?jt:ZT,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:JT;var i;this.scope=dn("openid",this.options.authorizationParams.scope,this.options.useRefreshTokens?"offline_access":""),this.transactionManager=new KT(a,this.options.clientId,this.options.cookieDomain),this.nowProvider=this.options.nowProvider||Fd,this.cacheManager=new HT(n,n.allKeys?void 0:new qT(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 XT)}_url(t){const r=encodeURIComponent(btoa(JSON.stringify(this.options.auth0Client||Md)));return`${this.domainUrl}${t}&auth0Client=${r}`}_authorizeUrl(t){return this._url(`/authorize?${oo(t)}`)}async _verifyIdToken(t,r,n){const a=await this.nowProvider();return WT({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=Nu(wi()),i=Nu(wi()),o=wi(),s=(l=>{const c=new Uint8Array(l);return(d=>{const h={"+":"-","/":"_","=":""};return d.replace(/[+/=]/g,v=>h[v])})(window.btoa(String.fromCharCode(...Array.from(c))))})(await(async l=>await On().subtle.digest({name:"SHA-256"},new TextEncoder().encode(l)))(o)),u=((l,c,d,h,v,b,g,T)=>Object.assign(Object.assign(Object.assign({client_id:l.clientId},l.authorizationParams),d),{scope:dn(c,d.scope),response_type:"code",response_mode:T||"query",state:h,nonce:v,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 UT(s.popup)))},1e3),d=setTimeout(()=>{clearInterval(c),f(new LT(s.popup)),window.removeEventListener("message",l,!1)},1e3*(s.timeoutInSeconds||60));l=function(h){if(h.data&&h.data.type==="authorization_response"){if(clearTimeout(d),clearInterval(c),window.removeEventListener("message",l,!1),s.popup.close(),h.data.response.error)return f(le.fromPayload(h.data.response));u(h.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 le("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=zu(t),{openUrl:a,fragment:i,appState:o}=n,s=xe(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=xe(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 le("missing_transaction","Invalid state");if(this.transactionManager.remove(),i)throw new jT(i,o||i,n,s.appState);if(!s.code_verifier||s.state&&s.state!==n)throw new le("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:dn(this.scope,(r=t.authorizationParams)===null||r===void 0?void 0:r.scope)})}),a=await((i,o)=>{let s=Si[o];return s||(s=i().finally(()=>{delete Si[o],s=null}),Si[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=xe(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})(()=>$i.acquireLock("auth0.lock.getTokenSilently",5e3),10))throw new io;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 $i.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:dn(this.scope,(n=t.authorizationParams)===null||n===void 0?void 0:n.scope)})});return r=Object.assign(Object.assign({},AT),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=xe(r,["federated"]),i=n?"&federated":"";return this._url(`/v2/logout?${oo(Object.assign({clientId:t.clientId},a))}`)+i}async logout(t={}){const r=zu(t),{openUrl:n}=r,a=xe(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 le("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((v,b,g=60)=>new Promise((T,I)=>{const y=window.document.createElement("iframe");y.setAttribute("width","0"),y.setAttribute("height","0"),y.style.display="none";const p=()=>{window.document.body.contains(y)&&(window.document.body.removeChild(y),window.removeEventListener("message",S,!1))};let S;const O=setTimeout(()=>{I(new io),p()},1e3*g);S=function(_){if(_.origin!=b||!_.data||_.data.type!=="authorization_response")return;const k=_.source;k&&k.close(),_.data.response.error?I(le.fromPayload(_.data.response)):T(_.data.response),clearTimeout(O),window.removeEventListener("message",S,!1),setTimeout(p,2e3)},window.addEventListener("message",S,!1),window.document.body.appendChild(y),y.setAttribute("src",v)}))(a,this.domainUrl,c);if(i!==d.state)throw new le("state_mismatch","Invalid state");const h=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({},h),{scope:f,oauthTokenScope:h.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 Wd(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=xe(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 BT(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 tP(e){const t=new eP(e);return await t.checkSession(),t}var ve=(e=>(e.AUTH_INITIALIZED="sesamyJsAuthInitialized",e.READY="sesamyJsReady",e.AUTHENTICATED="sesamyJsAuthenticated",e.LOGOUT="sesamyJsLogout",e.CLEAR_CACHE="sesamyJsClearCache",e.USER_ATTRIBUTE_CHANGED="sesamyUserAttributeChanged",e.PURCHASE="sesamyJsPurchase",e))(ve||{});const rP="sesamy.com",nP="sesamy.dev",aP="https://sesa.my",co="sesamyCacheTimestamp";function Ke(e,t){return`https://${e}.${t==="dev"?nP:rP}`}function uo(){var r;return(r=(document.documentElement.getAttribute("lang")??"en").split("-")[0])==null?void 0:r.toLocaleLowerCase()}let de,Xd,lo=!1,Hu=!1;const Zt="sesamyAccessToken",Ii="sesamyRefreshToken";async function Hr(){return lo?!0:new Promise((e,t)=>{const r=setTimeout(()=>{lo?e(!0):t(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(ve.AUTH_INITIALIZED,()=>{clearTimeout(r),e(!0)})})}async function iP(e){if(!e)return null;const t=localStorage.getItem(Ii);if(!t)return he("No refresh token found in localstorage"),null;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(Ii),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(Ii,i.refresh_token),localStorage.setItem(Zt,i.access_token),i.access_token}catch{qd()}}async function os(){const e=localStorage.getItem(Zt);if(!e)return null;const t=Qd(e);if(!t||!t.exp||t.exp<new Date().getTime()/1e3){const r=await iP(t);if(r)return r;localStorage.removeItem(Zt)}return e}function Ku(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 oP(e){if(e.enabled===!1)return;Xd=e.organization;const t={domain:Ke("token",e.environment),clientId:e.clientId,useCookiesForTransactions:!0};if(Ku(window.location.href)!==Ku(Ke("auth",e.environment))&&(t.cacheLocation="localstorage",t.useRefreshTokens=!0),de=await tP(t),window.location.search.includes("code="))try{await de.handleRedirectCallback();const r=await de.getUser();if(!r)throw new Error("No user found");Ve(ve.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){alert("There was an error logging in"),console.error(r)}lo=!0,Ve(ve.AUTH_INITIALIZED,{})}async function jr(){return await Hr(),await os()?!0:de?de.isAuthenticated():!1}async function sP(){return await Hr(),await os()?(he("Using local user"),{sub:"local",name:"Local User"}):de?de.getUser():null}async function ss(e){if(Hu){he("Login already in progress");return}if(Hu=!0,await Hr(),localStorage.removeItem(Zt),!de)throw new Error("Auth0 client not initialized");const t=(e==null?void 0:e.authorizationParams)||{};return de.loginWithRedirect({...e,authorizationParams:{organization:Xd,redirect_uri:window.location.href,ui_locales:uo(),...t}})}async function pr(e=!0){await Hr();const t=await os();if(t)return t;try{return de?await de.getTokenSilently():null}catch(r){if(e)throw r;return null}}async function qd(e={}){if(await Hr(),localStorage.removeItem(Zt),Ve(ve.LOGOUT,{}),!!de)return de.logout({...e,logoutParams:{returnTo:window.location.href,...e.logoutParams}})}function Qd(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 eh(e){const t=Qd(e);if(!t||!t.exp||t.exp<new Date().getTime()/1e3)throw new Error("Invalid token");localStorage.setItem(Zt,e),Ve(ve.AUTHENTICATED,t)}const cP=(e,t)=>t.skipDedupe||t.method!=="GET",uP=(e,t)=>t.method+"@"+e,lP=e=>e.clone(),Gu=({skip:e=cP,key:t=uP,resolver:r=lP}={})=>{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)}}},fP=(e,t)=>e*t,dP=e=>e&&e.ok,Wu=({delayTimer:e=500,delayRamp:t=fP,maxAttempts:r=10,until:n=dP,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=(h,v)=>Promise.resolve(n(h,v)).then(b=>b?h&&o?h:v?Promise.reject(v):h:(c++,!r||c<=r?new Promise(g=>{const T=t(e,c);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:h,error:v,url:f,options:l})).then((I={})=>{var y,p;g(u((y=I&&I.url)!==null&&y!==void 0?y:f,(p=I&&I.options)!==null&&p!==void 0?p:l))}):g(u(f,l))},T)}).then(d).catch(g=>{if(!i)throw g;return d(null,g)}):h&&o?h:Promise.reject(v||new Error("Number of attempts exceeded."))));return u(f,l).then(d).catch(h=>{if(!i)throw h;return d(null,h)})},hP="application/json",th="Content-Type",Rt=Symbol(),rh=Symbol();function Vu(e={}){var t;return(t=Object.entries(e).find(([r])=>r.toLowerCase()===th.toLowerCase()))===null||t===void 0?void 0:t[1]}function Zu(e){return/^application\/.*json.*/.test(e)}const ht=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]=ht(o,i,r):n[a]=i,n},{...e})},Jt={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 vP(e,t=!1){Jt.options=t?e:ht(Jt.options,e)}function pP(e,t=!1){Jt.polyfills=t?e:ht(Jt.polyfills,e)}function mP(e){Jt.errorType=e}const gP=e=>t=>e.reduceRight((r,n)=>n(r),t)||t;class nh extends Error{}const yP=e=>{const t=Object.create(null);e=e._addons.reduce((y,p)=>p.beforeRequest&&p.beforeRequest(y,e._options,t)||y,e);const{_url:r,_options:n,_config:a,_catchers:i,_resolvers:o,_middlewares:s,_addons:u}=e,f=new Map(i),l=ht(a.options,n);let c=r;const d=gP(s)((y,p)=>(c=y,a.polyfill("fetch")(y,p)))(r,l),h=new Error,v=d.catch(y=>{throw{[Rt]:y}}).then(y=>{var p;if(!y.ok){const S=new nh;if(S.cause=h,S.stack=S.stack+`
|
|
5
|
-
CAUSE: `+h.stack,S.response=y,S.status=y.status,S.url=c,y.type==="opaque")throw S;const O=a.errorType==="json"||((p=y.headers.get("Content-Type"))===null||p===void 0?void 0:p.split(";")[0])==="application/json";return(a.errorType?O?y.text():y[a.errorType]():Promise.resolve(y.body)).then(k=>{throw S.message=typeof k=="string"?k:y.statusText,k&&(O&&typeof k=="string"?(S.text=k,S.json=JSON.parse(k)):S[a.errorType]=k),S})}return y}),b=y=>y.catch(p=>{const S=Object.prototype.hasOwnProperty.call(p,Rt),O=S?p[Rt]:p,_=(O==null?void 0:O.status)&&f.get(O.status)||f.get(O==null?void 0:O.name)||S&&f.has(Rt)&&f.get(Rt);if(_)return _(O,e);const k=f.get(rh);if(k)return k(O,e);throw O}),g=y=>p=>b(y?v.then(S=>S&&S[y]()).then(S=>p?p(S):S):v.then(S=>p?p(S):S)),T={_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(y,p){return f.set(y,p),this},badRequest(y){return this.error(400,y)},unauthorized(y){return this.error(401,y)},forbidden(y){return this.error(403,y)},notFound(y){return this.error(404,y)},timeout(y){return this.error(408,y)},internalError(y){return this.error(500,y)},fetchError(y){return this.error(Rt,y)}},I=u.reduce((y,p)=>({...y,...typeof p.resolver=="function"?p.resolver(y):p.resolver}),T);return o.reduce((y,p)=>p(y,e),I)},wP={_url:"",_options:{},_config:Jt,_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:ht(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:ht(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:ht(this._options,{headers:t})}},accept(e){return this.headers({Accept:e})},content(e){return this.headers({[th]: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(rh,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=Vu(n._options.headers),i=this._config.polyfill("FormData",!1),o=typeof r=="object"&&!(i&&r instanceof i)&&(!n._options.headers||!a||Zu(a));return n=r?o?n.json(r,a):n.body(r):n,yP(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=Vu(this._options.headers);return this.content(t||Zu(r)&&r||hP).body(JSON.stringify(e))}};function We(e="",t={}){return{...wP,_url:e,_options:t}}We.default=We;We.options=vP;We.errorType=mP;We.polyfills=pP;We.WretchError=nh;function _e(){sessionStorage.removeItem(co),console.log("Cache cleared"),Ve(ve.CLEAR_CACHE,{})}function fo(e){let t;try{t=new URL(e)}catch{return!1}return t.protocol==="http:"||t.protocol==="https:"}function ah(e,t){if(fo(e))return{itemSrc:e};const[r,n,a]=e.split(":");return{sku:`${r}:${n}`,purchaseOption:t||a}}function Ju(e){return e.endsWith("/")?e.slice(0,-1):e}function Yu(e,t){if(!fo(e)||!fo(t))return!1;const r=new URL(e),n=new URL(t);return r.origin===n.origin&&Ju(r.pathname)===Ju(n.pathname)}function bP(e,t){const r=new URL(`${Ke("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}=ah(t.itemSrc,t.purchaseOptionId);u&&r.searchParams.set("url",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}const ih="sesamySignedURLs";function cs(){const e=sessionStorage.getItem(ih);return e?JSON.parse(e):[]}function SP(e){const t=cs();t.push(e),he(`Adding signed URL: ${e}`),sessionStorage.setItem(ih,JSON.stringify(t))}const ho="sesamyAttribution";function $P(e){const t=sessionStorage.getItem(e);if(!t)return null;try{return JSON.parse(t).value}catch{return console.error(`Failed to parse ${e}`),null}}function us(){return $P(ho)||{}}function IP(e){if(e===null)sessionStorage.removeItem(ho);else{const t=us()??{};sessionStorage.setItem(ho,JSON.stringify({value:{...t,...e}}))}}function TP(e){const t=Ke("api2",e.environment),r=$=>async(P,C)=>{let W=sessionStorage.getItem(co);W||(W=Date.now().toString(),sessionStorage.setItem(co,W));const V={...C,headers:{...C.headers,"Cache-Timestamp":W}};return $(P,V)},n=($=!0)=>P=>async(C,W)=>{let V=null;if(V=await pr($),!V){if($)throw new Error("No access token available");return P(C,W)}const Je={...W,headers:{...W.headers,...V?{Authorization:`Bearer ${V}`}:{}}};return P(C,Je)},a=$=>(P,C)=>{if(C.headers.Authorization)return $(P,C);const W=localStorage.getItem("__anon_id"),V=btoa(`${e.clientId}|${W}:`),Je={...C,headers:{...C.headers,Authorization:`Basic ${V}`}};return $(P,Je)},i=We(t).headers({"Content-Type":"application/json"}).middlewares([r,n(),Gu(),Wu({delayTimer:1e3,delayRamp:($,P)=>$*P,maxAttempts:3,until:$=>!!($&&($.ok||$.status>=400&&$.status<500)),retryOnNetworkError:!1})]),o=We(t).headers({"Content-Type":"application/json"}).middlewares([r,n(!1),a,Gu(),Wu({delayTimer:1e3,delayRamp:($,P)=>$*P,maxAttempts:3,until:$=>!!($&&($.ok||$.status>=400&&$.status<500)),retryOnNetworkError:!1})]);async function s($={}){const{waitForEntitlementAfter:P,includeSignedLinks:C=!0}=$,W=P?`?wait-for-entitlement-after=${P.toISOString()}`:"",V=await jr()?await i.get(`/entitlements${W}`).json():[];return C&&V.push(...cs()),V}async function u($,P=[]){const C=await s();return C==null?void 0:C.find(V=>{const{sku:Je,purchaseOption:It}=ah($);let or="sku"in V&&Je===V.sku;or&&It&&"purchaseOptionId"in V&&(or=It===V.purchaseOptionId);const Nh=Yu($,V.url),xh=P.some(Dh=>Yu(Dh,V.url));return or||Nh||xh})}async function f($){const P=await i.get("/entitlements").json();return P==null?void 0:P.find(C=>C.id===$)}async function l($){return i.get(`/entitlements/${encodeURIComponent($)}/access`).json()}async function c($){return await jr()?await i.get(`/fulfillments?sku=${encodeURIComponent($)}`).json():[]}async function d(){return i.get("/contracts").json()}async function h($){const P=await i.get("/contracts").json();return P==null?void 0:P.find(C=>C.id===$)}async function v($){return(await i.post({},`/contracts/${encodeURIComponent($)}/cancel`).res()).ok}async function b(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),i.get("/subscriptions").json()}async function g(){return i.get("/bills").json()}async function T($){const P=await i.get("/bills").json();return P==null?void 0:P.find(C=>C.id===$)}async function I(){return i.get("/transactions").json()}async function y($){const P=await i.get("/transactions").json();return P==null?void 0:P.find(C=>C.id===$)}async function p($,P){const C=await i.url(`/user-metadata/${encodeURIComponent($)}`).put(P).json();return Ve(ve.USER_ATTRIBUTE_CHANGED,{}),_e(),C}async function S($){const P=await i.url(`/user-metadata/${encodeURIComponent($)}`).delete().res();return _e(),P.ok}async function O($){return(await i.url(`/user-metadata/${encodeURIComponent($)}`).get().json())[$]}async function _(){return await i.url("/user-metadata").get().json()}async function k(){return await i.url("/tags").get().json()}async function M($){const P=await i.url(`/tags/${encodeURIComponent($)}`).delete().res();return _e(),P.ok}async function F($){const P=await i.url("/tags").post(encodeURIComponent($)).res();return Ve(ve.USER_ATTRIBUTE_CHANGED,{}),_e(),P.ok}async function X($){return(await o.url("/tallies").get().json())[$]}async function L(){return await o.url("/tallies").get().json()}async function x($){const P=await o.url(`/tallies/${$}`).delete().res();return _e(),P.ok}async function H($,P){return await o.url(`/tallies/${encodeURIComponent($)}/push`).post(P).json()}async function R($){return await i.url(`/products/${encodeURIComponent($)}`).get().json()}async function Z(){return await pr(!1)?await i.url("/profile").get().json():null}async function ee($){const P=await i.url("/profile").patch($).res();return _e(),P.ok}async function Fe(){return await i.url("/payment-issues").get().json()}async function m(){return(await i.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function w(){return(await i.url("/profile/unlink-spotify").post().res()).ok}async function E($){const P=await pr(!1);if(!P)throw new Error("No access token available");const C=new URL(`${Ke("spotify-oas",e.environment)}/sesamy-callback`);C.searchParams.set("access_token",P),C.searchParams.set("state",$),window.location.href=C.toString()}async function U($){const P=await i.url(`/products/${encodeURIComponent($)}/auto-onboard`).post().json();return P.length&&_e(),P}async function N($,P=3600){const{shortlink:C}=await We(aP).post({url:$,ttl:P}).json();return C}async function D($){const P=await pr(!1);let C;const W=$.language||uo();switch($.target){case"account":C=new URL(`${Ke("account",e.environment)}/${encodeURIComponent($.language||W)}/subscriptions/${encodeURIComponent(e.clientId)}`),C.searchParams.set("sesamy-redirect-url",$.redirectUrl||window.location.href);break;case"consume":C=new URL(`${Ke("consume",e.environment)}/${encodeURIComponent($.language||W)}/@${encodeURIComponent(e.clientId)}/${encodeURIComponent($.sku)}`),$.episodeId?C.href+=`/${$.episodeId}`:C.href+="/listen",C.searchParams.set("sesamy-redirect-url",$.redirectUrl||window.location.href);break;case"checkout":C=bP(e,{language:W,...$});break;default:throw new Error("Invalid target")}return P&&(C.hash=`#access_token=${P}`),$.shorten?N(C.href,$.ttl):C.href}async function q($){const P=us(),C=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(V=>{const Je=P,[It,or]=V.trim().split("=");C.includes(It)&&!Je[It]&&(Je[It]=or)}),(await o.url("/checkouts").post({language:uo(),attribution:{...P,...$.attribution},...$,vendorId:e.clientId})).json()}async function z($,P){return(await o.url(`/checkouts/${$}`).patch(P)).json()}async function J($){return(await o.url(`/checkouts/${$}`).get()).json()}async function B($){return(await o.url(`/paywalls/${$}`).get()).json()}async function pe(){const $=await pr(!1),P=new URL(`${Ke("account",e.environment)}/subscriptions/${e.clientId}`);$&&(P.hash=`#access_token=${$}`),window.location.href=P.toString()}return{createCheckout:q,updateCheckout:z,getCheckout:J,getEntitlements:s,getEntitlement:f,getEntitlementAccess:l,hasAccess:u,getFulfillments:c,getContracts:d,getContract:h,cancelContract:v,getProfile:Z,updateProfile:ee,getSubscriptions:b,getBills:g,getBill:T,setUserMetadata:p,deleteUserMetadata:S,getUserMetadata:O,listUserMetadata:_,getTags:k,deleteTag:M,setTag:F,getTally:X,getTallies:L,deleteTally:x,pushTally:H,getTransactions:I,getTransaction:y,getProduct:R,getPaymentIssues:Fe,autoOnboardProduct:U,isSpotifyLinked:m,unlinkSpotify:w,linkSpotify:E,generateLink:D,getPaywall:B,openHostedAccountPage:pe}}const oh="@sesamy/sesamy-js",ls="1.19.1";function Xu(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 hn="undefined",qu="object",vo=function(){},sh="any",ch="*",mt="__",zn=typeof process<"u"?process:{};zn.env&&zn.env.NODE_ENV;var te=typeof document<"u";zn.versions!=null&&zn.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 uh(e,t){return t.charAt(0)[e]()+t.slice(1)}var PP=uh.bind(null,"toUpperCase"),EP=uh.bind(null,"toLowerCase");function OP(e){return lh(e)?PP("null"):typeof e=="object"?CP(e):Object.prototype.toString.call(e).slice(8,-1)}function Hn(e,t){t===void 0&&(t=!0);var r=OP(e);return t?EP(r):r}function Kr(e,t){return typeof t===e}var ue=Kr.bind(null,"function"),tt=Kr.bind(null,"string"),xt=Kr.bind(null,"undefined"),kP=Kr.bind(null,"boolean");Kr.bind(null,"symbol");function lh(e){return e===null}function _P(e){return Hn(e)==="number"&&!isNaN(e)}function fh(e){return Hn(e)==="array"}function ce(e){if(!RP(e))return!1;for(var t=e;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function RP(e){return e&&(typeof e=="object"||e!==null)}function CP(e){return ue(e.constructor)?e.constructor.name:null}function AP(e){return e instanceof Error||tt(e.message)&&e.constructor&&_P(e.constructor.stackTraceLimit)}function dh(e,t){if(typeof t!="object"||lh(t))return!1;if(t instanceof e)return!0;var r=Hn(new e(""));if(AP(t))for(;t;){if(Hn(t)===r)return!0;t=Object.getPrototypeOf(t)}return!1}dh.bind(null,TypeError);dh.bind(null,SyntaxError);function la(e,t){var r=e instanceof Element||e instanceof HTMLDocument;return r&&t?jP(e,t):r}function jP(e,t){return t===void 0&&(t=""),e&&e.nodeName===t.toUpperCase()}function fa(e){var t=[].slice.call(arguments,1);return function(){return e.apply(void 0,[].slice.call(arguments).concat(t))}}fa(la,"form");fa(la,"button");fa(la,"input");fa(la,"select");function LP(e){return e?fh(e)?e:[e]:[]}function Qu(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 NP(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function xP(e){return function(t){for(var r,n=Object.create(null),a=/([^&=]+)=?([^&]*)/g;r=a.exec(t);){var i=Qu(r[1]),o=Qu(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 da(){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 MP(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 Or="global",Yt=mt+"global"+mt,Xt=typeof self===qu&&self.self===self&&self||typeof global===qu&&global.global===global&&global||void 0;function gt(e){return Xt[Yt][e]}function yt(e,t){return Xt[Yt][e]=t}function ar(e){delete Xt[Yt][e]}function ir(e,t,r){var n;try{if(fs(e)){var a=window[e];n=a[t].bind(a)}}catch{}return n||r}Xt[Yt]||(Xt[Yt]={});var vn={};function fs(e){if(typeof vn[e]!==hn)return vn[e];try{var t=window[e];t.setItem(hn,hn),t.removeItem(hn)}catch{return vn[e]=!1}return vn[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 qe="function",Ge="undefined",FP="@@redux/"+Math.random().toString(36),el=function(){return typeof Symbol===qe&&Symbol.observable||"@@observable"}(),pn=" != "+qe;function hh(e,t,r){var n;if(typeof t===qe&&typeof r===Ge&&(r=t,t=void 0),typeof r!==Ge){if(typeof r!==qe)throw new Error("enhancer"+pn);return r(hh)(e,t)}if(typeof e!==qe)throw new Error("reducer"+pn);var a=e,i=t,o=[],s=o,u=!1;function f(){s===o&&(s=o.slice())}function l(){return i}function c(h){if(typeof h!==qe)throw new Error("Listener"+pn);var v=!0;return f(),s.push(h),function(){if(v){v=!1,f();var b=s.indexOf(h);s.splice(b,1)}}}function d(h){if(!ce(h))throw new Error("Act != obj");if(typeof h.type===Ge)throw new Error("ActType "+Ge);if(u)throw new Error("Dispatch in reducer");try{u=!0,i=a(i,h)}finally{u=!1}for(var v=o=s,b=0;b<v.length;b++)(0,v[b])();return h}return d({type:"@@redux/INIT"}),(n={dispatch:d,subscribe:c,getState:l,replaceReducer:function(h){if(typeof h!==qe)throw new Error("next reducer"+pn);a=h,d({type:"@@redux/INIT"})}})[el]=function(){var h,v=c;return(h={subscribe:function(b){if(typeof b!="object")throw new TypeError("Observer != obj");function g(){b.next&&b.next(l())}return g(),{unsubscribe:v(g)}}})[el]=function(){return this},h},n}function BP(e,t){var r=t&&t.type;return"action "+(r&&r.toString()||"?")+"reducer "+e+" returns "+Ge}function qt(){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 zP(){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=qt.apply(void 0,i)(o.dispatch)})}}}var rt=mt+"anon_id",vt=mt+"user_id",Ft=mt+"user_traits",Xe="userId",Dt="anonymousId",kn=["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"],po=["name","EVENTS","config","loaded"],A=kn.reduce(function(e,t){return e[t]=t,e},{registerPluginType:function(e){return"registerPlugin:"+e},pluginReadyType:function(e){return"ready:"+e}}),tl=/^utm_/,rl=/^an_prop_/,nl=/^an_trait_/;function HP(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(rt,o.anonymousId),f||t(vt,o.userId),u.traits&&t(Ft,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,h=l.reduce(function(v,b){if(b.match(tl)||b.match(/^(d|g)clid/)){var g=b.replace(tl,"");v.campaign[g==="campaign"?"name":g]=i[b]}return b.match(rl)&&(v.props[b.replace(rl,"")]=i[b]),b.match(nl)&&(v.traits[b.replace(nl,"")]=i[b]),v},{campaign:{},props:{},traits:{}});r.dispatch(j({type:A.params,raw:i},h,c?{userId:c}:{})),c&&setTimeout(function(){return e.identify(c,h.traits)},0),d&&setTimeout(function(){return e.track(d,h.props)},0),Object.keys(h.campaign).length&&r.dispatch({type:A.campaign,campaign:h.campaign})}}return n(a)}}}}function KP(e){return function(t,r){if(t===void 0&&(t={}),r===void 0&&(r={}),r.type===A.setItemEnd){if(r.key===rt)return j({},t,{anonymousId:r.value});if(r.key===vt)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[vt,rt,Ft].forEach(function(n){e.removeItem(n)}),Object.assign({},t,{userId:null,anonymousId:null,traits:{}});default:return t}}}function al(e){return{userId:e.getItem(vt),anonymousId:e.getItem(rt),traits:e.getItem(Ft)}}var mo=function(e){return mt+"TEMP"+mt+e};function GP(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&&([vt,Ft,rt].forEach(function(h){n(h)}),[Xe,Dt,"traits"].forEach(function(h){ar(mo(h))})),s.type===A.identify){a(rt)||r(rt,da());var c=a(vt),d=a(Ft)||{};c&&c!==u&&i.dispatch({type:A.userIdChanged,old:{userId:c,traits:d},new:{userId:u,traits:f},options:l}),u&&r(vt,u),f&&r(Ft,j({},d,f))}return o(s)}}}}var br={};function il(e,t){br[e]&&ue(br[e])&&(br[e](t),delete br[e])}function vh(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 vh(e,t,r-10).then(n,a)})})}function WP(e){return{abort:e}}function ph(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,h){return o[d.plugin].loaded?(c.process.push(d),c.processIndex.push(h)):(c.requeue.push(d),c.requeueIndex.push(h)),c},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(f.processIndex&&f.processIndex.length){f.processIndex.forEach(function(c){var d=s.actions[c],h=d.plugin,v=d.payload.type,b=a[h][v];if(b&&ue(b)){var g,T=function(p,S){return p===void 0&&(p={}),S===void 0&&(S={}),[Xe,Dt].reduce(function(O,_){return p.hasOwnProperty(_)&&S[_]&&S[_]!==p[_]&&(O[_]=S[_]),O},p)}(d.payload,u),I=n[T.meta.rid];if(!I&&(g=b({payload:T,config:o[h].config,instance:r,abort:WP}))&&ce(g)&&g.abort)return void(n[T.meta.rid]=!0);if(!I){var y=v+":"+h;e.dispatch(j({},T,{type:y,_:{called:y,from:"queueDrain"}}))}}});var l=s.actions.filter(function(c,d){return!~f.processIndex.indexOf(d)});s.actions=l}}}var Ti=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(Bt),h=t.exact.map(function(g){return g.pluginName});d&&(h=o.during.map(function(g){return g.pluginName}));var v=function(g,T){return function(I,y,p){var S=y.config,O=y.name,_=O+"."+I.type;p&&(_=p.event);var k=I.type.match(Bt)?function(M,F,X,L,x){return function(H,R){var Z=L?L.name:M,ee=R&&Lr(R)?R:X;if(L&&(!(ee=R&&Lr(R)?R:[M]).includes(M)||ee.length!==1))throw new Error("Method "+F+" can only abort "+M+" plugin. "+JSON.stringify(ee)+" input valid");return j({},x,{abort:{reason:H,plugins:ee,caller:F,_:Z}})}}(O,_,T,p,I):function(M,F){return function(){throw new Error(M.type+" action not cancellable. Remove abort in "+F)}}(I,_);return{payload:VP(I),instance:g,config:S||{},abort:k}}}(n,h),b=t.exact.reduce(function(g,T){var I=T.pluginName,y=T.methodName,p=!1;return y.match(/^initialize/)||y.match(/^reset/)||(p=!f[I].loaded),l.offline&&y.match(/^(page|track|identify)/)&&(p=!0),g[""+I]=p,g},{});return Promise.resolve(t.exact.reduce(function(g,T,I){try{var y=T.pluginName;return Promise.resolve(g).then(function(p){function S(){return Promise.resolve(p)}var O=function(){if(t.namespaced&&t.namespaced[y])return Promise.resolve(t.namespaced[y].reduce(function(_,k,M){try{return Promise.resolve(_).then(function(F){return k.method&&ue(k.method)?(function(H,R){var Z=dl(H);if(Z&&Z.name===R){var ee=dl(Z.method);throw new Error([R+" plugin is calling method "+H,"Plugins cant call self","Use "+Z.method+" "+(ee?"or "+ee.method:"")+" in "+R+" plugin insteadof "+H].join(`
|
|
6
|
-
`))}}(k.methodName,k.pluginName),Promise.resolve(k.method({payload:F,instance:n,abort:(X=F,L=y,x=k.pluginName,function(H,R){return j({},X,{abort:{reason:H,plugins:R||[L],caller:c,from:x||L}})}),config:cl(k.pluginName,f,i),plugins:f})).then(function(H){var R=ce(H)?H:{};return Promise.resolve(j({},F,R))})):F;var X,L,x})}catch(F){return Promise.reject(F)}},Promise.resolve(r))).then(function(_){p[y]=_});p[y]=r}();return O&&O.then?O.then(S):S()})}catch(p){return Promise.reject(p)}},Promise.resolve({}))).then(function(g){return Promise.resolve(t.exact.reduce(function(T,I,y){try{var p=t.exact.length===y+1,S=I.pluginName,O=i[S];return Promise.resolve(T).then(function(_){var k=g[S]?g[S]:{};if(d&&(k=_),Ei(k,S))return Pi({data:k,method:c,instance:n,pluginName:S,store:s}),Promise.resolve(_);if(Ei(_,S))return p&&Pi({data:_,method:c,instance:n,store:s}),Promise.resolve(_);if(b.hasOwnProperty(S)&&b[S]===!0)return s.dispatch({type:"queue",plugin:S,payload:k,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(_);var M=v(g[S],i[S]);return Promise.resolve(O[c]({abort:M.abort,payload:k,instance:n,config:cl(S,f,i),plugins:f})).then(function(F){var X=ce(F)?F:{},L=j({},_,X),x=g[S];if(Ei(x,S))Pi({data:x,method:c,instance:n,pluginName:S,store:s});else{var H=c+":"+S;(H.match(/:/g)||[]).length<2&&!c.match(ol)&&!c.match(sl)&&n.dispatch(j({},d?L:k,{type:H,_:{called:H,from:"submethod"}}))}return Promise.resolve(L)})})}catch(_){return Promise.reject(_)}},Promise.resolve(r))).then(function(T){if(!(c.match(Bt)||c.match(/^registerPlugin/)||c.match(sl)||c.match(ol)||c.match(/^params/)||c.match(/^userIdChanged/))){if(u.plugins.includes(c),T._&&T._.originalAction===c)return T;var I=j({},T,{_:{originalAction:T.type,called:T.type,from:"engineEnd"}});mh(T,t.exact.length)&&!c.match(/End$/)&&(I=j({},I,{type:T.type+"Aborted"})),s.dispatch(I)}return T})})}catch(g){return Promise.reject(g)}},Bt=/Start$/,ol=/^bootstrap/,sl=/^ready/;function Pi(e){var t=e.pluginName,r=e.method+"Aborted"+(t?":"+t:"");e.store.dispatch(j({},e.data,{type:r,_:{called:r,from:"abort"}}))}function cl(e,t,r){var n=t[e]||r[e];return n&&n.config?n.config:{}}function ul(e,t){return t.reduce(function(r,n){return n[e]?r.concat({methodName:e,pluginName:n.name,method:n[e]}):r},[])}function ll(e,t){var r=e.replace(Bt,""),n=t?":"+t:"";return[""+e+n,""+r+n,r+"End"+n]}function Ei(e,t){var r=e.abort;return!!r&&(r===!0||fl(r,t)||r&&fl(r.plugins,t))}function mh(e,t){var r=e.abort;if(!r)return!1;if(r===!0||tt(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 fl(e,t){return!(!e||!Lr(e))&&e.includes(t)}function dl(e){var t=e.match(/(.*):(.*)/);return!!t&&{method:t[1],name:t[2]}}function VP(e){return Object.keys(e).reduce(function(t,r){return r==="type"||(t[r]=ce(e[r])?Object.assign({},e[r]):e[r]),t},{})}function ZP(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 il(o.meta.rid,{payload:o})},0),f===A.initializeEnd){var d=t(),h=Object.keys(d),v=h.filter(function(p){return l.includes(p)}).map(function(p){return d[p]}),b=[],g=[],T=o.disabled,I=v.map(function(p){var S=p.loaded,O=p.name,_=p.config;return vh(p,function(){return S({config:_})},1e4).then(function(k){return n[O]||(a.dispatch({type:A.pluginReadyType(O),name:O,events:Object.keys(p).filter(function(M){return!po.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(I).then(function(p){var S={plugins:b,failed:g,disabled:T};setTimeout(function(){h.length===I.length+T.length&&a.dispatch(j({},{type:A.ready},S))},0)})}var y=function(){if(f!==A.bootstrap)return/^ready:([^:]*)$/.test(f)&&setTimeout(function(){return ph(a,t,e)},0),Promise.resolve(function(p,S,O,_,k){try{var M=ue(S)?S():S,F=p.type,X=F.replace(Bt,"");if(p._&&p._.called)return Promise.resolve(p);var L=O.getState(),x=(Z=M,(ee=L.plugins)===void 0&&(ee={}),(Fe=p.options)===void 0&&(Fe={}),Object.keys(Z).filter(function(m){var w=Fe.plugins||{};return kP(w[m])?w[m]:w.all!==!1&&(!ee[m]||ee[m].enabled!==!1)}).map(function(m){return Z[m]}));F===A.initializeStart&&p.fromEnable&&(x=Object.keys(L.plugins).filter(function(m){var w=L.plugins[m];return p.plugins.includes(m)&&!w.initialized}).map(function(m){return M[m]}));var H=x.map(function(m){return m.name}),R=function(m,w,E){var U=ll(m).map(function(N){return ul(N,w)});return w.reduce(function(N,D){var q=D.name,z=ll(m,q).map(function($){return ul($,w)}),J=z[0],B=z[1],pe=z[2];return J.length&&(N.beforeNS[q]=J),B.length&&(N.duringNS[q]=B),pe.length&&(N.afterNS[q]=pe),N},{before:U[0],beforeNS:{},during:U[1],duringNS:{},after:U[2],afterNS:{}})}(F,x);return Promise.resolve(Ti({action:p,data:{exact:R.before,namespaced:R.beforeNS},state:L,allPlugins:M,allMatches:R,instance:O,store:_,EVENTS:k})).then(function(m){function w(){var N=function(){if(F.match(Bt))return Promise.resolve(Ti({action:j({},E,{type:X+"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&&il(D.meta.rid,{payload:D})})}();return N&&N.then?N.then(function(){return m}):m}if(mh(m,H.length))return m;var E,U=function(){if(F!==X)return Promise.resolve(Ti({action:j({},m,{type:X}),data:{exact:R.during,namespaced:R.duringNS},state:L,allPlugins:M,allMatches:R,instance:O,store:_,EVENTS:k})).then(function(N){E=N});E=m}();return U&&U.then?U.then(w):w()})}catch(m){return Promise.reject(m)}var Z,ee,Fe}(o,t,e,a,r)).then(function(p){return s=1,i(p)})}();return Promise.resolve(y&&y.then?y.then(u):u(y))}catch(p){return Promise.reject(p)}}}}}function JP(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 YP=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 qt.apply(void 0,o)(n)(a)}}}}};function XP(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=hl(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=hl(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,vl(r.plugins,!1,t));case A.enablePlugin:return j({},t,vl(r.plugins,!0,t));default:return t}}}function hl(e,t){return e.substring(t.length+1,e.length)}function vl(e,t,r){return e.reduce(function(n,a){return n[a]=j({},r[a],{enabled:t}),n},r)}function gh(e){try{return JSON.parse(JSON.stringify(e))}catch{}return e}var qP={last:{},history:[]};function QP(e,t){e===void 0&&(e=qP);var r=t.options,n=t.meta;if(t.type===A.track){var a=gh(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 eE={actions:[]};function tE(e,t){e===void 0&&(e=eE);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 yh=/#.*$/;function rE(e){var t=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(e);return"/"+(t&&t[3]?t[3].split("?")[0].replace(yh,""):"")}var wh,bh,Sh,$h,nE=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 h=function(){if(te){for(var v,b=document.getElementsByTagName("link"),g=0;v=b[g];g++)if(v.getAttribute("rel")==="canonical")return v.getAttribute("href")}}();return h?h.match(/\?/)?h:h+d:window.location.href.replace(yh,"")}(f),c={title:r,url:l,path:rE(l),hash:u,search:f,width:o,height:s};return n&&n!==""&&(c.referrer=n),j({},c,e)},aE={last:{},history:[]};function iE(e,t){e===void 0&&(e=aE);var r=t.options;if(t.type===A.page){var n=gh(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}wh=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"}(),bh=te?document.referrer:null,Sh=UP(),$h=NP();var pl={initialized:!1,sessionId:da(),app:null,version:null,debug:!1,offline:!!te&&!navigator.onLine,os:{name:wh},userAgent:te?navigator.userAgent:"node",library:{name:"analytics",version:"0.12.13"},timezone:$h,locale:Sh,campaign:{},referrer:bh};function oE(e,t){e===void 0&&(e=pl);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({},pl,e,{initialized:!0})}}var sE=["plugins","reducers","storage"];function cE(e,t,r){if(te){var n=window[(r?"add":"remove")+"EventListener"];e.split(" ").forEach(function(a){n(a,t)})}}function uE(e){var t=cE.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(e)});return t(!0),function(r){return t(!1)}}function Ih(){return yt("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 Xt[Yt].analytics.push(o.action||o),i(o)}})}}}function ml(e){return function(){return qt(qt.apply(null,arguments),Ih())}}function Oi(e){return e?fh(e)?e:[e]:[]}function gl(e,t,r){e===void 0&&(e={});var n,a,i=da();return t&&(br[i]=(n=t,a=function(o){for(var s,u=o||Array.prototype.slice.call(arguments),f=0;f<u.length;f++)if(ue(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 lE(e){e===void 0&&(e={});var t=e.reducers||{},r=e.initialUser||{},n=(e.plugins||[]).reduce(function(m,w){if(ue(w))return m.middlewares=m.middlewares.concat(w),m;if(w.NAMESPACE&&(w.name=w.NAMESPACE),!w.name)throw new Error("https://lytics.dev/errors/1");w.config||(w.config={});var E=w.EVENTS?Object.keys(w.EVENTS).map(function(D){return w.EVENTS[D]}):[];m.pluginEnabled[w.name]=!(w.enabled===!1||w.config.enabled===!1),delete w.enabled,w.methods&&(m.methods[w.name]=Object.keys(w.methods).reduce(function(D,q){var z;return D[q]=(z=w.methods[q],function(){for(var J=Array.prototype.slice.call(arguments),B=new Array(z.length),pe=0;pe<J.length;pe++)B[pe]=J[pe];return B[B.length]=S,z.apply({instance:S},B)}),D},{}),delete w.methods);var U=Object.keys(w).concat(E),N=new Set(m.events.concat(U));if(m.events=Array.from(N),m.pluginsArray=m.pluginsArray.concat(w),m.plugins[w.name])throw new Error(w.name+"AlreadyLoaded");return m.plugins[w.name]=w,m.plugins[w.name].loaded||(m.plugins[w.name].loaded=function(){return!0}),m},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=e.storage?e.storage:{getItem:gt,setItem:yt,removeItem:ar},i=function(m){return function(w,E,U){return E.getState("user")[w]||(U&&ce(U)&&U[w]?U[w]:al(m)[w]||gt(mo(w))||null)}}(a),o=n.plugins,s=n.events.filter(function(m){return!po.includes(m)}).sort(),u=new Set(s.concat(kn).filter(function(m){return!po.includes(m)})),f=Array.from(u).sort(),l=function(){return o},c=new YP,d=c.addMiddleware,h=c.removeMiddleware,v=c.dynamicMiddlewares,b=function(){throw new Error("Abort disabled inListener")},g=xP(),T=al(a),I=j({},T,r,g.an_uid?{userId:g.an_uid}:{},g.an_aid?{anonymousId:g.an_aid}:{});I.anonymousId||(I.anonymousId=da());var y=j({enable:function(m,w){return new Promise(function(E){R.dispatch({type:A.enablePlugin,plugins:Oi(m),_:{originalAction:A.enablePlugin}},E,[w])})},disable:function(m,w){return new Promise(function(E){R.dispatch({type:A.disablePlugin,plugins:Oi(m),_:{originalAction:A.disablePlugin}},E,[w])})}},n.methods),p=!1,S={identify:function(m,w,E,U){try{var N=tt(m)?m:null,D=ce(m)?m:w,q=E||{},z=S.user();yt(mo(Xe),N);var J=N||D.userId||i(Xe,S,D);return Promise.resolve(new Promise(function(B){R.dispatch(j({type:A.identifyStart,userId:J,traits:D||{},options:q,anonymousId:z.anonymousId},z.id&&z.id!==N&&{previousId:z.id}),B,[w,E,U])}))}catch(B){return Promise.reject(B)}},track:function(m,w,E,U){try{var N=ce(m)?m.event:m;if(!N||!tt(N))throw new Error("EventMissing");var D=ce(m)?m:w||{},q=ce(E)?E:{};return Promise.resolve(new Promise(function(z){R.dispatch({type:A.trackStart,event:N,properties:D,options:q,userId:i(Xe,S,w),anonymousId:i(Dt,S,w)},z,[w,E,U])}))}catch(z){return Promise.reject(z)}},page:function(m,w,E){try{var U=ce(m)?m:{},N=ce(w)?w:{};return Promise.resolve(new Promise(function(D){R.dispatch({type:A.pageStart,properties:nE(U),options:N,userId:i(Xe,S,U),anonymousId:i(Dt,S,U)},D,[m,w,E])}))}catch(D){return Promise.reject(D)}},user:function(m){if(m===Xe||m==="id")return i(Xe,S);if(m===Dt||m==="anonId")return i(Dt,S);var w=S.getState("user");return m?Xu(w,m):w},reset:function(m){return new Promise(function(w){R.dispatch({type:A.resetStart},w,m)})},ready:function(m){return p&&m({plugins:y,instance:S}),S.on(A.ready,function(w){m(w),p=!0})},on:function(m,w){if(!m||!ue(w))return!1;if(m===A.bootstrap)throw new Error(".on disabled for "+m);var E=/Start$|Start:/;if(m==="*"){var U=function(z){return function(J){return function(B){return B.type.match(E)&&w({payload:B,instance:S,plugins:o}),J(B)}}},N=function(z){return function(J){return function(B){return B.type.match(E)||w({payload:B,instance:S,plugins:o}),J(B)}}};return d(U,mn),d(N,gn),function(){h(U,mn),h(N,gn)}}var D=m.match(E)?mn:gn,q=function(z){return function(J){return function(B){return B.type===m&&w({payload:B,instance:S,plugins:o,abort:b}),J(B)}}};return d(q,D),function(){return h(q,D)}},once:function(m,w){if(!m||!ue(w))return!1;if(m===A.bootstrap)throw new Error(".once disabled for "+m);var E=S.on(m,function(U){w({payload:U.payload,instance:S,plugins:o,abort:b}),E()});return E},getState:function(m){var w=R.getState();return m?Xu(w,m):Object.assign({},w)},dispatch:function(m){var w=tt(m)?{type:m}:m;if(kn.includes(w.type))throw new Error("reserved action "+w.type);var E=j({},w,{_:j({originalAction:w.type},m._||{})});R.dispatch(E)},enablePlugin:y.enable,disablePlugin:y.disable,plugins:y,storage:{getItem:a.getItem,setItem:function(m,w,E){R.dispatch({type:A.setItemStart,key:m,value:w,options:E})},removeItem:function(m,w){R.dispatch({type:A.removeItemStart,key:m,options:w})}},setAnonymousId:function(m,w){S.storage.setItem(rt,m,w)},events:{core:kn,plugins:s}},O=n.middlewares.concat([function(m){return function(w){return function(E){return E.meta||(E.meta=gl()),w(E)}}},v(mn),ZP(S,l,{all:f,plugins:s}),JP(a),HP(S),GP(S),v(gn)]),_={context:oE,user:KP(a),page:iE,track:QP,plugins:XP(l),queue:tE},k=qt,M=qt;if(te&&e.debug){var F=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;F&&(k=F({trace:!0,traceLimit:25})),M=function(){return arguments.length===0?Ih():ce(typeof arguments[0])?ml():ml().apply(null,arguments)}}var X,L=function(m){return Object.keys(m).reduce(function(w,E){return sE.includes(E)||(w[E]=m[E]),w},{})}(e),x=n.pluginsArray.reduce(function(m,w){var E=w.name,U=w.config,N=w.loaded,D=n.pluginEnabled[E];return m[E]={enabled:D,initialized:!!D&&!w.initialize,loaded:!!N({config:U}),config:U},m},{}),H={context:L,user:I,plugins:x},R=hh(function(m){for(var w=Object.keys(m),E={},U=0;U<w.length;U++){var N=w[U];typeof m[N]===qe&&(E[N]=m[N])}var D,q=Object.keys(E);try{(function(z){Object.keys(z).forEach(function(J){var B=z[J];if(typeof B(void 0,{type:"@@redux/INIT"})===Ge||typeof B(void 0,{type:FP})===Ge)throw new Error("reducer "+J+" "+Ge)})})(E)}catch(z){D=z}return function(z,J){if(z===void 0&&(z={}),D)throw D;for(var B=!1,pe={},$=0;$<q.length;$++){var P=q[$],C=z[P],W=(0,E[P])(C,J);if(typeof W===Ge){var V=BP(P,J);throw new Error(V)}pe[P]=W,B=B||W!==C}return B?pe:z}}(j({},_,t)),H,M(k(zP.apply(void 0,O))));R.dispatch=(X=R.dispatch,function(m,w,E){var U=j({},m,{meta:gl(m.meta,w,Oi(E))});return X.apply(null,[U])});var Z=Object.keys(o);R.dispatch({type:A.bootstrap,plugins:Z,config:L,params:g,user:I,initialUser:r,persistedUser:T});var ee=Z.filter(function(m){return n.pluginEnabled[m]}),Fe=Z.filter(function(m){return!n.pluginEnabled[m]});return R.dispatch({type:A.registerPlugins,plugins:Z,enabled:n.pluginEnabled}),n.pluginsArray.map(function(m,w){var E=m.bootstrap,U=m.config,N=m.name;E&&ue(E)&&E({instance:S,config:U,payload:m}),R.dispatch({type:A.registerPluginType(N),name:N,enabled:n.pluginEnabled[N],plugin:m}),n.pluginsArray.length===w+1&&R.dispatch({type:A.initializeStart,plugins:ee,disabled:Fe})}),uE(function(m){R.dispatch({type:m?A.offline:A.online})}),function(m,w,E){setInterval(function(){return ph(m,w,E)},3e3)}(R,l,S),S}var mn="before",gn="after",kr="cookie",lt=Eh(),Th=ha,fE=ha;function Ph(e){return lt?ha(e,"",-1):ar(e)}function Eh(){if(lt!==void 0)return lt;var e="cookiecookie";try{ha(e,e),lt=document.cookie.indexOf(e)!==-1,Ph(e)}catch{lt=!1}return lt}function ha(e,t,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return lt===!1&&(o?yt(e,t):gt(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",dE=fs.bind(null,"localStorage");ir("localStorage","getItem",gt);ir("localStorage","setItem",yt);ir("localStorage","removeItem",ar);var Rr="sessionStorage",hE=fs.bind(null,"sessionStorage");ir("sessionStorage","getItem",gt);ir("sessionStorage","setItem",yt);ir("sessionStorage","removeItem",ar);function zt(e){var t=e;try{if((t=JSON.parse(e))==="true")return!0;if(t==="false")return!1;if(ce(t))return t;parseFloat(t)===t&&(t=parseFloat(t))}catch{}if(t!==null&&t!=="")return t}var vE=dE(),pE=hE(),mE=Eh();function Oh(e,t){if(e){var r=ds(t),n=!ms(r),a=hs(r)?zt(localStorage.getItem(e)):void 0;if(n&&!xt(a))return a;var i=vs(r)?zt(Th(e)):void 0;if(n&&i)return i;var o=ps(r)?zt(sessionStorage.getItem(e)):void 0;if(n&&o)return o;var s=gt(e);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function gE(e,t,r){if(e&&!xt(t)){var n={},a=ds(r),i=JSON.stringify(t),o=!ms(a);return hs(a)&&(n[_r]=yn(_r,t,zt(localStorage.getItem(e))),localStorage.setItem(e,i),o)?n[_r]:vs(a)&&(n[kr]=yn(kr,t,zt(Th(e))),fE(e,i),o)?n[kr]:ps(a)&&(n[Rr]=yn(Rr,t,zt(sessionStorage.getItem(e))),sessionStorage.setItem(e,i),o)?n[Rr]:(n[Or]=yn(Or,t,gt(e)),yt(e,t),o?n[Or]:n)}}function yE(e,t){if(e){var r=ds(t),n=Oh(e,ch),a={};return!xt(n.localStorage)&&hs(r)&&(localStorage.removeItem(e),a[_r]=n.localStorage),!xt(n.cookie)&&vs(r)&&(Ph(e),a[kr]=n.cookie),!xt(n.sessionStorage)&&ps(r)&&(sessionStorage.removeItem(e),a[Rr]=n.sessionStorage),!xt(n.global)&&va(r,Or)&&(ar(e),a[Or]=n.global),a}}function ds(e){return e?tt(e)?e:e.storage:sh}function hs(e){return vE&&va(e,_r)}function vs(e){return mE&&va(e,kr)}function ps(e){return pE&&va(e,Rr)}function ms(e){return e===ch||e==="all"}function va(e,t){return e===sh||e===t||ms(e)}function yn(e,t,r){return{location:e,current:t,previous:r}}var wE={setItem:gE,getItem:Oh,removeItem:yE};function bE(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function yl(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 wl(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?yl(Object(r),!0).forEach(function(n){bE(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):yl(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function SE(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t={storage:wE};return lE(wl(wl({},t),e))}function $E(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 IE(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=PE(f);return a!==l&&(a=l,setTimeout(()=>e(f),0)),s.apply(r,u)}})}function TE(e,t){const r=e.indexOf(t);return r>-1?e.slice(0,r):e}function PE(e){return["#","?"].forEach(t=>e=TE(e,t)),e}function EE(){IE(()=>{He.page()})}function OE(e){if(e===void 0&&(e={}),!te)return vo;var t=Sl(),r=go(),n=bl(),a=wn(n,t),i=wn(r,t),o=[],s=[],u=[],f=n,l=a,c=i,d=Object.keys(e);if(!d.length)return vo;var h=d.map(function(b){return Number(b)}),v=MP(function(){var b=Sl(),g=function(L,x){return x.map(function(H){return H===100?L-5:L*(H/100)})}(b,h),T=go(),I=bl(),y=wn(I,b),p=wn(T,b);if(l=y>l?y:l,c=p<c?p:c,!(o.length>=h.length)){var S=f===I,O="up";S?O="initial":f<=I&&(O="down");var _=g,k=h;(O==="up"||S)&&(_=g.slice().reverse(),k=h.slice().reverse());var M=k.reduce(function(L,x,H){var R=_[H];return u.includes(x)&&I<=R&&(u=u.filter(function(Z){return Z!==x}),L.singleFunction=x),O==="down"&&!o.includes(x)&&I>=R&&x>i?(s.push(x),L.callbacks=L.callbacks.concat(x),L):O==="up"&&!o.includes(x)&&I<=R&&x<=y?(L.foundFunc=[x],L):(S&&I>=R&&L.foundFunc.length===0&&(L.foundFunc=[x]),!s.includes(x)&&I>=R&&(s.push(x),L.singleFunction?u.push(x):L.singleFunction=x),L)},{foundFunc:[],singleFunction:null,callbacks:[],direction:O});if(f=I,O==="down"&&M.callbacks&&M.callbacks.forEach(function(L){ue(e[L])&&(e[L]({trigger:L,direction:O,scrollMin:c,scrollMax:l,range:[c,l]}),o.push(L))}),M.singleFunction){var F=M.singleFunction,X=M.direction;ue(e[F])&&e[F]({trigger:F,direction:X,scrollMin:c,scrollMax:l,range:[c,l]}),o.push(F)}}},500);return window.addEventListener("scroll",v),function(){return window.removeEventListener("scroll",v)}}function go(){return te?document.body.scrollTop||document.documentElement.scrollTop:0}function kE(){return te?window.innerHeight||document.documentElement.clientHeight:0}function bl(){return Math.round(go()+kE())}function Sl(){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 wn(e,t){return Math.round(e/t*100)}var $l="EventListener";function _E(e){return function(t,r,n,a){var i=n||vo,o=a||!1;if(!te)return i;var s=Kn(r),u=Kn(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"+$l:"remove"+$l,h=0;h<u.length;h++){var v=u[h];f[h]=c?o&&o.once?RE(i):i:f[h]||i;for(var b=0;b<s.length;b++)v[d]?v["on"+s[b]]=c?f[h]:null:v[d](s[b],f[h],o)}return l.bind(null,!c)}(e)}}function Kn(e,t){if(tt(e))return t?Kn(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 tt(o)?Kn(o,!0):o}).flat():i}function RE(e,t){var r;return function(){return e&&(r=e.apply(this,arguments),e=null),r}}var ki=_E("Event");function kh(e,t){return te&&ue(window[e])?(r=window[e],n=t,(a=window)===void 0&&(a=null),ue(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[e]=t;var r,n,a}kh.bind(null,"onerror");kh.bind(null,"onload");var _h=typeof window>"u",Il="hidden";function CE(e){if(_h)return!1;var t=AE(),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 AE(){var e=["webkit","moz","ms","o"];return _h||Il in document?Il:e.reduce(function(t,r){var n=r+"Hidden";return!t&&n in document?n:t},null)}var jE=["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=CE(function(s){s||r({type:"tabVisible"})});return n=[o].concat(jE.map(function(s){return ki(document,s,r)})).concat(ki(window,"load",r)).concat(ki(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,h=function(){return clearTimeout(t)};function v(g){h(),i&&!l&&i(mr(d),g),a&&l&&(l=!1,a(mr(r),g),d=new Date),t=setTimeout(function(){l=!0,n&&(r=new Date,n(mr(d),g))},s)}var b=LE(v,{throttle:f});return{disable:function(){c=!0,l=!1,h();var g=b();return function(){return c=!1,d=new Date,v({type:"load"}),g()}},getStatus:function(){return{isIdle:l,isDisabled:c,active:l?0:mr(d,c),idle:l?mr(r,c):0}}}}function mr(e,t){return t?0:Math.round((new Date-e)/1e3)}const Tl=5e3;class NE{constructor(t){me(this,"element");me(this,"isInViewport",!1);me(this,"isAwake",!1);me(this,"isFlushing");me(this,"observer");me(this,"lastEventAt",Date.now());me(this,"registeredView",!1);me(this,"viewCallback");me(this,"activeDurationCallback");me(this,"idleDurationCallback");me(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:Tl}),OE({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*Tl: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 Pl="sesamy_session_id";function xE(){let e=sessionStorage.getItem(Pl);return e||(e=Math.random().toString(36).slice(2,9),sessionStorage.setItem(Pl,e)),e}let Rh=!1,yo,El,Gn;const Ch=new Map;function DE({clientId:e,enabled:t=!0,environment:r}){if(yo=e,El=t,Gn=`${Ke("logs",r)}/events`,!El)return;window.addEventListener("beforeunload",()=>{jh.forEach((a,i)=>{a.bind(i)()}),FE()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&Ch.forEach((a,i)=>{a.bind(i)()})}),EE();const n=new NE({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})}});BE(document.body,()=>{n.flush()}),zE(document.body,()=>{n.handleVisibilityChange()}),window.addEventListener(ve.AUTHENTICATED,async a=>{const i=a;await He.identify(i.detail.sub)}),window.addEventListener(ve.LOGOUT,async()=>{await He.track("logout",{}),gs.flush(),await He.reset()})}function Ah(e){return JSON.stringify(e.map(t=>({...t,clientId:yo,requestId:Math.random().toString(36).slice(2,9),sessionId:xE(),timestamp:new Date().toISOString(),version:ls,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:oh,userAgent:navigator.userAgent,clientId:yo}})))}const gs=$E(async e=>{if(e.length>0){const t=Ah(e);Rh?navigator.sendBeacon(Gn,t):(await fetch(Gn,{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(Gn,Ah([r]))}else gs.push(e)}const He=SE({app:oh,version:ls,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 ME(e,t){He.track(e,t)}function FE(){return Rh=!0,gs.flush()}const jh=new Map;function BE(e,t){jh.set(e,t)}function zE(e,t){Ch.set(e,t)}const HE=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function KE(){return new Promise(e=>{const t=HE.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 GE(){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}}let ke={article:{selector:"article"},image:{selector:"img",attribute:"src"},title:{selector:"h1",attribute:"textContent"},excerpt:{selector:"p",attribute:"textContent"},price:{selector:"article",attribute:"data-price"},currency:{selector:"article",attribute:"data-currency"},url:{selector:"link",attribute:"href"},id:{selector:"article",attribute:"data-id"}};function WE(e){var t;ke={...ke,...(t=e.content)==null?void 0:t.article}}function VE(e,t){const{selector:r}=t;return r===ke.article.selector?e:e.querySelector(r)}function ZE(e,t){if(e)return t.attribute?t.attribute==="textContent"?e.textContent??void 0:e.getAttribute(t.attribute)??void 0:e.textContent??void 0}function JE(){const e=document.querySelectorAll(ke.article.selector);return Array.from(e).map(t=>{const r={element:t},n=(a,i,o)=>{const s=VE(t,i);if(s){const u=ZE(s,i);u!==void 0&&(r[a]=o?o(u):u)}};return n("title",ke.title),n("excerpt",ke.excerpt),n("image",ke.image),n("price",ke.price,a=>parseFloat(a)),n("currency",ke.currency),n("url",ke.url),n("id",ke.id),r})}function YE(e){const{createCheckout:t,getCheckout:r,updateCheckout:n,getEntitlement:a,getEntitlements:i,getEntitlementAccess:o,getFulfillments:s,getSubscriptions:u,getContract:f,getContracts:l,cancelContract:c,getBill:d,getBills:h,getTransaction:v,getTransactions:b,getProfile:g,updateProfile:T,getTags:I,deleteTag:y,setTag:p,getUserMetadata:S,listUserMetadata:O,setUserMetadata:_,deleteUserMetadata:k,getTally:M,getTallies:F,pushTally:X,deleteTally:L,getProduct:x,getPaymentIssues:H,isSpotifyLinked:R,unlinkSpotify:Z,linkSpotify:ee,autoOnboardProduct:Fe,openHostedAccountPage:m,generateLink:w,hasAccess:E,getPaywall:U}=TP(e),N={auth:{getUser:g,isAuthenticated:jr,loginWithRedirect:ss,logout:qd,setToken:eh},attribution:{get:us,set:IP},checkouts:{get:r,create:t,update:n},profile:{get:g,update:T,openHostedAccountPage:m,isSpotifyLinked:R,unlinkSpotify:Z},analytics:{track:ME},content:{list:JE},tags:{list:I,set:p,delete:y},entitlements:{get:a,list:i,hasAccess:E,access:o,signedLinks:cs},fulfillments:{list:s},contracts:{get:f,list:l,cancel:c},bills:{get:d,list:h},userMetadata:{get:S,list:O,set:_,delete:k},tallies:{get:M,list:F,push:X,delete:L},subscriptions:{list:u},transactions:{get:v,list:b},products:{get:x,autoOnboard:Fe,linkSpotify:ee},paywalls:{get:U},browser:{detectAdblock:KE,isInAppBrowser:GE},getVersion:XE,getPaymentIssues:H,generateLink:w,clearCache:_e,log:he};return e.namespace&&(window[e.namespace]=N),N}function XE(){return ls}function qE(e,t){e.style.position="relative",e.style.height="200px",e.style.overflow="hidden";let n=0;const a=Array.from(e.children);for(const o of a){const s=o.offsetHeight;n+s>200?o.remove():n+=s}const i=document.createElement("style");i.innerHTML=`
|
|
5
|
+
CAUSE: `+h.stack,S.response=y,S.status=y.status,S.url=c,y.type==="opaque")throw S;const O=a.errorType==="json"||((p=y.headers.get("Content-Type"))===null||p===void 0?void 0:p.split(";")[0])==="application/json";return(a.errorType?O?y.text():y[a.errorType]():Promise.resolve(y.body)).then(k=>{throw S.message=typeof k=="string"?k:y.statusText,k&&(O&&typeof k=="string"?(S.text=k,S.json=JSON.parse(k)):S[a.errorType]=k),S})}return y}),b=y=>y.catch(p=>{const S=Object.prototype.hasOwnProperty.call(p,Rt),O=S?p[Rt]:p,_=(O==null?void 0:O.status)&&f.get(O.status)||f.get(O==null?void 0:O.name)||S&&f.has(Rt)&&f.get(Rt);if(_)return _(O,e);const k=f.get(rh);if(k)return k(O,e);throw O}),g=y=>p=>b(y?v.then(S=>S&&S[y]()).then(S=>p?p(S):S):v.then(S=>p?p(S):S)),T={_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(y,p){return f.set(y,p),this},badRequest(y){return this.error(400,y)},unauthorized(y){return this.error(401,y)},forbidden(y){return this.error(403,y)},notFound(y){return this.error(404,y)},timeout(y){return this.error(408,y)},internalError(y){return this.error(500,y)},fetchError(y){return this.error(Rt,y)}},I=u.reduce((y,p)=>({...y,...typeof p.resolver=="function"?p.resolver(y):p.resolver}),T);return o.reduce((y,p)=>p(y,e),I)},wP={_url:"",_options:{},_config:Jt,_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:ht(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:ht(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:ht(this._options,{headers:t})}},accept(e){return this.headers({Accept:e})},content(e){return this.headers({[th]: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(rh,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=Vu(n._options.headers),i=this._config.polyfill("FormData",!1),o=typeof r=="object"&&!(i&&r instanceof i)&&(!n._options.headers||!a||Zu(a));return n=r?o?n.json(r,a):n.body(r):n,yP(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=Vu(this._options.headers);return this.content(t||Zu(r)&&r||hP).body(JSON.stringify(e))}};function We(e="",t={}){return{...wP,_url:e,_options:t}}We.default=We;We.options=vP;We.errorType=mP;We.polyfills=pP;We.WretchError=nh;function _e(){sessionStorage.removeItem(co),console.log("Cache cleared"),Ve(ve.CLEAR_CACHE,{})}function fo(e){let t;try{t=new URL(e)}catch{return!1}return t.protocol==="http:"||t.protocol==="https:"}function ah(e,t){if(fo(e))return{itemSrc:e};const[r,n,a]=e.split(":");return{sku:`${r}:${n}`,purchaseOption:t||a}}function Ju(e){return e.endsWith("/")?e.slice(0,-1):e}function Yu(e,t){if(!fo(e)||!fo(t))return!1;const r=new URL(e),n=new URL(t);return r.origin===n.origin&&Ju(r.pathname)===Ju(n.pathname)}function bP(e,t){const r=new URL(`${Ke("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}=ah(t.itemSrc,t.purchaseOptionId);u&&r.searchParams.set("url",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}const ih="sesamySignedURLs";function cs(){const e=sessionStorage.getItem(ih);return e?JSON.parse(e):[]}function SP(e){const t=cs();t.push(e),he(`Adding signed URL: ${e}`),sessionStorage.setItem(ih,JSON.stringify(t))}const ho="sesamyAttribution";function $P(e){const t=sessionStorage.getItem(e);if(!t)return null;try{return JSON.parse(t).value}catch{return console.error(`Failed to parse ${e}`),null}}function us(){return $P(ho)||{}}function IP(e){if(e===null)sessionStorage.removeItem(ho);else{const t=us()??{};sessionStorage.setItem(ho,JSON.stringify({value:{...t,...e}}))}}function TP(e){const t=Ke("api2",e.environment),r=$=>async(P,C)=>{let W=sessionStorage.getItem(co);W||(W=Date.now().toString(),sessionStorage.setItem(co,W));const V={...C,headers:{...C.headers,"Cache-Timestamp":W}};return $(P,V)},n=($=!0)=>P=>async(C,W)=>{let V=null;if(V=await pr($),!V){if($)throw new Error("No access token available");return P(C,W)}const Je={...W,headers:{...W.headers,...V?{Authorization:`Bearer ${V}`}:{}}};return P(C,Je)},a=$=>(P,C)=>{if(C.headers.Authorization)return $(P,C);const W=localStorage.getItem("__anon_id"),V=btoa(`${e.clientId}|${W}:`),Je={...C,headers:{...C.headers,Authorization:`Basic ${V}`}};return $(P,Je)},i=We(t).headers({"Content-Type":"application/json"}).middlewares([r,n(),Gu(),Wu({delayTimer:1e3,delayRamp:($,P)=>$*P,maxAttempts:3,until:$=>!!($&&($.ok||$.status>=400&&$.status<500)),retryOnNetworkError:!1})]),o=We(t).headers({"Content-Type":"application/json"}).middlewares([r,n(!1),a,Gu(),Wu({delayTimer:1e3,delayRamp:($,P)=>$*P,maxAttempts:3,until:$=>!!($&&($.ok||$.status>=400&&$.status<500)),retryOnNetworkError:!1})]);async function s($={}){const{waitForEntitlementAfter:P,includeSignedLinks:C=!0}=$,W=P?`?wait-for-entitlement-after=${P.toISOString()}`:"",V=await jr()?await i.get(`/entitlements${W}`).json():[];return C&&V.push(...cs()),V}async function u($,P=[]){const C=await s();return C==null?void 0:C.find(V=>{const{sku:Je,purchaseOption:It}=ah($);let or="sku"in V&&Je===V.sku;or&&It&&"purchaseOptionId"in V&&(or=It===V.purchaseOptionId);const Nh=Yu($,V.url),xh=P.some(Dh=>Yu(Dh,V.url));return or||Nh||xh})}async function f($){const P=await i.get("/entitlements").json();return P==null?void 0:P.find(C=>C.id===$)}async function l($){return i.get(`/entitlements/${encodeURIComponent($)}/access`).json()}async function c($){return await jr()?await i.get(`/fulfillments?sku=${encodeURIComponent($)}`).json():[]}async function d(){return i.get("/contracts").json()}async function h($){const P=await i.get("/contracts").json();return P==null?void 0:P.find(C=>C.id===$)}async function v($){return(await i.post({},`/contracts/${encodeURIComponent($)}/cancel`).res()).ok}async function b(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),i.get("/subscriptions").json()}async function g(){return i.get("/bills").json()}async function T($){const P=await i.get("/bills").json();return P==null?void 0:P.find(C=>C.id===$)}async function I(){return i.get("/transactions").json()}async function y($){const P=await i.get("/transactions").json();return P==null?void 0:P.find(C=>C.id===$)}async function p($,P){const C=await i.url(`/user-metadata/${encodeURIComponent($)}`).put(P).json();return Ve(ve.USER_ATTRIBUTE_CHANGED,{}),_e(),C}async function S($){const P=await i.url(`/user-metadata/${encodeURIComponent($)}`).delete().res();return _e(),P.ok}async function O($){return(await i.url(`/user-metadata/${encodeURIComponent($)}`).get().json())[$]}async function _(){return await i.url("/user-metadata").get().json()}async function k(){return await i.url("/tags").get().json()}async function M($){const P=await i.url(`/tags/${encodeURIComponent($)}`).delete().res();return _e(),P.ok}async function F($){const P=await i.url("/tags").post(encodeURIComponent($)).res();return Ve(ve.USER_ATTRIBUTE_CHANGED,{}),_e(),P.ok}async function X($){return(await o.url("/tallies").get().json())[$]}async function L(){return await o.url("/tallies").get().json()}async function x($){const P=await o.url(`/tallies/${$}`).delete().res();return _e(),P.ok}async function H($,P){return await o.url(`/tallies/${encodeURIComponent($)}/push`).post(P).json()}async function R($){return await i.url(`/products/${encodeURIComponent($)}`).get().json()}async function Z(){return await pr(!1)?await i.url("/profile").get().json():null}async function ee($){const P=await i.url("/profile").patch($).res();return _e(),P.ok}async function Fe(){return await i.url("/payment-issues").get().json()}async function m(){return(await i.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function w(){return(await i.url("/profile/unlink-spotify").post().res()).ok}async function E($){const P=await pr(!1);if(!P)throw new Error("No access token available");const C=new URL(`${Ke("spotify-oas",e.environment)}/sesamy-callback`);C.searchParams.set("access_token",P),C.searchParams.set("state",$),window.location.href=C.toString()}async function U($){const P=await i.url(`/products/${encodeURIComponent($)}/auto-onboard`).post().json();return P.length&&_e(),P}async function N($,P=3600){const{shortlink:C}=await We(aP).post({url:$,ttl:P}).json();return C}async function D($){const P=await pr(!1);let C;const W=$.language||uo();switch($.target){case"account":C=new URL(`${Ke("account",e.environment)}/${encodeURIComponent($.language||W)}/subscriptions/${encodeURIComponent(e.clientId)}`),C.searchParams.set("sesamy-redirect-url",$.redirectUrl||window.location.href);break;case"consume":C=new URL(`${Ke("consume",e.environment)}/${encodeURIComponent($.language||W)}/@${encodeURIComponent(e.clientId)}/${encodeURIComponent($.sku)}`),$.episodeId?C.href+=`/${$.episodeId}`:C.href+="/listen",C.searchParams.set("sesamy-redirect-url",$.redirectUrl||window.location.href);break;case"checkout":C=bP(e,{language:W,...$});break;default:throw new Error("Invalid target")}return P&&(C.hash=`#access_token=${P}`),$.shorten?N(C.href,$.ttl):C.href}async function q($){const P=us(),C=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(V=>{const Je=P,[It,or]=V.trim().split("=");C.includes(It)&&!Je[It]&&(Je[It]=or)}),(await o.url("/checkouts").post({language:uo(),attribution:{...P,...$.attribution},...$,vendorId:e.clientId})).json()}async function z($,P){return(await o.url(`/checkouts/${$}`).patch(P)).json()}async function J($){return(await o.url(`/checkouts/${$}`).get()).json()}async function B($){return(await o.url(`/paywalls/${$}`).get()).json()}async function pe(){const $=await pr(!1),P=new URL(`${Ke("account",e.environment)}/subscriptions/${e.clientId}`);$&&(P.hash=`#access_token=${$}`),window.location.href=P.toString()}return{autoOnboardProduct:U,cancelContract:v,createCheckout:q,deleteTag:M,deleteTally:x,deleteUserMetadata:S,generateLink:D,getBill:T,getBills:g,getCheckout:J,getContract:h,getContracts:d,getEntitlement:f,getEntitlementAccess:l,getEntitlements:s,getFulfillments:c,getPaywall:B,getPaymentIssues:Fe,getProfile:Z,getProduct:R,getSubscriptions:b,getTally:X,getTallies:L,getTags:k,getTransaction:y,getTransactions:I,getUserMetadata:O,hasAccess:u,isSpotifyLinked:m,linkSpotify:E,listUserMetadata:_,openHostedAccountPage:pe,pushTally:H,setTag:F,setUserMetadata:p,unlinkSpotify:w,updateCheckout:z,updateProfile:ee}}const oh="@sesamy/sesamy-js",ls="1.19.1";function Xu(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 hn="undefined",qu="object",vo=function(){},sh="any",ch="*",mt="__",zn=typeof process<"u"?process:{};zn.env&&zn.env.NODE_ENV;var te=typeof document<"u";zn.versions!=null&&zn.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 uh(e,t){return t.charAt(0)[e]()+t.slice(1)}var PP=uh.bind(null,"toUpperCase"),EP=uh.bind(null,"toLowerCase");function OP(e){return lh(e)?PP("null"):typeof e=="object"?CP(e):Object.prototype.toString.call(e).slice(8,-1)}function Hn(e,t){t===void 0&&(t=!0);var r=OP(e);return t?EP(r):r}function Kr(e,t){return typeof t===e}var ue=Kr.bind(null,"function"),tt=Kr.bind(null,"string"),xt=Kr.bind(null,"undefined"),kP=Kr.bind(null,"boolean");Kr.bind(null,"symbol");function lh(e){return e===null}function _P(e){return Hn(e)==="number"&&!isNaN(e)}function fh(e){return Hn(e)==="array"}function ce(e){if(!RP(e))return!1;for(var t=e;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function RP(e){return e&&(typeof e=="object"||e!==null)}function CP(e){return ue(e.constructor)?e.constructor.name:null}function AP(e){return e instanceof Error||tt(e.message)&&e.constructor&&_P(e.constructor.stackTraceLimit)}function dh(e,t){if(typeof t!="object"||lh(t))return!1;if(t instanceof e)return!0;var r=Hn(new e(""));if(AP(t))for(;t;){if(Hn(t)===r)return!0;t=Object.getPrototypeOf(t)}return!1}dh.bind(null,TypeError);dh.bind(null,SyntaxError);function la(e,t){var r=e instanceof Element||e instanceof HTMLDocument;return r&&t?jP(e,t):r}function jP(e,t){return t===void 0&&(t=""),e&&e.nodeName===t.toUpperCase()}function fa(e){var t=[].slice.call(arguments,1);return function(){return e.apply(void 0,[].slice.call(arguments).concat(t))}}fa(la,"form");fa(la,"button");fa(la,"input");fa(la,"select");function LP(e){return e?fh(e)?e:[e]:[]}function Qu(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 NP(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function xP(e){return function(t){for(var r,n=Object.create(null),a=/([^&=]+)=?([^&]*)/g;r=a.exec(t);){var i=Qu(r[1]),o=Qu(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 da(){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 MP(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 Or="global",Yt=mt+"global"+mt,Xt=typeof self===qu&&self.self===self&&self||typeof global===qu&&global.global===global&&global||void 0;function gt(e){return Xt[Yt][e]}function yt(e,t){return Xt[Yt][e]=t}function ar(e){delete Xt[Yt][e]}function ir(e,t,r){var n;try{if(fs(e)){var a=window[e];n=a[t].bind(a)}}catch{}return n||r}Xt[Yt]||(Xt[Yt]={});var vn={};function fs(e){if(typeof vn[e]!==hn)return vn[e];try{var t=window[e];t.setItem(hn,hn),t.removeItem(hn)}catch{return vn[e]=!1}return vn[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 qe="function",Ge="undefined",FP="@@redux/"+Math.random().toString(36),el=function(){return typeof Symbol===qe&&Symbol.observable||"@@observable"}(),pn=" != "+qe;function hh(e,t,r){var n;if(typeof t===qe&&typeof r===Ge&&(r=t,t=void 0),typeof r!==Ge){if(typeof r!==qe)throw new Error("enhancer"+pn);return r(hh)(e,t)}if(typeof e!==qe)throw new Error("reducer"+pn);var a=e,i=t,o=[],s=o,u=!1;function f(){s===o&&(s=o.slice())}function l(){return i}function c(h){if(typeof h!==qe)throw new Error("Listener"+pn);var v=!0;return f(),s.push(h),function(){if(v){v=!1,f();var b=s.indexOf(h);s.splice(b,1)}}}function d(h){if(!ce(h))throw new Error("Act != obj");if(typeof h.type===Ge)throw new Error("ActType "+Ge);if(u)throw new Error("Dispatch in reducer");try{u=!0,i=a(i,h)}finally{u=!1}for(var v=o=s,b=0;b<v.length;b++)(0,v[b])();return h}return d({type:"@@redux/INIT"}),(n={dispatch:d,subscribe:c,getState:l,replaceReducer:function(h){if(typeof h!==qe)throw new Error("next reducer"+pn);a=h,d({type:"@@redux/INIT"})}})[el]=function(){var h,v=c;return(h={subscribe:function(b){if(typeof b!="object")throw new TypeError("Observer != obj");function g(){b.next&&b.next(l())}return g(),{unsubscribe:v(g)}}})[el]=function(){return this},h},n}function BP(e,t){var r=t&&t.type;return"action "+(r&&r.toString()||"?")+"reducer "+e+" returns "+Ge}function qt(){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 zP(){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=qt.apply(void 0,i)(o.dispatch)})}}}var rt=mt+"anon_id",vt=mt+"user_id",Ft=mt+"user_traits",Xe="userId",Dt="anonymousId",kn=["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"],po=["name","EVENTS","config","loaded"],A=kn.reduce(function(e,t){return e[t]=t,e},{registerPluginType:function(e){return"registerPlugin:"+e},pluginReadyType:function(e){return"ready:"+e}}),tl=/^utm_/,rl=/^an_prop_/,nl=/^an_trait_/;function HP(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(rt,o.anonymousId),f||t(vt,o.userId),u.traits&&t(Ft,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,h=l.reduce(function(v,b){if(b.match(tl)||b.match(/^(d|g)clid/)){var g=b.replace(tl,"");v.campaign[g==="campaign"?"name":g]=i[b]}return b.match(rl)&&(v.props[b.replace(rl,"")]=i[b]),b.match(nl)&&(v.traits[b.replace(nl,"")]=i[b]),v},{campaign:{},props:{},traits:{}});r.dispatch(j({type:A.params,raw:i},h,c?{userId:c}:{})),c&&setTimeout(function(){return e.identify(c,h.traits)},0),d&&setTimeout(function(){return e.track(d,h.props)},0),Object.keys(h.campaign).length&&r.dispatch({type:A.campaign,campaign:h.campaign})}}return n(a)}}}}function KP(e){return function(t,r){if(t===void 0&&(t={}),r===void 0&&(r={}),r.type===A.setItemEnd){if(r.key===rt)return j({},t,{anonymousId:r.value});if(r.key===vt)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[vt,rt,Ft].forEach(function(n){e.removeItem(n)}),Object.assign({},t,{userId:null,anonymousId:null,traits:{}});default:return t}}}function al(e){return{userId:e.getItem(vt),anonymousId:e.getItem(rt),traits:e.getItem(Ft)}}var mo=function(e){return mt+"TEMP"+mt+e};function GP(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&&([vt,Ft,rt].forEach(function(h){n(h)}),[Xe,Dt,"traits"].forEach(function(h){ar(mo(h))})),s.type===A.identify){a(rt)||r(rt,da());var c=a(vt),d=a(Ft)||{};c&&c!==u&&i.dispatch({type:A.userIdChanged,old:{userId:c,traits:d},new:{userId:u,traits:f},options:l}),u&&r(vt,u),f&&r(Ft,j({},d,f))}return o(s)}}}}var br={};function il(e,t){br[e]&&ue(br[e])&&(br[e](t),delete br[e])}function vh(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 vh(e,t,r-10).then(n,a)})})}function WP(e){return{abort:e}}function ph(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,h){return o[d.plugin].loaded?(c.process.push(d),c.processIndex.push(h)):(c.requeue.push(d),c.requeueIndex.push(h)),c},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(f.processIndex&&f.processIndex.length){f.processIndex.forEach(function(c){var d=s.actions[c],h=d.plugin,v=d.payload.type,b=a[h][v];if(b&&ue(b)){var g,T=function(p,S){return p===void 0&&(p={}),S===void 0&&(S={}),[Xe,Dt].reduce(function(O,_){return p.hasOwnProperty(_)&&S[_]&&S[_]!==p[_]&&(O[_]=S[_]),O},p)}(d.payload,u),I=n[T.meta.rid];if(!I&&(g=b({payload:T,config:o[h].config,instance:r,abort:WP}))&&ce(g)&&g.abort)return void(n[T.meta.rid]=!0);if(!I){var y=v+":"+h;e.dispatch(j({},T,{type:y,_:{called:y,from:"queueDrain"}}))}}});var l=s.actions.filter(function(c,d){return!~f.processIndex.indexOf(d)});s.actions=l}}}var Ti=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(Bt),h=t.exact.map(function(g){return g.pluginName});d&&(h=o.during.map(function(g){return g.pluginName}));var v=function(g,T){return function(I,y,p){var S=y.config,O=y.name,_=O+"."+I.type;p&&(_=p.event);var k=I.type.match(Bt)?function(M,F,X,L,x){return function(H,R){var Z=L?L.name:M,ee=R&&Lr(R)?R:X;if(L&&(!(ee=R&&Lr(R)?R:[M]).includes(M)||ee.length!==1))throw new Error("Method "+F+" can only abort "+M+" plugin. "+JSON.stringify(ee)+" input valid");return j({},x,{abort:{reason:H,plugins:ee,caller:F,_:Z}})}}(O,_,T,p,I):function(M,F){return function(){throw new Error(M.type+" action not cancellable. Remove abort in "+F)}}(I,_);return{payload:VP(I),instance:g,config:S||{},abort:k}}}(n,h),b=t.exact.reduce(function(g,T){var I=T.pluginName,y=T.methodName,p=!1;return y.match(/^initialize/)||y.match(/^reset/)||(p=!f[I].loaded),l.offline&&y.match(/^(page|track|identify)/)&&(p=!0),g[""+I]=p,g},{});return Promise.resolve(t.exact.reduce(function(g,T,I){try{var y=T.pluginName;return Promise.resolve(g).then(function(p){function S(){return Promise.resolve(p)}var O=function(){if(t.namespaced&&t.namespaced[y])return Promise.resolve(t.namespaced[y].reduce(function(_,k,M){try{return Promise.resolve(_).then(function(F){return k.method&&ue(k.method)?(function(H,R){var Z=dl(H);if(Z&&Z.name===R){var ee=dl(Z.method);throw new Error([R+" plugin is calling method "+H,"Plugins cant call self","Use "+Z.method+" "+(ee?"or "+ee.method:"")+" in "+R+" plugin insteadof "+H].join(`
|
|
6
|
+
`))}}(k.methodName,k.pluginName),Promise.resolve(k.method({payload:F,instance:n,abort:(X=F,L=y,x=k.pluginName,function(H,R){return j({},X,{abort:{reason:H,plugins:R||[L],caller:c,from:x||L}})}),config:cl(k.pluginName,f,i),plugins:f})).then(function(H){var R=ce(H)?H:{};return Promise.resolve(j({},F,R))})):F;var X,L,x})}catch(F){return Promise.reject(F)}},Promise.resolve(r))).then(function(_){p[y]=_});p[y]=r}();return O&&O.then?O.then(S):S()})}catch(p){return Promise.reject(p)}},Promise.resolve({}))).then(function(g){return Promise.resolve(t.exact.reduce(function(T,I,y){try{var p=t.exact.length===y+1,S=I.pluginName,O=i[S];return Promise.resolve(T).then(function(_){var k=g[S]?g[S]:{};if(d&&(k=_),Ei(k,S))return Pi({data:k,method:c,instance:n,pluginName:S,store:s}),Promise.resolve(_);if(Ei(_,S))return p&&Pi({data:_,method:c,instance:n,store:s}),Promise.resolve(_);if(b.hasOwnProperty(S)&&b[S]===!0)return s.dispatch({type:"queue",plugin:S,payload:k,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(_);var M=v(g[S],i[S]);return Promise.resolve(O[c]({abort:M.abort,payload:k,instance:n,config:cl(S,f,i),plugins:f})).then(function(F){var X=ce(F)?F:{},L=j({},_,X),x=g[S];if(Ei(x,S))Pi({data:x,method:c,instance:n,pluginName:S,store:s});else{var H=c+":"+S;(H.match(/:/g)||[]).length<2&&!c.match(ol)&&!c.match(sl)&&n.dispatch(j({},d?L:k,{type:H,_:{called:H,from:"submethod"}}))}return Promise.resolve(L)})})}catch(_){return Promise.reject(_)}},Promise.resolve(r))).then(function(T){if(!(c.match(Bt)||c.match(/^registerPlugin/)||c.match(sl)||c.match(ol)||c.match(/^params/)||c.match(/^userIdChanged/))){if(u.plugins.includes(c),T._&&T._.originalAction===c)return T;var I=j({},T,{_:{originalAction:T.type,called:T.type,from:"engineEnd"}});mh(T,t.exact.length)&&!c.match(/End$/)&&(I=j({},I,{type:T.type+"Aborted"})),s.dispatch(I)}return T})})}catch(g){return Promise.reject(g)}},Bt=/Start$/,ol=/^bootstrap/,sl=/^ready/;function Pi(e){var t=e.pluginName,r=e.method+"Aborted"+(t?":"+t:"");e.store.dispatch(j({},e.data,{type:r,_:{called:r,from:"abort"}}))}function cl(e,t,r){var n=t[e]||r[e];return n&&n.config?n.config:{}}function ul(e,t){return t.reduce(function(r,n){return n[e]?r.concat({methodName:e,pluginName:n.name,method:n[e]}):r},[])}function ll(e,t){var r=e.replace(Bt,""),n=t?":"+t:"";return[""+e+n,""+r+n,r+"End"+n]}function Ei(e,t){var r=e.abort;return!!r&&(r===!0||fl(r,t)||r&&fl(r.plugins,t))}function mh(e,t){var r=e.abort;if(!r)return!1;if(r===!0||tt(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 fl(e,t){return!(!e||!Lr(e))&&e.includes(t)}function dl(e){var t=e.match(/(.*):(.*)/);return!!t&&{method:t[1],name:t[2]}}function VP(e){return Object.keys(e).reduce(function(t,r){return r==="type"||(t[r]=ce(e[r])?Object.assign({},e[r]):e[r]),t},{})}function ZP(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 il(o.meta.rid,{payload:o})},0),f===A.initializeEnd){var d=t(),h=Object.keys(d),v=h.filter(function(p){return l.includes(p)}).map(function(p){return d[p]}),b=[],g=[],T=o.disabled,I=v.map(function(p){var S=p.loaded,O=p.name,_=p.config;return vh(p,function(){return S({config:_})},1e4).then(function(k){return n[O]||(a.dispatch({type:A.pluginReadyType(O),name:O,events:Object.keys(p).filter(function(M){return!po.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(I).then(function(p){var S={plugins:b,failed:g,disabled:T};setTimeout(function(){h.length===I.length+T.length&&a.dispatch(j({},{type:A.ready},S))},0)})}var y=function(){if(f!==A.bootstrap)return/^ready:([^:]*)$/.test(f)&&setTimeout(function(){return ph(a,t,e)},0),Promise.resolve(function(p,S,O,_,k){try{var M=ue(S)?S():S,F=p.type,X=F.replace(Bt,"");if(p._&&p._.called)return Promise.resolve(p);var L=O.getState(),x=(Z=M,(ee=L.plugins)===void 0&&(ee={}),(Fe=p.options)===void 0&&(Fe={}),Object.keys(Z).filter(function(m){var w=Fe.plugins||{};return kP(w[m])?w[m]:w.all!==!1&&(!ee[m]||ee[m].enabled!==!1)}).map(function(m){return Z[m]}));F===A.initializeStart&&p.fromEnable&&(x=Object.keys(L.plugins).filter(function(m){var w=L.plugins[m];return p.plugins.includes(m)&&!w.initialized}).map(function(m){return M[m]}));var H=x.map(function(m){return m.name}),R=function(m,w,E){var U=ll(m).map(function(N){return ul(N,w)});return w.reduce(function(N,D){var q=D.name,z=ll(m,q).map(function($){return ul($,w)}),J=z[0],B=z[1],pe=z[2];return J.length&&(N.beforeNS[q]=J),B.length&&(N.duringNS[q]=B),pe.length&&(N.afterNS[q]=pe),N},{before:U[0],beforeNS:{},during:U[1],duringNS:{},after:U[2],afterNS:{}})}(F,x);return Promise.resolve(Ti({action:p,data:{exact:R.before,namespaced:R.beforeNS},state:L,allPlugins:M,allMatches:R,instance:O,store:_,EVENTS:k})).then(function(m){function w(){var N=function(){if(F.match(Bt))return Promise.resolve(Ti({action:j({},E,{type:X+"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&&il(D.meta.rid,{payload:D})})}();return N&&N.then?N.then(function(){return m}):m}if(mh(m,H.length))return m;var E,U=function(){if(F!==X)return Promise.resolve(Ti({action:j({},m,{type:X}),data:{exact:R.during,namespaced:R.duringNS},state:L,allPlugins:M,allMatches:R,instance:O,store:_,EVENTS:k})).then(function(N){E=N});E=m}();return U&&U.then?U.then(w):w()})}catch(m){return Promise.reject(m)}var Z,ee,Fe}(o,t,e,a,r)).then(function(p){return s=1,i(p)})}();return Promise.resolve(y&&y.then?y.then(u):u(y))}catch(p){return Promise.reject(p)}}}}}function JP(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 YP=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 qt.apply(void 0,o)(n)(a)}}}}};function XP(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=hl(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=hl(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,vl(r.plugins,!1,t));case A.enablePlugin:return j({},t,vl(r.plugins,!0,t));default:return t}}}function hl(e,t){return e.substring(t.length+1,e.length)}function vl(e,t,r){return e.reduce(function(n,a){return n[a]=j({},r[a],{enabled:t}),n},r)}function gh(e){try{return JSON.parse(JSON.stringify(e))}catch{}return e}var qP={last:{},history:[]};function QP(e,t){e===void 0&&(e=qP);var r=t.options,n=t.meta;if(t.type===A.track){var a=gh(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 eE={actions:[]};function tE(e,t){e===void 0&&(e=eE);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 yh=/#.*$/;function rE(e){var t=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(e);return"/"+(t&&t[3]?t[3].split("?")[0].replace(yh,""):"")}var wh,bh,Sh,$h,nE=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 h=function(){if(te){for(var v,b=document.getElementsByTagName("link"),g=0;v=b[g];g++)if(v.getAttribute("rel")==="canonical")return v.getAttribute("href")}}();return h?h.match(/\?/)?h:h+d:window.location.href.replace(yh,"")}(f),c={title:r,url:l,path:rE(l),hash:u,search:f,width:o,height:s};return n&&n!==""&&(c.referrer=n),j({},c,e)},aE={last:{},history:[]};function iE(e,t){e===void 0&&(e=aE);var r=t.options;if(t.type===A.page){var n=gh(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}wh=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"}(),bh=te?document.referrer:null,Sh=UP(),$h=NP();var pl={initialized:!1,sessionId:da(),app:null,version:null,debug:!1,offline:!!te&&!navigator.onLine,os:{name:wh},userAgent:te?navigator.userAgent:"node",library:{name:"analytics",version:"0.12.13"},timezone:$h,locale:Sh,campaign:{},referrer:bh};function oE(e,t){e===void 0&&(e=pl);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({},pl,e,{initialized:!0})}}var sE=["plugins","reducers","storage"];function cE(e,t,r){if(te){var n=window[(r?"add":"remove")+"EventListener"];e.split(" ").forEach(function(a){n(a,t)})}}function uE(e){var t=cE.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(e)});return t(!0),function(r){return t(!1)}}function Ih(){return yt("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 Xt[Yt].analytics.push(o.action||o),i(o)}})}}}function ml(e){return function(){return qt(qt.apply(null,arguments),Ih())}}function Oi(e){return e?fh(e)?e:[e]:[]}function gl(e,t,r){e===void 0&&(e={});var n,a,i=da();return t&&(br[i]=(n=t,a=function(o){for(var s,u=o||Array.prototype.slice.call(arguments),f=0;f<u.length;f++)if(ue(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 lE(e){e===void 0&&(e={});var t=e.reducers||{},r=e.initialUser||{},n=(e.plugins||[]).reduce(function(m,w){if(ue(w))return m.middlewares=m.middlewares.concat(w),m;if(w.NAMESPACE&&(w.name=w.NAMESPACE),!w.name)throw new Error("https://lytics.dev/errors/1");w.config||(w.config={});var E=w.EVENTS?Object.keys(w.EVENTS).map(function(D){return w.EVENTS[D]}):[];m.pluginEnabled[w.name]=!(w.enabled===!1||w.config.enabled===!1),delete w.enabled,w.methods&&(m.methods[w.name]=Object.keys(w.methods).reduce(function(D,q){var z;return D[q]=(z=w.methods[q],function(){for(var J=Array.prototype.slice.call(arguments),B=new Array(z.length),pe=0;pe<J.length;pe++)B[pe]=J[pe];return B[B.length]=S,z.apply({instance:S},B)}),D},{}),delete w.methods);var U=Object.keys(w).concat(E),N=new Set(m.events.concat(U));if(m.events=Array.from(N),m.pluginsArray=m.pluginsArray.concat(w),m.plugins[w.name])throw new Error(w.name+"AlreadyLoaded");return m.plugins[w.name]=w,m.plugins[w.name].loaded||(m.plugins[w.name].loaded=function(){return!0}),m},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=e.storage?e.storage:{getItem:gt,setItem:yt,removeItem:ar},i=function(m){return function(w,E,U){return E.getState("user")[w]||(U&&ce(U)&&U[w]?U[w]:al(m)[w]||gt(mo(w))||null)}}(a),o=n.plugins,s=n.events.filter(function(m){return!po.includes(m)}).sort(),u=new Set(s.concat(kn).filter(function(m){return!po.includes(m)})),f=Array.from(u).sort(),l=function(){return o},c=new YP,d=c.addMiddleware,h=c.removeMiddleware,v=c.dynamicMiddlewares,b=function(){throw new Error("Abort disabled inListener")},g=xP(),T=al(a),I=j({},T,r,g.an_uid?{userId:g.an_uid}:{},g.an_aid?{anonymousId:g.an_aid}:{});I.anonymousId||(I.anonymousId=da());var y=j({enable:function(m,w){return new Promise(function(E){R.dispatch({type:A.enablePlugin,plugins:Oi(m),_:{originalAction:A.enablePlugin}},E,[w])})},disable:function(m,w){return new Promise(function(E){R.dispatch({type:A.disablePlugin,plugins:Oi(m),_:{originalAction:A.disablePlugin}},E,[w])})}},n.methods),p=!1,S={identify:function(m,w,E,U){try{var N=tt(m)?m:null,D=ce(m)?m:w,q=E||{},z=S.user();yt(mo(Xe),N);var J=N||D.userId||i(Xe,S,D);return Promise.resolve(new Promise(function(B){R.dispatch(j({type:A.identifyStart,userId:J,traits:D||{},options:q,anonymousId:z.anonymousId},z.id&&z.id!==N&&{previousId:z.id}),B,[w,E,U])}))}catch(B){return Promise.reject(B)}},track:function(m,w,E,U){try{var N=ce(m)?m.event:m;if(!N||!tt(N))throw new Error("EventMissing");var D=ce(m)?m:w||{},q=ce(E)?E:{};return Promise.resolve(new Promise(function(z){R.dispatch({type:A.trackStart,event:N,properties:D,options:q,userId:i(Xe,S,w),anonymousId:i(Dt,S,w)},z,[w,E,U])}))}catch(z){return Promise.reject(z)}},page:function(m,w,E){try{var U=ce(m)?m:{},N=ce(w)?w:{};return Promise.resolve(new Promise(function(D){R.dispatch({type:A.pageStart,properties:nE(U),options:N,userId:i(Xe,S,U),anonymousId:i(Dt,S,U)},D,[m,w,E])}))}catch(D){return Promise.reject(D)}},user:function(m){if(m===Xe||m==="id")return i(Xe,S);if(m===Dt||m==="anonId")return i(Dt,S);var w=S.getState("user");return m?Xu(w,m):w},reset:function(m){return new Promise(function(w){R.dispatch({type:A.resetStart},w,m)})},ready:function(m){return p&&m({plugins:y,instance:S}),S.on(A.ready,function(w){m(w),p=!0})},on:function(m,w){if(!m||!ue(w))return!1;if(m===A.bootstrap)throw new Error(".on disabled for "+m);var E=/Start$|Start:/;if(m==="*"){var U=function(z){return function(J){return function(B){return B.type.match(E)&&w({payload:B,instance:S,plugins:o}),J(B)}}},N=function(z){return function(J){return function(B){return B.type.match(E)||w({payload:B,instance:S,plugins:o}),J(B)}}};return d(U,mn),d(N,gn),function(){h(U,mn),h(N,gn)}}var D=m.match(E)?mn:gn,q=function(z){return function(J){return function(B){return B.type===m&&w({payload:B,instance:S,plugins:o,abort:b}),J(B)}}};return d(q,D),function(){return h(q,D)}},once:function(m,w){if(!m||!ue(w))return!1;if(m===A.bootstrap)throw new Error(".once disabled for "+m);var E=S.on(m,function(U){w({payload:U.payload,instance:S,plugins:o,abort:b}),E()});return E},getState:function(m){var w=R.getState();return m?Xu(w,m):Object.assign({},w)},dispatch:function(m){var w=tt(m)?{type:m}:m;if(kn.includes(w.type))throw new Error("reserved action "+w.type);var E=j({},w,{_:j({originalAction:w.type},m._||{})});R.dispatch(E)},enablePlugin:y.enable,disablePlugin:y.disable,plugins:y,storage:{getItem:a.getItem,setItem:function(m,w,E){R.dispatch({type:A.setItemStart,key:m,value:w,options:E})},removeItem:function(m,w){R.dispatch({type:A.removeItemStart,key:m,options:w})}},setAnonymousId:function(m,w){S.storage.setItem(rt,m,w)},events:{core:kn,plugins:s}},O=n.middlewares.concat([function(m){return function(w){return function(E){return E.meta||(E.meta=gl()),w(E)}}},v(mn),ZP(S,l,{all:f,plugins:s}),JP(a),HP(S),GP(S),v(gn)]),_={context:oE,user:KP(a),page:iE,track:QP,plugins:XP(l),queue:tE},k=qt,M=qt;if(te&&e.debug){var F=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;F&&(k=F({trace:!0,traceLimit:25})),M=function(){return arguments.length===0?Ih():ce(typeof arguments[0])?ml():ml().apply(null,arguments)}}var X,L=function(m){return Object.keys(m).reduce(function(w,E){return sE.includes(E)||(w[E]=m[E]),w},{})}(e),x=n.pluginsArray.reduce(function(m,w){var E=w.name,U=w.config,N=w.loaded,D=n.pluginEnabled[E];return m[E]={enabled:D,initialized:!!D&&!w.initialize,loaded:!!N({config:U}),config:U},m},{}),H={context:L,user:I,plugins:x},R=hh(function(m){for(var w=Object.keys(m),E={},U=0;U<w.length;U++){var N=w[U];typeof m[N]===qe&&(E[N]=m[N])}var D,q=Object.keys(E);try{(function(z){Object.keys(z).forEach(function(J){var B=z[J];if(typeof B(void 0,{type:"@@redux/INIT"})===Ge||typeof B(void 0,{type:FP})===Ge)throw new Error("reducer "+J+" "+Ge)})})(E)}catch(z){D=z}return function(z,J){if(z===void 0&&(z={}),D)throw D;for(var B=!1,pe={},$=0;$<q.length;$++){var P=q[$],C=z[P],W=(0,E[P])(C,J);if(typeof W===Ge){var V=BP(P,J);throw new Error(V)}pe[P]=W,B=B||W!==C}return B?pe:z}}(j({},_,t)),H,M(k(zP.apply(void 0,O))));R.dispatch=(X=R.dispatch,function(m,w,E){var U=j({},m,{meta:gl(m.meta,w,Oi(E))});return X.apply(null,[U])});var Z=Object.keys(o);R.dispatch({type:A.bootstrap,plugins:Z,config:L,params:g,user:I,initialUser:r,persistedUser:T});var ee=Z.filter(function(m){return n.pluginEnabled[m]}),Fe=Z.filter(function(m){return!n.pluginEnabled[m]});return R.dispatch({type:A.registerPlugins,plugins:Z,enabled:n.pluginEnabled}),n.pluginsArray.map(function(m,w){var E=m.bootstrap,U=m.config,N=m.name;E&&ue(E)&&E({instance:S,config:U,payload:m}),R.dispatch({type:A.registerPluginType(N),name:N,enabled:n.pluginEnabled[N],plugin:m}),n.pluginsArray.length===w+1&&R.dispatch({type:A.initializeStart,plugins:ee,disabled:Fe})}),uE(function(m){R.dispatch({type:m?A.offline:A.online})}),function(m,w,E){setInterval(function(){return ph(m,w,E)},3e3)}(R,l,S),S}var mn="before",gn="after",kr="cookie",lt=Eh(),Th=ha,fE=ha;function Ph(e){return lt?ha(e,"",-1):ar(e)}function Eh(){if(lt!==void 0)return lt;var e="cookiecookie";try{ha(e,e),lt=document.cookie.indexOf(e)!==-1,Ph(e)}catch{lt=!1}return lt}function ha(e,t,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return lt===!1&&(o?yt(e,t):gt(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",dE=fs.bind(null,"localStorage");ir("localStorage","getItem",gt);ir("localStorage","setItem",yt);ir("localStorage","removeItem",ar);var Rr="sessionStorage",hE=fs.bind(null,"sessionStorage");ir("sessionStorage","getItem",gt);ir("sessionStorage","setItem",yt);ir("sessionStorage","removeItem",ar);function zt(e){var t=e;try{if((t=JSON.parse(e))==="true")return!0;if(t==="false")return!1;if(ce(t))return t;parseFloat(t)===t&&(t=parseFloat(t))}catch{}if(t!==null&&t!=="")return t}var vE=dE(),pE=hE(),mE=Eh();function Oh(e,t){if(e){var r=ds(t),n=!ms(r),a=hs(r)?zt(localStorage.getItem(e)):void 0;if(n&&!xt(a))return a;var i=vs(r)?zt(Th(e)):void 0;if(n&&i)return i;var o=ps(r)?zt(sessionStorage.getItem(e)):void 0;if(n&&o)return o;var s=gt(e);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function gE(e,t,r){if(e&&!xt(t)){var n={},a=ds(r),i=JSON.stringify(t),o=!ms(a);return hs(a)&&(n[_r]=yn(_r,t,zt(localStorage.getItem(e))),localStorage.setItem(e,i),o)?n[_r]:vs(a)&&(n[kr]=yn(kr,t,zt(Th(e))),fE(e,i),o)?n[kr]:ps(a)&&(n[Rr]=yn(Rr,t,zt(sessionStorage.getItem(e))),sessionStorage.setItem(e,i),o)?n[Rr]:(n[Or]=yn(Or,t,gt(e)),yt(e,t),o?n[Or]:n)}}function yE(e,t){if(e){var r=ds(t),n=Oh(e,ch),a={};return!xt(n.localStorage)&&hs(r)&&(localStorage.removeItem(e),a[_r]=n.localStorage),!xt(n.cookie)&&vs(r)&&(Ph(e),a[kr]=n.cookie),!xt(n.sessionStorage)&&ps(r)&&(sessionStorage.removeItem(e),a[Rr]=n.sessionStorage),!xt(n.global)&&va(r,Or)&&(ar(e),a[Or]=n.global),a}}function ds(e){return e?tt(e)?e:e.storage:sh}function hs(e){return vE&&va(e,_r)}function vs(e){return mE&&va(e,kr)}function ps(e){return pE&&va(e,Rr)}function ms(e){return e===ch||e==="all"}function va(e,t){return e===sh||e===t||ms(e)}function yn(e,t,r){return{location:e,current:t,previous:r}}var wE={setItem:gE,getItem:Oh,removeItem:yE};function bE(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function yl(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 wl(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?yl(Object(r),!0).forEach(function(n){bE(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):yl(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function SE(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t={storage:wE};return lE(wl(wl({},t),e))}function $E(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 IE(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=PE(f);return a!==l&&(a=l,setTimeout(()=>e(f),0)),s.apply(r,u)}})}function TE(e,t){const r=e.indexOf(t);return r>-1?e.slice(0,r):e}function PE(e){return["#","?"].forEach(t=>e=TE(e,t)),e}function EE(){IE(()=>{He.page()})}function OE(e){if(e===void 0&&(e={}),!te)return vo;var t=Sl(),r=go(),n=bl(),a=wn(n,t),i=wn(r,t),o=[],s=[],u=[],f=n,l=a,c=i,d=Object.keys(e);if(!d.length)return vo;var h=d.map(function(b){return Number(b)}),v=MP(function(){var b=Sl(),g=function(L,x){return x.map(function(H){return H===100?L-5:L*(H/100)})}(b,h),T=go(),I=bl(),y=wn(I,b),p=wn(T,b);if(l=y>l?y:l,c=p<c?p:c,!(o.length>=h.length)){var S=f===I,O="up";S?O="initial":f<=I&&(O="down");var _=g,k=h;(O==="up"||S)&&(_=g.slice().reverse(),k=h.slice().reverse());var M=k.reduce(function(L,x,H){var R=_[H];return u.includes(x)&&I<=R&&(u=u.filter(function(Z){return Z!==x}),L.singleFunction=x),O==="down"&&!o.includes(x)&&I>=R&&x>i?(s.push(x),L.callbacks=L.callbacks.concat(x),L):O==="up"&&!o.includes(x)&&I<=R&&x<=y?(L.foundFunc=[x],L):(S&&I>=R&&L.foundFunc.length===0&&(L.foundFunc=[x]),!s.includes(x)&&I>=R&&(s.push(x),L.singleFunction?u.push(x):L.singleFunction=x),L)},{foundFunc:[],singleFunction:null,callbacks:[],direction:O});if(f=I,O==="down"&&M.callbacks&&M.callbacks.forEach(function(L){ue(e[L])&&(e[L]({trigger:L,direction:O,scrollMin:c,scrollMax:l,range:[c,l]}),o.push(L))}),M.singleFunction){var F=M.singleFunction,X=M.direction;ue(e[F])&&e[F]({trigger:F,direction:X,scrollMin:c,scrollMax:l,range:[c,l]}),o.push(F)}}},500);return window.addEventListener("scroll",v),function(){return window.removeEventListener("scroll",v)}}function go(){return te?document.body.scrollTop||document.documentElement.scrollTop:0}function kE(){return te?window.innerHeight||document.documentElement.clientHeight:0}function bl(){return Math.round(go()+kE())}function Sl(){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 wn(e,t){return Math.round(e/t*100)}var $l="EventListener";function _E(e){return function(t,r,n,a){var i=n||vo,o=a||!1;if(!te)return i;var s=Kn(r),u=Kn(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"+$l:"remove"+$l,h=0;h<u.length;h++){var v=u[h];f[h]=c?o&&o.once?RE(i):i:f[h]||i;for(var b=0;b<s.length;b++)v[d]?v["on"+s[b]]=c?f[h]:null:v[d](s[b],f[h],o)}return l.bind(null,!c)}(e)}}function Kn(e,t){if(tt(e))return t?Kn(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 tt(o)?Kn(o,!0):o}).flat():i}function RE(e,t){var r;return function(){return e&&(r=e.apply(this,arguments),e=null),r}}var ki=_E("Event");function kh(e,t){return te&&ue(window[e])?(r=window[e],n=t,(a=window)===void 0&&(a=null),ue(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[e]=t;var r,n,a}kh.bind(null,"onerror");kh.bind(null,"onload");var _h=typeof window>"u",Il="hidden";function CE(e){if(_h)return!1;var t=AE(),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 AE(){var e=["webkit","moz","ms","o"];return _h||Il in document?Il:e.reduce(function(t,r){var n=r+"Hidden";return!t&&n in document?n:t},null)}var jE=["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=CE(function(s){s||r({type:"tabVisible"})});return n=[o].concat(jE.map(function(s){return ki(document,s,r)})).concat(ki(window,"load",r)).concat(ki(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,h=function(){return clearTimeout(t)};function v(g){h(),i&&!l&&i(mr(d),g),a&&l&&(l=!1,a(mr(r),g),d=new Date),t=setTimeout(function(){l=!0,n&&(r=new Date,n(mr(d),g))},s)}var b=LE(v,{throttle:f});return{disable:function(){c=!0,l=!1,h();var g=b();return function(){return c=!1,d=new Date,v({type:"load"}),g()}},getStatus:function(){return{isIdle:l,isDisabled:c,active:l?0:mr(d,c),idle:l?mr(r,c):0}}}}function mr(e,t){return t?0:Math.round((new Date-e)/1e3)}const Tl=5e3;class NE{constructor(t){me(this,"element");me(this,"isInViewport",!1);me(this,"isAwake",!1);me(this,"isFlushing");me(this,"observer");me(this,"lastEventAt",Date.now());me(this,"registeredView",!1);me(this,"viewCallback");me(this,"activeDurationCallback");me(this,"idleDurationCallback");me(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:Tl}),OE({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*Tl: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 Pl="sesamy_session_id";function xE(){let e=sessionStorage.getItem(Pl);return e||(e=Math.random().toString(36).slice(2,9),sessionStorage.setItem(Pl,e)),e}let Rh=!1,yo,El,Gn;const Ch=new Map;function DE({clientId:e,enabled:t=!0,environment:r}){if(yo=e,El=t,Gn=`${Ke("logs",r)}/events`,!El)return;window.addEventListener("beforeunload",()=>{jh.forEach((a,i)=>{a.bind(i)()}),FE()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&Ch.forEach((a,i)=>{a.bind(i)()})}),EE();const n=new NE({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})}});BE(document.body,()=>{n.flush()}),zE(document.body,()=>{n.handleVisibilityChange()}),window.addEventListener(ve.AUTHENTICATED,async a=>{const i=a;await He.identify(i.detail.sub)}),window.addEventListener(ve.LOGOUT,async()=>{await He.track("logout",{}),gs.flush(),await He.reset()})}function Ah(e){return JSON.stringify(e.map(t=>({...t,clientId:yo,requestId:Math.random().toString(36).slice(2,9),sessionId:xE(),timestamp:new Date().toISOString(),version:ls,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:oh,userAgent:navigator.userAgent,clientId:yo}})))}const gs=$E(async e=>{if(e.length>0){const t=Ah(e);Rh?navigator.sendBeacon(Gn,t):(await fetch(Gn,{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(Gn,Ah([r]))}else gs.push(e)}const He=SE({app:oh,version:ls,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 ME(e,t){He.track(e,t)}function FE(){return Rh=!0,gs.flush()}const jh=new Map;function BE(e,t){jh.set(e,t)}function zE(e,t){Ch.set(e,t)}const HE=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function KE(){return new Promise(e=>{const t=HE.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 GE(){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}}let ke={article:{selector:"article"},image:{selector:"img",attribute:"src"},title:{selector:"h1",attribute:"textContent"},excerpt:{selector:"p",attribute:"textContent"},price:{selector:"article",attribute:"data-price"},currency:{selector:"article",attribute:"data-currency"},url:{selector:"link",attribute:"href"},id:{selector:"article",attribute:"data-id"}};function WE(e){var t;ke={...ke,...(t=e.content)==null?void 0:t.article}}function VE(e,t){const{selector:r}=t;return r===ke.article.selector?e:e.querySelector(r)}function ZE(e,t){if(e)return t.attribute?t.attribute==="textContent"?e.textContent??void 0:e.getAttribute(t.attribute)??void 0:e.textContent??void 0}function JE(){const e=document.querySelectorAll(ke.article.selector);return Array.from(e).map(t=>{const r={element:t},n=(a,i,o)=>{const s=VE(t,i);if(s){const u=ZE(s,i);u!==void 0&&(r[a]=o?o(u):u)}};return n("title",ke.title),n("excerpt",ke.excerpt),n("image",ke.image),n("price",ke.price,a=>parseFloat(a)),n("currency",ke.currency),n("url",ke.url),n("id",ke.id),r})}function YE(e){const{autoOnboardProduct:t,cancelContract:r,createCheckout:n,deleteTag:a,deleteTally:i,deleteUserMetadata:o,generateLink:s,getBill:u,getBills:f,getCheckout:l,getContract:c,getContracts:d,getEntitlement:h,getEntitlementAccess:v,getEntitlements:b,getFulfillments:g,getPaywall:T,getPaymentIssues:I,getProfile:y,getProduct:p,getSubscriptions:S,getTags:O,getTally:_,getTallies:k,getTransaction:M,getTransactions:F,getUserMetadata:X,hasAccess:L,isSpotifyLinked:x,linkSpotify:H,listUserMetadata:R,openHostedAccountPage:Z,pushTally:ee,setTag:Fe,setUserMetadata:m,unlinkSpotify:w,updateCheckout:E,updateProfile:U}=TP(e),N={analytics:{track:ME},attribution:{get:us,set:IP},auth:{getUser:y,isAuthenticated:jr,loginWithRedirect:ss,logout:qd,setToken:eh},bills:{get:u,list:f},browser:{detectAdblock:KE,isInAppBrowser:GE},checkouts:{create:n,get:l,update:E},clearCache:_e,content:{list:JE},contracts:{cancel:r,get:c,list:d},entitlements:{access:v,get:h,hasAccess:L,list:b,signedLinks:cs},fulfillments:{list:g},generateLink:s,getPaymentIssues:I,getVersion:XE,log:he,paywalls:{get:T},products:{autoOnboard:t,get:p,linkSpotify:H},profile:{get:y,isSpotifyLinked:x,openHostedAccountPage:Z,unlinkSpotify:w,update:U},subscriptions:{list:S},tags:{delete:a,list:O,set:Fe},tallies:{delete:i,get:_,list:k,push:ee},transactions:{get:M,list:F},userMetadata:{delete:o,get:X,list:R,set:m}};return e.namespace&&(window[e.namespace]=N),N}function XE(){return ls}function qE(e,t){e.style.position="relative",e.style.height="200px",e.style.overflow="hidden";let n=0;const a=Array.from(e.children);for(const o of a){const s=o.offsetHeight;n+s>200?o.remove():n+=s}const i=document.createElement("style");i.innerHTML=`
|
|
7
7
|
${t.selector}::before {
|
|
8
8
|
content: '';
|
|
9
9
|
position: absolute;
|
package/dist/sesamy-js.d.ts
CHANGED
|
@@ -221,6 +221,24 @@ export type Profile = {
|
|
|
221
221
|
billingAddress?: Address$1;
|
|
222
222
|
deliveryAddress?: Address$1;
|
|
223
223
|
};
|
|
224
|
+
export type Bill = {
|
|
225
|
+
id: string;
|
|
226
|
+
items: [
|
|
227
|
+
{
|
|
228
|
+
sku: string;
|
|
229
|
+
title: string;
|
|
230
|
+
purchaseOption: string;
|
|
231
|
+
}
|
|
232
|
+
];
|
|
233
|
+
currency: string;
|
|
234
|
+
price: number;
|
|
235
|
+
receiptUrl: string;
|
|
236
|
+
paymentMethod: string;
|
|
237
|
+
paymentProvider: string;
|
|
238
|
+
status: string;
|
|
239
|
+
createdAt: string;
|
|
240
|
+
updatedAt: string;
|
|
241
|
+
};
|
|
224
242
|
export type Contract = {
|
|
225
243
|
id: string;
|
|
226
244
|
name: string;
|
|
@@ -242,23 +260,14 @@ export type Contract = {
|
|
|
242
260
|
}[];
|
|
243
261
|
status: "DRAFT" | "PENDING" | "FORTHCOMING" | "ACTIVE" | "OVERDUE" | "EXPIRED" | "CLOSED" | "CANCELED" | "DELETED" | "VOIDED";
|
|
244
262
|
};
|
|
245
|
-
export type
|
|
263
|
+
export type Access = {
|
|
246
264
|
id: string;
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
];
|
|
254
|
-
currency: string;
|
|
255
|
-
price: number;
|
|
256
|
-
receiptUrl: string;
|
|
257
|
-
paymentMethod: string;
|
|
258
|
-
paymentProvider: string;
|
|
259
|
-
status: string;
|
|
260
|
-
createdAt: string;
|
|
261
|
-
updatedAt: string;
|
|
265
|
+
url: string;
|
|
266
|
+
title?: string;
|
|
267
|
+
filename?: string;
|
|
268
|
+
mimeType?: string;
|
|
269
|
+
type?: string;
|
|
270
|
+
token?: string;
|
|
262
271
|
};
|
|
263
272
|
export type TallyValue = string | number;
|
|
264
273
|
export type Tally = {
|
|
@@ -281,15 +290,6 @@ export type Product = {
|
|
|
281
290
|
createdAt: string;
|
|
282
291
|
updatedAt: string;
|
|
283
292
|
};
|
|
284
|
-
export type Access = {
|
|
285
|
-
id: string;
|
|
286
|
-
url: string;
|
|
287
|
-
title?: string;
|
|
288
|
-
filename?: string;
|
|
289
|
-
mimeType?: string;
|
|
290
|
-
type?: string;
|
|
291
|
-
token?: string;
|
|
292
|
-
};
|
|
293
293
|
type Product$1 = {
|
|
294
294
|
name: string;
|
|
295
295
|
description: string;
|
|
@@ -387,6 +387,13 @@ export interface GetEntitlementsOptions {
|
|
|
387
387
|
waitForEntitlementAfter?: Date;
|
|
388
388
|
}
|
|
389
389
|
declare function registerAPI(config: ApiConfig): {
|
|
390
|
+
analytics: {
|
|
391
|
+
track: typeof track;
|
|
392
|
+
};
|
|
393
|
+
attribution: {
|
|
394
|
+
get: typeof getAttribution;
|
|
395
|
+
set: typeof setAttribution;
|
|
396
|
+
};
|
|
390
397
|
auth: {
|
|
391
398
|
getUser: () => Promise<Profile | null>;
|
|
392
399
|
isAuthenticated: typeof isAuthenticated;
|
|
@@ -394,63 +401,67 @@ declare function registerAPI(config: ApiConfig): {
|
|
|
394
401
|
logout: typeof logout;
|
|
395
402
|
setToken: typeof setToken;
|
|
396
403
|
};
|
|
397
|
-
|
|
398
|
-
get:
|
|
399
|
-
|
|
404
|
+
bills: {
|
|
405
|
+
get: (billId: string) => Promise<Bill | undefined>;
|
|
406
|
+
list: () => Promise<Bill[]>;
|
|
407
|
+
};
|
|
408
|
+
browser: {
|
|
409
|
+
detectAdblock: typeof detectAdblock;
|
|
410
|
+
isInAppBrowser: typeof isInAppBrowser;
|
|
400
411
|
};
|
|
401
412
|
checkouts: {
|
|
402
|
-
get: (id: string) => Promise<unknown>;
|
|
403
413
|
create: (params: CreateCheckoutParams) => Promise<Checkout>;
|
|
414
|
+
get: (id: string) => Promise<unknown>;
|
|
404
415
|
update: (id: string, params: Partial<CreateCheckoutParams>) => Promise<unknown>;
|
|
405
416
|
};
|
|
406
|
-
|
|
407
|
-
get: () => Promise<Profile | null>;
|
|
408
|
-
update: (profile: Partial<Profile>) => Promise<boolean>;
|
|
409
|
-
openHostedAccountPage: () => Promise<void>;
|
|
410
|
-
isSpotifyLinked: () => Promise<boolean>;
|
|
411
|
-
unlinkSpotify: () => Promise<boolean>;
|
|
412
|
-
};
|
|
413
|
-
analytics: {
|
|
414
|
-
track: typeof track;
|
|
415
|
-
};
|
|
417
|
+
clearCache: typeof clearCache;
|
|
416
418
|
content: {
|
|
417
419
|
list: typeof listContent;
|
|
418
420
|
};
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
421
|
+
contracts: {
|
|
422
|
+
cancel: (contractId: string) => Promise<boolean>;
|
|
423
|
+
get: (contractId: string) => Promise<Contract | undefined>;
|
|
424
|
+
list: () => Promise<Contract[]>;
|
|
423
425
|
};
|
|
424
426
|
entitlements: {
|
|
427
|
+
access: (entitlementId: string) => Promise<Access>;
|
|
425
428
|
get: (entitlementId: string) => Promise<Entitlement | undefined>;
|
|
426
|
-
list: (params?: GetEntitlementsOptions) => Promise<Entitlement[]>;
|
|
427
429
|
hasAccess: (itemSrc: string, passes?: string[]) => Promise<Entitlement | undefined>;
|
|
428
|
-
|
|
430
|
+
list: (params?: GetEntitlementsOptions) => Promise<Entitlement[]>;
|
|
429
431
|
signedLinks: typeof getSignedLinks;
|
|
430
432
|
};
|
|
431
433
|
fulfillments: {
|
|
432
434
|
list: (sku: string) => Promise<Fulfillment[]>;
|
|
433
435
|
};
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
436
|
+
generateLink: (params: GenerateAccountLink | GenerateConsumeLink | GenerateCheckoutLink) => Promise<string>;
|
|
437
|
+
getPaymentIssues: () => Promise<PaymentIssues[]>;
|
|
438
|
+
getVersion: typeof getVersion;
|
|
439
|
+
log: typeof log;
|
|
440
|
+
paywalls: {
|
|
441
|
+
get: (paywallId: string) => Promise<unknown>;
|
|
438
442
|
};
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
443
|
+
products: {
|
|
444
|
+
autoOnboard: (sku: string) => Promise<Entitlement[]>;
|
|
445
|
+
get: (sku: string) => Promise<Product>;
|
|
446
|
+
linkSpotify: (sku: string) => Promise<void>;
|
|
442
447
|
};
|
|
443
|
-
|
|
444
|
-
get: (
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
448
|
+
profile: {
|
|
449
|
+
get: () => Promise<Profile | null>;
|
|
450
|
+
isSpotifyLinked: () => Promise<boolean>;
|
|
451
|
+
openHostedAccountPage: () => Promise<void>;
|
|
452
|
+
unlinkSpotify: () => Promise<boolean>;
|
|
453
|
+
update: (profile: Partial<Profile>) => Promise<boolean>;
|
|
454
|
+
};
|
|
455
|
+
subscriptions: {
|
|
456
|
+
list: () => Promise<Subscription[]>;
|
|
457
|
+
};
|
|
458
|
+
tags: {
|
|
451
459
|
delete: (id: string) => Promise<boolean>;
|
|
460
|
+
list: () => Promise<string[]>;
|
|
461
|
+
set: (id: string) => Promise<boolean>;
|
|
452
462
|
};
|
|
453
463
|
tallies: {
|
|
464
|
+
delete: (id: string) => Promise<boolean>;
|
|
454
465
|
get: (id: string) => Promise<TallyValue>;
|
|
455
466
|
list: () => Promise<{
|
|
456
467
|
[id: string]: TallyValue;
|
|
@@ -458,32 +469,21 @@ declare function registerAPI(config: ApiConfig): {
|
|
|
458
469
|
push: (id: string, tally: Tally) => Promise<{
|
|
459
470
|
[id: string]: TallyValue;
|
|
460
471
|
}[]>;
|
|
461
|
-
delete: (id: string) => Promise<boolean>;
|
|
462
|
-
};
|
|
463
|
-
subscriptions: {
|
|
464
|
-
list: () => Promise<Subscription[]>;
|
|
465
472
|
};
|
|
466
473
|
transactions: {
|
|
467
474
|
get: (transactionsId: string) => Promise<Transaction | undefined>;
|
|
468
475
|
list: () => Promise<Transaction[]>;
|
|
469
476
|
};
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
detectAdblock: typeof detectAdblock;
|
|
480
|
-
isInAppBrowser: typeof isInAppBrowser;
|
|
477
|
+
userMetadata: {
|
|
478
|
+
delete: (id: string) => Promise<boolean>;
|
|
479
|
+
get: (id: string) => Promise<string | number>;
|
|
480
|
+
list: () => Promise<{
|
|
481
|
+
[id: string]: string | number;
|
|
482
|
+
}>;
|
|
483
|
+
set: (id: string, value: string | number) => Promise<{
|
|
484
|
+
[id: string]: string | number;
|
|
485
|
+
}[]>;
|
|
481
486
|
};
|
|
482
|
-
getVersion: typeof getVersion;
|
|
483
|
-
getPaymentIssues: () => Promise<PaymentIssues[]>;
|
|
484
|
-
generateLink: (params: GenerateAccountLink | GenerateConsumeLink | GenerateCheckoutLink) => Promise<string>;
|
|
485
|
-
clearCache: typeof clearCache;
|
|
486
|
-
log: typeof log;
|
|
487
487
|
};
|
|
488
488
|
declare function getVersion(): string;
|
|
489
489
|
export type SesamyAPI = ReturnType<typeof registerAPI>;
|