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