@tinkerlandai/longplay-react-native 0.10.13 → 0.10.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2 -2
- package/dist/index.d.cts +17 -2
- package/dist/index.d.ts +17 -2
- package/dist/index.js +2 -2
- package/native-sdk/android/assets/indiana/index.html +2 -2
- package/native-sdk/android/java/ai/tinkerland/indiana/SDKVersion.kt +1 -1
- package/native-sdk/ios/SDKVersion.swift +1 -1
- package/native-sdk/ios/WebView/index.html +2 -2
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!doctype html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'sha256-brXMmb8WmAG9cpIHkVy8wePvnskTb5svJkN4lZF0gVQ=' 'sha256-aXZ1MMVprmjqZCnWHm8WYUo7IlyJcJCNBWE3GGYA7f8='; style-src 'unsafe-inline'; img-src https: data:; frame-src data:; connect-src 'none'; font-src 'none'; media-src 'none'; base-uri 'none'; form-action 'none'"></head><body><script>(()=>{var p6=Object.create;var eb=Object.defineProperty;var m6=Object.getOwnPropertyDescriptor;var f6=Object.getOwnPropertyNames;var h6=Object.getPrototypeOf,g6=Object.prototype.hasOwnProperty;var x=(e,t,r)=>()=>{if(r)throw r[0];try{return e&&(t=e(e=0)),t}catch(i){throw r=[i],i}};var rs=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(r){throw t=0,r}},Ie=(e,t)=>{for(var r in t)eb(e,r,{get:t[r],enumerable:!0})},y6=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of f6(t))!g6.call(e,o)&&o!==r&&eb(e,o,{get:()=>t[o],enumerable:!(i=m6(t,o))||i.enumerable});return e};var b6=(e,t,r)=>(r=e!=null?p6(h6(e)):{},y6(t||!e||!e.__esModule?eb(r,"default",{value:e,enumerable:!0}):r,e));var ke={};Ie(ke,{BIGINT_FORMAT_RANGES:()=>cu,CONSTANT_CATCH:()=>Wd,Class:()=>rb,NUMBER_FORMAT_RANGES:()=>su,aborted:()=>Fn,allowsEval:()=>ab,assert:()=>w6,assertEqual:()=>A6,assertIs:()=>S6,assertNever:()=>v6,assertNotEqual:()=>x6,assignProp:()=>_n,attachSchema:()=>uu,base64ToUint8Array:()=>tO,base64urlToUint8Array:()=>V6,cached:()=>ss,captureStackTrace:()=>Hd,cleanEnum:()=>U6,cleanRegex:()=>Ci,clone:()=>wt,cloneDef:()=>k6,codePointLength:()=>ea,constantCatch:()=>pb,createTransparentProxy:()=>R6,defineLazy:()=>ib,defineLazyInternal:()=>Ye,derived:()=>H6,esc:()=>Mn,escapeRegex:()=>Or,explicitlyAborted:()=>ub,extend:()=>j6,finalizeIssue:()=>er,floatSafeRemainder:()=>iu,getElementAtPath:()=>E6,getEnumValues:()=>os,getLengthableOrigin:()=>du,getParsedType:()=>T6,getSizableOrigin:()=>lu,hexToUint8Array:()=>q6,hide:()=>pu,installLazyProp:()=>J6,isObject:()=>Xo,isPlainObject:()=>Pr,issue:()=>ls,joinValues:()=>qd,jsonStringifyReplacer:()=>as,members:()=>db,merge:()=>L6,mergeDefs:()=>Vr,normalizeParams:()=>ue,nullish:()=>Zd,numKeys:()=>O6,objectClone:()=>_6,omit:()=>D6,optionalKeys:()=>cb,own:()=>Yi,parsedType:()=>lb,partial:()=>M6,pick:()=>N6,prefixIssues:()=>Xn,primitiveTypes:()=>sb,promiseAllObject:()=>C6,propertyKeyTypes:()=>au,randomString:()=>P6,rawShape:()=>cs,required:()=>F6,safeExtend:()=>$6,shallowClone:()=>ou,sizeCaps:()=>us,slugify:()=>ob,stringifyPrimitive:()=>Gd,toZod:()=>ru,uint8ArrayToBase64:()=>nO,uint8ArrayToBase64url:()=>B6,uint8ArrayToHex:()=>Z6,unwrapMessage:()=>is});function A6(e){return e}function x6(e){return e}function ru(){return e=>e}function S6(e){}function v6(e){throw new Error("Unexpected value in exhaustive check")}function w6(e){}function os(e){let t=Object.values(e).filter(i=>typeof i=="number");return Object.entries(e).filter(([i,o])=>t.indexOf(+i)===-1).map(([i,o])=>o)}function qd(e,t="|"){return e.map(r=>Gd(r)).join(t)}function as(e,t){return typeof t=="bigint"?t.toString():t}function ss(e){return new nb(e)}function Zd(e){return e==null}function Ci(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function iu(e,t){let r=e/t,i=Math.round(r),o=4*Number.EPSILON*Math.max(Math.abs(r),1);return Math.abs(r-i)<o?0:r-i}function ib(e,t,r){let i;Object.defineProperty(e,t,{get(){if(i!==QP)return i===void 0&&(i=QP,i=r()),i},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function _6(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function _n(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function cs(e){let t=Object.getOwnPropertyDescriptor(e,"shape");return t?.get?t.get.raw:t?.value}function Ei(e){return cs(e._zod.def)??e._zod.def.shape}function YP(e,t,r){Object.defineProperty(e,t,{get(){let i=r();return _n(this,t,i),i},enumerable:!0,configurable:!0})}function XP(e,t,r){t in e?_n(e,t,r):e[t]=r}function Yo(e,t,r,i){let o=Ei(t);for(let a of r){let s=Object.getOwnPropertyDescriptor(o,a);s.enumerable&&(s.get?YP(e,a,()=>{let c=t._zod.def.shape[a];return i?i(c,a):c}):XP(e,a,i?i(s.value,a):s.value))}}function I6(e,t){for(let r of Reflect.ownKeys(t)){let i=Object.getOwnPropertyDescriptor(t,r);i.enumerable&&(i.get?YP(e,r,()=>t[r]):XP(e,r,i.value))}}function Vr(...e){let t={};for(let r of e){let i=Object.getOwnPropertyDescriptors(r);Object.assign(t,i)}return Object.defineProperties({},t)}function k6(e){return Vr(e._zod.def)}function E6(e,t){return t?t.reduce((r,i)=>r?.[i],e):e}function C6(e){let t=Object.keys(e),r=t.map(i=>e[i]);return Promise.all(r).then(i=>{let o={};for(let a=0;a<t.length;a++)o[t[a]]=i[a];return o})}function P6(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let i=0;i<e;i++)r+=t[Math.floor(Math.random()*t.length)];return r}function Mn(e){return JSON.stringify(e)}function ob(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function Xo(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Pr(e){if(Xo(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let r=t.prototype;return!(Xo(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function ou(e){return Pr(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}function O6(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}function Or(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function wt(e,t,r){let i=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(i._zod.parent=e),i}function ue(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function R6(e){let t;return new Proxy({},{get(r,i,o){return t??(t=e()),Reflect.get(t,i,o)},set(r,i,o,a){return t??(t=e()),Reflect.set(t,i,o,a)},has(r,i){return t??(t=e()),Reflect.has(t,i)},deleteProperty(r,i){return t??(t=e()),Reflect.deleteProperty(t,i)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,i){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,i)},defineProperty(r,i,o){return t??(t=e()),Reflect.defineProperty(t,i,o)}})}function Gd(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function cb(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout==="optional")}function N6(e,t){let r=e._zod.def,i=r.checks;if(i&&i.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let a={};return Yo(a,e,Kd(e,t)),wt(e,Vr(r,{shape:a,checks:[]}))}function Kd(e,t){let r=Ei(e),i=[];for(let o of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(r,o)?.enumerable)throw new Error(`Unrecognized key: "${String(o)}"`);t[o]&&i.push(o)}return i}function D6(e,t){let r=e._zod.def,i=r.checks;if(i&&i.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let a=new Set(Kd(e,t)),s={};return Yo(s,e,Reflect.ownKeys(Ei(e)).filter(c=>!a.has(c))),wt(e,Vr(r,{shape:s,checks:[]}))}function j6(e,t){if(!Pr(t))throw new Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let o=Ei(e);for(let a of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(o,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return wt(e,Vr(e._zod.def,{shape:eO(e,t)}))}function eO(e,t){let r={};return Yo(r,e,Reflect.ownKeys(Ei(e))),I6(r,t),r}function $6(e,t){if(!Pr(t))throw new Error("Invalid input to safeExtend: expected a plain object");return wt(e,Vr(e._zod.def,{shape:eO(e,t)}))}function L6(e,t){if(!t?._zod?.def)throw new Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r={};Yo(r,e,Reflect.ownKeys(Ei(e))),Yo(r,t,Reflect.ownKeys(Ei(t)));let i=Vr(e._zod.def,{shape:r,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return wt(e,i)}function M6(e,t,r,i="partial"){let a=t._zod.def.checks;if(a&&a.length>0)throw new Error(`.${i}() cannot be used on object schemas containing refinements`);let c=r?new Set(Kd(t,r)):void 0,u={};return Yo(u,t,Reflect.ownKeys(Ei(t)),e&&((l,d)=>c&&!c.has(d)?l:new e({type:"optional",innerType:l}))),wt(t,Vr(t._zod.def,{shape:u,checks:[]}))}function F6(e,t,r){let i=r?new Set(Kd(t,r)):void 0,o={};return Yo(o,t,Reflect.ownKeys(Ei(t)),(a,s)=>i&&!i.has(s)?a:new e({type:"nonoptional",innerType:a})),wt(t,Vr(t._zod.def,{shape:o}))}function Fn(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function ub(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue===!1)return!0;return!1}function Xn(e,t){return t.map(r=>{var i;return(i=r).path??(i.path=[]),r.path.unshift(e),r})}function is(e){return typeof e=="string"?e:e?.message}function us(e){let t=[];for(let r of e??[]){let i=r._zod.def;if(!/_(length|size)$|_equals$/.test(i.check))break;let o=i.maximum??i.length??i.size;o>=0&&t.push([o,r])}return t}function uu(e,t,r){var i;for(let o=t;o<e.length;o++)(i=e[o]).schema??(i.schema=r)}function er(e,t,r){var i;let o=e.inst?._zod?.traits;o?.has("$ZodType")&&(o.has("$ZodCheck")?(i=e).schema??(i.schema=e.inst):e.schema=e.inst);let a=e.schema!==e.inst?e.schema?._zod.def?.error:void 0,s=e.message?e.message:is(e.inst?._zod.def?.error?.(e))??is(a?.(e))??is(t?.error?.(e))??is(r.customError?.(e))??is(r.localeError?.(e))??"Invalid input",c={};for(let u of Object.keys(e))u==="inst"||u==="schema"||u==="continue"||u==="input"||u==="__proto__"||(c[u]=e[u]);return c.path??(c.path=[]),c.message=s,t?.reportInput&&(c.input=e.input),c}function lu(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function ea(e){let t=e.length;if(!z6.test(e))return t;let r=t;for(let i=0;i<t-1;i++)(e.charCodeAt(i)&64512)===55296&&(e.charCodeAt(i+1)&64512)===56320&&(r--,i++);return r}function du(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function lb(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let r=e;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return t}function ls(...e){let[t,r,i]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:i}:{...t}}function U6(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function tO(e){let t=atob(e),r=new Uint8Array(t.length);for(let i=0;i<t.length;i++)r[i]=t.charCodeAt(i);return r}function nO(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function V6(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r="=".repeat((4-t.length%4)%4);return tO(t+r)}function B6(e){return nO(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function q6(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw new Error("Invalid hex string length");let r=new Uint8Array(t.length/2);for(let i=0;i<t.length;i+=2)r[i/2]=Number.parseInt(t.slice(i,i+2),16);return r}function Z6(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}function db(e,t){for(let r in t){let i=Object.getOwnPropertyDescriptor(t,r);i.get?Object.defineProperty(e,r,{...i,enumerable:!1}):G6(e,r,i.value)}}function Yi(e,t,r,i=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:i,value:r}),r}function pu(e,t,r){return Yi(e,t,r,!1)}function H6(e,t){for(let r in e){let i=e[r];Object.defineProperty(t,r,{configurable:!0,enumerable:!0,get(){return Yi(this,r,i(this))},set(o){Yi(this,r,o)}})}return t}function G6(e,t,r){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?r:Yi(this,t,r.bind(this))},set(i){Yi(this,t,i)}})}function K6(e,t){let r=Object.getPrototypeOf(e);return t in r?void 0:r}function Ye(e,t,r){let i=Object.getPrototypeOf(e._zod);if(t in i&&tb!==e._zod){tb=void 0;return}tb=e._zod,Object.defineProperty(i,t,{configurable:!0,get(){Object.defineProperty(this,t,W6);let o=Qi;Qi=!1;try{let a=r(this);return Qi?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:a}),Qi=Qi||o,a}catch(a){throw delete this[t],Qi=Qi||o,a}},set(o){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:o})}})}function J6(e,t,r,i){let o=K6(e,t);o&&Object.defineProperty(o,t,{configurable:!0,get(){let a={configurable:!0,writable:!0,enumerable:i,value:void 0};return Object.defineProperty(this,t,a),a.value=r(this),Object.defineProperty(this,t,a),a.value},set(a){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:i,value:a})}})}function pb(e){let t=()=>e;return t[Wd]=!0,t}var nb,QP,Hd,ab,T6,au,sb,su,cu,z6,rb,tb,Qi,W6,Wd,tn=x(()=>{Xi();nb=class{constructor(t){this._getter=t,this._value=void 0}get value(){let t=this._getter;return t!==void 0&&(this._value=t(),this._getter=void 0),this._value}};QP=Symbol("evaluating");Hd="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};ab=ss(()=>{if(yn.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});T6=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},au=new Set(["string","number","symbol"]),sb=new Set(["string","number","bigint","boolean","symbol","undefined"]);su={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},cu={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};z6=/[\uD800-\uDBFF]/;rb=class{constructor(...t){}};Qi=!1,W6={configurable:!0,get(){Qi=!0}};Wd="~constantCatch"});function Q6(e){let t=iO;if(t){let r=t.stackTraceLimit;if(typeof r=="number"){try{t.stackTraceLimit=0}catch{return iO=null,new e}try{return new e}finally{t.stackTraceLimit=r}}}return new e}function N(e,t,r,i){let o={};function a(f){this.def=f,this.constr=p,this.traits=new Set}a.prototype=o;let s=r,c=s&&new WeakSet;function u(f,h){if(f._zod){if(f._zod.traits.has(e))return}else{mb.value=new a(h);try{Object.defineProperty(f,"_zod",mb)}finally{mb.value=void 0}}if(f._zod.traits.add(e),t(f,h),c){let g=Object.getPrototypeOf(f),S=f._zod.constr.prototype,v=g;for(;v&&v!==S;)v=Object.getPrototypeOf(v);let _=v??g;c.has(_)||(c.add(_),db(_,s))}let m=p.prototype;for(let g in m)Object.prototype.hasOwnProperty.call(m,g)&&(g in f||(f[g]=m[g].bind(f)))}let l=i?.Parent??Object;class d extends l{}Object.defineProperty(d,"name",{value:e});function p(f){let h=i?.Parent?Q6(d):this;u(h,f);let m=h._zod.deferred;if(m){for(let S of m)S();h._zod.deferred=void 0}let g=globalThis.__zod_globalConfig?.postProcessor;return g&&g(h),h}return Object.defineProperty(p,"init",{value:u}),Object.defineProperty(p,Symbol.hasInstance,{value:f=>i?.Parent&&f instanceof i.Parent?!0:f?._zod?.traits?.has(e)}),Object.defineProperty(p,"name",{value:e}),p}function Zt(e){return e&&Object.assign(yn,e),yn}var rO,fb,mb,iO,hb,tr,eo,yn,Xi=x(()=>{tn();fb=Object.freeze({status:"aborted"}),mb={value:void 0,enumerable:!1},iO="captureStackTrace"in Error?Error:null;hb=Symbol("zod_brand"),tr=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},eo=class extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}};(rO=globalThis).__zod_globalConfig??(rO.__zod_globalConfig={});yn=globalThis.__zod_globalConfig});function Y6(){let e=this._zod;return e.message??(e.message=JSON.stringify(e.def,as,2)),e.message}function X6(e){this._zod.message=e}function tB(e,t,r){return Object.prototype.hasOwnProperty.call(e,t)||(t==="__proto__"?Object.defineProperty(e,t,{value:r(),writable:!0,enumerable:!0,configurable:!0}):e[t]=r()),e[t]}function mu(e,t=r=>r.message){let r={},i=[];for(let o of e.issues)o.path.length>0?tB(r,o.path[0],()=>[]).push(t(o)):i.push(t(o));return{formErrors:i,fieldErrors:r}}function fu(e,t=r=>r.message){let r={_errors:[]},i=(o,a=[])=>{for(let s of o.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(c=>i({issues:c},[...a,...s.path]));else if(s.code==="invalid_key")i({issues:s.issues},[...a,...s.path]);else if(s.code==="invalid_element")i({issues:s.issues},[...a,...s.path]);else{let c=[...a,...s.path];if(c.length===0)r._errors.push(t(s));else{let u=r,l=0;for(;l<c.length;){let d=c[l],p=l===c.length-1;if(d==="_errors"){p&&u._errors.push(t(s)),l++;continue}Object.prototype.hasOwnProperty.call(u,d)||Object.defineProperty(u,d,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let f=u[d];p&&f._errors.push(t(s)),u=f,l++}}}};return i(e),r}function Ab(e,t=r=>r.message){let r={errors:[]},i=(o,a=[])=>{var s;for(let c of o.issues)if(c.code==="invalid_union"&&c.errors.length)c.errors.map(u=>i({issues:u},[...a,...c.path]));else if(c.code==="invalid_key")i({issues:c.issues},[...a,...c.path]);else if(c.code==="invalid_element")i({issues:c.issues},[...a,...c.path]);else{let u=[...a,...c.path];if(u.length===0){r.errors.push(t(c));continue}let l=r,d=0;for(;d<u.length;){let p=u[d],f=d===u.length-1;typeof p=="string"?(l.properties??(l.properties={}),Object.prototype.hasOwnProperty.call(l.properties,p)||Object.defineProperty(l.properties,p,{value:{errors:[]},enumerable:!0,writable:!0,configurable:!0}),l=l.properties[p]):(l.items??(l.items=[]),(s=l.items)[p]??(s[p]={errors:[]}),l=l.items[p]),f&&l.errors.push(t(c)),d++}}};return i(e),r}function sO(e){let t=[],r=e.map(i=>typeof i=="object"?i.key:i);for(let i of r)typeof i=="number"?t.push(`[${i}]`):typeof i=="symbol"?t.push(`[${JSON.stringify(String(i))}]`):/[^\w$]/.test(i)?t.push(`[${JSON.stringify(i)}]`):(t.length&&t.push("."),t.push(i));return t.join("")}function xb(e){let t=[],r=[...e.issues].sort((i,o)=>(i.path??[]).length-(o.path??[]).length);for(let i of r)t.push(`\u2716 ${i.message}`),i.path?.length&&t.push(` \u2192 at ${sO(i.path)}`);return t.join(`
|
|
1
|
+
<!doctype html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'sha256-7UMv6zAeIVN4EF4ztgbVc4paAxbYesRhLcNHqOJuuno=' 'sha256-aXZ1MMVprmjqZCnWHm8WYUo7IlyJcJCNBWE3GGYA7f8='; style-src 'unsafe-inline'; img-src https: data:; frame-src data:; connect-src 'none'; font-src 'none'; media-src 'none'; base-uri 'none'; form-action 'none'"></head><body><script>(()=>{var p6=Object.create;var eb=Object.defineProperty;var m6=Object.getOwnPropertyDescriptor;var f6=Object.getOwnPropertyNames;var h6=Object.getPrototypeOf,g6=Object.prototype.hasOwnProperty;var x=(e,t,r)=>()=>{if(r)throw r[0];try{return e&&(t=e(e=0)),t}catch(i){throw r=[i],i}};var rs=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(r){throw t=0,r}},Ie=(e,t)=>{for(var r in t)eb(e,r,{get:t[r],enumerable:!0})},y6=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of f6(t))!g6.call(e,o)&&o!==r&&eb(e,o,{get:()=>t[o],enumerable:!(i=m6(t,o))||i.enumerable});return e};var b6=(e,t,r)=>(r=e!=null?p6(h6(e)):{},y6(t||!e||!e.__esModule?eb(r,"default",{value:e,enumerable:!0}):r,e));var ke={};Ie(ke,{BIGINT_FORMAT_RANGES:()=>cu,CONSTANT_CATCH:()=>Wd,Class:()=>rb,NUMBER_FORMAT_RANGES:()=>su,aborted:()=>Fn,allowsEval:()=>ab,assert:()=>w6,assertEqual:()=>A6,assertIs:()=>S6,assertNever:()=>v6,assertNotEqual:()=>x6,assignProp:()=>_n,attachSchema:()=>uu,base64ToUint8Array:()=>tO,base64urlToUint8Array:()=>V6,cached:()=>ss,captureStackTrace:()=>Hd,cleanEnum:()=>U6,cleanRegex:()=>Ci,clone:()=>wt,cloneDef:()=>k6,codePointLength:()=>ea,constantCatch:()=>pb,createTransparentProxy:()=>R6,defineLazy:()=>ib,defineLazyInternal:()=>Ye,derived:()=>H6,esc:()=>Mn,escapeRegex:()=>Or,explicitlyAborted:()=>ub,extend:()=>j6,finalizeIssue:()=>er,floatSafeRemainder:()=>iu,getElementAtPath:()=>E6,getEnumValues:()=>os,getLengthableOrigin:()=>du,getParsedType:()=>T6,getSizableOrigin:()=>lu,hexToUint8Array:()=>q6,hide:()=>pu,installLazyProp:()=>J6,isObject:()=>Xo,isPlainObject:()=>Pr,issue:()=>ls,joinValues:()=>qd,jsonStringifyReplacer:()=>as,members:()=>db,merge:()=>L6,mergeDefs:()=>Vr,normalizeParams:()=>ue,nullish:()=>Zd,numKeys:()=>O6,objectClone:()=>_6,omit:()=>D6,optionalKeys:()=>cb,own:()=>Yi,parsedType:()=>lb,partial:()=>M6,pick:()=>N6,prefixIssues:()=>Xn,primitiveTypes:()=>sb,promiseAllObject:()=>C6,propertyKeyTypes:()=>au,randomString:()=>P6,rawShape:()=>cs,required:()=>F6,safeExtend:()=>$6,shallowClone:()=>ou,sizeCaps:()=>us,slugify:()=>ob,stringifyPrimitive:()=>Gd,toZod:()=>ru,uint8ArrayToBase64:()=>nO,uint8ArrayToBase64url:()=>B6,uint8ArrayToHex:()=>Z6,unwrapMessage:()=>is});function A6(e){return e}function x6(e){return e}function ru(){return e=>e}function S6(e){}function v6(e){throw new Error("Unexpected value in exhaustive check")}function w6(e){}function os(e){let t=Object.values(e).filter(i=>typeof i=="number");return Object.entries(e).filter(([i,o])=>t.indexOf(+i)===-1).map(([i,o])=>o)}function qd(e,t="|"){return e.map(r=>Gd(r)).join(t)}function as(e,t){return typeof t=="bigint"?t.toString():t}function ss(e){return new nb(e)}function Zd(e){return e==null}function Ci(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function iu(e,t){let r=e/t,i=Math.round(r),o=4*Number.EPSILON*Math.max(Math.abs(r),1);return Math.abs(r-i)<o?0:r-i}function ib(e,t,r){let i;Object.defineProperty(e,t,{get(){if(i!==QP)return i===void 0&&(i=QP,i=r()),i},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function _6(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function _n(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function cs(e){let t=Object.getOwnPropertyDescriptor(e,"shape");return t?.get?t.get.raw:t?.value}function Ei(e){return cs(e._zod.def)??e._zod.def.shape}function YP(e,t,r){Object.defineProperty(e,t,{get(){let i=r();return _n(this,t,i),i},enumerable:!0,configurable:!0})}function XP(e,t,r){t in e?_n(e,t,r):e[t]=r}function Yo(e,t,r,i){let o=Ei(t);for(let a of r){let s=Object.getOwnPropertyDescriptor(o,a);s.enumerable&&(s.get?YP(e,a,()=>{let c=t._zod.def.shape[a];return i?i(c,a):c}):XP(e,a,i?i(s.value,a):s.value))}}function I6(e,t){for(let r of Reflect.ownKeys(t)){let i=Object.getOwnPropertyDescriptor(t,r);i.enumerable&&(i.get?YP(e,r,()=>t[r]):XP(e,r,i.value))}}function Vr(...e){let t={};for(let r of e){let i=Object.getOwnPropertyDescriptors(r);Object.assign(t,i)}return Object.defineProperties({},t)}function k6(e){return Vr(e._zod.def)}function E6(e,t){return t?t.reduce((r,i)=>r?.[i],e):e}function C6(e){let t=Object.keys(e),r=t.map(i=>e[i]);return Promise.all(r).then(i=>{let o={};for(let a=0;a<t.length;a++)o[t[a]]=i[a];return o})}function P6(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let i=0;i<e;i++)r+=t[Math.floor(Math.random()*t.length)];return r}function Mn(e){return JSON.stringify(e)}function ob(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function Xo(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Pr(e){if(Xo(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let r=t.prototype;return!(Xo(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function ou(e){return Pr(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}function O6(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}function Or(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function wt(e,t,r){let i=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(i._zod.parent=e),i}function ue(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function R6(e){let t;return new Proxy({},{get(r,i,o){return t??(t=e()),Reflect.get(t,i,o)},set(r,i,o,a){return t??(t=e()),Reflect.set(t,i,o,a)},has(r,i){return t??(t=e()),Reflect.has(t,i)},deleteProperty(r,i){return t??(t=e()),Reflect.deleteProperty(t,i)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,i){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,i)},defineProperty(r,i,o){return t??(t=e()),Reflect.defineProperty(t,i,o)}})}function Gd(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function cb(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout==="optional")}function N6(e,t){let r=e._zod.def,i=r.checks;if(i&&i.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let a={};return Yo(a,e,Kd(e,t)),wt(e,Vr(r,{shape:a,checks:[]}))}function Kd(e,t){let r=Ei(e),i=[];for(let o of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(r,o)?.enumerable)throw new Error(`Unrecognized key: "${String(o)}"`);t[o]&&i.push(o)}return i}function D6(e,t){let r=e._zod.def,i=r.checks;if(i&&i.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let a=new Set(Kd(e,t)),s={};return Yo(s,e,Reflect.ownKeys(Ei(e)).filter(c=>!a.has(c))),wt(e,Vr(r,{shape:s,checks:[]}))}function j6(e,t){if(!Pr(t))throw new Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let o=Ei(e);for(let a of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(o,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return wt(e,Vr(e._zod.def,{shape:eO(e,t)}))}function eO(e,t){let r={};return Yo(r,e,Reflect.ownKeys(Ei(e))),I6(r,t),r}function $6(e,t){if(!Pr(t))throw new Error("Invalid input to safeExtend: expected a plain object");return wt(e,Vr(e._zod.def,{shape:eO(e,t)}))}function L6(e,t){if(!t?._zod?.def)throw new Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r={};Yo(r,e,Reflect.ownKeys(Ei(e))),Yo(r,t,Reflect.ownKeys(Ei(t)));let i=Vr(e._zod.def,{shape:r,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return wt(e,i)}function M6(e,t,r,i="partial"){let a=t._zod.def.checks;if(a&&a.length>0)throw new Error(`.${i}() cannot be used on object schemas containing refinements`);let c=r?new Set(Kd(t,r)):void 0,u={};return Yo(u,t,Reflect.ownKeys(Ei(t)),e&&((l,d)=>c&&!c.has(d)?l:new e({type:"optional",innerType:l}))),wt(t,Vr(t._zod.def,{shape:u,checks:[]}))}function F6(e,t,r){let i=r?new Set(Kd(t,r)):void 0,o={};return Yo(o,t,Reflect.ownKeys(Ei(t)),(a,s)=>i&&!i.has(s)?a:new e({type:"nonoptional",innerType:a})),wt(t,Vr(t._zod.def,{shape:o}))}function Fn(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function ub(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue===!1)return!0;return!1}function Xn(e,t){return t.map(r=>{var i;return(i=r).path??(i.path=[]),r.path.unshift(e),r})}function is(e){return typeof e=="string"?e:e?.message}function us(e){let t=[];for(let r of e??[]){let i=r._zod.def;if(!/_(length|size)$|_equals$/.test(i.check))break;let o=i.maximum??i.length??i.size;o>=0&&t.push([o,r])}return t}function uu(e,t,r){var i;for(let o=t;o<e.length;o++)(i=e[o]).schema??(i.schema=r)}function er(e,t,r){var i;let o=e.inst?._zod?.traits;o?.has("$ZodType")&&(o.has("$ZodCheck")?(i=e).schema??(i.schema=e.inst):e.schema=e.inst);let a=e.schema!==e.inst?e.schema?._zod.def?.error:void 0,s=e.message?e.message:is(e.inst?._zod.def?.error?.(e))??is(a?.(e))??is(t?.error?.(e))??is(r.customError?.(e))??is(r.localeError?.(e))??"Invalid input",c={};for(let u of Object.keys(e))u==="inst"||u==="schema"||u==="continue"||u==="input"||u==="__proto__"||(c[u]=e[u]);return c.path??(c.path=[]),c.message=s,t?.reportInput&&(c.input=e.input),c}function lu(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function ea(e){let t=e.length;if(!z6.test(e))return t;let r=t;for(let i=0;i<t-1;i++)(e.charCodeAt(i)&64512)===55296&&(e.charCodeAt(i+1)&64512)===56320&&(r--,i++);return r}function du(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function lb(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let r=e;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return t}function ls(...e){let[t,r,i]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:i}:{...t}}function U6(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function tO(e){let t=atob(e),r=new Uint8Array(t.length);for(let i=0;i<t.length;i++)r[i]=t.charCodeAt(i);return r}function nO(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function V6(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r="=".repeat((4-t.length%4)%4);return tO(t+r)}function B6(e){return nO(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function q6(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw new Error("Invalid hex string length");let r=new Uint8Array(t.length/2);for(let i=0;i<t.length;i+=2)r[i/2]=Number.parseInt(t.slice(i,i+2),16);return r}function Z6(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}function db(e,t){for(let r in t){let i=Object.getOwnPropertyDescriptor(t,r);i.get?Object.defineProperty(e,r,{...i,enumerable:!1}):G6(e,r,i.value)}}function Yi(e,t,r,i=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:i,value:r}),r}function pu(e,t,r){return Yi(e,t,r,!1)}function H6(e,t){for(let r in e){let i=e[r];Object.defineProperty(t,r,{configurable:!0,enumerable:!0,get(){return Yi(this,r,i(this))},set(o){Yi(this,r,o)}})}return t}function G6(e,t,r){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?r:Yi(this,t,r.bind(this))},set(i){Yi(this,t,i)}})}function K6(e,t){let r=Object.getPrototypeOf(e);return t in r?void 0:r}function Ye(e,t,r){let i=Object.getPrototypeOf(e._zod);if(t in i&&tb!==e._zod){tb=void 0;return}tb=e._zod,Object.defineProperty(i,t,{configurable:!0,get(){Object.defineProperty(this,t,W6);let o=Qi;Qi=!1;try{let a=r(this);return Qi?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:a}),Qi=Qi||o,a}catch(a){throw delete this[t],Qi=Qi||o,a}},set(o){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:o})}})}function J6(e,t,r,i){let o=K6(e,t);o&&Object.defineProperty(o,t,{configurable:!0,get(){let a={configurable:!0,writable:!0,enumerable:i,value:void 0};return Object.defineProperty(this,t,a),a.value=r(this),Object.defineProperty(this,t,a),a.value},set(a){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:i,value:a})}})}function pb(e){let t=()=>e;return t[Wd]=!0,t}var nb,QP,Hd,ab,T6,au,sb,su,cu,z6,rb,tb,Qi,W6,Wd,tn=x(()=>{Xi();nb=class{constructor(t){this._getter=t,this._value=void 0}get value(){let t=this._getter;return t!==void 0&&(this._value=t(),this._getter=void 0),this._value}};QP=Symbol("evaluating");Hd="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};ab=ss(()=>{if(yn.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});T6=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},au=new Set(["string","number","symbol"]),sb=new Set(["string","number","bigint","boolean","symbol","undefined"]);su={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},cu={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};z6=/[\uD800-\uDBFF]/;rb=class{constructor(...t){}};Qi=!1,W6={configurable:!0,get(){Qi=!0}};Wd="~constantCatch"});function Q6(e){let t=iO;if(t){let r=t.stackTraceLimit;if(typeof r=="number"){try{t.stackTraceLimit=0}catch{return iO=null,new e}try{return new e}finally{t.stackTraceLimit=r}}}return new e}function N(e,t,r,i){let o={};function a(f){this.def=f,this.constr=p,this.traits=new Set}a.prototype=o;let s=r,c=s&&new WeakSet;function u(f,h){if(f._zod){if(f._zod.traits.has(e))return}else{mb.value=new a(h);try{Object.defineProperty(f,"_zod",mb)}finally{mb.value=void 0}}if(f._zod.traits.add(e),t(f,h),c){let g=Object.getPrototypeOf(f),S=f._zod.constr.prototype,v=g;for(;v&&v!==S;)v=Object.getPrototypeOf(v);let _=v??g;c.has(_)||(c.add(_),db(_,s))}let m=p.prototype;for(let g in m)Object.prototype.hasOwnProperty.call(m,g)&&(g in f||(f[g]=m[g].bind(f)))}let l=i?.Parent??Object;class d extends l{}Object.defineProperty(d,"name",{value:e});function p(f){let h=i?.Parent?Q6(d):this;u(h,f);let m=h._zod.deferred;if(m){for(let S of m)S();h._zod.deferred=void 0}let g=globalThis.__zod_globalConfig?.postProcessor;return g&&g(h),h}return Object.defineProperty(p,"init",{value:u}),Object.defineProperty(p,Symbol.hasInstance,{value:f=>i?.Parent&&f instanceof i.Parent?!0:f?._zod?.traits?.has(e)}),Object.defineProperty(p,"name",{value:e}),p}function Zt(e){return e&&Object.assign(yn,e),yn}var rO,fb,mb,iO,hb,tr,eo,yn,Xi=x(()=>{tn();fb=Object.freeze({status:"aborted"}),mb={value:void 0,enumerable:!1},iO="captureStackTrace"in Error?Error:null;hb=Symbol("zod_brand"),tr=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},eo=class extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}};(rO=globalThis).__zod_globalConfig??(rO.__zod_globalConfig={});yn=globalThis.__zod_globalConfig});function Y6(){let e=this._zod;return e.message??(e.message=JSON.stringify(e.def,as,2)),e.message}function X6(e){this._zod.message=e}function tB(e,t,r){return Object.prototype.hasOwnProperty.call(e,t)||(t==="__proto__"?Object.defineProperty(e,t,{value:r(),writable:!0,enumerable:!0,configurable:!0}):e[t]=r()),e[t]}function mu(e,t=r=>r.message){let r={},i=[];for(let o of e.issues)o.path.length>0?tB(r,o.path[0],()=>[]).push(t(o)):i.push(t(o));return{formErrors:i,fieldErrors:r}}function fu(e,t=r=>r.message){let r={_errors:[]},i=(o,a=[])=>{for(let s of o.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(c=>i({issues:c},[...a,...s.path]));else if(s.code==="invalid_key")i({issues:s.issues},[...a,...s.path]);else if(s.code==="invalid_element")i({issues:s.issues},[...a,...s.path]);else{let c=[...a,...s.path];if(c.length===0)r._errors.push(t(s));else{let u=r,l=0;for(;l<c.length;){let d=c[l],p=l===c.length-1;if(d==="_errors"){p&&u._errors.push(t(s)),l++;continue}Object.prototype.hasOwnProperty.call(u,d)||Object.defineProperty(u,d,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let f=u[d];p&&f._errors.push(t(s)),u=f,l++}}}};return i(e),r}function Ab(e,t=r=>r.message){let r={errors:[]},i=(o,a=[])=>{var s;for(let c of o.issues)if(c.code==="invalid_union"&&c.errors.length)c.errors.map(u=>i({issues:u},[...a,...c.path]));else if(c.code==="invalid_key")i({issues:c.issues},[...a,...c.path]);else if(c.code==="invalid_element")i({issues:c.issues},[...a,...c.path]);else{let u=[...a,...c.path];if(u.length===0){r.errors.push(t(c));continue}let l=r,d=0;for(;d<u.length;){let p=u[d],f=d===u.length-1;typeof p=="string"?(l.properties??(l.properties={}),Object.prototype.hasOwnProperty.call(l.properties,p)||Object.defineProperty(l.properties,p,{value:{errors:[]},enumerable:!0,writable:!0,configurable:!0}),l=l.properties[p]):(l.items??(l.items=[]),(s=l.items)[p]??(s[p]={errors:[]}),l=l.items[p]),f&&l.errors.push(t(c)),d++}}};return i(e),r}function sO(e){let t=[],r=e.map(i=>typeof i=="object"?i.key:i);for(let i of r)typeof i=="number"?t.push(`[${i}]`):typeof i=="symbol"?t.push(`[${JSON.stringify(String(i))}]`):/[^\w$]/.test(i)?t.push(`[${JSON.stringify(i)}]`):(t.length&&t.push("."),t.push(i));return t.join("")}function xb(e){let t=[],r=[...e.issues].sort((i,o)=>(i.path??[]).length-(o.path??[]).length);for(let i of r)t.push(`\u2716 ${i.message}`),i.path?.length&&t.push(` \u2192 at ${sO(i.path)}`);return t.join(`
|
|
2
2
|
`)}var eB,yb,oO,aO,bb,nr,Sb=x(()=>{Xi();tn();eB={get:Y6,set:X6,enumerable:!0,configurable:!0},yb={value:void 0,enumerable:!1},oO=new WeakSet([Object.prototype,Error.prototype]),aO=(e,t)=>{e.name="$ZodError",yb.value=t,Object.defineProperty(e,"issues",yb),yb.value=void 0,Object.defineProperty(e,"message",eB);let r=Object.getPrototypeOf(e);oO.has(r)||(oO.add(r),Object.defineProperty(r,"toString",{configurable:!0,enumerable:!1,get(){let i=()=>this.message;return Object.defineProperty(this,"toString",{value:i,configurable:!0,writable:!0}),i},set(i){Object.defineProperty(this,"toString",{value:i,configurable:!0,writable:!0})}}))},bb=N("$ZodError",aO),nr=N("$ZodError",aO,void 0,{Parent:Error})});function Jd(e,t){return{callee:t?.callee??e,Err:t?.Err}}function cO(e,t,r){let i;return{success:!1,get error(){return i||(i=new e(t.map(o=>er(o,r,Zt()))),t=void 0,r=void 0),i},set error(o){i=o,t=void 0,r=void 0}}}function sB(e,t,r){let i=r?{...r,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},o=e._zod.bag.fallbackRun,a;if(o?(i[aB]=!0,a=o({value:t,issues:[]},i)):a=e._zod.run({value:t,issues:[]},i),a instanceof Promise)throw new tr;return a.issues.length===0}var ds,Qd,ps,Yd,ms,rB,fs,iB,oB,aB,hu,gu,Xd,cB,ep,uB,tp,lB,np,dB,rp,pB,ip,mB,op,fB,ap,hB,vb=x(()=>{Xi();Sb();tn();ds=e=>{let t=(r,i,o,a)=>{let s=o?{...o,async:!1}:{async:!1},c=r._zod.run({value:i,issues:[]},s);if(c instanceof Promise)throw new tr;if(c.issues.length){let u=new(a?.Err??e)(c.issues.map(l=>er(l,s,Zt())));throw Hd(u,a?.callee??t),u}return c.value};return t},Qd=ds(nr),ps=e=>{let t=async(r,i,o,a)=>{let s=o?{...o,async:!0}:{async:!0},c=r._zod.run({value:i,issues:[]},s);if(c instanceof Promise&&(c=await c),c.issues.length){let u=new(a?.Err??e)(c.issues.map(l=>er(l,s,Zt())));throw Hd(u,a?.callee??t),u}return c.value};return t},Yd=ps(nr),ms=e=>(t,r,i)=>{let o=i?{...i,async:!1}:{async:!1},a=t._zod.run({value:r,issues:[]},o);if(a instanceof Promise)throw new tr;return a.issues.length?cO(e,a.issues,o):{success:!0,data:a.value}},rB=ms(nr);fs=e=>async(t,r,i)=>{let o=i?{...i,async:!0}:{async:!0},a=t._zod.run({value:r,issues:[]},o);return a instanceof Promise&&(a=await a),a.issues.length?cO(e,a.issues,o):{success:!0,data:a.value}},iB=fs(nr),oB=Symbol.for("zod.compile.invalid"),aB=Symbol.for("zod.compile.fallback"),hu=((e,t,r)=>{let i=e._zod.bag.validator;if(i!==void 0){if(i(t)!==oB)return!0;if(i.definite===!0&&r===void 0)return!1}return sB(e,t,r)});gu=async(e,t,r)=>{let i=r?{...r,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},o=e._zod.run({value:t,issues:[]},i);return o instanceof Promise&&(o=await o),o.issues.length===0},Xd=e=>{let t=ds(e),r=(i,o,a,s)=>{let c=a?{...a,direction:"backward"}:{direction:"backward"};return t(i,o,c,Jd(r,s))};return r},cB=Xd(nr),ep=e=>{let t=ds(e),r=(i,o,a,s)=>t(i,o,a,Jd(r,s));return r},uB=ep(nr),tp=e=>{let t=ps(e),r=async(i,o,a,s)=>{let c=a?{...a,direction:"backward"}:{direction:"backward"};return await t(i,o,c,Jd(r,s))};return r},lB=tp(nr),np=e=>{let t=ps(e),r=async(i,o,a,s)=>await t(i,o,a,Jd(r,s));return r},dB=np(nr),rp=e=>(t,r,i)=>{let o=i?{...i,direction:"backward"}:{direction:"backward"};return ms(e)(t,r,o)},pB=rp(nr),ip=e=>(t,r,i)=>ms(e)(t,r,i),mB=ip(nr),op=e=>async(t,r,i)=>{let o=i?{...i,direction:"backward"}:{direction:"backward"};return fs(e)(t,r,o)},fB=op(nr),ap=e=>async(t,r,i)=>fs(e)(t,r,i),hB=ap(nr)});var Tr={};Ie(Tr,{anyString:()=>Wb,base64:()=>zb,base64url:()=>Ub,bigint:()=>Qb,boolean:()=>Yb,browserEmail:()=>wB,cidrv4:()=>Mb,cidrv6:()=>Fb,creditCard:()=>sp,cuid:()=>_b,cuid2:()=>Ib,currencyCode:()=>Zb,date:()=>Hb,datetime:()=>Kb,domain:()=>Bb,duration:()=>Tb,e164:()=>qb,email:()=>Nb,emoji:()=>Db,extendedDuration:()=>gB,guid:()=>Rb,hex:()=>rA,hostname:()=>Vb,html5Email:()=>xB,httpProtocol:()=>yu,iban:()=>cp,idnEmail:()=>vB,integer:()=>bu,ipv4:()=>jb,ipv6:()=>$b,ksuid:()=>Cb,lowercase:()=>tA,mac:()=>Lb,md5_base64:()=>EB,md5_base64url:()=>CB,md5_hex:()=>kB,nanoid:()=>Pb,nanoidOfLength:()=>Ob,null:()=>Xb,number:()=>Pi,rfc5322Email:()=>SB,sha1_base64:()=>OB,sha1_base64url:()=>TB,sha1_hex:()=>PB,sha256_base64:()=>NB,sha256_base64url:()=>DB,sha256_hex:()=>RB,sha384_base64:()=>$B,sha384_base64url:()=>LB,sha384_hex:()=>jB,sha512_base64:()=>FB,sha512_base64url:()=>zB,sha512_hex:()=>MB,string:()=>Jb,time:()=>Gb,ulid:()=>kb,undefined:()=>eA,unicodeEmail:()=>uO,uppercase:()=>nA,uuid:()=>ta,uuid4:()=>yB,uuid6:()=>bB,uuid7:()=>AB,xid:()=>Eb});function Ob(e){return new RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}function Db(){return new RegExp(_B,"u")}function IB(e){return new RegExp(`^${e}$`)}function wb(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Gb(e){return new RegExp(`^${wb(e)}$`)}function Kb(e){let t=["Z"];e.offset&&t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let r=`${wb({precision:e.precision,seconds:!0})}(?:${t.join("|")})`,i=e.local?`${r}|${wb({precision:e.precision})}`:r;return new RegExp(`^${lO}T(?:${i})$`)}function Au(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function xu(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}var _b,Ib,kb,Eb,Cb,Pb,Tb,gB,Rb,ta,yB,bB,AB,Nb,xB,SB,uO,vB,wB,_B,jb,$b,Lb,Mb,Fb,zb,Ub,Vb,Bb,yu,qb,sp,Zb,cp,lO,Hb,Wb,Jb,Qb,bu,Pi,Yb,Xb,eA,tA,nA,rA,kB,EB,CB,PB,OB,TB,RB,NB,DB,jB,$B,LB,MB,FB,zB,na=x(()=>{tn();_b=/^[cC][0-9a-z]{6,}$/,Ib=/^[0-9a-z]+$/,kb=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,Eb=/^[0-9a-vA-V]{20}$/,Cb=/^[A-Za-z0-9]{27}$/,Pb=/^[a-zA-Z0-9_-]{21}$/;Tb=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,gB=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Rb=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,ta=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,yB=ta(4),bB=ta(6),AB=ta(7),Nb=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,xB=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,SB=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,uO=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,vB=uO,wB=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,_B="^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$";jb=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,$b=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Lb=e=>{let t=Or(e??":");return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},Mb=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Fb=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,zb=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ub=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,Vb=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,Bb=/^(?=.{1,253}$)([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,63}$/,yu=/^https?$/,qb=/^\+[1-9]\d{6,14}$/,sp=/^\d(?:[ -]?\d){11,18}$/,Zb=/^(?:AED|AFN|ALL|AMD|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAD|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XCG|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWG)$/,cp=/^[A-Z]{2}(?!00|01|99)\d{2}[A-Z0-9]{11,30}$/,lO="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))";Hb=IB(lO);Wb=/^[\s\S]{0,}$/,Jb=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Qb=/^-?\d+n?$/,bu=/^-?\d+$/,Pi=/^-?\d+(?:\.\d+)?$/,Yb=/^(?:true|false)$/i,Xb=/^null$/i,eA=/^undefined$/i,tA=/^[^A-Z]*$/,nA=/^[^a-z]*$/,rA=/^[0-9a-fA-F]*$/;kB=/^[0-9a-fA-F]{32}$/,EB=Au(22,"=="),CB=xu(22),PB=/^[0-9a-fA-F]{40}$/,OB=Au(27,"="),TB=xu(27),RB=/^[0-9a-fA-F]{64}$/,NB=Au(43,"="),DB=xu(43),jB=/^[0-9a-fA-F]{96}$/,$B=Au(64,""),LB=xu(64),MB=/^[0-9a-fA-F]{128}$/,FB=Au(86,"=="),zB=xu(86)});function lp(e,t,r){e.issues.length&&t.issues.push(...Xn(r,e.issues))}var Ot,iA,oA,up,dp,pp,aA,sA,cA,uA,lA,dA,pA,mA,fA,hs,hA,gA,yA,bA,AA,xA,SA,vA,wA,_A,mp=x(()=>{Xi();na();tn();Ot=N("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),iA=e=>{let t=e.value;return!Zd(t)&&t.size!==void 0},oA=e=>{let t=e.value;return!Zd(t)&&t.length!==void 0},up={number:"number",bigint:"bigint",object:"date"},dp=N("$ZodCheckLessThan",(e,t)=>{Ot.init(e,t);let r=up[typeof t.value];e._zod.check=i=>{(t.inclusive?i.value<=t.value:i.value<t.value)||i.issues.push({origin:up[typeof i.value]??r,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:i.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),pp=N("$ZodCheckGreaterThan",(e,t)=>{Ot.init(e,t);let r=up[typeof t.value];e._zod.check=i=>{(t.inclusive?i.value>=t.value:i.value>t.value)||i.issues.push({origin:up[typeof i.value]??r,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:i.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),aA=N("$ZodCheckMultipleOf",(e,t)=>{Ot.init(e,t),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?t.value!==BigInt(0)&&r.value%t.value===BigInt(0):iu(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),sA=N("$ZodCheckNumberFormat",(e,t)=>{Ot.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),i=r?"int":"number",[o,a]=su[t.format];e._zod.check=s=>{let c=s.value;if(r){if(!Number.isInteger(c)){s.issues.push({expected:i,format:t.format,code:"invalid_type",continue:!1,input:c,inst:e});return}if(!Number.isSafeInteger(c)){c>0?s.issues.push({input:c,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:i,inclusive:!0,continue:!t.abort}):s.issues.push({input:c,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:i,inclusive:!0,continue:!t.abort});return}}c<o&&s.issues.push({origin:"number",input:c,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),c>a&&s.issues.push({origin:"number",input:c,code:"too_big",maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),cA=N("$ZodCheckBigIntFormat",(e,t)=>{Ot.init(e,t);let[r,i]=cu[t.format];e._zod.check=o=>{let a=o.value;a<r&&o.issues.push({origin:"bigint",input:a,code:"too_small",minimum:r,inclusive:!0,inst:e,continue:!t.abort}),a>i&&o.issues.push({origin:"bigint",input:a,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),uA=N("$ZodCheckMaxSize",(e,t)=>{var r;Ot.init(e,t),(r=e._zod.def).when??(r.when=iA),e._zod.check=i=>{let o=i.value;o.size<=t.maximum||i.issues.push({origin:lu(o),code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),lA=N("$ZodCheckMinSize",(e,t)=>{var r;Ot.init(e,t),(r=e._zod.def).when??(r.when=iA),e._zod.check=i=>{let o=i.value;o.size>=t.minimum||i.issues.push({origin:lu(o),code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),dA=N("$ZodCheckSizeEquals",(e,t)=>{var r;Ot.init(e,t),(r=e._zod.def).when??(r.when=iA),e._zod.check=i=>{let o=i.value,a=o.size;if(a===t.size)return;let s=a>t.size;i.issues.push({origin:lu(o),...s?{code:"too_big",maximum:t.size}:{code:"too_small",minimum:t.size},inclusive:!0,exact:!0,input:i.value,inst:e,continue:!t.abort})}}),pA=N("$ZodCheckMaxLength",(e,t)=>{var r;Ot.init(e,t),(r=e._zod.def).when??(r.when=oA),e._zod.check=i=>{let o=i.value,a=o.length;if((typeof o=="string"&&a>t.maximum?ea(o):a)<=t.maximum)return;let c=du(o);i.issues.push({origin:c,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),mA=N("$ZodCheckMinLength",(e,t)=>{var r;Ot.init(e,t),(r=e._zod.def).when??(r.when=oA),e._zod.check=i=>{let o=i.value,a=o.length;if((typeof o=="string"&&a>=t.minimum&&a<t.minimum*2?ea(o):a)>=t.minimum)return;let c=du(o);i.issues.push({origin:c,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),fA=N("$ZodCheckLengthEquals",(e,t)=>{var r;Ot.init(e,t),(r=e._zod.def).when??(r.when=oA),e._zod.check=i=>{let o=i.value,a=o.length,s=typeof o=="string"&&a>=t.length&&a<=t.length*2?ea(o):a;if(s===t.length)return;let c=du(o),u=s>t.length;i.issues.push({origin:c,...u?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:i.value,inst:e,continue:!t.abort})}}),hs=N("$ZodCheckStringFormat",(e,t)=>{var r,i;Ot.init(e,t),t.pattern?(r=e._zod).check??(r.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(i=e._zod).check??(i.check=()=>{})}),hA=N("$ZodCheckRegex",(e,t)=>{hs.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),gA=N("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=tA),hs.init(e,t)}),yA=N("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=nA),hs.init(e,t)}),bA=N("$ZodCheckIncludes",(e,t)=>{Ot.init(e,t);let r=Or(t.includes),i=new RegExp(typeof t.position=="number"?`^.{${t.position},}${r}`:r);t.pattern=i,e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),AA=N("$ZodCheckStartsWith",(e,t)=>{Ot.init(e,t);let r=new RegExp(`^${Or(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.check=i=>{i.value.startsWith(t.prefix)||i.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:i.value,inst:e,continue:!t.abort})}}),xA=N("$ZodCheckEndsWith",(e,t)=>{Ot.init(e,t);let r=new RegExp(`.*${Or(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.check=i=>{i.value.endsWith(t.suffix)||i.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:i.value,inst:e,continue:!t.abort})}});SA=N("$ZodCheckProperty",(e,t)=>{Ot.init(e,t),e._zod.check=r=>{let i=t.schema._zod.run({value:r.value[t.property],issues:[]},{});if(i instanceof Promise)return i.then(o=>lp(o,r,t.property));lp(i,r,t.property)}}),vA=N("$ZodCheckProperties",(e,t)=>{Ot.init(e,t),pu(e,Symbol.iterator,function*(){yield e});let r;e._zod.check=i=>{if(i.value==null){i.issues.push({expected:"object",code:"invalid_type",input:i.value,inst:e});return}r??(r=Reflect.ownKeys(t.shape).map(s=>[s,t.shape[s]]));let o=i.value,a;for(let[s,c]of r){let u=c._zod.run({value:o[s],issues:[]},{});u instanceof Promise?(a??(a=[]),a.push(u.then(l=>lp(l,i,s)))):lp(u,i,s)}if(a)return Promise.all(a).then(()=>{})}}),wA=N("$ZodCheckMimeType",(e,t)=>{Ot.init(e,t);let r=new Set(t.mime);e._zod.check=i=>{r.has(i.value.type)||i.issues.push({code:"invalid_value",values:t.mime,input:i.value.type,inst:e,continue:!t.abort})}}),_A=N("$ZodCheckOverwrite",(e,t)=>{Ot.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}})});var ra,fp=x(()=>{ra=class{constructor(t=[],r={}){this.content=[],this.indent=0,this.args=t,this.closed=r}indented(t){this.indent+=1;try{t(this)}finally{this.indent-=1}}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let i=t.split(`
|
|
3
3
|
`).filter(s=>s),o=Math.min(...i.map(s=>s.length-s.trimStart().length)),a=i.map(s=>s.slice(o)).map(s=>" ".repeat(this.indent*2)+s);for(let s of a)this.content.push(s)}compile(){let t=Function,r=this?.content??[""];return new t(...Object.keys(this.closed),`return function (${this.args.join(", ")}) {
|
|
4
4
|
${r.join(`
|
|
@@ -247,7 +247,7 @@ body{font-family:var(--g-font);color:var(--g-text);-webkit-font-smoothing:antial
|
|
|
247
247
|
`;function g(){return Object.create(null)}let S=null,v,_=new Set,P,E,D=new Map,L=new Map,U=new Map,j=new Map,V=0,T=new Map,W=new WeakMap,z=0,$=0,H,ne=null,M=g(),R=g(),Z=g(),be="",Fe=!1,tt=-1,re=!1,Le="",Ce=null,we=null,ot=null,ze=document.createElement("div");ze.id="g-card";let vt=document.createElement("div"),rt=document.createElement("div");vt.className=rt.className="g-box",rt.dataset.kind="select",vt.append(document.createElement("span")),rt.append(document.createElement("span"));function at(y){let A={...y,channel:e.channel};try{o.postMessage(A,e.parentOrigin)}catch{}}function an(y){let A=parseInt(y.slice(1),16);return[A>>16&255,A>>8&255,A&255]}function ge(y,A,b){let I=an(y),C=an(A),O=I.map((k,J)=>Math.round(k*b+C[J]*(1-b)));return`rgb(${O[0]},${O[1]},${O[2]})`}function de(y){let[A,b,I]=an(y).map(C=>{let O=C/255;return O<=.03928?O/12.92:((O+.055)/1.055)**2.4});return .2126*A+.7152*b+.0722*I}function ve(y){return typeof y!="string"?"":y.startsWith("#")?y:`var(--g-${y==="background"?"bg":y})`}function me(y){let A=y.theme,b=document.documentElement.style,I=de(A.primary),C=(I+.05)/.05>1.05/(I+.05)?"#111318":"#FFFFFF";b.setProperty("--g-primary",A.primary),b.setProperty("--g-on-primary",C),b.setProperty("--g-bg",A.background),b.setProperty("--g-text",A.text),b.setProperty("--g-muted",ge(A.text,A.background,.62)),b.setProperty("--g-surface",ge(A.text,A.background,.05)),b.setProperty("--g-border",ge(A.text,A.background,.16));let[O,k]=[de(A.primary),de(A.background)].sort((J,K)=>K-J);b.setProperty("--g-focus",(O+.05)/(k+.05)>=3?A.primary:A.text),b.setProperty("--g-radius",`${c[A.radius]??8}px`),b.setProperty("--g-font",u[A.font]??u.system),b.setProperty("--g-edit","#2C3C96")}function Pe(y){let A=S?.strings.locales[be]?.[y];return A&&A.trim()?{value:A,missing:!1}:{value:S?.strings.locales[S.strings.defaultLocale]?.[y]??"",missing:!0}}function Ee(y){let A=P?.nodes[y];if(!A)return;let b=A.picker?M[A.picker]??P?.pickers[A.picker]?.selected:void 0;if(!(A.picker&&typeof b=="string"&&!P?.pickers[A.picker]?.options.includes(b)))return typeof b=="string"?A.byPlan?.[b]??A.base:A.base}function Ve(){return{...S?.surface==="paywall"&&ne?{__page:ne}:{},...Object.fromEntries(Object.entries(M).filter(y=>!Array.isArray(y[1])))}}function pt(y){return v&&Object.hasOwn(v.answers,y)&&v.bindings.some(A=>A.variable===y)?v.answers[y]:v?.values?.[y]}function Y(y){let A=j.get(y);if(A)return A;let b=[...new Set([...y.matchAll(/\{\{\s*variables\.([^{}]+?)\s*\}\}/g)].map(I=>I[1].trim()))];if(y.length<=1e6)for(j.set(y,b),V+=y.length;j.size>128||V>1e6;){let I=j.keys().next().value;j.delete(I),V-=I.length}return b}function De(y){let A=y.html[be];return Ee(y.id)?.html??P?.nodes[y.id]?.base.html??(A&&A.trim()?A:y.html[S?.strings.defaultLocale??""]??"")}function lt(){j.clear(),V=0;let y=[],A=[],b=J=>{if(!J.hidden){if(J.type==="stack")J.children.forEach(b);else if(J.type==="custom_html"){y.push(De(J));let K=P?.nodes[J.id];for(let ae of[K?.base,...Object.values(K?.byPlan??{})])ae?.html!==void 0&&A.push(ae.html)}}},I=ne??S?.initialPageId,C=S?.pages??[],O=new Set;for(let J of[...C.filter(K=>K.id===I),...C.filter(K=>K.id!==I)]){y.length=A.length=0,b(J.root);for(let K of[...y,...A])O.add(K)}let k=new Set([...O].map(Ke));for(let[J,K]of T)k.has(J)||st(J,K);for(let J of O)Y(J),!T.has(Ke(J))&&(T.size>=32||$+500>4e3||z+J.length+2>262144||gt(J,!0))}function Ke(y){return(e.mode==="live"&&v?"b:":"s:")+y}function st(y,A){T.delete(y),z-=y.length,$-=A.elements}function gt(y,A=!1){let b=Ke(y),I=T.get(b);if(I)return T.delete(b),T.set(b,I),I;let C="data-indiana-html-binding";for(;y.includes(C);)C+="-next";let O=[],k=e.mode==="live"&&!!v,J=/\{\{\s*variables\.([^{}]+?)\s*\}\}/g,K=k?y.replace(J,(se,fe)=>(O.push(fe.trim()),`<span ${C}="${O.length-1}"></span>`)):y,ae=document.createElement("template");ae.innerHTML=`<div>${K}</div>`;let he=ae.content.firstElementChild,q=[];for(let se of he.querySelectorAll(`[${C}]`)){let fe=document.createTextNode(""),Me=O[Number(se.getAttribute(C))];se.replaceWith(fe);let mt=[];for(let Qe=fe;Qe!==he;){let Pt=Qe.parentNode;mt.unshift(Array.prototype.indexOf.call(Pt.childNodes,Qe)),Qe=Pt}q.push({path:mt,variable:Me})}let X={key:b,content:he,inUse:!1,bindings:q,unresolved:(k?y.replace(J,""):y).includes("{{"),elements:he.getElementsByTagName("*").length};if(b.length<=262144&&X.elements<=4e3){if(!A)for(;T.size>=32||z+b.length>262144||$+X.elements>4e3;){let[se,fe]=T.entries().next().value;st(se,fe)}T.size<32&&z+b.length<=262144&&$+X.elements<=4e3&&(T.set(b,X),z+=b.length,$+=X.elements)}return X}function hn(y){let A=y.template;if(A?.content===y.body&&T.get(A.key)===A){for(let b of y.bindings)b.node.data="";A.inUse=!1,y.parked=!0}y.template=null}function Je(y,A){let b=W.get(y),I=De(A),C=e.mode==="live"&&!!v,O=b.source!==I||b.bound!==C,k;O&&(hn(b),k=gt(I),b.source=I,b.bound=C,b.unresolved=k.unresolved,b.variables=[...new Set(k.bindings.map(q=>q.variable))]);let J=new Map,K=b.unresolved;if(C)for(let q of b.variables){let X=pt(q);if(X==null){K=!0;continue}let se=String(typeof X=="object"?JSON.stringify(X):X).replace(/\r\n?/g,`
|
|
248
248
|
`);se.includes("{{")&&(K=!0),J.set(q,se)}if(K&&e.mode==="live"){if(hn(b),b.parked){let X=document.createElement("div");b.body.replaceWith(X),b.body=X,b.parked=!1}let q=Pe(A.fallback??"").value.replace(/\r\n?/g,`
|
|
249
249
|
`);(!b.fallback||b.body.textContent!==q)&&(b.body.textContent=q),b.fallback=!0,b.bindings=[]}else if(O||b.fallback||!b.initialized){k??=gt(I);let q=!k.inUse,X=q?k.content:k.content.cloneNode(!0);b.bindings=k.bindings.map(({path:se,variable:fe})=>{let Me=X;for(let mt of se)Me=Me.childNodes[mt];return{node:Me,variable:fe}});for(let se of b.bindings)se.node.data=J.get(se.variable);b.body.replaceWith(X),b.body=X,b.parked=!1,q&&T.get(k.key)===k?(k.inUse=!0,b.template=k):b.template=null;for(let se of b.body.querySelectorAll("img"))se.addEventListener("load",Gi);b.fallback=!1,b.initialized=!0}else for(let q of b.bindings){let X=J.get(q.variable);q.node.data!==X&&(q.node.data=X)}let ae=Ee(A.id),he=A.html[be];y.classList.toggle("g-missing",e.mode==="editor"&&(!!ae?.missing?.length||!ae&&I.includes("{{")||!(he&&he.trim())))}function Tt(y,A,b){let I=Ee(y.id),C=I?.[A],O=C!==void 0?{value:C,missing:!!I?.missing?.length}:Pe(b);if(e.mode==="live"&&v){let k=!1,J=O.value.replace(/\{\{\s*variables\.([^{}]+?)\s*\}\}/g,(K,ae)=>{ae=ae.trim();let he=pt(ae);return he==null||he===""||Array.isArray(he)&&!he.length?(k=!0,""):Array.isArray(he)?he.join(", "):String(he)});if(k)return{value:y.fallback?Pe(y.fallback).value:"",missing:!0};if(!J.includes("{{"))return{value:J,missing:O.missing}}return C!==void 0?O:O.value.includes("{{")&&e.mode==="live"?{value:y.fallback?Pe(y.fallback).value:"",missing:!0}:{value:O.value,missing:O.missing||O.value.includes("{{")}}function lr(y){if(y.name)return y.name;let A=e.editorMessages?.nodeTypes?.[y.type];return e.mode==="editor"&&typeof A=="string"?A:{stack:"\u5BB9\u5668",text:"\u6587\u672C",image:"\u56FE\u7247",button:"\u6309\u94AE",divider:"\u5206\u9694\u7EBF",spacer:"\u7559\u767D",custom_html:"\u81EA\u5B9A\u4E49 HTML",price:"\u4EF7\u683C",coupon_code:"\u4F18\u60E0\u7801",countdown:"\u5012\u8BA1\u65F6",plan_picker:"\u771F\u5B9E\u5957\u9910\u9009\u62E9"}[y.type]??y.type}function Ho(y,A){if(A.type==="color")y.background="none",y.backgroundColor=ve(A.color);else if(A.type==="linear"){let b=A.stops.map(I=>`${ve(I.color)} ${Number(I.at)}%`).join(",");y.backgroundColor="transparent",y.backgroundImage=`linear-gradient(${Number(A.angle)}deg,${b})`}else if(A.type==="image"&&typeof A.src=="string"){let b=/^data:image\/(?:svg\+xml|jpeg|png);base64,[A-Za-z0-9+/]+={0,2}$/.test(A.src)?A.src:A.src.replace(/[^A-Za-z0-9\-._~:/?#[\]@!$&*+;=%]/gu,C=>C.length===1&&C.charCodeAt(0)<128?`%${C.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0")}`:encodeURIComponent(C));y.backgroundImage=`url("${b}")`;let I=A.position;y.backgroundPosition=I?`${I.x}% ${I.y}%`:"center",y.backgroundSize=A.fit==="contain"?"contain":"cover",y.backgroundRepeat="no-repeat"}}function kr(y){return`${Number(y.top)}px ${Number(y.right)}px ${Number(y.bottom)}px ${Number(y.left)}px`}function Go(y,A,b,I,C){if(A===void 0)return;let O=I?.direction??"vertical",k=O!=="overlay"&&b==="width"==(O==="horizontal"),J=b==="width"?"minWidth":"minHeight";A==="fill"?O==="overlay"?(y.style[b]="100%",y.style[b==="width"?"justifySelf":"alignSelf"]="stretch"):k?(y.style.flex="1 1 0",y.style[J]="0"):(y.style.alignSelf="stretch",y.style[b]="auto"):A==="fit"?(y.style[b]="fit-content",b==="width"&&(y.style.maxWidth="100%"),!k&&O!=="overlay"&&(!I||I.align==="stretch")&&(y.style.alignSelf=C==="center"?"center":C==="end"?"flex-end":"flex-start")):typeof A=="number"&&(y.style[b]=`${A}px`,b==="width"&&(y.style.maxWidth="100%"),k&&(y.style.flex="0 0 auto"))}function ai(y,A,b){let I=A.style,C=I.text??{},O=y.style;if(A.type==="customer_data"&&(C.font&&O.setProperty("--g-data-display-font",u[String(C.font)]??u.system),A.data.source==="membership"&&(typeof C.size=="number"&&O.setProperty("--g-data-display-size",`clamp(${Math.min(C.size,28)}px, ${C.size/12}vw, ${C.size}px)`),typeof C.weight=="number"&&O.setProperty("--g-data-display-weight",String(C.weight)))),A.type==="customer_data"&&A.data.source==="credit_balance"&&(typeof C.size=="number"&&O.setProperty("--g-data-number-size",`clamp(${Math.min(C.size,48)}px, ${C.size/10}vw, ${C.size}px)`),C.font&&O.setProperty("--g-data-number-font",u[String(C.font)]??u.system),typeof C.weight=="number"&&O.setProperty("--g-data-number-weight",String(C.weight))),A.type==="customer_data"&&C.color){let ae=ve(C.color);O.setProperty("--g-data-ink",ae),O.setProperty("--g-data-muted",`color-mix(in srgb, ${ae} 72%, transparent)`),O.setProperty("--g-data-line",`color-mix(in srgb, ${ae} 20%, transparent)`),O.setProperty("--g-data-surface",`color-mix(in srgb, ${ae} 8%, transparent)`)}I.padding&&(O.padding=kr(I.padding)),I.margin&&(O.margin=kr(I.margin)),typeof I.gap=="number"&&A.type==="stack"&&(O.gap=`${I.gap}px`),I.background&&Ho(O,I.background),typeof I.opacity=="number"&&(O.opacity=String(I.opacity));let k=I.shape;if(k?.type==="pill")O.borderRadius="9999px";else if(k?.type==="rect"){let ae=k.radius;O.borderRadius=typeof ae=="number"?`${ae}px`:`${Number(ae.topLeft)}px ${Number(ae.topRight)}px ${Number(ae.bottomRight)}px ${Number(ae.bottomLeft)}px`}(I.clipContent===!0||I.clipContent!==!1&&k&&(I.background||A.type==="image"))&&(O.overflow="hidden");let J=I.border;J&&(O.border=Number(J.width)>0?`${Number(J.width)}px ${J.style==="dashed"?"dashed":"solid"} ${ve(J.color)}`:"0");let K=I.shadow;K&&(O.boxShadow=`${Number(K.x)}px ${Number(K.y)}px ${Number(K.blur)}px ${Number(K.spread)}px ${ve(K.color)}`),["text","button","price","coupon_code","countdown","plan_picker"].includes(A.type)&&(C.font&&(O.fontFamily=u[String(C.font)]??""),typeof C.size=="number"&&(O.fontSize=`${C.size}px`),typeof C.weight=="number"&&(O.fontWeight=String(C.weight)),typeof C.lineHeight=="number"&&(O.lineHeight=String(C.lineHeight)),typeof C.letterSpacing=="number"&&(O.letterSpacing=`${C.letterSpacing}px`),C.color&&(O.color=ve(C.color)),C.align&&(O.textAlign=String(C.align)),C.italic&&(O.fontStyle="italic"),C.decoration&&(O.textDecoration=String(C.decoration)),C.transform&&(O.textTransform=String(C.transform))),Go(y,I.width,"width",b,C.align),Go(y,I.height,"height",b,C.align),b?.direction==="horizontal"&&I.grow!==void 0&&(O.flexGrow=String(I.grow===!0?1:I.grow===!1?0:I.grow))}function Ur(y,A){if(v){let b=v.bindings.find(I=>I.componentId===y);if(!b)return;v.answers[b.variable]=A,_.add(y),at({type:"answers",answers:Ko()}),Cn();return}}function Ko(){let y={};for(let A of v?.bindings??[]){let b=M[A.componentId];b!==void 0&&typeof b!="number"&&(y[A.variable]=b)}return y}function Ja(y){let A=document.createElement("section");A.className="g-data",A.dataset.layout=y.data.layout,A.dataset.source=y.data.source;let b=E?.nodes[y.id];A.dataset.status=b?.status??"idle",A.dataset.preview=String(!!b?.preview);let I=b?.status==="loading",C=be.startsWith("zh"),O=(ce,Te)=>C?ce:Te;A.setAttribute("aria-busy",String(!!I));let k=(ce,Te,Dt)=>{let Ue=document.createElement(ce);return Ue.className=Te,Dt!==void 0&&(Ue.textContent=Dt),Ue},J=ce=>{let Te=document.createElementNS("http://www.w3.org/2000/svg","svg");Te.setAttribute("viewBox","0 0 24 24"),Te.setAttribute("fill","none"),Te.setAttribute("stroke","currentColor"),Te.setAttribute("stroke-width","1.7"),Te.setAttribute("stroke-linecap","round"),Te.setAttribute("stroke-linejoin","round"),Te.setAttribute("aria-hidden","true"),Te.classList.add("g-data-icon");let Dt={refresh:["M20 7v5h-5","M4 17v-5h5","M6.1 7a7 7 0 0 1 11.5-1.5L20 8M4 16l2.4 2.5A7 7 0 0 0 18 17"],down:["M7 7l10 10M7 17h10V7"],up:["M7 17L17 7M7 7h10v10"],chevron:["M6 9l6 6 6-6"],empty:["M4 8l8-4 8 4v10l-8 4-8-4V8Z","M4 8l8 4 8-4M12 12v10"],credit:["M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18Z","M12 7v10M8 12h8"]};for(let Ue of Dt[ce]){let ft=document.createElementNS("http://www.w3.org/2000/svg","path");ft.setAttribute("d",Ue),Te.append(ft)}return Te},K=(ce,Te,Dt,Ue=!1,ft=Te)=>{let Mt=k("button","g-data-button",ce);return Mt.type="button",Mt.disabled=Ue||!!I&&Te!=="refresh"||!!b?.preview||e.mode!=="live",I&&Te==="refresh"&&Mt.setAttribute("aria-disabled","true"),Mt.dataset.gDataFocus=`${y.id}:${ft}:${Dt??""}`,Mt.addEventListener("click",Ft=>{!Ft.isTrusted||Mt.disabled||I||at({type:"customer-data-intent",intent:{nodeId:y.id,action:Te,...Dt?{value:Dt}:{}}})}),Mt},ae=k("div","g-data-header"),he=k("h2","g-data-heading",Pe(y.title).value);he.id=`g-data-title-${y.id}`,A.setAttribute("aria-labelledby",he.id);let q=k("div","g-data-controls"),X=[],se=ce=>{ce.hidden||(ce.type==="customer_data"&&X.push(ce),ce.type==="stack"&&ce.children.forEach(se))},fe=S?.pages[0];fe&&se(fe.root);let Me=X.every(ce=>E?.nodes[ce.id]?.preview),mt=X.find(ce=>ce.data.source==="credit_balance")??X[0];b?.preview&&(!Me||mt?.id===y.id)&&q.append(k("span","g-data-preview",O("\u793A\u4F8B\u6570\u636E","Sample data")));let Qe=I?O("\u66F4\u65B0\u4E2D\u2026","Updating\u2026"):O("\u5237\u65B0","Refresh"),Pt=K(Qe,"refresh");if(Pt.replaceChildren(J("refresh")),Pt.setAttribute("aria-label",Qe),Pt.title=Qe,Pt.classList.add("g-data-refresh"),I&&Pt.classList.add("g-data-refreshing"),q.append(Pt),y.data.source==="billing"&&y.data.outputs?.billing_portal&&q.append(K(b?.billingBusy?O("\u6B63\u5728\u51C6\u5907\u2026","Preparing\u2026"):O("\u7BA1\u7406\u652F\u4ED8\u65B9\u5F0F","Manage payment method"),"billing_portal",void 0,!!b?.billingBusy||b?.status!=="ready")),y.data.source==="credit_balance"&&(he.prepend(J("credit")),b?.resources.length===1&&he.append(k("span","g-data-resource-label",b.resources[0].name)),b?.updatedAt)){let ce=k("time","g-data-updated",`${O("\u66F4\u65B0\u4E8E","Updated")} ${new Intl.DateTimeFormat(be,{timeStyle:"short"}).format(new Date(b.updatedAt))}`);ce.dateTime=b.updatedAt,ce.title=new Intl.DateTimeFormat(be,{dateStyle:"medium",timeStyle:"short"}).format(new Date(b.updatedAt)),q.prepend(ce)}if(ae.append(he,q),A.append(ae),!b||b.source!==y.data.source)return A.append(k("p","g-data-empty",O("\u8FDE\u63A5\u5BA2\u6237\u6570\u636E\u540E\u663E\u793A\u6B64\u5185\u5BB9\u3002","Connect customer data to display this content."))),A;if(b.errorMessage){let ce=k("div","g-data-error",b.errorMessage);ce.setAttribute("role","alert"),A.append(ce);let Te=k("div","g-data-recovery");Te.append(K(O("\u91CD\u8BD5","Retry"),"refresh")),A.append(Te)}if(b.membershipResult){let ce=k("p","g-data-note",b.membershipResult);ce.setAttribute("role","status"),A.append(ce)}if(b.membershipReview){let ce=b.membershipReview,Te=k("section","g-data-resource");Te.dataset.gDataReview="",Te.setAttribute("aria-label",ce.title),Te.setAttribute("aria-busy",String(!!b.membershipBusy));let Dt=k("h3","g-data-row-label",ce.title);Dt.tabIndex=-1,Te.append(Dt);let Ue=k("dl","g-data-facts");for(let Mt of ce.facts){let Ft=k("div","");Ft.append(k("dt","",Mt.label),k("dd","",Mt.value)),Ue.append(Ft)}Te.append(Ue,k("p","g-data-note",ce.note));let ft=k("div","g-data-controls");ft.append(K(O("\u8FD4\u56DE","Back"),"membership_dismiss",void 0,!!b.membershipBusy),K(b.membershipBusy?O("\u6B63\u5728\u5904\u7406\u2026","Processing\u2026"):O("\u786E\u8BA4","Confirm"),"membership_confirm",void 0,!!b.membershipBusy)),Te.append(ft),A.append(Te)}if(b.stale&&(b.resources.length||b.rows.length)&&A.append(k("p",I?"g-data-live-status":"g-data-note",I?O("\u6B63\u5728\u66F4\u65B0\u8D26\u6237\u6570\u636E\u3002","Updating account data."):O("\u663E\u793A\u4E0A\u6B21\u8BFB\u53D6\u7684\u7ED3\u679C\uFF0C\u6B63\u5728\u7B49\u5F85\u66F4\u65B0\u3002","Showing the last result while awaiting an update."))),I&&!b.resources.length&&!b.rows.length){let ce=k("div","g-data-skeleton");if(ce.setAttribute("aria-hidden","true"),y.data.source==="credit_balance")ce.append(k("span","g-data-skeleton-line g-data-skeleton-value"),k("span","g-data-skeleton-line g-data-skeleton-meta"));else{let Dt=Math.min(y.data.pageSize,y.data.layout==="compact"?2:4);for(let Ue=0;Ue<Dt;Ue++){let ft=k("div","g-data-skeleton-row");ft.append(k("span","g-data-skeleton-line"),k("span","g-data-skeleton-line")),ce.append(ft)}}let Te=k("p","g-data-live-status",O("\u6B63\u5728\u8BFB\u53D6\u8D26\u6237\u6570\u636E\u2026","Loading account data\u2026"));return Te.setAttribute("role","status"),A.append(ce,Te),A}let sn={credit_transactions:[["all","\u5168\u90E8\u8BB0\u5F55","All activity"],["consume","\u6D88\u8D39","Usage"],["reserve","\u9884\u6263","Reserved"],["confirm","\u786E\u8BA4\u6263\u8D39","Confirmed"],["release","\u91CA\u653E","Released"],["refund","\u9000\u56DE","Refund"]],credit_pack_orders:[["all","\u5168\u90E8\u8BA2\u5355","All orders"],["pending","\u7B49\u5F85\u4ED8\u6B3E","Pending"],["paid","\u5DF2\u4ED8\u6B3E","Paid"],["expired","\u5DF2\u8FC7\u671F","Expired"],["refunded","\u5DF2\u9000\u6B3E","Refunded"],["disputed","\u4E89\u8BAE\u4E2D","Disputed"]],offer_history:[["all","\u5168\u90E8\u8BB0\u5F55","All offers"],["issued","\u672A\u4F7F\u7528","Unused"],["reserved","\u4ED8\u6B3E\u5904\u7406\u4E2D","Payment pending"],["redeemed","\u5DF2\u4F7F\u7528","Redeemed"],["expired","\u5DF2\u5230\u671F","Expired"],["revoked","\u5DF2\u4F5C\u5E9F","Revoked"]]};if(sn[y.data.source]){let ce=k("select","g-data-select");ce.setAttribute("aria-label",O("\u7B5B\u9009\u8BB0\u5F55","Filter records")),ce.dataset.gDataFocus=`${y.id}:filter`,ce.disabled=!!I||b.preview||e.mode!=="live";for(let[Te,Dt,Ue]of sn[y.data.source]){let ft=document.createElement("option");ft.value=Te,ft.textContent=O(Dt,Ue),ce.append(ft)}ce.value=b.filter,ce.addEventListener("change",()=>{!ce.disabled&&e.mode==="live"&&at({type:"customer-data-intent",intent:{nodeId:y.id,action:"filter",value:ce.value}})}),q.prepend(ce)}let Ji=(ce,Te=!1)=>{let Dt=k("ul","g-data-list");if(y.data.source==="credit_transactions"&&ce.length&&!Te){let Ue=k("div","g-data-table-head");Ue.setAttribute("aria-hidden","true"),Ue.append(k("span","",O("\u8BB0\u5F55","Record")),k("span","",O("\u7C7B\u578B","Type")),k("span","",O("\u79EF\u5206","Credits"))),A.append(Ue)}for(let Ue of ce){let ft=k("li","g-data-row"),Mt=k("div","g-data-row-main"),Ft=k("div","g-data-row-copy");Ft.append(k("p","g-data-row-label",Ue.label));for(let zt of Ue.detail)zt!==Ue.status&&Ft.append(k("div","g-data-row-detail",zt));if(y.data.source==="credit_transactions"&&!Te){let zt=k("span","g-data-row-mark");zt.append(J(["Refund","\u9000\u56DE"].includes(Ue.status??"")?"up":"down")),Mt.append(zt)}if(Mt.append(Ft),ft.append(Mt),Ue.status?ft.append(k("div","g-data-row-status",Ue.status)):ft.classList.add("g-data-row-no-status"),Ue.value?ft.append(k("div","g-data-row-value",Ue.value)):ft.classList.add("g-data-row-no-value"),Ue.facts.length||Ue.purchaseId||Ue.membershipActions?.length||Ue.billingActions?.length){let zt=k("div","g-data-row-extra"),Jn=k("div","g-data-facts"),ui=(gn,Qo)=>{for(let tu of gn){let nu=k("span","",tu.label);nu.append(k("strong","",tu.value)),Qo.append(nu)}};if(ui(Ue.facts.slice(0,3),Jn),Ue.facts.length>3){let gn=k("details","g-data-sources");gn.dataset.gDataSources=`facts:${Ue.id}`,gn.append(k("summary","",`${y.data.source==="billing"?O("\u8D26\u5355\u8BE6\u60C5","Invoice details"):y.data.source==="offer_history"?O("\u4F18\u60E0\u5238\u660E\u7EC6","Coupon details"):O("\u5168\u90E8\u6263\u8D39\u660E\u7EC6","All allocations")} \xB7 ${Ue.facts.length}`));let Qo=k("div","g-data-facts");ui(Ue.facts.slice(3),Qo),gn.append(Qo),Jn.append(gn)}if(zt.append(Jn),!Te)for(let gn of Ue.billingActions??[])zt.append(K(gn.label,gn.action,Ue.id,!!b.billingBusy));if(Ue.purchaseId&&y.data.allowPurchase&&!Te){let gn=K(b.buyingId===Ue.purchaseId?O("\u6B63\u5728\u51C6\u5907\u2026","Preparing\u2026"):O("\u8D2D\u4E70\u79EF\u5206","Buy credits"),"buy_pack",Ue.purchaseId,!!b.preview||!!b.buyingId);gn.classList.add("g-data-buy"),zt.append(gn)}if(y.data.allowPurchase&&!Te)for(let gn of Ue.membershipActions??[])zt.append(K(gn.label,"membership_preview",gn.value,!!b.preview||!!b.membershipBusy||!!b.membershipReview));ft.append(zt)}Dt.append(ft)}return Dt};for(let ce of b.resources){let Te=k("article","g-data-resource");Te.setAttribute("aria-label",ce.name),b.resources.length>1&&Te.append(k("p","g-data-name",ce.name));let Dt=k("div","g-data-balance"),Ue=new Intl.NumberFormat(be).formatToParts(1.1).find(zt=>zt.type==="decimal")?.value??".",ft=ce.spendable.lastIndexOf(Ue),Mt=k("strong","g-data-number",ft<0?ce.spendable:ce.spendable.slice(0,ft));ft>=0&&Mt.append(k("span","g-data-fraction",ce.spendable.slice(ft))),Dt.append(Mt,k("span","g-data-unit",O("\u53EF\u7528\u79EF\u5206","Spendable credits"))),Te.append(Dt);let Ft=k("div","g-data-facts");for(let[zt,Jn]of[[O("\u4F59\u989D","Balance"),ce.available],[O("\u51BB\u7ED3","Reserved"),ce.reserved]]){let ui=k("span","",zt);ui.append(k("strong","",Jn)),Ft.append(ui)}if(ce.expiry&&Ft.append(k("span","g-data-expiry",`${O("\u6700\u8FD1\u5230\u671F","Next expiry")} \xB7 ${ce.expiry}`)),Te.append(Ft),y.data.showSources&&ce.sourceCount){let zt=k("details","g-data-sources");if(zt.dataset.gDataSources=ce.key,zt.append(k("summary","",`${O("\u79EF\u5206\u6765\u6E90","Credit sources")} \xB7 ${ce.sourceCount}`),Ji(ce.sources,!0)),zt.querySelector("summary")?.append(J("chevron")),ce.hasNextSources||ce.hasPreviousSources){let Jn=k("div","g-data-footer");Jn.append(k("span","",`${O("\u7B2C","Page")} ${ce.sourcePage}`));let ui=k("div","g-data-controls");ui.append(K(O("\u4E0A\u4E00\u9875","Previous"),"sources_previous",ce.key,!ce.hasPreviousSources),K(O("\u4E0B\u4E00\u9875","Next"),"sources_next",ce.key,!ce.hasNextSources)),Jn.append(ui),zt.append(Jn)}Te.append(zt)}A.append(Te)}if(b.rows.length&&A.append(Ji(b.rows)),y.data.source==="billing_controls"&&(y.data.outputs?.billing_authorization||y.data.outputs?.billing_adjustment)){let ce=k("div","g-data-controls");y.data.outputs?.billing_authorization&&ce.append(K(O("\u8BBE\u7F6E\u81EA\u52A8\u4ED8\u6B3E\u6388\u6743","Set up payment authorization"),"billing_authorization")),y.data.outputs?.billing_adjustment&&ce.append(K(O("\u67E5\u770B\u5F85\u786E\u8BA4\u8865\u6B3E","Review pending adjustment"),"billing_adjustment")),A.append(ce)}if(!b.rows.length&&!b.resources.length&&b.status!=="error"){let ce=k("p","g-data-empty",I?O("\u6B63\u5728\u8BFB\u53D6\u8D26\u6237\u6570\u636E\u2026","Loading account data\u2026"):b.status==="idle"?O("\u767B\u5F55\u540E\u67E5\u770B\u4F60\u7684\u8D26\u6237\u6570\u636E\u3002","Sign in to view your account data."):b.filter!=="all"?O("\u6CA1\u6709\u7B26\u5408\u7B5B\u9009\u6761\u4EF6\u7684\u8BB0\u5F55\u3002","No records match this filter."):y.data.source==="credit_pack_orders"?O("\u6682\u65E0\u8D2D\u4E70\u8BB0\u5F55","No purchases yet"):y.data.source==="credit_balance"?O("\u6682\u65E0\u79EF\u5206\u6765\u6E90","No credit balances yet"):y.data.source==="membership"?O("\u6682\u65E0\u4F1A\u5458\u65B9\u6848","No memberships yet"):y.data.source==="customer_plans"?O("\u6682\u65E0\u53EF\u9009\u5957\u9910","No plans available"):y.data.source==="credit_packs"?O("\u6682\u65E0\u53EF\u8D2D\u4E70\u7684\u79EF\u5206\u5305","No credit packs available"):y.data.source==="billing_controls"?O("\u5C1A\u672A\u8BBE\u7F6E\u7528\u91CF\u9650\u5236\u6216\u81EA\u52A8\u4ED8\u6B3E\u6388\u6743","No usage limits or payment authorizations configured"):y.data.source==="offer_history"?O("\u6682\u65E0\u4F18\u60E0\u8BB0\u5F55","No offers yet"):y.data.source==="billing"?O("\u6682\u65E0\u8D26\u5355","No invoices yet"):O("\u8FD9\u91CC\u8FD8\u6CA1\u6709\u8BB0\u5F55\u3002","There are no records yet."));ce.prepend(J("empty")),ce.setAttribute("role","status"),A.append(ce)}if(b.hasNext||b.hasPrevious){let ce=k("div","g-data-footer");ce.append(k("span","",`${O("\u7B2C","Page")} ${b.page}`));let Te=k("div","g-data-controls");Te.append(K(O("\u4E0A\u4E00\u9875","Previous"),"previous",void 0,!b.hasPrevious),K(O("\u4E0B\u4E00\u9875","Next"),"next",void 0,!b.hasNext)),ce.append(Te),A.append(ce)}return b.updatedAt&&y.data.source!=="credit_balance"&&A.append(k("p","g-data-note g-data-updated",`${O("\u6570\u636E\u66F4\u65B0\u4E8E","Updated")} ${new Intl.DateTimeFormat(be,{dateStyle:"medium",timeStyle:"short"}).format(new Date(b.updatedAt))}`)),A}let si=new Map,Qa=new Map,Jc=y=>{let A=y.target;for(let b of si.keys())A&&!Cr(b)?.contains(A)&&si.delete(b)};document.addEventListener("focusin",Jc),document.addEventListener("pointerdown",Jc);function Qc(y){let A=E;if(E=y,!S)return;let b=(C,O)=>{if(C.type==="stack"){C.children.forEach(fe=>b(fe,C));return}if(C.type!=="customer_data"||JSON.stringify(A?.nodes[C.id])===JSON.stringify(y.nodes[C.id]))return;let k=Cr(C.id);if(!k)return;let J=document.activeElement;J&&k.contains(J)&&J.dataset.gDataFocus&&si.set(C.id,J.dataset.gDataFocus);let K=new Set([...k.querySelectorAll("details[data-g-data-sources]")].filter(fe=>fe.open).map(fe=>fe.dataset.gDataSources)),ae=Zi(C,O);if(!ae)return;for(let fe of ae.querySelectorAll("details[data-g-data-sources]"))fe.open=K.has(fe.dataset.gDataSources);let he=k.scrollTop;k.replaceWith(ae),ae.scrollTop=he;let q=!!y.nodes[C.id]?.membershipReview&&!A?.nodes[C.id]?.membershipReview,X=!y.nodes[C.id]?.membershipReview&&!!A?.nodes[C.id]?.membershipReview;q&&si.get(C.id)&&Qa.set(C.id,si.get(C.id));let se=X?Qa.get(C.id):si.get(C.id);se&&[...ae.querySelectorAll("[data-g-data-focus]")].find(fe=>fe.dataset.gDataFocus===se)?.focus({preventScroll:!0}),q&&ae.querySelector("[data-g-data-review] h3")?.focus({preventScroll:!0}),X&&Qa.delete(C.id),ae.animate&&y.nodes[C.id]?.status==="ready"&&!window.matchMedia("(prefers-reduced-motion:reduce)").matches&&ae.animate([{opacity:.7},{opacity:1}],{duration:140,easing:"ease-out"})},I=S.pages.find(C=>C.id===ne)??S.pages[0];b(I.root,null),ci()}function Zi(y,A){if(y.hidden)return null;let b;if(y.type==="customer_data")b=Ja(y);else if(y.type==="stack"){b=document.createElement(y.purchaseAction?"button":"div"),y.purchaseAction&&(b.type="button",b.dataset.gAction=y.purchaseAction),b.className=`${y.purchaseAction?`g-btn g-btn-${y.buttonVariant??"primary"} `:""}g-stack ${y.direction==="horizontal"?"g-h":y.direction==="overlay"?"g-o":"g-v"}`,y.direction==="overlay"?(b.style.alignItems=f[y.align]??"stretch",b.style.justifyItems=p[y.justify]??"stretch"):(b.style.alignItems=l[y.align]??"stretch",b.style.justifyContent=d[y.justify]??"flex-start");for(let I of y.children){let C=Zi(I,y);C&&b.append(C)}if(y.interaction&&Hi(b,y),y.purchaseAction&&e.mode==="live"){let I=P?.nodes[y.id],C=I?.picker;C&&(b.disabled=!P?.pickers[C]?.options.includes(String(M[C]??""))),Ee(y.id)?.unavailable&&(b.disabled=!0)}e.mode==="editor"&&!b.childElementCount&&(b.classList.add("g-empty"),b.dataset.gEditorPlaceholder=e.editorMessages?.emptyContainer??"\u62D6\u5165\u7EC4\u4EF6")}else if(y.type==="text"){let I=y.variant==="title"?"h1":y.variant==="heading"?"h2":"p";b=document.createElement(I),b.className=`g-text g-${y.variant}`;let C=Tt(y,"text",y.text);b.textContent=C.value,C.missing&&e.mode==="editor"&&b.classList.add("g-missing")}else if(y.type==="button"){b=document.createElement("button"),b.type="button",b.className=`g-btn g-btn-${y.variant}`;let I=Tt(y,"label",y.label);b.textContent=I.value,I.missing&&e.mode==="editor"&&b.classList.add("g-missing"),b.dataset.gAction=y.action;let C=P?.nodes[y.id]?.picker;if(C&&e.mode==="live"){let O=C,k=P?.pickers[O],J=M[O]??k?.selected;b.disabled=!k?.options.includes(String(J)),b.disabled&&b.setAttribute("aria-disabled","true")}e.mode==="live"&&Ee(y.id)?.unavailable&&(b.disabled=!0,b.setAttribute("aria-disabled","true")),e.mode==="editor"&&(b.tabIndex=-1)}else if(y.type==="image"){b=document.createElement("div"),b.className="g-img",h[y.aspect]&&(b.dataset.aspect=y.aspect,b.style.aspectRatio=h[y.aspect]);let I=document.createElement("img");I.src=y.localizedSrc?.[be]??y.localizedSrc?.[S.strings.defaultLocale]??y.src,I.alt=Tt(y,"alt",y.alt).value,I.referrerPolicy="no-referrer",I.decoding="async",I.style.objectFit=y.fit,y.position&&(I.style.objectPosition=`${y.position.x}% ${y.position.y}%`),I.addEventListener("load",Gi),b.append(I)}else if(y.type==="price"){b=document.createElement("div"),b.className="g-price",b.style.cssText="display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-variant-numeric:tabular-nums";let I=Ee(y.id);if(!I?.price)b.textContent=I?.text??Pe(y.fallback).value,e.mode==="editor"&&b.classList.add("g-missing");else for(let C of["current","original","period"]){let O=I.price[C];if(!O)continue;let k=document.createElement(C==="original"?"s":"span");k.textContent=O,C==="original"&&(k.style.opacity=".6"),y.parts?.[C]&&ai(k,{type:"text",id:y.id,text:y.fallback,variant:"body",style:y.parts[C]},null),b.append(k)}}else if(y.type==="coupon_code"){b=document.createElement("div"),b.style.cssText="display:flex;align-items:center;gap:12px;flex-wrap:wrap";let I=Ee(y.id);if(I?.code){let C=document.createElement("code");C.textContent=I.code;let O=document.createElement("button");O.type="button",O.className="g-btn g-btn-secondary",O.textContent=Pe(y.label).value,O.addEventListener("click",k=>{e.mode!=="editor"&&(k.stopPropagation(),at({type:"copy",nodeId:y.id}))}),b.append(C,O)}else b.textContent=I?.text??Pe(y.fallback).value,e.mode==="editor"&&b.classList.add("g-missing")}else if(y.type==="countdown"){b=document.createElement("span"),b.setAttribute("role","timer"),b.style.fontVariantNumeric="tabular-nums";let I=Ee(y.id),C=I?.countdownAt?Date.parse(I.countdownAt):NaN,O=y.granularity==="second"?void 0:new Intl.NumberFormat(be,{style:"unit",unit:y.granularity,unitDisplay:"short"});!Number.isFinite(C)&&e.mode==="editor"&&b.classList.add("g-missing");let k=()=>{if(!Number.isFinite(C)){b.textContent=I?.text??Pe(y.fallback).value;return}let J=Math.max(0,Math.ceil((C-Date.now())/1e3));if(!J){b.textContent=Pe(y.expired).value;let q=D.get(y.id);q!==void 0&&clearInterval(q),D.delete(y.id);return}let K=y.granularity,ae=K==="day"?86400:K==="hour"?3600:K==="minute"?60:1,he=O?O.format(Math.ceil(J/ae)):[Math.floor(J/86400),Math.floor(J/3600)%24,Math.floor(J/60)%60,J%60].map(q=>String(q).padStart(2,"0")).join(":");b.textContent!==he&&(b.textContent=he)};k(),Number.isFinite(C)&&C>Date.now()&&D.set(y.id,setInterval(k,1e3))}else if(y.type==="quantity_picker"){b=document.createElement("div");let I=P?.quantities?.[y.id],C=document.createElement("label");C.textContent=Pe(y.label).value;let O=document.createElement("input");O.type="range",O.id=`quantity-${y.id}`,C.htmlFor=O.id,O.min=String(I?.minimum??y.minimumQuantity),O.max=String(I?.maximum??y.maximumQuantity),O.step=String(y.step),O.value=String(typeof M[y.id]=="number"?M[y.id]:y.defaultQuantity),M[y.id]=Number(O.value),O.disabled=e.mode!=="editor"&&!I?.available,O.style.cssText="width:100%;accent-color:var(--g-primary)";let k=document.createElement("output");k.textContent=I?.label||Pe(y.fallback).value,O.setAttribute("aria-valuetext",I?.label??String(O.value)),O.oninput=()=>{M[y.id]=Number(O.value),at({type:"selection",selection:Ve()})},b.append(C,O,k)}else if(y.type==="plan_picker"){b=document.createElement("div"),b.setAttribute("role",y.grouping?"group":"radiogroup"),b.setAttribute("aria-label",Pe(y.label).value),b.style.cssText="display:flex;flex-direction:column;gap:8px";let I=P?.pickers[y.id],C=y.grouping;if(!I?.options.length)b.textContent=Pe(y.fallback).value,e.mode==="editor"&&b.classList.add("g-missing");else{let O=typeof M[y.id]=="string"?String(M[y.id]):I.selected,k=Z[y.id];if(C){if(!k){let mt=C.assignments.find(Qe=>Qe.productVersionId===O);k={period:mt?.period??"month",tierId:mt?.tierId??C.tiers[0].id},Z[y.id]=k}let q=C.assignments.find(mt=>mt.tierId===k.tierId&&mt.period===k.period);O=q&&I.options.includes(q.productVersionId)?q.productVersionId:"";let X=document.createElement("div");X.setAttribute("role","radiogroup"),X.setAttribute("aria-label",`${Pe(C.monthLabel).value} / ${Pe(C.yearLabel).value}`),X.style.cssText="display:flex;gap:4px;padding:4px;border:1px solid var(--g-border);border-radius:10px";let se=["month","year"],fe=se.filter(mt=>C.assignments.some(Qe=>Qe.period===mt&&I.options.includes(Qe.productVersionId))),Me=mt=>{k.period=mt;let Qe=C.assignments.find(Pt=>Pt.tierId===k.tierId&&Pt.period===mt);M[y.id]=Qe&&I.options.includes(Qe.productVersionId)?Qe.productVersionId:"",Cn(),at({type:"selection",selection:Ve()}),Cr(y.id)?.querySelector(`[data-product-period="${mt}"]`)?.focus()};for(let mt of se){let Qe=document.createElement("button");Qe.type="button",Qe.className=`g-btn g-btn-${mt===k.period?"primary":"secondary"}`,Qe.style.cssText="flex:1;min-width:0;min-height:40px",Qe.dataset.productPeriod=mt,Qe.setAttribute("role","radio"),Qe.setAttribute("aria-checked",String(mt===k.period)),Qe.textContent=Pe(mt==="month"?C.monthLabel:C.yearLabel).value,Qe.disabled=!fe.includes(mt),Qe.tabIndex=e.mode==="editor"||Qe.disabled?-1:mt===k.period||!fe.includes(k.period)&&mt===fe[0]?0:-1,Qe.addEventListener("click",Pt=>{e.mode!=="editor"&&(Pt.stopPropagation(),Me(mt))}),Qe.addEventListener("keydown",Pt=>{if(e.mode==="editor"||!fe.length)return;let sn;["ArrowRight","ArrowDown"].includes(Pt.key)?sn=(fe.indexOf(mt)+1)%fe.length:["ArrowLeft","ArrowUp"].includes(Pt.key)?sn=(fe.indexOf(mt)-1+fe.length)%fe.length:Pt.key==="Home"?sn=0:Pt.key==="End"&&(sn=fe.length-1),sn!==void 0&&(Pt.preventDefault(),Me(fe[sn]))}),X.append(Qe)}b.append(X)}M[y.id]=O??"";let J=C?C.tiers.map(q=>({tier:q,id:C.assignments.find(X=>X.tierId===q.id&&X.period===k.period)?.productVersionId})):I.options.map(q=>({id:q,tier:void 0})),K=J.filter(q=>q.id&&I.options.includes(q.id)),ae=C?document.createElement("div"):b;C&&(ae.setAttribute("role","radiogroup"),ae.setAttribute("aria-label",Pe(y.label).value),ae.style.cssText="display:flex;flex-direction:column;gap:8px",b.append(ae));let he=q=>{!q.id||!I.options.includes(q.id)||(C&&q.tier&&(k.tierId=q.tier.id),M[y.id]=q.id,Cn(),at({type:"selection",selection:Ve()}),Cr(y.id)?.querySelector(`[data-plan-id="${q.id}"]`)?.focus())};for(let q of J){let X=q.id?P.plans[q.id]:void 0,se=!!X&&I.options.includes(q.id),fe=document.createElement("button");fe.type="button",fe.className="g-btn g-btn-secondary",fe.style.cssText="width:100%;text-align:start;min-height:44px",fe.setAttribute("role","radio");let Me=C?q.tier?.id===k.tierId:q.id===O;fe.setAttribute("aria-checked",String(Me)),fe.disabled=!se,fe.tabIndex=e.mode==="editor"||!se?-1:Me||!O&&q===K[0]?0:-1,q.id&&(fe.dataset.planId=q.id),q.tier&&(fe.dataset.productTier=q.tier.id);let mt=q.id?P.nodes[y.id]?.byPlan?.[q.id]?.price:void 0,Qe=document.createElement("span"),Pt=document.createElement("span");Qe.className="g-option-name",Pt.className="g-option-price",Qe.textContent=se?q.tier?.name??X.name:q.tier?.name??"",Pt.textContent=se?`${mt?.current??X.price}${mt?.period??X.period}`:Pe(C?.unavailableLabel??y.fallback).value,fe.classList.add("g-option"),fe.replaceChildren(Qe,Pt),fe.setAttribute("aria-label",[Qe.textContent,Pt.textContent].filter(Boolean).join(", ")),Me&&(fe.style.borderColor="var(--g-primary)",fe.style.boxShadow="inset 0 0 0 1px var(--g-primary)",y.states?.selected&&ai(fe,{type:"text",id:y.id,text:y.label,variant:"body",style:y.states.selected},null)),fe.addEventListener("click",sn=>{e.mode==="editor"||!se||(sn.stopPropagation(),he(q))}),fe.addEventListener("keydown",sn=>{if(e.mode==="editor"||!K.length)return;let Ji=K.indexOf(q),ce;["ArrowRight","ArrowDown"].includes(sn.key)?ce=(Ji+1)%K.length:["ArrowLeft","ArrowUp"].includes(sn.key)?ce=(Ji-1+K.length)%K.length:sn.key==="Home"?ce=0:sn.key==="End"&&(ce=K.length-1),ce!==void 0&&(sn.preventDefault(),he(K[ce]))}),ae.append(fe)}if(C&&!O){let q=document.createElement("p");q.setAttribute("role","status"),q.textContent=Pe(C.unavailableLabel).value,b.append(q)}}}else if(y.type==="divider")b=document.createElement("hr"),b.className="g-divider";else if(y.type==="spacer")b=document.createElement("div"),b.setAttribute("aria-hidden","true"),b.style.flex="0 0 auto",b.style.width=b.style.height=`${s[y.size]??0}px`;else if(y.type==="custom_html"){b=document.createElement("div"),b.className="g-custom";let I=b.attachShadow({mode:"open"}),C=document.createElement("style"),O="@media(prefers-reduced-motion:reduce){:host,:host::before,:host::after,*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}";C.textContent=`:host{display:block}${O}@layer indiana-accessibility{${O}}${y.css}`;let k=document.createElement("div");I.append(C,k),W.set(b,{body:k,source:null,bound:!1,unresolved:!1,variables:[],bindings:[],fallback:!1,initialized:!1,template:null,parked:!1}),Je(b,y)}else return null;return y.style&&ai(b,y,A),b.dataset.gNode=y.id,b.dataset.gLabel=lr(y),U.set(y.id,b),b}function Hi(y,A){let b=A.interaction,I=[...y.children];y.setAttribute("aria-label",Pe(b.label).value);let C=v?.bindings.find(k=>k.componentId===A.id),O=C?{id:C.variable,source:C.componentId,required:C.required}:void 0;if(O){let k=document.createElement("p");k.className="g-text g-body",k.textContent=Pe(b.label).value+(O.required?" *":""),y.prepend(k),O.required&&y.setAttribute("aria-required","true")}if(b.type==="input"){let k=document.createElement("input");k.type=b.keyboard,k.maxLength=b.maxLength,k.autocomplete="off",k.setAttribute("aria-label",Pe(b.label).value),k.setAttribute("aria-required",String(!!O?.required)),k.value=typeof M[A.id]=="string"?String(M[A.id]):"",k.style.cssText="box-sizing:border-box;width:100%;min-height:44px;padding:10px 14px;border:1px solid var(--g-border);border-radius:8px;background:var(--g-surface);color:var(--g-text);font:inherit",k.disabled=e.mode!=="live",k.addEventListener("input",()=>{M[A.id]=k.value,Ur(A.id,k.value)}),y.append(k);return}if(!(e.mode!=="live"||!I.length&&b.type!=="toggle")){if(b.type==="multiselect"){y.setAttribute("role","group"),y.dataset.gMin=String(b.min);let k=A.children.filter(ae=>!ae.hidden),J=new Set(Array.isArray(M[A.id])?M[A.id]:[]),K=()=>I.forEach((ae,he)=>{let q=J.has(k[he].id);ae.setAttribute("aria-checked",String(q)),ae.setAttribute("aria-disabled",String(!q&&J.size>=b.max)),ae.style.outline=q?"2px solid var(--g-primary)":"",ae.style.outlineOffset="-2px"});I.forEach((ae,he)=>{ae.setAttribute("role","checkbox"),ae.tabIndex=0,ki(ae)?ae.removeAttribute("aria-label"):ae.setAttribute("aria-label",String(he+1)),ae.style.cursor="pointer";let q=()=>{let X=k[he].id;if(J.has(X))J.delete(X);else if(J.size<b.max)J.add(X);else return;let se=k.filter(fe=>J.has(fe.id)).map(fe=>fe.id);M[A.id]=se,K(),Ur(A.id,se)};ae.addEventListener("click",X=>{X.stopPropagation(),q()}),ae.addEventListener("keydown",X=>{[" ","Enter"].includes(X.key)&&(X.preventDefault(),X.stopPropagation(),q())})}),K();return}if(b.type==="select"){y.setAttribute("role","radiogroup");let k=A.children.filter(he=>!he.hidden),J=t(A)?A.interaction.pickerId:void 0,K=k.findIndex(he=>J?he.type==="stack"&&he.bind?.plan===M[J]:he.id===M[A.id]);!J&&K<0&&!O?.required&&(K=Math.min(b.defaultIndex,I.length-1));let ae=(he,q=!1,X=!0)=>{if(J&&X&&he>=0){let se=k[he],fe=se.type==="stack"?se.bind?.plan:void 0;if(!fe||!P?.pickers[J]?.options.includes(fe))return;M[A.id]=se.id,M[J]=fe,Cn(),at({type:"selection",selection:Ve()}),q&&ze.querySelector(`[data-g-node="${se.id}"]`)?.focus({preventScroll:!0});return}K=he,he>=0&&(M[A.id]=k[he].id),X&&he>=0&&Ur(A.id,k[he].id),I.forEach((se,fe)=>{se.setAttribute("aria-checked",String(fe===he)),se.tabIndex=fe===(he<0?0:he)?0:-1,se.style.cssText="";let Me=k[fe];Me.type==="stack"&&(se.style.alignItems=l[Me.align]??"stretch",se.style.justifyContent=d[Me.justify]??"flex-start"),Me.style&&ai(se,Me,A),fe===he&&(b.selectedStyle&&ai(se,{...Me,style:b.selectedStyle},A),Me.type==="stack"&&Me.states?.selected&&ai(se,{...Me,style:Me.states.selected},A),!b.selectedStyle?.border&&!(Me.type==="stack"&&Me.states?.selected?.border)&&(se.style.outline="2px solid var(--g-primary)",se.style.outlineOffset="-2px")),se.style.cursor="pointer"}),q&&he>=0&&I[he].focus()};I.forEach((he,q)=>{if(he.setAttribute("role","radio"),J){let X=k[q],se=X.type==="stack"?X.bind?.plan:void 0;he.setAttribute("aria-disabled",String(!se||!P?.pickers[J]?.options.includes(se)))}ki(he)?he.removeAttribute("aria-label"):he.setAttribute("aria-label",String(q+1)),he.addEventListener("click",X=>{X.stopPropagation(),ae(q)}),he.addEventListener("keydown",X=>{let se=X.key;if(!["ArrowRight","ArrowLeft","ArrowDown","ArrowUp","Home","End"," ","Enter"].includes(se))return;X.preventDefault(),X.stopPropagation();let fe=K<0?q:K;ae(se==="Home"?0:se==="End"?I.length-1:se==="ArrowRight"||se==="ArrowDown"?(fe+1)%I.length:se==="ArrowLeft"||se==="ArrowUp"?(fe+I.length-1)%I.length:q,!0)})}),ae(K,!1,!1)}else if(b.type==="tabs"){let k=A.children.filter(q=>!q.hidden),J=document.createElement("div");J.setAttribute("role","tablist"),J.setAttribute("aria-label",Pe(b.label).value),J.style.cssText="display:flex;gap:4px;padding:4px;border:1px solid var(--g-border);border-radius:12px";let K=I.map((q,X)=>{let se=document.createElement("button");return se.type="button",se.setAttribute("role","tab"),se.textContent=Ya(k[X])||String(X+1),se.style.cssText="flex:1;min-width:0;min-height:44px;padding:8px 16px;border:0;border-radius:8px;font:inherit;cursor:pointer",q.id=`g-${A.id}-${k[X].id}`,q.setAttribute("role","tabpanel"),se.setAttribute("aria-controls",q.id),J.append(se),se}),ae=(q,X=!1,se=!1)=>{if(M[A.id]=k[q].id,se&&S&&Object.keys(r(S)).length){for(let fe of Object.keys(r(S)))delete M[fe];Cn(),at({type:"selection",selection:Ve()}),X&&ze.querySelector(`[data-g-node="${A.id}"] [role="tab"][aria-selected="true"]`)?.focus({preventScroll:!0});return}I.forEach((fe,Me)=>{fe.hidden=Me!==q,K[Me].setAttribute("aria-selected",String(Me===q)),K[Me].tabIndex=Me===q?0:-1,K[Me].style.background=Me===q?"var(--g-primary)":"transparent",K[Me].style.color=Me===q?"var(--g-on-primary)":"var(--g-text)"}),X&&K[q].focus(),ci()};K.forEach((q,X)=>{q.addEventListener("click",se=>{se.stopPropagation(),ae(X,!1,!0)}),q.addEventListener("keydown",se=>{["ArrowLeft","ArrowRight","Home","End"].includes(se.key)&&(se.preventDefault(),se.stopPropagation(),ae(se.key==="Home"?0:se.key==="End"?I.length-1:(X+(se.key==="ArrowRight"?1:I.length-1))%I.length,!0,!0))})}),y.prepend(J);let he=k.findIndex(q=>q.id===M[A.id]);ae(he>=0?he:Math.min(b.defaultIndex,I.length-1))}else if(b.type==="toggle"){let k=document.createElement("button");k.type="button",k.setAttribute("role","switch"),k.className="g-btn g-btn-secondary",k.style.cssText="display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--g-text)";let J=document.createElement("span");J.textContent=Pe(b.label).value;let K=document.createElement("span");K.setAttribute("aria-hidden","true"),K.style.cssText="position:relative;display:block;flex:none;width:44px;height:24px;border-radius:12px;background:var(--g-border)";let ae=document.createElement("span");ae.style.cssText="position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003",K.append(ae),k.append(J,K);let he=(q,X=!1)=>{if(M[A.id]=q,X&&S&&Object.keys(r(S)).length){for(let se of Object.keys(r(S)))delete M[se];Cn(),at({type:"selection",selection:Ve()}),ze.querySelector(`[data-g-node="${A.id}"] [role="switch"]`)?.focus({preventScroll:!0});return}k.setAttribute("aria-checked",String(q)),K.style.background=q?"var(--g-primary)":"var(--g-border)",ae.style.left=q?"23px":"3px",ae.style.background=q?"var(--g-on-primary)":"#FFFFFF",I.forEach((se,fe)=>se.hidden=fe!==(q?0:1)),ci()};k.addEventListener("click",q=>{q.stopPropagation(),he(!M[A.id],!0),Ur(A.id,!!M[A.id])}),y.prepend(k),he(typeof M[A.id]=="boolean"?M[A.id]:b.defaultEnabled)}else{y.setAttribute("role","region"),y.setAttribute("aria-roledescription","carousel");let k=document.createElement("div");k.style.cssText="display:flex;align-items:center;justify-content:center;gap:10px";let J=document.createElement("button"),K=document.createElement("button"),ae=document.createElement("span"),he=be.startsWith("zh");J.textContent="\u2190",K.textContent="\u2192",J.setAttribute("aria-label",he?"\u4E0A\u4E00\u6761\u8BC4\u4EF7":"Previous review"),K.setAttribute("aria-label",he?"\u4E0B\u4E00\u6761\u8BC4\u4EF7":"Next review");for(let X of[J,K])X.type="button",X.className="g-btn g-btn-secondary",X.style.color="var(--g-text)";ae.setAttribute("aria-live","polite");let q=X=>{R[A.id]=X,I.forEach((se,fe)=>se.hidden=fe!==X),ae.textContent=`${X+1} / ${I.length}`,ci()};J.addEventListener("click",X=>{X.stopPropagation(),q((R[A.id]+I.length-1)%I.length)}),K.addEventListener("click",X=>{X.stopPropagation(),q((R[A.id]+1)%I.length)}),k.append(J,ae,K),y.append(k),q(R[A.id]??0)}}}function ki(y){return!!y.textContent?.trim()||[...y.querySelectorAll(".g-custom")].some(A=>!!A.shadowRoot?.textContent?.trim())}function Ya(y){if(y.hidden)return"";if(y.type==="text"&&(y.variant==="title"||y.variant==="heading")){let{value:A,missing:b}=Tt(y,"text",y.text);return b||A.includes("{{")?"":A.replace(/\s+/g," ").trim()}if(y.type==="custom_html"){let A=document.createElement("template");A.innerHTML=y.html[be]??y.html[S.strings.defaultLocale]??"";let b=A.content.querySelector("h1,h2");return b?.querySelectorAll("br").forEach(I=>I.replaceWith(" ")),b?.textContent?.replace(/\s+/g," ").trim()??""}if(y.type==="stack")for(let A of y.children){let b=Ya(A);if(b)return b}return""}function Yc(y){return y.type==="stack"&&!y.interaction&&!y.purchaseAction}function Wo(y){let A=[],b=I=>{let C=P?.nodes[I.id];if(A.push(I.id,Ee(I.id)),C?.picker&&A.push(M[C.picker],P?.pickers[C.picker]),I.type==="text")A.push(Tt(I,"text",I.text));else if(I.type==="button")A.push(Tt(I,"label",I.label));else if(I.type==="image")A.push(Tt(I,"alt",I.alt));else if(I.type==="custom_html"){let O=De(I);A.push(O,e.mode==="live"&&v?Y(O).map(k=>[k,pt(k)]):void 0)}else if(I.type==="customer_data")A.push(E?.nodes[I.id]);else if(I.type==="plan_picker"){let O=P?.pickers[I.id];A.push(M[I.id],Z[I.id],O,C,O?.options.map(k=>P?.plans[k]))}else I.type==="stack"&&(I.interaction?.type!=="input"&&A.push(M[I.id],R[I.id]),t(I)&&A.push(M[I.interaction.pickerId],P?.pickers[I.interaction.pickerId]),I.children.forEach(b))};return b(y),JSON.stringify(A)}function Xc(y){y.hidden||(Yc(y)?y.children.forEach(Xc):L.set(y.id,Wo(y)))}function Xa(y){if(y.type==="custom_html"){let b=Cr(y.id),I=b&&W.get(b);I&&hn(I)}let A=D.get(y.id);A!==void 0&&clearInterval(A),D.delete(y.id),y.type==="stack"&&y.children.forEach(Xa)}function Jo(y,A){if(y.hidden)return;if(Yc(y)){y.children.forEach(C=>Jo(C,y));return}if(L.get(y.id)===Wo(y))return;let b=Cr(y.id);if(!b)return;if(y.type==="custom_html"&&W.has(b)){Je(b,y),L.set(y.id,Wo(y));return}Xa(y);let I=Zi(y,A);I&&(b.replaceWith(I),L.set(y.id,Wo(y)))}function es(){let y=document.activeElement;if(!(y instanceof HTMLElement)||!ze.contains(y))return;let A=y.closest("[data-g-node]");if(!A)return;let b=[];for(let I=y;I!==A;){let C=I.parentElement;if(!C)return;b.unshift(Array.prototype.indexOf.call(C.children,I)),I=C}return{active:y,nodeId:A.dataset.gNode,path:b,identity:["productPeriod","planId","productTier","gDataFocus"].map(I=>[I,y.dataset[I]]).find(([,I])=>I!==void 0),selection:y instanceof HTMLInputElement&&y.selectionStart!==null?{start:y.selectionStart,end:y.selectionEnd,direction:y.selectionDirection}:void 0}}function Er(y){if(!y||y.active.isConnected)return;let A=Cr(y.nodeId);if(!A)return;let b=A;if(y.identity){let[I,C]=y.identity;b=[...A.querySelectorAll("*")].find(O=>O.dataset[I]===C)}else for(let I of y.path)b=b?.children[I];!b||b.hasAttribute("disabled")||(b.focus({preventScroll:!0}),y.selection&&b instanceof HTMLInputElement&&["text","search","tel","url","password"].includes(b.type)&&b.setSelectionRange(y.selection.start,y.selection.end,y.selection.direction??void 0))}function Cn(y=!1){if(!S)return;let A=y?void 0:es(),b=S.pages.find(C=>C.id===(ne??S.initialPageId))??S.pages[0];if(ne=b.id,P){let C={},O=k=>{k.type==="stack"&&k.children.forEach(O),k.type==="plan_picker"&&typeof M[k.id]=="string"&&M[k.id]!==""&&(C[k.id]=String(M[k.id]))};O(b.root),Object.assign(M,i({...S,pages:[b]},Ve(),P)),Object.assign(M,C)}let I=C=>{if(C.type==="stack"&&C.children.forEach(I),C.type!=="plan_picker"||!C.grouping)return;let O=C.grouping,k=P?.pickers[C.id],J=Z[C.id];if(!J){let ae=O.assignments.find(he=>he.productVersionId===(M[C.id]??k?.selected));J={period:ae?.period??"month",tierId:ae?.tierId??O.tiers[0].id},Z[C.id]=J}let K=O.assignments.find(ae=>ae.tierId===J.tierId&&ae.period===J.period);M[C.id]=K&&k?.options.includes(K.productVersionId)?K.productVersionId:""};if(I(b.root),y||H!==b){H&&Xa(H.root),D.forEach(k=>clearInterval(k)),D.clear(),L.clear(),U.clear(),ze.style.cssText="",me(b.theme?{...S,theme:b.theme}:S);let C=be.split("-")[0];document.documentElement.lang=be,document.documentElement.dir=["ar","he","fa","ur"].includes(C)?"rtl":"ltr",ze.dataset.gPresentation=S.presentation.type;let O=Zi(b.root,null);ze.replaceChildren(...O?[O]:[]),H=b,Xc(b.root)}else Jo(b.root,null);if(Er(A),ze.dataset.gPage=b.id,e.mode==="live"&&at({type:"page",pageId:b.id}),Fe)ci();else{ns(),eu();let C=Math.ceil(ze.getBoundingClientRect().height);Fe=!0,tt=C,at({type:"rendered",height:C,label:Ya(b.root)||S.name})}}function ci(){let y=Math.ceil(ze.getBoundingClientRect().height);y!==tt&&(tt=y,at({type:"resize",height:y})),ns(),eu()}function Gi(){re||(re=!0,window.requestAnimationFrame(()=>{re=!1,ci()}))}function eu(){if(e.mode!=="editor")return;let y=[];for(let b of ze.querySelectorAll("[data-g-node]")){let I=b.getBoundingClientRect();!I.width||!I.height||y.push({id:b.dataset.gNode,x:I.x,y:I.y,width:I.width,height:I.height})}let A=JSON.stringify(y);A!==Le&&(Le=A,at({type:"layout",nodes:y}))}function Cr(y){if(!y||!/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(y))return null;let A=U.get(y);return A?.isConnected?A:null}function ts(y,A){let b=Cr(A);if(!b){y.style.display="none";return}let I=b.getBoundingClientRect();y.style.display="block",y.style.left=`${I.left+window.scrollX}px`,y.style.top=`${I.top+window.scrollY}px`,y.style.width=`${I.width}px`,y.style.height=`${I.height}px`,y.toggleAttribute("data-below",I.top<20),y.firstChild.textContent=b.dataset.gLabel??""}function ns(){e.mode==="editor"&&(ts(rt,we),ts(vt,Ce&&Ce!==we?Ce:null))}function Ki(y){for(let A of y.composedPath()){if(A instanceof HTMLElement&&A.dataset.gNode)return A.dataset.gNode;if(A===ze)break}return null}function Qy(y){if(y.isTrusted){if(e.mode==="editor"){y.preventDefault(),y.stopPropagation(),at({type:"select",id:Ki(y)});return}for(let A of y.composedPath()){if(!(A instanceof HTMLElement))continue;let b=A.dataset.gAction??(A.tagName==="BUTTON"?A.getAttribute("data-grow-action"):null);if(b&&!A.disabled){y.preventDefault();let I=S?.actions.find(C=>C.id===b);if(I?.type==="navigate"){if(ne=I.pageId,S)for(let O of Object.keys(r(S)))delete M[O];Cn();let C=ze.querySelector("h1,h2")??ze;C===ze&&(ze.setAttribute("role","group"),ze.setAttribute("aria-label",S?.pages.find(O=>O.id===ne)?.name??S?.name??"Page")),C.tabIndex=-1,C.focus({preventScroll:!0});return}at({type:"action",actionId:b,nodeId:Ki(y)??void 0,...Object.keys(M).length?{selection:Ve()}:{},...v?{answers:Ko()}:{}});return}if(A===ze)return}}}function Wi(y){let A=y;if(!(!A||A.channel!==e.channel))try{if(A.type==="render"){let b=A.doc;if(!b||b.kind!=="screen"||b.schemaVersion!==4||Object.hasOwn(b,"funnel")||!b.pages?.length||b.pages.length>(b.surface==="paywall"?10:1)||b.pages.some(I=>Object.hasOwn(I,"source"))||b.actions?.some(I=>!["event","close","open_url","claim_offer",...b.surface==="paywall"?["navigate"]:[]].includes(I.type)))throw new Error("Unsupported screen document; use the current Funnel runtime for flows");T.clear(),z=$=0,S=b,ne=null,be=String(A.locale),_=new Set,v=A.serverInput,M=g(),Z=g(),P=A.capabilities,E=A.customerData,si.clear();for(let[I,C]of Object.entries(P?.pickers??{}))C.selected&&(M[I]=C.selected);if(A.selection&&typeof A.selection=="object"&&!Array.isArray(A.selection)){let I=A.selection,C=k=>{let J=I[k.id];if(k.type==="quantity_picker"&&typeof J=="number"&&(M[k.id]=J),k.type==="plan_picker"&&typeof J=="string"&&k.planIds?.includes(J)&&(M[k.id]=J),k.type==="stack"){if(k.interaction?.type==="toggle"&&typeof J=="boolean"&&(M[k.id]=J),k.interaction&&["select","tabs"].includes(k.interaction.type)&&typeof J=="string"&&k.children.some(K=>K.id===J)&&(M[k.id]=J),t(k)){let K=I[k.interaction.pickerId];typeof K=="string"&&k.children.some(ae=>ae.type==="stack"&&ae.bind?.plan===K)&&(M[k.interaction.pickerId]=K)}k.children.forEach(C)}};S.pages.forEach(k=>C(k.root));let O=I.__page;typeof O=="string"&&S.pages.some(k=>k.id===O)&&(ne=O)}for(let I of v?.bindings??[])Object.hasOwn(v.answers,I.variable)&&(M[I.componentId]=v.answers[I.variable],_.add(I.componentId));R=g(),be=String(A.locale),lt(),Cn(!0)}else if(A.type==="capabilities"){P=A.capabilities;for(let[b,I]of Object.entries(P.quantities??{})){let C=Cr(b),O=C?.querySelector('input[type="range"]');if(O){O.min=String(I.minimum),O.max=String(I.maximum),O.disabled=!I.available,O.setAttribute("aria-valuetext",I.label);let k=C?.querySelector("output");k&&(k.textContent=I.label)}}lt();for(let[b,I]of Object.entries(P.pickers))!Z[b]&&(M[b]===void 0||M[b]==="")&&(M[b]=I.selected??"");Cn()}else A.type==="customer-data"?Qc(A.data):A.type==="restore-action-focus"&&e.mode==="live"?[...ze.querySelectorAll("button[data-g-node]")].find(b=>b.dataset.gNode===A.nodeId&&!b.disabled)?.focus({preventScroll:!0}):A.type==="highlight"&&e.mode==="editor"&&(Ce=A.hoverId??null,we=A.selectedId??null,ns())}catch(b){at({type:"error",message:b instanceof Error?b.message:"render failed"})}}let Vd=document.createElement("style");if(Vd.textContent=m,document.head.append(Vd),document.body.append(ze),e.mode==="editor"){document.body.dataset.gEditor="",document.body.append(vt,rt),document.addEventListener("mouseover",A=>{let b=Ki(A);b!==ot&&(ot=b,at({type:"hover",id:b}))}),document.documentElement.addEventListener("mouseleave",()=>{ot!==null&&(ot=null,at({type:"hover",id:null}))}),document.addEventListener("dblclick",A=>{let b=Ki(A);b&&A.isTrusted&&at({type:"edit",id:b})}),document.addEventListener("click",A=>{ze.contains(A.target)||at({type:"select",id:null})});let y=(A,b)=>{if(!A.isTrusted)return;let I=A.metaKey||A.ctrlKey,C=A.key;(C===" "||b==="down"&&(["Delete","Backspace","Escape"].includes(C)||I&&/^[zysdcvg0=+-]$/i.test(C)))&&((I||C===" ")&&A.preventDefault(),at({type:"key",key:{key:C,phase:b,meta:A.metaKey,ctrl:A.ctrlKey,shift:A.shiftKey,alt:A.altKey}}))};document.addEventListener("keydown",A=>y(A,"down")),document.addEventListener("keyup",A=>y(A,"up")),document.addEventListener("wheel",A=>{!A.isTrusted||!(A.ctrlKey||A.metaKey)||(A.preventDefault(),at({type:"zoom",delta:A.deltaY}))},{passive:!1})}ze.addEventListener("click",Qy),document.addEventListener("keydown",y=>{y.key==="Escape"&&y.isTrusted&&at({type:"escape"})}),typeof ResizeObserver=="function"&&new ResizeObserver(Gi).observe(ze),window.addEventListener("resize",Gi),e.mode==="editor"&&window.addEventListener("scroll",eu),window.addEventListener("message",y=>{y.source===o&&Wi(y.data)}),a.__indianaReceive=Wi,at({type:"ready"})}function sV(e,t){let r=JSON.stringify(e).replace(/</g,"\\u003c");return`<!doctype html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'nonce-${t}'; style-src 'unsafe-inline'; img-src https: data:; connect-src 'none'; font-src 'none'; media-src 'none'; frame-src 'none'; base-uri 'none'; form-action 'none'"></head><body><script type="application/json" id="grow-renderer-boot">${r}<\/script><script nonce="${t}">${_ee}<\/script></body></html>`}var _ee,cV=x(()=>{"use strict";_ee=`(${wee.toString()})(JSON.parse(document.getElementById("grow-renderer-boot").textContent))`});function uV(e,t){return PP.set(e,t),()=>PP.delete(e)}function Md(e){let t=e.defaultView?.HTMLElement,r=e.activeElement;for(let o=0;o<16&&r?.shadowRoot?.activeElement;o++)r=r.shadowRoot.activeElement;let i=r?PP.get(r)?.():void 0;return()=>{!r?.isConnected||!t||!(r instanceof t)||(r.focus({preventScroll:!0}),i?.())}}var PP,Ny=x(()=>{"use strict";PP=new WeakMap});function lV(e){let t={display:"block",position:"fixed",top:"0",left:"0",opacity:"0",pointerEvents:"none",zIndex:"-1"},r=Object.keys(t).map(a=>{let s=a,c=e.style[s];return e.style[s]=t[s],[s,c]}),i=e.inert??!1,o=e.getAttribute("aria-hidden");return e.inert=!0,e.setAttribute("aria-hidden","true"),()=>{for(let[a,s]of r)e.style[a]=s;e.inert=i,o===null?e.removeAttribute("aria-hidden"):e.setAttribute("aria-hidden",o)}}var dV=x(()=>{"use strict"});function pV(e){return Object.assign(new Error(`Web View renderer did not start (${e.phase} timeout)`),{name:"RendererStartupError",code:"RENDERER_STARTUP_TIMEOUT",details:e})}function mV(e,t,r){let i=(()=>{let S=e.defaultView;if(!S)throw new Error("Renderer host has no browser window");return S})(),o=r?.hasAttribute("src")?"navigation":"handshake",a=o==="navigation"?1e4:5e3,s=0,c=0,u,l=!1,d=!1;function p(){if(u===void 0)return;i.clearTimeout(u),u=void 0;let S=Math.max(0,performance.now()-c);s+=S,a=Math.max(0,a-S)}function f(){l||(l=!0,p(),e.removeEventListener("visibilitychange",h),r?.removeEventListener("load",g))}function h(){if(!(l||d)){if(e.visibilityState==="hidden"){p();return}u===void 0&&(c=performance.now(),u=i.setTimeout(()=>{s+=Math.max(0,performance.now()-c),u=void 0,f(),t({phase:o,visibleMs:Math.round(s)})},a))}}function m(S){l||o===S||o==="render"||(p(),o=S,a=5e3,h())}function g(){o==="navigation"&&m("handshake")}return r?.addEventListener("load",g,{once:!0}),e.addEventListener("visibilitychange",h),h(),Object.assign(f,{ready:()=>{d=!1,m("render"),h()},awaitContent:()=>{l||o==="render"||(p(),d=!0,m("render"))}})}var fV=x(()=>{"use strict"});function Iee(e,t,r,i,o=document){let a=crypto.randomUUID(),s=crypto.randomUUID().replaceAll("-",""),c=o.createElement("iframe");c.title=t,c.setAttribute("sandbox","allow-scripts"),c.referrerPolicy="no-referrer";let u=o.defaultView,l=1;for(;u!==window&&l<16;)u=u.parent,l++;if(u!==window)throw new Error("Renderer container must belong to this host or a descendant window");let d={channel:a,parentOrigin:window.origin,hostDepth:l,mode:e,...e==="editor"?{editorMessages:r}:{}};if(i==="bundled"){if(e!=="live")throw new Error("Bundled renderer requires live mode");c.src="data:text/html;charset=utf-8,"+encodeURIComponent(Gk.html)+"#"+encodeURIComponent(JSON.stringify(d))}else if(i){if(e!=="live")throw new Error("Hosted Web Views only support live rendering");let h=new URL(i);if(h.username||h.password||h.search||h.hash||!/^\/web-view\/renderer\/[a-f0-9]{64}$/.test(h.pathname)||h.protocol!=="https:"&&!(h.protocol==="http:"&&["localhost","127.0.0.1","[::1]"].includes(h.hostname)))throw new Error("Invalid hosted renderer URL");h.hash=encodeURIComponent(JSON.stringify(d)),c.src=h.href}else c.srcdoc=sV(d,s);return{frame:c,post:h=>c.contentWindow?.postMessage({...h,channel:a},"*"),accept:h=>h.source===c.contentWindow&&h.origin==="null"&&h.data&&typeof h.data=="object"&&"channel"in h.data&&"type"in h.data&&typeof h.data.type=="string"&&h.data.channel===a?h.data:null}}function Dy(e,t={}){let r=(()=>{let M=e.ownerDocument.defaultView;if(!M)throw new Error("Preview container has no browser window");return M})(),i=t.mode??"editor",o=iV(r),{frame:a,post:s,accept:c}=Iee(i,t.title??"\u5F39\u7A97\u9884\u89C8",t.editorMessages,t.rendererUrl,e.ownerDocument);a.style.cssText="display:block;border:0;width:100%;height:0";let u=!1,l=!1,d=null,p=null,f=!1,h,m=uV(a,()=>h),g,S,v=new Promise((M,R)=>{g=M,S=R});v.catch(()=>{});let _=mV(e.ownerDocument,M=>{if(f||l)return;let R=pV(M);S(R),nt(t.onError,R.message),P()},a);function P(){f||(f=!0,m(),h=void 0,o.destroy(),_(),u||S(new Error("Web View mount cancelled")),window.removeEventListener("message",H),u=!1,d=null,p=null,E=null,U=void 0,V.clear(),a.remove(),a.removeAttribute("srcdoc"),a.removeAttribute("src"))}let E=null,D={},L,U,j="modal",V=new Set,T=t.viewportHeight,W=0,z=M=>{W=M;let R=T,Z=R?j==="fullscreen"?R:Math.max(1,Math.min(M,R-(j==="sheet"?0:32))):M;a.style.height=`${Z}px`,nt(t.onResize,Z)};function $(M){if(!U)return;let R=Qr.safeParse(M);if(!R.success||Object.keys(R.data).some(Z=>!U.bindings.some(be=>be.variable===Z))){nt(t.onError,"Invalid current-screen answers");return}return R.data}function H(M){let R=f?null:c(M);if(R)if(R.type==="ready")u=!0,g(),d&&s(d),d?_.ready():_.awaitContent(),p&&s(p);else if(R.type==="rendered"||R.type==="resize")z(R.height),R.type==="rendered"&&(l=!0,_(),R.label&&(a.title=R.label),nt(t.onRendered,R.label));else if(R.type==="layout"&&i==="editor")Array.isArray(R.nodes)&&R.nodes.length<=(E?An.nodes:0)&&R.nodes.every(Z=>Z&&typeof Z.id=="string"&&/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(Z.id)&&[Z.x,Z.y,Z.width,Z.height].every(be=>typeof be=="number"&&Number.isFinite(be))&&Z.width>0&&Z.height>0)&&nt(t.onLayout,R.nodes);else if(R.type==="page"&&i==="live"&&V.has(R.pageId))nt(t.onPageChange,R.pageId);else if(R.type==="escape"&&i==="live")nt(t.onEscape);else if(R.type==="hover")nt(t.onHover,R.id);else if(R.type==="select")nt(t.onSelect,R.id);else if(R.type==="edit")nt(t.onEdit,R.id);else if(R.type==="key"&&i==="editor"){let Z=R.key;Z&&typeof Z.key=="string"&&Z.key.length<=16&&(Z.phase==="down"||Z.phase==="up")&&[Z.meta,Z.ctrl,Z.shift,Z.alt].every(be=>typeof be=="boolean")&&nt(t.onKey,{key:Z.key,phase:Z.phase,meta:Z.meta,ctrl:Z.ctrl,shift:Z.shift,alt:Z.alt})}else if(R.type==="zoom"&&i==="editor"&&typeof R.delta=="number"&&Number.isFinite(R.delta))nt(t.onZoom,R.delta);else if(R.type==="customer-data-intent"&&i==="live"&&E){let Z=d_.safeParse(R.intent);Z.success&&Nn(E,Z.data.nodeId)?.type==="customer_data"&&nt(t.onCustomerDataIntent,Z.data)}else if(R.type==="answers"&&i==="live"&&U){let Z=$(R.answers);Z&&nt(t.onAnswers,Z)}else if(R.type==="selection"&&E&&d?.type==="render"&&d.capabilities){let Z=oh(E,R.selection,d.capabilities);D=Z;let be=cd(E,L??d.capabilities,Z,d.locale);s({type:"capabilities",capabilities:be}),nt(t.onSelection,Z)}else if(R.type==="action"&&E?.actions.some(Z=>Z.id===R.actionId)){let Z=$(R.answers);if(U&&!Z)return;let be=E,Fe=R.nodeId?Nn(be,R.nodeId):void 0;h=i==="live"&&Fe?.type==="button"&&Fe.action===R.actionId?()=>{!f&&E===be&&s({type:"restore-action-focus",nodeId:Fe.id})}:void 0,nt(t.onAction,R.actionId,oh(E,R.selection,d?.type==="render"?d.capabilities:void 0),Z)}else R.type==="error"&&nt(t.onError,R.message)}window.addEventListener("message",H),e.append(a);let ne={ready:v,get document(){return E},updateCustomerData(M){if(f||!E)return;let R=lc.parse(M),Z={nodes:Object.fromEntries(Object.entries(R.nodes).filter(([be,Fe])=>{let tt=Nn(E,be);return tt?.type==="customer_data"&&tt.data.source===Fe.source}))};d?.type==="render"&&(d.customerData=Z),u&&s({type:"customer-data",data:Z})},updateCapabilities(M){if(f||!E)return;L=M;let R=o.prepare(cd(E,M,D,d?.type==="render"?d.locale:"en"),E);R&&(d?.type==="render"&&JSON.stringify(d.capabilities)===JSON.stringify(R)||(d?.type==="render"&&(d.capabilities=R),u&&s({type:"capabilities",capabilities:R})))},update(M,R,Z){if(f)return;let be;try{let Fe=oV(M,r),tt=i==="live"&&!!Z?.serverInput,re=tt?dc(Fe,[R]):R,Le=tt?h_(Fe,re):Fe,Ce=Z?.serverInput?cI.parse(Z.serverInput):void 0;if(Ce&&(Fe.surface!=="paywall"&&Fe.pages.length!==1||Fe.actions.some(ze=>ze.type!=="event"&&ze.type!=="navigate"||ze.close)||Ce.bindings.some(ze=>{let vt=Nn(Fe,ze.componentId);return vt?.type!=="stack"||!vt.interaction||!["input","multiselect","select","tabs","toggle"].includes(vt.interaction.type)})))throw new Error("Current Funnel input requires one screen with bound interactive controls and output actions");let we=Gn.parse(Z?.parameters??{}),ot=Z?.customerData?lc.parse(Z.customerData):void 0;if(i==="live"&&!Z?.reset&&d?.type==="render"&&(Z?.capabilities!==void 0||d.capabilities===void 0)&&JSON.stringify([d.doc,d.locale,d.parameters,d.serverInput,d.selection])===JSON.stringify([Le,re,we,Ce,Z?.selection])){Z?.capabilities&&ne.updateCapabilities(Z.capabilities),JSON.stringify(d.customerData)!==JSON.stringify(ot)&&(ne.updateCustomerData(ot??{nodes:{}}),d.customerData=ot);return}E=Le,L=Z?.capabilities,D=Z?.selection??{},U=Ce,j=Fe.presentation.type,V=new Set(Fe.pages.map(ze=>ze.id)),be={type:"render",doc:Le,...Ce?{serverInput:Ce}:{},locale:re,parameters:we,capabilities:o.prepare(Z?.capabilities?cd(Le,Z.capabilities,Z.selection??{},re):void 0,Fe),...Z?.selection?{selection:Z.selection}:{},customerData:ot},j==="fullscreen"&&T&&z(T)}catch(Fe){nt(t.onError,Fe instanceof Error?Fe.message:"\u5185\u5BB9\u4E0D\u6B63\u786E");return}d=be,u&&(s(be),_.ready())},resizeViewport(M){f||!Number.isFinite(M)||M<=0||(T=M,z(W))},highlight(M,R){f||(p={type:"highlight",hoverId:M,selectedId:R},u&&s(p))},destroy:P};return ne}var OP=x(()=>{"use strict";Hk();XF();aV();cV();za();Ny();fV()});async function xV(e,t,r){if(t.status!=="complete")throw new G("INVALID_RESPONSE","A verified completed purchase is required");if(await r.onComplete?.(t),!e||!r.check)return;let i=Gr.parse(await r.check());if(i.internal_feature_id!==e.internal_feature_id||i.quantity!==e.quantity)throw new G("INVALID_RESPONSE","The access requirement changed");i.allowed&&await r.onAccessGranted?.(i)}var SV=x(()=>{"use strict";mn();Sr()});function RP(e,t){let r=structuredClone(e.capabilities),i=new Set(Object.entries(e.document.buttons).filter(([,a])=>a.type==="checkout"&&a.product.type==="fixed"&&!Fi(a.product,{},r)).map(([a])=>a));if(!i.size)return r;let o=a=>{let s=t.createElement("template");s.innerHTML=a;let c=!1;for(let u of s.content.querySelectorAll("button[data-grow-action]"))i.has(u.getAttribute("data-grow-action"))&&(u.disabled=!0,c=!0);return c?s.innerHTML:a};return Qt(e.document.screen,a=>{if(a.type==="custom_html"){let u=r.nodes[a.id],l=u?.base.html??a.html[e.document.screen.strings.defaultLocale]??"",d=o(l),p=u?.byPlan&&Object.fromEntries(Object.entries(u.byPlan).map(([f,h])=>[f,h.html===void 0?h:{...h,html:o(h.html)}]));(d!==l||p)&&(r.nodes[a.id]={...u,base:{...u?.base,...d!==l?{html:d}:{}},...p?{byPlan:p}:{}});return}let s=a.type==="button"?a.action:a.type==="stack"?a.purchaseAction:void 0;if(!s||!i.has(s))return;let c=r.nodes[a.id];r.nodes[a.id]={...c,base:{...c?.base,unavailable:!0},...c?.byPlan?{byPlan:Object.fromEntries(Object.entries(c.byPlan).map(([u,l])=>[u,{...l,unavailable:!0}]))}:{}}}),r}var vV=x(()=>{"use strict";mn()});var NP={};Ie(NP,{mountScreenPreview:()=>Dy});var DP=x(()=>{OP()});async function Fy(e,t){let r=t.check?Gr.parse(await t.check()):null;if(r?.allowed)return await t.onAccessGranted?.(r),{check:r,host:null};let i=Md(e.ownerDocument),{mountScreenPreview:o}=await Promise.resolve().then(()=>(DP(),NP)),a=await t.start(),s;try{let re=a.view??await a.refresh();if(!re)throw new G("INVALID_RESPONSE","Paywall presentation is missing");s=re}catch(re){throw a.destroy(),i(),re}let c=e.ownerDocument,u=new AbortController,l=c.createElement("section"),d=c.createElement("div"),p=c.createElement("div"),f=c.createElement("p"),h=c.createElement("button"),m=c.createElement("button"),g=c.createElement("dialog"),S=s.document.screen.strings.defaultLocale.startsWith("zh");l.dataset.indianaPaywall="",l.setAttribute("aria-label",s.document.name),l.style.cssText="width:100%;box-sizing:border-box;background:#fff;color:#172033;font:14px/1.5 system-ui,sans-serif",p.style.cssText="display:flex;gap:12px;padding:12px 20px;align-items:center;flex-wrap:wrap",f.setAttribute("role","status"),m.textContent=S?"\u5173\u95ED":"Close",h.textContent=S?"\u91CD\u8BD5":"Retry",h.hidden=!0,p.append(f,h,m),l.append(d,p);let v=s.document.presentation,_,P=!1,E=!1,D=null,L=!1,U=()=>!L&&t.canInteract?.()!==!1,j=!1,V=null,T=null;function W(re){a.quote||a.operation||(f.textContent=Object.values(re.capabilities.plans).some(Le=>Le.available)?"":S?"\u5F53\u524D\u8D26\u53F7\u6682\u65E0\u53EF\u8D2D\u4E70\u7684\u65B9\u6848\u3002":"No plans are currently available for this account.")}let z=new Map;async function $(re){if(!(!U()||!re.checkoutUrl||z.get(re.operationId)===re.checkoutUrl)){z.set(re.operationId,re.checkoutUrl);try{t.onCheckoutUrl?await t.onCheckoutUrl(re.checkoutUrl):c.defaultView?.location.assign(re.checkoutUrl)}catch(Le){throw z.delete(re.operationId),Le}}}let H=re=>{f.textContent=re instanceof Error?re.message:S?"\u8BF7\u6C42\u5931\u8D25":"Request failed",nt(t.onError,re),h.hidden=V===null};async function ne(re){if(!(E||P||!U())){E=!0,h.hidden=!0,f.textContent="";try{await re()}catch(Le){P||H(Le)}finally{E=!1}}}async function M(re){await xV(r,re,t)}async function R(re){if(P)return;if(!U()){V=async()=>R(await a.read()),h.hidden=!1;return}if(f.textContent=re.status,re.problem){let we=re.problem;V=Z,h.textContent=S?"\u68C0\u67E5\u5E76\u6062\u590D\u539F\u64CD\u4F5C":"Check and recover original purchase",H(new G(we.code,we.reason==="RESULT_UNKNOWN"?S?"\u4ED8\u6B3E\u7ED3\u679C\u5C1A\u672A\u786E\u5B9A\uFF0C\u8BF7\u6062\u590D\u539F\u64CD\u4F5C\uFF0C\u6682\u52FF\u91CD\u590D\u8D2D\u4E70\u3002":"The payment result is unknown. Recover the original purchase before buying again.":we.phase==="fulfillment"?S?"\u4ED8\u6B3E\u5DF2\u8BB0\u5F55\uFF0C\u5546\u6237\u6743\u76CA\u5904\u7406\u9700\u8981\u6838\u5BF9\u3002":"Payment was recorded. Access fulfillment needs attention.":we.code==="CAPABILITY_UNAVAILABLE"?S?"\u5546\u6237\u5C1A\u4E0D\u652F\u6301\u672C\u6B21\u8D2D\u4E70\u6240\u9700\u7684\u5B8C\u6574\u80FD\u529B\uFF0C\u8BF7\u5904\u7406\u540E\u6062\u590D\u539F\u64CD\u4F5C\u3002":"The merchant does not currently support all actions required by this purchase. Recover the original purchase after this is resolved.":we.code==="NOT_CONFIGURED"?S?"\u4ED8\u6B3E\u670D\u52A1\u8FDE\u63A5\u9700\u8981\u5904\u7406\uFF0C\u8BF7\u8054\u7CFB\u5546\u6237\u540E\u6062\u590D\u539F\u64CD\u4F5C\u3002":"The payment connection needs attention. Contact the merchant, then recover the original purchase.":S?"\u539F\u8D2D\u4E70\u64CD\u4F5C\u9700\u8981\u5904\u7406\uFF0C\u8BF7\u67E5\u8BE2\u6216\u6062\u590D\u6B64\u64CD\u4F5C\u3002":"The original purchase needs attention. Check or recover this operation.",void 0,void 0,we));return}if(re.merchantExecution?.type==="purchase"&&re.merchantExecution.paymentStatus==="succeeded"&&!["applied","not_applicable"].includes(re.merchantExecution.fulfillmentStatus)&&(f.textContent=S?"\u4ED8\u6B3E\u5DF2\u8BB0\u5F55\uFF0C\u6B63\u5728\u7B49\u5F85\u5546\u6237\u5B8C\u6210\u5904\u7406\u3002":"Payment was recorded. Waiting for merchant fulfillment."),re.status==="complete"){V=null,await M(re);return}if(re.status!=="pending"){if(a.canReselect===!1){f.textContent=S?"\u6B63\u5728\u6838\u5BF9\u539F\u8D2D\u4E70\u7ED3\u679C":"Checking the original purchase result",h.textContent=S?"\u67E5\u8BE2\u7ED3\u679C":"Check result",V=async()=>R(await a.read()),h.hidden=!1;return}h.textContent=S?"\u91CD\u8BD5":"Retry",V=null,D=null;return}await $(re);let Le=Date.now()+6e5,Ce=2e3;for(;!P&&Date.now()<Le;){if(await new Promise(ot=>{let ze=()=>{clearTimeout(vt),ot()},vt=setTimeout(()=>{u.signal.removeEventListener("abort",ze),ot()},Ce);u.signal.addEventListener("abort",ze,{once:!0})}),P)return;if(!U()){V=async()=>R(await a.read()),h.hidden=!1;return}let we=await a.read();if(!we.problem&&we.status==="pending"&&await $(we),we.status!=="pending"||we.problem){await R(we);return}Ce=Math.min(Ce*1.5,3e4)}V=async()=>R(await a.read()),h.hidden=!1}async function Z(){T?.remove(),T=null,V=Z;let re=await a.confirm();if(!U()){V=Z,h.hidden=!1;return}if(re.problem){await R(re);return}if(re.status==="pending"){if(re.checkoutUrl)await $(re);else if(re.execution&&re.execution.provider!=="merchant"||re.nativePurchase){if(!t.onPurchase)throw new G("PURCHASE_HANDLER_REQUIRED","Provide the merchant or native purchase handler");await t.onPurchase({operation:re,signal:u.signal})}}V=async()=>R(await a.read()),await R(re)}function be(re){T?.remove();let Le=c.createElement("div"),Ce=c.createElement("button"),we=c.createElement("button"),ot=c.createElement("p");ot.textContent=re.lines.map(rt=>rt.productName).join(", ")+" \xB7 "+qs(re.charge?.totalMinor??re.catalogAmountMinor-(re.discount?.amountMinor??0),re.currency),Ce.textContent=S?"\u786E\u8BA4\u8D2D\u4E70":"Confirm purchase",we.textContent=S?"\u53D6\u6D88":"Cancel",Ce.onclick=()=>{ne(Z)};let ze=async()=>{let rt=await a.cancel();P||(Le.remove(),T=null,await R(rt))};we.onclick=()=>{V=ze,ne(ze)};let vt=c.createElement("div");for(let rt of re.lines){let at=c.createElement("p");at.textContent=`${rt.productName} \xB7 ${qs(rt.catalogAmountMinor,re.currency)}${sd(rt.interval,S?"zh-CN":"en",rt.intervalCount??1)}`,vt.append(at);for(let an of rt.prepaid??[]){let ge=c.createElement("p"),de=a.view?.capabilities.plans[rt.productVersionId]?.prepaid?.find(ve=>ve.internalFeatureId===an.internal_feature_id);ge.textContent=`${de?.name??an.internal_feature_id} \xB7 ${an.quantity} ${S?"\u4EFD":"packs"} \xD7 ${an.terms.units}`,de&&(ge.textContent+=sd(de.reset==="week"||de.reset==="month"||de.reset==="year"?de.reset:"one_time",S?"zh-CN":"en",de.resetCount)),vt.append(ge)}if(rt.trial){let an=c.createElement("p");an.textContent=S?`\u8BD5\u7528 ${rt.trial.days} \u5929\uFF1B${rt.trial.cardRequired?"\u9700\u8981\u63D0\u4F9B\u4ED8\u6B3E\u65B9\u5F0F":"\u65E0\u9700\u63D0\u4F9B\u4ED8\u6B3E\u65B9\u5F0F"}`:`Trial days: ${rt.trial.days}; ${rt.trial.cardRequired?"a payment method is required":"no payment method is required"}`,vt.append(an)}}if(!re.charge){let rt=c.createElement("p");rt.textContent=S?"\u76EE\u5F55\u4EF7\u683C\uFF1B\u6700\u7EC8\u91D1\u989D\u4EE5\u7ED3\u8D26\u65F6\u7A0E\u8D39\u548C\u8BD5\u7528\u89C4\u5219\u4E3A\u51C6\u3002":"Catalog price; the final charge depends on checkout taxes and trial terms.",vt.append(rt)}Le.append(ot,vt,Ce,we),p.prepend(Le),Le.scrollIntoView?.({block:"nearest"}),Ce.focus({preventScroll:!0}),T=Le,V=null}async function Fe(){if(!D)return;if(V=Fe,!j){let Le=a.view,Ce=Le?.document.buttons[D.actionId],we=Le&&Ce?.type==="checkout"?Fi(Ce.product,D.selection,Le.capabilities):null;if(!we)throw new G("PRODUCT_UNAVAILABLE","Choose an available Product in this purchase area");let ot=await t.resolveOfferId?.({actionId:D.actionId,productVersionId:we});if(P)return;ot!==void 0&&(D.offerId=ot),j=!0}if(!U()){h.hidden=!1;return}let re=await a.preview(D);P||be(re)}function tt(re="destroy"){P||(P=!0,u.abort(),_?.destroy(),a.destroy(),g.open&&g.close(),g.remove(),l.remove(),i(),re==="dismiss"&&nt(t.onDismiss))}m.onclick=()=>{U()&&tt("dismiss")},g.addEventListener("cancel",re=>{re.preventDefault(),U()&&tt("dismiss")}),h.onclick=()=>{V&&ne(V)};try{if(v.type==="inline")e.append(l);else{let Le={sm:420,md:640,lg:900};g.style.cssText=`padding:0;border:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;width:${"size"in v?Le[v.size]+"px":"100vw"}`,g.setAttribute("aria-label",s.document.name),g.append(l),e.append(g),U()&&(g.showModal(),Lc(g,v.type))}_=o(d,{mode:"live",rendererUrl:a.webViewUrl,title:s.document.name,onAction(Le,Ce={}){if(!U())return;let we=a.view,ot=we?.document.buttons[Le];if(!ot)return;if(ot.type==="close"){ne(async()=>{await t.onAction?.(Le),tt(t.onAction?"action":"dismiss")});return}if(ot.type==="action"){V=async()=>{if(ot.action.type==="event"){if(!t.onEvent)throw new G("EVENT_HANDLER_REQUIRED","Provide the event handler");await t.onEvent(ot.action.event)}else t.onOpenUrl?await t.onOpenUrl(ot.action.url):c.defaultView?.location.assign(ot.action.url);await t.onAction?.(Le),V=null},ne(V);return}if((a.quote||D)&&a.canReselect===!1){V=a.quote?async()=>R(await a.read()):Fe,ne(V);return}let ze=we&&Fi(ot.product,Ce,we.capabilities);if(!we||!ze){H(new G("PRODUCT_UNAVAILABLE","Choose an available Product in this purchase area"));return}if(t.onPurchaseIntent){V=null,ne(async()=>{let vt={actionId:Le,productVersionId:ze,selection:structuredClone(Ce),featureQuantities:Tc(we.document.screen,ze,Ce,we.capabilities)};await t.onPurchaseIntent(vt)});return}if(D&&D.actionId!==Le){H(new G("COMMAND_PENDING","Finish the current purchase"));return}D||(D={requestId:crypto.randomUUID(),actionId:Le,selection:Ce},j=!1),ne(Fe)},onEscape:()=>{U()&&tt("dismiss")},onError:Le=>H(new Error(Le)),onRendered:Le=>{Le&&g.setAttribute("aria-label",Le)}}),_.update(s.document.screen,s.document.screen.strings.defaultLocale,{capabilities:RP(s,c),serverInput:{bindings:[],answers:{}}}),await _.ready,W(s);let re=a.operation;re&&(re.confirmedAt||re.checkoutUrl||re.status==="complete")&&(V=async()=>R(await a.read()),ne(V))}catch(re){throw tt(),re}return{check:r,host:{setSuspended(re){L=re,l.hidden=re,re&&g.open?g.close():!re&&!P&&v.type!=="inline"&&!g.open&&g.showModal()},destroy:tt,refresh:async()=>{if(!U()){if(a.view)return a.view;throw new G("PRECONDITION_FAILED","Paywall presentation is suspended")}let re=await a.refresh();return P||(_?.updateCapabilities(RP(re,c)),W(re)),re}}}}var jP=x(()=>{"use strict";mn();Sr();za();Ny();cg();SV();vV()});function Pee(e){return e==="html"?{childList:!0,subtree:!0,attributes:!0,characterData:!0}:{childList:!1,subtree:!1,attributes:!0,attributeFilter:[e]}}function Zy(e){var t=qy.get(e);return t||(t={element:e,attributes:{}},qy.set(e,t)),t}function Hy(e,t,r,i,o){var a=r(e),s={isDirty:!1,originalValue:a,virtualValue:a,mutations:[],el:e,_positionTimeout:null,observer:new MutationObserver(function(){if(!Wee&&!(t==="position"&&s._positionTimeout)){t==="position"&&(s._positionTimeout=setTimeout(function(){s._positionTimeout=null},1e3));var c=r(e);t==="position"&&c.parentNode===s.virtualValue.parentNode&&c.insertBeforeNode===s.virtualValue.insertBeforeNode||c!==s.virtualValue&&(s.originalValue=c,o(s))}}),mutationRunner:o,setValue:i,getCurrentValue:r};return t==="position"&&e.parentNode?s.observer.observe(e.parentNode,{childList:!0,subtree:!0,attributes:!1,characterData:!1}):s.observer.observe(e,Pee(t)),s}function Gy(e,t){var r=t.getCurrentValue(t.el);t.virtualValue=e,e&&typeof e!="string"?(!r||e.parentNode!==r.parentNode||e.insertBeforeNode!==r.insertBeforeNode)&&(t.isDirty=!0,TV()):e!==r&&(t.isDirty=!0,TV())}function Oee(e){var t=e.originalValue;e.mutations.forEach(function(r){return t=r.mutate(t)}),Gy(qee(t),e)}function Tee(e){var t=new Set(e.originalValue.split(/\s+/).filter(Boolean));e.mutations.forEach(function(r){return r.mutate(t)}),Gy(Array.from(t).filter(Boolean).join(" "),e)}function Ree(e){var t=e.originalValue;e.mutations.forEach(function(r){return t=r.mutate(t)}),Gy(t,e)}function Nee(e){var t=e.parentSelector,r=e.insertBeforeSelector,i=document.querySelector(t);if(!i)return null;var o=r?document.querySelector(r):null;return r&&!o?null:{parentNode:i,insertBeforeNode:o}}function Dee(e){var t=e.originalValue;e.mutations.forEach(function(r){var i=r.mutate(),o=Nee(i);t=o||t}),Gy(t,e)}function NV(e){var t=Zy(e);return t.html||(t.html=Hy(e,"html",jee,$ee,Oee)),t.html}function DV(e){var t=Zy(e);return t.position||(t.position=Hy(e,"position",Lee,Mee,Dee)),t.position}function jV(e){var t=Zy(e);return t.classes||(t.classes=Hy(e,"class",zee,Fee,Tee)),t.classes}function $V(e,t){var r=Zy(e);return r.attributes[t]||(r.attributes[t]=Hy(e,t,Uee(t),Vee(t),Ree)),r.attributes[t]}function Bee(e,t){var r=qy.get(e);if(r)if(t==="html"){var i,o;(i=r.html)==null||(o=i.observer)==null||o.disconnect(),delete r.html}else if(t==="class"){var a,s;(a=r.classes)==null||(s=a.observer)==null||s.disconnect(),delete r.classes}else if(t==="position"){var c,u;(c=r.position)==null||(u=c.observer)==null||u.disconnect(),delete r.position}else{var l,d,p;(l=r.attributes)==null||(d=l[t])==null||(p=d.observer)==null||p.disconnect(),delete r.attributes[t]}}function qee(e){return Uy||(Uy=document.createElement("div")),Uy.innerHTML=e,Uy.innerHTML}function Vy(e,t,r){if(r.isDirty){r.isDirty=!1;var i=r.virtualValue;r.mutations.length||Bee(e,t),r.setValue(e,i)}}function Zee(e,t){e.html&&Vy(t,"html",e.html),e.classes&&Vy(t,"class",e.classes),e.position&&Vy(t,"position",e.position),Object.keys(e.attributes).forEach(function(r){Vy(t,r,e.attributes[r])})}function TV(){qy.forEach(Zee)}function Hee(e,t){var r=null;e.kind==="html"?r=NV(t):e.kind==="class"?r=jV(t):e.kind==="attribute"?r=$V(t,e.attribute):e.kind==="position"&&(r=DV(t)),r&&(r.mutations.push(e),r.mutationRunner(r))}function Gee(e,t){var r=null;if(e.kind==="html"?r=NV(t):e.kind==="class"?r=jV(t):e.kind==="attribute"?r=$V(t,e.attribute):e.kind==="position"&&(r=DV(t)),!!r){var i=r.mutations.indexOf(e);i!==-1&&r.mutations.splice(i,1),r.mutationRunner(r)}}function LV(e){if(!(e.kind==="position"&&e.elements.size===1)){var t=new Set(e.elements),r=document.querySelectorAll(e.selector);r.forEach(function(i){t.has(i)||(e.elements.add(i),Hee(e,i))})}}function Kee(e){e.elements.forEach(function(t){return Gee(e,t)}),e.elements.clear(),zP.delete(e)}function RV(){zP.forEach(LV)}function Jee(){typeof document>"u"||(LP||(LP=new MutationObserver(function(){RV()})),RV(),LP.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!1,characterData:!1}))}function Ky(e){return typeof document>"u"?FP:(zP.add(e),LV(e),{revert:function(){Kee(e)}})}function MP(e,t){return Ky({kind:"html",elements:new Set,mutate:t,selector:e})}function MV(e,t){return Ky({kind:"position",elements:new Set,mutate:t,selector:e})}function Ud(e,t){return Ky({kind:"class",elements:new Set,mutate:t,selector:e})}function By(e,t,r){return Cee.test(t)?t==="class"||t==="className"?Ud(e,function(i){var o=r(Array.from(i).join(" "));i.clear(),o&&o.split(/\s+/g).filter(Boolean).forEach(function(a){return i.add(a)})}):Ky({kind:"attribute",attribute:t,elements:new Set,mutate:r,selector:e}):FP}function Qee(e){var t=e.selector,r=e.action,i=e.value,o=e.attribute,a=e.parentSelector,s=e.insertBeforeSelector;if(o==="html"){if(r==="append")return MP(t,function(c){return c+(i??"")});if(r==="set")return MP(t,function(){return i??""})}else if(o==="class"){if(r==="append")return Ud(t,function(c){i&&c.add(i)});if(r==="remove")return Ud(t,function(c){i&&c.delete(i)});if(r==="set")return Ud(t,function(c){c.clear(),i&&c.add(i)})}else if(o==="position"){if(r==="set"&&a)return MV(t,function(){return{insertBeforeSelector:s,parentSelector:a}})}else{if(r==="append")return By(t,o,function(c){return c!==null?c+(i??""):i??""});if(r==="set")return By(t,o,function(){return i??""});if(r==="remove")return By(t,o,function(){return null})}return FP}var Cee,FP,qy,zP,jee,$ee,Lee,Mee,Fee,zee,Uee,Vee,Uy,Wee,LP,Yee,UP,FV=x(()=>{Cee=/^[a-zA-Z:_][a-zA-Z0-9:_.-]*$/,FP={revert:function(){}},qy=new Map,zP=new Set;jee=function(t){return t.innerHTML},$ee=function(t,r){return t.innerHTML=r};Lee=function(t){return{parentNode:t.parentElement,insertBeforeNode:t.nextElementSibling}},Mee=function(t,r){r.insertBeforeNode&&!r.parentNode.contains(r.insertBeforeNode)||r.parentNode.insertBefore(t,r.insertBeforeNode)};Fee=function(t,r){return r?t.className=r:t.removeAttribute("class")},zee=function(t){return t.className};Uee=function(t){return function(r){var i;return(i=r.getAttribute(t))!=null?i:null}},Vee=function(t){return function(r,i){return i!==null?r.setAttribute(t,i):r.removeAttribute(t)}};Wee=!1;Jee();Yee={html:MP,classes:Ud,attribute:By,position:MV,declarative:Qee},UP=Yee});function Wy(e,t=()=>{}){let r=new WeakMap,i=0,o=a=>{let s=r.get(a);if(s!==void 0)return s;let c=[],u=a,l=!0;for(;u;){let d=r.get(u);if(d!==void 0){l=d;break}if(++i>8192||c.length>=256)throw Error("IAM render ancestry budget exceeded");if(c.push(u),t(),u.hasAttribute("hidden")||/(?:^|;)\s*display\s*:\s*none\s*(?:!\s*important\s*)?(?:;|$)/i.test(u.getAttribute("style")??"")){l=!1;break}u=u.parentElement}for(let d of c)r.set(d,l);return l};return(a,s)=>{let c=0,u=!1,l=e.querySelectorAll(a);for(let d=0;d<l.length;d++){let p=l[d];if(!p)throw Error("IAM render selection changed");o(p)&&(c++,p===s&&(u=!0)),t()}return s&&!u?0:c}}var VP=x(()=>{"use strict"});function zV(e){if(!Xee(e)||Object.keys(e).some(a=>!["schemaVersion","renderKey","routeTemplate","selectors","present","absent"].includes(a))||e.schemaVersion!==1||typeof e.renderKey!="string"||!e.renderKey||e.renderKey.length>256||typeof e.routeTemplate!="string"||!e.routeTemplate.startsWith("/")||e.routeTemplate.length>2048||!Array.isArray(e.selectors)||e.selectors.length>512||e.selectors.some(a=>typeof a!="string"||a.length>512||!/^[a-z][a-z0-9-]*\[(?:id|data-testid|data-test|data-qa|data-indiana-id)="(?:[^"\\\x00-\x1f\x7f]|\\["\\])*"\]$/.test(a))||!Array.isArray(e.present)||!Array.isArray(e.absent))throw new Error("Invalid IAM render guard");if(e.present.length===0)throw Error("IAM render needs positive source evidence");let t=e.selectors,r=e.present,i=e.absent,o=[...r,...i];if(new Set(t).size!==t.length||o.length!==t.length||new Set(o).size!==o.length||o.some(a=>typeof a!="number"||!Number.isInteger(a)||a<0||a>=t.length))throw new Error("Invalid IAM render signature");return{schemaVersion:1,renderKey:e.renderKey,routeTemplate:e.routeTemplate,selectors:e.selectors,present:e.present,absent:e.absent}}function ete(e,t){let r=e.split("/").filter(Boolean),i="";for(let o of r)/^\[\[\.\.\.[^\[\]]+\]\]$/.test(o)?i+="(?:/[^/]+)*":/^\[\.\.\.[^\[\]]+\]$/.test(o)?i+="(?:/[^/]+)+":/^\[[^\[\]]+\]$/.test(o)?i+="/[^/]+":i+="/"+o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp("^"+(i?i+"/?":"/")+"$").test(t)&&!/[\[\]]/.test(t)}function UV(e,t,r,i,o=Wy(t,i)){if(!ete(e.routeTemplate,r))return!1;let a=new Set(e.present),s=!0;for(let c=0;c<e.selectors.length;c++){let u=o(e.selectors[c]);if(a.has(c)&&u>1)throw new Error("IAM render anchor is ambiguous");(a.has(c)?u!==1:u!==0)&&(s=!1),i()}return s}var Xee,BP=x(()=>{"use strict";VP();Xee=e=>!!e&&typeof e=="object"&&!Array.isArray(e)});function HP(e){ZP.add(e)}function tte(e){let t=new Set,r=new Set,i,o=0,a=!1,s=0,c,u=()=>{t.size||o||(i?.disconnect(),c!==void 0&&cancelAnimationFrame(c),e.removeEventListener("visibilitychange",p),qP.delete(e))};function l(f){if(e.hidden)return;let h=performance.now(),m=new Map,g=new Map,S=()=>{if(performance.now()-h>8)throw new Wc},v=j=>{S();let V=m.get(j);return V||(V=e.querySelectorAll(j),m.set(j,V)),S(),V},_=Wy({querySelectorAll:v},S),P=j=>{let V=j.filter(z=>!m.has(z));if(!V.length)return;let T=new Map;for(let z of V){let $=/^([a-z][a-z0-9-]*)\[(id|data-testid|data-test|data-qa|data-indiana-id)="((?:[^"\\\x00-\x1f\x7f]|\\["\\])*)"\]$/.exec(z);if(!$)throw Error("Invalid IAM render selector");let[,H,ne,M]=$,R=M.replace(/\\(["\\])/g,"$1"),Z=T.get(H);Z||T.set(H,Z=new Map);let be=Z.get(ne);be||Z.set(ne,be=new Map);let Fe=be.get(R);Fe||be.set(R,Fe=[]),m.set(z,Fe)}S();let W=e.querySelectorAll(V.join(","));if(S(),W.length>8192)throw Error("IAM render selection budget exceeded");for(let z of W){let $=T.get(z.localName.toLowerCase());if($)for(let[H,ne]of $){let M=z.getAttribute(H);M!==null&&ne.get(M)?.push(z)}S()}},E={query:v,checkpoint:S,matches(j,V){let T=g.get(V);if(!T){try{let W=!1;T={match:UV(j,e,location.pathname,S,z=>(W||(P(j.selectors),W=!0),_(z)))}}catch(W){T={error:W}}g.set(V,T)}if("error"in T)throw T.error;return T.match}},D=[],L=[],U=[];for(let j of f)if(t.has(j))try{D.push({job:j,commit:j.prepare(E)})}catch(V){if(V instanceof Wc)throw V;L.push({job:j,error:V})}S();for(let{job:j,error:V}of L)t.has(j)&&j.fail(V);for(let{job:j,commit:V}of D)if(t.has(j))try{S(),V(T=>U.push(T))}catch(T){if(T instanceof Wc)throw T;j.fail(T)}for(let j of U)j()}function d(f){if(!(c!==void 0||e.hidden))try{l(f),s=0}catch(h){if(!(h instanceof Wc))throw h;for(let m of[...t])m.suspend();if(s++>=2){for(let m of[...t])m.fail(h);return}c=requestAnimationFrame(()=>{c=void 0,d([...t])})}}function p(){a||!t.size||e.hidden||(a=!0,queueMicrotask(()=>{a=!1,d([...t])}))}return{begin(){o++},end(){--o===0&&(r.clear(),d([...t])),u()},add(f){return i||(i=new MutationObserver(h=>{let m=g=>ZP.has(g)||!!(g.parentNode&&ZP.has(g.parentNode));h.some(g=>!m(g.target)&&!(g.type==="childList"&&[...g.addedNodes,...g.removedNodes].length>0&&[...g.addedNodes,...g.removedNodes].every(m)))&&p()}),i.observe(e.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["style","hidden","data-indiana-id","data-indiana-release","data-testid","id","name"]}),e.addEventListener("visibilitychange",p)),t.add(f),o?r.add(f):d([f]),()=>{t.delete(f),r.delete(f),u()}}}}function nte(){let e=qP.get(document);return e||(e=tte(document),qP.set(document,e)),e}function VV(e){return nte().add(e)}var Wc,qP,ZP,BV=x(()=>{"use strict";VP();BP();Wc=class extends Error{constructor(){super("IAM page check exceeded its work budget")}},qP=new WeakMap,ZP=new WeakSet});function ZV(e){return(!GP||qV!==window)&&(GP=lg(window),qV=window),GP.sanitize(e,{USE_PROFILES:{html:!0},FORBID_TAGS:["form","input","textarea","select","button","style"]})}function HV(e){let t={...e};if(!["html","class","style","position","href","src","alt","title","id","role","hidden"].includes(t.attribute)&&!/^(aria|data)-[a-z0-9_-]+$/.test(t.attribute))throw new Error("Unsupported visual attribute");document.querySelector(t.selector);for(let r of document.querySelectorAll(t.selector))if(["SCRIPT","IFRAME","OBJECT","EMBED","HTML","HEAD"].includes(r.tagName)||r.tagName==="BODY"&&t.attribute==="html")throw new Error("Protected visual target");if(t.attribute==="html"&&(t.value=ZV(t.value??"")),["href","src"].includes(t.attribute)&&t.action!=="remove"){let r=new URL(t.value??"",location.href);if(!["https:","http:","mailto:","tel:"].includes(r.protocol)||t.attribute==="src"&&!["https:","http:"].includes(r.protocol))throw new Error("Unsafe visual URL")}return t.parentSelector&&document.querySelector(t.parentSelector),t.insertBeforeSelector&&document.querySelector(t.insertBeforeSelector),t}function GV(e,t={}){if(e.renderGuard&&!t.requireUniqueTargets)throw new Error("IAM render guard requires the source release fence");if(t.requireUniqueTargets)return rte(e,t);let r=e.domMutations.map(HV),i=[],o=!1,a=!1,s,c=()=>{if(!o){o=!0,s?.disconnect();for(let l of i.reverse())l()}},u=()=>{o||a||(!r.length||e.css||t.allowJs&&e.js||r.some(l=>document.querySelector(l.selector)))&&(a=!0,t.onApplied?.())};try{if(e.css){let p=document.createElement("style");t.nonce&&(p.nonce=t.nonce),p.textContent=e.css,document.head.append(p),i.push(()=>p.remove())}for(let p of r){let f=UP.declarative(p);i.push(()=>f.revert())}if(t.allowJs&&e.js){let p=document.createElement("script");t.nonce&&(p.nonce=t.nonce),p.textContent=e.js,document.head.append(p),i.push(()=>p.remove())}let l=performance.now(),d=new WeakMap;s=new MutationObserver(p=>{if(!o){performance.now()-l>1e3&&(l=performance.now(),d=new WeakMap);for(let f of p){let h=(d.get(f.target)??0)+1;if(d.set(f.target,h),h>40){c(),t.onError?.(new Error("Visual changes conflict with repeated page rendering"));return}}u()}}),s.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,characterData:!0}),u()}catch(l){throw c(),l}return{revert:c,inspect(){return{status:"unavailable",total:0,applied:0}},get applied(){return a}}}function rte(e,t){let r=t?.boundVariations??[e],i=new Set,o=new Set,a=[],s=new Map,c=r.flatMap(j=>j.renderGuard?[zV(j.renderGuard)]:[]),u=c[0];if(c.some(j=>JSON.stringify(j)!==JSON.stringify(u)))throw new Error("IAM variations use different render states");if(e.js||r.some(j=>j.js))throw Error("IAM scripts cannot execute");if(r.length>20||r.reduce((j,V)=>j+V.css.length,0)>262144)throw Error("IAM target budget");let l=(j,V)=>{for(let W of j.domMutations){if(W.action!=="set"||W.attribute!=="html")throw Error("Unsupported IAM mutation");i.add(W.selector),o.add(W.selector)}if(!j.css)return;let T=document.createElement("style");HP(T),T.media="not all",t?.nonce&&(T.nonce=t.nonce),T.textContent=j.css;try{if(document.head.append(T),!T.sheet)throw Error("IAM CSS is blocked");for(let W of T.sheet.cssRules){if(!("selectorText"in W)||typeof W.selectorText!="string")throw Error("Unsupported IAM style rule");i.add(W.selectorText),V&&a.push({selector:W.selectorText,css:W.cssText})}}finally{T.remove()}};for(let j of r)l(j,!1);if(l(e,!0),i.size>200)throw Error("IAM target budget");let d=e.domMutations.map(HV),p=!1,f=!1,h=!1,m=!1,g="",S=0,v=(j,V)=>{let T=`${j}:${V}`;if(T!==g&&(g=T,!(!t?.onTargetStatus||S>=32))){S++;try{t.onTargetStatus({status:j,total:i.size,matched:V})}catch{}}},_={},P=u?JSON.stringify(u):"",E,D="",L=()=>{if(!p){p=!0,_.unsubscribe?.();for(let j of s.values())j.revert();s.clear(),E?.remove(),E=void 0,f=!1}},U=()=>{for(let j of s.values())j.revert();s.clear(),E?.remove(),E=void 0,D="",f=!1};return _.unsubscribe=VV({suspend:U,fail(j){L(),t?.onError?.(j)},prepare(j){if(u&&!j.matches(u,P))return T=>{p||(U(),m=!1,T(()=>{p||v("inactive",null)}))};let V=new Map;for(let T of i){let W=j.query(T);if(W.length>1)throw Error("IAM target is ambiguous in this rendered state");if(W.length){if(o.has(T)&&W[0].children.length)throw Error("IAM text target is no longer a leaf");V.set(T,W[0])}j.checkpoint()}return T=>{if(p)return;for(let[$,H]of s)V.get($)!==H.element&&(H.revert(),s.delete($));for(let $ of new Set(d.map(H=>H.selector))){let H=V.get($);if(!H||s.has($))continue;let ne=d.filter(M=>M.selector===$).map(M=>UP.declarative(M));s.set($,{element:H,revert:()=>ne.forEach(M=>M.revert())})}let W=a.filter($=>V.has($.selector)).map($=>$.css).join(`
|
|
250
|
-
`);W!==D&&(D=W,W?(E||(E=document.createElement("style"),HP(E),t?.nonce&&(E.nonce=t.nonce),document.head.append(E)),E.textContent=W):(E?.remove(),E=void 0)),f=i.size===0||V.size>0;let z=V.size===i.size?"matched":V.size>0?"partial":m?"missing":"waiting";V.size&&(m=!0),T(()=>{p||v(z,V.size)}),f&&!h&&T(()=>{!p&&f&&!h&&(h=!0,t?.onApplied?.())})}}}),p&&_.unsubscribe(),{revert:L,inspect(){let j=d.length+a.reduce((z,$)=>z+($.css.includes("font-size:")?1:0)+($.css.includes("color:")?1:0),0);if(p)return{status:"error",total:j,applied:0};if(g.startsWith("inactive:"))return{status:"inactive",total:j,applied:0};if(!j)return{status:"no_changes",total:j,applied:0};let V=0,T=0;for(let z of d){let $=document.querySelectorAll(z.selector);$.length===1&&(T++,$[0].innerHTML===ZV(z.value??"")&&V++)}let W=document.createElement("span");for(let z of a){let $=document.querySelectorAll(z.selector),H=$.length===1?$[0]:void 0,ne=z.css.slice(z.css.indexOf("{")+1,z.css.lastIndexOf("}"));W.style.cssText=ne;for(let M of["font-size","color"]){let R=W.style.getPropertyValue(M);R&&H?.isConnected&&(T++,getComputedStyle(H).getPropertyValue(M)===R&&V++)}}return{status:V===j?"applied":T?V?"partial":"mismatch":"waiting",total:j,applied:V}},get applied(){return f}}}var GP,qV,KV=x(()=>{"use strict";FV();nE();BP();BV()});var WV={};Ie(WV,{applyVisualVariation:()=>GV});var JV=x(()=>{KV()});var YV={};Ie(YV,{showPaywall:()=>Fy});var XV=x(()=>{jP()});mn();Sr();mn();Q();mn();zo();Q();zo();function ZF(e,t,r,i){try{return e.parse(t)}catch(o){throw i&&o instanceof Iv?new G(r,i):o}}async function xd(e,t,r,i={},o){let a=typeof i=="function"?{}:i,s=ZF(t.request,r,"INVALID_REQUEST",a.request);try{let c=await e(t.path,s,t.method,o),u=typeof i=="function"?i:i.parseResponse;return u?u(t.response,c):ZF(t.response,c,"INVALID_RESPONSE",a.response)}catch(c){throw c instanceof G&&s!==null&&typeof s=="object"&&"requestId"in s&&typeof s.requestId=="string"&&(c.commandRequestId??=s.requestId),c}}var Zk=e=>new TextEncoder().encode(JSON.stringify(e)).length,HF=16384;function GF(e,t){let r=0,i,o=m=>{i={config:structuredClone(m),until:Date.now()+3e4}},a=[],s=null,c;function u(){if(!t())throw new G("NOT_IDENTIFIED","Call identify before using Features or events")}function l(){c||!a.length||(c=setTimeout(()=>{c=void 0,p().catch(()=>{}).finally(l)},5e3),typeof c=="object"&&"unref"in c&&c.unref())}function d(m,g={},S={}){if(u(),i&&Date.now()<i.until&&!DL(i.config,m))return;h();let v=oe.trackEvents.request.parse({events:[{eventUuid:crypto.randomUUID(),timestamp:new Date().toISOString(),name:m,properties:g,...S}]}).events[0];if(Zk({events:[v]})>HF)throw new G("INVALID_REQUEST","Event exceeds the delivery size limit");if(a.length>=500)throw new G("EVENT_QUEUE_FULL","Flush pending events before tracking more");a.push(structuredClone(v)),l()}async function p(m=!1){if(u(),s)return s;let g=r,S=(async()=>{let v={inserted:0,duplicates:0,rejected:0,skipped:0},_=a.length;for(;_&&g===r;){let P=[],E=Zk({events:[]});for(let U of a.slice(0,Math.min(_,100))){let j=Zk(U)+(P.length?1:0);if(P.length&&E+j>HF)break;P.push(U),E+=j}let D=oe.trackEvents,L=await xd(e,D,{events:P},void 0,{keepalive:m});if(g!==r)throw new G("IDENTITY_CHANGED","Event identity changed during delivery");if(L.inserted+L.duplicates+L.rejected+L.skipped!==P.length)throw new G("INVALID_RESPONSE","Incomplete event acknowledgement");o(L.analyticsConfig),a.splice(0,P.length),_-=P.length,v.inserted+=L.inserted,v.duplicates+=L.duplicates,v.rejected+=L.rejected,v.skipped+=L.skipped}return v})();s=S;try{return await S}finally{s===S&&(s=null)}}let f;function h(){if(f||typeof document>"u")return;let m=()=>{document.visibilityState==="hidden"&&t()&&a.length&&p(!0).catch(()=>{})};document.addEventListener("visibilitychange",m),f=()=>document.removeEventListener("visibilitychange",m)}return{rememberConfiguration:o,track:d,flush:p,reset(){r++,i=void 0,clearTimeout(c),c=void 0,a=[],s=null},detachVisibility(){f?.(),f=void 0}}}mn();mn();function KF(e){let t=null,r=null,i=0,o=0,a=new Set,s=null,c=null,u=new Set,l=()=>{for(let v of u)try{v()}catch{}},d={attributes:rn.parse(e.attributes??{}),onFeatureUsage:e.onFeatureUsage?(v,_)=>{!a.has(v)&&(!t||!("analyticsConfig"in t)||t.analyticsConfig.featureUsageEnabled)&&e.onFeatureUsage(v,structuredClone(_),structuredClone(d.attributes))}:void 0,onExperimentViewed:e.onExperimentViewed?(v,_)=>(!t||!("analyticsConfig"in t)||t.analyticsConfig.experimentViewsEnabled)&&e.onExperimentViewed(structuredClone(v),structuredClone(_),structuredClone(d.attributes)):void 0,stickyBucketAssignmentDocs:structuredClone(e.stickyBucketAssignmentDocs),saveStickyBucketAssignmentDoc:e.saveStickyBucketAssignmentDoc?v=>e.saveStickyBucketAssignmentDoc(structuredClone(v)):void 0,trackedFeatureUsage:{},trackedExperiments:new Set},p=()=>({value:null,source:"unknownFeature",on:!1,off:!0,ruleId:""});function f(v,_=new Set){return a.has(v)?!s||!s.features[v]||["unknownFeature","cyclicPrerequisite"].includes(s.features[v].source):_.has(v)?!1:(_.add(v),(t?.features[v]?.rules??[]).some(P=>[...P.parentConditions??[],...(P.tracks??[]).flatMap(E=>E.experiment.parentConditions??[])].some(E=>f(E.id,_))))}let h=v=>{if(e.assertUsable?.(t?.generation),!t)throw new Error("Initialize the Feature client before evaluation");if(t.expiresAt&&Date.parse(t.expiresAt)<=Date.now())throw new Error("Feature configuration expired; refresh before evaluation");return s?.expiresAt&&Date.parse(s.expiresAt)<=Date.now()&&(s=null,d.features=t.features),a.has(v)?!s||s.expiresAt&&Date.parse(s.expiresAt)<=Date.now()?p():structuredClone(s.features[v]??p()):e.evaluateRemote&&(d.attributes?.merchandise||d.attributes?.merchandiseId)&&!s||f(v)?p():structuredClone(Ni(v,d))};async function m(){if(!t||!a.size&&!d.attributes?.merchandise&&!d.attributes?.merchandiseId)return;if(!e.evaluateRemote){if(a.size)throw new Error("Remote Feature evaluation requires a server loader");return}let v=o;if(c?.revision===v)return c.loading;let _=i,P=t,E=[...a],D=(async()=>{let L=kh.parse(await e.evaluateRemote({attributes:structuredClone(d.attributes),features:E}));if(!(_!==i||v!==o||P!==t)){if(e.assertUsable?.(P.generation),L.generation!==P.generation)throw new Error("Feature configuration changed; refresh before evaluation");if(E.some(U=>!Object.hasOwn(L.features,U))||Object.keys(L.features).some(U=>!a.has(U)))throw new Error("Invalid remote Feature results");if(d.attributes?.merchandise||d.attributes?.merchandiseId){if(!L.merchandiseContext)throw new Error("Server did not resolve merchandise context");d.attributes=rn.parse({...d.attributes,...L.merchandiseContext})}s=structuredClone(L),d.features={...P.features,...Object.fromEntries(Object.entries(s.features).map(([U,j])=>[U,{defaultValue:j.value}]))},l()}})();c={revision:v,loading:D};try{await D}finally{c?.loading===D&&(c=null)}}function g(){m().catch(v=>{try{e.onError?.(v)}catch{}})}async function S(){if(r)return r;let v=i,_=(async()=>{let P=await e.load(),E="remoteFeatures"in P?Yl.parse(P):null,D=E??Dr.parse(P);if(D.scope.projectId!==e.scope.projectId||D.scope.environment!==e.scope.environment)throw new Error("Feature payload scope changed");if(v!==i)throw new Error("Feature client was reset");if(e.assertUsable&&t?.generation===D.generation){let{evaluatedAt:U,expiresAt:j,...V}=t,{evaluatedAt:T,expiresAt:W,...z}=D;if(En(V)!==En(z))throw new Error("Immutable Feature generation changed content");return t.evaluatedAt=D.evaluatedAt,t.expiresAt=D.expiresAt,l(),(!s||s.expiresAt&&Date.parse(s.expiresAt)<=Date.now())&&g(),structuredClone(t)}let L=new Set(E?.remoteFeatures??[]);if([...L].some(U=>Object.hasOwn(D.features,U)))throw new Error("Remote Feature definitions must not be delivered locally");return t&&"analyticsConfig"in t&&"analyticsConfig"in D&&!t.analyticsConfig.experimentViewsEnabled&&E?.analyticsConfig.experimentViewsEnabled&&d.trackedExperiments?.clear(),t=structuredClone(D),a=L,s=null,c=null,o++,d.features=t.features,d.savedGroups=nc(t.savedGroups),d.trackedFeatureUsage={},l(),g(),structuredClone(t)})();r=_;try{return await _}finally{r===_&&(r=null)}}return{init:S,refresh:S,refreshRemote:m,get generation(){return t?.generation??null},get expiresAt(){return t?.expiresAt??null},subscribe(v){return u.add(v),()=>{u.delete(v)}},setAttributes(v){let _=rn.parse(v);(d.attributes?.merchandise||d.attributes?.merchandiseId||v.merchandise||v.merchandiseId)&&d.trackedExperiments?.clear(),d.attributes=_,o++,s=null,c=null,d.features=t?.features??{},d.trackedFeatureUsage={},l(),g()},evalFeature:h,isOn(v){return h(v).on},isOff(v){return h(v).off},getFeatureValue(v,_){let P=h(v).value;return structuredClone(P===null?_:P)},reset(){i++,o++,r=null,c=null,t=null,s=null,a.clear(),d.features={},d.savedGroups={},d.stickyBucketAssignmentDocs={},d.attributes={},d.trackedFeatureUsage={},d.trackedExperiments?.clear(),l()}}}Sr();function WF(e){let t=e.merchandise;if(typeof e.merchandiseId=="string")return{internalId:e.merchandiseId};if(!(!t||typeof t!="object"||Array.isArray(t))){if(typeof t.internalId=="string")return{internalId:t.internalId};if(typeof t.externalId=="string")return{id:t.externalId};if(typeof t.id=="string")return{id:t.id}}}function UW(e){let t=WF(e),{merchandiseId:r,merchandise:i,...o}=e;return{...o,...t?{merchandise:t}:{}}}function JF(e,t,r,i,o){if(o&&i&&(o.scope.projectId!==i.projectId||o.scope.environment!==i.environment))throw new G("SCOPE_MISMATCH","Configuration belongs to another App/environment");let a=0,s=new Set;function c(){if(!t())throw new G("NOT_IDENTIFIED","Call identify before using Features or events")}async function u(l={}){o||c();let d=a,p=!1,f=async()=>{if(p||d!==a)throw new G("IDENTITY_CHANGED","Feature identity changed");let T=oe.getFeatures,W=o?{scope:{projectId:o.scope.projectId,environment:o.scope.environment},payload:await o.features()}:await xd(e,T,{});if(d!==a)throw new G("IDENTITY_CHANGED","Feature identity changed");if(i&&(W.scope.projectId!==i.projectId||W.scope.environment!==i.environment))throw new G("INVALID_RESPONSE","Feature response scope changed");return r.rememberConfiguration(W.payload.analyticsConfig),W},h=await f(),m=!0,g,S=T=>{try{l.onError?.(T)}catch{}},v=(T,W,z)=>{try{let $=WF(z);r.track(T,W,$?{merchandise:$}:{})}catch($){S($)}},_=KF({assertUsable:o?.assertFeatures,scope:h.scope,attributes:l.attributes,onError:l.onError,load:async()=>m?(m=!1,h.payload):(await f()).payload,evaluateRemote:async T=>{if(d!==a)throw new G("IDENTITY_CHANGED","Feature identity changed");let W=oe.evaluateFeatures,z=await xd(e,W,{...T,attributes:UW(T.attributes)});if(z.scope.projectId!==h.scope.projectId||z.scope.environment!==h.scope.environment)throw new G("INVALID_RESPONSE","Remote Feature response scope changed");return{generation:z.generation,evaluatedAt:z.evaluatedAt,expiresAt:z.expiresAt,features:z.features,...z.merchandiseContext?{merchandiseContext:z.merchandiseContext}:{}}},onExperimentViewed:(T,W,z)=>v("Experiment Viewed",{experimentId:T.key,variationId:W.key},z),onFeatureUsage:(T,W,z)=>v("Feature Evaluated",{feature:T,value:W.value,source:W.source,ruleId:W.ruleId,...W.experimentResult?{variationId:W.experimentResult.key}:{}},z)}),P=_.refresh;function E(){clearTimeout(g),!o&&(p||d!==a||!_.expiresAt||(g=setTimeout(()=>{D().catch(S)},Math.min(2147483647,Math.max(1e3,Date.parse(_.expiresAt)-Date.now()))),typeof g=="object"&&"unref"in g&&g.unref()))}async function D(){try{return await P()}finally{E()}}let L=()=>{p||D().catch(S)},U=_.subscribe(E),j=o?.subscribe(()=>{!p&&o.fresh&&D().catch(S)});function V(){p||(p=!0,clearTimeout(g),typeof window<"u"&&window.removeEventListener("focus",L),U(),j?.(),_.reset(),s.delete(V))}s.add(V);try{await _.init(),(l.attributes?.merchandise||l.attributes?.merchandiseId)&&await _.refreshRemote()}catch(T){throw V(),T}return E(),!o&&typeof window<"u"&&window.addEventListener("focus",L),Object.assign(_,{refresh:D,destroy:V})}return{features:u,reset(l){a++,l();for(let d of s)d()}}}Sr();async function QF(e,t,r){let i={features:"getFeatures","features/evaluate":"evaluateFeatures",events:"trackEvents"},o=!1,a=async(l,d={})=>{if(o||!i[l])throw new G("IDENTITY_CHANGED","Feature session is unavailable");return e("featureOperation",{operation:i[l],input:d})},s=GF(a,()=>!o),c=JF(a,()=>!o,s,ct.parse(t)),u=await c.features({attributes:n.record(n.string(),Ne).parse(r??{})});return{async call(l){if(o)throw new G("IDENTITY_CHANGED","Feature session is unavailable");let d=n.strictObject({method:n.enum(["evalFeature","isOn","isOff","getFeatureValue","setAttributes","refresh","flush"]),key:n.string().min(1).max(255).optional(),fallback:Ne.optional(),attributes:n.record(n.string(),Ne).optional()}).parse(l);switch(d.method){case"refresh":return await u.refresh(),null;case"flush":return await s.flush(),null;case"setAttributes":return u.setAttributes(d.attributes??{}),await u.refreshRemote(),null;case"evalFeature":{let{value:p,source:f,on:h,off:m,ruleId:g,experimentResult:S}=u.evalFeature(n.string().parse(d.key));return Q_.parse({value:p,source:f,on:h,off:m,ruleId:g,...S?{experimentResult:S}:{}})}case"isOn":return u.isOn(n.string().parse(d.key));case"isOff":return u.isOff(n.string().parse(d.key));case"getFeatureValue":return u.getFeatureValue(n.string().parse(d.key),d.fallback??null)}},refresh:()=>u.refresh(),destroy(){o||(o=!0,c.reset(s.reset),s.detachVisibility())}}}mn();Q();mn();Q();za();Sr();OP();Ny();dV();cg();var TP=new WeakMap;function hV(e){let t={string:n.string(),number:n.number().finite(),boolean:n.boolean(),strings:n.array(n.string()),json:Ne}[e.type];return e.nullable?t.nullable():t}async function gV(e,t){return kee(e,t,!1)}async function kee(e,t,r){t.signal?.throwIfAborted();let i=Ea.parse(t.content),o=i.document;if(TP.has(e))throw new G("CONFLICT","Content is already mounted in this container");let a=n.record(n.string(),Ne).parse(t.inputs??{});if(Object.keys(a).length>40)throw new G("INVALID_REQUEST","Too many content inputs");for(let[T,W]of Object.entries(a))Gn.parse({[T]:W});if(Object.keys(a).some(T=>!Object.hasOwn(o.contract.inputs,T)))throw new G("INVALID_REQUEST","Undeclared content input");for(let[T,W]of Object.entries(o.contract.inputs))if(Object.hasOwn(a,T))hV(W).parse(a[T]);else if(W.required)throw new G("INVALID_REQUEST",`Missing content input ${T}`);for(let T of Object.keys(o.contract.outputs))if(typeof t.actions[T]!="function")throw new G("INVALID_REQUEST",`Missing host handler for ${T}`);let s=kc.parse(t.bindings??[]),c=e.ownerDocument,u,l=o.kind==="popup",d=l?c.createElement("dialog"):null,p=c.createElement("div");if(p.dataset.indianaContent=o.kind,p.setAttribute("aria-label",o.name),p.style.cssText="width:100%;min-width:0",d){d.setAttribute("aria-label",o.name);let T=o.screen.presentation;d.style.cssText="box-sizing:border-box;padding:0;border:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto",T.type==="modal"||T.type==="sheet"?(d.style.width=`${ih[T.size]}px`,T.type==="sheet"&&(d.style.margin="auto auto 0")):d.style.width="100vw",d.append(p),e.append(d)}else e.append(p);let f=!1,h=!1,m=!1;r&&!d&&(p.style.width=`${e.getBoundingClientRect().width||c.defaultView?.innerWidth||800}px`);let g=r?lV(d??p):()=>{},S,v,_=new Promise((T,W)=>{S=T,v=W});_.catch(()=>{});let P=null,E=structuredClone(o.screen);E.actions=E.actions.map(T=>T.type==="event"?{...T,close:!1}:T);let D;function L(){f||(f=!0,t.signal?.removeEventListener("abort",L),v(new Error("Content preparation cancelled")),D?.destroy(),d?.close(),d?.remove(),p.remove(),TP.delete(e),d&&u?.())}let U=()=>{m&&(L(),nt(t.onDismiss))};if(d){let T=c.createElement("button");T.type="button",T.textContent="\xD7",T.setAttribute("aria-label",t.locale?.startsWith("zh")?"\u5173\u95ED":"Close"),ez(T,o.screen.theme),T.addEventListener("click",U),d.prepend(T)}d?.addEventListener("cancel",T=>{T.preventDefault(),U()});async function j(){if(f||!m||h||!P)return;let T=P;h=!0,p.setAttribute("aria-busy","true");try{await t.actions[T.actionId](structuredClone(T)),P=null}catch(W){nt(t.onError,W)}finally{h=!1,f||p.removeAttribute("aria-busy")}}function V(){if(f)throw new G("CONFLICT","Content host has been destroyed");m||(u=Md(c),g(),r&&!d&&(p.style.width="100%"),d&&(d.showModal(),Lc(d,o.screen.presentation.type)),m=!0)}try{r||V(),D=Dy(p,{mode:"live",rendererUrl:t.rendererUrl,title:o.name,viewportHeight:o.kind==="page"?e.clientHeight||c.defaultView?.innerHeight||800:void 0,onRendered:z=>{z&&d?.setAttribute("aria-label",z),S()},onError:z=>{let $=new Error(z);v($),nt(t.onError,$)},onEscape:l?U:void 0,onAction:(z,$,H)=>{if(f||!m||h||P)return;let ne=o.screen.actions.find(R=>R.id===z),M=o.contract.outputs[z];if(!(ne?.type!=="event"||!M))try{let R=hV(M).parse(Object.hasOwn(ne.properties,"value")?ne.properties.value:ne.properties);P={requestId:crypto.randomUUID(),contentVersionId:i.id,actionId:z,event:ne.event,value:R,selection:$??{},answers:H??{},requestedClose:ne.close},j()}catch(R){nt(t.onError,R)}}});let T={destroy:L,show:V,get pendingAction(){return P?structuredClone(P):null},retryAction:j,updateCapabilities:z=>D?.updateCapabilities(z)};TP.set(e,T),t.signal?.addEventListener("abort",L,{once:!0}),t.signal?.aborted&&(L(),t.signal.throwIfAborted());let W=dc(E,[t.locale,...c.defaultView?.navigator.languages??[]]);if(D.update(E,W,{capabilities:t.capabilities,serverInput:{bindings:s,answers:{},values:a}}),await Promise.race([D.ready,_]),r&&await _,f)throw new Error("Content preparation cancelled");return T}catch(T){throw L(),T}}async function yV(e){let t=n.strictObject({content:Ea,locale:n.string().min(1).max(35),inputs:n.record(n.string(),Ne)}).parse(await e("content"));return{destroy:(await gV(document.body,{...t,rendererUrl:"bundled",actions:Object.fromEntries(Object.keys(t.content.document.contract.outputs).map(i=>[i,o=>e("contentAction",o)])),onDismiss:()=>{e("dismiss").catch(()=>{})},onError:()=>{e("error").catch(()=>{})}})).destroy,refresh:async()=>{}}}mn();Sr();zo();function bV(e,t){let r=structuredClone(e);for(let[i,o]of Object.entries(r.plans)){let a=t.plans[i];!a||a.versionId!==o.versionId||(a.amountMinor!==void 0&&(o.amountMinor=a.amountMinor),a.interval!==void 0&&(o.interval=a.interval),a.intervalCount!==void 0&&(o.intervalCount=a.intervalCount),a.prepaid!==void 0&&(o.prepaid=structuredClone(a.prepaid)))}return r}function jy(e,t){let r=i=>"document"in i?i.offering.id:i.content.offeringVersionId;return e.id===t.id&&r(e)===r(t)&&e.content?.artifact.sha256===t.content?.artifact.sha256}function $y(e,t,r){if(e.operationId!==t.operationId||t.currency!==void 0&&e.currency!==t.currency)throw new G("INVALID_RESPONSE",r)}function Ly(e,t,r){let i=Object.fromEntries((e.lines[0]?.prepaid??[]).map(o=>[o.internal_feature_id,o.quantity]));if(t.featureQuantities&&(Object.keys(i).length!==Object.keys(t.featureQuantities).length||Object.entries(t.featureQuantities).some(([o,a])=>i[o]!==a)))throw new G("INVALID_RESPONSE","The purchase quote changed its selected quantities");if(e.lines.length!==1||e.lines[0].productVersionId!==t.productVersionId||t.currency!==void 0&&e.currency!==t.currency||t.provider!==void 0&&e.provider!==t.provider&&!(t.provider==="stripe"&&e.provider==="merchant"&&e.execution?.provider==="merchant"))throw new G("INVALID_RESPONSE",r)}function My(e,t,r=!1){return!e||e.operationId!==t?.operationId?t:e.status==="complete"&&t.status!=="complete"||e.status!=="pending"&&(t.status==="pending"||r&&t.status!=="complete")?e:t}async function AV(e){let t=null,r=null,i=null,o=!1,a=async(l,d={})=>{if(o)throw new G("CLOSED","Paywall is closed");let p=await e({operation:l,input:d});if(o)throw new G("IDENTITY_CHANGED","Paywall identity changed");return p};async function s(){let l=Ro.parse(await a("resolve"));if(t&&(!jy(l,t)||l.paywallId!==t.paywallId))throw new G("INVALID_RESPONSE","Pinned Paywall changed");return t=l,structuredClone(l)}async function c(l){if(!r)throw new G("INVALID_REQUEST","A quote is required");let d=r,p=ko.parse(await a(l));return $y(p,d,"Purchase identity changed"),r?.operationId!==d.operationId?structuredClone(p):(i=My(i,p),structuredClone(i))}let u={get view(){return t&&structuredClone(t)},get quote(){return r&&structuredClone(r)},get operation(){return i&&structuredClone(i)},webViewUrl:"bundled",refresh:s,async preview(l){let d=t?.document.buttons[l.actionId],p=t&&d?.type==="checkout"&&Fi(d.product,l.selection,t.capabilities);if(!p)throw new G("PRODUCT_UNAVAILABLE","Choose an available Product");let f=Tc(t.document.screen,p,l.selection,t.capabilities),h=Io.parse(await a("preview",{actionId:l.actionId,productVersionId:p,...Object.keys(f).length?{featureQuantities:f}:{},requestId:l.requestId,...l.offerId?{offerId:l.offerId}:{},...l.nativeOffer?{nativeOffer:l.nativeOffer}:{}}));return Ly(h,{productVersionId:p,featureQuantities:f},"Quoted Product changed"),r?.operationId!==h.operationId&&(i=null),r=h,structuredClone(h)},confirm:()=>c("confirm"),cancel:()=>c("cancel"),read:()=>c("read"),destroy(){o=!0,t=null,r=null,i=null}};return await s(),u}jP();cg();mn();Sr();function wV(e){let t=e.view;if(!t?.paywall)throw new G("INVALID_REQUEST","The current node is not a Paywall");let r=t.paywall.receiptId,i=t.nodeId,o=t.visit,a=t.paywall.resolution,s=t.paywall,c="document"in a?{document:a.document,offering:a.offering,capabilities:a.capabilities}:null;function u(){let j=s.resolution;return"document"in j?j:c&&{...j,document:c.document,offering:c.offering,capabilities:bV(j.capabilities,c.capabilities)}}function l(j){if(!jy(j,a))throw new G("INVALID_RESPONSE","The pinned Paywall binding changed")}let d=!1,p=new AbortController,f=t.paywall.purchaseRequestId,h=0,m=null,g=new Map;function S(j){if(j.purchase&&j.purchase.receiptId!==r)throw new G("INVALID_RESPONSE","Purchase receipt changed");let V=j.run.paywall;return j.purchase??(V?.receiptId===r?V:null)}function v(){if(d)throw new G("IDENTITY_CHANGED","Paywall presentation has closed")}function _(j,V,T){if(v(),V!==h||T!==void 0&&s.quote?.operationId!==T)return!1;let W=s.selectionGeneration??0,z=j.run.paywall;if(z?.receiptId===r){if((z.selectionGeneration??0)<(s.selectionGeneration??0))return!1;l(z.resolution)}let $=S(j),H=z?.receiptId===r&&(z.selectionGeneration??0)>W,ne=H?$?.quote??null:$?.quote??s.quote,M=$?.operation??(ne?.operationId===s.quote?.operationId?s.operation:null);return ne&&M&&$y(M,{operationId:ne.operationId},"Purchase operation changed"),(H||ne?.operationId!==s.quote?.operationId)&&(h++,z?.receiptId===r&&(f=z.purchaseRequestId)),s={...s,...z?.receiptId===r?z:{},quote:ne,operation:My(s.operation,M,!0)},!0}function P(j,V,T){return new Promise((W,z)=>{let $=!1,H=()=>{clearTimeout(Z),p.signal.removeEventListener("abort",R)},ne=be=>{$||($=!0,H(),W(be))},M=be=>{$||($=!0,H(),z(be))},R=()=>M(new G("IDENTITY_CHANGED","Paywall presentation has closed")),Z=setTimeout(()=>M(new G("COMMAND_PENDING","The purchase command is still pending; retry the original request",202,T)),Math.max(0,V-Date.now()));p.signal.addEventListener("abort",R,{once:!0}),p.signal.aborted&&R(),j.then(ne,M)})}function E(j){return new Promise(V=>{let T=()=>{clearTimeout(W),p.signal.removeEventListener("abort",T),V()},W=setTimeout(T,j);p.signal.addEventListener("abort",T,{once:!0}),p.signal.aborted&&T()})}function D(j,V){v();let T=g.get(j)??e.pendingCommands?.find($=>$.requestId===j)??e.pendingCommand;if(T?.operation==="submit"&&T.requestId===j&&T.nodeId===i&&T.visit===o){V.type==="paywall_quote"&&T.input.type==="paywall_quote"&&T.input.predecessor&&!V.predecessor&&(V={...V,predecessor:T.input.predecessor});let $=pn.parse(T),H=pn.parse({...T,input:V});if($.operation!=="submit"||H.operation!=="submit"||JSON.stringify($.input)!==JSON.stringify(H.input))throw new G("CONFLICT","A purchase request cannot change its input");return g.set(j,$),$}let W=e.view;if(!W||W.nodeId!==i||W.visit!==o||W.paywall?.receiptId!==r)throw new G("PRECONDITION_FAILED","The Paywall visit has changed");let z=pn.parse({operation:"submit",requestId:j,nodeId:i,visit:o,revision:W.revision,input:structuredClone(V)});if(z.operation!=="submit")throw new G("INVALID_REQUEST","A purchase submission is required");return g.set(j,z),z}async function L(j,V){v();let{requestId:T,input:W}=j,z=Date.now()+3e4,$=await P(e.submit(j),z,T);for(;$.run.pendingRequest?.requestId===T&&Date.now()<z&&!d&&(await E(Math.min(1e3,z-Date.now())),!(d||Date.now()>=z));)$=await P(e.resume(T),z,T);if(d)throw new G("IDENTITY_CHANGED","Paywall presentation has closed");if($.run.pendingRequest?.requestId===T)throw new G("COMMAND_PENDING","The purchase command is still pending; retry the original request",202,T);if(!_($,V,W.type==="paywall_confirm"||W.type==="paywall_cancel"?W.operationId:void 0))throw new G("PRECONDITION_FAILED","The purchase selection has changed")}async function U(j){if(!s.quote)throw new G("INVALID_REQUEST","A quoted purchase is required");let V=j==="confirm"?"paywall_confirm":"paywall_cancel",T=[...g.values(),...e.pendingCommands??(e.pendingCommand?[e.pendingCommand]:[])].find(z=>z.operation==="submit"&&z.input.type===V&&"operationId"in z.input&&z.input.operationId===s.quote.operationId),W=T?.operation==="submit"&&T.input.type===V&&"operationId"in T.input&&T.input.operationId===s.quote.operationId?T.requestId:crypto.randomUUID();if(await L(D(W,{type:j==="confirm"?"paywall_confirm":"paywall_cancel",operationId:s.quote.operationId}),h),!s.operation)throw new G("INVALID_RESPONSE","The accepted purchase result is missing");return structuredClone(s.operation)}return{get view(){return structuredClone(u())},get quote(){return s.quote?structuredClone(s.quote):null},get operation(){return s.operation?structuredClone(s.operation):null},get webViewUrl(){return e.webViewUrl},get canReselect(){return s.canReselect===!0},async refresh(){v();let j=h,V=await e.get();if(_(V,j),V.run.paywall?.receiptId!==r)throw new G("PRECONDITION_FAILED","Paywall presentation has changed");if(!u()){if("document"in s.resolution||!e.resolvePaywall)throw new G("INVALID_RESPONSE","Public Paywall reader is unavailable");let T=await e.resolvePaywall(s.resolution);v(),l(T),c={document:T.document,offering:T.offering,capabilities:T.capabilities}}return structuredClone(u())},preview(j){let V=u();if(!V)return Promise.reject(new G("PRECONDITION_FAILED","Load the Paywall presentation first"));if(f&&f!==j.requestId&&(m||s.canReselect!==!0))return Promise.reject(new G("COMMAND_PENDING","Retry the original purchase before starting another"));let T=V.document.buttons[j.actionId],W=T?.type==="checkout"?Fi(T.product,j.selection,V.capabilities):null;if(!W)return Promise.reject(new G("PRODUCT_UNAVAILABLE","Choose an available Product in this purchase area"));let z=Tc(V.document.screen,W,j.selection,V.capabilities),$=f!==j.requestId&&(s.selectionGeneration??0)>0?{operationId:s.quote?.operationId??null,generation:s.selectionGeneration??0}:void 0;if($&&s.canReselect!==!0)return Promise.reject(new G("COMMAND_PENDING","Original purchase requires authoritative termination"));let H;try{H=D(j.requestId,{type:"paywall_quote",actionId:j.actionId,productVersionId:W,...Object.keys(z).length?{featureQuantities:z}:{},...$?{predecessor:$}:{},...j.offerId?{offerId:j.offerId}:{},...j.nativeOffer?{nativeOffer:j.nativeOffer}:{}})}catch(R){return Promise.reject(R)}if(f===j.requestId&&m)return m;f!==j.requestId&&h++;let ne=h;f=j.requestId;let M=(async()=>{if(await L(H,ne),!s.quote)throw new G("INVALID_RESPONSE","The accepted quote is missing");return Ly(s.quote,{productVersionId:W,featureQuantities:z},"The selected purchase changed"),structuredClone(s.quote)})();return m=M,M.then(()=>{m===M&&(m=null)},R=>{m===M&&(m=null),f===j.requestId&&e.pendingCommand?.requestId!==j.requestId&&R instanceof G&&R.status!==void 0&&R.status<500&&![401,425].includes(R.status)&&(f=null)}),M},confirm:()=>U("confirm"),cancel:()=>U("cancel"),async read(){if(v(),!s.quote)throw new G("INVALID_REQUEST","A quoted purchase is required");let j=s.quote.operationId,V=h,T=e.pendingCommands?.find(H=>H.operation==="submit"&&(H.input.type==="paywall_confirm"||H.input.type==="paywall_cancel")&&H.input.operationId===j)??e.pendingCommand;T?.operation==="submit"&&(T.input.type==="paywall_confirm"||T.input.type==="paywall_cancel")&&T.input.operationId===j&&await e.settle?.(T.requestId);let W=await e.get(void 0,{receiptId:r,operationId:j});v();let z=S(W);if(z?.quote&&z.quote.operationId!==j||z?.operation&&z.operation.operationId!==j)throw new G("INVALID_RESPONSE","Purchase operation changed");let $=_(W,V,j)?s.operation:z?.operation;if(!$)throw new G("INVALID_RESPONSE","The current purchase result is missing");return structuredClone($)},destroy(){d=!0,p.abort(),g.clear()}}}Sr();za();zo();function _V(e){let t=new Set,r=new Set,i=null;function o(a){if(e.reviewing||t.has(a)||r.has(a)||e.stopped)return;r.add(a);let s=async()=>{if(e.reviewing||e.stopped||e.key!==a){r.delete(a);return}if(e.busy||e.client.pendingCommand){setTimeout(()=>{s()},250);return}let c=(async()=>{let l=e.client.view,d=e.expected(),p=d.requestId,f=!1;try{await e.client.submit({operation:"shown",...d})}catch(h){if(!(h instanceof G)||h.code!=="CONFLICT"||h.status!==409||e.client.pendingCommand)throw h;await e.client.get();let m=e.client.view;if(e.stopped||e.reviewing||e.key!==a||!m||!l||m.id!==l.id||m.source.versionId!==l.source.versionId||m.nodeId!==d.nodeId||m.visit!==d.visit||m.revision<=d.revision||m.stopped||!m.screen&&(!m.paywall||m.paywall.receiptId!==l.paywall?.receiptId)||!["running","waiting"].includes(m.status)||e.client.pendingCommand)throw h;let g=e.expected();p=g.requestId,await e.client.submit({operation:"shown",...g})}for(;!e.stopped&&e.key===a&&e.client.pendingCommand?.requestId===p;){if(!e.client.settle)throw new G("COMMAND_PENDING","The original display acknowledgement is still pending");await e.client.settle(p),f=!0,e.client.pendingCommand?.requestId===p&&await new Promise(h=>setTimeout(h,1500))}e.stopped||e.key!==a||(f&&await e.client.get(),!(e.stopped||e.key!==a)&&t.add(a))})();i=c;let u=()=>{i===c&&(i=null),r.delete(a)};c.then(u,l=>{u(),e.busy||e.fail(l)})};s()}return{report:o,get inFlight(){return i}}}mn();zo();function IV(e){let t={},r=new Map;async function i(o){let a=e.client.view,s=a?.screen,c=s?.customerData.nodes[o.nodeId];if(e.stopped||e.busy||!a||!s||!c)return;if(!["refresh","next","previous","filter","sources_next","sources_previous"].includes(o.action)){let m=e.document,g=m?Nn(m,o.nodeId):null,S=g?.type==="customer_data"?g.data.outputs?.[o.action]:void 0;S&&s.outputs.includes(S)?await e.perform(()=>e.client.submit({operation:"submit",...e.expected(),input:{type:"screen",output:S,answers:e.answers,selection:o.value?{[o.nodeId]:o.value}:{}}})):await e.onIntent?.(o,a);return}let l=o.action.startsWith("sources_")?c.resources.find(m=>m.key===o.value):null;if(o.action.startsWith("sources_")&&!l)throw new G("INVALID_REQUEST","Choose a current resource");let d=`${a.visit}:${o.nodeId}:${l?.key??""}`,p=r.get(d)??[null],h=t[o.nodeId]??{page:1,after:null,filter:"all",...l?{resourceKey:l.key}:{}};if(o.action==="filter"){let m=o.value;if(!m||!(c.source==="offer_history"?["all","issued","reserved","redeemed","expired","revoked"]:["all","purchase","refund","source","usage","debt","settlement"]).includes(m))throw new G("INVALID_REQUEST","Unknown data filter");h={page:1,after:null,filter:m},p.splice(0,p.length,null)}else if(o.action==="next"||o.action==="sources_next"){let m=l?.sources.at(-1),g=l?m?{kind:"ledger",cursor:{at:m.detail[0],id:m.id,type:"source"}}:null:s.dataCursors[o.nodeId];if(!g||!l&&!c.hasNext)return;p[h.page]=g,h={...h,page:h.page+1,after:g}}else if(o.action==="previous"||o.action==="sources_previous"){if(h.page<=1)return;h={...h,page:h.page-1,after:p[h.page-2]??null}}r.set(d,p),t={...t,[o.nodeId]:h},await e.perform(()=>e.client.get({nodeId:a.nodeId,visit:a.visit,revision:a.revision,components:t}))}return{get queries(){return t},intent:i,reset(){t={},r.clear()}}}zo();function kV(e){let{doc:t,holder:r,reviewHolder:i,mountScreenPreview:o}=e,a=!1,s,c=0,u=null,l="",d=new Map,p=m=>m?`${m.id}:${m.nodeId}:${m.visit}:${m.revision}:${m.paywall?.quote?.operationId??""}`:"";async function f(m){if(e.stopped||!e.client.review)return;a||(l=p(e.client.view),d.set(l,structuredClone(e.answers))),a=!0,s=m,r.hidden=!0,e.suspend(!0),i.hidden=!1;let g=++c;try{let S=await e.client.review(m);if(e.stopped||g!==c||!a)return;if(!S.review)throw new G("INVALID_RESPONSE","Historical projection is missing");u?.destroy(),u=null,i.replaceChildren();let v=S.run.locale.startsWith("zh"),_=t.createElement("p");_.textContent=v?"\u53EA\u8BFB\u56DE\u770B":"Read-only history",i.append(_);for(let[D,L]of S.review.pages.entries()){let U=t.createElement("button");U.type="button",U.textContent=v?`\u7B2C ${D+1} \u9875`:`Page ${D+1}`,U.onclick=()=>{f(L.receiptId)},i.append(U)}if(S.review.page){let D=S.review.page,L=t.createElement("div");if(L.inert=!0,i.append(L),u=o(L,{mode:"live",rendererUrl:e.client.webViewUrl,title:D.document.name,onAction:()=>{},onAnswers:()=>{},onCustomerDataIntent:()=>{},onRendered:()=>{},onEscape:()=>{h()}}),u.update(D.document,S.run.locale,{serverInput:{bindings:D.inputs,answers:D.answers,values:D.values}}),await u.ready,e.stopped||g!==c||!a)return}let P=v?{issued:"\u5DF2\u9886\u53D6",reserved:"\u5DF2\u9884\u7559",redeemed:"\u5DF2\u4F7F\u7528",expired:"\u5DF2\u8FC7\u671F",revoked:"\u5DF2\u64A4\u9500",unknown:"\u72B6\u6001\u5F85\u786E\u8BA4"}:{issued:"Issued",reserved:"Reserved",redeemed:"Used",expired:"Expired",revoked:"Revoked",unknown:"Status unconfirmed"},E=v?{pending:"\u5904\u7406\u4E2D",complete:"\u5DF2\u5B8C\u6210",cancelled:"\u5DF2\u53D6\u6D88",failed:"\u5931\u8D25",unknown:"\u72B6\u6001\u5F85\u786E\u8BA4"}:{pending:"Processing",complete:"Completed",cancelled:"Cancelled",failed:"Failed",unknown:"Status unconfirmed"};for(let D of[...S.review.coupons.map((L,U)=>`${v?"\u4F18\u60E0\u5238":"Coupon"} ${U+1}: ${P[L.status]}`),...S.review.purchases.map((L,U)=>`${v?"\u8D2D\u4E70":"Purchase"} ${U+1}: ${E[L.status]}`)]){let L=t.createElement("p");L.textContent=D,i.append(L)}e.client.view&&await e.enqueue(e.client.view)}catch(S){if(g!==c||e.stopped)return;u?.destroy(),u=null,i.replaceChildren(),e.fail(S)}}async function h(){if(!a||e.stopped||!e.client.review)return;let m=++c;try{if(await e.client.review(),e.stopped||m!==c)return;a=!1,c++,u?.destroy(),u=null,i.replaceChildren(),i.hidden=!0,r.hidden=!1;let g=e.client.view;p(g)!==l?(d.set(l,structuredClone(e.answers)),e.resetScreen()):(d.delete(l),e.suspend(!1)),g&&await e.enqueue(g)}catch(g){if(m!==c||e.stopped)return;u?.destroy(),u=null,i.replaceChildren(),e.fail(g)}}return{get active(){return a},get receipt(){return s},open:f,exit:h,get drafts(){return new Map([...d].map(([m,g])=>[m,structuredClone(g)]))},stop(){a=!1,c++,u?.destroy(),u=null,i.replaceChildren(),i.hidden=!0,r.hidden=!1}}}Sl();var $P=new WeakMap;function EV(e,t=document){if(!/^[a-f0-9]{64}$/.test(e))throw new Error("Invalid IAM manifest digest");let r="data-indiana-release",i=t.documentElement,o=()=>new Set((i.getAttribute(r)??"").split(/\s+/).filter(Boolean)),a=$P.get(t);if(!a){let d=new Map,p=new MutationObserver(()=>{let f=o(),h=!1;for(let[m,g]of d)g.count&&!f.has(m)&&(f.add(m),h=!0);h&&i.setAttribute(r,[...f].join(" "))});p.observe(i,{attributes:!0,attributeFilter:[r]}),a={releases:d,observer:p},$P.set(t,a)}let{releases:s,observer:c}=a,u=s.get(e);if(!u){let d=o();u={count:0,owned:!d.has(e)},s.set(e,u),d.add(e),i.setAttribute(r,[...d].join(" "))}u.count++;let l=!1;return{attributes:{indianaAppManifestRelease:e},destroy(){if(!l&&(l=!0,u.count--,!u.count&&(s.delete(e),s.size||(c.disconnect(),$P.delete(t)),u.owned))){let d=o();d.delete(e),d.size?i.setAttribute(r,[...d].join(" ")):i.removeAttribute(r)}}}}za();var Fd=new Set,zy;function CV(e){let t=()=>e();if(Fd.add(t),!zy){let r=!0,i=history.pushState,o=history.replaceState,a=()=>{if(r)for(let u of[...Fd])Fd.has(u)&&nt(u)},s=function(...u){i.apply(this,u),a()},c=function(...u){o.apply(this,u),a()};history.pushState=s,history.replaceState=c,addEventListener("popstate",a),addEventListener("hashchange",a),zy=()=>{r=!1,history.pushState===s&&(history.pushState=i),history.replaceState===c&&(history.replaceState=o),removeEventListener("popstate",a),removeEventListener("hashchange",a)}}return()=>{Fd.delete(t)&&(Fd.size||(zy?.(),zy=void 0))}}var zd=new Map,Eee=new Set,PV=()=>{for(let e of[...Eee])e()};function OV(e,t){if(zd.has(e)&&zd.get(e)!==t)throw new Error("A different Funnel owns this page experiment");return zd.set(e,t),PV(),()=>{zd.get(e)===t&&(zd.delete(e),PV())}}za();function QV(e){if(!e.client.pageExperiments)throw new Error("The Run controller does not support page experiments");let t=e.client.pageExperiments.bind(e.client),r=!1,i=!1,o=0,a=!1,s=!1,c,u=new Map,l=new Set,d={},p=new Map,f=EV(e.appManifestRelease),h=()=>{for(let P of u.values())P.effect.revert();u.clear();for(let P of p.values())P();p.clear()};function m(P){if(r||l.has(P))return;l.add(P);let E=o;t(e.appManifestRelease,[P]).catch(D=>{l.delete(P),!r&&E===o&&nt(e.onError,D)})}async function g(){if(r)return;let P=e.client.view;if(!P||P.stopped||!["running","waiting"].includes(P.status)){o++,h();return}if(a){s=!0;return}a=!0;let E=++o,D=`${P.id}:${P.visit}:${P.revision}`,L=location.href;try{let[U,{applyVisualVariation:j}]=await Promise.all([t(e.appManifestRelease),Promise.resolve().then(()=>(JV(),WV))]),V=e.client.view;if(r||E!==o||!V||V.stopped||!["running","waiting"].includes(V.status)||`${V.id}:${V.visit}:${V.revision}`!==D||location.href!==L)return;let T=new Set,W=new Set;for(let z of U.assignments){let $=`${U.payload.environmentId}:${z.experimentKey}`;if(W.add($),p.has($)||p.set($,OV($,d)),!!z.inExperiment)for(let H of U.payload.experiments){if(H.key!==z.experimentKey||!Al(location.href,H.urlPatterns??[]))continue;let ne=H.meta?.findIndex(tt=>tt.key===z.variationKey)??-1,M=H.variations[ne];if(!M?.renderGuard)continue;let R=z.receiptId+":"+H.changeId,Z=JSON.stringify([z.variationKey,M]);T.add(R);let be=u.get(R);if(be?.signature===Z){be.effect.applied&&m(z.receiptId);continue}u.get(R)?.effect.revert(),u.delete(R);let Fe=j(M,{requireUniqueTargets:!0,boundVariations:H.variations,allowJs:!1,onApplied:()=>m(z.receiptId),onError:tt=>nt(e.onError,tt)});u.set(R,{signature:Z,effect:Fe}),Fe.applied&&m(z.receiptId)}}for(let[z,$]of u)T.has(z)||($.effect.revert(),u.delete(z));for(let[z,$]of p)W.has(z)||($(),p.delete(z))}catch(U){E===o&&h(),!r&&E===o&&nt(e.onError,U)}finally{a=!1,s&&!r&&(s=!1,g())}}let S=e.client.subscribe(()=>{o++,g()}),v=CV(()=>{o++,h(),g()}),_=async()=>{await g(),r||(c=setTimeout(()=>{_()},15e3))};return{async start(){i||r||(i=!0,await _())},refresh:g,destroy(){r=!0,o++,clearTimeout(c),S(),v(),h(),f.destroy()}}}async function e6(e,t){let r=t,{mountScreenPreview:i}=await Promise.resolve().then(()=>(DP(),NP)),{showPaywall:o}=await Promise.resolve().then(()=>(XV(),YV)),a=r.appManifestRelease?QV({client:r.client,appManifestRelease:r.appManifestRelease,onError:r.onError}):void 0;a?.start();let s=e.ownerDocument,c=s.activeElement,u=s.createElement("section"),l=s.createElement("div"),d=s.createElement("div"),p=s.createElement("div"),f=s.createElement("button");p.hidden=!0,f.type="button";let h=s.createElement("p"),m=s.createElement("p"),g=s.createElement("button"),S=s.createElement("button"),v=s.createElement("button"),_=s.createElement("dialog"),P;u.dataset.indianaFunnel="",u.setAttribute("aria-busy","false"),u.style.cssText="box-sizing:border-box;width:100%;min-width:0;font:14px/1.5 system-ui,sans-serif;color:#172033;background:#fff",d.style.cssText="display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 20px",h.setAttribute("role","status"),m.setAttribute("role","alert"),m.hidden=!0,g.type=S.type=v.type="button",d.append(g,h,m,v,f,S),u.append(l,p,d),e.append(u);let E=null,D=null,L=null,U="",j="",V="",T="",W="",z=!1,$=0,H=!1,ne="",M=null,R=Promise.resolve(),Z=null,be=null,Fe=new Set,tt={},re=(Y,De=null)=>{z||(be=De,m.textContent=Y instanceof Error?Y.message:"Request failed",m.hidden=!1,v.hidden=r.client.pendingCommand===null,nt(r.onError,Y))};function Le(){let Y=r.client.view;if(!Y)throw new G("INVALID_REQUEST","No current Run is available");return{requestId:crypto.randomUUID(),nodeId:Y.nodeId,visit:Y.visit,revision:Y.revision}}let Ce=kV({client:r.client,doc:s,holder:l,reviewHolder:p,mountScreenPreview:i,get stopped(){return z},get answers(){return tt},suspend(Y){D?.setSuspended(Y)},resetScreen(){U="",j="",V=""},enqueue:me,fail:re}),we=_V({client:r.client,expected:Le,fail:re,get stopped(){return z},get reviewing(){return Ce.active},get key(){return U},get busy(){return $}}),ot=IV({client:r.client,expected:Le,perform:rt,onIntent:r.onCustomerDataIntent,get stopped(){return z},get busy(){return $},get document(){return E?.document},get answers(){return tt}}),ze=Y=>Y&&(Y.screen||Y.paywall)?`${Y.id}:${Y.nodeId}:${Y.visit}`:"";function vt(){let Y=r.client.view;g.disabled=!Ce.active&&($>0||!!r.client.pendingCommand||!Y?.canBack||Y.stopped||!["running","waiting"].includes(Y.status)||!ze(Y)||j!==ze(Y))}async function rt(Y,De=!1){if(!($&&!De||z||Ce.active&&!De)){$++,u.setAttribute("aria-busy","true"),vt(),m.hidden=!0,be=null;try{if(!De&&we.inFlight){let Ke=r.client.view;await we.inFlight;let st=r.client.view;if(!Ke||!st||st.id!==Ke.id||st.nodeId!==Ke.nodeId||st.visit!==Ke.visit||st.stopped||!["running","waiting"].includes(st.status))throw new G("PRECONDITION_FAILED","The screen changed while its display was acknowledged")}if(z)return;let lt=await Y();z||await me(r.client.view??lt.run)}catch(lt){re(lt,r.client.pendingCommand?.requestId??null)}finally{$=Math.max(0,$-1),u.setAttribute("aria-busy",String($>0)),z||(v.hidden=r.client.pendingCommand===null,vt())}}}function at(){M&&clearTimeout(M),!(z||!L||!["running","waiting"].includes(L.status)&&!r.client.pendingCommand)&&(M=setTimeout(()=>{M=null,an().finally(at)},L.pendingRequest||r.client.pendingCommand?1500:5e3))}async function an(){if(!(z||H||$)){if(Ce.active){await Ce.open(Ce.receipt);return}H=!0;try{let Y=r.client.pendingCommand;Y&&r.client.settle&&await r.client.settle(Y.requestId);let De=r.client.view,lt=ot.queries,Ke=await r.client.get(De?.screen&&Object.keys(lt).length?{nodeId:De.nodeId,visit:De.visit,revision:De.revision,components:lt}:void 0);!z&<===ot.queries&&await me(r.client.view??Ke.run)}catch(Y){re(Y)}finally{H=!1}}}function ge(Y){let De=Y.screen?.presentation;if(!De||De.type==="inline"){_.open&&_.close(),u.parentElement!==e&&e.append(u);return}u.parentElement!==_&&(_.append(u),e.append(_));let lt={sm:420,md:640,lg:900};_.style.cssText=`padding:0;border:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;width:${"size"in De?lt[De.size]+"px":"100vw"}`,_.setAttribute("aria-label",(P?.screen===Y.screen?.content.document.name?P?.label:void 0)??E?.document?.name??Y.screen?.content.document.name??"Funnel"),_.open||(_.showModal(),Lc(_,De.type))}async function de(Y){if(z)return;L=Y,be&&r.client.pendingCommand?.requestId!==be&&(m.hidden=!0,be=null);let De=Y.locale.startsWith("zh");if(f.textContent=De?"\u56DE\u770B":"History",f.hidden=!r.client.review,g.textContent=Ce.active?De?"\u8FD4\u56DE\u5F53\u524D":"Return to current":De?"\u8FD4\u56DE":"Back",S.textContent=De?"\u5173\u95ED":"Close",v.textContent=De?"\u91CD\u8BD5":"Retry",vt(),v.hidden=r.client.pendingCommand===null,h.textContent=Y.pendingRequest?De?"\u6B63\u5728\u5904\u7406":"Processing":Y.instruction?.type==="wait"?De?"\u7B49\u5F85\u4E2D":"Waiting":"",ne!==`${Y.revision}:${Y.visit}:${Y.status}:${Y.stopped}`&&(ne=`${Y.revision}:${Y.visit}:${Y.status}:${Y.stopped}`,nt(r.onState,structuredClone(Y))),!Y.pendingRequest&&["closed","ineligible","failed"].includes(Y.status)){pt();return}if(Y.stopped||r.client.configurationReady===!1){Ce.stop(),E?.destroy(),E=null,D?.destroy(),D=null,l.replaceChildren(),U="",j="",V="",W="",_.open&&_.close(),u.hidden=!0,at();return}if(u.hidden=!1,Ce.active){at();return}let lt=ze(Y);if(lt!==U&&(j="",E?.destroy(),E=null,D?.destroy(),D=null,l.replaceChildren(),U=lt,V="",W="",tt={...Y.answers},ot.reset()),ge(Y),Y.screen){let st=Y.screen.content;E||(E=i(l,{mode:"live",rendererUrl:r.client.webViewUrl,title:st.document.name,onAction(Je,Tt={},lr={}){if(Ce.active)return;tt={...tt,...lr};let Ho=Object.fromEntries((Y.screen?.inputs??[]).filter(({variable:kr})=>Object.hasOwn(tt,kr)).map(({variable:kr})=>[kr,tt[kr]]));rt(()=>r.client.submit({operation:"submit",...Le(),input:{type:"screen",output:Je,answers:Ho,selection:Tt}}))},onAnswers:Je=>{Ce.active||(tt={...tt,...Je})},onCustomerDataIntent:Je=>{Ce.active||ot.intent(Je).catch(re)},onEscape:()=>{Ce.active||Ve()},onError:Je=>re(new Error(Je)),onRendered:Je=>{if(!Je)return we.report(lt);P={screen:st.document.name,label:Je},_.open&&_.setAttribute("aria-label",Je),we.report(lt)}}));let gt={capabilities:Y.screen.capabilities,customerData:Y.screen.customerData,parameters:Y.parameters,serverInput:{bindings:Y.screen.inputs,answers:tt,values:Y.screen.values}},hn=JSON.stringify([st,Y.locale,gt.parameters,Y.screen.inputs,Y.screen.values]);if(hn!==V)E.update(st.document,Y.locale,gt),V=hn,T=JSON.stringify(gt.capabilities),W=JSON.stringify(gt.customerData);else{let Je=JSON.stringify(gt.capabilities);Je!==T&&(E.updateCapabilities(gt.capabilities),T=Je),JSON.stringify(gt.customerData)!==W&&(E.updateCustomerData(gt.customerData),W=JSON.stringify(gt.customerData))}await E.ready}else if(Y.paywall&&!D){let st=await o(l,{canInteract:()=>!Ce.active&&!z,start:async()=>wV(r.client),onPurchase:r.onPurchase,onCheckoutUrl:r.onCheckoutUrl,resolveOfferId:r.resolveOfferId,onEvent:r.onEvent,onOpenUrl:gt=>r.onOpenUrl?r.onOpenUrl({receiptId:Y.paywall.receiptId,url:gt,openIn:"same_window"}):s.defaultView?.location.assign(gt),onAction:async gt=>{if(Ce.active)return;let hn=await r.client.submit({operation:"submit",requestId:crypto.randomUUID(),nodeId:Y.nodeId,visit:Y.visit,revision:Y.revision,input:{type:"screen",output:gt,answers:{}}});await me(r.client.view??hn.run)},onError:re,onDismiss:()=>{!Ce.active&&!z&&r.client.view?.visit===Y.visit&&Ve()}});z?st.host?.destroy():(D=st.host,D?.setSuspended(Ce.active)),we.report(lt)}if(z)return;j=lt,vt();let Ke=Y.instruction;if(Ke&&(Ke.type==="open_url"||Ke.type==="event")&&!Fe.has(Ke.receiptId)){let st=s.createElement("button");st.type="button",st.textContent=Ke.type==="open_url"?`${De?"\u524D\u5F80":"Continue to"} ${new URL(Ke.url).host}`:De?"\u7EE7\u7EED":"Continue",st.onclick=()=>{let gt=Le(),hn=Ke.type==="open_url"&&!r.onOpenUrl&&Ke.openIn==="new_window"?ve(Ke.url):null;rt(async()=>{let Je="success";if(Ke.type==="open_url")if(r.onOpenUrl)try{Je=await r.onOpenUrl({receiptId:Ke.receiptId,url:Ke.url,openIn:Ke.openIn})===!1?"failed":"opened"}catch(lr){nt(r.onError,lr),Je="failed"}else Je=Ke.openIn==="new_window"&&!hn?"failed":"opened";if(Ke.type==="event"){if(!r.onEvent)throw new G("EVENT_HANDLER_REQUIRED","Provide the event handler");await r.onEvent(Ke.event)}if(z||r.client.view?.nodeId!==gt.nodeId||r.client.view.visit!==gt.visit)throw new G("PRECONDITION_FAILED","The client action visit changed");let Tt=await r.client.submit({operation:"submit",...gt,input:{type:"client_action",receiptId:Ke.receiptId,outcome:Je}});return Fe.add(Ke.receiptId),Ke.type==="open_url"&&!r.onOpenUrl&&Ke.openIn==="same_window"&&s.defaultView?.location.assign(Ke.url),Tt})},l.replaceChildren(st)}!Y.pendingRequest&&Y.status==="completed"&&!Fe.has(`complete:${Y.id}`)&&(Fe.add(`complete:${Y.id}`),nt(r.onComplete,structuredClone(Y))),at()}function ve(Y){let De=s.defaultView?.open(Y,"_blank")??null;return De&&(De.opener=null),De}function me(Y){return vt(),R=R.catch(()=>{}).then(()=>de(Y)),R}let Pe=r.client.subscribe(Y=>{r.client.configurationReady===!1&&(u.hidden=!0,E?.destroy(),E=null,D?.destroy(),D=null,l.replaceChildren(),U="",j="",V="",W="",_.open&&_.close()),me(Y).catch(re)}),Ee=r.client.subscribeError?.(re);function Ve(){return Z||(z?Promise.resolve():r.client.view&&!["running","waiting"].includes(r.client.view.status)?(pt(),Promise.resolve()):(Z=rt(()=>r.client.submit({operation:"close",...Le()}),!0).then(()=>{r.client.view?.status==="closed"&&pt()}).finally(()=>{Z=null}),Z))}function pt(){a?.destroy(),!z&&(z=!0,M&&clearTimeout(M),Pe(),Ee?.(),E?.destroy(),Ce.stop(),D?.destroy(),_.close(),_.remove(),u.remove(),c instanceof HTMLElement&&c.isConnected&&c.focus(),nt(r.onDismiss,L?structuredClone(L):null))}g.onclick=()=>{if(!g.disabled){if(Ce.active){Ce.exit();return}rt(()=>r.client.submit({operation:"back",...Le()}))}},f.onclick=()=>{Ce.open()},S.onclick=()=>{Ve()},v.onclick=()=>{rt(()=>r.client.retry())},_.addEventListener("cancel",Y=>{Y.preventDefault(),Ve()});try{let Y=await r.client.get();await me(r.client.view??Y.run)}catch(Y){throw pt(),Y}return{destroy:pt,refresh:an,review:Ce.open,exitReview:Ce.exit,get unappliedDrafts(){return Ce.drafts}}}mn();Sr();Q();qk();Q();mn();var ite=n.record(n.string().regex(/^[a-f0-9]{64}$/),n.strictObject({at:n.number(),text:n.string()})),Wa=2*1048576,ote=100;function ate(){try{return typeof window>"u"?void 0:window.localStorage}catch{return}}function t6(e,t){let r=t===void 0?ate():t,i=new Map,o=0,a=!1,s=!1,c,u;async function l(p){if(!r)return null;let f;try{let h=await Promise.race([Promise.resolve().then(()=>r.getItem(p)),new Promise(m=>{f=setTimeout(()=>m(null),ote)})]);return typeof h=="string"&&h.length<=Wa&&new TextEncoder().encode(h).byteLength<=Wa?h:null}catch{return null}finally{clearTimeout(f)}}function d(){if(u)return u;let p=(async()=>{try{let f=await l(`${e}:artifacts`);if(f)return ite.parse(JSON.parse(f))}catch{}return{}})();return u=p,p.finally(()=>{u===p&&(u=void 0)}),p}return{async readManifest(){return l(e)},writeManifest(p){!r||p.length>Wa||new TextEncoder().encode(p).byteLength>Wa||(c=p,!s&&(s=!0,Promise.resolve().then(async()=>{try{for(;c!==void 0;){let f=c;try{await r.setItem(e,f)}catch{}c===f&&(c=void 0)}}finally{s=!1}})))},async readArtifact(p){let f=(await d())[p],h=Date.now();return f&&h>=f.at&&h-f.at<=$r.retentionMs?f.text:void 0},writeArtifact(p,f){if(!r||f.length>Wa)return;let h=i.get(p);if(h?.text===f||!h&&i.size>=128)return;let m=new TextEncoder().encode(f).byteLength;o-(h?.byteLength??0)+m>Wa||(i.set(p,{text:f,byteLength:m}),o+=m-(h?.byteLength??0),!a&&(a=!0,Promise.resolve().then(async()=>{try{for(;i.size;){let g=new Map(i);try{let S={...await d()},v=Date.now();for(let[D,L]of g)S[D]={at:v,text:L.text};let _={},P=2,E=0;for(let[D,L]of Object.entries(S).sort(([,U],[,j])=>j.at-U.at)){if(L.at>v||v-L.at>$r.retentionMs)continue;let U=new TextEncoder().encode(JSON.stringify({[D]:L})).byteLength;P+U>Wa||E>=128||(_[D]=L,P+=U,E++)}await r.setItem(`${e}:artifacts`,JSON.stringify(_))}catch{}finally{for(let[S,v]of g)i.get(S)===v&&(i.delete(S),o-=v.byteLength)}}}finally{a=!1}})))}}}qF();mn();async function ste(e,t,r){if(Number(e.headers.get("content-length"))>t)throw e.body?.cancel().catch(()=>{}),r.error("limit");let i=e.body?.getReader();if(!i)throw r.error("missing");let o=[],a=0,s=!1,c=()=>{},u=new Promise((p,f)=>{c=()=>f(r.signal?.reason),r.signal?.addEventListener("abort",c,{once:!0}),r.signal?.aborted&&c()});try{for(;;){let p=await Promise.race([i.read(),u]);if(p.done){s=!0;break}if(a+=p.value.length,a>t)throw r.error("limit");o.push(p.value)}}finally{r.signal?.removeEventListener("abort",c),s||i.cancel().catch(()=>{}),i.releaseLock()}r.signal?.throwIfAborted();let l=new Uint8Array(a),d=0;for(let p of o)l.set(p,d),d+=p.length;return l}async function n6(e,t,r){return new TextDecoder("utf-8",{fatal:!0}).decode(await ste(e,t,r))}function r6(e,t){let r=typeof e=="string"?new TextEncoder().encode(e):e;return r.byteLength===t.byteLength&&FI(r)===t.sha256}var Ge=(e,t)=>new G(e,t),Zo=()=>performance.now(),i6=e=>{typeof e=="object"&&"unref"in e&&e.unref()};function o6(e){let t=$I.parse(e.scope),r=new Fo(e.origin??BF);if(r.username||r.password||r.search||r.hash||r.pathname!=="/"||r.protocol!=="https:"&&!(r.protocol==="http:"&&["localhost","127.0.0.1","[::1]"].includes(r.hostname)))throw Ge("INVALID_URL","Configuration requires a trusted HTTPS origin");let i=new Set([r.origin,...(e.assetOrigins??[]).map(ge=>{let de=new Fo(ge);if(de.protocol!=="https:"||de.username||de.password||de.search||de.hash||de.pathname!=="/")throw Ge("INVALID_URL","Invalid configuration asset origin");return de.origin})]),o=e.fetch??globalThis.fetch.bind(globalThis),a=`/api/v1/configuration/${t.environmentId}`,s=`indiana:configuration:1:${r.origin}:${En(t)}`,c=t6(s,e.storage),u,l=0,d=0,p=!1,f=!1,h=0,m=0,g,S,v,_,P=0,E=new Set,D=new Set,L=new Map,U=new Map,j=0,V=!1;function T(){for(let ge of E)try{ge()}catch{}}function W(ge){try{e.onError?.(ge)}catch{}}let z=()=>!f&&!p&&!!u&&Zo()<l&&Date.now()<d;function $(){if(!z())throw Ge("CONFIGURATION_EXPIRED","Refresh configuration before using it")}function H(ge,de,ve){if(!L.has(ge)){for(;L.size&&(L.size>=128||j+ve>$r.maxCacheBytes);){let me=L.entries().next().value;j-=me[1].byteLength,L.delete(me[0])}L.set(ge,{text:de,byteLength:ve}),j+=ve}}function ne(ge,de,ve){return n6(ge,de,{signal:ve,error:me=>Ge("INVALID_RESPONSE",me==="missing"?"Configuration body is missing":"Configuration exceeds its byte limit")})}function M(ge){let de=new Fo(ge,r);if(!i.has(de.origin)||de.username||de.password||de.hash||de.search)throw Ge("INVALID_URL","Configuration artifact origin is not trusted");return de.href}async function R(ge,de,ve=!1){let me=await o(M(ge),{method:"GET",credentials:"omit",redirect:"error",cache:ve?"default":"no-cache",signal:de,headers:{}});if(me.status===429){let Pe=me.headers.get("retry-after")??"";P=/^\d+$/.test(Pe)?Number(Pe)*1e3:Math.max(0,Date.parse(Pe)-Date.now())||15e3}if(!me.ok&&me.status!==304)throw Ge(`CONFIGURATION_HTTP_${me.status}`,"Configuration synchronization failed");return me}function Z(ge,de,ve){let me=Date.parse(ge.headers.get("x-indiana-config-validated-at")??""),Pe=Date.parse(ge.headers.get("x-indiana-config-valid-until")??""),Ee=Date.parse(ge.headers.get("date")??""),Ve=ge.headers.get("age"),pt=Ve!==null&&/^\d+(\.\d+)?$/.test(Ve)?Number(Ve)*1e3:NaN;if(![me,Pe,Ee,pt].every(Number.isFinite)||Pe<=me||Pe-me>$r.maxControlAgeMs||me>Ee+1e3)throw Ge("INVALID_RESPONSE","Configuration freshness evidence is invalid");let De=Math.min(Pe-me,ve.maxControlAgeSeconds*1e3,$r.maxControlAgeMs)-Math.max(pt,Ee-me,0)-(Zo()-de);if(De<=0)throw Ge("CONFIGURATION_EXPIRED","Configuration validation expired in transit");return Zo()+De}function be(){if(clearTimeout(v),clearTimeout(_),f||!E.size)return;z()&&(_=setTimeout(()=>{z()?be():T()},Math.max(1,l-Zo())),i6(_));let ge=m?Math.min(15e3,1e3*2**Math.min(m-1,4)):Math.min(15e3,(u?.policy.refreshIntervalSeconds??15)*1e3);v=setTimeout(()=>{Fe().catch(W)},Math.max(P,ge*(.8+Math.random()*.2))),i6(v)}async function Fe(){if(f)throw Ge("CONFIGURATION_DISPOSED","Configuration manager was destroyed");if(g)return g;let ge=h,de=new AbortController;S=de;let ve=(async()=>{if(!V){V=!0;try{let hn=await c.readManifest();if(hn&&!u){let Je=MI.parse(JSON.parse(hn));En(Je.scope)===En(t)&&(u=Je)}}catch{}}de.signal.throwIfAborted();let Ve=u,pt=Zo(),Y=await R(a,de.signal);Y.status===304&&(!Ve||!Y.headers.has("x-indiana-config-validated-at")||!Y.headers.has("x-indiana-config-valid-until")||!Y.headers.has("age"))&&(Y=await R(a,de.signal));let De=Y.status===304?Ve:MI.parse(JSON.parse(await ne(Y,$r.maxManifestBytes,de.signal))),{generation:lt,...Ke}=De,st=Y.headers.get("etag");if(En(De.scope)!==En(t)||CM(Ke)!==lt||st!==`"${lt}"`&&st!==`W/"${lt}"`)throw Ge("INVALID_RESPONSE","Configuration scope or content identity changed");if(Ve&&(De.revision<Ve.revision||De.revision===Ve.revision&&De.generation!==Ve.generation))throw Ge("INVALID_RESPONSE","Configuration revision moved backwards or changed identity");for(let[hn,Je]of Object.entries(Ve?.funnels??{})){let Tt=De.funnels[hn];if(Tt&&(Tt.controlRevision<Je.controlRevision||Tt.evaluationRevision<Je.evaluationRevision||Tt.controlRevision===Je.controlRevision&&Tt.state!==Je.state||Tt.evaluationRevision===Je.evaluationRevision&&Tt.evaluationMode!==Je.evaluationMode))throw Ge("INVALID_RESPONSE","Funnel control revision changed identity")}let gt=Z(Y,pt,De.policy);if(de.signal.throwIfAborted(),ge!==h)throw Ge("CONFIGURATION_DISPOSED","Configuration scope changed");return u=De,l=gt,d=Date.now()+Math.max(0,gt-Zo()),p=!1,m=0,P=0,c.writeManifest(En(De)),T(),structuredClone(De)})(),me=setTimeout(()=>de.abort(Ge("CONFIGURATION_UNAVAILABLE","Configuration initialization timed out")),$r.initializationMs),Pe=new Promise((Ve,pt)=>de.signal.addEventListener("abort",()=>pt(de.signal.reason),{once:!0})),Ee=Promise.race([ve,Pe]).catch(Ve=>{throw m++,(Ve instanceof n.ZodError||Ve instanceof SyntaxError||Ve instanceof G&&["CONFIGURATION_HTTP_404","CONFIGURATION_HTTP_410","INVALID_RESPONSE"].includes(Ve.code))&&(l=0,p=!0,T()),Ve}).finally(()=>{clearTimeout(me),g===Ee&&(g=void 0),be()});return g=Ee,Ee}async function tt(ge){let de=ge.sha256,ve=Ke=>r6(Ke,ge);M(ge.url);let me=L.get(de);if(me){if(me.byteLength!==ge.byteLength)throw Ge("INVALID_RESPONSE","Configuration artifact digest or size mismatch");return L.delete(de),L.set(de,me),me.text}let Pe=U.get(de);if(Pe){if(Pe.byteLength!==ge.byteLength)throw Ge("INVALID_RESPONSE","Configuration artifact digest or size mismatch");return Pe.promise}let Ee=new AbortController;D.add(Ee);let Ve=h,pt=(async()=>{try{let gt=await c.readArtifact(de);if(gt&&ve(gt)){if(Ee.signal.throwIfAborted(),f||Ve!==h)throw Ge("CONFIGURATION_DISPOSED","Configuration scope changed");return H(de,gt,ge.byteLength),gt}}catch{}Ee.signal.throwIfAborted();let Ke=await R(ge.url,Ee.signal,!0),st=await ne(Ke,ge.byteLength,Ee.signal);if(!ve(st))throw Ge("INVALID_RESPONSE","Configuration artifact digest or size mismatch");if(f||Ve!==h)throw Ge("CONFIGURATION_DISPOSED","Configuration scope changed");return H(de,st,ge.byteLength),c.writeArtifact(de,st),st})(),Y=setTimeout(()=>Ee.abort(Ge("CONFIGURATION_UNAVAILABLE","Configuration artifact timed out")),$r.initializationMs),De=new Promise((Ke,st)=>Ee.signal.addEventListener("abort",()=>st(Ee.signal.reason),{once:!0})),lt=Promise.race([pt,De]).finally(()=>{clearTimeout(Y),D.delete(Ee),U.delete(de)});return U.set(de,{promise:lt,byteLength:ge.byteLength}),lt}async function re(){return z()||await Fe(),$(),u}async function Le(ge){let de,ve=new Promise((me,Pe)=>{de=setTimeout(()=>Pe(Ge("CONFIGURATION_UNAVAILABLE","Configuration initialization timed out")),$r.initializationMs)});try{return await Promise.race([ge(),ve])}finally{clearTimeout(de)}}function Ce(ge,de){if($(),u?.generation!==ge.generation)throw Ge("CONFIGURATION_CHANGED","Configuration changed while preparing a snapshot");if(de&&u.funnels[de]?.state!=="active")throw Ge("FUNNEL_STOPPED","Funnel is paused or unavailable")}async function we(ge){let de=ge.gb.features;if(!de)throw Ge("CONFIGURATION_UNAVAILABLE","Public Feature delivery is disabled");let ve=ge.artifacts[de];if(ve.formatVersion!==1)throw Ge("UNSUPPORTED_SCHEMA","Unsupported public GB configuration format");let me=J_.parse(JSON.parse(await tt(ve)));if(En(me.scope)!==En({projectId:t.projectId,environment:t.environment})||me.generation!==ve.generation||me.remoteFeatures.some(Pe=>Object.hasOwn(me.features,Pe)))throw Ge("INVALID_RESPONSE","Public GB configuration scope or generation is invalid");return Ce(ge),{...me,evaluatedAt:new Date().toISOString(),expiresAt:new Date(Date.now()+Math.max(0,l-Zo())).toISOString()}}async function ot(ge,de){let ve=await re(),me=ve.funnels[ge];de&&(!me||me.evaluationMode==="local"&&!me.versions[de])&&(g&&await g,ve=await Fe()),Ce(ve,ge);let Pe=ve.funnels[ge];if(Pe.evaluationMode!=="local")throw Ge("EVALUATION_MODE","This Funnel executes at Longplay; public graph loading is disabled");let Ee=de??Pe.currentVersionId,Ve=Pe.versions[Ee];if(!Ve)throw Ge("CONFIGURATION_UNAVAILABLE","Pinned Funnel Version is unavailable");if(ve.artifacts[Ve.artifact].formatVersion!==3)throw Ge("UNSUPPORTED_SCHEMA","Unsupported public Funnel format");let[pt,Y]=await Promise.all([tt(ve.artifacts[Ve.artifact]).then(De=>OM(JSON.parse(De))),Pe.evaluationMode==="local"?we(ve):void 0]);if(Y&&En(PM(pt,Y))!==En(Ve.dependencies))throw Ge("INVALID_RESPONSE","Funnel and GB dependency contract do not match");return Ce(ve,ge),{document:pt,growth:Y,versionId:Ee,control:structuredClone(Pe),manifest:structuredClone(ve)}}async function ze(ge,de){try{return await ot(ge,de)}catch(ve){if(!(ve instanceof G)||!(ve.code==="CONFIGURATION_CHANGED"||ve.code==="CONFIGURATION_HTTP_404"&&z()))throw ve;let me=u?.generation;if(g&&await g,await Fe(),ve.code!=="CONFIGURATION_CHANGED"&&u?.generation===me)throw ve;return ot(ge,de)}}function vt(){p=!0,T(),Fe().catch(W)}let rt=()=>{(typeof document>"u"||document.visibilityState==="visible")&&vt()};function at(ge){if(f)throw Ge("CONFIGURATION_DISPOSED","Configuration manager was destroyed");return E.add(ge),E.size===1&&(typeof window<"u"&&(window.addEventListener("online",vt),window.addEventListener("focus",rt),document.addEventListener("visibilitychange",rt)),be()),()=>{E.delete(ge),E.size||(clearTimeout(v),clearTimeout(_),an())}}function an(){typeof window<"u"&&(window.removeEventListener("online",vt),window.removeEventListener("focus",rt),document.removeEventListener("visibilitychange",rt))}return{scope:Object.freeze({...t}),refresh:Fe,subscribe:at,assertFresh:$,assertFeatures(ge){$();let de=u.gb.features;if(!de)throw Ge("CONFIGURATION_UNAVAILABLE","Public Feature delivery is disabled");if(ge!==void 0&&u.artifacts[de].generation!==ge)throw Ge("CONFIGURATION_CHANGED","Refresh changed Feature configuration before evaluation")},get fresh(){return z()},get snapshot(){return u?structuredClone(u):null},get remainingMs(){return z()?Math.max(0,l-Zo()):0},async features(){return Le(async()=>we(await re()))},pageExperiments:()=>Le(async()=>{let ge=await re(),de=ge.gb.pageExperiments;if(!de)throw Ge("CONFIGURATION_UNAVAILABLE","Public page experiments are disabled");let ve=ge.artifacts[de];if(ve.formatVersion!==1)throw Ge("UNSUPPORTED_SCHEMA","Unsupported page experiment format");let me=pF.parse(JSON.parse(await tt(ve)));if(me.environmentId!==t.environmentId||me.generation!==ve.generation)throw Ge("INVALID_RESPONSE","Page experiment scope or generation changed");return Ce(ge),me}),funnel:(ge,de)=>Le(()=>ze(ge,de)),paywall:(ge,de)=>Le(async()=>{let ve=await re(),me=ve.paywalls?.[ge];if(!me||!de&&me.state!=="published")throw Ge("PAYWALL_UNAVAILABLE","Published Paywall is unavailable");let Pe=de??me.currentVersionId,Ee=me.versions[Pe],Ve=Ee&&ve.artifacts[Ee.artifact];if(!Ve||Ve.kind!=="paywall"||Ve.formatVersion!==1)throw Ge("UNSUPPORTED_SCHEMA","Public Paywall format is unavailable");let pt=IM.parse(JSON.parse(await tt(Ve)));return Ce(ve),{document:pt,versionId:Pe,version:Ee.version,control:structuredClone(me),manifest:structuredClone(ve)}}),async localFunnel(ge,de){let ve=await Le(()=>ze(ge,de));if(!ve.growth)throw Ge("EVALUATION_MODE","This Funnel requires remote execution");let{analyticsConfig:me,remoteFeatures:Pe,...Ee}=ve.growth;return W2({scope:{projectId:t.projectId,environment:t.environment},funnelId:ge,versionId:ve.versionId,evaluationMode:"local",evaluationRevision:ve.control.evaluationRevision,document:ve.document,payload:Ee})},assertFunnel(ge,de,ve){$();let me=u.funnels[ge];if(!me||me.state!=="active")throw Ge("FUNNEL_STOPPED","Funnel is paused or unavailable");if(me.evaluationMode!=="local")throw Ge("EVALUATION_MODE","This Funnel now executes at Longplay");if(de!==void 0&&me.controlRevision!==de)throw Ge("RUN_RECONCILIATION_REQUIRED","Reconcile the original Run after a control change");if(ve!==void 0&&!me.versions[ve])throw Ge("CONFIGURATION_UNAVAILABLE","Pinned Funnel Version is unavailable")},destroy(){if(!f){f=!0,h++,l=0,S?.abort(Ge("CONFIGURATION_DISPOSED","Configuration manager was destroyed")),clearTimeout(v),clearTimeout(_),an(),T(),E.clear();for(let ge of D)ge.abort(Ge("CONFIGURATION_DISPOSED","Configuration manager was destroyed"));L.clear(),j=0}}}}mn();Sr();var a6=(e,t)=>new G(e,t);Sr();async function s6(e,t,{predict:r=!0}={}){let i=t.instruction;if(i?.type!=="evaluate_segment")throw new Error("Local segment instruction required");if(!e)throw new G("CONFIGURATION_UNAVAILABLE","Local execution requires public configuration");if(e.scope.environmentId!==i.environmentId)throw new G("SCOPE_MISMATCH","Evaluation environment changed");let o=null,a;if(r)try{let s=await e.funnel(t.source.id,t.source.versionId);a=s.manifest.generation,o=cte(e,t,s)}catch{o=null}return a??=e.snapshot?.generation??(await e.refresh()).generation,{advance:{policyRevision:i.policyRevision,generation:a},prediction:o}}function cte(e,t,r){let i=t.instruction;if(i?.type!=="evaluate_segment"||!r.growth||r.control.evaluationMode!=="local"||r.control.evaluationRevision!==i.policyRevision)return null;let{analyticsConfig:o,remoteFeatures:a,...s}=r.growth,c=Ak({scope:{projectId:e.scope.projectId,environment:e.scope.environment},funnelId:t.source.id,versionId:t.source.versionId,evaluationMode:"local",evaluationRevision:i.policyRevision,document:r.document,payload:Dr.parse(s)}),u=ute(c,r.document,{...t,...i}),l=u.steps.at(-1),d=u.boundary??(l?.result.port==="value"?{nodeId:l.nodeId,visit:t.visit+u.steps.length-1}:null);return d?{runId:t.id,from:{nodeId:t.nodeId,visit:t.visit,revision:t.revision},nodeId:d.nodeId,visit:d.visit,terminal:!u.boundary}:null}function ute(e,t,r){return bF(e,t,r,a6)}mn();function Jy(e,t){if(e===t)return!0;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((o,a)=>Jy(o,t[a]));if(!e||!t||typeof e!="object"||typeof t!="object")return!1;let r=Object.entries(e),i=Object.entries(t);return r.length===i.length&&r.every(([o,a])=>Object.hasOwn(t,o)&&Jy(a,Reflect.get(t,o)))}Q();var lte=/^\/api\/v1\/configuration\/[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}(?:\/artifacts\/[a-f0-9]{64})?$/,dte=n.strictObject({status:n.number().int().min(200).max(599),headers:n.record(n.string(),n.string()),body:n.string()});function c6(){let e=window,t,r=new Map,i=null,o=null,a=!1,s=!1,c=null,u,l=null,d=null,p=null,f=null,h=!1,m=new Set,g=null,S=null,v=null,_=new Set;function P($){if(a)throw new G("CLOSED","Native host is unavailable");if(i)i.postMessage(JSON.stringify($));else if(e.webkit?.messageHandlers?.indianaFunnel)e.webkit.messageHandlers.indianaFunnel.postMessage($);else throw new G("BRIDGE_UNAVAILABLE","Native bridge is unavailable")}function E($,H={}){let ne=crypto.randomUUID();return new Promise((M,R)=>{let Z=setTimeout(()=>{r.delete(ne),R(new G("TIMEOUT","Retry the original command"))},45e3);r.set(ne,{resolve:M,reject:R,timer:Z});try{P({id:ne,method:$,payload:H})}catch(be){clearTimeout(Z),r.delete(ne),R(be)}})}function D($,H=!1,ne=d,M){let R=jo.parse($);if(M&&R.settlement?.requestId!==M)throw new G("INVALID_RESPONSE","Exact command settlement is missing or changed");if(H&&!R.review)throw new G("INVALID_RESPONSE","Historical projection is missing");if(!c||R.scope.projectId!==c.projectId||R.scope.environment!==c.environment)throw new G("SCOPE_MISMATCH","Native run scope changed");if(d&&(d.id!==R.run.id||d.source.type!==R.run.source.type||d.source.id!==R.run.source.id||d.source.versionId!==R.run.source.versionId||d.locale!==R.run.locale||!Jy(d.parameters,R.run.parameters)))throw new G("INVALID_RESPONSE","Run identity changed");if(H&&d&&d!==ne&&R.run.revision<=d.revision||(H&&!R.run.stopped&&["running","waiting"].includes(R.run.status)&&d&&R.run.nodeId===d.nodeId&&R.run.visit===d.visit&&R.run.revision===d.revision&&(R.run.screen=d.screen,(d.paywall?.quote?.operationId===R.review?.activeOperationId||!d.paywall?.quote&&R.review?.activeOperationId===null)&&(R.run.paywall=d.paywall)),["running","waiting"].includes(R.run.status)||(h=!0),d?.paywall&&R.run.paywall&&d.paywall.receiptId===R.run.paywall.receiptId&&(R.run.paywall.selectionGeneration??0)<(d.paywall.selectionGeneration??0)))return R;if(!d||R.run.revision>=d.revision){d=R.run;for(let Z of _)try{Z(structuredClone(d))}catch{}}return R}async function L($){let H=pn.parse($),ne=$.operation==="close";if(ne){if(p?.requestId===$.requestId)throw new G("INVALID_REQUEST","Close requires its own request identity");if(h=!0,f&&JSON.stringify(f)!==JSON.stringify($))throw new G("COMMAND_PENDING","Retry the original Close");f??=$}if(!ne&&h)throw new G("COMMAND_PENDING","Settle the original command after Close");if(!ne&&p&&JSON.stringify(p)!==JSON.stringify($))throw new G("COMMAND_PENDING","Retry the original command");ne||(p??=$);let M=ne?f:p,R=m.has($.requestId);m.add($.requestId);try{if(H.operation==="start"||H.operation==="review"||"customerToken"in H)throw new G("INVALID_REQUEST","Credentials belong to the native host");let Z=D(await E("command",H),!1,d,$.requestId);return Z.settlement?.state==="settled"&&Z.run.pendingRequest?.requestId!==$.requestId&&(!h||ne||!["running","waiting"].includes(Z.run.status))&&(p===M&&(p=null),f===M&&(f=null),m.delete($.requestId)),Z}catch(Z){throw(p===M||f===M)&&!R&&Z instanceof G&&Z.status!==void 0&&Z.status<500&&Z.recovery!=="recover_operation"&&![401,425].includes(Z.status)&&(p===M&&(p=null),f===M&&(f=null),m.delete($.requestId)),Z}}async function U($,H){let ne=new URL($ instanceof Request?$.url:$);if(ne.origin!==t||ne.search||ne.hash||(H?.method??"GET")!=="GET"||!lte.test(ne.pathname))throw new G("INVALID_URL","Configuration path is not trusted");H?.signal?.throwIfAborted();let M=dte.parse(await E("configuration",{path:ne.pathname}));return H?.signal?.throwIfAborted(),new Response([204,205,304].includes(M.status)?null:M.body,{status:M.status,headers:M.headers})}async function j($){if($.run.instruction?.type!=="evaluate_segment"||p||h)return $;if(l)return l;let H=(async()=>{let ne=$;for(let M=0;M<32;M++){let R=ne.run,Z=R.instruction;if(Z?.type!=="evaluate_segment")break;if(a||!c)throw new G("IDENTITY_CHANGED","Native session changed");u??=o6({origin:t,scope:{...c,environmentId:Z.environmentId},fetch:U,storage:null});let be=()=>d&&(d.revision!==R.revision||d.visit!==R.visit||d.nodeId!==R.nodeId);if(Z.type==="evaluate_segment"){let{advance:Fe}=await s6(u,R,{predict:!1});if(p||h)return ne;if(be())return D(await E("command",{operation:"get"}));ne=await L({operation:"commit_segment",requestId:R2(R.id,R.visit,`segment:${R.revision}`),nodeId:R.nodeId,visit:R.visit,revision:R.revision,...Fe})}}return ne})();l=H;try{return await H}finally{l===H&&(l=null)}}function V(){if(!a){a=!0,u?.destroy(),v?.destroy(),g?.destroy(),g=null,d=null,p=null,f=null,m.clear(),_.clear();for(let $ of r.values())clearTimeout($.timer),$.reject(new G("IDENTITY_CHANGED","Native identity changed"));r.clear(),i?.close(),i=null,o=null,window.removeEventListener("message",z),document.body.replaceChildren()}}let T={async resolvePaywall($){return Ro.parse(await E("paywallContent",{id:$.id,sha256:$.content.artifact.sha256}))},get view(){return d?structuredClone(d):null},get pendingCommand(){let $=f??p;return $?structuredClone($):null},get pendingCommands(){return[p,f].filter($=>$!==null).map($=>structuredClone($))},async settle($){let H=D(await E("command",{operation:"get",settlementRequestId:$}));if(H.settlement?.requestId!==$)throw new G("INVALID_RESPONSE","Exact command settlement is missing");return H.settlement.state==="settled"&&H.run.pendingRequest?.requestId!==$&&(p?.requestId===$&&(p=null),f?.requestId===$&&(f=null),m.delete($)),H},webViewUrl:"bundled",async review($){let H=d;return D(await E("command",{operation:"review",...$?{receiptId:$}:{}}),!0,H)},async get($,H){let ne=D(await E("command",{operation:"get",...$?{data:$}:{},...H?{purchase:H}:{}})),M=await E("pendingCommand");if(M){let R=pn.parse(M);if(R.operation==="get"||R.operation==="start"||R.operation==="review"||"customerToken"in R)throw new G("INVALID_RESPONSE","Invalid native pending command");m.add(R.requestId),R.operation==="close"?(f=R,h=!0):p=R}else p=null,f=null;return j(ne)},submit:$=>L($).then(j),retry:()=>f?L(f):h&&p?T.settle(p.requestId):p?L(p).then(j):Promise.reject(new G("INVALID_REQUEST","No pending command")),resume:($=d?.pendingRequest?.requestId)=>$?h?T.settle($):L({operation:"resume",requestId:$}).then(j):Promise.reject(new G("INVALID_REQUEST","No interrupted command")),identify(){throw new G("INVALID_REQUEST","Customer credentials belong to the native session")},subscribe($){return _.add($),()=>_.delete($)},reset:V};async function W($,H,ne,M){if(s||a)return;let R=new URL(n.string().parse(H));if(R.origin!==H||R.username||R.password||R.protocol!=="https:"&&!(R.protocol==="http:"&&["localhost","127.0.0.1","[::1]"].includes(R.hostname)))throw new G("INVALID_CONFIGURATION","Invalid native API origin");if(t=R.origin,c=ct.parse($),s=!0,ne==="features"){if(S=await QF(E,c,M),g=S,a){g.destroy(),g=null;return}await E("featuresReady");return}if(ne==="content"){g=await yV(E),a&&(g.destroy(),g=null);return}if(ne==="paywall"){if(v=await AV(be=>E("paywall",be)),a){v.destroy();return}g=(await Fy(document.body,{start:async()=>v,onPurchase:({operation:be})=>E("purchase",{operation:be}),onCheckoutUrl:be=>E("checkout",{url:be}),onOpenUrl:be=>E("open",{url:be}),onEvent:be=>E("event",{event:be}),onComplete:()=>E("complete"),onDismiss:()=>{a||E("dismiss").catch(()=>{})},onError:()=>{a||E("error").catch(()=>{})}})).host,a&&(g?.destroy(),g=null);return}if(ne!==void 0&&ne!=="funnel")throw new G("INVALID_CONFIGURATION","Unknown native surface");g=await e6(document.getElementById("grow-funnel-root")??document.body,{client:T,onPurchase:({operation:Z})=>E("purchase",{operation:Z}),onCheckoutUrl:Z=>E("checkout",{url:Z}),onOpenUrl:Z=>E("open",Z),onEvent:Z=>E("event",{event:Z}),onComplete:()=>E("complete"),onDismiss:()=>{a||E("dismiss").catch(()=>{})}}),a&&(g.destroy(),g=null)}e.__indianaFunnelReceive=$=>{if(a||!$||typeof $!="object")return;let H=$;if(H.event==="invalidated")return V();if(H.event==="feature_call"){let M=H.id;if(typeof M!="string"||!S)return;S.call(H.input).then(R=>E("featureResult",{id:M,result:R})).catch(R=>E("featureResult",{id:M,error:{code:R instanceof G?R.code:"INVALID_RESPONSE"}})).catch(()=>{});return}if(H.event==="refresh"){g?.refresh().catch(()=>{});return}if(H.event==="init"){W(H.scope,H.apiOrigin,H.surface,H.attributes).catch(()=>{!a&&(H.surface==="content"||H.surface==="paywall")&&E("error").catch(()=>{}),V()});return}if(typeof H.id!="string")return;let ne=r.get(H.id);if(ne)if(r.delete(H.id),clearTimeout(ne.timer),H.error&&typeof H.error=="object"){let M=H.error;ne.reject(new G(typeof M.code=="string"?M.code:"NATIVE_OPERATION_FAILED","Native operation did not finish",typeof M.status=="number"?M.status:void 0))}else ne.resolve(H.result)},e.__indianaFunnelPreparePort=$=>a||i||!/^[a-f0-9-]{36}$/.test($)?!1:(o=$,!0);function z($){let H=$.data;if(typeof H=="string")try{H=JSON.parse(H)}catch{return}!H||typeof H!="object"||!("type"in H)||H.type!=="indiana-native-port"||!o||!("nonce"in H)||H.nonce!==o||i||!$.ports[0]||(o=null,i=$.ports[0],i.onmessage=ne=>{if(!(typeof ne.data!="string"||ne.data.length>2097152))try{e.__indianaFunnelReceive?.(JSON.parse(ne.data))}catch{V()}},i.start(),P({id:crypto.randomUUID(),method:"ready",payload:{}}))}return window.addEventListener("message",z),e.webkit?.messageHandlers?.indianaFunnel&&P({id:crypto.randomUUID(),method:"ready",payload:{}}),{destroy:V}}globalThis.__indianaInstallNativeFunnelHost=c6;})();
|
|
250
|
+
`);W!==D&&(D=W,W?(E||(E=document.createElement("style"),HP(E),t?.nonce&&(E.nonce=t.nonce),document.head.append(E)),E.textContent=W):(E?.remove(),E=void 0)),f=i.size===0||V.size>0;let z=V.size===i.size?"matched":V.size>0?"partial":m?"missing":"waiting";V.size&&(m=!0),T(()=>{p||v(z,V.size)}),f&&!h&&T(()=>{!p&&f&&!h&&(h=!0,t?.onApplied?.())})}}}),p&&_.unsubscribe(),{revert:L,inspect(){let j=d.length+a.reduce((z,$)=>z+($.css.includes("font-size:")?1:0)+($.css.includes("color:")?1:0),0);if(p)return{status:"error",total:j,applied:0};if(g.startsWith("inactive:"))return{status:"inactive",total:j,applied:0};if(!j)return{status:"no_changes",total:j,applied:0};let V=0,T=0;for(let z of d){let $=document.querySelectorAll(z.selector);$.length===1&&(T++,$[0].innerHTML===ZV(z.value??"")&&V++)}let W=document.createElement("span");for(let z of a){let $=document.querySelectorAll(z.selector),H=$.length===1?$[0]:void 0,ne=z.css.slice(z.css.indexOf("{")+1,z.css.lastIndexOf("}"));W.style.cssText=ne;for(let M of["font-size","color"]){let R=W.style.getPropertyValue(M);R&&H?.isConnected&&(T++,getComputedStyle(H).getPropertyValue(M)===R&&V++)}}return{status:V===j?"applied":T?V?"partial":"mismatch":"waiting",total:j,applied:V}},get applied(){return f}}}var GP,qV,KV=x(()=>{"use strict";FV();nE();BP();BV()});var WV={};Ie(WV,{applyVisualVariation:()=>GV});var JV=x(()=>{KV()});var YV={};Ie(YV,{showPaywall:()=>Fy});var XV=x(()=>{jP()});mn();Sr();mn();Q();mn();zo();Q();zo();function ZF(e,t,r,i){try{return e.parse(t)}catch(o){throw i&&o instanceof Iv?new G(r,i):o}}async function xd(e,t,r,i={},o){let a=typeof i=="function"?{}:i,s=ZF(t.request,r,"INVALID_REQUEST",a.request);try{let c=await e(t.path,s,t.method,o),u=typeof i=="function"?i:i.parseResponse;return u?u(t.response,c):ZF(t.response,c,"INVALID_RESPONSE",a.response)}catch(c){throw c instanceof G&&s!==null&&typeof s=="object"&&"requestId"in s&&typeof s.requestId=="string"&&(c.commandRequestId??=s.requestId),c}}var Zk=e=>new TextEncoder().encode(JSON.stringify(e)).length,HF=16384;function GF(e,t){let r=0,i,o=m=>{i={config:structuredClone(m),until:Date.now()+3e4}},a=[],s=null,c;function u(){if(!t())throw new G("NOT_IDENTIFIED","Call identify before using Features or events")}function l(){c||!a.length||(c=setTimeout(()=>{c=void 0,p().catch(()=>{}).finally(l)},5e3),typeof c=="object"&&"unref"in c&&c.unref())}function d(m,g={},S={}){if(u(),i&&Date.now()<i.until&&!DL(i.config,m))return;h();let v=oe.trackEvents.request.parse({events:[{eventUuid:crypto.randomUUID(),timestamp:new Date().toISOString(),name:m,properties:g,...S}]}).events[0];if(Zk({events:[v]})>HF)throw new G("INVALID_REQUEST","Event exceeds the delivery size limit");if(a.length>=500)throw new G("EVENT_QUEUE_FULL","Flush pending events before tracking more");a.push(structuredClone(v)),l()}async function p(m=!1){if(u(),s)return s;let g=r,S=(async()=>{let v={inserted:0,duplicates:0,rejected:0,skipped:0},_=a.length;for(;_&&g===r;){let P=[],E=Zk({events:[]});for(let U of a.slice(0,Math.min(_,100))){let j=Zk(U)+(P.length?1:0);if(P.length&&E+j>HF)break;P.push(U),E+=j}let D=oe.trackEvents,L=await xd(e,D,{events:P},void 0,{keepalive:m});if(g!==r)throw new G("IDENTITY_CHANGED","Event identity changed during delivery");if(L.inserted+L.duplicates+L.rejected+L.skipped!==P.length)throw new G("INVALID_RESPONSE","Incomplete event acknowledgement");o(L.analyticsConfig),a.splice(0,P.length),_-=P.length,v.inserted+=L.inserted,v.duplicates+=L.duplicates,v.rejected+=L.rejected,v.skipped+=L.skipped}return v})();s=S;try{return await S}finally{s===S&&(s=null)}}let f;function h(){if(f||typeof document>"u")return;let m=()=>{document.visibilityState==="hidden"&&t()&&a.length&&p(!0).catch(()=>{})};document.addEventListener("visibilitychange",m),f=()=>document.removeEventListener("visibilitychange",m)}return{rememberConfiguration:o,track:d,flush:p,reset(){r++,i=void 0,clearTimeout(c),c=void 0,a=[],s=null},detachVisibility(){f?.(),f=void 0}}}mn();mn();function KF(e){let t=null,r=null,i=0,o=0,a=new Set,s=null,c=null,u=new Set,l=()=>{for(let v of u)try{v()}catch{}},d={attributes:rn.parse(e.attributes??{}),onFeatureUsage:e.onFeatureUsage?(v,_)=>{!a.has(v)&&(!t||!("analyticsConfig"in t)||t.analyticsConfig.featureUsageEnabled)&&e.onFeatureUsage(v,structuredClone(_),structuredClone(d.attributes))}:void 0,onExperimentViewed:e.onExperimentViewed?(v,_)=>(!t||!("analyticsConfig"in t)||t.analyticsConfig.experimentViewsEnabled)&&e.onExperimentViewed(structuredClone(v),structuredClone(_),structuredClone(d.attributes)):void 0,stickyBucketAssignmentDocs:structuredClone(e.stickyBucketAssignmentDocs),saveStickyBucketAssignmentDoc:e.saveStickyBucketAssignmentDoc?v=>e.saveStickyBucketAssignmentDoc(structuredClone(v)):void 0,trackedFeatureUsage:{},trackedExperiments:new Set},p=()=>({value:null,source:"unknownFeature",on:!1,off:!0,ruleId:""});function f(v,_=new Set){return a.has(v)?!s||!s.features[v]||["unknownFeature","cyclicPrerequisite"].includes(s.features[v].source):_.has(v)?!1:(_.add(v),(t?.features[v]?.rules??[]).some(P=>[...P.parentConditions??[],...(P.tracks??[]).flatMap(E=>E.experiment.parentConditions??[])].some(E=>f(E.id,_))))}let h=v=>{if(e.assertUsable?.(t?.generation),!t)throw new Error("Initialize the Feature client before evaluation");if(t.expiresAt&&Date.parse(t.expiresAt)<=Date.now())throw new Error("Feature configuration expired; refresh before evaluation");return s?.expiresAt&&Date.parse(s.expiresAt)<=Date.now()&&(s=null,d.features=t.features),a.has(v)?!s||s.expiresAt&&Date.parse(s.expiresAt)<=Date.now()?p():structuredClone(s.features[v]??p()):e.evaluateRemote&&(d.attributes?.merchandise||d.attributes?.merchandiseId)&&!s||f(v)?p():structuredClone(Ni(v,d))};async function m(){if(!t||!a.size&&!d.attributes?.merchandise&&!d.attributes?.merchandiseId)return;if(!e.evaluateRemote){if(a.size)throw new Error("Remote Feature evaluation requires a server loader");return}let v=o;if(c?.revision===v)return c.loading;let _=i,P=t,E=[...a],D=(async()=>{let L=kh.parse(await e.evaluateRemote({attributes:structuredClone(d.attributes),features:E}));if(!(_!==i||v!==o||P!==t)){if(e.assertUsable?.(P.generation),L.generation!==P.generation)throw new Error("Feature configuration changed; refresh before evaluation");if(E.some(U=>!Object.hasOwn(L.features,U))||Object.keys(L.features).some(U=>!a.has(U)))throw new Error("Invalid remote Feature results");if(d.attributes?.merchandise||d.attributes?.merchandiseId){if(!L.merchandiseContext)throw new Error("Server did not resolve merchandise context");d.attributes=rn.parse({...d.attributes,...L.merchandiseContext})}s=structuredClone(L),d.features={...P.features,...Object.fromEntries(Object.entries(s.features).map(([U,j])=>[U,{defaultValue:j.value}]))},l()}})();c={revision:v,loading:D};try{await D}finally{c?.loading===D&&(c=null)}}function g(){m().catch(v=>{try{e.onError?.(v)}catch{}})}async function S(){if(r)return r;let v=i,_=(async()=>{let P=await e.load(),E="remoteFeatures"in P?Yl.parse(P):null,D=E??Dr.parse(P);if(D.scope.projectId!==e.scope.projectId||D.scope.environment!==e.scope.environment)throw new Error("Feature payload scope changed");if(v!==i)throw new Error("Feature client was reset");if(e.assertUsable&&t?.generation===D.generation){let{evaluatedAt:U,expiresAt:j,...V}=t,{evaluatedAt:T,expiresAt:W,...z}=D;if(En(V)!==En(z))throw new Error("Immutable Feature generation changed content");return t.evaluatedAt=D.evaluatedAt,t.expiresAt=D.expiresAt,l(),(!s||s.expiresAt&&Date.parse(s.expiresAt)<=Date.now())&&g(),structuredClone(t)}let L=new Set(E?.remoteFeatures??[]);if([...L].some(U=>Object.hasOwn(D.features,U)))throw new Error("Remote Feature definitions must not be delivered locally");return t&&"analyticsConfig"in t&&"analyticsConfig"in D&&!t.analyticsConfig.experimentViewsEnabled&&E?.analyticsConfig.experimentViewsEnabled&&d.trackedExperiments?.clear(),t=structuredClone(D),a=L,s=null,c=null,o++,d.features=t.features,d.savedGroups=nc(t.savedGroups),d.trackedFeatureUsage={},l(),g(),structuredClone(t)})();r=_;try{return await _}finally{r===_&&(r=null)}}return{init:S,refresh:S,refreshRemote:m,get generation(){return t?.generation??null},get expiresAt(){return t?.expiresAt??null},subscribe(v){return u.add(v),()=>{u.delete(v)}},setAttributes(v){let _=rn.parse(v);(d.attributes?.merchandise||d.attributes?.merchandiseId||v.merchandise||v.merchandiseId)&&d.trackedExperiments?.clear(),d.attributes=_,o++,s=null,c=null,d.features=t?.features??{},d.trackedFeatureUsage={},l(),g()},evalFeature:h,isOn(v){return h(v).on},isOff(v){return h(v).off},getFeatureValue(v,_){let P=h(v).value;return structuredClone(P===null?_:P)},reset(){i++,o++,r=null,c=null,t=null,s=null,a.clear(),d.features={},d.savedGroups={},d.stickyBucketAssignmentDocs={},d.attributes={},d.trackedFeatureUsage={},d.trackedExperiments?.clear(),l()}}}Sr();function WF(e){let t=e.merchandise;if(typeof e.merchandiseId=="string")return{internalId:e.merchandiseId};if(!(!t||typeof t!="object"||Array.isArray(t))){if(typeof t.internalId=="string")return{internalId:t.internalId};if(typeof t.externalId=="string")return{id:t.externalId};if(typeof t.id=="string")return{id:t.id}}}function UW(e){let t=WF(e),{merchandiseId:r,merchandise:i,...o}=e;return{...o,...t?{merchandise:t}:{}}}function JF(e,t,r,i,o){if(o&&i&&(o.scope.projectId!==i.projectId||o.scope.environment!==i.environment))throw new G("SCOPE_MISMATCH","Configuration belongs to another App/environment");let a=0,s=new Set;function c(){if(!t())throw new G("NOT_IDENTIFIED","Call identify before using Features or events")}async function u(l={}){o||c();let d=a,p=!1,f=async()=>{if(p||d!==a)throw new G("IDENTITY_CHANGED","Feature identity changed");let T=oe.getFeatures,W=o?{scope:{projectId:o.scope.projectId,environment:o.scope.environment},payload:await o.features()}:await xd(e,T,{});if(d!==a)throw new G("IDENTITY_CHANGED","Feature identity changed");if(i&&(W.scope.projectId!==i.projectId||W.scope.environment!==i.environment))throw new G("INVALID_RESPONSE","Feature response scope changed");return r.rememberConfiguration(W.payload.analyticsConfig),W},h=await f(),m=!0,g,S=T=>{try{l.onError?.(T)}catch{}},v=(T,W,z)=>{try{let $=WF(z);r.track(T,W,$?{merchandise:$}:{})}catch($){S($)}},_=KF({assertUsable:o?.assertFeatures,scope:h.scope,attributes:l.attributes,onError:l.onError,load:async()=>m?(m=!1,h.payload):(await f()).payload,evaluateRemote:async T=>{if(d!==a)throw new G("IDENTITY_CHANGED","Feature identity changed");let W=oe.evaluateFeatures,z=await xd(e,W,{...T,attributes:UW(T.attributes)});if(z.scope.projectId!==h.scope.projectId||z.scope.environment!==h.scope.environment)throw new G("INVALID_RESPONSE","Remote Feature response scope changed");return{generation:z.generation,evaluatedAt:z.evaluatedAt,expiresAt:z.expiresAt,features:z.features,...z.merchandiseContext?{merchandiseContext:z.merchandiseContext}:{}}},onExperimentViewed:(T,W,z)=>v("Experiment Viewed",{experimentId:T.key,variationId:W.key},z),onFeatureUsage:(T,W,z)=>v("Feature Evaluated",{feature:T,value:W.value,source:W.source,ruleId:W.ruleId,...W.experimentResult?{variationId:W.experimentResult.key}:{}},z)}),P=_.refresh;function E(){clearTimeout(g),!o&&(p||d!==a||!_.expiresAt||(g=setTimeout(()=>{D().catch(S)},Math.min(2147483647,Math.max(1e3,Date.parse(_.expiresAt)-Date.now()))),typeof g=="object"&&"unref"in g&&g.unref()))}async function D(){try{return await P()}finally{E()}}let L=()=>{p||D().catch(S)},U=_.subscribe(E),j=o?.subscribe(()=>{!p&&o.fresh&&D().catch(S)});function V(){p||(p=!0,clearTimeout(g),typeof window<"u"&&window.removeEventListener("focus",L),U(),j?.(),_.reset(),s.delete(V))}s.add(V);try{await _.init(),(l.attributes?.merchandise||l.attributes?.merchandiseId)&&await _.refreshRemote()}catch(T){throw V(),T}return E(),!o&&typeof window<"u"&&window.addEventListener("focus",L),Object.assign(_,{refresh:D,destroy:V})}return{features:u,reset(l){a++,l();for(let d of s)d()}}}Sr();async function QF(e,t,r){let i={features:"getFeatures","features/evaluate":"evaluateFeatures",events:"trackEvents"},o=!1,a=async(l,d={})=>{if(o||!i[l])throw new G("IDENTITY_CHANGED","Feature session is unavailable");return e("featureOperation",{operation:i[l],input:d})},s=GF(a,()=>!o),c=JF(a,()=>!o,s,ct.parse(t)),u=await c.features({attributes:n.record(n.string(),Ne).parse(r??{})});return{async call(l){if(o)throw new G("IDENTITY_CHANGED","Feature session is unavailable");let d=n.strictObject({method:n.enum(["evalFeature","isOn","isOff","getFeatureValue","setAttributes","refresh","flush"]),key:n.string().min(1).max(255).optional(),fallback:Ne.optional(),attributes:n.record(n.string(),Ne).optional()}).parse(l);switch(d.method){case"refresh":return await u.refresh(),null;case"flush":return await s.flush(),null;case"setAttributes":return u.setAttributes(d.attributes??{}),await u.refreshRemote(),null;case"evalFeature":{let{value:p,source:f,on:h,off:m,ruleId:g,experimentResult:S}=u.evalFeature(n.string().parse(d.key));return Q_.parse({value:p,source:f,on:h,off:m,ruleId:g,...S?{experimentResult:S}:{}})}case"isOn":return u.isOn(n.string().parse(d.key));case"isOff":return u.isOff(n.string().parse(d.key));case"getFeatureValue":return u.getFeatureValue(n.string().parse(d.key),d.fallback??null)}},refresh:()=>u.refresh(),destroy(){o||(o=!0,c.reset(s.reset),s.detachVisibility())}}}mn();Q();mn();Q();za();Sr();OP();Ny();dV();cg();var TP=new WeakMap;function hV(e){let t={string:n.string(),number:n.number().finite(),boolean:n.boolean(),strings:n.array(n.string()),json:Ne}[e.type];return e.nullable?t.nullable():t}async function gV(e,t){return kee(e,t,!1)}async function kee(e,t,r){t.signal?.throwIfAborted();let i=Ea.parse(t.content),o=i.document;if(TP.has(e))throw new G("CONFLICT","Content is already mounted in this container");let a=n.record(n.string(),Ne).parse(t.inputs??{});if(Object.keys(a).length>40)throw new G("INVALID_REQUEST","Too many content inputs");for(let[T,W]of Object.entries(a))Gn.parse({[T]:W});if(Object.keys(a).some(T=>!Object.hasOwn(o.contract.inputs,T)))throw new G("INVALID_REQUEST","Undeclared content input");for(let[T,W]of Object.entries(o.contract.inputs))if(Object.hasOwn(a,T))hV(W).parse(a[T]);else if(W.required)throw new G("INVALID_REQUEST",`Missing content input ${T}`);for(let T of Object.keys(o.contract.outputs))if(typeof t.actions[T]!="function")throw new G("INVALID_REQUEST",`Missing host handler for ${T}`);let s=kc.parse(t.bindings??[]),c=e.ownerDocument,u,l=o.kind==="popup",d=l?c.createElement("dialog"):null,p=c.createElement("div");if(p.dataset.indianaContent=o.kind,p.setAttribute("aria-label",o.name),p.style.cssText="width:100%;min-width:0",d){d.setAttribute("aria-label",o.name);let T=o.screen.presentation;d.style.cssText="box-sizing:border-box;padding:0;border:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto",T.type==="modal"||T.type==="sheet"?(d.style.width=`${ih[T.size]}px`,T.type==="sheet"&&(d.style.margin="auto auto 0")):d.style.width="100vw",d.append(p),e.append(d)}else e.append(p);let f=!1,h=!1,m=!1;r&&!d&&(p.style.width=`${e.getBoundingClientRect().width||c.defaultView?.innerWidth||800}px`);let g=r?lV(d??p):()=>{},S,v,_=new Promise((T,W)=>{S=T,v=W});_.catch(()=>{});let P=null,E=structuredClone(o.screen);E.actions=E.actions.map(T=>T.type==="event"?{...T,close:!1}:T);let D;function L(){f||(f=!0,t.signal?.removeEventListener("abort",L),v(new Error("Content preparation cancelled")),D?.destroy(),d?.close(),d?.remove(),p.remove(),TP.delete(e),d&&u?.())}let U=()=>{m&&(L(),nt(t.onDismiss))};if(d){let T=c.createElement("button");T.type="button",T.textContent="\xD7",T.setAttribute("aria-label",t.locale?.startsWith("zh")?"\u5173\u95ED":"Close"),ez(T,o.screen.theme),T.addEventListener("click",U),d.prepend(T)}d?.addEventListener("cancel",T=>{T.preventDefault(),U()});async function j(){if(f||!m||h||!P)return;let T=P;h=!0,p.setAttribute("aria-busy","true");try{await t.actions[T.actionId](structuredClone(T)),P=null}catch(W){nt(t.onError,W)}finally{h=!1,f||p.removeAttribute("aria-busy")}}function V(){if(f)throw new G("CONFLICT","Content host has been destroyed");m||(u=Md(c),g(),r&&!d&&(p.style.width="100%"),d&&(d.showModal(),Lc(d,o.screen.presentation.type)),m=!0)}try{r||V(),D=Dy(p,{mode:"live",rendererUrl:t.rendererUrl,title:o.name,viewportHeight:o.kind==="page"?e.clientHeight||c.defaultView?.innerHeight||800:void 0,onRendered:z=>{z&&d?.setAttribute("aria-label",z),S()},onError:z=>{let $=new Error(z);v($),nt(t.onError,$)},onEscape:l?U:void 0,onAction:(z,$,H)=>{if(f||!m||h||P)return;let ne=o.screen.actions.find(R=>R.id===z),M=o.contract.outputs[z];if(!(ne?.type!=="event"||!M))try{let R=hV(M).parse(Object.hasOwn(ne.properties,"value")?ne.properties.value:ne.properties);P={requestId:crypto.randomUUID(),contentVersionId:i.id,actionId:z,event:ne.event,value:R,selection:$??{},answers:H??{},requestedClose:ne.close},j()}catch(R){nt(t.onError,R)}}});let T={destroy:L,show:V,get pendingAction(){return P?structuredClone(P):null},retryAction:j,updateCapabilities:z=>D?.updateCapabilities(z)};TP.set(e,T),t.signal?.addEventListener("abort",L,{once:!0}),t.signal?.aborted&&(L(),t.signal.throwIfAborted());let W=dc(E,[t.locale,...c.defaultView?.navigator.languages??[]]);if(D.update(E,W,{capabilities:t.capabilities,serverInput:{bindings:s,answers:{},values:a}}),await Promise.race([D.ready,_]),r&&await _,f)throw new Error("Content preparation cancelled");return T}catch(T){throw L(),T}}async function yV(e){let t=n.strictObject({content:Ea,locale:n.string().min(1).max(35),inputs:n.record(n.string(),Ne)}).parse(await e("content"));return{destroy:(await gV(document.body,{...t,rendererUrl:"bundled",actions:Object.fromEntries(Object.keys(t.content.document.contract.outputs).map(i=>[i,o=>e("contentAction",o)])),onDismiss:()=>{e("dismiss").catch(()=>{})},onError:()=>{e("error").catch(()=>{})}})).destroy,refresh:async()=>{}}}mn();Sr();zo();function bV(e,t){let r=structuredClone(e);for(let[i,o]of Object.entries(r.plans)){let a=t.plans[i];!a||a.versionId!==o.versionId||(a.amountMinor!==void 0&&(o.amountMinor=a.amountMinor),a.interval!==void 0&&(o.interval=a.interval),a.intervalCount!==void 0&&(o.intervalCount=a.intervalCount),a.prepaid!==void 0&&(o.prepaid=structuredClone(a.prepaid)))}return r}function jy(e,t){let r=i=>"document"in i?i.offering.id:i.content.offeringVersionId;return e.id===t.id&&r(e)===r(t)&&e.content?.artifact.sha256===t.content?.artifact.sha256}function $y(e,t,r){if(e.operationId!==t.operationId||t.currency!==void 0&&e.currency!==t.currency)throw new G("INVALID_RESPONSE",r)}function Ly(e,t,r){let i=Object.fromEntries((e.lines[0]?.prepaid??[]).map(o=>[o.internal_feature_id,o.quantity]));if(t.featureQuantities&&(Object.keys(i).length!==Object.keys(t.featureQuantities).length||Object.entries(t.featureQuantities).some(([o,a])=>i[o]!==a)))throw new G("INVALID_RESPONSE","The purchase quote changed its selected quantities");if(e.lines.length!==1||e.lines[0].productVersionId!==t.productVersionId||t.currency!==void 0&&e.currency!==t.currency||t.provider!==void 0&&e.provider!==t.provider&&!(t.provider==="stripe"&&e.provider==="merchant"&&e.execution?.provider==="merchant"))throw new G("INVALID_RESPONSE",r)}function My(e,t,r=!1){return!e||e.operationId!==t?.operationId?t:e.status==="complete"&&t.status!=="complete"||e.status!=="pending"&&(t.status==="pending"||r&&t.status!=="complete")?e:t}async function AV(e){let t=null,r=null,i=null,o=!1,a=null,s=(d,p={})=>{let f=async()=>{if(o)throw new G("CLOSED","Paywall is closed");let g=await e({operation:d,input:p});if(o)throw new G("IDENTITY_CHANGED","Paywall identity changed");return g},h=a?a.then(f):f(),m=h.catch(()=>{});return a=m,m.then(()=>{a===m&&(a=null)}),h};async function c(){let d=Ro.parse(await s("resolve"));if(t&&(!jy(d,t)||d.paywallId!==t.paywallId))throw new G("INVALID_RESPONSE","Pinned Paywall changed");return t=d,structuredClone(d)}async function u(d){if(!r)throw new G("INVALID_REQUEST","A quote is required");let p=r,f=ko.parse(await s(d));return $y(f,p,"Purchase identity changed"),r?.operationId!==p.operationId?structuredClone(f):(i=My(i,f),structuredClone(i))}let l={get view(){return t&&structuredClone(t)},get quote(){return r&&structuredClone(r)},get operation(){return i&&structuredClone(i)},webViewUrl:"bundled",refresh:c,async preview(d){let p=t?.document.buttons[d.actionId],f=t&&p?.type==="checkout"&&Fi(p.product,d.selection,t.capabilities);if(!f)throw new G("PRODUCT_UNAVAILABLE","Choose an available Product");let h=Tc(t.document.screen,f,d.selection,t.capabilities),m=Io.parse(await s("preview",{actionId:d.actionId,productVersionId:f,...Object.keys(h).length?{featureQuantities:h}:{},requestId:d.requestId,...d.offerId?{offerId:d.offerId}:{},...d.nativeOffer?{nativeOffer:d.nativeOffer}:{}}));return Ly(m,{productVersionId:f,featureQuantities:h},"Quoted Product changed"),r?.operationId!==m.operationId&&(i=null),r=m,structuredClone(m)},confirm:()=>u("confirm"),cancel:()=>u("cancel"),read:()=>u("read"),destroy(){o=!0,t=null,r=null,i=null}};return await c(),l}jP();cg();mn();Sr();function wV(e){let t=e.view;if(!t?.paywall)throw new G("INVALID_REQUEST","The current node is not a Paywall");let r=t.paywall.receiptId,i=t.nodeId,o=t.visit,a=t.paywall.resolution,s=t.paywall,c="document"in a?{document:a.document,offering:a.offering,capabilities:a.capabilities}:null;function u(){let j=s.resolution;return"document"in j?j:c&&{...j,document:c.document,offering:c.offering,capabilities:bV(j.capabilities,c.capabilities)}}function l(j){if(!jy(j,a))throw new G("INVALID_RESPONSE","The pinned Paywall binding changed")}let d=!1,p=new AbortController,f=t.paywall.purchaseRequestId,h=0,m=null,g=new Map;function S(j){if(j.purchase&&j.purchase.receiptId!==r)throw new G("INVALID_RESPONSE","Purchase receipt changed");let V=j.run.paywall;return j.purchase??(V?.receiptId===r?V:null)}function v(){if(d)throw new G("IDENTITY_CHANGED","Paywall presentation has closed")}function _(j,V,T){if(v(),V!==h||T!==void 0&&s.quote?.operationId!==T)return!1;let W=s.selectionGeneration??0,z=j.run.paywall;if(z?.receiptId===r){if((z.selectionGeneration??0)<(s.selectionGeneration??0))return!1;l(z.resolution)}let $=S(j),H=z?.receiptId===r&&(z.selectionGeneration??0)>W,ne=H?$?.quote??null:$?.quote??s.quote,M=$?.operation??(ne?.operationId===s.quote?.operationId?s.operation:null);return ne&&M&&$y(M,{operationId:ne.operationId},"Purchase operation changed"),(H||ne?.operationId!==s.quote?.operationId)&&(h++,z?.receiptId===r&&(f=z.purchaseRequestId)),s={...s,...z?.receiptId===r?z:{},quote:ne,operation:My(s.operation,M,!0)},!0}function P(j,V,T){return new Promise((W,z)=>{let $=!1,H=()=>{clearTimeout(Z),p.signal.removeEventListener("abort",R)},ne=be=>{$||($=!0,H(),W(be))},M=be=>{$||($=!0,H(),z(be))},R=()=>M(new G("IDENTITY_CHANGED","Paywall presentation has closed")),Z=setTimeout(()=>M(new G("COMMAND_PENDING","The purchase command is still pending; retry the original request",202,T)),Math.max(0,V-Date.now()));p.signal.addEventListener("abort",R,{once:!0}),p.signal.aborted&&R(),j.then(ne,M)})}function E(j){return new Promise(V=>{let T=()=>{clearTimeout(W),p.signal.removeEventListener("abort",T),V()},W=setTimeout(T,j);p.signal.addEventListener("abort",T,{once:!0}),p.signal.aborted&&T()})}function D(j,V){v();let T=g.get(j)??e.pendingCommands?.find($=>$.requestId===j)??e.pendingCommand;if(T?.operation==="submit"&&T.requestId===j&&T.nodeId===i&&T.visit===o){V.type==="paywall_quote"&&T.input.type==="paywall_quote"&&T.input.predecessor&&!V.predecessor&&(V={...V,predecessor:T.input.predecessor});let $=pn.parse(T),H=pn.parse({...T,input:V});if($.operation!=="submit"||H.operation!=="submit"||JSON.stringify($.input)!==JSON.stringify(H.input))throw new G("CONFLICT","A purchase request cannot change its input");return g.set(j,$),$}let W=e.view;if(!W||W.nodeId!==i||W.visit!==o||W.paywall?.receiptId!==r)throw new G("PRECONDITION_FAILED","The Paywall visit has changed");let z=pn.parse({operation:"submit",requestId:j,nodeId:i,visit:o,revision:W.revision,input:structuredClone(V)});if(z.operation!=="submit")throw new G("INVALID_REQUEST","A purchase submission is required");return g.set(j,z),z}async function L(j,V){v();let{requestId:T,input:W}=j,z=Date.now()+3e4,$=await P(e.submit(j),z,T);for(;$.run.pendingRequest?.requestId===T&&Date.now()<z&&!d&&(await E(Math.min(1e3,z-Date.now())),!(d||Date.now()>=z));)$=await P(e.resume(T),z,T);if(d)throw new G("IDENTITY_CHANGED","Paywall presentation has closed");if($.run.pendingRequest?.requestId===T)throw new G("COMMAND_PENDING","The purchase command is still pending; retry the original request",202,T);if(!_($,V,W.type==="paywall_confirm"||W.type==="paywall_cancel"?W.operationId:void 0))throw new G("PRECONDITION_FAILED","The purchase selection has changed")}async function U(j){if(!s.quote)throw new G("INVALID_REQUEST","A quoted purchase is required");let V=j==="confirm"?"paywall_confirm":"paywall_cancel",T=[...g.values(),...e.pendingCommands??(e.pendingCommand?[e.pendingCommand]:[])].find(z=>z.operation==="submit"&&z.input.type===V&&"operationId"in z.input&&z.input.operationId===s.quote.operationId),W=T?.operation==="submit"&&T.input.type===V&&"operationId"in T.input&&T.input.operationId===s.quote.operationId?T.requestId:crypto.randomUUID();if(await L(D(W,{type:j==="confirm"?"paywall_confirm":"paywall_cancel",operationId:s.quote.operationId}),h),!s.operation)throw new G("INVALID_RESPONSE","The accepted purchase result is missing");return structuredClone(s.operation)}return{get view(){return structuredClone(u())},get quote(){return s.quote?structuredClone(s.quote):null},get operation(){return s.operation?structuredClone(s.operation):null},get webViewUrl(){return e.webViewUrl},get canReselect(){return s.canReselect===!0},async refresh(){v();let j=h,V=await e.get();if(_(V,j),V.run.paywall?.receiptId!==r)throw new G("PRECONDITION_FAILED","Paywall presentation has changed");if(!u()){if("document"in s.resolution||!e.resolvePaywall)throw new G("INVALID_RESPONSE","Public Paywall reader is unavailable");let T=await e.resolvePaywall(s.resolution);v(),l(T),c={document:T.document,offering:T.offering,capabilities:T.capabilities}}return structuredClone(u())},preview(j){let V=u();if(!V)return Promise.reject(new G("PRECONDITION_FAILED","Load the Paywall presentation first"));if(f&&f!==j.requestId&&(m||s.canReselect!==!0))return Promise.reject(new G("COMMAND_PENDING","Retry the original purchase before starting another"));let T=V.document.buttons[j.actionId],W=T?.type==="checkout"?Fi(T.product,j.selection,V.capabilities):null;if(!W)return Promise.reject(new G("PRODUCT_UNAVAILABLE","Choose an available Product in this purchase area"));let z=Tc(V.document.screen,W,j.selection,V.capabilities),$=f!==j.requestId&&(s.selectionGeneration??0)>0?{operationId:s.quote?.operationId??null,generation:s.selectionGeneration??0}:void 0;if($&&s.canReselect!==!0)return Promise.reject(new G("COMMAND_PENDING","Original purchase requires authoritative termination"));let H;try{H=D(j.requestId,{type:"paywall_quote",actionId:j.actionId,productVersionId:W,...Object.keys(z).length?{featureQuantities:z}:{},...$?{predecessor:$}:{},...j.offerId?{offerId:j.offerId}:{},...j.nativeOffer?{nativeOffer:j.nativeOffer}:{}})}catch(R){return Promise.reject(R)}if(f===j.requestId&&m)return m;f!==j.requestId&&h++;let ne=h;f=j.requestId;let M=(async()=>{if(await L(H,ne),!s.quote)throw new G("INVALID_RESPONSE","The accepted quote is missing");return Ly(s.quote,{productVersionId:W,featureQuantities:z},"The selected purchase changed"),structuredClone(s.quote)})();return m=M,M.then(()=>{m===M&&(m=null)},R=>{m===M&&(m=null),f===j.requestId&&e.pendingCommand?.requestId!==j.requestId&&R instanceof G&&R.status!==void 0&&R.status<500&&![401,425].includes(R.status)&&(f=null)}),M},confirm:()=>U("confirm"),cancel:()=>U("cancel"),async read(){if(v(),!s.quote)throw new G("INVALID_REQUEST","A quoted purchase is required");let j=s.quote.operationId,V=h,T=e.pendingCommands?.find(H=>H.operation==="submit"&&(H.input.type==="paywall_confirm"||H.input.type==="paywall_cancel")&&H.input.operationId===j)??e.pendingCommand;T?.operation==="submit"&&(T.input.type==="paywall_confirm"||T.input.type==="paywall_cancel")&&T.input.operationId===j&&await e.settle?.(T.requestId);let W=await e.get(void 0,{receiptId:r,operationId:j});v();let z=S(W);if(z?.quote&&z.quote.operationId!==j||z?.operation&&z.operation.operationId!==j)throw new G("INVALID_RESPONSE","Purchase operation changed");let $=_(W,V,j)?s.operation:z?.operation;if(!$)throw new G("INVALID_RESPONSE","The current purchase result is missing");return structuredClone($)},destroy(){d=!0,p.abort(),g.clear()}}}Sr();za();zo();function _V(e){let t=new Set,r=new Set,i=null;function o(a){if(e.reviewing||t.has(a)||r.has(a)||e.stopped)return;r.add(a);let s=async()=>{if(e.reviewing||e.stopped||e.key!==a){r.delete(a);return}if(e.busy||e.client.pendingCommand){setTimeout(()=>{s()},250);return}let c=(async()=>{let l=e.client.view,d=e.expected(),p=d.requestId,f=!1;try{await e.client.submit({operation:"shown",...d})}catch(h){if(!(h instanceof G)||h.code!=="CONFLICT"||h.status!==409||e.client.pendingCommand)throw h;await e.client.get();let m=e.client.view;if(e.stopped||e.reviewing||e.key!==a||!m||!l||m.id!==l.id||m.source.versionId!==l.source.versionId||m.nodeId!==d.nodeId||m.visit!==d.visit||m.revision<=d.revision||m.stopped||!m.screen&&(!m.paywall||m.paywall.receiptId!==l.paywall?.receiptId)||!["running","waiting"].includes(m.status)||e.client.pendingCommand)throw h;let g=e.expected();p=g.requestId,await e.client.submit({operation:"shown",...g})}for(;!e.stopped&&e.key===a&&e.client.pendingCommand?.requestId===p;){if(!e.client.settle)throw new G("COMMAND_PENDING","The original display acknowledgement is still pending");await e.client.settle(p),f=!0,e.client.pendingCommand?.requestId===p&&await new Promise(h=>setTimeout(h,1500))}e.stopped||e.key!==a||(f&&await e.client.get(),!(e.stopped||e.key!==a)&&t.add(a))})();i=c;let u=()=>{i===c&&(i=null),r.delete(a)};c.then(u,l=>{u(),e.busy||e.fail(l)})};s()}return{report:o,get inFlight(){return i}}}mn();zo();function IV(e){let t={},r=new Map;async function i(o){let a=e.client.view,s=a?.screen,c=s?.customerData.nodes[o.nodeId];if(e.stopped||e.busy||!a||!s||!c)return;if(!["refresh","next","previous","filter","sources_next","sources_previous"].includes(o.action)){let m=e.document,g=m?Nn(m,o.nodeId):null,S=g?.type==="customer_data"?g.data.outputs?.[o.action]:void 0;S&&s.outputs.includes(S)?await e.perform(()=>e.client.submit({operation:"submit",...e.expected(),input:{type:"screen",output:S,answers:e.answers,selection:o.value?{[o.nodeId]:o.value}:{}}})):await e.onIntent?.(o,a);return}let l=o.action.startsWith("sources_")?c.resources.find(m=>m.key===o.value):null;if(o.action.startsWith("sources_")&&!l)throw new G("INVALID_REQUEST","Choose a current resource");let d=`${a.visit}:${o.nodeId}:${l?.key??""}`,p=r.get(d)??[null],h=t[o.nodeId]??{page:1,after:null,filter:"all",...l?{resourceKey:l.key}:{}};if(o.action==="filter"){let m=o.value;if(!m||!(c.source==="offer_history"?["all","issued","reserved","redeemed","expired","revoked"]:["all","purchase","refund","source","usage","debt","settlement"]).includes(m))throw new G("INVALID_REQUEST","Unknown data filter");h={page:1,after:null,filter:m},p.splice(0,p.length,null)}else if(o.action==="next"||o.action==="sources_next"){let m=l?.sources.at(-1),g=l?m?{kind:"ledger",cursor:{at:m.detail[0],id:m.id,type:"source"}}:null:s.dataCursors[o.nodeId];if(!g||!l&&!c.hasNext)return;p[h.page]=g,h={...h,page:h.page+1,after:g}}else if(o.action==="previous"||o.action==="sources_previous"){if(h.page<=1)return;h={...h,page:h.page-1,after:p[h.page-2]??null}}r.set(d,p),t={...t,[o.nodeId]:h},await e.perform(()=>e.client.get({nodeId:a.nodeId,visit:a.visit,revision:a.revision,components:t}))}return{get queries(){return t},intent:i,reset(){t={},r.clear()}}}zo();function kV(e){let{doc:t,holder:r,reviewHolder:i,mountScreenPreview:o}=e,a=!1,s,c=0,u=null,l="",d=new Map,p=m=>m?`${m.id}:${m.nodeId}:${m.visit}:${m.revision}:${m.paywall?.quote?.operationId??""}`:"";async function f(m){if(e.stopped||!e.client.review)return;a||(l=p(e.client.view),d.set(l,structuredClone(e.answers))),a=!0,s=m,r.hidden=!0,e.suspend(!0),i.hidden=!1;let g=++c;try{let S=await e.client.review(m);if(e.stopped||g!==c||!a)return;if(!S.review)throw new G("INVALID_RESPONSE","Historical projection is missing");u?.destroy(),u=null,i.replaceChildren();let v=S.run.locale.startsWith("zh"),_=t.createElement("p");_.textContent=v?"\u53EA\u8BFB\u56DE\u770B":"Read-only history",i.append(_);for(let[D,L]of S.review.pages.entries()){let U=t.createElement("button");U.type="button",U.textContent=v?`\u7B2C ${D+1} \u9875`:`Page ${D+1}`,U.onclick=()=>{f(L.receiptId)},i.append(U)}if(S.review.page){let D=S.review.page,L=t.createElement("div");if(L.inert=!0,i.append(L),u=o(L,{mode:"live",rendererUrl:e.client.webViewUrl,title:D.document.name,onAction:()=>{},onAnswers:()=>{},onCustomerDataIntent:()=>{},onRendered:()=>{},onEscape:()=>{h()}}),u.update(D.document,S.run.locale,{serverInput:{bindings:D.inputs,answers:D.answers,values:D.values}}),await u.ready,e.stopped||g!==c||!a)return}let P=v?{issued:"\u5DF2\u9886\u53D6",reserved:"\u5DF2\u9884\u7559",redeemed:"\u5DF2\u4F7F\u7528",expired:"\u5DF2\u8FC7\u671F",revoked:"\u5DF2\u64A4\u9500",unknown:"\u72B6\u6001\u5F85\u786E\u8BA4"}:{issued:"Issued",reserved:"Reserved",redeemed:"Used",expired:"Expired",revoked:"Revoked",unknown:"Status unconfirmed"},E=v?{pending:"\u5904\u7406\u4E2D",complete:"\u5DF2\u5B8C\u6210",cancelled:"\u5DF2\u53D6\u6D88",failed:"\u5931\u8D25",unknown:"\u72B6\u6001\u5F85\u786E\u8BA4"}:{pending:"Processing",complete:"Completed",cancelled:"Cancelled",failed:"Failed",unknown:"Status unconfirmed"};for(let D of[...S.review.coupons.map((L,U)=>`${v?"\u4F18\u60E0\u5238":"Coupon"} ${U+1}: ${P[L.status]}`),...S.review.purchases.map((L,U)=>`${v?"\u8D2D\u4E70":"Purchase"} ${U+1}: ${E[L.status]}`)]){let L=t.createElement("p");L.textContent=D,i.append(L)}e.client.view&&await e.enqueue(e.client.view)}catch(S){if(g!==c||e.stopped)return;u?.destroy(),u=null,i.replaceChildren(),e.fail(S)}}async function h(){if(!a||e.stopped||!e.client.review)return;let m=++c;try{if(await e.client.review(),e.stopped||m!==c)return;a=!1,c++,u?.destroy(),u=null,i.replaceChildren(),i.hidden=!0,r.hidden=!1;let g=e.client.view;p(g)!==l?(d.set(l,structuredClone(e.answers)),e.resetScreen()):(d.delete(l),e.suspend(!1)),g&&await e.enqueue(g)}catch(g){if(m!==c||e.stopped)return;u?.destroy(),u=null,i.replaceChildren(),e.fail(g)}}return{get active(){return a},get receipt(){return s},open:f,exit:h,get drafts(){return new Map([...d].map(([m,g])=>[m,structuredClone(g)]))},stop(){a=!1,c++,u?.destroy(),u=null,i.replaceChildren(),i.hidden=!0,r.hidden=!1}}}Sl();var $P=new WeakMap;function EV(e,t=document){if(!/^[a-f0-9]{64}$/.test(e))throw new Error("Invalid IAM manifest digest");let r="data-indiana-release",i=t.documentElement,o=()=>new Set((i.getAttribute(r)??"").split(/\s+/).filter(Boolean)),a=$P.get(t);if(!a){let d=new Map,p=new MutationObserver(()=>{let f=o(),h=!1;for(let[m,g]of d)g.count&&!f.has(m)&&(f.add(m),h=!0);h&&i.setAttribute(r,[...f].join(" "))});p.observe(i,{attributes:!0,attributeFilter:[r]}),a={releases:d,observer:p},$P.set(t,a)}let{releases:s,observer:c}=a,u=s.get(e);if(!u){let d=o();u={count:0,owned:!d.has(e)},s.set(e,u),d.add(e),i.setAttribute(r,[...d].join(" "))}u.count++;let l=!1;return{attributes:{indianaAppManifestRelease:e},destroy(){if(!l&&(l=!0,u.count--,!u.count&&(s.delete(e),s.size||(c.disconnect(),$P.delete(t)),u.owned))){let d=o();d.delete(e),d.size?i.setAttribute(r,[...d].join(" ")):i.removeAttribute(r)}}}}za();var Fd=new Set,zy;function CV(e){let t=()=>e();if(Fd.add(t),!zy){let r=!0,i=history.pushState,o=history.replaceState,a=()=>{if(r)for(let u of[...Fd])Fd.has(u)&&nt(u)},s=function(...u){i.apply(this,u),a()},c=function(...u){o.apply(this,u),a()};history.pushState=s,history.replaceState=c,addEventListener("popstate",a),addEventListener("hashchange",a),zy=()=>{r=!1,history.pushState===s&&(history.pushState=i),history.replaceState===c&&(history.replaceState=o),removeEventListener("popstate",a),removeEventListener("hashchange",a)}}return()=>{Fd.delete(t)&&(Fd.size||(zy?.(),zy=void 0))}}var zd=new Map,Eee=new Set,PV=()=>{for(let e of[...Eee])e()};function OV(e,t){if(zd.has(e)&&zd.get(e)!==t)throw new Error("A different Funnel owns this page experiment");return zd.set(e,t),PV(),()=>{zd.get(e)===t&&(zd.delete(e),PV())}}za();function QV(e){if(!e.client.pageExperiments)throw new Error("The Run controller does not support page experiments");let t=e.client.pageExperiments.bind(e.client),r=!1,i=!1,o=0,a=!1,s=!1,c,u=new Map,l=new Set,d={},p=new Map,f=EV(e.appManifestRelease),h=()=>{for(let P of u.values())P.effect.revert();u.clear();for(let P of p.values())P();p.clear()};function m(P){if(r||l.has(P))return;l.add(P);let E=o;t(e.appManifestRelease,[P]).catch(D=>{l.delete(P),!r&&E===o&&nt(e.onError,D)})}async function g(){if(r)return;let P=e.client.view;if(!P||P.stopped||!["running","waiting"].includes(P.status)){o++,h();return}if(a){s=!0;return}a=!0;let E=++o,D=`${P.id}:${P.visit}:${P.revision}`,L=location.href;try{let[U,{applyVisualVariation:j}]=await Promise.all([t(e.appManifestRelease),Promise.resolve().then(()=>(JV(),WV))]),V=e.client.view;if(r||E!==o||!V||V.stopped||!["running","waiting"].includes(V.status)||`${V.id}:${V.visit}:${V.revision}`!==D||location.href!==L)return;let T=new Set,W=new Set;for(let z of U.assignments){let $=`${U.payload.environmentId}:${z.experimentKey}`;if(W.add($),p.has($)||p.set($,OV($,d)),!!z.inExperiment)for(let H of U.payload.experiments){if(H.key!==z.experimentKey||!Al(location.href,H.urlPatterns??[]))continue;let ne=H.meta?.findIndex(tt=>tt.key===z.variationKey)??-1,M=H.variations[ne];if(!M?.renderGuard)continue;let R=z.receiptId+":"+H.changeId,Z=JSON.stringify([z.variationKey,M]);T.add(R);let be=u.get(R);if(be?.signature===Z){be.effect.applied&&m(z.receiptId);continue}u.get(R)?.effect.revert(),u.delete(R);let Fe=j(M,{requireUniqueTargets:!0,boundVariations:H.variations,allowJs:!1,onApplied:()=>m(z.receiptId),onError:tt=>nt(e.onError,tt)});u.set(R,{signature:Z,effect:Fe}),Fe.applied&&m(z.receiptId)}}for(let[z,$]of u)T.has(z)||($.effect.revert(),u.delete(z));for(let[z,$]of p)W.has(z)||($(),p.delete(z))}catch(U){E===o&&h(),!r&&E===o&&nt(e.onError,U)}finally{a=!1,s&&!r&&(s=!1,g())}}let S=e.client.subscribe(()=>{o++,g()}),v=CV(()=>{o++,h(),g()}),_=async()=>{await g(),r||(c=setTimeout(()=>{_()},15e3))};return{async start(){i||r||(i=!0,await _())},refresh:g,destroy(){r=!0,o++,clearTimeout(c),S(),v(),h(),f.destroy()}}}async function e6(e,t){let r=t,{mountScreenPreview:i}=await Promise.resolve().then(()=>(DP(),NP)),{showPaywall:o}=await Promise.resolve().then(()=>(XV(),YV)),a=r.appManifestRelease?QV({client:r.client,appManifestRelease:r.appManifestRelease,onError:r.onError}):void 0;a?.start();let s=e.ownerDocument,c=s.activeElement,u=s.createElement("section"),l=s.createElement("div"),d=s.createElement("div"),p=s.createElement("div"),f=s.createElement("button");p.hidden=!0,f.type="button";let h=s.createElement("p"),m=s.createElement("p"),g=s.createElement("button"),S=s.createElement("button"),v=s.createElement("button"),_=s.createElement("dialog"),P;u.dataset.indianaFunnel="",u.setAttribute("aria-busy","false"),u.style.cssText="box-sizing:border-box;width:100%;min-width:0;font:14px/1.5 system-ui,sans-serif;color:#172033;background:#fff",d.style.cssText="display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 20px",h.setAttribute("role","status"),m.setAttribute("role","alert"),m.hidden=!0,g.type=S.type=v.type="button",d.append(g,h,m,v,f,S),u.append(l,p,d),e.append(u);let E=null,D=null,L=null,U="",j="",V="",T="",W="",z=!1,$=0,H=!1,ne="",M=null,R=Promise.resolve(),Z=null,be=null,Fe=new Set,tt={},re=(Y,De=null)=>{z||(be=De,m.textContent=Y instanceof Error?Y.message:"Request failed",m.hidden=!1,v.hidden=r.client.pendingCommand===null,nt(r.onError,Y))};function Le(){let Y=r.client.view;if(!Y)throw new G("INVALID_REQUEST","No current Run is available");return{requestId:crypto.randomUUID(),nodeId:Y.nodeId,visit:Y.visit,revision:Y.revision}}let Ce=kV({client:r.client,doc:s,holder:l,reviewHolder:p,mountScreenPreview:i,get stopped(){return z},get answers(){return tt},suspend(Y){D?.setSuspended(Y)},resetScreen(){U="",j="",V=""},enqueue:me,fail:re}),we=_V({client:r.client,expected:Le,fail:re,get stopped(){return z},get reviewing(){return Ce.active},get key(){return U},get busy(){return $}}),ot=IV({client:r.client,expected:Le,perform:rt,onIntent:r.onCustomerDataIntent,get stopped(){return z},get busy(){return $},get document(){return E?.document},get answers(){return tt}}),ze=Y=>Y&&(Y.screen||Y.paywall)?`${Y.id}:${Y.nodeId}:${Y.visit}`:"";function vt(){let Y=r.client.view;g.disabled=!Ce.active&&($>0||!!r.client.pendingCommand||!Y?.canBack||Y.stopped||!["running","waiting"].includes(Y.status)||!ze(Y)||j!==ze(Y))}async function rt(Y,De=!1){if(!($&&!De||z||Ce.active&&!De)){$++,u.setAttribute("aria-busy","true"),vt(),m.hidden=!0,be=null;try{if(!De&&we.inFlight){let Ke=r.client.view;await we.inFlight;let st=r.client.view;if(!Ke||!st||st.id!==Ke.id||st.nodeId!==Ke.nodeId||st.visit!==Ke.visit||st.stopped||!["running","waiting"].includes(st.status))throw new G("PRECONDITION_FAILED","The screen changed while its display was acknowledged")}if(z)return;let lt=await Y();z||await me(r.client.view??lt.run)}catch(lt){re(lt,r.client.pendingCommand?.requestId??null)}finally{$=Math.max(0,$-1),u.setAttribute("aria-busy",String($>0)),z||(v.hidden=r.client.pendingCommand===null,vt())}}}function at(){M&&clearTimeout(M),!(z||!L||!["running","waiting"].includes(L.status)&&!r.client.pendingCommand)&&(M=setTimeout(()=>{M=null,an().finally(at)},L.pendingRequest||r.client.pendingCommand?1500:5e3))}async function an(){if(!(z||H||$)){if(Ce.active){await Ce.open(Ce.receipt);return}H=!0;try{let Y=r.client.pendingCommand;Y&&r.client.settle&&await r.client.settle(Y.requestId);let De=r.client.view,lt=ot.queries,Ke=await r.client.get(De?.screen&&Object.keys(lt).length?{nodeId:De.nodeId,visit:De.visit,revision:De.revision,components:lt}:void 0);!z&<===ot.queries&&await me(r.client.view??Ke.run)}catch(Y){re(Y)}finally{H=!1}}}function ge(Y){let De=Y.screen?.presentation;if(!De||De.type==="inline"){_.open&&_.close(),u.parentElement!==e&&e.append(u);return}u.parentElement!==_&&(_.append(u),e.append(_));let lt={sm:420,md:640,lg:900};_.style.cssText=`padding:0;border:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;width:${"size"in De?lt[De.size]+"px":"100vw"}`,_.setAttribute("aria-label",(P?.screen===Y.screen?.content.document.name?P?.label:void 0)??E?.document?.name??Y.screen?.content.document.name??"Funnel"),_.open||(_.showModal(),Lc(_,De.type))}async function de(Y){if(z)return;L=Y,be&&r.client.pendingCommand?.requestId!==be&&(m.hidden=!0,be=null);let De=Y.locale.startsWith("zh");if(f.textContent=De?"\u56DE\u770B":"History",f.hidden=!r.client.review,g.textContent=Ce.active?De?"\u8FD4\u56DE\u5F53\u524D":"Return to current":De?"\u8FD4\u56DE":"Back",S.textContent=De?"\u5173\u95ED":"Close",v.textContent=De?"\u91CD\u8BD5":"Retry",vt(),v.hidden=r.client.pendingCommand===null,h.textContent=Y.pendingRequest?De?"\u6B63\u5728\u5904\u7406":"Processing":Y.instruction?.type==="wait"?De?"\u7B49\u5F85\u4E2D":"Waiting":"",ne!==`${Y.revision}:${Y.visit}:${Y.status}:${Y.stopped}`&&(ne=`${Y.revision}:${Y.visit}:${Y.status}:${Y.stopped}`,nt(r.onState,structuredClone(Y))),!Y.pendingRequest&&["closed","ineligible","failed"].includes(Y.status)){pt();return}if(Y.stopped||r.client.configurationReady===!1){Ce.stop(),E?.destroy(),E=null,D?.destroy(),D=null,l.replaceChildren(),U="",j="",V="",W="",_.open&&_.close(),u.hidden=!0,at();return}if(u.hidden=!1,Ce.active){at();return}let lt=ze(Y);if(lt!==U&&(j="",E?.destroy(),E=null,D?.destroy(),D=null,l.replaceChildren(),U=lt,V="",W="",tt={...Y.answers},ot.reset()),ge(Y),Y.screen){let st=Y.screen.content;E||(E=i(l,{mode:"live",rendererUrl:r.client.webViewUrl,title:st.document.name,onAction(Je,Tt={},lr={}){if(Ce.active)return;tt={...tt,...lr};let Ho=Object.fromEntries((Y.screen?.inputs??[]).filter(({variable:kr})=>Object.hasOwn(tt,kr)).map(({variable:kr})=>[kr,tt[kr]]));rt(()=>r.client.submit({operation:"submit",...Le(),input:{type:"screen",output:Je,answers:Ho,selection:Tt}}))},onAnswers:Je=>{Ce.active||(tt={...tt,...Je})},onCustomerDataIntent:Je=>{Ce.active||ot.intent(Je).catch(re)},onEscape:()=>{Ce.active||Ve()},onError:Je=>re(new Error(Je)),onRendered:Je=>{if(!Je)return we.report(lt);P={screen:st.document.name,label:Je},_.open&&_.setAttribute("aria-label",Je),we.report(lt)}}));let gt={capabilities:Y.screen.capabilities,customerData:Y.screen.customerData,parameters:Y.parameters,serverInput:{bindings:Y.screen.inputs,answers:tt,values:Y.screen.values}},hn=JSON.stringify([st,Y.locale,gt.parameters,Y.screen.inputs,Y.screen.values]);if(hn!==V)E.update(st.document,Y.locale,gt),V=hn,T=JSON.stringify(gt.capabilities),W=JSON.stringify(gt.customerData);else{let Je=JSON.stringify(gt.capabilities);Je!==T&&(E.updateCapabilities(gt.capabilities),T=Je),JSON.stringify(gt.customerData)!==W&&(E.updateCustomerData(gt.customerData),W=JSON.stringify(gt.customerData))}await E.ready}else if(Y.paywall&&!D){let st=await o(l,{canInteract:()=>!Ce.active&&!z,start:async()=>wV(r.client),onPurchase:r.onPurchase,onCheckoutUrl:r.onCheckoutUrl,resolveOfferId:r.resolveOfferId,onEvent:r.onEvent,onOpenUrl:gt=>r.onOpenUrl?r.onOpenUrl({receiptId:Y.paywall.receiptId,url:gt,openIn:"same_window"}):s.defaultView?.location.assign(gt),onAction:async gt=>{if(Ce.active)return;let hn=await r.client.submit({operation:"submit",requestId:crypto.randomUUID(),nodeId:Y.nodeId,visit:Y.visit,revision:Y.revision,input:{type:"screen",output:gt,answers:{}}});await me(r.client.view??hn.run)},onError:re,onDismiss:()=>{!Ce.active&&!z&&r.client.view?.visit===Y.visit&&Ve()}});z?st.host?.destroy():(D=st.host,D?.setSuspended(Ce.active)),we.report(lt)}if(z)return;j=lt,vt();let Ke=Y.instruction;if(Ke&&(Ke.type==="open_url"||Ke.type==="event")&&!Fe.has(Ke.receiptId)){let st=s.createElement("button");st.type="button",st.textContent=Ke.type==="open_url"?`${De?"\u524D\u5F80":"Continue to"} ${new URL(Ke.url).host}`:De?"\u7EE7\u7EED":"Continue",st.onclick=()=>{let gt=Le(),hn=Ke.type==="open_url"&&!r.onOpenUrl&&Ke.openIn==="new_window"?ve(Ke.url):null;rt(async()=>{let Je="success";if(Ke.type==="open_url")if(r.onOpenUrl)try{Je=await r.onOpenUrl({receiptId:Ke.receiptId,url:Ke.url,openIn:Ke.openIn})===!1?"failed":"opened"}catch(lr){nt(r.onError,lr),Je="failed"}else Je=Ke.openIn==="new_window"&&!hn?"failed":"opened";if(Ke.type==="event"){if(!r.onEvent)throw new G("EVENT_HANDLER_REQUIRED","Provide the event handler");await r.onEvent(Ke.event)}if(z||r.client.view?.nodeId!==gt.nodeId||r.client.view.visit!==gt.visit)throw new G("PRECONDITION_FAILED","The client action visit changed");let Tt=await r.client.submit({operation:"submit",...gt,input:{type:"client_action",receiptId:Ke.receiptId,outcome:Je}});return Fe.add(Ke.receiptId),Ke.type==="open_url"&&!r.onOpenUrl&&Ke.openIn==="same_window"&&s.defaultView?.location.assign(Ke.url),Tt})},l.replaceChildren(st)}!Y.pendingRequest&&Y.status==="completed"&&!Fe.has(`complete:${Y.id}`)&&(Fe.add(`complete:${Y.id}`),nt(r.onComplete,structuredClone(Y))),at()}function ve(Y){let De=s.defaultView?.open(Y,"_blank")??null;return De&&(De.opener=null),De}function me(Y){return vt(),R=R.catch(()=>{}).then(()=>de(Y)),R}let Pe=r.client.subscribe(Y=>{r.client.configurationReady===!1&&(u.hidden=!0,E?.destroy(),E=null,D?.destroy(),D=null,l.replaceChildren(),U="",j="",V="",W="",_.open&&_.close()),me(Y).catch(re)}),Ee=r.client.subscribeError?.(re);function Ve(){return Z||(z?Promise.resolve():r.client.view&&!["running","waiting"].includes(r.client.view.status)?(pt(),Promise.resolve()):(Z=rt(()=>r.client.submit({operation:"close",...Le()}),!0).then(()=>{r.client.view?.status==="closed"&&pt()}).finally(()=>{Z=null}),Z))}function pt(){a?.destroy(),!z&&(z=!0,M&&clearTimeout(M),Pe(),Ee?.(),E?.destroy(),Ce.stop(),D?.destroy(),_.close(),_.remove(),u.remove(),c instanceof HTMLElement&&c.isConnected&&c.focus(),nt(r.onDismiss,L?structuredClone(L):null))}g.onclick=()=>{if(!g.disabled){if(Ce.active){Ce.exit();return}rt(()=>r.client.submit({operation:"back",...Le()}))}},f.onclick=()=>{Ce.open()},S.onclick=()=>{Ve()},v.onclick=()=>{rt(()=>r.client.retry())},_.addEventListener("cancel",Y=>{Y.preventDefault(),Ve()});try{let Y=await r.client.get();await me(r.client.view??Y.run)}catch(Y){throw pt(),Y}return{destroy:pt,refresh:an,review:Ce.open,exitReview:Ce.exit,get unappliedDrafts(){return Ce.drafts}}}mn();Sr();Q();qk();Q();mn();var ite=n.record(n.string().regex(/^[a-f0-9]{64}$/),n.strictObject({at:n.number(),text:n.string()})),Wa=2*1048576,ote=100;function ate(){try{return typeof window>"u"?void 0:window.localStorage}catch{return}}function t6(e,t){let r=t===void 0?ate():t,i=new Map,o=0,a=!1,s=!1,c,u;async function l(p){if(!r)return null;let f;try{let h=await Promise.race([Promise.resolve().then(()=>r.getItem(p)),new Promise(m=>{f=setTimeout(()=>m(null),ote)})]);return typeof h=="string"&&h.length<=Wa&&new TextEncoder().encode(h).byteLength<=Wa?h:null}catch{return null}finally{clearTimeout(f)}}function d(){if(u)return u;let p=(async()=>{try{let f=await l(`${e}:artifacts`);if(f)return ite.parse(JSON.parse(f))}catch{}return{}})();return u=p,p.finally(()=>{u===p&&(u=void 0)}),p}return{async readManifest(){return l(e)},writeManifest(p){!r||p.length>Wa||new TextEncoder().encode(p).byteLength>Wa||(c=p,!s&&(s=!0,Promise.resolve().then(async()=>{try{for(;c!==void 0;){let f=c;try{await r.setItem(e,f)}catch{}c===f&&(c=void 0)}}finally{s=!1}})))},async readArtifact(p){let f=(await d())[p],h=Date.now();return f&&h>=f.at&&h-f.at<=$r.retentionMs?f.text:void 0},writeArtifact(p,f){if(!r||f.length>Wa)return;let h=i.get(p);if(h?.text===f||!h&&i.size>=128)return;let m=new TextEncoder().encode(f).byteLength;o-(h?.byteLength??0)+m>Wa||(i.set(p,{text:f,byteLength:m}),o+=m-(h?.byteLength??0),!a&&(a=!0,Promise.resolve().then(async()=>{try{for(;i.size;){let g=new Map(i);try{let S={...await d()},v=Date.now();for(let[D,L]of g)S[D]={at:v,text:L.text};let _={},P=2,E=0;for(let[D,L]of Object.entries(S).sort(([,U],[,j])=>j.at-U.at)){if(L.at>v||v-L.at>$r.retentionMs)continue;let U=new TextEncoder().encode(JSON.stringify({[D]:L})).byteLength;P+U>Wa||E>=128||(_[D]=L,P+=U,E++)}await r.setItem(`${e}:artifacts`,JSON.stringify(_))}catch{}finally{for(let[S,v]of g)i.get(S)===v&&(i.delete(S),o-=v.byteLength)}}}finally{a=!1}})))}}}qF();mn();async function ste(e,t,r){if(Number(e.headers.get("content-length"))>t)throw e.body?.cancel().catch(()=>{}),r.error("limit");let i=e.body?.getReader();if(!i)throw r.error("missing");let o=[],a=0,s=!1,c=()=>{},u=new Promise((p,f)=>{c=()=>f(r.signal?.reason),r.signal?.addEventListener("abort",c,{once:!0}),r.signal?.aborted&&c()});try{for(;;){let p=await Promise.race([i.read(),u]);if(p.done){s=!0;break}if(a+=p.value.length,a>t)throw r.error("limit");o.push(p.value)}}finally{r.signal?.removeEventListener("abort",c),s||i.cancel().catch(()=>{}),i.releaseLock()}r.signal?.throwIfAborted();let l=new Uint8Array(a),d=0;for(let p of o)l.set(p,d),d+=p.length;return l}async function n6(e,t,r){return new TextDecoder("utf-8",{fatal:!0}).decode(await ste(e,t,r))}function r6(e,t){let r=typeof e=="string"?new TextEncoder().encode(e):e;return r.byteLength===t.byteLength&&FI(r)===t.sha256}var Ge=(e,t)=>new G(e,t),Zo=()=>performance.now(),i6=e=>{typeof e=="object"&&"unref"in e&&e.unref()};function o6(e){let t=$I.parse(e.scope),r=new Fo(e.origin??BF);if(r.username||r.password||r.search||r.hash||r.pathname!=="/"||r.protocol!=="https:"&&!(r.protocol==="http:"&&["localhost","127.0.0.1","[::1]"].includes(r.hostname)))throw Ge("INVALID_URL","Configuration requires a trusted HTTPS origin");let i=new Set([r.origin,...(e.assetOrigins??[]).map(ge=>{let de=new Fo(ge);if(de.protocol!=="https:"||de.username||de.password||de.search||de.hash||de.pathname!=="/")throw Ge("INVALID_URL","Invalid configuration asset origin");return de.origin})]),o=e.fetch??globalThis.fetch.bind(globalThis),a=`/api/v1/configuration/${t.environmentId}`,s=`indiana:configuration:1:${r.origin}:${En(t)}`,c=t6(s,e.storage),u,l=0,d=0,p=!1,f=!1,h=0,m=0,g,S,v,_,P=0,E=new Set,D=new Set,L=new Map,U=new Map,j=0,V=!1;function T(){for(let ge of E)try{ge()}catch{}}function W(ge){try{e.onError?.(ge)}catch{}}let z=()=>!f&&!p&&!!u&&Zo()<l&&Date.now()<d;function $(){if(!z())throw Ge("CONFIGURATION_EXPIRED","Refresh configuration before using it")}function H(ge,de,ve){if(!L.has(ge)){for(;L.size&&(L.size>=128||j+ve>$r.maxCacheBytes);){let me=L.entries().next().value;j-=me[1].byteLength,L.delete(me[0])}L.set(ge,{text:de,byteLength:ve}),j+=ve}}function ne(ge,de,ve){return n6(ge,de,{signal:ve,error:me=>Ge("INVALID_RESPONSE",me==="missing"?"Configuration body is missing":"Configuration exceeds its byte limit")})}function M(ge){let de=new Fo(ge,r);if(!i.has(de.origin)||de.username||de.password||de.hash||de.search)throw Ge("INVALID_URL","Configuration artifact origin is not trusted");return de.href}async function R(ge,de,ve=!1){let me=await o(M(ge),{method:"GET",credentials:"omit",redirect:"error",cache:ve?"default":"no-cache",signal:de,headers:{}});if(me.status===429){let Pe=me.headers.get("retry-after")??"";P=/^\d+$/.test(Pe)?Number(Pe)*1e3:Math.max(0,Date.parse(Pe)-Date.now())||15e3}if(!me.ok&&me.status!==304)throw Ge(`CONFIGURATION_HTTP_${me.status}`,"Configuration synchronization failed");return me}function Z(ge,de,ve){let me=Date.parse(ge.headers.get("x-indiana-config-validated-at")??""),Pe=Date.parse(ge.headers.get("x-indiana-config-valid-until")??""),Ee=Date.parse(ge.headers.get("date")??""),Ve=ge.headers.get("age"),pt=Ve!==null&&/^\d+(\.\d+)?$/.test(Ve)?Number(Ve)*1e3:NaN;if(![me,Pe,Ee,pt].every(Number.isFinite)||Pe<=me||Pe-me>$r.maxControlAgeMs||me>Ee+1e3)throw Ge("INVALID_RESPONSE","Configuration freshness evidence is invalid");let De=Math.min(Pe-me,ve.maxControlAgeSeconds*1e3,$r.maxControlAgeMs)-Math.max(pt,Ee-me,0)-(Zo()-de);if(De<=0)throw Ge("CONFIGURATION_EXPIRED","Configuration validation expired in transit");return Zo()+De}function be(){if(clearTimeout(v),clearTimeout(_),f||!E.size)return;z()&&(_=setTimeout(()=>{z()?be():T()},Math.max(1,l-Zo())),i6(_));let ge=m?Math.min(15e3,1e3*2**Math.min(m-1,4)):Math.min(15e3,(u?.policy.refreshIntervalSeconds??15)*1e3);v=setTimeout(()=>{Fe().catch(W)},Math.max(P,ge*(.8+Math.random()*.2))),i6(v)}async function Fe(){if(f)throw Ge("CONFIGURATION_DISPOSED","Configuration manager was destroyed");if(g)return g;let ge=h,de=new AbortController;S=de;let ve=(async()=>{if(!V){V=!0;try{let hn=await c.readManifest();if(hn&&!u){let Je=MI.parse(JSON.parse(hn));En(Je.scope)===En(t)&&(u=Je)}}catch{}}de.signal.throwIfAborted();let Ve=u,pt=Zo(),Y=await R(a,de.signal);Y.status===304&&(!Ve||!Y.headers.has("x-indiana-config-validated-at")||!Y.headers.has("x-indiana-config-valid-until")||!Y.headers.has("age"))&&(Y=await R(a,de.signal));let De=Y.status===304?Ve:MI.parse(JSON.parse(await ne(Y,$r.maxManifestBytes,de.signal))),{generation:lt,...Ke}=De,st=Y.headers.get("etag");if(En(De.scope)!==En(t)||CM(Ke)!==lt||st!==`"${lt}"`&&st!==`W/"${lt}"`)throw Ge("INVALID_RESPONSE","Configuration scope or content identity changed");if(Ve&&(De.revision<Ve.revision||De.revision===Ve.revision&&De.generation!==Ve.generation))throw Ge("INVALID_RESPONSE","Configuration revision moved backwards or changed identity");for(let[hn,Je]of Object.entries(Ve?.funnels??{})){let Tt=De.funnels[hn];if(Tt&&(Tt.controlRevision<Je.controlRevision||Tt.evaluationRevision<Je.evaluationRevision||Tt.controlRevision===Je.controlRevision&&Tt.state!==Je.state||Tt.evaluationRevision===Je.evaluationRevision&&Tt.evaluationMode!==Je.evaluationMode))throw Ge("INVALID_RESPONSE","Funnel control revision changed identity")}let gt=Z(Y,pt,De.policy);if(de.signal.throwIfAborted(),ge!==h)throw Ge("CONFIGURATION_DISPOSED","Configuration scope changed");return u=De,l=gt,d=Date.now()+Math.max(0,gt-Zo()),p=!1,m=0,P=0,c.writeManifest(En(De)),T(),structuredClone(De)})(),me=setTimeout(()=>de.abort(Ge("CONFIGURATION_UNAVAILABLE","Configuration initialization timed out")),$r.initializationMs),Pe=new Promise((Ve,pt)=>de.signal.addEventListener("abort",()=>pt(de.signal.reason),{once:!0})),Ee=Promise.race([ve,Pe]).catch(Ve=>{throw m++,(Ve instanceof n.ZodError||Ve instanceof SyntaxError||Ve instanceof G&&["CONFIGURATION_HTTP_404","CONFIGURATION_HTTP_410","INVALID_RESPONSE"].includes(Ve.code))&&(l=0,p=!0,T()),Ve}).finally(()=>{clearTimeout(me),g===Ee&&(g=void 0),be()});return g=Ee,Ee}async function tt(ge){let de=ge.sha256,ve=Ke=>r6(Ke,ge);M(ge.url);let me=L.get(de);if(me){if(me.byteLength!==ge.byteLength)throw Ge("INVALID_RESPONSE","Configuration artifact digest or size mismatch");return L.delete(de),L.set(de,me),me.text}let Pe=U.get(de);if(Pe){if(Pe.byteLength!==ge.byteLength)throw Ge("INVALID_RESPONSE","Configuration artifact digest or size mismatch");return Pe.promise}let Ee=new AbortController;D.add(Ee);let Ve=h,pt=(async()=>{try{let gt=await c.readArtifact(de);if(gt&&ve(gt)){if(Ee.signal.throwIfAborted(),f||Ve!==h)throw Ge("CONFIGURATION_DISPOSED","Configuration scope changed");return H(de,gt,ge.byteLength),gt}}catch{}Ee.signal.throwIfAborted();let Ke=await R(ge.url,Ee.signal,!0),st=await ne(Ke,ge.byteLength,Ee.signal);if(!ve(st))throw Ge("INVALID_RESPONSE","Configuration artifact digest or size mismatch");if(f||Ve!==h)throw Ge("CONFIGURATION_DISPOSED","Configuration scope changed");return H(de,st,ge.byteLength),c.writeArtifact(de,st),st})(),Y=setTimeout(()=>Ee.abort(Ge("CONFIGURATION_UNAVAILABLE","Configuration artifact timed out")),$r.initializationMs),De=new Promise((Ke,st)=>Ee.signal.addEventListener("abort",()=>st(Ee.signal.reason),{once:!0})),lt=Promise.race([pt,De]).finally(()=>{clearTimeout(Y),D.delete(Ee),U.delete(de)});return U.set(de,{promise:lt,byteLength:ge.byteLength}),lt}async function re(){return z()||await Fe(),$(),u}async function Le(ge){let de,ve=new Promise((me,Pe)=>{de=setTimeout(()=>Pe(Ge("CONFIGURATION_UNAVAILABLE","Configuration initialization timed out")),$r.initializationMs)});try{return await Promise.race([ge(),ve])}finally{clearTimeout(de)}}function Ce(ge,de){if($(),u?.generation!==ge.generation)throw Ge("CONFIGURATION_CHANGED","Configuration changed while preparing a snapshot");if(de&&u.funnels[de]?.state!=="active")throw Ge("FUNNEL_STOPPED","Funnel is paused or unavailable")}async function we(ge){let de=ge.gb.features;if(!de)throw Ge("CONFIGURATION_UNAVAILABLE","Public Feature delivery is disabled");let ve=ge.artifacts[de];if(ve.formatVersion!==1)throw Ge("UNSUPPORTED_SCHEMA","Unsupported public GB configuration format");let me=J_.parse(JSON.parse(await tt(ve)));if(En(me.scope)!==En({projectId:t.projectId,environment:t.environment})||me.generation!==ve.generation||me.remoteFeatures.some(Pe=>Object.hasOwn(me.features,Pe)))throw Ge("INVALID_RESPONSE","Public GB configuration scope or generation is invalid");return Ce(ge),{...me,evaluatedAt:new Date().toISOString(),expiresAt:new Date(Date.now()+Math.max(0,l-Zo())).toISOString()}}async function ot(ge,de){let ve=await re(),me=ve.funnels[ge];de&&(!me||me.evaluationMode==="local"&&!me.versions[de])&&(g&&await g,ve=await Fe()),Ce(ve,ge);let Pe=ve.funnels[ge];if(Pe.evaluationMode!=="local")throw Ge("EVALUATION_MODE","This Funnel executes at Longplay; public graph loading is disabled");let Ee=de??Pe.currentVersionId,Ve=Pe.versions[Ee];if(!Ve)throw Ge("CONFIGURATION_UNAVAILABLE","Pinned Funnel Version is unavailable");if(ve.artifacts[Ve.artifact].formatVersion!==3)throw Ge("UNSUPPORTED_SCHEMA","Unsupported public Funnel format");let[pt,Y]=await Promise.all([tt(ve.artifacts[Ve.artifact]).then(De=>OM(JSON.parse(De))),Pe.evaluationMode==="local"?we(ve):void 0]);if(Y&&En(PM(pt,Y))!==En(Ve.dependencies))throw Ge("INVALID_RESPONSE","Funnel and GB dependency contract do not match");return Ce(ve,ge),{document:pt,growth:Y,versionId:Ee,control:structuredClone(Pe),manifest:structuredClone(ve)}}async function ze(ge,de){try{return await ot(ge,de)}catch(ve){if(!(ve instanceof G)||!(ve.code==="CONFIGURATION_CHANGED"||ve.code==="CONFIGURATION_HTTP_404"&&z()))throw ve;let me=u?.generation;if(g&&await g,await Fe(),ve.code!=="CONFIGURATION_CHANGED"&&u?.generation===me)throw ve;return ot(ge,de)}}function vt(){p=!0,T(),Fe().catch(W)}let rt=()=>{(typeof document>"u"||document.visibilityState==="visible")&&vt()};function at(ge){if(f)throw Ge("CONFIGURATION_DISPOSED","Configuration manager was destroyed");return E.add(ge),E.size===1&&(typeof window<"u"&&(window.addEventListener("online",vt),window.addEventListener("focus",rt),document.addEventListener("visibilitychange",rt)),be()),()=>{E.delete(ge),E.size||(clearTimeout(v),clearTimeout(_),an())}}function an(){typeof window<"u"&&(window.removeEventListener("online",vt),window.removeEventListener("focus",rt),document.removeEventListener("visibilitychange",rt))}return{scope:Object.freeze({...t}),refresh:Fe,subscribe:at,assertFresh:$,assertFeatures(ge){$();let de=u.gb.features;if(!de)throw Ge("CONFIGURATION_UNAVAILABLE","Public Feature delivery is disabled");if(ge!==void 0&&u.artifacts[de].generation!==ge)throw Ge("CONFIGURATION_CHANGED","Refresh changed Feature configuration before evaluation")},get fresh(){return z()},get snapshot(){return u?structuredClone(u):null},get remainingMs(){return z()?Math.max(0,l-Zo()):0},async features(){return Le(async()=>we(await re()))},pageExperiments:()=>Le(async()=>{let ge=await re(),de=ge.gb.pageExperiments;if(!de)throw Ge("CONFIGURATION_UNAVAILABLE","Public page experiments are disabled");let ve=ge.artifacts[de];if(ve.formatVersion!==1)throw Ge("UNSUPPORTED_SCHEMA","Unsupported page experiment format");let me=pF.parse(JSON.parse(await tt(ve)));if(me.environmentId!==t.environmentId||me.generation!==ve.generation)throw Ge("INVALID_RESPONSE","Page experiment scope or generation changed");return Ce(ge),me}),funnel:(ge,de)=>Le(()=>ze(ge,de)),paywall:(ge,de)=>Le(async()=>{let ve=await re(),me=ve.paywalls?.[ge];if(!me||!de&&me.state!=="published")throw Ge("PAYWALL_UNAVAILABLE","Published Paywall is unavailable");let Pe=de??me.currentVersionId,Ee=me.versions[Pe],Ve=Ee&&ve.artifacts[Ee.artifact];if(!Ve||Ve.kind!=="paywall"||Ve.formatVersion!==1)throw Ge("UNSUPPORTED_SCHEMA","Public Paywall format is unavailable");let pt=IM.parse(JSON.parse(await tt(Ve)));return Ce(ve),{document:pt,versionId:Pe,version:Ee.version,control:structuredClone(me),manifest:structuredClone(ve)}}),async localFunnel(ge,de){let ve=await Le(()=>ze(ge,de));if(!ve.growth)throw Ge("EVALUATION_MODE","This Funnel requires remote execution");let{analyticsConfig:me,remoteFeatures:Pe,...Ee}=ve.growth;return W2({scope:{projectId:t.projectId,environment:t.environment},funnelId:ge,versionId:ve.versionId,evaluationMode:"local",evaluationRevision:ve.control.evaluationRevision,document:ve.document,payload:Ee})},assertFunnel(ge,de,ve){$();let me=u.funnels[ge];if(!me||me.state!=="active")throw Ge("FUNNEL_STOPPED","Funnel is paused or unavailable");if(me.evaluationMode!=="local")throw Ge("EVALUATION_MODE","This Funnel now executes at Longplay");if(de!==void 0&&me.controlRevision!==de)throw Ge("RUN_RECONCILIATION_REQUIRED","Reconcile the original Run after a control change");if(ve!==void 0&&!me.versions[ve])throw Ge("CONFIGURATION_UNAVAILABLE","Pinned Funnel Version is unavailable")},destroy(){if(!f){f=!0,h++,l=0,S?.abort(Ge("CONFIGURATION_DISPOSED","Configuration manager was destroyed")),clearTimeout(v),clearTimeout(_),an(),T(),E.clear();for(let ge of D)ge.abort(Ge("CONFIGURATION_DISPOSED","Configuration manager was destroyed"));L.clear(),j=0}}}}mn();Sr();var a6=(e,t)=>new G(e,t);Sr();async function s6(e,t,{predict:r=!0}={}){let i=t.instruction;if(i?.type!=="evaluate_segment")throw new Error("Local segment instruction required");if(!e)throw new G("CONFIGURATION_UNAVAILABLE","Local execution requires public configuration");if(e.scope.environmentId!==i.environmentId)throw new G("SCOPE_MISMATCH","Evaluation environment changed");let o=null,a;if(r)try{let s=await e.funnel(t.source.id,t.source.versionId);a=s.manifest.generation,o=cte(e,t,s)}catch{o=null}return a??=e.snapshot?.generation??(await e.refresh()).generation,{advance:{policyRevision:i.policyRevision,generation:a},prediction:o}}function cte(e,t,r){let i=t.instruction;if(i?.type!=="evaluate_segment"||!r.growth||r.control.evaluationMode!=="local"||r.control.evaluationRevision!==i.policyRevision)return null;let{analyticsConfig:o,remoteFeatures:a,...s}=r.growth,c=Ak({scope:{projectId:e.scope.projectId,environment:e.scope.environment},funnelId:t.source.id,versionId:t.source.versionId,evaluationMode:"local",evaluationRevision:i.policyRevision,document:r.document,payload:Dr.parse(s)}),u=ute(c,r.document,{...t,...i}),l=u.steps.at(-1),d=u.boundary??(l?.result.port==="value"?{nodeId:l.nodeId,visit:t.visit+u.steps.length-1}:null);return d?{runId:t.id,from:{nodeId:t.nodeId,visit:t.visit,revision:t.revision},nodeId:d.nodeId,visit:d.visit,terminal:!u.boundary}:null}function ute(e,t,r){return bF(e,t,r,a6)}mn();function Jy(e,t){if(e===t)return!0;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((o,a)=>Jy(o,t[a]));if(!e||!t||typeof e!="object"||typeof t!="object")return!1;let r=Object.entries(e),i=Object.entries(t);return r.length===i.length&&r.every(([o,a])=>Object.hasOwn(t,o)&&Jy(a,Reflect.get(t,o)))}Q();var lte=/^\/api\/v1\/configuration\/[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}(?:\/artifacts\/[a-f0-9]{64})?$/,dte=n.strictObject({status:n.number().int().min(200).max(599),headers:n.record(n.string(),n.string()),body:n.string()});function c6(){let e=window,t,r=new Map,i=null,o=null,a=!1,s=!1,c=null,u,l=null,d=null,p=null,f=null,h=!1,m=new Set,g=null,S=null,v=null,_=new Set;function P($){if(a)throw new G("CLOSED","Native host is unavailable");if(i)i.postMessage(JSON.stringify($));else if(e.webkit?.messageHandlers?.indianaFunnel)e.webkit.messageHandlers.indianaFunnel.postMessage($);else throw new G("BRIDGE_UNAVAILABLE","Native bridge is unavailable")}function E($,H={}){let ne=crypto.randomUUID();return new Promise((M,R)=>{let Z=setTimeout(()=>{r.delete(ne),R(new G("TIMEOUT","Retry the original command"))},45e3);r.set(ne,{resolve:M,reject:R,timer:Z});try{P({id:ne,method:$,payload:H})}catch(be){clearTimeout(Z),r.delete(ne),R(be)}})}function D($,H=!1,ne=d,M){let R=jo.parse($);if(M&&R.settlement?.requestId!==M)throw new G("INVALID_RESPONSE","Exact command settlement is missing or changed");if(H&&!R.review)throw new G("INVALID_RESPONSE","Historical projection is missing");if(!c||R.scope.projectId!==c.projectId||R.scope.environment!==c.environment)throw new G("SCOPE_MISMATCH","Native run scope changed");if(d&&(d.id!==R.run.id||d.source.type!==R.run.source.type||d.source.id!==R.run.source.id||d.source.versionId!==R.run.source.versionId||d.locale!==R.run.locale||!Jy(d.parameters,R.run.parameters)))throw new G("INVALID_RESPONSE","Run identity changed");if(H&&d&&d!==ne&&R.run.revision<=d.revision||(H&&!R.run.stopped&&["running","waiting"].includes(R.run.status)&&d&&R.run.nodeId===d.nodeId&&R.run.visit===d.visit&&R.run.revision===d.revision&&(R.run.screen=d.screen,(d.paywall?.quote?.operationId===R.review?.activeOperationId||!d.paywall?.quote&&R.review?.activeOperationId===null)&&(R.run.paywall=d.paywall)),["running","waiting"].includes(R.run.status)||(h=!0),d?.paywall&&R.run.paywall&&d.paywall.receiptId===R.run.paywall.receiptId&&(R.run.paywall.selectionGeneration??0)<(d.paywall.selectionGeneration??0)))return R;if(!d||R.run.revision>=d.revision){d=R.run;for(let Z of _)try{Z(structuredClone(d))}catch{}}return R}async function L($){let H=pn.parse($),ne=$.operation==="close";if(ne){if(p?.requestId===$.requestId)throw new G("INVALID_REQUEST","Close requires its own request identity");if(h=!0,f&&JSON.stringify(f)!==JSON.stringify($))throw new G("COMMAND_PENDING","Retry the original Close");f??=$}if(!ne&&h)throw new G("COMMAND_PENDING","Settle the original command after Close");if(!ne&&p&&JSON.stringify(p)!==JSON.stringify($))throw new G("COMMAND_PENDING","Retry the original command");ne||(p??=$);let M=ne?f:p,R=m.has($.requestId);m.add($.requestId);try{if(H.operation==="start"||H.operation==="review"||"customerToken"in H)throw new G("INVALID_REQUEST","Credentials belong to the native host");let Z=D(await E("command",H),!1,d,$.requestId);return Z.settlement?.state==="settled"&&Z.run.pendingRequest?.requestId!==$.requestId&&(!h||ne||!["running","waiting"].includes(Z.run.status))&&(p===M&&(p=null),f===M&&(f=null),m.delete($.requestId)),Z}catch(Z){throw(p===M||f===M)&&!R&&Z instanceof G&&Z.status!==void 0&&Z.status<500&&Z.recovery!=="recover_operation"&&![401,425].includes(Z.status)&&(p===M&&(p=null),f===M&&(f=null),m.delete($.requestId)),Z}}async function U($,H){let ne=new URL($ instanceof Request?$.url:$);if(ne.origin!==t||ne.search||ne.hash||(H?.method??"GET")!=="GET"||!lte.test(ne.pathname))throw new G("INVALID_URL","Configuration path is not trusted");H?.signal?.throwIfAborted();let M=dte.parse(await E("configuration",{path:ne.pathname}));return H?.signal?.throwIfAborted(),new Response([204,205,304].includes(M.status)?null:M.body,{status:M.status,headers:M.headers})}async function j($){if($.run.instruction?.type!=="evaluate_segment"||p||h)return $;if(l)return l;let H=(async()=>{let ne=$;for(let M=0;M<32;M++){let R=ne.run,Z=R.instruction;if(Z?.type!=="evaluate_segment")break;if(a||!c)throw new G("IDENTITY_CHANGED","Native session changed");u??=o6({origin:t,scope:{...c,environmentId:Z.environmentId},fetch:U,storage:null});let be=()=>d&&(d.revision!==R.revision||d.visit!==R.visit||d.nodeId!==R.nodeId);if(Z.type==="evaluate_segment"){let{advance:Fe}=await s6(u,R,{predict:!1});if(p||h)return ne;if(be())return D(await E("command",{operation:"get"}));ne=await L({operation:"commit_segment",requestId:R2(R.id,R.visit,`segment:${R.revision}`),nodeId:R.nodeId,visit:R.visit,revision:R.revision,...Fe})}}return ne})();l=H;try{return await H}finally{l===H&&(l=null)}}function V(){if(!a){a=!0,u?.destroy(),v?.destroy(),g?.destroy(),g=null,d=null,p=null,f=null,m.clear(),_.clear();for(let $ of r.values())clearTimeout($.timer),$.reject(new G("IDENTITY_CHANGED","Native identity changed"));r.clear(),i?.close(),i=null,o=null,window.removeEventListener("message",z),document.body.replaceChildren()}}let T={async resolvePaywall($){return Ro.parse(await E("paywallContent",{id:$.id,sha256:$.content.artifact.sha256}))},get view(){return d?structuredClone(d):null},get pendingCommand(){let $=f??p;return $?structuredClone($):null},get pendingCommands(){return[p,f].filter($=>$!==null).map($=>structuredClone($))},async settle($){let H=D(await E("command",{operation:"get",settlementRequestId:$}));if(H.settlement?.requestId!==$)throw new G("INVALID_RESPONSE","Exact command settlement is missing");return H.settlement.state==="settled"&&H.run.pendingRequest?.requestId!==$&&(p?.requestId===$&&(p=null),f?.requestId===$&&(f=null),m.delete($)),H},webViewUrl:"bundled",async review($){let H=d;return D(await E("command",{operation:"review",...$?{receiptId:$}:{}}),!0,H)},async get($,H){let ne=D(await E("command",{operation:"get",...$?{data:$}:{},...H?{purchase:H}:{}})),M=await E("pendingCommand");if(M){let R=pn.parse(M);if(R.operation==="get"||R.operation==="start"||R.operation==="review"||"customerToken"in R)throw new G("INVALID_RESPONSE","Invalid native pending command");m.add(R.requestId),R.operation==="close"?(f=R,h=!0):p=R}else p=null,f=null;return j(ne)},submit:$=>L($).then(j),retry:()=>f?L(f):h&&p?T.settle(p.requestId):p?L(p).then(j):Promise.reject(new G("INVALID_REQUEST","No pending command")),resume:($=d?.pendingRequest?.requestId)=>$?h?T.settle($):L({operation:"resume",requestId:$}).then(j):Promise.reject(new G("INVALID_REQUEST","No interrupted command")),identify(){throw new G("INVALID_REQUEST","Customer credentials belong to the native session")},subscribe($){return _.add($),()=>_.delete($)},reset:V};async function W($,H,ne,M){if(s||a)return;let R=new URL(n.string().parse(H));if(R.origin!==H||R.username||R.password||R.protocol!=="https:"&&!(R.protocol==="http:"&&["localhost","127.0.0.1","[::1]"].includes(R.hostname)))throw new G("INVALID_CONFIGURATION","Invalid native API origin");if(t=R.origin,c=ct.parse($),s=!0,ne==="features"){if(S=await QF(E,c,M),g=S,a){g.destroy(),g=null;return}await E("featuresReady");return}if(ne==="content"){g=await yV(E),a&&(g.destroy(),g=null);return}if(ne==="paywall"){if(v=await AV(be=>E("paywall",be)),a){v.destroy();return}g=(await Fy(document.body,{start:async()=>v,onPurchase:({operation:be})=>E("purchase",{operation:be}),onCheckoutUrl:be=>E("checkout",{url:be}),onOpenUrl:be=>E("open",{url:be}),onEvent:be=>E("event",{event:be}),onComplete:()=>E("complete"),onDismiss:()=>{a||E("dismiss").catch(()=>{})},onError:()=>{a||E("error").catch(()=>{})}})).host,a&&(g?.destroy(),g=null);return}if(ne!==void 0&&ne!=="funnel")throw new G("INVALID_CONFIGURATION","Unknown native surface");g=await e6(document.getElementById("grow-funnel-root")??document.body,{client:T,onPurchase:({operation:Z})=>E("purchase",{operation:Z}),onCheckoutUrl:Z=>E("checkout",{url:Z}),onOpenUrl:Z=>E("open",Z),onEvent:Z=>E("event",{event:Z}),onComplete:()=>E("complete"),onDismiss:()=>{a||E("dismiss").catch(()=>{})}}),a&&(g.destroy(),g=null)}e.__indianaFunnelReceive=$=>{if(a||!$||typeof $!="object")return;let H=$;if(H.event==="invalidated")return V();if(H.event==="feature_call"){let M=H.id;if(typeof M!="string"||!S)return;S.call(H.input).then(R=>E("featureResult",{id:M,result:R})).catch(R=>E("featureResult",{id:M,error:{code:R instanceof G?R.code:"INVALID_RESPONSE"}})).catch(()=>{});return}if(H.event==="refresh"){g?.refresh().catch(()=>{});return}if(H.event==="init"){W(H.scope,H.apiOrigin,H.surface,H.attributes).catch(()=>{!a&&(H.surface==="content"||H.surface==="paywall")&&E("error").catch(()=>{}),V()});return}if(typeof H.id!="string")return;let ne=r.get(H.id);if(ne)if(r.delete(H.id),clearTimeout(ne.timer),H.error&&typeof H.error=="object"){let M=H.error;ne.reject(new G(typeof M.code=="string"?M.code:"NATIVE_OPERATION_FAILED","Native operation did not finish",typeof M.status=="number"?M.status:void 0))}else ne.resolve(H.result)},e.__indianaFunnelPreparePort=$=>a||i||!/^[a-f0-9-]{36}$/.test($)?!1:(o=$,!0);function z($){let H=$.data;if(typeof H=="string")try{H=JSON.parse(H)}catch{return}!H||typeof H!="object"||!("type"in H)||H.type!=="indiana-native-port"||!o||!("nonce"in H)||H.nonce!==o||i||!$.ports[0]||(o=null,i=$.ports[0],i.onmessage=ne=>{if(!(typeof ne.data!="string"||ne.data.length>2097152))try{e.__indianaFunnelReceive?.(JSON.parse(ne.data))}catch{V()}},i.start(),P({id:crypto.randomUUID(),method:"ready",payload:{}}))}return window.addEventListener("message",z),e.webkit?.messageHandlers?.indianaFunnel&&P({id:crypto.randomUUID(),method:"ready",payload:{}}),{destroy:V}}globalThis.__indianaInstallNativeFunnelHost=c6;})();
|
|
251
251
|
/*!
|
|
252
252
|
Copyright (c) 2025 GrowthBook, Inc.
|
|
253
253
|
|