@sesamy/sesamy-js 1.76.0 → 1.78.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -32,8 +32,8 @@
32
32
  * Please keep this comment intact in order to properly abide by the MIT License.
33
33
  *
34
34
  **/var ds={d:(t,e)=>{for(var r in e)ds.o(e,r)&&!ds.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},Hs={};ds.d(Hs,{A:()=>Lg,k:()=>Bs});var jr=function(t,e,r,n){return new(r||(r=Promise))(function(a,i){function o(l){try{u(n.next(l))}catch(c){i(c)}}function s(l){try{u(n.throw(l))}catch(c){i(c)}}function u(l){var c;l.done?a(l.value):(c=l.value,c instanceof r?c:new r(function(f){f(c)})).then(o,s)}u((n=n.apply(t,[])).next())})},Nr=function(t,e){var r,n,a,i,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},typeof Symbol=="function"&&(i[Symbol.iterator]=function(){return this}),i;function s(u){return function(l){return(function(c){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&c[0]?n.return:c[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,c[1])).done)return a;switch(n=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,n=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(a=o.trys,!((a=a.length>0&&a[a.length-1])||c[0]!==6&&c[0]!==2)){o=0;continue}if(c[0]===3&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(c[0]===6&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=e.call(t,o)}catch(f){c=[6,f],n=0}finally{r=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}})([u,l])}}};function Bs(){return jr(this,void 0,Promise,function(){return Nr(this,function(t){switch(t.label){case 0:return[4,new Promise(function(e,r){var n="Unknown",a=!1;function i(h){a||(a=!0,e({isPrivate:h,browserName:n}))}function o(){var h=0,d=parseInt("-1");try{d.toFixed(d)}catch(v){h=v.message.length}return h}function s(){return jr(this,void 0,void 0,function(){var h,d;return Nr(this,function(v){switch(v.label){case 0:return v.trys.push([0,2,,3]),[4,navigator.storage.getDirectory()];case 1:return v.sent(),i(!1),[3,3];case 2:return h=v.sent(),d=h instanceof Error&&typeof h.message=="string"?h.message:String(h),i(d.includes("unknown transient reason")),[3,3];case 3:return[2]}})})}function u(){var h;return jr(this,void 0,Promise,function(){return Nr(this,function(d){switch(d.label){case 0:return typeof((h=navigator.storage)===null||h===void 0?void 0:h.getDirectory)!="function"?[3,2]:[4,s()];case 1:return d.sent(),[3,3];case 2:navigator.maxTouchPoints!==void 0?(function(){var v=String(Math.random());try{var p=indexedDB.open(v,1);p.onupgradeneeded=function(g){var P=g.target.result,w=function(y){i(y)};try{P.createObjectStore("t",{autoIncrement:!0}).put(new Blob),w(!1)}catch(y){(y instanceof Error&&typeof y.message=="string"?y.message:String(y)).includes("are not yet supported")?w(!0):w(!1)}finally{P.close(),indexedDB.deleteDatabase(v)}},p.onerror=function(){return i(!1)}}catch{i(!1)}})():(function(){var v=window.openDatabase,p=window.localStorage;try{v(null,null,null,null)}catch{return void i(!0)}try{p.setItem("test","1"),p.removeItem("test")}catch{return void i(!0)}i(!1)})(),d.label=3;case 3:return[2]}})})}function l(){navigator.webkitTemporaryStorage.queryUsageAndQuota(function(h,d){var v=Math.round(d/1048576),p=2*Math.round((function(){var g,P,w,y=window;return(w=(P=(g=y?.performance)===null||g===void 0?void 0:g.memory)===null||P===void 0?void 0:P.jsHeapSizeLimit)!==null&&w!==void 0?w:1073741824})()/1048576);i(v<p)},function(h){r(new Error("detectIncognito somehow failed to query storage quota: "+h.message))})}function c(){self.Promise!==void 0&&self.Promise.allSettled!==void 0?l():(0,window.webkitRequestFileSystem)(0,1,function(){i(!1)},function(){i(!0)})}function f(){var h;return jr(this,void 0,Promise,function(){var d,v,p;return Nr(this,function(g){switch(g.label){case 0:if(typeof((h=navigator.storage)===null||h===void 0?void 0:h.getDirectory)!="function")return[3,5];g.label=1;case 1:return g.trys.push([1,3,,4]),[4,navigator.storage.getDirectory()];case 2:return g.sent(),i(!1),[3,4];case 3:return d=g.sent(),v=d instanceof Error&&typeof d.message=="string"?d.message:String(d),i(v.includes("Security error")),[2];case 4:return[3,6];case 5:(p=indexedDB.open("inPrivate")).onerror=function(P){p.error&&p.error.name==="InvalidStateError"&&P.preventDefault(),i(!0)},p.onsuccess=function(){indexedDB.deleteDatabase("inPrivate"),i(!1)},g.label=6;case 6:return[2]}})})}(function(){return jr(this,void 0,Promise,function(){return Nr(this,function(h){switch(h.label){case 0:return o()!==44&&o()!==43?[3,2]:(n="Safari",[4,u()]);case 1:return h.sent(),[3,6];case 2:return o()!==51?[3,3]:(d=navigator.userAgent,n=d.match(/Chrome/)?navigator.brave!==void 0?"Brave":d.match(/Edg/)?"Edge":d.match(/OPR/)?"Opera":"Chrome":"Chromium",c(),[3,6]);case 3:return o()!==25?[3,5]:(n="Firefox",[4,f()]);case 4:return h.sent(),[3,6];case 5:navigator.msSaveBlob!==void 0?(n="Internet Explorer",i(window.indexedDB===void 0)):r(new Error("detectIncognito cannot determine the browser")),h.label=6;case 6:return[2]}var d})})})().catch(r)})];case 1:return[2,t.sent()]}})})}typeof window<"u"&&(window.detectIncognito=Bs);const Lg=Bs;Hs.A;const $g=Hs.k,mn="sesamy_incognito_mode";function Gs(){try{const t=sessionStorage.getItem(mn);return t===null?void 0:t==="true"}catch{return}}async function qg(){try{const t=sessionStorage.getItem(mn);if(t!==null)return t==="true";const{isPrivate:e}=await $g();return sessionStorage.setItem(mn,e.toString()),e}catch{try{sessionStorage.setItem(mn,"false")}catch{}return!1}}function Vr(){return typeof window<"u"}function jg(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function Ng(){return/android/i.test(navigator.userAgent)}let Oe,kv,Gr,hs=!1,gn=!1;Vr()&&window.addEventListener("pageshow",()=>{gn=!1});const yr="sesamyAccessToken",Wo="sesamyRefreshToken",In="sesamySilentAuthThrottle",xg=300*1e3;async function Bn(){return hs?!0:new Promise((t,e)=>{const r=setTimeout(()=>{hs?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(Be.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function Dg(t){if(!t)return null;const e=localStorage.getItem(Wo);if(!e)return ce("No refresh token found in localstorage"),null;const r=new URLSearchParams;r.set("client_id",t.iss),r.set("refresh_token",e),r.set("grant_type","refresh_token");const n=new URL(t.iss);n.pathname="/oauth/token",n.searchParams.set("user_id",t.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(Wo),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(Wo,i.refresh_token),localStorage.setItem(yr,i.access_token),i.access_token}catch{Js()}}async function Ws(){const t=localStorage.getItem(yr);if(!t)return null;const e=Zs(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await Dg(e);if(r)return r;localStorage.removeItem(yr)}return t}let cn=null;const Mg=64;function Fg(){try{if(cn!==null)return cn;const e=Object.keys(localStorage).filter(r=>r.startsWith("@@auth0spajs@@"));for(const r of e){const n=JSON.parse(localStorage.getItem(r)||"{}");let a;if(typeof n=="object"&&(n.body&&typeof n.body=="object"&&"refresh_token"in n.body?a=n.body.refresh_token:"refresh_token"in n&&(a=n.refresh_token)),a&&typeof a=="string"&&a.length===Mg)return cn=!0,!0}}catch(t){ce(`Error checking for existing auth0 tokens: ${t.message}`)}return cn=!1,!1}function Kg(t){if(t.domains&&t.domains.length>0){const e=wr(window.location.href);if(e){for(const r of t.domains)if(wr(`https://${r}`)===e)return ce(`Found matching domain in domains array: ${r} for TLD: ${e}`),r;ce(`No matching domain found in domains array for TLD: ${e}`)}}if(t.domain)return ce(`Using fallback domain property: ${t.domain}`),t.domain}function wr(t){try{const e=new URL(t).hostname,r=e.split(".");if(r.length<=1)return e;const n=["co.uk","com.au","co.nz","co.za","com.br","co.jp","gov.uk","ac.uk","org.uk","net.uk","com.sg","com.my","co.in","co.id","co.th","co.kr","com.mx","com.ar","com.co","com.pe","com.ph","com.pk","com.sa","com.eg","com.ng","co.ke","co.tz","co.zw","co.bw","co.mz","gov.au","edu.au","org.au","net.au","asn.au","id.au"];for(const a of n)if(e.endsWith(`.${a}`)){const i=a.split(".").length+1;return r.slice(-i).join(".")}return r.slice(-2).join(".")}catch{return null}}async function zg(t){if(t.enabled===!1)return;kv=t.organization;const e=Kg(t);Gr=e&&!Fg()?e:Ev("token",t.environment);const r={domain:Gr,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",wr(window.location.href)!==wr(`https://${Gr}`)&&(r.useRefreshTokens=!0),ce(`Initializing auth0 client: ${JSON.stringify(r)}`),Oe=await Og(r);const n=new URLSearchParams(window.location.search),a=n.get("code"),i=n.get("state");if(a)if(window.opener)ce("Code found in URL, posting to opener"),window.opener.postMessage({type:"authorization_response",response:{code:a,state:i}},window.location.origin);else{ce("Code found in URL, handling redirect");const o=window.location.href,s=new URL(location.href),u=s.searchParams;u.delete("code"),u.delete("state"),s.search=u.toString(),window.history.replaceState({},document.title,s.toString()),ce("Rewrote url to remove code and state");try{const l=await Oe.handleRedirectCallback(o);ce(`Login result: ${JSON.stringify(l)}`);const c=await Oe.getUser();if(!c)throw ce("No user found"),new Error("No user found");ce(`User found ${JSON.stringify(c)}`),Vs(),ce(`Triggering AUTHENTICATED event with appState: ${JSON.stringify(l.appState)}`),Vt(Be.AUTHENTICATED,{...c,appState:l.appState})}catch(l){alert("There was an error logging in"),console.error(l)}}hs=!0,Vt(Be.AUTH_INITIALIZED,{})}async function vr(){return await Bn(),await Ws()?!0:Oe?Oe.isAuthenticated():!1}async function Hg(){return await Bn(),await Ws()?(ce("Using local user"),{sub:"local",name:"Local User"}):Oe?Oe.getUser():null}function _v(t){if(gn)return ce("Login already in progress"),null;if(gn=!0,setTimeout(()=>{gn=!1},3e3),localStorage.removeItem(yr),!Oe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:kv,redirect_uri:window.location.href,ui_locales:Br(),incognito:Gs(),...e}}}async function Gn(t){const e=_v(t);if(e)return Oe.loginWithRedirect(e)}async function Tv(t){const e=_v(t);if(!e)return;await Oe.loginWithPopup(e,{timeoutInSeconds:1800}),Vs();const r=await Oe.getUser();if(!r)throw ce("No user found after popup login"),new Error("No user found");const n=new CustomEvent(Be.AUTHENTICATED,{detail:{...r,appState:t?.appState},composed:!0,bubbles:!0});window.dispatchEvent(n)&&window.location.reload()}async function Bg(t){return Gr&&wr(window.location.href)!==wr(`https://${Gr}`)&&(jg()||Ng()||Gs())?Tv(t):Gn(t)}function Gg(){try{const t=sessionStorage.getItem(In);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<xg}catch{return sessionStorage.removeItem(In),!1}}function Wg(){try{const t={timestamp:Date.now()};sessionStorage.setItem(In,JSON.stringify(t))}catch{ce("Failed to set silent auth throttle in sessionStorage")}}function Vs(){try{sessionStorage.removeItem(In)}catch{}}async function jt(t=!0,e=!1){await Bn();const r=await Ws();if(r)return r;if(!e&&Gg()){if(ce("Silent auth is throttled due to recent failures, skipping request"),t)throw new Error("Silent auth throttled");return null}try{if(!Oe)return ce("Auth client not initialized"),null;let n=await Oe.getTokenSilently();const a=Zs(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await Oe.getTokenSilently({cacheMode:e?"off":"on"})),Vs(),n}catch(n){const a=n;if(ce(`Failed to get token silently: ${a.message}`),Wg(),await Oe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await Js(),t)throw n;return null}}async function Js(t={}){if(await Bn(),localStorage.removeItem(yr),Vt(Be.LOGOUT,{}),!!Oe)return ce(`Logout with options: ${JSON.stringify(t)}`),Oe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function Zs(t){const e=t.split(".");if(e.length!==3)return null;const n=e[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 vs(t){const e=Zs(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");ce("Set token"),localStorage.setItem(yr,t),Vt(Be.AUTHENTICATED,{...e,appState:void 0})}const Vg=(t,e)=>e.skipDedupe||e.method!=="GET",Jg=(t,e)=>e.method+"@"+t,Zg=t=>t.clone(),Yg=({skip:t=Vg,key:e=Jg,resolver:r=Zg}={})=>{const n=new Map;return a=>(i,o)=>{if(t(i,o))return a(i,o);const s=e(i,o);if(!n.has(s))n.set(s,[]);else return new Promise((u,l)=>{n.get(s).push([u,l])});try{return a(i,o).then(u=>(n.get(s).forEach(([l])=>l(r(u))),n.delete(s),u)).catch(u=>{throw n.get(s).forEach(([,l])=>l(u)),n.delete(s),u})}catch(u){return n.delete(s),Promise.reject(u)}}},Xg=(t,e)=>t*e,Qg=t=>t&&t.ok,ey=({delayTimer:t=500,delayRamp:e=Xg,maxAttempts:r=10,until:n=Qg,onRetry:a=null,retryOnNetworkError:i=!1,resolveWithLatestResponse:o=!1,skip:s}={})=>u=>(l,c)=>{let f=0;if(s&&s(l,c))return u(l,c);const h=(d,v)=>Promise.resolve(n(d,v)).then(p=>p?d&&o?d:v?Promise.reject(v):d:(f++,!r||f<=r?new Promise(g=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((w={})=>{var y,m;g(u((y=w&&w.url)!==null&&y!==void 0?y:l,(m=w&&w.options)!==null&&m!==void 0?m:c))}):g(u(l,c))},P)}).then(h).catch(g=>{if(!i)throw g;return h(null,g)}):d&&o?d:Promise.reject(v||new Error("Number of attempts exceeded."))));return u(l,c).then(h).catch(d=>{if(!i)throw d;return h(null,d)})};let Vo=class Rv extends Error{status;statusText;url;body;constructor(e,r,n,a,i){super(a),this.name="APIError",this.status=e,this.statusText=r,this.url=n,this.body=i,Error.captureStackTrace&&Error.captureStackTrace(this,Rv)}isClientError(){return this.status>=400&&this.status<500}isServerError(){return this.status>=500}isForbiddenError(){return this.status===403}isNotFoundError(){return this.status===404}};var Pn=(t=>(t.BROWSER="browser",t.NORMAL="normal",t))(Pn||{});const ty="application/json",Ov="Content-Type",sr=Symbol(),Cv=Symbol();function wd(t={}){var e;const r=t instanceof Array?Object.fromEntries(t):t;return(e=Object.entries(r).find(([n])=>n.toLowerCase()===Ov.toLowerCase()))===null||e===void 0?void 0:e[1]}function bd(t){return/^application\/.*json.*/.test(t)}const zt=function(t,e,r=!1){return Object.entries(e).reduce((n,[a,i])=>{const o=t[a];return Array.isArray(o)&&Array.isArray(i)?n[a]=r?[...o,...i]:i:typeof o=="object"&&typeof i=="object"?n[a]=zt(o,i,r):n[a]=i,n},{...t})},br={options:{},errorType:"text",polyfills:{},polyfill(t,e=!0,r=!1,...n){const a=this.polyfills[t]||(typeof self<"u"?self[t]:null)||(typeof global<"u"?global[t]:null);if(e&&!a)throw new Error(t+" is not defined");return r&&a?new a(...n):a}};function ry(t,e=!1){br.options=e?t:zt(br.options,t)}function ny(t,e=!1){br.polyfills=e?t:zt(br.polyfills,t)}function ay(t){br.errorType=t}const iy=t=>e=>t.reduceRight((r,n)=>n(r),e)||e;let Av=class extends Error{};const oy=t=>{const e=Object.create(null);t=t._addons.reduce((y,m)=>m.beforeRequest&&m.beforeRequest(y,t._options,e)||y,t);const{_url:r,_options:n,_config:a,_catchers:i,_resolvers:o,_middlewares:s,_addons:u}=t,l=new Map(i),c=zt(a.options,n);let f=r;const h=iy(s)((y,m)=>(f=y,a.polyfill("fetch")(y,m)))(r,c),d=new Error,v=h.catch(y=>{throw{[sr]:y}}).then(y=>{var m;if(!y.ok){const b=new Av;if(b.cause=d,b.stack=b.stack+`
35
- CAUSE: `+d.stack,b.response=y,b.status=y.status,b.url=f,y.type==="opaque")throw b;const R=a.errorType==="json"||((m=y.headers.get("Content-Type"))===null||m===void 0?void 0:m.split(";")[0])==="application/json";return(a.errorType?R?y.text():y[a.errorType]():Promise.resolve(y.body)).then(A=>{if(b.message=typeof A=="string"?A:y.statusText,A)if(R&&typeof A=="string"){b.text=A;try{b.json=JSON.parse(A)}catch{}}else b[a.errorType]=A;throw b})}return y}),p=y=>y.catch(m=>{const b=Object.prototype.hasOwnProperty.call(m,sr),R=b?m[sr]:m,A=R?.status&&l.get(R.status)||l.get(R?.name)||b&&l.has(sr)&&l.get(sr);if(A)return A(R,t);const j=l.get(Cv);if(j)return j(R,t);throw R}),g=y=>m=>p(y?v.then(b=>b&&b[y]()).then(b=>m?m(b):b):v.then(b=>m?m(b):b)),P={_wretchReq:t,_fetchReq:h,_sharedState:e,res:g(null),json:g("json"),blob:g("blob"),formData:g("formData"),arrayBuffer:g("arrayBuffer"),text:g("text"),error(y,m){return l.set(y,m),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(sr,y)}},w=u.reduce((y,m)=>({...y,...typeof m.resolver=="function"?m.resolver(y):m.resolver}),P);return o.reduce((y,m)=>m(y,t),w)},sy={_url:"",_options:{},_config:br,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(t){return{...this,_addons:[...this._addons,t],...t.wretch}},errorType(t){return{...this,_config:{...this._config,errorType:t}}},polyfills(t,e=!1){return{...this,_config:{...this._config,polyfills:e?t:zt(this._config.polyfills,t)}}},url(t,e=!1){if(e)return{...this,_url:t};const r=this._url.split("?");return{...this,_url:r.length>1?r[0]+t+"?"+r[1]:this._url+t}},options(t,e=!1){return{...this,_options:e?t:zt(this._options,t)}},headers(t){const e=t?Array.isArray(t)?Object.fromEntries(t):"entries"in t?Object.fromEntries(t.entries()):t:{};return{...this,_options:zt(this._options,{headers:e})}},accept(t){return this.headers({Accept:t})},content(t){return this.headers({[Ov]:t})},auth(t){return this.headers({Authorization:t})},catcher(t,e){const r=new Map(this._catchers);return r.set(t,e),{...this,_catchers:r}},catcherFallback(t){return this.catcher(Cv,t)},resolve(t,e=!1){return{...this,_resolvers:e?[t]:[...this._resolvers,t]}},defer(t,e=!1){return{...this,_deferred:e?[t]:[...this._deferred,t]}},middlewares(t,e=!1){return{...this,_middlewares:e?t:[...this._middlewares,...t]}},fetch(t=this._options.method,e="",r=null){let n=this.url(e).options({method:t});const a=wd(n._options.headers),i=this._config.polyfill("FormData",!1),o=typeof r=="object"&&!(i&&r instanceof i)&&(!n._options.headers||!a||bd(a));return n=r?o?n.json(r,a):n.body(r):n,oy(n._deferred.reduce((s,u)=>u(s,s._url,s._options),n))},get(t=""){return this.fetch("GET",t)},delete(t=""){return this.fetch("DELETE",t)},put(t,e=""){return this.fetch("PUT",e,t)},post(t,e=""){return this.fetch("POST",e,t)},patch(t,e=""){return this.fetch("PATCH",e,t)},head(t=""){return this.fetch("HEAD",t)},opts(t=""){return this.fetch("OPTIONS",t)},body(t){return{...this,_options:{...this._options,body:t}}},json(t,e){const r=wd(this._options.headers);return this.content(e||bd(r)&&r||ty).body(JSON.stringify(t))}};function ct(t="",e={}){return{...sy,_url:t,_options:e}}ct.default=ct;ct.options=ry;ct.errorType=ay;ct.polyfills=ny;ct.WretchError=Av;const cy=(t,e)=>e.skipDedupe||e.method!=="GET",uy=(t,e)=>e.method+"@"+t,ly=t=>t.clone(),fy=({skip:t=cy,key:e=uy,resolver:r=ly}={})=>{const n=new Map;return a=>(i,o)=>{if(t(i,o))return a(i,o);const s=e(i,o);if(!n.has(s))n.set(s,[]);else return new Promise((u,l)=>{n.get(s).push([u,l])});try{return a(i,o).then(u=>(n.get(s).forEach(([l])=>l(r(u))),n.delete(s),u)).catch(u=>{throw n.get(s).forEach(([,l])=>l(u)),n.delete(s),u})}catch(u){return n.delete(s),Promise.reject(u)}}},dy=(t,e)=>e.skipCache||e.method!=="GET",hy=(t,e)=>e.method+"@"+t,vy=()=>!1,py=()=>null,my=t=>t.ok,gy=({throttle:t=1e3,skip:e=dy,key:r=hy,clear:n=vy,invalidate:a=py,condition:i=my,flagResponseOnCacheHit:o="__cached"}={})=>{const s=new Map,u=new Map,l=new Set,c=h=>{t&&!l.has(h)&&(l.add(h),setTimeout(()=>{l.delete(h)},t))},f=h=>(d,v)=>{const p=r(d,v);let g=a(d,v);if(g&&(g instanceof Array||(g=[g]),g.forEach(P=>{typeof P=="string"?s.delete(P):P instanceof RegExp&&s.forEach((w,y)=>{P.test(y)&&s.delete(y)})})),n(d,v)&&s.clear(),e(d,v))return h(d,v);if(l.has(p)){if(s.has(p)){const P=s.get(p).clone();return o&&Object.defineProperty(P,o,{value:p,enumerable:!1}),Promise.resolve(P)}else if(u.has(p))return new Promise((P,w)=>{u.get(p).push([P,w])})}return u.has(p)||u.set(p,[]),c(p),h(d,v).then(P=>(i(P.clone())&&s.set(p,P.clone()),u.get(p).forEach(([w])=>w(P.clone())),u.delete(p),P)).catch(P=>{throw u.get(p).forEach(([,w])=>w(P)),u.delete(p),P})};return f.cacheResponse=function(h,d){c(h),s.set(h,d)},f.cache=s,f.inflight=u,f.throttling=l,f},yy=(t,e)=>t*e,wy=t=>t&&t.ok,by=({delayTimer:t=500,delayRamp:e=yy,maxAttempts:r=10,until:n=wy,onRetry:a=null,retryOnNetworkError:i=!1,resolveWithLatestResponse:o=!1,skip:s}={})=>u=>(l,c)=>{let f=0;if(s&&s(l,c))return u(l,c);const h=(d,v)=>Promise.resolve(n(d,v)).then(p=>p?d&&o?d:v?Promise.reject(v):d:(f++,!r||f<=r?new Promise(g=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((w={})=>{var y,m;g(u((y=w&&w.url)!==null&&y!==void 0?y:l,(m=w&&w.options)!==null&&m!==void 0?m:c))}):g(u(l,c))},P)}).then(h).catch(g=>{if(!i)throw g;return h(null,g)}):d&&o?d:Promise.reject(v||new Error("Number of attempts exceeded."))));return u(l,c).then(h).catch(d=>{if(!i)throw d;return h(null,d)})},Sy="@sesamy/sdk",Iy="1.22.0";let Py=class{cache=new Map;get(e){return this.cache.get(e)||null}set(e,r){this.cache.set(e,r)}remove(e){this.cache.delete(e)}clear(){this.cache.clear()}};const Fr="sesamyCacheTimestamp",Ey=t=>{const{libraryName:e=Sy,libraryVersion:r=Iy,cache:n}=t,a=n?.storage||new Py,i=[s=>async(u,l)=>{if(n?.mode===Pn.BROWSER){let c;typeof sessionStorage<"u"?(c=sessionStorage.getItem(Fr),c||(c=Date.now().toString(),sessionStorage.setItem(Fr,c))):(c=a.get(Fr),c||(c=Date.now().toString(),a.set(Fr,c)));const f={...l,headers:{...l.headers,"Cache-Timestamp":c}};return s(u,f)}return s(u,l)},s=>async(u,l)=>{const c=await t.tokenProvider(),f={...l,headers:{...l.headers,Authorization:c}};return s(u,f)},fy()];n?.mode===Pn.NORMAL&&i.push(gy({throttle:300*1e3,skip:(s,u)=>u.method!=="GET"})),i.push(by({delayTimer:1e3,delayRamp:(s,u)=>s*u,maxAttempts:3,until:s=>!!(s&&(s.ok||s.status>=400&&s.status<500)),retryOnNetworkError:!1}));const o=ct(t.baseUrl).headers({"Content-Type":"application/json","X-Sesamy-Client":`${e}/${r}`,...t.headers}).middlewares(i);return{async request(s,u={}){try{const l=/^https?:\/\//.test(s);let c=o.url(s,l);u.headers&&(c=c.headers(u.headers));const f=(u.method||"GET").toLowerCase();let h;switch(f){case"get":h=c.get();break;case"post":h=c.post(u.body);break;case"put":h=c.put(u.body);break;case"patch":h=c.patch(u.body);break;case"delete":h=c.delete();break;default:h=c.get()}const d=await h.res();if(d.ok&&["post","patch","put","delete"].includes(f)&&vt(),d.status===204)return null;if(!d.ok){const v=await d.text().catch(()=>"Unknown error");throw new Vo(d.status,d.statusText,d.url,`API Error ${d.status}: ${v}`,v)}return await d.json()}catch(l){if(l instanceof Vo)throw l;const c=l.status||500,f=l.message||"Unknown error",h=`${t.baseUrl}${s}`;throw new Vo(c,f,h,`API Error ${c}: ${l.message||"Unknown error"}`,l.message||"Unknown error")}}}},vt=()=>(typeof sessionStorage<"u"&&sessionStorage.removeItem(Fr),"Cache cleared"),xr={get:async(t,e)=>t.request(`/profile/${e}`),update:async(t,e,r)=>t.request(`/profile/${e}`,{method:"PATCH",body:JSON.stringify(r)}),checkSpotifyLink:async t=>t.request("/profile/spotify-link"),unlinkSpotify:async t=>t.request("/profile/unlink-spotify",{method:"POST"}),delete:async t=>{await t.request("/profile",{method:"DELETE"})}},Jo={list:async(t,e)=>{const r=new URLSearchParams;e?.type&&r.append("type",e.type),e?.sku&&r.append("sku",e.sku),e?.purchaseOptionId&&r.append("purchase-option-id",e.purchaseOptionId),e?.waitForEntitlementAfter&&r.append("wait-for-entitlement-after",e.waitForEntitlementAfter);const n=r.toString(),a=n?`/entitlements?${n}`:"/entitlements";return t.request(a)},get:async(t,e)=>t.request(`/entitlements/${e}`),getAccess:async(t,e)=>t.request(`/entitlements/${e}/access`)},Sd={list:async t=>t.request("/subscriptions"),get:async(t,e)=>t.request(`/subscriptions/${e}`)},Id={get:async(t,e)=>t.request(`/products/${e}`),autoOnboard:async(t,e)=>t.request(`/products/${e}/auto-onboard`,{method:"POST"})},ky=(t,e)=>{if(!t||!e)return t;const r=new URL(t);return r.hash=`access_token=${e}`,r.toString()},Pd=(t,e)=>!t.manageUrl||!e?t:{...t,manageUrl:ky(t.manageUrl,e)},Dr={list:async t=>t.request("/contracts"),get:async(t,e)=>t.request(`/contracts/${e}`),cancel:async(t,e)=>t.request(`/contracts/${e}/cancel`,{method:"POST"}),createAmendment:async(t,e,r)=>t.request(`/contracts/${e}/amendments`,{method:"POST",body:JSON.stringify(r)}),confirmAmendment:async(t,e,r)=>t.request(`/contracts/${e}/amendments/${r}/confirm`,{method:"POST"})},Zo={get:async t=>t.request("/user-metadata"),set:async(t,e,r)=>{await t.request(`/user-metadata/${e}`,{method:"PUT",body:r})},delete:async(t,e)=>{await t.request(`/user-metadata/${e}`,{method:"DELETE"})}},cr={list:async t=>t.request("/tallies"),get:async(t,e)=>t.request(`/tallies/${e}`),update:async(t,e,r)=>t.request(`/tallies/${e}`,{method:"PUT",body:JSON.stringify(r)}),create:async(t,e)=>t.request("/tallies",{method:"POST",body:JSON.stringify(e)}),delete:async(t,e)=>{try{return await t.request(`/tallies/${e}`,{method:"DELETE"}),!0}catch{return!1}},push:async(t,e,r)=>t.request(`/tallies/${e}/push`,{method:"POST",body:JSON.stringify(r)})},Yo={list:async t=>t.request("/tags"),add:async(t,e)=>{await t.request("/tags",{method:"POST",body:JSON.stringify({tag:e})})},remove:async(t,e)=>{await t.request(`/tags/${e}`,{method:"DELETE"})}},ur={generateCheckoutLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkouts`);return e.items&&r.searchParams.set("items",JSON.stringify(e.items)),e.email&&r.searchParams.set("email",e.email),e.language&&r.searchParams.set("lang",e.language),e.redirectUrl&&r.searchParams.set("redirect-url",e.redirectUrl),e.giftMode&&r.searchParams.set("gift-mode","true"),e.payerEmail&&r.searchParams.set("payer-email",e.payerEmail),e.requireAddress&&r.searchParams.set("require-address","true"),e.metadata&&Object.entries(e.metadata).forEach(([n,a])=>{r.searchParams.set(`metadata.${n}`,a)}),r.toString()},generateAccountLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}${e.contractId?`/${encodeURIComponent(e.contractId)}`:""}`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateChangePaymentLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.contractId)}/change-payment-method`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateChangePlanLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.contractId)}/edit-plan`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateConsumeLink:(t,e)=>{const r=e.language||"en";let n=new URL(`${t.baseUrl}/consume/${encodeURIComponent(r)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.sku)}`);return e.episodeId?n.href+=`/${encodeURIComponent(e.episodeId)}`:n.href+="/listen",n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()}},Xo={generateLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkouts`);return e.items&&r.searchParams.set("items",JSON.stringify(e.items)),e.email&&r.searchParams.set("email",e.email),e.language&&r.searchParams.set("lang",e.language),e.redirectUrl&&r.searchParams.set("redirect-url",e.redirectUrl),e.giftMode&&r.searchParams.set("gift-mode","true"),e.payerEmail&&r.searchParams.set("payer-email",e.payerEmail),e.requireAddress&&r.searchParams.set("require-address","true"),e.metadata&&Object.entries(e.metadata).forEach(([n,a])=>{r.searchParams.set(`metadata.${n}`,a)}),r.toString()},create:async(t,e)=>t.request("/checkouts",{method:"POST",body:JSON.stringify(e)}),get:async(t,e)=>t.request(`/checkouts/${e}`),update:async(t,e,r)=>t.request(`/checkouts/${e}`,{method:"PATCH",body:JSON.stringify(r)})},Ed={list:async t=>t.request("/bills"),get:async(t,e)=>t.request(`/bills/${e}`)},kd={list:async t=>t.request("/fulfillments"),create:async(t,e)=>t.request("/fulfillments",{method:"POST",body:JSON.stringify(e)})},_y={get:async(t,e)=>{try{return new URL(e),t.request(e)}catch{return t.request(`/paywalls/${e}`)}}},Ty={list:async t=>t.request("/payment-issues")},Ry={content:async(t,e,r,n,a)=>{const i=new URLSearchParams({url:e});return r&&i.append("selector",r),n&&i.append("cache",n),t.request(`/proxy?${i.toString()}`,a)}},Oy={list:async(t,e)=>{const r=(e?new URLSearchParams({q:e}):new URLSearchParams).toString(),n=r?`/transactions?${r}`:"/transactions";return t.request(n)}},_d={get:async t=>t.request("/vendor"),list:async t=>t.request("/vendors")},Cy=t=>{const e=Ey(t);return{profile:{get:r=>xr.get(e,r),update:(r,n)=>xr.update(e,r,n),checkSpotifyLink:()=>xr.checkSpotifyLink(e),unlinkSpotify:()=>xr.unlinkSpotify(e),delete:()=>xr.delete(e)},entitlements:{list:r=>Jo.list(e,r),get:r=>Jo.get(e,r),getAccess:r=>Jo.getAccess(e,r)},subscriptions:{list:()=>Sd.list(e),get:r=>Sd.get(e,r)},products:{get:r=>Id.get(e,r),autoOnboard:r=>Id.autoOnboard(e,r)},contracts:{list:async()=>{const r=await Dr.list(e),n=await t.tokenProvider();if(!n.toLowerCase().startsWith("bearer "))return r;const a=n.substring(7);return r.map(i=>Pd(i,a))},get:async r=>{const n=await Dr.get(e,r),a=await t.tokenProvider();if(!a.toLowerCase().startsWith("bearer "))return n;const i=a.substring(7);return Pd(n,i)},cancel:r=>Dr.cancel(e,r),createAmendment:(r,n)=>Dr.createAmendment(e,r,n),confirmAmendment:(r,n)=>Dr.confirmAmendment(e,r,n)},userMetadata:{get:()=>Zo.get(e),set:(r,n)=>Zo.set(e,r,n),delete:r=>Zo.delete(e,r)},tallies:{list:()=>cr.list(e),get:r=>cr.get(e,r),update:(r,n)=>cr.update(e,r,n),create:r=>cr.create(e,r),delete:r=>cr.delete(e,r),push:(r,n)=>cr.push(e,r,n)},tags:{list:()=>Yo.list(e),add:r=>Yo.add(e,r),remove:r=>Yo.remove(e,r)},checkouts:{generateLink:(r,n)=>ur.generateCheckoutLink(r,n),create:r=>Xo.create(e,r),get:r=>Xo.get(e,r),update:(r,n)=>Xo.update(e,r,n)},links:{generateCheckoutLink:(r,n)=>ur.generateCheckoutLink(r,n),generateAccountLink:(r,n)=>ur.generateAccountLink(r,n),generateChangePaymentLink:(r,n)=>ur.generateChangePaymentLink(r,n),generateChangePlanLink:(r,n)=>ur.generateChangePlanLink(r,n),generateConsumeLink:(r,n)=>ur.generateConsumeLink(r,n)},bills:{list:()=>Ed.list(e),get:r=>Ed.get(e,r)},fulfillments:{list:()=>kd.list(e),create:r=>kd.create(e,r)},paywalls:{get:r=>_y.get(e,r)},paymentIssues:{list:()=>Ty.list(e)},proxy:{content:(r,n,a,i)=>Ry.content(e,r,n,a,i)},transactions:{list:r=>Oy.list(e,r)},vendor:{get:()=>_d.get(e),list:()=>_d.list(e)}}};class Ay{get(e){return typeof sessionStorage>"u"?null:sessionStorage.getItem(e)}set(e,r){typeof sessionStorage<"u"&&sessionStorage.setItem(e,r)}remove(e){typeof sessionStorage<"u"&&sessionStorage.removeItem(e)}clear(){}}function ps(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function Uv(t,e){if(ps(t))return{itemSrc:t};const r=t.split(":");if(r.length<2)throw new Error(`Invalid itemSrc format: expected at least 2 segments separated by ':', got ${r.length}`);const[n,a,i]=r;if(!a)throw new Error("Invalid itemSrc format: sku segment is empty");return{sku:`${n}:${a}`,purchaseOption:e||i}}function Td(t){return t.endsWith("/")?t.slice(0,-1):t}function Rd(t,e){if(!ps(t)||!ps(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&Td(r.pathname)===Td(n.pathname)}function Uy(t,e,r){const n=new URL(`${ot("checkout3",t.environment)}`);e.language&&n.searchParams.set("lang",e.language);let a=e.sku,i=e.purchaseOptionId,o=e.itemSrc;if(e.itemSrc){const c=Uv(e.itemSrc,e.purchaseOptionId);a=c.sku||a,i=c.purchaseOption||i,o=c.itemSrc}a?(n.searchParams.set("sku",a),i&&n.searchParams.set("po-id",i)):o&&n.searchParams.set("url",o),e.email&&n.searchParams.set("email",e.email),e.business&&n.searchParams.set("business","true"),e.currency&&n.searchParams.set("currency",e.currency),e.price&&n.searchParams.set("price",e.price.toString()),e.discountCode&&n.searchParams.set("discount-code",e.discountCode),e.attributionItemSrc?n.searchParams.set("itemSrc",e.attributionItemSrc):r.itemSrc&&n.searchParams.set("itemSrc",r.itemSrc),e.attributionPublisherContentId?n.searchParams.set("publisherContentId",e.attributionPublisherContentId):r.publisherContentId&&n.searchParams.set("publisherContentId",r.publisherContentId),e.utmSource?n.searchParams.set("utm_source",e.utmSource):r.utmSource&&n.searchParams.set("utm_source",r.utmSource),e.utmMedium?n.searchParams.set("utm_medium",e.utmMedium):r.utmMedium&&n.searchParams.set("utm_medium",r.utmMedium),e.utmCampaign?n.searchParams.set("utm_campaign",e.utmCampaign):r.utmCampaign&&n.searchParams.set("utm_campaign",r.utmCampaign),e.utmTerm?n.searchParams.set("utm_term",e.utmTerm):r.utmTerm&&n.searchParams.set("utm_term",r.utmTerm),e.utmContent?n.searchParams.set("utm_content",e.utmContent):r.utmContent&&n.searchParams.set("utm_content",r.utmContent);const s=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(c=>{const[f,h]=c.trim().split("=");return{key:f,value:h}}).filter(c=>s.some(f=>f===c.key)).forEach(c=>{n.searchParams.append(c.key,c.value)});let l=new URL(window.location.href);if(e.redirectUrl)try{l=new URL(e.redirectUrl)}catch{console.warn("Invalid redirect URL provided, using current URL instead:",e.redirectUrl)}return l.searchParams.set("force-refetch-entitlements","true"),e.itemSrc&&l.searchParams.set("sesamy-purchase",e.itemSrc),n.searchParams.set("redirect-url",l.toString()),e.paymentMethodsFilter&&n.searchParams.set("paymentmethods-filter",e.paymentMethodsFilter.flatMap(({provider:c,methods:f})=>f?f.map(h=>`${c}|${h}`):c).join(",")),e.requireAddress&&n.searchParams.set("require-address","true"),e.giftMode&&n.searchParams.set("gift-mode","true"),e.payerEmail&&n.searchParams.set("payer-email",e.payerEmail),e.metadata&&Object.entries(e.metadata).forEach(([c,f])=>{n.searchParams.set(`metadata.${c}`,String(f))}),n}const Lv="sesamySignedURLs";function Ys(){const t=sessionStorage.getItem(Lv);return t?JSON.parse(t):[]}function Ly(t){const e=Ys();e.push(t),ce(`Adding signed URL: ${t}`),sessionStorage.setItem(Lv,JSON.stringify(e))}function $y(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const ms="sesamyAttribution";function qy(t){const e=localStorage.getItem(t);if(!e)return null;try{return JSON.parse(e).value}catch{return console.error(`Failed to parse ${t}`),null}}function jy(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function En(){return qy(ms)||{}}function $v(t){if(t===null)localStorage.removeItem(ms);else{ce(`Setting attribution ${JSON.stringify(t)}`);const e=En()??{},r=$y({...e,...jy(t)});localStorage.setItem(ms,JSON.stringify({value:r}))}}const Xs="@sesamy/sesamy-js",Wn="1.76.0",qv="sesamyFlags";async function jv(t){try{localStorage.setItem(qv,JSON.stringify(t))}catch{ce("Failed to save flags to localStorage")}}async function Nv(t,e){const r=await nn();r[t]=e,await jv(r)}async function xv(t){return(await nn())[t]}async function Dv(t){const e=await nn();t in e&&(delete e[t],await jv(e))}async function nn(){try{const t=localStorage.getItem(qv);return t?JSON.parse(t):{}}catch{return{}}}function Mv(t){function e(n){return n.id?`#${n.id}`:n.classList.length>0?Array.from(n.classList).map(i=>`.${i}`).join(""):null}function r(n){const a=[];let i=n;for(;i&&i!==document.body&&i!==document.documentElement;){const o=e(i);if(o){a.unshift(o);break}if(i.parentElement){const s=Array.from(i.parentElement.children),u=s.indexOf(i)+1,l=i.tagName.toLowerCase();s.filter(f=>f.tagName.toLowerCase()===l).length>1?a.unshift(`${l}:nth-child(${u})`):a.unshift(l)}i=i.parentElement}return a.join(" > ")}return r(t)}function Ny(t){return t?Object.fromEntries(Object.entries(t).filter(([e,r])=>r!==void 0)):{}}function xy(t){return t.replace(/([A-Z])/g,"-$1").toLowerCase()}let Fe={article:{selector:"sesamy-article"},image:{selector:"img",attribute:"src"},title:{selector:"h1",attribute:"textContent"},excerpt:{selector:"p",attribute:"textContent"},price:{selector:"sesamy-article",attribute:"price"},currency:{selector:"sesamy-article",attribute:"currency"},url:{selector:"sesamy-article",attribute:"item-src"},accessLevel:{selector:"sesamy-article",attribute:"access-level"},id:{selector:"sesamy-article",attribute:"publisher-content-id"},pass:{selector:"sesamy-article",attribute:"pass"},paywallUrl:{selector:"sesamy-article",attribute:"paywall-url"}},Fv=[],Kv=!1,_t;function Qs(){const t=window.location.pathname,e=new URLSearchParams(window.location.search),r=navigator.userAgent;return Fv.find(n=>!(n.path&&!t.includes(n.path)||n.queryParam&&e.get(n.queryParam.key)!==n.queryParam.value||n.userAgentContains&&!r.includes(n.userAgentContains)))}function Dy(){return Qs()}function My(t,e){Fv=t.content||[];const r=Qs();r&&r.type==="article"&&(Fe={...Fe,...Ny(r.selectors)},Kv=r.enablePaywallSettingsUrlFallback||!1),_t=e}function Fy(t,e){const{selector:r,attribute:n}=e;return r===Fe.article.selector||n&&t.hasAttribute(n)?t:t.querySelector(r)}function zv(t,e,r=!1){if(t){if(e.attribute){if(e.attribute==="textContent")return t.textContent??void 0;const n=t.getAttribute(e.attribute),a=zv(t.parentElement,e,r);if(r){const i=[];return n&&i.push(...n.split(",").map(o=>o.trim()).filter(Boolean)),a&&i.push(...a.split(",").map(o=>o.trim()).filter(Boolean)),i.length>0?[...new Set(i)].join(","):void 0}return n??a}return t.textContent??void 0}}function Kt(t){const e=document.head.querySelectorAll(`[property~='${t}'][content]`);for(let n=0;n<e.length;n+=1)if(e[n].content)return e[n].content;const r=document.head.querySelectorAll(`[name~='${t}'][content]`);for(let n=0;n<r.length;n+=1)if(r[n].content)return r[n].content}function ec({publisherContentId:t,key:e,defaultValue:r=""}){const n=t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null,a=e.replace(/-([a-z])/g,(i,o)=>o.toUpperCase());return n?.getAttribute(e)||Kt(`sesamy:${e}`)||Kt(`sesamy:${a}`)||Kt(`og:${e}`)||Kt(e)||r}function Hv(){const t=document.querySelectorAll(Fe.article.selector);return Array.from(t).map(an).filter(e=>e!==null)}function an(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:Mv(e)},n=(i,o,s,u)=>{const{transform:l,collect:c=!1}=u||{},f=Fy(e,o),h=zv(f,o,c),d=ec({publisherContentId:s,key:xy(String(i))}),v=h||d||void 0;v&&(r[i]=l?l(v):v)};n("id",Fe.id),n("title",Fe.title,r.id),n("excerpt",Fe.excerpt,r.id),n("image",Fe.image,r.id),n("price",Fe.price,r.id,{transform:i=>{const o=parseFloat(i);return Number.isNaN(o)?void 0:o}}),n("currency",Fe.currency,r.id),n("url",Fe.url,r.id),n("pass",Fe.pass,r.id,{collect:!0}),n("paywallUrl",Fe.paywallUrl,r.id),n("accessLevel",Fe.accessLevel,r.id,{transform:i=>i||"entitlement"});const a=Qs();if(a&&a.type==="article"&&(a.pass&&(r.pass=r.pass?`${r.pass},${a.pass}`:a.pass),a.price&&!r.price&&(r.price=a.price.amount),a.price?.currency&&!r.currency&&(r.currency=a.price.currency),a.paywallUrl&&!r.paywallUrl&&(r.paywallUrl=a.paywallUrl)),Kv&&!r.paywallUrl){const i=document.querySelector("sesamy-paywall");if(i){const o=i.getAttribute("settings-url");o&&(r.paywallUrl=o)}}return r.url||(r.url=window.location.href),r}async function Ky(t){const e=an(t);if(!e)throw new Error("Could not find article element");if(e.accessLevel==="public")return!0;if(e.accessLevel==="logged-in"&&!e.paywallUrl)return await _t.auth.isAuthenticated()?!0:null;if(e.paywallUrl&&((await _t.paywalls.get(e.paywallUrl)).settings.template==="LOGIN"?"logged-in":"entitlement")==="logged-in")return await _t.auth.isAuthenticated()?!0:null;if(!e.url)throw new Error("Article must have a URL");return await _t.entitlements.hasAccess(e.url,e.pass?.split(",")||[])||null}async function Bv(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=an(r);if(!n?.url)throw new Error("Could not find content for element");const a=await _t.entitlements.hasAccess(n.url,n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await _t.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||Mv(r.parentElement||r);return _t.proxy.getContent(i.token,n.url,o)}function zy(t){const e=t.endpoint||ot("api2",t.environment),n=Cy({baseUrl:e,tokenProvider:async()=>{if(await vr())try{const q=await jt(!1);if(q)return`Bearer ${q}`}catch{}const S=localStorage.getItem("__anon_id");return`Basic ${btoa(`${t.clientId}|${S}:`)}`},libraryName:Xs,libraryVersion:Wn,vendorId:t.vendorId,cache:{mode:Pn.BROWSER,storage:new Ay}}),a=S=>async(O,q)=>{let F=sessionStorage.getItem(gd);F||(F=Date.now().toString(),sessionStorage.setItem(gd,F));const I={...q,headers:{...q.headers,"Cache-Timestamp":F}};return S(O,I)},i=(S=!0)=>O=>async(q,F)=>{let I=null;if(I=await jt(S),!I){if(S)throw new Error("No access token available");return O(q,F)}const _={...F,headers:{...F.headers,...I?{Authorization:`Bearer ${I}`}:{}}};return O(q,_)},o=ct(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),Yg(),ey({delayTimer:1e3,delayRamp:(S,O)=>S*O,maxAttempts:3,until:S=>!!(S&&(S.ok||S.status>=400&&S.status<500)),retryOnNetworkError:!1})]);async function s(S={}){const{waitForEntitlementAfter:O,includeSignedLinks:q=!0}=S,F=await vr()?await n.entitlements.list({waitForEntitlementAfter:O?.toISOString()}):[];return q&&F.push(...Ys()),F}async function u(S,O=[]){return(await s())?.find(I=>{if(S){const{sku:_,purchaseOption:x}=Uv(S);if("sku"in I&&_===I.sku||x&&"purchaseOptionsId"in I&&x===I.purchaseOptionsId||Rd(S,I.url))return!0}return!!O.some(_=>Rd(_,I.url))})}async function l(S,O,q){const F=new URL(ot("api2",t.environment));return F.pathname="/proxy",F.searchParams.set("url",O),q&&F.searchParams.set("selector",q),ct(F.toString()).headers({Authorization:`Bearer ${S}`}).get().text()}async function c(S){if(!S)throw new Error("SKU is required to get fulfillments");return await vr()?await o.get(`/fulfillments?sku=${encodeURIComponent(S)}`).json():[]}async function f(S,O){if(!S||!O)throw new Error("SKU and itemId are required to request delivery");return(await o.post({sku:S},`/fulfillments/${encodeURIComponent(O)}/request-delivery?`).res()).ok}async function h(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),o.get("/subscriptions").json()}async function d(S){return(await n.transactions.list())?.find(q=>q.id===S)}async function v(){return await o.url("/tags").get().json()}async function p(S){const O=await o.url(`/tags/${encodeURIComponent(S)}`).delete().res();return vt(),O.ok}async function g(S){const O=await o.url("/tags").post(encodeURIComponent(S)).res();return Vt(Be.USER_ATTRIBUTE_CHANGED,{}),vt(),O.ok}async function P(S){return(await n.tallies.get(S)).value}async function w(){const S=await n.tallies.list(),O={};for(const q of S)O[q.id]=q.value;return O}async function y(S){return await n.tallies.delete(S)}async function m(S,O){return await n.tallies.push(S,O)}async function b(){return await jt(!1)?await o.url("/profile").get().json():null}async function R(S){const O=await o.url("/profile").patch(S).res();return vt(),O.ok}async function A(){return(await o.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function j(){return(await o.url("/profile/unlink-spotify").post().res()).ok}async function z(S){const O=await jt(!1);if(!O)throw new Error("No access token available");const q=new URL(`${ot("access-sync",t.environment)}/spotify/sesamy-callback`);q.searchParams.set("access_token",O),q.searchParams.set("state",S),window.location.href=q.toString()}async function V(S){const O=await o.url(`/products/${encodeURIComponent(S)}/auto-onboard`).post().json();return O.length&&vt(),O}async function te(S,O=3600){const{shortlink:q}=await ct(Ug).post({url:S,ttl:O}).json();return q}async function $(S){const O=await jt(!1,!0);let q;const F=S.language||Br(),I=En();switch(S.target){case"account":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}${S.contractId?`/${encodeURIComponent(S.contractId)}`:""}`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"change-payment":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.contractId)}/change-payment-method`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"change-plan":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.contractId)}/edit-plan`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"consume":q=new URL(`${ot("consume",t.environment)}/${encodeURIComponent(S.language||F)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.sku)}`),S.episodeId?q.href+=`/${S.episodeId}`:q.href+="/listen",q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"checkout":q=Uy(t,{language:F,...S},I);break;default:throw new Error("Invalid target")}return O&&(q.hash=`#access_token=${O}`),S.shorten?te(q.href,S.ttl):q.href}async function M(){const S=await jt(!1),O=new URL(`${ot("account",t.environment)}/subscriptions/${t.clientId}`);S&&(O.hash=`#access_token=${S}`),window.location.href=O.toString()}async function N(S){const O=En(),q=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(F=>{const[I,_]=F.trim().split("=");q.includes(I)&&!O[I]&&(O[I]=_)}),n.checkouts.create({language:Br(),...S,attribution:{...O,...S.attribution}})}return{autoOnboardProduct:V,bills:n.bills,checkouts:{create:N,get:n.checkouts.get,update:n.checkouts.update},content:{list:Hv,get:an,getLanguage:Br,unlock:Bv,getPropertyFromHTML:ec},contracts:n.contracts,deleteTag:p,deleteTally:y,entitlements:n.entitlements,flags:{get:xv,set:Nv,list:nn,delete:Dv},generateLink:$,getProxyContent:l,getEntitlements:s,getFulfillments:c,requestDelivery:f,hasAccess:u,isSpotifyLinked:A,linkSpotify:z,openHostedAccountPage:M,paywalls:n.paywalls,paymentIssues:n.paymentIssues,getProfile:b,products:n.products,getSubscriptions:h,getTally:P,getTallies:w,getTags:v,getTransaction:d,transactions:n.transactions,userMetadata:n.userMetadata,pushTally:m,setTag:g,unlinkSpotify:j,updateProfile:R,vendor:n.vendor}}function Od(t,e,r,n,a){for(e=e.split?e.split("."):e,n=0;n<e.length;n++)t=t?t[e[n]]:a;return t===a?r:t}var Hy="function",By="string",tt="undefined",Gy="boolean",kn="object",Wy="array",Vy="number",Jy="symbol",Zy="null",gs=function(){},Gv="any",Wv="*",Jt="__",Yy="form",Xy="input",Qy="button",ew="select",_n=typeof process!==tt?process:{};_n.env&&_n.env.NODE_ENV;var Ce=typeof document!==tt;_n.versions!=null&&_n.versions.node!=null;typeof Deno!==tt&&Deno.core;Ce&&window.name==="nodejs"||typeof navigator!==tt&&typeof navigator.userAgent!==tt&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function Vv(t,e){return e.charAt(0)[t]()+e.slice(1)}var tw=Vv.bind(null,"toUpperCase"),rw=Vv.bind(null,"toLowerCase");function nw(t){return Jv(t)?tw(Zy):typeof t===kn?sw(t):Object.prototype.toString.call(t).slice(8,-1)}function Tn(t,e){e===void 0&&(e=!0);var r=nw(t);return e?rw(r):r}function on(t,e){return typeof e===t}var ze=on.bind(null,Hy),Tt=on.bind(null,By),dr=on.bind(null,tt),aw=on.bind(null,Gy);on.bind(null,Jy);function Jv(t){return t===null}function iw(t){return Tn(t)===Vy&&!isNaN(t)}function Zv(t){return Tn(t)===Wy}function Ke(t){if(!ow(t))return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function ow(t){return t&&(typeof t===kn||t!==null)}function sw(t){return ze(t.constructor)?t.constructor.name:null}function cw(t){return t instanceof Error||Tt(t.message)&&t.constructor&&iw(t.constructor.stackTraceLimit)}function Yv(t,e){if(typeof e!="object"||Jv(e))return!1;if(e instanceof t)return!0;var r=Tn(new t(""));if(cw(e))for(;e;){if(Tn(e)===r)return!0;e=Object.getPrototypeOf(e)}return!1}Yv.bind(null,TypeError);Yv.bind(null,SyntaxError);function Vn(t,e){var r=t instanceof Element||t instanceof HTMLDocument;return r&&e?uw(t,e):r}function uw(t,e){return e===void 0&&(e=""),t&&t.nodeName===e.toUpperCase()}function Jn(t){var e=[].slice.call(arguments,1);return function(){return t.apply(void 0,[].slice.call(arguments).concat(e))}}Jn(Vn,Yy);Jn(Vn,Qy);Jn(Vn,Xy);Jn(Vn,ew);function lw(t){return t?Zv(t)?t:[t]:[]}function Cd(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch{return null}}function fw(){if(Ce){var t=navigator,e=t.languages;return t.userLanguage||(e&&e.length?e[0]:t.language)}}function dw(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function hw(t){return(function(e){for(var r,n=Object.create(null),a=/([^&=]+)=?([^&]*)/g;r=a.exec(e);){var i=Cd(r[1]),o=Cd(r[2]);if(i)if(i.substring(i.length-2)==="[]"){var s=n[i=i.substring(0,i.length-2)]||(n[i]=[]);n[i]=Array.isArray(s)?s:[],n[i].push(o)}else n[i]=o===""||o}for(var u in n){var l=u.split("[");l.length>1&&(vw(n,l.map(function(c){return c.replace(/[?[\]\\ ]/g,"")}),n[u]),delete n[u])}return n})((function(e){return Ce&&window.location.search.substring(1)})())}function vw(t,e,r){for(var n=e.length-1,a=0;a<n;++a){var i=e[a];if(i==="__proto__"||i==="constructor")break;i in t||(t[i]={}),t=t[i]}t[e[n]]=r}function Zn(){for(var t="",e=0,r=4294967295*Math.random()|0;e++<36;){var n="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[e-1],a=15&r;t+=n=="-"||n=="4"?n:(n=="x"?a:3&a|8).toString(16),r=e%8==0?4294967295*Math.random()|0:r>>4}return t}function pw(t,e){var r,n,a,i=null,o=0,s=function(){o=new Date,i=null,a=t.apply(r,n)};return function(){var u=new Date;o||(o=u);var l=e-(u-o);return r=this,n=arguments,l<=0?(clearTimeout(i),i=null,o=u,a=t.apply(r,n)):i||(i=setTimeout(s,l)),a}}var Ht="global",Sr=Jt+Ht+Jt,Ir=typeof self===kn&&self.self===self&&self||typeof global===kn&&global[Ht]===global&&global||void 0;function Zt(t){return Ir[Sr][t]}function Yt(t,e){return Ir[Sr][t]=e}function Or(t){delete Ir[Sr][t]}function Cr(t,e,r){var n;try{if(tc(t)){var a=window[t];n=a[e].bind(a)}}catch{}return n||r}Ir[Sr]||(Ir[Sr]={});var un={};function tc(t){if(typeof un[t]!==tt)return un[t];try{var e=window[t];e.setItem(tt,tt),e.removeItem(tt)}catch{return un[t]=!1}return un[t]=!0}function ee(){return ee=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},ee.apply(null,arguments)}var Et="function",pt="undefined",Wr="reducer",Xv="@@redux/",ys=Xv+"INIT",mw=Xv+Math.random().toString(36),Ad=(function(){return typeof Symbol===Et&&Symbol.observable||"@@observable"})(),ln=" != "+Et;function Qv(t,e,r){var n;if(typeof e===Et&&typeof r===pt&&(r=e,e=void 0),typeof r!==pt){if(typeof r!==Et)throw new Error("enhancer"+ln);return r(Qv)(t,e)}if(typeof t!==Et)throw new Error(Wr+ln);var a=t,i=e,o=[],s=o,u=!1;function l(){s===o&&(s=o.slice())}function c(){return i}function f(d){if(typeof d!==Et)throw new Error("Listener"+ln);var v=!0;return l(),s.push(d),function(){if(v){v=!1,l();var p=s.indexOf(d);s.splice(p,1)}}}function h(d){if(!Ke(d))throw new Error("Act != obj");if(typeof d.type===pt)throw new Error("ActType "+pt);if(u)throw new Error("Dispatch in "+Wr);try{u=!0,i=a(i,d)}finally{u=!1}for(var v=o=s,p=0;p<v.length;p++)(0,v[p])();return d}return h({type:ys}),(n={dispatch:h,subscribe:f,getState:c,replaceReducer:function(d){if(typeof d!==Et)throw new Error("next "+Wr+ln);a=d,h({type:ys})}})[Ad]=function(){var d,v=f;return(d={subscribe:function(p){if(typeof p!="object")throw new TypeError("Observer != obj");function g(){p.next&&p.next(c())}return g(),{unsubscribe:v(g)}}})[Ad]=function(){return this},d},n}function gw(t,e){var r=e&&e.type;return"action "+(r&&r.toString()||"?")+Wr+" "+t+" returns "+pt}function Pr(){var t=[].slice.call(arguments);return t.length===0?function(e){return e}:t.length===1?t[0]:t.reduce(function(e,r){return function(){return e(r.apply(void 0,[].slice.call(arguments)))}})}function yw(){var t=arguments;return function(e){return function(r,n,a){var i,o=e(r,n,a),s=o.dispatch,u={getState:o.getState,dispatch:function(l){return s(l)}};return i=[].slice.call(t).map(function(l){return l(u)}),ee({},o,{dispatch:s=Pr.apply(void 0,i)(o.dispatch)})}}}var Rt=Jt+"anon_id",Bt=Jt+"user_id",pr=Jt+"user_traits",ws="analytics",Pt="userId",hr="anonymousId",yn=["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"],bs=["name","EVENTS","config","loaded"],Q=yn.reduce(function(t,e){return t[e]=e,t},{registerPluginType:function(t){return"registerPlugin:"+t},pluginReadyType:function(t){return"ready:"+t}}),Ud=/^utm_/,Ld=/^an_prop_/,$d=/^an_trait_/;function ww(t){var e=t.storage.setItem;return function(r){return function(n){return function(a){if(a.type===Q.bootstrap){var i=a.params,o=a.user,s=a.persistedUser,u=a.initialUser,l=s.userId===o.userId;s.anonymousId!==o.anonymousId&&e(Rt,o.anonymousId),l||e(Bt,o.userId),u.traits&&e(pr,ee({},l&&s.traits?s.traits:{},u.traits));var c=Object.keys(a.params);if(c.length){var f=i.an_uid,h=i.an_event,d=c.reduce(function(v,p){if(p.match(Ud)||p.match(/^(d|g)clid/)){var g=p.replace(Ud,"");v.campaign[g==="campaign"?"name":g]=i[p]}return p.match(Ld)&&(v.props[p.replace(Ld,"")]=i[p]),p.match($d)&&(v.traits[p.replace($d,"")]=i[p]),v},{campaign:{},props:{},traits:{}});r.dispatch(ee({type:Q.params,raw:i},d,f?{userId:f}:{})),f&&setTimeout(function(){return t.identify(f,d.traits)},0),h&&setTimeout(function(){return t.track(h,d.props)},0),Object.keys(d.campaign).length&&r.dispatch({type:Q.campaign,campaign:d.campaign})}}return n(a)}}}}function bw(t){return function(e,r){if(e===void 0&&(e={}),r===void 0&&(r={}),r.type===Q.setItemEnd){if(r.key===Rt)return ee({},e,{anonymousId:r.value});if(r.key===Bt)return ee({},e,{userId:r.value})}switch(r.type){case Q.identify:return Object.assign({},e,{userId:r.userId,traits:ee({},e.traits,r.traits)});case Q.reset:return[Bt,Rt,pr].forEach(function(n){t.removeItem(n)}),Object.assign({},e,{userId:null,anonymousId:null,traits:{}});default:return e}}}function qd(t){return{userId:t.getItem(Bt),anonymousId:t.getItem(Rt),traits:t.getItem(pr)}}var Ss=function(t){return Jt+"TEMP"+Jt+t};function Sw(t){var e=t.storage,r=e.setItem,n=e.removeItem,a=e.getItem;return function(i){return function(o){return function(s){var u=s.userId,l=s.traits,c=s.options;if(s.type===Q.reset&&([Bt,pr,Rt].forEach(function(d){n(d)}),[Pt,hr,"traits"].forEach(function(d){Or(Ss(d))})),s.type===Q.identify){a(Rt)||r(Rt,Zn());var f=a(Bt),h=a(pr)||{};f&&f!==u&&i.dispatch({type:Q.userIdChanged,old:{userId:f,traits:h},new:{userId:u,traits:l},options:c}),u&&r(Bt,u),l&&r(pr,ee({},h,l))}return o(s)}}}}var Kr={};function jd(t,e){Kr[t]&&ze(Kr[t])&&(Kr[t](e),delete Kr[t])}function ep(t,e,r){return new Promise(function(n,a){return e()?n(t):r<1?a(ee({},t,{queue:!0})):new Promise(function(i){return setTimeout(i,10)}).then(function(i){return ep(t,e,r-10).then(n,a)})})}function Iw(t){return{abort:t}}function tp(t,e,r){var n={},a=e(),i=t.getState(),o=i.plugins,s=i.queue,u=i.user;if(!i.context.offline&&s&&s.actions&&s.actions.length){var l=s.actions.reduce(function(f,h,d){return o[h.plugin].loaded?(f.process.push(h),f.processIndex.push(d)):(f.requeue.push(h),f.requeueIndex.push(d)),f},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(l.processIndex&&l.processIndex.length){l.processIndex.forEach(function(f){var h=s.actions[f],d=h.plugin,v=h.payload.type,p=a[d][v];if(p&&ze(p)){var g,P=(function(m,b){return m===void 0&&(m={}),b===void 0&&(b={}),[Pt,hr].reduce(function(R,A){return m.hasOwnProperty(A)&&b[A]&&b[A]!==m[A]&&(R[A]=b[A]),R},m)})(h.payload,u),w=n[P.meta.rid];if(!w&&(g=p({payload:P,config:o[d].config,instance:r,abort:Iw}))&&Ke(g)&&g.abort)return void(n[P.meta.rid]=!0);if(!w){var y=v+":"+d;t.dispatch(ee({},P,{type:y,_:{called:y,from:"queueDrain"}}))}}});var c=s.actions.filter(function(f,h){return!~l.processIndex.indexOf(h)});s.actions=c}}}var Qo=function(t){var e=t.data,r=t.action,n=t.instance,a=t.state,i=t.allPlugins,o=t.allMatches,s=t.store,u=t.EVENTS;try{var l=a.plugins,c=a.context,f=r.type,h=f.match(mr),d=e.exact.map(function(g){return g.pluginName});h&&(d=o.during.map(function(g){return g.pluginName}));var v=(function(g,P){return function(w,y,m){var b=y.config,R=y.name,A=R+"."+w.type;m&&(A=m.event);var j=w.type.match(mr)?(function(z,V,te,$,M){return function(N,S){var O=$?$.name:z,q=S&&Jr(S)?S:te;if($&&(!(q=S&&Jr(S)?S:[z]).includes(z)||q.length!==1))throw new Error("Method "+V+" can only abort "+z+" plugin. "+JSON.stringify(q)+" input valid");return ee({},M,{abort:{reason:N,plugins:q,caller:V,_:O}})}})(R,A,P,m,w):(function(z,V){return function(){throw new Error(z.type+" action not cancellable. Remove abort in "+V)}})(w,A);return{payload:Pw(w),instance:g,config:b||{},abort:j}}})(n,d),p=e.exact.reduce(function(g,P){var w=P.pluginName,y=P.methodName,m=!1;return y.match(/^initialize/)||y.match(/^reset/)||(m=!l[w].loaded),c.offline&&y.match(/^(page|track|identify)/)&&(m=!0),g[""+w]=m,g},{});return Promise.resolve(e.exact.reduce(function(g,P,w){var y=P.pluginName;return Promise.resolve(g).then(function(m){function b(){return Promise.resolve(m)}var R=(function(){if(e.namespaced&&e.namespaced[y])return Promise.resolve(e.namespaced[y].reduce(function(A,j,z){return Promise.resolve(A).then(function(V){return j.method&&ze(j.method)?((function(N,S){var O=zd(N);if(O&&O.name===S){var q=zd(O.method);throw new Error([S+" plugin is calling method "+N,"Plugins cant call self","Use "+O.method+" "+(q?"or "+q.method:"")+" in "+S+" plugin insteadof "+N].join(`
36
- `))}})(j.methodName,j.pluginName),Promise.resolve(j.method({payload:V,instance:n,abort:(te=V,$=y,M=j.pluginName,function(N,S){return ee({},te,{abort:{reason:N,plugins:S||[$],caller:f,from:M||$}})}),config:Dd(j.pluginName,l,i),plugins:l})).then(function(N){var S=Ke(N)?N:{};return Promise.resolve(ee({},V,S))})):V;var te,$,M})},Promise.resolve(r))).then(function(A){m[y]=A});m[y]=r})();return R&&R.then?R.then(b):b()})},Promise.resolve({}))).then(function(g){return Promise.resolve(e.exact.reduce(function(P,w,y){try{var m=e.exact.length===y+1,b=w.pluginName,R=i[b];return Promise.resolve(P).then(function(A){var j=g[b]?g[b]:{};if(h&&(j=A),ts(j,b))return es({data:j,method:f,instance:n,pluginName:b,store:s}),Promise.resolve(A);if(ts(A,b))return m&&es({data:A,method:f,instance:n,store:s}),Promise.resolve(A);if(p.hasOwnProperty(b)&&p[b]===!0)return s.dispatch({type:"queue",plugin:b,payload:j,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(A);var z=v(g[b],i[b]);return Promise.resolve(R[f]({abort:z.abort,payload:j,instance:n,config:Dd(b,l,i),plugins:l})).then(function(V){var te=Ke(V)?V:{},$=ee({},A,te),M=g[b];if(ts(M,b))es({data:M,method:f,instance:n,pluginName:b,store:s});else{var N=f+":"+b;(N.match(/:/g)||[]).length<2&&!f.match(Nd)&&!f.match(xd)&&n.dispatch(ee({},h?$:j,{type:N,_:{called:N,from:"submethod"}}))}return Promise.resolve($)})})}catch(A){return Promise.reject(A)}},Promise.resolve(r))).then(function(P){if(!(f.match(mr)||f.match(/^registerPlugin/)||f.match(xd)||f.match(Nd)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),P._&&P._.originalAction===f)return P;var w=ee({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});rp(P,e.exact.length)&&!f.match(/End$/)&&(w=ee({},w,{type:P.type+"Aborted"})),s.dispatch(w)}return P})})}catch(g){return Promise.reject(g)}},mr=/Start$/,Nd=/^bootstrap/,xd=/^ready/;function es(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(ee({},t.data,{type:r,_:{called:r,from:"abort"}}))}function Dd(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function Md(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function Fd(t,e){var r=t.replace(mr,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function ts(t,e){var r=t.abort;return!!r&&(r===!0||Kd(r,e)||r&&Kd(r.plugins,e))}function rp(t,e){var r=t.abort;if(!r)return!1;if(r===!0||Tt(r))return!0;var n=r.plugins;return Jr(r)&&r.length===e||Jr(n)&&n.length===e}function Jr(t){return Array.isArray(t)}function Kd(t,e){return!(!t||!Jr(t))&&t.includes(e)}function zd(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function Pw(t){return Object.keys(t).reduce(function(e,r){return r==="type"||(e[r]=Ke(t[r])?Object.assign({},t[r]):t[r]),e},{})}function Ew(t,e,r){var n={};return function(a){return function(i){return function(o){try{var s,u=function(m){return s?m:i(f)},l=o.type,c=o.plugins,f=o;if(o.abort)return Promise.resolve(i(o));if(l===Q.enablePlugin&&a.dispatch({type:Q.initializeStart,plugins:c,disabled:[],fromEnable:!0,meta:o.meta}),l===Q.disablePlugin&&setTimeout(function(){return jd(o.meta.rid,{payload:o})},0),l===Q.initializeEnd){var h=e(),d=Object.keys(h),v=d.filter(function(m){return c.includes(m)}).map(function(m){return h[m]}),p=[],g=[],P=o.disabled,w=v.map(function(m){var b=m.loaded,R=m.name,A=m.config;return ep(m,function(){return b({config:A})},1e4).then(function(j){return n[R]||(a.dispatch({type:Q.pluginReadyType(R),name:R,events:Object.keys(m).filter(function(z){return!bs.includes(z)})}),n[R]=!0),p=p.concat(R),m}).catch(function(j){if(j instanceof Error)throw new Error(j);return g=g.concat(j.name),j})});Promise.all(w).then(function(m){var b={plugins:p,failed:g,disabled:P};setTimeout(function(){d.length===w.length+P.length&&a.dispatch(ee({},{type:Q.ready},b))},0)})}var y=(function(){if(l!==Q.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return tp(a,e,t)},0),Promise.resolve((function(m,b,R,A,j){try{var z=ze(b)?b():b,V=m.type,te=V.replace(mr,"");if(m._&&m._.called)return Promise.resolve(m);var $=R.getState(),M=(O=z,(q=$.plugins)===void 0&&(q={}),(F=m.options)===void 0&&(F={}),Object.keys(O).filter(function(I){var _=F.plugins||{};return aw(_[I])?_[I]:_.all!==!1&&(!q[I]||q[I].enabled!==!1)}).map(function(I){return O[I]}));V===Q.initializeStart&&m.fromEnable&&(M=Object.keys($.plugins).filter(function(I){var _=$.plugins[I];return m.plugins.includes(I)&&!_.initialized}).map(function(I){return z[I]}));var N=M.map(function(I){return I.name}),S=(function(I,_){var x=Fd(I).map(function(H){return Md(H,_)});return _.reduce(function(H,Y){var J=Y.name,fe=Fd(I,J).map(function(ke){return Md(ke,_)}),ne=fe[0],ue=fe[1],ae=fe[2];return ne.length&&(H.beforeNS[J]=ne),ue.length&&(H.duringNS[J]=ue),ae.length&&(H.afterNS[J]=ae),H},{before:x[0],beforeNS:{},during:x[1],duringNS:{},after:x[2],afterNS:{}})})(V,M);return Promise.resolve(Qo({action:m,data:{exact:S.before,namespaced:S.beforeNS},state:$,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(I){function _(){var Y=(function(){if(V.match(mr))return Promise.resolve(Qo({action:ee({},x,{type:te+"End"}),data:{exact:S.after,namespaced:S.afterNS},state:$,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(J){J.meta&&J.meta.hasCallback&&jd(J.meta.rid,{payload:J})})})();return Y&&Y.then?Y.then(function(){return I}):I}if(rp(I,N.length))return I;var x,H=(function(){if(V!==te)return Promise.resolve(Qo({action:ee({},I,{type:te}),data:{exact:S.during,namespaced:S.duringNS},state:$,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(Y){x=Y});x=I})();return H&&H.then?H.then(_):_()})}catch(I){return Promise.reject(I)}var O,q,F})(o,e,t,a,r)).then(function(m){var b=i(m);return s=1,b})})();return Promise.resolve(y&&y.then?y.then(u):u(y))}catch(m){return Promise.reject(m)}}}}}function kw(t){return function(e){return function(r){return function(n){var a=n.type,i=n.key,o=n.value,s=n.options;if(a===Q.setItem||a===Q.removeItem){if(n.abort)return r(n);a===Q.setItem?t.setItem(i,o,s):t.removeItem(i,s)}return r(n)}}}}var _w=function(){var t=this;this.before=[],this.after=[],this.addMiddleware=function(e,r){t[r]=t[r].concat(e)},this.removeMiddleware=function(e,r){var n=t[r].findIndex(function(a){return a===e});n!==-1&&(t[r]=[].concat(t[r].slice(0,n),t[r].slice(n+1)))},this.dynamicMiddlewares=function(e){return function(r){return function(n){return function(a){var i={getState:r.getState,dispatch:function(s){return r.dispatch(s)}},o=t[e].map(function(s){return s(i)});return Pr.apply(void 0,o)(n)(a)}}}}};function Tw(t){return function(e,r){e===void 0&&(e={});var n={};if(r.type==="initialize:aborted")return e;if(/^registerPlugin:([^:]*)$/.test(r.type)){var a=Hd(r.type,"registerPlugin"),i=t()[a];if(!i||!a)return e;var o=r.enabled,s=i.config;return n[a]={enabled:o,initialized:!!o&&!i.initialize,loaded:!!o&&!!i.loaded({config:s}),config:s},ee({},e,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=Hd(r.type,Q.initialize),l=t()[u];return l&&u?(n[u]=ee({},e[u],{initialized:!0,loaded:!!l.loaded({config:l.config})}),ee({},e,n)):e}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=ee({},e[r.name],{loaded:!0}),ee({},e,n);switch(r.type){case Q.disablePlugin:return ee({},e,Bd(r.plugins,!1,e));case Q.enablePlugin:return ee({},e,Bd(r.plugins,!0,e));default:return e}}}function Hd(t,e){return t.substring(e.length+1,t.length)}function Bd(t,e,r){return t.reduce(function(n,a){return n[a]=ee({},r[a],{enabled:e}),n},r)}function np(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var Rw={last:{},history:[]};function Ow(t,e){t===void 0&&(t=Rw);var r=e.options,n=e.meta;if(e.type===Q.track){var a=np(ee({event:e.event,properties:e.properties},Object.keys(r).length&&{options:r},{meta:n}));return ee({},t,{last:a,history:t.history.concat(a)})}return t}var Cw={actions:[]};function Aw(t,e){t===void 0&&(t=Cw);var r=e.payload;switch(e.type){case"queue":var n;return n=r&&r.type&&r.type===Q.identify?[e].concat(t.actions):t.actions.concat(e),ee({},t,{actions:n});case"dequeue":return[];default:return t}}var ap=/#.*$/;function Uw(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(ap,""):"")}var ip,op,sp,cp,Lw=function(t){if(t===void 0&&(t={}),!Ce)return t;var e=document,r=e.title,n=e.referrer,a=window,i=a.location,o=a.innerWidth,s=a.innerHeight,u=i.hash,l=i.search,c=(function(h){var d=(function(){if(Ce){for(var v,p=document.getElementsByTagName("link"),g=0;v=p[g];g++)if(v.getAttribute("rel")==="canonical")return v.getAttribute("href")}})();return d?d.match(/\?/)?d:d+h:window.location.href.replace(ap,"")})(l),f={title:r,url:c,path:Uw(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),ee({},f,t)},$w={last:{},history:[]};function qw(t,e){t===void 0&&(t=$w);var r=e.options;if(e.type===Q.page){var n=np(ee({properties:e.properties,meta:e.meta},Object.keys(r).length&&{options:r}));return ee({},t,{last:n,history:t.history.concat(n)})}return t}ip=(function(){if(!Ce)return!1;var t=navigator.appVersion;return~t.indexOf("Win")?"Windows":~t.indexOf("Mac")?"MacOS":~t.indexOf("X11")?"UNIX":~t.indexOf("Linux")?"Linux":"Unknown OS"})(),op=Ce?document.referrer:null,sp=fw(),cp=dw();var Gd={initialized:!1,sessionId:Zn(),app:null,version:null,debug:!1,offline:!!Ce&&!navigator.onLine,os:{name:ip},userAgent:Ce?navigator.userAgent:"node",library:{name:ws,version:"0.13.1"},timezone:cp,locale:sp,campaign:{},referrer:op};function jw(t,e){t===void 0&&(t=Gd);var r=t.initialized,n=e.campaign;switch(e.type){case Q.campaign:return ee({},t,{campaign:n});case Q.offline:return ee({},t,{offline:!0});case Q.online:return ee({},t,{offline:!1});default:return r?t:ee({},Gd,t,{initialized:!0})}}var Nw=["plugins","reducers","storage"];function xw(t,e,r){if(Ce){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function Dw(t){var e=xw.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function up(){return Yt(ws,[]),function(t){return function(e,r,n){var a=t(e,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return Ir[Sr][ws].push(o.action||o),i(o)}})}}}function Wd(t){return function(){return Pr(Pr.apply(null,arguments),up())}}function rs(t){return t?Zv(t)?t:[t]:[]}function Vd(t,e,r){t===void 0&&(t={});var n,a,i=Zn();return e&&(Kr[i]=(n=e,a=(function(o){for(var s,u=o||Array.prototype.slice.call(arguments),l=0;l<u.length;l++)if(ze(u[l])){s=u[l];break}return s})(r),function(o){a&&a(o),n(o)})),ee({},t,{rid:i,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function Mw(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(I,_){if(ze(_))return I.middlewares=I.middlewares.concat(_),I;if(_.NAMESPACE&&(_.name=_.NAMESPACE),!_.name)throw new Error("https://lytics.dev/errors/1");_.config||(_.config={});var x=_.EVENTS?Object.keys(_.EVENTS).map(function(J){return _.EVENTS[J]}):[];I.pluginEnabled[_.name]=!(_.enabled===!1||_.config.enabled===!1),delete _.enabled,_.methods&&(I.methods[_.name]=Object.keys(_.methods).reduce(function(J,fe){var ne;return J[fe]=(ne=_.methods[fe],function(){for(var ue=Array.prototype.slice.call(arguments),ae=new Array(ne.length),ke=0;ke<ue.length;ke++)ae[ke]=ue[ke];return ae[ae.length]=b,ne.apply({instance:b},ae)}),J},{}),delete _.methods);var H=Object.keys(_).concat(x),Y=new Set(I.events.concat(H));if(I.events=Array.from(Y),I.pluginsArray=I.pluginsArray.concat(_),I.plugins[_.name])throw new Error(_.name+"AlreadyLoaded");return I.plugins[_.name]=_,I.plugins[_.name].loaded||(I.plugins[_.name].loaded=function(){return!0}),I},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Zt,setItem:Yt,removeItem:Or},i=(function(I){return function(_,x,H){return x.getState("user")[_]||(H&&Ke(H)&&H[_]?H[_]:qd(I)[_]||Zt(Ss(_))||null)}})(a),o=n.plugins,s=n.events.filter(function(I){return!bs.includes(I)}).sort(),u=new Set(s.concat(yn).filter(function(I){return!bs.includes(I)})),l=Array.from(u).sort(),c=function(){return o},f=new _w,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},g=hw(),P=qd(a),w=ee({},P,r,g.an_uid?{userId:g.an_uid}:{},g.an_aid?{anonymousId:g.an_aid}:{});w.anonymousId||(w.anonymousId=Zn());var y=ee({enable:function(I,_){return new Promise(function(x){S.dispatch({type:Q.enablePlugin,plugins:rs(I),_:{originalAction:Q.enablePlugin}},x,[_])})},disable:function(I,_){return new Promise(function(x){S.dispatch({type:Q.disablePlugin,plugins:rs(I),_:{originalAction:Q.disablePlugin}},x,[_])})}},n.methods),m=!1,b={identify:function(I,_,x,H){try{var Y=Tt(I)?I:null,J=Ke(I)?I:_,fe=x||{},ne=b.user();Yt(Ss(Pt),Y);var ue=Y||J.userId||i(Pt,b,J);return Promise.resolve(new Promise(function(ae){S.dispatch(ee({type:Q.identifyStart,userId:ue,traits:J||{},options:fe,anonymousId:ne.anonymousId},ne.id&&ne.id!==Y&&{previousId:ne.id}),ae,[_,x,H])}))}catch(ae){return Promise.reject(ae)}},track:function(I,_,x,H){try{var Y=Ke(I)?I.event:I;if(!Y||!Tt(Y))throw new Error("EventMissing");var J=Ke(I)?I:_||{},fe=Ke(x)?x:{};return Promise.resolve(new Promise(function(ne){S.dispatch({type:Q.trackStart,event:Y,properties:J,options:fe,userId:i(Pt,b,_),anonymousId:i(hr,b,_)},ne,[_,x,H])}))}catch(ne){return Promise.reject(ne)}},page:function(I,_,x){try{var H=Ke(I)?I:{},Y=Ke(_)?_:{};return Promise.resolve(new Promise(function(J){S.dispatch({type:Q.pageStart,properties:Lw(H),options:Y,userId:i(Pt,b,H),anonymousId:i(hr,b,H)},J,[I,_,x])}))}catch(J){return Promise.reject(J)}},user:function(I){if(I===Pt||I==="id")return i(Pt,b);if(I===hr||I==="anonId")return i(hr,b);var _=b.getState("user");return I?Od(_,I):_},reset:function(I){return new Promise(function(_){S.dispatch({type:Q.resetStart},_,I)})},ready:function(I){return m&&I({plugins:y,instance:b}),b.on(Q.ready,function(_){I&&I(_),m=!0})},on:function(I,_){if(!I||!ze(_))return!1;if(I===Q.bootstrap)throw new Error(".on disabled for "+I);var x=/Start$|Start:/;if(I==="*"){var H=function(ne){return function(ue){return function(ae){return ae.type.match(x)&&_({payload:ae,instance:b,plugins:o}),ue(ae)}}},Y=function(ne){return function(ue){return function(ae){return ae.type.match(x)||_({payload:ae,instance:b,plugins:o}),ue(ae)}}};return h(H,fn),h(Y,dn),function(){d(H,fn),d(Y,dn)}}var J=I.match(x)?fn:dn,fe=function(ne){return function(ue){return function(ae){return ae.type===I&&_({payload:ae,instance:b,plugins:o,abort:p}),ue(ae)}}};return h(fe,J),function(){return d(fe,J)}},once:function(I,_){if(!I||!ze(_))return!1;if(I===Q.bootstrap)throw new Error(".once disabled for "+I);var x=b.on(I,function(H){_({payload:H.payload,instance:b,plugins:o,abort:p}),x()});return x},getState:function(I){var _=S.getState();return I?Od(_,I):Object.assign({},_)},dispatch:function(I){var _=Tt(I)?{type:I}:I;if(yn.includes(_.type))throw new Error("reserved action "+_.type);var x=ee({},_,{_:ee({originalAction:_.type},I._||{})});S.dispatch(x)},enablePlugin:y.enable,disablePlugin:y.disable,plugins:y,storage:{getItem:a.getItem,setItem:function(I,_,x){S.dispatch({type:Q.setItemStart,key:I,value:_,options:x})},removeItem:function(I,_){S.dispatch({type:Q.removeItemStart,key:I,options:_})}},setAnonymousId:function(I,_){b.storage.setItem(Rt,I,_)},events:{core:yn,plugins:s}},R=n.middlewares.concat([function(I){return function(_){return function(x){return x.meta||(x.meta=Vd()),_(x)}}},v(fn),Ew(b,c,{all:l,plugins:s}),kw(a),ww(b),Sw(b),v(dn)]),A={context:jw,user:bw(a),page:qw,track:Ow,plugins:Tw(c),queue:Aw},j=Pr,z=Pr;if(Ce&&t.debug){var V=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;V&&(j=V({trace:!0,traceLimit:25})),z=function(){return arguments.length===0?up():Ke(typeof arguments[0])?Wd():Wd().apply(null,arguments)}}var te,$=(function(I){return Object.keys(I).reduce(function(_,x){return Nw.includes(x)||(_[x]=I[x]),_},{})})(t),M=n.pluginsArray.reduce(function(I,_){var x=_.name,H=_.config,Y=_.loaded,J=n.pluginEnabled[x];return I[x]={enabled:J,initialized:!!J&&!_.initialize,loaded:!!Y({config:H}),config:H},I},{}),N={context:$,user:w,plugins:M},S=Qv((function(I){for(var _=Object.keys(I),x={},H=0;H<_.length;H++){var Y=_[H];typeof I[Y]===Et&&(x[Y]=I[Y])}var J,fe=Object.keys(x);try{(function(ne){Object.keys(ne).forEach(function(ue){var ae=ne[ue];if(typeof ae(void 0,{type:ys})===pt||typeof ae(void 0,{type:mw})===pt)throw new Error(Wr+" "+ue+" "+pt)})})(x)}catch(ne){J=ne}return function(ne,ue){if(ne===void 0&&(ne={}),J)throw J;for(var ae=!1,ke={},Ne=0;Ne<fe.length;Ne++){var De=fe[Ne],$e=ne[De],Qe=(0,x[De])($e,ue);if(typeof Qe===pt){var St=gw(De,ue);throw new Error(St)}ke[De]=Qe,ae=ae||Qe!==$e}return ae?ke:ne}})(ee({},A,e)),N,z(j(yw.apply(void 0,R))));S.dispatch=(te=S.dispatch,function(I,_,x){var H=ee({},I,{meta:Vd(I.meta,_,rs(x))});return te.apply(null,[H])});var O=Object.keys(o);S.dispatch({type:Q.bootstrap,plugins:O,config:$,params:g,user:w,initialUser:r,persistedUser:P});var q=O.filter(function(I){return n.pluginEnabled[I]}),F=O.filter(function(I){return!n.pluginEnabled[I]});return S.dispatch({type:Q.registerPlugins,plugins:O,enabled:n.pluginEnabled}),n.pluginsArray.map(function(I,_){var x=I.bootstrap,H=I.config,Y=I.name;x&&ze(x)&&x({instance:b,config:H,payload:I}),S.dispatch({type:Q.registerPluginType(Y),name:Y,enabled:n.pluginEnabled[Y],plugin:I}),n.pluginsArray.length===_+1&&S.dispatch({type:Q.initializeStart,plugins:q,disabled:F})}),Dw(function(I){S.dispatch({type:I?Q.offline:Q.online})}),(function(I,_,x){setInterval(function(){return tp(I,_,x)},3e3)})(S,c,b),b}var fn="before",dn="after",Gt="cookie",Dt=dp(),lp=Yn,Fw=Yn;function fp(t){return Dt?Yn(t,"",-1):Or(t)}function dp(){if(Dt!==void 0)return Dt;var t=Gt+Gt;try{Yn(t,t),Dt=document.cookie.indexOf(t)!==-1,fp(t)}catch{Dt=!1}return Dt}function Yn(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return Dt===!1&&(o?Yt(t,e):Zt(t)),o?document.cookie=t+"="+encodeURIComponent(e)+(r?"; expires="+new Date(+new Date+1e3*r).toUTCString()+(n?"; path="+n:"")+(a?"; domain="+a:"")+(i?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+t+"=")[1]||"").split(";")[0])}}var mt="localStorage",Kw=tc.bind(null,mt);Cr(mt,"getItem",Zt);Cr(mt,"setItem",Yt);Cr(mt,"removeItem",Or);var gt="sessionStorage",zw=tc.bind(null,gt);Cr(gt,"getItem",Zt);Cr(gt,"setItem",Yt);Cr(gt,"removeItem",Or);function gr(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(Ke(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var Hw=Kw(),Bw=zw(),Gw=dp();function Wt(t,e){if(t){var r=rc(e),n=!oc(r),a=nc(r)?gr(localStorage.getItem(t)):void 0;if(n&&!dr(a))return a;var i=ac(r)?gr(lp(t)):void 0;if(n&&i)return i;var o=ic(r)?gr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Zt(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function Rn(t,e,r){if(t&&!dr(e)){var n={},a=rc(r),i=JSON.stringify(e),o=!oc(a);return nc(a)&&(n[mt]=hn(mt,e,gr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[mt]:ac(a)&&(n[Gt]=hn(Gt,e,gr(lp(t))),Fw(t,i),o)?n[Gt]:ic(a)&&(n[gt]=hn(gt,e,gr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[gt]:(n[Ht]=hn(Ht,e,Zt(t)),Yt(t,e),o?n[Ht]:n)}}function Ww(t,e){if(t){var r=rc(e),n=Wt(t,Wv),a={};return!dr(n.localStorage)&&nc(r)&&(localStorage.removeItem(t),a[mt]=n.localStorage),!dr(n.cookie)&&ac(r)&&(fp(t),a[Gt]=n.cookie),!dr(n.sessionStorage)&&ic(r)&&(sessionStorage.removeItem(t),a[gt]=n.sessionStorage),!dr(n.global)&&Xn(r,Ht)&&(Or(t),a[Ht]=n.global),a}}function rc(t){return t?Tt(t)?t:t.storage:Gv}function nc(t){return Hw&&Xn(t,mt)}function ac(t){return Gw&&Xn(t,Gt)}function ic(t){return Bw&&Xn(t,gt)}function oc(t){return t===Wv||t==="all"}function Xn(t,e){return t===Gv||t===e||oc(t)}function hn(t,e,r){return{location:t,current:e,previous:r}}var Vw={setItem:Rn,getItem:Wt,removeItem:Ww};function Jw(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Jd(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,n)}return r}function Zd(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Jd(Object(r),!0).forEach(function(n){Jw(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Jd(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Zw(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:Vw};return Mw(Zd(Zd({},e),t))}function Yw(t){if(typeof window>"u")return;const{addEventListener:e,history:r,location:n}=window;let a=n.pathname;e("popstate",()=>t(n.pathname)),["push","replace"].map(i=>{const o=`${i}State`;if(o!=="pushState"&&o!=="replaceState")return;const s=r[o];r[o]=function(...u){const l=u[2]?.toString()||"",c=Qw(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function Xw(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function Qw(t){return["#","?"].forEach(e=>t=Xw(t,e)),t}function eb(){Yw(()=>{dt.page()})}var ns="up",as="down";function tb(t){if(t===void 0&&(t={}),!Ce)return gs;var e=Xd(),r=Is(),n=Yd(),a=vn(n,e),i=vn(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return gs;var d=h.map(function(p){return Number(p)}),v=pw(function(){var p=Xd(),g=(function($,M){return M.map(function(N){return N===100?$-5:$*(N/100)})})(p,d),P=Is(),w=Yd(),y=vn(w,p),m=vn(P,p);if(c=y>c?y:c,f=m<f?m:f,!(o.length>=d.length)){var b=l===w,R=ns;b?R="initial":l<=w&&(R=as);var A=g,j=d;(R===ns||b)&&(A=g.slice().reverse(),j=d.slice().reverse());var z=j.reduce(function($,M,N){var S=A[N];return u.includes(M)&&w<=S&&(u=u.filter(function(O){return O!==M}),$.singleFunction=M),R===as&&!o.includes(M)&&w>=S&&M>i?(s.push(M),$.callbacks=$.callbacks.concat(M),$):R===ns&&!o.includes(M)&&w<=S&&M<=y?($.foundFunc=[M],$):(b&&w>=S&&$.foundFunc.length===0&&($.foundFunc=[M]),!s.includes(M)&&w>=S&&(s.push(M),$.singleFunction?u.push(M):$.singleFunction=M),$)},{foundFunc:[],singleFunction:null,callbacks:[],direction:R});if(l=w,R===as&&z.callbacks&&z.callbacks.forEach(function($){ze(t[$])&&(t[$]({trigger:$,direction:R,scrollMin:f,scrollMax:c,range:[f,c]}),o.push($))}),z.singleFunction){var V=z.singleFunction,te=z.direction;ze(t[V])&&t[V]({trigger:V,direction:te,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(V)}}},500);return window.addEventListener("scroll",v),function(){return window.removeEventListener("scroll",v)}}function Is(){return Ce?document.body.scrollTop||document.documentElement.scrollTop:0}function rb(){return Ce?window.innerHeight||document.documentElement.clientHeight:0}function Yd(){return Math.round(Is()+rb())}function Xd(){if(!Ce)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function vn(t,e){return Math.round(t/e*100)}var sc="Event",Qd=sc+"Listener";function nb(t){return function(e,r,n,a){var i=n||gs,o=a||!1;if(!Ce)return i;var s=On(r),u=On(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+sc);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+Qd:"remove"+Qd,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?ab(i):i:l[d]||i;for(var p=0;p<s.length;p++)v[h]?v["on"+s[p]]=f?l[d]:null:v[h](s[p],l[d],o)}return c.bind(null,!f)})(t)}}function On(t,e){if(Tt(t))return e?On(document.querySelectorAll(t)):(r=t).split(r.indexOf(",")>-1?",":" ").map(function(o){return o.trim()});var r;if(NodeList.prototype.isPrototypeOf(t)){for(var n=[],a=t.length>>>0;a--;)n[a]=t[a];return n}var i=lw(t);return e?i.map(function(o){return Tt(o)?On(o,!0):o}).flat():i}function ab(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var is=nb(sc);function hp(t,e){return Ce&&ze(window[t])?(r=window[t],n=e,(a=window)===void 0&&(a=null),ze(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[t]=e;var r,n,a}hp.bind(null,"onerror");hp.bind(null,"onload");var vp=typeof window>"u",eh="hidden";function ib(t){if(vp)return!1;var e=ob(),r="".concat(e.replace(/[H|h]idden/,""),"visibilitychange"),n=function(){return t(!!document[e])},a=function(){return document.addEventListener(r,n)};return a(),function(){return document.removeEventListener(r,n),a}}function ob(){var t=["webkit","moz","ms","o"];return vp||eh in document?eh:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var sb=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function cb(t,e){e===void 0&&(e={});var r=(function(o,s){var u=this,l=!1;return function(c){l||(o.call(u,c),l=!0,setTimeout(function(){return l=!1},s))}})(t,e.throttle||1e4),n=[];function a(){var o=ib(function(s){s||r({type:"tabVisible"})});return n=[o].concat(sb.map(function(s){return is(document,s,r)})).concat(is(window,"load",r)).concat(is(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function ub(t){var e,r,n=t.onIdle,a=t.onWakeUp,i=t.onHeartbeat,o=t.timeout,s=o,u=t.throttle,l=u===void 0?2e3:u,c=!1,f=!1,h=new Date,d=function(){return clearTimeout(e)};function v(g){d(),i&&!c&&i(Mr(h),g),a&&c&&(c=!1,a(Mr(r),g),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(Mr(h),g))},s)}var p=cb(v,{throttle:l});return{disable:function(){f=!0,c=!1,d();var g=p();return function(){return f=!1,h=new Date,v({type:"load"}),g()}},getStatus:function(){return{isIdle:c,isDisabled:f,active:c?0:Mr(h,f),idle:c?Mr(r,f):0}}}}function Mr(t,e){return e?0:Math.round((new Date-t)/1e3)}const th=5e3;class lb{element;isInViewport=!1;isAwake=!1;isFlushing;observer;lastEventAt=Date.now();registeredView=!1;viewCallback;activeDurationCallback;idleDurationCallback;scrollCallback;constructor(e){this.element=e.element,this.viewCallback=e.viewCallback,this.activeDurationCallback=e.activeDurationCallback,this.idleDurationCallback=e.idleDurationCallback,this.scrollCallback=e.scrollCallback,this.observer=new IntersectionObserver(r=>{r.forEach(n=>{this.handleInViewPort(n.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),ub({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:th}),tb({25:this.handleScroll.bind(this),50:this.handleScroll.bind(this),75:this.handleScroll.bind(this),90:this.handleScroll.bind(this),100:this.handleScroll.bind(this)})}flush(){this.isFlushing=!0,this.handleAwake(!this.isAwake)}handleInViewPort(e){e?(this.isAwake=!0,this.trackInViewport()):this.handleAwake(!1),this.isInViewport=e}handleAwake(e,r=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=e,this.lastEventAt=e?Date.now()-r*th:Date.now(),this.isInViewport&&this.trackAwake(e,r)}handleScroll(e){this.scrollCallback&&this.scrollCallback(e)}handleVisibilityChange(){this.isAwake=!1;const e=Math.round((Date.now()-this.lastEventAt)/1e3);e>1&&(this.lastEventAt=Date.now(),this.trackAwake(!1,e))}trackAwake(e,r){!e&&this.activeDurationCallback&&this.activeDurationCallback(r,this.isFlushing,this.lastEventAt),e&&this.idleDurationCallback&&this.idleDurationCallback(r,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}function pp(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function fb(t,e){e=e||{};var r,n,a=[],i=e.max||1/0;function o(){clearInterval(r),t(a.splice(0,i)),s()}function s(){r=setInterval(o,e.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)}}}const rh="sesamy_session_id";function db(){let t=sessionStorage.getItem(rh);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(rh,t)),t}let mp=!1,wn,Cn,Ps;function gp(t){return JSON.stringify(t.map(e=>{const{campaign:r,...n}=e.properties||{};return{anonymousId:e.anonymousId,userId:e.userId,type:e.type,properties:n,clientId:Ps,requestId:Math.random().toString(36).slice(2,9),sessionId:db(),timestamp:new Date().toISOString(),version:Wn,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:Kt("sesamy:item-src"),publisherContentId:Kt("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:Xs,userAgent:navigator.userAgent,clientId:Ps}}}))}const yp=fb(async t=>{if(t.length>0){const e=gp(t);mp?navigator.sendBeacon(Cn,e):(await fetch(Cn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function os(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(Cn,gp([e]))}else yp.push(t)}function hb(){return mp=!0,yp.flush()}function vb(t,e,r){wn=e,Cn=`${ot("logs",r)}/events`,Ps=t}const pb={name:"custom-analytics-plugin",page:({payload:t})=>{if(!wn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;os({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!wn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;os({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!wn)return;const{properties:e,anonymousId:r,userId:n}=t;os({anonymousId:r,userId:n,properties:e,type:"identify"})}},nh=["source","medium","campaign","term","content"],kt="utm_",mb=1800*1e3;function wp(t){return t?Date.now()-parseInt(t,10)>mb:!0}function ah(){const t=document.referrer||"";if(!t)return;const e=Wt(`${kt}set_at`);(wp(e)||!Wt(`${kt}referrer`))&&Rn(`${kt}referrer`,t)}function gb(){const t=()=>{const r={};for(const a of nh){const i=Wt(`${kt}${a}`);i&&(r[`utm_${a}`]=i)}const n=Wt(`${kt}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){ah()},campaign({payload:r}){const n=r?.campaign||{},a=Wt(`${kt}set_at`);if(Object.keys(n).length>0&&wp(a)){for(const o of nh){const s=n[o];s&&Rn(`${kt}${o}`,s)}Rn(`${kt}set_at`,String(Date.now()))}ah()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const yb=gb(),ih=new Map,oh=new Map;function wb({clientId:t,enabled:e=!0,environment:r}){vb(t,e,r),e&&(window.addEventListener("beforeunload",()=>{oh.forEach((n,a)=>{n.bind(a)()}),hb()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&ih.forEach((n,a)=>{n.bind(a)()})}),eb(),pp(()=>{const n=new lb({element:document.body,viewCallback:()=>{dt.page()},activeDurationCallback:(a,i,o)=>{dt.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{dt.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{dt.track("scroll",{scroll:a.scrollMax})}});oh.set(document.body,()=>{n.flush()}),ih.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(Be.AUTHENTICATED,async n=>{const a=n;await dt.identify(a.detail.sub)}),window.addEventListener(Be.LOGOUT,async()=>{await dt.track("logout",{}),await dt.reset()}))}const dt=Zw({app:Xs,version:Wn,plugins:[yb,pb]});function bp(t,e){dt.track(t,e)}const bb=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function Sb(){return new Promise(t=>{const e=bb.map(r=>{const n=document.createElement("div");return n.innerHTML="&nbsp;",n.id=r,n.style.position="absolute",document.body.appendChild(n),n});window.setTimeout(()=>{const r=!e.every(n=>document.querySelector(`#${n.id}`)?.offsetParent);e.forEach(n=>n.remove()),t(r)},100)})}function Ib(){const t=navigator.userAgent.toLowerCase(),e=[{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 e)if(r.regex.test(t))return{isInAppBrowser:!0,browserName:r.name};return/; wv\)/.test(t)?{isInAppBrowser:!0,browserName:"Unknown In-App Browser"}:{isInAppBrowser:!1,browserName:null}}function Pb(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});bp(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function Eb(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function kb(t){const{autoOnboardProduct:e,bills:r,checkouts:n,contracts:a,deleteTag:i,deleteTally:o,entitlements:s,generateLink:u,getEntitlements:l,getFulfillments:c,getProfile:f,getProxyContent:h,getSubscriptions:d,getTags:v,getTally:p,getTallies:g,getTransaction:P,hasAccess:w,isSpotifyLinked:y,linkSpotify:m,openHostedAccountPage:b,paywalls:R,paymentIssues:A,products:j,pushTally:z,requestDelivery:V,setTag:te,transactions:$,unlinkSpotify:M,updateProfile:N,userMetadata:S,vendor:O}=zy(t),q=()=>A.list(),F={analytics:{track:bp},attribution:{get:En,set:$v},auth:{getUser:f,getTokenSilently:jt,isAuthenticated:vr,loginWithRedirect:Gn,loginWithPopup:Tv,login:Bg,logout:Js,setToken:vs},bills:r,browser:{detectAdblock:Sb,isInAppBrowser:Ib,isIncognito:Gs},checkouts:n,clearCache:vt,content:{list:Hv,get:an,getLanguage:Br,hasAccess:Ky,unlock:Bv,getPropertyFromHTML:ec},contracts:a,entitlements:{...s,access:s.getAccess,hasAccess:w,list:l,signedLinks:Ys},events:{emit:Pb,cancel:Eb},flags:{get:xv,set:Nv,list:nn,delete:Dv},fulfillments:{list:c,requestDelivery:V},generateLink:u,getPaymentIssues:q,getVersion:_b,isReady:()=>exports.isInitialized,log:ce,paywalls:R,paymentIssues:A,products:{...j,autoOnboard:e,linkSpotify:m},profile:{get:f,isSpotifyLinked:y,openHostedAccountPage:b,unlinkSpotify:M,update:N},proxy:{getContent:h},subscriptions:{list:d},tags:{delete:i,list:v,set:te},tallies:{delete:o,get:p,list:g,push:z},transactions:{...$,get:P},userMetadata:S,vendor:O,setToken:vs};return t.namespace&&(window[t.namespace]=F),F}function _b(){return Wn}function Tb(t,e){t.style.position="relative",t.style.height="200px",t.style.overflow="hidden";let n=0;const a=Array.from(t.children);for(const o of a){const s=o.offsetHeight;n+s>200?o.remove():n+=s}const i=document.createElement("style");i.innerHTML=`
35
+ CAUSE: `+d.stack,b.response=y,b.status=y.status,b.url=f,y.type==="opaque")throw b;const R=a.errorType==="json"||((m=y.headers.get("Content-Type"))===null||m===void 0?void 0:m.split(";")[0])==="application/json";return(a.errorType?R?y.text():y[a.errorType]():Promise.resolve(y.body)).then(A=>{if(b.message=typeof A=="string"?A:y.statusText,A)if(R&&typeof A=="string"){b.text=A;try{b.json=JSON.parse(A)}catch{}}else b[a.errorType]=A;throw b})}return y}),p=y=>y.catch(m=>{const b=Object.prototype.hasOwnProperty.call(m,sr),R=b?m[sr]:m,A=R?.status&&l.get(R.status)||l.get(R?.name)||b&&l.has(sr)&&l.get(sr);if(A)return A(R,t);const j=l.get(Cv);if(j)return j(R,t);throw R}),g=y=>m=>p(y?v.then(b=>b&&b[y]()).then(b=>m?m(b):b):v.then(b=>m?m(b):b)),P={_wretchReq:t,_fetchReq:h,_sharedState:e,res:g(null),json:g("json"),blob:g("blob"),formData:g("formData"),arrayBuffer:g("arrayBuffer"),text:g("text"),error(y,m){return l.set(y,m),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(sr,y)}},w=u.reduce((y,m)=>({...y,...typeof m.resolver=="function"?m.resolver(y):m.resolver}),P);return o.reduce((y,m)=>m(y,t),w)},sy={_url:"",_options:{},_config:br,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(t){return{...this,_addons:[...this._addons,t],...t.wretch}},errorType(t){return{...this,_config:{...this._config,errorType:t}}},polyfills(t,e=!1){return{...this,_config:{...this._config,polyfills:e?t:zt(this._config.polyfills,t)}}},url(t,e=!1){if(e)return{...this,_url:t};const r=this._url.split("?");return{...this,_url:r.length>1?r[0]+t+"?"+r[1]:this._url+t}},options(t,e=!1){return{...this,_options:e?t:zt(this._options,t)}},headers(t){const e=t?Array.isArray(t)?Object.fromEntries(t):"entries"in t?Object.fromEntries(t.entries()):t:{};return{...this,_options:zt(this._options,{headers:e})}},accept(t){return this.headers({Accept:t})},content(t){return this.headers({[Ov]:t})},auth(t){return this.headers({Authorization:t})},catcher(t,e){const r=new Map(this._catchers);return r.set(t,e),{...this,_catchers:r}},catcherFallback(t){return this.catcher(Cv,t)},resolve(t,e=!1){return{...this,_resolvers:e?[t]:[...this._resolvers,t]}},defer(t,e=!1){return{...this,_deferred:e?[t]:[...this._deferred,t]}},middlewares(t,e=!1){return{...this,_middlewares:e?t:[...this._middlewares,...t]}},fetch(t=this._options.method,e="",r=null){let n=this.url(e).options({method:t});const a=wd(n._options.headers),i=this._config.polyfill("FormData",!1),o=typeof r=="object"&&!(i&&r instanceof i)&&(!n._options.headers||!a||bd(a));return n=r?o?n.json(r,a):n.body(r):n,oy(n._deferred.reduce((s,u)=>u(s,s._url,s._options),n))},get(t=""){return this.fetch("GET",t)},delete(t=""){return this.fetch("DELETE",t)},put(t,e=""){return this.fetch("PUT",e,t)},post(t,e=""){return this.fetch("POST",e,t)},patch(t,e=""){return this.fetch("PATCH",e,t)},head(t=""){return this.fetch("HEAD",t)},opts(t=""){return this.fetch("OPTIONS",t)},body(t){return{...this,_options:{...this._options,body:t}}},json(t,e){const r=wd(this._options.headers);return this.content(e||bd(r)&&r||ty).body(JSON.stringify(t))}};function ct(t="",e={}){return{...sy,_url:t,_options:e}}ct.default=ct;ct.options=ry;ct.errorType=ay;ct.polyfills=ny;ct.WretchError=Av;const cy=(t,e)=>e.skipDedupe||e.method!=="GET",uy=(t,e)=>e.method+"@"+t,ly=t=>t.clone(),fy=({skip:t=cy,key:e=uy,resolver:r=ly}={})=>{const n=new Map;return a=>(i,o)=>{if(t(i,o))return a(i,o);const s=e(i,o);if(!n.has(s))n.set(s,[]);else return new Promise((u,l)=>{n.get(s).push([u,l])});try{return a(i,o).then(u=>(n.get(s).forEach(([l])=>l(r(u))),n.delete(s),u)).catch(u=>{throw n.get(s).forEach(([,l])=>l(u)),n.delete(s),u})}catch(u){return n.delete(s),Promise.reject(u)}}},dy=(t,e)=>e.skipCache||e.method!=="GET",hy=(t,e)=>e.method+"@"+t,vy=()=>!1,py=()=>null,my=t=>t.ok,gy=({throttle:t=1e3,skip:e=dy,key:r=hy,clear:n=vy,invalidate:a=py,condition:i=my,flagResponseOnCacheHit:o="__cached"}={})=>{const s=new Map,u=new Map,l=new Set,c=h=>{t&&!l.has(h)&&(l.add(h),setTimeout(()=>{l.delete(h)},t))},f=h=>(d,v)=>{const p=r(d,v);let g=a(d,v);if(g&&(g instanceof Array||(g=[g]),g.forEach(P=>{typeof P=="string"?s.delete(P):P instanceof RegExp&&s.forEach((w,y)=>{P.test(y)&&s.delete(y)})})),n(d,v)&&s.clear(),e(d,v))return h(d,v);if(l.has(p)){if(s.has(p)){const P=s.get(p).clone();return o&&Object.defineProperty(P,o,{value:p,enumerable:!1}),Promise.resolve(P)}else if(u.has(p))return new Promise((P,w)=>{u.get(p).push([P,w])})}return u.has(p)||u.set(p,[]),c(p),h(d,v).then(P=>(i(P.clone())&&s.set(p,P.clone()),u.get(p).forEach(([w])=>w(P.clone())),u.delete(p),P)).catch(P=>{throw u.get(p).forEach(([,w])=>w(P)),u.delete(p),P})};return f.cacheResponse=function(h,d){c(h),s.set(h,d)},f.cache=s,f.inflight=u,f.throttling=l,f},yy=(t,e)=>t*e,wy=t=>t&&t.ok,by=({delayTimer:t=500,delayRamp:e=yy,maxAttempts:r=10,until:n=wy,onRetry:a=null,retryOnNetworkError:i=!1,resolveWithLatestResponse:o=!1,skip:s}={})=>u=>(l,c)=>{let f=0;if(s&&s(l,c))return u(l,c);const h=(d,v)=>Promise.resolve(n(d,v)).then(p=>p?d&&o?d:v?Promise.reject(v):d:(f++,!r||f<=r?new Promise(g=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((w={})=>{var y,m;g(u((y=w&&w.url)!==null&&y!==void 0?y:l,(m=w&&w.options)!==null&&m!==void 0?m:c))}):g(u(l,c))},P)}).then(h).catch(g=>{if(!i)throw g;return h(null,g)}):d&&o?d:Promise.reject(v||new Error("Number of attempts exceeded."))));return u(l,c).then(h).catch(d=>{if(!i)throw d;return h(null,d)})},Sy="@sesamy/sdk",Iy="1.22.0";let Py=class{cache=new Map;get(e){return this.cache.get(e)||null}set(e,r){this.cache.set(e,r)}remove(e){this.cache.delete(e)}clear(){this.cache.clear()}};const Fr="sesamyCacheTimestamp",Ey=t=>{const{libraryName:e=Sy,libraryVersion:r=Iy,cache:n}=t,a=n?.storage||new Py,i=[s=>async(u,l)=>{if(n?.mode===Pn.BROWSER){let c;typeof sessionStorage<"u"?(c=sessionStorage.getItem(Fr),c||(c=Date.now().toString(),sessionStorage.setItem(Fr,c))):(c=a.get(Fr),c||(c=Date.now().toString(),a.set(Fr,c)));const f={...l,headers:{...l.headers,"Cache-Timestamp":c}};return s(u,f)}return s(u,l)},s=>async(u,l)=>{const c=await t.tokenProvider(),f={...l,headers:{...l.headers,Authorization:c}};return s(u,f)},fy()];n?.mode===Pn.NORMAL&&i.push(gy({throttle:300*1e3,skip:(s,u)=>u.method!=="GET"})),i.push(by({delayTimer:1e3,delayRamp:(s,u)=>s*u,maxAttempts:3,until:s=>!!(s&&(s.ok||s.status>=400&&s.status<500)),retryOnNetworkError:!1}));const o=ct(t.baseUrl).headers({"Content-Type":"application/json","X-Sesamy-Client":`${e}/${r}`,...t.headers}).middlewares(i);return{async request(s,u={}){try{const l=/^https?:\/\//.test(s);let c=o.url(s,l);u.headers&&(c=c.headers(u.headers));const f=(u.method||"GET").toLowerCase();let h;switch(f){case"get":h=c.get();break;case"post":h=c.post(u.body);break;case"put":h=c.put(u.body);break;case"patch":h=c.patch(u.body);break;case"delete":h=c.delete();break;default:h=c.get()}const d=await h.res();if(d.ok&&["post","patch","put","delete"].includes(f)&&vt(),d.status===204)return null;if(!d.ok){const v=await d.text().catch(()=>"Unknown error");throw new Vo(d.status,d.statusText,d.url,`API Error ${d.status}: ${v}`,v)}return await d.json()}catch(l){if(l instanceof Vo)throw l;const c=l.status||500,f=l.message||"Unknown error",h=`${t.baseUrl}${s}`;throw new Vo(c,f,h,`API Error ${c}: ${l.message||"Unknown error"}`,l.message||"Unknown error")}}}},vt=()=>(typeof sessionStorage<"u"&&sessionStorage.removeItem(Fr),"Cache cleared"),xr={get:async(t,e)=>t.request(`/profile/${e}`),update:async(t,e,r)=>t.request(`/profile/${e}`,{method:"PATCH",body:JSON.stringify(r)}),checkSpotifyLink:async t=>t.request("/profile/spotify-link"),unlinkSpotify:async t=>t.request("/profile/unlink-spotify",{method:"POST"}),delete:async t=>{await t.request("/profile",{method:"DELETE"})}},Jo={list:async(t,e)=>{const r=new URLSearchParams;e?.type&&r.append("type",e.type),e?.sku&&r.append("sku",e.sku),e?.purchaseOptionId&&r.append("purchase-option-id",e.purchaseOptionId),e?.waitForEntitlementAfter&&r.append("wait-for-entitlement-after",e.waitForEntitlementAfter);const n=r.toString(),a=n?`/entitlements?${n}`:"/entitlements";return t.request(a)},get:async(t,e)=>t.request(`/entitlements/${e}`),getAccess:async(t,e)=>t.request(`/entitlements/${e}/access`)},Sd={list:async t=>t.request("/subscriptions"),get:async(t,e)=>t.request(`/subscriptions/${e}`)},Id={get:async(t,e)=>t.request(`/products/${e}`),autoOnboard:async(t,e)=>t.request(`/products/${e}/auto-onboard`,{method:"POST"})},ky=(t,e)=>{if(!t||!e)return t;const r=new URL(t);return r.hash=`access_token=${e}`,r.toString()},Pd=(t,e)=>!t.manageUrl||!e?t:{...t,manageUrl:ky(t.manageUrl,e)},Dr={list:async t=>t.request("/contracts"),get:async(t,e)=>t.request(`/contracts/${e}`),cancel:async(t,e)=>t.request(`/contracts/${e}/cancel`,{method:"POST"}),createAmendment:async(t,e,r)=>t.request(`/contracts/${e}/amendments`,{method:"POST",body:JSON.stringify(r)}),confirmAmendment:async(t,e,r)=>t.request(`/contracts/${e}/amendments/${r}/confirm`,{method:"POST"})},Zo={get:async t=>t.request("/user-metadata"),set:async(t,e,r)=>{await t.request(`/user-metadata/${e}`,{method:"PUT",body:r})},delete:async(t,e)=>{await t.request(`/user-metadata/${e}`,{method:"DELETE"})}},cr={list:async t=>t.request("/tallies"),get:async(t,e)=>t.request(`/tallies/${e}`),update:async(t,e,r)=>t.request(`/tallies/${e}`,{method:"PUT",body:JSON.stringify(r)}),create:async(t,e)=>t.request("/tallies",{method:"POST",body:JSON.stringify(e)}),delete:async(t,e)=>{try{return await t.request(`/tallies/${e}`,{method:"DELETE"}),!0}catch{return!1}},push:async(t,e,r)=>t.request(`/tallies/${e}/push`,{method:"POST",body:JSON.stringify(r)})},Yo={list:async t=>t.request("/tags"),add:async(t,e)=>{await t.request("/tags",{method:"POST",body:JSON.stringify({tag:e})})},remove:async(t,e)=>{await t.request(`/tags/${e}`,{method:"DELETE"})}},ur={generateCheckoutLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkouts`);return e.items&&r.searchParams.set("items",JSON.stringify(e.items)),e.email&&r.searchParams.set("email",e.email),e.language&&r.searchParams.set("lang",e.language),e.redirectUrl&&r.searchParams.set("redirect-url",e.redirectUrl),e.giftMode&&r.searchParams.set("gift-mode","true"),e.payerEmail&&r.searchParams.set("payer-email",e.payerEmail),e.requireAddress&&r.searchParams.set("require-address","true"),e.metadata&&Object.entries(e.metadata).forEach(([n,a])=>{r.searchParams.set(`metadata.${n}`,a)}),r.toString()},generateAccountLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}${e.contractId?`/${encodeURIComponent(e.contractId)}`:""}`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateChangePaymentLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.contractId)}/change-payment-method`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateChangePlanLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.contractId)}/edit-plan`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateConsumeLink:(t,e)=>{const r=e.language||"en";let n=new URL(`${t.baseUrl}/consume/${encodeURIComponent(r)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.sku)}`);return e.episodeId?n.href+=`/${encodeURIComponent(e.episodeId)}`:n.href+="/listen",n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()}},Xo={generateLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkouts`);return e.items&&r.searchParams.set("items",JSON.stringify(e.items)),e.email&&r.searchParams.set("email",e.email),e.language&&r.searchParams.set("lang",e.language),e.redirectUrl&&r.searchParams.set("redirect-url",e.redirectUrl),e.giftMode&&r.searchParams.set("gift-mode","true"),e.payerEmail&&r.searchParams.set("payer-email",e.payerEmail),e.requireAddress&&r.searchParams.set("require-address","true"),e.metadata&&Object.entries(e.metadata).forEach(([n,a])=>{r.searchParams.set(`metadata.${n}`,a)}),r.toString()},create:async(t,e)=>t.request("/checkouts",{method:"POST",body:JSON.stringify(e)}),get:async(t,e)=>t.request(`/checkouts/${e}`),update:async(t,e,r)=>t.request(`/checkouts/${e}`,{method:"PATCH",body:JSON.stringify(r)})},Ed={list:async t=>t.request("/bills"),get:async(t,e)=>t.request(`/bills/${e}`)},kd={list:async t=>t.request("/fulfillments"),create:async(t,e)=>t.request("/fulfillments",{method:"POST",body:JSON.stringify(e)})},_y={get:async(t,e)=>{try{return new URL(e),t.request(e)}catch{return t.request(`/paywalls/${e}`)}}},Ty={list:async t=>t.request("/payment-issues")},Ry={content:async(t,e,r,n,a)=>{const i=new URLSearchParams({url:e});return r&&i.append("selector",r),n&&i.append("cache",n),t.request(`/proxy?${i.toString()}`,a)}},Oy={list:async(t,e)=>{const r=(e?new URLSearchParams({q:e}):new URLSearchParams).toString(),n=r?`/transactions?${r}`:"/transactions";return t.request(n)}},_d={get:async t=>t.request("/vendor"),list:async t=>t.request("/vendors")},Cy=t=>{const e=Ey(t);return{profile:{get:r=>xr.get(e,r),update:(r,n)=>xr.update(e,r,n),checkSpotifyLink:()=>xr.checkSpotifyLink(e),unlinkSpotify:()=>xr.unlinkSpotify(e),delete:()=>xr.delete(e)},entitlements:{list:r=>Jo.list(e,r),get:r=>Jo.get(e,r),getAccess:r=>Jo.getAccess(e,r)},subscriptions:{list:()=>Sd.list(e),get:r=>Sd.get(e,r)},products:{get:r=>Id.get(e,r),autoOnboard:r=>Id.autoOnboard(e,r)},contracts:{list:async()=>{const r=await Dr.list(e),n=await t.tokenProvider();if(!n.toLowerCase().startsWith("bearer "))return r;const a=n.substring(7);return r.map(i=>Pd(i,a))},get:async r=>{const n=await Dr.get(e,r),a=await t.tokenProvider();if(!a.toLowerCase().startsWith("bearer "))return n;const i=a.substring(7);return Pd(n,i)},cancel:r=>Dr.cancel(e,r),createAmendment:(r,n)=>Dr.createAmendment(e,r,n),confirmAmendment:(r,n)=>Dr.confirmAmendment(e,r,n)},userMetadata:{get:()=>Zo.get(e),set:(r,n)=>Zo.set(e,r,n),delete:r=>Zo.delete(e,r)},tallies:{list:()=>cr.list(e),get:r=>cr.get(e,r),update:(r,n)=>cr.update(e,r,n),create:r=>cr.create(e,r),delete:r=>cr.delete(e,r),push:(r,n)=>cr.push(e,r,n)},tags:{list:()=>Yo.list(e),add:r=>Yo.add(e,r),remove:r=>Yo.remove(e,r)},checkouts:{generateLink:(r,n)=>ur.generateCheckoutLink(r,n),create:r=>Xo.create(e,r),get:r=>Xo.get(e,r),update:(r,n)=>Xo.update(e,r,n)},links:{generateCheckoutLink:(r,n)=>ur.generateCheckoutLink(r,n),generateAccountLink:(r,n)=>ur.generateAccountLink(r,n),generateChangePaymentLink:(r,n)=>ur.generateChangePaymentLink(r,n),generateChangePlanLink:(r,n)=>ur.generateChangePlanLink(r,n),generateConsumeLink:(r,n)=>ur.generateConsumeLink(r,n)},bills:{list:()=>Ed.list(e),get:r=>Ed.get(e,r)},fulfillments:{list:()=>kd.list(e),create:r=>kd.create(e,r)},paywalls:{get:r=>_y.get(e,r)},paymentIssues:{list:()=>Ty.list(e)},proxy:{content:(r,n,a,i)=>Ry.content(e,r,n,a,i)},transactions:{list:r=>Oy.list(e,r)},vendor:{get:()=>_d.get(e),list:()=>_d.list(e)}}};class Ay{get(e){return typeof sessionStorage>"u"?null:sessionStorage.getItem(e)}set(e,r){typeof sessionStorage<"u"&&sessionStorage.setItem(e,r)}remove(e){typeof sessionStorage<"u"&&sessionStorage.removeItem(e)}clear(){}}function ps(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function Uv(t,e){if(ps(t))return{itemSrc:t};const r=t.split(":");if(r.length<2)throw new Error(`Invalid itemSrc format: expected at least 2 segments separated by ':', got ${r.length}`);const[n,a,i]=r;if(!a)throw new Error("Invalid itemSrc format: sku segment is empty");return{sku:`${n}:${a}`,purchaseOption:e||i}}function Td(t){return t.endsWith("/")?t.slice(0,-1):t}function Rd(t,e){if(!ps(t)||!ps(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&Td(r.pathname)===Td(n.pathname)}function Uy(t,e,r){const n=new URL(`${ot("checkout3",t.environment)}`);e.language&&n.searchParams.set("lang",e.language);let a=e.sku,i=e.purchaseOptionId,o=e.itemSrc;if(e.itemSrc){const c=Uv(e.itemSrc,e.purchaseOptionId);a=c.sku||a,i=c.purchaseOption||i,o=c.itemSrc}a?(n.searchParams.set("sku",a),i&&n.searchParams.set("po-id",i)):o&&n.searchParams.set("url",o),e.email&&n.searchParams.set("email",e.email),e.business&&n.searchParams.set("business","true"),e.currency&&n.searchParams.set("currency",e.currency),e.price&&n.searchParams.set("price",e.price.toString()),e.discountCode&&n.searchParams.set("discount-code",e.discountCode),e.attributionItemSrc?n.searchParams.set("itemSrc",e.attributionItemSrc):r.itemSrc&&n.searchParams.set("itemSrc",r.itemSrc),e.attributionPublisherContentId?n.searchParams.set("publisherContentId",e.attributionPublisherContentId):r.publisherContentId&&n.searchParams.set("publisherContentId",r.publisherContentId),e.utmSource?n.searchParams.set("utm_source",e.utmSource):r.utmSource&&n.searchParams.set("utm_source",r.utmSource),e.utmMedium?n.searchParams.set("utm_medium",e.utmMedium):r.utmMedium&&n.searchParams.set("utm_medium",r.utmMedium),e.utmCampaign?n.searchParams.set("utm_campaign",e.utmCampaign):r.utmCampaign&&n.searchParams.set("utm_campaign",r.utmCampaign),e.utmTerm?n.searchParams.set("utm_term",e.utmTerm):r.utmTerm&&n.searchParams.set("utm_term",r.utmTerm),e.utmContent?n.searchParams.set("utm_content",e.utmContent):r.utmContent&&n.searchParams.set("utm_content",r.utmContent);const s=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(c=>{const[f,h]=c.trim().split("=");return{key:f,value:h}}).filter(c=>s.some(f=>f===c.key)).forEach(c=>{n.searchParams.append(c.key,c.value)});let l=new URL(window.location.href);if(e.redirectUrl)try{l=new URL(e.redirectUrl)}catch{console.warn("Invalid redirect URL provided, using current URL instead:",e.redirectUrl)}return l.searchParams.set("force-refetch-entitlements","true"),e.itemSrc&&l.searchParams.set("sesamy-purchase",e.itemSrc),n.searchParams.set("redirect-url",l.toString()),e.paymentMethodsFilter&&n.searchParams.set("paymentmethods-filter",e.paymentMethodsFilter.flatMap(({provider:c,methods:f})=>f?f.map(h=>`${c}|${h}`):c).join(",")),e.requireAddress&&n.searchParams.set("require-address","true"),e.giftMode&&n.searchParams.set("gift-mode","true"),e.payerEmail&&n.searchParams.set("payer-email",e.payerEmail),e.metadata&&Object.entries(e.metadata).forEach(([c,f])=>{n.searchParams.set(`metadata.${c}`,String(f))}),n}const Lv="sesamySignedURLs";function Ys(){const t=sessionStorage.getItem(Lv);return t?JSON.parse(t):[]}function Ly(t){const e=Ys();e.push(t),ce(`Adding signed URL: ${t}`),sessionStorage.setItem(Lv,JSON.stringify(e))}function $y(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const ms="sesamyAttribution";function qy(t){const e=localStorage.getItem(t);if(!e)return null;try{return JSON.parse(e).value}catch{return console.error(`Failed to parse ${t}`),null}}function jy(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function En(){return qy(ms)||{}}function $v(t){if(t===null)localStorage.removeItem(ms);else{ce(`Setting attribution ${JSON.stringify(t)}`);const e=En()??{},r=$y({...e,...jy(t)});localStorage.setItem(ms,JSON.stringify({value:r}))}}const Xs="@sesamy/sesamy-js",Wn="1.78.0",qv="sesamyFlags";async function jv(t){try{localStorage.setItem(qv,JSON.stringify(t))}catch{ce("Failed to save flags to localStorage")}}async function Nv(t,e){const r=await nn();r[t]=e,await jv(r)}async function xv(t){return(await nn())[t]}async function Dv(t){const e=await nn();t in e&&(delete e[t],await jv(e))}async function nn(){try{const t=localStorage.getItem(qv);return t?JSON.parse(t):{}}catch{return{}}}function Mv(t){function e(n){return n.id?`#${n.id}`:n.classList.length>0?Array.from(n.classList).map(i=>`.${i}`).join(""):null}function r(n){const a=[];let i=n;for(;i&&i!==document.body&&i!==document.documentElement;){const o=e(i);if(o){a.unshift(o);break}if(i.parentElement){const s=Array.from(i.parentElement.children),u=s.indexOf(i)+1,l=i.tagName.toLowerCase();s.filter(f=>f.tagName.toLowerCase()===l).length>1?a.unshift(`${l}:nth-child(${u})`):a.unshift(l)}i=i.parentElement}return a.join(" > ")}return r(t)}function Ny(t){return t?Object.fromEntries(Object.entries(t).filter(([e,r])=>r!==void 0)):{}}function xy(t){return t.replace(/([A-Z])/g,"-$1").toLowerCase()}let Fe={article:{selector:"sesamy-article"},image:{selector:"img",attribute:"src"},title:{selector:"h1",attribute:"textContent"},excerpt:{selector:"p",attribute:"textContent"},price:{selector:"sesamy-article",attribute:"price"},currency:{selector:"sesamy-article",attribute:"currency"},url:{selector:"sesamy-article",attribute:"item-src"},accessLevel:{selector:"sesamy-article",attribute:"access-level"},id:{selector:"sesamy-article",attribute:"publisher-content-id"},pass:{selector:"sesamy-article",attribute:"pass"},paywallUrl:{selector:"sesamy-article",attribute:"paywall-url"}},Fv=[],Kv=!1,_t;function Qs(){const t=window.location.pathname,e=new URLSearchParams(window.location.search),r=navigator.userAgent;return Fv.find(n=>{if(n.path&&!t.includes(n.path)||n.queryParam&&e.get(n.queryParam.key)!==n.queryParam.value)return!1;if(n.headers){const a=n.headers.name.toLowerCase(),i=n.headers.contains.toLowerCase();if(a==="user-agent"){if(!r.toLowerCase().includes(i))return!1}else return!1}return!(n.userAgentContains&&!r.includes(n.userAgentContains))})}function Dy(){return Qs()}function My(t,e){Fv=t.content||[];const r=Qs();r&&r.type==="article"&&(Fe={...Fe,...Ny(r.selectors)},Kv=r.enablePaywallSettingsUrlFallback||!1),_t=e}function Fy(t,e){const{selector:r,attribute:n}=e;return r===Fe.article.selector||n&&t.hasAttribute(n)?t:t.querySelector(r)}function zv(t,e,r=!1){if(t){if(e.attribute){if(e.attribute==="textContent")return t.textContent??void 0;const n=t.getAttribute(e.attribute),a=zv(t.parentElement,e,r);if(r){const i=[];return n&&i.push(...n.split(",").map(o=>o.trim()).filter(Boolean)),a&&i.push(...a.split(",").map(o=>o.trim()).filter(Boolean)),i.length>0?[...new Set(i)].join(","):void 0}return n??a}return t.textContent??void 0}}function Kt(t){const e=document.head.querySelectorAll(`[property~='${t}'][content]`);for(let n=0;n<e.length;n+=1)if(e[n].content)return e[n].content;const r=document.head.querySelectorAll(`[name~='${t}'][content]`);for(let n=0;n<r.length;n+=1)if(r[n].content)return r[n].content}function ec({publisherContentId:t,key:e,defaultValue:r=""}){const n=t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null,a=e.replace(/-([a-z])/g,(i,o)=>o.toUpperCase());return n?.getAttribute(e)||Kt(`sesamy:${e}`)||Kt(`sesamy:${a}`)||Kt(`og:${e}`)||Kt(e)||r}function Hv(){const t=document.querySelectorAll(Fe.article.selector);return Array.from(t).map(an).filter(e=>e!==null)}function an(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:Mv(e)},n=(i,o,s,u)=>{const{transform:l,collect:c=!1}=u||{},f=Fy(e,o),h=zv(f,o,c),d=ec({publisherContentId:s,key:xy(String(i))}),v=h||d||void 0;v&&(r[i]=l?l(v):v)};n("id",Fe.id),n("title",Fe.title,r.id),n("excerpt",Fe.excerpt,r.id),n("image",Fe.image,r.id),n("price",Fe.price,r.id,{transform:i=>{const o=parseFloat(i);return Number.isNaN(o)?void 0:o}}),n("currency",Fe.currency,r.id),n("url",Fe.url,r.id),n("pass",Fe.pass,r.id,{collect:!0}),n("paywallUrl",Fe.paywallUrl,r.id),n("accessLevel",Fe.accessLevel,r.id,{transform:i=>i||"entitlement"});const a=Qs();if(a&&a.type==="article"&&(a.pass&&(r.pass=r.pass?`${r.pass},${a.pass}`:a.pass),a.price&&!r.price&&(r.price=a.price.amount),a.price?.currency&&!r.currency&&(r.currency=a.price.currency),a.paywallUrl&&!r.paywallUrl&&(r.paywallUrl=a.paywallUrl)),Kv&&!r.paywallUrl){const i=document.querySelector("sesamy-paywall");if(i){const o=i.getAttribute("settings-url");o&&(r.paywallUrl=o)}}return r.url||(r.url=window.location.href),r}async function Ky(t){const e=an(t);if(!e)throw new Error("Could not find article element");if(e.accessLevel==="public")return!0;if(e.accessLevel==="logged-in"&&!e.paywallUrl)return await _t.auth.isAuthenticated()?!0:null;if(e.paywallUrl&&((await _t.paywalls.get(e.paywallUrl)).settings.template==="LOGIN"?"logged-in":"entitlement")==="logged-in")return await _t.auth.isAuthenticated()?!0:null;if(!e.url)throw new Error("Article must have a URL");return await _t.entitlements.hasAccess(e.url,e.pass?.split(",")||[])||null}async function Bv(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=an(r);if(!n?.url)throw new Error("Could not find content for element");const a=await _t.entitlements.hasAccess(n.url,n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await _t.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||Mv(r.parentElement||r);return _t.proxy.getContent(i.token,n.url,o)}function zy(t,e={}){const{closeOnBackdropClick:r=!0,closeOnEscape:n=!0,zIndex:a=2147483647,backdropBlur:i="5px",overlayBackground:o="rgba(0,0,0,0.5)"}=e,s=document.createElement("div");s.setAttribute("data-sesamy-modal","true"),Object.assign(s.style,{position:"fixed",top:"0",left:"0",width:"100vw",height:"100vh",background:o,zIndex:String(a),display:"flex",alignItems:"center",justifyContent:"center",backdropFilter:`blur(${i})`});const u=document.createElement("div");u.setAttribute("data-sesamy-modal-content","true"),typeof t=="string"?u.innerHTML=t:u.appendChild(t),s.appendChild(u);const l=()=>{s.remove(),n&&document.removeEventListener("keydown",c)},c=f=>{f.key==="Escape"&&l()};return r&&s.addEventListener("click",f=>{f.target===s&&l()}),n&&document.addEventListener("keydown",c),document.body.appendChild(s),{element:s,close:l}}function Hy(t,e={}){const{position:r="top",fixed:n=!0,zIndex:a=2147483647,autoDismissMs:i,pushContent:o=!1,height:s,transitionDuration:u="0.3s"}=e,l=document.createElement("div");l.setAttribute("data-sesamy-notification-bar","true"),l.setAttribute("data-sesamy-notification-position",r),Object.assign(l.style,{position:n?"fixed":"absolute",[r]:"0",left:"0",width:"100%",zIndex:String(a),boxSizing:"border-box",...s&&{height:s}}),typeof t=="string"?l.innerHTML=t:l.appendChild(t);let c,f,h;const d=()=>{if(h&&clearTimeout(h),o&&s){const v=document.documentElement;v.style.transform=c||"",setTimeout(()=>{l.remove(),v.style.transition=f||""},parseFloat(u)*1e3)}else l.remove()};if(i&&(h=setTimeout(d,i)),o&&s){const v=document.documentElement;c=v.style.transform,f=v.style.transition,v.style.transition=`transform ${u} ease`,l.style.transition=`transform ${u} ease`,r==="top"?(v.style.transform=`translateY(${s})`,l.style.transform=`translateY(-${s})`):(v.style.transform=`translateY(-${s})`,l.style.transform=`translateY(${s})`),document.documentElement.prepend(l)}else document.body.appendChild(l);return{element:l,close:d}}function By(t){const e=t.endpoint||ot("api2",t.environment),n=Cy({baseUrl:e,tokenProvider:async()=>{if(await vr())try{const q=await jt(!1);if(q)return`Bearer ${q}`}catch{}const S=localStorage.getItem("__anon_id");return`Basic ${btoa(`${t.clientId}|${S}:`)}`},libraryName:Xs,libraryVersion:Wn,vendorId:t.vendorId,cache:{mode:Pn.BROWSER,storage:new Ay}}),a=S=>async(O,q)=>{let F=sessionStorage.getItem(gd);F||(F=Date.now().toString(),sessionStorage.setItem(gd,F));const I={...q,headers:{...q.headers,"Cache-Timestamp":F}};return S(O,I)},i=(S=!0)=>O=>async(q,F)=>{let I=null;if(I=await jt(S),!I){if(S)throw new Error("No access token available");return O(q,F)}const _={...F,headers:{...F.headers,...I?{Authorization:`Bearer ${I}`}:{}}};return O(q,_)},o=ct(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),Yg(),ey({delayTimer:1e3,delayRamp:(S,O)=>S*O,maxAttempts:3,until:S=>!!(S&&(S.ok||S.status>=400&&S.status<500)),retryOnNetworkError:!1})]);async function s(S={}){const{waitForEntitlementAfter:O,includeSignedLinks:q=!0}=S,F=await vr()?await n.entitlements.list({waitForEntitlementAfter:O?.toISOString()}):[];return q&&F.push(...Ys()),F}async function u(S,O=[]){return(await s())?.find(I=>{if(S){const{sku:_,purchaseOption:x}=Uv(S);if("sku"in I&&_===I.sku||x&&"purchaseOptionsId"in I&&x===I.purchaseOptionsId||Rd(S,I.url))return!0}return!!O.some(_=>Rd(_,I.url))})}async function l(S,O,q){const F=new URL(ot("api2",t.environment));return F.pathname="/proxy",F.searchParams.set("url",O),q&&F.searchParams.set("selector",q),ct(F.toString()).headers({Authorization:`Bearer ${S}`}).get().text()}async function c(S){if(!S)throw new Error("SKU is required to get fulfillments");return await vr()?await o.get(`/fulfillments?sku=${encodeURIComponent(S)}`).json():[]}async function f(S,O){if(!S||!O)throw new Error("SKU and itemId are required to request delivery");return(await o.post({sku:S},`/fulfillments/${encodeURIComponent(O)}/request-delivery?`).res()).ok}async function h(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),o.get("/subscriptions").json()}async function d(S){return(await n.transactions.list())?.find(q=>q.id===S)}async function v(){return await o.url("/tags").get().json()}async function p(S){const O=await o.url(`/tags/${encodeURIComponent(S)}`).delete().res();return vt(),O.ok}async function g(S){const O=await o.url("/tags").post(encodeURIComponent(S)).res();return Vt(Be.USER_ATTRIBUTE_CHANGED,{}),vt(),O.ok}async function P(S){return(await n.tallies.get(S)).value}async function w(){const S=await n.tallies.list(),O={};for(const q of S)O[q.id]=q.value;return O}async function y(S){return await n.tallies.delete(S)}async function m(S,O){return await n.tallies.push(S,O)}async function b(){return await jt(!1)?await o.url("/profile").get().json():null}async function R(S){const O=await o.url("/profile").patch(S).res();return vt(),O.ok}async function A(){return(await o.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function j(){return(await o.url("/profile/unlink-spotify").post().res()).ok}async function z(S){const O=await jt(!1);if(!O)throw new Error("No access token available");const q=new URL(`${ot("access-sync",t.environment)}/spotify/sesamy-callback`);q.searchParams.set("access_token",O),q.searchParams.set("state",S),window.location.href=q.toString()}async function V(S){const O=await o.url(`/products/${encodeURIComponent(S)}/auto-onboard`).post().json();return O.length&&vt(),O}async function te(S,O=3600){const{shortlink:q}=await ct(Ug).post({url:S,ttl:O}).json();return q}async function $(S){const O=await jt(!1,!0);let q;const F=S.language||Br(),I=En();switch(S.target){case"account":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}${S.contractId?`/${encodeURIComponent(S.contractId)}`:""}`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"change-payment":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.contractId)}/change-payment-method`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"change-plan":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.contractId)}/edit-plan`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"consume":q=new URL(`${ot("consume",t.environment)}/${encodeURIComponent(S.language||F)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.sku)}`),S.episodeId?q.href+=`/${S.episodeId}`:q.href+="/listen",q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"checkout":q=Uy(t,{language:F,...S},I);break;default:throw new Error("Invalid target")}return O&&(q.hash=`#access_token=${O}`),S.shorten?te(q.href,S.ttl):q.href}async function M(){const S=await jt(!1),O=new URL(`${ot("account",t.environment)}/subscriptions/${t.clientId}`);S&&(O.hash=`#access_token=${S}`),window.location.href=O.toString()}async function N(S){const O=En(),q=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(F=>{const[I,_]=F.trim().split("=");q.includes(I)&&!O[I]&&(O[I]=_)}),n.checkouts.create({language:Br(),...S,attribution:{...O,...S.attribution}})}return{autoOnboardProduct:V,bills:n.bills,checkouts:{create:N,get:n.checkouts.get,update:n.checkouts.update},content:{list:Hv,get:an,getLanguage:Br,unlock:Bv,getPropertyFromHTML:ec},contracts:n.contracts,deleteTag:p,deleteTally:y,entitlements:n.entitlements,flags:{get:xv,set:Nv,list:nn,delete:Dv},generateLink:$,getProxyContent:l,getEntitlements:s,getFulfillments:c,requestDelivery:f,hasAccess:u,isSpotifyLinked:A,linkSpotify:z,openHostedAccountPage:M,paywalls:n.paywalls,paymentIssues:n.paymentIssues,getProfile:b,products:n.products,getSubscriptions:h,getTally:P,getTallies:w,getTags:v,getTransaction:d,transactions:n.transactions,userMetadata:n.userMetadata,pushTally:m,setTag:g,unlinkSpotify:j,updateProfile:R,vendor:n.vendor}}function Od(t,e,r,n,a){for(e=e.split?e.split("."):e,n=0;n<e.length;n++)t=t?t[e[n]]:a;return t===a?r:t}var Gy="function",Wy="string",tt="undefined",Vy="boolean",kn="object",Jy="array",Zy="number",Yy="symbol",Xy="null",gs=function(){},Gv="any",Wv="*",Jt="__",Qy="form",ew="input",tw="button",rw="select",_n=typeof process!==tt?process:{};_n.env&&_n.env.NODE_ENV;var Ce=typeof document!==tt;_n.versions!=null&&_n.versions.node!=null;typeof Deno!==tt&&Deno.core;Ce&&window.name==="nodejs"||typeof navigator!==tt&&typeof navigator.userAgent!==tt&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function Vv(t,e){return e.charAt(0)[t]()+e.slice(1)}var nw=Vv.bind(null,"toUpperCase"),aw=Vv.bind(null,"toLowerCase");function iw(t){return Jv(t)?nw(Xy):typeof t===kn?uw(t):Object.prototype.toString.call(t).slice(8,-1)}function Tn(t,e){e===void 0&&(e=!0);var r=iw(t);return e?aw(r):r}function on(t,e){return typeof e===t}var ze=on.bind(null,Gy),Tt=on.bind(null,Wy),dr=on.bind(null,tt),ow=on.bind(null,Vy);on.bind(null,Yy);function Jv(t){return t===null}function sw(t){return Tn(t)===Zy&&!isNaN(t)}function Zv(t){return Tn(t)===Jy}function Ke(t){if(!cw(t))return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function cw(t){return t&&(typeof t===kn||t!==null)}function uw(t){return ze(t.constructor)?t.constructor.name:null}function lw(t){return t instanceof Error||Tt(t.message)&&t.constructor&&sw(t.constructor.stackTraceLimit)}function Yv(t,e){if(typeof e!="object"||Jv(e))return!1;if(e instanceof t)return!0;var r=Tn(new t(""));if(lw(e))for(;e;){if(Tn(e)===r)return!0;e=Object.getPrototypeOf(e)}return!1}Yv.bind(null,TypeError);Yv.bind(null,SyntaxError);function Vn(t,e){var r=t instanceof Element||t instanceof HTMLDocument;return r&&e?fw(t,e):r}function fw(t,e){return e===void 0&&(e=""),t&&t.nodeName===e.toUpperCase()}function Jn(t){var e=[].slice.call(arguments,1);return function(){return t.apply(void 0,[].slice.call(arguments).concat(e))}}Jn(Vn,Qy);Jn(Vn,tw);Jn(Vn,ew);Jn(Vn,rw);function dw(t){return t?Zv(t)?t:[t]:[]}function Cd(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch{return null}}function hw(){if(Ce){var t=navigator,e=t.languages;return t.userLanguage||(e&&e.length?e[0]:t.language)}}function vw(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function pw(t){return(function(e){for(var r,n=Object.create(null),a=/([^&=]+)=?([^&]*)/g;r=a.exec(e);){var i=Cd(r[1]),o=Cd(r[2]);if(i)if(i.substring(i.length-2)==="[]"){var s=n[i=i.substring(0,i.length-2)]||(n[i]=[]);n[i]=Array.isArray(s)?s:[],n[i].push(o)}else n[i]=o===""||o}for(var u in n){var l=u.split("[");l.length>1&&(mw(n,l.map(function(c){return c.replace(/[?[\]\\ ]/g,"")}),n[u]),delete n[u])}return n})((function(e){return Ce&&window.location.search.substring(1)})())}function mw(t,e,r){for(var n=e.length-1,a=0;a<n;++a){var i=e[a];if(i==="__proto__"||i==="constructor")break;i in t||(t[i]={}),t=t[i]}t[e[n]]=r}function Zn(){for(var t="",e=0,r=4294967295*Math.random()|0;e++<36;){var n="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[e-1],a=15&r;t+=n=="-"||n=="4"?n:(n=="x"?a:3&a|8).toString(16),r=e%8==0?4294967295*Math.random()|0:r>>4}return t}function gw(t,e){var r,n,a,i=null,o=0,s=function(){o=new Date,i=null,a=t.apply(r,n)};return function(){var u=new Date;o||(o=u);var l=e-(u-o);return r=this,n=arguments,l<=0?(clearTimeout(i),i=null,o=u,a=t.apply(r,n)):i||(i=setTimeout(s,l)),a}}var Ht="global",Sr=Jt+Ht+Jt,Ir=typeof self===kn&&self.self===self&&self||typeof global===kn&&global[Ht]===global&&global||void 0;function Zt(t){return Ir[Sr][t]}function Yt(t,e){return Ir[Sr][t]=e}function Or(t){delete Ir[Sr][t]}function Cr(t,e,r){var n;try{if(tc(t)){var a=window[t];n=a[e].bind(a)}}catch{}return n||r}Ir[Sr]||(Ir[Sr]={});var un={};function tc(t){if(typeof un[t]!==tt)return un[t];try{var e=window[t];e.setItem(tt,tt),e.removeItem(tt)}catch{return un[t]=!1}return un[t]=!0}function ee(){return ee=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},ee.apply(null,arguments)}var Et="function",pt="undefined",Wr="reducer",Xv="@@redux/",ys=Xv+"INIT",yw=Xv+Math.random().toString(36),Ad=(function(){return typeof Symbol===Et&&Symbol.observable||"@@observable"})(),ln=" != "+Et;function Qv(t,e,r){var n;if(typeof e===Et&&typeof r===pt&&(r=e,e=void 0),typeof r!==pt){if(typeof r!==Et)throw new Error("enhancer"+ln);return r(Qv)(t,e)}if(typeof t!==Et)throw new Error(Wr+ln);var a=t,i=e,o=[],s=o,u=!1;function l(){s===o&&(s=o.slice())}function c(){return i}function f(d){if(typeof d!==Et)throw new Error("Listener"+ln);var v=!0;return l(),s.push(d),function(){if(v){v=!1,l();var p=s.indexOf(d);s.splice(p,1)}}}function h(d){if(!Ke(d))throw new Error("Act != obj");if(typeof d.type===pt)throw new Error("ActType "+pt);if(u)throw new Error("Dispatch in "+Wr);try{u=!0,i=a(i,d)}finally{u=!1}for(var v=o=s,p=0;p<v.length;p++)(0,v[p])();return d}return h({type:ys}),(n={dispatch:h,subscribe:f,getState:c,replaceReducer:function(d){if(typeof d!==Et)throw new Error("next "+Wr+ln);a=d,h({type:ys})}})[Ad]=function(){var d,v=f;return(d={subscribe:function(p){if(typeof p!="object")throw new TypeError("Observer != obj");function g(){p.next&&p.next(c())}return g(),{unsubscribe:v(g)}}})[Ad]=function(){return this},d},n}function ww(t,e){var r=e&&e.type;return"action "+(r&&r.toString()||"?")+Wr+" "+t+" returns "+pt}function Pr(){var t=[].slice.call(arguments);return t.length===0?function(e){return e}:t.length===1?t[0]:t.reduce(function(e,r){return function(){return e(r.apply(void 0,[].slice.call(arguments)))}})}function bw(){var t=arguments;return function(e){return function(r,n,a){var i,o=e(r,n,a),s=o.dispatch,u={getState:o.getState,dispatch:function(l){return s(l)}};return i=[].slice.call(t).map(function(l){return l(u)}),ee({},o,{dispatch:s=Pr.apply(void 0,i)(o.dispatch)})}}}var Rt=Jt+"anon_id",Bt=Jt+"user_id",pr=Jt+"user_traits",ws="analytics",Pt="userId",hr="anonymousId",yn=["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"],bs=["name","EVENTS","config","loaded"],Q=yn.reduce(function(t,e){return t[e]=e,t},{registerPluginType:function(t){return"registerPlugin:"+t},pluginReadyType:function(t){return"ready:"+t}}),Ud=/^utm_/,Ld=/^an_prop_/,$d=/^an_trait_/;function Sw(t){var e=t.storage.setItem;return function(r){return function(n){return function(a){if(a.type===Q.bootstrap){var i=a.params,o=a.user,s=a.persistedUser,u=a.initialUser,l=s.userId===o.userId;s.anonymousId!==o.anonymousId&&e(Rt,o.anonymousId),l||e(Bt,o.userId),u.traits&&e(pr,ee({},l&&s.traits?s.traits:{},u.traits));var c=Object.keys(a.params);if(c.length){var f=i.an_uid,h=i.an_event,d=c.reduce(function(v,p){if(p.match(Ud)||p.match(/^(d|g)clid/)){var g=p.replace(Ud,"");v.campaign[g==="campaign"?"name":g]=i[p]}return p.match(Ld)&&(v.props[p.replace(Ld,"")]=i[p]),p.match($d)&&(v.traits[p.replace($d,"")]=i[p]),v},{campaign:{},props:{},traits:{}});r.dispatch(ee({type:Q.params,raw:i},d,f?{userId:f}:{})),f&&setTimeout(function(){return t.identify(f,d.traits)},0),h&&setTimeout(function(){return t.track(h,d.props)},0),Object.keys(d.campaign).length&&r.dispatch({type:Q.campaign,campaign:d.campaign})}}return n(a)}}}}function Iw(t){return function(e,r){if(e===void 0&&(e={}),r===void 0&&(r={}),r.type===Q.setItemEnd){if(r.key===Rt)return ee({},e,{anonymousId:r.value});if(r.key===Bt)return ee({},e,{userId:r.value})}switch(r.type){case Q.identify:return Object.assign({},e,{userId:r.userId,traits:ee({},e.traits,r.traits)});case Q.reset:return[Bt,Rt,pr].forEach(function(n){t.removeItem(n)}),Object.assign({},e,{userId:null,anonymousId:null,traits:{}});default:return e}}}function qd(t){return{userId:t.getItem(Bt),anonymousId:t.getItem(Rt),traits:t.getItem(pr)}}var Ss=function(t){return Jt+"TEMP"+Jt+t};function Pw(t){var e=t.storage,r=e.setItem,n=e.removeItem,a=e.getItem;return function(i){return function(o){return function(s){var u=s.userId,l=s.traits,c=s.options;if(s.type===Q.reset&&([Bt,pr,Rt].forEach(function(d){n(d)}),[Pt,hr,"traits"].forEach(function(d){Or(Ss(d))})),s.type===Q.identify){a(Rt)||r(Rt,Zn());var f=a(Bt),h=a(pr)||{};f&&f!==u&&i.dispatch({type:Q.userIdChanged,old:{userId:f,traits:h},new:{userId:u,traits:l},options:c}),u&&r(Bt,u),l&&r(pr,ee({},h,l))}return o(s)}}}}var Kr={};function jd(t,e){Kr[t]&&ze(Kr[t])&&(Kr[t](e),delete Kr[t])}function ep(t,e,r){return new Promise(function(n,a){return e()?n(t):r<1?a(ee({},t,{queue:!0})):new Promise(function(i){return setTimeout(i,10)}).then(function(i){return ep(t,e,r-10).then(n,a)})})}function Ew(t){return{abort:t}}function tp(t,e,r){var n={},a=e(),i=t.getState(),o=i.plugins,s=i.queue,u=i.user;if(!i.context.offline&&s&&s.actions&&s.actions.length){var l=s.actions.reduce(function(f,h,d){return o[h.plugin].loaded?(f.process.push(h),f.processIndex.push(d)):(f.requeue.push(h),f.requeueIndex.push(d)),f},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(l.processIndex&&l.processIndex.length){l.processIndex.forEach(function(f){var h=s.actions[f],d=h.plugin,v=h.payload.type,p=a[d][v];if(p&&ze(p)){var g,P=(function(m,b){return m===void 0&&(m={}),b===void 0&&(b={}),[Pt,hr].reduce(function(R,A){return m.hasOwnProperty(A)&&b[A]&&b[A]!==m[A]&&(R[A]=b[A]),R},m)})(h.payload,u),w=n[P.meta.rid];if(!w&&(g=p({payload:P,config:o[d].config,instance:r,abort:Ew}))&&Ke(g)&&g.abort)return void(n[P.meta.rid]=!0);if(!w){var y=v+":"+d;t.dispatch(ee({},P,{type:y,_:{called:y,from:"queueDrain"}}))}}});var c=s.actions.filter(function(f,h){return!~l.processIndex.indexOf(h)});s.actions=c}}}var Qo=function(t){var e=t.data,r=t.action,n=t.instance,a=t.state,i=t.allPlugins,o=t.allMatches,s=t.store,u=t.EVENTS;try{var l=a.plugins,c=a.context,f=r.type,h=f.match(mr),d=e.exact.map(function(g){return g.pluginName});h&&(d=o.during.map(function(g){return g.pluginName}));var v=(function(g,P){return function(w,y,m){var b=y.config,R=y.name,A=R+"."+w.type;m&&(A=m.event);var j=w.type.match(mr)?(function(z,V,te,$,M){return function(N,S){var O=$?$.name:z,q=S&&Jr(S)?S:te;if($&&(!(q=S&&Jr(S)?S:[z]).includes(z)||q.length!==1))throw new Error("Method "+V+" can only abort "+z+" plugin. "+JSON.stringify(q)+" input valid");return ee({},M,{abort:{reason:N,plugins:q,caller:V,_:O}})}})(R,A,P,m,w):(function(z,V){return function(){throw new Error(z.type+" action not cancellable. Remove abort in "+V)}})(w,A);return{payload:kw(w),instance:g,config:b||{},abort:j}}})(n,d),p=e.exact.reduce(function(g,P){var w=P.pluginName,y=P.methodName,m=!1;return y.match(/^initialize/)||y.match(/^reset/)||(m=!l[w].loaded),c.offline&&y.match(/^(page|track|identify)/)&&(m=!0),g[""+w]=m,g},{});return Promise.resolve(e.exact.reduce(function(g,P,w){var y=P.pluginName;return Promise.resolve(g).then(function(m){function b(){return Promise.resolve(m)}var R=(function(){if(e.namespaced&&e.namespaced[y])return Promise.resolve(e.namespaced[y].reduce(function(A,j,z){return Promise.resolve(A).then(function(V){return j.method&&ze(j.method)?((function(N,S){var O=zd(N);if(O&&O.name===S){var q=zd(O.method);throw new Error([S+" plugin is calling method "+N,"Plugins cant call self","Use "+O.method+" "+(q?"or "+q.method:"")+" in "+S+" plugin insteadof "+N].join(`
36
+ `))}})(j.methodName,j.pluginName),Promise.resolve(j.method({payload:V,instance:n,abort:(te=V,$=y,M=j.pluginName,function(N,S){return ee({},te,{abort:{reason:N,plugins:S||[$],caller:f,from:M||$}})}),config:Dd(j.pluginName,l,i),plugins:l})).then(function(N){var S=Ke(N)?N:{};return Promise.resolve(ee({},V,S))})):V;var te,$,M})},Promise.resolve(r))).then(function(A){m[y]=A});m[y]=r})();return R&&R.then?R.then(b):b()})},Promise.resolve({}))).then(function(g){return Promise.resolve(e.exact.reduce(function(P,w,y){try{var m=e.exact.length===y+1,b=w.pluginName,R=i[b];return Promise.resolve(P).then(function(A){var j=g[b]?g[b]:{};if(h&&(j=A),ts(j,b))return es({data:j,method:f,instance:n,pluginName:b,store:s}),Promise.resolve(A);if(ts(A,b))return m&&es({data:A,method:f,instance:n,store:s}),Promise.resolve(A);if(p.hasOwnProperty(b)&&p[b]===!0)return s.dispatch({type:"queue",plugin:b,payload:j,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(A);var z=v(g[b],i[b]);return Promise.resolve(R[f]({abort:z.abort,payload:j,instance:n,config:Dd(b,l,i),plugins:l})).then(function(V){var te=Ke(V)?V:{},$=ee({},A,te),M=g[b];if(ts(M,b))es({data:M,method:f,instance:n,pluginName:b,store:s});else{var N=f+":"+b;(N.match(/:/g)||[]).length<2&&!f.match(Nd)&&!f.match(xd)&&n.dispatch(ee({},h?$:j,{type:N,_:{called:N,from:"submethod"}}))}return Promise.resolve($)})})}catch(A){return Promise.reject(A)}},Promise.resolve(r))).then(function(P){if(!(f.match(mr)||f.match(/^registerPlugin/)||f.match(xd)||f.match(Nd)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),P._&&P._.originalAction===f)return P;var w=ee({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});rp(P,e.exact.length)&&!f.match(/End$/)&&(w=ee({},w,{type:P.type+"Aborted"})),s.dispatch(w)}return P})})}catch(g){return Promise.reject(g)}},mr=/Start$/,Nd=/^bootstrap/,xd=/^ready/;function es(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(ee({},t.data,{type:r,_:{called:r,from:"abort"}}))}function Dd(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function Md(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function Fd(t,e){var r=t.replace(mr,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function ts(t,e){var r=t.abort;return!!r&&(r===!0||Kd(r,e)||r&&Kd(r.plugins,e))}function rp(t,e){var r=t.abort;if(!r)return!1;if(r===!0||Tt(r))return!0;var n=r.plugins;return Jr(r)&&r.length===e||Jr(n)&&n.length===e}function Jr(t){return Array.isArray(t)}function Kd(t,e){return!(!t||!Jr(t))&&t.includes(e)}function zd(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function kw(t){return Object.keys(t).reduce(function(e,r){return r==="type"||(e[r]=Ke(t[r])?Object.assign({},t[r]):t[r]),e},{})}function _w(t,e,r){var n={};return function(a){return function(i){return function(o){try{var s,u=function(m){return s?m:i(f)},l=o.type,c=o.plugins,f=o;if(o.abort)return Promise.resolve(i(o));if(l===Q.enablePlugin&&a.dispatch({type:Q.initializeStart,plugins:c,disabled:[],fromEnable:!0,meta:o.meta}),l===Q.disablePlugin&&setTimeout(function(){return jd(o.meta.rid,{payload:o})},0),l===Q.initializeEnd){var h=e(),d=Object.keys(h),v=d.filter(function(m){return c.includes(m)}).map(function(m){return h[m]}),p=[],g=[],P=o.disabled,w=v.map(function(m){var b=m.loaded,R=m.name,A=m.config;return ep(m,function(){return b({config:A})},1e4).then(function(j){return n[R]||(a.dispatch({type:Q.pluginReadyType(R),name:R,events:Object.keys(m).filter(function(z){return!bs.includes(z)})}),n[R]=!0),p=p.concat(R),m}).catch(function(j){if(j instanceof Error)throw new Error(j);return g=g.concat(j.name),j})});Promise.all(w).then(function(m){var b={plugins:p,failed:g,disabled:P};setTimeout(function(){d.length===w.length+P.length&&a.dispatch(ee({},{type:Q.ready},b))},0)})}var y=(function(){if(l!==Q.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return tp(a,e,t)},0),Promise.resolve((function(m,b,R,A,j){try{var z=ze(b)?b():b,V=m.type,te=V.replace(mr,"");if(m._&&m._.called)return Promise.resolve(m);var $=R.getState(),M=(O=z,(q=$.plugins)===void 0&&(q={}),(F=m.options)===void 0&&(F={}),Object.keys(O).filter(function(I){var _=F.plugins||{};return ow(_[I])?_[I]:_.all!==!1&&(!q[I]||q[I].enabled!==!1)}).map(function(I){return O[I]}));V===Q.initializeStart&&m.fromEnable&&(M=Object.keys($.plugins).filter(function(I){var _=$.plugins[I];return m.plugins.includes(I)&&!_.initialized}).map(function(I){return z[I]}));var N=M.map(function(I){return I.name}),S=(function(I,_){var x=Fd(I).map(function(H){return Md(H,_)});return _.reduce(function(H,Y){var J=Y.name,fe=Fd(I,J).map(function(ke){return Md(ke,_)}),ne=fe[0],ue=fe[1],ae=fe[2];return ne.length&&(H.beforeNS[J]=ne),ue.length&&(H.duringNS[J]=ue),ae.length&&(H.afterNS[J]=ae),H},{before:x[0],beforeNS:{},during:x[1],duringNS:{},after:x[2],afterNS:{}})})(V,M);return Promise.resolve(Qo({action:m,data:{exact:S.before,namespaced:S.beforeNS},state:$,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(I){function _(){var Y=(function(){if(V.match(mr))return Promise.resolve(Qo({action:ee({},x,{type:te+"End"}),data:{exact:S.after,namespaced:S.afterNS},state:$,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(J){J.meta&&J.meta.hasCallback&&jd(J.meta.rid,{payload:J})})})();return Y&&Y.then?Y.then(function(){return I}):I}if(rp(I,N.length))return I;var x,H=(function(){if(V!==te)return Promise.resolve(Qo({action:ee({},I,{type:te}),data:{exact:S.during,namespaced:S.duringNS},state:$,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(Y){x=Y});x=I})();return H&&H.then?H.then(_):_()})}catch(I){return Promise.reject(I)}var O,q,F})(o,e,t,a,r)).then(function(m){var b=i(m);return s=1,b})})();return Promise.resolve(y&&y.then?y.then(u):u(y))}catch(m){return Promise.reject(m)}}}}}function Tw(t){return function(e){return function(r){return function(n){var a=n.type,i=n.key,o=n.value,s=n.options;if(a===Q.setItem||a===Q.removeItem){if(n.abort)return r(n);a===Q.setItem?t.setItem(i,o,s):t.removeItem(i,s)}return r(n)}}}}var Rw=function(){var t=this;this.before=[],this.after=[],this.addMiddleware=function(e,r){t[r]=t[r].concat(e)},this.removeMiddleware=function(e,r){var n=t[r].findIndex(function(a){return a===e});n!==-1&&(t[r]=[].concat(t[r].slice(0,n),t[r].slice(n+1)))},this.dynamicMiddlewares=function(e){return function(r){return function(n){return function(a){var i={getState:r.getState,dispatch:function(s){return r.dispatch(s)}},o=t[e].map(function(s){return s(i)});return Pr.apply(void 0,o)(n)(a)}}}}};function Ow(t){return function(e,r){e===void 0&&(e={});var n={};if(r.type==="initialize:aborted")return e;if(/^registerPlugin:([^:]*)$/.test(r.type)){var a=Hd(r.type,"registerPlugin"),i=t()[a];if(!i||!a)return e;var o=r.enabled,s=i.config;return n[a]={enabled:o,initialized:!!o&&!i.initialize,loaded:!!o&&!!i.loaded({config:s}),config:s},ee({},e,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=Hd(r.type,Q.initialize),l=t()[u];return l&&u?(n[u]=ee({},e[u],{initialized:!0,loaded:!!l.loaded({config:l.config})}),ee({},e,n)):e}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=ee({},e[r.name],{loaded:!0}),ee({},e,n);switch(r.type){case Q.disablePlugin:return ee({},e,Bd(r.plugins,!1,e));case Q.enablePlugin:return ee({},e,Bd(r.plugins,!0,e));default:return e}}}function Hd(t,e){return t.substring(e.length+1,t.length)}function Bd(t,e,r){return t.reduce(function(n,a){return n[a]=ee({},r[a],{enabled:e}),n},r)}function np(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var Cw={last:{},history:[]};function Aw(t,e){t===void 0&&(t=Cw);var r=e.options,n=e.meta;if(e.type===Q.track){var a=np(ee({event:e.event,properties:e.properties},Object.keys(r).length&&{options:r},{meta:n}));return ee({},t,{last:a,history:t.history.concat(a)})}return t}var Uw={actions:[]};function Lw(t,e){t===void 0&&(t=Uw);var r=e.payload;switch(e.type){case"queue":var n;return n=r&&r.type&&r.type===Q.identify?[e].concat(t.actions):t.actions.concat(e),ee({},t,{actions:n});case"dequeue":return[];default:return t}}var ap=/#.*$/;function $w(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(ap,""):"")}var ip,op,sp,cp,qw=function(t){if(t===void 0&&(t={}),!Ce)return t;var e=document,r=e.title,n=e.referrer,a=window,i=a.location,o=a.innerWidth,s=a.innerHeight,u=i.hash,l=i.search,c=(function(h){var d=(function(){if(Ce){for(var v,p=document.getElementsByTagName("link"),g=0;v=p[g];g++)if(v.getAttribute("rel")==="canonical")return v.getAttribute("href")}})();return d?d.match(/\?/)?d:d+h:window.location.href.replace(ap,"")})(l),f={title:r,url:c,path:$w(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),ee({},f,t)},jw={last:{},history:[]};function Nw(t,e){t===void 0&&(t=jw);var r=e.options;if(e.type===Q.page){var n=np(ee({properties:e.properties,meta:e.meta},Object.keys(r).length&&{options:r}));return ee({},t,{last:n,history:t.history.concat(n)})}return t}ip=(function(){if(!Ce)return!1;var t=navigator.appVersion;return~t.indexOf("Win")?"Windows":~t.indexOf("Mac")?"MacOS":~t.indexOf("X11")?"UNIX":~t.indexOf("Linux")?"Linux":"Unknown OS"})(),op=Ce?document.referrer:null,sp=hw(),cp=vw();var Gd={initialized:!1,sessionId:Zn(),app:null,version:null,debug:!1,offline:!!Ce&&!navigator.onLine,os:{name:ip},userAgent:Ce?navigator.userAgent:"node",library:{name:ws,version:"0.13.1"},timezone:cp,locale:sp,campaign:{},referrer:op};function xw(t,e){t===void 0&&(t=Gd);var r=t.initialized,n=e.campaign;switch(e.type){case Q.campaign:return ee({},t,{campaign:n});case Q.offline:return ee({},t,{offline:!0});case Q.online:return ee({},t,{offline:!1});default:return r?t:ee({},Gd,t,{initialized:!0})}}var Dw=["plugins","reducers","storage"];function Mw(t,e,r){if(Ce){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function Fw(t){var e=Mw.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function up(){return Yt(ws,[]),function(t){return function(e,r,n){var a=t(e,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return Ir[Sr][ws].push(o.action||o),i(o)}})}}}function Wd(t){return function(){return Pr(Pr.apply(null,arguments),up())}}function rs(t){return t?Zv(t)?t:[t]:[]}function Vd(t,e,r){t===void 0&&(t={});var n,a,i=Zn();return e&&(Kr[i]=(n=e,a=(function(o){for(var s,u=o||Array.prototype.slice.call(arguments),l=0;l<u.length;l++)if(ze(u[l])){s=u[l];break}return s})(r),function(o){a&&a(o),n(o)})),ee({},t,{rid:i,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function Kw(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(I,_){if(ze(_))return I.middlewares=I.middlewares.concat(_),I;if(_.NAMESPACE&&(_.name=_.NAMESPACE),!_.name)throw new Error("https://lytics.dev/errors/1");_.config||(_.config={});var x=_.EVENTS?Object.keys(_.EVENTS).map(function(J){return _.EVENTS[J]}):[];I.pluginEnabled[_.name]=!(_.enabled===!1||_.config.enabled===!1),delete _.enabled,_.methods&&(I.methods[_.name]=Object.keys(_.methods).reduce(function(J,fe){var ne;return J[fe]=(ne=_.methods[fe],function(){for(var ue=Array.prototype.slice.call(arguments),ae=new Array(ne.length),ke=0;ke<ue.length;ke++)ae[ke]=ue[ke];return ae[ae.length]=b,ne.apply({instance:b},ae)}),J},{}),delete _.methods);var H=Object.keys(_).concat(x),Y=new Set(I.events.concat(H));if(I.events=Array.from(Y),I.pluginsArray=I.pluginsArray.concat(_),I.plugins[_.name])throw new Error(_.name+"AlreadyLoaded");return I.plugins[_.name]=_,I.plugins[_.name].loaded||(I.plugins[_.name].loaded=function(){return!0}),I},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Zt,setItem:Yt,removeItem:Or},i=(function(I){return function(_,x,H){return x.getState("user")[_]||(H&&Ke(H)&&H[_]?H[_]:qd(I)[_]||Zt(Ss(_))||null)}})(a),o=n.plugins,s=n.events.filter(function(I){return!bs.includes(I)}).sort(),u=new Set(s.concat(yn).filter(function(I){return!bs.includes(I)})),l=Array.from(u).sort(),c=function(){return o},f=new Rw,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},g=pw(),P=qd(a),w=ee({},P,r,g.an_uid?{userId:g.an_uid}:{},g.an_aid?{anonymousId:g.an_aid}:{});w.anonymousId||(w.anonymousId=Zn());var y=ee({enable:function(I,_){return new Promise(function(x){S.dispatch({type:Q.enablePlugin,plugins:rs(I),_:{originalAction:Q.enablePlugin}},x,[_])})},disable:function(I,_){return new Promise(function(x){S.dispatch({type:Q.disablePlugin,plugins:rs(I),_:{originalAction:Q.disablePlugin}},x,[_])})}},n.methods),m=!1,b={identify:function(I,_,x,H){try{var Y=Tt(I)?I:null,J=Ke(I)?I:_,fe=x||{},ne=b.user();Yt(Ss(Pt),Y);var ue=Y||J.userId||i(Pt,b,J);return Promise.resolve(new Promise(function(ae){S.dispatch(ee({type:Q.identifyStart,userId:ue,traits:J||{},options:fe,anonymousId:ne.anonymousId},ne.id&&ne.id!==Y&&{previousId:ne.id}),ae,[_,x,H])}))}catch(ae){return Promise.reject(ae)}},track:function(I,_,x,H){try{var Y=Ke(I)?I.event:I;if(!Y||!Tt(Y))throw new Error("EventMissing");var J=Ke(I)?I:_||{},fe=Ke(x)?x:{};return Promise.resolve(new Promise(function(ne){S.dispatch({type:Q.trackStart,event:Y,properties:J,options:fe,userId:i(Pt,b,_),anonymousId:i(hr,b,_)},ne,[_,x,H])}))}catch(ne){return Promise.reject(ne)}},page:function(I,_,x){try{var H=Ke(I)?I:{},Y=Ke(_)?_:{};return Promise.resolve(new Promise(function(J){S.dispatch({type:Q.pageStart,properties:qw(H),options:Y,userId:i(Pt,b,H),anonymousId:i(hr,b,H)},J,[I,_,x])}))}catch(J){return Promise.reject(J)}},user:function(I){if(I===Pt||I==="id")return i(Pt,b);if(I===hr||I==="anonId")return i(hr,b);var _=b.getState("user");return I?Od(_,I):_},reset:function(I){return new Promise(function(_){S.dispatch({type:Q.resetStart},_,I)})},ready:function(I){return m&&I({plugins:y,instance:b}),b.on(Q.ready,function(_){I&&I(_),m=!0})},on:function(I,_){if(!I||!ze(_))return!1;if(I===Q.bootstrap)throw new Error(".on disabled for "+I);var x=/Start$|Start:/;if(I==="*"){var H=function(ne){return function(ue){return function(ae){return ae.type.match(x)&&_({payload:ae,instance:b,plugins:o}),ue(ae)}}},Y=function(ne){return function(ue){return function(ae){return ae.type.match(x)||_({payload:ae,instance:b,plugins:o}),ue(ae)}}};return h(H,fn),h(Y,dn),function(){d(H,fn),d(Y,dn)}}var J=I.match(x)?fn:dn,fe=function(ne){return function(ue){return function(ae){return ae.type===I&&_({payload:ae,instance:b,plugins:o,abort:p}),ue(ae)}}};return h(fe,J),function(){return d(fe,J)}},once:function(I,_){if(!I||!ze(_))return!1;if(I===Q.bootstrap)throw new Error(".once disabled for "+I);var x=b.on(I,function(H){_({payload:H.payload,instance:b,plugins:o,abort:p}),x()});return x},getState:function(I){var _=S.getState();return I?Od(_,I):Object.assign({},_)},dispatch:function(I){var _=Tt(I)?{type:I}:I;if(yn.includes(_.type))throw new Error("reserved action "+_.type);var x=ee({},_,{_:ee({originalAction:_.type},I._||{})});S.dispatch(x)},enablePlugin:y.enable,disablePlugin:y.disable,plugins:y,storage:{getItem:a.getItem,setItem:function(I,_,x){S.dispatch({type:Q.setItemStart,key:I,value:_,options:x})},removeItem:function(I,_){S.dispatch({type:Q.removeItemStart,key:I,options:_})}},setAnonymousId:function(I,_){b.storage.setItem(Rt,I,_)},events:{core:yn,plugins:s}},R=n.middlewares.concat([function(I){return function(_){return function(x){return x.meta||(x.meta=Vd()),_(x)}}},v(fn),_w(b,c,{all:l,plugins:s}),Tw(a),Sw(b),Pw(b),v(dn)]),A={context:xw,user:Iw(a),page:Nw,track:Aw,plugins:Ow(c),queue:Lw},j=Pr,z=Pr;if(Ce&&t.debug){var V=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;V&&(j=V({trace:!0,traceLimit:25})),z=function(){return arguments.length===0?up():Ke(typeof arguments[0])?Wd():Wd().apply(null,arguments)}}var te,$=(function(I){return Object.keys(I).reduce(function(_,x){return Dw.includes(x)||(_[x]=I[x]),_},{})})(t),M=n.pluginsArray.reduce(function(I,_){var x=_.name,H=_.config,Y=_.loaded,J=n.pluginEnabled[x];return I[x]={enabled:J,initialized:!!J&&!_.initialize,loaded:!!Y({config:H}),config:H},I},{}),N={context:$,user:w,plugins:M},S=Qv((function(I){for(var _=Object.keys(I),x={},H=0;H<_.length;H++){var Y=_[H];typeof I[Y]===Et&&(x[Y]=I[Y])}var J,fe=Object.keys(x);try{(function(ne){Object.keys(ne).forEach(function(ue){var ae=ne[ue];if(typeof ae(void 0,{type:ys})===pt||typeof ae(void 0,{type:yw})===pt)throw new Error(Wr+" "+ue+" "+pt)})})(x)}catch(ne){J=ne}return function(ne,ue){if(ne===void 0&&(ne={}),J)throw J;for(var ae=!1,ke={},Ne=0;Ne<fe.length;Ne++){var De=fe[Ne],$e=ne[De],Qe=(0,x[De])($e,ue);if(typeof Qe===pt){var St=ww(De,ue);throw new Error(St)}ke[De]=Qe,ae=ae||Qe!==$e}return ae?ke:ne}})(ee({},A,e)),N,z(j(bw.apply(void 0,R))));S.dispatch=(te=S.dispatch,function(I,_,x){var H=ee({},I,{meta:Vd(I.meta,_,rs(x))});return te.apply(null,[H])});var O=Object.keys(o);S.dispatch({type:Q.bootstrap,plugins:O,config:$,params:g,user:w,initialUser:r,persistedUser:P});var q=O.filter(function(I){return n.pluginEnabled[I]}),F=O.filter(function(I){return!n.pluginEnabled[I]});return S.dispatch({type:Q.registerPlugins,plugins:O,enabled:n.pluginEnabled}),n.pluginsArray.map(function(I,_){var x=I.bootstrap,H=I.config,Y=I.name;x&&ze(x)&&x({instance:b,config:H,payload:I}),S.dispatch({type:Q.registerPluginType(Y),name:Y,enabled:n.pluginEnabled[Y],plugin:I}),n.pluginsArray.length===_+1&&S.dispatch({type:Q.initializeStart,plugins:q,disabled:F})}),Fw(function(I){S.dispatch({type:I?Q.offline:Q.online})}),(function(I,_,x){setInterval(function(){return tp(I,_,x)},3e3)})(S,c,b),b}var fn="before",dn="after",Gt="cookie",Dt=dp(),lp=Yn,zw=Yn;function fp(t){return Dt?Yn(t,"",-1):Or(t)}function dp(){if(Dt!==void 0)return Dt;var t=Gt+Gt;try{Yn(t,t),Dt=document.cookie.indexOf(t)!==-1,fp(t)}catch{Dt=!1}return Dt}function Yn(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return Dt===!1&&(o?Yt(t,e):Zt(t)),o?document.cookie=t+"="+encodeURIComponent(e)+(r?"; expires="+new Date(+new Date+1e3*r).toUTCString()+(n?"; path="+n:"")+(a?"; domain="+a:"")+(i?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+t+"=")[1]||"").split(";")[0])}}var mt="localStorage",Hw=tc.bind(null,mt);Cr(mt,"getItem",Zt);Cr(mt,"setItem",Yt);Cr(mt,"removeItem",Or);var gt="sessionStorage",Bw=tc.bind(null,gt);Cr(gt,"getItem",Zt);Cr(gt,"setItem",Yt);Cr(gt,"removeItem",Or);function gr(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(Ke(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var Gw=Hw(),Ww=Bw(),Vw=dp();function Wt(t,e){if(t){var r=rc(e),n=!oc(r),a=nc(r)?gr(localStorage.getItem(t)):void 0;if(n&&!dr(a))return a;var i=ac(r)?gr(lp(t)):void 0;if(n&&i)return i;var o=ic(r)?gr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Zt(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function Rn(t,e,r){if(t&&!dr(e)){var n={},a=rc(r),i=JSON.stringify(e),o=!oc(a);return nc(a)&&(n[mt]=hn(mt,e,gr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[mt]:ac(a)&&(n[Gt]=hn(Gt,e,gr(lp(t))),zw(t,i),o)?n[Gt]:ic(a)&&(n[gt]=hn(gt,e,gr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[gt]:(n[Ht]=hn(Ht,e,Zt(t)),Yt(t,e),o?n[Ht]:n)}}function Jw(t,e){if(t){var r=rc(e),n=Wt(t,Wv),a={};return!dr(n.localStorage)&&nc(r)&&(localStorage.removeItem(t),a[mt]=n.localStorage),!dr(n.cookie)&&ac(r)&&(fp(t),a[Gt]=n.cookie),!dr(n.sessionStorage)&&ic(r)&&(sessionStorage.removeItem(t),a[gt]=n.sessionStorage),!dr(n.global)&&Xn(r,Ht)&&(Or(t),a[Ht]=n.global),a}}function rc(t){return t?Tt(t)?t:t.storage:Gv}function nc(t){return Gw&&Xn(t,mt)}function ac(t){return Vw&&Xn(t,Gt)}function ic(t){return Ww&&Xn(t,gt)}function oc(t){return t===Wv||t==="all"}function Xn(t,e){return t===Gv||t===e||oc(t)}function hn(t,e,r){return{location:t,current:e,previous:r}}var Zw={setItem:Rn,getItem:Wt,removeItem:Jw};function Yw(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Jd(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,n)}return r}function Zd(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Jd(Object(r),!0).forEach(function(n){Yw(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Jd(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Xw(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:Zw};return Kw(Zd(Zd({},e),t))}function Qw(t){if(typeof window>"u")return;const{addEventListener:e,history:r,location:n}=window;let a=n.pathname;e("popstate",()=>t(n.pathname)),["push","replace"].map(i=>{const o=`${i}State`;if(o!=="pushState"&&o!=="replaceState")return;const s=r[o];r[o]=function(...u){const l=u[2]?.toString()||"",c=tb(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function eb(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function tb(t){return["#","?"].forEach(e=>t=eb(t,e)),t}function rb(){Qw(()=>{dt.page()})}var ns="up",as="down";function nb(t){if(t===void 0&&(t={}),!Ce)return gs;var e=Xd(),r=Is(),n=Yd(),a=vn(n,e),i=vn(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return gs;var d=h.map(function(p){return Number(p)}),v=gw(function(){var p=Xd(),g=(function($,M){return M.map(function(N){return N===100?$-5:$*(N/100)})})(p,d),P=Is(),w=Yd(),y=vn(w,p),m=vn(P,p);if(c=y>c?y:c,f=m<f?m:f,!(o.length>=d.length)){var b=l===w,R=ns;b?R="initial":l<=w&&(R=as);var A=g,j=d;(R===ns||b)&&(A=g.slice().reverse(),j=d.slice().reverse());var z=j.reduce(function($,M,N){var S=A[N];return u.includes(M)&&w<=S&&(u=u.filter(function(O){return O!==M}),$.singleFunction=M),R===as&&!o.includes(M)&&w>=S&&M>i?(s.push(M),$.callbacks=$.callbacks.concat(M),$):R===ns&&!o.includes(M)&&w<=S&&M<=y?($.foundFunc=[M],$):(b&&w>=S&&$.foundFunc.length===0&&($.foundFunc=[M]),!s.includes(M)&&w>=S&&(s.push(M),$.singleFunction?u.push(M):$.singleFunction=M),$)},{foundFunc:[],singleFunction:null,callbacks:[],direction:R});if(l=w,R===as&&z.callbacks&&z.callbacks.forEach(function($){ze(t[$])&&(t[$]({trigger:$,direction:R,scrollMin:f,scrollMax:c,range:[f,c]}),o.push($))}),z.singleFunction){var V=z.singleFunction,te=z.direction;ze(t[V])&&t[V]({trigger:V,direction:te,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(V)}}},500);return window.addEventListener("scroll",v),function(){return window.removeEventListener("scroll",v)}}function Is(){return Ce?document.body.scrollTop||document.documentElement.scrollTop:0}function ab(){return Ce?window.innerHeight||document.documentElement.clientHeight:0}function Yd(){return Math.round(Is()+ab())}function Xd(){if(!Ce)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function vn(t,e){return Math.round(t/e*100)}var sc="Event",Qd=sc+"Listener";function ib(t){return function(e,r,n,a){var i=n||gs,o=a||!1;if(!Ce)return i;var s=On(r),u=On(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+sc);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+Qd:"remove"+Qd,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?ob(i):i:l[d]||i;for(var p=0;p<s.length;p++)v[h]?v["on"+s[p]]=f?l[d]:null:v[h](s[p],l[d],o)}return c.bind(null,!f)})(t)}}function On(t,e){if(Tt(t))return e?On(document.querySelectorAll(t)):(r=t).split(r.indexOf(",")>-1?",":" ").map(function(o){return o.trim()});var r;if(NodeList.prototype.isPrototypeOf(t)){for(var n=[],a=t.length>>>0;a--;)n[a]=t[a];return n}var i=dw(t);return e?i.map(function(o){return Tt(o)?On(o,!0):o}).flat():i}function ob(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var is=ib(sc);function hp(t,e){return Ce&&ze(window[t])?(r=window[t],n=e,(a=window)===void 0&&(a=null),ze(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[t]=e;var r,n,a}hp.bind(null,"onerror");hp.bind(null,"onload");var vp=typeof window>"u",eh="hidden";function sb(t){if(vp)return!1;var e=cb(),r="".concat(e.replace(/[H|h]idden/,""),"visibilitychange"),n=function(){return t(!!document[e])},a=function(){return document.addEventListener(r,n)};return a(),function(){return document.removeEventListener(r,n),a}}function cb(){var t=["webkit","moz","ms","o"];return vp||eh in document?eh:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var ub=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function lb(t,e){e===void 0&&(e={});var r=(function(o,s){var u=this,l=!1;return function(c){l||(o.call(u,c),l=!0,setTimeout(function(){return l=!1},s))}})(t,e.throttle||1e4),n=[];function a(){var o=sb(function(s){s||r({type:"tabVisible"})});return n=[o].concat(ub.map(function(s){return is(document,s,r)})).concat(is(window,"load",r)).concat(is(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function fb(t){var e,r,n=t.onIdle,a=t.onWakeUp,i=t.onHeartbeat,o=t.timeout,s=o,u=t.throttle,l=u===void 0?2e3:u,c=!1,f=!1,h=new Date,d=function(){return clearTimeout(e)};function v(g){d(),i&&!c&&i(Mr(h),g),a&&c&&(c=!1,a(Mr(r),g),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(Mr(h),g))},s)}var p=lb(v,{throttle:l});return{disable:function(){f=!0,c=!1,d();var g=p();return function(){return f=!1,h=new Date,v({type:"load"}),g()}},getStatus:function(){return{isIdle:c,isDisabled:f,active:c?0:Mr(h,f),idle:c?Mr(r,f):0}}}}function Mr(t,e){return e?0:Math.round((new Date-t)/1e3)}const th=5e3;class db{element;isInViewport=!1;isAwake=!1;isFlushing;observer;lastEventAt=Date.now();registeredView=!1;viewCallback;activeDurationCallback;idleDurationCallback;scrollCallback;constructor(e){this.element=e.element,this.viewCallback=e.viewCallback,this.activeDurationCallback=e.activeDurationCallback,this.idleDurationCallback=e.idleDurationCallback,this.scrollCallback=e.scrollCallback,this.observer=new IntersectionObserver(r=>{r.forEach(n=>{this.handleInViewPort(n.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),fb({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:th}),nb({25:this.handleScroll.bind(this),50:this.handleScroll.bind(this),75:this.handleScroll.bind(this),90:this.handleScroll.bind(this),100:this.handleScroll.bind(this)})}flush(){this.isFlushing=!0,this.handleAwake(!this.isAwake)}handleInViewPort(e){e?(this.isAwake=!0,this.trackInViewport()):this.handleAwake(!1),this.isInViewport=e}handleAwake(e,r=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=e,this.lastEventAt=e?Date.now()-r*th:Date.now(),this.isInViewport&&this.trackAwake(e,r)}handleScroll(e){this.scrollCallback&&this.scrollCallback(e)}handleVisibilityChange(){this.isAwake=!1;const e=Math.round((Date.now()-this.lastEventAt)/1e3);e>1&&(this.lastEventAt=Date.now(),this.trackAwake(!1,e))}trackAwake(e,r){!e&&this.activeDurationCallback&&this.activeDurationCallback(r,this.isFlushing,this.lastEventAt),e&&this.idleDurationCallback&&this.idleDurationCallback(r,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}function pp(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function hb(t,e){e=e||{};var r,n,a=[],i=e.max||1/0;function o(){clearInterval(r),t(a.splice(0,i)),s()}function s(){r=setInterval(o,e.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)}}}const rh="sesamy_session_id";function vb(){let t=sessionStorage.getItem(rh);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(rh,t)),t}let mp=!1,wn,Cn,Ps;function gp(t){return JSON.stringify(t.map(e=>{const{campaign:r,...n}=e.properties||{};return{anonymousId:e.anonymousId,userId:e.userId,type:e.type,properties:n,clientId:Ps,requestId:Math.random().toString(36).slice(2,9),sessionId:vb(),timestamp:new Date().toISOString(),version:Wn,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:Kt("sesamy:item-src"),publisherContentId:Kt("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:Xs,userAgent:navigator.userAgent,clientId:Ps}}}))}const yp=hb(async t=>{if(t.length>0){const e=gp(t);mp?navigator.sendBeacon(Cn,e):(await fetch(Cn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function os(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(Cn,gp([e]))}else yp.push(t)}function pb(){return mp=!0,yp.flush()}function mb(t,e,r){wn=e,Cn=`${ot("logs",r)}/events`,Ps=t}const gb={name:"custom-analytics-plugin",page:({payload:t})=>{if(!wn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;os({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!wn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;os({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!wn)return;const{properties:e,anonymousId:r,userId:n}=t;os({anonymousId:r,userId:n,properties:e,type:"identify"})}},nh=["source","medium","campaign","term","content"],kt="utm_",yb=1800*1e3;function wp(t){return t?Date.now()-parseInt(t,10)>yb:!0}function ah(){const t=document.referrer||"";if(!t)return;const e=Wt(`${kt}set_at`);(wp(e)||!Wt(`${kt}referrer`))&&Rn(`${kt}referrer`,t)}function wb(){const t=()=>{const r={};for(const a of nh){const i=Wt(`${kt}${a}`);i&&(r[`utm_${a}`]=i)}const n=Wt(`${kt}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){ah()},campaign({payload:r}){const n=r?.campaign||{},a=Wt(`${kt}set_at`);if(Object.keys(n).length>0&&wp(a)){for(const o of nh){const s=n[o];s&&Rn(`${kt}${o}`,s)}Rn(`${kt}set_at`,String(Date.now()))}ah()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const bb=wb(),ih=new Map,oh=new Map;function Sb({clientId:t,enabled:e=!0,environment:r}){mb(t,e,r),e&&(window.addEventListener("beforeunload",()=>{oh.forEach((n,a)=>{n.bind(a)()}),pb()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&ih.forEach((n,a)=>{n.bind(a)()})}),rb(),pp(()=>{const n=new db({element:document.body,viewCallback:()=>{dt.page()},activeDurationCallback:(a,i,o)=>{dt.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{dt.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{dt.track("scroll",{scroll:a.scrollMax})}});oh.set(document.body,()=>{n.flush()}),ih.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(Be.AUTHENTICATED,async n=>{const a=n;await dt.identify(a.detail.sub)}),window.addEventListener(Be.LOGOUT,async()=>{await dt.track("logout",{}),await dt.reset()}))}const dt=Xw({app:Xs,version:Wn,plugins:[bb,gb]});function bp(t,e){dt.track(t,e)}const Ib=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function Pb(){return new Promise(t=>{const e=Ib.map(r=>{const n=document.createElement("div");return n.innerHTML="&nbsp;",n.id=r,n.style.position="absolute",document.body.appendChild(n),n});window.setTimeout(()=>{const r=!e.every(n=>document.querySelector(`#${n.id}`)?.offsetParent);e.forEach(n=>n.remove()),t(r)},100)})}function Eb(){const t=navigator.userAgent.toLowerCase(),e=[{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 e)if(r.regex.test(t))return{isInAppBrowser:!0,browserName:r.name};return/; wv\)/.test(t)?{isInAppBrowser:!0,browserName:"Unknown In-App Browser"}:{isInAppBrowser:!1,browserName:null}}function kb(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});bp(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function _b(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function Tb(t){const{autoOnboardProduct:e,bills:r,checkouts:n,contracts:a,deleteTag:i,deleteTally:o,entitlements:s,generateLink:u,getEntitlements:l,getFulfillments:c,getProfile:f,getProxyContent:h,getSubscriptions:d,getTags:v,getTally:p,getTallies:g,getTransaction:P,hasAccess:w,isSpotifyLinked:y,linkSpotify:m,openHostedAccountPage:b,paywalls:R,paymentIssues:A,products:j,pushTally:z,requestDelivery:V,setTag:te,transactions:$,unlinkSpotify:M,updateProfile:N,userMetadata:S,vendor:O}=By(t),q=()=>A.list(),F={analytics:{track:bp},attribution:{get:En,set:$v},auth:{getUser:f,getTokenSilently:jt,isAuthenticated:vr,loginWithRedirect:Gn,loginWithPopup:Tv,login:Bg,logout:Js,setToken:vs},bills:r,browser:{detectAdblock:Pb,isInAppBrowser:Eb,isIncognito:Gs},checkouts:n,clearCache:vt,content:{list:Hv,get:an,getLanguage:Br,hasAccess:Ky,unlock:Bv,getPropertyFromHTML:ec,showModal:zy,showNotificationBar:Hy},contracts:a,entitlements:{...s,access:s.getAccess,hasAccess:w,list:l,signedLinks:Ys},events:{emit:kb,cancel:_b},flags:{get:xv,set:Nv,list:nn,delete:Dv},fulfillments:{list:c,requestDelivery:V},generateLink:u,getPaymentIssues:q,getVersion:Rb,isReady:()=>exports.isInitialized,log:ce,paywalls:R,paymentIssues:A,products:{...j,autoOnboard:e,linkSpotify:m},profile:{get:f,isSpotifyLinked:y,openHostedAccountPage:b,unlinkSpotify:M,update:N},proxy:{getContent:h},subscriptions:{list:d},tags:{delete:i,list:v,set:te},tallies:{delete:o,get:p,list:g,push:z},transactions:{...$,get:P},userMetadata:S,vendor:O,setToken:vs};return t.namespace&&(window[t.namespace]=F),F}function Rb(){return Wn}function Ob(t,e){t.style.position="relative",t.style.height="200px",t.style.overflow="hidden";let n=0;const a=Array.from(t.children);for(const o of a){const s=o.offsetHeight;n+s>200?o.remove():n+=s}const i=document.createElement("style");i.innerHTML=`
37
37
  ${e.selector}::before {
38
38
  content: '';
39
39
  position: absolute;
@@ -44,4 +44,4 @@ CAUSE: `+d.stack,b.response=y,b.status=y.status,b.url=f,y.type==="opaque")throw
44
44
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), white);
45
45
  pointer-events: none;
46
46
  }
47
- `,document.head.appendChild(i)}async function Rb(t){try{const e=await fetch(t);return e.ok?await e.text():(console.error(`Failed to fetch content from ${t}: ${e.statusText}`),null)}catch(e){return console.error(`Error fetching content from ${t}:`,e),null}}async function cc(t){if(t.contentType==="selector"&&t.content){const e=document.querySelector(t.content);if(e)return e.innerHTML;console.warn(`Source element for selector '${t.content}' not found`)}else if(t.contentType==="url"&&t.content){const e=await Rb(t.content);if(e)return e;console.warn(`Failed to fetch content from URL '${t.content}'`)}else if(t.content)return t.content;return""}async function Ob(t,e){const r=e.insertionPoint||"inside",n=await cc(e);switch(r){case"before":t.insertAdjacentHTML("beforebegin",n);break;case"after":t.insertAdjacentHTML("afterend",n);break;case"inside":default:t.innerHTML+=n;break}}async function Cb(t,e){const r=await cc(e);t.innerHTML=r}async function Ab(t,e){const r=await cc(e);t.innerHTML=r.replace("${content}",t.innerHTML)}async function Ub({enabled:t=!1,rules:e}){t&&pp(async()=>{const r=await vr(),n=window.location.href;for(const a of e){const i=document.querySelectorAll(a.selector);if(!(a.path&&!new RegExp(a.path).test(n)))for(const o of i){const s=o;if(!(a.authenticated!==void 0&&a.authenticated!==r))switch(a.transform){case"insert":await Ob(s,a);break;case"replace":await Cb(s,a);break;case"remove":o.remove();break;case"wrap":await Ab(s,a);break;case"gradient":Tb(s,a);break;default:console.warn(`Unknown transform type: ${a.transform}`)}}}})}const sh="access_token";function Lb(){const t=new URLSearchParams(window.location.hash.substring(1)),e=t.get(sh);if(e){vs(e);const r=new URL(window.location.href);t.delete(sh),r.hash=t.toString(),window.history.replaceState(null,"",r)}}const ch="sesamy-refresh",uh="force-refetch-entitlements";function $b(){const t=new URLSearchParams(window.location.search),e=t.get(uh),r=t.get(ch);if(e!==null||r!==null){const n=new URL(window.location.href);t.delete(uh),t.delete(ch),n.search=t.toString(),vt(),window.history.replaceState(null,"",n)}}function qb(t){if(!t||typeof t!="string")throw new Error("Invalid token: token must be a non-empty string");const e=t.split(".");if(e.length!==3)throw new Error("Invalid JWT format: token must have exactly 3 parts separated by dots");const[,r]=e;if(!r)throw new Error("Invalid JWT format: payload is empty");let n;try{n=atob(r)}catch{throw new Error("Invalid JWT format: payload is not valid base64")}try{return JSON.parse(n)}catch{throw new Error("Invalid JWT format: payload is not valid JSON")}}function jb(){const t=new URLSearchParams(window.location.search),e=t.get("sesamy-token")||t.get("token");if(!e)return;try{const n=qb(e),a=new Date(n.exp*1e3),i={id:"",title:n.p?.toString(),sku:n.s?.toString(),purchaseOption:n.p?.toString(),publisherContentId:n.pid?.toString(),url:n.url?.toString(),token:e,type:"article",hasAccess:!0,expiresAt:a.toISOString(),createdAt:new Date(n.iat).toISOString(),updatedAt:new Date(n.iat).toISOString()};Ly(i)}catch(n){ce(`Failed to extract signed link ${n}`)}const r=new URL(window.location.href);r.searchParams.delete("ss"),r.searchParams.delete("se"),r.searchParams.delete("sp"),r.searchParams.delete("so"),r.searchParams.delete("token"),r.searchParams.delete("sesamy-token"),window.history.replaceState(null,"",r)}const lh="sesamy-user";async function Nb(){const e=new URLSearchParams(window.location.search).get(lh)?.toLowerCase();if(!e)return;const r=await Hg();r?.email!==e?(ce(`Current user does not match sesamy user: ${r?.email} !== ${e}`),vt(),Gn({authorizationParams:{login_hint:e}})):ce(`Current user matches sesamy user: ${r?.email} === ${e}`);const n=new URL(window.location.href);n.searchParams.delete(lh),window.history.replaceState(null,"",n)}const fh="sesamy-purchase";function xb(){const t=new URLSearchParams(window.location.search),e=t.get(fh);if(e!==null){const r=new URL(window.location.href);t.delete(fh),r.search=t.toString(),ce(`Purchase ${e}`),Vt(Be.PURCHASE,{itemSrc:e}),vt(),window.history.replaceState(null,"",r)}}const dh="sesamy-login",Db="sesamy_login";async function Mb(){const t=new URLSearchParams(window.location.search);if(!(t.get(dh)||t.get(Db)))return;await vr()||Gn();const n=new URL(window.location.href);n.searchParams.delete(dh),window.history.replaceState(null,"",n)}const hh="sesamy-debug";async function Fb(){const e=new URLSearchParams(window.location.search).get(hh)?.toLowerCase();if(!e)return;Mm(e==="true");const r=new URL(window.location.href);r.searchParams.delete(hh),window.history.replaceState(null,"",r)}function Kb(){if(!document.referrer.length)return;const t=new URL(document.referrer);if(!(t.hostname===window.location.hostname||t.hostname.includes("sesamy")))return document.referrer}async function zb(t){if(!Vr())return;const e=new URLSearchParams(window.location.search),r={utmSource:e.get("utm_source")??void 0,utmMedium:e.get("utm_medium")??void 0,utmCampaign:e.get("utm_campaign")??void 0,utmTerm:e.get("utm_term")??void 0,utmContent:e.get("utm_content")??void 0,ref:e.get("ref")??void 0,referrer:Kb()},[n]=t.content.list();n?.url&&(r.itemSrc=n.url,r.publisherContentId=n.id),$v(r)}function Hb(){const t=new URLSearchParams(window.location.search);let e=!1;try{e=!!window.opener&&window.opener.location.origin===window.location.origin}catch{e=!1}const r=sessionStorage.getItem(yd)==="true",n=t.has("code")||t.has("error")||t.has("state");!e||r||(sessionStorage.setItem(yd,"true"),n||(ce("Reloading page to get query params in incognito browser"),window.location.reload()))}async function Bb(t){const e=a=>i=>{i.preventDefault();try{a()}catch(o){console.error("Error handling click:",o)}},r=(a,i)=>{try{document.querySelectorAll(a).forEach(s=>{s.addEventListener("click",e(i))})}catch(o){console.error(`Error attaching event handlers (selector: ${a}):`,o)}};r('[sesamy-link="login"]',()=>t.auth.loginWithRedirect()),r('[sesamy-link="logout"]',()=>t.auth.logout());const n=await t.generateLink({target:"account"});n&&r('[sesamy-link="account"]',()=>{window.location.href=n})}async function Gb(t){const e=await t.auth.isAuthenticated();try{document.querySelectorAll(`[sesamy-visibility="${e?"not-logged-in":"logged-in"}"]`).forEach(a=>{a instanceof HTMLElement&&(a.style.display="none")}),document.querySelectorAll(`[sesamy-visibility="${e?"logged-in":"not-logged-in"}"]`).forEach(a=>{a instanceof HTMLElement&&(a.style.display="")})}catch(r){console.error("Error handling visibility:",r)}}async function Wb(t){const e=Kt("sesamy:locked-content-redirect-url");if(!e)return;const[r]=t.content.list();if(!r)return;await t.entitlements.hasAccess(r.url||"",r.pass?.split(",")||[])||(location.href=e)}exports.isInitialized=!1;async function vh(t,e){ce(`Init with config: ${JSON.stringify(t)}`);try{Hb(),wb({clientId:t.clientId,environment:t.environment,...t.analytics}),await zg({clientId:t.clientId,organization:t.organization,environment:t.environment,...t.auth}),My(t,e),t.transform&&await Ub(t.transform),qg(),Fb(),zb(e),Lb(),$b(),jb(),await Mb(),await Nb(),xb(),await Gb(e),await Bb(e),await Wb(e),exports.isInitialized=!0,Vt(Be.READY,{})}catch(r){ce(`Failed to init ${r.message}`)}}async function Sp(t){ce("Initializing Sesamy");const e=t.api?.namespace||"sesamy";if(Vr()&&e in window)return ce("Sesamy already initialized. This is likely due to a duplicate import"),exports.isInitialized=!0,window[e];const r=kb({clientId:t.clientId,vendorId:t.vendorId,environment:t.environment,...t.api});return Vr()?(t.awaitAllServices?await vh(t,r):vh(t,r),r):(exports.isInitialized=!0,r)}if(Vr()){const t=document.getElementById("sesamy-js");if(t?.textContent)try{const e=JSON.parse(t.textContent);Sp(e)}catch(e){console.error("Failed to parse config",e)}}exports.Events=Be;exports.getContentConfig=Dy;exports.init=Sp;
47
+ `,document.head.appendChild(i)}async function Cb(t){try{const e=await fetch(t);return e.ok?await e.text():(console.error(`Failed to fetch content from ${t}: ${e.statusText}`),null)}catch(e){return console.error(`Error fetching content from ${t}:`,e),null}}async function cc(t){if(t.contentType==="selector"&&t.content){const e=document.querySelector(t.content);if(e)return e.innerHTML;console.warn(`Source element for selector '${t.content}' not found`)}else if(t.contentType==="url"&&t.content){const e=await Cb(t.content);if(e)return e;console.warn(`Failed to fetch content from URL '${t.content}'`)}else if(t.content)return t.content;return""}async function Ab(t,e){const r=e.insertionPoint||"inside",n=await cc(e);switch(r){case"before":t.insertAdjacentHTML("beforebegin",n);break;case"after":t.insertAdjacentHTML("afterend",n);break;case"inside":default:t.innerHTML+=n;break}}async function Ub(t,e){const r=await cc(e);t.innerHTML=r}async function Lb(t,e){const r=await cc(e);t.innerHTML=r.replace("${content}",t.innerHTML)}async function $b({enabled:t=!1,rules:e}){t&&pp(async()=>{const r=await vr(),n=window.location.href;for(const a of e){const i=document.querySelectorAll(a.selector);if(!(a.path&&!new RegExp(a.path).test(n)))for(const o of i){const s=o;if(!(a.authenticated!==void 0&&a.authenticated!==r))switch(a.transform){case"insert":await Ab(s,a);break;case"replace":await Ub(s,a);break;case"remove":o.remove();break;case"wrap":await Lb(s,a);break;case"gradient":Ob(s,a);break;default:console.warn(`Unknown transform type: ${a.transform}`)}}}})}const sh="access_token";function qb(){const t=new URLSearchParams(window.location.hash.substring(1)),e=t.get(sh);if(e){vs(e);const r=new URL(window.location.href);t.delete(sh),r.hash=t.toString(),window.history.replaceState(null,"",r)}}const ch="sesamy-refresh",uh="force-refetch-entitlements";function jb(){const t=new URLSearchParams(window.location.search),e=t.get(uh),r=t.get(ch);if(e!==null||r!==null){const n=new URL(window.location.href);t.delete(uh),t.delete(ch),n.search=t.toString(),vt(),window.history.replaceState(null,"",n)}}function Nb(t){if(!t||typeof t!="string")throw new Error("Invalid token: token must be a non-empty string");const e=t.split(".");if(e.length!==3)throw new Error("Invalid JWT format: token must have exactly 3 parts separated by dots");const[,r]=e;if(!r)throw new Error("Invalid JWT format: payload is empty");let n;try{n=atob(r)}catch{throw new Error("Invalid JWT format: payload is not valid base64")}try{return JSON.parse(n)}catch{throw new Error("Invalid JWT format: payload is not valid JSON")}}function xb(){const t=new URLSearchParams(window.location.search),e=t.get("sesamy-token")||t.get("token");if(!e)return;try{const n=Nb(e),a=new Date(n.exp*1e3),i={id:"",title:n.p?.toString(),sku:n.s?.toString(),purchaseOption:n.p?.toString(),publisherContentId:n.pid?.toString(),url:n.url?.toString(),token:e,type:"article",hasAccess:!0,expiresAt:a.toISOString(),createdAt:new Date(n.iat).toISOString(),updatedAt:new Date(n.iat).toISOString()};Ly(i)}catch(n){ce(`Failed to extract signed link ${n}`)}const r=new URL(window.location.href);r.searchParams.delete("ss"),r.searchParams.delete("se"),r.searchParams.delete("sp"),r.searchParams.delete("so"),r.searchParams.delete("token"),r.searchParams.delete("sesamy-token"),window.history.replaceState(null,"",r)}const lh="sesamy-user";async function Db(){const e=new URLSearchParams(window.location.search).get(lh)?.toLowerCase();if(!e)return;const r=await Hg();r?.email!==e?(ce(`Current user does not match sesamy user: ${r?.email} !== ${e}`),vt(),Gn({authorizationParams:{login_hint:e}})):ce(`Current user matches sesamy user: ${r?.email} === ${e}`);const n=new URL(window.location.href);n.searchParams.delete(lh),window.history.replaceState(null,"",n)}const fh="sesamy-purchase";function Mb(){const t=new URLSearchParams(window.location.search),e=t.get(fh);if(e!==null){const r=new URL(window.location.href);t.delete(fh),r.search=t.toString(),ce(`Purchase ${e}`),Vt(Be.PURCHASE,{itemSrc:e}),vt(),window.history.replaceState(null,"",r)}}const dh="sesamy-login",Fb="sesamy_login";async function Kb(){const t=new URLSearchParams(window.location.search);if(!(t.get(dh)||t.get(Fb)))return;await vr()||Gn();const n=new URL(window.location.href);n.searchParams.delete(dh),window.history.replaceState(null,"",n)}const hh="sesamy-debug";async function zb(){const e=new URLSearchParams(window.location.search).get(hh)?.toLowerCase();if(!e)return;Mm(e==="true");const r=new URL(window.location.href);r.searchParams.delete(hh),window.history.replaceState(null,"",r)}function Hb(){if(!document.referrer.length)return;const t=new URL(document.referrer);if(!(t.hostname===window.location.hostname||t.hostname.includes("sesamy")))return document.referrer}async function Bb(t){if(!Vr())return;const e=new URLSearchParams(window.location.search),r={utmSource:e.get("utm_source")??void 0,utmMedium:e.get("utm_medium")??void 0,utmCampaign:e.get("utm_campaign")??void 0,utmTerm:e.get("utm_term")??void 0,utmContent:e.get("utm_content")??void 0,ref:e.get("ref")??void 0,referrer:Hb()},[n]=t.content.list();n?.url&&(r.itemSrc=n.url,r.publisherContentId=n.id),$v(r)}function Gb(){const t=new URLSearchParams(window.location.search);let e=!1;try{e=!!window.opener&&window.opener.location.origin===window.location.origin}catch{e=!1}const r=sessionStorage.getItem(yd)==="true",n=t.has("code")||t.has("error")||t.has("state");!e||r||(sessionStorage.setItem(yd,"true"),n||(ce("Reloading page to get query params in incognito browser"),window.location.reload()))}async function Wb(t){const e=a=>i=>{i.preventDefault();try{a()}catch(o){console.error("Error handling click:",o)}},r=(a,i)=>{try{document.querySelectorAll(a).forEach(s=>{s.addEventListener("click",e(i))})}catch(o){console.error(`Error attaching event handlers (selector: ${a}):`,o)}};r('[sesamy-link="login"]',()=>t.auth.loginWithRedirect()),r('[sesamy-link="logout"]',()=>t.auth.logout());const n=await t.generateLink({target:"account"});n&&r('[sesamy-link="account"]',()=>{window.location.href=n})}async function Vb(t){const e=await t.auth.isAuthenticated();try{document.querySelectorAll(`[sesamy-visibility="${e?"not-logged-in":"logged-in"}"]`).forEach(a=>{a instanceof HTMLElement&&(a.style.display="none")}),document.querySelectorAll(`[sesamy-visibility="${e?"logged-in":"not-logged-in"}"]`).forEach(a=>{a instanceof HTMLElement&&(a.style.display="")})}catch(r){console.error("Error handling visibility:",r)}}async function Jb(t){const e=Kt("sesamy:locked-content-redirect-url");if(!e)return;const[r]=t.content.list();if(!r)return;await t.entitlements.hasAccess(r.url||"",r.pass?.split(",")||[])||(location.href=e)}exports.isInitialized=!1;async function vh(t,e){ce(`Init with config: ${JSON.stringify(t)}`);try{Gb(),Sb({clientId:t.clientId,environment:t.environment,...t.analytics}),await zg({clientId:t.clientId,organization:t.organization,environment:t.environment,...t.auth}),My(t,e),t.transform&&await $b(t.transform),qg(),zb(),Bb(e),qb(),jb(),xb(),await Kb(),await Db(),Mb(),await Vb(e),await Wb(e),await Jb(e),exports.isInitialized=!0,Vt(Be.READY,{})}catch(r){ce(`Failed to init ${r.message}`)}}async function Sp(t){ce("Initializing Sesamy");const e=t.api?.namespace||"sesamy";if(Vr()&&e in window)return ce("Sesamy already initialized. This is likely due to a duplicate import"),exports.isInitialized=!0,window[e];const r=Tb({clientId:t.clientId,vendorId:t.vendorId,environment:t.environment,...t.api});return Vr()?(t.awaitAllServices?await vh(t,r):vh(t,r),r):(exports.isInitialized=!0,r)}if(Vr()){const t=document.getElementById("sesamy-js");if(t?.textContent)try{const e=JSON.parse(t.textContent);Sp(e)}catch(e){console.error("Failed to parse config",e)}}exports.Events=Be;exports.getContentConfig=Dy;exports.init=Sp;