@sesamy/sesamy-js 1.59.0 → 1.60.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.
package/README.md CHANGED
@@ -1167,7 +1167,7 @@ const checkout = await sesamy.checkouts.create({
1167
1167
  email: 'customer@example.com',
1168
1168
  redirectUrl: 'https://yoursite.com/checkout-complete',
1169
1169
  requireAddress: true,
1170
- metaData: {
1170
+ metadata: {
1171
1171
  campaignId: 'summer_2024',
1172
1172
  source: 'mobile_app',
1173
1173
  },
@@ -1194,7 +1194,7 @@ const checkout = await sesamy.checkouts.create({
1194
1194
  redirectUrl: 'https://yoursite.com/checkout-complete',
1195
1195
  giftMode: true,
1196
1196
  language: 'en',
1197
- metaData: {
1197
+ metadata: {
1198
1198
  giftMessage: 'Happy Birthday!',
1199
1199
  giftFrom: 'John',
1200
1200
  },
@@ -1242,7 +1242,7 @@ Updates an existing checkout session with Sesamy. You can update customer inform
1242
1242
  - payerEmail (string, optional): Updated payer email.
1243
1243
  - requireAddress (boolean, optional): Updated address requirement.
1244
1244
  - giftMode (boolean, optional): Updated gift mode status.
1245
- - metaData (Record<string, string>, optional): Updated metadata.
1245
+ - metadata (Record<string, string>, optional): Updated metadata.
1246
1246
 
1247
1247
  ### Returns
1248
1248
 
@@ -2861,7 +2861,7 @@ const checkoutUrl = client.checkout.generateLink(
2861
2861
  redirectUrl: 'https://example.com/success',
2862
2862
  requireAddress: true,
2863
2863
  giftMode: false,
2864
- metaData: {
2864
+ metadata: {
2865
2865
  campaignId: 'summer_2024',
2866
2866
  source: 'newsletter',
2867
2867
  },
@@ -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 ls={d:(t,e)=>{for(var r in e)ls.o(e,r)&&!ls.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},zs={};ls.d(zs,{A:()=>Og,k:()=>Hs});var Lr=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())})},qr=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 Hs(){return Lr(this,void 0,Promise,function(){return qr(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 Lr(this,void 0,void 0,function(){var h,d;return qr(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 Lr(this,void 0,Promise,function(){return qr(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 I=g.target.result,w=function(y){i(y)};try{I.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{I.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,I,w,y=window;return(w=(I=(g=y?.performance)===null||g===void 0?void 0:g.memory)===null||I===void 0?void 0:I.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 Lr(this,void 0,Promise,function(){var d,v,p;return qr(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(I){p.error&&p.error.name==="InvalidStateError"&&I.preventDefault(),i(!0)},p.onsuccess=function(){indexedDB.deleteDatabase("inPrivate"),i(!1)},g.label=6;case 6:return[2]}})})}(function(){return Lr(this,void 0,Promise,function(){return qr(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=Hs);const Og=Hs;zs.A;const Cg=zs.k,vn="sesamy_incognito_mode";function Bs(){try{const t=sessionStorage.getItem(vn);return t===null?void 0:t==="true"}catch{return}}async function Ag(){try{const t=sessionStorage.getItem(vn);if(t!==null)return t==="true";const{isPrivate:e}=await Cg();return sessionStorage.setItem(vn,e.toString()),e}catch{try{sessionStorage.setItem(vn,"false")}catch{}return!1}}function Gr(){return typeof window<"u"}function gd(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 Ug="function",$g="string",tt="undefined",Lg="boolean",bn="object",qg="array",jg="number",Ng="symbol",xg="null",fs=function(){},Ev="any",kv="*",Vt="__",Dg="form",Mg="input",Fg="button",Kg="select",Sn=typeof process!==tt?process:{};Sn.env&&Sn.env.NODE_ENV;var Ce=typeof document!==tt;Sn.versions!=null&&Sn.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 _v(t,e){return e.charAt(0)[t]()+e.slice(1)}var zg=_v.bind(null,"toUpperCase"),Hg=_v.bind(null,"toLowerCase");function Bg(t){return Rv(t)?zg(xg):typeof t===bn?Jg(t):Object.prototype.toString.call(t).slice(8,-1)}function In(t,e){e===void 0&&(e=!0);var r=Bg(t);return e?Hg(r):r}function rn(t,e){return typeof e===t}var ze=rn.bind(null,Ug),_t=rn.bind(null,$g),lr=rn.bind(null,tt),Gg=rn.bind(null,Lg);rn.bind(null,Ng);function Rv(t){return t===null}function Wg(t){return In(t)===jg&&!isNaN(t)}function Tv(t){return In(t)===qg}function Ke(t){if(!Vg(t))return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function Vg(t){return t&&(typeof t===bn||t!==null)}function Jg(t){return ze(t.constructor)?t.constructor.name:null}function Zg(t){return t instanceof Error||_t(t.message)&&t.constructor&&Wg(t.constructor.stackTraceLimit)}function Ov(t,e){if(typeof e!="object"||Rv(e))return!1;if(e instanceof t)return!0;var r=In(new t(""));if(Zg(e))for(;e;){if(In(e)===r)return!0;e=Object.getPrototypeOf(e)}return!1}Ov.bind(null,TypeError);Ov.bind(null,SyntaxError);function Kn(t,e){var r=t instanceof Element||t instanceof HTMLDocument;return r&&e?Yg(t,e):r}function Yg(t,e){return e===void 0&&(e=""),t&&t.nodeName===e.toUpperCase()}function zn(t){var e=[].slice.call(arguments,1);return function(){return t.apply(void 0,[].slice.call(arguments).concat(e))}}zn(Kn,Dg);zn(Kn,Fg);zn(Kn,Mg);zn(Kn,Kg);function Xg(t){return t?Tv(t)?t:[t]:[]}function yd(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch{return null}}function Qg(){if(Ce){var t=navigator,e=t.languages;return t.userLanguage||(e&&e.length?e[0]:t.language)}}function ey(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function ty(t){return(function(e){for(var r,n=Object.create(null),a=/([^&=]+)=?([^&]*)/g;r=a.exec(e);){var i=yd(r[1]),o=yd(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&&(ry(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 ry(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 Hn(){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 ny(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 Ft="global",mr=Vt+Ft+Vt,gr=typeof self===bn&&self.self===self&&self||typeof global===bn&&global[Ft]===global&&global||void 0;function Jt(t){return gr[mr][t]}function Zt(t,e){return gr[mr][t]=e}function Rr(t){delete gr[mr][t]}function Tr(t,e,r){var n;try{if(Gs(t)){var a=window[t];n=a[e].bind(a)}}catch{}return n||r}gr[mr]||(gr[mr]={});var an={};function Gs(t){if(typeof an[t]!==tt)return an[t];try{var e=window[t];e.setItem(tt,tt),e.removeItem(tt)}catch{return an[t]=!1}return an[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",zr="reducer",Cv="@@redux/",ds=Cv+"INIT",ay=Cv+Math.random().toString(36),wd=(function(){return typeof Symbol===Et&&Symbol.observable||"@@observable"})(),on=" != "+Et;function Av(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"+on);return r(Av)(t,e)}if(typeof t!==Et)throw new Error(zr+on);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"+on);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 "+zr);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:ds}),(n={dispatch:h,subscribe:f,getState:c,replaceReducer:function(d){if(typeof d!==Et)throw new Error("next "+zr+on);a=d,h({type:ds})}})[wd]=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)}}})[wd]=function(){return this},d},n}function iy(t,e){var r=e&&e.type;return"action "+(r&&r.toString()||"?")+zr+" "+t+" returns "+pt}function yr(){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 oy(){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=yr.apply(void 0,i)(o.dispatch)})}}}var Rt=Vt+"anon_id",Kt=Vt+"user_id",dr=Vt+"user_traits",hs="analytics",Pt="userId",fr="anonymousId",pn=["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"],vs=["name","EVENTS","config","loaded"],Q=pn.reduce(function(t,e){return t[e]=e,t},{registerPluginType:function(t){return"registerPlugin:"+t},pluginReadyType:function(t){return"ready:"+t}}),bd=/^utm_/,Sd=/^an_prop_/,Id=/^an_trait_/;function sy(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(Kt,o.userId),u.traits&&e(dr,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(bd)||p.match(/^(d|g)clid/)){var g=p.replace(bd,"");v.campaign[g==="campaign"?"name":g]=i[p]}return p.match(Sd)&&(v.props[p.replace(Sd,"")]=i[p]),p.match(Id)&&(v.traits[p.replace(Id,"")]=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 cy(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===Kt)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[Kt,Rt,dr].forEach(function(n){t.removeItem(n)}),Object.assign({},e,{userId:null,anonymousId:null,traits:{}});default:return e}}}function Pd(t){return{userId:t.getItem(Kt),anonymousId:t.getItem(Rt),traits:t.getItem(dr)}}var ps=function(t){return Vt+"TEMP"+Vt+t};function uy(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&&([Kt,dr,Rt].forEach(function(d){n(d)}),[Pt,fr,"traits"].forEach(function(d){Rr(ps(d))})),s.type===Q.identify){a(Rt)||r(Rt,Hn());var f=a(Kt),h=a(dr)||{};f&&f!==u&&i.dispatch({type:Q.userIdChanged,old:{userId:f,traits:h},new:{userId:u,traits:l},options:c}),u&&r(Kt,u),l&&r(dr,ee({},h,l))}return o(s)}}}}var Dr={};function Ed(t,e){Dr[t]&&ze(Dr[t])&&(Dr[t](e),delete Dr[t])}function Uv(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 Uv(t,e,r-10).then(n,a)})})}function ly(t){return{abort:t}}function $v(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,I=(function(m,b){return m===void 0&&(m={}),b===void 0&&(b={}),[Pt,fr].reduce(function(O,A){return m.hasOwnProperty(A)&&b[A]&&b[A]!==m[A]&&(O[A]=b[A]),O},m)})(h.payload,u),w=n[I.meta.rid];if(!w&&(g=p({payload:I,config:o[d].config,instance:r,abort:ly}))&&Ke(g)&&g.abort)return void(n[I.meta.rid]=!0);if(!w){var y=v+":"+d;t.dispatch(ee({},I,{type:y,_:{called:y,from:"queueDrain"}}))}}});var c=s.actions.filter(function(f,h){return!~l.processIndex.indexOf(h)});s.actions=c}}}var Go=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(hr),d=e.exact.map(function(g){return g.pluginName});h&&(d=o.during.map(function(g){return g.pluginName}));var v=(function(g,I){return function(w,y,m){var b=y.config,O=y.name,A=O+"."+w.type;m&&(A=m.event);var N=w.type.match(hr)?(function(H,V,te,j,F){return function(D,T){var _=j?j.name:H,$=T&&Wr(T)?T:te;if(j&&(!($=T&&Wr(T)?T:[H]).includes(H)||$.length!==1))throw new Error("Method "+V+" can only abort "+H+" plugin. "+JSON.stringify($)+" input valid");return ee({},F,{abort:{reason:D,plugins:$,caller:V,_}})}})(O,A,I,m,w):(function(H,V){return function(){throw new Error(H.type+" action not cancellable. Remove abort in "+V)}})(w,A);return{payload:fy(w),instance:g,config:b||{},abort:N}}})(n,d),p=e.exact.reduce(function(g,I){var w=I.pluginName,y=I.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,I,w){var y=I.pluginName;return Promise.resolve(g).then(function(m){function b(){return Promise.resolve(m)}var O=(function(){if(e.namespaced&&e.namespaced[y])return Promise.resolve(e.namespaced[y].reduce(function(A,N,H){return Promise.resolve(A).then(function(V){return N.method&&ze(N.method)?((function(D,T){var _=Ad(D);if(_&&_.name===T){var $=Ad(_.method);throw new Error([T+" plugin is calling method "+D,"Plugins cant call self","Use "+_.method+" "+($?"or "+$.method:"")+" in "+T+" plugin insteadof "+D].join(`
35
- `))}})(N.methodName,N.pluginName),Promise.resolve(N.method({payload:V,instance:n,abort:(te=V,j=y,F=N.pluginName,function(D,T){return ee({},te,{abort:{reason:D,plugins:T||[j],caller:f,from:F||j}})}),config:Rd(N.pluginName,l,i),plugins:l})).then(function(D){var T=Ke(D)?D:{};return Promise.resolve(ee({},V,T))})):V;var te,j,F})},Promise.resolve(r))).then(function(A){m[y]=A});m[y]=r})();return O&&O.then?O.then(b):b()})},Promise.resolve({}))).then(function(g){return Promise.resolve(e.exact.reduce(function(I,w,y){try{var m=e.exact.length===y+1,b=w.pluginName,O=i[b];return Promise.resolve(I).then(function(A){var N=g[b]?g[b]:{};if(h&&(N=A),Vo(N,b))return Wo({data:N,method:f,instance:n,pluginName:b,store:s}),Promise.resolve(A);if(Vo(A,b))return m&&Wo({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:N,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(A);var H=v(g[b],i[b]);return Promise.resolve(O[f]({abort:H.abort,payload:N,instance:n,config:Rd(b,l,i),plugins:l})).then(function(V){var te=Ke(V)?V:{},j=ee({},A,te),F=g[b];if(Vo(F,b))Wo({data:F,method:f,instance:n,pluginName:b,store:s});else{var D=f+":"+b;(D.match(/:/g)||[]).length<2&&!f.match(kd)&&!f.match(_d)&&n.dispatch(ee({},h?j:N,{type:D,_:{called:D,from:"submethod"}}))}return Promise.resolve(j)})})}catch(A){return Promise.reject(A)}},Promise.resolve(r))).then(function(I){if(!(f.match(hr)||f.match(/^registerPlugin/)||f.match(_d)||f.match(kd)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),I._&&I._.originalAction===f)return I;var w=ee({},I,{_:{originalAction:I.type,called:I.type,from:"engineEnd"}});Lv(I,e.exact.length)&&!f.match(/End$/)&&(w=ee({},w,{type:I.type+"Aborted"})),s.dispatch(w)}return I})})}catch(g){return Promise.reject(g)}},hr=/Start$/,kd=/^bootstrap/,_d=/^ready/;function Wo(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(ee({},t.data,{type:r,_:{called:r,from:"abort"}}))}function Rd(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function Td(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function Od(t,e){var r=t.replace(hr,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function Vo(t,e){var r=t.abort;return!!r&&(r===!0||Cd(r,e)||r&&Cd(r.plugins,e))}function Lv(t,e){var r=t.abort;if(!r)return!1;if(r===!0||_t(r))return!0;var n=r.plugins;return Wr(r)&&r.length===e||Wr(n)&&n.length===e}function Wr(t){return Array.isArray(t)}function Cd(t,e){return!(!t||!Wr(t))&&t.includes(e)}function Ad(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function fy(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 dy(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 Ed(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=[],I=o.disabled,w=v.map(function(m){var b=m.loaded,O=m.name,A=m.config;return Uv(m,function(){return b({config:A})},1e4).then(function(N){return n[O]||(a.dispatch({type:Q.pluginReadyType(O),name:O,events:Object.keys(m).filter(function(H){return!vs.includes(H)})}),n[O]=!0),p=p.concat(O),m}).catch(function(N){if(N instanceof Error)throw new Error(N);return g=g.concat(N.name),N})});Promise.all(w).then(function(m){var b={plugins:p,failed:g,disabled:I};setTimeout(function(){d.length===w.length+I.length&&a.dispatch(ee({},{type:Q.ready},b))},0)})}var y=(function(){if(l!==Q.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return $v(a,e,t)},0),Promise.resolve((function(m,b,O,A,N){try{var H=ze(b)?b():b,V=m.type,te=V.replace(hr,"");if(m._&&m._.called)return Promise.resolve(m);var j=O.getState(),F=(_=H,($=j.plugins)===void 0&&($={}),(q=m.options)===void 0&&(q={}),Object.keys(_).filter(function(S){var k=q.plugins||{};return Gg(k[S])?k[S]:k.all!==!1&&(!$[S]||$[S].enabled!==!1)}).map(function(S){return _[S]}));V===Q.initializeStart&&m.fromEnable&&(F=Object.keys(j.plugins).filter(function(S){var k=j.plugins[S];return m.plugins.includes(S)&&!k.initialized}).map(function(S){return H[S]}));var D=F.map(function(S){return S.name}),T=(function(S,k){var x=Od(S).map(function(z){return Td(z,k)});return k.reduce(function(z,Y){var J=Y.name,fe=Od(S,J).map(function(ke){return Td(ke,k)}),ne=fe[0],ce=fe[1],ae=fe[2];return ne.length&&(z.beforeNS[J]=ne),ce.length&&(z.duringNS[J]=ce),ae.length&&(z.afterNS[J]=ae),z},{before:x[0],beforeNS:{},during:x[1],duringNS:{},after:x[2],afterNS:{}})})(V,F);return Promise.resolve(Go({action:m,data:{exact:T.before,namespaced:T.beforeNS},state:j,allPlugins:H,allMatches:T,instance:O,store:A,EVENTS:N})).then(function(S){function k(){var Y=(function(){if(V.match(hr))return Promise.resolve(Go({action:ee({},x,{type:te+"End"}),data:{exact:T.after,namespaced:T.afterNS},state:j,allPlugins:H,allMatches:T,instance:O,store:A,EVENTS:N})).then(function(J){J.meta&&J.meta.hasCallback&&Ed(J.meta.rid,{payload:J})})})();return Y&&Y.then?Y.then(function(){return S}):S}if(Lv(S,D.length))return S;var x,z=(function(){if(V!==te)return Promise.resolve(Go({action:ee({},S,{type:te}),data:{exact:T.during,namespaced:T.duringNS},state:j,allPlugins:H,allMatches:T,instance:O,store:A,EVENTS:N})).then(function(Y){x=Y});x=S})();return z&&z.then?z.then(k):k()})}catch(S){return Promise.reject(S)}var _,$,q})(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 hy(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 vy=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 yr.apply(void 0,o)(n)(a)}}}}};function py(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=Ud(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=Ud(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,$d(r.plugins,!1,e));case Q.enablePlugin:return ee({},e,$d(r.plugins,!0,e));default:return e}}}function Ud(t,e){return t.substring(e.length+1,t.length)}function $d(t,e,r){return t.reduce(function(n,a){return n[a]=ee({},r[a],{enabled:e}),n},r)}function qv(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var my={last:{},history:[]};function gy(t,e){t===void 0&&(t=my);var r=e.options,n=e.meta;if(e.type===Q.track){var a=qv(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 yy={actions:[]};function wy(t,e){t===void 0&&(t=yy);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 jv=/#.*$/;function by(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(jv,""):"")}var Nv,xv,Dv,Mv,Sy=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(jv,"")})(l),f={title:r,url:c,path:by(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),ee({},f,t)},Iy={last:{},history:[]};function Py(t,e){t===void 0&&(t=Iy);var r=e.options;if(e.type===Q.page){var n=qv(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}Nv=(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"})(),xv=Ce?document.referrer:null,Dv=Qg(),Mv=ey();var Ld={initialized:!1,sessionId:Hn(),app:null,version:null,debug:!1,offline:!!Ce&&!navigator.onLine,os:{name:Nv},userAgent:Ce?navigator.userAgent:"node",library:{name:hs,version:"0.13.1"},timezone:Mv,locale:Dv,campaign:{},referrer:xv};function Ey(t,e){t===void 0&&(t=Ld);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({},Ld,t,{initialized:!0})}}var ky=["plugins","reducers","storage"];function _y(t,e,r){if(Ce){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function Ry(t){var e=_y.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function Fv(){return Zt(hs,[]),function(t){return function(e,r,n){var a=t(e,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return gr[mr][hs].push(o.action||o),i(o)}})}}}function qd(t){return function(){return yr(yr.apply(null,arguments),Fv())}}function Jo(t){return t?Tv(t)?t:[t]:[]}function jd(t,e,r){t===void 0&&(t={});var n,a,i=Hn();return e&&(Dr[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 Ty(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(S,k){if(ze(k))return S.middlewares=S.middlewares.concat(k),S;if(k.NAMESPACE&&(k.name=k.NAMESPACE),!k.name)throw new Error("https://lytics.dev/errors/1");k.config||(k.config={});var x=k.EVENTS?Object.keys(k.EVENTS).map(function(J){return k.EVENTS[J]}):[];S.pluginEnabled[k.name]=!(k.enabled===!1||k.config.enabled===!1),delete k.enabled,k.methods&&(S.methods[k.name]=Object.keys(k.methods).reduce(function(J,fe){var ne;return J[fe]=(ne=k.methods[fe],function(){for(var ce=Array.prototype.slice.call(arguments),ae=new Array(ne.length),ke=0;ke<ce.length;ke++)ae[ke]=ce[ke];return ae[ae.length]=b,ne.apply({instance:b},ae)}),J},{}),delete k.methods);var z=Object.keys(k).concat(x),Y=new Set(S.events.concat(z));if(S.events=Array.from(Y),S.pluginsArray=S.pluginsArray.concat(k),S.plugins[k.name])throw new Error(k.name+"AlreadyLoaded");return S.plugins[k.name]=k,S.plugins[k.name].loaded||(S.plugins[k.name].loaded=function(){return!0}),S},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Jt,setItem:Zt,removeItem:Rr},i=(function(S){return function(k,x,z){return x.getState("user")[k]||(z&&Ke(z)&&z[k]?z[k]:Pd(S)[k]||Jt(ps(k))||null)}})(a),o=n.plugins,s=n.events.filter(function(S){return!vs.includes(S)}).sort(),u=new Set(s.concat(pn).filter(function(S){return!vs.includes(S)})),l=Array.from(u).sort(),c=function(){return o},f=new vy,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},g=ty(),I=Pd(a),w=ee({},I,r,g.an_uid?{userId:g.an_uid}:{},g.an_aid?{anonymousId:g.an_aid}:{});w.anonymousId||(w.anonymousId=Hn());var y=ee({enable:function(S,k){return new Promise(function(x){T.dispatch({type:Q.enablePlugin,plugins:Jo(S),_:{originalAction:Q.enablePlugin}},x,[k])})},disable:function(S,k){return new Promise(function(x){T.dispatch({type:Q.disablePlugin,plugins:Jo(S),_:{originalAction:Q.disablePlugin}},x,[k])})}},n.methods),m=!1,b={identify:function(S,k,x,z){try{var Y=_t(S)?S:null,J=Ke(S)?S:k,fe=x||{},ne=b.user();Zt(ps(Pt),Y);var ce=Y||J.userId||i(Pt,b,J);return Promise.resolve(new Promise(function(ae){T.dispatch(ee({type:Q.identifyStart,userId:ce,traits:J||{},options:fe,anonymousId:ne.anonymousId},ne.id&&ne.id!==Y&&{previousId:ne.id}),ae,[k,x,z])}))}catch(ae){return Promise.reject(ae)}},track:function(S,k,x,z){try{var Y=Ke(S)?S.event:S;if(!Y||!_t(Y))throw new Error("EventMissing");var J=Ke(S)?S:k||{},fe=Ke(x)?x:{};return Promise.resolve(new Promise(function(ne){T.dispatch({type:Q.trackStart,event:Y,properties:J,options:fe,userId:i(Pt,b,k),anonymousId:i(fr,b,k)},ne,[k,x,z])}))}catch(ne){return Promise.reject(ne)}},page:function(S,k,x){try{var z=Ke(S)?S:{},Y=Ke(k)?k:{};return Promise.resolve(new Promise(function(J){T.dispatch({type:Q.pageStart,properties:Sy(z),options:Y,userId:i(Pt,b,z),anonymousId:i(fr,b,z)},J,[S,k,x])}))}catch(J){return Promise.reject(J)}},user:function(S){if(S===Pt||S==="id")return i(Pt,b);if(S===fr||S==="anonId")return i(fr,b);var k=b.getState("user");return S?gd(k,S):k},reset:function(S){return new Promise(function(k){T.dispatch({type:Q.resetStart},k,S)})},ready:function(S){return m&&S({plugins:y,instance:b}),b.on(Q.ready,function(k){S&&S(k),m=!0})},on:function(S,k){if(!S||!ze(k))return!1;if(S===Q.bootstrap)throw new Error(".on disabled for "+S);var x=/Start$|Start:/;if(S==="*"){var z=function(ne){return function(ce){return function(ae){return ae.type.match(x)&&k({payload:ae,instance:b,plugins:o}),ce(ae)}}},Y=function(ne){return function(ce){return function(ae){return ae.type.match(x)||k({payload:ae,instance:b,plugins:o}),ce(ae)}}};return h(z,sn),h(Y,cn),function(){d(z,sn),d(Y,cn)}}var J=S.match(x)?sn:cn,fe=function(ne){return function(ce){return function(ae){return ae.type===S&&k({payload:ae,instance:b,plugins:o,abort:p}),ce(ae)}}};return h(fe,J),function(){return d(fe,J)}},once:function(S,k){if(!S||!ze(k))return!1;if(S===Q.bootstrap)throw new Error(".once disabled for "+S);var x=b.on(S,function(z){k({payload:z.payload,instance:b,plugins:o,abort:p}),x()});return x},getState:function(S){var k=T.getState();return S?gd(k,S):Object.assign({},k)},dispatch:function(S){var k=_t(S)?{type:S}:S;if(pn.includes(k.type))throw new Error("reserved action "+k.type);var x=ee({},k,{_:ee({originalAction:k.type},S._||{})});T.dispatch(x)},enablePlugin:y.enable,disablePlugin:y.disable,plugins:y,storage:{getItem:a.getItem,setItem:function(S,k,x){T.dispatch({type:Q.setItemStart,key:S,value:k,options:x})},removeItem:function(S,k){T.dispatch({type:Q.removeItemStart,key:S,options:k})}},setAnonymousId:function(S,k){b.storage.setItem(Rt,S,k)},events:{core:pn,plugins:s}},O=n.middlewares.concat([function(S){return function(k){return function(x){return x.meta||(x.meta=jd()),k(x)}}},v(sn),dy(b,c,{all:l,plugins:s}),hy(a),sy(b),uy(b),v(cn)]),A={context:Ey,user:cy(a),page:Py,track:gy,plugins:py(c),queue:wy},N=yr,H=yr;if(Ce&&t.debug){var V=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;V&&(N=V({trace:!0,traceLimit:25})),H=function(){return arguments.length===0?Fv():Ke(typeof arguments[0])?qd():qd().apply(null,arguments)}}var te,j=(function(S){return Object.keys(S).reduce(function(k,x){return ky.includes(x)||(k[x]=S[x]),k},{})})(t),F=n.pluginsArray.reduce(function(S,k){var x=k.name,z=k.config,Y=k.loaded,J=n.pluginEnabled[x];return S[x]={enabled:J,initialized:!!J&&!k.initialize,loaded:!!Y({config:z}),config:z},S},{}),D={context:j,user:w,plugins:F},T=Av((function(S){for(var k=Object.keys(S),x={},z=0;z<k.length;z++){var Y=k[z];typeof S[Y]===Et&&(x[Y]=S[Y])}var J,fe=Object.keys(x);try{(function(ne){Object.keys(ne).forEach(function(ce){var ae=ne[ce];if(typeof ae(void 0,{type:ds})===pt||typeof ae(void 0,{type:ay})===pt)throw new Error(zr+" "+ce+" "+pt)})})(x)}catch(ne){J=ne}return function(ne,ce){if(ne===void 0&&(ne={}),J)throw J;for(var ae=!1,ke={},Ne=0;Ne<fe.length;Ne++){var De=fe[Ne],Le=ne[De],Qe=(0,x[De])(Le,ce);if(typeof Qe===pt){var St=iy(De,ce);throw new Error(St)}ke[De]=Qe,ae=ae||Qe!==Le}return ae?ke:ne}})(ee({},A,e)),D,H(N(oy.apply(void 0,O))));T.dispatch=(te=T.dispatch,function(S,k,x){var z=ee({},S,{meta:jd(S.meta,k,Jo(x))});return te.apply(null,[z])});var _=Object.keys(o);T.dispatch({type:Q.bootstrap,plugins:_,config:j,params:g,user:w,initialUser:r,persistedUser:I});var $=_.filter(function(S){return n.pluginEnabled[S]}),q=_.filter(function(S){return!n.pluginEnabled[S]});return T.dispatch({type:Q.registerPlugins,plugins:_,enabled:n.pluginEnabled}),n.pluginsArray.map(function(S,k){var x=S.bootstrap,z=S.config,Y=S.name;x&&ze(x)&&x({instance:b,config:z,payload:S}),T.dispatch({type:Q.registerPluginType(Y),name:Y,enabled:n.pluginEnabled[Y],plugin:S}),n.pluginsArray.length===k+1&&T.dispatch({type:Q.initializeStart,plugins:$,disabled:q})}),Ry(function(S){T.dispatch({type:S?Q.offline:Q.online})}),(function(S,k,x){setInterval(function(){return $v(S,k,x)},3e3)})(T,c,b),b}var sn="before",cn="after",zt="cookie",xt=Hv(),Kv=Bn,Oy=Bn;function zv(t){return xt?Bn(t,"",-1):Rr(t)}function Hv(){if(xt!==void 0)return xt;var t=zt+zt;try{Bn(t,t),xt=document.cookie.indexOf(t)!==-1,zv(t)}catch{xt=!1}return xt}function Bn(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return xt===!1&&(o?Zt(t,e):Jt(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",Cy=Gs.bind(null,mt);Tr(mt,"getItem",Jt);Tr(mt,"setItem",Zt);Tr(mt,"removeItem",Rr);var gt="sessionStorage",Ay=Gs.bind(null,gt);Tr(gt,"getItem",Jt);Tr(gt,"setItem",Zt);Tr(gt,"removeItem",Rr);function vr(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 Uy=Cy(),$y=Ay(),Ly=Hv();function Ht(t,e){if(t){var r=Ws(e),n=!Ys(r),a=Vs(r)?vr(localStorage.getItem(t)):void 0;if(n&&!lr(a))return a;var i=Js(r)?vr(Kv(t)):void 0;if(n&&i)return i;var o=Zs(r)?vr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Jt(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function Pn(t,e,r){if(t&&!lr(e)){var n={},a=Ws(r),i=JSON.stringify(e),o=!Ys(a);return Vs(a)&&(n[mt]=un(mt,e,vr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[mt]:Js(a)&&(n[zt]=un(zt,e,vr(Kv(t))),Oy(t,i),o)?n[zt]:Zs(a)&&(n[gt]=un(gt,e,vr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[gt]:(n[Ft]=un(Ft,e,Jt(t)),Zt(t,e),o?n[Ft]:n)}}function qy(t,e){if(t){var r=Ws(e),n=Ht(t,kv),a={};return!lr(n.localStorage)&&Vs(r)&&(localStorage.removeItem(t),a[mt]=n.localStorage),!lr(n.cookie)&&Js(r)&&(zv(t),a[zt]=n.cookie),!lr(n.sessionStorage)&&Zs(r)&&(sessionStorage.removeItem(t),a[gt]=n.sessionStorage),!lr(n.global)&&Gn(r,Ft)&&(Rr(t),a[Ft]=n.global),a}}function Ws(t){return t?_t(t)?t:t.storage:Ev}function Vs(t){return Uy&&Gn(t,mt)}function Js(t){return Ly&&Gn(t,zt)}function Zs(t){return $y&&Gn(t,gt)}function Ys(t){return t===kv||t==="all"}function Gn(t,e){return t===Ev||t===e||Ys(t)}function un(t,e,r){return{location:t,current:e,previous:r}}var jy={setItem:Pn,getItem:Ht,removeItem:qy};function Ny(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Nd(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 xd(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Nd(Object(r),!0).forEach(function(n){Ny(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Nd(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function xy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:jy};return Ty(xd(xd({},e),t))}const Xs="@sesamy/sesamy-js",Wn="1.59.0";function Dy(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=Fy(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function My(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function Fy(t){return["#","?"].forEach(e=>t=My(t,e)),t}function Ky(){Dy(()=>{ht.page()})}var Zo="up",Yo="down";function zy(t){if(t===void 0&&(t={}),!Ce)return fs;var e=Md(),r=ms(),n=Dd(),a=ln(n,e),i=ln(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return fs;var d=h.map(function(p){return Number(p)}),v=ny(function(){var p=Md(),g=(function(j,F){return F.map(function(D){return D===100?j-5:j*(D/100)})})(p,d),I=ms(),w=Dd(),y=ln(w,p),m=ln(I,p);if(c=y>c?y:c,f=m<f?m:f,!(o.length>=d.length)){var b=l===w,O=Zo;b?O="initial":l<=w&&(O=Yo);var A=g,N=d;(O===Zo||b)&&(A=g.slice().reverse(),N=d.slice().reverse());var H=N.reduce(function(j,F,D){var T=A[D];return u.includes(F)&&w<=T&&(u=u.filter(function(_){return _!==F}),j.singleFunction=F),O===Yo&&!o.includes(F)&&w>=T&&F>i?(s.push(F),j.callbacks=j.callbacks.concat(F),j):O===Zo&&!o.includes(F)&&w<=T&&F<=y?(j.foundFunc=[F],j):(b&&w>=T&&j.foundFunc.length===0&&(j.foundFunc=[F]),!s.includes(F)&&w>=T&&(s.push(F),j.singleFunction?u.push(F):j.singleFunction=F),j)},{foundFunc:[],singleFunction:null,callbacks:[],direction:O});if(l=w,O===Yo&&H.callbacks&&H.callbacks.forEach(function(j){ze(t[j])&&(t[j]({trigger:j,direction:O,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(j))}),H.singleFunction){var V=H.singleFunction,te=H.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 ms(){return Ce?document.body.scrollTop||document.documentElement.scrollTop:0}function Hy(){return Ce?window.innerHeight||document.documentElement.clientHeight:0}function Dd(){return Math.round(ms()+Hy())}function Md(){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 ln(t,e){return Math.round(t/e*100)}var Qs="Event",Fd=Qs+"Listener";function By(t){return function(e,r,n,a){var i=n||fs,o=a||!1;if(!Ce)return i;var s=En(r),u=En(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+Qs);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+Fd:"remove"+Fd,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?Gy(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 En(t,e){if(_t(t))return e?En(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=Xg(t);return e?i.map(function(o){return _t(o)?En(o,!0):o}).flat():i}function Gy(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var Xo=By(Qs);function Bv(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}Bv.bind(null,"onerror");Bv.bind(null,"onload");var Gv=typeof window>"u",Kd="hidden";function Wy(t){if(Gv)return!1;var e=Vy(),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 Vy(){var t=["webkit","moz","ms","o"];return Gv||Kd in document?Kd:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var Jy=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function Zy(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=Wy(function(s){s||r({type:"tabVisible"})});return n=[o].concat(Jy.map(function(s){return Xo(document,s,r)})).concat(Xo(window,"load",r)).concat(Xo(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function Yy(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(jr(h),g),a&&c&&(c=!1,a(jr(r),g),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(jr(h),g))},s)}var p=Zy(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:jr(h,f),idle:c?jr(r,f):0}}}}function jr(t,e){return e?0:Math.round((new Date-t)/1e3)}const zd=5e3;class Xy{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),Yy({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:zd}),zy({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*zd: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 Wv(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function Qy(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 Hd="sesamy_session_id";function ew(){let t=sessionStorage.getItem(Hd);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(Hd,t)),t}function Vv(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 tw(t){return t?Object.fromEntries(Object.entries(t).filter(([e,r])=>r!==void 0)):{}}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"}},Jv=[],Zv=!1,Bt;function Yv(){const t=window.location.pathname;return Jv.find(e=>e.path?t.includes(e.path):!0)}function rw(t,e){Jv=t.content||[];const r=Yv();r&&r.type==="article"&&(Fe={...Fe,...tw(r.selectors)},Zv=r.enablePaywallSettingsUrlFallback||!1),Bt=e}function nw(t,e){const{selector:r}=e;return r===Fe.article.selector?t:t.querySelector(r)}function Xv(t,e){if(t)return e.attribute?e.attribute==="textContent"?t.textContent??void 0:t.getAttribute(e.attribute)??Xv(t.parentElement,e):t.textContent??void 0}function pr(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 Qv({publisherContentId:t,key:e,defaultValue:r=""}){return(t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null)?.getAttribute(e)||pr(`sesamy:${e}`)||pr(`og:${e}`)||pr(e)||r}function aw(){const t=document.querySelectorAll(Fe.article.selector);return Array.from(t).map(Vn).filter(e=>e!==null)}function Vn(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:Vv(e)},n=(i,o,s,u)=>{const l=nw(e,o);if(l){const c=Xv(l,o)||Qv({publisherContentId:s,key:i});c!==void 0&&(r[i]=u?u(c):c)}};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,i=>parseFloat(i)),n("currency",Fe.currency,r.id),n("url",Fe.url,r.id),n("pass",Fe.pass,r.id),n("paywallUrl",Fe.paywallUrl,r.id),n("accessLevel",Fe.accessLevel,r.id,i=>i||"entitlement");const a=Yv();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)),Zv&&!r.paywallUrl){const i=document.querySelector("sesamy-paywall");if(i){const o=i.getAttribute("settings-url");o&&(r.paywallUrl=o)}}return r}async function iw(t){const e=Vn(t);if(!e)throw new Error("Could not find article element");if(e.paywallUrl){const a=(await Bt.paywalls.get(e.paywallUrl)).settings.template==="LOGIN"?"logged-in":"entitlement";if(e.accessLevel=a,a==="logged-in"){const i=await Bt.auth.isAuthenticated();return e.hasAccess=i,e}}if(!e.url)throw new Error("Article must have a URL");const r=await Bt.entitlements.hasAccess(e.url,e.pass?.split(",")||[]);return e.hasAccess=!!r,e.entitlement=r,e}async function ow(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=Vn(r);if(!n?.url)throw new Error("Could not find content for element");const a=await Bt.entitlements.hasAccess(n.url||"",n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await Bt.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||Vv(r.parentElement||r);return Bt.proxy.getContent(i.token,n.url,o)}let ep=!1,mn,kn,gs;function tp(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:gs,requestId:Math.random().toString(36).slice(2,9),sessionId:ew(),timestamp:new Date().toISOString(),version:Wn,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:pr("sesamy:item-src"),publisherContentId:pr("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:Xs,userAgent:navigator.userAgent,clientId:gs}}}))}const rp=Qy(async t=>{if(t.length>0){const e=tp(t);ep?navigator.sendBeacon(kn,e):(await fetch(kn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function Qo(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(kn,tp([e]))}else rp.push(t)}function sw(){return ep=!0,rp.flush()}function cw(t,e,r){mn=e,kn=`${st("logs",r)}/events`,gs=t}const uw={name:"custom-analytics-plugin",page:({payload:t})=>{if(!mn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;Qo({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!mn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;Qo({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!mn)return;const{properties:e,anonymousId:r,userId:n}=t;Qo({anonymousId:r,userId:n,properties:e,type:"identify"})}},Bd=["source","medium","campaign","term","content"],kt="utm_",lw=1800*1e3;function np(t){return t?Date.now()-parseInt(t,10)>lw:!0}function Gd(){const t=document.referrer||"";if(!t)return;const e=Ht(`${kt}set_at`);(np(e)||!Ht(`${kt}referrer`))&&Pn(`${kt}referrer`,t)}function fw(){const t=()=>{const r={};for(const a of Bd){const i=Ht(`${kt}${a}`);i&&(r[`utm_${a}`]=i)}const n=Ht(`${kt}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){Gd()},campaign({payload:r}){const n=r?.campaign||{},a=Ht(`${kt}set_at`);if(Object.keys(n).length>0&&np(a)){for(const o of Bd){const s=n[o];s&&Pn(`${kt}${o}`,s)}Pn(`${kt}set_at`,String(Date.now()))}Gd()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const dw=fw(),Wd=new Map,Vd=new Map;function hw({clientId:t,enabled:e=!0,environment:r}){cw(t,e,r),e&&(window.addEventListener("beforeunload",()=>{Vd.forEach((n,a)=>{n.bind(a)()}),sw()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&Wd.forEach((n,a)=>{n.bind(a)()})}),Ky(),Wv(()=>{const n=new Xy({element:document.body,viewCallback:()=>{ht.page()},activeDurationCallback:(a,i,o)=>{ht.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{ht.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{ht.track("scroll",{scroll:a.scrollMax})}});Vd.set(document.body,()=>{n.flush()}),Wd.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(Be.AUTHENTICATED,async n=>{const a=n;await ht.identify(a.detail.sub)}),window.addEventListener(Be.LOGOUT,async()=>{await ht.track("logout",{}),await ht.reset()}))}const ht=xy({app:Xs,version:Wn,plugins:[dw,uw]});function ap(t,e){ht.track(t,e)}function ip(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});ap(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function vw(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function pw(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function mw(){return/android/i.test(navigator.userAgent)}let Oe,op,Hr,ys=!1,gn=!1;Gr()&&window.addEventListener("pageshow",()=>{gn=!1});const wr="sesamyAccessToken",es="sesamyRefreshToken",_n="sesamySilentAuthThrottle",gw=300*1e3;async function Jn(){return ys?!0:new Promise((t,e)=>{const r=setTimeout(()=>{ys?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(Be.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function yw(t){if(!t)return null;const e=localStorage.getItem(es);if(!e)return le("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(es),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(es,i.refresh_token),localStorage.setItem(wr,i.access_token),i.access_token}catch{rc()}}async function ec(){const t=localStorage.getItem(wr);if(!t)return null;const e=nc(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await yw(e);if(r)return r;localStorage.removeItem(wr)}return t}let fn=null;const ww=64;function bw(){try{if(fn!==null)return fn;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===ww)return fn=!0,!0}}catch(t){le(`Error checking for existing auth0 tokens: ${t.message}`)}return fn=!1,!1}function Sw(t){if(t.domains&&t.domains.length>0){const e=br(window.location.href);if(e){for(const r of t.domains)if(br(`https://${r}`)===e)return le(`Found matching domain in domains array: ${r} for TLD: ${e}`),r;le(`No matching domain found in domains array for TLD: ${e}`)}}if(t.domain)return le(`Using fallback domain property: ${t.domain}`),t.domain}function br(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 Iw(t){if(t.enabled===!1)return;op=t.organization;const e=Sw(t);Hr=e&&!bw()?e:Pv("token",t.environment);const r={domain:Hr,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",br(window.location.href)!==br(`https://${Hr}`)&&(r.useRefreshTokens=!0),le(`Initializing auth0 client: ${JSON.stringify(r)}`),Oe=await kg(r);const n=new URLSearchParams(window.location.search),a=n.get("code"),i=n.get("state");if(a)if(window.opener)le("Code found in URL, posting to opener"),window.opener.postMessage({type:"authorization_response",response:{code:a,state:i}},window.location.origin);else{le("Code found in URL, handling redirect");try{const u=await Oe.handleRedirectCallback();le(`Login result: ${JSON.stringify(u)}`);const l=await Oe.getUser();if(!l)throw le("No user found"),new Error("No user found");le(`User found ${JSON.stringify(l)}`),tc(),Wt(Be.AUTHENTICATED,l),le("Rewrite url")}catch(u){alert("There was an error logging in"),console.error(u)}const o=new URL(location.href),s=o.searchParams;s.delete("code"),s.delete("state"),o.search=s.toString(),window.history.replaceState({},document.title,o.toString())}ys=!0,Wt(Be.AUTH_INITIALIZED,{})}async function Vr(){return await Jn(),await ec()?!0:Oe?Oe.isAuthenticated():!1}async function Pw(){return await Jn(),await ec()?(le("Using local user"),{sub:"local",name:"Local User"}):Oe?Oe.getUser():null}function sp(t){if(gn)return le("Login already in progress"),null;if(gn=!0,setTimeout(()=>{gn=!1},3e3),localStorage.removeItem(wr),!Oe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:op,redirect_uri:window.location.href,ui_locales:Ks(),incognito:Bs(),...e}}}async function Zn(t){const e=sp(t);if(e)return Oe.loginWithRedirect(e)}async function cp(t){const e=sp(t);if(!e)return;await Oe.loginWithPopup(e,{timeoutInSeconds:1800}),tc(),ip(Be.AUTHENTICATED,await Oe.getUser()).canceled||window.location.reload()}async function Ew(t){return Hr&&br(window.location.href)!==br(`https://${Hr}`)&&(pw()||mw()||Bs())?cp(t):Zn(t)}function kw(){try{const t=sessionStorage.getItem(_n);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<gw}catch{return sessionStorage.removeItem(_n),!1}}function _w(){try{const t={timestamp:Date.now()};sessionStorage.setItem(_n,JSON.stringify(t))}catch{le("Failed to set silent auth throttle in sessionStorage")}}function tc(){try{sessionStorage.removeItem(_n)}catch{}}async function qt(t=!0,e=!1){await Jn();const r=await ec();if(r)return r;if(!e&&kw()){if(le("Silent auth is throttled due to recent failures, skipping request"),t)throw new Error("Silent auth throttled");return null}try{if(!Oe)return le("Auth client not initialized"),null;let n=await Oe.getTokenSilently();const a=nc(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await Oe.getTokenSilently({cacheMode:e?"off":"on"})),tc(),n}catch(n){const a=n;if(le(`Failed to get token silently: ${a.message}`),_w(),await Oe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await rc(),t)throw n;return null}}async function rc(t={}){if(await Jn(),localStorage.removeItem(wr),Wt(Be.LOGOUT,{}),!!Oe)return le(`Logout with options: ${JSON.stringify(t)}`),Oe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function nc(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 ws(t){const e=nc(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");le("Set token"),localStorage.setItem(wr,t),Wt(Be.AUTHENTICATED,e)}const Rw=(t,e)=>e.skipDedupe||e.method!=="GET",Tw=(t,e)=>e.method+"@"+t,Ow=t=>t.clone(),Jd=({skip:t=Rw,key:e=Tw,resolver:r=Ow}={})=>{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)}}},Cw=(t,e)=>t*e,Aw=t=>t&&t.ok,Zd=({delayTimer:t=500,delayRamp:e=Cw,maxAttempts:r=10,until:n=Aw,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 I=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))},I)}).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)})};class Br 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,Br)}isClientError(){return this.status>=400&&this.status<500}isServerError(){return this.status>=500}isForbiddenError(){return this.status===403}isNotFoundError(){return this.status===404}}var Rn=(t=>(t.BROWSER="browser",t.NORMAL="normal",t))(Rn||{});const Uw="application/json",up="Content-Type",or=Symbol(),lp=Symbol();function Yd(t={}){var e;const r=t instanceof Array?Object.fromEntries(t):t;return(e=Object.entries(r).find(([n])=>n.toLowerCase()===up.toLowerCase()))===null||e===void 0?void 0:e[1]}function Xd(t){return/^application\/.*json.*/.test(t)}const Gt=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]=Gt(o,i,r):n[a]=i,n},{...t})},Sr={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 $w(t,e=!1){Sr.options=e?t:Gt(Sr.options,t)}function Lw(t,e=!1){Sr.polyfills=e?t:Gt(Sr.polyfills,t)}function qw(t){Sr.errorType=t}const jw=t=>e=>t.reduceRight((r,n)=>n(r),e)||e;class fp extends Error{}const Nw=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=Gt(a.options,n);let f=r;const h=jw(s)((y,m)=>(f=y,a.polyfill("fetch")(y,m)))(r,c),d=new Error,v=h.catch(y=>{throw{[or]:y}}).then(y=>{var m;if(!y.ok){const b=new fp;if(b.cause=d,b.stack=b.stack+`
36
- CAUSE: `+d.stack,b.response=y,b.status=y.status,b.url=f,y.type==="opaque")throw b;const O=a.errorType==="json"||((m=y.headers.get("Content-Type"))===null||m===void 0?void 0:m.split(";")[0])==="application/json";return(a.errorType?O?y.text():y[a.errorType]():Promise.resolve(y.body)).then(A=>{if(b.message=typeof A=="string"?A:y.statusText,A)if(O&&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,or),O=b?m[or]:m,A=O?.status&&l.get(O.status)||l.get(O?.name)||b&&l.has(or)&&l.get(or);if(A)return A(O,t);const N=l.get(lp);if(N)return N(O,t);throw O}),g=y=>m=>p(y?v.then(b=>b&&b[y]()).then(b=>m?m(b):b):v.then(b=>m?m(b):b)),I={_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(or,y)}},w=u.reduce((y,m)=>({...y,...typeof m.resolver=="function"?m.resolver(y):m.resolver}),I);return o.reduce((y,m)=>m(y,t),w)},xw={_url:"",_options:{},_config:Sr,_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:Gt(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:Gt(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:Gt(this._options,{headers:e})}},accept(t){return this.headers({Accept:t})},content(t){return this.headers({[up]: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(lp,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=Yd(n._options.headers),i=this._config.polyfill("FormData",!1),o=typeof r=="object"&&!(i&&r instanceof i)&&(!n._options.headers||!a||Xd(a));return n=r?o?n.json(r,a):n.body(r):n,Nw(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=Yd(this._options.headers);return this.content(e||Xd(r)&&r||Uw).body(JSON.stringify(t))}};function rt(t="",e={}){return{...xw,_url:t,_options:e}}rt.default=rt;rt.options=$w;rt.errorType=qw;rt.polyfills=Lw;rt.WretchError=fp;const Dw=(t,e)=>e.skipDedupe||e.method!=="GET",Mw=(t,e)=>e.method+"@"+t,Fw=t=>t.clone(),Kw=({skip:t=Dw,key:e=Mw,resolver:r=Fw}={})=>{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)}}},zw=(t,e)=>e.skipCache||e.method!=="GET",Hw=(t,e)=>e.method+"@"+t,Bw=()=>!1,Gw=()=>null,Ww=t=>t.ok,Vw=({throttle:t=1e3,skip:e=zw,key:r=Hw,clear:n=Bw,invalidate:a=Gw,condition:i=Ww,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(I=>{typeof I=="string"?s.delete(I):I instanceof RegExp&&s.forEach((w,y)=>{I.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 I=s.get(p).clone();return o&&Object.defineProperty(I,o,{value:p,enumerable:!1}),Promise.resolve(I)}else if(u.has(p))return new Promise((I,w)=>{u.get(p).push([I,w])})}return u.has(p)||u.set(p,[]),c(p),h(d,v).then(I=>(i(I.clone())&&s.set(p,I.clone()),u.get(p).forEach(([w])=>w(I.clone())),u.delete(p),I)).catch(I=>{throw u.get(p).forEach(([,w])=>w(I)),u.delete(p),I})};return f.cacheResponse=function(h,d){c(h),s.set(h,d)},f.cache=s,f.inflight=u,f.throttling=l,f},Jw=(t,e)=>t*e,Zw=t=>t&&t.ok,Yw=({delayTimer:t=500,delayRamp:e=Jw,maxAttempts:r=10,until:n=Zw,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 I=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))},I)}).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)})},Xw="@sesamy/sdk",Qw="1.14.0";class eb{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 Mr="sesamyCacheTimestamp",tb=t=>{const{libraryName:e=Xw,libraryVersion:r=Qw,cache:n}=t,a=n?.storage||new eb,i=[s=>async(u,l)=>{if(n?.mode===Rn.BROWSER){let c;typeof sessionStorage<"u"?(c=sessionStorage.getItem(Mr),c||(c=Date.now().toString(),sessionStorage.setItem(Mr,c))):(c=a.get(Mr),c||(c=Date.now().toString(),a.set(Mr,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:`Bearer ${c}`}};return s(u,f)},Kw()];n?.mode===Rn.NORMAL&&i.push(Vw({throttle:300*1e3,skip:(s,u)=>u.method!=="GET"})),i.push(Yw({delayTimer:1e3,delayRamp:(s,u)=>s*u,maxAttempts:3,until:s=>!!(s&&(s.ok||s.status>=400&&s.status<500)),retryOnNetworkError:!1}));const o=rt(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?JSON.parse(u.body):void 0);break;case"put":h=c.put(u.body?JSON.parse(u.body):void 0);break;case"patch":h=c.patch(u.body?JSON.parse(u.body):void 0);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)&&ut(),d.status===204)return null;if(!d.ok){const v=await d.text().catch(()=>"Unknown error");throw new Br(d.status,d.statusText,d.url,`API Error ${d.status}: ${v}`,v)}return await d.json()}catch(l){if(l instanceof Br)throw l;const c=l.status||500,f=l.message||"Unknown error",h=`${t.baseUrl}${s}`;throw new Br(c,f,h,`API Error ${c}: ${l.message||"Unknown error"}`,l.message||"Unknown error")}}}},ut=()=>(typeof sessionStorage<"u"&&sessionStorage.removeItem(Mr),"Cache cleared"),Nr={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"})}},ts={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`)},Qd={list:async t=>t.request("/subscriptions"),get:async(t,e)=>t.request(`/subscriptions/${e}`)},eh={get:async(t,e)=>t.request(`/products/${e}`),autoOnboard:async(t,e)=>t.request(`/products/${e}/auto-onboard`,{method:"POST"})},xr={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"})},rs={get:async t=>t.request("/user-metadata"),set:async(t,e,r)=>{await t.request(`/user-metadata/${e}`,{method:"PUT",body:JSON.stringify({value:r})})},delete:async(t,e)=>{await t.request(`/user-metadata/${e}`,{method:"DELETE"})}},dn={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)})},ns={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"})}},sr={generateCheckoutLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkout`);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(`meta-${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()}},as={generateLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkout`);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(`meta-${n}`,a)}),r.toString()},create:async(t,e)=>t.request("/checkout",{method:"POST",body:JSON.stringify(e)}),get:async(t,e)=>t.request(`/checkout/${e}`),update:async(t,e,r)=>t.request(`/checkout/${e}`,{method:"PATCH",body:JSON.stringify(r)})},th={list:async t=>t.request("/bills"),get:async(t,e)=>t.request(`/bills/${e}`)},rh={list:async t=>t.request("/fulfillments"),create:async(t,e)=>t.request("/fulfillments",{method:"POST",body:JSON.stringify(e)})},rb={get:async(t,e)=>{try{return new URL(e),t.request(e)}catch{return t.request(`/paywalls/${e}`)}}},nb={list:async t=>t.request("/payment-issues")},ab={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)}},ib={list:async(t,e)=>{const r=(e?new URLSearchParams({q:e}):new URLSearchParams).toString(),n=r?`/transactions?${r}`:"/transactions";return t.request(n)}},nh={get:async t=>t.request("/vendor"),list:async t=>t.request("/vendors")},ob=t=>{const e=tb(t);return{profile:{get:r=>Nr.get(e,r),update:(r,n)=>Nr.update(e,r,n),checkSpotifyLink:()=>Nr.checkSpotifyLink(e),unlinkSpotify:()=>Nr.unlinkSpotify(e),delete:()=>Nr.delete(e)},entitlements:{list:r=>ts.list(e,r),get:r=>ts.get(e,r),getAccess:r=>ts.getAccess(e,r)},subscriptions:{list:()=>Qd.list(e),get:r=>Qd.get(e,r)},products:{get:r=>eh.get(e,r),autoOnboard:r=>eh.autoOnboard(e,r)},contracts:{list:()=>xr.list(e),get:r=>xr.get(e,r),cancel:r=>xr.cancel(e,r),createAmendment:(r,n)=>xr.createAmendment(e,r,n),confirmAmendment:(r,n)=>xr.confirmAmendment(e,r,n)},userMetadata:{get:()=>rs.get(e),set:(r,n)=>rs.set(e,r,n),delete:r=>rs.delete(e,r)},tallies:{list:()=>dn.list(e),get:r=>dn.get(e,r),update:(r,n)=>dn.update(e,r,n),create:r=>dn.create(e,r)},tags:{list:()=>ns.list(e),add:r=>ns.add(e,r),remove:r=>ns.remove(e,r)},checkout:{generateLink:(r,n)=>sr.generateCheckoutLink(r,n),create:r=>as.create(e,r),get:r=>as.get(e,r),update:(r,n)=>as.update(e,r,n)},links:{generateCheckoutLink:(r,n)=>sr.generateCheckoutLink(r,n),generateAccountLink:(r,n)=>sr.generateAccountLink(r,n),generateChangePaymentLink:(r,n)=>sr.generateChangePaymentLink(r,n),generateChangePlanLink:(r,n)=>sr.generateChangePlanLink(r,n),generateConsumeLink:(r,n)=>sr.generateConsumeLink(r,n)},bills:{list:()=>th.list(e),get:r=>th.get(e,r)},fulfillments:{list:()=>rh.list(e),create:r=>rh.create(e,r)},paywalls:{get:r=>rb.get(e,r)},paymentIssues:{list:()=>nb.list(e)},proxy:{content:(r,n,a,i)=>ab.content(e,r,n,a,i)},transactions:{list:r=>ib.list(e,r)},vendor:{get:()=>nh.get(e),list:()=>nh.list(e)}}};class sb{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 bs(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function dp(t,e){if(bs(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 ah(t){return t.endsWith("/")?t.slice(0,-1):t}function ih(t,e){if(!bs(t)||!bs(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&ah(r.pathname)===ah(n.pathname)}function cb(t,e,r){const n=new URL(`${st("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=dp(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(`meta-${c}`,String(f))}),n}const hp="sesamySignedURLs";function ac(){const t=sessionStorage.getItem(hp);return t?JSON.parse(t):[]}function ub(t){const e=ac();e.push(t),le(`Adding signed URL: ${t}`),sessionStorage.setItem(hp,JSON.stringify(e))}function lb(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const Ss="sesamyAttribution";function fb(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 db(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function ic(){return fb(Ss)||{}}function vp(t){if(t===null)localStorage.removeItem(Ss);else{le(`Setting attribution ${JSON.stringify(t)}`);const e=ic()??{},r=lb({...e,...db(t)});localStorage.setItem(Ss,JSON.stringify({value:r}))}}function hb(t){const e=t.endpoint||st("api2",t.environment),n=ob({baseUrl:e,tokenProvider:async()=>{const _=await qt(!0);if(!_)throw new Error("No access token available");return _},libraryName:Xs,libraryVersion:Wn,vendorId:t.vendorId,cache:{mode:Rn.BROWSER,storage:new sb}}),a=_=>async($,q)=>{let S=sessionStorage.getItem(pd);S||(S=Date.now().toString(),sessionStorage.setItem(pd,S));const k={...q,headers:{...q.headers,"Cache-Timestamp":S}};return _($,k)},i=(_=!0)=>$=>async(q,S)=>{let k=null;if(k=await qt(_),!k){if(_)throw new Error("No access token available");return $(q,S)}const x={...S,headers:{...S.headers,...k?{Authorization:`Bearer ${k}`}:{}}};return $(q,x)},o=_=>($,q)=>{if(q.headers&&"Authorization"in q.headers)return _($,q);const S=localStorage.getItem("__anon_id"),k=btoa(`${t.clientId}|${S}:`),x={...q,headers:{...q.headers,Authorization:`Basic ${k}`}};return _($,x)},s=rt(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),Jd(),Zd({delayTimer:1e3,delayRamp:(_,$)=>_*$,maxAttempts:3,until:_=>!!(_&&(_.ok||_.status>=400&&_.status<500)),retryOnNetworkError:!1})]),u=rt(e).headers({"Content-Type":"application/json"}).middlewares([a,i(!1),o,Jd(),Zd({delayTimer:1e3,delayRamp:(_,$)=>_*$,maxAttempts:3,until:_=>!!(_&&(_.ok||_.status>=400&&_.status<500)),retryOnNetworkError:!1})]);async function l(_={}){const{waitForEntitlementAfter:$,includeSignedLinks:q=!0}=_,S=await Vr()?await n.entitlements.list({waitForEntitlementAfter:$?.toISOString()}):[];return q&&S.push(...ac()),S}async function c(_,$=[]){return(await l())?.find(k=>{if(_){const{sku:x,purchaseOption:z}=dp(_);if("sku"in k&&x===k.sku||z&&"purchaseOptionsId"in k&&z===k.purchaseOptionsId||ih(_,k.url))return!0}return!!$.some(x=>ih(x,k.url))})}async function f(_,$,q){const S=new URL(st("api2",t.environment));return S.pathname="/proxy",S.searchParams.set("url",$),q&&S.searchParams.set("selector",q),rt(S.toString()).headers({Authorization:`Bearer ${_}`}).get().text()}async function h(_){if(!_)throw new Error("SKU is required to get fulfillments");return await Vr()?await s.get(`/fulfillments?sku=${encodeURIComponent(_)}`).json():[]}async function d(_,$){if(!_||!$)throw new Error("SKU and itemId are required to request delivery");return(await s.post({sku:_},`/fulfillments/${encodeURIComponent($)}/request-delivery?`).res()).ok}async function v(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),s.get("/subscriptions").json()}async function p(_){return(await n.transactions.list())?.find(q=>q.id===_)}async function g(){return await s.url("/tags").get().json()}async function I(_){const $=await s.url(`/tags/${encodeURIComponent(_)}`).delete().res();return ut(),$.ok}async function w(_){const $=await s.url("/tags").post(encodeURIComponent(_)).res();return Wt(Be.USER_ATTRIBUTE_CHANGED,{}),ut(),$.ok}async function y(_){return(await u.url("/tallies").get().json())[_]}async function m(){return await u.url("/tallies").get().json()}async function b(_){const $=await u.url(`/tallies/${_}`).delete().res();return ut(),$.ok}async function O(_,$){return await u.url(`/tallies/${encodeURIComponent(_)}/push`).post($).json()}async function A(){return await qt(!1)?await s.url("/profile").get().json():null}async function N(_){const $=await s.url("/profile").patch(_).res();return ut(),$.ok}async function H(){return(await s.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function V(){return(await s.url("/profile/unlink-spotify").post().res()).ok}async function te(_){const $=await qt(!1);if(!$)throw new Error("No access token available");const q=new URL(`${st("access-sync",t.environment)}/spotify/sesamy-callback`);q.searchParams.set("access_token",$),q.searchParams.set("state",_),window.location.href=q.toString()}async function j(_){const $=await s.url(`/products/${encodeURIComponent(_)}/auto-onboard`).post().json();return $.length&&ut(),$}async function F(_,$=3600){const{shortlink:q}=await rt(Tg).post({url:_,ttl:$}).json();return q}async function D(_){const $=await qt(!1,!0);let q;const S=_.language||Ks(),k=ic();switch(_.target){case"account":q=new URL(`${st("account",t.environment)}/${encodeURIComponent(_.language||S)}/subscriptions/${encodeURIComponent(t.clientId)}${_.contractId?`/${encodeURIComponent(_.contractId)}`:""}`),q.searchParams.set("sesamy-redirect-url",_.redirectUrl||window.location.href);break;case"change-payment":q=new URL(`${st("account",t.environment)}/${encodeURIComponent(_.language||S)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(_.contractId)}/change-payment-method`),q.searchParams.set("sesamy-redirect-url",_.redirectUrl||window.location.href);break;case"change-plan":q=new URL(`${st("account",t.environment)}/${encodeURIComponent(_.language||S)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(_.contractId)}/edit-plan`),q.searchParams.set("sesamy-redirect-url",_.redirectUrl||window.location.href);break;case"consume":q=new URL(`${st("consume",t.environment)}/${encodeURIComponent(_.language||S)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(_.sku)}`),_.episodeId?q.href+=`/${_.episodeId}`:q.href+="/listen",q.searchParams.set("sesamy-redirect-url",_.redirectUrl||window.location.href);break;case"checkout":q=cb(t,{language:S,..._},k);break;default:throw new Error("Invalid target")}return $&&(q.hash=`#access_token=${$}`),_.shorten?F(q.href,_.ttl):q.href}async function T(){const _=await qt(!1),$=new URL(`${st("account",t.environment)}/subscriptions/${t.clientId}`);_&&($.hash=`#access_token=${_}`),window.location.href=$.toString()}return{autoOnboardProduct:j,bills:n.bills,checkout:n.checkout,contracts:n.contracts,deleteTag:I,deleteTally:b,entitlements:n.entitlements,generateLink:D,getProxyContent:f,getEntitlements:l,getFulfillments:h,requestDelivery:d,hasAccess:c,isSpotifyLinked:H,linkSpotify:te,openHostedAccountPage:T,paywalls:n.paywalls,paymentIssues:n.paymentIssues,getProfile:A,products:n.products,getSubscriptions:v,getTally:y,getTallies:m,getTags:g,getTransaction:p,transactions:n.transactions,userMetadata:n.userMetadata,pushTally:O,setTag:w,unlinkSpotify:V,updateProfile:N,vendor:n.vendor}}const vb=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function pb(){return new Promise(t=>{const e=vb.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 mb(){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}}const pp="sesamyFlags";async function mp(t){try{localStorage.setItem(pp,JSON.stringify(t))}catch{le("Failed to save flags to localStorage")}}async function gb(t,e){const r=await Yn();r[t]=e,await mp(r)}async function yb(t){return(await Yn())[t]}async function wb(t){const e=await Yn();t in e&&(delete e[t],await mp(e))}async function Yn(){try{const t=localStorage.getItem(pp);return t?JSON.parse(t):{}}catch{return{}}}function bb(t){const{autoOnboardProduct:e,bills:r,checkout: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:I,hasAccess:w,isSpotifyLinked:y,linkSpotify:m,openHostedAccountPage:b,paywalls:O,paymentIssues:A,products:N,pushTally:H,requestDelivery:V,setTag:te,transactions:j,unlinkSpotify:F,updateProfile:D,userMetadata:T,vendor:_}=hb(t),$={analytics:{track:ap},attribution:{get:ic,set:vp},auth:{getUser:f,getTokenSilently:qt,isAuthenticated:Vr,loginWithRedirect:Zn,loginWithPopup:cp,login:Ew,logout:rc,setToken:ws},bills:r,browser:{detectAdblock:pb,isInAppBrowser:mb,isIncognito:Bs},checkouts:n,clearCache:ut,content:{list:aw,get:Vn,getLanguage:Ks,hasAccess:iw,unlock:ow,getPropertyFromHTML:Qv},contracts:a,entitlements:{...s,access:s.getAccess,hasAccess:w,list:l,signedLinks:ac},events:{emit:ip,cancel:vw},flags:{get:yb,set:gb,list:Yn,delete:wb},fulfillments:{list:c,requestDelivery:V},generateLink:u,getVersion:Sb,isReady:()=>exports.isInitialized,log:le,paywalls:O,paymentIssues:A,products:{...N,autoOnboard:e,linkSpotify:m},profile:{get:f,isSpotifyLinked:y,openHostedAccountPage:b,unlinkSpotify:F,update:D},proxy:{getContent:h},subscriptions:{list:d},tags:{delete:i,list:v,set:te},tallies:{delete:o,get:p,list:g,push:H},transactions:{...j,get:I},userMetadata:T,vendor:_,setToken:ws};return t.namespace&&(window[t.namespace]=$),$}function Sb(){return Wn}function Ib(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
+ `))}})(N.methodName,N.pluginName),Promise.resolve(N.method({payload:V,instance:n,abort:(te=V,j=y,F=N.pluginName,function(D,T){return ee({},te,{abort:{reason:D,plugins:T||[j],caller:f,from:F||j}})}),config:Rd(N.pluginName,l,i),plugins:l})).then(function(D){var T=Ke(D)?D:{};return Promise.resolve(ee({},V,T))})):V;var te,j,F})},Promise.resolve(r))).then(function(A){m[y]=A});m[y]=r})();return O&&O.then?O.then(b):b()})},Promise.resolve({}))).then(function(g){return Promise.resolve(e.exact.reduce(function(I,w,y){try{var m=e.exact.length===y+1,b=w.pluginName,O=i[b];return Promise.resolve(I).then(function(A){var N=g[b]?g[b]:{};if(h&&(N=A),Vo(N,b))return Wo({data:N,method:f,instance:n,pluginName:b,store:s}),Promise.resolve(A);if(Vo(A,b))return m&&Wo({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:N,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(A);var H=v(g[b],i[b]);return Promise.resolve(O[f]({abort:H.abort,payload:N,instance:n,config:Rd(b,l,i),plugins:l})).then(function(V){var te=Ke(V)?V:{},j=ee({},A,te),F=g[b];if(Vo(F,b))Wo({data:F,method:f,instance:n,pluginName:b,store:s});else{var D=f+":"+b;(D.match(/:/g)||[]).length<2&&!f.match(kd)&&!f.match(_d)&&n.dispatch(ee({},h?j:N,{type:D,_:{called:D,from:"submethod"}}))}return Promise.resolve(j)})})}catch(A){return Promise.reject(A)}},Promise.resolve(r))).then(function(I){if(!(f.match(hr)||f.match(/^registerPlugin/)||f.match(_d)||f.match(kd)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),I._&&I._.originalAction===f)return I;var w=ee({},I,{_:{originalAction:I.type,called:I.type,from:"engineEnd"}});Lv(I,e.exact.length)&&!f.match(/End$/)&&(w=ee({},w,{type:I.type+"Aborted"})),s.dispatch(w)}return I})})}catch(g){return Promise.reject(g)}},hr=/Start$/,kd=/^bootstrap/,_d=/^ready/;function Wo(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(ee({},t.data,{type:r,_:{called:r,from:"abort"}}))}function Rd(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function Td(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function Od(t,e){var r=t.replace(hr,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function Vo(t,e){var r=t.abort;return!!r&&(r===!0||Cd(r,e)||r&&Cd(r.plugins,e))}function Lv(t,e){var r=t.abort;if(!r)return!1;if(r===!0||_t(r))return!0;var n=r.plugins;return Wr(r)&&r.length===e||Wr(n)&&n.length===e}function Wr(t){return Array.isArray(t)}function Cd(t,e){return!(!t||!Wr(t))&&t.includes(e)}function Ad(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function fy(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 dy(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 Ed(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=[],I=o.disabled,w=v.map(function(m){var b=m.loaded,O=m.name,A=m.config;return Uv(m,function(){return b({config:A})},1e4).then(function(N){return n[O]||(a.dispatch({type:Q.pluginReadyType(O),name:O,events:Object.keys(m).filter(function(H){return!vs.includes(H)})}),n[O]=!0),p=p.concat(O),m}).catch(function(N){if(N instanceof Error)throw new Error(N);return g=g.concat(N.name),N})});Promise.all(w).then(function(m){var b={plugins:p,failed:g,disabled:I};setTimeout(function(){d.length===w.length+I.length&&a.dispatch(ee({},{type:Q.ready},b))},0)})}var y=(function(){if(l!==Q.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return $v(a,e,t)},0),Promise.resolve((function(m,b,O,A,N){try{var H=ze(b)?b():b,V=m.type,te=V.replace(hr,"");if(m._&&m._.called)return Promise.resolve(m);var j=O.getState(),F=(_=H,($=j.plugins)===void 0&&($={}),(q=m.options)===void 0&&(q={}),Object.keys(_).filter(function(S){var k=q.plugins||{};return Gg(k[S])?k[S]:k.all!==!1&&(!$[S]||$[S].enabled!==!1)}).map(function(S){return _[S]}));V===Q.initializeStart&&m.fromEnable&&(F=Object.keys(j.plugins).filter(function(S){var k=j.plugins[S];return m.plugins.includes(S)&&!k.initialized}).map(function(S){return H[S]}));var D=F.map(function(S){return S.name}),T=(function(S,k){var x=Od(S).map(function(z){return Td(z,k)});return k.reduce(function(z,Y){var J=Y.name,fe=Od(S,J).map(function(ke){return Td(ke,k)}),ne=fe[0],ce=fe[1],ae=fe[2];return ne.length&&(z.beforeNS[J]=ne),ce.length&&(z.duringNS[J]=ce),ae.length&&(z.afterNS[J]=ae),z},{before:x[0],beforeNS:{},during:x[1],duringNS:{},after:x[2],afterNS:{}})})(V,F);return Promise.resolve(Go({action:m,data:{exact:T.before,namespaced:T.beforeNS},state:j,allPlugins:H,allMatches:T,instance:O,store:A,EVENTS:N})).then(function(S){function k(){var Y=(function(){if(V.match(hr))return Promise.resolve(Go({action:ee({},x,{type:te+"End"}),data:{exact:T.after,namespaced:T.afterNS},state:j,allPlugins:H,allMatches:T,instance:O,store:A,EVENTS:N})).then(function(J){J.meta&&J.meta.hasCallback&&Ed(J.meta.rid,{payload:J})})})();return Y&&Y.then?Y.then(function(){return S}):S}if(Lv(S,D.length))return S;var x,z=(function(){if(V!==te)return Promise.resolve(Go({action:ee({},S,{type:te}),data:{exact:T.during,namespaced:T.duringNS},state:j,allPlugins:H,allMatches:T,instance:O,store:A,EVENTS:N})).then(function(Y){x=Y});x=S})();return z&&z.then?z.then(k):k()})}catch(S){return Promise.reject(S)}var _,$,q})(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 hy(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 vy=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 yr.apply(void 0,o)(n)(a)}}}}};function py(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=Ud(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=Ud(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,$d(r.plugins,!1,e));case Q.enablePlugin:return ee({},e,$d(r.plugins,!0,e));default:return e}}}function Ud(t,e){return t.substring(e.length+1,t.length)}function $d(t,e,r){return t.reduce(function(n,a){return n[a]=ee({},r[a],{enabled:e}),n},r)}function qv(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var my={last:{},history:[]};function gy(t,e){t===void 0&&(t=my);var r=e.options,n=e.meta;if(e.type===Q.track){var a=qv(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 yy={actions:[]};function wy(t,e){t===void 0&&(t=yy);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 jv=/#.*$/;function by(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(jv,""):"")}var Nv,xv,Dv,Mv,Sy=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(jv,"")})(l),f={title:r,url:c,path:by(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),ee({},f,t)},Iy={last:{},history:[]};function Py(t,e){t===void 0&&(t=Iy);var r=e.options;if(e.type===Q.page){var n=qv(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}Nv=(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"})(),xv=Ce?document.referrer:null,Dv=Qg(),Mv=ey();var Ld={initialized:!1,sessionId:Hn(),app:null,version:null,debug:!1,offline:!!Ce&&!navigator.onLine,os:{name:Nv},userAgent:Ce?navigator.userAgent:"node",library:{name:hs,version:"0.13.1"},timezone:Mv,locale:Dv,campaign:{},referrer:xv};function Ey(t,e){t===void 0&&(t=Ld);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({},Ld,t,{initialized:!0})}}var ky=["plugins","reducers","storage"];function _y(t,e,r){if(Ce){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function Ry(t){var e=_y.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function Fv(){return Zt(hs,[]),function(t){return function(e,r,n){var a=t(e,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return gr[mr][hs].push(o.action||o),i(o)}})}}}function qd(t){return function(){return yr(yr.apply(null,arguments),Fv())}}function Jo(t){return t?Tv(t)?t:[t]:[]}function jd(t,e,r){t===void 0&&(t={});var n,a,i=Hn();return e&&(Dr[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 Ty(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(S,k){if(ze(k))return S.middlewares=S.middlewares.concat(k),S;if(k.NAMESPACE&&(k.name=k.NAMESPACE),!k.name)throw new Error("https://lytics.dev/errors/1");k.config||(k.config={});var x=k.EVENTS?Object.keys(k.EVENTS).map(function(J){return k.EVENTS[J]}):[];S.pluginEnabled[k.name]=!(k.enabled===!1||k.config.enabled===!1),delete k.enabled,k.methods&&(S.methods[k.name]=Object.keys(k.methods).reduce(function(J,fe){var ne;return J[fe]=(ne=k.methods[fe],function(){for(var ce=Array.prototype.slice.call(arguments),ae=new Array(ne.length),ke=0;ke<ce.length;ke++)ae[ke]=ce[ke];return ae[ae.length]=b,ne.apply({instance:b},ae)}),J},{}),delete k.methods);var z=Object.keys(k).concat(x),Y=new Set(S.events.concat(z));if(S.events=Array.from(Y),S.pluginsArray=S.pluginsArray.concat(k),S.plugins[k.name])throw new Error(k.name+"AlreadyLoaded");return S.plugins[k.name]=k,S.plugins[k.name].loaded||(S.plugins[k.name].loaded=function(){return!0}),S},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Jt,setItem:Zt,removeItem:Rr},i=(function(S){return function(k,x,z){return x.getState("user")[k]||(z&&Ke(z)&&z[k]?z[k]:Pd(S)[k]||Jt(ps(k))||null)}})(a),o=n.plugins,s=n.events.filter(function(S){return!vs.includes(S)}).sort(),u=new Set(s.concat(pn).filter(function(S){return!vs.includes(S)})),l=Array.from(u).sort(),c=function(){return o},f=new vy,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},g=ty(),I=Pd(a),w=ee({},I,r,g.an_uid?{userId:g.an_uid}:{},g.an_aid?{anonymousId:g.an_aid}:{});w.anonymousId||(w.anonymousId=Hn());var y=ee({enable:function(S,k){return new Promise(function(x){T.dispatch({type:Q.enablePlugin,plugins:Jo(S),_:{originalAction:Q.enablePlugin}},x,[k])})},disable:function(S,k){return new Promise(function(x){T.dispatch({type:Q.disablePlugin,plugins:Jo(S),_:{originalAction:Q.disablePlugin}},x,[k])})}},n.methods),m=!1,b={identify:function(S,k,x,z){try{var Y=_t(S)?S:null,J=Ke(S)?S:k,fe=x||{},ne=b.user();Zt(ps(Pt),Y);var ce=Y||J.userId||i(Pt,b,J);return Promise.resolve(new Promise(function(ae){T.dispatch(ee({type:Q.identifyStart,userId:ce,traits:J||{},options:fe,anonymousId:ne.anonymousId},ne.id&&ne.id!==Y&&{previousId:ne.id}),ae,[k,x,z])}))}catch(ae){return Promise.reject(ae)}},track:function(S,k,x,z){try{var Y=Ke(S)?S.event:S;if(!Y||!_t(Y))throw new Error("EventMissing");var J=Ke(S)?S:k||{},fe=Ke(x)?x:{};return Promise.resolve(new Promise(function(ne){T.dispatch({type:Q.trackStart,event:Y,properties:J,options:fe,userId:i(Pt,b,k),anonymousId:i(fr,b,k)},ne,[k,x,z])}))}catch(ne){return Promise.reject(ne)}},page:function(S,k,x){try{var z=Ke(S)?S:{},Y=Ke(k)?k:{};return Promise.resolve(new Promise(function(J){T.dispatch({type:Q.pageStart,properties:Sy(z),options:Y,userId:i(Pt,b,z),anonymousId:i(fr,b,z)},J,[S,k,x])}))}catch(J){return Promise.reject(J)}},user:function(S){if(S===Pt||S==="id")return i(Pt,b);if(S===fr||S==="anonId")return i(fr,b);var k=b.getState("user");return S?gd(k,S):k},reset:function(S){return new Promise(function(k){T.dispatch({type:Q.resetStart},k,S)})},ready:function(S){return m&&S({plugins:y,instance:b}),b.on(Q.ready,function(k){S&&S(k),m=!0})},on:function(S,k){if(!S||!ze(k))return!1;if(S===Q.bootstrap)throw new Error(".on disabled for "+S);var x=/Start$|Start:/;if(S==="*"){var z=function(ne){return function(ce){return function(ae){return ae.type.match(x)&&k({payload:ae,instance:b,plugins:o}),ce(ae)}}},Y=function(ne){return function(ce){return function(ae){return ae.type.match(x)||k({payload:ae,instance:b,plugins:o}),ce(ae)}}};return h(z,sn),h(Y,cn),function(){d(z,sn),d(Y,cn)}}var J=S.match(x)?sn:cn,fe=function(ne){return function(ce){return function(ae){return ae.type===S&&k({payload:ae,instance:b,plugins:o,abort:p}),ce(ae)}}};return h(fe,J),function(){return d(fe,J)}},once:function(S,k){if(!S||!ze(k))return!1;if(S===Q.bootstrap)throw new Error(".once disabled for "+S);var x=b.on(S,function(z){k({payload:z.payload,instance:b,plugins:o,abort:p}),x()});return x},getState:function(S){var k=T.getState();return S?gd(k,S):Object.assign({},k)},dispatch:function(S){var k=_t(S)?{type:S}:S;if(pn.includes(k.type))throw new Error("reserved action "+k.type);var x=ee({},k,{_:ee({originalAction:k.type},S._||{})});T.dispatch(x)},enablePlugin:y.enable,disablePlugin:y.disable,plugins:y,storage:{getItem:a.getItem,setItem:function(S,k,x){T.dispatch({type:Q.setItemStart,key:S,value:k,options:x})},removeItem:function(S,k){T.dispatch({type:Q.removeItemStart,key:S,options:k})}},setAnonymousId:function(S,k){b.storage.setItem(Rt,S,k)},events:{core:pn,plugins:s}},O=n.middlewares.concat([function(S){return function(k){return function(x){return x.meta||(x.meta=jd()),k(x)}}},v(sn),dy(b,c,{all:l,plugins:s}),hy(a),sy(b),uy(b),v(cn)]),A={context:Ey,user:cy(a),page:Py,track:gy,plugins:py(c),queue:wy},N=yr,H=yr;if(Ce&&t.debug){var V=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;V&&(N=V({trace:!0,traceLimit:25})),H=function(){return arguments.length===0?Fv():Ke(typeof arguments[0])?qd():qd().apply(null,arguments)}}var te,j=(function(S){return Object.keys(S).reduce(function(k,x){return ky.includes(x)||(k[x]=S[x]),k},{})})(t),F=n.pluginsArray.reduce(function(S,k){var x=k.name,z=k.config,Y=k.loaded,J=n.pluginEnabled[x];return S[x]={enabled:J,initialized:!!J&&!k.initialize,loaded:!!Y({config:z}),config:z},S},{}),D={context:j,user:w,plugins:F},T=Av((function(S){for(var k=Object.keys(S),x={},z=0;z<k.length;z++){var Y=k[z];typeof S[Y]===Et&&(x[Y]=S[Y])}var J,fe=Object.keys(x);try{(function(ne){Object.keys(ne).forEach(function(ce){var ae=ne[ce];if(typeof ae(void 0,{type:ds})===pt||typeof ae(void 0,{type:ay})===pt)throw new Error(zr+" "+ce+" "+pt)})})(x)}catch(ne){J=ne}return function(ne,ce){if(ne===void 0&&(ne={}),J)throw J;for(var ae=!1,ke={},Ne=0;Ne<fe.length;Ne++){var De=fe[Ne],Le=ne[De],Qe=(0,x[De])(Le,ce);if(typeof Qe===pt){var St=iy(De,ce);throw new Error(St)}ke[De]=Qe,ae=ae||Qe!==Le}return ae?ke:ne}})(ee({},A,e)),D,H(N(oy.apply(void 0,O))));T.dispatch=(te=T.dispatch,function(S,k,x){var z=ee({},S,{meta:jd(S.meta,k,Jo(x))});return te.apply(null,[z])});var _=Object.keys(o);T.dispatch({type:Q.bootstrap,plugins:_,config:j,params:g,user:w,initialUser:r,persistedUser:I});var $=_.filter(function(S){return n.pluginEnabled[S]}),q=_.filter(function(S){return!n.pluginEnabled[S]});return T.dispatch({type:Q.registerPlugins,plugins:_,enabled:n.pluginEnabled}),n.pluginsArray.map(function(S,k){var x=S.bootstrap,z=S.config,Y=S.name;x&&ze(x)&&x({instance:b,config:z,payload:S}),T.dispatch({type:Q.registerPluginType(Y),name:Y,enabled:n.pluginEnabled[Y],plugin:S}),n.pluginsArray.length===k+1&&T.dispatch({type:Q.initializeStart,plugins:$,disabled:q})}),Ry(function(S){T.dispatch({type:S?Q.offline:Q.online})}),(function(S,k,x){setInterval(function(){return $v(S,k,x)},3e3)})(T,c,b),b}var sn="before",cn="after",zt="cookie",xt=Hv(),Kv=Bn,Oy=Bn;function zv(t){return xt?Bn(t,"",-1):Rr(t)}function Hv(){if(xt!==void 0)return xt;var t=zt+zt;try{Bn(t,t),xt=document.cookie.indexOf(t)!==-1,zv(t)}catch{xt=!1}return xt}function Bn(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return xt===!1&&(o?Zt(t,e):Jt(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",Cy=Gs.bind(null,mt);Tr(mt,"getItem",Jt);Tr(mt,"setItem",Zt);Tr(mt,"removeItem",Rr);var gt="sessionStorage",Ay=Gs.bind(null,gt);Tr(gt,"getItem",Jt);Tr(gt,"setItem",Zt);Tr(gt,"removeItem",Rr);function vr(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 Uy=Cy(),$y=Ay(),Ly=Hv();function Ht(t,e){if(t){var r=Ws(e),n=!Ys(r),a=Vs(r)?vr(localStorage.getItem(t)):void 0;if(n&&!lr(a))return a;var i=Js(r)?vr(Kv(t)):void 0;if(n&&i)return i;var o=Zs(r)?vr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Jt(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function Pn(t,e,r){if(t&&!lr(e)){var n={},a=Ws(r),i=JSON.stringify(e),o=!Ys(a);return Vs(a)&&(n[mt]=un(mt,e,vr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[mt]:Js(a)&&(n[zt]=un(zt,e,vr(Kv(t))),Oy(t,i),o)?n[zt]:Zs(a)&&(n[gt]=un(gt,e,vr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[gt]:(n[Ft]=un(Ft,e,Jt(t)),Zt(t,e),o?n[Ft]:n)}}function qy(t,e){if(t){var r=Ws(e),n=Ht(t,kv),a={};return!lr(n.localStorage)&&Vs(r)&&(localStorage.removeItem(t),a[mt]=n.localStorage),!lr(n.cookie)&&Js(r)&&(zv(t),a[zt]=n.cookie),!lr(n.sessionStorage)&&Zs(r)&&(sessionStorage.removeItem(t),a[gt]=n.sessionStorage),!lr(n.global)&&Gn(r,Ft)&&(Rr(t),a[Ft]=n.global),a}}function Ws(t){return t?_t(t)?t:t.storage:Ev}function Vs(t){return Uy&&Gn(t,mt)}function Js(t){return Ly&&Gn(t,zt)}function Zs(t){return $y&&Gn(t,gt)}function Ys(t){return t===kv||t==="all"}function Gn(t,e){return t===Ev||t===e||Ys(t)}function un(t,e,r){return{location:t,current:e,previous:r}}var jy={setItem:Pn,getItem:Ht,removeItem:qy};function Ny(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Nd(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 xd(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Nd(Object(r),!0).forEach(function(n){Ny(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Nd(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function xy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:jy};return Ty(xd(xd({},e),t))}const Xs="@sesamy/sesamy-js",Wn="1.60.0";function Dy(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=Fy(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function My(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function Fy(t){return["#","?"].forEach(e=>t=My(t,e)),t}function Ky(){Dy(()=>{ht.page()})}var Zo="up",Yo="down";function zy(t){if(t===void 0&&(t={}),!Ce)return fs;var e=Md(),r=ms(),n=Dd(),a=ln(n,e),i=ln(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return fs;var d=h.map(function(p){return Number(p)}),v=ny(function(){var p=Md(),g=(function(j,F){return F.map(function(D){return D===100?j-5:j*(D/100)})})(p,d),I=ms(),w=Dd(),y=ln(w,p),m=ln(I,p);if(c=y>c?y:c,f=m<f?m:f,!(o.length>=d.length)){var b=l===w,O=Zo;b?O="initial":l<=w&&(O=Yo);var A=g,N=d;(O===Zo||b)&&(A=g.slice().reverse(),N=d.slice().reverse());var H=N.reduce(function(j,F,D){var T=A[D];return u.includes(F)&&w<=T&&(u=u.filter(function(_){return _!==F}),j.singleFunction=F),O===Yo&&!o.includes(F)&&w>=T&&F>i?(s.push(F),j.callbacks=j.callbacks.concat(F),j):O===Zo&&!o.includes(F)&&w<=T&&F<=y?(j.foundFunc=[F],j):(b&&w>=T&&j.foundFunc.length===0&&(j.foundFunc=[F]),!s.includes(F)&&w>=T&&(s.push(F),j.singleFunction?u.push(F):j.singleFunction=F),j)},{foundFunc:[],singleFunction:null,callbacks:[],direction:O});if(l=w,O===Yo&&H.callbacks&&H.callbacks.forEach(function(j){ze(t[j])&&(t[j]({trigger:j,direction:O,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(j))}),H.singleFunction){var V=H.singleFunction,te=H.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 ms(){return Ce?document.body.scrollTop||document.documentElement.scrollTop:0}function Hy(){return Ce?window.innerHeight||document.documentElement.clientHeight:0}function Dd(){return Math.round(ms()+Hy())}function Md(){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 ln(t,e){return Math.round(t/e*100)}var Qs="Event",Fd=Qs+"Listener";function By(t){return function(e,r,n,a){var i=n||fs,o=a||!1;if(!Ce)return i;var s=En(r),u=En(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+Qs);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+Fd:"remove"+Fd,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?Gy(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 En(t,e){if(_t(t))return e?En(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=Xg(t);return e?i.map(function(o){return _t(o)?En(o,!0):o}).flat():i}function Gy(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var Xo=By(Qs);function Bv(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}Bv.bind(null,"onerror");Bv.bind(null,"onload");var Gv=typeof window>"u",Kd="hidden";function Wy(t){if(Gv)return!1;var e=Vy(),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 Vy(){var t=["webkit","moz","ms","o"];return Gv||Kd in document?Kd:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var Jy=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function Zy(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=Wy(function(s){s||r({type:"tabVisible"})});return n=[o].concat(Jy.map(function(s){return Xo(document,s,r)})).concat(Xo(window,"load",r)).concat(Xo(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function Yy(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(jr(h),g),a&&c&&(c=!1,a(jr(r),g),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(jr(h),g))},s)}var p=Zy(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:jr(h,f),idle:c?jr(r,f):0}}}}function jr(t,e){return e?0:Math.round((new Date-t)/1e3)}const zd=5e3;class Xy{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),Yy({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:zd}),zy({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*zd: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 Wv(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function Qy(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 Hd="sesamy_session_id";function ew(){let t=sessionStorage.getItem(Hd);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(Hd,t)),t}function Vv(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 tw(t){return t?Object.fromEntries(Object.entries(t).filter(([e,r])=>r!==void 0)):{}}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"}},Jv=[],Zv=!1,Bt;function Yv(){const t=window.location.pathname;return Jv.find(e=>e.path?t.includes(e.path):!0)}function rw(t,e){Jv=t.content||[];const r=Yv();r&&r.type==="article"&&(Fe={...Fe,...tw(r.selectors)},Zv=r.enablePaywallSettingsUrlFallback||!1),Bt=e}function nw(t,e){const{selector:r}=e;return r===Fe.article.selector?t:t.querySelector(r)}function Xv(t,e){if(t)return e.attribute?e.attribute==="textContent"?t.textContent??void 0:t.getAttribute(e.attribute)??Xv(t.parentElement,e):t.textContent??void 0}function pr(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 Qv({publisherContentId:t,key:e,defaultValue:r=""}){return(t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null)?.getAttribute(e)||pr(`sesamy:${e}`)||pr(`og:${e}`)||pr(e)||r}function aw(){const t=document.querySelectorAll(Fe.article.selector);return Array.from(t).map(Vn).filter(e=>e!==null)}function Vn(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:Vv(e)},n=(i,o,s,u)=>{const l=nw(e,o);if(l){const c=Xv(l,o)||Qv({publisherContentId:s,key:i});c!==void 0&&(r[i]=u?u(c):c)}};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,i=>parseFloat(i)),n("currency",Fe.currency,r.id),n("url",Fe.url,r.id),n("pass",Fe.pass,r.id),n("paywallUrl",Fe.paywallUrl,r.id),n("accessLevel",Fe.accessLevel,r.id,i=>i||"entitlement");const a=Yv();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)),Zv&&!r.paywallUrl){const i=document.querySelector("sesamy-paywall");if(i){const o=i.getAttribute("settings-url");o&&(r.paywallUrl=o)}}return r}async function iw(t){const e=Vn(t);if(!e)throw new Error("Could not find article element");if(e.paywallUrl){const a=(await Bt.paywalls.get(e.paywallUrl)).settings.template==="LOGIN"?"logged-in":"entitlement";if(e.accessLevel=a,a==="logged-in"){const i=await Bt.auth.isAuthenticated();return e.hasAccess=i,e}}if(!e.url)throw new Error("Article must have a URL");const r=await Bt.entitlements.hasAccess(e.url,e.pass?.split(",")||[]);return e.hasAccess=!!r,e.entitlement=r,e}async function ow(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=Vn(r);if(!n?.url)throw new Error("Could not find content for element");const a=await Bt.entitlements.hasAccess(n.url||"",n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await Bt.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||Vv(r.parentElement||r);return Bt.proxy.getContent(i.token,n.url,o)}let ep=!1,mn,kn,gs;function tp(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:gs,requestId:Math.random().toString(36).slice(2,9),sessionId:ew(),timestamp:new Date().toISOString(),version:Wn,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:pr("sesamy:item-src"),publisherContentId:pr("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:Xs,userAgent:navigator.userAgent,clientId:gs}}}))}const rp=Qy(async t=>{if(t.length>0){const e=tp(t);ep?navigator.sendBeacon(kn,e):(await fetch(kn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function Qo(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(kn,tp([e]))}else rp.push(t)}function sw(){return ep=!0,rp.flush()}function cw(t,e,r){mn=e,kn=`${st("logs",r)}/events`,gs=t}const uw={name:"custom-analytics-plugin",page:({payload:t})=>{if(!mn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;Qo({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!mn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;Qo({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!mn)return;const{properties:e,anonymousId:r,userId:n}=t;Qo({anonymousId:r,userId:n,properties:e,type:"identify"})}},Bd=["source","medium","campaign","term","content"],kt="utm_",lw=1800*1e3;function np(t){return t?Date.now()-parseInt(t,10)>lw:!0}function Gd(){const t=document.referrer||"";if(!t)return;const e=Ht(`${kt}set_at`);(np(e)||!Ht(`${kt}referrer`))&&Pn(`${kt}referrer`,t)}function fw(){const t=()=>{const r={};for(const a of Bd){const i=Ht(`${kt}${a}`);i&&(r[`utm_${a}`]=i)}const n=Ht(`${kt}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){Gd()},campaign({payload:r}){const n=r?.campaign||{},a=Ht(`${kt}set_at`);if(Object.keys(n).length>0&&np(a)){for(const o of Bd){const s=n[o];s&&Pn(`${kt}${o}`,s)}Pn(`${kt}set_at`,String(Date.now()))}Gd()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const dw=fw(),Wd=new Map,Vd=new Map;function hw({clientId:t,enabled:e=!0,environment:r}){cw(t,e,r),e&&(window.addEventListener("beforeunload",()=>{Vd.forEach((n,a)=>{n.bind(a)()}),sw()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&Wd.forEach((n,a)=>{n.bind(a)()})}),Ky(),Wv(()=>{const n=new Xy({element:document.body,viewCallback:()=>{ht.page()},activeDurationCallback:(a,i,o)=>{ht.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{ht.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{ht.track("scroll",{scroll:a.scrollMax})}});Vd.set(document.body,()=>{n.flush()}),Wd.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(Be.AUTHENTICATED,async n=>{const a=n;await ht.identify(a.detail.sub)}),window.addEventListener(Be.LOGOUT,async()=>{await ht.track("logout",{}),await ht.reset()}))}const ht=xy({app:Xs,version:Wn,plugins:[dw,uw]});function ap(t,e){ht.track(t,e)}function ip(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});ap(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function vw(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function pw(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function mw(){return/android/i.test(navigator.userAgent)}let Oe,op,Hr,ys=!1,gn=!1;Gr()&&window.addEventListener("pageshow",()=>{gn=!1});const wr="sesamyAccessToken",es="sesamyRefreshToken",_n="sesamySilentAuthThrottle",gw=300*1e3;async function Jn(){return ys?!0:new Promise((t,e)=>{const r=setTimeout(()=>{ys?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(Be.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function yw(t){if(!t)return null;const e=localStorage.getItem(es);if(!e)return le("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(es),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(es,i.refresh_token),localStorage.setItem(wr,i.access_token),i.access_token}catch{rc()}}async function ec(){const t=localStorage.getItem(wr);if(!t)return null;const e=nc(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await yw(e);if(r)return r;localStorage.removeItem(wr)}return t}let fn=null;const ww=64;function bw(){try{if(fn!==null)return fn;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===ww)return fn=!0,!0}}catch(t){le(`Error checking for existing auth0 tokens: ${t.message}`)}return fn=!1,!1}function Sw(t){if(t.domains&&t.domains.length>0){const e=br(window.location.href);if(e){for(const r of t.domains)if(br(`https://${r}`)===e)return le(`Found matching domain in domains array: ${r} for TLD: ${e}`),r;le(`No matching domain found in domains array for TLD: ${e}`)}}if(t.domain)return le(`Using fallback domain property: ${t.domain}`),t.domain}function br(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 Iw(t){if(t.enabled===!1)return;op=t.organization;const e=Sw(t);Hr=e&&!bw()?e:Pv("token",t.environment);const r={domain:Hr,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",br(window.location.href)!==br(`https://${Hr}`)&&(r.useRefreshTokens=!0),le(`Initializing auth0 client: ${JSON.stringify(r)}`),Oe=await kg(r);const n=new URLSearchParams(window.location.search),a=n.get("code"),i=n.get("state");if(a)if(window.opener)le("Code found in URL, posting to opener"),window.opener.postMessage({type:"authorization_response",response:{code:a,state:i}},window.location.origin);else{le("Code found in URL, handling redirect");try{const u=await Oe.handleRedirectCallback();le(`Login result: ${JSON.stringify(u)}`);const l=await Oe.getUser();if(!l)throw le("No user found"),new Error("No user found");le(`User found ${JSON.stringify(l)}`),tc(),Wt(Be.AUTHENTICATED,l),le("Rewrite url")}catch(u){alert("There was an error logging in"),console.error(u)}const o=new URL(location.href),s=o.searchParams;s.delete("code"),s.delete("state"),o.search=s.toString(),window.history.replaceState({},document.title,o.toString())}ys=!0,Wt(Be.AUTH_INITIALIZED,{})}async function Vr(){return await Jn(),await ec()?!0:Oe?Oe.isAuthenticated():!1}async function Pw(){return await Jn(),await ec()?(le("Using local user"),{sub:"local",name:"Local User"}):Oe?Oe.getUser():null}function sp(t){if(gn)return le("Login already in progress"),null;if(gn=!0,setTimeout(()=>{gn=!1},3e3),localStorage.removeItem(wr),!Oe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:op,redirect_uri:window.location.href,ui_locales:Ks(),incognito:Bs(),...e}}}async function Zn(t){const e=sp(t);if(e)return Oe.loginWithRedirect(e)}async function cp(t){const e=sp(t);if(!e)return;await Oe.loginWithPopup(e,{timeoutInSeconds:1800}),tc(),ip(Be.AUTHENTICATED,await Oe.getUser()).canceled||window.location.reload()}async function Ew(t){return Hr&&br(window.location.href)!==br(`https://${Hr}`)&&(pw()||mw()||Bs())?cp(t):Zn(t)}function kw(){try{const t=sessionStorage.getItem(_n);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<gw}catch{return sessionStorage.removeItem(_n),!1}}function _w(){try{const t={timestamp:Date.now()};sessionStorage.setItem(_n,JSON.stringify(t))}catch{le("Failed to set silent auth throttle in sessionStorage")}}function tc(){try{sessionStorage.removeItem(_n)}catch{}}async function qt(t=!0,e=!1){await Jn();const r=await ec();if(r)return r;if(!e&&kw()){if(le("Silent auth is throttled due to recent failures, skipping request"),t)throw new Error("Silent auth throttled");return null}try{if(!Oe)return le("Auth client not initialized"),null;let n=await Oe.getTokenSilently();const a=nc(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await Oe.getTokenSilently({cacheMode:e?"off":"on"})),tc(),n}catch(n){const a=n;if(le(`Failed to get token silently: ${a.message}`),_w(),await Oe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await rc(),t)throw n;return null}}async function rc(t={}){if(await Jn(),localStorage.removeItem(wr),Wt(Be.LOGOUT,{}),!!Oe)return le(`Logout with options: ${JSON.stringify(t)}`),Oe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function nc(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 ws(t){const e=nc(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");le("Set token"),localStorage.setItem(wr,t),Wt(Be.AUTHENTICATED,e)}const Rw=(t,e)=>e.skipDedupe||e.method!=="GET",Tw=(t,e)=>e.method+"@"+t,Ow=t=>t.clone(),Jd=({skip:t=Rw,key:e=Tw,resolver:r=Ow}={})=>{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)}}},Cw=(t,e)=>t*e,Aw=t=>t&&t.ok,Zd=({delayTimer:t=500,delayRamp:e=Cw,maxAttempts:r=10,until:n=Aw,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 I=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))},I)}).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)})};class Br 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,Br)}isClientError(){return this.status>=400&&this.status<500}isServerError(){return this.status>=500}isForbiddenError(){return this.status===403}isNotFoundError(){return this.status===404}}var Rn=(t=>(t.BROWSER="browser",t.NORMAL="normal",t))(Rn||{});const Uw="application/json",up="Content-Type",or=Symbol(),lp=Symbol();function Yd(t={}){var e;const r=t instanceof Array?Object.fromEntries(t):t;return(e=Object.entries(r).find(([n])=>n.toLowerCase()===up.toLowerCase()))===null||e===void 0?void 0:e[1]}function Xd(t){return/^application\/.*json.*/.test(t)}const Gt=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]=Gt(o,i,r):n[a]=i,n},{...t})},Sr={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 $w(t,e=!1){Sr.options=e?t:Gt(Sr.options,t)}function Lw(t,e=!1){Sr.polyfills=e?t:Gt(Sr.polyfills,t)}function qw(t){Sr.errorType=t}const jw=t=>e=>t.reduceRight((r,n)=>n(r),e)||e;class fp extends Error{}const Nw=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=Gt(a.options,n);let f=r;const h=jw(s)((y,m)=>(f=y,a.polyfill("fetch")(y,m)))(r,c),d=new Error,v=h.catch(y=>{throw{[or]:y}}).then(y=>{var m;if(!y.ok){const b=new fp;if(b.cause=d,b.stack=b.stack+`
36
+ CAUSE: `+d.stack,b.response=y,b.status=y.status,b.url=f,y.type==="opaque")throw b;const O=a.errorType==="json"||((m=y.headers.get("Content-Type"))===null||m===void 0?void 0:m.split(";")[0])==="application/json";return(a.errorType?O?y.text():y[a.errorType]():Promise.resolve(y.body)).then(A=>{if(b.message=typeof A=="string"?A:y.statusText,A)if(O&&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,or),O=b?m[or]:m,A=O?.status&&l.get(O.status)||l.get(O?.name)||b&&l.has(or)&&l.get(or);if(A)return A(O,t);const N=l.get(lp);if(N)return N(O,t);throw O}),g=y=>m=>p(y?v.then(b=>b&&b[y]()).then(b=>m?m(b):b):v.then(b=>m?m(b):b)),I={_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(or,y)}},w=u.reduce((y,m)=>({...y,...typeof m.resolver=="function"?m.resolver(y):m.resolver}),I);return o.reduce((y,m)=>m(y,t),w)},xw={_url:"",_options:{},_config:Sr,_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:Gt(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:Gt(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:Gt(this._options,{headers:e})}},accept(t){return this.headers({Accept:t})},content(t){return this.headers({[up]: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(lp,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=Yd(n._options.headers),i=this._config.polyfill("FormData",!1),o=typeof r=="object"&&!(i&&r instanceof i)&&(!n._options.headers||!a||Xd(a));return n=r?o?n.json(r,a):n.body(r):n,Nw(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=Yd(this._options.headers);return this.content(e||Xd(r)&&r||Uw).body(JSON.stringify(t))}};function rt(t="",e={}){return{...xw,_url:t,_options:e}}rt.default=rt;rt.options=$w;rt.errorType=qw;rt.polyfills=Lw;rt.WretchError=fp;const Dw=(t,e)=>e.skipDedupe||e.method!=="GET",Mw=(t,e)=>e.method+"@"+t,Fw=t=>t.clone(),Kw=({skip:t=Dw,key:e=Mw,resolver:r=Fw}={})=>{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)}}},zw=(t,e)=>e.skipCache||e.method!=="GET",Hw=(t,e)=>e.method+"@"+t,Bw=()=>!1,Gw=()=>null,Ww=t=>t.ok,Vw=({throttle:t=1e3,skip:e=zw,key:r=Hw,clear:n=Bw,invalidate:a=Gw,condition:i=Ww,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(I=>{typeof I=="string"?s.delete(I):I instanceof RegExp&&s.forEach((w,y)=>{I.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 I=s.get(p).clone();return o&&Object.defineProperty(I,o,{value:p,enumerable:!1}),Promise.resolve(I)}else if(u.has(p))return new Promise((I,w)=>{u.get(p).push([I,w])})}return u.has(p)||u.set(p,[]),c(p),h(d,v).then(I=>(i(I.clone())&&s.set(p,I.clone()),u.get(p).forEach(([w])=>w(I.clone())),u.delete(p),I)).catch(I=>{throw u.get(p).forEach(([,w])=>w(I)),u.delete(p),I})};return f.cacheResponse=function(h,d){c(h),s.set(h,d)},f.cache=s,f.inflight=u,f.throttling=l,f},Jw=(t,e)=>t*e,Zw=t=>t&&t.ok,Yw=({delayTimer:t=500,delayRamp:e=Jw,maxAttempts:r=10,until:n=Zw,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 I=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))},I)}).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)})},Xw="@sesamy/sdk",Qw="1.15.0";class eb{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 Mr="sesamyCacheTimestamp",tb=t=>{const{libraryName:e=Xw,libraryVersion:r=Qw,cache:n}=t,a=n?.storage||new eb,i=[s=>async(u,l)=>{if(n?.mode===Rn.BROWSER){let c;typeof sessionStorage<"u"?(c=sessionStorage.getItem(Mr),c||(c=Date.now().toString(),sessionStorage.setItem(Mr,c))):(c=a.get(Mr),c||(c=Date.now().toString(),a.set(Mr,c)));const f={...l,headers:{...l.headers,"Cache-Timestamp":c}};return s(u,f)}return s(u,l)},s=>async(u,l)=>{const c=l.skipAuth===!0,f={...l};if(delete f.skipAuth,c)return s(u,f);const h=await t.tokenProvider(),d={...f,headers:{...f.headers,Authorization:`Bearer ${h}`}};return s(u,d)},Kw()];n?.mode===Rn.NORMAL&&i.push(Vw({throttle:300*1e3,skip:(s,u)=>u.method!=="GET"})),i.push(Yw({delayTimer:1e3,delayRamp:(s,u)=>s*u,maxAttempts:3,until:s=>!!(s&&(s.ok||s.status>=400&&s.status<500)),retryOnNetworkError:!1}));const o=rt(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.skipAuth&&(f.skipAuth=!0);const h=(u.method||"GET").toLowerCase();let d;switch(h){case"get":d=c.options(f).get();break;case"post":d=c.options(f).post(u.body?JSON.parse(u.body):void 0);break;case"put":d=c.options(f).put(u.body?JSON.parse(u.body):void 0);break;case"patch":d=c.options(f).patch(u.body?JSON.parse(u.body):void 0);break;case"delete":d=c.options(f).delete();break;default:d=c.options(f).get()}const v=await d.res();if(v.ok&&["post","patch","put","delete"].includes(h)&&ut(),v.status===204)return null;if(!v.ok){const p=await v.text().catch(()=>"Unknown error");throw new Br(v.status,v.statusText,v.url,`API Error ${v.status}: ${p}`,p)}return await v.json()}catch(l){if(l instanceof Br)throw l;const c=l.status||500,f=l.message||"Unknown error",h=`${t.baseUrl}${s}`;throw new Br(c,f,h,`API Error ${c}: ${l.message||"Unknown error"}`,l.message||"Unknown error")}}}},ut=()=>(typeof sessionStorage<"u"&&sessionStorage.removeItem(Mr),"Cache cleared"),Nr={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"})}},ts={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`)},Qd={list:async t=>t.request("/subscriptions"),get:async(t,e)=>t.request(`/subscriptions/${e}`)},eh={get:async(t,e)=>t.request(`/products/${e}`),autoOnboard:async(t,e)=>t.request(`/products/${e}/auto-onboard`,{method:"POST"})},xr={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"})},rs={get:async t=>t.request("/user-metadata"),set:async(t,e,r)=>{await t.request(`/user-metadata/${e}`,{method:"PUT",body:JSON.stringify({value:r})})},delete:async(t,e)=>{await t.request(`/user-metadata/${e}`,{method:"DELETE"})}},dn={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)})},ns={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"})}},sr={generateCheckoutLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkout`);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(`meta-${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()}},as={generateLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkout`);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(`meta-${n}`,a)}),r.toString()},create:async(t,e)=>t.request("/checkout",{method:"POST",body:JSON.stringify(e),skipAuth:!0}),get:async(t,e)=>t.request(`/checkout/${e}`,{skipAuth:!0}),update:async(t,e,r)=>t.request(`/checkout/${e}`,{method:"PATCH",body:JSON.stringify(r),skipAuth:!0})},th={list:async t=>t.request("/bills"),get:async(t,e)=>t.request(`/bills/${e}`)},rh={list:async t=>t.request("/fulfillments"),create:async(t,e)=>t.request("/fulfillments",{method:"POST",body:JSON.stringify(e)})},rb={get:async(t,e)=>{try{return new URL(e),t.request(e)}catch{return t.request(`/paywalls/${e}`)}}},nb={list:async t=>t.request("/payment-issues")},ab={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)}},ib={list:async(t,e)=>{const r=(e?new URLSearchParams({q:e}):new URLSearchParams).toString(),n=r?`/transactions?${r}`:"/transactions";return t.request(n)}},nh={get:async t=>t.request("/vendor"),list:async t=>t.request("/vendors")},ob=t=>{const e=tb(t);return{profile:{get:r=>Nr.get(e,r),update:(r,n)=>Nr.update(e,r,n),checkSpotifyLink:()=>Nr.checkSpotifyLink(e),unlinkSpotify:()=>Nr.unlinkSpotify(e),delete:()=>Nr.delete(e)},entitlements:{list:r=>ts.list(e,r),get:r=>ts.get(e,r),getAccess:r=>ts.getAccess(e,r)},subscriptions:{list:()=>Qd.list(e),get:r=>Qd.get(e,r)},products:{get:r=>eh.get(e,r),autoOnboard:r=>eh.autoOnboard(e,r)},contracts:{list:()=>xr.list(e),get:r=>xr.get(e,r),cancel:r=>xr.cancel(e,r),createAmendment:(r,n)=>xr.createAmendment(e,r,n),confirmAmendment:(r,n)=>xr.confirmAmendment(e,r,n)},userMetadata:{get:()=>rs.get(e),set:(r,n)=>rs.set(e,r,n),delete:r=>rs.delete(e,r)},tallies:{list:()=>dn.list(e),get:r=>dn.get(e,r),update:(r,n)=>dn.update(e,r,n),create:r=>dn.create(e,r)},tags:{list:()=>ns.list(e),add:r=>ns.add(e,r),remove:r=>ns.remove(e,r)},checkouts:{generateLink:(r,n)=>sr.generateCheckoutLink(r,n),create:r=>as.create(e,r),get:r=>as.get(e,r),update:(r,n)=>as.update(e,r,n)},links:{generateCheckoutLink:(r,n)=>sr.generateCheckoutLink(r,n),generateAccountLink:(r,n)=>sr.generateAccountLink(r,n),generateChangePaymentLink:(r,n)=>sr.generateChangePaymentLink(r,n),generateChangePlanLink:(r,n)=>sr.generateChangePlanLink(r,n),generateConsumeLink:(r,n)=>sr.generateConsumeLink(r,n)},bills:{list:()=>th.list(e),get:r=>th.get(e,r)},fulfillments:{list:()=>rh.list(e),create:r=>rh.create(e,r)},paywalls:{get:r=>rb.get(e,r)},paymentIssues:{list:()=>nb.list(e)},proxy:{content:(r,n,a,i)=>ab.content(e,r,n,a,i)},transactions:{list:r=>ib.list(e,r)},vendor:{get:()=>nh.get(e),list:()=>nh.list(e)}}};class sb{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 bs(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function dp(t,e){if(bs(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 ah(t){return t.endsWith("/")?t.slice(0,-1):t}function ih(t,e){if(!bs(t)||!bs(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&ah(r.pathname)===ah(n.pathname)}function cb(t,e,r){const n=new URL(`${st("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=dp(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(`meta-${c}`,String(f))}),n}const hp="sesamySignedURLs";function ac(){const t=sessionStorage.getItem(hp);return t?JSON.parse(t):[]}function ub(t){const e=ac();e.push(t),le(`Adding signed URL: ${t}`),sessionStorage.setItem(hp,JSON.stringify(e))}function lb(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const Ss="sesamyAttribution";function fb(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 db(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function ic(){return fb(Ss)||{}}function vp(t){if(t===null)localStorage.removeItem(Ss);else{le(`Setting attribution ${JSON.stringify(t)}`);const e=ic()??{},r=lb({...e,...db(t)});localStorage.setItem(Ss,JSON.stringify({value:r}))}}function hb(t){const e=t.endpoint||st("api2",t.environment),n=ob({baseUrl:e,tokenProvider:async()=>{const _=await qt(!0);if(!_)throw new Error("No access token available");return _},libraryName:Xs,libraryVersion:Wn,vendorId:t.vendorId,cache:{mode:Rn.BROWSER,storage:new sb}}),a=_=>async($,q)=>{let S=sessionStorage.getItem(pd);S||(S=Date.now().toString(),sessionStorage.setItem(pd,S));const k={...q,headers:{...q.headers,"Cache-Timestamp":S}};return _($,k)},i=(_=!0)=>$=>async(q,S)=>{let k=null;if(k=await qt(_),!k){if(_)throw new Error("No access token available");return $(q,S)}const x={...S,headers:{...S.headers,...k?{Authorization:`Bearer ${k}`}:{}}};return $(q,x)},o=_=>($,q)=>{if(q.headers&&"Authorization"in q.headers)return _($,q);const S=localStorage.getItem("__anon_id"),k=btoa(`${t.clientId}|${S}:`),x={...q,headers:{...q.headers,Authorization:`Basic ${k}`}};return _($,x)},s=rt(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),Jd(),Zd({delayTimer:1e3,delayRamp:(_,$)=>_*$,maxAttempts:3,until:_=>!!(_&&(_.ok||_.status>=400&&_.status<500)),retryOnNetworkError:!1})]),u=rt(e).headers({"Content-Type":"application/json"}).middlewares([a,o,Jd(),Zd({delayTimer:1e3,delayRamp:(_,$)=>_*$,maxAttempts:3,until:_=>!!(_&&(_.ok||_.status>=400&&_.status<500)),retryOnNetworkError:!1})]);async function l(_={}){const{waitForEntitlementAfter:$,includeSignedLinks:q=!0}=_,S=await Vr()?await n.entitlements.list({waitForEntitlementAfter:$?.toISOString()}):[];return q&&S.push(...ac()),S}async function c(_,$=[]){return(await l())?.find(k=>{if(_){const{sku:x,purchaseOption:z}=dp(_);if("sku"in k&&x===k.sku||z&&"purchaseOptionsId"in k&&z===k.purchaseOptionsId||ih(_,k.url))return!0}return!!$.some(x=>ih(x,k.url))})}async function f(_,$,q){const S=new URL(st("api2",t.environment));return S.pathname="/proxy",S.searchParams.set("url",$),q&&S.searchParams.set("selector",q),rt(S.toString()).headers({Authorization:`Bearer ${_}`}).get().text()}async function h(_){if(!_)throw new Error("SKU is required to get fulfillments");return await Vr()?await s.get(`/fulfillments?sku=${encodeURIComponent(_)}`).json():[]}async function d(_,$){if(!_||!$)throw new Error("SKU and itemId are required to request delivery");return(await s.post({sku:_},`/fulfillments/${encodeURIComponent($)}/request-delivery?`).res()).ok}async function v(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),s.get("/subscriptions").json()}async function p(_){return(await n.transactions.list())?.find(q=>q.id===_)}async function g(){return await s.url("/tags").get().json()}async function I(_){const $=await s.url(`/tags/${encodeURIComponent(_)}`).delete().res();return ut(),$.ok}async function w(_){const $=await s.url("/tags").post(encodeURIComponent(_)).res();return Wt(Be.USER_ATTRIBUTE_CHANGED,{}),ut(),$.ok}async function y(_){return(await u.url("/tallies").get().json())[_]}async function m(){return await u.url("/tallies").get().json()}async function b(_){const $=await u.url(`/tallies/${_}`).delete().res();return ut(),$.ok}async function O(_,$){return await u.url(`/tallies/${encodeURIComponent(_)}/push`).post($).json()}async function A(){return await qt(!1)?await s.url("/profile").get().json():null}async function N(_){const $=await s.url("/profile").patch(_).res();return ut(),$.ok}async function H(){return(await s.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function V(){return(await s.url("/profile/unlink-spotify").post().res()).ok}async function te(_){const $=await qt(!1);if(!$)throw new Error("No access token available");const q=new URL(`${st("access-sync",t.environment)}/spotify/sesamy-callback`);q.searchParams.set("access_token",$),q.searchParams.set("state",_),window.location.href=q.toString()}async function j(_){const $=await s.url(`/products/${encodeURIComponent(_)}/auto-onboard`).post().json();return $.length&&ut(),$}async function F(_,$=3600){const{shortlink:q}=await rt(Tg).post({url:_,ttl:$}).json();return q}async function D(_){const $=await qt(!1,!0);let q;const S=_.language||Ks(),k=ic();switch(_.target){case"account":q=new URL(`${st("account",t.environment)}/${encodeURIComponent(_.language||S)}/subscriptions/${encodeURIComponent(t.clientId)}${_.contractId?`/${encodeURIComponent(_.contractId)}`:""}`),q.searchParams.set("sesamy-redirect-url",_.redirectUrl||window.location.href);break;case"change-payment":q=new URL(`${st("account",t.environment)}/${encodeURIComponent(_.language||S)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(_.contractId)}/change-payment-method`),q.searchParams.set("sesamy-redirect-url",_.redirectUrl||window.location.href);break;case"change-plan":q=new URL(`${st("account",t.environment)}/${encodeURIComponent(_.language||S)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(_.contractId)}/edit-plan`),q.searchParams.set("sesamy-redirect-url",_.redirectUrl||window.location.href);break;case"consume":q=new URL(`${st("consume",t.environment)}/${encodeURIComponent(_.language||S)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(_.sku)}`),_.episodeId?q.href+=`/${_.episodeId}`:q.href+="/listen",q.searchParams.set("sesamy-redirect-url",_.redirectUrl||window.location.href);break;case"checkout":q=cb(t,{language:S,..._},k);break;default:throw new Error("Invalid target")}return $&&(q.hash=`#access_token=${$}`),_.shorten?F(q.href,_.ttl):q.href}async function T(){const _=await qt(!1),$=new URL(`${st("account",t.environment)}/subscriptions/${t.clientId}`);_&&($.hash=`#access_token=${_}`),window.location.href=$.toString()}return{autoOnboardProduct:j,bills:n.bills,checkouts:n.checkouts,contracts:n.contracts,deleteTag:I,deleteTally:b,entitlements:n.entitlements,generateLink:D,getProxyContent:f,getEntitlements:l,getFulfillments:h,requestDelivery:d,hasAccess:c,isSpotifyLinked:H,linkSpotify:te,openHostedAccountPage:T,paywalls:n.paywalls,paymentIssues:n.paymentIssues,getProfile:A,products:n.products,getSubscriptions:v,getTally:y,getTallies:m,getTags:g,getTransaction:p,transactions:n.transactions,userMetadata:n.userMetadata,pushTally:O,setTag:w,unlinkSpotify:V,updateProfile:N,vendor:n.vendor}}const vb=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function pb(){return new Promise(t=>{const e=vb.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 mb(){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}}const pp="sesamyFlags";async function mp(t){try{localStorage.setItem(pp,JSON.stringify(t))}catch{le("Failed to save flags to localStorage")}}async function gb(t,e){const r=await Yn();r[t]=e,await mp(r)}async function yb(t){return(await Yn())[t]}async function wb(t){const e=await Yn();t in e&&(delete e[t],await mp(e))}async function Yn(){try{const t=localStorage.getItem(pp);return t?JSON.parse(t):{}}catch{return{}}}function bb(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:I,hasAccess:w,isSpotifyLinked:y,linkSpotify:m,openHostedAccountPage:b,paywalls:O,paymentIssues:A,products:N,pushTally:H,requestDelivery:V,setTag:te,transactions:j,unlinkSpotify:F,updateProfile:D,userMetadata:T,vendor:_}=hb(t),$={analytics:{track:ap},attribution:{get:ic,set:vp},auth:{getUser:f,getTokenSilently:qt,isAuthenticated:Vr,loginWithRedirect:Zn,loginWithPopup:cp,login:Ew,logout:rc,setToken:ws},bills:r,browser:{detectAdblock:pb,isInAppBrowser:mb,isIncognito:Bs},checkouts:n,clearCache:ut,content:{list:aw,get:Vn,getLanguage:Ks,hasAccess:iw,unlock:ow,getPropertyFromHTML:Qv},contracts:a,entitlements:{...s,access:s.getAccess,hasAccess:w,list:l,signedLinks:ac},events:{emit:ip,cancel:vw},flags:{get:yb,set:gb,list:Yn,delete:wb},fulfillments:{list:c,requestDelivery:V},generateLink:u,getVersion:Sb,isReady:()=>exports.isInitialized,log:le,paywalls:O,paymentIssues:A,products:{...N,autoOnboard:e,linkSpotify:m},profile:{get:f,isSpotifyLinked:y,openHostedAccountPage:b,unlinkSpotify:F,update:D},proxy:{getContent:h},subscriptions:{list:d},tags:{delete:i,list:v,set:te},tallies:{delete:o,get:p,list:g,push:H},transactions:{...j,get:I},userMetadata:T,vendor:_,setToken:ws};return t.namespace&&(window[t.namespace]=$),$}function Sb(){return Wn}function Ib(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;
@@ -32,8 +32,8 @@ var sesamyJs=(function(ft){"use strict";var cc=typeof globalThis<"u"?globalThis:
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:()=>Cg,k:()=>vs});var Kr=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())})},zr=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 vs(){return Kr(this,void 0,Promise,function(){return zr(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 Kr(this,void 0,void 0,function(){var h,d;return zr(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 Kr(this,void 0,Promise,function(){return zr(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 I=g.target.result,w=function(y){i(y)};try{I.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{I.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,I,w,y=window;return(w=(I=(g=y?.performance)===null||g===void 0?void 0:g.memory)===null||I===void 0?void 0:I.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 Kr(this,void 0,Promise,function(){var d,v,p;return zr(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(I){p.error&&p.error.name==="InvalidStateError"&&I.preventDefault(),i(!0)},p.onsuccess=function(){indexedDB.deleteDatabase("inPrivate"),i(!1)},g.label=6;case 6:return[2]}})})}(function(){return Kr(this,void 0,Promise,function(){return zr(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=vs);const Cg=vs;hs.A;const Ag=hs.k,Pn="sesamy_incognito_mode";function ps(){try{const t=sessionStorage.getItem(Pn);return t===null?void 0:t==="true"}catch{return}}async function Ug(){try{const t=sessionStorage.getItem(Pn);if(t!==null)return t==="true";const{isPrivate:e}=await Ag();return sessionStorage.setItem(Pn,e.toString()),e}catch{try{sessionStorage.setItem(Pn,"false")}catch{}return!1}}function Hr(){return typeof window<"u"}function hh(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 $g="function",Lg="string",tt="undefined",qg="boolean",En="object",jg="array",Ng="number",xg="symbol",Dg="null",ms=function(){},vh="any",ph="*",Dt="__",Mg="form",Fg="input",Kg="button",zg="select",kn=typeof process!==tt?process:{};kn.env&&kn.env.NODE_ENV;var Te=typeof document!==tt;kn.versions!=null&&kn.versions.node!=null,typeof Deno!==tt&&Deno.core,Te&&window.name==="nodejs"||typeof navigator!==tt&&typeof navigator.userAgent!==tt&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function mh(t,e){return e.charAt(0)[t]()+e.slice(1)}var Hg=mh.bind(null,"toUpperCase"),Bg=mh.bind(null,"toLowerCase");function Gg(t){return gh(t)?Hg(Dg):typeof t===En?Zg(t):Object.prototype.toString.call(t).slice(8,-1)}function _n(t,e){e===void 0&&(e=!0);var r=Gg(t);return e?Bg(r):r}function Br(t,e){return typeof e===t}var De=Br.bind(null,$g),It=Br.bind(null,Lg),cr=Br.bind(null,tt),Wg=Br.bind(null,qg);Br.bind(null,xg);function gh(t){return t===null}function Vg(t){return _n(t)===Ng&&!isNaN(t)}function yh(t){return _n(t)===jg}function Me(t){if(!Jg(t))return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function Jg(t){return t&&(typeof t===En||t!==null)}function Zg(t){return De(t.constructor)?t.constructor.name:null}function Yg(t){return t instanceof Error||It(t.message)&&t.constructor&&Vg(t.constructor.stackTraceLimit)}function wh(t,e){if(typeof e!="object"||gh(e))return!1;if(e instanceof t)return!0;var r=_n(new t(""));if(Yg(e))for(;e;){if(_n(e)===r)return!0;e=Object.getPrototypeOf(e)}return!1}wh.bind(null,TypeError),wh.bind(null,SyntaxError);function Rn(t,e){var r=t instanceof Element||t instanceof HTMLDocument;return r&&e?Xg(t,e):r}function Xg(t,e){return e===void 0&&(e=""),t&&t.nodeName===e.toUpperCase()}function Tn(t){var e=[].slice.call(arguments,1);return function(){return t.apply(void 0,[].slice.call(arguments).concat(e))}}Tn(Rn,Mg),Tn(Rn,Kg),Tn(Rn,Fg),Tn(Rn,zg);function Qg(t){return t?yh(t)?t:[t]:[]}function bh(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch{return null}}function ey(){if(Te){var t=navigator,e=t.languages;return t.userLanguage||(e&&e.length?e[0]:t.language)}}function ty(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function ry(t){return(function(e){for(var r,n=Object.create(null),a=/([^&=]+)=?([^&]*)/g;r=a.exec(e);){var i=bh(r[1]),o=bh(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&&(ny(n,l.map(function(c){return c.replace(/[?[\]\\ ]/g,"")}),n[u]),delete n[u])}return n})((function(e){return Te&&window.location.search.substring(1)})())}function ny(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 On(){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 ay(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 Mt="global",ur=Dt+Mt+Dt,lr=typeof self===En&&self.self===self&&self||typeof global===En&&global[Mt]===global&&global||void 0;function Ft(t){return lr[ur][t]}function Kt(t,e){return lr[ur][t]=e}function fr(t){delete lr[ur][t]}function dr(t,e,r){var n;try{if(gs(t)){var a=window[t];n=a[e].bind(a)}}catch{}return n||r}lr[ur]||(lr[ur]={});var Cn={};function gs(t){if(typeof Cn[t]!==tt)return Cn[t];try{var e=window[t];e.setItem(tt,tt),e.removeItem(tt)}catch{return Cn[t]=!1}return Cn[t]=!0}function Q(){return Q=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},Q.apply(null,arguments)}var Pt="function",mt="undefined",Gr="reducer",Sh="@@redux/",ys=Sh+"INIT",iy=Sh+Math.random().toString(36),Ih=(function(){return typeof Symbol===Pt&&Symbol.observable||"@@observable"})(),An=" != "+Pt;function Ph(t,e,r){var n;if(typeof e===Pt&&typeof r===mt&&(r=e,e=void 0),typeof r!==mt){if(typeof r!==Pt)throw new Error("enhancer"+An);return r(Ph)(t,e)}if(typeof t!==Pt)throw new Error(Gr+An);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!==Pt)throw new Error("Listener"+An);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(!Me(d))throw new Error("Act != obj");if(typeof d.type===mt)throw new Error("ActType "+mt);if(u)throw new Error("Dispatch in "+Gr);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!==Pt)throw new Error("next "+Gr+An);a=d,h({type:ys})}})[Ih]=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)}}})[Ih]=function(){return this},d},n}function oy(t,e){var r=e&&e.type;return"action "+(r&&r.toString()||"?")+Gr+" "+t+" returns "+mt}function hr(){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 sy(){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)}),Q({},o,{dispatch:s=hr.apply(void 0,i)(o.dispatch)})}}}var Et=Dt+"anon_id",zt=Dt+"user_id",vr=Dt+"user_traits",ws="analytics",kt="userId",pr="anonymousId",Un=["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"],ee=Un.reduce(function(t,e){return t[e]=e,t},{registerPluginType:function(t){return"registerPlugin:"+t},pluginReadyType:function(t){return"ready:"+t}}),Eh=/^utm_/,kh=/^an_prop_/,_h=/^an_trait_/;function cy(t){var e=t.storage.setItem;return function(r){return function(n){return function(a){if(a.type===ee.bootstrap){var i=a.params,o=a.user,s=a.persistedUser,u=a.initialUser,l=s.userId===o.userId;s.anonymousId!==o.anonymousId&&e(Et,o.anonymousId),l||e(zt,o.userId),u.traits&&e(vr,Q({},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(Eh)||p.match(/^(d|g)clid/)){var g=p.replace(Eh,"");v.campaign[g==="campaign"?"name":g]=i[p]}return p.match(kh)&&(v.props[p.replace(kh,"")]=i[p]),p.match(_h)&&(v.traits[p.replace(_h,"")]=i[p]),v},{campaign:{},props:{},traits:{}});r.dispatch(Q({type:ee.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:ee.campaign,campaign:d.campaign})}}return n(a)}}}}function uy(t){return function(e,r){if(e===void 0&&(e={}),r===void 0&&(r={}),r.type===ee.setItemEnd){if(r.key===Et)return Q({},e,{anonymousId:r.value});if(r.key===zt)return Q({},e,{userId:r.value})}switch(r.type){case ee.identify:return Object.assign({},e,{userId:r.userId,traits:Q({},e.traits,r.traits)});case ee.reset:return[zt,Et,vr].forEach(function(n){t.removeItem(n)}),Object.assign({},e,{userId:null,anonymousId:null,traits:{}});default:return e}}}function Rh(t){return{userId:t.getItem(zt),anonymousId:t.getItem(Et),traits:t.getItem(vr)}}var Ss=function(t){return Dt+"TEMP"+Dt+t};function ly(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===ee.reset&&([zt,vr,Et].forEach(function(d){n(d)}),[kt,pr,"traits"].forEach(function(d){fr(Ss(d))})),s.type===ee.identify){a(Et)||r(Et,On());var f=a(zt),h=a(vr)||{};f&&f!==u&&i.dispatch({type:ee.userIdChanged,old:{userId:f,traits:h},new:{userId:u,traits:l},options:c}),u&&r(zt,u),l&&r(vr,Q({},h,l))}return o(s)}}}}var Wr={};function Th(t,e){Wr[t]&&De(Wr[t])&&(Wr[t](e),delete Wr[t])}function Oh(t,e,r){return new Promise(function(n,a){return e()?n(t):r<1?a(Q({},t,{queue:!0})):new Promise(function(i){return setTimeout(i,10)}).then(function(i){return Oh(t,e,r-10).then(n,a)})})}function fy(t){return{abort:t}}function Ch(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&&De(p)){var g,I=(function(m,b){return m===void 0&&(m={}),b===void 0&&(b={}),[kt,pr].reduce(function(O,A){return m.hasOwnProperty(A)&&b[A]&&b[A]!==m[A]&&(O[A]=b[A]),O},m)})(h.payload,u),w=n[I.meta.rid];if(!w&&(g=p({payload:I,config:o[d].config,instance:r,abort:fy}))&&Me(g)&&g.abort)return void(n[I.meta.rid]=!0);if(!w){var y=v+":"+d;t.dispatch(Q({},I,{type:y,_:{called:y,from:"queueDrain"}}))}}});var c=s.actions.filter(function(f,h){return!~l.processIndex.indexOf(h)});s.actions=c}}}var Is=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,I){return function(w,y,m){var b=y.config,O=y.name,A=O+"."+w.type;m&&(A=m.event);var N=w.type.match(mr)?(function(H,V,te,j,F){return function(D,T){var _=j?j.name:H,$=T&&Vr(T)?T:te;if(j&&(!($=T&&Vr(T)?T:[H]).includes(H)||$.length!==1))throw new Error("Method "+V+" can only abort "+H+" plugin. "+JSON.stringify($)+" input valid");return Q({},F,{abort:{reason:D,plugins:$,caller:V,_}})}})(O,A,I,m,w):(function(H,V){return function(){throw new Error(H.type+" action not cancellable. Remove abort in "+V)}})(w,A);return{payload:dy(w),instance:g,config:b||{},abort:N}}})(n,d),p=e.exact.reduce(function(g,I){var w=I.pluginName,y=I.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,I,w){var y=I.pluginName;return Promise.resolve(g).then(function(m){function b(){return Promise.resolve(m)}var O=(function(){if(e.namespaced&&e.namespaced[y])return Promise.resolve(e.namespaced[y].reduce(function(A,N,H){return Promise.resolve(A).then(function(V){return N.method&&De(N.method)?((function(D,T){var _=xh(D);if(_&&_.name===T){var $=xh(_.method);throw new Error([T+" plugin is calling method "+D,"Plugins cant call self","Use "+_.method+" "+($?"or "+$.method:"")+" in "+T+" plugin insteadof "+D].join(`
35
- `))}})(N.methodName,N.pluginName),Promise.resolve(N.method({payload:V,instance:n,abort:(te=V,j=y,F=N.pluginName,function(D,T){return Q({},te,{abort:{reason:D,plugins:T||[j],caller:f,from:F||j}})}),config:$h(N.pluginName,l,i),plugins:l})).then(function(D){var T=Me(D)?D:{};return Promise.resolve(Q({},V,T))})):V;var te,j,F})},Promise.resolve(r))).then(function(A){m[y]=A});m[y]=r})();return O&&O.then?O.then(b):b()})},Promise.resolve({}))).then(function(g){return Promise.resolve(e.exact.reduce(function(I,w,y){try{var m=e.exact.length===y+1,b=w.pluginName,O=i[b];return Promise.resolve(I).then(function(A){var N=g[b]?g[b]:{};if(h&&(N=A),Es(N,b))return Ps({data:N,method:f,instance:n,pluginName:b,store:s}),Promise.resolve(A);if(Es(A,b))return m&&Ps({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:N,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(A);var H=v(g[b],i[b]);return Promise.resolve(O[f]({abort:H.abort,payload:N,instance:n,config:$h(b,l,i),plugins:l})).then(function(V){var te=Me(V)?V:{},j=Q({},A,te),F=g[b];if(Es(F,b))Ps({data:F,method:f,instance:n,pluginName:b,store:s});else{var D=f+":"+b;(D.match(/:/g)||[]).length<2&&!f.match(Ah)&&!f.match(Uh)&&n.dispatch(Q({},h?j:N,{type:D,_:{called:D,from:"submethod"}}))}return Promise.resolve(j)})})}catch(A){return Promise.reject(A)}},Promise.resolve(r))).then(function(I){if(!(f.match(mr)||f.match(/^registerPlugin/)||f.match(Uh)||f.match(Ah)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),I._&&I._.originalAction===f)return I;var w=Q({},I,{_:{originalAction:I.type,called:I.type,from:"engineEnd"}});jh(I,e.exact.length)&&!f.match(/End$/)&&(w=Q({},w,{type:I.type+"Aborted"})),s.dispatch(w)}return I})})}catch(g){return Promise.reject(g)}},mr=/Start$/,Ah=/^bootstrap/,Uh=/^ready/;function Ps(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(Q({},t.data,{type:r,_:{called:r,from:"abort"}}))}function $h(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function Lh(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function qh(t,e){var r=t.replace(mr,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function Es(t,e){var r=t.abort;return!!r&&(r===!0||Nh(r,e)||r&&Nh(r.plugins,e))}function jh(t,e){var r=t.abort;if(!r)return!1;if(r===!0||It(r))return!0;var n=r.plugins;return Vr(r)&&r.length===e||Vr(n)&&n.length===e}function Vr(t){return Array.isArray(t)}function Nh(t,e){return!(!t||!Vr(t))&&t.includes(e)}function xh(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function dy(t){return Object.keys(t).reduce(function(e,r){return r==="type"||(e[r]=Me(t[r])?Object.assign({},t[r]):t[r]),e},{})}function hy(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===ee.enablePlugin&&a.dispatch({type:ee.initializeStart,plugins:c,disabled:[],fromEnable:!0,meta:o.meta}),l===ee.disablePlugin&&setTimeout(function(){return Th(o.meta.rid,{payload:o})},0),l===ee.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=[],I=o.disabled,w=v.map(function(m){var b=m.loaded,O=m.name,A=m.config;return Oh(m,function(){return b({config:A})},1e4).then(function(N){return n[O]||(a.dispatch({type:ee.pluginReadyType(O),name:O,events:Object.keys(m).filter(function(H){return!bs.includes(H)})}),n[O]=!0),p=p.concat(O),m}).catch(function(N){if(N instanceof Error)throw new Error(N);return g=g.concat(N.name),N})});Promise.all(w).then(function(m){var b={plugins:p,failed:g,disabled:I};setTimeout(function(){d.length===w.length+I.length&&a.dispatch(Q({},{type:ee.ready},b))},0)})}var y=(function(){if(l!==ee.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return Ch(a,e,t)},0),Promise.resolve((function(m,b,O,A,N){try{var H=De(b)?b():b,V=m.type,te=V.replace(mr,"");if(m._&&m._.called)return Promise.resolve(m);var j=O.getState(),F=(_=H,($=j.plugins)===void 0&&($={}),(q=m.options)===void 0&&(q={}),Object.keys(_).filter(function(S){var k=q.plugins||{};return Wg(k[S])?k[S]:k.all!==!1&&(!$[S]||$[S].enabled!==!1)}).map(function(S){return _[S]}));V===ee.initializeStart&&m.fromEnable&&(F=Object.keys(j.plugins).filter(function(S){var k=j.plugins[S];return m.plugins.includes(S)&&!k.initialized}).map(function(S){return H[S]}));var D=F.map(function(S){return S.name}),T=(function(S,k){var x=qh(S).map(function(z){return Lh(z,k)});return k.reduce(function(z,Y){var J=Y.name,fe=qh(S,J).map(function(Ce){return Lh(Ce,k)}),ne=fe[0],ue=fe[1],ae=fe[2];return ne.length&&(z.beforeNS[J]=ne),ue.length&&(z.duringNS[J]=ue),ae.length&&(z.afterNS[J]=ae),z},{before:x[0],beforeNS:{},during:x[1],duringNS:{},after:x[2],afterNS:{}})})(V,F);return Promise.resolve(Is({action:m,data:{exact:T.before,namespaced:T.beforeNS},state:j,allPlugins:H,allMatches:T,instance:O,store:A,EVENTS:N})).then(function(S){function k(){var Y=(function(){if(V.match(mr))return Promise.resolve(Is({action:Q({},x,{type:te+"End"}),data:{exact:T.after,namespaced:T.afterNS},state:j,allPlugins:H,allMatches:T,instance:O,store:A,EVENTS:N})).then(function(J){J.meta&&J.meta.hasCallback&&Th(J.meta.rid,{payload:J})})})();return Y&&Y.then?Y.then(function(){return S}):S}if(jh(S,D.length))return S;var x,z=(function(){if(V!==te)return Promise.resolve(Is({action:Q({},S,{type:te}),data:{exact:T.during,namespaced:T.duringNS},state:j,allPlugins:H,allMatches:T,instance:O,store:A,EVENTS:N})).then(function(Y){x=Y});x=S})();return z&&z.then?z.then(k):k()})}catch(S){return Promise.reject(S)}var _,$,q})(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 vy(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===ee.setItem||a===ee.removeItem){if(n.abort)return r(n);a===ee.setItem?t.setItem(i,o,s):t.removeItem(i,s)}return r(n)}}}}var py=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 hr.apply(void 0,o)(n)(a)}}}}};function my(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=Dh(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},Q({},e,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=Dh(r.type,ee.initialize),l=t()[u];return l&&u?(n[u]=Q({},e[u],{initialized:!0,loaded:!!l.loaded({config:l.config})}),Q({},e,n)):e}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=Q({},e[r.name],{loaded:!0}),Q({},e,n);switch(r.type){case ee.disablePlugin:return Q({},e,Mh(r.plugins,!1,e));case ee.enablePlugin:return Q({},e,Mh(r.plugins,!0,e));default:return e}}}function Dh(t,e){return t.substring(e.length+1,t.length)}function Mh(t,e,r){return t.reduce(function(n,a){return n[a]=Q({},r[a],{enabled:e}),n},r)}function Fh(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var gy={last:{},history:[]};function yy(t,e){t===void 0&&(t=gy);var r=e.options,n=e.meta;if(e.type===ee.track){var a=Fh(Q({event:e.event,properties:e.properties},Object.keys(r).length&&{options:r},{meta:n}));return Q({},t,{last:a,history:t.history.concat(a)})}return t}var wy={actions:[]};function by(t,e){t===void 0&&(t=wy);var r=e.payload;switch(e.type){case"queue":var n;return n=r&&r.type&&r.type===ee.identify?[e].concat(t.actions):t.actions.concat(e),Q({},t,{actions:n});case"dequeue":return[];default:return t}}var Kh=/#.*$/;function Sy(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(Kh,""):"")}var zh,Hh,Bh,Gh,Iy=function(t){if(t===void 0&&(t={}),!Te)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(Te){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(Kh,"")})(l),f={title:r,url:c,path:Sy(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),Q({},f,t)},Py={last:{},history:[]};function Ey(t,e){t===void 0&&(t=Py);var r=e.options;if(e.type===ee.page){var n=Fh(Q({properties:e.properties,meta:e.meta},Object.keys(r).length&&{options:r}));return Q({},t,{last:n,history:t.history.concat(n)})}return t}zh=(function(){if(!Te)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"})(),Hh=Te?document.referrer:null,Bh=ey(),Gh=ty();var Wh={initialized:!1,sessionId:On(),app:null,version:null,debug:!1,offline:!!Te&&!navigator.onLine,os:{name:zh},userAgent:Te?navigator.userAgent:"node",library:{name:ws,version:"0.13.1"},timezone:Gh,locale:Bh,campaign:{},referrer:Hh};function ky(t,e){t===void 0&&(t=Wh);var r=t.initialized,n=e.campaign;switch(e.type){case ee.campaign:return Q({},t,{campaign:n});case ee.offline:return Q({},t,{offline:!0});case ee.online:return Q({},t,{offline:!1});default:return r?t:Q({},Wh,t,{initialized:!0})}}var _y=["plugins","reducers","storage"];function Ry(t,e,r){if(Te){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function Ty(t){var e=Ry.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function Vh(){return Kt(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 lr[ur][ws].push(o.action||o),i(o)}})}}}function Jh(t){return function(){return hr(hr.apply(null,arguments),Vh())}}function ks(t){return t?yh(t)?t:[t]:[]}function Zh(t,e,r){t===void 0&&(t={});var n,a,i=On();return e&&(Wr[i]=(n=e,a=(function(o){for(var s,u=o||Array.prototype.slice.call(arguments),l=0;l<u.length;l++)if(De(u[l])){s=u[l];break}return s})(r),function(o){a&&a(o),n(o)})),Q({},t,{rid:i,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function Oy(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(S,k){if(De(k))return S.middlewares=S.middlewares.concat(k),S;if(k.NAMESPACE&&(k.name=k.NAMESPACE),!k.name)throw new Error("https://lytics.dev/errors/1");k.config||(k.config={});var x=k.EVENTS?Object.keys(k.EVENTS).map(function(J){return k.EVENTS[J]}):[];S.pluginEnabled[k.name]=!(k.enabled===!1||k.config.enabled===!1),delete k.enabled,k.methods&&(S.methods[k.name]=Object.keys(k.methods).reduce(function(J,fe){var ne;return J[fe]=(ne=k.methods[fe],function(){for(var ue=Array.prototype.slice.call(arguments),ae=new Array(ne.length),Ce=0;Ce<ue.length;Ce++)ae[Ce]=ue[Ce];return ae[ae.length]=b,ne.apply({instance:b},ae)}),J},{}),delete k.methods);var z=Object.keys(k).concat(x),Y=new Set(S.events.concat(z));if(S.events=Array.from(Y),S.pluginsArray=S.pluginsArray.concat(k),S.plugins[k.name])throw new Error(k.name+"AlreadyLoaded");return S.plugins[k.name]=k,S.plugins[k.name].loaded||(S.plugins[k.name].loaded=function(){return!0}),S},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Ft,setItem:Kt,removeItem:fr},i=(function(S){return function(k,x,z){return x.getState("user")[k]||(z&&Me(z)&&z[k]?z[k]:Rh(S)[k]||Ft(Ss(k))||null)}})(a),o=n.plugins,s=n.events.filter(function(S){return!bs.includes(S)}).sort(),u=new Set(s.concat(Un).filter(function(S){return!bs.includes(S)})),l=Array.from(u).sort(),c=function(){return o},f=new py,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},g=ry(),I=Rh(a),w=Q({},I,r,g.an_uid?{userId:g.an_uid}:{},g.an_aid?{anonymousId:g.an_aid}:{});w.anonymousId||(w.anonymousId=On());var y=Q({enable:function(S,k){return new Promise(function(x){T.dispatch({type:ee.enablePlugin,plugins:ks(S),_:{originalAction:ee.enablePlugin}},x,[k])})},disable:function(S,k){return new Promise(function(x){T.dispatch({type:ee.disablePlugin,plugins:ks(S),_:{originalAction:ee.disablePlugin}},x,[k])})}},n.methods),m=!1,b={identify:function(S,k,x,z){try{var Y=It(S)?S:null,J=Me(S)?S:k,fe=x||{},ne=b.user();Kt(Ss(kt),Y);var ue=Y||J.userId||i(kt,b,J);return Promise.resolve(new Promise(function(ae){T.dispatch(Q({type:ee.identifyStart,userId:ue,traits:J||{},options:fe,anonymousId:ne.anonymousId},ne.id&&ne.id!==Y&&{previousId:ne.id}),ae,[k,x,z])}))}catch(ae){return Promise.reject(ae)}},track:function(S,k,x,z){try{var Y=Me(S)?S.event:S;if(!Y||!It(Y))throw new Error("EventMissing");var J=Me(S)?S:k||{},fe=Me(x)?x:{};return Promise.resolve(new Promise(function(ne){T.dispatch({type:ee.trackStart,event:Y,properties:J,options:fe,userId:i(kt,b,k),anonymousId:i(pr,b,k)},ne,[k,x,z])}))}catch(ne){return Promise.reject(ne)}},page:function(S,k,x){try{var z=Me(S)?S:{},Y=Me(k)?k:{};return Promise.resolve(new Promise(function(J){T.dispatch({type:ee.pageStart,properties:Iy(z),options:Y,userId:i(kt,b,z),anonymousId:i(pr,b,z)},J,[S,k,x])}))}catch(J){return Promise.reject(J)}},user:function(S){if(S===kt||S==="id")return i(kt,b);if(S===pr||S==="anonId")return i(pr,b);var k=b.getState("user");return S?hh(k,S):k},reset:function(S){return new Promise(function(k){T.dispatch({type:ee.resetStart},k,S)})},ready:function(S){return m&&S({plugins:y,instance:b}),b.on(ee.ready,function(k){S&&S(k),m=!0})},on:function(S,k){if(!S||!De(k))return!1;if(S===ee.bootstrap)throw new Error(".on disabled for "+S);var x=/Start$|Start:/;if(S==="*"){var z=function(ne){return function(ue){return function(ae){return ae.type.match(x)&&k({payload:ae,instance:b,plugins:o}),ue(ae)}}},Y=function(ne){return function(ue){return function(ae){return ae.type.match(x)||k({payload:ae,instance:b,plugins:o}),ue(ae)}}};return h(z,$n),h(Y,Ln),function(){d(z,$n),d(Y,Ln)}}var J=S.match(x)?$n:Ln,fe=function(ne){return function(ue){return function(ae){return ae.type===S&&k({payload:ae,instance:b,plugins:o,abort:p}),ue(ae)}}};return h(fe,J),function(){return d(fe,J)}},once:function(S,k){if(!S||!De(k))return!1;if(S===ee.bootstrap)throw new Error(".once disabled for "+S);var x=b.on(S,function(z){k({payload:z.payload,instance:b,plugins:o,abort:p}),x()});return x},getState:function(S){var k=T.getState();return S?hh(k,S):Object.assign({},k)},dispatch:function(S){var k=It(S)?{type:S}:S;if(Un.includes(k.type))throw new Error("reserved action "+k.type);var x=Q({},k,{_:Q({originalAction:k.type},S._||{})});T.dispatch(x)},enablePlugin:y.enable,disablePlugin:y.disable,plugins:y,storage:{getItem:a.getItem,setItem:function(S,k,x){T.dispatch({type:ee.setItemStart,key:S,value:k,options:x})},removeItem:function(S,k){T.dispatch({type:ee.removeItemStart,key:S,options:k})}},setAnonymousId:function(S,k){b.storage.setItem(Et,S,k)},events:{core:Un,plugins:s}},O=n.middlewares.concat([function(S){return function(k){return function(x){return x.meta||(x.meta=Zh()),k(x)}}},v($n),hy(b,c,{all:l,plugins:s}),vy(a),cy(b),ly(b),v(Ln)]),A={context:ky,user:uy(a),page:Ey,track:yy,plugins:my(c),queue:by},N=hr,H=hr;if(Te&&t.debug){var V=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;V&&(N=V({trace:!0,traceLimit:25})),H=function(){return arguments.length===0?Vh():Me(typeof arguments[0])?Jh():Jh().apply(null,arguments)}}var te,j=(function(S){return Object.keys(S).reduce(function(k,x){return _y.includes(x)||(k[x]=S[x]),k},{})})(t),F=n.pluginsArray.reduce(function(S,k){var x=k.name,z=k.config,Y=k.loaded,J=n.pluginEnabled[x];return S[x]={enabled:J,initialized:!!J&&!k.initialize,loaded:!!Y({config:z}),config:z},S},{}),D={context:j,user:w,plugins:F},T=Ph((function(S){for(var k=Object.keys(S),x={},z=0;z<k.length;z++){var Y=k[z];typeof S[Y]===Pt&&(x[Y]=S[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})===mt||typeof ae(void 0,{type:iy})===mt)throw new Error(Gr+" "+ue+" "+mt)})})(x)}catch(ne){J=ne}return function(ne,ue){if(ne===void 0&&(ne={}),J)throw J;for(var ae=!1,Ce={},Ne=0;Ne<fe.length;Ne++){var Ke=fe[Ne],qe=ne[Ke],nt=(0,x[Ke])(qe,ue);if(typeof nt===mt){var Rt=oy(Ke,ue);throw new Error(Rt)}Ce[Ke]=nt,ae=ae||nt!==qe}return ae?Ce:ne}})(Q({},A,e)),D,H(N(sy.apply(void 0,O))));T.dispatch=(te=T.dispatch,function(S,k,x){var z=Q({},S,{meta:Zh(S.meta,k,ks(x))});return te.apply(null,[z])});var _=Object.keys(o);T.dispatch({type:ee.bootstrap,plugins:_,config:j,params:g,user:w,initialUser:r,persistedUser:I});var $=_.filter(function(S){return n.pluginEnabled[S]}),q=_.filter(function(S){return!n.pluginEnabled[S]});return T.dispatch({type:ee.registerPlugins,plugins:_,enabled:n.pluginEnabled}),n.pluginsArray.map(function(S,k){var x=S.bootstrap,z=S.config,Y=S.name;x&&De(x)&&x({instance:b,config:z,payload:S}),T.dispatch({type:ee.registerPluginType(Y),name:Y,enabled:n.pluginEnabled[Y],plugin:S}),n.pluginsArray.length===k+1&&T.dispatch({type:ee.initializeStart,plugins:$,disabled:q})}),Ty(function(S){T.dispatch({type:S?ee.offline:ee.online})}),(function(S,k,x){setInterval(function(){return Ch(S,k,x)},3e3)})(T,c,b),b}var $n="before",Ln="after",Ht="cookie",Bt=Qh(),Yh=qn,Cy=qn;function Xh(t){return Bt?qn(t,"",-1):fr(t)}function Qh(){if(Bt!==void 0)return Bt;var t=Ht+Ht;try{qn(t,t),Bt=document.cookie.indexOf(t)!==-1,Xh(t)}catch{Bt=!1}return Bt}function qn(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return Bt===!1&&(o?Kt(t,e):Ft(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 gt="localStorage",Ay=gs.bind(null,gt);dr(gt,"getItem",Ft),dr(gt,"setItem",Kt),dr(gt,"removeItem",fr);var yt="sessionStorage",Uy=gs.bind(null,yt);dr(yt,"getItem",Ft),dr(yt,"setItem",Kt),dr(yt,"removeItem",fr);function gr(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(Me(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var $y=Ay(),Ly=Uy(),qy=Qh();function Gt(t,e){if(t){var r=_s(e),n=!Cs(r),a=Rs(r)?gr(localStorage.getItem(t)):void 0;if(n&&!cr(a))return a;var i=Ts(r)?gr(Yh(t)):void 0;if(n&&i)return i;var o=Os(r)?gr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Ft(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function jn(t,e,r){if(t&&!cr(e)){var n={},a=_s(r),i=JSON.stringify(e),o=!Cs(a);return Rs(a)&&(n[gt]=xn(gt,e,gr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[gt]:Ts(a)&&(n[Ht]=xn(Ht,e,gr(Yh(t))),Cy(t,i),o)?n[Ht]:Os(a)&&(n[yt]=xn(yt,e,gr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[yt]:(n[Mt]=xn(Mt,e,Ft(t)),Kt(t,e),o?n[Mt]:n)}}function jy(t,e){if(t){var r=_s(e),n=Gt(t,ph),a={};return!cr(n.localStorage)&&Rs(r)&&(localStorage.removeItem(t),a[gt]=n.localStorage),!cr(n.cookie)&&Ts(r)&&(Xh(t),a[Ht]=n.cookie),!cr(n.sessionStorage)&&Os(r)&&(sessionStorage.removeItem(t),a[yt]=n.sessionStorage),!cr(n.global)&&Nn(r,Mt)&&(fr(t),a[Mt]=n.global),a}}function _s(t){return t?It(t)?t:t.storage:vh}function Rs(t){return $y&&Nn(t,gt)}function Ts(t){return qy&&Nn(t,Ht)}function Os(t){return Ly&&Nn(t,yt)}function Cs(t){return t===ph||t==="all"}function Nn(t,e){return t===vh||t===e||Cs(t)}function xn(t,e,r){return{location:t,current:e,previous:r}}var Ny={setItem:jn,getItem:Gt,removeItem:jy};function xy(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function ev(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 tv(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?ev(Object(r),!0).forEach(function(n){xy(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ev(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Dy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:Ny};return Oy(tv(tv({},e),t))}const As="@sesamy/sesamy-js",Dn="1.59.0";function My(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=Ky(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function Fy(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function Ky(t){return["#","?"].forEach(e=>t=Fy(t,e)),t}function zy(){My(()=>{wt.page()})}var Us="up",$s="down";function Hy(t){if(t===void 0&&(t={}),!Te)return ms;var e=nv(),r=Ls(),n=rv(),a=Mn(n,e),i=Mn(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return ms;var d=h.map(function(p){return Number(p)}),v=ay(function(){var p=nv(),g=(function(j,F){return F.map(function(D){return D===100?j-5:j*(D/100)})})(p,d),I=Ls(),w=rv(),y=Mn(w,p),m=Mn(I,p);if(c=y>c?y:c,f=m<f?m:f,!(o.length>=d.length)){var b=l===w,O=Us;b?O="initial":l<=w&&(O=$s);var A=g,N=d;(O===Us||b)&&(A=g.slice().reverse(),N=d.slice().reverse());var H=N.reduce(function(j,F,D){var T=A[D];return u.includes(F)&&w<=T&&(u=u.filter(function(_){return _!==F}),j.singleFunction=F),O===$s&&!o.includes(F)&&w>=T&&F>i?(s.push(F),j.callbacks=j.callbacks.concat(F),j):O===Us&&!o.includes(F)&&w<=T&&F<=y?(j.foundFunc=[F],j):(b&&w>=T&&j.foundFunc.length===0&&(j.foundFunc=[F]),!s.includes(F)&&w>=T&&(s.push(F),j.singleFunction?u.push(F):j.singleFunction=F),j)},{foundFunc:[],singleFunction:null,callbacks:[],direction:O});if(l=w,O===$s&&H.callbacks&&H.callbacks.forEach(function(j){De(t[j])&&(t[j]({trigger:j,direction:O,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(j))}),H.singleFunction){var V=H.singleFunction,te=H.direction;De(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 Ls(){return Te?document.body.scrollTop||document.documentElement.scrollTop:0}function By(){return Te?window.innerHeight||document.documentElement.clientHeight:0}function rv(){return Math.round(Ls()+By())}function nv(){if(!Te)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function Mn(t,e){return Math.round(t/e*100)}var qs="Event",av=qs+"Listener";function Gy(t){return function(e,r,n,a){var i=n||ms,o=a||!1;if(!Te)return i;var s=Fn(r),u=Fn(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+qs);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+av:"remove"+av,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?Wy(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 Fn(t,e){if(It(t))return e?Fn(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=Qg(t);return e?i.map(function(o){return It(o)?Fn(o,!0):o}).flat():i}function Wy(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var js=Gy(qs);function iv(t,e){return Te&&De(window[t])?(r=window[t],n=e,(a=window)===void 0&&(a=null),De(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[t]=e;var r,n,a}iv.bind(null,"onerror"),iv.bind(null,"onload");var ov=typeof window>"u",sv="hidden";function Vy(t){if(ov)return!1;var e=Jy(),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 Jy(){var t=["webkit","moz","ms","o"];return ov||sv in document?sv:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var Zy=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function Yy(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=Vy(function(s){s||r({type:"tabVisible"})});return n=[o].concat(Zy.map(function(s){return js(document,s,r)})).concat(js(window,"load",r)).concat(js(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function Xy(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(Jr(h),g),a&&c&&(c=!1,a(Jr(r),g),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(Jr(h),g))},s)}var p=Yy(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:Jr(h,f),idle:c?Jr(r,f):0}}}}function Jr(t,e){return e?0:Math.round((new Date-t)/1e3)}const cv=5e3;class Qy{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),Xy({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:cv}),Hy({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*cv: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 uv(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function ew(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 lv="sesamy_session_id";function tw(){let t=sessionStorage.getItem(lv);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(lv,t)),t}function fv(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 rw(t){return t?Object.fromEntries(Object.entries(t).filter(([e,r])=>r!==void 0)):{}}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"}},dv=[],hv=!1,Wt;function vv(){const t=window.location.pathname;return dv.find(e=>e.path?t.includes(e.path):!0)}function nw(t,e){dv=t.content||[];const r=vv();r&&r.type==="article"&&(Fe={...Fe,...rw(r.selectors)},hv=r.enablePaywallSettingsUrlFallback||!1),Wt=e}function aw(t,e){const{selector:r}=e;return r===Fe.article.selector?t:t.querySelector(r)}function pv(t,e){if(t)return e.attribute?e.attribute==="textContent"?t.textContent??void 0:t.getAttribute(e.attribute)??pv(t.parentElement,e):t.textContent??void 0}function yr(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 mv({publisherContentId:t,key:e,defaultValue:r=""}){return(t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null)?.getAttribute(e)||yr(`sesamy:${e}`)||yr(`og:${e}`)||yr(e)||r}function iw(){const t=document.querySelectorAll(Fe.article.selector);return Array.from(t).map(Kn).filter(e=>e!==null)}function Kn(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:fv(e)},n=(i,o,s,u)=>{const l=aw(e,o);if(l){const c=pv(l,o)||mv({publisherContentId:s,key:i});c!==void 0&&(r[i]=u?u(c):c)}};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,i=>parseFloat(i)),n("currency",Fe.currency,r.id),n("url",Fe.url,r.id),n("pass",Fe.pass,r.id),n("paywallUrl",Fe.paywallUrl,r.id),n("accessLevel",Fe.accessLevel,r.id,i=>i||"entitlement");const a=vv();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)),hv&&!r.paywallUrl){const i=document.querySelector("sesamy-paywall");if(i){const o=i.getAttribute("settings-url");o&&(r.paywallUrl=o)}}return r}async function ow(t){const e=Kn(t);if(!e)throw new Error("Could not find article element");if(e.paywallUrl){const a=(await Wt.paywalls.get(e.paywallUrl)).settings.template==="LOGIN"?"logged-in":"entitlement";if(e.accessLevel=a,a==="logged-in"){const i=await Wt.auth.isAuthenticated();return e.hasAccess=i,e}}if(!e.url)throw new Error("Article must have a URL");const r=await Wt.entitlements.hasAccess(e.url,e.pass?.split(",")||[]);return e.hasAccess=!!r,e.entitlement=r,e}async function sw(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=Kn(r);if(!n?.url)throw new Error("Could not find content for element");const a=await Wt.entitlements.hasAccess(n.url||"",n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await Wt.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||fv(r.parentElement||r);return Wt.proxy.getContent(i.token,n.url,o)}let gv=!1,zn,Hn,Ns;function yv(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:Ns,requestId:Math.random().toString(36).slice(2,9),sessionId:tw(),timestamp:new Date().toISOString(),version:Dn,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:yr("sesamy:item-src"),publisherContentId:yr("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:As,userAgent:navigator.userAgent,clientId:Ns}}}))}const wv=ew(async t=>{if(t.length>0){const e=yv(t);gv?navigator.sendBeacon(Hn,e):(await fetch(Hn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function xs(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(Hn,yv([e]))}else wv.push(t)}function cw(){return gv=!0,wv.flush()}function uw(t,e,r){zn=e,Hn=`${st("logs",r)}/events`,Ns=t}const lw={name:"custom-analytics-plugin",page:({payload:t})=>{if(!zn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;xs({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!zn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;xs({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!zn)return;const{properties:e,anonymousId:r,userId:n}=t;xs({anonymousId:r,userId:n,properties:e,type:"identify"})}},bv=["source","medium","campaign","term","content"],_t="utm_",fw=1800*1e3;function Sv(t){return t?Date.now()-parseInt(t,10)>fw:!0}function Iv(){const t=document.referrer||"";if(!t)return;const e=Gt(`${_t}set_at`);(Sv(e)||!Gt(`${_t}referrer`))&&jn(`${_t}referrer`,t)}function dw(){const t=()=>{const r={};for(const a of bv){const i=Gt(`${_t}${a}`);i&&(r[`utm_${a}`]=i)}const n=Gt(`${_t}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){Iv()},campaign({payload:r}){const n=r?.campaign||{},a=Gt(`${_t}set_at`);if(Object.keys(n).length>0&&Sv(a)){for(const o of bv){const s=n[o];s&&jn(`${_t}${o}`,s)}jn(`${_t}set_at`,String(Date.now()))}Iv()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const hw=dw(),Pv=new Map,Ev=new Map;function vw({clientId:t,enabled:e=!0,environment:r}){uw(t,e,r),e&&(window.addEventListener("beforeunload",()=>{Ev.forEach((n,a)=>{n.bind(a)()}),cw()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&Pv.forEach((n,a)=>{n.bind(a)()})}),zy(),uv(()=>{const n=new Qy({element:document.body,viewCallback:()=>{wt.page()},activeDurationCallback:(a,i,o)=>{wt.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{wt.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{wt.track("scroll",{scroll:a.scrollMax})}});Ev.set(document.body,()=>{n.flush()}),Pv.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(He.AUTHENTICATED,async n=>{const a=n;await wt.identify(a.detail.sub)}),window.addEventListener(He.LOGOUT,async()=>{await wt.track("logout",{}),await wt.reset()}))}const wt=Dy({app:As,version:Dn,plugins:[hw,lw]});function kv(t,e){wt.track(t,e)}function _v(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});kv(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function pw(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function mw(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function gw(){return/android/i.test(navigator.userAgent)}let Oe,Rv,Zr,Ds=!1,Bn=!1;Hr()&&window.addEventListener("pageshow",()=>{Bn=!1});const wr="sesamyAccessToken",Ms="sesamyRefreshToken",Gn="sesamySilentAuthThrottle",yw=300*1e3;async function Wn(){return Ds?!0:new Promise((t,e)=>{const r=setTimeout(()=>{Ds?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(He.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function ww(t){if(!t)return null;const e=localStorage.getItem(Ms);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(Ms),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(Ms,i.refresh_token),localStorage.setItem(wr,i.access_token),i.access_token}catch{zs()}}async function Fs(){const t=localStorage.getItem(wr);if(!t)return null;const e=Hs(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await ww(e);if(r)return r;localStorage.removeItem(wr)}return t}let Vn=null;const bw=64;function Sw(){try{if(Vn!==null)return Vn;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===bw)return Vn=!0,!0}}catch(t){ce(`Error checking for existing auth0 tokens: ${t.message}`)}return Vn=!1,!1}function Iw(t){if(t.domains&&t.domains.length>0){const e=br(window.location.href);if(e){for(const r of t.domains)if(br(`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 br(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 Pw(t){if(t.enabled===!1)return;Rv=t.organization;const e=Iw(t);Zr=e&&!Sw()?e:dh("token",t.environment);const r={domain:Zr,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",br(window.location.href)!==br(`https://${Zr}`)&&(r.useRefreshTokens=!0),ce(`Initializing auth0 client: ${JSON.stringify(r)}`),Oe=await _g(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");try{const u=await Oe.handleRedirectCallback();ce(`Login result: ${JSON.stringify(u)}`);const l=await Oe.getUser();if(!l)throw ce("No user found"),new Error("No user found");ce(`User found ${JSON.stringify(l)}`),Ks(),Ut(He.AUTHENTICATED,l),ce("Rewrite url")}catch(u){alert("There was an error logging in"),console.error(u)}const o=new URL(location.href),s=o.searchParams;s.delete("code"),s.delete("state"),o.search=s.toString(),window.history.replaceState({},document.title,o.toString())}Ds=!0,Ut(He.AUTH_INITIALIZED,{})}async function Yr(){return await Wn(),await Fs()?!0:Oe?Oe.isAuthenticated():!1}async function Ew(){return await Wn(),await Fs()?(ce("Using local user"),{sub:"local",name:"Local User"}):Oe?Oe.getUser():null}function Tv(t){if(Bn)return ce("Login already in progress"),null;if(Bn=!0,setTimeout(()=>{Bn=!1},3e3),localStorage.removeItem(wr),!Oe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:Rv,redirect_uri:window.location.href,ui_locales:fs(),incognito:ps(),...e}}}async function Jn(t){const e=Tv(t);if(e)return Oe.loginWithRedirect(e)}async function Ov(t){const e=Tv(t);if(!e)return;await Oe.loginWithPopup(e,{timeoutInSeconds:1800}),Ks(),_v(He.AUTHENTICATED,await Oe.getUser()).canceled||window.location.reload()}async function kw(t){return Zr&&br(window.location.href)!==br(`https://${Zr}`)&&(mw()||gw()||ps())?Ov(t):Jn(t)}function _w(){try{const t=sessionStorage.getItem(Gn);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<yw}catch{return sessionStorage.removeItem(Gn),!1}}function Rw(){try{const t={timestamp:Date.now()};sessionStorage.setItem(Gn,JSON.stringify(t))}catch{ce("Failed to set silent auth throttle in sessionStorage")}}function Ks(){try{sessionStorage.removeItem(Gn)}catch{}}async function Vt(t=!0,e=!1){await Wn();const r=await Fs();if(r)return r;if(!e&&_w()){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=Hs(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await Oe.getTokenSilently({cacheMode:e?"off":"on"})),Ks(),n}catch(n){const a=n;if(ce(`Failed to get token silently: ${a.message}`),Rw(),await Oe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await zs(),t)throw n;return null}}async function zs(t={}){if(await Wn(),localStorage.removeItem(wr),Ut(He.LOGOUT,{}),!!Oe)return ce(`Logout with options: ${JSON.stringify(t)}`),Oe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function Hs(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 Bs(t){const e=Hs(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");ce("Set token"),localStorage.setItem(wr,t),Ut(He.AUTHENTICATED,e)}const Tw=(t,e)=>e.skipDedupe||e.method!=="GET",Ow=(t,e)=>e.method+"@"+t,Cw=t=>t.clone(),Cv=({skip:t=Tw,key:e=Ow,resolver:r=Cw}={})=>{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)}}},Aw=(t,e)=>t*e,Uw=t=>t&&t.ok,Av=({delayTimer:t=500,delayRamp:e=Aw,maxAttempts:r=10,until:n=Uw,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 I=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))},I)}).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)})};class Xr 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,Xr)}isClientError(){return this.status>=400&&this.status<500}isServerError(){return this.status>=500}isForbiddenError(){return this.status===403}isNotFoundError(){return this.status===404}}var Zn=(t=>(t.BROWSER="browser",t.NORMAL="normal",t))(Zn||{});const $w="application/json",Uv="Content-Type",Sr=Symbol(),$v=Symbol();function Lv(t={}){var e;const r=t instanceof Array?Object.fromEntries(t):t;return(e=Object.entries(r).find(([n])=>n.toLowerCase()===Uv.toLowerCase()))===null||e===void 0?void 0:e[1]}function qv(t){return/^application\/.*json.*/.test(t)}const Jt=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]=Jt(o,i,r):n[a]=i,n},{...t})},Ir={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 Lw(t,e=!1){Ir.options=e?t:Jt(Ir.options,t)}function qw(t,e=!1){Ir.polyfills=e?t:Jt(Ir.polyfills,t)}function jw(t){Ir.errorType=t}const Nw=t=>e=>t.reduceRight((r,n)=>n(r),e)||e;class jv extends Error{}const xw=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=Jt(a.options,n);let f=r;const h=Nw(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 jv;if(b.cause=d,b.stack=b.stack+`
36
- CAUSE: `+d.stack,b.response=y,b.status=y.status,b.url=f,y.type==="opaque")throw b;const O=a.errorType==="json"||((m=y.headers.get("Content-Type"))===null||m===void 0?void 0:m.split(";")[0])==="application/json";return(a.errorType?O?y.text():y[a.errorType]():Promise.resolve(y.body)).then(A=>{if(b.message=typeof A=="string"?A:y.statusText,A)if(O&&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),O=b?m[Sr]:m,A=O?.status&&l.get(O.status)||l.get(O?.name)||b&&l.has(Sr)&&l.get(Sr);if(A)return A(O,t);const N=l.get($v);if(N)return N(O,t);throw O}),g=y=>m=>p(y?v.then(b=>b&&b[y]()).then(b=>m?m(b):b):v.then(b=>m?m(b):b)),I={_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}),I);return o.reduce((y,m)=>m(y,t),w)},Dw={_url:"",_options:{},_config:Ir,_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:Jt(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:Jt(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:Jt(this._options,{headers:e})}},accept(t){return this.headers({Accept:t})},content(t){return this.headers({[Uv]: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($v,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=Lv(n._options.headers),i=this._config.polyfill("FormData",!1),o=typeof r=="object"&&!(i&&r instanceof i)&&(!n._options.headers||!a||qv(a));return n=r?o?n.json(r,a):n.body(r):n,xw(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=Lv(this._options.headers);return this.content(e||qv(r)&&r||$w).body(JSON.stringify(t))}};function rt(t="",e={}){return{...Dw,_url:t,_options:e}}rt.default=rt,rt.options=Lw,rt.errorType=jw,rt.polyfills=qw,rt.WretchError=jv;const Mw=(t,e)=>e.skipDedupe||e.method!=="GET",Fw=(t,e)=>e.method+"@"+t,Kw=t=>t.clone(),zw=({skip:t=Mw,key:e=Fw,resolver:r=Kw}={})=>{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)}}},Hw=(t,e)=>e.skipCache||e.method!=="GET",Bw=(t,e)=>e.method+"@"+t,Gw=()=>!1,Ww=()=>null,Vw=t=>t.ok,Jw=({throttle:t=1e3,skip:e=Hw,key:r=Bw,clear:n=Gw,invalidate:a=Ww,condition:i=Vw,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(I=>{typeof I=="string"?s.delete(I):I instanceof RegExp&&s.forEach((w,y)=>{I.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 I=s.get(p).clone();return o&&Object.defineProperty(I,o,{value:p,enumerable:!1}),Promise.resolve(I)}else if(u.has(p))return new Promise((I,w)=>{u.get(p).push([I,w])})}return u.has(p)||u.set(p,[]),c(p),h(d,v).then(I=>(i(I.clone())&&s.set(p,I.clone()),u.get(p).forEach(([w])=>w(I.clone())),u.delete(p),I)).catch(I=>{throw u.get(p).forEach(([,w])=>w(I)),u.delete(p),I})};return f.cacheResponse=function(h,d){c(h),s.set(h,d)},f.cache=s,f.inflight=u,f.throttling=l,f},Zw=(t,e)=>t*e,Yw=t=>t&&t.ok,Xw=({delayTimer:t=500,delayRamp:e=Zw,maxAttempts:r=10,until:n=Yw,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 I=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))},I)}).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)})},Qw="@sesamy/sdk",eb="1.14.0";class tb{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 Qr="sesamyCacheTimestamp",rb=t=>{const{libraryName:e=Qw,libraryVersion:r=eb,cache:n}=t,a=n?.storage||new tb,i=[s=>async(u,l)=>{if(n?.mode===Zn.BROWSER){let c;typeof sessionStorage<"u"?(c=sessionStorage.getItem(Qr),c||(c=Date.now().toString(),sessionStorage.setItem(Qr,c))):(c=a.get(Qr),c||(c=Date.now().toString(),a.set(Qr,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:`Bearer ${c}`}};return s(u,f)},zw()];n?.mode===Zn.NORMAL&&i.push(Jw({throttle:300*1e3,skip:(s,u)=>u.method!=="GET"})),i.push(Xw({delayTimer:1e3,delayRamp:(s,u)=>s*u,maxAttempts:3,until:s=>!!(s&&(s.ok||s.status>=400&&s.status<500)),retryOnNetworkError:!1}));const o=rt(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?JSON.parse(u.body):void 0);break;case"put":h=c.put(u.body?JSON.parse(u.body):void 0);break;case"patch":h=c.patch(u.body?JSON.parse(u.body):void 0);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)&&ct(),d.status===204)return null;if(!d.ok){const v=await d.text().catch(()=>"Unknown error");throw new Xr(d.status,d.statusText,d.url,`API Error ${d.status}: ${v}`,v)}return await d.json()}catch(l){if(l instanceof Xr)throw l;const c=l.status||500,f=l.message||"Unknown error",h=`${t.baseUrl}${s}`;throw new Xr(c,f,h,`API Error ${c}: ${l.message||"Unknown error"}`,l.message||"Unknown error")}}}},ct=()=>(typeof sessionStorage<"u"&&sessionStorage.removeItem(Qr),"Cache cleared"),en={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"})}},Gs={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`)},Nv={list:async t=>t.request("/subscriptions"),get:async(t,e)=>t.request(`/subscriptions/${e}`)},xv={get:async(t,e)=>t.request(`/products/${e}`),autoOnboard:async(t,e)=>t.request(`/products/${e}/auto-onboard`,{method:"POST"})},tn={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"})},Ws={get:async t=>t.request("/user-metadata"),set:async(t,e,r)=>{await t.request(`/user-metadata/${e}`,{method:"PUT",body:JSON.stringify({value:r})})},delete:async(t,e)=>{await t.request(`/user-metadata/${e}`,{method:"DELETE"})}},Yn={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)})},Vs={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"})}},Pr={generateCheckoutLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkout`);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(`meta-${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()}},Js={generateLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkout`);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(`meta-${n}`,a)}),r.toString()},create:async(t,e)=>t.request("/checkout",{method:"POST",body:JSON.stringify(e)}),get:async(t,e)=>t.request(`/checkout/${e}`),update:async(t,e,r)=>t.request(`/checkout/${e}`,{method:"PATCH",body:JSON.stringify(r)})},Dv={list:async t=>t.request("/bills"),get:async(t,e)=>t.request(`/bills/${e}`)},Mv={list:async t=>t.request("/fulfillments"),create:async(t,e)=>t.request("/fulfillments",{method:"POST",body:JSON.stringify(e)})},nb={get:async(t,e)=>{try{return new URL(e),t.request(e)}catch{return t.request(`/paywalls/${e}`)}}},ab={list:async t=>t.request("/payment-issues")},ib={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)}},ob={list:async(t,e)=>{const r=(e?new URLSearchParams({q:e}):new URLSearchParams).toString(),n=r?`/transactions?${r}`:"/transactions";return t.request(n)}},Fv={get:async t=>t.request("/vendor"),list:async t=>t.request("/vendors")},sb=t=>{const e=rb(t);return{profile:{get:r=>en.get(e,r),update:(r,n)=>en.update(e,r,n),checkSpotifyLink:()=>en.checkSpotifyLink(e),unlinkSpotify:()=>en.unlinkSpotify(e),delete:()=>en.delete(e)},entitlements:{list:r=>Gs.list(e,r),get:r=>Gs.get(e,r),getAccess:r=>Gs.getAccess(e,r)},subscriptions:{list:()=>Nv.list(e),get:r=>Nv.get(e,r)},products:{get:r=>xv.get(e,r),autoOnboard:r=>xv.autoOnboard(e,r)},contracts:{list:()=>tn.list(e),get:r=>tn.get(e,r),cancel:r=>tn.cancel(e,r),createAmendment:(r,n)=>tn.createAmendment(e,r,n),confirmAmendment:(r,n)=>tn.confirmAmendment(e,r,n)},userMetadata:{get:()=>Ws.get(e),set:(r,n)=>Ws.set(e,r,n),delete:r=>Ws.delete(e,r)},tallies:{list:()=>Yn.list(e),get:r=>Yn.get(e,r),update:(r,n)=>Yn.update(e,r,n),create:r=>Yn.create(e,r)},tags:{list:()=>Vs.list(e),add:r=>Vs.add(e,r),remove:r=>Vs.remove(e,r)},checkout:{generateLink:(r,n)=>Pr.generateCheckoutLink(r,n),create:r=>Js.create(e,r),get:r=>Js.get(e,r),update:(r,n)=>Js.update(e,r,n)},links:{generateCheckoutLink:(r,n)=>Pr.generateCheckoutLink(r,n),generateAccountLink:(r,n)=>Pr.generateAccountLink(r,n),generateChangePaymentLink:(r,n)=>Pr.generateChangePaymentLink(r,n),generateChangePlanLink:(r,n)=>Pr.generateChangePlanLink(r,n),generateConsumeLink:(r,n)=>Pr.generateConsumeLink(r,n)},bills:{list:()=>Dv.list(e),get:r=>Dv.get(e,r)},fulfillments:{list:()=>Mv.list(e),create:r=>Mv.create(e,r)},paywalls:{get:r=>nb.get(e,r)},paymentIssues:{list:()=>ab.list(e)},proxy:{content:(r,n,a,i)=>ib.content(e,r,n,a,i)},transactions:{list:r=>ob.list(e,r)},vendor:{get:()=>Fv.get(e),list:()=>Fv.list(e)}}};class cb{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 Zs(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function Kv(t,e){if(Zs(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 zv(t){return t.endsWith("/")?t.slice(0,-1):t}function Hv(t,e){if(!Zs(t)||!Zs(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&zv(r.pathname)===zv(n.pathname)}function ub(t,e,r){const n=new URL(`${st("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=Kv(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(`meta-${c}`,String(f))}),n}const Bv="sesamySignedURLs";function Ys(){const t=sessionStorage.getItem(Bv);return t?JSON.parse(t):[]}function lb(t){const e=Ys();e.push(t),ce(`Adding signed URL: ${t}`),sessionStorage.setItem(Bv,JSON.stringify(e))}function fb(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const Xs="sesamyAttribution";function db(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 hb(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function Qs(){return db(Xs)||{}}function Gv(t){if(t===null)localStorage.removeItem(Xs);else{ce(`Setting attribution ${JSON.stringify(t)}`);const e=Qs()??{},r=fb({...e,...hb(t)});localStorage.setItem(Xs,JSON.stringify({value:r}))}}function vb(t){const e=t.endpoint||st("api2",t.environment),n=sb({baseUrl:e,tokenProvider:async()=>{const _=await Vt(!0);if(!_)throw new Error("No access token available");return _},libraryName:As,libraryVersion:Dn,vendorId:t.vendorId,cache:{mode:Zn.BROWSER,storage:new cb}}),a=_=>async($,q)=>{let S=sessionStorage.getItem(lh);S||(S=Date.now().toString(),sessionStorage.setItem(lh,S));const k={...q,headers:{...q.headers,"Cache-Timestamp":S}};return _($,k)},i=(_=!0)=>$=>async(q,S)=>{let k=null;if(k=await Vt(_),!k){if(_)throw new Error("No access token available");return $(q,S)}const x={...S,headers:{...S.headers,...k?{Authorization:`Bearer ${k}`}:{}}};return $(q,x)},o=_=>($,q)=>{if(q.headers&&"Authorization"in q.headers)return _($,q);const S=localStorage.getItem("__anon_id"),k=btoa(`${t.clientId}|${S}:`),x={...q,headers:{...q.headers,Authorization:`Basic ${k}`}};return _($,x)},s=rt(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),Cv(),Av({delayTimer:1e3,delayRamp:(_,$)=>_*$,maxAttempts:3,until:_=>!!(_&&(_.ok||_.status>=400&&_.status<500)),retryOnNetworkError:!1})]),u=rt(e).headers({"Content-Type":"application/json"}).middlewares([a,i(!1),o,Cv(),Av({delayTimer:1e3,delayRamp:(_,$)=>_*$,maxAttempts:3,until:_=>!!(_&&(_.ok||_.status>=400&&_.status<500)),retryOnNetworkError:!1})]);async function l(_={}){const{waitForEntitlementAfter:$,includeSignedLinks:q=!0}=_,S=await Yr()?await n.entitlements.list({waitForEntitlementAfter:$?.toISOString()}):[];return q&&S.push(...Ys()),S}async function c(_,$=[]){return(await l())?.find(k=>{if(_){const{sku:x,purchaseOption:z}=Kv(_);if("sku"in k&&x===k.sku||z&&"purchaseOptionsId"in k&&z===k.purchaseOptionsId||Hv(_,k.url))return!0}return!!$.some(x=>Hv(x,k.url))})}async function f(_,$,q){const S=new URL(st("api2",t.environment));return S.pathname="/proxy",S.searchParams.set("url",$),q&&S.searchParams.set("selector",q),rt(S.toString()).headers({Authorization:`Bearer ${_}`}).get().text()}async function h(_){if(!_)throw new Error("SKU is required to get fulfillments");return await Yr()?await s.get(`/fulfillments?sku=${encodeURIComponent(_)}`).json():[]}async function d(_,$){if(!_||!$)throw new Error("SKU and itemId are required to request delivery");return(await s.post({sku:_},`/fulfillments/${encodeURIComponent($)}/request-delivery?`).res()).ok}async function v(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),s.get("/subscriptions").json()}async function p(_){return(await n.transactions.list())?.find(q=>q.id===_)}async function g(){return await s.url("/tags").get().json()}async function I(_){const $=await s.url(`/tags/${encodeURIComponent(_)}`).delete().res();return ct(),$.ok}async function w(_){const $=await s.url("/tags").post(encodeURIComponent(_)).res();return Ut(He.USER_ATTRIBUTE_CHANGED,{}),ct(),$.ok}async function y(_){return(await u.url("/tallies").get().json())[_]}async function m(){return await u.url("/tallies").get().json()}async function b(_){const $=await u.url(`/tallies/${_}`).delete().res();return ct(),$.ok}async function O(_,$){return await u.url(`/tallies/${encodeURIComponent(_)}/push`).post($).json()}async function A(){return await Vt(!1)?await s.url("/profile").get().json():null}async function N(_){const $=await s.url("/profile").patch(_).res();return ct(),$.ok}async function H(){return(await s.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function V(){return(await s.url("/profile/unlink-spotify").post().res()).ok}async function te(_){const $=await Vt(!1);if(!$)throw new Error("No access token available");const q=new URL(`${st("access-sync",t.environment)}/spotify/sesamy-callback`);q.searchParams.set("access_token",$),q.searchParams.set("state",_),window.location.href=q.toString()}async function j(_){const $=await s.url(`/products/${encodeURIComponent(_)}/auto-onboard`).post().json();return $.length&&ct(),$}async function F(_,$=3600){const{shortlink:q}=await rt(Og).post({url:_,ttl:$}).json();return q}async function D(_){const $=await Vt(!1,!0);let q;const S=_.language||fs(),k=Qs();switch(_.target){case"account":q=new URL(`${st("account",t.environment)}/${encodeURIComponent(_.language||S)}/subscriptions/${encodeURIComponent(t.clientId)}${_.contractId?`/${encodeURIComponent(_.contractId)}`:""}`),q.searchParams.set("sesamy-redirect-url",_.redirectUrl||window.location.href);break;case"change-payment":q=new URL(`${st("account",t.environment)}/${encodeURIComponent(_.language||S)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(_.contractId)}/change-payment-method`),q.searchParams.set("sesamy-redirect-url",_.redirectUrl||window.location.href);break;case"change-plan":q=new URL(`${st("account",t.environment)}/${encodeURIComponent(_.language||S)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(_.contractId)}/edit-plan`),q.searchParams.set("sesamy-redirect-url",_.redirectUrl||window.location.href);break;case"consume":q=new URL(`${st("consume",t.environment)}/${encodeURIComponent(_.language||S)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(_.sku)}`),_.episodeId?q.href+=`/${_.episodeId}`:q.href+="/listen",q.searchParams.set("sesamy-redirect-url",_.redirectUrl||window.location.href);break;case"checkout":q=ub(t,{language:S,..._},k);break;default:throw new Error("Invalid target")}return $&&(q.hash=`#access_token=${$}`),_.shorten?F(q.href,_.ttl):q.href}async function T(){const _=await Vt(!1),$=new URL(`${st("account",t.environment)}/subscriptions/${t.clientId}`);_&&($.hash=`#access_token=${_}`),window.location.href=$.toString()}return{autoOnboardProduct:j,bills:n.bills,checkout:n.checkout,contracts:n.contracts,deleteTag:I,deleteTally:b,entitlements:n.entitlements,generateLink:D,getProxyContent:f,getEntitlements:l,getFulfillments:h,requestDelivery:d,hasAccess:c,isSpotifyLinked:H,linkSpotify:te,openHostedAccountPage:T,paywalls:n.paywalls,paymentIssues:n.paymentIssues,getProfile:A,products:n.products,getSubscriptions:v,getTally:y,getTallies:m,getTags:g,getTransaction:p,transactions:n.transactions,userMetadata:n.userMetadata,pushTally:O,setTag:w,unlinkSpotify:V,updateProfile:N,vendor:n.vendor}}const pb=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function mb(){return new Promise(t=>{const e=pb.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 gb(){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}}const Wv="sesamyFlags";async function Vv(t){try{localStorage.setItem(Wv,JSON.stringify(t))}catch{ce("Failed to save flags to localStorage")}}async function yb(t,e){const r=await Xn();r[t]=e,await Vv(r)}async function wb(t){return(await Xn())[t]}async function bb(t){const e=await Xn();t in e&&(delete e[t],await Vv(e))}async function Xn(){try{const t=localStorage.getItem(Wv);return t?JSON.parse(t):{}}catch{return{}}}function Sb(t){const{autoOnboardProduct:e,bills:r,checkout: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:I,hasAccess:w,isSpotifyLinked:y,linkSpotify:m,openHostedAccountPage:b,paywalls:O,paymentIssues:A,products:N,pushTally:H,requestDelivery:V,setTag:te,transactions:j,unlinkSpotify:F,updateProfile:D,userMetadata:T,vendor:_}=vb(t),$={analytics:{track:kv},attribution:{get:Qs,set:Gv},auth:{getUser:f,getTokenSilently:Vt,isAuthenticated:Yr,loginWithRedirect:Jn,loginWithPopup:Ov,login:kw,logout:zs,setToken:Bs},bills:r,browser:{detectAdblock:mb,isInAppBrowser:gb,isIncognito:ps},checkouts:n,clearCache:ct,content:{list:iw,get:Kn,getLanguage:fs,hasAccess:ow,unlock:sw,getPropertyFromHTML:mv},contracts:a,entitlements:{...s,access:s.getAccess,hasAccess:w,list:l,signedLinks:Ys},events:{emit:_v,cancel:pw},flags:{get:wb,set:yb,list:Xn,delete:bb},fulfillments:{list:c,requestDelivery:V},generateLink:u,getVersion:Ib,isReady:()=>ft.isInitialized,log:ce,paywalls:O,paymentIssues:A,products:{...N,autoOnboard:e,linkSpotify:m},profile:{get:f,isSpotifyLinked:y,openHostedAccountPage:b,unlinkSpotify:F,update:D},proxy:{getContent:h},subscriptions:{list:d},tags:{delete:i,list:v,set:te},tallies:{delete:o,get:p,list:g,push:H},transactions:{...j,get:I},userMetadata:T,vendor:_,setToken:Bs};return t.namespace&&(window[t.namespace]=$),$}function Ib(){return Dn}function Pb(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
+ `))}})(N.methodName,N.pluginName),Promise.resolve(N.method({payload:V,instance:n,abort:(te=V,j=y,F=N.pluginName,function(D,T){return Q({},te,{abort:{reason:D,plugins:T||[j],caller:f,from:F||j}})}),config:$h(N.pluginName,l,i),plugins:l})).then(function(D){var T=Me(D)?D:{};return Promise.resolve(Q({},V,T))})):V;var te,j,F})},Promise.resolve(r))).then(function(A){m[y]=A});m[y]=r})();return O&&O.then?O.then(b):b()})},Promise.resolve({}))).then(function(g){return Promise.resolve(e.exact.reduce(function(I,w,y){try{var m=e.exact.length===y+1,b=w.pluginName,O=i[b];return Promise.resolve(I).then(function(A){var N=g[b]?g[b]:{};if(h&&(N=A),Es(N,b))return Ps({data:N,method:f,instance:n,pluginName:b,store:s}),Promise.resolve(A);if(Es(A,b))return m&&Ps({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:N,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(A);var H=v(g[b],i[b]);return Promise.resolve(O[f]({abort:H.abort,payload:N,instance:n,config:$h(b,l,i),plugins:l})).then(function(V){var te=Me(V)?V:{},j=Q({},A,te),F=g[b];if(Es(F,b))Ps({data:F,method:f,instance:n,pluginName:b,store:s});else{var D=f+":"+b;(D.match(/:/g)||[]).length<2&&!f.match(Ah)&&!f.match(Uh)&&n.dispatch(Q({},h?j:N,{type:D,_:{called:D,from:"submethod"}}))}return Promise.resolve(j)})})}catch(A){return Promise.reject(A)}},Promise.resolve(r))).then(function(I){if(!(f.match(mr)||f.match(/^registerPlugin/)||f.match(Uh)||f.match(Ah)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),I._&&I._.originalAction===f)return I;var w=Q({},I,{_:{originalAction:I.type,called:I.type,from:"engineEnd"}});jh(I,e.exact.length)&&!f.match(/End$/)&&(w=Q({},w,{type:I.type+"Aborted"})),s.dispatch(w)}return I})})}catch(g){return Promise.reject(g)}},mr=/Start$/,Ah=/^bootstrap/,Uh=/^ready/;function Ps(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(Q({},t.data,{type:r,_:{called:r,from:"abort"}}))}function $h(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function Lh(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function qh(t,e){var r=t.replace(mr,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function Es(t,e){var r=t.abort;return!!r&&(r===!0||Nh(r,e)||r&&Nh(r.plugins,e))}function jh(t,e){var r=t.abort;if(!r)return!1;if(r===!0||It(r))return!0;var n=r.plugins;return Vr(r)&&r.length===e||Vr(n)&&n.length===e}function Vr(t){return Array.isArray(t)}function Nh(t,e){return!(!t||!Vr(t))&&t.includes(e)}function xh(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function dy(t){return Object.keys(t).reduce(function(e,r){return r==="type"||(e[r]=Me(t[r])?Object.assign({},t[r]):t[r]),e},{})}function hy(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===ee.enablePlugin&&a.dispatch({type:ee.initializeStart,plugins:c,disabled:[],fromEnable:!0,meta:o.meta}),l===ee.disablePlugin&&setTimeout(function(){return Th(o.meta.rid,{payload:o})},0),l===ee.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=[],I=o.disabled,w=v.map(function(m){var b=m.loaded,O=m.name,A=m.config;return Oh(m,function(){return b({config:A})},1e4).then(function(N){return n[O]||(a.dispatch({type:ee.pluginReadyType(O),name:O,events:Object.keys(m).filter(function(H){return!bs.includes(H)})}),n[O]=!0),p=p.concat(O),m}).catch(function(N){if(N instanceof Error)throw new Error(N);return g=g.concat(N.name),N})});Promise.all(w).then(function(m){var b={plugins:p,failed:g,disabled:I};setTimeout(function(){d.length===w.length+I.length&&a.dispatch(Q({},{type:ee.ready},b))},0)})}var y=(function(){if(l!==ee.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return Ch(a,e,t)},0),Promise.resolve((function(m,b,O,A,N){try{var H=De(b)?b():b,V=m.type,te=V.replace(mr,"");if(m._&&m._.called)return Promise.resolve(m);var j=O.getState(),F=(_=H,($=j.plugins)===void 0&&($={}),(q=m.options)===void 0&&(q={}),Object.keys(_).filter(function(S){var k=q.plugins||{};return Wg(k[S])?k[S]:k.all!==!1&&(!$[S]||$[S].enabled!==!1)}).map(function(S){return _[S]}));V===ee.initializeStart&&m.fromEnable&&(F=Object.keys(j.plugins).filter(function(S){var k=j.plugins[S];return m.plugins.includes(S)&&!k.initialized}).map(function(S){return H[S]}));var D=F.map(function(S){return S.name}),T=(function(S,k){var x=qh(S).map(function(z){return Lh(z,k)});return k.reduce(function(z,Y){var J=Y.name,fe=qh(S,J).map(function(Ce){return Lh(Ce,k)}),ne=fe[0],ue=fe[1],ae=fe[2];return ne.length&&(z.beforeNS[J]=ne),ue.length&&(z.duringNS[J]=ue),ae.length&&(z.afterNS[J]=ae),z},{before:x[0],beforeNS:{},during:x[1],duringNS:{},after:x[2],afterNS:{}})})(V,F);return Promise.resolve(Is({action:m,data:{exact:T.before,namespaced:T.beforeNS},state:j,allPlugins:H,allMatches:T,instance:O,store:A,EVENTS:N})).then(function(S){function k(){var Y=(function(){if(V.match(mr))return Promise.resolve(Is({action:Q({},x,{type:te+"End"}),data:{exact:T.after,namespaced:T.afterNS},state:j,allPlugins:H,allMatches:T,instance:O,store:A,EVENTS:N})).then(function(J){J.meta&&J.meta.hasCallback&&Th(J.meta.rid,{payload:J})})})();return Y&&Y.then?Y.then(function(){return S}):S}if(jh(S,D.length))return S;var x,z=(function(){if(V!==te)return Promise.resolve(Is({action:Q({},S,{type:te}),data:{exact:T.during,namespaced:T.duringNS},state:j,allPlugins:H,allMatches:T,instance:O,store:A,EVENTS:N})).then(function(Y){x=Y});x=S})();return z&&z.then?z.then(k):k()})}catch(S){return Promise.reject(S)}var _,$,q})(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 vy(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===ee.setItem||a===ee.removeItem){if(n.abort)return r(n);a===ee.setItem?t.setItem(i,o,s):t.removeItem(i,s)}return r(n)}}}}var py=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 hr.apply(void 0,o)(n)(a)}}}}};function my(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=Dh(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},Q({},e,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=Dh(r.type,ee.initialize),l=t()[u];return l&&u?(n[u]=Q({},e[u],{initialized:!0,loaded:!!l.loaded({config:l.config})}),Q({},e,n)):e}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=Q({},e[r.name],{loaded:!0}),Q({},e,n);switch(r.type){case ee.disablePlugin:return Q({},e,Mh(r.plugins,!1,e));case ee.enablePlugin:return Q({},e,Mh(r.plugins,!0,e));default:return e}}}function Dh(t,e){return t.substring(e.length+1,t.length)}function Mh(t,e,r){return t.reduce(function(n,a){return n[a]=Q({},r[a],{enabled:e}),n},r)}function Fh(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var gy={last:{},history:[]};function yy(t,e){t===void 0&&(t=gy);var r=e.options,n=e.meta;if(e.type===ee.track){var a=Fh(Q({event:e.event,properties:e.properties},Object.keys(r).length&&{options:r},{meta:n}));return Q({},t,{last:a,history:t.history.concat(a)})}return t}var wy={actions:[]};function by(t,e){t===void 0&&(t=wy);var r=e.payload;switch(e.type){case"queue":var n;return n=r&&r.type&&r.type===ee.identify?[e].concat(t.actions):t.actions.concat(e),Q({},t,{actions:n});case"dequeue":return[];default:return t}}var Kh=/#.*$/;function Sy(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(Kh,""):"")}var zh,Hh,Bh,Gh,Iy=function(t){if(t===void 0&&(t={}),!Te)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(Te){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(Kh,"")})(l),f={title:r,url:c,path:Sy(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),Q({},f,t)},Py={last:{},history:[]};function Ey(t,e){t===void 0&&(t=Py);var r=e.options;if(e.type===ee.page){var n=Fh(Q({properties:e.properties,meta:e.meta},Object.keys(r).length&&{options:r}));return Q({},t,{last:n,history:t.history.concat(n)})}return t}zh=(function(){if(!Te)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"})(),Hh=Te?document.referrer:null,Bh=ey(),Gh=ty();var Wh={initialized:!1,sessionId:On(),app:null,version:null,debug:!1,offline:!!Te&&!navigator.onLine,os:{name:zh},userAgent:Te?navigator.userAgent:"node",library:{name:ws,version:"0.13.1"},timezone:Gh,locale:Bh,campaign:{},referrer:Hh};function ky(t,e){t===void 0&&(t=Wh);var r=t.initialized,n=e.campaign;switch(e.type){case ee.campaign:return Q({},t,{campaign:n});case ee.offline:return Q({},t,{offline:!0});case ee.online:return Q({},t,{offline:!1});default:return r?t:Q({},Wh,t,{initialized:!0})}}var _y=["plugins","reducers","storage"];function Ry(t,e,r){if(Te){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function Ty(t){var e=Ry.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function Vh(){return Kt(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 lr[ur][ws].push(o.action||o),i(o)}})}}}function Jh(t){return function(){return hr(hr.apply(null,arguments),Vh())}}function ks(t){return t?yh(t)?t:[t]:[]}function Zh(t,e,r){t===void 0&&(t={});var n,a,i=On();return e&&(Wr[i]=(n=e,a=(function(o){for(var s,u=o||Array.prototype.slice.call(arguments),l=0;l<u.length;l++)if(De(u[l])){s=u[l];break}return s})(r),function(o){a&&a(o),n(o)})),Q({},t,{rid:i,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function Oy(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(S,k){if(De(k))return S.middlewares=S.middlewares.concat(k),S;if(k.NAMESPACE&&(k.name=k.NAMESPACE),!k.name)throw new Error("https://lytics.dev/errors/1");k.config||(k.config={});var x=k.EVENTS?Object.keys(k.EVENTS).map(function(J){return k.EVENTS[J]}):[];S.pluginEnabled[k.name]=!(k.enabled===!1||k.config.enabled===!1),delete k.enabled,k.methods&&(S.methods[k.name]=Object.keys(k.methods).reduce(function(J,fe){var ne;return J[fe]=(ne=k.methods[fe],function(){for(var ue=Array.prototype.slice.call(arguments),ae=new Array(ne.length),Ce=0;Ce<ue.length;Ce++)ae[Ce]=ue[Ce];return ae[ae.length]=b,ne.apply({instance:b},ae)}),J},{}),delete k.methods);var z=Object.keys(k).concat(x),Y=new Set(S.events.concat(z));if(S.events=Array.from(Y),S.pluginsArray=S.pluginsArray.concat(k),S.plugins[k.name])throw new Error(k.name+"AlreadyLoaded");return S.plugins[k.name]=k,S.plugins[k.name].loaded||(S.plugins[k.name].loaded=function(){return!0}),S},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Ft,setItem:Kt,removeItem:fr},i=(function(S){return function(k,x,z){return x.getState("user")[k]||(z&&Me(z)&&z[k]?z[k]:Rh(S)[k]||Ft(Ss(k))||null)}})(a),o=n.plugins,s=n.events.filter(function(S){return!bs.includes(S)}).sort(),u=new Set(s.concat(Un).filter(function(S){return!bs.includes(S)})),l=Array.from(u).sort(),c=function(){return o},f=new py,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},g=ry(),I=Rh(a),w=Q({},I,r,g.an_uid?{userId:g.an_uid}:{},g.an_aid?{anonymousId:g.an_aid}:{});w.anonymousId||(w.anonymousId=On());var y=Q({enable:function(S,k){return new Promise(function(x){T.dispatch({type:ee.enablePlugin,plugins:ks(S),_:{originalAction:ee.enablePlugin}},x,[k])})},disable:function(S,k){return new Promise(function(x){T.dispatch({type:ee.disablePlugin,plugins:ks(S),_:{originalAction:ee.disablePlugin}},x,[k])})}},n.methods),m=!1,b={identify:function(S,k,x,z){try{var Y=It(S)?S:null,J=Me(S)?S:k,fe=x||{},ne=b.user();Kt(Ss(kt),Y);var ue=Y||J.userId||i(kt,b,J);return Promise.resolve(new Promise(function(ae){T.dispatch(Q({type:ee.identifyStart,userId:ue,traits:J||{},options:fe,anonymousId:ne.anonymousId},ne.id&&ne.id!==Y&&{previousId:ne.id}),ae,[k,x,z])}))}catch(ae){return Promise.reject(ae)}},track:function(S,k,x,z){try{var Y=Me(S)?S.event:S;if(!Y||!It(Y))throw new Error("EventMissing");var J=Me(S)?S:k||{},fe=Me(x)?x:{};return Promise.resolve(new Promise(function(ne){T.dispatch({type:ee.trackStart,event:Y,properties:J,options:fe,userId:i(kt,b,k),anonymousId:i(pr,b,k)},ne,[k,x,z])}))}catch(ne){return Promise.reject(ne)}},page:function(S,k,x){try{var z=Me(S)?S:{},Y=Me(k)?k:{};return Promise.resolve(new Promise(function(J){T.dispatch({type:ee.pageStart,properties:Iy(z),options:Y,userId:i(kt,b,z),anonymousId:i(pr,b,z)},J,[S,k,x])}))}catch(J){return Promise.reject(J)}},user:function(S){if(S===kt||S==="id")return i(kt,b);if(S===pr||S==="anonId")return i(pr,b);var k=b.getState("user");return S?hh(k,S):k},reset:function(S){return new Promise(function(k){T.dispatch({type:ee.resetStart},k,S)})},ready:function(S){return m&&S({plugins:y,instance:b}),b.on(ee.ready,function(k){S&&S(k),m=!0})},on:function(S,k){if(!S||!De(k))return!1;if(S===ee.bootstrap)throw new Error(".on disabled for "+S);var x=/Start$|Start:/;if(S==="*"){var z=function(ne){return function(ue){return function(ae){return ae.type.match(x)&&k({payload:ae,instance:b,plugins:o}),ue(ae)}}},Y=function(ne){return function(ue){return function(ae){return ae.type.match(x)||k({payload:ae,instance:b,plugins:o}),ue(ae)}}};return h(z,$n),h(Y,Ln),function(){d(z,$n),d(Y,Ln)}}var J=S.match(x)?$n:Ln,fe=function(ne){return function(ue){return function(ae){return ae.type===S&&k({payload:ae,instance:b,plugins:o,abort:p}),ue(ae)}}};return h(fe,J),function(){return d(fe,J)}},once:function(S,k){if(!S||!De(k))return!1;if(S===ee.bootstrap)throw new Error(".once disabled for "+S);var x=b.on(S,function(z){k({payload:z.payload,instance:b,plugins:o,abort:p}),x()});return x},getState:function(S){var k=T.getState();return S?hh(k,S):Object.assign({},k)},dispatch:function(S){var k=It(S)?{type:S}:S;if(Un.includes(k.type))throw new Error("reserved action "+k.type);var x=Q({},k,{_:Q({originalAction:k.type},S._||{})});T.dispatch(x)},enablePlugin:y.enable,disablePlugin:y.disable,plugins:y,storage:{getItem:a.getItem,setItem:function(S,k,x){T.dispatch({type:ee.setItemStart,key:S,value:k,options:x})},removeItem:function(S,k){T.dispatch({type:ee.removeItemStart,key:S,options:k})}},setAnonymousId:function(S,k){b.storage.setItem(Et,S,k)},events:{core:Un,plugins:s}},O=n.middlewares.concat([function(S){return function(k){return function(x){return x.meta||(x.meta=Zh()),k(x)}}},v($n),hy(b,c,{all:l,plugins:s}),vy(a),cy(b),ly(b),v(Ln)]),A={context:ky,user:uy(a),page:Ey,track:yy,plugins:my(c),queue:by},N=hr,H=hr;if(Te&&t.debug){var V=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;V&&(N=V({trace:!0,traceLimit:25})),H=function(){return arguments.length===0?Vh():Me(typeof arguments[0])?Jh():Jh().apply(null,arguments)}}var te,j=(function(S){return Object.keys(S).reduce(function(k,x){return _y.includes(x)||(k[x]=S[x]),k},{})})(t),F=n.pluginsArray.reduce(function(S,k){var x=k.name,z=k.config,Y=k.loaded,J=n.pluginEnabled[x];return S[x]={enabled:J,initialized:!!J&&!k.initialize,loaded:!!Y({config:z}),config:z},S},{}),D={context:j,user:w,plugins:F},T=Ph((function(S){for(var k=Object.keys(S),x={},z=0;z<k.length;z++){var Y=k[z];typeof S[Y]===Pt&&(x[Y]=S[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})===mt||typeof ae(void 0,{type:iy})===mt)throw new Error(Gr+" "+ue+" "+mt)})})(x)}catch(ne){J=ne}return function(ne,ue){if(ne===void 0&&(ne={}),J)throw J;for(var ae=!1,Ce={},Ne=0;Ne<fe.length;Ne++){var Ke=fe[Ne],qe=ne[Ke],nt=(0,x[Ke])(qe,ue);if(typeof nt===mt){var Rt=oy(Ke,ue);throw new Error(Rt)}Ce[Ke]=nt,ae=ae||nt!==qe}return ae?Ce:ne}})(Q({},A,e)),D,H(N(sy.apply(void 0,O))));T.dispatch=(te=T.dispatch,function(S,k,x){var z=Q({},S,{meta:Zh(S.meta,k,ks(x))});return te.apply(null,[z])});var _=Object.keys(o);T.dispatch({type:ee.bootstrap,plugins:_,config:j,params:g,user:w,initialUser:r,persistedUser:I});var $=_.filter(function(S){return n.pluginEnabled[S]}),q=_.filter(function(S){return!n.pluginEnabled[S]});return T.dispatch({type:ee.registerPlugins,plugins:_,enabled:n.pluginEnabled}),n.pluginsArray.map(function(S,k){var x=S.bootstrap,z=S.config,Y=S.name;x&&De(x)&&x({instance:b,config:z,payload:S}),T.dispatch({type:ee.registerPluginType(Y),name:Y,enabled:n.pluginEnabled[Y],plugin:S}),n.pluginsArray.length===k+1&&T.dispatch({type:ee.initializeStart,plugins:$,disabled:q})}),Ty(function(S){T.dispatch({type:S?ee.offline:ee.online})}),(function(S,k,x){setInterval(function(){return Ch(S,k,x)},3e3)})(T,c,b),b}var $n="before",Ln="after",Ht="cookie",Bt=Qh(),Yh=qn,Cy=qn;function Xh(t){return Bt?qn(t,"",-1):fr(t)}function Qh(){if(Bt!==void 0)return Bt;var t=Ht+Ht;try{qn(t,t),Bt=document.cookie.indexOf(t)!==-1,Xh(t)}catch{Bt=!1}return Bt}function qn(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return Bt===!1&&(o?Kt(t,e):Ft(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 gt="localStorage",Ay=gs.bind(null,gt);dr(gt,"getItem",Ft),dr(gt,"setItem",Kt),dr(gt,"removeItem",fr);var yt="sessionStorage",Uy=gs.bind(null,yt);dr(yt,"getItem",Ft),dr(yt,"setItem",Kt),dr(yt,"removeItem",fr);function gr(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(Me(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var $y=Ay(),Ly=Uy(),qy=Qh();function Gt(t,e){if(t){var r=_s(e),n=!Cs(r),a=Rs(r)?gr(localStorage.getItem(t)):void 0;if(n&&!cr(a))return a;var i=Ts(r)?gr(Yh(t)):void 0;if(n&&i)return i;var o=Os(r)?gr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Ft(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function jn(t,e,r){if(t&&!cr(e)){var n={},a=_s(r),i=JSON.stringify(e),o=!Cs(a);return Rs(a)&&(n[gt]=xn(gt,e,gr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[gt]:Ts(a)&&(n[Ht]=xn(Ht,e,gr(Yh(t))),Cy(t,i),o)?n[Ht]:Os(a)&&(n[yt]=xn(yt,e,gr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[yt]:(n[Mt]=xn(Mt,e,Ft(t)),Kt(t,e),o?n[Mt]:n)}}function jy(t,e){if(t){var r=_s(e),n=Gt(t,ph),a={};return!cr(n.localStorage)&&Rs(r)&&(localStorage.removeItem(t),a[gt]=n.localStorage),!cr(n.cookie)&&Ts(r)&&(Xh(t),a[Ht]=n.cookie),!cr(n.sessionStorage)&&Os(r)&&(sessionStorage.removeItem(t),a[yt]=n.sessionStorage),!cr(n.global)&&Nn(r,Mt)&&(fr(t),a[Mt]=n.global),a}}function _s(t){return t?It(t)?t:t.storage:vh}function Rs(t){return $y&&Nn(t,gt)}function Ts(t){return qy&&Nn(t,Ht)}function Os(t){return Ly&&Nn(t,yt)}function Cs(t){return t===ph||t==="all"}function Nn(t,e){return t===vh||t===e||Cs(t)}function xn(t,e,r){return{location:t,current:e,previous:r}}var Ny={setItem:jn,getItem:Gt,removeItem:jy};function xy(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function ev(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 tv(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?ev(Object(r),!0).forEach(function(n){xy(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ev(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Dy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:Ny};return Oy(tv(tv({},e),t))}const As="@sesamy/sesamy-js",Dn="1.60.0";function My(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=Ky(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function Fy(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function Ky(t){return["#","?"].forEach(e=>t=Fy(t,e)),t}function zy(){My(()=>{wt.page()})}var Us="up",$s="down";function Hy(t){if(t===void 0&&(t={}),!Te)return ms;var e=nv(),r=Ls(),n=rv(),a=Mn(n,e),i=Mn(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return ms;var d=h.map(function(p){return Number(p)}),v=ay(function(){var p=nv(),g=(function(j,F){return F.map(function(D){return D===100?j-5:j*(D/100)})})(p,d),I=Ls(),w=rv(),y=Mn(w,p),m=Mn(I,p);if(c=y>c?y:c,f=m<f?m:f,!(o.length>=d.length)){var b=l===w,O=Us;b?O="initial":l<=w&&(O=$s);var A=g,N=d;(O===Us||b)&&(A=g.slice().reverse(),N=d.slice().reverse());var H=N.reduce(function(j,F,D){var T=A[D];return u.includes(F)&&w<=T&&(u=u.filter(function(_){return _!==F}),j.singleFunction=F),O===$s&&!o.includes(F)&&w>=T&&F>i?(s.push(F),j.callbacks=j.callbacks.concat(F),j):O===Us&&!o.includes(F)&&w<=T&&F<=y?(j.foundFunc=[F],j):(b&&w>=T&&j.foundFunc.length===0&&(j.foundFunc=[F]),!s.includes(F)&&w>=T&&(s.push(F),j.singleFunction?u.push(F):j.singleFunction=F),j)},{foundFunc:[],singleFunction:null,callbacks:[],direction:O});if(l=w,O===$s&&H.callbacks&&H.callbacks.forEach(function(j){De(t[j])&&(t[j]({trigger:j,direction:O,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(j))}),H.singleFunction){var V=H.singleFunction,te=H.direction;De(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 Ls(){return Te?document.body.scrollTop||document.documentElement.scrollTop:0}function By(){return Te?window.innerHeight||document.documentElement.clientHeight:0}function rv(){return Math.round(Ls()+By())}function nv(){if(!Te)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function Mn(t,e){return Math.round(t/e*100)}var qs="Event",av=qs+"Listener";function Gy(t){return function(e,r,n,a){var i=n||ms,o=a||!1;if(!Te)return i;var s=Fn(r),u=Fn(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+qs);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+av:"remove"+av,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?Wy(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 Fn(t,e){if(It(t))return e?Fn(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=Qg(t);return e?i.map(function(o){return It(o)?Fn(o,!0):o}).flat():i}function Wy(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var js=Gy(qs);function iv(t,e){return Te&&De(window[t])?(r=window[t],n=e,(a=window)===void 0&&(a=null),De(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[t]=e;var r,n,a}iv.bind(null,"onerror"),iv.bind(null,"onload");var ov=typeof window>"u",sv="hidden";function Vy(t){if(ov)return!1;var e=Jy(),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 Jy(){var t=["webkit","moz","ms","o"];return ov||sv in document?sv:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var Zy=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function Yy(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=Vy(function(s){s||r({type:"tabVisible"})});return n=[o].concat(Zy.map(function(s){return js(document,s,r)})).concat(js(window,"load",r)).concat(js(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function Xy(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(Jr(h),g),a&&c&&(c=!1,a(Jr(r),g),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(Jr(h),g))},s)}var p=Yy(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:Jr(h,f),idle:c?Jr(r,f):0}}}}function Jr(t,e){return e?0:Math.round((new Date-t)/1e3)}const cv=5e3;class Qy{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),Xy({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:cv}),Hy({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*cv: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 uv(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function ew(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 lv="sesamy_session_id";function tw(){let t=sessionStorage.getItem(lv);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(lv,t)),t}function fv(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 rw(t){return t?Object.fromEntries(Object.entries(t).filter(([e,r])=>r!==void 0)):{}}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"}},dv=[],hv=!1,Wt;function vv(){const t=window.location.pathname;return dv.find(e=>e.path?t.includes(e.path):!0)}function nw(t,e){dv=t.content||[];const r=vv();r&&r.type==="article"&&(Fe={...Fe,...rw(r.selectors)},hv=r.enablePaywallSettingsUrlFallback||!1),Wt=e}function aw(t,e){const{selector:r}=e;return r===Fe.article.selector?t:t.querySelector(r)}function pv(t,e){if(t)return e.attribute?e.attribute==="textContent"?t.textContent??void 0:t.getAttribute(e.attribute)??pv(t.parentElement,e):t.textContent??void 0}function yr(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 mv({publisherContentId:t,key:e,defaultValue:r=""}){return(t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null)?.getAttribute(e)||yr(`sesamy:${e}`)||yr(`og:${e}`)||yr(e)||r}function iw(){const t=document.querySelectorAll(Fe.article.selector);return Array.from(t).map(Kn).filter(e=>e!==null)}function Kn(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:fv(e)},n=(i,o,s,u)=>{const l=aw(e,o);if(l){const c=pv(l,o)||mv({publisherContentId:s,key:i});c!==void 0&&(r[i]=u?u(c):c)}};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,i=>parseFloat(i)),n("currency",Fe.currency,r.id),n("url",Fe.url,r.id),n("pass",Fe.pass,r.id),n("paywallUrl",Fe.paywallUrl,r.id),n("accessLevel",Fe.accessLevel,r.id,i=>i||"entitlement");const a=vv();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)),hv&&!r.paywallUrl){const i=document.querySelector("sesamy-paywall");if(i){const o=i.getAttribute("settings-url");o&&(r.paywallUrl=o)}}return r}async function ow(t){const e=Kn(t);if(!e)throw new Error("Could not find article element");if(e.paywallUrl){const a=(await Wt.paywalls.get(e.paywallUrl)).settings.template==="LOGIN"?"logged-in":"entitlement";if(e.accessLevel=a,a==="logged-in"){const i=await Wt.auth.isAuthenticated();return e.hasAccess=i,e}}if(!e.url)throw new Error("Article must have a URL");const r=await Wt.entitlements.hasAccess(e.url,e.pass?.split(",")||[]);return e.hasAccess=!!r,e.entitlement=r,e}async function sw(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=Kn(r);if(!n?.url)throw new Error("Could not find content for element");const a=await Wt.entitlements.hasAccess(n.url||"",n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await Wt.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||fv(r.parentElement||r);return Wt.proxy.getContent(i.token,n.url,o)}let gv=!1,zn,Hn,Ns;function yv(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:Ns,requestId:Math.random().toString(36).slice(2,9),sessionId:tw(),timestamp:new Date().toISOString(),version:Dn,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:yr("sesamy:item-src"),publisherContentId:yr("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:As,userAgent:navigator.userAgent,clientId:Ns}}}))}const wv=ew(async t=>{if(t.length>0){const e=yv(t);gv?navigator.sendBeacon(Hn,e):(await fetch(Hn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function xs(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(Hn,yv([e]))}else wv.push(t)}function cw(){return gv=!0,wv.flush()}function uw(t,e,r){zn=e,Hn=`${st("logs",r)}/events`,Ns=t}const lw={name:"custom-analytics-plugin",page:({payload:t})=>{if(!zn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;xs({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!zn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;xs({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!zn)return;const{properties:e,anonymousId:r,userId:n}=t;xs({anonymousId:r,userId:n,properties:e,type:"identify"})}},bv=["source","medium","campaign","term","content"],_t="utm_",fw=1800*1e3;function Sv(t){return t?Date.now()-parseInt(t,10)>fw:!0}function Iv(){const t=document.referrer||"";if(!t)return;const e=Gt(`${_t}set_at`);(Sv(e)||!Gt(`${_t}referrer`))&&jn(`${_t}referrer`,t)}function dw(){const t=()=>{const r={};for(const a of bv){const i=Gt(`${_t}${a}`);i&&(r[`utm_${a}`]=i)}const n=Gt(`${_t}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){Iv()},campaign({payload:r}){const n=r?.campaign||{},a=Gt(`${_t}set_at`);if(Object.keys(n).length>0&&Sv(a)){for(const o of bv){const s=n[o];s&&jn(`${_t}${o}`,s)}jn(`${_t}set_at`,String(Date.now()))}Iv()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const hw=dw(),Pv=new Map,Ev=new Map;function vw({clientId:t,enabled:e=!0,environment:r}){uw(t,e,r),e&&(window.addEventListener("beforeunload",()=>{Ev.forEach((n,a)=>{n.bind(a)()}),cw()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&Pv.forEach((n,a)=>{n.bind(a)()})}),zy(),uv(()=>{const n=new Qy({element:document.body,viewCallback:()=>{wt.page()},activeDurationCallback:(a,i,o)=>{wt.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{wt.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{wt.track("scroll",{scroll:a.scrollMax})}});Ev.set(document.body,()=>{n.flush()}),Pv.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(He.AUTHENTICATED,async n=>{const a=n;await wt.identify(a.detail.sub)}),window.addEventListener(He.LOGOUT,async()=>{await wt.track("logout",{}),await wt.reset()}))}const wt=Dy({app:As,version:Dn,plugins:[hw,lw]});function kv(t,e){wt.track(t,e)}function _v(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});kv(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function pw(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function mw(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function gw(){return/android/i.test(navigator.userAgent)}let Oe,Rv,Zr,Ds=!1,Bn=!1;Hr()&&window.addEventListener("pageshow",()=>{Bn=!1});const wr="sesamyAccessToken",Ms="sesamyRefreshToken",Gn="sesamySilentAuthThrottle",yw=300*1e3;async function Wn(){return Ds?!0:new Promise((t,e)=>{const r=setTimeout(()=>{Ds?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(He.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function ww(t){if(!t)return null;const e=localStorage.getItem(Ms);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(Ms),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(Ms,i.refresh_token),localStorage.setItem(wr,i.access_token),i.access_token}catch{zs()}}async function Fs(){const t=localStorage.getItem(wr);if(!t)return null;const e=Hs(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await ww(e);if(r)return r;localStorage.removeItem(wr)}return t}let Vn=null;const bw=64;function Sw(){try{if(Vn!==null)return Vn;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===bw)return Vn=!0,!0}}catch(t){ce(`Error checking for existing auth0 tokens: ${t.message}`)}return Vn=!1,!1}function Iw(t){if(t.domains&&t.domains.length>0){const e=br(window.location.href);if(e){for(const r of t.domains)if(br(`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 br(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 Pw(t){if(t.enabled===!1)return;Rv=t.organization;const e=Iw(t);Zr=e&&!Sw()?e:dh("token",t.environment);const r={domain:Zr,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",br(window.location.href)!==br(`https://${Zr}`)&&(r.useRefreshTokens=!0),ce(`Initializing auth0 client: ${JSON.stringify(r)}`),Oe=await _g(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");try{const u=await Oe.handleRedirectCallback();ce(`Login result: ${JSON.stringify(u)}`);const l=await Oe.getUser();if(!l)throw ce("No user found"),new Error("No user found");ce(`User found ${JSON.stringify(l)}`),Ks(),Ut(He.AUTHENTICATED,l),ce("Rewrite url")}catch(u){alert("There was an error logging in"),console.error(u)}const o=new URL(location.href),s=o.searchParams;s.delete("code"),s.delete("state"),o.search=s.toString(),window.history.replaceState({},document.title,o.toString())}Ds=!0,Ut(He.AUTH_INITIALIZED,{})}async function Yr(){return await Wn(),await Fs()?!0:Oe?Oe.isAuthenticated():!1}async function Ew(){return await Wn(),await Fs()?(ce("Using local user"),{sub:"local",name:"Local User"}):Oe?Oe.getUser():null}function Tv(t){if(Bn)return ce("Login already in progress"),null;if(Bn=!0,setTimeout(()=>{Bn=!1},3e3),localStorage.removeItem(wr),!Oe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:Rv,redirect_uri:window.location.href,ui_locales:fs(),incognito:ps(),...e}}}async function Jn(t){const e=Tv(t);if(e)return Oe.loginWithRedirect(e)}async function Ov(t){const e=Tv(t);if(!e)return;await Oe.loginWithPopup(e,{timeoutInSeconds:1800}),Ks(),_v(He.AUTHENTICATED,await Oe.getUser()).canceled||window.location.reload()}async function kw(t){return Zr&&br(window.location.href)!==br(`https://${Zr}`)&&(mw()||gw()||ps())?Ov(t):Jn(t)}function _w(){try{const t=sessionStorage.getItem(Gn);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<yw}catch{return sessionStorage.removeItem(Gn),!1}}function Rw(){try{const t={timestamp:Date.now()};sessionStorage.setItem(Gn,JSON.stringify(t))}catch{ce("Failed to set silent auth throttle in sessionStorage")}}function Ks(){try{sessionStorage.removeItem(Gn)}catch{}}async function Vt(t=!0,e=!1){await Wn();const r=await Fs();if(r)return r;if(!e&&_w()){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=Hs(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await Oe.getTokenSilently({cacheMode:e?"off":"on"})),Ks(),n}catch(n){const a=n;if(ce(`Failed to get token silently: ${a.message}`),Rw(),await Oe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await zs(),t)throw n;return null}}async function zs(t={}){if(await Wn(),localStorage.removeItem(wr),Ut(He.LOGOUT,{}),!!Oe)return ce(`Logout with options: ${JSON.stringify(t)}`),Oe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function Hs(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 Bs(t){const e=Hs(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");ce("Set token"),localStorage.setItem(wr,t),Ut(He.AUTHENTICATED,e)}const Tw=(t,e)=>e.skipDedupe||e.method!=="GET",Ow=(t,e)=>e.method+"@"+t,Cw=t=>t.clone(),Cv=({skip:t=Tw,key:e=Ow,resolver:r=Cw}={})=>{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)}}},Aw=(t,e)=>t*e,Uw=t=>t&&t.ok,Av=({delayTimer:t=500,delayRamp:e=Aw,maxAttempts:r=10,until:n=Uw,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 I=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))},I)}).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)})};class Xr 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,Xr)}isClientError(){return this.status>=400&&this.status<500}isServerError(){return this.status>=500}isForbiddenError(){return this.status===403}isNotFoundError(){return this.status===404}}var Zn=(t=>(t.BROWSER="browser",t.NORMAL="normal",t))(Zn||{});const $w="application/json",Uv="Content-Type",Sr=Symbol(),$v=Symbol();function Lv(t={}){var e;const r=t instanceof Array?Object.fromEntries(t):t;return(e=Object.entries(r).find(([n])=>n.toLowerCase()===Uv.toLowerCase()))===null||e===void 0?void 0:e[1]}function qv(t){return/^application\/.*json.*/.test(t)}const Jt=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]=Jt(o,i,r):n[a]=i,n},{...t})},Ir={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 Lw(t,e=!1){Ir.options=e?t:Jt(Ir.options,t)}function qw(t,e=!1){Ir.polyfills=e?t:Jt(Ir.polyfills,t)}function jw(t){Ir.errorType=t}const Nw=t=>e=>t.reduceRight((r,n)=>n(r),e)||e;class jv extends Error{}const xw=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=Jt(a.options,n);let f=r;const h=Nw(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 jv;if(b.cause=d,b.stack=b.stack+`
36
+ CAUSE: `+d.stack,b.response=y,b.status=y.status,b.url=f,y.type==="opaque")throw b;const O=a.errorType==="json"||((m=y.headers.get("Content-Type"))===null||m===void 0?void 0:m.split(";")[0])==="application/json";return(a.errorType?O?y.text():y[a.errorType]():Promise.resolve(y.body)).then(A=>{if(b.message=typeof A=="string"?A:y.statusText,A)if(O&&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),O=b?m[Sr]:m,A=O?.status&&l.get(O.status)||l.get(O?.name)||b&&l.has(Sr)&&l.get(Sr);if(A)return A(O,t);const N=l.get($v);if(N)return N(O,t);throw O}),g=y=>m=>p(y?v.then(b=>b&&b[y]()).then(b=>m?m(b):b):v.then(b=>m?m(b):b)),I={_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}),I);return o.reduce((y,m)=>m(y,t),w)},Dw={_url:"",_options:{},_config:Ir,_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:Jt(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:Jt(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:Jt(this._options,{headers:e})}},accept(t){return this.headers({Accept:t})},content(t){return this.headers({[Uv]: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($v,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=Lv(n._options.headers),i=this._config.polyfill("FormData",!1),o=typeof r=="object"&&!(i&&r instanceof i)&&(!n._options.headers||!a||qv(a));return n=r?o?n.json(r,a):n.body(r):n,xw(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=Lv(this._options.headers);return this.content(e||qv(r)&&r||$w).body(JSON.stringify(t))}};function rt(t="",e={}){return{...Dw,_url:t,_options:e}}rt.default=rt,rt.options=Lw,rt.errorType=jw,rt.polyfills=qw,rt.WretchError=jv;const Mw=(t,e)=>e.skipDedupe||e.method!=="GET",Fw=(t,e)=>e.method+"@"+t,Kw=t=>t.clone(),zw=({skip:t=Mw,key:e=Fw,resolver:r=Kw}={})=>{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)}}},Hw=(t,e)=>e.skipCache||e.method!=="GET",Bw=(t,e)=>e.method+"@"+t,Gw=()=>!1,Ww=()=>null,Vw=t=>t.ok,Jw=({throttle:t=1e3,skip:e=Hw,key:r=Bw,clear:n=Gw,invalidate:a=Ww,condition:i=Vw,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(I=>{typeof I=="string"?s.delete(I):I instanceof RegExp&&s.forEach((w,y)=>{I.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 I=s.get(p).clone();return o&&Object.defineProperty(I,o,{value:p,enumerable:!1}),Promise.resolve(I)}else if(u.has(p))return new Promise((I,w)=>{u.get(p).push([I,w])})}return u.has(p)||u.set(p,[]),c(p),h(d,v).then(I=>(i(I.clone())&&s.set(p,I.clone()),u.get(p).forEach(([w])=>w(I.clone())),u.delete(p),I)).catch(I=>{throw u.get(p).forEach(([,w])=>w(I)),u.delete(p),I})};return f.cacheResponse=function(h,d){c(h),s.set(h,d)},f.cache=s,f.inflight=u,f.throttling=l,f},Zw=(t,e)=>t*e,Yw=t=>t&&t.ok,Xw=({delayTimer:t=500,delayRamp:e=Zw,maxAttempts:r=10,until:n=Yw,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 I=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))},I)}).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)})},Qw="@sesamy/sdk",eb="1.15.0";class tb{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 Qr="sesamyCacheTimestamp",rb=t=>{const{libraryName:e=Qw,libraryVersion:r=eb,cache:n}=t,a=n?.storage||new tb,i=[s=>async(u,l)=>{if(n?.mode===Zn.BROWSER){let c;typeof sessionStorage<"u"?(c=sessionStorage.getItem(Qr),c||(c=Date.now().toString(),sessionStorage.setItem(Qr,c))):(c=a.get(Qr),c||(c=Date.now().toString(),a.set(Qr,c)));const f={...l,headers:{...l.headers,"Cache-Timestamp":c}};return s(u,f)}return s(u,l)},s=>async(u,l)=>{const c=l.skipAuth===!0,f={...l};if(delete f.skipAuth,c)return s(u,f);const h=await t.tokenProvider(),d={...f,headers:{...f.headers,Authorization:`Bearer ${h}`}};return s(u,d)},zw()];n?.mode===Zn.NORMAL&&i.push(Jw({throttle:300*1e3,skip:(s,u)=>u.method!=="GET"})),i.push(Xw({delayTimer:1e3,delayRamp:(s,u)=>s*u,maxAttempts:3,until:s=>!!(s&&(s.ok||s.status>=400&&s.status<500)),retryOnNetworkError:!1}));const o=rt(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.skipAuth&&(f.skipAuth=!0);const h=(u.method||"GET").toLowerCase();let d;switch(h){case"get":d=c.options(f).get();break;case"post":d=c.options(f).post(u.body?JSON.parse(u.body):void 0);break;case"put":d=c.options(f).put(u.body?JSON.parse(u.body):void 0);break;case"patch":d=c.options(f).patch(u.body?JSON.parse(u.body):void 0);break;case"delete":d=c.options(f).delete();break;default:d=c.options(f).get()}const v=await d.res();if(v.ok&&["post","patch","put","delete"].includes(h)&&ct(),v.status===204)return null;if(!v.ok){const p=await v.text().catch(()=>"Unknown error");throw new Xr(v.status,v.statusText,v.url,`API Error ${v.status}: ${p}`,p)}return await v.json()}catch(l){if(l instanceof Xr)throw l;const c=l.status||500,f=l.message||"Unknown error",h=`${t.baseUrl}${s}`;throw new Xr(c,f,h,`API Error ${c}: ${l.message||"Unknown error"}`,l.message||"Unknown error")}}}},ct=()=>(typeof sessionStorage<"u"&&sessionStorage.removeItem(Qr),"Cache cleared"),en={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"})}},Gs={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`)},Nv={list:async t=>t.request("/subscriptions"),get:async(t,e)=>t.request(`/subscriptions/${e}`)},xv={get:async(t,e)=>t.request(`/products/${e}`),autoOnboard:async(t,e)=>t.request(`/products/${e}/auto-onboard`,{method:"POST"})},tn={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"})},Ws={get:async t=>t.request("/user-metadata"),set:async(t,e,r)=>{await t.request(`/user-metadata/${e}`,{method:"PUT",body:JSON.stringify({value:r})})},delete:async(t,e)=>{await t.request(`/user-metadata/${e}`,{method:"DELETE"})}},Yn={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)})},Vs={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"})}},Pr={generateCheckoutLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkout`);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(`meta-${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()}},Js={generateLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkout`);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(`meta-${n}`,a)}),r.toString()},create:async(t,e)=>t.request("/checkout",{method:"POST",body:JSON.stringify(e),skipAuth:!0}),get:async(t,e)=>t.request(`/checkout/${e}`,{skipAuth:!0}),update:async(t,e,r)=>t.request(`/checkout/${e}`,{method:"PATCH",body:JSON.stringify(r),skipAuth:!0})},Dv={list:async t=>t.request("/bills"),get:async(t,e)=>t.request(`/bills/${e}`)},Mv={list:async t=>t.request("/fulfillments"),create:async(t,e)=>t.request("/fulfillments",{method:"POST",body:JSON.stringify(e)})},nb={get:async(t,e)=>{try{return new URL(e),t.request(e)}catch{return t.request(`/paywalls/${e}`)}}},ab={list:async t=>t.request("/payment-issues")},ib={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)}},ob={list:async(t,e)=>{const r=(e?new URLSearchParams({q:e}):new URLSearchParams).toString(),n=r?`/transactions?${r}`:"/transactions";return t.request(n)}},Fv={get:async t=>t.request("/vendor"),list:async t=>t.request("/vendors")},sb=t=>{const e=rb(t);return{profile:{get:r=>en.get(e,r),update:(r,n)=>en.update(e,r,n),checkSpotifyLink:()=>en.checkSpotifyLink(e),unlinkSpotify:()=>en.unlinkSpotify(e),delete:()=>en.delete(e)},entitlements:{list:r=>Gs.list(e,r),get:r=>Gs.get(e,r),getAccess:r=>Gs.getAccess(e,r)},subscriptions:{list:()=>Nv.list(e),get:r=>Nv.get(e,r)},products:{get:r=>xv.get(e,r),autoOnboard:r=>xv.autoOnboard(e,r)},contracts:{list:()=>tn.list(e),get:r=>tn.get(e,r),cancel:r=>tn.cancel(e,r),createAmendment:(r,n)=>tn.createAmendment(e,r,n),confirmAmendment:(r,n)=>tn.confirmAmendment(e,r,n)},userMetadata:{get:()=>Ws.get(e),set:(r,n)=>Ws.set(e,r,n),delete:r=>Ws.delete(e,r)},tallies:{list:()=>Yn.list(e),get:r=>Yn.get(e,r),update:(r,n)=>Yn.update(e,r,n),create:r=>Yn.create(e,r)},tags:{list:()=>Vs.list(e),add:r=>Vs.add(e,r),remove:r=>Vs.remove(e,r)},checkouts:{generateLink:(r,n)=>Pr.generateCheckoutLink(r,n),create:r=>Js.create(e,r),get:r=>Js.get(e,r),update:(r,n)=>Js.update(e,r,n)},links:{generateCheckoutLink:(r,n)=>Pr.generateCheckoutLink(r,n),generateAccountLink:(r,n)=>Pr.generateAccountLink(r,n),generateChangePaymentLink:(r,n)=>Pr.generateChangePaymentLink(r,n),generateChangePlanLink:(r,n)=>Pr.generateChangePlanLink(r,n),generateConsumeLink:(r,n)=>Pr.generateConsumeLink(r,n)},bills:{list:()=>Dv.list(e),get:r=>Dv.get(e,r)},fulfillments:{list:()=>Mv.list(e),create:r=>Mv.create(e,r)},paywalls:{get:r=>nb.get(e,r)},paymentIssues:{list:()=>ab.list(e)},proxy:{content:(r,n,a,i)=>ib.content(e,r,n,a,i)},transactions:{list:r=>ob.list(e,r)},vendor:{get:()=>Fv.get(e),list:()=>Fv.list(e)}}};class cb{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 Zs(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function Kv(t,e){if(Zs(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 zv(t){return t.endsWith("/")?t.slice(0,-1):t}function Hv(t,e){if(!Zs(t)||!Zs(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&zv(r.pathname)===zv(n.pathname)}function ub(t,e,r){const n=new URL(`${st("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=Kv(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(`meta-${c}`,String(f))}),n}const Bv="sesamySignedURLs";function Ys(){const t=sessionStorage.getItem(Bv);return t?JSON.parse(t):[]}function lb(t){const e=Ys();e.push(t),ce(`Adding signed URL: ${t}`),sessionStorage.setItem(Bv,JSON.stringify(e))}function fb(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const Xs="sesamyAttribution";function db(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 hb(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function Qs(){return db(Xs)||{}}function Gv(t){if(t===null)localStorage.removeItem(Xs);else{ce(`Setting attribution ${JSON.stringify(t)}`);const e=Qs()??{},r=fb({...e,...hb(t)});localStorage.setItem(Xs,JSON.stringify({value:r}))}}function vb(t){const e=t.endpoint||st("api2",t.environment),n=sb({baseUrl:e,tokenProvider:async()=>{const _=await Vt(!0);if(!_)throw new Error("No access token available");return _},libraryName:As,libraryVersion:Dn,vendorId:t.vendorId,cache:{mode:Zn.BROWSER,storage:new cb}}),a=_=>async($,q)=>{let S=sessionStorage.getItem(lh);S||(S=Date.now().toString(),sessionStorage.setItem(lh,S));const k={...q,headers:{...q.headers,"Cache-Timestamp":S}};return _($,k)},i=(_=!0)=>$=>async(q,S)=>{let k=null;if(k=await Vt(_),!k){if(_)throw new Error("No access token available");return $(q,S)}const x={...S,headers:{...S.headers,...k?{Authorization:`Bearer ${k}`}:{}}};return $(q,x)},o=_=>($,q)=>{if(q.headers&&"Authorization"in q.headers)return _($,q);const S=localStorage.getItem("__anon_id"),k=btoa(`${t.clientId}|${S}:`),x={...q,headers:{...q.headers,Authorization:`Basic ${k}`}};return _($,x)},s=rt(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),Cv(),Av({delayTimer:1e3,delayRamp:(_,$)=>_*$,maxAttempts:3,until:_=>!!(_&&(_.ok||_.status>=400&&_.status<500)),retryOnNetworkError:!1})]),u=rt(e).headers({"Content-Type":"application/json"}).middlewares([a,o,Cv(),Av({delayTimer:1e3,delayRamp:(_,$)=>_*$,maxAttempts:3,until:_=>!!(_&&(_.ok||_.status>=400&&_.status<500)),retryOnNetworkError:!1})]);async function l(_={}){const{waitForEntitlementAfter:$,includeSignedLinks:q=!0}=_,S=await Yr()?await n.entitlements.list({waitForEntitlementAfter:$?.toISOString()}):[];return q&&S.push(...Ys()),S}async function c(_,$=[]){return(await l())?.find(k=>{if(_){const{sku:x,purchaseOption:z}=Kv(_);if("sku"in k&&x===k.sku||z&&"purchaseOptionsId"in k&&z===k.purchaseOptionsId||Hv(_,k.url))return!0}return!!$.some(x=>Hv(x,k.url))})}async function f(_,$,q){const S=new URL(st("api2",t.environment));return S.pathname="/proxy",S.searchParams.set("url",$),q&&S.searchParams.set("selector",q),rt(S.toString()).headers({Authorization:`Bearer ${_}`}).get().text()}async function h(_){if(!_)throw new Error("SKU is required to get fulfillments");return await Yr()?await s.get(`/fulfillments?sku=${encodeURIComponent(_)}`).json():[]}async function d(_,$){if(!_||!$)throw new Error("SKU and itemId are required to request delivery");return(await s.post({sku:_},`/fulfillments/${encodeURIComponent($)}/request-delivery?`).res()).ok}async function v(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),s.get("/subscriptions").json()}async function p(_){return(await n.transactions.list())?.find(q=>q.id===_)}async function g(){return await s.url("/tags").get().json()}async function I(_){const $=await s.url(`/tags/${encodeURIComponent(_)}`).delete().res();return ct(),$.ok}async function w(_){const $=await s.url("/tags").post(encodeURIComponent(_)).res();return Ut(He.USER_ATTRIBUTE_CHANGED,{}),ct(),$.ok}async function y(_){return(await u.url("/tallies").get().json())[_]}async function m(){return await u.url("/tallies").get().json()}async function b(_){const $=await u.url(`/tallies/${_}`).delete().res();return ct(),$.ok}async function O(_,$){return await u.url(`/tallies/${encodeURIComponent(_)}/push`).post($).json()}async function A(){return await Vt(!1)?await s.url("/profile").get().json():null}async function N(_){const $=await s.url("/profile").patch(_).res();return ct(),$.ok}async function H(){return(await s.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function V(){return(await s.url("/profile/unlink-spotify").post().res()).ok}async function te(_){const $=await Vt(!1);if(!$)throw new Error("No access token available");const q=new URL(`${st("access-sync",t.environment)}/spotify/sesamy-callback`);q.searchParams.set("access_token",$),q.searchParams.set("state",_),window.location.href=q.toString()}async function j(_){const $=await s.url(`/products/${encodeURIComponent(_)}/auto-onboard`).post().json();return $.length&&ct(),$}async function F(_,$=3600){const{shortlink:q}=await rt(Og).post({url:_,ttl:$}).json();return q}async function D(_){const $=await Vt(!1,!0);let q;const S=_.language||fs(),k=Qs();switch(_.target){case"account":q=new URL(`${st("account",t.environment)}/${encodeURIComponent(_.language||S)}/subscriptions/${encodeURIComponent(t.clientId)}${_.contractId?`/${encodeURIComponent(_.contractId)}`:""}`),q.searchParams.set("sesamy-redirect-url",_.redirectUrl||window.location.href);break;case"change-payment":q=new URL(`${st("account",t.environment)}/${encodeURIComponent(_.language||S)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(_.contractId)}/change-payment-method`),q.searchParams.set("sesamy-redirect-url",_.redirectUrl||window.location.href);break;case"change-plan":q=new URL(`${st("account",t.environment)}/${encodeURIComponent(_.language||S)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(_.contractId)}/edit-plan`),q.searchParams.set("sesamy-redirect-url",_.redirectUrl||window.location.href);break;case"consume":q=new URL(`${st("consume",t.environment)}/${encodeURIComponent(_.language||S)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(_.sku)}`),_.episodeId?q.href+=`/${_.episodeId}`:q.href+="/listen",q.searchParams.set("sesamy-redirect-url",_.redirectUrl||window.location.href);break;case"checkout":q=ub(t,{language:S,..._},k);break;default:throw new Error("Invalid target")}return $&&(q.hash=`#access_token=${$}`),_.shorten?F(q.href,_.ttl):q.href}async function T(){const _=await Vt(!1),$=new URL(`${st("account",t.environment)}/subscriptions/${t.clientId}`);_&&($.hash=`#access_token=${_}`),window.location.href=$.toString()}return{autoOnboardProduct:j,bills:n.bills,checkouts:n.checkouts,contracts:n.contracts,deleteTag:I,deleteTally:b,entitlements:n.entitlements,generateLink:D,getProxyContent:f,getEntitlements:l,getFulfillments:h,requestDelivery:d,hasAccess:c,isSpotifyLinked:H,linkSpotify:te,openHostedAccountPage:T,paywalls:n.paywalls,paymentIssues:n.paymentIssues,getProfile:A,products:n.products,getSubscriptions:v,getTally:y,getTallies:m,getTags:g,getTransaction:p,transactions:n.transactions,userMetadata:n.userMetadata,pushTally:O,setTag:w,unlinkSpotify:V,updateProfile:N,vendor:n.vendor}}const pb=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function mb(){return new Promise(t=>{const e=pb.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 gb(){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}}const Wv="sesamyFlags";async function Vv(t){try{localStorage.setItem(Wv,JSON.stringify(t))}catch{ce("Failed to save flags to localStorage")}}async function yb(t,e){const r=await Xn();r[t]=e,await Vv(r)}async function wb(t){return(await Xn())[t]}async function bb(t){const e=await Xn();t in e&&(delete e[t],await Vv(e))}async function Xn(){try{const t=localStorage.getItem(Wv);return t?JSON.parse(t):{}}catch{return{}}}function Sb(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:I,hasAccess:w,isSpotifyLinked:y,linkSpotify:m,openHostedAccountPage:b,paywalls:O,paymentIssues:A,products:N,pushTally:H,requestDelivery:V,setTag:te,transactions:j,unlinkSpotify:F,updateProfile:D,userMetadata:T,vendor:_}=vb(t),$={analytics:{track:kv},attribution:{get:Qs,set:Gv},auth:{getUser:f,getTokenSilently:Vt,isAuthenticated:Yr,loginWithRedirect:Jn,loginWithPopup:Ov,login:kw,logout:zs,setToken:Bs},bills:r,browser:{detectAdblock:mb,isInAppBrowser:gb,isIncognito:ps},checkouts:n,clearCache:ct,content:{list:iw,get:Kn,getLanguage:fs,hasAccess:ow,unlock:sw,getPropertyFromHTML:mv},contracts:a,entitlements:{...s,access:s.getAccess,hasAccess:w,list:l,signedLinks:Ys},events:{emit:_v,cancel:pw},flags:{get:wb,set:yb,list:Xn,delete:bb},fulfillments:{list:c,requestDelivery:V},generateLink:u,getVersion:Ib,isReady:()=>ft.isInitialized,log:ce,paywalls:O,paymentIssues:A,products:{...N,autoOnboard:e,linkSpotify:m},profile:{get:f,isSpotifyLinked:y,openHostedAccountPage:b,unlinkSpotify:F,update:D},proxy:{getContent:h},subscriptions:{list:d},tags:{delete:i,list:v,set:te},tallies:{delete:o,get:p,list:g,push:H},transactions:{...j,get:I},userMetadata:T,vendor:_,setToken:Bs};return t.namespace&&(window[t.namespace]=$),$}function Ib(){return Dn}function Pb(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;
@@ -6117,7 +6117,7 @@ function xy() {
6117
6117
  };
6118
6118
  return Ty(Dd(Dd({}, e), t));
6119
6119
  }
6120
- const Qs = "@sesamy/sesamy-js", Vn = "1.59.0";
6120
+ const Qs = "@sesamy/sesamy-js", Vn = "1.60.0";
6121
6121
  function Dy(t) {
6122
6122
  if (typeof window > "u") return;
6123
6123
  const { addEventListener: e, history: r, location: n } = window;
@@ -7479,7 +7479,7 @@ const Dw = (t, e) => e.skipDedupe || e.method !== "GET", Mw = (t, e) => e.method
7479
7479
  throw d;
7480
7480
  return h(null, d);
7481
7481
  });
7482
- }, Xw = "@sesamy/sdk", Qw = "1.14.0";
7482
+ }, Xw = "@sesamy/sdk", Qw = "1.15.0";
7483
7483
  class eb {
7484
7484
  cache = /* @__PURE__ */ new Map();
7485
7485
  get(e) {
@@ -7508,14 +7508,17 @@ const Mr = "sesamyCacheTimestamp", tb = (t) => {
7508
7508
  }
7509
7509
  return s(u, l);
7510
7510
  }, (s) => async (u, l) => {
7511
- const c = await t.tokenProvider(), f = {
7512
- ...l,
7511
+ const c = l.skipAuth === !0, f = { ...l };
7512
+ if (delete f.skipAuth, c)
7513
+ return s(u, f);
7514
+ const h = await t.tokenProvider(), d = {
7515
+ ...f,
7513
7516
  headers: {
7514
- ...l.headers,
7515
- Authorization: `Bearer ${c}`
7517
+ ...f.headers,
7518
+ Authorization: `Bearer ${h}`
7516
7519
  }
7517
7520
  };
7518
- return s(u, f);
7521
+ return s(u, d);
7519
7522
  }, Kw()];
7520
7523
  n?.mode === Rn.NORMAL && i.push(
7521
7524
  Vw({
@@ -7544,47 +7547,49 @@ const Mr = "sesamyCacheTimestamp", tb = (t) => {
7544
7547
  const l = /^https?:\/\//.test(s);
7545
7548
  let c = o.url(s, l);
7546
7549
  u.headers && (c = c.headers(u.headers));
7547
- const f = (u.method || "GET").toLowerCase();
7548
- let h;
7549
- switch (f) {
7550
+ const f = {};
7551
+ u.skipAuth && (f.skipAuth = !0);
7552
+ const h = (u.method || "GET").toLowerCase();
7553
+ let d;
7554
+ switch (h) {
7550
7555
  case "get":
7551
- h = c.get();
7556
+ d = c.options(f).get();
7552
7557
  break;
7553
7558
  case "post":
7554
- h = c.post(
7559
+ d = c.options(f).post(
7555
7560
  u.body ? JSON.parse(u.body) : void 0
7556
7561
  );
7557
7562
  break;
7558
7563
  case "put":
7559
- h = c.put(
7564
+ d = c.options(f).put(
7560
7565
  u.body ? JSON.parse(u.body) : void 0
7561
7566
  );
7562
7567
  break;
7563
7568
  case "patch":
7564
- h = c.patch(
7569
+ d = c.options(f).patch(
7565
7570
  u.body ? JSON.parse(u.body) : void 0
7566
7571
  );
7567
7572
  break;
7568
7573
  case "delete":
7569
- h = c.delete();
7574
+ d = c.options(f).delete();
7570
7575
  break;
7571
7576
  default:
7572
- h = c.get();
7577
+ d = c.options(f).get();
7573
7578
  }
7574
- const d = await h.res();
7575
- if (d.ok && ["post", "patch", "put", "delete"].includes(f) && ut(), d.status === 204)
7579
+ const v = await d.res();
7580
+ if (v.ok && ["post", "patch", "put", "delete"].includes(h) && ut(), v.status === 204)
7576
7581
  return null;
7577
- if (!d.ok) {
7578
- const v = await d.text().catch(() => "Unknown error");
7582
+ if (!v.ok) {
7583
+ const p = await v.text().catch(() => "Unknown error");
7579
7584
  throw new Br(
7580
- d.status,
7581
- d.statusText,
7582
- d.url,
7583
- `API Error ${d.status}: ${v}`,
7584
- v
7585
+ v.status,
7586
+ v.statusText,
7587
+ v.url,
7588
+ `API Error ${v.status}: ${p}`,
7589
+ p
7585
7590
  );
7586
7591
  }
7587
- return await d.json();
7592
+ return await v.json();
7588
7593
  } catch (l) {
7589
7594
  if (l instanceof Br)
7590
7595
  throw l;
@@ -7918,7 +7923,8 @@ const Mr = "sesamyCacheTimestamp", tb = (t) => {
7918
7923
  */
7919
7924
  create: async (t, e) => t.request("/checkout", {
7920
7925
  method: "POST",
7921
- body: JSON.stringify(e)
7926
+ body: JSON.stringify(e),
7927
+ skipAuth: !0
7922
7928
  }),
7923
7929
  /**
7924
7930
  * Get checkout session by ID
@@ -7926,7 +7932,9 @@ const Mr = "sesamyCacheTimestamp", tb = (t) => {
7926
7932
  * @param id - Checkout ID
7927
7933
  * @returns Checkout session
7928
7934
  */
7929
- get: async (t, e) => t.request(`/checkout/${e}`),
7935
+ get: async (t, e) => t.request(`/checkout/${e}`, {
7936
+ skipAuth: !0
7937
+ }),
7930
7938
  /**
7931
7939
  * Update checkout session
7932
7940
  * @param httpClient - API client instance
@@ -7936,7 +7944,8 @@ const Mr = "sesamyCacheTimestamp", tb = (t) => {
7936
7944
  */
7937
7945
  update: async (t, e, r) => t.request(`/checkout/${e}`, {
7938
7946
  method: "PATCH",
7939
- body: JSON.stringify(r)
7947
+ body: JSON.stringify(r),
7948
+ skipAuth: !0
7940
7949
  })
7941
7950
  }, rh = {
7942
7951
  /**
@@ -8074,7 +8083,7 @@ const Mr = "sesamyCacheTimestamp", tb = (t) => {
8074
8083
  add: (r) => as.add(e, r),
8075
8084
  remove: (r) => as.remove(e, r)
8076
8085
  },
8077
- checkout: {
8086
+ checkouts: {
8078
8087
  generateLink: (r, n) => sr.generateCheckoutLink(r, n),
8079
8088
  create: (r) => is.create(e, r),
8080
8089
  get: (r) => is.get(e, r),
@@ -8292,7 +8301,6 @@ function hb(t) {
8292
8301
  })
8293
8302
  ]), u = rt(e).headers({ "Content-Type": "application/json" }).middlewares([
8294
8303
  a,
8295
- i(!1),
8296
8304
  o,
8297
8305
  Zd(),
8298
8306
  Yd({
@@ -8433,7 +8441,7 @@ function hb(t) {
8433
8441
  return {
8434
8442
  autoOnboardProduct: j,
8435
8443
  bills: n.bills,
8436
- checkout: n.checkout,
8444
+ checkouts: n.checkouts,
8437
8445
  contracts: n.contracts,
8438
8446
  deleteTag: I,
8439
8447
  deleteTally: b,
@@ -8529,7 +8537,7 @@ function bb(t) {
8529
8537
  const {
8530
8538
  autoOnboardProduct: e,
8531
8539
  bills: r,
8532
- checkout: n,
8540
+ checkouts: n,
8533
8541
  contracts: a,
8534
8542
  deleteTag: i,
8535
8543
  deleteTally: o,
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "registry": "https://registry.npmjs.org/",
7
7
  "tag": "latest"
8
8
  },
9
- "version": "1.59.0",
9
+ "version": "1.60.0",
10
10
  "main": "dist/sesamy-js.cjs",
11
11
  "module": "dist/sesamy-js.mjs",
12
12
  "types": "dist/sesamy-js.d.ts",
@@ -54,7 +54,7 @@
54
54
  "core-js": "^3.45.0",
55
55
  "detectincognitojs": "^1.6.0",
56
56
  "saturated": "^1.0.0",
57
- "@sesamy/sdk": "1.14.0"
57
+ "@sesamy/sdk": "1.15.0"
58
58
  },
59
59
  "peerDependencies": {
60
60
  "wretch": "^2.9.0"