@getopenpay/openpay-js 0.2.26 → 0.2.28

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.umd.js CHANGED
@@ -1,17 +1,17 @@
1
- (function(ke,Fe){typeof exports=="object"&&typeof module<"u"?Fe(exports):typeof define=="function"&&define.amd?define(["exports"],Fe):(ke=typeof globalThis<"u"?globalThis:ke||self,Fe(ke.OpenPay={}))})(this,function(ke){"use strict";const Fe="https://cde.getopenpay.com";var R;(function(t){t.assertEqual=o=>o;function e(o){}t.assertIs=e;function n(o){throw new Error}t.assertNever=n,t.arrayToEnum=o=>{const s={};for(const i of o)s[i]=i;return s},t.getValidEnumValues=o=>{const s=t.objectKeys(o).filter(c=>typeof o[o[c]]!="number"),i={};for(const c of s)i[c]=o[c];return t.objectValues(i)},t.objectValues=o=>t.objectKeys(o).map(function(s){return o[s]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{const s=[];for(const i in o)Object.prototype.hasOwnProperty.call(o,i)&&s.push(i);return s},t.find=(o,s)=>{for(const i of o)if(s(i))return i},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&isFinite(o)&&Math.floor(o)===o;function r(o,s=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}t.joinValues=r,t.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(R||(R={}));var gn;(function(t){t.mergeShapes=(e,n)=>({...e,...n})})(gn||(gn={}));const v=R.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ie=t=>{switch(typeof t){case"undefined":return v.undefined;case"string":return v.string;case"number":return isNaN(t)?v.nan:v.number;case"boolean":return v.boolean;case"function":return v.function;case"bigint":return v.bigint;case"symbol":return v.symbol;case"object":return Array.isArray(t)?v.array:t===null?v.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?v.promise:typeof Map<"u"&&t instanceof Map?v.map:typeof Set<"u"&&t instanceof Set?v.set:typeof Date<"u"&&t instanceof Date?v.date:v.object;default:return v.unknown}},y=R.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),$o=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:");class ee extends Error{constructor(e){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const n=e||function(s){return s.message},r={_errors:[]},o=s=>{for(const i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)r._errors.push(n(i));else{let c=r,l=0;for(;l<i.path.length;){const u=i.path[l];l===i.path.length-1?(c[u]=c[u]||{_errors:[]},c[u]._errors.push(n(i))):c[u]=c[u]||{_errors:[]},c=c[u],l++}}};return o(this),r}static assert(e){if(!(e instanceof ee))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,R.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=n=>n.message){const n={},r=[];for(const o of this.issues)o.path.length>0?(n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(e(o))):r.push(e(o));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}ee.create=t=>new ee(t);const He=(t,e)=>{let n;switch(t.code){case y.invalid_type:t.received===v.undefined?n="Required":n=`Expected ${t.expected}, received ${t.received}`;break;case y.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(t.expected,R.jsonStringifyReplacer)}`;break;case y.unrecognized_keys:n=`Unrecognized key(s) in object: ${R.joinValues(t.keys,", ")}`;break;case y.invalid_union:n="Invalid input";break;case y.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${R.joinValues(t.options)}`;break;case y.invalid_enum_value:n=`Invalid enum value. Expected ${R.joinValues(t.options)}, received '${t.received}'`;break;case y.invalid_arguments:n="Invalid function arguments";break;case y.invalid_return_type:n="Invalid function return type";break;case y.invalid_date:n="Invalid date";break;case y.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(n=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?n=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?n=`Invalid input: must end with "${t.validation.endsWith}"`:R.assertNever(t.validation):t.validation!=="regex"?n=`Invalid ${t.validation}`:n="Invalid";break;case y.too_small:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:n="Invalid input";break;case y.too_big:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?n=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:n="Invalid input";break;case y.custom:n="Invalid input";break;case y.invalid_intersection_types:n="Intersection results could not be merged";break;case y.not_multiple_of:n=`Number must be a multiple of ${t.multipleOf}`;break;case y.not_finite:n="Number must be finite";break;default:n=e.defaultError,R.assertNever(t)}return{message:n}};let Yn=He;function Zo(t){Yn=t}function Zt(){return Yn}const Vt=t=>{const{data:e,path:n,errorMaps:r,issueData:o}=t,s=[...n,...o.path||[]],i={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let c="";const l=r.filter(u=>!!u).slice().reverse();for(const u of l)c=u(i,{data:e,defaultError:c}).message;return{...o,path:s,message:c}},Vo=[];function g(t,e){const n=Zt(),r=Vt({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,n,n===He?void 0:He].filter(o=>!!o)});t.common.issues.push(r)}class W{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,n){const r=[];for(const o of n){if(o.status==="aborted")return S;o.status==="dirty"&&e.dirty(),r.push(o.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,n){const r=[];for(const o of n){const s=await o.key,i=await o.value;r.push({key:s,value:i})}return W.mergeObjectSync(e,r)}static mergeObjectSync(e,n){const r={};for(const o of n){const{key:s,value:i}=o;if(s.status==="aborted"||i.status==="aborted")return S;s.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof i.value<"u"||o.alwaysSet)&&(r[s.value]=i.value)}return{status:e.value,value:r}}}const S=Object.freeze({status:"aborted"}),Ke=t=>({status:"dirty",value:t}),K=t=>({status:"valid",value:t}),vn=t=>t.status==="aborted",wn=t=>t.status==="dirty",ut=t=>t.status==="valid",dt=t=>typeof Promise<"u"&&t instanceof Promise;function zt(t,e,n,r){if(typeof e=="function"?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e.get(t)}function Wn(t,e,n,r,o){if(typeof e=="function"?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e.set(t,n),n}typeof SuppressedError=="function"&&SuppressedError;var w;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(w||(w={}));var pt,ft;class pe{constructor(e,n,r,o){this._cachedPath=[],this.parent=e,this.data=n,this._path=r,this._key=o}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Hn=(t,e)=>{if(ut(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new ee(t.common.issues);return this._error=n,this._error}}};function A(t){if(!t)return{};const{errorMap:e,invalid_type_error:n,required_error:r,description:o}=t;if(e&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(i,c)=>{var l,u;const{message:d}=t;return i.code==="invalid_enum_value"?{message:d??c.defaultError}:typeof c.data>"u"?{message:(l=d??r)!==null&&l!==void 0?l:c.defaultError}:i.code!=="invalid_type"?{message:c.defaultError}:{message:(u=d??n)!==null&&u!==void 0?u:c.defaultError}},description:o}}class T{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return Ie(e.data)}_getOrReturnCtx(e,n){return n||{common:e.parent.common,data:e.data,parsedType:Ie(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new W,ctx:{common:e.parent.common,data:e.data,parsedType:Ie(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const n=this._parse(e);if(dt(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(e){const n=this._parse(e);return Promise.resolve(n)}parse(e,n){const r=this.safeParse(e,n);if(r.success)return r.data;throw r.error}safeParse(e,n){var r;const o={common:{issues:[],async:(r=n==null?void 0:n.async)!==null&&r!==void 0?r:!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ie(e)},s=this._parseSync({data:e,path:o.path,parent:o});return Hn(o,s)}async parseAsync(e,n){const r=await this.safeParseAsync(e,n);if(r.success)return r.data;throw r.error}async safeParseAsync(e,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ie(e)},o=this._parse({data:e,path:r.path,parent:r}),s=await(dt(o)?o:Promise.resolve(o));return Hn(r,s)}refine(e,n){const r=o=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(o):n;return this._refinement((o,s)=>{const i=e(o),c=()=>s.addIssue({code:y.custom,...r(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(l=>l?!0:(c(),!1)):i?!0:(c(),!1)})}refinement(e,n){return this._refinement((r,o)=>e(r)?!0:(o.addIssue(typeof n=="function"?n(r,o):n),!1))}_refinement(e){return new se({schema:this,typeName:k.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return me.create(this,this._def)}nullable(){return Me.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return oe.create(this,this._def)}promise(){return et.create(this,this._def)}or(e){return _t.create([this,e],this._def)}and(e){return gt.create(this,e,this._def)}transform(e){return new se({...A(this._def),schema:this,typeName:k.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const n=typeof e=="function"?e:()=>e;return new kt({...A(this._def),innerType:this,defaultValue:n,typeName:k.ZodDefault})}brand(){return new kn({typeName:k.ZodBranded,type:this,...A(this._def)})}catch(e){const n=typeof e=="function"?e:()=>e;return new Ct({...A(this._def),innerType:this,catchValue:n,typeName:k.ZodCatch})}describe(e){const n=this.constructor;return new n({...this._def,description:e})}pipe(e){return St.create(this,e)}readonly(){return Pt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const zo=/^c[^\s-]{8,}$/i,Go=/^[0-9a-z]+$/,Bo=/^[0-9A-HJKMNP-TV-Z]{26}$/,qo=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Yo=/^[a-z0-9_-]{21}$/i,Wo=/^[-+]?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)?)??$/,Ho=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Ko="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let bn;const Jo=/^(?:(?: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])$/,Qo=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,Xo=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Kn="((\\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])))",es=new RegExp(`^${Kn}$`);function Jn(t){let e="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`),e}function ts(t){return new RegExp(`^${Jn(t)}$`)}function Qn(t){let e=`${Kn}T${Jn(t)}`;const n=[];return n.push(t.local?"Z?":"Z"),t.offset&&n.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${n.join("|")})`,new RegExp(`^${e}$`)}function ns(t,e){return!!((e==="v4"||!e)&&Jo.test(t)||(e==="v6"||!e)&&Qo.test(t))}class re extends T{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==v.string){const s=this._getOrReturnCtx(e);return g(s,{code:y.invalid_type,expected:v.string,received:s.parsedType}),S}const r=new W;let o;for(const s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(o=this._getOrReturnCtx(e,o),g(o,{code:y.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="max")e.data.length>s.value&&(o=this._getOrReturnCtx(e,o),g(o,{code:y.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="length"){const i=e.data.length>s.value,c=e.data.length<s.value;(i||c)&&(o=this._getOrReturnCtx(e,o),i?g(o,{code:y.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):c&&g(o,{code:y.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),r.dirty())}else if(s.kind==="email")Ho.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"email",code:y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="emoji")bn||(bn=new RegExp(Ko,"u")),bn.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"emoji",code:y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="uuid")qo.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"uuid",code:y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="nanoid")Yo.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"nanoid",code:y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid")zo.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"cuid",code:y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid2")Go.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"cuid2",code:y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="ulid")Bo.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"ulid",code:y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),g(o,{validation:"url",code:y.invalid_string,message:s.message}),r.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"regex",code:y.invalid_string,message:s.message}),r.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(e,o),g(o,{code:y.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),r.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(o=this._getOrReturnCtx(e,o),g(o,{code:y.invalid_string,validation:{startsWith:s.value},message:s.message}),r.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(o=this._getOrReturnCtx(e,o),g(o,{code:y.invalid_string,validation:{endsWith:s.value},message:s.message}),r.dirty()):s.kind==="datetime"?Qn(s).test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{code:y.invalid_string,validation:"datetime",message:s.message}),r.dirty()):s.kind==="date"?es.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{code:y.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?ts(s).test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{code:y.invalid_string,validation:"time",message:s.message}),r.dirty()):s.kind==="duration"?Wo.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"duration",code:y.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?ns(e.data,s.version)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"ip",code:y.invalid_string,message:s.message}),r.dirty()):s.kind==="base64"?Xo.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"base64",code:y.invalid_string,message:s.message}),r.dirty()):R.assertNever(s);return{status:r.value,value:e.data}}_regex(e,n,r){return this.refinement(o=>e.test(o),{validation:n,code:y.invalid_string,...w.errToObj(r)})}_addCheck(e){return new re({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...w.errToObj(e)})}url(e){return this._addCheck({kind:"url",...w.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...w.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...w.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...w.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...w.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...w.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...w.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...w.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...w.errToObj(e)})}datetime(e){var n,r;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(n=e==null?void 0:e.offset)!==null&&n!==void 0?n:!1,local:(r=e==null?void 0:e.local)!==null&&r!==void 0?r:!1,...w.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,...w.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...w.errToObj(e)})}regex(e,n){return this._addCheck({kind:"regex",regex:e,...w.errToObj(n)})}includes(e,n){return this._addCheck({kind:"includes",value:e,position:n==null?void 0:n.position,...w.errToObj(n==null?void 0:n.message)})}startsWith(e,n){return this._addCheck({kind:"startsWith",value:e,...w.errToObj(n)})}endsWith(e,n){return this._addCheck({kind:"endsWith",value:e,...w.errToObj(n)})}min(e,n){return this._addCheck({kind:"min",value:e,...w.errToObj(n)})}max(e,n){return this._addCheck({kind:"max",value:e,...w.errToObj(n)})}length(e,n){return this._addCheck({kind:"length",value:e,...w.errToObj(n)})}nonempty(e){return this.min(1,w.errToObj(e))}trim(){return new re({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new re({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new re({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get minLength(){let e=null;for(const n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxLength(){let e=null;for(const n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}}re.create=t=>{var e;return new re({checks:[],typeName:k.ZodString,coerce:(e=t==null?void 0:t.coerce)!==null&&e!==void 0?e:!1,...A(t)})};function rs(t,e){const n=(t.toString().split(".")[1]||"").length,r=(e.toString().split(".")[1]||"").length,o=n>r?n:r,s=parseInt(t.toFixed(o).replace(".","")),i=parseInt(e.toFixed(o).replace(".",""));return s%i/Math.pow(10,o)}class Re extends T{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==v.number){const s=this._getOrReturnCtx(e);return g(s,{code:y.invalid_type,expected:v.number,received:s.parsedType}),S}let r;const o=new W;for(const s of this._def.checks)s.kind==="int"?R.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),g(r,{code:y.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(r=this._getOrReturnCtx(e,r),g(r,{code:y.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(r=this._getOrReturnCtx(e,r),g(r,{code:y.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?rs(e.data,s.value)!==0&&(r=this._getOrReturnCtx(e,r),g(r,{code:y.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),g(r,{code:y.not_finite,message:s.message}),o.dirty()):R.assertNever(s);return{status:o.value,value:e.data}}gte(e,n){return this.setLimit("min",e,!0,w.toString(n))}gt(e,n){return this.setLimit("min",e,!1,w.toString(n))}lte(e,n){return this.setLimit("max",e,!0,w.toString(n))}lt(e,n){return this.setLimit("max",e,!1,w.toString(n))}setLimit(e,n,r,o){return new Re({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:w.toString(o)}]})}_addCheck(e){return new Re({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:w.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:w.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:w.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:w.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:w.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:w.toString(n)})}finite(e){return this._addCheck({kind:"finite",message:w.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:w.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:w.toString(e)})}get minValue(){let e=null;for(const n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(const n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&R.isInteger(e.value))}get isFinite(){let e=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(e===null||r.value<e)&&(e=r.value)}return Number.isFinite(n)&&Number.isFinite(e)}}Re.create=t=>new Re({checks:[],typeName:k.ZodNumber,coerce:(t==null?void 0:t.coerce)||!1,...A(t)});class Ne extends T{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==v.bigint){const s=this._getOrReturnCtx(e);return g(s,{code:y.invalid_type,expected:v.bigint,received:s.parsedType}),S}let r;const o=new W;for(const s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(r=this._getOrReturnCtx(e,r),g(r,{code:y.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(r=this._getOrReturnCtx(e,r),g(r,{code:y.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(r=this._getOrReturnCtx(e,r),g(r,{code:y.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):R.assertNever(s);return{status:o.value,value:e.data}}gte(e,n){return this.setLimit("min",e,!0,w.toString(n))}gt(e,n){return this.setLimit("min",e,!1,w.toString(n))}lte(e,n){return this.setLimit("max",e,!0,w.toString(n))}lt(e,n){return this.setLimit("max",e,!1,w.toString(n))}setLimit(e,n,r,o){return new Ne({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:w.toString(o)}]})}_addCheck(e){return new Ne({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:w.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:w.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:w.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:w.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:w.toString(n)})}get minValue(){let e=null;for(const n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(const n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}}Ne.create=t=>{var e;return new Ne({checks:[],typeName:k.ZodBigInt,coerce:(e=t==null?void 0:t.coerce)!==null&&e!==void 0?e:!1,...A(t)})};class mt extends T{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==v.boolean){const r=this._getOrReturnCtx(e);return g(r,{code:y.invalid_type,expected:v.boolean,received:r.parsedType}),S}return K(e.data)}}mt.create=t=>new mt({typeName:k.ZodBoolean,coerce:(t==null?void 0:t.coerce)||!1,...A(t)});class Ue extends T{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==v.date){const s=this._getOrReturnCtx(e);return g(s,{code:y.invalid_type,expected:v.date,received:s.parsedType}),S}if(isNaN(e.data.getTime())){const s=this._getOrReturnCtx(e);return g(s,{code:y.invalid_date}),S}const r=new W;let o;for(const s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(o=this._getOrReturnCtx(e,o),g(o,{code:y.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),r.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(o=this._getOrReturnCtx(e,o),g(o,{code:y.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),r.dirty()):R.assertNever(s);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Ue({...this._def,checks:[...this._def.checks,e]})}min(e,n){return this._addCheck({kind:"min",value:e.getTime(),message:w.toString(n)})}max(e,n){return this._addCheck({kind:"max",value:e.getTime(),message:w.toString(n)})}get minDate(){let e=null;for(const n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e!=null?new Date(e):null}}Ue.create=t=>new Ue({checks:[],coerce:(t==null?void 0:t.coerce)||!1,typeName:k.ZodDate,...A(t)});class Gt extends T{_parse(e){if(this._getType(e)!==v.symbol){const r=this._getOrReturnCtx(e);return g(r,{code:y.invalid_type,expected:v.symbol,received:r.parsedType}),S}return K(e.data)}}Gt.create=t=>new Gt({typeName:k.ZodSymbol,...A(t)});class ht extends T{_parse(e){if(this._getType(e)!==v.undefined){const r=this._getOrReturnCtx(e);return g(r,{code:y.invalid_type,expected:v.undefined,received:r.parsedType}),S}return K(e.data)}}ht.create=t=>new ht({typeName:k.ZodUndefined,...A(t)});class yt extends T{_parse(e){if(this._getType(e)!==v.null){const r=this._getOrReturnCtx(e);return g(r,{code:y.invalid_type,expected:v.null,received:r.parsedType}),S}return K(e.data)}}yt.create=t=>new yt({typeName:k.ZodNull,...A(t)});class Je extends T{constructor(){super(...arguments),this._any=!0}_parse(e){return K(e.data)}}Je.create=t=>new Je({typeName:k.ZodAny,...A(t)});class $e extends T{constructor(){super(...arguments),this._unknown=!0}_parse(e){return K(e.data)}}$e.create=t=>new $e({typeName:k.ZodUnknown,...A(t)});class Ce extends T{_parse(e){const n=this._getOrReturnCtx(e);return g(n,{code:y.invalid_type,expected:v.never,received:n.parsedType}),S}}Ce.create=t=>new Ce({typeName:k.ZodNever,...A(t)});class Bt extends T{_parse(e){if(this._getType(e)!==v.undefined){const r=this._getOrReturnCtx(e);return g(r,{code:y.invalid_type,expected:v.void,received:r.parsedType}),S}return K(e.data)}}Bt.create=t=>new Bt({typeName:k.ZodVoid,...A(t)});class oe extends T{_parse(e){const{ctx:n,status:r}=this._processInputParams(e),o=this._def;if(n.parsedType!==v.array)return g(n,{code:y.invalid_type,expected:v.array,received:n.parsedType}),S;if(o.exactLength!==null){const i=n.data.length>o.exactLength.value,c=n.data.length<o.exactLength.value;(i||c)&&(g(n,{code:i?y.too_big:y.too_small,minimum:c?o.exactLength.value:void 0,maximum:i?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),r.dirty())}if(o.minLength!==null&&n.data.length<o.minLength.value&&(g(n,{code:y.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),r.dirty()),o.maxLength!==null&&n.data.length>o.maxLength.value&&(g(n,{code:y.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,c)=>o.type._parseAsync(new pe(n,i,n.path,c)))).then(i=>W.mergeArray(r,i));const s=[...n.data].map((i,c)=>o.type._parseSync(new pe(n,i,n.path,c)));return W.mergeArray(r,s)}get element(){return this._def.type}min(e,n){return new oe({...this._def,minLength:{value:e,message:w.toString(n)}})}max(e,n){return new oe({...this._def,maxLength:{value:e,message:w.toString(n)}})}length(e,n){return new oe({...this._def,exactLength:{value:e,message:w.toString(n)}})}nonempty(e){return this.min(1,e)}}oe.create=(t,e)=>new oe({type:t,minLength:null,maxLength:null,exactLength:null,typeName:k.ZodArray,...A(e)});function Qe(t){if(t instanceof L){const e={};for(const n in t.shape){const r=t.shape[n];e[n]=me.create(Qe(r))}return new L({...t._def,shape:()=>e})}else return t instanceof oe?new oe({...t._def,type:Qe(t.element)}):t instanceof me?me.create(Qe(t.unwrap())):t instanceof Me?Me.create(Qe(t.unwrap())):t instanceof fe?fe.create(t.items.map(e=>Qe(e))):t}class L extends T{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),n=R.objectKeys(e);return this._cached={shape:e,keys:n}}_parse(e){if(this._getType(e)!==v.object){const u=this._getOrReturnCtx(e);return g(u,{code:y.invalid_type,expected:v.object,received:u.parsedType}),S}const{status:r,ctx:o}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),c=[];if(!(this._def.catchall instanceof Ce&&this._def.unknownKeys==="strip"))for(const u in o.data)i.includes(u)||c.push(u);const l=[];for(const u of i){const d=s[u],p=o.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new pe(o,p,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof Ce){const u=this._def.unknownKeys;if(u==="passthrough")for(const d of c)l.push({key:{status:"valid",value:d},value:{status:"valid",value:o.data[d]}});else if(u==="strict")c.length>0&&(g(o,{code:y.unrecognized_keys,keys:c}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const d of c){const p=o.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new pe(o,p,o.path,d)),alwaysSet:d in o.data})}}return o.common.async?Promise.resolve().then(async()=>{const u=[];for(const d of l){const p=await d.key,_=await d.value;u.push({key:p,value:_,alwaysSet:d.alwaysSet})}return u}).then(u=>W.mergeObjectSync(r,u)):W.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(e){return w.errToObj,new L({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(n,r)=>{var o,s,i,c;const l=(i=(s=(o=this._def).errorMap)===null||s===void 0?void 0:s.call(o,n,r).message)!==null&&i!==void 0?i:r.defaultError;return n.code==="unrecognized_keys"?{message:(c=w.errToObj(e).message)!==null&&c!==void 0?c:l}:{message:l}}}:{}})}strip(){return new L({...this._def,unknownKeys:"strip"})}passthrough(){return new L({...this._def,unknownKeys:"passthrough"})}extend(e){return new L({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new L({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:k.ZodObject})}setKey(e,n){return this.augment({[e]:n})}catchall(e){return new L({...this._def,catchall:e})}pick(e){const n={};return R.objectKeys(e).forEach(r=>{e[r]&&this.shape[r]&&(n[r]=this.shape[r])}),new L({...this._def,shape:()=>n})}omit(e){const n={};return R.objectKeys(this.shape).forEach(r=>{e[r]||(n[r]=this.shape[r])}),new L({...this._def,shape:()=>n})}deepPartial(){return Qe(this)}partial(e){const n={};return R.objectKeys(this.shape).forEach(r=>{const o=this.shape[r];e&&!e[r]?n[r]=o:n[r]=o.optional()}),new L({...this._def,shape:()=>n})}required(e){const n={};return R.objectKeys(this.shape).forEach(r=>{if(e&&!e[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof me;)s=s._def.innerType;n[r]=s}}),new L({...this._def,shape:()=>n})}keyof(){return Xn(R.objectKeys(this.shape))}}L.create=(t,e)=>new L({shape:()=>t,unknownKeys:"strip",catchall:Ce.create(),typeName:k.ZodObject,...A(e)}),L.strictCreate=(t,e)=>new L({shape:()=>t,unknownKeys:"strict",catchall:Ce.create(),typeName:k.ZodObject,...A(e)}),L.lazycreate=(t,e)=>new L({shape:t,unknownKeys:"strip",catchall:Ce.create(),typeName:k.ZodObject,...A(e)});class _t extends T{_parse(e){const{ctx:n}=this._processInputParams(e),r=this._def.options;function o(s){for(const c of s)if(c.result.status==="valid")return c.result;for(const c of s)if(c.result.status==="dirty")return n.common.issues.push(...c.ctx.common.issues),c.result;const i=s.map(c=>new ee(c.ctx.common.issues));return g(n,{code:y.invalid_union,unionErrors:i}),S}if(n.common.async)return Promise.all(r.map(async s=>{const i={...n,common:{...n.common,issues:[]},parent:null};return{result:await s._parseAsync({data:n.data,path:n.path,parent:i}),ctx:i}})).then(o);{let s;const i=[];for(const l of r){const u={...n,common:{...n.common,issues:[]},parent:null},d=l._parseSync({data:n.data,path:n.path,parent:u});if(d.status==="valid")return d;d.status==="dirty"&&!s&&(s={result:d,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(s)return n.common.issues.push(...s.ctx.common.issues),s.result;const c=i.map(l=>new ee(l));return g(n,{code:y.invalid_union,unionErrors:c}),S}}get options(){return this._def.options}}_t.create=(t,e)=>new _t({options:t,typeName:k.ZodUnion,...A(e)});const Se=t=>t instanceof wt?Se(t.schema):t instanceof se?Se(t.innerType()):t instanceof bt?[t.value]:t instanceof Oe?t.options:t instanceof Et?R.objectValues(t.enum):t instanceof kt?Se(t._def.innerType):t instanceof ht?[void 0]:t instanceof yt?[null]:t instanceof me?[void 0,...Se(t.unwrap())]:t instanceof Me?[null,...Se(t.unwrap())]:t instanceof kn||t instanceof Pt?Se(t.unwrap()):t instanceof Ct?Se(t._def.innerType):[];class qt extends T{_parse(e){const{ctx:n}=this._processInputParams(e);if(n.parsedType!==v.object)return g(n,{code:y.invalid_type,expected:v.object,received:n.parsedType}),S;const r=this.discriminator,o=n.data[r],s=this.optionsMap.get(o);return s?n.common.async?s._parseAsync({data:n.data,path:n.path,parent:n}):s._parseSync({data:n.data,path:n.path,parent:n}):(g(n,{code:y.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),S)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,n,r){const o=new Map;for(const s of n){const i=Se(s.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const c of i){if(o.has(c))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(c)}`);o.set(c,s)}}return new qt({typeName:k.ZodDiscriminatedUnion,discriminator:e,options:n,optionsMap:o,...A(r)})}}function En(t,e){const n=Ie(t),r=Ie(e);if(t===e)return{valid:!0,data:t};if(n===v.object&&r===v.object){const o=R.objectKeys(e),s=R.objectKeys(t).filter(c=>o.indexOf(c)!==-1),i={...t,...e};for(const c of s){const l=En(t[c],e[c]);if(!l.valid)return{valid:!1};i[c]=l.data}return{valid:!0,data:i}}else if(n===v.array&&r===v.array){if(t.length!==e.length)return{valid:!1};const o=[];for(let s=0;s<t.length;s++){const i=t[s],c=e[s],l=En(i,c);if(!l.valid)return{valid:!1};o.push(l.data)}return{valid:!0,data:o}}else return n===v.date&&r===v.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}class gt extends T{_parse(e){const{status:n,ctx:r}=this._processInputParams(e),o=(s,i)=>{if(vn(s)||vn(i))return S;const c=En(s.value,i.value);return c.valid?((wn(s)||wn(i))&&n.dirty(),{status:n.value,value:c.data}):(g(r,{code:y.invalid_intersection_types}),S)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([s,i])=>o(s,i)):o(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}gt.create=(t,e,n)=>new gt({left:t,right:e,typeName:k.ZodIntersection,...A(n)});class fe extends T{_parse(e){const{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==v.array)return g(r,{code:y.invalid_type,expected:v.array,received:r.parsedType}),S;if(r.data.length<this._def.items.length)return g(r,{code:y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),S;!this._def.rest&&r.data.length>this._def.items.length&&(g(r,{code:y.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const s=[...r.data].map((i,c)=>{const l=this._def.items[c]||this._def.rest;return l?l._parse(new pe(r,i,r.path,c)):null}).filter(i=>!!i);return r.common.async?Promise.all(s).then(i=>W.mergeArray(n,i)):W.mergeArray(n,s)}get items(){return this._def.items}rest(e){return new fe({...this._def,rest:e})}}fe.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new fe({items:t,typeName:k.ZodTuple,rest:null,...A(e)})};class vt extends T{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==v.object)return g(r,{code:y.invalid_type,expected:v.object,received:r.parsedType}),S;const o=[],s=this._def.keyType,i=this._def.valueType;for(const c in r.data)o.push({key:s._parse(new pe(r,c,r.path,c)),value:i._parse(new pe(r,r.data[c],r.path,c)),alwaysSet:c in r.data});return r.common.async?W.mergeObjectAsync(n,o):W.mergeObjectSync(n,o)}get element(){return this._def.valueType}static create(e,n,r){return n instanceof T?new vt({keyType:e,valueType:n,typeName:k.ZodRecord,...A(r)}):new vt({keyType:re.create(),valueType:e,typeName:k.ZodRecord,...A(n)})}}class Yt extends T{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==v.map)return g(r,{code:y.invalid_type,expected:v.map,received:r.parsedType}),S;const o=this._def.keyType,s=this._def.valueType,i=[...r.data.entries()].map(([c,l],u)=>({key:o._parse(new pe(r,c,r.path,[u,"key"])),value:s._parse(new pe(r,l,r.path,[u,"value"]))}));if(r.common.async){const c=new Map;return Promise.resolve().then(async()=>{for(const l of i){const u=await l.key,d=await l.value;if(u.status==="aborted"||d.status==="aborted")return S;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),c.set(u.value,d.value)}return{status:n.value,value:c}})}else{const c=new Map;for(const l of i){const u=l.key,d=l.value;if(u.status==="aborted"||d.status==="aborted")return S;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),c.set(u.value,d.value)}return{status:n.value,value:c}}}}Yt.create=(t,e,n)=>new Yt({valueType:e,keyType:t,typeName:k.ZodMap,...A(n)});class Ze extends T{_parse(e){const{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==v.set)return g(r,{code:y.invalid_type,expected:v.set,received:r.parsedType}),S;const o=this._def;o.minSize!==null&&r.data.size<o.minSize.value&&(g(r,{code:y.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),n.dirty()),o.maxSize!==null&&r.data.size>o.maxSize.value&&(g(r,{code:y.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),n.dirty());const s=this._def.valueType;function i(l){const u=new Set;for(const d of l){if(d.status==="aborted")return S;d.status==="dirty"&&n.dirty(),u.add(d.value)}return{status:n.value,value:u}}const c=[...r.data.values()].map((l,u)=>s._parse(new pe(r,l,r.path,u)));return r.common.async?Promise.all(c).then(l=>i(l)):i(c)}min(e,n){return new Ze({...this._def,minSize:{value:e,message:w.toString(n)}})}max(e,n){return new Ze({...this._def,maxSize:{value:e,message:w.toString(n)}})}size(e,n){return this.min(e,n).max(e,n)}nonempty(e){return this.min(1,e)}}Ze.create=(t,e)=>new Ze({valueType:t,minSize:null,maxSize:null,typeName:k.ZodSet,...A(e)});class Xe extends T{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:n}=this._processInputParams(e);if(n.parsedType!==v.function)return g(n,{code:y.invalid_type,expected:v.function,received:n.parsedType}),S;function r(c,l){return Vt({data:c,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Zt(),He].filter(u=>!!u),issueData:{code:y.invalid_arguments,argumentsError:l}})}function o(c,l){return Vt({data:c,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Zt(),He].filter(u=>!!u),issueData:{code:y.invalid_return_type,returnTypeError:l}})}const s={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof et){const c=this;return K(async function(...l){const u=new ee([]),d=await c._def.args.parseAsync(l,s).catch(f=>{throw u.addIssue(r(l,f)),u}),p=await Reflect.apply(i,this,d);return await c._def.returns._def.type.parseAsync(p,s).catch(f=>{throw u.addIssue(o(p,f)),u})})}else{const c=this;return K(function(...l){const u=c._def.args.safeParse(l,s);if(!u.success)throw new ee([r(l,u.error)]);const d=Reflect.apply(i,this,u.data),p=c._def.returns.safeParse(d,s);if(!p.success)throw new ee([o(d,p.error)]);return p.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new Xe({...this._def,args:fe.create(e).rest($e.create())})}returns(e){return new Xe({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,n,r){return new Xe({args:e||fe.create([]).rest($e.create()),returns:n||$e.create(),typeName:k.ZodFunction,...A(r)})}}class wt extends T{get schema(){return this._def.getter()}_parse(e){const{ctx:n}=this._processInputParams(e);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}wt.create=(t,e)=>new wt({getter:t,typeName:k.ZodLazy,...A(e)});class bt extends T{_parse(e){if(e.data!==this._def.value){const n=this._getOrReturnCtx(e);return g(n,{received:n.data,code:y.invalid_literal,expected:this._def.value}),S}return{status:"valid",value:e.data}}get value(){return this._def.value}}bt.create=(t,e)=>new bt({value:t,typeName:k.ZodLiteral,...A(e)});function Xn(t,e){return new Oe({values:t,typeName:k.ZodEnum,...A(e)})}class Oe extends T{constructor(){super(...arguments),pt.set(this,void 0)}_parse(e){if(typeof e.data!="string"){const n=this._getOrReturnCtx(e),r=this._def.values;return g(n,{expected:R.joinValues(r),received:n.parsedType,code:y.invalid_type}),S}if(zt(this,pt)||Wn(this,pt,new Set(this._def.values)),!zt(this,pt).has(e.data)){const n=this._getOrReturnCtx(e),r=this._def.values;return g(n,{received:n.data,code:y.invalid_enum_value,options:r}),S}return K(e.data)}get options(){return this._def.values}get enum(){const e={};for(const n of this._def.values)e[n]=n;return e}get Values(){const e={};for(const n of this._def.values)e[n]=n;return e}get Enum(){const e={};for(const n of this._def.values)e[n]=n;return e}extract(e,n=this._def){return Oe.create(e,{...this._def,...n})}exclude(e,n=this._def){return Oe.create(this.options.filter(r=>!e.includes(r)),{...this._def,...n})}}pt=new WeakMap,Oe.create=Xn;class Et extends T{constructor(){super(...arguments),ft.set(this,void 0)}_parse(e){const n=R.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==v.string&&r.parsedType!==v.number){const o=R.objectValues(n);return g(r,{expected:R.joinValues(o),received:r.parsedType,code:y.invalid_type}),S}if(zt(this,ft)||Wn(this,ft,new Set(R.getValidEnumValues(this._def.values))),!zt(this,ft).has(e.data)){const o=R.objectValues(n);return g(r,{received:r.data,code:y.invalid_enum_value,options:o}),S}return K(e.data)}get enum(){return this._def.values}}ft=new WeakMap,Et.create=(t,e)=>new Et({values:t,typeName:k.ZodNativeEnum,...A(e)});class et extends T{unwrap(){return this._def.type}_parse(e){const{ctx:n}=this._processInputParams(e);if(n.parsedType!==v.promise&&n.common.async===!1)return g(n,{code:y.invalid_type,expected:v.promise,received:n.parsedType}),S;const r=n.parsedType===v.promise?n.data:Promise.resolve(n.data);return K(r.then(o=>this._def.type.parseAsync(o,{path:n.path,errorMap:n.common.contextualErrorMap})))}}et.create=(t,e)=>new et({type:t,typeName:k.ZodPromise,...A(e)});class se extends T{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===k.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:n,ctx:r}=this._processInputParams(e),o=this._def.effect||null,s={addIssue:i=>{g(r,i),i.fatal?n.abort():n.dirty()},get path(){return r.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){const i=o.transform(r.data,s);if(r.common.async)return Promise.resolve(i).then(async c=>{if(n.value==="aborted")return S;const l=await this._def.schema._parseAsync({data:c,path:r.path,parent:r});return l.status==="aborted"?S:l.status==="dirty"||n.value==="dirty"?Ke(l.value):l});{if(n.value==="aborted")return S;const c=this._def.schema._parseSync({data:i,path:r.path,parent:r});return c.status==="aborted"?S:c.status==="dirty"||n.value==="dirty"?Ke(c.value):c}}if(o.type==="refinement"){const i=c=>{const l=o.refinement(c,s);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return c};if(r.common.async===!1){const c=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return c.status==="aborted"?S:(c.status==="dirty"&&n.dirty(),i(c.value),{status:n.value,value:c.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(c=>c.status==="aborted"?S:(c.status==="dirty"&&n.dirty(),i(c.value).then(()=>({status:n.value,value:c.value}))))}if(o.type==="transform")if(r.common.async===!1){const i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!ut(i))return i;const c=o.transform(i.value,s);if(c instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:c}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>ut(i)?Promise.resolve(o.transform(i.value,s)).then(c=>({status:n.value,value:c})):i);R.assertNever(o)}}se.create=(t,e,n)=>new se({schema:t,typeName:k.ZodEffects,effect:e,...A(n)}),se.createWithPreprocess=(t,e,n)=>new se({schema:e,effect:{type:"preprocess",transform:t},typeName:k.ZodEffects,...A(n)});class me extends T{_parse(e){return this._getType(e)===v.undefined?K(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}me.create=(t,e)=>new me({innerType:t,typeName:k.ZodOptional,...A(e)});class Me extends T{_parse(e){return this._getType(e)===v.null?K(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Me.create=(t,e)=>new Me({innerType:t,typeName:k.ZodNullable,...A(e)});class kt extends T{_parse(e){const{ctx:n}=this._processInputParams(e);let r=n.data;return n.parsedType===v.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}kt.create=(t,e)=>new kt({innerType:t,typeName:k.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...A(e)});class Ct extends T{_parse(e){const{ctx:n}=this._processInputParams(e),r={...n,common:{...n.common,issues:[]}},o=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return dt(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new ee(r.common.issues)},input:r.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new ee(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}Ct.create=(t,e)=>new Ct({innerType:t,typeName:k.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...A(e)});class Wt extends T{_parse(e){if(this._getType(e)!==v.nan){const r=this._getOrReturnCtx(e);return g(r,{code:y.invalid_type,expected:v.nan,received:r.parsedType}),S}return{status:"valid",value:e.data}}}Wt.create=t=>new Wt({typeName:k.ZodNaN,...A(t)});const os=Symbol("zod_brand");class kn extends T{_parse(e){const{ctx:n}=this._processInputParams(e),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class St extends T{_parse(e){const{status:n,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{const s=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?S:s.status==="dirty"?(n.dirty(),Ke(s.value)):this._def.out._parseAsync({data:s.value,path:r.path,parent:r})})();{const o=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?S:o.status==="dirty"?(n.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:r.path,parent:r})}}static create(e,n){return new St({in:e,out:n,typeName:k.ZodPipeline})}}class Pt extends T{_parse(e){const n=this._def.innerType._parse(e),r=o=>(ut(o)&&(o.value=Object.freeze(o.value)),o);return dt(n)?n.then(o=>r(o)):r(n)}unwrap(){return this._def.innerType}}Pt.create=(t,e)=>new Pt({innerType:t,typeName:k.ZodReadonly,...A(e)});function er(t,e={},n){return t?Je.create().superRefine((r,o)=>{var s,i;if(!t(r)){const c=typeof e=="function"?e(r):typeof e=="string"?{message:e}:e,l=(i=(s=c.fatal)!==null&&s!==void 0?s:n)!==null&&i!==void 0?i:!0,u=typeof c=="string"?{message:c}:c;o.addIssue({code:"custom",...u,fatal:l})}}):Je.create()}const ss={object:L.lazycreate};var k;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(k||(k={}));const as=(t,e={message:`Input not instance of ${t.name}`})=>er(n=>n instanceof t,e),tr=re.create,nr=Re.create,is=Wt.create,cs=Ne.create,rr=mt.create,ls=Ue.create,us=Gt.create,ds=ht.create,ps=yt.create,fs=Je.create,ms=$e.create,hs=Ce.create,ys=Bt.create,_s=oe.create,gs=L.create,vs=L.strictCreate,ws=_t.create,bs=qt.create,Es=gt.create,ks=fe.create,Cs=vt.create,Ss=Yt.create,Ps=Ze.create,As=Xe.create,Ts=wt.create,xs=bt.create,Is=Oe.create,Rs=Et.create,Ns=et.create,or=se.create,Os=me.create,Ms=Me.create,Ds=se.createWithPreprocess,Ls=St.create;var a=Object.freeze({__proto__:null,defaultErrorMap:He,setErrorMap:Zo,getErrorMap:Zt,makeIssue:Vt,EMPTY_PATH:Vo,addIssueToContext:g,ParseStatus:W,INVALID:S,DIRTY:Ke,OK:K,isAborted:vn,isDirty:wn,isValid:ut,isAsync:dt,get util(){return R},get objectUtil(){return gn},ZodParsedType:v,getParsedType:Ie,ZodType:T,datetimeRegex:Qn,ZodString:re,ZodNumber:Re,ZodBigInt:Ne,ZodBoolean:mt,ZodDate:Ue,ZodSymbol:Gt,ZodUndefined:ht,ZodNull:yt,ZodAny:Je,ZodUnknown:$e,ZodNever:Ce,ZodVoid:Bt,ZodArray:oe,ZodObject:L,ZodUnion:_t,ZodDiscriminatedUnion:qt,ZodIntersection:gt,ZodTuple:fe,ZodRecord:vt,ZodMap:Yt,ZodSet:Ze,ZodFunction:Xe,ZodLazy:wt,ZodLiteral:bt,ZodEnum:Oe,ZodNativeEnum:Et,ZodPromise:et,ZodEffects:se,ZodTransformer:se,ZodOptional:me,ZodNullable:Me,ZodDefault:kt,ZodCatch:Ct,ZodNaN:Wt,BRAND:os,ZodBranded:kn,ZodPipeline:St,ZodReadonly:Pt,custom:er,Schema:T,ZodSchema:T,late:ss,get ZodFirstPartyTypeKind(){return k},coerce:{string:t=>re.create({...t,coerce:!0}),number:t=>Re.create({...t,coerce:!0}),boolean:t=>mt.create({...t,coerce:!0}),bigint:t=>Ne.create({...t,coerce:!0}),date:t=>Ue.create({...t,coerce:!0})},any:fs,array:_s,bigint:cs,boolean:rr,date:ls,discriminatedUnion:bs,effect:or,enum:Is,function:As,instanceof:as,intersection:Es,lazy:Ts,literal:xs,map:Ss,nan:is,nativeEnum:Rs,never:hs,null:ps,nullable:Ms,number:nr,object:gs,oboolean:()=>rr().optional(),onumber:()=>nr().optional(),optional:Os,ostring:()=>tr().optional(),pipeline:Ls,preprocess:Ds,promise:Ns,record:Cs,set:Ps,strictObject:vs,string:tr,symbol:us,transformer:or,tuple:ks,undefined:ds,union:ws,unknown:ms,void:ys,NEVER:S,ZodIssueCode:y,quotelessJson:$o,ZodError:ee});const js=a.object({type:a.string(),loc:a.array(a.string()),msg:a.string(),url:a.string()}),Fs=a.array(js),Us=a.object({code:a.string(),message:a.string(),path:a.array(a.string())}),$s=a.array(Us),Zs={"failed to fetch":"Connection error: please double check if you are connected to the internet, then try again"},Cn=t=>{const e=t.toLowerCase().trim();return Zs[e]??t},Vs=t=>{try{return typeof JSON.parse(t)=="object"}catch{return!1}},zs=t=>t.length===1?Cn(t[0].msg):`Please fix the following errors:
2
- ${t.map(n=>`• ${Cn(n.msg)}`).join(`
3
- `)}`,Gs=t=>`Encountered the following errors:
4
- ${t.map(n=>`- ${n.path.join("/")}: ${n.message}`).join(`
5
- `)}`,ne=t=>{if(t instanceof Error)if(Vs(t.message)){const e=JSON.parse(t.message);return Fs.safeParse(e).success?zs(e):$s.safeParse(e).success?Gs(e):(console.warn(`Encountered unknown stringified JSON object:
6
- ${t.message}`),t.message)}else return Cn(t.message);if(typeof t=="object")try{return JSON.stringify(t)}catch(e){return e+""}else return t+""},Bs=(t,e,n)=>(...r)=>{try{return e(...r)}catch(o){n(`[form] Error running callback (${t}):`,o);return}};var te=(t=>(t.pockytPaypal="pockyt-paypal",t.airwallexGooglePay="airwallex-google-pay",t.airwallexApplePay="airwallex-apple-pay",t.authorizenetGooglePay="authorizenet-google-pay",t.authorizenetApplePay="authorizenet-apple-pay",t.loopCrypto="loop-crypto",t))(te||{});const qs=a.nativeEnum(te),$=a.string().trim().min(1,{message:"Cannot be blank"}),j=a.string().trim().optional(),J=t=>a.nullable(t.optional());var m=(t=>(t.FIRST_NAME="firstName",t.LAST_NAME="lastName",t.EMAIL="email",t.ZIP_CODE="zipCode",t.CITY="city",t.STATE="state",t.COUNTRY="country",t.ADDRESS="address",t.PHONE="phone",t.PROMOTION_CODE="promotionCode",t))(m||{});const sr=a.nativeEnum(m);var ar=(t=>(t.CARD_NUMBER="cardNumber",t.CARD_EXPIRY="cardExpiry",t.CARD_CVC="cardCvc",t))(ar||{});const ir=a.nativeEnum(ar),cr=a.union([sr,ir]);var he=(t=>(t.CARD="card",t.CARD_NUMBER="card-number",t.CARD_EXPIRY="card-expiry",t.CARD_CVC="card-cvc",t.CDE_BRIDGE="cde-bridge",t))(he||{});const Ys=a.nativeEnum(he),Ht=a.object({provider:a.string(),processor_name:J(a.string()),metadata:J(a.record(a.string(),a.any()))}),Ws=a.object({id:a.string()});a.object({cardNumber:j,expiry:j,cvc:j}),a.object({backgroundColor:j,color:j,fontFamily:j,fontSize:j,fontWeight:j,margin:j,padding:j,letterSpacing:j,lineHeight:j,hideIcon:j});const ae=a.enum(["LAYOUT","LOADED","BLUR","FOCUS","CHANGE","TOKENIZE_STARTED","CHECKOUT_STARTED","PAYMENT_FLOW_STARTED","TOKENIZE_SUCCESS","CHECKOUT_SUCCESS","LOAD_ERROR","VALIDATION_ERROR","TOKENIZE_ERROR","CHECKOUT_ERROR","SETUP_PAYMENT_METHOD_SUCCESS","TOKENIZE","CHECKOUT","START_PAYMENT_FLOW"]),Hs=ae.extract(["TOKENIZE_STARTED","CHECKOUT_STARTED"]),Ks=a.object({type:Hs}),Js=ae.extract(["BLUR","FOCUS","CHANGE"]),Qs=a.object({type:Js,elementType:ir,errors:a.array(a.string()).optional()}),Xs=ae.extract(["LOAD_ERROR","TOKENIZE_ERROR","CHECKOUT_ERROR"]),ea=a.object({type:Xs,message:$,headers:a.record(a.string(),a.string()).optional()}),ta=ae.extract(["VALIDATION_ERROR"]),na=a.object({type:ta,elementType:cr,errors:a.array(a.string())}),ra=a.object({type:a.literal(ae.enum.LAYOUT),height:$}),oa=a.object({type:a.literal(ae.enum.LOADED),sessionId:$,totalAmountAtoms:a.number(),currency:j,checkoutPaymentMethods:a.array(Ht)}),sa=a.object({type:a.literal(ae.enum.PAYMENT_FLOW_STARTED),nextActionMetadata:a.record(a.string(),a.any()),paymentFlowMetadata:a.any().optional(),startPFMetadata:a.optional(a.record(a.string(),a.any()))}),aa=a.object({type:a.literal(ae.enum.SETUP_PAYMENT_METHOD_SUCCESS),paymentMethodId:a.string()}),At=a.object({firstName:$,lastName:$,email:$,zipCode:$,country:$,promotionCode:j}),ia=a.object({firstName:j,lastName:j,email:$,zipCode:$,country:$,promotionCode:j,address:j,city:j,state:j}),ca=ae.extract(["TOKENIZE","CHECKOUT","START_PAYMENT_FLOW"]),la=a.object({type:ca,sessionId:$,checkoutPaymentMethod:Ht,paymentFlowMetadata:a.any().optional(),doNotUseLegacyCCFlow:a.boolean().optional(),existingCCPMId:j}).extend(At.shape),ua=a.object({type:a.literal(ae.enum.TOKENIZE_SUCCESS),isReadyForCheckout:a.boolean()}),da=a.object({type:a.literal(ae.enum.CHECKOUT_SUCCESS),invoiceUrls:a.array(a.string()),subscriptionIds:a.array(a.string()),customerId:a.string()}),pa=a.discriminatedUnion("type",[Ks,Qs,ea,na,ra,oa,la,ua,da,sa,aa]),fa=a.object({payload:pa,nonce:$,formId:$,elementId:$});a.object({amountAtom:a.number(),currency:$}),a.enum(["apple_pay","google_pay"]),a.object({secure_token:a.string(),promotion_code:a.string().optional()}),a.object({secure_token:a.string(),existing_cc_pm_id:J(a.string()),their_pm_id:J(a.string()),checkout_attempt_id:J(a.string()),processor_specific_metadata:J(a.record(a.string(),a.any()))});const Sn=a.object({invoice_urls:a.array(a.string()),subscription_ids:a.array(a.string()),customer_id:a.string(),processors_used:J(a.array(a.string()))}),ma=a.object({elementType:a.string(),errors:a.array(a.string())});a.object({session_id:a.string()});const ha=a.object({success:a.literal(!1),error_type:a.literal("validation_error"),errors:a.array(ma)}),ya=a.discriminatedUnion("success",[a.object({success:a.literal(!0)}),ha]);a.object({session_id:a.string(),checkout_payment_method:Ht,non_cde_form_fields:At,do_not_use_legacy_cc_flow:a.boolean().optional(),existing_cc_pm_id:J(a.string()),extra_metadata:a.record(a.string(),a.any())}),a.object({session_id:a.string(),checkout_payment_method:Ht,non_cde_form_fields:At,extra_metadata:a.record(a.string(),a.any()).optional()});var Z=(t=>(t.SUCCESS="success",t.FAILURE="failure",t.CANCELLED="cancelled",t))(Z||{});const _a=a.object({status:a.enum(["success","failure","cancelled"]),href:a.string().optional().nullable()});a.object({href:a.string().optional().nullable()});const ga=a.object({type:a.string(),redirect_url:a.string(),initial_intent_id:a.string(),consent_id:a.string(),their_pm_id:a.string().optional()}),lr=a.object({type:a.string(),redirect_url:J(a.string()),initial_intent_id:J(a.string()),consent_id:J(a.string()),their_pm_id:J(a.string()),payment_session:J(a.record(a.string(),a.any()))}),va=a.discriminatedUnion("present",[a.object({present:a.literal(!0),href:a.string()}),a.object({present:a.literal(!1)})]),wa=a.object({payment_methods:a.array(Ws),pay_first_success_response:J(Sn),required_user_actions:J(a.array(lr))}),ur=t=>{const e={};return Object.entries(t).forEach(([n,r])=>{try{const o=sr.parse(n);Array.isArray(r)?e[o]=r:Array.isArray(r._errors)&&(e[o]=r._errors)}catch{return}}),e},ba=a.object({stripe_pk:a.string(),client_secret:a.string(),stripe_pm_id:a.string()}),Ea=a.object({type:a.string(),client_secret:a.string(),stripe_pk:a.string()}),ka={usd:"usd",brl:"brl"},Kt=async t=>{for(let n=0;n<10;n++)dr()||await Pn(500);if(!dr())throw console.log("Stripe JS not found."),new Error("Stripe JS not found.");return new Stripe(t)},Ca=async(t,e)=>{const n=await Kt(t);return{elements:n.elements(e),stripe:n}},Sa=async(t,e,n,r,o)=>{const s=await Kt(t),i=ka[n.toLowerCase().trim()];return s.paymentRequest({country:"US",currency:i,total:{label:"Total",amount:e,pending:r},requestPayerName:!0,requestPayerEmail:!0,disableWallets:[]})},Pn=t=>new Promise(e=>{setTimeout(e,t)}),dr=()=>"Stripe"in window,Pa=async t=>new Promise((e,n)=>{try{t.on("paymentmethod",async r=>{console.log("paymentmethod EVT:: ",r),e(r)}),t.on("token",async r=>{console.log("token EVT:: ",r)}),t.on("cancel",()=>{n(new Error("Payment cancelled, please click Submit again to pay"))})}catch(r){n(r)}}),Aa=async(t,e)=>{if(!t.stripe_pk||!t.client_secret)throw new Error(`Invalid next action metadata format: ${JSON.stringify(t)}`);const r=await(await Kt(t.stripe_pk)).confirmCardSetup(t.client_secret,{payment_method:e.paymentMethod.id});if(r.error)throw e.complete("fail"),new Error(`Payment failed: ${r.error.message??"unknown"}`);return e.complete("success"),r},Ta=async t=>{var o,s,i,c;const n=await(await Kt(t.stripe_pk)).confirmCardSetup(t.client_secret,{payment_method:t.stripe_pm_id}),r=(o=n.setupIntent)==null?void 0:o.status;if(r==="succeeded")console.log("[3DS] CONFIRMING PM:",t.stripe_pm_id),console.log("[3DS] Setup intent created:",n.setupIntent);else throw r==="canceled"?new Error("Payment cancelled, please click Submit again to pay"):new Error(`${((s=n.error)==null?void 0:s.message)??((c=(i=n.setupIntent)==null?void 0:i.last_setup_error)==null?void 0:c.message)??"Payment failed, please click submit again to pay."}`)},xa=t=>JSON.stringify(t);for(var z=[],An=0;An<256;++An)z.push((An+256).toString(16).slice(1));function Ia(t,e=0){return(z[t[e+0]]+z[t[e+1]]+z[t[e+2]]+z[t[e+3]]+"-"+z[t[e+4]]+z[t[e+5]]+"-"+z[t[e+6]]+z[t[e+7]]+"-"+z[t[e+8]]+z[t[e+9]]+"-"+z[t[e+10]]+z[t[e+11]]+z[t[e+12]]+z[t[e+13]]+z[t[e+14]]+z[t[e+15]]).toLowerCase()}var Jt,Ra=new Uint8Array(16);function Na(){if(!Jt&&(Jt=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Jt))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Jt(Ra)}var Oa=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const pr={randomUUID:Oa};function Qt(t,e,n){if(pr.randomUUID&&!e&&!t)return pr.randomUUID();t=t||{};var r=t.random||(t.rng||Na)();return r[6]=r[6]&15|64,r[8]=r[8]&63|128,Ia(r)}const ye=(t,e)=>Array.from(t.querySelectorAll("[data-opid]")??[]).reduce((o,s)=>{const i=s.getAttribute("data-opid");return i?{...o,[i]:s.value}:o},{}),Ma=t=>{try{return fa.parse(t)}catch(e){throw console.error("Error parsing event payload:",t,e),e}};var _e;(function(t){t.Call="call",t.Reply="reply",t.Syn="syn",t.SynAck="synAck",t.Ack="ack"})(_e||(_e={}));var Ve;(function(t){t.Fulfilled="fulfilled",t.Rejected="rejected"})(Ve||(Ve={}));var Tt;(function(t){t.ConnectionDestroyed="ConnectionDestroyed",t.ConnectionTimeout="ConnectionTimeout",t.NoIframeSrc="NoIframeSrc"})(Tt||(Tt={}));var Tn;(function(t){t.DataCloneError="DataCloneError"})(Tn||(Tn={}));var De;(function(t){t.Message="message"})(De||(De={}));const Da=(t,e)=>{const n=[];let r=!1;return{destroy(o){r||(r=!0,e(`${t}: Destroying connection`),n.forEach(s=>{s(o)}))},onDestroy(o){r?o():n.push(o)}}},La=t=>(...e)=>{t&&console.log("[Penpal]",...e)},ja={"http:":"80","https:":"443"},Fa=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,Ua=["file:","data:"],$a=t=>{if(t&&Ua.find(c=>t.startsWith(c)))return"null";const e=document.location,n=Fa.exec(t);let r,o,s;n?(r=n[1]?n[1]:e.protocol,o=n[2],s=n[4]):(r=e.protocol,o=e.hostname,s=e.port);const i=s&&s!==ja[r]?`:${s}`:"";return`${r}//${o}${i}`},fr=({name:t,message:e,stack:n})=>({name:t,message:e,stack:n}),Za=t=>{const e=new Error;return Object.keys(t).forEach(n=>e[n]=t[n]),e},Va=(t,e,n)=>{const{localName:r,local:o,remote:s,originForSending:i,originForReceiving:c}=t;let l=!1;const u=d=>{if(d.source!==s||d.data.penpal!==_e.Call)return;if(c!=="*"&&d.origin!==c){n(`${r} received message from origin ${d.origin} which did not match expected origin ${c}`);return}const p=d.data,{methodName:_,args:f,id:h}=p;n(`${r}: Received ${_}() call`);const b=I=>E=>{if(n(`${r}: Sending ${_}() reply`),l){n(`${r}: Unable to send ${_}() reply due to destroyed connection`);return}const N={penpal:_e.Reply,id:h,resolution:I,returnValue:E};I===Ve.Rejected&&E instanceof Error&&(N.returnValue=fr(E),N.returnValueIsError=!0);try{s.postMessage(N,i)}catch(x){if(x.name===Tn.DataCloneError){const O={penpal:_e.Reply,id:h,resolution:Ve.Rejected,returnValue:fr(x),returnValueIsError:!0};s.postMessage(O,i)}throw x}};new Promise(I=>I(e[_].apply(e,f))).then(b(Ve.Fulfilled),b(Ve.Rejected))};return o.addEventListener(De.Message,u),()=>{l=!0,o.removeEventListener(De.Message,u)}};let za=0;const Ga=()=>++za,mr=".",hr=t=>t?t.split(mr):[],Ba=t=>t.join(mr),qa=(t,e)=>{const n=hr(e||"");return n.push(t),Ba(n)},Ya=(t,e,n)=>{const r=hr(e);return r.reduce((o,s,i)=>(typeof o[s]>"u"&&(o[s]={}),i===r.length-1&&(o[s]=n),o[s]),t),t},yr=(t,e)=>{const n={};return Object.keys(t).forEach(r=>{const o=t[r],s=qa(r,e);typeof o=="object"&&Object.assign(n,yr(o,s)),typeof o=="function"&&(n[s]=o)}),n},Wa=t=>{const e={};for(const n in t)Ya(e,n,t[n]);return e},Ha=(t,e,n,r,o)=>{const{localName:s,local:i,remote:c,originForSending:l,originForReceiving:u}=e;let d=!1;o(`${s}: Connecting call sender`);const p=f=>(...h)=>{o(`${s}: Sending ${f}() call`);let b;try{c.closed&&(b=!0)}catch{b=!0}if(b&&r(),d){const I=new Error(`Unable to send ${f}() call due to destroyed connection`);throw I.code=Tt.ConnectionDestroyed,I}return new Promise((I,E)=>{const N=Ga(),x=U=>{if(U.source!==c||U.data.penpal!==_e.Reply||U.data.id!==N)return;if(u!=="*"&&U.origin!==u){o(`${s} received message from origin ${U.origin} which did not match expected origin ${u}`);return}const Y=U.data;o(`${s}: Received ${f}() reply`),i.removeEventListener(De.Message,x);let Ee=Y.returnValue;Y.returnValueIsError&&(Ee=Za(Ee)),(Y.resolution===Ve.Fulfilled?I:E)(Ee)};i.addEventListener(De.Message,x);const O={penpal:_e.Call,id:N,methodName:f,args:h};c.postMessage(O,l)})},_=n.reduce((f,h)=>(f[h]=p(h),f),{});return Object.assign(t,Wa(_)),()=>{d=!0}},Ka=(t,e,n,r,o)=>{const{destroy:s,onDestroy:i}=r;let c,l;const u={};return d=>{if(e!=="*"&&d.origin!==e){o(`Parent: Handshake - Received ACK message from origin ${d.origin} which did not match expected origin ${e}`);return}o("Parent: Handshake - Received ACK");const p={localName:"Parent",local:window,remote:d.source,originForSending:n,originForReceiving:e};c&&c(),c=Va(p,t,o),i(c),l&&l.forEach(f=>{delete u[f]}),l=d.data.methodNames;const _=Ha(u,p,l,s,o);return i(_),u}},Ja=(t,e,n,r)=>o=>{if(!o.source)return;if(n!=="*"&&o.origin!==n){t(`Parent: Handshake - Received SYN message from origin ${o.origin} which did not match expected origin ${n}`);return}t("Parent: Handshake - Received SYN, responding with SYN-ACK");const s={penpal:_e.SynAck,methodNames:Object.keys(e)};o.source.postMessage(s,r)},Qa=6e4,Xa=(t,e)=>{const{destroy:n,onDestroy:r}=e,o=setInterval(()=>{t.isConnected||(clearInterval(o),n())},Qa);r(()=>{clearInterval(o)})},ei=(t,e)=>{let n;return t!==void 0&&(n=window.setTimeout(()=>{const r=new Error(`Connection timed out after ${t}ms`);r.code=Tt.ConnectionTimeout,e(r)},t)),()=>{clearTimeout(n)}},ti=t=>{if(!t.src&&!t.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=Tt.NoIframeSrc,e}},_r=t=>{let{iframe:e,methods:n={},childOrigin:r,timeout:o,debug:s=!1}=t;const i=La(s),c=Da("Parent",i),{onDestroy:l,destroy:u}=c;r||(ti(e),r=$a(e.src));const d=r==="null"?"*":r,p=yr(n),_=Ja(i,p,r,d),f=Ka(p,r,d,c,i);return{promise:new Promise((b,I)=>{const E=ei(o,u),N=x=>{if(!(x.source!==e.contentWindow||!x.data)){if(x.data.penpal===_e.Syn){_(x);return}if(x.data.penpal===_e.Ack){const O=f(x);O&&(E(),b(O));return}}};window.addEventListener(De.Message,N),i("Parent: Awaiting handshake"),Xa(e,c),l(x=>{window.removeEventListener(De.Message,N),x&&I(x)})}),destroy(){u()}}},ni=async t=>{if(typeof t!="object"||!t)return!1;try{const e={type:"ping"},n=await t.send(e);if(n!==!0)throw new Error(`Expected 'true' after ping, got ${JSON.stringify(n)}`);return!0}catch(e){return console.error("Invalid CDE connection check:",e),!1}},ri=(t,e)=>!!t&&e,P=t=>a.nullable(t.optional());a.string().trim().min(1,{message:"Cannot be blank"});const oi=a.object({cde_response_type:a.literal("error"),message:a.string(),headers:a.record(a.string(),a.string()).optional()});a.enum(["usd","brl"]);const gr=a.object({name:a.string(),amount_atom_off:P(a.number()),percent_off:P(a.number()),currency:P(a.string()),duration:a.string(),duration_in_months:P(a.number())}),vr=a.object({amount_subtotal_atom:a.number().int(),amount_total_atom:a.number().int(),currency:a.string(),description:P(a.string()),price_id:a.string(),billing_interval:P(a.string()),billing_interval_count:P(a.number().int()),quantity:a.number().int()}),si=a.record(a.string(),a.any()),ai=a.object({name:a.string(),settings:P(si)}),tt=a.object({provider:a.string(),processor_name:P(a.string()),metadata:P(a.record(a.string(),a.any()))}),ii=a.object({quantity:a.number()}),ci=a.object({id:P(a.string()),billing_interval:P(a.string()),billing_interval_count:P(a.number().int()),subscription_items:a.array(ii),trial_start:P(a.string()),trial_end:P(a.string())}),wr=a.object({amount_atom:a.number()}),li=a.object({amount_atom:a.number(),amount_atom_considering_discount_applied:a.number(),currency:a.string(),discount_amount_atoms:a.array(wr),subscription_item_id:a.string()}),ui=a.object({coupon:gr}),di=a.object({currency:a.string(),discounts:a.array(ui),hosted_invoice_url:P(a.string()),lines:a.array(li),remaining_amount_atom:a.number(),tax_amount_atom:a.number(),total_amount_atom:a.number(),total_discount_amount_atoms:a.array(wr)}),br=a.object({created:a.array(ci),invoices:a.array(di),processors_used:P(a.array(a.string()))}),Er=a.object({preview:br,preview_post_trial:P(br),coupons:a.array(gr)}),kr=a.object({status:a.literal("open"),locale:P(a.string()),token:a.string(),email:P(a.string()),line_items:a.array(vr),amount_subtotal_atom:a.number().int(),amount_total_atom:a.number().int(),brand:ai,subs_preview:P(Er),methods_available:a.array(tt)}),Cr=a.discriminatedUnion("mode",[a.object({mode:a.literal("setup"),currency:a.nullable(a.undefined())}).extend(kr.shape),a.object({mode:a.enum(["payment","subscription"]),currency:a.string()}).extend(kr.shape)]),pi=a.object({status:a.literal("complete")}),fi=a.object({status:a.literal("expired")});a.union([Cr,pi,fi]),a.object({logo:a.string(),icon:a.string(),primary_color:a.string(),secondary_color:a.string()}),a.object({secure_token:a.string(),pm_id:a.string()}),a.object({secure_token:a.string(),payment_input:a.any(),customer_first_name:a.string().optional(),customer_last_name:a.string().optional(),customer_email:a.string(),customer_zip_code:a.string(),customer_country:a.string(),line_items:a.array(vr),total_amount_atom:a.number().int(),cancel_at_end:a.boolean(),checkout_payment_method:tt,promotion_code:a.string().optional(),do_not_use_legacy_cc_flow:a.boolean().optional(),use_confirmed_pm_id:P(a.string())});const Sr=a.object({payment_method_id:a.string()});a.object({id:a.string(),return_url:a.string()});const mi=a.object({type:a.string(),loc:a.array(a.string()),msg:a.string(),url:a.string()});a.array(mi);const hi=a.object({new_customer_email:a.string().optional(),new_customer_address:a.record(a.string(),a.any()).optional(),new_customer_first_name:a.string().optional(),new_customer_last_name:a.string().optional()}),yi=a.object({price_id:a.string(),quantity:a.number().int()}),_i=a.object({line_items:a.array(yi),promotion_code:a.string().optional(),displayed_total_amount_atom:a.number().int()}),gi=a.object({processor_specific_metadata:P(a.record(a.string(),a.any()))});a.object({payment_provider:a.string(),checkout_payment_method:tt,existing_cc_pm_id:a.string().optional(),their_existing_pm_id:a.string().optional(),use_pay_first_flow:a.boolean().optional(),pay_first_flow_cart_info:_i.optional()}).extend(hi.shape).extend(gi.shape);const Pr=a.object({required_user_actions:a.array(a.record(a.string(),a.any())),checkout_attempt_id:P(a.string())});a.object({fields:ia,checkoutPaymentMethod:tt}),a.object({session_id:a.string(),non_cde_form_fields:At,checkout_payment_method:tt,extra_metadata:a.record(a.string(),a.any())});const vi=a.object({required_user_actions:a.array(a.record(a.string(),a.any())),cc_pm_id:a.string()});a.record(a.any()),a.object({first_name:P(a.string()),last_name:P(a.string()),line1:P(a.string()),line2:P(a.string()),line3:P(a.string()),city:P(a.string()),state:P(a.string()),country:P(a.string()),zip_code:P(a.string()),email:P(a.string()),billing_email:P(a.string()),phone_number:P(a.string()),update_processor_customer:P(a.boolean())}),a.object({id:a.string(),email:P(a.string()),first_name:P(a.string()),last_name:P(a.string()),phone_number:P(a.string()),billing_email:P(a.string()),address:P(a.record(a.string(),a.any()))}),a.object({message:a.string()});const wi=a.object({error_code:a.string()});a.object({checkout_payment_method:tt,processor_specific_metadata:a.record(a.any()).optional()});const bi=a.object({next_action_metadata:P(a.record(a.any()))});a.object({events:a.array(a.object({event_name:a.string(),device_token:a.string(),properties:a.record(a.any()).optional(),context_properties:a.record(a.any()).optional()}))}),a.any().optional(),a.object({device_token:a.string()});const Ei=a.object({}),ki=t=>t.reduce((e,n)=>e+n,0);function Ci(t,e){var n=Object.setPrototypeOf;n?n(t,e):t.__proto__=e}function Si(t,e){e===void 0&&(e=t.constructor);var n=Error.captureStackTrace;n&&n(t,e)}var Pi=function(){var t=function(n,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,s){o.__proto__=s}||function(o,s){for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(o[i]=s[i])},t(n,r)};return function(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(e,n);function r(){this.constructor=e}e.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),Ai=function(t){Pi(e,t);function e(n,r){var o=this.constructor,s=t.call(this,n,r)||this;return Object.defineProperty(s,"name",{value:o.name,enumerable:!1,configurable:!0}),Ci(s,o.prototype),Si(s),s}return e}(Error);const xn=10,Ar=(t=0)=>e=>`\x1B[${e+t}m`,Tr=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,xr=(t=0)=>(e,n,r)=>`\x1B[${38+t};2;${e};${n};${r}m`,M={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(M.modifier);const Ti=Object.keys(M.color),xi=Object.keys(M.bgColor);[...Ti,...xi];function Ii(){const t=new Map;for(const[e,n]of Object.entries(M)){for(const[r,o]of Object.entries(n))M[r]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},n[r]=M[r],t.set(o[0],o[1]);Object.defineProperty(M,e,{value:n,enumerable:!1})}return Object.defineProperty(M,"codes",{value:t,enumerable:!1}),M.color.close="\x1B[39m",M.bgColor.close="\x1B[49m",M.color.ansi=Ar(),M.color.ansi256=Tr(),M.color.ansi16m=xr(),M.bgColor.ansi=Ar(xn),M.bgColor.ansi256=Tr(xn),M.bgColor.ansi16m=xr(xn),Object.defineProperties(M,{rgbToAnsi256:{value(e,n,r){return e===n&&n===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},enumerable:!1},hexToRgb:{value(e){const n=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!n)return[0,0,0];let[r]=n;r.length===3&&(r=[...r].map(s=>s+s).join(""));const o=Number.parseInt(r,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:e=>M.rgbToAnsi256(...M.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let n,r,o;if(e>=232)n=((e-232)*10+8)/255,r=n,o=n;else{e-=16;const c=e%36;n=Math.floor(e/36)/5,r=Math.floor(c/6)/5,o=c%6/5}const s=Math.max(n,r,o)*2;if(s===0)return 30;let i=30+(Math.round(o)<<2|Math.round(r)<<1|Math.round(n));return s===2&&(i+=60),i},enumerable:!1},rgbToAnsi:{value:(e,n,r)=>M.ansi256ToAnsi(M.rgbToAnsi256(e,n,r)),enumerable:!1},hexToAnsi:{value:e=>M.ansi256ToAnsi(M.hexToAnsi256(e)),enumerable:!1}}),M}const ge=Ii(),Xt=(()=>{if(navigator.userAgentData){const t=navigator.userAgentData.brands.find(({brand:e})=>e==="Chromium");if(t&&t.version>93)return 3}return/\b(Chrome|Chromium)\//.test(navigator.userAgent)?1:0})(),Ir=Xt!==0&&{level:Xt,hasBasic:!0,has256:Xt>=2,has16m:Xt>=3},Ri={stdout:Ir,stderr:Ir};function Ni(t,e,n){let r=t.indexOf(e);if(r===-1)return t;const o=e.length;let s=0,i="";do i+=t.slice(s,r)+e+n,s=r+o,r=t.indexOf(e,s);while(r!==-1);return i+=t.slice(s),i}function Oi(t,e,n,r){let o=0,s="";do{const i=t[r-1]==="\r";s+=t.slice(o,i?r-1:r)+e+(i?`\r
1
+ (function(Ce,$e){typeof exports=="object"&&typeof module<"u"?$e(exports):typeof define=="function"&&define.amd?define(["exports"],$e):(Ce=typeof globalThis<"u"?globalThis:Ce||self,$e(Ce.OpenPay={}))})(this,function(Ce){"use strict";var Vo;const $e="https://cde.getopenpay.com";var R;(function(t){t.assertEqual=o=>o;function e(o){}t.assertIs=e;function r(o){throw new Error}t.assertNever=r,t.arrayToEnum=o=>{const s={};for(const i of o)s[i]=i;return s},t.getValidEnumValues=o=>{const s=t.objectKeys(o).filter(c=>typeof o[o[c]]!="number"),i={};for(const c of s)i[c]=o[c];return t.objectValues(i)},t.objectValues=o=>t.objectKeys(o).map(function(s){return o[s]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{const s=[];for(const i in o)Object.prototype.hasOwnProperty.call(o,i)&&s.push(i);return s},t.find=(o,s)=>{for(const i of o)if(s(i))return i},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&isFinite(o)&&Math.floor(o)===o;function n(o,s=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}t.joinValues=n,t.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(R||(R={}));var vr;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(vr||(vr={}));const v=R.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Re=t=>{switch(typeof t){case"undefined":return v.undefined;case"string":return v.string;case"number":return isNaN(t)?v.nan:v.number;case"boolean":return v.boolean;case"function":return v.function;case"bigint":return v.bigint;case"symbol":return v.symbol;case"object":return Array.isArray(t)?v.array:t===null?v.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?v.promise:typeof Map<"u"&&t instanceof Map?v.map:typeof Set<"u"&&t instanceof Set?v.set:typeof Date<"u"&&t instanceof Date?v.date:v.object;default:return v.unknown}},y=R.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),zo=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:");class te extends Error{constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};const r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(const i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let c=n,l=0;for(;l<i.path.length;){const u=i.path[l];l===i.path.length-1?(c[u]=c[u]||{_errors:[]},c[u]._errors.push(r(i))):c[u]=c[u]||{_errors:[]},c=c[u],l++}}};return o(this),n}static assert(e){if(!(e instanceof te))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,R.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){const r={},n=[];for(const o of this.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(e(o))):n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}}te.create=t=>new te(t);const Je=(t,e)=>{let r;switch(t.code){case y.invalid_type:t.received===v.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case y.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,R.jsonStringifyReplacer)}`;break;case y.unrecognized_keys:r=`Unrecognized key(s) in object: ${R.joinValues(t.keys,", ")}`;break;case y.invalid_union:r="Invalid input";break;case y.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${R.joinValues(t.options)}`;break;case y.invalid_enum_value:r=`Invalid enum value. Expected ${R.joinValues(t.options)}, received '${t.received}'`;break;case y.invalid_arguments:r="Invalid function arguments";break;case y.invalid_return_type:r="Invalid function return type";break;case y.invalid_date:r="Invalid date";break;case y.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:R.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case y.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case y.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case y.custom:r="Invalid input";break;case y.invalid_intersection_types:r="Intersection results could not be merged";break;case y.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case y.not_finite:r="Number must be finite";break;default:r=e.defaultError,R.assertNever(t)}return{message:r}};let Wr=Je;function Go(t){Wr=t}function zt(){return Wr}const Gt=t=>{const{data:e,path:r,errorMaps:n,issueData:o}=t,s=[...r,...o.path||[]],i={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let c="";const l=n.filter(u=>!!u).slice().reverse();for(const u of l)c=u(i,{data:e,defaultError:c}).message;return{...o,path:s,message:c}},Bo=[];function g(t,e){const r=zt(),n=Gt({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Je?void 0:Je].filter(o=>!!o)});t.common.issues.push(n)}class H{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){const n=[];for(const o of r){if(o.status==="aborted")return S;o.status==="dirty"&&e.dirty(),n.push(o.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){const n=[];for(const o of r){const s=await o.key,i=await o.value;n.push({key:s,value:i})}return H.mergeObjectSync(e,n)}static mergeObjectSync(e,r){const n={};for(const o of r){const{key:s,value:i}=o;if(s.status==="aborted"||i.status==="aborted")return S;s.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof i.value<"u"||o.alwaysSet)&&(n[s.value]=i.value)}return{status:e.value,value:n}}}const S=Object.freeze({status:"aborted"}),Qe=t=>({status:"dirty",value:t}),J=t=>({status:"valid",value:t}),wr=t=>t.status==="aborted",br=t=>t.status==="dirty",pt=t=>t.status==="valid",ft=t=>typeof Promise<"u"&&t instanceof Promise;function Bt(t,e,r,n){if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e.get(t)}function Hr(t,e,r,n,o){if(typeof e=="function"?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e.set(t,r),r}typeof SuppressedError=="function"&&SuppressedError;var w;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(w||(w={}));var mt,ht;class fe{constructor(e,r,n,o){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=o}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Kr=(t,e)=>{if(pt(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const r=new te(t.common.issues);return this._error=r,this._error}}};function A(t){if(!t)return{};const{errorMap:e,invalid_type_error:r,required_error:n,description:o}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(i,c)=>{var l,u;const{message:d}=t;return i.code==="invalid_enum_value"?{message:d??c.defaultError}:typeof c.data>"u"?{message:(l=d??n)!==null&&l!==void 0?l:c.defaultError}:i.code!=="invalid_type"?{message:c.defaultError}:{message:(u=d??r)!==null&&u!==void 0?u:c.defaultError}},description:o}}class T{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return Re(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:Re(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new H,ctx:{common:e.parent.common,data:e.data,parsedType:Re(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const r=this._parse(e);if(ft(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){const r=this._parse(e);return Promise.resolve(r)}parse(e,r){const n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){var n;const o={common:{issues:[],async:(n=r==null?void 0:r.async)!==null&&n!==void 0?n:!1,contextualErrorMap:r==null?void 0:r.errorMap},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Re(e)},s=this._parseSync({data:e,path:o.path,parent:o});return Kr(o,s)}async parseAsync(e,r){const n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){const n={common:{issues:[],contextualErrorMap:r==null?void 0:r.errorMap,async:!0},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Re(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(ft(o)?o:Promise.resolve(o));return Kr(n,s)}refine(e,r){const n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,s)=>{const i=e(o),c=()=>s.addIssue({code:y.custom,...n(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(l=>l?!0:(c(),!1)):i?!0:(c(),!1)})}refinement(e,r){return this._refinement((n,o)=>e(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(e){return new ae({schema:this,typeName:k.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return he.create(this,this._def)}nullable(){return De.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return se.create(this,this._def)}promise(){return rt.create(this,this._def)}or(e){return vt.create([this,e],this._def)}and(e){return wt.create(this,e,this._def)}transform(e){return new ae({...A(this._def),schema:this,typeName:k.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const r=typeof e=="function"?e:()=>e;return new St({...A(this._def),innerType:this,defaultValue:r,typeName:k.ZodDefault})}brand(){return new Cr({typeName:k.ZodBranded,type:this,...A(this._def)})}catch(e){const r=typeof e=="function"?e:()=>e;return new Pt({...A(this._def),innerType:this,catchValue:r,typeName:k.ZodCatch})}describe(e){const r=this.constructor;return new r({...this._def,description:e})}pipe(e){return At.create(this,e)}readonly(){return Tt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const qo=/^c[^\s-]{8,}$/i,Yo=/^[0-9a-z]+$/,Wo=/^[0-9A-HJKMNP-TV-Z]{26}$/,Ho=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ko=/^[a-z0-9_-]{21}$/i,Jo=/^[-+]?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)?)??$/,Qo=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Xo="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Er;const es=/^(?:(?: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])$/,ts=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,rs=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Jr="((\\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])))",ns=new RegExp(`^${Jr}$`);function Qr(t){let e="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`),e}function os(t){return new RegExp(`^${Qr(t)}$`)}function Xr(t){let e=`${Jr}T${Qr(t)}`;const r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function ss(t,e){return!!((e==="v4"||!e)&&es.test(t)||(e==="v6"||!e)&&ts.test(t))}class oe extends T{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==v.string){const s=this._getOrReturnCtx(e);return g(s,{code:y.invalid_type,expected:v.string,received:s.parsedType}),S}const n=new H;let o;for(const s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(o=this._getOrReturnCtx(e,o),g(o,{code:y.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")e.data.length>s.value&&(o=this._getOrReturnCtx(e,o),g(o,{code:y.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){const i=e.data.length>s.value,c=e.data.length<s.value;(i||c)&&(o=this._getOrReturnCtx(e,o),i?g(o,{code:y.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):c&&g(o,{code:y.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")Qo.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"email",code:y.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")Er||(Er=new RegExp(Xo,"u")),Er.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"emoji",code:y.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")Ho.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"uuid",code:y.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")Ko.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"nanoid",code:y.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")qo.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"cuid",code:y.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")Yo.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"cuid2",code:y.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")Wo.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"ulid",code:y.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),g(o,{validation:"url",code:y.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"regex",code:y.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(e,o),g(o,{code:y.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(o=this._getOrReturnCtx(e,o),g(o,{code:y.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(o=this._getOrReturnCtx(e,o),g(o,{code:y.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?Xr(s).test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{code:y.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?ns.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{code:y.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?os(s).test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{code:y.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?Jo.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"duration",code:y.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?ss(e.data,s.version)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"ip",code:y.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?rs.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"base64",code:y.invalid_string,message:s.message}),n.dirty()):R.assertNever(s);return{status:n.value,value:e.data}}_regex(e,r,n){return this.refinement(o=>e.test(o),{validation:r,code:y.invalid_string,...w.errToObj(n)})}_addCheck(e){return new oe({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...w.errToObj(e)})}url(e){return this._addCheck({kind:"url",...w.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...w.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...w.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...w.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...w.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...w.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...w.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...w.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...w.errToObj(e)})}datetime(e){var r,n;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(r=e==null?void 0:e.offset)!==null&&r!==void 0?r:!1,local:(n=e==null?void 0:e.local)!==null&&n!==void 0?n:!1,...w.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,...w.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...w.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...w.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r==null?void 0:r.position,...w.errToObj(r==null?void 0:r.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...w.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...w.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...w.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...w.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...w.errToObj(r)})}nonempty(e){return this.min(1,w.errToObj(e))}trim(){return new oe({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new oe({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new oe({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get minLength(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}}oe.create=t=>{var e;return new oe({checks:[],typeName:k.ZodString,coerce:(e=t==null?void 0:t.coerce)!==null&&e!==void 0?e:!1,...A(t)})};function as(t,e){const r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=parseInt(t.toFixed(o).replace(".","")),i=parseInt(e.toFixed(o).replace(".",""));return s%i/Math.pow(10,o)}class Ne extends T{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==v.number){const s=this._getOrReturnCtx(e);return g(s,{code:y.invalid_type,expected:v.number,received:s.parsedType}),S}let n;const o=new H;for(const s of this._def.checks)s.kind==="int"?R.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),g(n,{code:y.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),g(n,{code:y.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),g(n,{code:y.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?as(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),g(n,{code:y.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),g(n,{code:y.not_finite,message:s.message}),o.dirty()):R.assertNever(s);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,w.toString(r))}gt(e,r){return this.setLimit("min",e,!1,w.toString(r))}lte(e,r){return this.setLimit("max",e,!0,w.toString(r))}lt(e,r){return this.setLimit("max",e,!1,w.toString(r))}setLimit(e,r,n,o){return new Ne({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:w.toString(o)}]})}_addCheck(e){return new Ne({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:w.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:w.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:w.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:w.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:w.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:w.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:w.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:w.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:w.toString(e)})}get minValue(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&R.isInteger(e.value))}get isFinite(){let e=null,r=null;for(const n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(r)&&Number.isFinite(e)}}Ne.create=t=>new Ne({checks:[],typeName:k.ZodNumber,coerce:(t==null?void 0:t.coerce)||!1,...A(t)});class Oe extends T{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==v.bigint){const s=this._getOrReturnCtx(e);return g(s,{code:y.invalid_type,expected:v.bigint,received:s.parsedType}),S}let n;const o=new H;for(const s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),g(n,{code:y.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),g(n,{code:y.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),g(n,{code:y.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):R.assertNever(s);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,w.toString(r))}gt(e,r){return this.setLimit("min",e,!1,w.toString(r))}lte(e,r){return this.setLimit("max",e,!0,w.toString(r))}lt(e,r){return this.setLimit("max",e,!1,w.toString(r))}setLimit(e,r,n,o){return new Oe({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:w.toString(o)}]})}_addCheck(e){return new Oe({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:w.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:w.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:w.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:w.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:w.toString(r)})}get minValue(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}}Oe.create=t=>{var e;return new Oe({checks:[],typeName:k.ZodBigInt,coerce:(e=t==null?void 0:t.coerce)!==null&&e!==void 0?e:!1,...A(t)})};class yt extends T{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==v.boolean){const n=this._getOrReturnCtx(e);return g(n,{code:y.invalid_type,expected:v.boolean,received:n.parsedType}),S}return J(e.data)}}yt.create=t=>new yt({typeName:k.ZodBoolean,coerce:(t==null?void 0:t.coerce)||!1,...A(t)});class Ze extends T{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==v.date){const s=this._getOrReturnCtx(e);return g(s,{code:y.invalid_type,expected:v.date,received:s.parsedType}),S}if(isNaN(e.data.getTime())){const s=this._getOrReturnCtx(e);return g(s,{code:y.invalid_date}),S}const n=new H;let o;for(const s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(o=this._getOrReturnCtx(e,o),g(o,{code:y.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(o=this._getOrReturnCtx(e,o),g(o,{code:y.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):R.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Ze({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:w.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:w.toString(r)})}get minDate(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}}Ze.create=t=>new Ze({checks:[],coerce:(t==null?void 0:t.coerce)||!1,typeName:k.ZodDate,...A(t)});class qt extends T{_parse(e){if(this._getType(e)!==v.symbol){const n=this._getOrReturnCtx(e);return g(n,{code:y.invalid_type,expected:v.symbol,received:n.parsedType}),S}return J(e.data)}}qt.create=t=>new qt({typeName:k.ZodSymbol,...A(t)});class _t extends T{_parse(e){if(this._getType(e)!==v.undefined){const n=this._getOrReturnCtx(e);return g(n,{code:y.invalid_type,expected:v.undefined,received:n.parsedType}),S}return J(e.data)}}_t.create=t=>new _t({typeName:k.ZodUndefined,...A(t)});class gt extends T{_parse(e){if(this._getType(e)!==v.null){const n=this._getOrReturnCtx(e);return g(n,{code:y.invalid_type,expected:v.null,received:n.parsedType}),S}return J(e.data)}}gt.create=t=>new gt({typeName:k.ZodNull,...A(t)});class Xe extends T{constructor(){super(...arguments),this._any=!0}_parse(e){return J(e.data)}}Xe.create=t=>new Xe({typeName:k.ZodAny,...A(t)});class Ve extends T{constructor(){super(...arguments),this._unknown=!0}_parse(e){return J(e.data)}}Ve.create=t=>new Ve({typeName:k.ZodUnknown,...A(t)});class Se extends T{_parse(e){const r=this._getOrReturnCtx(e);return g(r,{code:y.invalid_type,expected:v.never,received:r.parsedType}),S}}Se.create=t=>new Se({typeName:k.ZodNever,...A(t)});class Yt extends T{_parse(e){if(this._getType(e)!==v.undefined){const n=this._getOrReturnCtx(e);return g(n,{code:y.invalid_type,expected:v.void,received:n.parsedType}),S}return J(e.data)}}Yt.create=t=>new Yt({typeName:k.ZodVoid,...A(t)});class se extends T{_parse(e){const{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==v.array)return g(r,{code:y.invalid_type,expected:v.array,received:r.parsedType}),S;if(o.exactLength!==null){const i=r.data.length>o.exactLength.value,c=r.data.length<o.exactLength.value;(i||c)&&(g(r,{code:i?y.too_big:y.too_small,minimum:c?o.exactLength.value:void 0,maximum:i?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),n.dirty())}if(o.minLength!==null&&r.data.length<o.minLength.value&&(g(r,{code:y.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&r.data.length>o.maxLength.value&&(g(r,{code:y.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((i,c)=>o.type._parseAsync(new fe(r,i,r.path,c)))).then(i=>H.mergeArray(n,i));const s=[...r.data].map((i,c)=>o.type._parseSync(new fe(r,i,r.path,c)));return H.mergeArray(n,s)}get element(){return this._def.type}min(e,r){return new se({...this._def,minLength:{value:e,message:w.toString(r)}})}max(e,r){return new se({...this._def,maxLength:{value:e,message:w.toString(r)}})}length(e,r){return new se({...this._def,exactLength:{value:e,message:w.toString(r)}})}nonempty(e){return this.min(1,e)}}se.create=(t,e)=>new se({type:t,minLength:null,maxLength:null,exactLength:null,typeName:k.ZodArray,...A(e)});function et(t){if(t instanceof L){const e={};for(const r in t.shape){const n=t.shape[r];e[r]=he.create(et(n))}return new L({...t._def,shape:()=>e})}else return t instanceof se?new se({...t._def,type:et(t.element)}):t instanceof he?he.create(et(t.unwrap())):t instanceof De?De.create(et(t.unwrap())):t instanceof me?me.create(t.items.map(e=>et(e))):t}class L extends T{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),r=R.objectKeys(e);return this._cached={shape:e,keys:r}}_parse(e){if(this._getType(e)!==v.object){const u=this._getOrReturnCtx(e);return g(u,{code:y.invalid_type,expected:v.object,received:u.parsedType}),S}const{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),c=[];if(!(this._def.catchall instanceof Se&&this._def.unknownKeys==="strip"))for(const u in o.data)i.includes(u)||c.push(u);const l=[];for(const u of i){const d=s[u],p=o.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new fe(o,p,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof Se){const u=this._def.unknownKeys;if(u==="passthrough")for(const d of c)l.push({key:{status:"valid",value:d},value:{status:"valid",value:o.data[d]}});else if(u==="strict")c.length>0&&(g(o,{code:y.unrecognized_keys,keys:c}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const d of c){const p=o.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new fe(o,p,o.path,d)),alwaysSet:d in o.data})}}return o.common.async?Promise.resolve().then(async()=>{const u=[];for(const d of l){const p=await d.key,_=await d.value;u.push({key:p,value:_,alwaysSet:d.alwaysSet})}return u}).then(u=>H.mergeObjectSync(n,u)):H.mergeObjectSync(n,l)}get shape(){return this._def.shape()}strict(e){return w.errToObj,new L({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{var o,s,i,c;const l=(i=(s=(o=this._def).errorMap)===null||s===void 0?void 0:s.call(o,r,n).message)!==null&&i!==void 0?i:n.defaultError;return r.code==="unrecognized_keys"?{message:(c=w.errToObj(e).message)!==null&&c!==void 0?c:l}:{message:l}}}:{}})}strip(){return new L({...this._def,unknownKeys:"strip"})}passthrough(){return new L({...this._def,unknownKeys:"passthrough"})}extend(e){return new L({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new L({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:k.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new L({...this._def,catchall:e})}pick(e){const r={};return R.objectKeys(e).forEach(n=>{e[n]&&this.shape[n]&&(r[n]=this.shape[n])}),new L({...this._def,shape:()=>r})}omit(e){const r={};return R.objectKeys(this.shape).forEach(n=>{e[n]||(r[n]=this.shape[n])}),new L({...this._def,shape:()=>r})}deepPartial(){return et(this)}partial(e){const r={};return R.objectKeys(this.shape).forEach(n=>{const o=this.shape[n];e&&!e[n]?r[n]=o:r[n]=o.optional()}),new L({...this._def,shape:()=>r})}required(e){const r={};return R.objectKeys(this.shape).forEach(n=>{if(e&&!e[n])r[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof he;)s=s._def.innerType;r[n]=s}}),new L({...this._def,shape:()=>r})}keyof(){return en(R.objectKeys(this.shape))}}L.create=(t,e)=>new L({shape:()=>t,unknownKeys:"strip",catchall:Se.create(),typeName:k.ZodObject,...A(e)}),L.strictCreate=(t,e)=>new L({shape:()=>t,unknownKeys:"strict",catchall:Se.create(),typeName:k.ZodObject,...A(e)}),L.lazycreate=(t,e)=>new L({shape:t,unknownKeys:"strip",catchall:Se.create(),typeName:k.ZodObject,...A(e)});class vt extends T{_parse(e){const{ctx:r}=this._processInputParams(e),n=this._def.options;function o(s){for(const c of s)if(c.result.status==="valid")return c.result;for(const c of s)if(c.result.status==="dirty")return r.common.issues.push(...c.ctx.common.issues),c.result;const i=s.map(c=>new te(c.ctx.common.issues));return g(r,{code:y.invalid_union,unionErrors:i}),S}if(r.common.async)return Promise.all(n.map(async s=>{const i={...r,common:{...r.common,issues:[]},parent:null};return{result:await s._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(o);{let s;const i=[];for(const l of n){const u={...r,common:{...r.common,issues:[]},parent:null},d=l._parseSync({data:r.data,path:r.path,parent:u});if(d.status==="valid")return d;d.status==="dirty"&&!s&&(s={result:d,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(s)return r.common.issues.push(...s.ctx.common.issues),s.result;const c=i.map(l=>new te(l));return g(r,{code:y.invalid_union,unionErrors:c}),S}}get options(){return this._def.options}}vt.create=(t,e)=>new vt({options:t,typeName:k.ZodUnion,...A(e)});const Pe=t=>t instanceof Et?Pe(t.schema):t instanceof ae?Pe(t.innerType()):t instanceof kt?[t.value]:t instanceof Me?t.options:t instanceof Ct?R.objectValues(t.enum):t instanceof St?Pe(t._def.innerType):t instanceof _t?[void 0]:t instanceof gt?[null]:t instanceof he?[void 0,...Pe(t.unwrap())]:t instanceof De?[null,...Pe(t.unwrap())]:t instanceof Cr||t instanceof Tt?Pe(t.unwrap()):t instanceof Pt?Pe(t._def.innerType):[];class Wt extends T{_parse(e){const{ctx:r}=this._processInputParams(e);if(r.parsedType!==v.object)return g(r,{code:y.invalid_type,expected:v.object,received:r.parsedType}),S;const n=this.discriminator,o=r.data[n],s=this.optionsMap.get(o);return s?r.common.async?s._parseAsync({data:r.data,path:r.path,parent:r}):s._parseSync({data:r.data,path:r.path,parent:r}):(g(r,{code:y.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),S)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){const o=new Map;for(const s of r){const i=Pe(s.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const c of i){if(o.has(c))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(c)}`);o.set(c,s)}}return new Wt({typeName:k.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...A(n)})}}function kr(t,e){const r=Re(t),n=Re(e);if(t===e)return{valid:!0,data:t};if(r===v.object&&n===v.object){const o=R.objectKeys(e),s=R.objectKeys(t).filter(c=>o.indexOf(c)!==-1),i={...t,...e};for(const c of s){const l=kr(t[c],e[c]);if(!l.valid)return{valid:!1};i[c]=l.data}return{valid:!0,data:i}}else if(r===v.array&&n===v.array){if(t.length!==e.length)return{valid:!1};const o=[];for(let s=0;s<t.length;s++){const i=t[s],c=e[s],l=kr(i,c);if(!l.valid)return{valid:!1};o.push(l.data)}return{valid:!0,data:o}}else return r===v.date&&n===v.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}class wt extends T{_parse(e){const{status:r,ctx:n}=this._processInputParams(e),o=(s,i)=>{if(wr(s)||wr(i))return S;const c=kr(s.value,i.value);return c.valid?((br(s)||br(i))&&r.dirty(),{status:r.value,value:c.data}):(g(n,{code:y.invalid_intersection_types}),S)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,i])=>o(s,i)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}wt.create=(t,e,r)=>new wt({left:t,right:e,typeName:k.ZodIntersection,...A(r)});class me extends T{_parse(e){const{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==v.array)return g(n,{code:y.invalid_type,expected:v.array,received:n.parsedType}),S;if(n.data.length<this._def.items.length)return g(n,{code:y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),S;!this._def.rest&&n.data.length>this._def.items.length&&(g(n,{code:y.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());const s=[...n.data].map((i,c)=>{const l=this._def.items[c]||this._def.rest;return l?l._parse(new fe(n,i,n.path,c)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>H.mergeArray(r,i)):H.mergeArray(r,s)}get items(){return this._def.items}rest(e){return new me({...this._def,rest:e})}}me.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new me({items:t,typeName:k.ZodTuple,rest:null,...A(e)})};class bt extends T{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==v.object)return g(n,{code:y.invalid_type,expected:v.object,received:n.parsedType}),S;const o=[],s=this._def.keyType,i=this._def.valueType;for(const c in n.data)o.push({key:s._parse(new fe(n,c,n.path,c)),value:i._parse(new fe(n,n.data[c],n.path,c)),alwaysSet:c in n.data});return n.common.async?H.mergeObjectAsync(r,o):H.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof T?new bt({keyType:e,valueType:r,typeName:k.ZodRecord,...A(n)}):new bt({keyType:oe.create(),valueType:e,typeName:k.ZodRecord,...A(r)})}}class Ht extends T{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==v.map)return g(n,{code:y.invalid_type,expected:v.map,received:n.parsedType}),S;const o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([c,l],u)=>({key:o._parse(new fe(n,c,n.path,[u,"key"])),value:s._parse(new fe(n,l,n.path,[u,"value"]))}));if(n.common.async){const c=new Map;return Promise.resolve().then(async()=>{for(const l of i){const u=await l.key,d=await l.value;if(u.status==="aborted"||d.status==="aborted")return S;(u.status==="dirty"||d.status==="dirty")&&r.dirty(),c.set(u.value,d.value)}return{status:r.value,value:c}})}else{const c=new Map;for(const l of i){const u=l.key,d=l.value;if(u.status==="aborted"||d.status==="aborted")return S;(u.status==="dirty"||d.status==="dirty")&&r.dirty(),c.set(u.value,d.value)}return{status:r.value,value:c}}}}Ht.create=(t,e,r)=>new Ht({valueType:e,keyType:t,typeName:k.ZodMap,...A(r)});class ze extends T{_parse(e){const{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==v.set)return g(n,{code:y.invalid_type,expected:v.set,received:n.parsedType}),S;const o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&(g(n,{code:y.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),r.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&(g(n,{code:y.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());const s=this._def.valueType;function i(l){const u=new Set;for(const d of l){if(d.status==="aborted")return S;d.status==="dirty"&&r.dirty(),u.add(d.value)}return{status:r.value,value:u}}const c=[...n.data.values()].map((l,u)=>s._parse(new fe(n,l,n.path,u)));return n.common.async?Promise.all(c).then(l=>i(l)):i(c)}min(e,r){return new ze({...this._def,minSize:{value:e,message:w.toString(r)}})}max(e,r){return new ze({...this._def,maxSize:{value:e,message:w.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}}ze.create=(t,e)=>new ze({valueType:t,minSize:null,maxSize:null,typeName:k.ZodSet,...A(e)});class tt extends T{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:r}=this._processInputParams(e);if(r.parsedType!==v.function)return g(r,{code:y.invalid_type,expected:v.function,received:r.parsedType}),S;function n(c,l){return Gt({data:c,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,zt(),Je].filter(u=>!!u),issueData:{code:y.invalid_arguments,argumentsError:l}})}function o(c,l){return Gt({data:c,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,zt(),Je].filter(u=>!!u),issueData:{code:y.invalid_return_type,returnTypeError:l}})}const s={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof rt){const c=this;return J(async function(...l){const u=new te([]),d=await c._def.args.parseAsync(l,s).catch(f=>{throw u.addIssue(n(l,f)),u}),p=await Reflect.apply(i,this,d);return await c._def.returns._def.type.parseAsync(p,s).catch(f=>{throw u.addIssue(o(p,f)),u})})}else{const c=this;return J(function(...l){const u=c._def.args.safeParse(l,s);if(!u.success)throw new te([n(l,u.error)]);const d=Reflect.apply(i,this,u.data),p=c._def.returns.safeParse(d,s);if(!p.success)throw new te([o(d,p.error)]);return p.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new tt({...this._def,args:me.create(e).rest(Ve.create())})}returns(e){return new tt({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new tt({args:e||me.create([]).rest(Ve.create()),returns:r||Ve.create(),typeName:k.ZodFunction,...A(n)})}}class Et extends T{get schema(){return this._def.getter()}_parse(e){const{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}}Et.create=(t,e)=>new Et({getter:t,typeName:k.ZodLazy,...A(e)});class kt extends T{_parse(e){if(e.data!==this._def.value){const r=this._getOrReturnCtx(e);return g(r,{received:r.data,code:y.invalid_literal,expected:this._def.value}),S}return{status:"valid",value:e.data}}get value(){return this._def.value}}kt.create=(t,e)=>new kt({value:t,typeName:k.ZodLiteral,...A(e)});function en(t,e){return new Me({values:t,typeName:k.ZodEnum,...A(e)})}class Me extends T{constructor(){super(...arguments),mt.set(this,void 0)}_parse(e){if(typeof e.data!="string"){const r=this._getOrReturnCtx(e),n=this._def.values;return g(r,{expected:R.joinValues(n),received:r.parsedType,code:y.invalid_type}),S}if(Bt(this,mt)||Hr(this,mt,new Set(this._def.values)),!Bt(this,mt).has(e.data)){const r=this._getOrReturnCtx(e),n=this._def.values;return g(r,{received:r.data,code:y.invalid_enum_value,options:n}),S}return J(e.data)}get options(){return this._def.values}get enum(){const e={};for(const r of this._def.values)e[r]=r;return e}get Values(){const e={};for(const r of this._def.values)e[r]=r;return e}get Enum(){const e={};for(const r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return Me.create(e,{...this._def,...r})}exclude(e,r=this._def){return Me.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}}mt=new WeakMap,Me.create=en;class Ct extends T{constructor(){super(...arguments),ht.set(this,void 0)}_parse(e){const r=R.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==v.string&&n.parsedType!==v.number){const o=R.objectValues(r);return g(n,{expected:R.joinValues(o),received:n.parsedType,code:y.invalid_type}),S}if(Bt(this,ht)||Hr(this,ht,new Set(R.getValidEnumValues(this._def.values))),!Bt(this,ht).has(e.data)){const o=R.objectValues(r);return g(n,{received:n.data,code:y.invalid_enum_value,options:o}),S}return J(e.data)}get enum(){return this._def.values}}ht=new WeakMap,Ct.create=(t,e)=>new Ct({values:t,typeName:k.ZodNativeEnum,...A(e)});class rt extends T{unwrap(){return this._def.type}_parse(e){const{ctx:r}=this._processInputParams(e);if(r.parsedType!==v.promise&&r.common.async===!1)return g(r,{code:y.invalid_type,expected:v.promise,received:r.parsedType}),S;const n=r.parsedType===v.promise?r.data:Promise.resolve(r.data);return J(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}}rt.create=(t,e)=>new rt({type:t,typeName:k.ZodPromise,...A(e)});class ae extends T{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===k.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null,s={addIssue:i=>{g(n,i),i.fatal?r.abort():r.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){const i=o.transform(n.data,s);if(n.common.async)return Promise.resolve(i).then(async c=>{if(r.value==="aborted")return S;const l=await this._def.schema._parseAsync({data:c,path:n.path,parent:n});return l.status==="aborted"?S:l.status==="dirty"||r.value==="dirty"?Qe(l.value):l});{if(r.value==="aborted")return S;const c=this._def.schema._parseSync({data:i,path:n.path,parent:n});return c.status==="aborted"?S:c.status==="dirty"||r.value==="dirty"?Qe(c.value):c}}if(o.type==="refinement"){const i=c=>{const l=o.refinement(c,s);if(n.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return c};if(n.common.async===!1){const c=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return c.status==="aborted"?S:(c.status==="dirty"&&r.dirty(),i(c.value),{status:r.value,value:c.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(c=>c.status==="aborted"?S:(c.status==="dirty"&&r.dirty(),i(c.value).then(()=>({status:r.value,value:c.value}))))}if(o.type==="transform")if(n.common.async===!1){const i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!pt(i))return i;const c=o.transform(i.value,s);if(c instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:c}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>pt(i)?Promise.resolve(o.transform(i.value,s)).then(c=>({status:r.value,value:c})):i);R.assertNever(o)}}ae.create=(t,e,r)=>new ae({schema:t,typeName:k.ZodEffects,effect:e,...A(r)}),ae.createWithPreprocess=(t,e,r)=>new ae({schema:e,effect:{type:"preprocess",transform:t},typeName:k.ZodEffects,...A(r)});class he extends T{_parse(e){return this._getType(e)===v.undefined?J(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}he.create=(t,e)=>new he({innerType:t,typeName:k.ZodOptional,...A(e)});class De extends T{_parse(e){return this._getType(e)===v.null?J(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}De.create=(t,e)=>new De({innerType:t,typeName:k.ZodNullable,...A(e)});class St extends T{_parse(e){const{ctx:r}=this._processInputParams(e);let n=r.data;return r.parsedType===v.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}}St.create=(t,e)=>new St({innerType:t,typeName:k.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...A(e)});class Pt extends T{_parse(e){const{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return ft(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new te(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new te(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}Pt.create=(t,e)=>new Pt({innerType:t,typeName:k.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...A(e)});class Kt extends T{_parse(e){if(this._getType(e)!==v.nan){const n=this._getOrReturnCtx(e);return g(n,{code:y.invalid_type,expected:v.nan,received:n.parsedType}),S}return{status:"valid",value:e.data}}}Kt.create=t=>new Kt({typeName:k.ZodNaN,...A(t)});const is=Symbol("zod_brand");class Cr extends T{_parse(e){const{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}}class At extends T{_parse(e){const{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{const s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?S:s.status==="dirty"?(r.dirty(),Qe(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{const o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?S:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,r){return new At({in:e,out:r,typeName:k.ZodPipeline})}}class Tt extends T{_parse(e){const r=this._def.innerType._parse(e),n=o=>(pt(o)&&(o.value=Object.freeze(o.value)),o);return ft(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}}Tt.create=(t,e)=>new Tt({innerType:t,typeName:k.ZodReadonly,...A(e)});function tn(t,e={},r){return t?Xe.create().superRefine((n,o)=>{var s,i;if(!t(n)){const c=typeof e=="function"?e(n):typeof e=="string"?{message:e}:e,l=(i=(s=c.fatal)!==null&&s!==void 0?s:r)!==null&&i!==void 0?i:!0,u=typeof c=="string"?{message:c}:c;o.addIssue({code:"custom",...u,fatal:l})}}):Xe.create()}const cs={object:L.lazycreate};var k;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(k||(k={}));const ls=(t,e={message:`Input not instance of ${t.name}`})=>tn(r=>r instanceof t,e),rn=oe.create,nn=Ne.create,us=Kt.create,ds=Oe.create,on=yt.create,ps=Ze.create,fs=qt.create,ms=_t.create,hs=gt.create,ys=Xe.create,_s=Ve.create,gs=Se.create,vs=Yt.create,ws=se.create,bs=L.create,Es=L.strictCreate,ks=vt.create,Cs=Wt.create,Ss=wt.create,Ps=me.create,As=bt.create,Ts=Ht.create,xs=ze.create,Is=tt.create,Rs=Et.create,Ns=kt.create,Os=Me.create,Ms=Ct.create,Ds=rt.create,sn=ae.create,Ls=he.create,js=De.create,Fs=ae.createWithPreprocess,Us=At.create;var a=Object.freeze({__proto__:null,defaultErrorMap:Je,setErrorMap:Go,getErrorMap:zt,makeIssue:Gt,EMPTY_PATH:Bo,addIssueToContext:g,ParseStatus:H,INVALID:S,DIRTY:Qe,OK:J,isAborted:wr,isDirty:br,isValid:pt,isAsync:ft,get util(){return R},get objectUtil(){return vr},ZodParsedType:v,getParsedType:Re,ZodType:T,datetimeRegex:Xr,ZodString:oe,ZodNumber:Ne,ZodBigInt:Oe,ZodBoolean:yt,ZodDate:Ze,ZodSymbol:qt,ZodUndefined:_t,ZodNull:gt,ZodAny:Xe,ZodUnknown:Ve,ZodNever:Se,ZodVoid:Yt,ZodArray:se,ZodObject:L,ZodUnion:vt,ZodDiscriminatedUnion:Wt,ZodIntersection:wt,ZodTuple:me,ZodRecord:bt,ZodMap:Ht,ZodSet:ze,ZodFunction:tt,ZodLazy:Et,ZodLiteral:kt,ZodEnum:Me,ZodNativeEnum:Ct,ZodPromise:rt,ZodEffects:ae,ZodTransformer:ae,ZodOptional:he,ZodNullable:De,ZodDefault:St,ZodCatch:Pt,ZodNaN:Kt,BRAND:is,ZodBranded:Cr,ZodPipeline:At,ZodReadonly:Tt,custom:tn,Schema:T,ZodSchema:T,late:cs,get ZodFirstPartyTypeKind(){return k},coerce:{string:t=>oe.create({...t,coerce:!0}),number:t=>Ne.create({...t,coerce:!0}),boolean:t=>yt.create({...t,coerce:!0}),bigint:t=>Oe.create({...t,coerce:!0}),date:t=>Ze.create({...t,coerce:!0})},any:ys,array:ws,bigint:ds,boolean:on,date:ps,discriminatedUnion:Cs,effect:sn,enum:Os,function:Is,instanceof:ls,intersection:Ss,lazy:Rs,literal:Ns,map:Ts,nan:us,nativeEnum:Ms,never:gs,null:hs,nullable:js,number:nn,object:bs,oboolean:()=>on().optional(),onumber:()=>nn().optional(),optional:Ls,ostring:()=>rn().optional(),pipeline:Us,preprocess:Fs,promise:Ds,record:As,set:xs,strictObject:Es,string:rn,symbol:fs,transformer:sn,tuple:Ps,undefined:ms,union:ks,unknown:_s,void:vs,NEVER:S,ZodIssueCode:y,quotelessJson:zo,ZodError:te});const $s=a.object({type:a.string(),loc:a.array(a.string()),msg:a.string(),url:a.string()}),Zs=a.array($s),Vs=a.object({code:a.string(),message:a.string(),path:a.array(a.string())}),zs=a.array(Vs),Gs={"failed to fetch":"Connection error: please double check if you are connected to the internet, then try again"},Sr=t=>{const e=t.toLowerCase().trim();return Gs[e]??t},Bs=t=>{try{return typeof JSON.parse(t)=="object"}catch{return!1}},qs=t=>t.length===1?Sr(t[0].msg):`Please fix the following errors:
2
+ ${t.map(r=>`• ${Sr(r.msg)}`).join(`
3
+ `)}`,Ys=t=>`Encountered the following errors:
4
+ ${t.map(r=>`- ${r.path.join("/")}: ${r.message}`).join(`
5
+ `)}`,ne=t=>{if(t instanceof Error)if(Bs(t.message)){const e=JSON.parse(t.message);return Zs.safeParse(e).success?qs(e):zs.safeParse(e).success?Ys(e):(console.warn(`Encountered unknown stringified JSON object:
6
+ ${t.message}`),t.message)}else return Sr(t.message);if(typeof t=="object")try{return JSON.stringify(t)}catch(e){return e+""}else return t+""},Ws=(t,e,r)=>(...n)=>{try{return e(...n)}catch(o){r(`[form] Error running callback (${t}):`,o);return}};var re=(t=>(t.pockytPaypal="pockyt-paypal",t.airwallexGooglePay="airwallex-google-pay",t.airwallexApplePay="airwallex-apple-pay",t.authorizenetGooglePay="authorizenet-google-pay",t.authorizenetApplePay="authorizenet-apple-pay",t.loopCrypto="loop-crypto",t))(re||{});const Hs=a.nativeEnum(re),Z=a.string().trim().min(1,{message:"Cannot be blank"}),j=a.string().trim().optional(),Q=t=>a.nullable(t.optional());var m=(t=>(t.FIRST_NAME="firstName",t.LAST_NAME="lastName",t.EMAIL="email",t.ZIP_CODE="zipCode",t.CITY="city",t.STATE="state",t.COUNTRY="country",t.ADDRESS="address",t.PHONE="phone",t.PROMOTION_CODE="promotionCode",t))(m||{});const an=a.nativeEnum(m);var cn=(t=>(t.CARD_NUMBER="cardNumber",t.CARD_EXPIRY="cardExpiry",t.CARD_CVC="cardCvc",t))(cn||{});const ln=a.nativeEnum(cn),un=a.union([an,ln]);var ye=(t=>(t.CARD="card",t.CARD_NUMBER="card-number",t.CARD_EXPIRY="card-expiry",t.CARD_CVC="card-cvc",t.CDE_BRIDGE="cde-bridge",t))(ye||{});const Ks=a.nativeEnum(ye),Jt=a.object({provider:a.string(),processor_name:Q(a.string()),metadata:Q(a.record(a.string(),a.any()))}),Js=a.object({id:a.string()});a.object({cardNumber:j,expiry:j,cvc:j}),a.object({backgroundColor:j,color:j,fontFamily:j,fontSize:j,fontWeight:j,margin:j,padding:j,letterSpacing:j,lineHeight:j,hideIcon:j});const ie=a.enum(["LAYOUT","LOADED","BLUR","FOCUS","CHANGE","TOKENIZE_STARTED","CHECKOUT_STARTED","PAYMENT_FLOW_STARTED","TOKENIZE_SUCCESS","CHECKOUT_SUCCESS","LOAD_ERROR","VALIDATION_ERROR","TOKENIZE_ERROR","CHECKOUT_ERROR","SETUP_PAYMENT_METHOD_SUCCESS","TOKENIZE","CHECKOUT","START_PAYMENT_FLOW"]),Qs=ie.extract(["TOKENIZE_STARTED","CHECKOUT_STARTED"]),Xs=a.object({type:Qs}),ea=ie.extract(["BLUR","FOCUS","CHANGE"]),ta=a.object({type:ea,elementType:ln,errors:a.array(a.string()).optional()}),ra=ie.extract(["LOAD_ERROR","TOKENIZE_ERROR","CHECKOUT_ERROR"]),na=a.object({type:ra,message:Z,headers:a.record(a.string(),a.string()).optional()}),oa=ie.extract(["VALIDATION_ERROR"]),sa=a.object({type:oa,elementType:un,errors:a.array(a.string())}),aa=a.object({type:a.literal(ie.enum.LAYOUT),height:Z}),ia=a.object({type:a.literal(ie.enum.LOADED),sessionId:Z,totalAmountAtoms:a.number(),currency:j,checkoutPaymentMethods:a.array(Jt)}),ca=a.object({type:a.literal(ie.enum.PAYMENT_FLOW_STARTED),nextActionMetadata:a.record(a.string(),a.any()),paymentFlowMetadata:a.any().optional(),startPFMetadata:a.optional(a.record(a.string(),a.any()))}),la=a.object({type:a.literal(ie.enum.SETUP_PAYMENT_METHOD_SUCCESS),paymentMethodId:a.string()}),xt=a.object({firstName:Z,lastName:Z,email:Z,zipCode:Z,country:Z,promotionCode:j}),ua=a.object({firstName:j,lastName:j,email:Z,zipCode:Z,country:Z,promotionCode:j,address:j,city:j,state:j}),da=ie.extract(["TOKENIZE","CHECKOUT","START_PAYMENT_FLOW"]),pa=a.object({type:da,sessionId:Z,checkoutPaymentMethod:Jt,paymentFlowMetadata:a.any().optional(),doNotUseLegacyCCFlow:a.boolean().optional(),existingCCPMId:j}).extend(xt.shape),fa=a.object({type:a.literal(ie.enum.TOKENIZE_SUCCESS),isReadyForCheckout:a.boolean()}),ma=a.object({type:a.literal(ie.enum.CHECKOUT_SUCCESS),invoiceUrls:a.array(a.string()),subscriptionIds:a.array(a.string()),customerId:a.string()}),ha=a.discriminatedUnion("type",[Xs,ta,na,sa,aa,ia,pa,fa,ma,ca,la]),ya=a.object({payload:ha,nonce:Z,formId:Z,elementId:Z});a.object({amountAtom:a.number(),currency:Z}),a.enum(["apple_pay","google_pay"]),a.object({secure_token:a.string(),promotion_code:a.string().optional()}),a.object({secure_token:a.string(),existing_cc_pm_id:Q(a.string()),their_pm_id:Q(a.string()),checkout_attempt_id:Q(a.string()),processor_specific_metadata:Q(a.record(a.string(),a.any()))});const Pr=a.object({invoice_urls:a.array(a.string()),subscription_ids:a.array(a.string()),customer_id:a.string(),processors_used:Q(a.array(a.string()))}),_a=a.object({elementType:a.string(),errors:a.array(a.string())});a.object({session_id:a.string()});const ga=a.object({success:a.literal(!1),error_type:a.literal("validation_error"),errors:a.array(_a)}),va=a.discriminatedUnion("success",[a.object({success:a.literal(!0)}),ga]);a.object({session_id:a.string(),checkout_payment_method:Jt,non_cde_form_fields:xt,do_not_use_legacy_cc_flow:a.boolean().optional(),existing_cc_pm_id:Q(a.string()),extra_metadata:a.record(a.string(),a.any())}),a.object({session_id:a.string(),checkout_payment_method:Jt,non_cde_form_fields:xt,extra_metadata:a.record(a.string(),a.any()).optional()});var V=(t=>(t.SUCCESS="success",t.FAILURE="failure",t.CANCELLED="cancelled",t))(V||{});const wa=a.object({status:a.enum(["success","failure","cancelled"]),href:a.string().optional().nullable()});a.object({href:a.string().optional().nullable()});const ba=a.object({type:a.string(),redirect_url:a.string(),initial_intent_id:a.string(),consent_id:a.string(),their_pm_id:a.string().optional()}),dn=a.object({type:a.string(),redirect_url:Q(a.string()),initial_intent_id:Q(a.string()),consent_id:Q(a.string()),their_pm_id:Q(a.string()),payment_session:Q(a.record(a.string(),a.any()))}),Ea=a.discriminatedUnion("present",[a.object({present:a.literal(!0),href:a.string()}),a.object({present:a.literal(!1)})]),ka=a.object({payment_methods:a.array(Js),pay_first_success_response:Q(Pr),required_user_actions:Q(a.array(dn))}),pn=t=>{const e={};return Object.entries(t).forEach(([r,n])=>{try{const o=an.parse(r);Array.isArray(n)?e[o]=n:Array.isArray(n._errors)&&(e[o]=n._errors)}catch{return}}),e},Ca=a.object({stripe_pk:a.string(),client_secret:a.string(),stripe_pm_id:a.string()}),Sa=a.object({type:a.string(),client_secret:a.string(),stripe_pk:a.string()}),Pa={usd:"usd",brl:"brl"},Qt=async t=>{for(let r=0;r<10;r++)fn()||await Ar(500);if(!fn())throw console.log("Stripe JS not found."),new Error("Stripe JS not found.");return new Stripe(t)},Aa=async(t,e)=>{const r=await Qt(t);return{elements:r.elements(e),stripe:r}},Ta=async(t,e,r,n,o)=>{const s=await Qt(t),i=Pa[r.toLowerCase().trim()];return s.paymentRequest({country:"US",currency:i,total:{label:"Total",amount:e,pending:n},requestPayerName:!0,requestPayerEmail:!0,disableWallets:[]})},Ar=t=>new Promise(e=>{setTimeout(e,t)}),fn=()=>"Stripe"in window,xa=async t=>new Promise((e,r)=>{try{t.on("paymentmethod",async n=>{console.log("paymentmethod EVT:: ",n),e(n)}),t.on("token",async n=>{console.log("token EVT:: ",n)}),t.on("cancel",()=>{r(new Error("Payment cancelled, please click Submit again to pay"))})}catch(n){r(n)}}),Ia=async(t,e)=>{if(!t.stripe_pk||!t.client_secret)throw new Error(`Invalid next action metadata format: ${JSON.stringify(t)}`);const n=await(await Qt(t.stripe_pk)).confirmCardSetup(t.client_secret,{payment_method:e.paymentMethod.id});if(n.error)throw e.complete("fail"),new Error(`Payment failed: ${n.error.message??"unknown"}`);return e.complete("success"),n},Ra=async t=>{var o,s,i,c;const r=await(await Qt(t.stripe_pk)).confirmCardSetup(t.client_secret,{payment_method:t.stripe_pm_id}),n=(o=r.setupIntent)==null?void 0:o.status;if(n==="succeeded")console.log("[3DS] CONFIRMING PM:",t.stripe_pm_id),console.log("[3DS] Setup intent created:",r.setupIntent);else throw n==="canceled"?new Error("Payment cancelled, please click Submit again to pay"):new Error(`${((s=r.error)==null?void 0:s.message)??((c=(i=r.setupIntent)==null?void 0:i.last_setup_error)==null?void 0:c.message)??"Payment failed, please click submit again to pay."}`)},Na=t=>JSON.stringify(t);for(var G=[],Tr=0;Tr<256;++Tr)G.push((Tr+256).toString(16).slice(1));function Oa(t,e=0){return(G[t[e+0]]+G[t[e+1]]+G[t[e+2]]+G[t[e+3]]+"-"+G[t[e+4]]+G[t[e+5]]+"-"+G[t[e+6]]+G[t[e+7]]+"-"+G[t[e+8]]+G[t[e+9]]+"-"+G[t[e+10]]+G[t[e+11]]+G[t[e+12]]+G[t[e+13]]+G[t[e+14]]+G[t[e+15]]).toLowerCase()}var Xt,Ma=new Uint8Array(16);function Da(){if(!Xt&&(Xt=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Xt))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Xt(Ma)}var La=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const mn={randomUUID:La};function er(t,e,r){if(mn.randomUUID&&!e&&!t)return mn.randomUUID();t=t||{};var n=t.random||(t.rng||Da)();return n[6]=n[6]&15|64,n[8]=n[8]&63|128,Oa(n)}const _e=(t,e)=>Array.from(t.querySelectorAll("[data-opid]")??[]).reduce((o,s)=>{const i=s.getAttribute("data-opid");return i?{...o,[i]:s.value}:o},{}),ja=t=>{try{return ya.parse(t)}catch(e){throw console.error("Error parsing event payload:",t,e),e}};var ge;(function(t){t.Call="call",t.Reply="reply",t.Syn="syn",t.SynAck="synAck",t.Ack="ack"})(ge||(ge={}));var Ge;(function(t){t.Fulfilled="fulfilled",t.Rejected="rejected"})(Ge||(Ge={}));var It;(function(t){t.ConnectionDestroyed="ConnectionDestroyed",t.ConnectionTimeout="ConnectionTimeout",t.NoIframeSrc="NoIframeSrc"})(It||(It={}));var xr;(function(t){t.DataCloneError="DataCloneError"})(xr||(xr={}));var Le;(function(t){t.Message="message"})(Le||(Le={}));const Fa=(t,e)=>{const r=[];let n=!1;return{destroy(o){n||(n=!0,e(`${t}: Destroying connection`),r.forEach(s=>{s(o)}))},onDestroy(o){n?o():r.push(o)}}},Ua=t=>(...e)=>{t&&console.log("[Penpal]",...e)},$a={"http:":"80","https:":"443"},Za=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,Va=["file:","data:"],za=t=>{if(t&&Va.find(c=>t.startsWith(c)))return"null";const e=document.location,r=Za.exec(t);let n,o,s;r?(n=r[1]?r[1]:e.protocol,o=r[2],s=r[4]):(n=e.protocol,o=e.hostname,s=e.port);const i=s&&s!==$a[n]?`:${s}`:"";return`${n}//${o}${i}`},hn=({name:t,message:e,stack:r})=>({name:t,message:e,stack:r}),Ga=t=>{const e=new Error;return Object.keys(t).forEach(r=>e[r]=t[r]),e},Ba=(t,e,r)=>{const{localName:n,local:o,remote:s,originForSending:i,originForReceiving:c}=t;let l=!1;const u=d=>{if(d.source!==s||d.data.penpal!==ge.Call)return;if(c!=="*"&&d.origin!==c){r(`${n} received message from origin ${d.origin} which did not match expected origin ${c}`);return}const p=d.data,{methodName:_,args:f,id:h}=p;r(`${n}: Received ${_}() call`);const b=I=>E=>{if(r(`${n}: Sending ${_}() reply`),l){r(`${n}: Unable to send ${_}() reply due to destroyed connection`);return}const N={penpal:ge.Reply,id:h,resolution:I,returnValue:E};I===Ge.Rejected&&E instanceof Error&&(N.returnValue=hn(E),N.returnValueIsError=!0);try{s.postMessage(N,i)}catch(x){if(x.name===xr.DataCloneError){const O={penpal:ge.Reply,id:h,resolution:Ge.Rejected,returnValue:hn(x),returnValueIsError:!0};s.postMessage(O,i)}throw x}};new Promise(I=>I(e[_].apply(e,f))).then(b(Ge.Fulfilled),b(Ge.Rejected))};return o.addEventListener(Le.Message,u),()=>{l=!0,o.removeEventListener(Le.Message,u)}};let qa=0;const Ya=()=>++qa,yn=".",_n=t=>t?t.split(yn):[],Wa=t=>t.join(yn),Ha=(t,e)=>{const r=_n(e||"");return r.push(t),Wa(r)},Ka=(t,e,r)=>{const n=_n(e);return n.reduce((o,s,i)=>(typeof o[s]>"u"&&(o[s]={}),i===n.length-1&&(o[s]=r),o[s]),t),t},gn=(t,e)=>{const r={};return Object.keys(t).forEach(n=>{const o=t[n],s=Ha(n,e);typeof o=="object"&&Object.assign(r,gn(o,s)),typeof o=="function"&&(r[s]=o)}),r},Ja=t=>{const e={};for(const r in t)Ka(e,r,t[r]);return e},Qa=(t,e,r,n,o)=>{const{localName:s,local:i,remote:c,originForSending:l,originForReceiving:u}=e;let d=!1;o(`${s}: Connecting call sender`);const p=f=>(...h)=>{o(`${s}: Sending ${f}() call`);let b;try{c.closed&&(b=!0)}catch{b=!0}if(b&&n(),d){const I=new Error(`Unable to send ${f}() call due to destroyed connection`);throw I.code=It.ConnectionDestroyed,I}return new Promise((I,E)=>{const N=Ya(),x=U=>{if(U.source!==c||U.data.penpal!==ge.Reply||U.data.id!==N)return;if(u!=="*"&&U.origin!==u){o(`${s} received message from origin ${U.origin} which did not match expected origin ${u}`);return}const W=U.data;o(`${s}: Received ${f}() reply`),i.removeEventListener(Le.Message,x);let ke=W.returnValue;W.returnValueIsError&&(ke=Ga(ke)),(W.resolution===Ge.Fulfilled?I:E)(ke)};i.addEventListener(Le.Message,x);const O={penpal:ge.Call,id:N,methodName:f,args:h};c.postMessage(O,l)})},_=r.reduce((f,h)=>(f[h]=p(h),f),{});return Object.assign(t,Ja(_)),()=>{d=!0}},Xa=(t,e,r,n,o)=>{const{destroy:s,onDestroy:i}=n;let c,l;const u={};return d=>{if(e!=="*"&&d.origin!==e){o(`Parent: Handshake - Received ACK message from origin ${d.origin} which did not match expected origin ${e}`);return}o("Parent: Handshake - Received ACK");const p={localName:"Parent",local:window,remote:d.source,originForSending:r,originForReceiving:e};c&&c(),c=Ba(p,t,o),i(c),l&&l.forEach(f=>{delete u[f]}),l=d.data.methodNames;const _=Qa(u,p,l,s,o);return i(_),u}},ei=(t,e,r,n)=>o=>{if(!o.source)return;if(r!=="*"&&o.origin!==r){t(`Parent: Handshake - Received SYN message from origin ${o.origin} which did not match expected origin ${r}`);return}t("Parent: Handshake - Received SYN, responding with SYN-ACK");const s={penpal:ge.SynAck,methodNames:Object.keys(e)};o.source.postMessage(s,n)},ti=6e4,ri=(t,e)=>{const{destroy:r,onDestroy:n}=e,o=setInterval(()=>{t.isConnected||(clearInterval(o),r())},ti);n(()=>{clearInterval(o)})},ni=(t,e)=>{let r;return t!==void 0&&(r=window.setTimeout(()=>{const n=new Error(`Connection timed out after ${t}ms`);n.code=It.ConnectionTimeout,e(n)},t)),()=>{clearTimeout(r)}},oi=t=>{if(!t.src&&!t.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=It.NoIframeSrc,e}},vn=t=>{let{iframe:e,methods:r={},childOrigin:n,timeout:o,debug:s=!1}=t;const i=Ua(s),c=Fa("Parent",i),{onDestroy:l,destroy:u}=c;n||(oi(e),n=za(e.src));const d=n==="null"?"*":n,p=gn(r),_=ei(i,p,n,d),f=Xa(p,n,d,c,i);return{promise:new Promise((b,I)=>{const E=ni(o,u),N=x=>{if(!(x.source!==e.contentWindow||!x.data)){if(x.data.penpal===ge.Syn){_(x);return}if(x.data.penpal===ge.Ack){const O=f(x);O&&(E(),b(O));return}}};window.addEventListener(Le.Message,N),i("Parent: Awaiting handshake"),ri(e,c),l(x=>{window.removeEventListener(Le.Message,N),x&&I(x)})}),destroy(){u()}}},si=async t=>{if(typeof t!="object"||!t)return!1;try{const e={type:"ping"},r=await t.send(e);if(r!==!0)throw new Error(`Expected 'true' after ping, got ${JSON.stringify(r)}`);return!0}catch(e){return console.error("Invalid CDE connection check:",e),!1}},ai=(t,e)=>!!t&&e,P=t=>a.nullable(t.optional());a.string().trim().min(1,{message:"Cannot be blank"});const ii=a.object({cde_response_type:a.literal("error"),message:a.string(),headers:a.record(a.string(),a.string()).optional()});a.enum(["usd","brl"]);const wn=a.object({name:a.string(),amount_atom_off:P(a.number()),percent_off:P(a.number()),currency:P(a.string()),duration:a.string(),duration_in_months:P(a.number())}),bn=a.object({amount_subtotal_atom:a.number().int(),amount_total_atom:a.number().int(),currency:a.string(),description:P(a.string()),price_id:a.string(),billing_interval:P(a.string()),billing_interval_count:P(a.number().int()),quantity:a.number().int()}),ci=a.record(a.string(),a.any()),li=a.object({name:a.string(),settings:P(ci)}),nt=a.object({provider:a.string(),processor_name:P(a.string()),metadata:P(a.record(a.string(),a.any()))}),ui=a.object({quantity:a.number()}),di=a.object({id:P(a.string()),billing_interval:P(a.string()),billing_interval_count:P(a.number().int()),subscription_items:a.array(ui),trial_start:P(a.string()),trial_end:P(a.string())}),En=a.object({amount_atom:a.number()}),pi=a.object({amount_atom:a.number(),amount_atom_considering_discount_applied:a.number(),currency:a.string(),discount_amount_atoms:a.array(En),subscription_item_id:a.string()}),fi=a.object({coupon:wn}),mi=a.object({currency:a.string(),discounts:a.array(fi),hosted_invoice_url:P(a.string()),lines:a.array(pi),remaining_amount_atom:a.number(),tax_amount_atom:a.number(),total_amount_atom:a.number(),total_discount_amount_atoms:a.array(En)}),kn=a.object({created:a.array(di),invoices:a.array(mi),processors_used:P(a.array(a.string()))}),Cn=a.object({preview:kn,preview_post_trial:P(kn),coupons:a.array(wn)}),Sn=a.object({status:a.literal("open"),locale:P(a.string()),token:a.string(),email:P(a.string()),line_items:a.array(bn),amount_subtotal_atom:a.number().int(),amount_total_atom:a.number().int(),brand:li,subs_preview:P(Cn),methods_available:a.array(nt)}),Pn=a.discriminatedUnion("mode",[a.object({mode:a.literal("setup"),currency:a.nullable(a.undefined())}).extend(Sn.shape),a.object({mode:a.enum(["payment","subscription"]),currency:a.string()}).extend(Sn.shape)]),hi=a.object({status:a.literal("complete")}),yi=a.object({status:a.literal("expired")});a.union([Pn,hi,yi]),a.object({logo:a.string(),icon:a.string(),primary_color:a.string(),secondary_color:a.string()}),a.object({secure_token:a.string(),pm_id:a.string()}),a.object({secure_token:a.string(),payment_input:a.any(),customer_first_name:a.string().optional(),customer_last_name:a.string().optional(),customer_email:a.string(),customer_zip_code:a.string(),customer_country:a.string(),line_items:a.array(bn),total_amount_atom:a.number().int(),cancel_at_end:a.boolean(),checkout_payment_method:nt,promotion_code:a.string().optional(),do_not_use_legacy_cc_flow:a.boolean().optional(),use_confirmed_pm_id:P(a.string())});const An=a.object({payment_method_id:a.string()});a.object({id:a.string(),return_url:a.string()});const _i=a.object({type:a.string(),loc:a.array(a.string()),msg:a.string(),url:a.string()});a.array(_i);const gi=a.object({new_customer_email:a.string().optional(),new_customer_address:a.record(a.string(),a.any()).optional(),new_customer_first_name:a.string().optional(),new_customer_last_name:a.string().optional()}),vi=a.object({price_id:a.string(),quantity:a.number().int()}),wi=a.object({line_items:a.array(vi),promotion_code:a.string().optional(),displayed_total_amount_atom:a.number().int()}),bi=a.object({processor_specific_metadata:P(a.record(a.string(),a.any()))});a.object({payment_provider:a.string(),checkout_payment_method:nt,existing_cc_pm_id:a.string().optional(),their_existing_pm_id:a.string().optional(),use_pay_first_flow:a.boolean().optional(),pay_first_flow_cart_info:wi.optional()}).extend(gi.shape).extend(bi.shape);const Tn=a.object({required_user_actions:a.array(a.record(a.string(),a.any())),checkout_attempt_id:P(a.string())});a.object({fields:ua,checkoutPaymentMethod:nt}),a.object({session_id:a.string(),non_cde_form_fields:xt,checkout_payment_method:nt,extra_metadata:a.record(a.string(),a.any())});const Ei=a.object({required_user_actions:a.array(a.record(a.string(),a.any())),cc_pm_id:a.string()});a.record(a.any()),a.object({first_name:P(a.string()),last_name:P(a.string()),line1:P(a.string()),line2:P(a.string()),line3:P(a.string()),city:P(a.string()),state:P(a.string()),country:P(a.string()),zip_code:P(a.string()),email:P(a.string()),billing_email:P(a.string()),phone_number:P(a.string()),update_processor_customer:P(a.boolean())}),a.object({id:a.string(),email:P(a.string()),first_name:P(a.string()),last_name:P(a.string()),phone_number:P(a.string()),billing_email:P(a.string()),address:P(a.record(a.string(),a.any()))}),a.object({message:a.string()});const ki=a.object({error_code:a.string()});a.object({checkout_payment_method:nt,processor_specific_metadata:a.record(a.any()).optional()});const Ci=a.object({next_action_metadata:P(a.record(a.any()))});a.object({events:a.array(a.object({event_name:a.string(),device_token:a.string(),properties:a.record(a.any()).optional(),context_properties:a.record(a.any()).optional()}))}),a.any().optional(),a.object({device_token:a.string()});const Si=a.object({}),Pi=t=>t.reduce((e,r)=>e+r,0);function Ai(t,e){var r=Object.setPrototypeOf;r?r(t,e):t.__proto__=e}function Ti(t,e){e===void 0&&(e=t.constructor);var r=Error.captureStackTrace;r&&r(t,e)}var xi=function(){var t=function(r,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,s){o.__proto__=s}||function(o,s){for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(o[i]=s[i])},t(r,n)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function n(){this.constructor=e}e.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}(),Ii=function(t){xi(e,t);function e(r,n){var o=this.constructor,s=t.call(this,r,n)||this;return Object.defineProperty(s,"name",{value:o.name,enumerable:!1,configurable:!0}),Ai(s,o.prototype),Ti(s),s}return e}(Error);const Ir=10,xn=(t=0)=>e=>`\x1B[${e+t}m`,In=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,Rn=(t=0)=>(e,r,n)=>`\x1B[${38+t};2;${e};${r};${n}m`,M={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(M.modifier);const Ri=Object.keys(M.color),Ni=Object.keys(M.bgColor);[...Ri,...Ni];function Oi(){const t=new Map;for(const[e,r]of Object.entries(M)){for(const[n,o]of Object.entries(r))M[n]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},r[n]=M[n],t.set(o[0],o[1]);Object.defineProperty(M,e,{value:r,enumerable:!1})}return Object.defineProperty(M,"codes",{value:t,enumerable:!1}),M.color.close="\x1B[39m",M.bgColor.close="\x1B[49m",M.color.ansi=xn(),M.color.ansi256=In(),M.color.ansi16m=Rn(),M.bgColor.ansi=xn(Ir),M.bgColor.ansi256=In(Ir),M.bgColor.ansi16m=Rn(Ir),Object.defineProperties(M,{rgbToAnsi256:{value(e,r,n){return e===r&&r===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(e){const r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!r)return[0,0,0];let[n]=r;n.length===3&&(n=[...n].map(s=>s+s).join(""));const o=Number.parseInt(n,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:e=>M.rgbToAnsi256(...M.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let r,n,o;if(e>=232)r=((e-232)*10+8)/255,n=r,o=r;else{e-=16;const c=e%36;r=Math.floor(e/36)/5,n=Math.floor(c/6)/5,o=c%6/5}const s=Math.max(r,n,o)*2;if(s===0)return 30;let i=30+(Math.round(o)<<2|Math.round(n)<<1|Math.round(r));return s===2&&(i+=60),i},enumerable:!1},rgbToAnsi:{value:(e,r,n)=>M.ansi256ToAnsi(M.rgbToAnsi256(e,r,n)),enumerable:!1},hexToAnsi:{value:e=>M.ansi256ToAnsi(M.hexToAnsi256(e)),enumerable:!1}}),M}const ve=Oi(),tr=(()=>{if(navigator.userAgentData){const t=navigator.userAgentData.brands.find(({brand:e})=>e==="Chromium");if(t&&t.version>93)return 3}return/\b(Chrome|Chromium)\//.test(navigator.userAgent)?1:0})(),Nn=tr!==0&&{level:tr,hasBasic:!0,has256:tr>=2,has16m:tr>=3},Mi={stdout:Nn,stderr:Nn};function Di(t,e,r){let n=t.indexOf(e);if(n===-1)return t;const o=e.length;let s=0,i="";do i+=t.slice(s,n)+e+r,s=n+o,n=t.indexOf(e,s);while(n!==-1);return i+=t.slice(s),i}function Li(t,e,r,n){let o=0,s="";do{const i=t[n-1]==="\r";s+=t.slice(o,i?n-1:n)+e+(i?`\r
7
7
  `:`
8
- `)+n,o=r+1,r=t.indexOf(`
9
- `,o)}while(r!==-1);return s+=t.slice(o),s}const{stdout:Rr,stderr:Nr}=Ri,In=Symbol("GENERATOR"),nt=Symbol("STYLER"),xt=Symbol("IS_EMPTY"),Or=["ansi","ansi","ansi256","ansi16m"],rt=Object.create(null),Mi=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");const n=Rr?Rr.level:0;t.level=e.level===void 0?n:e.level},Di=t=>{const e=(...n)=>n.join(" ");return Mi(e,t),Object.setPrototypeOf(e,It.prototype),e};function It(t){return Di(t)}Object.setPrototypeOf(It.prototype,Function.prototype);for(const[t,e]of Object.entries(ge))rt[t]={get(){const n=en(this,Nn(e.open,e.close,this[nt]),this[xt]);return Object.defineProperty(this,t,{value:n}),n}};rt.visible={get(){const t=en(this,this[nt],!0);return Object.defineProperty(this,"visible",{value:t}),t}};const Rn=(t,e,n,...r)=>t==="rgb"?e==="ansi16m"?ge[n].ansi16m(...r):e==="ansi256"?ge[n].ansi256(ge.rgbToAnsi256(...r)):ge[n].ansi(ge.rgbToAnsi(...r)):t==="hex"?Rn("rgb",e,n,...ge.hexToRgb(...r)):ge[n][t](...r),Li=["rgb","hex","ansi256"];for(const t of Li){rt[t]={get(){const{level:n}=this;return function(...r){const o=Nn(Rn(t,Or[n],"color",...r),ge.color.close,this[nt]);return en(this,o,this[xt])}}};const e="bg"+t[0].toUpperCase()+t.slice(1);rt[e]={get(){const{level:n}=this;return function(...r){const o=Nn(Rn(t,Or[n],"bgColor",...r),ge.bgColor.close,this[nt]);return en(this,o,this[xt])}}}}const ji=Object.defineProperties(()=>{},{...rt,level:{enumerable:!0,get(){return this[In].level},set(t){this[In].level=t}}}),Nn=(t,e,n)=>{let r,o;return n===void 0?(r=t,o=e):(r=n.openAll+t,o=e+n.closeAll),{open:t,close:e,openAll:r,closeAll:o,parent:n}},en=(t,e,n)=>{const r=(...o)=>Fi(r,o.length===1?""+o[0]:o.join(" "));return Object.setPrototypeOf(r,ji),r[In]=t,r[nt]=e,r[xt]=n,r},Fi=(t,e)=>{if(t.level<=0||!e)return t[xt]?"":e;let n=t[nt];if(n===void 0)return e;const{openAll:r,closeAll:o}=n;if(e.includes("\x1B"))for(;n!==void 0;)e=Ni(e,n.close,n.open),n=n.parent;const s=e.indexOf(`
10
- `);return s!==-1&&(e=Oi(e,o,r,s)),r+e+o};Object.defineProperties(It.prototype,rt);const tn=It();It({level:Nr?Nr.level:0});const Pe=t=>async e=>{var n,r;try{(r=(n=e.formCallbacks.get).onCheckoutStarted)==null||r.call(n),C("checkout_started");const o=await t(e);if(C("checkout_success",{...o}),o.mode==="setup")e.formCallbacks.get.onSetupPaymentMethodSuccess(o.result.payment_method_id);else if(o.mode==="checkout")e.formCallbacks.get.onCheckoutSuccess(o.result.invoice_urls,o.result.subscription_ids,o.result.customer_id,o.result.processors_used??[]);else throw new Error(`Unhandled mode: ${o}`)}catch(o){const s=ne(o),i=await to(e.context.anyCdeConnection,s);e.formCallbacks.get.onCheckoutError(s,i),C("checkout_error",{errorMessage:s,errorCode:i})}},ze=t=>async e=>{try{return await t(e)}catch(n){const{err__:r}=F("init-error-catcher"),o=ne(n),s=await to(e.context.anyCdeConnection,o);return r(s,o,n),C("init_flow_error",{errorMessage:o,errorCode:s}),{isAvailable:!1,reason:o,errorCode:s,isLoading:!1}}},F=t=>{const e=(...r)=>{window.console.log(`${tn.green.bold("ojs/")}${tn.bold.gray(`${t}`)} `,...r)},n=(...r)=>{window.console.warn(`${tn.red.bold("ojs/")}${tn.bold.gray(`${t}`)} `,...r)};return{log:e,err:n,log__:e,err__:n}};var On=function(t,e){return On=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[o]=r[o])},On(t,e)};function Le(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");On(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function Ui(t,e,n,r){function o(s){return s instanceof n?s:new n(function(i){i(s)})}return new(n||(n=Promise))(function(s,i){function c(d){try{u(r.next(d))}catch(p){i(p)}}function l(d){try{u(r.throw(d))}catch(p){i(p)}}function u(d){d.done?s(d.value):o(d.value).then(c,l)}u((r=r.apply(t,e||[])).next())})}function Mr(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,o,s,i=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return i.next=c(0),i.throw=c(1),i.return=c(2),typeof Symbol=="function"&&(i[Symbol.iterator]=function(){return this}),i;function c(u){return function(d){return l([u,d])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,u[0]&&(n=0)),n;)try{if(r=1,o&&(s=u[0]&2?o.return:u[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,u[1])).done)return s;switch(o=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,o=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){n.label=u[1];break}if(u[0]===6&&n.label<s[1]){n.label=s[1],s=u;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(u);break}s[2]&&n.ops.pop(),n.trys.pop();continue}u=e.call(t,n)}catch(d){u=[6,d],o=0}finally{r=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function ot(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function nn(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),o,s=[],i;try{for(;(e===void 0||e-- >0)&&!(o=r.next()).done;)s.push(o.value)}catch(c){i={error:c}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(i)throw i.error}}return s}function rn(t,e,n){if(n||arguments.length===2)for(var r=0,o=e.length,s;r<o;r++)(s||!(r in e))&&(s||(s=Array.prototype.slice.call(e,0,r)),s[r]=e[r]);return t.concat(s||Array.prototype.slice.call(e))}function st(t){return this instanceof st?(this.v=t,this):new st(t)}function $i(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),o,s=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),c("next"),c("throw"),c("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(f){return function(h){return Promise.resolve(h).then(f,p)}}function c(f,h){r[f]&&(o[f]=function(b){return new Promise(function(I,E){s.push([f,b,I,E])>1||l(f,b)})},h&&(o[f]=h(o[f])))}function l(f,h){try{u(r[f](h))}catch(b){_(s[0][3],b)}}function u(f){f.value instanceof st?Promise.resolve(f.value.v).then(d,p):_(s[0][2],f)}function d(f){l("next",f)}function p(f){l("throw",f)}function _(f,h){f(h),s.shift(),s.length&&l(s[0][0],s[0][1])}}function Zi(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof ot=="function"?ot(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=t[s]&&function(i){return new Promise(function(c,l){i=t[s](i),o(c,l,i.done,i.value)})}}function o(s,i,c,l){Promise.resolve(l).then(function(u){s({value:u,done:c})},i)}}typeof SuppressedError=="function"&&SuppressedError;function G(t){return typeof t=="function"}function on(t){var e=function(r){Error.call(r),r.stack=new Error().stack},n=t(e);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var Mn=on(function(t){return function(n){t(this),this.message=n?n.length+` errors occurred during unsubscription:
11
- `+n.map(function(r,o){return o+1+") "+r.toString()}).join(`
12
- `):"",this.name="UnsubscriptionError",this.errors=n}});function sn(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var Rt=function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,n,r,o,s;if(!this.closed){this.closed=!0;var i=this._parentage;if(i)if(this._parentage=null,Array.isArray(i))try{for(var c=ot(i),l=c.next();!l.done;l=c.next()){var u=l.value;u.remove(this)}}catch(b){e={error:b}}finally{try{l&&!l.done&&(n=c.return)&&n.call(c)}finally{if(e)throw e.error}}else i.remove(this);var d=this.initialTeardown;if(G(d))try{d()}catch(b){s=b instanceof Mn?b.errors:[b]}var p=this._finalizers;if(p){this._finalizers=null;try{for(var _=ot(p),f=_.next();!f.done;f=_.next()){var h=f.value;try{jr(h)}catch(b){s=s??[],b instanceof Mn?s=rn(rn([],nn(s)),nn(b.errors)):s.push(b)}}}catch(b){r={error:b}}finally{try{f&&!f.done&&(o=_.return)&&o.call(_)}finally{if(r)throw r.error}}}if(s)throw new Mn(s)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)jr(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}},t.prototype._hasParent=function(e){var n=this._parentage;return n===e||Array.isArray(n)&&n.includes(e)},t.prototype._addParent=function(e){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e},t.prototype._removeParent=function(e){var n=this._parentage;n===e?this._parentage=null:Array.isArray(n)&&sn(n,e)},t.prototype.remove=function(e){var n=this._finalizers;n&&sn(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=function(){var e=new t;return e.closed=!0,e}(),t}(),Dr=Rt.EMPTY;function Lr(t){return t instanceof Rt||t&&"closed"in t&&G(t.remove)&&G(t.add)&&G(t.unsubscribe)}function jr(t){G(t)?t():t.unsubscribe()}var Fr={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Ur={setTimeout:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setTimeout.apply(void 0,rn([t,e],nn(n)))},clearTimeout:function(t){var e=Ur.delegate;return((e==null?void 0:e.clearTimeout)||clearTimeout)(t)},delegate:void 0};function $r(t){Ur.setTimeout(function(){throw t})}function Zr(){}function an(t){t()}var Dn=function(t){Le(e,t);function e(n){var r=t.call(this)||this;return r.isStopped=!1,n?(r.destination=n,Lr(n)&&n.add(r)):r.destination=Bi,r}return e.create=function(n,r,o){return new jn(n,r,o)},e.prototype.next=function(n){this.isStopped||this._next(n)},e.prototype.error=function(n){this.isStopped||(this.isStopped=!0,this._error(n))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(n){this.destination.next(n)},e.prototype._error=function(n){try{this.destination.error(n)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(Rt),Vi=Function.prototype.bind;function Ln(t,e){return Vi.call(t,e)}var zi=function(){function t(e){this.partialObserver=e}return t.prototype.next=function(e){var n=this.partialObserver;if(n.next)try{n.next(e)}catch(r){cn(r)}},t.prototype.error=function(e){var n=this.partialObserver;if(n.error)try{n.error(e)}catch(r){cn(r)}else cn(e)},t.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(n){cn(n)}},t}(),jn=function(t){Le(e,t);function e(n,r,o){var s=t.call(this)||this,i;if(G(n)||!n)i={next:n??void 0,error:r??void 0,complete:o??void 0};else{var c;s&&Fr.useDeprecatedNextContext?(c=Object.create(n),c.unsubscribe=function(){return s.unsubscribe()},i={next:n.next&&Ln(n.next,c),error:n.error&&Ln(n.error,c),complete:n.complete&&Ln(n.complete,c)}):i=n}return s.destination=new zi(i),s}return e}(Dn);function cn(t){$r(t)}function Gi(t){throw t}var Bi={closed:!0,next:Zr,error:Gi,complete:Zr},Fn=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function qi(t){return t}function Yi(t){return t.length===0?qi:t.length===1?t[0]:function(n){return t.reduce(function(r,o){return o(r)},n)}}var Ae=function(){function t(e){e&&(this._subscribe=e)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(e,n,r){var o=this,s=Hi(e)?e:new jn(e,n,r);return an(function(){var i=o,c=i.operator,l=i.source;s.add(c?c.call(s,l):l?o._subscribe(s):o._trySubscribe(s))}),s},t.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(n){e.error(n)}},t.prototype.forEach=function(e,n){var r=this;return n=Vr(n),new n(function(o,s){var i=new jn({next:function(c){try{e(c)}catch(l){s(l),i.unsubscribe()}},error:s,complete:o});r.subscribe(i)})},t.prototype._subscribe=function(e){var n;return(n=this.source)===null||n===void 0?void 0:n.subscribe(e)},t.prototype[Fn]=function(){return this},t.prototype.pipe=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return Yi(e)(this)},t.prototype.toPromise=function(e){var n=this;return e=Vr(e),new e(function(r,o){var s;n.subscribe(function(i){return s=i},function(i){return o(i)},function(){return r(s)})})},t.create=function(e){return new t(e)},t}();function Vr(t){var e;return(e=t??Fr.Promise)!==null&&e!==void 0?e:Promise}function Wi(t){return t&&G(t.next)&&G(t.error)&&G(t.complete)}function Hi(t){return t&&t instanceof Dn||Wi(t)&&Lr(t)}function Ki(t){return G(t==null?void 0:t.lift)}function Ji(t){return function(e){if(Ki(e))return e.lift(function(n){try{return t(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function Qi(t,e,n,r,o){return new Xi(t,e,n,r,o)}var Xi=function(t){Le(e,t);function e(n,r,o,s,i,c){var l=t.call(this,n)||this;return l.onFinalize=i,l.shouldUnsubscribe=c,l._next=r?function(u){try{r(u)}catch(d){n.error(d)}}:t.prototype._next,l._error=s?function(u){try{s(u)}catch(d){n.error(d)}finally{this.unsubscribe()}}:t.prototype._error,l._complete=o?function(){try{o()}catch(u){n.error(u)}finally{this.unsubscribe()}}:t.prototype._complete,l}return e.prototype.unsubscribe=function(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var r=this.closed;t.prototype.unsubscribe.call(this),!r&&((n=this.onFinalize)===null||n===void 0||n.call(this))}},e}(Dn),ec=on(function(t){return function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),zr=function(t){Le(e,t);function e(){var n=t.call(this)||this;return n.closed=!1,n.currentObservers=null,n.observers=[],n.isStopped=!1,n.hasError=!1,n.thrownError=null,n}return e.prototype.lift=function(n){var r=new Gr(this,this);return r.operator=n,r},e.prototype._throwIfClosed=function(){if(this.closed)throw new ec},e.prototype.next=function(n){var r=this;an(function(){var o,s;if(r._throwIfClosed(),!r.isStopped){r.currentObservers||(r.currentObservers=Array.from(r.observers));try{for(var i=ot(r.currentObservers),c=i.next();!c.done;c=i.next()){var l=c.value;l.next(n)}}catch(u){o={error:u}}finally{try{c&&!c.done&&(s=i.return)&&s.call(i)}finally{if(o)throw o.error}}}})},e.prototype.error=function(n){var r=this;an(function(){if(r._throwIfClosed(),!r.isStopped){r.hasError=r.isStopped=!0,r.thrownError=n;for(var o=r.observers;o.length;)o.shift().error(n)}})},e.prototype.complete=function(){var n=this;an(function(){if(n._throwIfClosed(),!n.isStopped){n.isStopped=!0;for(var r=n.observers;r.length;)r.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var n;return((n=this.observers)===null||n===void 0?void 0:n.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},e.prototype._innerSubscribe=function(n){var r=this,o=this,s=o.hasError,i=o.isStopped,c=o.observers;return s||i?Dr:(this.currentObservers=null,c.push(n),new Rt(function(){r.currentObservers=null,sn(c,n)}))},e.prototype._checkFinalizedStatuses=function(n){var r=this,o=r.hasError,s=r.thrownError,i=r.isStopped;o?n.error(s):i&&n.complete()},e.prototype.asObservable=function(){var n=new Ae;return n.source=this,n},e.create=function(n,r){return new Gr(n,r)},e}(Ae),Gr=function(t){Le(e,t);function e(n,r){var o=t.call(this)||this;return o.destination=n,o.source=r,o}return e.prototype.next=function(n){var r,o;(o=(r=this.destination)===null||r===void 0?void 0:r.next)===null||o===void 0||o.call(r,n)},e.prototype.error=function(n){var r,o;(o=(r=this.destination)===null||r===void 0?void 0:r.error)===null||o===void 0||o.call(r,n)},e.prototype.complete=function(){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||r===void 0||r.call(n)},e.prototype._subscribe=function(n){var r,o;return(o=(r=this.source)===null||r===void 0?void 0:r.subscribe(n))!==null&&o!==void 0?o:Dr},e}(zr),tc={now:function(){return Date.now()},delegate:void 0},nc=function(t){Le(e,t);function e(n,r){return t.call(this)||this}return e.prototype.schedule=function(n,r){return this},e}(Rt),Br={setInterval:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setInterval.apply(void 0,rn([t,e],nn(n)))},clearInterval:function(t){return clearInterval(t)},delegate:void 0},rc=function(t){Le(e,t);function e(n,r){var o=t.call(this,n,r)||this;return o.scheduler=n,o.work=r,o.pending=!1,o}return e.prototype.schedule=function(n,r){var o;if(r===void 0&&(r=0),this.closed)return this;this.state=n;var s=this.id,i=this.scheduler;return s!=null&&(this.id=this.recycleAsyncId(i,s,r)),this.pending=!0,this.delay=r,this.id=(o=this.id)!==null&&o!==void 0?o:this.requestAsyncId(i,this.id,r),this},e.prototype.requestAsyncId=function(n,r,o){return o===void 0&&(o=0),Br.setInterval(n.flush.bind(n,this),o)},e.prototype.recycleAsyncId=function(n,r,o){if(o===void 0&&(o=0),o!=null&&this.delay===o&&this.pending===!1)return r;r!=null&&Br.clearInterval(r)},e.prototype.execute=function(n,r){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var o=this._execute(n,r);if(o)return o;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(n,r){var o=!1,s;try{this.work(n)}catch(i){o=!0,s=i||new Error("Scheduled action threw falsy error")}if(o)return this.unsubscribe(),s},e.prototype.unsubscribe=function(){if(!this.closed){var n=this,r=n.id,o=n.scheduler,s=o.actions;this.work=this.state=this.scheduler=null,this.pending=!1,sn(s,this),r!=null&&(this.id=this.recycleAsyncId(o,r,null)),this.delay=null,t.prototype.unsubscribe.call(this)}},e}(nc),qr=function(){function t(e,n){n===void 0&&(n=t.now),this.schedulerActionCtor=e,this.now=n}return t.prototype.schedule=function(e,n,r){return n===void 0&&(n=0),new this.schedulerActionCtor(this,e).schedule(r,n)},t.now=tc.now,t}(),oc=function(t){Le(e,t);function e(n,r){r===void 0&&(r=qr.now);var o=t.call(this,n,r)||this;return o.actions=[],o._active=!1,o}return e.prototype.flush=function(n){var r=this.actions;if(this._active){r.push(n);return}var o;this._active=!0;do if(o=n.execute(n.state,n.delay))break;while(n=r.shift());if(this._active=!1,o){for(;n=r.shift();)n.unsubscribe();throw o}},e}(qr),sc=new oc(rc),ac=function(t){return t&&typeof t.length=="number"&&typeof t!="function"};function ic(t){return G(t==null?void 0:t.then)}function cc(t){return G(t[Fn])}function lc(t){return Symbol.asyncIterator&&G(t==null?void 0:t[Symbol.asyncIterator])}function uc(t){return new TypeError("You provided "+(t!==null&&typeof t=="object"?"an invalid object":"'"+t+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function dc(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var pc=dc();function fc(t){return G(t==null?void 0:t[pc])}function mc(t){return $i(this,arguments,function(){var n,r,o,s;return Mr(this,function(i){switch(i.label){case 0:n=t.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,st(n.read())];case 3:return r=i.sent(),o=r.value,s=r.done,s?[4,st(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,st(o)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return n.releaseLock(),[7];case 10:return[2]}})})}function hc(t){return G(t==null?void 0:t.getReader)}function yc(t){if(t instanceof Ae)return t;if(t!=null){if(cc(t))return _c(t);if(ac(t))return gc(t);if(ic(t))return vc(t);if(lc(t))return Yr(t);if(fc(t))return wc(t);if(hc(t))return bc(t)}throw uc(t)}function _c(t){return new Ae(function(e){var n=t[Fn]();if(G(n.subscribe))return n.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function gc(t){return new Ae(function(e){for(var n=0;n<t.length&&!e.closed;n++)e.next(t[n]);e.complete()})}function vc(t){return new Ae(function(e){t.then(function(n){e.closed||(e.next(n),e.complete())},function(n){return e.error(n)}).then(null,$r)})}function wc(t){return new Ae(function(e){var n,r;try{for(var o=ot(t),s=o.next();!s.done;s=o.next()){var i=s.value;if(e.next(i),e.closed)return}}catch(c){n={error:c}}finally{try{s&&!s.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}e.complete()})}function Yr(t){return new Ae(function(e){Ec(t,e).catch(function(n){return e.error(n)})})}function bc(t){return Yr(mc(t))}function Ec(t,e){var n,r,o,s;return Ui(this,void 0,void 0,function(){var i,c;return Mr(this,function(l){switch(l.label){case 0:l.trys.push([0,5,6,11]),n=Zi(t),l.label=1;case 1:return[4,n.next()];case 2:if(r=l.sent(),!!r.done)return[3,4];if(i=r.value,e.next(i),e.closed)return[2];l.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return c=l.sent(),o={error:c},[3,11];case 6:return l.trys.push([6,,9,10]),r&&!r.done&&(s=n.return)?[4,s.call(n)]:[3,8];case 7:l.sent(),l.label=8;case 8:return[3,10];case 9:if(o)throw o.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}function kc(t,e,n,r,o){r===void 0&&(r=0),o===void 0&&(o=!1);var s=e.schedule(function(){n(),o?t.add(this.schedule(null,r)):this.unsubscribe()},r);if(t.add(s),!o)return s}function Cc(t,e){var n=G(t)?t:function(){return t},r=function(o){return o.error(n())};return new Ae(r)}var Sc=on(function(t){return function(){t(this),this.name="EmptyError",this.message="no elements in sequence"}});function Pc(t,e){return new Promise(function(n,r){var o=!1,s;t.subscribe({next:function(i){s=i,o=!0},error:r,complete:function(){o?n(s):r(new Sc)}})})}function Ac(t){return t instanceof Date&&!isNaN(t)}var Tc=on(function(t){return function(n){n===void 0&&(n=null),t(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=n}});function xc(t,e){var n=Ac(t)?{first:t}:typeof t=="number"?{each:t}:t,r=n.first,o=n.each,s=n.with,i=s===void 0?Ic:s,c=n.scheduler,l=c===void 0?sc:c,u=n.meta,d=u===void 0?null:u;if(r==null&&o==null)throw new TypeError("No timeout provided.");return Ji(function(p,_){var f,h,b=null,I=0,E=function(N){h=kc(_,l,function(){try{f.unsubscribe(),yc(i({meta:d,lastValue:b,seen:I})).subscribe(_)}catch(x){_.error(x)}},N)};f=p.subscribe(Qi(_,function(N){h==null||h.unsubscribe(),I++,_.next(b=N),o>0&&E(o)},void 0,void 0,function(){h!=null&&h.closed||h==null||h.unsubscribe(),b=null})),!I&&E(r!=null?typeof r=="number"?r:+r-l.now():o)})}function Ic(t){throw new Tc(t)}class Nt{constructor(){this.set=e=>{if(this._current.status==="success")throw new Error("LoadedOnce is already in success state");this._current={status:"success",isSuccess:!0,loadedValue:e},this._subject.next(e),this._subject.complete()},this.throw=(e,n)=>{if(this._current.status==="success")throw new Error("LoadedOnce is already in success state");this._current={status:"error",isSuccess:!1,error:e,errMsg:n},this._subject.error(e)},this.getValueIfLoadedElse=e=>this._current.status==="success"?this._current.loadedValue:e,this.subscribe=e=>{if(this._current.status==="success"){e(this._current);return}this._current.status==="error"&&e(this._current);const n=this._subject.subscribe({next:()=>{if(this._current.status!=="success")throw new Error("Invalid state (next): please make sure to update _current before the subject");e(this._current),n.unsubscribe()},error:()=>{if(this._current.status!=="error")throw new Error("Invalid state (error): please make sure to update _current before the subject");e(this._current)}})},this.waitForLoad=e=>{if(this._current.status==="success")return Promise.resolve(this._current.loadedValue);if(this._current.status==="error")return Promise.reject(this._current.error);this._current.status!=="initial"&&un(this._current);const n={first:e.timeoutSec*1e3,with:()=>Cc(()=>new Error(e.timeoutErrMsg))};return Pc(this._subject.pipe(xc(n)))},this._current={status:"initial",isSuccess:!1},this._subject=new zr}get current(){return this._current}}const Un=new Nt,Wr="op_metrics_queue",Rc=3,Nc=3,Oc=1e3,{log__:ln}=F("op-metrics");class Mc{constructor(){this.queue=[],this.processingQueue=!1,this.batchTimeout=null,this.lastEventTimestamp=0,this.offlineListener=()=>{ln("Network offline, metrics will be queued"),this.cancelBatchProcessing()},this.onlineListener=()=>{ln("Network online, processing metrics queue"),this.processQueue()},!(typeof window>"u")&&(this.loadQueueFromStorage(),window.addEventListener("offline",this.offlineListener),window.addEventListener("online",this.onlineListener))}addEvent(e,n,r){const o={eventName:e,properties:n||{},contextProperties:r||{},nonce:Qt(),timestamp:performance.now(),datetime:new Date().toISOString(),attemptCount:0,timeDiffFromPreviousEvent:this.lastEventTimestamp?performance.now()-this.lastEventTimestamp:0};this.lastEventTimestamp=o.timestamp,this.queue.push(o),this.saveQueueToStorage(),this.scheduleBatchProcessing()}loadQueueFromStorage(){try{const e=window.localStorage.getItem(Wr);e&&(this.queue=JSON.parse(e))}catch{this.queue=[],this.saveQueueToStorage()}}saveQueueToStorage(){window.localStorage.setItem(Wr,JSON.stringify(this.queue))}scheduleBatchProcessing(){navigator.onLine&&!this.processingQueue&&this.queue.length>0&&!this.batchTimeout&&(this.batchTimeout=window.setTimeout(()=>{this.batchTimeout=null,this.processQueue()},Oc))}cancelBatchProcessing(){this.batchTimeout&&(window.clearTimeout(this.batchTimeout),this.batchTimeout=null),this.processingQueue=!1}processQueue(){!navigator.onLine||this.processingQueue||this.queue.length===0||(this.processingQueue=!0,this.sendBatch().finally(()=>{this.processingQueue=!1,this.queue.length>0&&this.scheduleBatchProcessing()}))}async sendBatch(){if(this.queue.length===0)return;const e=Un.getValueIfLoadedElse(void 0);if(!e){ln("Metrics context not available, will retry later");return}const n=this.queue.slice(0,Nc);try{const r={events:n.map(c=>({event_name:c.eventName,device_token:e.deviceToken,context_properties:{...e,...c.contextProperties},properties:{nonce:c.nonce,datetime:c.datetime,timestamp:c.timestamp,time_diff_from_previous_event:c.timeDiffFromPreviousEvent,checkout_secure_token:e.checkoutSecureToken,...c.properties}}))},o=Lu(e.environment),s=new URL("/metrics/public/capture",o);(await fetch(s.toString(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)})).ok?(this.queue=this.queue.slice(n.length),this.saveQueueToStorage()):this.handleFailedBatch(n)}catch(r){ln("Error sending metrics batch:",r),this.handleFailedBatch(n)}}handleFailedBatch(e){e.forEach(r=>{r.attemptCount++});const n=e.filter(r=>r.attemptCount<Rc);this.queue=this.queue.slice(e.length),this.queue=[...n,...this.queue],this.saveQueueToStorage()}cleanup(){window.removeEventListener("offline",this.offlineListener),window.removeEventListener("online",this.onlineListener),this.cancelBatchProcessing()}}const Hr=new Mc,C=(t,e,n)=>{Hr.addEvent(t,e,n)},Kr=t=>{const e=ne(t.reason);C("unhandled_rejection_error",{error_message:e,error_name:t.reason})},Jr=t=>{var n,r;const e=ne(t.error);C("uncaught_error",{error_message:e,error_name:(n=t.error)==null?void 0:n.name,error_stack:(r=t.error)==null?void 0:r.stack,file_name:t.filename,line_number:t.lineno,column_number:t.colno})},Dc=()=>{window.addEventListener("error",Jr),window.addEventListener("unhandledrejection",Kr)},Lc=()=>{window.removeEventListener("error",Jr),window.removeEventListener("unhandledrejection",Kr)};typeof window<"u"&&window.addEventListener("beforeunload",()=>{Hr.processQueue()});class Qr extends Ai{constructor(e){const n=`${e.message}`;super(n),this.response=e}get originalErrorMessage(){return this.response.message}}const H=async(t,e,n,r)=>{r&&C(r,{...e});const o=await t.send(e);if(Fc(o))throw new Qr(o);if(!jc(o,n)){const s=n.safeParse(o);throw s.success?new Error("Invalid state"):(console.error("OJS queryApi got a schema error. Expected schema:",n,"Actual:",o),s.error)}return r&&C(r,{...o}),o},jc=(t,e)=>e.safeParse(t).success,Fc=t=>oi.safeParse(t).success,Uc=async(t,e)=>await H(t,{type:"get_checkout_preview",payload:e},Er),B=async t=>await H(t,{type:"get_prefill",payload:{}},Cr),at=async(t,e)=>await H(t,{type:"v2_start_payment_flow",payload:e},Pr,"start_payment_flow"),$c=async(t,e)=>await H(t,{type:"start_payment_flow_for_cc",payload:e},vi,"start_payment_flow_for_cc"),Zc=async(t,e)=>{C("start_payment_flow_for_pr",{...e});const n=await H(t,{type:"start_payment_flow_for_pr",payload:e},Pr);return C("start_payment_flow_for_pr_result",{...n}),n},ie=async(t,e)=>await H(t,{type:"confirm_payment_flow",payload:e},wa,"confirm_payment_flow"),Vc=async(t,e)=>await H(t,{type:"finalize_setup_payment_method",payload:e},Sr,"finalize_setup_payment_method"),zc=async(t,e)=>await H(t,{type:"check_if_popup_window_verified",payload:e},va,"check_if_popup_window_verified"),Gc=async(t,e,n)=>{const r=await Uc(t,{secure_token:e,promotion_code:n}),o=new Set(r.preview.invoices.map(c=>c.currency));if(o.size!==1)throw new Error(`Expected exactly one currency, got ${o.size}`);const s=o.values().next().value??"usd",i=ki(r.preview.invoices.map(c=>c.remaining_amount_atom));return{currency:s,amountAtom:i}},it=async(t,e,n,r)=>{if(n)return{amountAtom:0,currency:"usd"};{r=r||void 0;const o=await Gc(t,e,r);return{amountAtom:o.amountAtom,currency:o.currency}}},Bc=async(t,e)=>{if(t.size===0)throw new Error("No CDE connections found");return await Promise.all(Array.from(t.values()).map(r=>H(r,{type:"tokenize_card",payload:e},ya)))},Xr=async(t,e)=>await H(t,{type:"checkout_card_elements",payload:e},Sn,"checkout_card_elements"),qc=async(t,e)=>await H(t,{type:"setup_payment_method",payload:e},Sr,"setup_checkout"),$n=async(t,e)=>await H(t,{type:"checkout",payload:e},Sn,"perform_checkout"),eo=1e3,Yc=async(t,e)=>{console.log(e);const r=await _r({iframe:t,debug:!0,timeout:eo,childOrigin:"*"}).promise,o=await H(r,{type:"ping-3ds-status"},_a);return console.log("🟢 CDE connection successful! Stopping polling... Result:",o),o},Zn=async(t,e)=>await H(t,{type:"prepare_payment_flow",payload:e},bi,"prepare_payment_flow"),to=async(t,e)=>{try{return(await H(t,{type:"get_standardized_error_code",payload:{message:e}},wi)).error_code}catch(n){return console.error("[cde-client] Error during getStandardizedErrorCode:",ne(n)),"PAYMENT_FAILED_GENERIC"}},Wc=async(t,e)=>await H(t,{type:"set_user_device_token",payload:{device_token:e}},Ei);function un(t){throw new Error(`Unhandled case: ${t}`)}const no=(t,e)=>Object.fromEntries(Object.entries(t).filter(([n])=>!e.includes(n))),{log__:Wu,err__:Hc}=F("common"),Ot=t=>{if(t.payment_methods.length!==1)throw new Error(`Expected exactly one payment method, got ${t.payment_methods.length}`);return{payment_method_id:t.payment_methods[0].id}},ce=(t,e)=>{const n=t.find(r=>e.safeParse(r).success);if(!n)throw Hc("No CPMs found for model. All models:",t),new Error("No CPMs found for model");return e.parse(n)},Kc=t=>({new_customer_email:t.email,new_customer_address:{zip_code:t.zipCode,country:t.country},new_customer_first_name:t.firstName,new_customer_last_name:t.lastName}),dn=async t=>{const{log__:e}=F(t.logPrefix),n=await B(t.anyCdeConnection),r=Ot(t.confirmResult);if(n.mode==="setup")return e("Setting up payment method..."),{mode:"setup",result:await Vc(t.anyCdeConnection,{secure_token:n.token,pm_id:r.payment_method_id})};{e("Doing checkout...");const o={secure_token:n.token,payment_input:{provider_type:t.checkoutPaymentMethod.provider},customer_email:t.requiredFormFields[m.EMAIL],customer_zip_code:t.requiredFormFields[m.ZIP_CODE],customer_country:t.requiredFormFields[m.COUNTRY],promotion_code:t.requiredFormFields[m.PROMOTION_CODE],line_items:n.line_items,total_amount_atom:n.amount_total_atom,cancel_at_end:!1,checkout_payment_method:t.checkoutPaymentMethod,use_confirmed_pm_id:r.payment_method_id};return{mode:"checkout",result:await $n(t.anyCdeConnection,o)}}},{log__:ro,err__:oo}=F("common-cc"),je=(t,e,n)=>{if(n){ro(`Received default field values: ${JSON.stringify(n)}`);for(const[o,s]of Object.entries(n))t[o]||(t[o]=s)}const r=At.safeParse(t);if(!r.success){const o=r.error.format(),s=ur(o);for(const[i,c]of Object.entries(s))e(i,c,i);throw oo("Got validation errors in non-CDE form fields",s),new Error("Got validation errors in non-CDE form fields")}return r.data},Jc=(t,e)=>{for(const n of t)if(n.success===!1)throw n.errors.forEach(r=>{const o=cr.safeParse(r.elementType);if(!o.success)oo(`Unknown field name in onValidationError: ${r.elementType}. Error object:`,r);else{const s=o.data;e(s,r.errors)}}),ro(`Error tokenizing card: got validation errors: ${JSON.stringify(n.errors)}`),new Error("Got validation errors while tokenizing card")},so="ojs-stripe-link-btn",{log__:q,err__:Qc}=F("stripe-link"),Xc=a.object({provider:a.literal("stripe_link"),processor_name:a.literal("stripe"),metadata:a.object({stripe_pk:a.string()})}),el=a.array(a.object({our_existing_pm_id:a.string()})).length(1),tl=ze(async({context:t,formCallbacks:e})=>{const n=t.customInitParams.stripeLink;q("Checking if there are any CPMs for Stripe Link...");const r=ce(t.checkoutPaymentMethods,Xc);q("Starting stripe link flow...");const o=t.anyCdeConnection,s=await B(o),i=s.mode==="setup";q("Creating stripe elements...");const c=await it(o,s.token,i,void 0),{elements:l,stripe:u}=await Ca(r.metadata.stripe_pk,{mode:"setup",currency:c.currency,setup_future_usage:"off_session",paymentMethodCreation:"manual"});q("Creating express checkout...");const d=l.create("expressCheckout",{buttonHeight:n==null?void 0:n.buttonHeight,paymentMethods:{amazonPay:"never",applePay:"never",googlePay:"never",paypal:"never"}}),p=()=>{d.mount(`#${so}`)},_=()=>{d.unmount()};return n!=null&&n.doNotMountOnInit?q("NOT mounting stripe link button (doNotMountOnInit is true)"):(q("Mounting stripe link button..."),p()),d.on("click",async f=>{if(q("Stripe Link button clicked"),n!=null&&n.overrideLinkSubmit&&!await n.overrideLinkSubmit()){q("Stripe Link submit aborted by overrideLinkSubmit");return}f.resolve()}),d.on("confirm",async f=>{q("Stripe Link window confirmed",f);const h=await u.createPaymentMethod({elements:l,params:{billing_details:f.billingDetails}});h.error?(Qc("error",h.error),e.get.onCheckoutError(h.error.message??"Stripe Link unknown error")):(q("paymentMethod",h.paymentMethod),V.stripeLink.run({context:t,checkoutPaymentMethod:r,nonCdeFormInputs:ye(t.formDiv),formCallbacks:e,customParams:{stripePM:h.paymentMethod},initResult:{isAvailable:!0}}))}),{isAvailable:!0,controller:{mountButton:p,dismountButton:_,waitForButtonToMount:async()=>await ol(so)}}}),nl=Pe(async({context:t,checkoutPaymentMethod:e,nonCdeFormInputs:n,formCallbacks:r,customParams:o})=>{q("Running Stripe Link flow...");const s=t.anyCdeConnection;q("Merging PM fields with form fields...");const i=rl(n,o.stripePM),c=je(i,r.get.onValidationError);C("billing_details_received",{...c}),q("Starting payment flow...");const l=await at(s,{payment_provider:e.provider,checkout_payment_method:e,their_existing_pm_id:o.stripePM.id,new_customer_email:c[m.EMAIL],new_customer_first_name:c[m.FIRST_NAME],new_customer_last_name:c[m.LAST_NAME],new_customer_address:{zip_code:c[m.ZIP_CODE],country:c[m.COUNTRY]}});q("Start payment flow response",l);const d=el.parse(l.required_user_actions)[0].our_existing_pm_id,p=await B(s);if(p.mode==="setup"){q("Doing payment setup...");const _=await ie(s,{secure_token:p.token,existing_cc_pm_id:d});return{mode:"setup",result:Ot(_)}}else{q("Doing checkout...");const _={secure_token:p.token,payment_input:{provider_type:e.provider},customer_email:c[m.EMAIL],customer_zip_code:c[m.ZIP_CODE],customer_country:c[m.COUNTRY],promotion_code:c[m.PROMOTION_CODE],line_items:p.line_items,total_amount_atom:p.amount_total_atom,cancel_at_end:!1,checkout_payment_method:e};return{mode:"checkout",result:await $n(s,_)}}}),rl=(t,e)=>{var l,u,d,p,_;const n={...t},[r,...o]=((u=(l=e.billing_details.name)==null?void 0:l.trim())==null?void 0:u.split(/\s+/))??[],s=o.join(" ")||void 0;n[m.EMAIL]=n[m.EMAIL]||((d=e.link)==null?void 0:d.email)||e.billing_details.email||"op_unfilled@getopenpay.com",n[m.ZIP_CODE]=n[m.ZIP_CODE]||((p=e.billing_details.address)==null?void 0:p.postal_code)||"00000",n[m.COUNTRY]=n[m.COUNTRY]||((_=e.billing_details.address)==null?void 0:_.country)||"US";const i=n[m.FIRST_NAME]||r||"",c=n[m.LAST_NAME]||s||"";return i||c?(n[m.FIRST_NAME]=i,n[m.LAST_NAME]=c):(n[m.FIRST_NAME]="_OP_UNKNOWN",n[m.LAST_NAME]=""),q("Final form inputs:",n),n},ol=t=>new Promise(e=>{const n=()=>{const r=document.getElementById(t);r?e(r):requestAnimationFrame(n)};n()}),sl="@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2147483648!important;display:flex;justify-content:center;align-items:center;background-color:#00000080}.container{max-width:500px;max-height:600px;width:100%;height:100%;background-color:#fff;position:relative;animation:fadeIn .3s ease-out}.frame,#adyen-container,#adyen-container>*{max-width:500px;max-height:600px;width:100%;height:100%;border:none}.cancel-button{position:absolute;background:transparent;border:none;font-size:1rem;color:#fff;cursor:pointer;top:-1.5rem;padding:0;right:0}",ao=t=>{const e=document.createElement("template");e.innerHTML=`
8
+ `)+r,o=n+1,n=t.indexOf(`
9
+ `,o)}while(n!==-1);return s+=t.slice(o),s}const{stdout:On,stderr:Mn}=Mi,Rr=Symbol("GENERATOR"),ot=Symbol("STYLER"),Rt=Symbol("IS_EMPTY"),Dn=["ansi","ansi","ansi256","ansi16m"],st=Object.create(null),ji=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");const r=On?On.level:0;t.level=e.level===void 0?r:e.level},Fi=t=>{const e=(...r)=>r.join(" ");return ji(e,t),Object.setPrototypeOf(e,Nt.prototype),e};function Nt(t){return Fi(t)}Object.setPrototypeOf(Nt.prototype,Function.prototype);for(const[t,e]of Object.entries(ve))st[t]={get(){const r=rr(this,Or(e.open,e.close,this[ot]),this[Rt]);return Object.defineProperty(this,t,{value:r}),r}};st.visible={get(){const t=rr(this,this[ot],!0);return Object.defineProperty(this,"visible",{value:t}),t}};const Nr=(t,e,r,...n)=>t==="rgb"?e==="ansi16m"?ve[r].ansi16m(...n):e==="ansi256"?ve[r].ansi256(ve.rgbToAnsi256(...n)):ve[r].ansi(ve.rgbToAnsi(...n)):t==="hex"?Nr("rgb",e,r,...ve.hexToRgb(...n)):ve[r][t](...n),Ui=["rgb","hex","ansi256"];for(const t of Ui){st[t]={get(){const{level:r}=this;return function(...n){const o=Or(Nr(t,Dn[r],"color",...n),ve.color.close,this[ot]);return rr(this,o,this[Rt])}}};const e="bg"+t[0].toUpperCase()+t.slice(1);st[e]={get(){const{level:r}=this;return function(...n){const o=Or(Nr(t,Dn[r],"bgColor",...n),ve.bgColor.close,this[ot]);return rr(this,o,this[Rt])}}}}const $i=Object.defineProperties(()=>{},{...st,level:{enumerable:!0,get(){return this[Rr].level},set(t){this[Rr].level=t}}}),Or=(t,e,r)=>{let n,o;return r===void 0?(n=t,o=e):(n=r.openAll+t,o=e+r.closeAll),{open:t,close:e,openAll:n,closeAll:o,parent:r}},rr=(t,e,r)=>{const n=(...o)=>Zi(n,o.length===1?""+o[0]:o.join(" "));return Object.setPrototypeOf(n,$i),n[Rr]=t,n[ot]=e,n[Rt]=r,n},Zi=(t,e)=>{if(t.level<=0||!e)return t[Rt]?"":e;let r=t[ot];if(r===void 0)return e;const{openAll:n,closeAll:o}=r;if(e.includes("\x1B"))for(;r!==void 0;)e=Di(e,r.close,r.open),r=r.parent;const s=e.indexOf(`
10
+ `);return s!==-1&&(e=Li(e,o,n,s)),n+e+o};Object.defineProperties(Nt.prototype,st);const nr=Nt();Nt({level:Mn?Mn.level:0});const Ae=t=>async e=>{var r,n;try{(n=(r=e.formCallbacks.get).onCheckoutStarted)==null||n.call(r),C("checkout_started");const o=await t(e);if(C("checkout_success",{...o}),o.mode==="setup")e.formCallbacks.get.onSetupPaymentMethodSuccess(o.result.payment_method_id);else if(o.mode==="checkout")e.formCallbacks.get.onCheckoutSuccess(o.result.invoice_urls,o.result.subscription_ids,o.result.customer_id,o.result.processors_used??[]);else throw new Error(`Unhandled mode: ${o}`)}catch(o){const s=ne(o),i=await so(e.context.anyCdeConnection,s);e.formCallbacks.get.onCheckoutError(s,i),C("checkout_error",{errorMessage:s,errorCode:i})}},Be=t=>async e=>{try{return await t(e)}catch(r){const{err__:n}=F("init-error-catcher"),o=ne(r),s=await so(e.context.anyCdeConnection,o);return n(s,o,r),C("init_flow_error",{errorMessage:o,errorCode:s}),{isAvailable:!1,reason:o,errorCode:s,isLoading:!1}}},F=t=>{const e=(...n)=>{window.console.log(`${nr.green.bold("ojs/")}${nr.bold.gray(`${t}`)} `,...n)},r=(...n)=>{window.console.warn(`${nr.red.bold("ojs/")}${nr.bold.gray(`${t}`)} `,...n)};return{log:e,err:r,log__:e,err__:r}};var Mr=function(t,e){return Mr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[o]=n[o])},Mr(t,e)};function je(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Mr(t,e);function r(){this.constructor=t}t.prototype=e===null?Object.create(e):(r.prototype=e.prototype,new r)}function Vi(t,e,r,n){function o(s){return s instanceof r?s:new r(function(i){i(s)})}return new(r||(r=Promise))(function(s,i){function c(d){try{u(n.next(d))}catch(p){i(p)}}function l(d){try{u(n.throw(d))}catch(p){i(p)}}function u(d){d.done?s(d.value):o(d.value).then(c,l)}u((n=n.apply(t,e||[])).next())})}function Ln(t,e){var r={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},n,o,s,i=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return i.next=c(0),i.throw=c(1),i.return=c(2),typeof Symbol=="function"&&(i[Symbol.iterator]=function(){return this}),i;function c(u){return function(d){return l([u,d])}}function l(u){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,u[0]&&(r=0)),r;)try{if(n=1,o&&(s=u[0]&2?o.return:u[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,u[1])).done)return s;switch(o=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return r.label++,{value:u[1],done:!1};case 5:r.label++,o=u[1],u=[0];continue;case 7:u=r.ops.pop(),r.trys.pop();continue;default:if(s=r.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){r=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){r.label=u[1];break}if(u[0]===6&&r.label<s[1]){r.label=s[1],s=u;break}if(s&&r.label<s[2]){r.label=s[2],r.ops.push(u);break}s[2]&&r.ops.pop(),r.trys.pop();continue}u=e.call(t,r)}catch(d){u=[6,d],o=0}finally{n=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function at(t){var e=typeof Symbol=="function"&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function or(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var n=r.call(t),o,s=[],i;try{for(;(e===void 0||e-- >0)&&!(o=n.next()).done;)s.push(o.value)}catch(c){i={error:c}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(i)throw i.error}}return s}function sr(t,e,r){if(r||arguments.length===2)for(var n=0,o=e.length,s;n<o;n++)(s||!(n in e))&&(s||(s=Array.prototype.slice.call(e,0,n)),s[n]=e[n]);return t.concat(s||Array.prototype.slice.call(e))}function it(t){return this instanceof it?(this.v=t,this):new it(t)}function zi(t,e,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=r.apply(t,e||[]),o,s=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),c("next"),c("throw"),c("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(f){return function(h){return Promise.resolve(h).then(f,p)}}function c(f,h){n[f]&&(o[f]=function(b){return new Promise(function(I,E){s.push([f,b,I,E])>1||l(f,b)})},h&&(o[f]=h(o[f])))}function l(f,h){try{u(n[f](h))}catch(b){_(s[0][3],b)}}function u(f){f.value instanceof it?Promise.resolve(f.value.v).then(d,p):_(s[0][2],f)}function d(f){l("next",f)}function p(f){l("throw",f)}function _(f,h){f(h),s.shift(),s.length&&l(s[0][0],s[0][1])}}function Gi(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],r;return e?e.call(t):(t=typeof at=="function"?at(t):t[Symbol.iterator](),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(s){r[s]=t[s]&&function(i){return new Promise(function(c,l){i=t[s](i),o(c,l,i.done,i.value)})}}function o(s,i,c,l){Promise.resolve(l).then(function(u){s({value:u,done:c})},i)}}typeof SuppressedError=="function"&&SuppressedError;function B(t){return typeof t=="function"}function ar(t){var e=function(n){Error.call(n),n.stack=new Error().stack},r=t(e);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var Dr=ar(function(t){return function(r){t(this),this.message=r?r.length+` errors occurred during unsubscription:
11
+ `+r.map(function(n,o){return o+1+") "+n.toString()}).join(`
12
+ `):"",this.name="UnsubscriptionError",this.errors=r}});function ir(t,e){if(t){var r=t.indexOf(e);0<=r&&t.splice(r,1)}}var Ot=function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,r,n,o,s;if(!this.closed){this.closed=!0;var i=this._parentage;if(i)if(this._parentage=null,Array.isArray(i))try{for(var c=at(i),l=c.next();!l.done;l=c.next()){var u=l.value;u.remove(this)}}catch(b){e={error:b}}finally{try{l&&!l.done&&(r=c.return)&&r.call(c)}finally{if(e)throw e.error}}else i.remove(this);var d=this.initialTeardown;if(B(d))try{d()}catch(b){s=b instanceof Dr?b.errors:[b]}var p=this._finalizers;if(p){this._finalizers=null;try{for(var _=at(p),f=_.next();!f.done;f=_.next()){var h=f.value;try{Un(h)}catch(b){s=s??[],b instanceof Dr?s=sr(sr([],or(s)),or(b.errors)):s.push(b)}}}catch(b){n={error:b}}finally{try{f&&!f.done&&(o=_.return)&&o.call(_)}finally{if(n)throw n.error}}}if(s)throw new Dr(s)}},t.prototype.add=function(e){var r;if(e&&e!==this)if(this.closed)Un(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(e)}},t.prototype._hasParent=function(e){var r=this._parentage;return r===e||Array.isArray(r)&&r.includes(e)},t.prototype._addParent=function(e){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(e),r):r?[r,e]:e},t.prototype._removeParent=function(e){var r=this._parentage;r===e?this._parentage=null:Array.isArray(r)&&ir(r,e)},t.prototype.remove=function(e){var r=this._finalizers;r&&ir(r,e),e instanceof t&&e._removeParent(this)},t.EMPTY=function(){var e=new t;return e.closed=!0,e}(),t}(),jn=Ot.EMPTY;function Fn(t){return t instanceof Ot||t&&"closed"in t&&B(t.remove)&&B(t.add)&&B(t.unsubscribe)}function Un(t){B(t)?t():t.unsubscribe()}var $n={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Zn={setTimeout:function(t,e){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];return setTimeout.apply(void 0,sr([t,e],or(r)))},clearTimeout:function(t){var e=Zn.delegate;return((e==null?void 0:e.clearTimeout)||clearTimeout)(t)},delegate:void 0};function Vn(t){Zn.setTimeout(function(){throw t})}function zn(){}function cr(t){t()}var Lr=function(t){je(e,t);function e(r){var n=t.call(this)||this;return n.isStopped=!1,r?(n.destination=r,Fn(r)&&r.add(n)):n.destination=Wi,n}return e.create=function(r,n,o){return new Fr(r,n,o)},e.prototype.next=function(r){this.isStopped||this._next(r)},e.prototype.error=function(r){this.isStopped||(this.isStopped=!0,this._error(r))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(r){this.destination.next(r)},e.prototype._error=function(r){try{this.destination.error(r)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(Ot),Bi=Function.prototype.bind;function jr(t,e){return Bi.call(t,e)}var qi=function(){function t(e){this.partialObserver=e}return t.prototype.next=function(e){var r=this.partialObserver;if(r.next)try{r.next(e)}catch(n){lr(n)}},t.prototype.error=function(e){var r=this.partialObserver;if(r.error)try{r.error(e)}catch(n){lr(n)}else lr(e)},t.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(r){lr(r)}},t}(),Fr=function(t){je(e,t);function e(r,n,o){var s=t.call(this)||this,i;if(B(r)||!r)i={next:r??void 0,error:n??void 0,complete:o??void 0};else{var c;s&&$n.useDeprecatedNextContext?(c=Object.create(r),c.unsubscribe=function(){return s.unsubscribe()},i={next:r.next&&jr(r.next,c),error:r.error&&jr(r.error,c),complete:r.complete&&jr(r.complete,c)}):i=r}return s.destination=new qi(i),s}return e}(Lr);function lr(t){Vn(t)}function Yi(t){throw t}var Wi={closed:!0,next:zn,error:Yi,complete:zn},Ur=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function Hi(t){return t}function Ki(t){return t.length===0?Hi:t.length===1?t[0]:function(r){return t.reduce(function(n,o){return o(n)},r)}}var Te=function(){function t(e){e&&(this._subscribe=e)}return t.prototype.lift=function(e){var r=new t;return r.source=this,r.operator=e,r},t.prototype.subscribe=function(e,r,n){var o=this,s=Qi(e)?e:new Fr(e,r,n);return cr(function(){var i=o,c=i.operator,l=i.source;s.add(c?c.call(s,l):l?o._subscribe(s):o._trySubscribe(s))}),s},t.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(r){e.error(r)}},t.prototype.forEach=function(e,r){var n=this;return r=Gn(r),new r(function(o,s){var i=new Fr({next:function(c){try{e(c)}catch(l){s(l),i.unsubscribe()}},error:s,complete:o});n.subscribe(i)})},t.prototype._subscribe=function(e){var r;return(r=this.source)===null||r===void 0?void 0:r.subscribe(e)},t.prototype[Ur]=function(){return this},t.prototype.pipe=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return Ki(e)(this)},t.prototype.toPromise=function(e){var r=this;return e=Gn(e),new e(function(n,o){var s;r.subscribe(function(i){return s=i},function(i){return o(i)},function(){return n(s)})})},t.create=function(e){return new t(e)},t}();function Gn(t){var e;return(e=t??$n.Promise)!==null&&e!==void 0?e:Promise}function Ji(t){return t&&B(t.next)&&B(t.error)&&B(t.complete)}function Qi(t){return t&&t instanceof Lr||Ji(t)&&Fn(t)}function Xi(t){return B(t==null?void 0:t.lift)}function ec(t){return function(e){if(Xi(e))return e.lift(function(r){try{return t(r,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function tc(t,e,r,n,o){return new rc(t,e,r,n,o)}var rc=function(t){je(e,t);function e(r,n,o,s,i,c){var l=t.call(this,r)||this;return l.onFinalize=i,l.shouldUnsubscribe=c,l._next=n?function(u){try{n(u)}catch(d){r.error(d)}}:t.prototype._next,l._error=s?function(u){try{s(u)}catch(d){r.error(d)}finally{this.unsubscribe()}}:t.prototype._error,l._complete=o?function(){try{o()}catch(u){r.error(u)}finally{this.unsubscribe()}}:t.prototype._complete,l}return e.prototype.unsubscribe=function(){var r;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;t.prototype.unsubscribe.call(this),!n&&((r=this.onFinalize)===null||r===void 0||r.call(this))}},e}(Lr),nc=ar(function(t){return function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),Bn=function(t){je(e,t);function e(){var r=t.call(this)||this;return r.closed=!1,r.currentObservers=null,r.observers=[],r.isStopped=!1,r.hasError=!1,r.thrownError=null,r}return e.prototype.lift=function(r){var n=new qn(this,this);return n.operator=r,n},e.prototype._throwIfClosed=function(){if(this.closed)throw new nc},e.prototype.next=function(r){var n=this;cr(function(){var o,s;if(n._throwIfClosed(),!n.isStopped){n.currentObservers||(n.currentObservers=Array.from(n.observers));try{for(var i=at(n.currentObservers),c=i.next();!c.done;c=i.next()){var l=c.value;l.next(r)}}catch(u){o={error:u}}finally{try{c&&!c.done&&(s=i.return)&&s.call(i)}finally{if(o)throw o.error}}}})},e.prototype.error=function(r){var n=this;cr(function(){if(n._throwIfClosed(),!n.isStopped){n.hasError=n.isStopped=!0,n.thrownError=r;for(var o=n.observers;o.length;)o.shift().error(r)}})},e.prototype.complete=function(){var r=this;cr(function(){if(r._throwIfClosed(),!r.isStopped){r.isStopped=!0;for(var n=r.observers;n.length;)n.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var r;return((r=this.observers)===null||r===void 0?void 0:r.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(r){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,r)},e.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},e.prototype._innerSubscribe=function(r){var n=this,o=this,s=o.hasError,i=o.isStopped,c=o.observers;return s||i?jn:(this.currentObservers=null,c.push(r),new Ot(function(){n.currentObservers=null,ir(c,r)}))},e.prototype._checkFinalizedStatuses=function(r){var n=this,o=n.hasError,s=n.thrownError,i=n.isStopped;o?r.error(s):i&&r.complete()},e.prototype.asObservable=function(){var r=new Te;return r.source=this,r},e.create=function(r,n){return new qn(r,n)},e}(Te),qn=function(t){je(e,t);function e(r,n){var o=t.call(this)||this;return o.destination=r,o.source=n,o}return e.prototype.next=function(r){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.next)===null||o===void 0||o.call(n,r)},e.prototype.error=function(r){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.error)===null||o===void 0||o.call(n,r)},e.prototype.complete=function(){var r,n;(n=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||n===void 0||n.call(r)},e.prototype._subscribe=function(r){var n,o;return(o=(n=this.source)===null||n===void 0?void 0:n.subscribe(r))!==null&&o!==void 0?o:jn},e}(Bn),oc={now:function(){return Date.now()},delegate:void 0},sc=function(t){je(e,t);function e(r,n){return t.call(this)||this}return e.prototype.schedule=function(r,n){return this},e}(Ot),Yn={setInterval:function(t,e){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];return setInterval.apply(void 0,sr([t,e],or(r)))},clearInterval:function(t){return clearInterval(t)},delegate:void 0},ac=function(t){je(e,t);function e(r,n){var o=t.call(this,r,n)||this;return o.scheduler=r,o.work=n,o.pending=!1,o}return e.prototype.schedule=function(r,n){var o;if(n===void 0&&(n=0),this.closed)return this;this.state=r;var s=this.id,i=this.scheduler;return s!=null&&(this.id=this.recycleAsyncId(i,s,n)),this.pending=!0,this.delay=n,this.id=(o=this.id)!==null&&o!==void 0?o:this.requestAsyncId(i,this.id,n),this},e.prototype.requestAsyncId=function(r,n,o){return o===void 0&&(o=0),Yn.setInterval(r.flush.bind(r,this),o)},e.prototype.recycleAsyncId=function(r,n,o){if(o===void 0&&(o=0),o!=null&&this.delay===o&&this.pending===!1)return n;n!=null&&Yn.clearInterval(n)},e.prototype.execute=function(r,n){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var o=this._execute(r,n);if(o)return o;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(r,n){var o=!1,s;try{this.work(r)}catch(i){o=!0,s=i||new Error("Scheduled action threw falsy error")}if(o)return this.unsubscribe(),s},e.prototype.unsubscribe=function(){if(!this.closed){var r=this,n=r.id,o=r.scheduler,s=o.actions;this.work=this.state=this.scheduler=null,this.pending=!1,ir(s,this),n!=null&&(this.id=this.recycleAsyncId(o,n,null)),this.delay=null,t.prototype.unsubscribe.call(this)}},e}(sc),Wn=function(){function t(e,r){r===void 0&&(r=t.now),this.schedulerActionCtor=e,this.now=r}return t.prototype.schedule=function(e,r,n){return r===void 0&&(r=0),new this.schedulerActionCtor(this,e).schedule(n,r)},t.now=oc.now,t}(),ic=function(t){je(e,t);function e(r,n){n===void 0&&(n=Wn.now);var o=t.call(this,r,n)||this;return o.actions=[],o._active=!1,o}return e.prototype.flush=function(r){var n=this.actions;if(this._active){n.push(r);return}var o;this._active=!0;do if(o=r.execute(r.state,r.delay))break;while(r=n.shift());if(this._active=!1,o){for(;r=n.shift();)r.unsubscribe();throw o}},e}(Wn),cc=new ic(ac),lc=function(t){return t&&typeof t.length=="number"&&typeof t!="function"};function uc(t){return B(t==null?void 0:t.then)}function dc(t){return B(t[Ur])}function pc(t){return Symbol.asyncIterator&&B(t==null?void 0:t[Symbol.asyncIterator])}function fc(t){return new TypeError("You provided "+(t!==null&&typeof t=="object"?"an invalid object":"'"+t+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function mc(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var hc=mc();function yc(t){return B(t==null?void 0:t[hc])}function _c(t){return zi(this,arguments,function(){var r,n,o,s;return Ln(this,function(i){switch(i.label){case 0:r=t.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,it(r.read())];case 3:return n=i.sent(),o=n.value,s=n.done,s?[4,it(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,it(o)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}function gc(t){return B(t==null?void 0:t.getReader)}function vc(t){if(t instanceof Te)return t;if(t!=null){if(dc(t))return wc(t);if(lc(t))return bc(t);if(uc(t))return Ec(t);if(pc(t))return Hn(t);if(yc(t))return kc(t);if(gc(t))return Cc(t)}throw fc(t)}function wc(t){return new Te(function(e){var r=t[Ur]();if(B(r.subscribe))return r.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function bc(t){return new Te(function(e){for(var r=0;r<t.length&&!e.closed;r++)e.next(t[r]);e.complete()})}function Ec(t){return new Te(function(e){t.then(function(r){e.closed||(e.next(r),e.complete())},function(r){return e.error(r)}).then(null,Vn)})}function kc(t){return new Te(function(e){var r,n;try{for(var o=at(t),s=o.next();!s.done;s=o.next()){var i=s.value;if(e.next(i),e.closed)return}}catch(c){r={error:c}}finally{try{s&&!s.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}e.complete()})}function Hn(t){return new Te(function(e){Sc(t,e).catch(function(r){return e.error(r)})})}function Cc(t){return Hn(_c(t))}function Sc(t,e){var r,n,o,s;return Vi(this,void 0,void 0,function(){var i,c;return Ln(this,function(l){switch(l.label){case 0:l.trys.push([0,5,6,11]),r=Gi(t),l.label=1;case 1:return[4,r.next()];case 2:if(n=l.sent(),!!n.done)return[3,4];if(i=n.value,e.next(i),e.closed)return[2];l.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return c=l.sent(),o={error:c},[3,11];case 6:return l.trys.push([6,,9,10]),n&&!n.done&&(s=r.return)?[4,s.call(r)]:[3,8];case 7:l.sent(),l.label=8;case 8:return[3,10];case 9:if(o)throw o.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}function Pc(t,e,r,n,o){n===void 0&&(n=0),o===void 0&&(o=!1);var s=e.schedule(function(){r(),o?t.add(this.schedule(null,n)):this.unsubscribe()},n);if(t.add(s),!o)return s}function Ac(t,e){var r=B(t)?t:function(){return t},n=function(o){return o.error(r())};return new Te(n)}var Tc=ar(function(t){return function(){t(this),this.name="EmptyError",this.message="no elements in sequence"}});function xc(t,e){return new Promise(function(r,n){var o=!1,s;t.subscribe({next:function(i){s=i,o=!0},error:n,complete:function(){o?r(s):n(new Tc)}})})}function Ic(t){return t instanceof Date&&!isNaN(t)}var Rc=ar(function(t){return function(r){r===void 0&&(r=null),t(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=r}});function Nc(t,e){var r=Ic(t)?{first:t}:typeof t=="number"?{each:t}:t,n=r.first,o=r.each,s=r.with,i=s===void 0?Oc:s,c=r.scheduler,l=c===void 0?cc:c,u=r.meta,d=u===void 0?null:u;if(n==null&&o==null)throw new TypeError("No timeout provided.");return ec(function(p,_){var f,h,b=null,I=0,E=function(N){h=Pc(_,l,function(){try{f.unsubscribe(),vc(i({meta:d,lastValue:b,seen:I})).subscribe(_)}catch(x){_.error(x)}},N)};f=p.subscribe(tc(_,function(N){h==null||h.unsubscribe(),I++,_.next(b=N),o>0&&E(o)},void 0,void 0,function(){h!=null&&h.closed||h==null||h.unsubscribe(),b=null})),!I&&E(n!=null?typeof n=="number"?n:+n-l.now():o)})}function Oc(t){throw new Rc(t)}class Mt{constructor(){this.set=e=>{if(this._current.status==="success")throw new Error("LoadedOnce is already in success state");this._current={status:"success",isSuccess:!0,loadedValue:e},this._subject.next(e),this._subject.complete()},this.throw=(e,r)=>{if(this._current.status==="success")throw new Error("LoadedOnce is already in success state");this._current={status:"error",isSuccess:!1,error:e,errMsg:r},this._subject.error(e)},this.getValueIfLoadedElse=e=>this._current.status==="success"?this._current.loadedValue:e,this.subscribe=e=>{if(this._current.status==="success"){e(this._current);return}this._current.status==="error"&&e(this._current);const r=this._subject.subscribe({next:()=>{if(this._current.status!=="success")throw new Error("Invalid state (next): please make sure to update _current before the subject");e(this._current),r.unsubscribe()},error:()=>{if(this._current.status!=="error")throw new Error("Invalid state (error): please make sure to update _current before the subject");e(this._current)}})},this.waitForLoad=e=>{if(this._current.status==="success")return Promise.resolve(this._current.loadedValue);if(this._current.status==="error")return Promise.reject(this._current.error);this._current.status!=="initial"&&ur(this._current);const r={first:e.timeoutSec*1e3,with:()=>Ac(()=>new Error(e.timeoutErrMsg))};return xc(this._subject.pipe(Nc(r)))},this._current={status:"initial",isSuccess:!1},this._subject=new Bn}get current(){return this._current}}const Kn=a.enum(["dev","stg","prod"]),Mc={prod:"https://connto.getopenpay.com",stg:"https://connto.openpaystaging.com",dev:"http://localhost:8000"},Dc=t=>Mc[t],Lc=async t=>{try{const e=await fetch(new URL("/health/environment",t)).then(r=>r.json());return Kn.parse(e.environment)}catch{return Kn.Values.prod}};function ur(t){throw new Error(`Unhandled case: ${t}`)}const Jn=(t,e)=>Object.fromEntries(Object.entries(t).filter(([r])=>!e.includes(r))),$=()=>{if(!(typeof window>"u"))return window},$r=new Mt,Qn="op_metrics_queue",jc=3,Fc=3,Uc=1e3,{log__:dr}=F("op-metrics");class $c{constructor(){var e,r;this.queue=[],this.processingQueue=!1,this.batchTimeout=null,this.lastEventTimestamp=0,this.offlineListener=()=>{dr("Network offline, metrics will be queued"),this.cancelBatchProcessing()},this.onlineListener=()=>{dr("Network online, processing metrics queue"),this.processQueue()},this.loadQueueFromStorage(),(e=$())==null||e.addEventListener("offline",this.offlineListener),(r=$())==null||r.addEventListener("online",this.onlineListener)}addEvent(e,r,n){const o={eventName:e,properties:r||{},contextProperties:n||{},nonce:er(),timestamp:performance.now(),datetime:new Date().toISOString(),attemptCount:0,timeDiffFromPreviousEvent:this.lastEventTimestamp?performance.now()-this.lastEventTimestamp:0};this.lastEventTimestamp=o.timestamp,this.queue.push(o),this.saveQueueToStorage(),this.scheduleBatchProcessing()}loadQueueFromStorage(){var e,r;try{const n=(r=(e=$())==null?void 0:e.localStorage)==null?void 0:r.getItem(Qn);n&&(this.queue=JSON.parse(n))}catch{this.queue=[],this.saveQueueToStorage()}}saveQueueToStorage(){var e;(e=$())==null||e.localStorage.setItem(Qn,JSON.stringify(this.queue))}scheduleBatchProcessing(){const e=$();e&&navigator.onLine&&!this.processingQueue&&this.queue.length>0&&!this.batchTimeout&&(this.batchTimeout=e.setTimeout(()=>{this.batchTimeout=null,this.processQueue()},Uc))}cancelBatchProcessing(){var e;this.batchTimeout&&((e=$())==null||e.clearTimeout(this.batchTimeout),this.batchTimeout=null),this.processingQueue=!1}processQueue(){!navigator.onLine||this.processingQueue||this.queue.length===0||(this.processingQueue=!0,this.sendBatch().finally(()=>{this.processingQueue=!1,this.queue.length>0&&this.scheduleBatchProcessing()}))}async sendBatch(){if(this.queue.length===0)return;const e=$r.getValueIfLoadedElse(void 0);if(!e){dr("Metrics context not available, will retry later");return}const r=this.queue.slice(0,Fc);try{const n={events:r.map(c=>({event_name:c.eventName,device_token:e.deviceToken,context_properties:{...e,...c.contextProperties},properties:{nonce:c.nonce,datetime:c.datetime,timestamp:c.timestamp,time_diff_from_previous_event:c.timeDiffFromPreviousEvent,checkout_secure_token:e.checkoutSecureToken,...c.properties}}))},o=Dc(e.environment),s=new URL("/metrics/public/capture",o);(await fetch(s.toString(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})).ok?(this.queue=this.queue.slice(r.length),this.saveQueueToStorage()):this.handleFailedBatch(r)}catch(n){dr("Error sending metrics batch:",n),this.handleFailedBatch(r)}}handleFailedBatch(e){e.forEach(n=>{n.attemptCount++});const r=e.filter(n=>n.attemptCount<jc);this.queue=this.queue.slice(e.length),this.queue=[...r,...this.queue],this.saveQueueToStorage()}cleanup(){var e,r;(e=$())==null||e.removeEventListener("offline",this.offlineListener),(r=$())==null||r.removeEventListener("online",this.onlineListener),this.cancelBatchProcessing()}}const Xn=new $c,C=(t,e,r)=>{Xn.addEvent(t,e,r)},eo=t=>{const e=ne(t.reason);C("unhandled_rejection_error",{error_message:e,error_name:t.reason})},to=t=>{var r,n;const e=ne(t.error);C("uncaught_error",{error_message:e,error_name:(r=t.error)==null?void 0:r.name,error_stack:(n=t.error)==null?void 0:n.stack,file_name:t.filename,line_number:t.lineno,column_number:t.colno})},Zc=()=>{var t,e;(t=$())==null||t.addEventListener("error",to),(e=$())==null||e.addEventListener("unhandledrejection",eo)},Vc=()=>{var t,e;(t=$())==null||t.removeEventListener("error",to),(e=$())==null||e.removeEventListener("unhandledrejection",eo)};(Vo=$())==null||Vo.addEventListener("beforeunload",()=>{Xn.processQueue()});class ro extends Ii{constructor(e){const r=`${e.message}`;super(r),this.response=e}get originalErrorMessage(){return this.response.message}}const K=async(t,e,r,n)=>{n&&C(n,{...e});const o=await t.send(e);if(Gc(o))throw new ro(o);if(!zc(o,r)){const s=r.safeParse(o);throw s.success?new Error("Invalid state"):(console.error("OJS queryApi got a schema error. Expected schema:",r,"Actual:",o),s.error)}return n&&C(n,{...o}),o},zc=(t,e)=>e.safeParse(t).success,Gc=t=>ii.safeParse(t).success,Bc=async(t,e)=>await K(t,{type:"get_checkout_preview",payload:e},Cn),q=async t=>await K(t,{type:"get_prefill",payload:{}},Pn),ct=async(t,e)=>await K(t,{type:"v2_start_payment_flow",payload:e},Tn,"start_payment_flow"),qc=async(t,e)=>await K(t,{type:"start_payment_flow_for_cc",payload:e},Ei,"start_payment_flow_for_cc"),Yc=async(t,e)=>{C("start_payment_flow_for_pr",{...e});const r=await K(t,{type:"start_payment_flow_for_pr",payload:e},Tn);return C("start_payment_flow_for_pr_result",{...r}),r},ce=async(t,e)=>await K(t,{type:"confirm_payment_flow",payload:e},ka,"confirm_payment_flow"),Wc=async(t,e)=>await K(t,{type:"finalize_setup_payment_method",payload:e},An,"finalize_setup_payment_method"),Hc=async(t,e)=>await K(t,{type:"check_if_popup_window_verified",payload:e},Ea,"check_if_popup_window_verified"),Kc=async(t,e,r)=>{const n=await Bc(t,{secure_token:e,promotion_code:r}),o=new Set(n.preview.invoices.map(c=>c.currency));if(o.size!==1)throw new Error(`Expected exactly one currency, got ${o.size}`);const s=o.values().next().value??"usd",i=Pi(n.preview.invoices.map(c=>c.remaining_amount_atom));return{currency:s,amountAtom:i}},lt=async(t,e,r,n)=>{if(r)return{amountAtom:0,currency:"usd"};{n=n||void 0;const o=await Kc(t,e,n);return{amountAtom:o.amountAtom,currency:o.currency}}},Jc=async(t,e)=>{if(t.size===0)throw new Error("No CDE connections found");return await Promise.all(Array.from(t.values()).map(n=>K(n,{type:"tokenize_card",payload:e},va)))},no=async(t,e)=>await K(t,{type:"checkout_card_elements",payload:e},Pr,"checkout_card_elements"),Qc=async(t,e)=>await K(t,{type:"setup_payment_method",payload:e},An,"setup_checkout"),Zr=async(t,e)=>await K(t,{type:"checkout",payload:e},Pr,"perform_checkout"),oo=1e3,Xc=async(t,e)=>{console.log(e);const n=await vn({iframe:t,debug:!0,timeout:oo,childOrigin:"*"}).promise,o=await K(n,{type:"ping-3ds-status"},wa);return console.log("🟢 CDE connection successful! Stopping polling... Result:",o),o},Vr=async(t,e)=>await K(t,{type:"prepare_payment_flow",payload:e},Ci,"prepare_payment_flow"),so=async(t,e)=>{try{return(await K(t,{type:"get_standardized_error_code",payload:{message:e}},ki)).error_code}catch(r){return console.error("[cde-client] Error during getStandardizedErrorCode:",ne(r)),"PAYMENT_FAILED_GENERIC"}},el=async(t,e)=>await K(t,{type:"set_user_device_token",payload:{device_token:e}},Si),{log__:Ju,err__:tl}=F("common"),Dt=t=>{if(t.payment_methods.length!==1)throw new Error(`Expected exactly one payment method, got ${t.payment_methods.length}`);return{payment_method_id:t.payment_methods[0].id}},le=(t,e)=>{const r=t.find(n=>e.safeParse(n).success);if(!r)throw tl("No CPMs found for model. All models:",t),new Error("No CPMs found for model");return e.parse(r)},rl=t=>({new_customer_email:t.email,new_customer_address:{zip_code:t.zipCode,country:t.country},new_customer_first_name:t.firstName,new_customer_last_name:t.lastName}),pr=async t=>{const{log__:e}=F(t.logPrefix),r=await q(t.anyCdeConnection),n=Dt(t.confirmResult);if(r.mode==="setup")return e("Setting up payment method..."),{mode:"setup",result:await Wc(t.anyCdeConnection,{secure_token:r.token,pm_id:n.payment_method_id})};{e("Doing checkout...");const o={secure_token:r.token,payment_input:{provider_type:t.checkoutPaymentMethod.provider},customer_email:t.requiredFormFields[m.EMAIL],customer_zip_code:t.requiredFormFields[m.ZIP_CODE],customer_country:t.requiredFormFields[m.COUNTRY],promotion_code:t.requiredFormFields[m.PROMOTION_CODE],line_items:r.line_items,total_amount_atom:r.amount_total_atom,cancel_at_end:!1,checkout_payment_method:t.checkoutPaymentMethod,use_confirmed_pm_id:n.payment_method_id};return{mode:"checkout",result:await Zr(t.anyCdeConnection,o)}}},{log__:ao,err__:io}=F("common-cc"),Fe=(t,e,r)=>{if(r){ao(`Received default field values: ${JSON.stringify(r)}`);for(const[o,s]of Object.entries(r))t[o]||(t[o]=s)}const n=xt.safeParse(t);if(!n.success){const o=n.error.format(),s=pn(o);for(const[i,c]of Object.entries(s))e(i,c,i);throw io("Got validation errors in non-CDE form fields",s),new Error("Got validation errors in non-CDE form fields")}return n.data},nl=(t,e)=>{for(const r of t)if(r.success===!1)throw r.errors.forEach(n=>{const o=un.safeParse(n.elementType);if(!o.success)io(`Unknown field name in onValidationError: ${n.elementType}. Error object:`,n);else{const s=o.data;e(s,n.errors)}}),ao(`Error tokenizing card: got validation errors: ${JSON.stringify(r.errors)}`),new Error("Got validation errors while tokenizing card")},co="ojs-stripe-link-btn",{log__:Y,err__:ol}=F("stripe-link"),sl=a.object({provider:a.literal("stripe_link"),processor_name:a.literal("stripe"),metadata:a.object({stripe_pk:a.string()})}),al=a.array(a.object({our_existing_pm_id:a.string()})).length(1),il=Be(async({context:t,formCallbacks:e})=>{const r=t.customInitParams.stripeLink;Y("Checking if there are any CPMs for Stripe Link...");const n=le(t.checkoutPaymentMethods,sl);Y("Starting stripe link flow...");const o=t.anyCdeConnection,s=await q(o),i=s.mode==="setup";Y("Creating stripe elements...");const c=await lt(o,s.token,i,void 0),{elements:l,stripe:u}=await Aa(n.metadata.stripe_pk,{mode:"setup",currency:c.currency,setup_future_usage:"off_session",paymentMethodCreation:"manual"});Y("Creating express checkout...");const d=l.create("expressCheckout",{buttonHeight:r==null?void 0:r.buttonHeight,paymentMethods:{amazonPay:"never",applePay:"never",googlePay:"never",paypal:"never"}}),p=()=>{d.mount(`#${co}`)},_=()=>{d.unmount()};return r!=null&&r.doNotMountOnInit?Y("NOT mounting stripe link button (doNotMountOnInit is true)"):(Y("Mounting stripe link button..."),p()),d.on("click",async f=>{if(Y("Stripe Link button clicked"),r!=null&&r.overrideLinkSubmit&&!await r.overrideLinkSubmit()){Y("Stripe Link submit aborted by overrideLinkSubmit");return}f.resolve()}),d.on("confirm",async f=>{Y("Stripe Link window confirmed",f);const h=await u.createPaymentMethod({elements:l,params:{billing_details:f.billingDetails}});h.error?(ol("error",h.error),e.get.onCheckoutError(h.error.message??"Stripe Link unknown error")):(Y("paymentMethod",h.paymentMethod),z.stripeLink.run({context:t,checkoutPaymentMethod:n,nonCdeFormInputs:_e(t.formDiv),formCallbacks:e,customParams:{stripePM:h.paymentMethod},initResult:{isAvailable:!0}}))}),{isAvailable:!0,controller:{mountButton:p,dismountButton:_,waitForButtonToMount:async()=>await ul(co)}}}),cl=Ae(async({context:t,checkoutPaymentMethod:e,nonCdeFormInputs:r,formCallbacks:n,customParams:o})=>{Y("Running Stripe Link flow...");const s=t.anyCdeConnection;Y("Merging PM fields with form fields...");const i=ll(r,o.stripePM),c=Fe(i,n.get.onValidationError);C("billing_details_received",{...c}),Y("Starting payment flow...");const l=await ct(s,{payment_provider:e.provider,checkout_payment_method:e,their_existing_pm_id:o.stripePM.id,new_customer_email:c[m.EMAIL],new_customer_first_name:c[m.FIRST_NAME],new_customer_last_name:c[m.LAST_NAME],new_customer_address:{zip_code:c[m.ZIP_CODE],country:c[m.COUNTRY]}});Y("Start payment flow response",l);const d=al.parse(l.required_user_actions)[0].our_existing_pm_id,p=await q(s);if(p.mode==="setup"){Y("Doing payment setup...");const _=await ce(s,{secure_token:p.token,existing_cc_pm_id:d});return{mode:"setup",result:Dt(_)}}else{Y("Doing checkout...");const _={secure_token:p.token,payment_input:{provider_type:e.provider},customer_email:c[m.EMAIL],customer_zip_code:c[m.ZIP_CODE],customer_country:c[m.COUNTRY],promotion_code:c[m.PROMOTION_CODE],line_items:p.line_items,total_amount_atom:p.amount_total_atom,cancel_at_end:!1,checkout_payment_method:e};return{mode:"checkout",result:await Zr(s,_)}}}),ll=(t,e)=>{var l,u,d,p,_;const r={...t},[n,...o]=((u=(l=e.billing_details.name)==null?void 0:l.trim())==null?void 0:u.split(/\s+/))??[],s=o.join(" ")||void 0;r[m.EMAIL]=r[m.EMAIL]||((d=e.link)==null?void 0:d.email)||e.billing_details.email||"op_unfilled@getopenpay.com",r[m.ZIP_CODE]=r[m.ZIP_CODE]||((p=e.billing_details.address)==null?void 0:p.postal_code)||"00000",r[m.COUNTRY]=r[m.COUNTRY]||((_=e.billing_details.address)==null?void 0:_.country)||"US";const i=r[m.FIRST_NAME]||n||"",c=r[m.LAST_NAME]||s||"";return i||c?(r[m.FIRST_NAME]=i,r[m.LAST_NAME]=c):(r[m.FIRST_NAME]="_OP_UNKNOWN",r[m.LAST_NAME]=""),Y("Final form inputs:",r),r},ul=t=>new Promise(e=>{const r=()=>{const n=document.getElementById(t);n?e(n):requestAnimationFrame(r)};r()}),dl="@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2147483648!important;display:flex;justify-content:center;align-items:center;background-color:#00000080}.container{max-width:500px;max-height:600px;width:100%;height:100%;background-color:#fff;position:relative;animation:fadeIn .3s ease-out}.frame,#adyen-container,#adyen-container>*{max-width:500px;max-height:600px;width:100%;height:100%;border:none}.cancel-button{position:absolute;background:transparent;border:none;font-size:1rem;color:#fff;cursor:pointer;top:-1.5rem;padding:0;right:0}",lo=t=>{const e=document.createElement("template");e.innerHTML=`
13
13
  <style>
14
- ${sl}
14
+ ${dl}
15
15
  </style>
16
16
  <div class="overlay">
17
17
  <div class="container">
@@ -19,7 +19,7 @@ ${t.message}`),t.message)}else return Cn(t.message);if(typeof t=="object")try{re
19
19
  <iframe src="${t}" class="frame" id="three-ds-iframe" title="3D Secure verification" allow="payment"></iframe>
20
20
  </div>
21
21
  </div>
22
- `;const n=document.createElement("div"),r=n.attachShadow({mode:"open"});r.appendChild(e.content.cloneNode(!0));const o=r.querySelector("#three-ds-iframe"),s=r.querySelector(".cancel-button");return document.body.appendChild(n),{host:n,iframe:o,cancelButton:s}};function al(t,e,n){const r=async()=>{try{const s=await Yc(t,n);s&&(clearInterval(o),e(s))}catch{}};r();const o=setInterval(r,eo);return o}function il({elements:t,pollingInterval:e,resolve:n}){const r=()=>{clearInterval(e),t.host.remove(),n({status:Z.CANCELLED})};return t.cancelButton.addEventListener("click",r),()=>{t.cancelButton.removeEventListener("click",r)}}async function pn(t){const{url:e,baseUrl:n}=t,r=ao(e);return new Promise(o=>{const s=l=>{setTimeout(()=>{r.host.remove()},1e3),o(l),c==null||c()},i=al(r.iframe,s,new URL(n).origin),c=il({elements:r,pollingInterval:i,resolve:o})})}const io=async t=>{const e=await pn(t);if(e.status===Z.CANCELLED)throw new Error("3DS verification cancelled");if(e.status===Z.FAILURE)throw new Error("3DS verification failed");return e.status!==Z.SUCCESS&&un(e.status),{href:e.href}},cl=(t,e)=>{const n=window.open(e,"_blank");if(!n)throw new Error(`${t} popup window blocked. Please allow popups for this site.`);return n},ll=async(t,e,n,r)=>{const{err__:o}=F("popup-verify");return new Promise((s,i)=>{const c=cl(t,r),l=setInterval(async()=>{try{const u=await zc(e,n);if(u.present)clearInterval(l),c.close(),s({href:u.href});else if(c.closed)throw new Error(`${t} payment cancelled`)}catch(u){o(ne(u)),clearInterval(l),i(ne(u))}},1e3)})},{log__:ul,err__:co}=F("pockyt-cc"),dl=a.object({"op-pockyt-3ds-url":a.string(),"op-pockyt-txn-no":a.string(),"op-pockyt-ref-no":a.string()}),pl=t=>{const e=dl.safeParse(t);if(!e.success){const n="Unable to process your credit card. Please contact support for assistance.",r=`Pockyt 3DS is required but headers are malformed. Got: ${JSON.stringify(t)}`;throw co(r),new Error(n)}return e.data},lo=t=>{try{const e=new URL(t??"").searchParams.get("vaultId");if(!e)throw new Error("No vault ID found in 3DS verification result");return ul(`3DS verification success. [Vault ID: ${e}]`),e}catch(e){const n="Error verifying 3DS verification result.";throw co(n,`Resulting URL: ${t}.
23
- Error: ${ne(e)}`),new Error(n)}},fl=(t,e)=>new URL(t).searchParams.get(e),ml=t=>(t==null?void 0:t["op-pockyt-3ds-url"])!==void 0,hl=async(t,e)=>{const n=pl(e),r=await io({url:n["op-pockyt-3ds-url"],baseUrl:t});return{existing_cc:{vault_id:lo(r.href??""),transaction_no:n["op-pockyt-txn-no"],reference_no:n["op-pockyt-ref-no"]}}},{log__:yl,err__:Vn}=F("airwallex-cc"),_l=a.object({"op-airwallex-3ds-url":a.string(),"op-airwallex-initial-intent-id":a.string(),"op-airwallex-consent-id":a.string()}),gl=t=>{const e=_l.safeParse(t);if(!e.success){const n="Unable to process your credit card. Please contact support for assistance.",r=`Airwallex 3DS is required but headers are malformed. Got: ${JSON.stringify(t)}`;throw Vn(r),new Error(n)}return e.data},vl=t=>(t==null?void 0:t["op-airwallex-3ds-url"])!==void 0,wl=t=>{try{const e=new URL(t??"").searchParams.get("payment_intent_id");if(!e)throw new Error("No intent ID found in Airwallex 3DS verification result");return yl(`Airwallex 3DS verification success. [Intent ID: ${e}]`),e}catch(e){const n="Error verifying Airwallex 3DS verification result.";throw Vn(n,`Resulting URL: ${t}.
24
- Error: ${ne(e)}`),new Error(n)}},bl=async(t,e)=>{const n=gl(e),r=await io({url:n["op-airwallex-3ds-url"],baseUrl:t}),o=wl(r.href??""),s=n["op-airwallex-initial-intent-id"];if(s!==o){const c="Unable to process your credit card. Please contact support for assistance.",l=`Intent ID from callback (${o}) does not match the initial intent ID (${s}).`;throw Vn(l),new Error(c)}return{existing_cc:{initial_intent_id:o,consent_id:n["op-airwallex-consent-id"]}}},uo=a.object({provider:a.literal("apple_pay"),processor_name:a.literal("airwallex"),metadata:a.object({processor_account_id:a.string(),processor_account_name:a.string()})}),po=a.object({provider:a.literal("google_pay"),processor_name:a.literal("airwallex"),metadata:a.object({processor_account_id:a.string(),processor_account_name:a.string(),google_pay_merchant_id:a.string().nullish()})}),El=a.enum(["test","live","live-us","live-in","live-apse","live-au"]),kl=a.enum(["ar","bg-BG","ca-ES","cs-CZ","da-DK","de-DE","el-GR","en-US","es-ES","et-EE","fi-FI","fr-FR","hr-HR","hu-HU","is-IS","it-IT","ja-JP","ko-KR","lt-LT","lv-LV","nl-NL","no-NO","pl-PL","pt-BR","pt-PT","ro-RO","ru-RU","sk-SK","sl-SI","sv-SE","zh-CN","zh-TW"]),{log__:ct,err__:Mt}=F("adyen-cc"),Cl=a.object({"op-account-id":a.string(),"op-adyen-client-key":a.string(),"op-adyen-environment":El,"op-adyen-action":a.string()}),fo="Unable to process your credit card. Please contact support for assistance.",Sl=t=>{const e=Cl.safeParse(t);if(!e.success)throw Mt(`Adyen 3DS is required but headers are malformed. Got: ${JSON.stringify(t)}`),new Error(fo);return e.data},Pl=t=>JSON.parse(t),mo=()=>"AdyenWeb"in window&&"AdyenCheckout"in window.AdyenWeb,Al=async()=>{ct("Waiting for Adyen SDK to load...");for(let t=0;t<10;t++)mo()||await Pn(500);if(!mo())throw Mt("Adyen SDK not loaded properly"),new Error(fo);return ct("Adyen SDK loaded successfully"),window.AdyenWeb.AdyenCheckout},Tl=t=>{const{headers:e,locale:n,countryCode:r,component:o,host:s,cancelButton:i}=t,c=Pl(e["op-adyen-action"]);return ct(`Running Adyen 3DS flow for action type: ${c.type}`),new Promise(l=>{const u=()=>{ct("Cleaning up Adyen 3DS flow"),i.removeEventListener("click",_),s.remove()},d=h=>{Mt("Authentication failed. Result:",h),l({status:Z.FAILURE,cleanup:u})},p=h=>{Mt("Adyen error:",h),l({status:Z.FAILURE,cleanup:u})},_=()=>{l({status:Z.CANCELLED,cleanup:u})};i.addEventListener("click",_);const f=(h,b,I)=>{s.remove(),l({status:Z.SUCCESS,additionalDetails:h,cleanup:u})};Al().then(h=>h({clientKey:e["op-adyen-client-key"],environment:e["op-adyen-environment"],locale:n,countryCode:r,onAdditionalDetails:f,onPaymentFailed:d,onError:p})).then(h=>{h.createFromAction(c,{challengeWindowSize:"03"}).mount(o)})})},xl=t=>{const e=navigator.languages&&navigator.languages.length?navigator.languages[0]:navigator.language,n=t??e,r=kl.safeParse(n);return r.success?(ct(`Resolved locale: ${r.data}`),r.data):(Mt(`Resolved invalid locale: ${n}. Defaulting to en-US.`),"en-US")},Il=t=>(t==null?void 0:t["op-adyen-action"])!==void 0,Rl=async(t,e,n)=>{const r=Sl(e),o=document.createElement("div");o.id="adyen-container";const{host:s,iframe:i,cancelButton:c}=ao("http://example.com");i.replaceWith(o);const l=await Tl({headers:r,locale:xl(n),countryCode:t,component:o,host:s,cancelButton:c});if(l.cleanup(),l.status===Z.FAILURE)throw new Error("3DS verification failed");if(l.status===Z.CANCELLED)throw new Error("3DS verification cancelled");if(l.status===Z.SUCCESS){if(!l.additionalDetails)throw new Error("3DS verification succeeded but no additional details were returned");return ct("3DS verification succeeded"),{existing_cc:{additional_details:l.additionalDetails.data}}}else un(l.status)},{log__:D,err__:ho}=F("common-cc"),{log__:yo}=F("stripe-cc");a.array(a.object({our_existing_pm_id:a.string()})).length(1);const Nl=Pe(async({context:t,checkoutPaymentMethod:e,nonCdeFormInputs:n,formCallbacks:r,customParams:o})=>{var u;D("├ Running common CC flow...",{checkoutPaymentMethod:e});const s=t.anyCdeConnection,i=await B(s);C("common_cc_flow_started",{...e,prefill:i}),D(`├ Validating non-CDE form fields [Mode: ${i.mode}]`);const c=je(n,r.get.onValidationError);C("billing_details_received",{...c});const l={session_id:t.elementsSessionId,checkout_payment_method:e,non_cde_form_fields:c,extra_metadata:{origin:window.location.origin}};try{D(`├ Tokenizing card info in CDE [Session: ${t.elementsSessionId}]`);const d=await Bc(o.currentCdeConnections,{session_id:t.elementsSessionId});if(Jc(d,r.get.onValidationError),i.mode==="setup"){D(`├ Setting up payment method in CDE [Token: ${i.token}]`);const p=await qc(s,l);return D(`╰ Setup completed successfully [PM ID: ${p.payment_method_id}]`),{mode:"setup",result:p}}else{D(`├ Initial checkout flow. Checking out card info in CDE [Session: ${t.elementsSessionId}]`);const p=await Xr(s,l);return D("╰ Checkout completed successfully."),{mode:"checkout",result:p}}}catch(d){if(d instanceof Qr&&d.originalErrorMessage.includes("3DS_REQUIRED")){D("├ Card requires 3DS, starting non-legacy payment flow"),D("Received 3DS error response headers:",d.response.headers),C("3ds_required",{...e,...d.response.headers});const p=ml(d.response.headers);if(p){D("├ Pockyt 3DS case detected. Going through Pockyt 3DS flow.");const E=await hl(t.baseUrl,d.response.headers);l.extra_metadata.pockyt=E}if(vl(d.response.headers)){D("├ Airwallex 3DS case detected. Going through Airwallex 3DS flow.");const E=await bl(t.baseUrl,d.response.headers);l.extra_metadata.airwallex=E}if(Il(d.response.headers)){D("├ Adyen 3DS case detected. Going through Adyen 3DS flow.");const E=await Rl(n[m.COUNTRY],d.response.headers,i.locale);l.extra_metadata.adyen=E}const h=await $c(s,l);D("├ Payment flow result:",h);const b=((u=d.response.headers)==null?void 0:u["op-should-use-new-flow"])!=="true";p?D("├ Pre-start 3DS is successful, other 3DS flows will be skipped."):b?(D("├ Using stripe 3DS flow"),await jl(h)):(D("├ Using common 3DS flow"),await Ll(h,t.baseUrl));const I=h.cc_pm_id;if(i.mode==="setup"){D(`├ Confirming payment flow [cc_pm_id: ${I}]`);const E=await ie(s,{secure_token:i.token,existing_cc_pm_id:I});D("├ Confirm payment flow result received Result:",E);const N=Ot(E);return D(`╰ Setup completed successfully [PM ID: ${N.payment_method_id}]`),{mode:"setup",result:N}}else{D(`├ Checking out after 3DS flow [Flow: ${b?"legacy":"new"}]`);const E=await Xr(s,{...l,existing_cc_pm_id:I,do_not_use_legacy_cc_flow:b});return D("╰ Checkout completed successfully."),{mode:"checkout",result:E}}}throw ho("╰ Error checking out card info in CDE"),ho(d),d}}),Ol=t=>{const e=t.required_user_actions.find(n=>n.type==="stripe_3ds");if(!e)throw new Error("No stripe 3DS action found");return ba.parse(e)},Ml=["airwallex_payment_consent","adyen"],Dl=t=>{const e=t.required_user_actions.find(n=>Ml.includes(n.type));if(!e)throw new Error("No common 3DS action found");return ga.parse(e)},Ll=async(t,e)=>{const n=Dl(t);if(n.redirect_url==="3DS_COMPLETE"){D("├ 3DS flow completed successfully"),C("3ds_complete");return}D(`├ Using common 3DS flow [URL: ${n.redirect_url}]`),C("3ds_redirect",{...n});const{status:r}=await pn({url:n.redirect_url,baseUrl:e});if(D(`╰ 3DS verification completed [Status: ${r}]`),r===Z.CANCELLED)throw C("3ds_cancelled"),new Error("3DS verification cancelled");if(r===Z.FAILURE)throw C("3ds_failure"),new Error("3DS verification failed")},jl=async t=>{const e=Ol(t);C("3ds_stripe_redirect",{...e}),yo(`├ Using stripe 3DS flow [Client Secret: ${e.client_secret.substring(0,8)}...]`),await Ta(e),C("3ds_stripe_complete"),yo("╰ Stripe 3DS flow completed successfully")},le=a.enum(["stripe","airwallex","authorize_net"]);le.Enum.stripe;const _o=({scriptId:t,src:e,checkLoadedFn:n})=>{const r=new AbortController;return new Promise((o,s)=>{let i=document.createElement("script");i.src=e,i.id=t,i.async=!0;const c=document.getElementById(t);n()?o():c?i=c:document.body.appendChild(i),i.addEventListener("load",()=>{r.abort(),o()},{signal:r.signal}),i.addEventListener("error",()=>{r.abort(),s("Failed to load the script")},{signal:r.signal})})},{log__:Q,err__:Fl}=F("stripe-pr"),Ul=a.object({provider:a.union([a.literal("apple_pay"),a.literal("google_pay")]),processor_name:a.literal("stripe"),metadata:a.object({stripe_pk:a.string()})}),$l=ze(async({context:t,formCallbacks:e})=>{Q("Checking if there are any CPMs for Stripe PR...");const n=ce(t.checkoutPaymentMethods,Ul);Q("Initializing Stripe PR flow...");const r=t.anyCdeConnection,o=await B(r),s=o.mode==="setup";Q("Getting initial preview amount");const i=await it(r,o.token,s,void 0),c=await Sa(n.metadata.stripe_pk,i.amountAtom,i.currency,s);Q("Checking if can make payment");const l=await c.canMakePayment();if(l===null)return Fl("canMakePayment returned null"),{isAvailable:!1,reason:"canMakePayment returned null"};Q("Stripe PR flow initialized successfully. Can make payment",l);const u=(d,p)=>V.stripePR.run({context:t,checkoutPaymentMethod:jt(t.checkoutPaymentMethods,d),nonCdeFormInputs:ye(t.formDiv),formCallbacks:e,customParams:{provider:d,overridePaymentRequest:p==null?void 0:p.overridePaymentRequest},initResult:{processor:le.Enum.stripe,pr:c,isAvailable:!0,availableProviders:{applePay:l.applePay,googlePay:l.googlePay},startFlow:u}});return{processor:le.Enum.stripe,isAvailable:!0,pr:c,availableProviders:{applePay:l.applePay,googlePay:l.googlePay},startFlow:u}}),Zl=Pe(async({context:t,checkoutPaymentMethod:e,nonCdeFormInputs:n,formCallbacks:r,customParams:o,initResult:s})=>{if(Q("Running Stripe PR flow..."),o.provider!==e.provider)throw new Error(`Provider mismatch. Expected ${o.provider}, got ${e.provider}`);const i=t.anyCdeConnection,c=s.pr;if(o!=null&&o.overridePaymentRequest){const h=o.overridePaymentRequest;Q("Overriding PR amount with",h),zl(c,h.amount,h.pending,h.applePayPaymentRequest,h.label)}Q("Showing PR dialog..."),c.show();const l=await Pa(c);Q("Stripe PM added event:",l),Q("Merging PM fields with form fields...");const u=Vl(n,l),d=je(u,r.get.onValidationError);C("billing_details_received",{...d}),Q("PR dialog finished. Starting payment flow...",d);const p=await Zc(i,{fields:d,checkoutPaymentMethod:e}),_=Gl(p);Q("Confirming PR with Stripe..."),await Aa(_,l);const f=await B(i);if(f.mode==="setup"){Q("Confirming payment flow for setup...");const h=await ie(i,{secure_token:f.token});return{mode:"setup",result:Ot(h)}}else{Q("Performing checkout...");const h={secure_token:f.token,payment_input:{provider_type:e.provider},customer_first_name:d[m.FIRST_NAME],customer_last_name:d[m.LAST_NAME],customer_email:d[m.EMAIL],customer_zip_code:d[m.ZIP_CODE],customer_country:d[m.COUNTRY],promotion_code:d[m.PROMOTION_CODE],line_items:f.line_items,total_amount_atom:f.amount_total_atom,cancel_at_end:!1,checkout_payment_method:e};return{mode:"checkout",result:await $n(i,h)}}}),Vl=(t,e)=>{var d,p,_,f;const n={...t},[r,...o]=((p=(d=e.payerName)==null?void 0:d.trim())==null?void 0:p.split(/\s+/))??[],s=o.join(" ")||void 0,i=(f=(_=e.paymentMethod)==null?void 0:_.billing_details)==null?void 0:f.address,c=e.shippingAddress;n[m.EMAIL]=n[m.EMAIL]||e.payerEmail||"op_unfilled@getopenpay.com",n[m.ZIP_CODE]=n[m.ZIP_CODE]||(i==null?void 0:i.postal_code)||(c==null?void 0:c.postalCode)||"00000",n[m.COUNTRY]=n[m.COUNTRY]||(i==null?void 0:i.country)||(c==null?void 0:c.country)||"US";const l=n[m.FIRST_NAME]||r||"",u=n[m.LAST_NAME]||s||"";return l||u?(n[m.FIRST_NAME]=l,n[m.LAST_NAME]=u):(n[m.FIRST_NAME]="_OP_UNKNOWN",n[m.LAST_NAME]=""),Q("Final form inputs:",n),n},zl=(t,e,n,r,o)=>{t.update({total:{amount:e.amountAtom,label:o??"Total",pending:n},currency:e.currency,applePay:r})},Gl=t=>{if(t.required_user_actions.length!==1)throw new Error(`Error occurred.
25
- Details: got ${t.required_user_actions.length} required user actions`);return Ea.parse(t.required_user_actions[0])},{log__:ve,err__:go}=F("pockyt-paypal"),Bl=a.object({processor_name:a.literal("pockyt"),provider:a.literal("paypal")});a.array(a.object({paypal_iframe_url:a.string(),verify_token:a.string()})).length(1);const ql=Pe(async({context:t,checkoutPaymentMethod:e,nonCdeFormInputs:n,formCallbacks:r,customParams:o})=>{var Y,Ee;ve("Running Pockyt Paypal flow...");const s=t.anyCdeConnection,i=await B(s);ve("Verifying CPM...");const c=Bl.parse(e);ve("├ Validating non-CDE form fields");const l=o==null?void 0:o.settings,u=je(n,r.get.onValidationError,l==null?void 0:l.defaultFieldValues),d=Kc(u);ve(`Starting payment flow... Mode: ${i.mode}`);const p=Qt(),_=i.mode!=="setup",f={payment_provider:c.provider,checkout_payment_method:c,use_pay_first_flow:_,pay_first_flow_cart_info:_?{line_items:i.line_items,displayed_total_amount_atom:i.amount_total_atom}:void 0,processor_specific_metadata:{use_paypal_redirect_flow:!!((Y=o==null?void 0:o.settings)!=null&&Y.useRedirectFlow),frontend_token_for_redirect_flow:p},...d},h=new URL("/app/pre-action/start/",t.baseUrl).toString(),b=btoa(JSON.stringify(f)),I=new URLSearchParams({st:i.token,r:b}),E=`${h}?${I.toString()}`;if((Ee=o==null?void 0:o.settings)!=null&&Ee.useRedirectFlow)throw ve("Starting redirect mode for PayPal..."),window.location.href=E,await Pn(20*1e3),new Error("Paypal flow timed out, please try again with another payment method.");ve("Starting popup mode for PayPal..."),ve("Opening paypal iframe...");const N=await ll("PayPal",s,p,E);ve("Paypal flow result",N);const x=lo(N.href),O=fl(N.href,"catt");if(!O)throw go("Checkout attempt ID not found in redirect URL:",N.href),new Error("Checkout attempt ID not found in redirect URL");ve(`Confirming payment flow using vault ID ${x}`);const U=await ie(s,{secure_token:i.token,their_pm_id:x,checkout_attempt_id:_?O:void 0});if(ve("Confirm payment flow result",U),i.mode==="setup")return{mode:"setup",result:{payment_method_id:U.payment_methods[0].id}};if(!U.pay_first_success_response)throw go("Checkout failed, no pay-first success response:",U),new Error("Checkout failed, please try again with another payment method.");return{mode:"checkout",result:U.pay_first_success_response}}),fn=({gateway:t,gatewayMerchantId:e,merchantName:n,merchantId:r,initialPreview:o,overridePaymentRequest:s,prefill:i})=>{var p,_;const c=((p=s==null?void 0:s.amount)==null?void 0:p.amountAtom)??(o==null?void 0:o.amountAtom)??0,l=Math.max(c/100,0),u=(((_=s==null?void 0:s.amount)==null?void 0:_.currency)??(i==null?void 0:i.currency)??o.currency).toUpperCase(),d={apiVersion:2,apiVersionMinor:0,allowedPaymentMethods:[{type:"CARD",parameters:{allowedAuthMethods:["PAN_ONLY","CRYPTOGRAM_3DS"],allowedCardNetworks:["AMEX","DISCOVER","INTERAC","JCB","MASTERCARD","VISA"],billingAddressRequired:!0,billingAddressParameters:{format:"FULL"},allowCreditCards:!0,allowPrepaidCards:!0},tokenizationSpecification:{type:"PAYMENT_GATEWAY",parameters:{gateway:t,gatewayMerchantId:e}}}],emailRequired:!0,merchantInfo:{merchantId:r??"",merchantName:n},transactionInfo:{countryCode:"US",currencyCode:u,totalPriceStatus:s!=null&&s.pending?"ESTIMATED":"FINAL",totalPrice:l.toFixed(2)}};return s!=null&&s.googlePayPaymentRequest?{...d,...s.googlePayPaymentRequest}:d},vo=()=>_o({scriptId:"__op_internal_google_pay_sdk",src:"https://pay.google.com/gp/p/js/pay.js",checkLoadedFn:()=>{var t,e;return!!((e=(t=window.google)==null?void 0:t.payments)!=null&&e.api)}});let zn=null;const wo=t=>t===Fe||t===window.location.origin?"PRODUCTION":"TEST",mn=(t,e)=>{const n=wo(t);return zn===null&&(zn=new window.google.payments.api.PaymentsClient({environment:n,merchantInfo:e.merchantInfo})),zn},Yl=t=>{const e=t.required_user_actions.find(n=>n.type==="airwallex_payment_consent");return e?lr.parse(e):null},bo=(t,e)=>{var o,s,i,c;const n={...t},r=(s=(o=e.paymentMethodData)==null?void 0:o.info)==null?void 0:s.billingAddress;if(r){const[l,...u]=((c=(i=r.name)==null?void 0:i.trim())==null?void 0:c.split(/\s+/))??[],d=u.join(" ")||void 0;n[m.EMAIL]=n[m.EMAIL]||e.email||"op_unfilled@getopenpay.com",n[m.COUNTRY]=n[m.COUNTRY]||r.countryCode||"US",n[m.ADDRESS]=n[m.ADDRESS]||r.address1||"",n[m.CITY]=n[m.CITY]||r.locality||"",n[m.ZIP_CODE]=n[m.ZIP_CODE]||r.postalCode||"00000",n[m.STATE]=n[m.STATE]||r.administrativeArea||"";const p=n[m.FIRST_NAME]||l||"",_=n[m.LAST_NAME]||d||"";p||_?(n[m.FIRST_NAME]=p,n[m.LAST_NAME]=_):(n[m.FIRST_NAME]="_OP_UNKNOWN",n[m.LAST_NAME]="")}return n},{log__:ue,err__:lt}=F("awx-google-pay"),Wl=ze(async({context:t,formCallbacks:e})=>{var p,_;const n={processor:le.Enum.airwallex,isAvailable:!1,isLoading:!1,startFlow:async()=>{}},r=ce(t.checkoutPaymentMethods,po);if(!r)return n;ue("Google Pay CPM",r);const o=r.metadata;if(!o.processor_account_id)return lt("No gateway merchant ID found in processor account"),n;if(ue("Loading Google Pay script"),await vo(),!((_=(p=window.google)==null?void 0:p.payments)!=null&&_.api))return lt("Google Pay SDK not loaded properly"),n;if(wo(t.baseUrl)==="PRODUCTION"&&!o.google_pay_merchant_id)return lt("Google Pay merchant ID is required for production environment"),n;ue("Google Pay SDK loaded",window.google.payments);try{const f=fn({gateway:"airwallex",gatewayMerchantId:o.processor_account_id,merchantName:o.processor_account_name,merchantId:o.google_pay_merchant_id??"",initialPreview:{amountAtom:0,currency:"USD"}}),{result:h}=await mn(t.baseUrl,f).isReadyToPay(f);if(!h)return ue("Google Pay is not available for this user"),n}catch(f){return lt("Error checking Google Pay availability",f),n}const i=t.anyCdeConnection,c=await B(i),l=c.mode==="setup",u=await it(i,c.token,l,void 0),d=async f=>{try{V.airwallexGooglePay.run({context:t,checkoutPaymentMethod:r,nonCdeFormInputs:ye(t.formDiv),formCallbacks:e,initResult:void 0,customParams:{...f,initialPreview:u}})}catch(h){lt("Google Pay payment error",h),e.get.onCheckoutError((h==null?void 0:h.message)??"Unknown error")}};return{processor:le.Enum.airwallex,isAvailable:!0,isLoading:!1,startFlow:d}}),Hl=Pe(async({context:t,checkoutPaymentMethod:e,nonCdeFormInputs:n,formCallbacks:r,customParams:o})=>{var f,h,b,I,E,N,x;ue("Starting Google Pay flow...");const s=ce(t.checkoutPaymentMethods,po),{initialPreview:i,overridePaymentRequest:c}=o,l=s.metadata;if(!l.processor_account_id)throw new Error("No gateway merchant ID found in processor account");const u=fn({gateway:"airwallex",gatewayMerchantId:l.processor_account_id,merchantName:l.processor_account_name,merchantId:l.google_pay_merchant_id??"",initialPreview:i,overridePaymentRequest:c}),d=t.anyCdeConnection,p=await B(d);C("google_pay_flow_started",{processor_name:s.processor_name,prefill:no(p,["brand"]),overridePaymentRequest:c});const _=mn(t.baseUrl,u);try{const O=await _.loadPaymentData(u);ue("Google Pay Payment data",O);const U=bo(n,O),Y=je(U,r.get.onValidationError,o==null?void 0:o.defaultFieldValues);C("billing_details_received",{...Y});const Ee=(h=(f=O.paymentMethodData)==null?void 0:f.tokenizationData)==null?void 0:h.token;if(!Ee)throw new Error("No payment token received from Google Pay");const Vu=await at(d,{payment_provider:e.provider,checkout_payment_method:e,new_customer_email:Y[m.EMAIL],new_customer_first_name:Y[m.FIRST_NAME],new_customer_last_name:Y[m.LAST_NAME],new_customer_address:{zip_code:Y[m.ZIP_CODE],country:Y[m.COUNTRY]}}),_n=Yl(Vu);ue("Start flow next actions",_n);let Ye=await ie(d,{secure_token:p.token,processor_specific_metadata:{payment_provider:e.provider,airwallex_consent_id:_n==null?void 0:_n.consent_id,airwallex_payment_method_data:{type:"googlepay",googlepay:{payment_data_type:"encrypted_payment_token",encrypted_payment_token:Ee}}}});ue("[1st] Confirm payment flow response",Ye);let qn=(I=(b=Ye.payment_methods)==null?void 0:b[0])==null?void 0:I.id;const We=(E=Ye.required_user_actions)==null?void 0:E.find($t=>$t.type==="airwallex_payment_consent");if(We&&We.redirect_url){ue("3DS Required, starting verification...",We);const{status:$t}=await pn({url:We.redirect_url,baseUrl:t.baseUrl});if(ue(`╰ 3DS verification completed [Status: ${$t}]`),$t===Z.CANCELLED)throw new Error("3DS verification cancelled");if($t===Z.FAILURE)throw new Error("3DS verification failed")}if(We&&!qn&&(Ye=await ie(d,{secure_token:p.token,their_pm_id:We.their_pm_id,processor_specific_metadata:{payment_provider:e.provider,airwallex_consent_id:We.consent_id}}),ue("[2nd] Confirm payment flow response",Ye),qn=(x=(N=Ye.payment_methods)==null?void 0:N[0])==null?void 0:x.id),!qn)throw new Error("No PM ID found");return dn({logPrefix:"awx-googlepay",anyCdeConnection:d,checkoutPaymentMethod:e,requiredFormFields:Y,confirmResult:Ye,usePayFirstFlow:!1})}catch(O){throw lt("Google Pay payment error",O),C("google_pay_payment_error",{error:O}),new Error((O==null?void 0:O.message)??"Unknown error")}}),Eo=()=>_o({scriptId:"__op_internal_apple_pay_sdk",src:"https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js",checkLoadedFn:()=>!!window.ApplePaySession||!!window.ApplePaySDK}),ko=(t,e)=>{const n=e.token.paymentMethod.billingContact,r=e.billingContact,o=e.shippingContact,s={...t};if(n||r||o){s[m.EMAIL]=s[m.EMAIL]||(n==null?void 0:n.emailAddress)||(r==null?void 0:r.emailAddress)||(o==null?void 0:o.emailAddress)||"op_unfilled@email.com",s[m.COUNTRY]=s[m.COUNTRY]||(n==null?void 0:n.countryCode)||(r==null?void 0:r.countryCode)||(o==null?void 0:o.countryCode)||"US",s[m.ZIP_CODE]=s[m.ZIP_CODE]||(n==null?void 0:n.postalCode)||(r==null?void 0:r.postalCode)||(o==null?void 0:o.postalCode)||"00000";const i=s[m.FIRST_NAME]||(n==null?void 0:n.givenName)||(r==null?void 0:r.givenName)||(o==null?void 0:o.givenName)||"",c=s[m.LAST_NAME]||(n==null?void 0:n.familyName)||(r==null?void 0:r.familyName)||(o==null?void 0:o.familyName)||"";i||c?(s[m.FIRST_NAME]=i,s[m.LAST_NAME]=c):(s[m.FIRST_NAME]="_OP_UNKNOWN",s[m.LAST_NAME]="")}return s};a.object({data:a.object({messageHeaders:a.record(a.string(),a.any()),errors:a.array(a.any()),messageType:a.string(),messageBody:a.record(a.string(),a.any())}),origin:a.literal("https://applepay.cdn-apple.com")});const Co=({total:t,prefill:e})=>{var r;if(e.mode==="setup")return{paymentDescription:"Setup recurring payment",regularBilling:{amount:t.amount,label:"Setup recurring payment",paymentTiming:"recurring",type:"final"},managementURL:new URL(`/pay/${e.token}`,Fe).toString()};const n=(r=e.line_items)==null?void 0:r[0];if(n)return{paymentDescription:(n==null?void 0:n.description)??"",regularBilling:{amount:t.amount,label:(n==null?void 0:n.description)??"",recurringPaymentIntervalUnit:n==null?void 0:n.billing_interval,recurringPaymentIntervalCount:(n==null?void 0:n.billing_interval_count)??void 0,paymentTiming:"recurring",type:"final"},managementURL:`https://cde.getopenpay.com/pay/${e.token}`}},So=({overridePaymentRequest:t,initialPreview:e,prefill:n,defaultLabel:r="Total"})=>{var c,l;const o=(((c=t==null?void 0:t.amount)==null?void 0:c.currency)??(n==null?void 0:n.currency)??e.currency).toUpperCase(),i=((((l=t==null?void 0:t.amount)==null?void 0:l.amountAtom)??(e==null?void 0:e.amountAtom)??0)/100).toFixed(2);return{currencyCode:o,total:{label:(t==null?void 0:t.label)??r??"Total",type:t!=null&&t.pending?"pending":"final",amount:i}}},{log__:hn}=F("awx-apple-pay");async function Kl(t,e){try{const r=(await Zn(e.connection,{checkout_payment_method:e.checkoutPaymentMethod,processor_specific_metadata:{airwallex_payment_session:{validation_url:t.validationURL,initiative_context:window.location.hostname,their_account_id:e.processorAccount.processor_account_id}}})).next_action_metadata,o=r==null?void 0:r.apple_pay_session;if(!o)throw new Error("No session data received from payment flow");e.session.completeMerchantValidation(o),C("apple_pay_complete_merchant_validation",{...o})}catch(n){throw e.session.abort(),n}}async function Jl(t,e){if(!t.redirect_url)throw new Error("No redirect URL found");hn("3DS Required, starting verification...",t);const{status:n}=await pn({url:t.redirect_url,baseUrl:e.baseUrl});if(hn(`╰ 3DS verification completed [Status: ${n}]`),n===Z.CANCELLED)throw new Error("3DS verification cancelled");if(n===Z.FAILURE)throw new Error("3DS verification failed");const r=await ie(e.connection,{secure_token:e.prefill.token,processor_specific_metadata:{their_pm_id:t.their_pm_id,airwallex_consent_id:t.consent_id,payment_provider:e.checkoutPaymentMethod.provider}});return hn("[2nd] Confirm payment flow response",r),r}async function Ql(t,e){var n,r,o,s,i;try{const c=t.payment,l=ko(e.nonCdeFormInputs,c),u=je(l,e.formCallbacks.get.onValidationError,e.defaultFieldValues);C("billing_details_received",{...u});const _=(await at(e.connection,{payment_provider:e.checkoutPaymentMethod.provider,checkout_payment_method:e.checkoutPaymentMethod,new_customer_email:u[m.EMAIL],new_customer_first_name:u[m.FIRST_NAME],new_customer_last_name:u[m.LAST_NAME],new_customer_address:{zip_code:u[m.ZIP_CODE],country:u[m.COUNTRY]}})).required_user_actions[0].consent_id;if(!_)throw new Error("No consent ID received from payment flow");let f=await ie(e.connection,{secure_token:e.prefill.token,processor_specific_metadata:{payment_provider:e.checkoutPaymentMethod.provider,airwallex_consent_id:_,airwallex_payment_method_data:{type:"applepay",applepay:{payment_data_type:"encrypted_payment_token",encrypted_payment_token:JSON.stringify(c.token)}}}});hn("[1st] Confirm payment flow response",f);let h=(r=(n=f.payment_methods)==null?void 0:n[0])==null?void 0:r.id;const b=(o=f.required_user_actions)==null?void 0:o.find(E=>E.type==="airwallex_payment_consent");if(b!=null&&b.redirect_url&&b.consent_id&&b.their_pm_id&&(f=await Jl(b,e),h=(i=(s=f.payment_methods)==null?void 0:s[0])==null?void 0:i.id),!h)throw new Error("No PM ID found");const I={status:ApplePaySession.STATUS_SUCCESS};return e.session.completePayment(I),dn({logPrefix:"awx-applepay",anyCdeConnection:e.connection,checkoutPaymentMethod:e.checkoutPaymentMethod,requiredFormFields:u,confirmResult:f,usePayFirstFlow:!1})}catch(c){const l={status:ApplePaySession.STATUS_FAILURE};throw e.session.completePayment(l),c}}const{log__:Dt,err__:Po}=F("awx-apple-pay"),Xl=ze(async({context:t,formCallbacks:e})=>{const n={processor:le.Enum.airwallex,isAvailable:!1,isLoading:!1,startFlow:async()=>{}},r=ce(t.checkoutPaymentMethods,uo);if(!r)return n;if(Dt("Loading Apple Pay script"),await Eo(),!window.ApplePaySession||!ApplePaySession.canMakePayments())return Dt("Apple Pay is not available on this device/browser"),n;if(Dt("Apple Pay Loaded"),!await ApplePaySession.canMakePayments())return Dt("No active cards available for Apple Pay"),n;if(!r.metadata.processor_account_id)throw new Error("No gateway merchant ID found in processor account");const i=t.anyCdeConnection,c=await B(i),l=c.mode==="setup",u=await it(i,c.token,l,void 0),d=async p=>{try{await V.airwallexApplePay.run({context:t,checkoutPaymentMethod:r,nonCdeFormInputs:ye(t.formDiv),formCallbacks:e,customParams:{...p,initialPreview:u},initResult:void 0})}catch(_){Po("Apple Pay payment error",_),e.get.onCheckoutError((_==null?void 0:_.message)??"Unknown error")}};return{processor:le.Enum.airwallex,isAvailable:!0,isLoading:!1,startFlow:d}}),eu=Pe(async({context:t,checkoutPaymentMethod:e,nonCdeFormInputs:n,customParams:r,formCallbacks:o})=>{var I;const s=ce(t.checkoutPaymentMethods,uo),{overridePaymentRequest:i,initialPreview:c}=r,l=t.anyCdeConnection,u=await B(l),d=u.mode==="setup",{currencyCode:p,total:_}=So({overridePaymentRequest:i,initialPreview:c,defaultLabel:(I=s==null?void 0:s.metadata)==null?void 0:I.processor_account_name}),f={countryCode:"US",currencyCode:p,requiredBillingContactFields:["email","postalAddress","name"],requiredShippingContactFields:["email"],supportedNetworks:["visa","masterCard","amex","discover"],merchantCapabilities:["supports3DS","supportsCredit","supportsDebit","supportsEMV"],total:_,recurringPaymentRequest:Co({total:_,prefill:u}),...(i==null?void 0:i.applePayPaymentRequest)??{}},h=new ApplePaySession(3,f),b={session:h,connection:t.anyCdeConnection,checkoutPaymentMethod:e,nonCdeFormInputs:n,processorAccount:s.metadata,prefill:u,isSetupMode:d,baseUrl:t.baseUrl,formCallbacks:o,defaultFieldValues:r==null?void 0:r.defaultFieldValues};return C("apple_pay_flow_started",{processor_name:e.processor_name,prefill:no(u,["brand"]),overridePaymentRequest:i}),new Promise((E,N)=>{const x=()=>{Dt("Payment cancelled by user"),N(new Error("Payment cancelled by user"))};h.oncancel=x,h.onvalidatemerchant=async O=>{try{await Kl(O,b)}catch(U){N(U)}},h.onpaymentmethodselected=()=>{const O={newTotal:{..._}};h.completePaymentMethodSelection(O)},h.onpaymentauthorized=async O=>{C("apple_pay_payment_authorized");try{const U=await Ql(O,b);E(U)}catch(U){N(U)}},h.begin()}).catch(E=>{throw Po("Apple Pay payment error",E),C("apple_pay_payment_error",{error:E}),E})}),tu=1,nu=a.object({processor_name:a.literal("loop"),provider:a.literal("crypto"),metadata:a.object({merchant_id:a.string(),entity_id:a.string(),api_token:a.string(),supported_currencies:a.array(a.string()),environment:a.string()})}),{log__:X,err__:Ao}=F("loop-crypto"),ru=a.object({loopFirstName:$,loopLastName:$,loopEmail:$,[m.PROMOTION_CODE]:j}),ou=(t,e,n)=>{const r=ru.safeParse(t);if(!r.success){const o=r.error.format(),s=ur(o);for(const[i,c]of Object.entries(s))e(i,c,i);throw Ao("Got validation errors in non-CDE form fields",s),new Error("Got validation errors in non-CDE form fields")}return r.data},su=ze(async({context:t})=>{X("Checking if there are any CPMs for Loop Crypto...");const e=ce(t.checkoutPaymentMethods,nu);X(`checkoutPaymentMethod: ${JSON.stringify(e)}`),X("Starting Loop Crypto flow...");const n=await B(t.anyCdeConnection),r=await Zn(t.anyCdeConnection,{checkout_payment_method:e});if(n.mode!=="setup"&&!e.metadata.supported_currencies.includes(n.currency))throw Error(`Currency ${n.currency} not enabled for Loop. Enabled currencies: ${e.metadata.supported_currencies}`);if(!r||!r.next_action_metadata)throw Error("Failed to fetch necessary setup data for Loop");const o=r.next_action_metadata;let s;n.mode==="setup"?s=tu:s=n.amount_total_atom*o.token_price;const i=s,c=o.authorization_amount,l=Qt(),u={paymentUsdAmount:i,suggestedAuthorizationUsdAmount:c,customerRefId:l},d={apiKey:e.metadata.api_token,entityId:e.metadata.entity_id,merchantId:e.metadata.merchant_id,environment:e.metadata.environment};return{isAvailable:!0,widgetProps:u,initLoopConnectProps:d}}),au=Pe(async({context:t,checkoutPaymentMethod:e,nonCdeFormInputs:n,formCallbacks:r,customParams:o})=>{X("Running Loop flow..."),X("context",t),X("checkoutPaymentMethod",e),X("nonCdeFormInputs",n),X("flowCallbacks",r),X("customParams",o);const s=ou(n,r.get.onValidationError),i=t.anyCdeConnection,c=await B(t.anyCdeConnection),l=c.mode!=="setup",u=await at(t.anyCdeConnection,{checkout_payment_method:e,payment_provider:e.provider,new_customer_email:s.loopEmail,new_customer_first_name:s.loopFirstName,new_customer_last_name:s.loopLastName,use_pay_first_flow:l,pay_first_flow_cart_info:l?{line_items:c.line_items,displayed_total_amount_atom:c.amount_total_atom}:void 0});if(!o)throw Error("Checkout failed. Failed to properly submit form data.");const d=await ie(i,{secure_token:c.token,their_pm_id:o.success?o.payin.paymentMethod.paymentMethodId:void 0,checkout_attempt_id:c.mode!=="setup"?u.checkout_attempt_id:void 0,processor_specific_metadata:{loop_customer:o.success?o.customer:void 0,loop_payin:o.success?o.payin:void 0,loop_failure_details:o.success?void 0:o.failureDetails,loop_success:o.success}});if(X(`Confirm result: ${d}`),c.mode==="setup"){X("Doing payment setup..."),X("├ Confirm payment flow result received Result:",d);const p=Ot(d);return X(`╰ Setup completed successfully [PM ID: ${p.payment_method_id}]`),{mode:"setup",result:p}}else{if(X("Doing checkout..."),!d.pay_first_success_response)throw Ao("Checkout failed, no pay-first success response:",d),new Error("Checkout failed, please try again with another payment method.");return{mode:"checkout",result:d.pay_first_success_response}}});async function iu(t,e){try{const r=(await Zn(e.connection,{checkout_payment_method:e.checkoutPaymentMethod,processor_specific_metadata:{apple_payment_session:{validation_url:t.validationURL,initiative_context:window.location.hostname,their_account_id:e.processorAccount.processor_account_id}}})).next_action_metadata,o=r==null?void 0:r.apple_pay_session;if(!o)throw new Error("No session data received from payment flow");e.session.completeMerchantValidation(o),C("apple_pay_complete_merchant_validation",{...o})}catch(n){throw e.session.abort(),n}}async function cu(t,e){var n,r;try{const o=t.payment,s=ko(e.nonCdeFormInputs,o),i=je(s,e.formCallbacks.get.onValidationError);C("billing_details_received",{...i}),await at(e.connection,{payment_provider:e.checkoutPaymentMethod.provider,checkout_payment_method:e.checkoutPaymentMethod,new_customer_email:i[m.EMAIL],new_customer_first_name:i[m.FIRST_NAME],new_customer_last_name:i[m.LAST_NAME],new_customer_address:{zip_code:i[m.ZIP_CODE],country:i[m.COUNTRY]}});const c={dataDescriptor:"COMMON.APPLE.INAPP.PAYMENT",dataValue:window.btoa(JSON.stringify(o.token.paymentData))},l=await ie(e.connection,{secure_token:e.prefill.token,processor_specific_metadata:{payment_provider:e.checkoutPaymentMethod.provider,mobile_wallet_payment_data:c}});if(!((r=(n=l.payment_methods)==null?void 0:n[0])==null?void 0:r.id))throw new Error("No PM ID found");const d={status:ApplePaySession.STATUS_SUCCESS};return e.session.completePayment(d),dn({logPrefix:"authnet-applepay",anyCdeConnection:e.connection,checkoutPaymentMethod:e.checkoutPaymentMethod,requiredFormFields:i,confirmResult:l,usePayFirstFlow:!1})}catch(o){const s={status:ApplePaySession.STATUS_FAILURE};throw e.session.completePayment(s),o}}const To=a.object({provider:a.literal("apple_pay"),processor_name:a.literal("authorize_net"),metadata:a.object({processor_account_id:a.string(),processor_account_name:a.string()})}),xo=a.object({provider:a.literal("google_pay"),processor_name:a.literal("authorize_net"),metadata:a.object({processor_account_id:a.string(),processor_account_name:a.string(),google_pay_merchant_id:a.string().nullish()})}),{log__:yn,err__:Io}=F("authnet-applepay"),lu=ze(async({context:t,formCallbacks:e})=>{const n={processor:le.Enum.authorize_net,isAvailable:!1,isLoading:!1,startFlow:async()=>{}},r=ce(t.checkoutPaymentMethods,To);if(!r)return n;if(yn("Loading Apple Pay script"),await Eo(),!window.ApplePaySession||!ApplePaySession.canMakePayments())return yn("Apple Pay is not available on this device/browser"),n;if(!await ApplePaySession.canMakePayments())return yn("No active cards available for Apple Pay"),n;if(!r.metadata.processor_account_id)throw new Error("No gateway merchant ID found in processor account");const i=t.anyCdeConnection,c=await B(i),l=c.mode==="setup",u=await it(i,c.token,l,void 0),d=async p=>{try{await V.authorizeNetApplePay.run({context:t,checkoutPaymentMethod:r,nonCdeFormInputs:ye(t.formDiv),formCallbacks:e,customParams:{...p,initialPreview:u},initResult:void 0})}catch(_){Io("Apple Pay payment error",_),C("apple_pay_payment_error",{error:_}),e.get.onCheckoutError((_==null?void 0:_.message)??"Unknown error")}};return{processor:le.Enum.authorize_net,isAvailable:!0,isLoading:!1,startFlow:d}}),uu=Pe(async({context:t,checkoutPaymentMethod:e,nonCdeFormInputs:n,customParams:r,formCallbacks:o})=>{var I;const{initialPreview:s,overridePaymentRequest:i}=r,c=ce(t.checkoutPaymentMethods,To),{currencyCode:l,total:u}=So({overridePaymentRequest:i,initialPreview:s,defaultLabel:(I=c==null?void 0:c.metadata)==null?void 0:I.processor_account_name}),d=t.anyCdeConnection,p=await B(d),_=p.mode==="setup",f={countryCode:"US",currencyCode:l,total:u,requiredBillingContactFields:["email","postalAddress","name"],requiredShippingContactFields:["email"],supportedNetworks:["visa","masterCard","amex","discover"],merchantCapabilities:["supports3DS","supportsCredit","supportsDebit"],recurringPaymentRequest:Co({total:u,prefill:p}),...(i==null?void 0:i.applePayPaymentRequest)??{}};C("apple_pay_flow_started",{processor_name:e.processor_name,prefill:p,overridePaymentRequest:i});const h=new ApplePaySession(3,f),b={session:h,connection:t.anyCdeConnection,checkoutPaymentMethod:e,nonCdeFormInputs:n,processorAccount:e.metadata,prefill:p,isSetupMode:_,baseUrl:t.baseUrl,formCallbacks:o};return new Promise((E,N)=>{h.oncancel=()=>{yn("Payment cancelled by user"),N(new Error("Payment cancelled by user"))},h.onvalidatemerchant=async x=>{try{await iu(x,b)}catch(O){N(O)}},h.onpaymentmethodselected=()=>{const x={newTotal:f.total};h.completePaymentMethodSelection(x)},h.onpaymentauthorized=async x=>{C("apple_pay_payment_authorized");try{const O=await cu(x,b);E(O)}catch(O){N(O)}},h.begin()}).catch(E=>{throw Io("Apple Pay payment error",E),C("apple_pay_payment_error",{error:E}),E})}),{log__:Ge,err__:Lt}=F("authnet-googlepay"),du=ze(async({context:t,formCallbacks:e})=>{var d,p;Ge("Initializing Authnet GooglePay flow");const n={processor:le.Enum.authorize_net,isAvailable:!1,isLoading:!1,startFlow:async()=>{}},r=ce(t.checkoutPaymentMethods,xo);if(!r)return n;Ge("Google Pay CPM",r);const o=r.metadata;if(!o.processor_account_id)return Lt("No gateway merchant ID found in processor account"),n;if(Ge("Loading Google Pay script"),await vo(),!((p=(d=window.google)==null?void 0:d.payments)!=null&&p.api))return Lt("Google Pay SDK not loaded properly"),n;Ge("Google Pay SDK loaded",window.google.payments);try{const _=fn({gateway:"authorizenet",gatewayMerchantId:o.processor_account_id,merchantName:o.processor_account_name,merchantId:o.google_pay_merchant_id??"",initialPreview:{amountAtom:0,currency:"USD"}}),{result:f}=await mn(t.baseUrl,_).isReadyToPay(_);if(!f)return Ge("Google Pay is not available for this user"),n}catch(_){return Lt("Error checking Google Pay availability",_),n}const s=t.anyCdeConnection,i=await B(s),c=i.mode==="setup",l=await it(s,i.token,c,void 0),u=async _=>{try{V.authorizeNetGooglePay.run({context:t,checkoutPaymentMethod:r,nonCdeFormInputs:ye(t.formDiv),formCallbacks:e,initResult:void 0,customParams:{..._,initialPreview:l}})}catch(f){Lt("Google Pay payment error",f),C("google_pay_payment_error",{error:f}),e.get.onCheckoutError((f==null?void 0:f.message)??"Unknown error")}};return{processor:le.Enum.authorize_net,isAvailable:!0,isLoading:!1,startFlow:u}}),pu=Pe(async({context:t,nonCdeFormInputs:e,checkoutPaymentMethod:n,formCallbacks:r,customParams:o})=>{var f,h,b,I;const{initialPreview:s,overridePaymentRequest:i}=o,l=ce(t.checkoutPaymentMethods,xo).metadata,u=fn({gateway:"authorizenet",gatewayMerchantId:l.processor_account_id,merchantName:l.processor_account_name,merchantId:l.google_pay_merchant_id??"",initialPreview:s,overridePaymentRequest:i}),d=t.anyCdeConnection,p=await B(d);C("google_pay_flow_started",{processor_name:n.processor_name,prefill:p,overridePaymentRequest:i});const _=mn(t.baseUrl,u);try{const E=await _.loadPaymentData(u);Ge("Google Pay Payment data",E);const N=bo(e,E),x=je(N,r.get.onValidationError);C("billing_details_received",{...x});const O=(h=(f=E.paymentMethodData)==null?void 0:f.tokenizationData)==null?void 0:h.token;if(!O)throw new Error("No payment token received from Google Pay");const U=await at(d,{payment_provider:n.provider,checkout_payment_method:n,new_customer_email:x[m.EMAIL],new_customer_first_name:x[m.FIRST_NAME],new_customer_last_name:x[m.LAST_NAME],new_customer_address:{zip_code:x[m.ZIP_CODE],country:x[m.COUNTRY]}});Ge("Start payment flow response",U);const Y=await ie(d,{secure_token:p.token,processor_specific_metadata:{payment_provider:n.provider,mobile_wallet_payment_data:{dataDescriptor:"COMMON.GOOGLE.INAPP.PAYMENT",dataValue:window.btoa(O)}}});if(!((I=(b=Y.payment_methods)==null?void 0:b[0])==null?void 0:I.id))throw new Error("No PM ID found");return dn({logPrefix:"authnet-googlepay",anyCdeConnection:d,checkoutPaymentMethod:n,requiredFormFields:x,confirmResult:Y,usePayFirstFlow:!1})}catch(E){throw Lt("Google Pay payment error",E),C("google_pay_payment_error",{error:E}),new Error((E==null?void 0:E.message)??"Unknown error")}}),jt=(t,e,n)=>{const r=t.filter(o=>{const s=n===void 0?!0:o.processor_name===n,i=o.provider===e;return s&&i});if(r.length===0)throw console.error("CPMs list",t),new Error(`No CPMs found with provider '${e}' and processor '${n}'`);if(r.length!==1)throw console.error("CPMs list",t),new Error(`More than one CPM found with provider '${e}' and processor '${n}'`);return r[0]},V={commonCC:{init:async()=>{},run:Nl},stripePR:{init:$l,run:Zl},stripeLink:{init:tl,run:nl},pockytPaypal:{run:ql},airwallexGooglePay:{init:Wl,run:Hl},airwallexApplePay:{init:Xl,run:eu},loopCrypto:{init:su,run:au},authorizeNetApplePay:{init:lu,run:uu},authorizeNetGooglePay:{init:du,run:pu}},{log__:fu,err__:mu}=F("init-flows"),Be=(t,e)=>{const n=new Nt;return{publisher:n,initialize:async r=>{try{if(n.current.isSuccess)throw new Error("This flow has already been initialized.");const o=await e(r);fu(`✔ ${t} flow initialized successfully. Result:`,o),n.set(o)}catch(o){mu(`𝙭 ${t} flow initialization failed. Error:`,ne(o),"Details:",o),n.throw(o,ne(o))}}}},hu=async(t,e,n)=>{await Promise.all(Object.values(t).map(r=>r.initialize({context:e,formCallbacks:n})))},yu=()=>({stripePR:Be("Stripe PR",V.stripePR.init),stripeLink:Be("Stripe Link",V.stripeLink.init),airwallexGooglePay:Be("Airwallex GooglePay",V.airwallexGooglePay.init),airwallexApplePay:Be("Airwallex ApplePay",V.airwallexApplePay.init),loop:Be("Loop",V.loopCrypto.init),authorizeNetGooglePay:Be("Authnet GooglePay",V.authorizeNetGooglePay.init),authorizeNetApplePay:Be("Authnet ApplePay",V.authorizeNetApplePay.init)}),{err__:_u}=F("form-callbacks"),de=a.function().optional(),Ro=a.object({onFocus:de,onBlur:de,onChange:de,onLoad:de,onLoadError:de,onValidationError:de,onCheckoutStarted:de,onCheckoutSuccess:de,onSetupPaymentMethodSuccess:de,onCheckoutError:de,onPaymentRequestLoad:de}),be=class be{constructor(){this.setCallbacks=e=>{this._callbacks=be.createEmptyCallbacks(),Object.entries(e).forEach(([n,r])=>{const o=Bs(n,r??be.NOOP,_u);this._callbacks[n]=o})},this._callbacks=be.createEmptyCallbacks()}get get(){return{...this._callbacks}}};be.NOOP=()=>{},be.createEmptyCallbacks=()=>{const e={};return Object.keys(Ro.keyof().enum).forEach(n=>{e[n]=be.NOOP}),e},be.fromObject=e=>{const n=new be;return n.setCallbacks(Ro.parse(e)),n};let Gn=be;const gu="error",vu="debug",wu=console.error,bu=console.debug;typeof window<"u"&&(window._ojs_console_callbacks=[]),console.error=function(...t){wu.call(console,...t),window._ojs_console_callbacks.forEach(e=>e(gu,...t))},console.debug=function(...t){bu.call(console,...t),window._ojs_console_callbacks.forEach(e=>e(vu,...t))};const No="0123456789ABCDEFGHJKMNPQRSTVWXYZ",Ft=32,Eu=16,Oo=10,Mo=0xffffffffffff;var qe;(function(t){t.Base32IncorrectEncoding="B32_ENC_INVALID",t.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",t.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",t.EncodeTimeNegative="ENC_TIME_NEG",t.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",t.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",t.PRNGDetectFailure="PRNG_DETECT",t.ULIDInvalid="ULID_INVALID",t.Unexpected="UNEXPECTED",t.UUIDInvalid="UUID_INVALID"})(qe||(qe={}));class Ut extends Error{constructor(e,n){super(`${n} (${e})`),this.name="ULIDError",this.code=e}}function ku(t){let e=Math.floor(t()*Ft);return e===Ft&&(e=Ft-1),No.charAt(e)}function Cu(t){const e=Su(),n=e&&(e.crypto||e.msCrypto)||null;if(typeof(n==null?void 0:n.getRandomValues)=="function")return()=>{const r=new Uint8Array(1);return n.getRandomValues(r),r[0]/255};if(typeof(n==null?void 0:n.randomBytes)=="function")return()=>n.randomBytes(1).readUInt8()/255;throw new Ut(qe.PRNGDetectFailure,"Failed to find a reliable PRNG")}function Su(){return Tu()?self:typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:null}function Pu(t,e){let n="";for(;t>0;t--)n=ku(e)+n;return n}function Au(t,e=Oo){if(isNaN(t))throw new Ut(qe.EncodeTimeValueMalformed,`Time must be a number: ${t}`);if(t>Mo)throw new Ut(qe.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${Mo}: ${t}`);if(t<0)throw new Ut(qe.EncodeTimeNegative,`Time must be positive: ${t}`);if(Number.isInteger(t)===!1)throw new Ut(qe.EncodeTimeValueMalformed,`Time must be an integer: ${t}`);let n,r="";for(let o=e;o>0;o--)n=t%Ft,r=No.charAt(n)+r,t=(t-n)/Ft;return r}function Tu(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function xu(t,e){const n=Cu(),r=Date.now();return Au(r,Oo)+Pu(Eu,n)}const Do="op_analytics_device_token",Iu=()=>{const t=document.cookie.split(";").find(n=>n.includes(Do));if(t)return t.split("=")[1];const e=xu();return Ru(e),e},Ru=t=>{const e=new Date;e.setFullYear(e.getFullYear()+1),document.cookie=`${Do}=${t}; path=/; expires=${e.toUTCString()}`};function Nu(){if(typeof window>"u")return"unknown";try{const t=window;if(t.next||t.__NEXT_DATA__||document.querySelector("#__next"))return"nextjs";if(window.__NUXT__||document.querySelector("#__nuxt"))return"nuxt";if(Object.keys(document).find(r=>r.includes("react"))||Array.from(document.body.querySelectorAll("body > *")).find(r=>r._reactRootContainer))return"react";const n=window;return n.Vue||n.__VUE__?"vue":document.querySelector("[ng-version]")?"angular":"vanilla"}catch{return"unknown"}}function Ou(t){var e,n;if(typeof window>"u")return null;try{switch(t){case"react":return null;case"nextjs":{const r=window;return((e=r.next)==null?void 0:e.version)||((n=r.__NEXT_DATA__)==null?void 0:n.buildId)||null}case"nuxt":return null;case"vue":return null;case"angular":{const r=document.querySelector("[ng-version]");return r?r.getAttribute("ng-version"):null}default:return null}}catch{return null}}function Mu(){const t=Nu(),e=Ou(t);return{framework:t,version:e}}const Lo=a.enum(["dev","stg","prod"]),Du={prod:"https://connto.getopenpay.com",stg:"https://connto.openpaystaging.com",dev:"http://localhost:8000"},Lu=t=>Du[t],ju=async t=>{try{const e=await fetch(new URL("/health/environment",t)).then(n=>n.json());return Lo.parse(e.environment)}catch{return Lo.Values.prod}};class Fu{constructor(e,n,r,o){this.handleMessage=s=>{if(!s.source){console.warn("[OJS] No source found");return}if(jo(s.origin)!==jo(this.baseUrl)||typeof s.data=="object"&&s.data.penpal||typeof s.data=="object"&&s.data.source&&s.data.source==="react-devtools-bridge")return;let i=null;try{i=Ma(JSON.parse(s.data))}catch{return}if(!this.validateEvent(i))return;const{elementId:l,payload:u}=i,d=u.type;switch(d){case"LAYOUT":this.internalCallbacks.setFormHeight(u.height?`${u.height}px`:"100%");break;case"FOCUS":this.formCallbacks.get.onFocus(l,u.elementType);break;case"BLUR":this.formCallbacks.get.onBlur(l,u.elementType);break;case"CHANGE":this.formCallbacks.get.onChange(l,u.elementType,u.errors);break;case"LOADED":this.eventTargets[l]=s.source,this.internalCallbacks.onCdeLoaded(u);break;case"LOAD_ERROR":this.internalCallbacks.onCdeLoadError(u.message);break;case"VALIDATION_ERROR":this.formCallbacks.get.onValidationError(u.elementType,u.errors,l);break;default:console.warn("[form] Unhandled event type:",d)}},this.validateEvent=s=>s.formId!==this.formId||!s.elementId?(console.log("[OJS] formId",this.formId,s.formId),console.warn("[form] Ignoring unknown event:",s),!1):this.nonces.has(s.nonce)?(console.warn("[form] Ignoring duplicate event:",s),!1):(this.nonces.add(s.nonce),!0),this.eventTargets={},this.nonces=new Set,this.formId=e,this.baseUrl=n,this.formCallbacks=r,this.internalCallbacks=o}}const jo=t=>new URL(t).origin;async function Uu(t,e){const r=await _r({iframe:t,debug:!1,childOrigin:e}).promise,o=await ni(r);if(!ri(r,o))throw new Error("Got invalid CDE connection object");return r}class $u{constructor(){this.connections=new Map}addConnection(e,n){this.connections.set(e,n)}getConnection(){const e=this.connections.values().next().value;if(!e)throw new Error("Connection not found");return e}getAllConnections(){return this.connections}}const Zu=(t,e,n)=>{const{stripePR:r}=t;r.publisher.subscribe(o=>{if(o.isSuccess){const s=o.loadedValue,i=s.isAvailable&&s.availableProviders.applePay,c=s.isAvailable&&s.availableProviders.googlePay,l={apple_pay:{isLoading:!1,isAvailable:i,startFlow:async u=>{i&&Fo("apple_pay",s,e,n,u)}},google_pay:{isLoading:!1,isAvailable:c,startFlow:async u=>{c&&Fo("google_pay",s,e,n,u)}}};n.get.onPaymentRequestLoad(l)}})},Fo=(t,e,n,r,o)=>V.stripePR.run({context:n,checkoutPaymentMethod:jt(n.checkoutPaymentMethods,t),nonCdeFormInputs:ye(n.formDiv),formCallbacks:r,customParams:{provider:t,overridePaymentRequest:o==null?void 0:o.overridePaymentRequest},initResult:e}),Uo="The secure form failed to load properly. Please check your internet connection, or try again later.",{log__:we,err__:Te}=F("op-form"),xe=class xe{constructor(e){this.cdeLoadEvent=new Nt,this.anyCdeConn=new Nt,this.context=new Nt,this.initFlows=yu(),this.startFormInit=async()=>{try{const o=this.createElement(he.CDE_BRIDGE);o.node.id="__op_internal_cde_bridge",o.node.ariaHidden="true",Object.assign(o.node.style,{border:"none",margin:"0px",padding:"0px",width:"1px",height:"1px",overflow:"hidden",visibility:"hidden",position:"fixed",pointerEvents:"none",userSelect:"none"}),o.mount("body"),we("CDE bridge element mounted"),we("Initializing OpenPay form:"),we("├ Waiting for CDE load event...");const s=await this.cdeLoadEvent.waitForLoad({timeoutSec:120,timeoutErrMsg:Uo});we("├ CDE load event received"),we("├ Waiting for CDE connection...");const i=await this.anyCdeConn.waitForLoad({timeoutSec:120,timeoutErrMsg:Uo});we("├ CDE connection received"),await Wc(i,this.deviceToken),we("├ Creating OJS context, setting up handlers...");const c=xe.buildOjsFlowContext(this.config,s,i,this.getFormDiv());this.context.set(c),Zu(this.initFlows,c,this.formCallbacks),we("├ Starting OJS init flows..."),await hu(this.initFlows,c,this.formCallbacks),this.formCallbacks.get.onLoad(s.totalAmountAtoms,s.currency),we("╰ Done initializing OJS flows."),C("form_loaded")}catch(o){const s=ne(o);Te("╰ Error initializing OP form:",s),C("form_init_error",{error:s}),this.formCallbacks.get.onLoadError(s)}},this.setFormHeight=o=>{this.formProperties.height=o,this.registeredElements&&Object.values(this.registeredElements).forEach(s=>{!s||s.type===he.CDE_BRIDGE||(s.node.style.height=o)})},this.onCdeLoaded=o=>{this.cdeLoadEvent.current.isSuccess||(this.cdeLoadEvent.set(o),C("cde_loaded"))},this.onCdeLoadError=o=>{this.cdeLoadEvent.current.isSuccess||(this.cdeLoadEvent.throw(new Error(o),o),C("cde_load_error",{error:o}))},this.createElement=(o,s={})=>{if(!this.config)throw new Error("OpenPay form not initialized");const i=Ys.parse(o),c=document.createElement("iframe"),l=this.buildQueryString(s);c.name=`${i}-element`;const u=new URL(`/app/v1/${c.name}/`,this.config.baseUrl);return u.search=l.toString(),c.src=u.href,c.style.border="none",c.style.width="100%",this.registerIframe(i,c)},this.registerIframe=(o,s)=>{const i={type:o,node:s,mount:c=>{var l;(l=document.querySelector(c))==null||l.appendChild(s),C("element_mounted",{element_type:o})}};return this.connectToElement({type:i.type,node:i.node}),this.registeredElements||(this.registeredElements={[he.CARD]:void 0,[he.CARD_NUMBER]:void 0,[he.CARD_EXPIRY]:void 0,[he.CARD_CVC]:void 0,[he.CDE_BRIDGE]:void 0}),this.registeredElements[o]=i,i},this.buildQueryString=o=>{const s=new URLSearchParams;return s.append("referer",this.referrer),s.append("formId",this.formId),o.styles&&s.append("styles",xa(o.styles)),s.append("secureToken",this.config.checkoutSecureToken),s},this.connectToElement=o=>{Uu(o.node).then(s=>{this.connectionManager.addConnection(o.type,s),!this.anyCdeConn.current.isSuccess&&o.type===he.CDE_BRIDGE&&this.anyCdeConn.set(s)}).catch(s=>Te("[FORM] Error connecting to CDE iframe",s))},this.getFormDiv=()=>document.querySelector(this.formTarget)??document.body,this.submitCard=()=>{C("submit_card");const o=this.context.getValueIfLoadedElse(null);if(!o){Te("Please wait for the form to finish loading before submitting.");return}V.commonCC.run({context:o,checkoutPaymentMethod:jt(o.checkoutPaymentMethods,"credit_card"),nonCdeFormInputs:ye(o.formDiv),formCallbacks:this.formCallbacks,customParams:{currentCdeConnections:this.connectionManager.getAllConnections()},initResult:void 0})},this.getAvailablePaymentMethods=()=>{if(!this.context.getValueIfLoadedElse(null)){Te("Please wait for the form to finish loading before getting available payment methods.");return}const s={airwallexGooglePay:te.airwallexGooglePay,airwallexApplePay:te.airwallexApplePay,authorizeNetGooglePay:te.authorizenetGooglePay,authorizeNetApplePay:te.authorizenetApplePay},i=Object.entries(this.initFlows).map(([c,l])=>({name:s[c]??c,...l.publisher.getValueIfLoadedElse(null)}));return C("get_available_payment_methods",{available_payment_methods:i}),i},this.generalSubmit=(o,s)=>{C("general_form_submit",{method:o,settings:s});const i=this.context.getValueIfLoadedElse(null);if(!i){Te("Please wait for the form to finish loading before submitting.");return}switch(o){case te.pockytPaypal:return V.pockytPaypal.run({context:i,checkoutPaymentMethod:jt(i.checkoutPaymentMethods,"paypal","pockyt"),nonCdeFormInputs:ye(i.formDiv),formCallbacks:this.formCallbacks,customParams:{settings:s},initResult:void 0});case te.airwallexGooglePay:{const c=this.initFlows.airwallexGooglePay.publisher.getValueIfLoadedElse(null);if(!c){Te("airwallex-google-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'");return}return c.startFlow(s)}case te.airwallexApplePay:{const c=this.initFlows.airwallexApplePay.publisher.getValueIfLoadedElse(null);if(!c){Te("airwallex-apple-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'");return}return c.startFlow(s)}case te.authorizenetGooglePay:{const c=this.initFlows.authorizeNetGooglePay.publisher.getValueIfLoadedElse(null);if(!c){Te("authorize-net-google-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'");return}return c.startFlow(s)}case te.authorizenetApplePay:{const c=this.initFlows.authorizeNetApplePay.publisher.getValueIfLoadedElse(null);if(!c){Te("authorize-net-apple-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'");return}return c.startFlow(s)}case te.loopCrypto:return V.loopCrypto.run({context:i,checkoutPaymentMethod:jt(i.checkoutPaymentMethods,"crypto","loop"),nonCdeFormInputs:ye(i.formDiv),formCallbacks:this.formCallbacks,customParams:s,initResult:void 0});default:un(o)}},this.submit=this.submitCard,this.destroy=()=>{we("Destroying OpenPay form...");for(const o of Object.values(this.registeredElements??{}))o&&o.node.remove();window.removeEventListener("message",this.eventHandler.handleMessage.bind(this.eventHandler)),Lc(),this.registeredElements=null,delete window.ojs,C("form_destroyed")},this.updateCallbacks=o=>{this.formCallbacks.setCallbacks(o)},xe.assignAsSingleton(this),this.ojsVersion="0.2.26",this.ojsReleaseVersion="0.2.26",this.baseUrl=e.baseUrl??"https://cde.getopenpay.com",this.config={...e,baseUrl:this.baseUrl},this.formCallbacks=Gn.fromObject(e),this.registeredElements=null,this.formId=`opjs-form-${Qt()}`,this.referrer=window.location.origin,this.formTarget=e.formTarget??"body",this.formProperties={height:"1px"},this.connectionManager=new $u,this.deviceToken=Iu(),Dc();const{framework:n,version:r}=Mu();ju(this.baseUrl).then(o=>{Un.current.isSuccess||Un.set({checkoutSecureToken:this.config.checkoutSecureToken,deviceToken:this.deviceToken,environment:o,framework:n,frameworkVersion:r,ojsVersion:this.ojsVersion,ojsReleaseVersion:this.ojsReleaseVersion,referrer:this.referrer,baseUrl:this.baseUrl})}),C("form_init"),this.eventHandler=new Fu(this.formId,this.baseUrl,this.formCallbacks,{setFormHeight:this.setFormHeight,onCdeLoaded:this.onCdeLoaded,onCdeLoadError:this.onCdeLoadError}),window.addEventListener("message",this.eventHandler.handleMessage.bind(this.eventHandler)),this.startFormInit()}get checkoutSecureToken(){return this.config.checkoutSecureToken}};xe.ojsFlows=V,xe.assignAsSingleton=e=>{if(xe.getInstance())throw new Error("OpenPay instance already exists. Only one instance is allowed.");window.ojs=e},xe.getInstance=()=>window.ojs??null,xe.buildOjsFlowContext=(e,n,r,o)=>({checkoutSecureToken:e.checkoutSecureToken,baseUrl:new URL(e.baseUrl??Fe).origin,formDiv:o,elementsSessionId:n.sessionId,checkoutPaymentMethods:n.checkoutPaymentMethods,anyCdeConnection:r,customInitParams:e.customInitParams??{}});let Bn=xe;ke.FieldName=m,ke.OpenPayForm=Bn,ke.SubmitMethod=qs,ke.SubmitMethods=te,Object.defineProperty(ke,Symbol.toStringTag,{value:"Module"})});
22
+ `;const r=document.createElement("div"),n=r.attachShadow({mode:"open"});n.appendChild(e.content.cloneNode(!0));const o=n.querySelector("#three-ds-iframe"),s=n.querySelector(".cancel-button");return document.body.appendChild(r),{host:r,iframe:o,cancelButton:s}};function pl(t,e,r){const n=async()=>{try{const s=await Xc(t,r);s&&(clearInterval(o),e(s))}catch{}};n();const o=setInterval(n,oo);return o}function fl({elements:t,pollingInterval:e,resolve:r}){const n=()=>{clearInterval(e),t.host.remove(),r({status:V.CANCELLED})};return t.cancelButton.addEventListener("click",n),()=>{t.cancelButton.removeEventListener("click",n)}}async function fr(t){const{url:e,baseUrl:r}=t,n=lo(e);return new Promise(o=>{const s=l=>{setTimeout(()=>{n.host.remove()},1e3),o(l),c==null||c()},i=pl(n.iframe,s,new URL(r).origin),c=fl({elements:n,pollingInterval:i,resolve:o})})}const uo=async t=>{const e=await fr(t);if(e.status===V.CANCELLED)throw new Error("3DS verification cancelled");if(e.status===V.FAILURE)throw new Error("3DS verification failed");return e.status!==V.SUCCESS&&ur(e.status),{href:e.href}},ml=(t,e)=>{const r=window.open(e,"_blank");if(!r)throw new Error(`${t} popup window blocked. Please allow popups for this site.`);return r},hl=async(t,e,r,n)=>{const{err__:o}=F("popup-verify");return new Promise((s,i)=>{const c=ml(t,n),l=setInterval(async()=>{try{const u=await Hc(e,r);if(u.present)clearInterval(l),c.close(),s({href:u.href});else if(c.closed)throw new Error(`${t} payment cancelled`)}catch(u){o(ne(u)),clearInterval(l),i(ne(u))}},1e3)})},{log__:yl,err__:po}=F("pockyt-cc"),_l=a.object({"op-pockyt-3ds-url":a.string(),"op-pockyt-txn-no":a.string(),"op-pockyt-ref-no":a.string()}),gl=t=>{const e=_l.safeParse(t);if(!e.success){const r="Unable to process your credit card. Please contact support for assistance.",n=`Pockyt 3DS is required but headers are malformed. Got: ${JSON.stringify(t)}`;throw po(n),new Error(r)}return e.data},fo=t=>{try{const e=new URL(t??"").searchParams.get("vaultId");if(!e)throw new Error("No vault ID found in 3DS verification result");return yl(`3DS verification success. [Vault ID: ${e}]`),e}catch(e){const r="Error verifying 3DS verification result.";throw po(r,`Resulting URL: ${t}.
23
+ Error: ${ne(e)}`),new Error(r)}},vl=(t,e)=>new URL(t).searchParams.get(e),wl=t=>(t==null?void 0:t["op-pockyt-3ds-url"])!==void 0,bl=async(t,e)=>{const r=gl(e),n=await uo({url:r["op-pockyt-3ds-url"],baseUrl:t});return{existing_cc:{vault_id:fo(n.href??""),transaction_no:r["op-pockyt-txn-no"],reference_no:r["op-pockyt-ref-no"]}}},{log__:El,err__:zr}=F("airwallex-cc"),kl=a.object({"op-airwallex-3ds-url":a.string(),"op-airwallex-initial-intent-id":a.string(),"op-airwallex-consent-id":a.string()}),Cl=t=>{const e=kl.safeParse(t);if(!e.success){const r="Unable to process your credit card. Please contact support for assistance.",n=`Airwallex 3DS is required but headers are malformed. Got: ${JSON.stringify(t)}`;throw zr(n),new Error(r)}return e.data},Sl=t=>(t==null?void 0:t["op-airwallex-3ds-url"])!==void 0,Pl=t=>{try{const e=new URL(t??"").searchParams.get("payment_intent_id");if(!e)throw new Error("No intent ID found in Airwallex 3DS verification result");return El(`Airwallex 3DS verification success. [Intent ID: ${e}]`),e}catch(e){const r="Error verifying Airwallex 3DS verification result.";throw zr(r,`Resulting URL: ${t}.
24
+ Error: ${ne(e)}`),new Error(r)}},Al=async(t,e)=>{const r=Cl(e),n=await uo({url:r["op-airwallex-3ds-url"],baseUrl:t}),o=Pl(n.href??""),s=r["op-airwallex-initial-intent-id"];if(s!==o){const c="Unable to process your credit card. Please contact support for assistance.",l=`Intent ID from callback (${o}) does not match the initial intent ID (${s}).`;throw zr(l),new Error(c)}return{existing_cc:{initial_intent_id:o,consent_id:r["op-airwallex-consent-id"]}}},mo=a.object({provider:a.literal("apple_pay"),processor_name:a.literal("airwallex"),metadata:a.object({processor_account_id:a.string(),processor_account_name:a.string()})}),ho=a.object({provider:a.literal("google_pay"),processor_name:a.literal("airwallex"),metadata:a.object({processor_account_id:a.string(),processor_account_name:a.string(),google_pay_merchant_id:a.string().nullish()})}),Tl=a.enum(["test","live","live-us","live-in","live-apse","live-au"]),xl=a.enum(["ar","bg-BG","ca-ES","cs-CZ","da-DK","de-DE","el-GR","en-US","es-ES","et-EE","fi-FI","fr-FR","hr-HR","hu-HU","is-IS","it-IT","ja-JP","ko-KR","lt-LT","lv-LV","nl-NL","no-NO","pl-PL","pt-BR","pt-PT","ro-RO","ru-RU","sk-SK","sl-SI","sv-SE","zh-CN","zh-TW"]),{log__:ut,err__:Lt}=F("adyen-cc"),Il=a.object({"op-account-id":a.string(),"op-adyen-client-key":a.string(),"op-adyen-environment":Tl,"op-adyen-action":a.string()}),yo="Unable to process your credit card. Please contact support for assistance.",Rl=t=>{const e=Il.safeParse(t);if(!e.success)throw Lt(`Adyen 3DS is required but headers are malformed. Got: ${JSON.stringify(t)}`),new Error(yo);return e.data},Nl=t=>JSON.parse(t),_o=()=>"AdyenWeb"in window&&"AdyenCheckout"in window.AdyenWeb,Ol=async()=>{ut("Waiting for Adyen SDK to load...");for(let t=0;t<10;t++)_o()||await Ar(500);if(!_o())throw Lt("Adyen SDK not loaded properly"),new Error(yo);return ut("Adyen SDK loaded successfully"),window.AdyenWeb.AdyenCheckout},Ml=t=>{const{headers:e,locale:r,countryCode:n,component:o,host:s,cancelButton:i}=t,c=Nl(e["op-adyen-action"]);return ut(`Running Adyen 3DS flow for action type: ${c.type}`),new Promise(l=>{const u=()=>{ut("Cleaning up Adyen 3DS flow"),i.removeEventListener("click",_),s.remove()},d=h=>{Lt("Authentication failed. Result:",h),l({status:V.FAILURE,cleanup:u})},p=h=>{Lt("Adyen error:",h),l({status:V.FAILURE,cleanup:u})},_=()=>{l({status:V.CANCELLED,cleanup:u})};i.addEventListener("click",_);const f=(h,b,I)=>{s.remove(),l({status:V.SUCCESS,additionalDetails:h,cleanup:u})};Ol().then(h=>h({clientKey:e["op-adyen-client-key"],environment:e["op-adyen-environment"],locale:r,countryCode:n,onAdditionalDetails:f,onPaymentFailed:d,onError:p})).then(h=>{h.createFromAction(c,{challengeWindowSize:"03"}).mount(o)})})},Dl=t=>{const e=navigator.languages&&navigator.languages.length?navigator.languages[0]:navigator.language,r=t??e,n=xl.safeParse(r);return n.success?(ut(`Resolved locale: ${n.data}`),n.data):(Lt(`Resolved invalid locale: ${r}. Defaulting to en-US.`),"en-US")},Ll=t=>(t==null?void 0:t["op-adyen-action"])!==void 0,jl=async(t,e,r)=>{const n=Rl(e),o=document.createElement("div");o.id="adyen-container";const{host:s,iframe:i,cancelButton:c}=lo("http://example.com");i.replaceWith(o);const l=await Ml({headers:n,locale:Dl(r),countryCode:t,component:o,host:s,cancelButton:c});if(l.cleanup(),l.status===V.FAILURE)throw new Error("3DS verification failed");if(l.status===V.CANCELLED)throw new Error("3DS verification cancelled");if(l.status===V.SUCCESS){if(!l.additionalDetails)throw new Error("3DS verification succeeded but no additional details were returned");return ut("3DS verification succeeded"),{existing_cc:{additional_details:l.additionalDetails.data}}}else ur(l.status)},{log__:D,err__:go}=F("common-cc"),{log__:vo}=F("stripe-cc");a.array(a.object({our_existing_pm_id:a.string()})).length(1);const Fl=Ae(async({context:t,checkoutPaymentMethod:e,nonCdeFormInputs:r,formCallbacks:n,customParams:o})=>{var u;D("├ Running common CC flow...",{checkoutPaymentMethod:e});const s=t.anyCdeConnection,i=await q(s);C("common_cc_flow_started",{...e,prefill:i}),D(`├ Validating non-CDE form fields [Mode: ${i.mode}]`);const c=Fe(r,n.get.onValidationError);C("billing_details_received",{...c});const l={session_id:t.elementsSessionId,checkout_payment_method:e,non_cde_form_fields:c,extra_metadata:{origin:window.location.origin}};try{D(`├ Tokenizing card info in CDE [Session: ${t.elementsSessionId}]`);const d=await Jc(o.currentCdeConnections,{session_id:t.elementsSessionId});if(nl(d,n.get.onValidationError),i.mode==="setup"){D(`├ Setting up payment method in CDE [Token: ${i.token}]`);const p=await Qc(s,l);return D(`╰ Setup completed successfully [PM ID: ${p.payment_method_id}]`),{mode:"setup",result:p}}else{D(`├ Initial checkout flow. Checking out card info in CDE [Session: ${t.elementsSessionId}]`);const p=await no(s,l);return D("╰ Checkout completed successfully."),{mode:"checkout",result:p}}}catch(d){if(d instanceof ro&&d.originalErrorMessage.includes("3DS_REQUIRED")){D("├ Card requires 3DS, starting non-legacy payment flow"),D("Received 3DS error response headers:",d.response.headers),C("3ds_required",{...e,...d.response.headers});const p=wl(d.response.headers);if(p){D("├ Pockyt 3DS case detected. Going through Pockyt 3DS flow.");const E=await bl(t.baseUrl,d.response.headers);l.extra_metadata.pockyt=E}if(Sl(d.response.headers)){D("├ Airwallex 3DS case detected. Going through Airwallex 3DS flow.");const E=await Al(t.baseUrl,d.response.headers);l.extra_metadata.airwallex=E}if(Ll(d.response.headers)){D("├ Adyen 3DS case detected. Going through Adyen 3DS flow.");const E=await jl(r[m.COUNTRY],d.response.headers,i.locale);l.extra_metadata.adyen=E}const h=await qc(s,l);D("├ Payment flow result:",h);const b=((u=d.response.headers)==null?void 0:u["op-should-use-new-flow"])!=="true";p?D("├ Pre-start 3DS is successful, other 3DS flows will be skipped."):b?(D("├ Using stripe 3DS flow"),await zl(h)):(D("├ Using common 3DS flow"),await Vl(h,t.baseUrl));const I=h.cc_pm_id;if(i.mode==="setup"){D(`├ Confirming payment flow [cc_pm_id: ${I}]`);const E=await ce(s,{secure_token:i.token,existing_cc_pm_id:I});D("├ Confirm payment flow result received Result:",E);const N=Dt(E);return D(`╰ Setup completed successfully [PM ID: ${N.payment_method_id}]`),{mode:"setup",result:N}}else{D(`├ Checking out after 3DS flow [Flow: ${b?"legacy":"new"}]`);const E=await no(s,{...l,existing_cc_pm_id:I,do_not_use_legacy_cc_flow:b});return D("╰ Checkout completed successfully."),{mode:"checkout",result:E}}}throw go("╰ Error checking out card info in CDE"),go(d),d}}),Ul=t=>{const e=t.required_user_actions.find(r=>r.type==="stripe_3ds");if(!e)throw new Error("No stripe 3DS action found");return Ca.parse(e)},$l=["airwallex_payment_consent","adyen"],Zl=t=>{const e=t.required_user_actions.find(r=>$l.includes(r.type));if(!e)throw new Error("No common 3DS action found");return ba.parse(e)},Vl=async(t,e)=>{const r=Zl(t);if(r.redirect_url==="3DS_COMPLETE"){D("├ 3DS flow completed successfully"),C("3ds_complete");return}D(`├ Using common 3DS flow [URL: ${r.redirect_url}]`),C("3ds_redirect",{...r});const{status:n}=await fr({url:r.redirect_url,baseUrl:e});if(D(`╰ 3DS verification completed [Status: ${n}]`),n===V.CANCELLED)throw C("3ds_cancelled"),new Error("3DS verification cancelled");if(n===V.FAILURE)throw C("3ds_failure"),new Error("3DS verification failed")},zl=async t=>{const e=Ul(t);C("3ds_stripe_redirect",{...e}),vo(`├ Using stripe 3DS flow [Client Secret: ${e.client_secret.substring(0,8)}...]`),await Ra(e),C("3ds_stripe_complete"),vo("╰ Stripe 3DS flow completed successfully")},ue=a.enum(["stripe","airwallex","authorize_net"]);ue.Enum.stripe;const wo=({scriptId:t,src:e,checkLoadedFn:r})=>{const n=new AbortController;return new Promise((o,s)=>{let i=document.createElement("script");i.src=e,i.id=t,i.async=!0;const c=document.getElementById(t);r()?o():c?i=c:document.body.appendChild(i),i.addEventListener("load",()=>{n.abort(),o()},{signal:n.signal}),i.addEventListener("error",()=>{n.abort(),s("Failed to load the script")},{signal:n.signal})})},{log__:X,err__:Gl}=F("stripe-pr"),Bl=a.object({provider:a.union([a.literal("apple_pay"),a.literal("google_pay")]),processor_name:a.literal("stripe"),metadata:a.object({stripe_pk:a.string()})}),ql=Be(async({context:t,formCallbacks:e})=>{X("Checking if there are any CPMs for Stripe PR...");const r=le(t.checkoutPaymentMethods,Bl);X("Initializing Stripe PR flow...");const n=t.anyCdeConnection,o=await q(n),s=o.mode==="setup";X("Getting initial preview amount");const i=await lt(n,o.token,s,void 0),c=await Ta(r.metadata.stripe_pk,i.amountAtom,i.currency,s);X("Checking if can make payment");const l=await c.canMakePayment();if(l===null)return Gl("canMakePayment returned null"),{isAvailable:!1,reason:"canMakePayment returned null"};X("Stripe PR flow initialized successfully. Can make payment",l);const u=(d,p)=>z.stripePR.run({context:t,checkoutPaymentMethod:Ut(t.checkoutPaymentMethods,d),nonCdeFormInputs:_e(t.formDiv),formCallbacks:e,customParams:{provider:d,overridePaymentRequest:p==null?void 0:p.overridePaymentRequest},initResult:{processor:ue.Enum.stripe,pr:c,isAvailable:!0,availableProviders:{applePay:l.applePay,googlePay:l.googlePay},startFlow:u}});return{processor:ue.Enum.stripe,isAvailable:!0,pr:c,availableProviders:{applePay:l.applePay,googlePay:l.googlePay},startFlow:u}}),Yl=Ae(async({context:t,checkoutPaymentMethod:e,nonCdeFormInputs:r,formCallbacks:n,customParams:o,initResult:s})=>{if(X("Running Stripe PR flow..."),o.provider!==e.provider)throw new Error(`Provider mismatch. Expected ${o.provider}, got ${e.provider}`);const i=t.anyCdeConnection,c=s.pr;if(o!=null&&o.overridePaymentRequest){const h=o.overridePaymentRequest;X("Overriding PR amount with",h),Hl(c,h.amount,h.pending,h.applePayPaymentRequest,h.label)}X("Showing PR dialog..."),c.show();const l=await xa(c);X("Stripe PM added event:",l),X("Merging PM fields with form fields...");const u=Wl(r,l),d=Fe(u,n.get.onValidationError);C("billing_details_received",{...d}),X("PR dialog finished. Starting payment flow...",d);const p=await Yc(i,{fields:d,checkoutPaymentMethod:e}),_=Kl(p);X("Confirming PR with Stripe..."),await Ia(_,l);const f=await q(i);if(f.mode==="setup"){X("Confirming payment flow for setup...");const h=await ce(i,{secure_token:f.token});return{mode:"setup",result:Dt(h)}}else{X("Performing checkout...");const h={secure_token:f.token,payment_input:{provider_type:e.provider},customer_first_name:d[m.FIRST_NAME],customer_last_name:d[m.LAST_NAME],customer_email:d[m.EMAIL],customer_zip_code:d[m.ZIP_CODE],customer_country:d[m.COUNTRY],promotion_code:d[m.PROMOTION_CODE],line_items:f.line_items,total_amount_atom:f.amount_total_atom,cancel_at_end:!1,checkout_payment_method:e};return{mode:"checkout",result:await Zr(i,h)}}}),Wl=(t,e)=>{var d,p,_,f;const r={...t},[n,...o]=((p=(d=e.payerName)==null?void 0:d.trim())==null?void 0:p.split(/\s+/))??[],s=o.join(" ")||void 0,i=(f=(_=e.paymentMethod)==null?void 0:_.billing_details)==null?void 0:f.address,c=e.shippingAddress;r[m.EMAIL]=r[m.EMAIL]||e.payerEmail||"op_unfilled@getopenpay.com",r[m.ZIP_CODE]=r[m.ZIP_CODE]||(i==null?void 0:i.postal_code)||(c==null?void 0:c.postalCode)||"00000",r[m.COUNTRY]=r[m.COUNTRY]||(i==null?void 0:i.country)||(c==null?void 0:c.country)||"US";const l=r[m.FIRST_NAME]||n||"",u=r[m.LAST_NAME]||s||"";return l||u?(r[m.FIRST_NAME]=l,r[m.LAST_NAME]=u):(r[m.FIRST_NAME]="_OP_UNKNOWN",r[m.LAST_NAME]=""),X("Final form inputs:",r),r},Hl=(t,e,r,n,o)=>{t.update({total:{amount:e.amountAtom,label:o??"Total",pending:r},currency:e.currency,applePay:n})},Kl=t=>{if(t.required_user_actions.length!==1)throw new Error(`Error occurred.
25
+ Details: got ${t.required_user_actions.length} required user actions`);return Sa.parse(t.required_user_actions[0])},{log__:we,err__:bo}=F("pockyt-paypal"),Jl=a.object({processor_name:a.literal("pockyt"),provider:a.literal("paypal")});a.array(a.object({paypal_iframe_url:a.string(),verify_token:a.string()})).length(1);const Ql=Ae(async({context:t,checkoutPaymentMethod:e,nonCdeFormInputs:r,formCallbacks:n,customParams:o})=>{var W,ke;we("Running Pockyt Paypal flow...");const s=t.anyCdeConnection,i=await q(s);we("Verifying CPM...");const c=Jl.parse(e);we("├ Validating non-CDE form fields");const l=o==null?void 0:o.settings,u=Fe(r,n.get.onValidationError,l==null?void 0:l.defaultFieldValues),d=rl(u);we(`Starting payment flow... Mode: ${i.mode}`);const p=er(),_=i.mode!=="setup",f={payment_provider:c.provider,checkout_payment_method:c,use_pay_first_flow:_,pay_first_flow_cart_info:_?{line_items:i.line_items,displayed_total_amount_atom:i.amount_total_atom}:void 0,processor_specific_metadata:{use_paypal_redirect_flow:!!((W=o==null?void 0:o.settings)!=null&&W.useRedirectFlow),frontend_token_for_redirect_flow:p},...d},h=new URL("/app/pre-action/start/",t.baseUrl).toString(),b=btoa(JSON.stringify(f)),I=new URLSearchParams({st:i.token,r:b}),E=`${h}?${I.toString()}`;if((ke=o==null?void 0:o.settings)!=null&&ke.useRedirectFlow)throw we("Starting redirect mode for PayPal..."),window.location.href=E,await Ar(20*1e3),new Error("Paypal flow timed out, please try again with another payment method.");we("Starting popup mode for PayPal..."),we("Opening paypal iframe...");const N=await hl("PayPal",s,p,E);we("Paypal flow result",N);const x=fo(N.href),O=vl(N.href,"catt");if(!O)throw bo("Checkout attempt ID not found in redirect URL:",N.href),new Error("Checkout attempt ID not found in redirect URL");we(`Confirming payment flow using vault ID ${x}`);const U=await ce(s,{secure_token:i.token,their_pm_id:x,checkout_attempt_id:_?O:void 0});if(we("Confirm payment flow result",U),i.mode==="setup")return{mode:"setup",result:{payment_method_id:U.payment_methods[0].id}};if(!U.pay_first_success_response)throw bo("Checkout failed, no pay-first success response:",U),new Error("Checkout failed, please try again with another payment method.");return{mode:"checkout",result:U.pay_first_success_response}}),mr=({gateway:t,gatewayMerchantId:e,merchantName:r,merchantId:n,initialPreview:o,overridePaymentRequest:s,prefill:i})=>{var p,_;const c=((p=s==null?void 0:s.amount)==null?void 0:p.amountAtom)??(o==null?void 0:o.amountAtom)??0,l=Math.max(c/100,0),u=(((_=s==null?void 0:s.amount)==null?void 0:_.currency)??(i==null?void 0:i.currency)??o.currency).toUpperCase(),d={apiVersion:2,apiVersionMinor:0,allowedPaymentMethods:[{type:"CARD",parameters:{allowedAuthMethods:["PAN_ONLY","CRYPTOGRAM_3DS"],allowedCardNetworks:["AMEX","DISCOVER","INTERAC","JCB","MASTERCARD","VISA"],billingAddressRequired:!0,billingAddressParameters:{format:"FULL"},allowCreditCards:!0,allowPrepaidCards:!0},tokenizationSpecification:{type:"PAYMENT_GATEWAY",parameters:{gateway:t,gatewayMerchantId:e}}}],emailRequired:!0,merchantInfo:{merchantId:n??"",merchantName:r},transactionInfo:{countryCode:"US",currencyCode:u,totalPriceStatus:s!=null&&s.pending?"ESTIMATED":"FINAL",totalPrice:l.toFixed(2)}};return s!=null&&s.googlePayPaymentRequest?{...d,...s.googlePayPaymentRequest}:d},Eo=()=>wo({scriptId:"__op_internal_google_pay_sdk",src:"https://pay.google.com/gp/p/js/pay.js",checkLoadedFn:()=>{var t,e;return!!((e=(t=window.google)==null?void 0:t.payments)!=null&&e.api)}});let Gr=null;const ko=t=>t===$e||t===window.location.origin?"PRODUCTION":"TEST",hr=(t,e)=>{const r=ko(t);return Gr===null&&(Gr=new window.google.payments.api.PaymentsClient({environment:r,merchantInfo:e.merchantInfo})),Gr},Xl=t=>{const e=t.required_user_actions.find(r=>r.type==="airwallex_payment_consent");return e?dn.parse(e):null},Co=(t,e)=>{var o,s,i,c;const r={...t},n=(s=(o=e.paymentMethodData)==null?void 0:o.info)==null?void 0:s.billingAddress;if(n){const[l,...u]=((c=(i=n.name)==null?void 0:i.trim())==null?void 0:c.split(/\s+/))??[],d=u.join(" ")||void 0;r[m.EMAIL]=r[m.EMAIL]||e.email||"op_unfilled@getopenpay.com",r[m.COUNTRY]=r[m.COUNTRY]||n.countryCode||"US",r[m.ADDRESS]=r[m.ADDRESS]||n.address1||"",r[m.CITY]=r[m.CITY]||n.locality||"",r[m.ZIP_CODE]=r[m.ZIP_CODE]||n.postalCode||"00000",r[m.STATE]=r[m.STATE]||n.administrativeArea||"";const p=r[m.FIRST_NAME]||l||"",_=r[m.LAST_NAME]||d||"";p||_?(r[m.FIRST_NAME]=p,r[m.LAST_NAME]=_):(r[m.FIRST_NAME]="_OP_UNKNOWN",r[m.LAST_NAME]="")}return r},{log__:de,err__:dt}=F("awx-google-pay"),eu=Be(async({context:t,formCallbacks:e})=>{var p,_;const r={processor:ue.Enum.airwallex,isAvailable:!1,isLoading:!1,startFlow:async()=>{}},n=le(t.checkoutPaymentMethods,ho);if(!n)return r;de("Google Pay CPM",n);const o=n.metadata;if(!o.processor_account_id)return dt("No gateway merchant ID found in processor account"),r;if(de("Loading Google Pay script"),await Eo(),!((_=(p=window.google)==null?void 0:p.payments)!=null&&_.api))return dt("Google Pay SDK not loaded properly"),r;if(ko(t.baseUrl)==="PRODUCTION"&&!o.google_pay_merchant_id)return dt("Google Pay merchant ID is required for production environment"),r;de("Google Pay SDK loaded",window.google.payments);try{const f=mr({gateway:"airwallex",gatewayMerchantId:o.processor_account_id,merchantName:o.processor_account_name,merchantId:o.google_pay_merchant_id??"",initialPreview:{amountAtom:0,currency:"USD"}}),{result:h}=await hr(t.baseUrl,f).isReadyToPay(f);if(!h)return de("Google Pay is not available for this user"),r}catch(f){return dt("Error checking Google Pay availability",f),r}const i=t.anyCdeConnection,c=await q(i),l=c.mode==="setup",u=await lt(i,c.token,l,void 0),d=async f=>{try{z.airwallexGooglePay.run({context:t,checkoutPaymentMethod:n,nonCdeFormInputs:_e(t.formDiv),formCallbacks:e,initResult:void 0,customParams:{...f,initialPreview:u}})}catch(h){dt("Google Pay payment error",h),e.get.onCheckoutError((h==null?void 0:h.message)??"Unknown error")}};return{processor:ue.Enum.airwallex,isAvailable:!0,isLoading:!1,startFlow:d}}),tu=Ae(async({context:t,checkoutPaymentMethod:e,nonCdeFormInputs:r,formCallbacks:n,customParams:o})=>{var f,h,b,I,E,N,x;de("Starting Google Pay flow...");const s=le(t.checkoutPaymentMethods,ho),{initialPreview:i,overridePaymentRequest:c}=o,l=s.metadata;if(!l.processor_account_id)throw new Error("No gateway merchant ID found in processor account");const u=mr({gateway:"airwallex",gatewayMerchantId:l.processor_account_id,merchantName:l.processor_account_name,merchantId:l.google_pay_merchant_id??"",initialPreview:i,overridePaymentRequest:c}),d=t.anyCdeConnection,p=await q(d);C("google_pay_flow_started",{processor_name:s.processor_name,prefill:Jn(p,["brand"]),overridePaymentRequest:c});const _=hr(t.baseUrl,u);try{const O=await _.loadPaymentData(u);de("Google Pay Payment data",O);const U=Co(r,O),W=Fe(U,n.get.onValidationError,o==null?void 0:o.defaultFieldValues);C("billing_details_received",{...W});const ke=(h=(f=O.paymentMethodData)==null?void 0:f.tokenizationData)==null?void 0:h.token;if(!ke)throw new Error("No payment token received from Google Pay");const Bu=await ct(d,{payment_provider:e.provider,checkout_payment_method:e,new_customer_email:W[m.EMAIL],new_customer_first_name:W[m.FIRST_NAME],new_customer_last_name:W[m.LAST_NAME],new_customer_address:{zip_code:W[m.ZIP_CODE],country:W[m.COUNTRY]}}),gr=Xl(Bu);de("Start flow next actions",gr);let He=await ce(d,{secure_token:p.token,processor_specific_metadata:{payment_provider:e.provider,airwallex_consent_id:gr==null?void 0:gr.consent_id,airwallex_payment_method_data:{type:"googlepay",googlepay:{payment_data_type:"encrypted_payment_token",encrypted_payment_token:ke}}}});de("[1st] Confirm payment flow response",He);let Yr=(I=(b=He.payment_methods)==null?void 0:b[0])==null?void 0:I.id;const Ke=(E=He.required_user_actions)==null?void 0:E.find(Vt=>Vt.type==="airwallex_payment_consent");if(Ke&&Ke.redirect_url){de("3DS Required, starting verification...",Ke);const{status:Vt}=await fr({url:Ke.redirect_url,baseUrl:t.baseUrl});if(de(`╰ 3DS verification completed [Status: ${Vt}]`),Vt===V.CANCELLED)throw new Error("3DS verification cancelled");if(Vt===V.FAILURE)throw new Error("3DS verification failed")}if(Ke&&!Yr&&(He=await ce(d,{secure_token:p.token,their_pm_id:Ke.their_pm_id,processor_specific_metadata:{payment_provider:e.provider,airwallex_consent_id:Ke.consent_id}}),de("[2nd] Confirm payment flow response",He),Yr=(x=(N=He.payment_methods)==null?void 0:N[0])==null?void 0:x.id),!Yr)throw new Error("No PM ID found");return pr({logPrefix:"awx-googlepay",anyCdeConnection:d,checkoutPaymentMethod:e,requiredFormFields:W,confirmResult:He,usePayFirstFlow:!1})}catch(O){throw dt("Google Pay payment error",O),C("google_pay_payment_error",{error:O}),new Error((O==null?void 0:O.message)??"Unknown error")}}),So=()=>wo({scriptId:"__op_internal_apple_pay_sdk",src:"https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js",checkLoadedFn:()=>!!window.ApplePaySession||!!window.ApplePaySDK}),Po=(t,e)=>{const r=e.token.paymentMethod.billingContact,n=e.billingContact,o=e.shippingContact,s={...t};if(r||n||o){s[m.EMAIL]=s[m.EMAIL]||(r==null?void 0:r.emailAddress)||(n==null?void 0:n.emailAddress)||(o==null?void 0:o.emailAddress)||"op_unfilled@email.com",s[m.COUNTRY]=s[m.COUNTRY]||(r==null?void 0:r.countryCode)||(n==null?void 0:n.countryCode)||(o==null?void 0:o.countryCode)||"US",s[m.ZIP_CODE]=s[m.ZIP_CODE]||(r==null?void 0:r.postalCode)||(n==null?void 0:n.postalCode)||(o==null?void 0:o.postalCode)||"00000";const i=s[m.FIRST_NAME]||(r==null?void 0:r.givenName)||(n==null?void 0:n.givenName)||(o==null?void 0:o.givenName)||"",c=s[m.LAST_NAME]||(r==null?void 0:r.familyName)||(n==null?void 0:n.familyName)||(o==null?void 0:o.familyName)||"";i||c?(s[m.FIRST_NAME]=i,s[m.LAST_NAME]=c):(s[m.FIRST_NAME]="_OP_UNKNOWN",s[m.LAST_NAME]="")}return s};a.object({data:a.object({messageHeaders:a.record(a.string(),a.any()),errors:a.array(a.any()),messageType:a.string(),messageBody:a.record(a.string(),a.any())}),origin:a.literal("https://applepay.cdn-apple.com")});const Ao=({total:t,prefill:e})=>{var n;if(e.mode==="setup")return{paymentDescription:"Setup recurring payment",regularBilling:{amount:t.amount,label:"Setup recurring payment",paymentTiming:"recurring",type:"final"},managementURL:new URL(`/pay/${e.token}`,$e).toString()};const r=(n=e.line_items)==null?void 0:n[0];if(r)return{paymentDescription:(r==null?void 0:r.description)??"",regularBilling:{amount:t.amount,label:(r==null?void 0:r.description)??"",recurringPaymentIntervalUnit:r==null?void 0:r.billing_interval,recurringPaymentIntervalCount:(r==null?void 0:r.billing_interval_count)??void 0,paymentTiming:"recurring",type:"final"},managementURL:`https://cde.getopenpay.com/pay/${e.token}`}},To=({overridePaymentRequest:t,initialPreview:e,prefill:r,defaultLabel:n="Total"})=>{var c,l;const o=(((c=t==null?void 0:t.amount)==null?void 0:c.currency)??(r==null?void 0:r.currency)??e.currency).toUpperCase(),i=((((l=t==null?void 0:t.amount)==null?void 0:l.amountAtom)??(e==null?void 0:e.amountAtom)??0)/100).toFixed(2);return{currencyCode:o,total:{label:(t==null?void 0:t.label)??n??"Total",type:t!=null&&t.pending?"pending":"final",amount:i}}},{log__:yr}=F("awx-apple-pay");async function ru(t,e){try{const n=(await Vr(e.connection,{checkout_payment_method:e.checkoutPaymentMethod,processor_specific_metadata:{airwallex_payment_session:{validation_url:t.validationURL,initiative_context:window.location.hostname,their_account_id:e.processorAccount.processor_account_id}}})).next_action_metadata,o=n==null?void 0:n.apple_pay_session;if(!o)throw new Error("No session data received from payment flow");e.session.completeMerchantValidation(o),C("apple_pay_complete_merchant_validation",{...o})}catch(r){throw e.session.abort(),r}}async function nu(t,e){if(!t.redirect_url)throw new Error("No redirect URL found");yr("3DS Required, starting verification...",t);const{status:r}=await fr({url:t.redirect_url,baseUrl:e.baseUrl});if(yr(`╰ 3DS verification completed [Status: ${r}]`),r===V.CANCELLED)throw new Error("3DS verification cancelled");if(r===V.FAILURE)throw new Error("3DS verification failed");const n=await ce(e.connection,{secure_token:e.prefill.token,processor_specific_metadata:{their_pm_id:t.their_pm_id,airwallex_consent_id:t.consent_id,payment_provider:e.checkoutPaymentMethod.provider}});return yr("[2nd] Confirm payment flow response",n),n}async function ou(t,e){var r,n,o,s,i;try{const c=t.payment,l=Po(e.nonCdeFormInputs,c),u=Fe(l,e.formCallbacks.get.onValidationError,e.defaultFieldValues);C("billing_details_received",{...u});const _=(await ct(e.connection,{payment_provider:e.checkoutPaymentMethod.provider,checkout_payment_method:e.checkoutPaymentMethod,new_customer_email:u[m.EMAIL],new_customer_first_name:u[m.FIRST_NAME],new_customer_last_name:u[m.LAST_NAME],new_customer_address:{zip_code:u[m.ZIP_CODE],country:u[m.COUNTRY]}})).required_user_actions[0].consent_id;if(!_)throw new Error("No consent ID received from payment flow");let f=await ce(e.connection,{secure_token:e.prefill.token,processor_specific_metadata:{payment_provider:e.checkoutPaymentMethod.provider,airwallex_consent_id:_,airwallex_payment_method_data:{type:"applepay",applepay:{payment_data_type:"encrypted_payment_token",encrypted_payment_token:JSON.stringify(c.token)}}}});yr("[1st] Confirm payment flow response",f);let h=(n=(r=f.payment_methods)==null?void 0:r[0])==null?void 0:n.id;const b=(o=f.required_user_actions)==null?void 0:o.find(E=>E.type==="airwallex_payment_consent");if(b!=null&&b.redirect_url&&b.consent_id&&b.their_pm_id&&(f=await nu(b,e),h=(i=(s=f.payment_methods)==null?void 0:s[0])==null?void 0:i.id),!h)throw new Error("No PM ID found");const I={status:ApplePaySession.STATUS_SUCCESS};return e.session.completePayment(I),pr({logPrefix:"awx-applepay",anyCdeConnection:e.connection,checkoutPaymentMethod:e.checkoutPaymentMethod,requiredFormFields:u,confirmResult:f,usePayFirstFlow:!1})}catch(c){const l={status:ApplePaySession.STATUS_FAILURE};throw e.session.completePayment(l),c}}const{log__:jt,err__:xo}=F("awx-apple-pay"),su=Be(async({context:t,formCallbacks:e})=>{const r={processor:ue.Enum.airwallex,isAvailable:!1,isLoading:!1,startFlow:async()=>{}},n=le(t.checkoutPaymentMethods,mo);if(!n)return r;if(jt("Loading Apple Pay script"),await So(),!window.ApplePaySession||!ApplePaySession.canMakePayments())return jt("Apple Pay is not available on this device/browser"),r;if(jt("Apple Pay Loaded"),!await ApplePaySession.canMakePayments())return jt("No active cards available for Apple Pay"),r;if(!n.metadata.processor_account_id)throw new Error("No gateway merchant ID found in processor account");const i=t.anyCdeConnection,c=await q(i),l=c.mode==="setup",u=await lt(i,c.token,l,void 0),d=async p=>{try{await z.airwallexApplePay.run({context:t,checkoutPaymentMethod:n,nonCdeFormInputs:_e(t.formDiv),formCallbacks:e,customParams:{...p,initialPreview:u},initResult:void 0})}catch(_){xo("Apple Pay payment error",_),e.get.onCheckoutError((_==null?void 0:_.message)??"Unknown error")}};return{processor:ue.Enum.airwallex,isAvailable:!0,isLoading:!1,startFlow:d}}),au=Ae(async({context:t,checkoutPaymentMethod:e,nonCdeFormInputs:r,customParams:n,formCallbacks:o})=>{var I;const s=le(t.checkoutPaymentMethods,mo),{overridePaymentRequest:i,initialPreview:c}=n,l=t.anyCdeConnection,u=await q(l),d=u.mode==="setup",{currencyCode:p,total:_}=To({overridePaymentRequest:i,initialPreview:c,defaultLabel:(I=s==null?void 0:s.metadata)==null?void 0:I.processor_account_name}),f={countryCode:"US",currencyCode:p,requiredBillingContactFields:["email","postalAddress","name"],requiredShippingContactFields:["email"],supportedNetworks:["visa","masterCard","amex","discover"],merchantCapabilities:["supports3DS","supportsCredit","supportsDebit","supportsEMV"],total:_,recurringPaymentRequest:Ao({total:_,prefill:u}),...(i==null?void 0:i.applePayPaymentRequest)??{}},h=new ApplePaySession(3,f),b={session:h,connection:t.anyCdeConnection,checkoutPaymentMethod:e,nonCdeFormInputs:r,processorAccount:s.metadata,prefill:u,isSetupMode:d,baseUrl:t.baseUrl,formCallbacks:o,defaultFieldValues:n==null?void 0:n.defaultFieldValues};return C("apple_pay_flow_started",{processor_name:e.processor_name,prefill:Jn(u,["brand"]),overridePaymentRequest:i}),new Promise((E,N)=>{const x=()=>{jt("Payment cancelled by user"),N(new Error("Payment cancelled by user"))};h.oncancel=x,h.onvalidatemerchant=async O=>{try{await ru(O,b)}catch(U){N(U)}},h.onpaymentmethodselected=()=>{const O={newTotal:{..._}};h.completePaymentMethodSelection(O)},h.onpaymentauthorized=async O=>{C("apple_pay_payment_authorized");try{const U=await ou(O,b);E(U)}catch(U){N(U)}},h.begin()}).catch(E=>{throw xo("Apple Pay payment error",E),C("apple_pay_payment_error",{error:E}),E})}),iu=1,cu=a.object({processor_name:a.literal("loop"),provider:a.literal("crypto"),metadata:a.object({merchant_id:a.string(),entity_id:a.string(),api_token:a.string(),supported_currencies:a.array(a.string()),environment:a.string()})}),{log__:ee,err__:Io}=F("loop-crypto"),lu=a.object({loopFirstName:Z,loopLastName:Z,loopEmail:Z,[m.PROMOTION_CODE]:j}),uu=(t,e,r)=>{const n=lu.safeParse(t);if(!n.success){const o=n.error.format(),s=pn(o);for(const[i,c]of Object.entries(s))e(i,c,i);throw Io("Got validation errors in non-CDE form fields",s),new Error("Got validation errors in non-CDE form fields")}return n.data},du=Be(async({context:t})=>{ee("Checking if there are any CPMs for Loop Crypto...");const e=le(t.checkoutPaymentMethods,cu);ee(`checkoutPaymentMethod: ${JSON.stringify(e)}`),ee("Starting Loop Crypto flow...");const r=await q(t.anyCdeConnection),n=await Vr(t.anyCdeConnection,{checkout_payment_method:e});if(r.mode!=="setup"&&!e.metadata.supported_currencies.includes(r.currency))throw Error(`Currency ${r.currency} not enabled for Loop. Enabled currencies: ${e.metadata.supported_currencies}`);if(!n||!n.next_action_metadata)throw Error("Failed to fetch necessary setup data for Loop");const o=n.next_action_metadata;let s;r.mode==="setup"?s=iu:s=r.amount_total_atom*o.token_price;const i=s,c=o.authorization_amount,l=er(),u={paymentUsdAmount:i,suggestedAuthorizationUsdAmount:c,customerRefId:l},d={apiKey:e.metadata.api_token,entityId:e.metadata.entity_id,merchantId:e.metadata.merchant_id,environment:e.metadata.environment};return{isAvailable:!0,widgetProps:u,initLoopConnectProps:d}}),pu=Ae(async({context:t,checkoutPaymentMethod:e,nonCdeFormInputs:r,formCallbacks:n,customParams:o})=>{ee("Running Loop flow..."),ee("context",t),ee("checkoutPaymentMethod",e),ee("nonCdeFormInputs",r),ee("flowCallbacks",n),ee("customParams",o);const s=uu(r,n.get.onValidationError),i=t.anyCdeConnection,c=await q(t.anyCdeConnection),l=c.mode!=="setup",u=await ct(t.anyCdeConnection,{checkout_payment_method:e,payment_provider:e.provider,new_customer_email:s.loopEmail,new_customer_first_name:s.loopFirstName,new_customer_last_name:s.loopLastName,use_pay_first_flow:l,pay_first_flow_cart_info:l?{line_items:c.line_items,displayed_total_amount_atom:c.amount_total_atom}:void 0});if(!o)throw Error("Checkout failed. Failed to properly submit form data.");const d=await ce(i,{secure_token:c.token,their_pm_id:o.success?o.payin.paymentMethod.paymentMethodId:void 0,checkout_attempt_id:c.mode!=="setup"?u.checkout_attempt_id:void 0,processor_specific_metadata:{loop_customer:o.success?o.customer:void 0,loop_payin:o.success?o.payin:void 0,loop_failure_details:o.success?void 0:o.failureDetails,loop_debug_info:o.success?void 0:o.debugInfo,loop_success:o.success}});if(ee(`Confirm result: ${d}`),c.mode==="setup"){ee("Doing payment setup..."),ee("├ Confirm payment flow result received Result:",d);const p=Dt(d);return ee(`╰ Setup completed successfully [PM ID: ${p.payment_method_id}]`),{mode:"setup",result:p}}else{if(ee("Doing checkout..."),!d.pay_first_success_response)throw Io("Checkout failed, no pay-first success response:",d),new Error("Checkout failed, please try again with another payment method.");return{mode:"checkout",result:d.pay_first_success_response}}});async function fu(t,e){try{const n=(await Vr(e.connection,{checkout_payment_method:e.checkoutPaymentMethod,processor_specific_metadata:{apple_payment_session:{validation_url:t.validationURL,initiative_context:window.location.hostname,their_account_id:e.processorAccount.processor_account_id}}})).next_action_metadata,o=n==null?void 0:n.apple_pay_session;if(!o)throw new Error("No session data received from payment flow");e.session.completeMerchantValidation(o),C("apple_pay_complete_merchant_validation",{...o})}catch(r){throw e.session.abort(),r}}async function mu(t,e){var r,n;try{const o=t.payment,s=Po(e.nonCdeFormInputs,o),i=Fe(s,e.formCallbacks.get.onValidationError);C("billing_details_received",{...i}),await ct(e.connection,{payment_provider:e.checkoutPaymentMethod.provider,checkout_payment_method:e.checkoutPaymentMethod,new_customer_email:i[m.EMAIL],new_customer_first_name:i[m.FIRST_NAME],new_customer_last_name:i[m.LAST_NAME],new_customer_address:{zip_code:i[m.ZIP_CODE],country:i[m.COUNTRY]}});const c={dataDescriptor:"COMMON.APPLE.INAPP.PAYMENT",dataValue:window.btoa(JSON.stringify(o.token.paymentData))},l=await ce(e.connection,{secure_token:e.prefill.token,processor_specific_metadata:{payment_provider:e.checkoutPaymentMethod.provider,mobile_wallet_payment_data:c}});if(!((n=(r=l.payment_methods)==null?void 0:r[0])==null?void 0:n.id))throw new Error("No PM ID found");const d={status:ApplePaySession.STATUS_SUCCESS};return e.session.completePayment(d),pr({logPrefix:"authnet-applepay",anyCdeConnection:e.connection,checkoutPaymentMethod:e.checkoutPaymentMethod,requiredFormFields:i,confirmResult:l,usePayFirstFlow:!1})}catch(o){const s={status:ApplePaySession.STATUS_FAILURE};throw e.session.completePayment(s),o}}const Ro=a.object({provider:a.literal("apple_pay"),processor_name:a.literal("authorize_net"),metadata:a.object({processor_account_id:a.string(),processor_account_name:a.string()})}),No=a.object({provider:a.literal("google_pay"),processor_name:a.literal("authorize_net"),metadata:a.object({processor_account_id:a.string(),processor_account_name:a.string(),google_pay_merchant_id:a.string().nullish()})}),{log__:_r,err__:Oo}=F("authnet-applepay"),hu=Be(async({context:t,formCallbacks:e})=>{const r={processor:ue.Enum.authorize_net,isAvailable:!1,isLoading:!1,startFlow:async()=>{}},n=le(t.checkoutPaymentMethods,Ro);if(!n)return r;if(_r("Loading Apple Pay script"),await So(),!window.ApplePaySession||!ApplePaySession.canMakePayments())return _r("Apple Pay is not available on this device/browser"),r;if(!await ApplePaySession.canMakePayments())return _r("No active cards available for Apple Pay"),r;if(!n.metadata.processor_account_id)throw new Error("No gateway merchant ID found in processor account");const i=t.anyCdeConnection,c=await q(i),l=c.mode==="setup",u=await lt(i,c.token,l,void 0),d=async p=>{try{await z.authorizeNetApplePay.run({context:t,checkoutPaymentMethod:n,nonCdeFormInputs:_e(t.formDiv),formCallbacks:e,customParams:{...p,initialPreview:u},initResult:void 0})}catch(_){Oo("Apple Pay payment error",_),C("apple_pay_payment_error",{error:_}),e.get.onCheckoutError((_==null?void 0:_.message)??"Unknown error")}};return{processor:ue.Enum.authorize_net,isAvailable:!0,isLoading:!1,startFlow:d}}),yu=Ae(async({context:t,checkoutPaymentMethod:e,nonCdeFormInputs:r,customParams:n,formCallbacks:o})=>{var I;const{initialPreview:s,overridePaymentRequest:i}=n,c=le(t.checkoutPaymentMethods,Ro),{currencyCode:l,total:u}=To({overridePaymentRequest:i,initialPreview:s,defaultLabel:(I=c==null?void 0:c.metadata)==null?void 0:I.processor_account_name}),d=t.anyCdeConnection,p=await q(d),_=p.mode==="setup",f={countryCode:"US",currencyCode:l,total:u,requiredBillingContactFields:["email","postalAddress","name"],requiredShippingContactFields:["email"],supportedNetworks:["visa","masterCard","amex","discover"],merchantCapabilities:["supports3DS","supportsCredit","supportsDebit"],recurringPaymentRequest:Ao({total:u,prefill:p}),...(i==null?void 0:i.applePayPaymentRequest)??{}};C("apple_pay_flow_started",{processor_name:e.processor_name,prefill:p,overridePaymentRequest:i});const h=new ApplePaySession(3,f),b={session:h,connection:t.anyCdeConnection,checkoutPaymentMethod:e,nonCdeFormInputs:r,processorAccount:e.metadata,prefill:p,isSetupMode:_,baseUrl:t.baseUrl,formCallbacks:o};return new Promise((E,N)=>{h.oncancel=()=>{_r("Payment cancelled by user"),N(new Error("Payment cancelled by user"))},h.onvalidatemerchant=async x=>{try{await fu(x,b)}catch(O){N(O)}},h.onpaymentmethodselected=()=>{const x={newTotal:f.total};h.completePaymentMethodSelection(x)},h.onpaymentauthorized=async x=>{C("apple_pay_payment_authorized");try{const O=await mu(x,b);E(O)}catch(O){N(O)}},h.begin()}).catch(E=>{throw Oo("Apple Pay payment error",E),C("apple_pay_payment_error",{error:E}),E})}),{log__:qe,err__:Ft}=F("authnet-googlepay"),_u=Be(async({context:t,formCallbacks:e})=>{var d,p;qe("Initializing Authnet GooglePay flow");const r={processor:ue.Enum.authorize_net,isAvailable:!1,isLoading:!1,startFlow:async()=>{}},n=le(t.checkoutPaymentMethods,No);if(!n)return r;qe("Google Pay CPM",n);const o=n.metadata;if(!o.processor_account_id)return Ft("No gateway merchant ID found in processor account"),r;if(qe("Loading Google Pay script"),await Eo(),!((p=(d=window.google)==null?void 0:d.payments)!=null&&p.api))return Ft("Google Pay SDK not loaded properly"),r;qe("Google Pay SDK loaded",window.google.payments);try{const _=mr({gateway:"authorizenet",gatewayMerchantId:o.processor_account_id,merchantName:o.processor_account_name,merchantId:o.google_pay_merchant_id??"",initialPreview:{amountAtom:0,currency:"USD"}}),{result:f}=await hr(t.baseUrl,_).isReadyToPay(_);if(!f)return qe("Google Pay is not available for this user"),r}catch(_){return Ft("Error checking Google Pay availability",_),r}const s=t.anyCdeConnection,i=await q(s),c=i.mode==="setup",l=await lt(s,i.token,c,void 0),u=async _=>{try{z.authorizeNetGooglePay.run({context:t,checkoutPaymentMethod:n,nonCdeFormInputs:_e(t.formDiv),formCallbacks:e,initResult:void 0,customParams:{..._,initialPreview:l}})}catch(f){Ft("Google Pay payment error",f),C("google_pay_payment_error",{error:f}),e.get.onCheckoutError((f==null?void 0:f.message)??"Unknown error")}};return{processor:ue.Enum.authorize_net,isAvailable:!0,isLoading:!1,startFlow:u}}),gu=Ae(async({context:t,nonCdeFormInputs:e,checkoutPaymentMethod:r,formCallbacks:n,customParams:o})=>{var f,h,b,I;const{initialPreview:s,overridePaymentRequest:i}=o,l=le(t.checkoutPaymentMethods,No).metadata,u=mr({gateway:"authorizenet",gatewayMerchantId:l.processor_account_id,merchantName:l.processor_account_name,merchantId:l.google_pay_merchant_id??"",initialPreview:s,overridePaymentRequest:i}),d=t.anyCdeConnection,p=await q(d);C("google_pay_flow_started",{processor_name:r.processor_name,prefill:p,overridePaymentRequest:i});const _=hr(t.baseUrl,u);try{const E=await _.loadPaymentData(u);qe("Google Pay Payment data",E);const N=Co(e,E),x=Fe(N,n.get.onValidationError);C("billing_details_received",{...x});const O=(h=(f=E.paymentMethodData)==null?void 0:f.tokenizationData)==null?void 0:h.token;if(!O)throw new Error("No payment token received from Google Pay");const U=await ct(d,{payment_provider:r.provider,checkout_payment_method:r,new_customer_email:x[m.EMAIL],new_customer_first_name:x[m.FIRST_NAME],new_customer_last_name:x[m.LAST_NAME],new_customer_address:{zip_code:x[m.ZIP_CODE],country:x[m.COUNTRY]}});qe("Start payment flow response",U);const W=await ce(d,{secure_token:p.token,processor_specific_metadata:{payment_provider:r.provider,mobile_wallet_payment_data:{dataDescriptor:"COMMON.GOOGLE.INAPP.PAYMENT",dataValue:window.btoa(O)}}});if(!((I=(b=W.payment_methods)==null?void 0:b[0])==null?void 0:I.id))throw new Error("No PM ID found");return pr({logPrefix:"authnet-googlepay",anyCdeConnection:d,checkoutPaymentMethod:r,requiredFormFields:x,confirmResult:W,usePayFirstFlow:!1})}catch(E){throw Ft("Google Pay payment error",E),C("google_pay_payment_error",{error:E}),new Error((E==null?void 0:E.message)??"Unknown error")}}),Ut=(t,e,r)=>{const n=t.filter(o=>{const s=r===void 0?!0:o.processor_name===r,i=o.provider===e;return s&&i});if(n.length===0)throw console.error("CPMs list",t),new Error(`No CPMs found with provider '${e}' and processor '${r}'`);if(n.length!==1)throw console.error("CPMs list",t),new Error(`More than one CPM found with provider '${e}' and processor '${r}'`);return n[0]},z={commonCC:{init:async()=>{},run:Fl},stripePR:{init:ql,run:Yl},stripeLink:{init:il,run:cl},pockytPaypal:{run:Ql},airwallexGooglePay:{init:eu,run:tu},airwallexApplePay:{init:su,run:au},loopCrypto:{init:du,run:pu},authorizeNetApplePay:{init:hu,run:yu},authorizeNetGooglePay:{init:_u,run:gu}},{log__:vu,err__:wu}=F("init-flows"),Ye=(t,e)=>{const r=new Mt;return{publisher:r,initialize:async n=>{try{if(r.current.isSuccess)throw new Error("This flow has already been initialized.");const o=await e(n);vu(`✔ ${t} flow initialized successfully. Result:`,o),r.set(o)}catch(o){wu(`𝙭 ${t} flow initialization failed. Error:`,ne(o),"Details:",o),r.throw(o,ne(o))}}}},bu=async(t,e,r)=>{await Promise.all(Object.values(t).map(n=>n.initialize({context:e,formCallbacks:r})))},Eu=()=>({stripePR:Ye("Stripe PR",z.stripePR.init),stripeLink:Ye("Stripe Link",z.stripeLink.init),airwallexGooglePay:Ye("Airwallex GooglePay",z.airwallexGooglePay.init),airwallexApplePay:Ye("Airwallex ApplePay",z.airwallexApplePay.init),loop:Ye("Loop",z.loopCrypto.init),authorizeNetGooglePay:Ye("Authnet GooglePay",z.authorizeNetGooglePay.init),authorizeNetApplePay:Ye("Authnet ApplePay",z.authorizeNetApplePay.init)}),{err__:ku}=F("form-callbacks"),pe=a.function().optional(),Mo=a.object({onFocus:pe,onBlur:pe,onChange:pe,onLoad:pe,onLoadError:pe,onValidationError:pe,onCheckoutStarted:pe,onCheckoutSuccess:pe,onSetupPaymentMethodSuccess:pe,onCheckoutError:pe,onPaymentRequestLoad:pe}),Ee=class Ee{constructor(){this.setCallbacks=e=>{this._callbacks=Ee.createEmptyCallbacks(),Object.entries(e).forEach(([r,n])=>{const o=Ws(r,n??Ee.NOOP,ku);this._callbacks[r]=o})},this._callbacks=Ee.createEmptyCallbacks()}get get(){return{...this._callbacks}}};Ee.NOOP=()=>{},Ee.createEmptyCallbacks=()=>{const e={};return Object.keys(Mo.keyof().enum).forEach(r=>{e[r]=Ee.NOOP}),e},Ee.fromObject=e=>{const r=new Ee;return r.setCallbacks(Mo.parse(e)),r};let Br=Ee;const Cu="error",Su="debug",Pu=console.error,Au=console.debug,Ue=$();Ue&&(Ue._ojs_console_callbacks=[]),console.error=function(...t){var e;Pu.call(console,...t),(e=Ue==null?void 0:Ue._ojs_console_callbacks)==null||e.forEach(r=>r(Cu,...t))},console.debug=function(...t){var e;Au.call(console,...t),(e=Ue==null?void 0:Ue._ojs_console_callbacks)==null||e.forEach(r=>r(Su,...t))};const Do="0123456789ABCDEFGHJKMNPQRSTVWXYZ",$t=32,Tu=16,Lo=10,jo=0xffffffffffff;var We;(function(t){t.Base32IncorrectEncoding="B32_ENC_INVALID",t.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",t.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",t.EncodeTimeNegative="ENC_TIME_NEG",t.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",t.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",t.PRNGDetectFailure="PRNG_DETECT",t.ULIDInvalid="ULID_INVALID",t.Unexpected="UNEXPECTED",t.UUIDInvalid="UUID_INVALID"})(We||(We={}));class Zt extends Error{constructor(e,r){super(`${r} (${e})`),this.name="ULIDError",this.code=e}}function xu(t){let e=Math.floor(t()*$t);return e===$t&&(e=$t-1),Do.charAt(e)}function Iu(t){const e=Ru(),r=e&&(e.crypto||e.msCrypto)||null;if(typeof(r==null?void 0:r.getRandomValues)=="function")return()=>{const n=new Uint8Array(1);return r.getRandomValues(n),n[0]/255};if(typeof(r==null?void 0:r.randomBytes)=="function")return()=>r.randomBytes(1).readUInt8()/255;throw new Zt(We.PRNGDetectFailure,"Failed to find a reliable PRNG")}function Ru(){return Mu()?self:typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:null}function Nu(t,e){let r="";for(;t>0;t--)r=xu(e)+r;return r}function Ou(t,e=Lo){if(isNaN(t))throw new Zt(We.EncodeTimeValueMalformed,`Time must be a number: ${t}`);if(t>jo)throw new Zt(We.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${jo}: ${t}`);if(t<0)throw new Zt(We.EncodeTimeNegative,`Time must be positive: ${t}`);if(Number.isInteger(t)===!1)throw new Zt(We.EncodeTimeValueMalformed,`Time must be an integer: ${t}`);let r,n="";for(let o=e;o>0;o--)r=t%$t,n=Do.charAt(r)+n,t=(t-r)/$t;return n}function Mu(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function Du(t,e){const r=Iu(),n=Date.now();return Ou(n,Lo)+Nu(Tu,r)}const Fo="op_analytics_device_token",Lu=()=>{const t=document.cookie.split(";").find(r=>r.includes(Fo));if(t)return t.split("=")[1];const e=Du();return ju(e),e},ju=t=>{const e=new Date;e.setFullYear(e.getFullYear()+1),document.cookie=`${Fo}=${t}; path=/; expires=${e.toUTCString()}`};function Fu(){try{const t=$();if(t!=null&&t.next||t!=null&&t.__NEXT_DATA__||document.querySelector("#__next"))return"nextjs";const e=$();if(e!=null&&e.__NUXT__||document.querySelector("#__nuxt"))return"nuxt";if(Object.keys(document).find(n=>n.includes("react"))||Array.from(document.body.querySelectorAll("body > *")).find(n=>n._reactRootContainer))return"react";const r=$();return r!=null&&r.Vue||r!=null&&r.__VUE__?"vue":document.querySelector("[ng-version]")?"angular":"vanilla"}catch{return"unknown"}}function Uu(t){var e,r,n;try{switch(t){case"react":return null;case"nextjs":{const o=$();return((e=o==null?void 0:o.next)==null?void 0:e.version)||((r=o==null?void 0:o.__NEXT_DATA__)==null?void 0:r.buildId)||null}case"nuxt":return null;case"vue":return null;case"angular":{const o=(n=$())==null?void 0:n.document,s=o==null?void 0:o.querySelector("[ng-version]");return s?s.getAttribute("ng-version"):null}default:return null}}catch{return null}}function $u(){const t=Fu(),e=Uu(t);return{framework:t,version:e}}class Zu{constructor(e,r,n,o){this.handleMessage=s=>{if(!s.source){console.warn("[OJS] No source found");return}if(Uo(s.origin)!==Uo(this.baseUrl)||typeof s.data=="object"&&s.data.penpal||typeof s.data=="object"&&s.data.source&&s.data.source==="react-devtools-bridge")return;let i=null;try{i=ja(JSON.parse(s.data))}catch{return}if(!this.validateEvent(i))return;const{elementId:l,payload:u}=i,d=u.type;switch(d){case"LAYOUT":this.internalCallbacks.setFormHeight(u.height?`${u.height}px`:"100%");break;case"FOCUS":this.formCallbacks.get.onFocus(l,u.elementType);break;case"BLUR":this.formCallbacks.get.onBlur(l,u.elementType);break;case"CHANGE":this.formCallbacks.get.onChange(l,u.elementType,u.errors);break;case"LOADED":this.eventTargets[l]=s.source,this.internalCallbacks.onCdeLoaded(u);break;case"LOAD_ERROR":this.internalCallbacks.onCdeLoadError(u.message);break;case"VALIDATION_ERROR":this.formCallbacks.get.onValidationError(u.elementType,u.errors,l);break;default:console.warn("[form] Unhandled event type:",d)}},this.validateEvent=s=>s.formId!==this.formId||!s.elementId?(console.log("[OJS] formId",this.formId,s.formId),console.warn("[form] Ignoring unknown event:",s),!1):this.nonces.has(s.nonce)?(console.warn("[form] Ignoring duplicate event:",s),!1):(this.nonces.add(s.nonce),!0),this.eventTargets={},this.nonces=new Set,this.formId=e,this.baseUrl=r,this.formCallbacks=n,this.internalCallbacks=o}}const Uo=t=>new URL(t).origin;async function Vu(t,e){const n=await vn({iframe:t,debug:!1,childOrigin:e}).promise,o=await si(n);if(!ai(n,o))throw new Error("Got invalid CDE connection object");return n}class zu{constructor(){this.connections=new Map}addConnection(e,r){this.connections.set(e,r)}getConnection(){const e=this.connections.values().next().value;if(!e)throw new Error("Connection not found");return e}getAllConnections(){return this.connections}}const Gu=(t,e,r)=>{const{stripePR:n}=t;n.publisher.subscribe(o=>{if(o.isSuccess){const s=o.loadedValue,i=s.isAvailable&&s.availableProviders.applePay,c=s.isAvailable&&s.availableProviders.googlePay,l={apple_pay:{isLoading:!1,isAvailable:i,startFlow:async u=>{i&&$o("apple_pay",s,e,r,u)}},google_pay:{isLoading:!1,isAvailable:c,startFlow:async u=>{c&&$o("google_pay",s,e,r,u)}}};r.get.onPaymentRequestLoad(l)}})},$o=(t,e,r,n,o)=>z.stripePR.run({context:r,checkoutPaymentMethod:Ut(r.checkoutPaymentMethods,t),nonCdeFormInputs:_e(r.formDiv),formCallbacks:n,customParams:{provider:t,overridePaymentRequest:o==null?void 0:o.overridePaymentRequest},initResult:e}),Zo="The secure form failed to load properly. Please check your internet connection, or try again later.",{log__:be,err__:xe}=F("op-form"),Ie=class Ie{constructor(e){var o;this.cdeLoadEvent=new Mt,this.anyCdeConn=new Mt,this.context=new Mt,this.initFlows=Eu(),this.startFormInit=async()=>{try{const s=this.createElement(ye.CDE_BRIDGE);s.node.id="__op_internal_cde_bridge",s.node.ariaHidden="true",Object.assign(s.node.style,{border:"none",margin:"0px",padding:"0px",width:"1px",height:"1px",overflow:"hidden",visibility:"hidden",position:"fixed",pointerEvents:"none",userSelect:"none"}),s.mount("body"),be("CDE bridge element mounted"),be("Initializing OpenPay form:"),be("├ Waiting for CDE load event...");const i=await this.cdeLoadEvent.waitForLoad({timeoutSec:120,timeoutErrMsg:Zo});be("├ CDE load event received"),be("├ Waiting for CDE connection...");const c=await this.anyCdeConn.waitForLoad({timeoutSec:120,timeoutErrMsg:Zo});be("├ CDE connection received"),await el(c,this.deviceToken),be("├ Creating OJS context, setting up handlers...");const l=Ie.buildOjsFlowContext(this.config,i,c,this.getFormDiv());this.context.set(l),Gu(this.initFlows,l,this.formCallbacks),be("├ Starting OJS init flows..."),await bu(this.initFlows,l,this.formCallbacks),this.formCallbacks.get.onLoad(i.totalAmountAtoms,i.currency),be("╰ Done initializing OJS flows."),C("form_loaded")}catch(s){const i=ne(s);xe("╰ Error initializing OP form:",i),C("form_init_error",{error:i}),this.formCallbacks.get.onLoadError(i)}},this.setFormHeight=s=>{this.formProperties.height=s,this.registeredElements&&Object.values(this.registeredElements).forEach(i=>{!i||i.type===ye.CDE_BRIDGE||(i.node.style.height=s)})},this.onCdeLoaded=s=>{this.cdeLoadEvent.current.isSuccess||(this.cdeLoadEvent.set(s),C("cde_loaded"))},this.onCdeLoadError=s=>{this.cdeLoadEvent.current.isSuccess||(this.cdeLoadEvent.throw(new Error(s),s),C("cde_load_error",{error:s}))},this.createElement=(s,i={})=>{if(!this.config)throw new Error("OpenPay form not initialized");const c=Ks.parse(s),l=document.createElement("iframe"),u=this.buildQueryString(i);l.name=`${c}-element`;const d=new URL(`/app/v1/${l.name}/`,this.config.baseUrl);return d.search=u.toString(),l.src=d.href,l.style.border="none",l.style.width="100%",this.registerIframe(c,l)},this.registerIframe=(s,i)=>{const c={type:s,node:i,mount:l=>{var u;(u=document.querySelector(l))==null||u.appendChild(i),C("element_mounted",{element_type:s})}};return this.connectToElement({type:c.type,node:c.node}),this.registeredElements||(this.registeredElements={[ye.CARD]:void 0,[ye.CARD_NUMBER]:void 0,[ye.CARD_EXPIRY]:void 0,[ye.CARD_CVC]:void 0,[ye.CDE_BRIDGE]:void 0}),this.registeredElements[s]=c,c},this.buildQueryString=s=>{const i=new URLSearchParams;return i.append("referer",this.referrer),i.append("formId",this.formId),s.styles&&i.append("styles",Na(s.styles)),i.append("secureToken",this.config.checkoutSecureToken),i},this.connectToElement=s=>{Vu(s.node).then(i=>{this.connectionManager.addConnection(s.type,i),!this.anyCdeConn.current.isSuccess&&s.type===ye.CDE_BRIDGE&&this.anyCdeConn.set(i)}).catch(i=>xe("[FORM] Error connecting to CDE iframe",i))},this.getFormDiv=()=>document.querySelector(this.formTarget)??document.body,this.submitCard=()=>{C("submit_card");const s=this.context.getValueIfLoadedElse(null);if(!s){xe("Please wait for the form to finish loading before submitting.");return}z.commonCC.run({context:s,checkoutPaymentMethod:Ut(s.checkoutPaymentMethods,"credit_card"),nonCdeFormInputs:_e(s.formDiv),formCallbacks:this.formCallbacks,customParams:{currentCdeConnections:this.connectionManager.getAllConnections()},initResult:void 0})},this.getAvailablePaymentMethods=()=>{if(!this.context.getValueIfLoadedElse(null)){xe("Please wait for the form to finish loading before getting available payment methods.");return}const i={airwallexGooglePay:re.airwallexGooglePay,airwallexApplePay:re.airwallexApplePay,authorizeNetGooglePay:re.authorizenetGooglePay,authorizeNetApplePay:re.authorizenetApplePay},c=Object.entries(this.initFlows).map(([l,u])=>({name:i[l]??l,...u.publisher.getValueIfLoadedElse(null)}));return C("get_available_payment_methods",{available_payment_methods:c}),c},this.generalSubmit=(s,i)=>{C("general_form_submit",{method:s,settings:i});const c=this.context.getValueIfLoadedElse(null);if(!c){xe("Please wait for the form to finish loading before submitting.");return}switch(s){case re.pockytPaypal:return z.pockytPaypal.run({context:c,checkoutPaymentMethod:Ut(c.checkoutPaymentMethods,"paypal","pockyt"),nonCdeFormInputs:_e(c.formDiv),formCallbacks:this.formCallbacks,customParams:{settings:i},initResult:void 0});case re.airwallexGooglePay:{const l=this.initFlows.airwallexGooglePay.publisher.getValueIfLoadedElse(null);if(!l){xe("airwallex-google-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'");return}return l.startFlow(i)}case re.airwallexApplePay:{const l=this.initFlows.airwallexApplePay.publisher.getValueIfLoadedElse(null);if(!l){xe("airwallex-apple-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'");return}return l.startFlow(i)}case re.authorizenetGooglePay:{const l=this.initFlows.authorizeNetGooglePay.publisher.getValueIfLoadedElse(null);if(!l){xe("authorize-net-google-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'");return}return l.startFlow(i)}case re.authorizenetApplePay:{const l=this.initFlows.authorizeNetApplePay.publisher.getValueIfLoadedElse(null);if(!l){xe("authorize-net-apple-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'");return}return l.startFlow(i)}case re.loopCrypto:return z.loopCrypto.run({context:c,checkoutPaymentMethod:Ut(c.checkoutPaymentMethods,"crypto","loop"),nonCdeFormInputs:_e(c.formDiv),formCallbacks:this.formCallbacks,customParams:i,initResult:void 0});default:ur(s)}},this.submit=this.submitCard,this.destroy=()=>{var s;be("Destroying OpenPay form...");for(const i of Object.values(this.registeredElements??{}))i&&i.node.remove();(s=$())==null||s.removeEventListener("message",this.eventHandler.handleMessage.bind(this.eventHandler)),Vc(),this.registeredElements=null,delete window.ojs,C("form_destroyed")},this.updateCallbacks=s=>{this.formCallbacks.setCallbacks(s)},Ie.assignAsSingleton(this),this.ojsVersion="0.2.28",this.ojsReleaseVersion="local_build",this.baseUrl=e.baseUrl??"https://cde.getopenpay.com",this.config={...e,baseUrl:this.baseUrl},this.formCallbacks=Br.fromObject(e),this.registeredElements=null,this.formId=`opjs-form-${er()}`,this.referrer=window.location.origin,this.formTarget=e.formTarget??"body",this.formProperties={height:"1px"},this.connectionManager=new zu,this.deviceToken=Lu(),Zc();const{framework:r,version:n}=$u();Lc(this.baseUrl).then(s=>{$r.current.isSuccess||$r.set({checkoutSecureToken:this.config.checkoutSecureToken,deviceToken:this.deviceToken,environment:s,framework:r,frameworkVersion:n,ojsVersion:this.ojsVersion,ojsReleaseVersion:this.ojsReleaseVersion,referrer:this.referrer,baseUrl:this.baseUrl})}),C("form_init"),this.eventHandler=new Zu(this.formId,this.baseUrl,this.formCallbacks,{setFormHeight:this.setFormHeight,onCdeLoaded:this.onCdeLoaded,onCdeLoadError:this.onCdeLoadError}),(o=$())==null||o.addEventListener("message",this.eventHandler.handleMessage.bind(this.eventHandler)),this.startFormInit()}get checkoutSecureToken(){return this.config.checkoutSecureToken}};Ie.ojsFlows=z,Ie.assignAsSingleton=e=>{if(Ie.getInstance())throw new Error("OpenPay instance already exists. Only one instance is allowed.");window.ojs=e},Ie.getInstance=()=>window.ojs??null,Ie.buildOjsFlowContext=(e,r,n,o)=>({checkoutSecureToken:e.checkoutSecureToken,baseUrl:new URL(e.baseUrl??$e).origin,formDiv:o,elementsSessionId:r.sessionId,checkoutPaymentMethods:r.checkoutPaymentMethods,anyCdeConnection:n,customInitParams:e.customInitParams??{}});let qr=Ie;Ce.FieldName=m,Ce.OpenPayForm=qr,Ce.SubmitMethod=Hs,Ce.SubmitMethods=re,Object.defineProperty(Ce,Symbol.toStringTag,{value:"Module"})});