@rechargeapps/storefront-client 2.0.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,2 @@
1
- // recharge-client-2.0.0.min.js | MIT License | © Recharge Inc.
2
- (function(ge,oe){typeof exports=="object"&&typeof module<"u"?module.exports=oe():typeof define=="function"&&define.amd?define(oe):(ge=typeof globalThis<"u"?globalThis:ge||self,ge.recharge=oe())})(this,function(){"use strict";const ge="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";function oe(r=21){let e="";for(let t=0;t<r;t++)e+=ge[Math.random()*64|0];return e}let yt={storeIdentifier:"",environment:"prod"};function ua(r){yt=r}function q(){return yt}const ca=(r,e="")=>{switch(r){case"prod":return"https://api.rechargeapps.com";case"stage":return"https://api.stage.rechargeapps.com";case"preprod":case"prestage":return`${e}/api`}},la=(r,e="")=>{switch(r){case"prod":return"https://admin.rechargeapps.com";case"stage":return"https://admin.stage.rechargeapps.com";case"preprod":case"prestage":return e}},fa=r=>{switch(r){case"prod":case"preprod":return"https://static.rechargecdn.com";case"stage":case"prestage":return"https://static.stage.rechargecdn.com"}},vt="/tools/recurring";class se{constructor(e,t){this.name="RechargeRequestError",this.message=e,this.status=t}}function T(r){return encodeURIComponent(`${r}`.trim())}function da(r){const e=t=>encodeURIComponent(t===null?"":String(t));return Object.entries(r).filter(([,t])=>t!==void 0&&!(Array.isArray(t)&&t.length===0)).map(([t,n])=>`${t}=${Array.isArray(n)?n.map(e).join(","):e(n)}`).join("&")}const ha=new Set(["shop_url"]);function y(r,e){return{...r,internalFnCall:r.internalFnCall??e,internalRequestId:r.internalRequestId??oe()}}async function ke(r,e,t={}){const n=q();return L(r,`${fa(n.environment)}/store/${n.storeIdentifier}${e}`,t)}async function v(r,e,{id:t,query:n,data:i,headers:a}={},o){const{environment:u,environmentUri:c,storeIdentifier:h,loginRetryFn:d,__unstable_twoFactorRetryFn:s,appName:_,appVersion:l}=q();if(!h)throw new Error("InitRecharge has not been called and/or no store identifier has been defined.");const m=o.apiToken;if(!m)throw new Error("No API token defined on session.");const E=ca(u,c),I={"X-Recharge-Access-Token":m,"X-Recharge-Version":"2021-11","X-Recharge-Sdk-Fn":o.internalFnCall,..._?{"X-Recharge-Sdk-App-Name":_}:{},...l?{"X-Recharge-Sdk-App-Version":l}:{},"X-Recharge-Sdk-Version":"2.0.0","X-Request-Id":o.internalRequestId,...o.tmp_fn_identifier?{"X-Recharge-Sdk-Fn-Identifier":o.tmp_fn_identifier}:{},...a||{}},x=n,O={...x?Object.fromEntries(Object.entries(x).filter(([f])=>!ha.has(f))):void 0,shop_url:h};try{return await L(r,`${E}${e}`,{id:t,query:O,data:i,headers:I})}catch(f){if(d&&f instanceof se&&f.status===401)return d().then(S=>{if(S)return L(r,`${E}${e}`,{id:t,query:O,data:i,headers:{...I,"X-Recharge-Access-Token":S.apiToken}});throw f});if(s&&f instanceof se&&f.status===423)return s().then(S=>{if(S)return L(r,`${E}${e}`,{id:t,query:O,data:i,headers:{...I,"X-Recharge-Access-Token":S.apiToken}});throw f});throw f}}async function ee(r,e,t={}){return L(r,`${vt}${e}`,t)}async function L(r,e,{id:t,query:n,data:i,headers:a}={}){let o=e.trim();if(t&&(o=[o,T(t)].join("/")),n){let s;[o,s]=o.split("?");const _=[s,da(n)].join("&").replace(/^&/,"");o=`${o}${_?`?${_}`:""}`}let u;i&&r!=="get"&&(u=JSON.stringify(i));const c={Accept:"application/json","Content-Type":"application/json","X-Recharge-App":"storefront-client",...a||{}},h=await fetch(o,{method:r,headers:c,body:u});let d;try{d=await h.json()}catch{}if(!h.ok)throw h.status===502||h.status===504?new se("A gateway error occurred while making the request",h.status):d&&d.error?new se(d.error,h.status):d&&d.errors?new se(JSON.stringify(d.errors),h.status):new se("A connection error occurred while making the request");return d}function pa(r,e){return v("get","/addresses",{query:e},y(r,"listAddresses"))}async function _a(r,e,t){if(e===void 0||e==="")throw new Error("ID is required");const{address:n}=await v("get","/addresses",{id:e,query:{include:t?.include}},y(r,"getAddress"));return n}async function ga(r,e){const{address:t}=await v("post","/addresses",{data:{...e,customer_id:r.customerId?Number(r.customerId):void 0}},y(r,"createAddress"));return t}async function Pr(r,e,t,n){if(e===void 0||e==="")throw new Error("ID is required");const{address:i}=await v("put","/addresses",{id:e,data:t,query:n},y(r,"updateAddress"));return i}async function ya(r,e,t,n){return Pr(y(r,"applyDiscountToAddress"),e,{discounts:[{code:t}]},n)}async function va(r,e,t){if(e===void 0||e==="")throw new Error("Id is required");return Pr(y(r,"removeDiscountsFromAddress"),e,{discounts:[]},t)}function ma(r,e){if(e===void 0||e==="")throw new Error("ID is required");return v("delete","/addresses",{id:e},y(r,"deleteAddress"))}async function wa(r,e){const{address:t}=await v("post","/addresses/merge",{data:e},y(r,"mergeAddresses"));return t}async function ba(r,e,t){if(e===void 0||e==="")throw new Error("ID is required");const{charge:n}=await v("post",`/addresses/${T(e)}/charges/skip`,{data:t},y(r,"skipFutureCharge"));return n}var Ea=Object.freeze({__proto__:null,applyDiscountToAddress:ya,createAddress:ga,deleteAddress:ma,getAddress:_a,listAddresses:pa,mergeAddresses:wa,removeDiscountsFromAddress:va,skipFutureCharge:ba,updateAddress:Pr});async function $a(){const{storefrontAccessToken:r}=q(),e={};r&&(e["X-Recharge-Storefront-Access-Token"]=r);const t=await ee("get","/access",{headers:e});return{apiToken:t.api_token,customerId:t.customer_id,message:t.message}}async function Ia(r,e){return mt(r,e)}async function mt(r,e){if(!r)throw new Error("Shopify storefront token is required");const{storeIdentifier:t}=q();if(!t)throw new Error("InitRecharge has not been called and/or no store identifier has been defined.");const{api_token:n,customer_id:i,message:a}=await ye("post","/shopify_storefront_access",{data:{customer_token:e,storefront_token:r,shop_url:t}});return n?{apiToken:n,customerId:i,message:a}:null}async function Sa(r){const{storeIdentifier:e}=q();if(!e)throw new Error("InitRecharge has not been called and/or no store identifier has been defined.");const{api_token:t,customer_id:n,message:i}=await ye("post","/shopify_customer_account_api_access",{data:{customer_token:r,shop_url:e}});return t?{apiToken:t,customerId:n,message:i}:null}async function Aa(r,e={}){if(!r)throw new Error("Email is required.");const{storeIdentifier:t}=q();if(!t)throw new Error("InitRecharge has not been called and/or no store identifier has been defined.");const{send_email:n,send_sms:i}=e,a=await ye("post","/attempt_login",{data:{email:r,shop:t,...n!==void 0?{send_email:n}:{},...i!==void 0?{send_sms:i}:{}}});if(a.errors)throw new Error(a.errors);return a.session_token}async function Oa(r,e={}){if(!r)throw new Error("Email is required.");const{storefrontAccessToken:t}=q(),n={};t&&(n["X-Recharge-Storefront-Access-Token"]=t);const{send_email:i,send_sms:a}=e,o=await ee("post","/attempt_login",{data:{email:r,...i!==void 0?{send_email:i}:{},...a!==void 0?{send_sms:a}:{}},headers:n});if(o.errors)throw new Error(o.errors);return o.session_token}async function xa(r,e,t){if(!r)throw new Error("Email is required.");if(!e)throw new Error("Session token is required.");if(!t)throw new Error("Code is required.");const{storeIdentifier:n}=q();if(!n)throw new Error("InitRecharge has not been called and/or no store identifier has been defined.");const i=await ye("post","/validate_login",{data:{code:t,email:r,session_token:e,shop:n}});if(i.errors)throw new Error(i.errors);return{apiToken:i.api_token,customerId:i.customer_id}}async function Ta(r,e,t){if(!r)throw new Error("Email is required.");if(!e)throw new Error("Session token is required.");if(!t)throw new Error("Code is required.");const{storefrontAccessToken:n}=q(),i={};n&&(i["X-Recharge-Storefront-Access-Token"]=n);const a=await ee("post","/validate_login",{data:{code:t,email:r,session_token:e},headers:i});if(a.errors)throw new Error(a.errors);return{apiToken:a.api_token,customerId:a.customer_id}}function Pa(){const{customerHash:r}=q(),{pathname:e,search:t}=window.location,n=new URLSearchParams(t).get("token"),i=e.split("/").filter(Boolean),a=i.findIndex(u=>u==="portal"),o=a!==-1?i[a+1]:r;if(!n||!o)throw new Error("Not in context of Recharge Customer Portal or URL did not contain correct params");return{customerHash:o,token:n}}async function Fa(){const{customerHash:r,token:e}=Pa(),{storeIdentifier:t}=q(),n=await ye("post",`/customers/${T(r)}/access`,{data:{token:e,shop:t}});return{apiToken:n.api_token,customerId:n.customer_id}}async function ye(r,e,{id:t,query:n,data:i,headers:a}={}){const{environment:o,environmentUri:u,storefrontAccessToken:c,appName:h,appVersion:d}=q(),s=la(o,u),_={...c?{"X-Recharge-Storefront-Access-Token":c}:{},...h?{"X-Recharge-Sdk-App-Name":h}:{},...d?{"X-Recharge-Sdk-App-Version":d}:{},"X-Recharge-Sdk-Version":"2.0.0",...a||{}};return L(r,`${s}${e}`,{id:t,query:n,data:i,headers:_})}var Ra=Object.freeze({__proto__:null,loginCustomerPortal:Fa,loginShopifyApi:Ia,loginShopifyAppProxy:$a,loginWithShopifyCustomerAccount:Sa,loginWithShopifyStorefront:mt,sendPasswordlessCode:Aa,sendPasswordlessCodeAppProxy:Oa,validatePasswordlessCode:xa,validatePasswordlessCodeAppProxy:Ta}),ve=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},wt={},Fr={},W={},Ma=typeof ve=="object"&&ve&&ve.Object===Object&&ve,bt=Ma,Da=bt,Ca=typeof self=="object"&&self&&self.Object===Object&&self,qa=Da||Ca||Function("return this")(),z=qa,Na=z,ka=Na.Symbol,Ue=ka,Et=Ue,$t=Object.prototype,Ua=$t.hasOwnProperty,Ba=$t.toString,me=Et?Et.toStringTag:void 0;function La(r){var e=Ua.call(r,me),t=r[me];try{r[me]=void 0;var n=!0}catch{}var i=Ba.call(r);return n&&(e?r[me]=t:delete r[me]),i}var Va=La,ja=Object.prototype,Xa=ja.toString;function Ga(r){return Xa.call(r)}var Ha=Ga,It=Ue,Wa=Va,za=Ha,Ya="[object Null]",Ka="[object Undefined]",St=It?It.toStringTag:void 0;function Za(r){return r==null?r===void 0?Ka:Ya:St&&St in Object(r)?Wa(r):za(r)}var Z=Za;function Ja(r){return r!=null&&typeof r=="object"}var J=Ja,Qa=Z,eo=J,ro="[object Number]";function to(r){return typeof r=="number"||eo(r)&&Qa(r)==ro}var Be=to,At=typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{},j=[],U=[],no=typeof Uint8Array<"u"?Uint8Array:Array,Rr=!1;function Ot(){Rr=!0;for(var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e=0,t=r.length;e<t;++e)j[e]=r[e],U[r.charCodeAt(e)]=e;U["-".charCodeAt(0)]=62,U["_".charCodeAt(0)]=63}function io(r){Rr||Ot();var e,t,n,i,a,o,u=r.length;if(u%4>0)throw new Error("Invalid string. Length must be a multiple of 4");a=r[u-2]==="="?2:r[u-1]==="="?1:0,o=new no(u*3/4-a),n=a>0?u-4:u;var c=0;for(e=0,t=0;e<n;e+=4,t+=3)i=U[r.charCodeAt(e)]<<18|U[r.charCodeAt(e+1)]<<12|U[r.charCodeAt(e+2)]<<6|U[r.charCodeAt(e+3)],o[c++]=i>>16&255,o[c++]=i>>8&255,o[c++]=i&255;return a===2?(i=U[r.charCodeAt(e)]<<2|U[r.charCodeAt(e+1)]>>4,o[c++]=i&255):a===1&&(i=U[r.charCodeAt(e)]<<10|U[r.charCodeAt(e+1)]<<4|U[r.charCodeAt(e+2)]>>2,o[c++]=i>>8&255,o[c++]=i&255),o}function ao(r){return j[r>>18&63]+j[r>>12&63]+j[r>>6&63]+j[r&63]}function oo(r,e,t){for(var n,i=[],a=e;a<t;a+=3)n=(r[a]<<16)+(r[a+1]<<8)+r[a+2],i.push(ao(n));return i.join("")}function xt(r){Rr||Ot();for(var e,t=r.length,n=t%3,i="",a=[],o=16383,u=0,c=t-n;u<c;u+=o)a.push(oo(r,u,u+o>c?c:u+o));return n===1?(e=r[t-1],i+=j[e>>2],i+=j[e<<4&63],i+="=="):n===2&&(e=(r[t-2]<<8)+r[t-1],i+=j[e>>10],i+=j[e>>4&63],i+=j[e<<2&63],i+="="),a.push(i),a.join("")}function Le(r,e,t,n,i){var a,o,u=i*8-n-1,c=(1<<u)-1,h=c>>1,d=-7,s=t?i-1:0,_=t?-1:1,l=r[e+s];for(s+=_,a=l&(1<<-d)-1,l>>=-d,d+=u;d>0;a=a*256+r[e+s],s+=_,d-=8);for(o=a&(1<<-d)-1,a>>=-d,d+=n;d>0;o=o*256+r[e+s],s+=_,d-=8);if(a===0)a=1-h;else{if(a===c)return o?NaN:(l?-1:1)*(1/0);o=o+Math.pow(2,n),a=a-h}return(l?-1:1)*o*Math.pow(2,a-n)}function Tt(r,e,t,n,i,a){var o,u,c,h=a*8-i-1,d=(1<<h)-1,s=d>>1,_=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,l=n?0:a-1,m=n?1:-1,E=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(u=isNaN(e)?1:0,o=d):(o=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-o))<1&&(o--,c*=2),o+s>=1?e+=_/c:e+=_*Math.pow(2,1-s),e*c>=2&&(o++,c/=2),o+s>=d?(u=0,o=d):o+s>=1?(u=(e*c-1)*Math.pow(2,i),o=o+s):(u=e*Math.pow(2,s-1)*Math.pow(2,i),o=0));i>=8;r[t+l]=u&255,l+=m,u/=256,i-=8);for(o=o<<i|u,h+=i;h>0;r[t+l]=o&255,l+=m,o/=256,h-=8);r[t+l-m]|=E*128}var so={}.toString,Pt=Array.isArray||function(r){return so.call(r)=="[object Array]"};/*!
3
- * The buffer module from node.js, for the browser.
4
- *
5
- * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
6
- * @license MIT
7
- */var uo=50;p.TYPED_ARRAY_SUPPORT=At.TYPED_ARRAY_SUPPORT!==void 0?At.TYPED_ARRAY_SUPPORT:!0,Ve();function Ve(){return p.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Y(r,e){if(Ve()<e)throw new RangeError("Invalid typed array length");return p.TYPED_ARRAY_SUPPORT?(r=new Uint8Array(e),r.__proto__=p.prototype):(r===null&&(r=new p(e)),r.length=e),r}function p(r,e,t){if(!p.TYPED_ARRAY_SUPPORT&&!(this instanceof p))return new p(r,e,t);if(typeof r=="number"){if(typeof e=="string")throw new Error("If encoding is specified then the first argument must be a string");return Mr(this,r)}return Ft(this,r,e,t)}p.poolSize=8192,p._augment=function(r){return r.__proto__=p.prototype,r};function Ft(r,e,t,n){if(typeof e=="number")throw new TypeError('"value" argument must not be a number');return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer?fo(r,e,t,n):typeof e=="string"?lo(r,e,t):ho(r,e)}p.from=function(r,e,t){return Ft(null,r,e,t)},p.TYPED_ARRAY_SUPPORT&&(p.prototype.__proto__=Uint8Array.prototype,p.__proto__=Uint8Array,typeof Symbol<"u"&&Symbol.species&&p[Symbol.species]);function Rt(r){if(typeof r!="number")throw new TypeError('"size" argument must be a number');if(r<0)throw new RangeError('"size" argument must not be negative')}function co(r,e,t,n){return Rt(e),e<=0?Y(r,e):t!==void 0?typeof n=="string"?Y(r,e).fill(t,n):Y(r,e).fill(t):Y(r,e)}p.alloc=function(r,e,t){return co(null,r,e,t)};function Mr(r,e){if(Rt(e),r=Y(r,e<0?0:Cr(e)|0),!p.TYPED_ARRAY_SUPPORT)for(var t=0;t<e;++t)r[t]=0;return r}p.allocUnsafe=function(r){return Mr(null,r)},p.allocUnsafeSlow=function(r){return Mr(null,r)};function lo(r,e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!p.isEncoding(t))throw new TypeError('"encoding" must be a valid string encoding');var n=Mt(e,t)|0;r=Y(r,n);var i=r.write(e,t);return i!==n&&(r=r.slice(0,i)),r}function Dr(r,e){var t=e.length<0?0:Cr(e.length)|0;r=Y(r,t);for(var n=0;n<t;n+=1)r[n]=e[n]&255;return r}function fo(r,e,t,n){if(e.byteLength,t<0||e.byteLength<t)throw new RangeError("'offset' is out of bounds");if(e.byteLength<t+(n||0))throw new RangeError("'length' is out of bounds");return t===void 0&&n===void 0?e=new Uint8Array(e):n===void 0?e=new Uint8Array(e,t):e=new Uint8Array(e,t,n),p.TYPED_ARRAY_SUPPORT?(r=e,r.__proto__=p.prototype):r=Dr(r,e),r}function ho(r,e){if(X(e)){var t=Cr(e.length)|0;return r=Y(r,t),r.length===0||e.copy(r,0,0,t),r}if(e){if(typeof ArrayBuffer<"u"&&e.buffer instanceof ArrayBuffer||"length"in e)return typeof e.length!="number"||Ro(e.length)?Y(r,0):Dr(r,e);if(e.type==="Buffer"&&Pt(e.data))return Dr(r,e.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function Cr(r){if(r>=Ve())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Ve().toString(16)+" bytes");return r|0}p.isBuffer=Mo;function X(r){return!!(r!=null&&r._isBuffer)}p.compare=function(e,t){if(!X(e)||!X(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,i=t.length,a=0,o=Math.min(n,i);a<o;++a)if(e[a]!==t[a]){n=e[a],i=t[a];break}return n<i?-1:i<n?1:0},p.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},p.concat=function(e,t){if(!Pt(e))throw new TypeError('"list" argument must be an Array of Buffers');if(e.length===0)return p.alloc(0);var n;if(t===void 0)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var i=p.allocUnsafe(t),a=0;for(n=0;n<e.length;++n){var o=e[n];if(!X(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(i,a),a+=o.length}return i};function Mt(r,e){if(X(r))return r.length;if(typeof ArrayBuffer<"u"&&typeof ArrayBuffer.isView=="function"&&(ArrayBuffer.isView(r)||r instanceof ArrayBuffer))return r.byteLength;typeof r!="string"&&(r=""+r);var t=r.length;if(t===0)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return t;case"utf8":case"utf-8":case void 0:return Ge(r).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return t*2;case"hex":return t>>>1;case"base64":return Vt(r).length;default:if(n)return Ge(r).length;e=(""+e).toLowerCase(),n=!0}}p.byteLength=Mt;function po(r,e,t){var n=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((t===void 0||t>this.length)&&(t=this.length),t<=0)||(t>>>=0,e>>>=0,t<=e))return"";for(r||(r="utf8");;)switch(r){case"hex":return Io(this,e,t);case"utf8":case"utf-8":return Nt(this,e,t);case"ascii":return Eo(this,e,t);case"latin1":case"binary":return $o(this,e,t);case"base64":return wo(this,e,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return So(this,e,t);default:if(n)throw new TypeError("Unknown encoding: "+r);r=(r+"").toLowerCase(),n=!0}}p.prototype._isBuffer=!0;function re(r,e,t){var n=r[e];r[e]=r[t],r[t]=n}p.prototype.swap16=function(){var e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)re(this,t,t+1);return this},p.prototype.swap32=function(){var e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)re(this,t,t+3),re(this,t+1,t+2);return this},p.prototype.swap64=function(){var e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)re(this,t,t+7),re(this,t+1,t+6),re(this,t+2,t+5),re(this,t+3,t+4);return this},p.prototype.toString=function(){var e=this.length|0;return e===0?"":arguments.length===0?Nt(this,0,e):po.apply(this,arguments)},p.prototype.equals=function(e){if(!X(e))throw new TypeError("Argument must be a Buffer");return this===e?!0:p.compare(this,e)===0},p.prototype.inspect=function(){var e="",t=uo;return this.length>0&&(e=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(e+=" ... ")),"<Buffer "+e+">"},p.prototype.compare=function(e,t,n,i,a){if(!X(e))throw new TypeError("Argument must be a Buffer");if(t===void 0&&(t=0),n===void 0&&(n=e?e.length:0),i===void 0&&(i=0),a===void 0&&(a=this.length),t<0||n>e.length||i<0||a>this.length)throw new RangeError("out of range index");if(i>=a&&t>=n)return 0;if(i>=a)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,i>>>=0,a>>>=0,this===e)return 0;for(var o=a-i,u=n-t,c=Math.min(o,u),h=this.slice(i,a),d=e.slice(t,n),s=0;s<c;++s)if(h[s]!==d[s]){o=h[s],u=d[s];break}return o<u?-1:u<o?1:0};function Dt(r,e,t,n,i){if(r.length===0)return-1;if(typeof t=="string"?(n=t,t=0):t>2147483647?t=2147483647:t<-2147483648&&(t=-2147483648),t=+t,isNaN(t)&&(t=i?0:r.length-1),t<0&&(t=r.length+t),t>=r.length){if(i)return-1;t=r.length-1}else if(t<0)if(i)t=0;else return-1;if(typeof e=="string"&&(e=p.from(e,n)),X(e))return e.length===0?-1:Ct(r,e,t,n,i);if(typeof e=="number")return e=e&255,p.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(r,e,t):Uint8Array.prototype.lastIndexOf.call(r,e,t):Ct(r,[e],t,n,i);throw new TypeError("val must be string, number or Buffer")}function Ct(r,e,t,n,i){var a=1,o=r.length,u=e.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(r.length<2||e.length<2)return-1;a=2,o/=2,u/=2,t/=2}function c(l,m){return a===1?l[m]:l.readUInt16BE(m*a)}var h;if(i){var d=-1;for(h=t;h<o;h++)if(c(r,h)===c(e,d===-1?0:h-d)){if(d===-1&&(d=h),h-d+1===u)return d*a}else d!==-1&&(h-=h-d),d=-1}else for(t+u>o&&(t=o-u),h=t;h>=0;h--){for(var s=!0,_=0;_<u;_++)if(c(r,h+_)!==c(e,_)){s=!1;break}if(s)return h}return-1}p.prototype.includes=function(e,t,n){return this.indexOf(e,t,n)!==-1},p.prototype.indexOf=function(e,t,n){return Dt(this,e,t,n,!0)},p.prototype.lastIndexOf=function(e,t,n){return Dt(this,e,t,n,!1)};function _o(r,e,t,n){t=Number(t)||0;var i=r.length-t;n?(n=Number(n),n>i&&(n=i)):n=i;var a=e.length;if(a%2!==0)throw new TypeError("Invalid hex string");n>a/2&&(n=a/2);for(var o=0;o<n;++o){var u=parseInt(e.substr(o*2,2),16);if(isNaN(u))return o;r[t+o]=u}return o}function go(r,e,t,n){return He(Ge(e,r.length-t),r,t,n)}function qt(r,e,t,n){return He(Po(e),r,t,n)}function yo(r,e,t,n){return qt(r,e,t,n)}function vo(r,e,t,n){return He(Vt(e),r,t,n)}function mo(r,e,t,n){return He(Fo(e,r.length-t),r,t,n)}p.prototype.write=function(e,t,n,i){if(t===void 0)i="utf8",n=this.length,t=0;else if(n===void 0&&typeof t=="string")i=t,n=this.length,t=0;else if(isFinite(t))t=t|0,isFinite(n)?(n=n|0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var a=this.length-t;if((n===void 0||n>a)&&(n=a),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return _o(this,e,t,n);case"utf8":case"utf-8":return go(this,e,t,n);case"ascii":return qt(this,e,t,n);case"latin1":case"binary":return yo(this,e,t,n);case"base64":return vo(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return mo(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},p.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function wo(r,e,t){return e===0&&t===r.length?xt(r):xt(r.slice(e,t))}function Nt(r,e,t){t=Math.min(r.length,t);for(var n=[],i=e;i<t;){var a=r[i],o=null,u=a>239?4:a>223?3:a>191?2:1;if(i+u<=t){var c,h,d,s;switch(u){case 1:a<128&&(o=a);break;case 2:c=r[i+1],(c&192)===128&&(s=(a&31)<<6|c&63,s>127&&(o=s));break;case 3:c=r[i+1],h=r[i+2],(c&192)===128&&(h&192)===128&&(s=(a&15)<<12|(c&63)<<6|h&63,s>2047&&(s<55296||s>57343)&&(o=s));break;case 4:c=r[i+1],h=r[i+2],d=r[i+3],(c&192)===128&&(h&192)===128&&(d&192)===128&&(s=(a&15)<<18|(c&63)<<12|(h&63)<<6|d&63,s>65535&&s<1114112&&(o=s))}}o===null?(o=65533,u=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=u}return bo(n)}var kt=4096;function bo(r){var e=r.length;if(e<=kt)return String.fromCharCode.apply(String,r);for(var t="",n=0;n<e;)t+=String.fromCharCode.apply(String,r.slice(n,n+=kt));return t}function Eo(r,e,t){var n="";t=Math.min(r.length,t);for(var i=e;i<t;++i)n+=String.fromCharCode(r[i]&127);return n}function $o(r,e,t){var n="";t=Math.min(r.length,t);for(var i=e;i<t;++i)n+=String.fromCharCode(r[i]);return n}function Io(r,e,t){var n=r.length;(!e||e<0)&&(e=0),(!t||t<0||t>n)&&(t=n);for(var i="",a=e;a<t;++a)i+=To(r[a]);return i}function So(r,e,t){for(var n=r.slice(e,t),i="",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+n[a+1]*256);return i}p.prototype.slice=function(e,t){var n=this.length;e=~~e,t=t===void 0?n:~~t,e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),t<e&&(t=e);var i;if(p.TYPED_ARRAY_SUPPORT)i=this.subarray(e,t),i.__proto__=p.prototype;else{var a=t-e;i=new p(a,void 0);for(var o=0;o<a;++o)i[o]=this[o+e]}return i};function M(r,e,t){if(r%1!==0||r<0)throw new RangeError("offset is not uint");if(r+e>t)throw new RangeError("Trying to access beyond buffer length")}p.prototype.readUIntLE=function(e,t,n){e=e|0,t=t|0,n||M(e,t,this.length);for(var i=this[e],a=1,o=0;++o<t&&(a*=256);)i+=this[e+o]*a;return i},p.prototype.readUIntBE=function(e,t,n){e=e|0,t=t|0,n||M(e,t,this.length);for(var i=this[e+--t],a=1;t>0&&(a*=256);)i+=this[e+--t]*a;return i},p.prototype.readUInt8=function(e,t){return t||M(e,1,this.length),this[e]},p.prototype.readUInt16LE=function(e,t){return t||M(e,2,this.length),this[e]|this[e+1]<<8},p.prototype.readUInt16BE=function(e,t){return t||M(e,2,this.length),this[e]<<8|this[e+1]},p.prototype.readUInt32LE=function(e,t){return t||M(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216},p.prototype.readUInt32BE=function(e,t){return t||M(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])},p.prototype.readIntLE=function(e,t,n){e=e|0,t=t|0,n||M(e,t,this.length);for(var i=this[e],a=1,o=0;++o<t&&(a*=256);)i+=this[e+o]*a;return a*=128,i>=a&&(i-=Math.pow(2,8*t)),i},p.prototype.readIntBE=function(e,t,n){e=e|0,t=t|0,n||M(e,t,this.length);for(var i=t,a=1,o=this[e+--i];i>0&&(a*=256);)o+=this[e+--i]*a;return a*=128,o>=a&&(o-=Math.pow(2,8*t)),o},p.prototype.readInt8=function(e,t){return t||M(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]},p.prototype.readInt16LE=function(e,t){t||M(e,2,this.length);var n=this[e]|this[e+1]<<8;return n&32768?n|4294901760:n},p.prototype.readInt16BE=function(e,t){t||M(e,2,this.length);var n=this[e+1]|this[e]<<8;return n&32768?n|4294901760:n},p.prototype.readInt32LE=function(e,t){return t||M(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},p.prototype.readInt32BE=function(e,t){return t||M(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},p.prototype.readFloatLE=function(e,t){return t||M(e,4,this.length),Le(this,e,!0,23,4)},p.prototype.readFloatBE=function(e,t){return t||M(e,4,this.length),Le(this,e,!1,23,4)},p.prototype.readDoubleLE=function(e,t){return t||M(e,8,this.length),Le(this,e,!0,52,8)},p.prototype.readDoubleBE=function(e,t){return t||M(e,8,this.length),Le(this,e,!1,52,8)};function k(r,e,t,n,i,a){if(!X(r))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<a)throw new RangeError('"value" argument is out of bounds');if(t+n>r.length)throw new RangeError("Index out of range")}p.prototype.writeUIntLE=function(e,t,n,i){if(e=+e,t=t|0,n=n|0,!i){var a=Math.pow(2,8*n)-1;k(this,e,t,n,a,0)}var o=1,u=0;for(this[t]=e&255;++u<n&&(o*=256);)this[t+u]=e/o&255;return t+n},p.prototype.writeUIntBE=function(e,t,n,i){if(e=+e,t=t|0,n=n|0,!i){var a=Math.pow(2,8*n)-1;k(this,e,t,n,a,0)}var o=n-1,u=1;for(this[t+o]=e&255;--o>=0&&(u*=256);)this[t+o]=e/u&255;return t+n},p.prototype.writeUInt8=function(e,t,n){return e=+e,t=t|0,n||k(this,e,t,1,255,0),p.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=e&255,t+1};function je(r,e,t,n){e<0&&(e=65535+e+1);for(var i=0,a=Math.min(r.length-t,2);i<a;++i)r[t+i]=(e&255<<8*(n?i:1-i))>>>(n?i:1-i)*8}p.prototype.writeUInt16LE=function(e,t,n){return e=+e,t=t|0,n||k(this,e,t,2,65535,0),p.TYPED_ARRAY_SUPPORT?(this[t]=e&255,this[t+1]=e>>>8):je(this,e,t,!0),t+2},p.prototype.writeUInt16BE=function(e,t,n){return e=+e,t=t|0,n||k(this,e,t,2,65535,0),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=e&255):je(this,e,t,!1),t+2};function Xe(r,e,t,n){e<0&&(e=4294967295+e+1);for(var i=0,a=Math.min(r.length-t,4);i<a;++i)r[t+i]=e>>>(n?i:3-i)*8&255}p.prototype.writeUInt32LE=function(e,t,n){return e=+e,t=t|0,n||k(this,e,t,4,4294967295,0),p.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255):Xe(this,e,t,!0),t+4},p.prototype.writeUInt32BE=function(e,t,n){return e=+e,t=t|0,n||k(this,e,t,4,4294967295,0),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255):Xe(this,e,t,!1),t+4},p.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t=t|0,!i){var a=Math.pow(2,8*n-1);k(this,e,t,n,a-1,-a)}var o=0,u=1,c=0;for(this[t]=e&255;++o<n&&(u*=256);)e<0&&c===0&&this[t+o-1]!==0&&(c=1),this[t+o]=(e/u>>0)-c&255;return t+n},p.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t=t|0,!i){var a=Math.pow(2,8*n-1);k(this,e,t,n,a-1,-a)}var o=n-1,u=1,c=0;for(this[t+o]=e&255;--o>=0&&(u*=256);)e<0&&c===0&&this[t+o+1]!==0&&(c=1),this[t+o]=(e/u>>0)-c&255;return t+n},p.prototype.writeInt8=function(e,t,n){return e=+e,t=t|0,n||k(this,e,t,1,127,-128),p.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=e&255,t+1},p.prototype.writeInt16LE=function(e,t,n){return e=+e,t=t|0,n||k(this,e,t,2,32767,-32768),p.TYPED_ARRAY_SUPPORT?(this[t]=e&255,this[t+1]=e>>>8):je(this,e,t,!0),t+2},p.prototype.writeInt16BE=function(e,t,n){return e=+e,t=t|0,n||k(this,e,t,2,32767,-32768),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=e&255):je(this,e,t,!1),t+2},p.prototype.writeInt32LE=function(e,t,n){return e=+e,t=t|0,n||k(this,e,t,4,2147483647,-2147483648),p.TYPED_ARRAY_SUPPORT?(this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Xe(this,e,t,!0),t+4},p.prototype.writeInt32BE=function(e,t,n){return e=+e,t=t|0,n||k(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255):Xe(this,e,t,!1),t+4};function Ut(r,e,t,n,i,a){if(t+n>r.length)throw new RangeError("Index out of range");if(t<0)throw new RangeError("Index out of range")}function Bt(r,e,t,n,i){return i||Ut(r,e,t,4),Tt(r,e,t,n,23,4),t+4}p.prototype.writeFloatLE=function(e,t,n){return Bt(this,e,t,!0,n)},p.prototype.writeFloatBE=function(e,t,n){return Bt(this,e,t,!1,n)};function Lt(r,e,t,n,i){return i||Ut(r,e,t,8),Tt(r,e,t,n,52,8),t+8}p.prototype.writeDoubleLE=function(e,t,n){return Lt(this,e,t,!0,n)},p.prototype.writeDoubleBE=function(e,t,n){return Lt(this,e,t,!1,n)},p.prototype.copy=function(e,t,n,i){if(n||(n=0),!i&&i!==0&&(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i<n&&(i=n),i===n||e.length===0||this.length===0)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t<i-n&&(i=e.length-t+n);var a=i-n,o;if(this===e&&n<t&&t<i)for(o=a-1;o>=0;--o)e[o+t]=this[o+n];else if(a<1e3||!p.TYPED_ARRAY_SUPPORT)for(o=0;o<a;++o)e[o+t]=this[o+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+a),t);return a},p.prototype.fill=function(e,t,n,i){if(typeof e=="string"){if(typeof t=="string"?(i=t,t=0,n=this.length):typeof n=="string"&&(i=n,n=this.length),e.length===1){var a=e.charCodeAt(0);a<256&&(e=a)}if(i!==void 0&&typeof i!="string")throw new TypeError("encoding must be a string");if(typeof i=="string"&&!p.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else typeof e=="number"&&(e=e&255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;t=t>>>0,n=n===void 0?this.length:n>>>0,e||(e=0);var o;if(typeof e=="number")for(o=t;o<n;++o)this[o]=e;else{var u=X(e)?e:Ge(new p(e,i).toString()),c=u.length;for(o=0;o<n-t;++o)this[o+t]=u[o%c]}return this};var Ao=/[^+\/0-9A-Za-z-_]/g;function Oo(r){if(r=xo(r).replace(Ao,""),r.length<2)return"";for(;r.length%4!==0;)r=r+"=";return r}function xo(r){return r.trim?r.trim():r.replace(/^\s+|\s+$/g,"")}function To(r){return r<16?"0"+r.toString(16):r.toString(16)}function Ge(r,e){e=e||1/0;for(var t,n=r.length,i=null,a=[],o=0;o<n;++o){if(t=r.charCodeAt(o),t>55295&&t<57344){if(!i){if(t>56319){(e-=3)>-1&&a.push(239,191,189);continue}else if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=t;continue}if(t<56320){(e-=3)>-1&&a.push(239,191,189),i=t;continue}t=(i-55296<<10|t-56320)+65536}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,t<128){if((e-=1)<0)break;a.push(t)}else if(t<2048){if((e-=2)<0)break;a.push(t>>6|192,t&63|128)}else if(t<65536){if((e-=3)<0)break;a.push(t>>12|224,t>>6&63|128,t&63|128)}else if(t<1114112){if((e-=4)<0)break;a.push(t>>18|240,t>>12&63|128,t>>6&63|128,t&63|128)}else throw new Error("Invalid code point")}return a}function Po(r){for(var e=[],t=0;t<r.length;++t)e.push(r.charCodeAt(t)&255);return e}function Fo(r,e){for(var t,n,i,a=[],o=0;o<r.length&&!((e-=2)<0);++o)t=r.charCodeAt(o),n=t>>8,i=t%256,a.push(i),a.push(n);return a}function Vt(r){return io(Oo(r))}function He(r,e,t,n){for(var i=0;i<n&&!(i+t>=e.length||i>=r.length);++i)e[i+t]=r[i];return i}function Ro(r){return r!==r}function Mo(r){return r!=null&&(!!r._isBuffer||jt(r)||Do(r))}function jt(r){return!!r.constructor&&typeof r.constructor.isBuffer=="function"&&r.constructor.isBuffer(r)}function Do(r){return typeof r.readFloatLE=="function"&&typeof r.slice=="function"&&jt(r.slice(0,0))}var R={};function Co(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}var ue=Co,qo=Z,No=ue,ko="[object AsyncFunction]",Uo="[object Function]",Bo="[object GeneratorFunction]",Lo="[object Proxy]";function Vo(r){if(!No(r))return!1;var e=qo(r);return e==Uo||e==Bo||e==ko||e==Lo}var qr=Vo,jo=z,Xo=jo["__core-js_shared__"],Go=Xo,Nr=Go,Xt=function(){var r=/[^.]+$/.exec(Nr&&Nr.keys&&Nr.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function Ho(r){return!!Xt&&Xt in r}var Wo=Ho,zo=Function.prototype,Yo=zo.toString;function Ko(r){if(r!=null){try{return Yo.call(r)}catch{}try{return r+""}catch{}}return""}var Gt=Ko,Zo=qr,Jo=Wo,Qo=ue,es=Gt,rs=/[\\^$.*+?()[\]{}|]/g,ts=/^\[object .+?Constructor\]$/,ns=Function.prototype,is=Object.prototype,as=ns.toString,os=is.hasOwnProperty,ss=RegExp("^"+as.call(os).replace(rs,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function us(r){if(!Qo(r)||Jo(r))return!1;var e=Zo(r)?ss:ts;return e.test(es(r))}var cs=us;function ls(r,e){return r?.[e]}var fs=ls,ds=cs,hs=fs;function ps(r,e){var t=hs(r,e);return ds(t)?t:void 0}var te=ps,_s=te,gs=function(){try{var r=_s(Object,"defineProperty");return r({},"",{}),r}catch{}}(),Ht=gs,Wt=Ht;function ys(r,e,t){e=="__proto__"&&Wt?Wt(r,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):r[e]=t}var zt=ys;function vs(r,e){return r===e||r!==r&&e!==e}var We=vs,ms=zt,ws=We,bs=Object.prototype,Es=bs.hasOwnProperty;function $s(r,e,t){var n=r[e];(!(Es.call(r,e)&&ws(n,t))||t===void 0&&!(e in r))&&ms(r,e,t)}var Is=$s,Ss=Is,As=zt;function Os(r,e,t,n){var i=!t;t||(t={});for(var a=-1,o=e.length;++a<o;){var u=e[a],c=n?n(t[u],r[u],u,t,r):void 0;c===void 0&&(c=r[u]),i?As(t,u,c):Ss(t,u,c)}return t}var xs=Os;function Ts(r){return r}var ze=Ts;function Ps(r,e,t){switch(t.length){case 0:return r.call(e);case 1:return r.call(e,t[0]);case 2:return r.call(e,t[0],t[1]);case 3:return r.call(e,t[0],t[1],t[2])}return r.apply(e,t)}var Fs=Ps,Rs=Fs,Yt=Math.max;function Ms(r,e,t){return e=Yt(e===void 0?r.length-1:e,0),function(){for(var n=arguments,i=-1,a=Yt(n.length-e,0),o=Array(a);++i<a;)o[i]=n[e+i];i=-1;for(var u=Array(e+1);++i<e;)u[i]=n[i];return u[e]=t(o),Rs(r,this,u)}}var Ds=Ms;function Cs(r){return function(){return r}}var qs=Cs,Ns=qs,Kt=Ht,ks=ze,Us=Kt?function(r,e){return Kt(r,"toString",{configurable:!0,enumerable:!1,value:Ns(e),writable:!0})}:ks,Bs=Us,Ls=800,Vs=16,js=Date.now;function Xs(r){var e=0,t=0;return function(){var n=js(),i=Vs-(n-t);if(t=n,i>0){if(++e>=Ls)return arguments[0]}else e=0;return r.apply(void 0,arguments)}}var Gs=Xs,Hs=Bs,Ws=Gs,zs=Ws(Hs),Ys=zs,Ks=ze,Zs=Ds,Js=Ys;function Qs(r,e){return Js(Zs(r,e,Ks),r+"")}var eu=Qs,ru=9007199254740991;function tu(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=ru}var kr=tu,nu=qr,iu=kr;function au(r){return r!=null&&iu(r.length)&&!nu(r)}var we=au,ou=9007199254740991,su=/^(?:0|[1-9]\d*)$/;function uu(r,e){var t=typeof r;return e=e??ou,!!e&&(t=="number"||t!="symbol"&&su.test(r))&&r>-1&&r%1==0&&r<e}var Ur=uu,cu=We,lu=we,fu=Ur,du=ue;function hu(r,e,t){if(!du(t))return!1;var n=typeof e;return(n=="number"?lu(t)&&fu(e,t.length):n=="string"&&e in t)?cu(t[e],r):!1}var Zt=hu,pu=eu,_u=Zt;function gu(r){return pu(function(e,t){var n=-1,i=t.length,a=i>1?t[i-1]:void 0,o=i>2?t[2]:void 0;for(a=r.length>3&&typeof a=="function"?(i--,a):void 0,o&&_u(t[0],t[1],o)&&(a=i<3?void 0:a,i=1),e=Object(e);++n<i;){var u=t[n];u&&r(e,u,n,a)}return e})}var yu=gu;function vu(r,e){for(var t=-1,n=Array(r);++t<r;)n[t]=e(t);return n}var Jt=vu,mu=Z,wu=J,bu="[object Arguments]";function Eu(r){return wu(r)&&mu(r)==bu}var $u=Eu,Qt=$u,Iu=J,en=Object.prototype,Su=en.hasOwnProperty,Au=en.propertyIsEnumerable,Ou=Qt(function(){return arguments}())?Qt:function(r){return Iu(r)&&Su.call(r,"callee")&&!Au.call(r,"callee")},rn=Ou,xu=Array.isArray,N=xu,Ye={exports:{}};function Tu(){return!1}var Pu=Tu;Ye.exports,function(r,e){var t=z,n=Pu,i=e&&!e.nodeType&&e,a=i&&!0&&r&&!r.nodeType&&r,o=a&&a.exports===i,u=o?t.Buffer:void 0,c=u?u.isBuffer:void 0,h=c||n;r.exports=h}(Ye,Ye.exports);var tn=Ye.exports,Fu=Z,Ru=kr,Mu=J,Du="[object Arguments]",Cu="[object Array]",qu="[object Boolean]",Nu="[object Date]",ku="[object Error]",Uu="[object Function]",Bu="[object Map]",Lu="[object Number]",Vu="[object Object]",ju="[object RegExp]",Xu="[object Set]",Gu="[object String]",Hu="[object WeakMap]",Wu="[object ArrayBuffer]",zu="[object DataView]",Yu="[object Float32Array]",Ku="[object Float64Array]",Zu="[object Int8Array]",Ju="[object Int16Array]",Qu="[object Int32Array]",ec="[object Uint8Array]",rc="[object Uint8ClampedArray]",tc="[object Uint16Array]",nc="[object Uint32Array]",F={};F[Yu]=F[Ku]=F[Zu]=F[Ju]=F[Qu]=F[ec]=F[rc]=F[tc]=F[nc]=!0,F[Du]=F[Cu]=F[Wu]=F[qu]=F[zu]=F[Nu]=F[ku]=F[Uu]=F[Bu]=F[Lu]=F[Vu]=F[ju]=F[Xu]=F[Gu]=F[Hu]=!1;function ic(r){return Mu(r)&&Ru(r.length)&&!!F[Fu(r)]}var ac=ic;function oc(r){return function(e){return r(e)}}var sc=oc,Ke={exports:{}};Ke.exports,function(r,e){var t=bt,n=e&&!e.nodeType&&e,i=n&&!0&&r&&!r.nodeType&&r,a=i&&i.exports===n,o=a&&t.process,u=function(){try{var c=i&&i.require&&i.require("util").types;return c||o&&o.binding&&o.binding("util")}catch{}}();r.exports=u}(Ke,Ke.exports);var uc=Ke.exports,cc=ac,lc=sc,nn=uc,an=nn&&nn.isTypedArray,fc=an?lc(an):cc,on=fc,dc=Jt,hc=rn,pc=N,_c=tn,gc=Ur,yc=on,vc=Object.prototype,mc=vc.hasOwnProperty;function wc(r,e){var t=pc(r),n=!t&&hc(r),i=!t&&!n&&_c(r),a=!t&&!n&&!i&&yc(r),o=t||n||i||a,u=o?dc(r.length,String):[],c=u.length;for(var h in r)(e||mc.call(r,h))&&!(o&&(h=="length"||i&&(h=="offset"||h=="parent")||a&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||gc(h,c)))&&u.push(h);return u}var sn=wc,bc=Object.prototype;function Ec(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||bc;return r===t}var un=Ec;function $c(r){var e=[];if(r!=null)for(var t in Object(r))e.push(t);return e}var Ic=$c,Sc=ue,Ac=un,Oc=Ic,xc=Object.prototype,Tc=xc.hasOwnProperty;function Pc(r){if(!Sc(r))return Oc(r);var e=Ac(r),t=[];for(var n in r)n=="constructor"&&(e||!Tc.call(r,n))||t.push(n);return t}var Fc=Pc,Rc=sn,Mc=Fc,Dc=we;function Cc(r){return Dc(r)?Rc(r,!0):Mc(r)}var qc=Cc,Nc=xs,kc=yu,Uc=qc,Bc=kc(function(r,e){Nc(e,Uc(e),r)}),Lc=Bc,Vc=Lc,Ze={},ne={};function jc(r,e){for(var t=-1,n=r==null?0:r.length;++t<n;)if(!e(r[t],t,r))return!1;return!0}var Xc=jc;function Gc(r){return function(e,t,n){for(var i=-1,a=Object(e),o=n(e),u=o.length;u--;){var c=o[r?u:++i];if(t(a[c],c,a)===!1)break}return e}}var Hc=Gc,Wc=Hc,zc=Wc(),Yc=zc;function Kc(r,e){return function(t){return r(e(t))}}var Zc=Kc,Jc=Zc,Qc=Jc(Object.keys,Object),el=Qc,rl=un,tl=el,nl=Object.prototype,il=nl.hasOwnProperty;function al(r){if(!rl(r))return tl(r);var e=[];for(var t in Object(r))il.call(r,t)&&t!="constructor"&&e.push(t);return e}var ol=al,sl=sn,ul=ol,cl=we;function ll(r){return cl(r)?sl(r):ul(r)}var Je=ll,fl=Yc,dl=Je;function hl(r,e){return r&&fl(r,e,dl)}var pl=hl,_l=we;function gl(r,e){return function(t,n){if(t==null)return t;if(!_l(t))return r(t,n);for(var i=t.length,a=e?i:-1,o=Object(t);(e?a--:++a<i)&&n(o[a],a,o)!==!1;);return t}}var yl=gl,vl=pl,ml=yl,wl=ml(vl),Br=wl,bl=Br;function El(r,e){var t=!0;return bl(r,function(n,i,a){return t=!!e(n,i,a),t}),t}var $l=El;function Il(){this.__data__=[],this.size=0}var Sl=Il,Al=We;function Ol(r,e){for(var t=r.length;t--;)if(Al(r[t][0],e))return t;return-1}var Qe=Ol,xl=Qe,Tl=Array.prototype,Pl=Tl.splice;function Fl(r){var e=this.__data__,t=xl(e,r);if(t<0)return!1;var n=e.length-1;return t==n?e.pop():Pl.call(e,t,1),--this.size,!0}var Rl=Fl,Ml=Qe;function Dl(r){var e=this.__data__,t=Ml(e,r);return t<0?void 0:e[t][1]}var Cl=Dl,ql=Qe;function Nl(r){return ql(this.__data__,r)>-1}var kl=Nl,Ul=Qe;function Bl(r,e){var t=this.__data__,n=Ul(t,r);return n<0?(++this.size,t.push([r,e])):t[n][1]=e,this}var Ll=Bl,Vl=Sl,jl=Rl,Xl=Cl,Gl=kl,Hl=Ll;function ce(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var n=r[e];this.set(n[0],n[1])}}ce.prototype.clear=Vl,ce.prototype.delete=jl,ce.prototype.get=Xl,ce.prototype.has=Gl,ce.prototype.set=Hl;var er=ce,Wl=er;function zl(){this.__data__=new Wl,this.size=0}var Yl=zl;function Kl(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}var Zl=Kl;function Jl(r){return this.__data__.get(r)}var Ql=Jl;function ef(r){return this.__data__.has(r)}var rf=ef,tf=te,nf=z,af=tf(nf,"Map"),Lr=af,of=te,sf=of(Object,"create"),rr=sf,cn=rr;function uf(){this.__data__=cn?cn(null):{},this.size=0}var cf=uf;function lf(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}var ff=lf,df=rr,hf="__lodash_hash_undefined__",pf=Object.prototype,_f=pf.hasOwnProperty;function gf(r){var e=this.__data__;if(df){var t=e[r];return t===hf?void 0:t}return _f.call(e,r)?e[r]:void 0}var yf=gf,vf=rr,mf=Object.prototype,wf=mf.hasOwnProperty;function bf(r){var e=this.__data__;return vf?e[r]!==void 0:wf.call(e,r)}var Ef=bf,$f=rr,If="__lodash_hash_undefined__";function Sf(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=$f&&e===void 0?If:e,this}var Af=Sf,Of=cf,xf=ff,Tf=yf,Pf=Ef,Ff=Af;function le(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var n=r[e];this.set(n[0],n[1])}}le.prototype.clear=Of,le.prototype.delete=xf,le.prototype.get=Tf,le.prototype.has=Pf,le.prototype.set=Ff;var Rf=le,ln=Rf,Mf=er,Df=Lr;function Cf(){this.size=0,this.__data__={hash:new ln,map:new(Df||Mf),string:new ln}}var qf=Cf;function Nf(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}var kf=Nf,Uf=kf;function Bf(r,e){var t=r.__data__;return Uf(e)?t[typeof e=="string"?"string":"hash"]:t.map}var tr=Bf,Lf=tr;function Vf(r){var e=Lf(this,r).delete(r);return this.size-=e?1:0,e}var jf=Vf,Xf=tr;function Gf(r){return Xf(this,r).get(r)}var Hf=Gf,Wf=tr;function zf(r){return Wf(this,r).has(r)}var Yf=zf,Kf=tr;function Zf(r,e){var t=Kf(this,r),n=t.size;return t.set(r,e),this.size+=t.size==n?0:1,this}var Jf=Zf,Qf=qf,ed=jf,rd=Hf,td=Yf,nd=Jf;function fe(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var n=r[e];this.set(n[0],n[1])}}fe.prototype.clear=Qf,fe.prototype.delete=ed,fe.prototype.get=rd,fe.prototype.has=td,fe.prototype.set=nd;var Vr=fe,id=er,ad=Lr,od=Vr,sd=200;function ud(r,e){var t=this.__data__;if(t instanceof id){var n=t.__data__;if(!ad||n.length<sd-1)return n.push([r,e]),this.size=++t.size,this;t=this.__data__=new od(n)}return t.set(r,e),this.size=t.size,this}var cd=ud,ld=er,fd=Yl,dd=Zl,hd=Ql,pd=rf,_d=cd;function de(r){var e=this.__data__=new ld(r);this.size=e.size}de.prototype.clear=fd,de.prototype.delete=dd,de.prototype.get=hd,de.prototype.has=pd,de.prototype.set=_d;var fn=de,gd="__lodash_hash_undefined__";function yd(r){return this.__data__.set(r,gd),this}var vd=yd;function md(r){return this.__data__.has(r)}var wd=md,bd=Vr,Ed=vd,$d=wd;function nr(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new bd;++e<t;)this.add(r[e])}nr.prototype.add=nr.prototype.push=Ed,nr.prototype.has=$d;var Id=nr;function Sd(r,e){for(var t=-1,n=r==null?0:r.length;++t<n;)if(e(r[t],t,r))return!0;return!1}var Ad=Sd;function Od(r,e){return r.has(e)}var xd=Od,Td=Id,Pd=Ad,Fd=xd,Rd=1,Md=2;function Dd(r,e,t,n,i,a){var o=t&Rd,u=r.length,c=e.length;if(u!=c&&!(o&&c>u))return!1;var h=a.get(r),d=a.get(e);if(h&&d)return h==e&&d==r;var s=-1,_=!0,l=t&Md?new Td:void 0;for(a.set(r,e),a.set(e,r);++s<u;){var m=r[s],E=e[s];if(n)var I=o?n(E,m,s,e,r,a):n(m,E,s,r,e,a);if(I!==void 0){if(I)continue;_=!1;break}if(l){if(!Pd(e,function(x,O){if(!Fd(l,O)&&(m===x||i(m,x,t,n,a)))return l.push(O)})){_=!1;break}}else if(!(m===E||i(m,E,t,n,a))){_=!1;break}}return a.delete(r),a.delete(e),_}var dn=Dd,Cd=z,qd=Cd.Uint8Array,Nd=qd;function kd(r){var e=-1,t=Array(r.size);return r.forEach(function(n,i){t[++e]=[i,n]}),t}var Ud=kd;function Bd(r){var e=-1,t=Array(r.size);return r.forEach(function(n){t[++e]=n}),t}var Ld=Bd,hn=Ue,pn=Nd,Vd=We,jd=dn,Xd=Ud,Gd=Ld,Hd=1,Wd=2,zd="[object Boolean]",Yd="[object Date]",Kd="[object Error]",Zd="[object Map]",Jd="[object Number]",Qd="[object RegExp]",eh="[object Set]",rh="[object String]",th="[object Symbol]",nh="[object ArrayBuffer]",ih="[object DataView]",_n=hn?hn.prototype:void 0,jr=_n?_n.valueOf:void 0;function ah(r,e,t,n,i,a,o){switch(t){case ih:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case nh:return!(r.byteLength!=e.byteLength||!a(new pn(r),new pn(e)));case zd:case Yd:case Jd:return Vd(+r,+e);case Kd:return r.name==e.name&&r.message==e.message;case Qd:case rh:return r==e+"";case Zd:var u=Xd;case eh:var c=n&Hd;if(u||(u=Gd),r.size!=e.size&&!c)return!1;var h=o.get(r);if(h)return h==e;n|=Wd,o.set(r,e);var d=jd(u(r),u(e),n,i,a,o);return o.delete(r),d;case th:if(jr)return jr.call(r)==jr.call(e)}return!1}var oh=ah;function sh(r,e){for(var t=-1,n=e.length,i=r.length;++t<n;)r[i+t]=e[t];return r}var uh=sh,ch=uh,lh=N;function fh(r,e,t){var n=e(r);return lh(r)?n:ch(n,t(r))}var dh=fh;function hh(r,e){for(var t=-1,n=r==null?0:r.length,i=0,a=[];++t<n;){var o=r[t];e(o,t,r)&&(a[i++]=o)}return a}var ph=hh;function _h(){return[]}var gh=_h,yh=ph,vh=gh,mh=Object.prototype,wh=mh.propertyIsEnumerable,gn=Object.getOwnPropertySymbols,bh=gn?function(r){return r==null?[]:(r=Object(r),yh(gn(r),function(e){return wh.call(r,e)}))}:vh,Eh=bh,$h=dh,Ih=Eh,Sh=Je;function Ah(r){return $h(r,Sh,Ih)}var Oh=Ah,yn=Oh,xh=1,Th=Object.prototype,Ph=Th.hasOwnProperty;function Fh(r,e,t,n,i,a){var o=t&xh,u=yn(r),c=u.length,h=yn(e),d=h.length;if(c!=d&&!o)return!1;for(var s=c;s--;){var _=u[s];if(!(o?_ in e:Ph.call(e,_)))return!1}var l=a.get(r),m=a.get(e);if(l&&m)return l==e&&m==r;var E=!0;a.set(r,e),a.set(e,r);for(var I=o;++s<c;){_=u[s];var x=r[_],O=e[_];if(n)var f=o?n(O,x,_,e,r,a):n(x,O,_,r,e,a);if(!(f===void 0?x===O||i(x,O,t,n,a):f)){E=!1;break}I||(I=_=="constructor")}if(E&&!I){var S=r.constructor,P=e.constructor;S!=P&&"constructor"in r&&"constructor"in e&&!(typeof S=="function"&&S instanceof S&&typeof P=="function"&&P instanceof P)&&(E=!1)}return a.delete(r),a.delete(e),E}var Rh=Fh,Mh=te,Dh=z,Ch=Mh(Dh,"DataView"),qh=Ch,Nh=te,kh=z,Uh=Nh(kh,"Promise"),Bh=Uh,Lh=te,Vh=z,jh=Lh(Vh,"Set"),Xh=jh,Gh=te,Hh=z,Wh=Gh(Hh,"WeakMap"),zh=Wh,Xr=qh,Gr=Lr,Hr=Bh,Wr=Xh,zr=zh,vn=Z,he=Gt,mn="[object Map]",Yh="[object Object]",wn="[object Promise]",bn="[object Set]",En="[object WeakMap]",$n="[object DataView]",Kh=he(Xr),Zh=he(Gr),Jh=he(Hr),Qh=he(Wr),ep=he(zr),ie=vn;(Xr&&ie(new Xr(new ArrayBuffer(1)))!=$n||Gr&&ie(new Gr)!=mn||Hr&&ie(Hr.resolve())!=wn||Wr&&ie(new Wr)!=bn||zr&&ie(new zr)!=En)&&(ie=function(r){var e=vn(r),t=e==Yh?r.constructor:void 0,n=t?he(t):"";if(n)switch(n){case Kh:return $n;case Zh:return mn;case Jh:return wn;case Qh:return bn;case ep:return En}return e});var rp=ie,Yr=fn,tp=dn,np=oh,ip=Rh,In=rp,Sn=N,An=tn,ap=on,op=1,On="[object Arguments]",xn="[object Array]",ir="[object Object]",sp=Object.prototype,Tn=sp.hasOwnProperty;function up(r,e,t,n,i,a){var o=Sn(r),u=Sn(e),c=o?xn:In(r),h=u?xn:In(e);c=c==On?ir:c,h=h==On?ir:h;var d=c==ir,s=h==ir,_=c==h;if(_&&An(r)){if(!An(e))return!1;o=!0,d=!1}if(_&&!d)return a||(a=new Yr),o||ap(r)?tp(r,e,t,n,i,a):np(r,e,c,t,n,i,a);if(!(t&op)){var l=d&&Tn.call(r,"__wrapped__"),m=s&&Tn.call(e,"__wrapped__");if(l||m){var E=l?r.value():r,I=m?e.value():e;return a||(a=new Yr),i(E,I,t,n,a)}}return _?(a||(a=new Yr),ip(r,e,t,n,i,a)):!1}var cp=up,lp=cp,Pn=J;function Fn(r,e,t,n,i){return r===e?!0:r==null||e==null||!Pn(r)&&!Pn(e)?r!==r&&e!==e:lp(r,e,t,n,Fn,i)}var Rn=Fn,fp=fn,dp=Rn,hp=1,pp=2;function _p(r,e,t,n){var i=t.length,a=i,o=!n;if(r==null)return!a;for(r=Object(r);i--;){var u=t[i];if(o&&u[2]?u[1]!==r[u[0]]:!(u[0]in r))return!1}for(;++i<a;){u=t[i];var c=u[0],h=r[c],d=u[1];if(o&&u[2]){if(h===void 0&&!(c in r))return!1}else{var s=new fp;if(n)var _=n(h,d,c,r,e,s);if(!(_===void 0?dp(d,h,hp|pp,n,s):_))return!1}}return!0}var gp=_p,yp=ue;function vp(r){return r===r&&!yp(r)}var Mn=vp,mp=Mn,wp=Je;function bp(r){for(var e=wp(r),t=e.length;t--;){var n=e[t],i=r[n];e[t]=[n,i,mp(i)]}return e}var Ep=bp;function $p(r,e){return function(t){return t==null?!1:t[r]===e&&(e!==void 0||r in Object(t))}}var Dn=$p,Ip=gp,Sp=Ep,Ap=Dn;function Op(r){var e=Sp(r);return e.length==1&&e[0][2]?Ap(e[0][0],e[0][1]):function(t){return t===r||Ip(t,r,e)}}var xp=Op,Tp=Z,Pp=J,Fp="[object Symbol]";function Rp(r){return typeof r=="symbol"||Pp(r)&&Tp(r)==Fp}var ar=Rp,Mp=N,Dp=ar,Cp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,qp=/^\w*$/;function Np(r,e){if(Mp(r))return!1;var t=typeof r;return t=="number"||t=="symbol"||t=="boolean"||r==null||Dp(r)?!0:qp.test(r)||!Cp.test(r)||e!=null&&r in Object(e)}var Kr=Np,Cn=Vr,kp="Expected a function";function Zr(r,e){if(typeof r!="function"||e!=null&&typeof e!="function")throw new TypeError(kp);var t=function(){var n=arguments,i=e?e.apply(this,n):n[0],a=t.cache;if(a.has(i))return a.get(i);var o=r.apply(this,n);return t.cache=a.set(i,o)||a,o};return t.cache=new(Zr.Cache||Cn),t}Zr.Cache=Cn;var Up=Zr,Bp=Up,Lp=500;function Vp(r){var e=Bp(r,function(n){return t.size===Lp&&t.clear(),n}),t=e.cache;return e}var jp=Vp,Xp=jp,Gp=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Hp=/\\(\\)?/g,Wp=Xp(function(r){var e=[];return r.charCodeAt(0)===46&&e.push(""),r.replace(Gp,function(t,n,i,a){e.push(i?a.replace(Hp,"$1"):n||t)}),e}),zp=Wp;function Yp(r,e){for(var t=-1,n=r==null?0:r.length,i=Array(n);++t<n;)i[t]=e(r[t],t,r);return i}var Jr=Yp,qn=Ue,Kp=Jr,Zp=N,Jp=ar,Qp=1/0,Nn=qn?qn.prototype:void 0,kn=Nn?Nn.toString:void 0;function Un(r){if(typeof r=="string")return r;if(Zp(r))return Kp(r,Un)+"";if(Jp(r))return kn?kn.call(r):"";var e=r+"";return e=="0"&&1/r==-Qp?"-0":e}var e_=Un,r_=e_;function t_(r){return r==null?"":r_(r)}var n_=t_,i_=N,a_=Kr,o_=zp,s_=n_;function u_(r,e){return i_(r)?r:a_(r,e)?[r]:o_(s_(r))}var Bn=u_,c_=ar,l_=1/0;function f_(r){if(typeof r=="string"||c_(r))return r;var e=r+"";return e=="0"&&1/r==-l_?"-0":e}var or=f_,d_=Bn,h_=or;function p_(r,e){e=d_(e,r);for(var t=0,n=e.length;r!=null&&t<n;)r=r[h_(e[t++])];return t&&t==n?r:void 0}var Ln=p_,__=Ln;function g_(r,e,t){var n=r==null?void 0:__(r,e);return n===void 0?t:n}var y_=g_;function v_(r,e){return r!=null&&e in Object(r)}var m_=v_,w_=Bn,b_=rn,E_=N,$_=Ur,I_=kr,S_=or;function A_(r,e,t){e=w_(e,r);for(var n=-1,i=e.length,a=!1;++n<i;){var o=S_(e[n]);if(!(a=r!=null&&t(r,o)))break;r=r[o]}return a||++n!=i?a:(i=r==null?0:r.length,!!i&&I_(i)&&$_(o,i)&&(E_(r)||b_(r)))}var O_=A_,x_=m_,T_=O_;function P_(r,e){return r!=null&&T_(r,e,x_)}var F_=P_,R_=Rn,M_=y_,D_=F_,C_=Kr,q_=Mn,N_=Dn,k_=or,U_=1,B_=2;function L_(r,e){return C_(r)&&q_(e)?N_(k_(r),e):function(t){var n=M_(t,r);return n===void 0&&n===e?D_(t,r):R_(e,n,U_|B_)}}var V_=L_;function j_(r){return function(e){return e?.[r]}}var X_=j_,G_=Ln;function H_(r){return function(e){return G_(e,r)}}var W_=H_,z_=X_,Y_=W_,K_=Kr,Z_=or;function J_(r){return K_(r)?z_(Z_(r)):Y_(r)}var Q_=J_,eg=xp,rg=V_,tg=ze,ng=N,ig=Q_;function ag(r){return typeof r=="function"?r:r==null?tg:typeof r=="object"?ng(r)?rg(r[0],r[1]):eg(r):ig(r)}var Vn=ag,og=Xc,sg=$l,ug=Vn,cg=N,lg=Zt;function fg(r,e,t){var n=cg(r)?og:sg;return t&&lg(r,e,t)&&(e=void 0),n(r,ug(e))}var Qr=fg;Object.defineProperty(ne,"__esModule",{value:!0}),ne.calculatePadding=_g,ne.slicePadding=gg;var dg=Qr,hg=pg(dg);function pg(r){return r&&r.__esModule?r:{default:r}}function _g(r){switch(r%4){case 0:return 0;case 1:return 3;case 2:return 2;case 3:return 1;default:return null}}function gg(r,e){var t=r.slice(e),n=(0,hg.default)(t.buffer(),function(i){return i===0});if(n!==!0)throw new Error("XDR Read Error: invalid padding")}Object.defineProperty(Ze,"__esModule",{value:!0}),Ze.Cursor=void 0;var yg=function(){function r(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),vg=ne;function mg(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}var et=function(){function r(e){mg(this,r),e instanceof p||(e=typeof e=="number"?p.alloc(e):p.from(e)),this._setBuffer(e),this.rewind()}return yg(r,[{key:"_setBuffer",value:function(t){this._buffer=t,this.length=t.length}},{key:"buffer",value:function(){return this._buffer}},{key:"tap",value:function(t){return t(this),this}},{key:"clone",value:function(t){var n=new this.constructor(this.buffer());return n.seek(arguments.length===0?this.tell():t),n}},{key:"tell",value:function(){return this._index}},{key:"seek",value:function(t,n){return arguments.length===1&&(n=t,t="="),t==="+"?this._index+=n:t==="-"?this._index-=n:this._index=n,this}},{key:"rewind",value:function(){return this.seek(0)}},{key:"eof",value:function(){return this.tell()===this.buffer().length}},{key:"write",value:function(t,n,i){return this.seek("+",this.buffer().write(t,this.tell(),n,i))}},{key:"fill",value:function(t,n){return arguments.length===1&&(n=this.buffer().length-this.tell()),this.buffer().fill(t,this.tell(),this.tell()+n),this.seek("+",n),this}},{key:"slice",value:function(t){arguments.length===0&&(t=this.length-this.tell());var n=new this.constructor(this.buffer().slice(this.tell(),this.tell()+t));return this.seek("+",t),n}},{key:"copyFrom",value:function(t){var n=t instanceof p?t:t.buffer();return n.copy(this.buffer(),this.tell(),0,n.length),this.seek("+",n.length),this}},{key:"concat",value:function(t){t.forEach(function(i,a){i instanceof r&&(t[a]=i.buffer())}),t.unshift(this.buffer());var n=p.concat(t);return this._setBuffer(n),this}},{key:"toString",value:function(t,n){arguments.length===0?(t="utf8",n=this.buffer().length-this.tell()):arguments.length===1&&(n=this.buffer().length-this.tell());var i=this.buffer().toString(t,this.tell(),this.tell()+n);return this.seek("+",n),i}},{key:"writeBufferPadded",value:function(t){var n=(0,vg.calculatePadding)(t.length),i=p.alloc(n);return this.copyFrom(new r(t)).copyFrom(new r(i))}}]),r}();[[1,["readInt8","readUInt8"]],[2,["readInt16BE","readInt16LE","readUInt16BE","readUInt16LE"]],[4,["readInt32BE","readInt32LE","readUInt32BE","readUInt32LE","readFloatBE","readFloatLE"]],[8,["readDoubleBE","readDoubleLE"]]].forEach(function(r){r[1].forEach(function(e){et.prototype[e]=function(){var n=this.buffer()[e](this.tell());return this.seek("+",r[0]),n}})}),[[1,["writeInt8","writeUInt8"]],[2,["writeInt16BE","writeInt16LE","writeUInt16BE","writeUInt16LE"]],[4,["writeInt32BE","writeInt32LE","writeUInt32BE","writeUInt32LE","writeFloatBE","writeFloatLE"]],[8,["writeDoubleBE","writeDoubleLE"]]].forEach(function(r){r[1].forEach(function(e){et.prototype[e]=function(n){return this.buffer()[e](n,this.tell()),this.seek("+",r[0]),this}})}),Ze.Cursor=et,Object.defineProperty(R,"__esModule",{value:!0}),R.default=Ag;var wg=Vc,jn=Gn(wg),bg=qr,Eg=Gn(bg),Xn=Ze;function Gn(r){return r&&r.__esModule?r:{default:r}}var $g=Math.pow(2,16),Ig={toXDR:function(e){var t=new Xn.Cursor($g);this.write(e,t);var n=t.tell();return t.rewind(),t.slice(n).buffer()},fromXDR:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"raw",n=void 0;switch(t){case"raw":n=e;break;case"hex":n=p.from(e,"hex");break;case"base64":n=p.from(e,"base64");break;default:throw new Error("Invalid format "+t+', must be "raw", "hex", "base64"')}var i=new Xn.Cursor(n),a=this.read(i);return a},validateXDR:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"raw";try{return this.fromXDR(e,t),!0}catch{return!1}}},Sg={toXDR:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"raw",t=this.constructor.toXDR(this);switch(e){case"raw":return t;case"hex":return t.toString("hex");case"base64":return t.toString("base64");default:throw new Error("Invalid format "+e+', must be "raw", "hex", "base64"')}}};function Ag(r){(0,jn.default)(r,Ig),(0,Eg.default)(r)&&(0,jn.default)(r.prototype,Sg)}Object.defineProperty(W,"__esModule",{value:!0}),W.Int=void 0;var Og=Be,Hn=Wn(Og),xg=R,Tg=Wn(xg);function Wn(r){return r&&r.__esModule?r:{default:r}}var be=W.Int={read:function(e){return e.readInt32BE()},write:function(e,t){if(!(0,Hn.default)(e))throw new Error("XDR Write Error: not a number");if(Math.floor(e)!==e)throw new Error("XDR Write Error: not an integer");t.writeInt32BE(e)},isValid:function(e){return!(0,Hn.default)(e)||Math.floor(e)!==e?!1:e>=be.MIN_VALUE&&e<=be.MAX_VALUE}};be.MAX_VALUE=Math.pow(2,31)-1,be.MIN_VALUE=-Math.pow(2,31),(0,Tg.default)(be);var sr={};function Pg(r){throw new Error('Could not dynamically require "'+r+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var zn={exports:{}};(function(r){/**
8
- * @license Long.js (c) 2013 Daniel Wirtz <dcode@dcode.io>
9
- * Released under the Apache License, Version 2.0
10
- * see: https://github.com/dcodeIO/Long.js for details
11
- */(function(e,t){typeof Pg=="function"&&r&&r.exports?r.exports=t():(e.dcodeIO=e.dcodeIO||{}).Long=t()})(ve,function(){function e(d,s,_){this.low=d|0,this.high=s|0,this.unsigned=!!_}e.__isLong__,Object.defineProperty(e.prototype,"__isLong__",{value:!0,enumerable:!1,configurable:!1}),e.isLong=function(s){return(s&&s.__isLong__)===!0};var t={},n={};e.fromInt=function(s,_){var l,m;return _?(s=s>>>0,0<=s&&s<256&&(m=n[s],m)?m:(l=new e(s,(s|0)<0?-1:0,!0),0<=s&&s<256&&(n[s]=l),l)):(s=s|0,-128<=s&&s<128&&(m=t[s],m)?m:(l=new e(s,s<0?-1:0,!1),-128<=s&&s<128&&(t[s]=l),l))},e.fromNumber=function(s,_){return _=!!_,isNaN(s)||!isFinite(s)?e.ZERO:!_&&s<=-c?e.MIN_VALUE:!_&&s+1>=c?e.MAX_VALUE:_&&s>=u?e.MAX_UNSIGNED_VALUE:s<0?e.fromNumber(-s,_).negate():new e(s%o|0,s/o|0,_)},e.fromBits=function(s,_,l){return new e(s,_,l)},e.fromString=function(s,_,l){if(s.length===0)throw Error("number format error: empty string");if(s==="NaN"||s==="Infinity"||s==="+Infinity"||s==="-Infinity")return e.ZERO;if(typeof _=="number"&&(l=_,_=!1),l=l||10,l<2||36<l)throw Error("radix out of range: "+l);var m;if((m=s.indexOf("-"))>0)throw Error('number format error: interior "-" character: '+s);if(m===0)return e.fromString(s.substring(1),_,l).negate();for(var E=e.fromNumber(Math.pow(l,8)),I=e.ZERO,x=0;x<s.length;x+=8){var O=Math.min(8,s.length-x),f=parseInt(s.substring(x,x+O),l);if(O<8){var S=e.fromNumber(Math.pow(l,O));I=I.multiply(S).add(e.fromNumber(f))}else I=I.multiply(E),I=I.add(e.fromNumber(f))}return I.unsigned=_,I},e.fromValue=function(s){return s instanceof e?s:typeof s=="number"?e.fromNumber(s):typeof s=="string"?e.fromString(s):new e(s.low,s.high,s.unsigned)};var i=65536,a=1<<24,o=i*i,u=o*o,c=u/2,h=e.fromInt(a);return e.ZERO=e.fromInt(0),e.UZERO=e.fromInt(0,!0),e.ONE=e.fromInt(1),e.UONE=e.fromInt(1,!0),e.NEG_ONE=e.fromInt(-1),e.MAX_VALUE=e.fromBits(-1,2147483647,!1),e.MAX_UNSIGNED_VALUE=e.fromBits(-1,-1,!0),e.MIN_VALUE=e.fromBits(0,-2147483648,!1),e.prototype.toInt=function(){return this.unsigned?this.low>>>0:this.low},e.prototype.toNumber=function(){return this.unsigned?(this.high>>>0)*o+(this.low>>>0):this.high*o+(this.low>>>0)},e.prototype.toString=function(s){if(s=s||10,s<2||36<s)throw RangeError("radix out of range: "+s);if(this.isZero())return"0";var _;if(this.isNegative())if(this.equals(e.MIN_VALUE)){var l=e.fromNumber(s),m=this.divide(l);return _=m.multiply(l).subtract(this),m.toString(s)+_.toInt().toString(s)}else return"-"+this.negate().toString(s);var E=e.fromNumber(Math.pow(s,6),this.unsigned);_=this;for(var I="";;){var x=_.divide(E),O=_.subtract(x.multiply(E)).toInt()>>>0,f=O.toString(s);if(_=x,_.isZero())return f+I;for(;f.length<6;)f="0"+f;I=""+f+I}},e.prototype.getHighBits=function(){return this.high},e.prototype.getHighBitsUnsigned=function(){return this.high>>>0},e.prototype.getLowBits=function(){return this.low},e.prototype.getLowBitsUnsigned=function(){return this.low>>>0},e.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(e.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var s=this.high!=0?this.high:this.low,_=31;_>0&&!(s&1<<_);_--);return this.high!=0?_+33:_+1},e.prototype.isZero=function(){return this.high===0&&this.low===0},e.prototype.isNegative=function(){return!this.unsigned&&this.high<0},e.prototype.isPositive=function(){return this.unsigned||this.high>=0},e.prototype.isOdd=function(){return(this.low&1)===1},e.prototype.isEven=function(){return(this.low&1)===0},e.prototype.equals=function(s){return e.isLong(s)||(s=e.fromValue(s)),this.unsigned!==s.unsigned&&this.high>>>31===1&&s.high>>>31===1?!1:this.high===s.high&&this.low===s.low},e.eq=e.prototype.equals,e.prototype.notEquals=function(s){return!this.equals(s)},e.neq=e.prototype.notEquals,e.prototype.lessThan=function(s){return this.compare(s)<0},e.prototype.lt=e.prototype.lessThan,e.prototype.lessThanOrEqual=function(s){return this.compare(s)<=0},e.prototype.lte=e.prototype.lessThanOrEqual,e.prototype.greaterThan=function(s){return this.compare(s)>0},e.prototype.gt=e.prototype.greaterThan,e.prototype.greaterThanOrEqual=function(s){return this.compare(s)>=0},e.prototype.gte=e.prototype.greaterThanOrEqual,e.prototype.compare=function(s){if(e.isLong(s)||(s=e.fromValue(s)),this.equals(s))return 0;var _=this.isNegative(),l=s.isNegative();return _&&!l?-1:!_&&l?1:this.unsigned?s.high>>>0>this.high>>>0||s.high===this.high&&s.low>>>0>this.low>>>0?-1:1:this.subtract(s).isNegative()?-1:1},e.prototype.negate=function(){return!this.unsigned&&this.equals(e.MIN_VALUE)?e.MIN_VALUE:this.not().add(e.ONE)},e.prototype.neg=e.prototype.negate,e.prototype.add=function(s){e.isLong(s)||(s=e.fromValue(s));var _=this.high>>>16,l=this.high&65535,m=this.low>>>16,E=this.low&65535,I=s.high>>>16,x=s.high&65535,O=s.low>>>16,f=s.low&65535,S=0,P=0,D=0,b=0;return b+=E+f,D+=b>>>16,b&=65535,D+=m+O,P+=D>>>16,D&=65535,P+=l+x,S+=P>>>16,P&=65535,S+=_+I,S&=65535,e.fromBits(D<<16|b,S<<16|P,this.unsigned)},e.prototype.subtract=function(s){return e.isLong(s)||(s=e.fromValue(s)),this.add(s.negate())},e.prototype.sub=e.prototype.subtract,e.prototype.multiply=function(s){if(this.isZero()||(e.isLong(s)||(s=e.fromValue(s)),s.isZero()))return e.ZERO;if(this.equals(e.MIN_VALUE))return s.isOdd()?e.MIN_VALUE:e.ZERO;if(s.equals(e.MIN_VALUE))return this.isOdd()?e.MIN_VALUE:e.ZERO;if(this.isNegative())return s.isNegative()?this.negate().multiply(s.negate()):this.negate().multiply(s).negate();if(s.isNegative())return this.multiply(s.negate()).negate();if(this.lessThan(h)&&s.lessThan(h))return e.fromNumber(this.toNumber()*s.toNumber(),this.unsigned);var _=this.high>>>16,l=this.high&65535,m=this.low>>>16,E=this.low&65535,I=s.high>>>16,x=s.high&65535,O=s.low>>>16,f=s.low&65535,S=0,P=0,D=0,b=0;return b+=E*f,D+=b>>>16,b&=65535,D+=m*f,P+=D>>>16,D&=65535,D+=E*O,P+=D>>>16,D&=65535,P+=l*f,S+=P>>>16,P&=65535,P+=m*O,S+=P>>>16,P&=65535,P+=E*x,S+=P>>>16,P&=65535,S+=_*f+l*O+m*x+E*I,S&=65535,e.fromBits(D<<16|b,S<<16|P,this.unsigned)},e.prototype.mul=e.prototype.multiply,e.prototype.divide=function(s){if(e.isLong(s)||(s=e.fromValue(s)),s.isZero())throw new Error("division by zero");if(this.isZero())return this.unsigned?e.UZERO:e.ZERO;var _,l,m;if(this.equals(e.MIN_VALUE)){if(s.equals(e.ONE)||s.equals(e.NEG_ONE))return e.MIN_VALUE;if(s.equals(e.MIN_VALUE))return e.ONE;var E=this.shiftRight(1);return _=E.divide(s).shiftLeft(1),_.equals(e.ZERO)?s.isNegative()?e.ONE:e.NEG_ONE:(l=this.subtract(s.multiply(_)),m=_.add(l.divide(s)),m)}else if(s.equals(e.MIN_VALUE))return this.unsigned?e.UZERO:e.ZERO;if(this.isNegative())return s.isNegative()?this.negate().divide(s.negate()):this.negate().divide(s).negate();if(s.isNegative())return this.divide(s.negate()).negate();for(m=e.ZERO,l=this;l.greaterThanOrEqual(s);){_=Math.max(1,Math.floor(l.toNumber()/s.toNumber()));for(var I=Math.ceil(Math.log(_)/Math.LN2),x=I<=48?1:Math.pow(2,I-48),O=e.fromNumber(_),f=O.multiply(s);f.isNegative()||f.greaterThan(l);)_-=x,O=e.fromNumber(_,this.unsigned),f=O.multiply(s);O.isZero()&&(O=e.ONE),m=m.add(O),l=l.subtract(f)}return m},e.prototype.div=e.prototype.divide,e.prototype.modulo=function(s){return e.isLong(s)||(s=e.fromValue(s)),this.subtract(this.divide(s).multiply(s))},e.prototype.mod=e.prototype.modulo,e.prototype.not=function(){return e.fromBits(~this.low,~this.high,this.unsigned)},e.prototype.and=function(s){return e.isLong(s)||(s=e.fromValue(s)),e.fromBits(this.low&s.low,this.high&s.high,this.unsigned)},e.prototype.or=function(s){return e.isLong(s)||(s=e.fromValue(s)),e.fromBits(this.low|s.low,this.high|s.high,this.unsigned)},e.prototype.xor=function(s){return e.isLong(s)||(s=e.fromValue(s)),e.fromBits(this.low^s.low,this.high^s.high,this.unsigned)},e.prototype.shiftLeft=function(s){return e.isLong(s)&&(s=s.toInt()),(s&=63)===0?this:s<32?e.fromBits(this.low<<s,this.high<<s|this.low>>>32-s,this.unsigned):e.fromBits(0,this.low<<s-32,this.unsigned)},e.prototype.shl=e.prototype.shiftLeft,e.prototype.shiftRight=function(s){return e.isLong(s)&&(s=s.toInt()),(s&=63)===0?this:s<32?e.fromBits(this.low>>>s|this.high<<32-s,this.high>>s,this.unsigned):e.fromBits(this.high>>s-32,this.high>=0?0:-1,this.unsigned)},e.prototype.shr=e.prototype.shiftRight,e.prototype.shiftRightUnsigned=function(s){if(e.isLong(s)&&(s=s.toInt()),s&=63,s===0)return this;var _=this.high;if(s<32){var l=this.low;return e.fromBits(l>>>s|_<<32-s,_>>>s,this.unsigned)}else return s===32?e.fromBits(_,0,this.unsigned):e.fromBits(_>>>s-32,0,this.unsigned)},e.prototype.shru=e.prototype.shiftRightUnsigned,e.prototype.toSigned=function(){return this.unsigned?new e(this.low,this.high,!1):this},e.prototype.toUnsigned=function(){return this.unsigned?this:new e(this.low,this.high,!0)},e})})(zn);var Yn=zn.exports;Object.defineProperty(sr,"__esModule",{value:!0}),sr.Hyper=void 0;var Fg=function(){function r(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),Kn=function r(e,t,n){e===null&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,t);if(i===void 0){var a=Object.getPrototypeOf(e);return a===null?void 0:r(a,t,n)}else{if("value"in i)return i.value;var o=i.get;return o===void 0?void 0:o.call(n)}},Rg=Yn,Ee=Zn(Rg),Mg=R,Dg=Zn(Mg);function Zn(r){return r&&r.__esModule?r:{default:r}}function Cg(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function qg(r,e){if(!r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:r}function Ng(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(r,e):r.__proto__=e)}var $e=sr.Hyper=function(r){Ng(e,r),Fg(e,null,[{key:"read",value:function(n){var i=n.readInt32BE(),a=n.readInt32BE();return this.fromBits(a,i)}},{key:"write",value:function(n,i){if(!(n instanceof this))throw new Error("XDR Write Error: "+n+" is not a Hyper");i.writeInt32BE(n.high),i.writeInt32BE(n.low)}},{key:"fromString",value:function(n){if(!/^-?\d+$/.test(n))throw new Error("Invalid hyper string: "+n);var i=Kn(e.__proto__||Object.getPrototypeOf(e),"fromString",this).call(this,n,!1);return new this(i.low,i.high)}},{key:"fromBits",value:function(n,i){var a=Kn(e.__proto__||Object.getPrototypeOf(e),"fromBits",this).call(this,n,i,!1);return new this(a.low,a.high)}},{key:"isValid",value:function(n){return n instanceof this}}]);function e(t,n){return Cg(this,e),qg(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,n,!1))}return e}(Ee.default);(0,Dg.default)($e),$e.MAX_VALUE=new $e(Ee.default.MAX_VALUE.low,Ee.default.MAX_VALUE.high),$e.MIN_VALUE=new $e(Ee.default.MIN_VALUE.low,Ee.default.MIN_VALUE.high);var ae={};Object.defineProperty(ae,"__esModule",{value:!0}),ae.UnsignedInt=void 0;var kg=Be,Jn=Qn(kg),Ug=R,Bg=Qn(Ug);function Qn(r){return r&&r.__esModule?r:{default:r}}var Ie=ae.UnsignedInt={read:function(e){return e.readUInt32BE()},write:function(e,t){if(!(0,Jn.default)(e))throw new Error("XDR Write Error: not a number");if(Math.floor(e)!==e)throw new Error("XDR Write Error: not an integer");if(e<0)throw new Error("XDR Write Error: negative number "+e);t.writeUInt32BE(e)},isValid:function(e){return!(0,Jn.default)(e)||Math.floor(e)!==e?!1:e>=Ie.MIN_VALUE&&e<=Ie.MAX_VALUE}};Ie.MAX_VALUE=Math.pow(2,32)-1,Ie.MIN_VALUE=0,(0,Bg.default)(Ie);var ur={};Object.defineProperty(ur,"__esModule",{value:!0}),ur.UnsignedHyper=void 0;var Lg=function(){function r(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),ei=function r(e,t,n){e===null&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,t);if(i===void 0){var a=Object.getPrototypeOf(e);return a===null?void 0:r(a,t,n)}else{if("value"in i)return i.value;var o=i.get;return o===void 0?void 0:o.call(n)}},Vg=Yn,Se=ri(Vg),jg=R,Xg=ri(jg);function ri(r){return r&&r.__esModule?r:{default:r}}function Gg(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function Hg(r,e){if(!r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:r}function Wg(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(r,e):r.__proto__=e)}var Ae=ur.UnsignedHyper=function(r){Wg(e,r),Lg(e,null,[{key:"read",value:function(n){var i=n.readInt32BE(),a=n.readInt32BE();return this.fromBits(a,i)}},{key:"write",value:function(n,i){if(!(n instanceof this))throw new Error("XDR Write Error: "+n+" is not an UnsignedHyper");i.writeInt32BE(n.high),i.writeInt32BE(n.low)}},{key:"fromString",value:function(n){if(!/^\d+$/.test(n))throw new Error("Invalid hyper string: "+n);var i=ei(e.__proto__||Object.getPrototypeOf(e),"fromString",this).call(this,n,!0);return new this(i.low,i.high)}},{key:"fromBits",value:function(n,i){var a=ei(e.__proto__||Object.getPrototypeOf(e),"fromBits",this).call(this,n,i,!0);return new this(a.low,a.high)}},{key:"isValid",value:function(n){return n instanceof this}}]);function e(t,n){return Gg(this,e),Hg(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,n,!0))}return e}(Se.default);(0,Xg.default)(Ae),Ae.MAX_VALUE=new Ae(Se.default.MAX_UNSIGNED_VALUE.low,Se.default.MAX_UNSIGNED_VALUE.high),Ae.MIN_VALUE=new Ae(Se.default.MIN_VALUE.low,Se.default.MIN_VALUE.high);var cr={};Object.defineProperty(cr,"__esModule",{value:!0}),cr.Float=void 0;var zg=Be,ti=ni(zg),Yg=R,Kg=ni(Yg);function ni(r){return r&&r.__esModule?r:{default:r}}var Zg=cr.Float={read:function(e){return e.readFloatBE()},write:function(e,t){if(!(0,ti.default)(e))throw new Error("XDR Write Error: not a number");t.writeFloatBE(e)},isValid:function(e){return(0,ti.default)(e)}};(0,Kg.default)(Zg);var lr={};Object.defineProperty(lr,"__esModule",{value:!0}),lr.Double=void 0;var Jg=Be,ii=ai(Jg),Qg=R,ey=ai(Qg);function ai(r){return r&&r.__esModule?r:{default:r}}var ry=lr.Double={read:function(e){return e.readDoubleBE()},write:function(e,t){if(!(0,ii.default)(e))throw new Error("XDR Write Error: not a number");t.writeDoubleBE(e)},isValid:function(e){return(0,ii.default)(e)}};(0,ey.default)(ry);var fr={};Object.defineProperty(fr,"__esModule",{value:!0}),fr.Quadruple=void 0;var ty=R,ny=iy(ty);function iy(r){return r&&r.__esModule?r:{default:r}}var ay=fr.Quadruple={read:function(){throw new Error("XDR Read Error: quadruple not supported")},write:function(){throw new Error("XDR Write Error: quadruple not supported")},isValid:function(){return!1}};(0,ny.default)(ay);var Oe={},oy=Z,sy=J,uy="[object Boolean]";function cy(r){return r===!0||r===!1||sy(r)&&oy(r)==uy}var ly=cy;Object.defineProperty(Oe,"__esModule",{value:!0}),Oe.Bool=void 0;var fy=ly,dy=si(fy),oi=W,hy=R,py=si(hy);function si(r){return r&&r.__esModule?r:{default:r}}var _y=Oe.Bool={read:function(e){var t=oi.Int.read(e);switch(t){case 0:return!1;case 1:return!0;default:throw new Error("XDR Read Error: Got "+t+" when trying to read a bool")}},write:function(e,t){var n=e?1:0;return oi.Int.write(n,t)},isValid:function(e){return(0,dy.default)(e)}};(0,py.default)(_y);var dr={},gy=Z,yy=N,vy=J,my="[object String]";function wy(r){return typeof r=="string"||!yy(r)&&vy(r)&&gy(r)==my}var ui=wy;Object.defineProperty(dr,"__esModule",{value:!0}),dr.String=void 0;var by=function(){function r(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),Ey=ui,ci=rt(Ey),$y=N,Iy=rt($y),li=W,Sy=ae,fi=ne,Ay=R,Oy=rt(Ay);function rt(r){return r&&r.__esModule?r:{default:r}}function xy(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}var Ty=dr.String=function(){function r(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Sy.UnsignedInt.MAX_VALUE;xy(this,r),this._maxLength=e}return by(r,[{key:"read",value:function(t){var n=li.Int.read(t);if(n>this._maxLength)throw new Error("XDR Read Error: Saw "+n+" length String,"+("max allowed is "+this._maxLength));var i=(0,fi.calculatePadding)(n),a=t.slice(n);return(0,fi.slicePadding)(t,i),a.buffer()}},{key:"readString",value:function(t){return this.read(t).toString("utf8")}},{key:"write",value:function(t,n){if(t.length>this._maxLength)throw new Error("XDR Write Error: Got "+t.length+" bytes,"+("max allows is "+this._maxLength));var i=void 0;(0,ci.default)(t)?i=p.from(t,"utf8"):i=p.from(t),li.Int.write(i.length,n),n.writeBufferPadded(i)}},{key:"isValid",value:function(t){var n=void 0;if((0,ci.default)(t))n=p.from(t,"utf8");else if((0,Iy.default)(t)||p.isBuffer(t))n=p.from(t);else return!1;return n.length<=this._maxLength}}]),r}();(0,Oy.default)(Ty.prototype);var hr={};Object.defineProperty(hr,"__esModule",{value:!0}),hr.Opaque=void 0;var Py=function(){function r(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),di=ne,Fy=R,Ry=My(Fy);function My(r){return r&&r.__esModule?r:{default:r}}function Dy(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}var Cy=hr.Opaque=function(){function r(e){Dy(this,r),this._length=e,this._padding=(0,di.calculatePadding)(e)}return Py(r,[{key:"read",value:function(t){var n=t.slice(this._length);return(0,di.slicePadding)(t,this._padding),n.buffer()}},{key:"write",value:function(t,n){if(t.length!==this._length)throw new Error("XDR Write Error: Got "+t.length+" bytes, expected "+this._length);n.writeBufferPadded(t)}},{key:"isValid",value:function(t){return p.isBuffer(t)&&t.length===this._length}}]),r}();(0,Ry.default)(Cy.prototype);var pr={};Object.defineProperty(pr,"__esModule",{value:!0}),pr.VarOpaque=void 0;var qy=function(){function r(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),hi=W,Ny=ae,pi=ne,ky=R,Uy=By(ky);function By(r){return r&&r.__esModule?r:{default:r}}function Ly(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}var Vy=pr.VarOpaque=function(){function r(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Ny.UnsignedInt.MAX_VALUE;Ly(this,r),this._maxLength=e}return qy(r,[{key:"read",value:function(t){var n=hi.Int.read(t);if(n>this._maxLength)throw new Error("XDR Read Error: Saw "+n+" length VarOpaque,"+("max allowed is "+this._maxLength));var i=(0,pi.calculatePadding)(n),a=t.slice(n);return(0,pi.slicePadding)(t,i),a.buffer()}},{key:"write",value:function(t,n){if(t.length>this._maxLength)throw new Error("XDR Write Error: Got "+t.length+" bytes,"+("max allows is "+this._maxLength));hi.Int.write(t.length,n),n.writeBufferPadded(t)}},{key:"isValid",value:function(t){return p.isBuffer(t)&&t.length<=this._maxLength}}]),r}();(0,Uy.default)(Vy.prototype);var _r={};function jy(r,e){for(var t=-1,n=r==null?0:r.length;++t<n&&e(r[t],t,r)!==!1;);return r}var Xy=jy,Gy=ze;function Hy(r){return typeof r=="function"?r:Gy}var _i=Hy,Wy=Xy,zy=Br,Yy=_i,Ky=N;function Zy(r,e){var t=Ky(r)?Wy:zy;return t(r,Yy(e))}var Jy=Zy,pe=Jy,Qy=/\s/;function ev(r){for(var e=r.length;e--&&Qy.test(r.charAt(e)););return e}var rv=ev,tv=rv,nv=/^\s+/;function iv(r){return r&&r.slice(0,tv(r)+1).replace(nv,"")}var av=iv,ov=av,gi=ue,sv=ar,yi=0/0,uv=/^[-+]0x[0-9a-f]+$/i,cv=/^0b[01]+$/i,lv=/^0o[0-7]+$/i,fv=parseInt;function dv(r){if(typeof r=="number")return r;if(sv(r))return yi;if(gi(r)){var e=typeof r.valueOf=="function"?r.valueOf():r;r=gi(e)?e+"":e}if(typeof r!="string")return r===0?r:+r;r=ov(r);var t=cv.test(r);return t||lv.test(r)?fv(r.slice(2),t?2:8):uv.test(r)?yi:+r}var hv=dv,pv=hv,vi=1/0,_v=17976931348623157e292;function gv(r){if(!r)return r===0?r:0;if(r=pv(r),r===vi||r===-vi){var e=r<0?-1:1;return e*_v}return r===r?r:0}var yv=gv,vv=yv;function mv(r){var e=vv(r),t=e%1;return e===e?t?e-t:e:0}var wv=mv,bv=Jt,Ev=_i,$v=wv,Iv=9007199254740991,tt=4294967295,Sv=Math.min;function Av(r,e){if(r=$v(r),r<1||r>Iv)return[];var t=tt,n=Sv(r,tt);e=Ev(e),r-=tt;for(var i=bv(n,e);++t<r;)e(t);return i}var mi=Av;Object.defineProperty(_r,"__esModule",{value:!0}),_r.Array=void 0;var Ov=function(){function r(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),xv=Qr,Tv=xe(xv),Pv=pe,Fv=xe(Pv),Rv=mi,Mv=xe(Rv),Dv=N,wi=xe(Dv),Cv=R,qv=xe(Cv);function xe(r){return r&&r.__esModule?r:{default:r}}function Nv(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}var kv=_r.Array=function(){function r(e,t){Nv(this,r),this._childType=e,this._length=t}return Ov(r,[{key:"read",value:function(t){var n=this;return(0,Mv.default)(this._length,function(){return n._childType.read(t)})}},{key:"write",value:function(t,n){var i=this;if(!(0,wi.default)(t))throw new Error("XDR Write Error: value is not array");if(t.length!==this._length)throw new Error("XDR Write Error: Got array of size "+t.length+","+("expected "+this._length));(0,Fv.default)(t,function(a){return i._childType.write(a,n)})}},{key:"isValid",value:function(t){var n=this;return!(0,wi.default)(t)||t.length!==this._length?!1:(0,Tv.default)(t,function(i){return n._childType.isValid(i)})}}]),r}();(0,qv.default)(kv.prototype);var gr={};Object.defineProperty(gr,"__esModule",{value:!0}),gr.VarArray=void 0;var Uv=function(){function r(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),Bv=Qr,Lv=Te(Bv),Vv=pe,jv=Te(Vv),Xv=mi,Gv=Te(Xv),Hv=N,bi=Te(Hv),Wv=ae,Ei=W,zv=R,Yv=Te(zv);function Te(r){return r&&r.__esModule?r:{default:r}}function Kv(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}var Zv=gr.VarArray=function(){function r(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Wv.UnsignedInt.MAX_VALUE;Kv(this,r),this._childType=e,this._maxLength=t}return Uv(r,[{key:"read",value:function(t){var n=this,i=Ei.Int.read(t);if(i>this._maxLength)throw new Error("XDR Read Error: Saw "+i+" length VarArray,"+("max allowed is "+this._maxLength));return(0,Gv.default)(i,function(){return n._childType.read(t)})}},{key:"write",value:function(t,n){var i=this;if(!(0,bi.default)(t))throw new Error("XDR Write Error: value is not array");if(t.length>this._maxLength)throw new Error("XDR Write Error: Got array of size "+t.length+","+("max allowed is "+this._maxLength));Ei.Int.write(t.length,n),(0,jv.default)(t,function(a){return i._childType.write(a,n)})}},{key:"isValid",value:function(t){var n=this;return!(0,bi.default)(t)||t.length>this._maxLength?!1:(0,Lv.default)(t,function(i){return n._childType.isValid(i)})}}]),r}();(0,Yv.default)(Zv.prototype);var yr={};function Jv(r){return r===null}var Qv=Jv;function em(r){return r===void 0}var Pe=em;Object.defineProperty(yr,"__esModule",{value:!0}),yr.Option=void 0;var rm=function(){function r(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),tm=Qv,$i=nt(tm),nm=Pe,Ii=nt(nm),Si=Oe,im=R,am=nt(im);function nt(r){return r&&r.__esModule?r:{default:r}}function om(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}var sm=yr.Option=function(){function r(e){om(this,r),this._childType=e}return rm(r,[{key:"read",value:function(t){if(Si.Bool.read(t))return this._childType.read(t)}},{key:"write",value:function(t,n){var i=!((0,$i.default)(t)||(0,Ii.default)(t));Si.Bool.write(i,n),i&&this._childType.write(t,n)}},{key:"isValid",value:function(t){return(0,$i.default)(t)||(0,Ii.default)(t)?!0:this._childType.isValid(t)}}]),r}();(0,am.default)(sm.prototype);var Fe={};Object.defineProperty(Fe,"__esModule",{value:!0}),Fe.Void=void 0;var um=Pe,Ai=Oi(um),cm=R,lm=Oi(cm);function Oi(r){return r&&r.__esModule?r:{default:r}}var fm=Fe.Void={read:function(){},write:function(e){if(!(0,Ai.default)(e))throw new Error("XDR Write Error: trying to write value to a void slot")},isValid:function(e){return(0,Ai.default)(e)}};(0,lm.default)(fm);var vr={},dm=Jr;function hm(r,e){return dm(e,function(t){return r[t]})}var pm=hm,_m=pm,gm=Je;function ym(r){return r==null?[]:_m(r,gm(r))}var vm=ym;Object.defineProperty(vr,"__esModule",{value:!0}),vr.Enum=void 0;var mm=function(){function r(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),wm=pe,bm=it(wm),Em=vm,$m=it(Em),xi=W,Im=R,Sm=it(Im);function it(r){return r&&r.__esModule?r:{default:r}}function Am(r,e){if(!r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:r}function Om(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(r,e):r.__proto__=e)}function Ti(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}var xm=vr.Enum=function(){function r(e,t){Ti(this,r),this.name=e,this.value=t}return mm(r,null,[{key:"read",value:function(t){var n=xi.Int.read(t);if(!this._byValue.has(n))throw new Error("XDR Read Error: Unknown "+this.enumName+" member for value "+n);return this._byValue.get(n)}},{key:"write",value:function(t,n){if(!(t instanceof this))throw new Error("XDR Write Error: Unknown "+t+" is not a "+this.enumName);xi.Int.write(t.value,n)}},{key:"isValid",value:function(t){return t instanceof this}},{key:"members",value:function(){return this._members}},{key:"values",value:function(){return(0,$m.default)(this._members)}},{key:"fromName",value:function(t){var n=this._members[t];if(!n)throw new Error(t+" is not a member of "+this.enumName);return n}},{key:"fromValue",value:function(t){var n=this._byValue.get(t);if(!n)throw new Error(t+" is not a value of any member of "+this.enumName);return n}},{key:"create",value:function(t,n,i){var a=function(o){Om(u,o);function u(){return Ti(this,u),Am(this,(u.__proto__||Object.getPrototypeOf(u)).apply(this,arguments))}return u}(r);return a.enumName=n,t.results[n]=a,a._members={},a._byValue=new Map,(0,bm.default)(i,function(o,u){var c=new a(u,o);a._members[u]=c,a._byValue.set(o,c),a[u]=function(){return c}}),a}}]),r}();(0,Sm.default)(xm);var mr={},Tm=Br,Pm=we;function Fm(r,e){var t=-1,n=Pm(r)?Array(r.length):[];return Tm(r,function(i,a,o){n[++t]=e(i,a,o)}),n}var Rm=Fm,Mm=Jr,Dm=Vn,Cm=Rm,qm=N;function Nm(r,e){var t=qm(r)?Mm:Cm;return t(r,Dm(e))}var km=Nm;function Um(r){for(var e=-1,t=r==null?0:r.length,n={};++e<t;){var i=r[e];n[i[0]]=i[1]}return n}var Bm=Um,Re={};Object.defineProperty(Re,"__esModule",{value:!0});var Lm=function(){function r(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}();function Vm(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}Re.Reference=function(){function r(){Vm(this,r)}return Lm(r,[{key:"resolve",value:function(){throw new Error("implement resolve in child class")}}]),r}(),Object.defineProperty(mr,"__esModule",{value:!0}),mr.Struct=void 0;var wr=function(){function r(e,t){var n=[],i=!0,a=!1,o=void 0;try{for(var u=e[Symbol.iterator](),c;!(i=(c=u.next()).done)&&(n.push(c.value),!(t&&n.length===t));i=!0);}catch(h){a=!0,o=h}finally{try{!i&&u.return&&u.return()}finally{if(a)throw o}}return n}return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return r(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),jm=function(){function r(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),Xm=pe,Pi=Me(Xm),Gm=km,Hm=Me(Gm),Wm=Pe,zm=Me(Wm),Ym=Bm,Km=Me(Ym),Zm=Re,Jm=R,Qm=Me(Jm);function Me(r){return r&&r.__esModule?r:{default:r}}function ew(r,e){if(!r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:r}function rw(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(r,e):r.__proto__=e)}function Fi(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}var tw=mr.Struct=function(){function r(e){Fi(this,r),this._attributes=e||{}}return jm(r,null,[{key:"read",value:function(t){var n=(0,Hm.default)(this._fields,function(i){var a=wr(i,2),o=a[0],u=a[1],c=u.read(t);return[o,c]});return new this((0,Km.default)(n))}},{key:"write",value:function(t,n){if(!(t instanceof this))throw new Error("XDR Write Error: "+t+" is not a "+this.structName);(0,Pi.default)(this._fields,function(i){var a=wr(i,2),o=a[0],u=a[1],c=t._attributes[o];u.write(c,n)})}},{key:"isValid",value:function(t){return t instanceof this}},{key:"create",value:function(t,n,i){var a=function(o){rw(u,o);function u(){return Fi(this,u),ew(this,(u.__proto__||Object.getPrototypeOf(u)).apply(this,arguments))}return u}(r);return a.structName=n,t.results[n]=a,a._fields=i.map(function(o){var u=wr(o,2),c=u[0],h=u[1];return h instanceof Zm.Reference&&(h=h.resolve(t)),[c,h]}),(0,Pi.default)(a._fields,function(o){var u=wr(o,1),c=u[0];a.prototype[c]=nw(c)}),a}}]),r}();(0,Qm.default)(tw);function nw(r){return function(t){return(0,zm.default)(t)||(this._attributes[r]=t),this._attributes[r]}}var br={};Object.defineProperty(br,"__esModule",{value:!0}),br.Union=void 0;var iw=function(){function r(e,t){var n=[],i=!0,a=!1,o=void 0;try{for(var u=e[Symbol.iterator](),c;!(i=(c=u.next()).done)&&(n.push(c.value),!(t&&n.length===t));i=!0);}catch(h){a=!0,o=h}finally{try{!i&&u.return&&u.return()}finally{if(a)throw o}}return n}return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return r(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),aw=function(){function r(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),ow=pe,Er=Ir(ow),sw=Pe,Ri=Ir(sw),uw=ui,Mi=Ir(uw),$r=Fe,at=Re,cw=R,lw=Ir(cw);function Ir(r){return r&&r.__esModule?r:{default:r}}function fw(r,e){if(!r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:r}function dw(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(r,e):r.__proto__=e)}function Di(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}var hw=br.Union=function(){function r(e,t){Di(this,r),this.set(e,t)}return aw(r,[{key:"set",value:function(t,n){(0,Mi.default)(t)&&(t=this.constructor._switchOn.fromName(t)),this._switch=t,this._arm=this.constructor.armForSwitch(this._switch),this._armType=this.constructor.armTypeForArm(this._arm),this._value=n}},{key:"get",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this._arm;if(this._arm!==$r.Void&&this._arm!==t)throw new Error(t+" not set");return this._value}},{key:"switch",value:function(){return this._switch}},{key:"arm",value:function(){return this._arm}},{key:"armType",value:function(){return this._armType}},{key:"value",value:function(){return this._value}}],[{key:"armForSwitch",value:function(t){if(this._switches.has(t))return this._switches.get(t);if(this._defaultArm)return this._defaultArm;throw new Error("Bad union switch: "+t)}},{key:"armTypeForArm",value:function(t){return t===$r.Void?$r.Void:this._arms[t]}},{key:"read",value:function(t){var n=this._switchOn.read(t),i=this.armForSwitch(n),a=this.armTypeForArm(i),o=void 0;return(0,Ri.default)(a)?o=i.read(t):o=a.read(t),new this(n,o)}},{key:"write",value:function(t,n){if(!(t instanceof this))throw new Error("XDR Write Error: "+t+" is not a "+this.unionName);this._switchOn.write(t.switch(),n),t.armType().write(t.value(),n)}},{key:"isValid",value:function(t){return t instanceof this}},{key:"create",value:function(t,n,i){var a=function(u){dw(c,u);function c(){return Di(this,c),fw(this,(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments))}return c}(r);a.unionName=n,t.results[n]=a,i.switchOn instanceof at.Reference?a._switchOn=i.switchOn.resolve(t):a._switchOn=i.switchOn,a._switches=new Map,a._arms={},(0,Er.default)(i.arms,function(u,c){u instanceof at.Reference&&(u=u.resolve(t)),a._arms[c]=u});var o=i.defaultArm;return o instanceof at.Reference&&(o=o.resolve(t)),a._defaultArm=o,(0,Er.default)(i.switches,function(u){var c=iw(u,2),h=c[0],d=c[1];(0,Mi.default)(h)&&(h=a._switchOn.fromName(h)),a._switches.set(h,d)}),(0,Ri.default)(a._switchOn.values)||(0,Er.default)(a._switchOn.values(),function(u){a[u.name]=function(c){return new a(u,c)},a.prototype[u.name]=function(h){return this.set(u,h)}}),(0,Er.default)(a._arms,function(u,c){u!==$r.Void&&(a.prototype[c]=function(){return this.get(c)})}),a}}]),r}();(0,lw.default)(hw),function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=W;Object.keys(e).forEach(function(f){f==="default"||f==="__esModule"||Object.defineProperty(r,f,{enumerable:!0,get:function(){return e[f]}})});var t=sr;Object.keys(t).forEach(function(f){f==="default"||f==="__esModule"||Object.defineProperty(r,f,{enumerable:!0,get:function(){return t[f]}})});var n=ae;Object.keys(n).forEach(function(f){f==="default"||f==="__esModule"||Object.defineProperty(r,f,{enumerable:!0,get:function(){return n[f]}})});var i=ur;Object.keys(i).forEach(function(f){f==="default"||f==="__esModule"||Object.defineProperty(r,f,{enumerable:!0,get:function(){return i[f]}})});var a=cr;Object.keys(a).forEach(function(f){f==="default"||f==="__esModule"||Object.defineProperty(r,f,{enumerable:!0,get:function(){return a[f]}})});var o=lr;Object.keys(o).forEach(function(f){f==="default"||f==="__esModule"||Object.defineProperty(r,f,{enumerable:!0,get:function(){return o[f]}})});var u=fr;Object.keys(u).forEach(function(f){f==="default"||f==="__esModule"||Object.defineProperty(r,f,{enumerable:!0,get:function(){return u[f]}})});var c=Oe;Object.keys(c).forEach(function(f){f==="default"||f==="__esModule"||Object.defineProperty(r,f,{enumerable:!0,get:function(){return c[f]}})});var h=dr;Object.keys(h).forEach(function(f){f==="default"||f==="__esModule"||Object.defineProperty(r,f,{enumerable:!0,get:function(){return h[f]}})});var d=hr;Object.keys(d).forEach(function(f){f==="default"||f==="__esModule"||Object.defineProperty(r,f,{enumerable:!0,get:function(){return d[f]}})});var s=pr;Object.keys(s).forEach(function(f){f==="default"||f==="__esModule"||Object.defineProperty(r,f,{enumerable:!0,get:function(){return s[f]}})});var _=_r;Object.keys(_).forEach(function(f){f==="default"||f==="__esModule"||Object.defineProperty(r,f,{enumerable:!0,get:function(){return _[f]}})});var l=gr;Object.keys(l).forEach(function(f){f==="default"||f==="__esModule"||Object.defineProperty(r,f,{enumerable:!0,get:function(){return l[f]}})});var m=yr;Object.keys(m).forEach(function(f){f==="default"||f==="__esModule"||Object.defineProperty(r,f,{enumerable:!0,get:function(){return m[f]}})});var E=Fe;Object.keys(E).forEach(function(f){f==="default"||f==="__esModule"||Object.defineProperty(r,f,{enumerable:!0,get:function(){return E[f]}})});var I=vr;Object.keys(I).forEach(function(f){f==="default"||f==="__esModule"||Object.defineProperty(r,f,{enumerable:!0,get:function(){return I[f]}})});var x=mr;Object.keys(x).forEach(function(f){f==="default"||f==="__esModule"||Object.defineProperty(r,f,{enumerable:!0,get:function(){return x[f]}})});var O=br;Object.keys(O).forEach(function(f){f==="default"||f==="__esModule"||Object.defineProperty(r,f,{enumerable:!0,get:function(){return O[f]}})})}(Fr);var Ci={};(function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=function(){function b(g,w){for(var $=0;$<w.length;$++){var A=w[$];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(g,A.key,A)}}return function(g,w,$){return w&&b(g.prototype,w),$&&b(g,$),g}}(),t=Re;Object.keys(t).forEach(function(b){b==="default"||b==="__esModule"||Object.defineProperty(r,b,{enumerable:!0,get:function(){return t[b]}})}),r.config=m;var n=Pe,i=d(n),a=pe,o=d(a),u=Fr,c=h(u);function h(b){if(b&&b.__esModule)return b;var g={};if(b!=null)for(var w in b)Object.prototype.hasOwnProperty.call(b,w)&&(g[w]=b[w]);return g.default=b,g}function d(b){return b&&b.__esModule?b:{default:b}}function s(b,g){if(!(b instanceof g))throw new TypeError("Cannot call a class as a function")}function _(b,g){if(!b)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return g&&(typeof g=="object"||typeof g=="function")?g:b}function l(b,g){if(typeof g!="function"&&g!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof g);b.prototype=Object.create(g&&g.prototype,{constructor:{value:b,enumerable:!1,writable:!0,configurable:!0}}),g&&(Object.setPrototypeOf?Object.setPrototypeOf(b,g):b.__proto__=g)}function m(b){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(b){var w=new D(g);b(w),w.resolve()}return g}var E=function(b){l(g,b);function g(w){s(this,g);var $=_(this,(g.__proto__||Object.getPrototypeOf(g)).call(this));return $.name=w,$}return e(g,[{key:"resolve",value:function($){var A=$.definitions[this.name];return A.resolve($)}}]),g}(t.Reference),I=function(b){l(g,b);function g(w,$){var A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;s(this,g);var B=_(this,(g.__proto__||Object.getPrototypeOf(g)).call(this));return B.childReference=w,B.length=$,B.variable=A,B}return e(g,[{key:"resolve",value:function($){var A=this.childReference,B=this.length;return A instanceof t.Reference&&(A=A.resolve($)),B instanceof t.Reference&&(B=B.resolve($)),this.variable?new c.VarArray(A,B):new c.Array(A,B)}}]),g}(t.Reference),x=function(b){l(g,b);function g(w){s(this,g);var $=_(this,(g.__proto__||Object.getPrototypeOf(g)).call(this));return $.childReference=w,$.name=w.name,$}return e(g,[{key:"resolve",value:function($){var A=this.childReference;return A instanceof t.Reference&&(A=A.resolve($)),new c.Option(A)}}]),g}(t.Reference),O=function(b){l(g,b);function g(w,$){s(this,g);var A=_(this,(g.__proto__||Object.getPrototypeOf(g)).call(this));return A.sizedType=w,A.length=$,A}return e(g,[{key:"resolve",value:function($){var A=this.length;return A instanceof t.Reference&&(A=A.resolve($)),new this.sizedType(A)}}]),g}(t.Reference),f=function(){function b(g,w,$){s(this,b),this.constructor=g,this.name=w,this.config=$}return e(b,[{key:"resolve",value:function(w){return this.name in w.results?w.results[this.name]:this.constructor(w,this.name,this.config)}}]),b}();function S(b,g,w){return w instanceof t.Reference&&(w=w.resolve(b)),b.results[g]=w,w}function P(b,g,w){return b.results[g]=w,w}var D=function(){function b(g){s(this,b),this._destination=g,this._definitions={}}return e(b,[{key:"enum",value:function(w,$){var A=new f(c.Enum.create,w,$);this.define(w,A)}},{key:"struct",value:function(w,$){var A=new f(c.Struct.create,w,$);this.define(w,A)}},{key:"union",value:function(w,$){var A=new f(c.Union.create,w,$);this.define(w,A)}},{key:"typedef",value:function(w,$){var A=new f(S,w,$);this.define(w,A)}},{key:"const",value:function(w,$){var A=new f(P,w,$);this.define(w,A)}},{key:"void",value:function(){return c.Void}},{key:"bool",value:function(){return c.Bool}},{key:"int",value:function(){return c.Int}},{key:"hyper",value:function(){return c.Hyper}},{key:"uint",value:function(){return c.UnsignedInt}},{key:"uhyper",value:function(){return c.UnsignedHyper}},{key:"float",value:function(){return c.Float}},{key:"double",value:function(){return c.Double}},{key:"quadruple",value:function(){return c.Quadruple}},{key:"string",value:function(w){return new O(c.String,w)}},{key:"opaque",value:function(w){return new O(c.Opaque,w)}},{key:"varOpaque",value:function(w){return new O(c.VarOpaque,w)}},{key:"array",value:function(w,$){return new I(w,$)}},{key:"varArray",value:function(w,$){return new I(w,$,!0)}},{key:"option",value:function(w){return new x(w)}},{key:"define",value:function(w,$){if((0,i.default)(this._destination[w]))this._definitions[w]=$;else throw new Error("XDRTypes Error:"+w+" is already defined")}},{key:"lookup",value:function(w){return new E(w)}},{key:"resolve",value:function(){var w=this;(0,o.default)(this._definitions,function($){$.resolve({definitions:w._definitions,results:w._destination})})}}]),b}()})(Ci),function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=Fr;Object.keys(e).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(r,n,{enumerable:!0,get:function(){return e[n]}})});var t=Ci;Object.keys(t).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(r,n,{enumerable:!0,get:function(){return t[n]}})})}(wt);var ot=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},C=(r,e,t)=>(ot(r,e,"read from private field"),t?t.call(r):e.get(r)),Q=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},st=(r,e,t,n)=>(ot(r,e,"write to private field"),n?n.call(r,t):e.set(r,t),t),V=(r,e,t)=>(ot(r,e,"access private method"),t),G,H,De,ut,qi,ct,Ni,Sr,lt,_e,Ce,qe,Ar;function pw(r){const e={variantId:K.Uint64.fromString(r.variantId.toString()),version:r.version||Math.floor(Date.now()/1e3),items:r.items.map(n=>new K.BundleItem({collectionId:K.Uint64.fromString(n.collectionId.toString()),productId:K.Uint64.fromString(n.productId.toString()),variantId:K.Uint64.fromString(n.variantId.toString()),sku:n.sku||"",quantity:n.quantity,ext:new K.BundleItemExt(0)})),ext:new K.BundleExt(0)},t=new K.Bundle(e);return K.BundleEnvelope.envelopeTypeBundle(t).toXDR("base64")}const K=wt.config(r=>{r.enum("EnvelopeType",{envelopeTypeBundle:0}),r.typedef("Uint32",r.uint()),r.typedef("Uint64",r.uhyper()),r.union("BundleItemExt",{switchOn:r.int(),switchName:"v",switches:[[0,r.void()]],arms:{}}),r.struct("BundleItem",[["collectionId",r.lookup("Uint64")],["productId",r.lookup("Uint64")],["variantId",r.lookup("Uint64")],["sku",r.string()],["quantity",r.lookup("Uint32")],["ext",r.lookup("BundleItemExt")]]),r.union("BundleExt",{switchOn:r.int(),switchName:"v",switches:[[0,r.void()]],arms:{}}),r.struct("Bundle",[["variantId",r.lookup("Uint64")],["items",r.varArray(r.lookup("BundleItem"),500)],["version",r.lookup("Uint32")],["ext",r.lookup("BundleExt")]]),r.union("BundleEnvelope",{switchOn:r.lookup("EnvelopeType"),switchName:"type",switches:[["envelopeTypeBundle","v1"]],arms:{v1:r.lookup("Bundle")}})});class _w{constructor(e,t){Q(this,ut),Q(this,ct),Q(this,Sr),Q(this,_e),Q(this,qe),Q(this,G,void 0),Q(this,H,void 0),Q(this,De,void 0),st(this,G,V(this,ut,qi).call(this,t)),st(this,De,V(this,ct,Ni).call(this,t)),st(this,H,e)}isInitialDataValid(){if(!C(this,De))throw"Bundle data does not exist for the given product.";if(!C(this,G))throw"Bundle settings do not exist for the given product.";if(!Array.isArray(C(this,H))||!C(this,H).length)throw"No bundle selection items provided.";return!0}isValidVariant(e){if(!C(this,G)?.variantsSettings[e])throw`The ${e} bundle variant is invalid.`;return!0}isSelectionInVariantRange(e){const t=C(this,H).reduce((i,a)=>i+a.quantity,0),n=C(this,G)?.variantsSettings[e].ranges||[];if(!V(this,Sr,lt).call(this,n,t))throw"The total number of products does not fall within the required variant range.";return!0}areItemsInMaxPerItemBound(){const e=C(this,G)?.bundleSettings.maxPerItem||0,t=C(this,H).filter(({quantity:n})=>n>e);if(e&&t.length)throw`The selected products (${V(this,_e,Ce).call(this,t.map(({externalProductId:n})=>n)).join(", ")}) exceed the maximum limit of ${e} items per product.`;return!0}areSelectedCollectionsValid(e){const t=C(this,G)?.variantsSettings[e]?.optionSources,n=C(this,H).filter(({collectionId:i})=>!t||!V(this,qe,Ar).call(this,t,i));if(n.length)throw`The collections (${V(this,_e,Ce).call(this,n.map(({collectionId:i})=>i)).join(", ")}) are no longer valid for the bundle variant (${e}).`;return!0}areItemsQuantitiesValidForTheCollection(e){const t=C(this,H).reduce((a,o)=>(a[o.collectionId]=o.quantity+(a[o.collectionId]||0),a),Object.create(null)),n=C(this,G)?.variantsSettings[e],i=Object.values(n?.optionSources||{}).filter(a=>{const o=t[a.collectionId]||0;return!V(this,Sr,lt).call(this,[a],o)});if(!n||i.length)throw`The selection exceeds the limits for the collections (${V(this,_e,Ce).call(this,i.map(({collectionId:a})=>a)).join(", ")}).`;return!0}areSelectedProductsValid(e){const t=C(this,G)?.variantsSettings[e]?.optionSources||{},n=Object.values(t).reduce((a,o)=>{const u=C(this,De)?.collections[o.collectionId];return u&&(a[o.collectionId]=u),a},Object.create(null));if(!Object.values(n).length)throw`No collections found for the bundle variant (${e}).`;const i=C(this,H).filter(({externalProductId:a,collectionId:o})=>V(this,qe,Ar).call(this,n,o)?!V(this,qe,Ar).call(this,n[o].products,a):!0);if(i.length)throw`The products (${V(this,_e,Ce).call(this,i.map(({externalProductId:a})=>a)).join(", ")}) are no longer valid for the bundle product.`;return!0}isBundleSelectionValid(e){return this.isInitialDataValid(),this.isValidVariant(e),this.isSelectionInVariantRange(e),this.areItemsInMaxPerItemBound(),this.areSelectedCollectionsValid(e),this.areItemsQuantitiesValidForTheCollection(e),this.areSelectedProductsValid(e),!0}}G=new WeakMap,H=new WeakMap,De=new WeakMap,ut=new WeakSet,qi=function(r){try{const e=r.bundle_settings;return{bundleSettings:{maxPerItem:e.max_quantity_per_variant,isCustomizable:e.is_customizable},variantsSettings:e.variants.reduce((t,n)=>{if(!n.enabled)return t;let i=[{min:n.items_count,max:n.items_count}];return n.items_count||(i=n.ranges.map(({quantity_max:a,quantity_min:o})=>({min:o,max:a}))),t[n.external_variant_id]={externalVariantId:n.external_variant_id,optionSources:n.option_sources.reduce((a,o)=>(a[o.option_source_id]={min:o.quantity_min,max:o.quantity_max,collectionId:o.option_source_id},a),Object.create(null)),ranges:i},t},Object.create(null))}}catch{return null}},ct=new WeakSet,Ni=function(r){try{const e=Object.values(r.collections).reduce((t,n)=>(t[n.id]={...n,products:n.products.reduce((i,a)=>(i[a.id]=a,i),Object.create(null))},t),Object.create(null));return{...r,collections:e}}catch{return null}},Sr=new WeakSet,lt=function(r,e){return!!r.filter(({min:t,max:n})=>{const i=t??e,a=n??e;return i<=e&&e<=a}).length},_e=new WeakSet,Ce=function(r){return Array.from(new Set(r))},qe=new WeakSet,Ar=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)};const gw="/bundling-storefront-manager";function ki(r){return pw({variantId:r.externalVariantId,version:0,items:r.selections.map(e=>({collectionId:e.collectionId,productId:e.externalProductId,variantId:e.externalVariantId,quantity:e.quantity,sku:""}))})}async function yw(r){const e=q(),t=await ft(r);if(t!==!0)throw new Error(t);const n=ki(r);try{const i=await ee("post",`${gw}/api/v1/bundles`,{data:{bundle:n},headers:{Origin:`https://${e.storeIdentifier}`}});if(!i.id||i.code!==200)throw new Error(`1: failed generating rb_id: ${JSON.stringify(i)}`);return i.id}catch(i){throw new Error(`2: failed generating rb_id ${i}`)}}async function vw(r,e){const t=await ft(e);if(t!==!0)throw new Error(t);const n=ki(e);try{const i=await v("post","/bundle_selections/bundle_id",{data:{bundle:n}},y(r,"getBundleSelectionId"));if(!i.id||i.code!==200)throw new Error(`1: failed generating rb_id: ${JSON.stringify(i)}`);return i.id}catch(i){throw new Error(`2: failed generating rb_id ${i}`)}}function mw(r,e){const t=Ui(r);if(t!==!0)throw new Error(`Dynamic Bundle is invalid. ${t}`);const n=`${oe(9)}:${r.externalProductId}`;return r.selections.map(i=>{const a={id:i.externalVariantId,quantity:i.quantity,properties:{_rc_bundle:n,_rc_bundle_variant:r.externalVariantId,_rc_bundle_parent:e,_rc_bundle_collection_id:i.collectionId}};return i.sellingPlan?a.selling_plan=i.sellingPlan:i.shippingIntervalFrequency&&(a.properties.shipping_interval_frequency=i.shippingIntervalFrequency,a.properties.shipping_interval_unit_type=i.shippingIntervalUnitType,a.id=`${i.discountedVariantId}`),a})}async function ft(r){try{return r?r.selections.length===0?"No selections defined":!0:"Bundle is not defined"}catch(e){return`Error fetching bundle settings: ${e}`}}async function ww(r){try{const e=await ee("get",`/bundle-data/${T(r.externalProductId)}`);return{valid:new _w(r.selections,e).isBundleSelectionValid(r.externalVariantId)}}catch(e){return{valid:!1,error:String(e)}}}const bw={day:["day","days","Days"],days:["day","days","Days"],Days:["day","days","Days"],week:["week","weeks","Weeks"],weeks:["week","weeks","Weeks"],Weeks:["week","weeks","Weeks"],month:["month","months","Months"],months:["month","months","Months"],Months:["month","months","Months"]};function Ui(r){if(!r)return"No bundle defined.";if(r.selections.length===0)return"No selections defined.";const{shippingIntervalFrequency:e,shippingIntervalUnitType:t}=r.selections.find(n=>n.shippingIntervalFrequency||n.shippingIntervalUnitType)||{};if(e||t){if(!e||!t)return"Shipping intervals do not match on selections.";{const n=bw[t];for(let i=0;i<r.selections.length;i++){const{shippingIntervalFrequency:a,shippingIntervalUnitType:o}=r.selections[i];if(a&&a!==e||o&&!n.includes(o))return"Shipping intervals do not match on selections."}}}return!0}async function Ew(r,e){if(e===void 0||e==="")throw new Error("ID is required");const{bundle_selection:t}=await v("get","/bundle_selections",{id:e},y(r,"getBundleSelection"));return t}function $w(r,e){return v("get","/bundle_selections",{query:e},y(r,"listBundleSelections"))}async function Iw(r,e){const{bundle_selection:t}=await v("post","/bundle_selections",{data:e},y(r,"createBundleSelection"));return t}async function Sw(r,e,t){if(e===void 0||e==="")throw new Error("ID is required");const{bundle_selection:n}=await v("put","/bundle_selections",{id:e,data:t},y(r,"updateBundleSelection"));return n}function Aw(r,e){if(e===void 0||e==="")throw new Error("ID is required");return v("delete","/bundle_selections",{id:e},y(r,"deleteBundleSelection"))}async function Ow(r,e,t,n){if(e===void 0||e==="")throw new Error("Purchase item ID is required");const{subscription:i}=await v("put","/bundles",{id:e,data:t,query:n},y(r,"updateBundle"));return i}var xw=Object.freeze({__proto__:null,createBundleSelection:Iw,deleteBundleSelection:Aw,getBundleId:yw,getBundleSelection:Ew,getBundleSelectionId:vw,getDynamicBundleItems:mw,listBundleSelections:$w,updateBundle:Ow,updateBundleSelection:Sw,validateBundle:ft,validateBundleSelection:ww,validateDynamicBundle:Ui});const Tw=r=>{const e=r.layout_settings.addons,t=r.layout_settings.crossSells,n=r.customization_window,i=r.layout_settings?.defaultVariantId??r.default_bundle_variant_id,a=r.layout_settings.defaultFrequency,o=r.layout_settings.addToCartCallback;return{default_variant_id:i?String(i):null,is_customizable:r.is_customizable,price_rule:String(r.price_rule).toUpperCase(),customization_window:n?{active_days:n,disabled_message:r.customization_window_disabled_message||""}:null,addons:e.collectionId?{collection_id:e.collectionId,collection_handle:e.collectionHandle}:null,cross_sells:t.collectionId?{collection_id:e.collectionId,collection_handle:e.collectionHandle}:null,default_selling_plan_id:a||null,collapsible_collections:r.layout_settings.collapsibleSections,max_quantity_per_variant:r.max_quantity_per_variant,show_product_variants:r.layout_settings.showVariants,product_details_modal_enabled:r.layout_settings.learnMoreModal,addToCartBehavior:{type:o.type==="none"?"cart_page":o.type,value:o.value}}},Pw=r=>r.tiered_discounts.length===0?null:{tiered_discounts:r.tiered_discounts},Or=r=>({id:r.id,name:r.name,options:r.options.map(e=>({name:e.name,value:e.value})),recurring_deliveries:r.recurring_deliveries,price_adjustments:r.price_adjustments.map(({value:e,value_type:t})=>({value:e,value_type:t}))}),Bi=r=>({name:r.name,options:r.options.map(e=>({name:e.name,values:e.values})),selling_plans:r.selling_plans.map(Or)}),Li=r=>({id:String(r.id),title:r.title,price:r.price,compare_at_price:r.compare_at_price,options:r.options,available_for_sale:r.available}),dt=r=>r==null||typeof r=="string"?r:"src"in r?r.src:null,Vi=r=>({id:String(r.id),title:r.title,description:r.description,available_for_sale:r.available,featured_image:dt(r.featured_image),images:r.images,requires_selling_plan:r.requires_selling_plan,selling_plan_groups:r.selling_plan_groups.map(Bi)}),ji=r=>{const e=Rw(r.selling_plan_groups);return{...Vi(r),handle:r.handle,tags:r.tags,price_range:{min:r.price_min,max:r.price_max},compare_at_price_range:{min:r.compare_at_price_min,max:r.compare_at_price_max},options:r.options,variants:r.variants.map(t=>({...Li(t),selling_plan_allocations:t.selling_plan_allocations.map(n=>({price:n.price,compare_at_price:n.compare_at_price,selling_plan:Or(e[`${n.selling_plan_group_id}-${n.selling_plan_id}`])})),option1:t.option1,option2:t.option2,option3:t.option3,sku:t.sku||"",requires_shipping:t.requires_shipping,taxable:t.taxable,featured_image:dt(t.featured_image),public_title:t.public_title,requires_selling_plan:t.requires_selling_plan}))}},Fw=({items_count:r,ranges:e})=>e.length>0?e.map(({quantity_max:t,quantity_min:n})=>({min:n,max:t})):[{min:r,max:r}],Rw=r=>r.reduce((e,t)=>(t.selling_plans.forEach(n=>{const i=`${t.id}-${n.id}`;e[i]=n}),e),{}),Mw=r=>Array.isArray(r)?r:[];function ht(r){const e=Tw(r.bundle_settings),t=r.variants.reduce((n,i)=>(n[i.id]=i,n),{});return{id:String(r.id),title:r.title,description:r.description||null,handle:r.handle,options:r.options.map(n=>({name:n.name,position:n.position,values:n.values})),default_variant_id:e.default_variant_id,default_selling_plan_id:e.default_selling_plan_id?Number(e.default_selling_plan_id):null,available_for_sale:r.available,requires_selling_plan:r.requires_selling_plan,bundle_settings:{is_customizable:e.is_customizable,price_rule:e.price_rule,customization_window:e.customization_window,max_quantity_per_variant:e.max_quantity_per_variant,collapsible_collections:e.collapsible_collections,show_product_variants:e.show_product_variants,product_details_modal_enabled:e.product_details_modal_enabled,show_variants_as_individual_products:r.bundle_settings.settings.display_variants_as_separate_products_in_list,post_add_to_cart_behavior:e.addToCartBehavior},variants:r.bundle_settings.variants.filter(({enabled:n})=>n).map((n,i)=>{const a=t[String(n.external_variant_id)];return{id:String(n.external_variant_id),title:a.title,price:a.price,compare_at_price:a.compare_at_price,image:a.image||"",available_for_sale:a.available,options:a.options,requires_selling_plan:a.requires_selling_plan,selling_plan_allocations:a.selling_plan_allocations.map(o=>({price:o.price,compare_at_price:o.compare_at_price,selling_plan:Or(o.selling_plan)})),ranges:Fw(n),collections:n.option_sources.map(o=>({id:o.option_source_id,source_platform:"shopify",min:o.quantity_min||0,max:o.quantity_max,position:o.position})),default_selections:n.selection_defaults.map(o=>({quantity:o.quantity,product:{id:String(o.product.id),handle:o.handle,title:o.product.title,description:o.product.description,images:o.product.images},variant:{id:o.external_variant_id,title:o.variant.title,featured_image:dt(o.variant.featured_image),sku:o.sku||""}})),position:i}}),selling_plan_groups:r.selling_plan_groups.map(Bi),collections:Object.values(r.collections).reduce((n,i)=>(Array.isArray(i.products)&&(n[String(i.id)]={id:String(i.id),title:i.title,handle:i.handle,products:i.products.map(ji)}),n),{}),addons:r.addons.products.length?{collection_id:e.addons?.collection_id||"",collection_handle:e.addons?.collection_handle||"",products:r.addons.products.map(n=>({...Vi(n),price_range:{min:n.price,max:n.price},compare_at_price_range:{min:n.compare_at_price||0,max:n.compare_at_price},variants:n.variants.map(i=>({...Li(i),image:i.image,selling_plan_allocations:i.selling_plan_allocations.map(a=>({price:a.price,compare_at_price:a.compare_at_price,selling_plan:Or(a.selling_plan)}))}))}))}:null,cross_sells:r.cross_sells.products.length?{collection_id:e.cross_sells?.collection_id||"",collection_handle:e.cross_sells?.collection_handle||"",products:r.cross_sells.products.map(ji)}:null,incentives:Pw(r.incentives),filters:Mw(r.filters),templates:r.bundle_settings.layout_settings.templates||null,globalStyles:r.bundle_settings.layout_settings.globalStyles||null}}async function Dw(r,e){return e?.source==="shopify_storefront"?qw():Cw(r,e?.country_code)}async function Cw(r,e){const{appName:t,appVersion:n}=q(),i={"X-Recharge-Sdk-Fn":"loadFromOnlineStore","X-Recharge-Sdk-Version":"2.0.0",...t?{"X-Recharge-Sdk-App-Name":t}:{},...n?{"X-Recharge-Sdk-App-Version":n}:{}};if(!e){const o=await ee("get",`/bundle-data/${T(r)}`,{headers:i});return ht(o)}const a=new FormData;a.append("form_type","localization"),a.append("_method","put"),a.append("return_to",`${vt}/bundle-data/${r}`),a.append("country_code",e);try{const o=await L("post","/localization",{headers:{"Content-Type":"multipart/form-data",...i},data:a});return ht(o)}catch{const o=await ee("get",`/bundle-data/${T(r)}`,{headers:i});return ht(o)}}async function qw(r,e){if(!q().storeIdentifier)throw new Error("Store identifier is required for Shopify Storefront API requests");return{}}var Nw=Object.freeze({__proto__:null,loadBundleData:Dw});function kw(r){try{return JSON.parse(r)}catch{return r}}function Uw(r){return Object.entries(r).reduce((e,[t,n])=>({...e,[t]:kw(n)}),{})}const Xi=r=>typeof r=="string"?r!=="0"&&r!=="false":!!r;function pt(r,e){const t=new Set(e),n={};for(const i of Object.keys(r))t.has(i)||(n[i]=r[i]);return n}function Gi(r){const e=Uw(r),t=e.auto_inject===void 0?!0:e.auto_inject,n=e.display_on??[],i=e.first_option==="autodeliver";return{...pt(e,["display_on","first_option"]),auto_inject:t,valid_pages:n,is_subscription_first:i,autoInject:t,validPages:n,isSubscriptionFirst:i}}function Hi(r){const e=r.subscription_options?.storefront_purchase_options==="subscription_only";return{...r,is_subscription_only:e,isSubscriptionOnly:e}}function Bw(r){return r.map(e=>{const t={};return Object.entries(e).forEach(([n,i])=>{Object.defineProperty(t,n,{value:Hi(i),enumerable:!0,writable:!0,configurable:!0})}),t})}const _t="2020-12",Lw={store_currency:{currency_code:"USD",currency_symbol:"$",decimal_separator:".",thousands_separator:",",currency_symbol_location:"left"}},Ne=new Map;function xr(r,e){return Ne.has(r)||Ne.set(r,e()),Ne.get(r)}async function gt(r,e){if(r===void 0||r==="")throw new Error("ID is required");const t=e?.version??"2020-12",{product:n}=await xr(`product.${r}.${t}`,()=>ke("get",`/product/${t}/${T(r)}.json`));return t==="2020-12"?Hi(n):n}async function Wi(){return await xr("storeSettings",()=>ke("get",`/${_t}/store_settings.json`).catch(()=>Lw))}async function zi(){const{widget_settings:r}=await xr("widgetSettings",()=>ke("get",`/${_t}/widget_settings.json`));return Gi(r)}async function Yi(){const{products:r,widget_settings:e,store_settings:t,meta:n}=await xr("productsAndSettings",()=>ke("get",`/product/${_t}/products.json`));return n?.status==="error"?Promise.reject(n.message):{products:Bw(r),widget_settings:Gi(e),store_settings:t??{}}}async function Vw(){const{products:r}=await Yi();return r}async function jw(r){const[e,t,n]=await Promise.all([gt(r),Wi(),zi()]);return{product:e,store_settings:t,widget_settings:n,storeSettings:t,widgetSettings:n}}async function Xw(r){const{bundle_product:e}=await gt(r);return e}async function Ki(){return Array.from(Ne.keys()).forEach(r=>Ne.delete(r))}var Gw=Object.freeze({__proto__:null,getCDNBundleSettings:Xw,getCDNProduct:gt,getCDNProductAndSettings:jw,getCDNProducts:Vw,getCDNProductsAndSettings:Yi,getCDNStoreSettings:Wi,getCDNWidgetSettings:zi,resetCDNCache:Ki});async function Hw(r,e,t){if(e===void 0||e==="")throw new Error("ID is required");const{charge:n}=await v("get","/charges",{id:e,query:{include:t?.include}},y(r,"getCharge"));return n}function Ww(r,e){return v("get","/charges",{query:e},y(r,"listCharges"))}async function zw(r,e,t){if(e===void 0||e==="")throw new Error("ID is required");const{charge:n}=await v("post",`/charges/${T(e)}/apply_discount`,{data:{discount_code:t}},y(r,"applyDiscountToCharge"));return n}async function Yw(r,e){if(e===void 0||e==="")throw new Error("ID is required");const{charge:t}=await v("post",`/charges/${T(e)}/remove_discount`,{},y(r,"removeDiscountsFromCharge"));return t}async function Kw(r,e,t,n){if(e===void 0||e==="")throw new Error("ID is required");if(t===void 0||t.length===0)throw new Error("Purchase item IDs are required");const{charge:i}=await v("post",`/charges/${T(e)}/skip`,{query:n,data:{purchase_item_ids:t.map(a=>Number(a))}},y(r,"skipCharge"));return i}async function Zw(r,e,t,n){if(e===void 0||e==="")throw new Error("ID is required");if(t===void 0||t.length===0)throw new Error("Purchase item IDs are required");const{charge:i}=await v("post",`/charges/${T(e)}/unskip`,{query:n,data:{purchase_item_ids:t.map(a=>Number(a))}},y(r,"unskipCharge"));return i}async function Jw(r,e){if(e===void 0||e==="")throw new Error("ID is required");const{charge:t}=await v("post",`/charges/${T(e)}/process`,{},y(r,"processCharge"));return t}async function Qw(r,e,t){if(e===void 0||e==="")throw new Error("ID is required");const{charge:n}=await v("post",`/charges/${T(e)}/change_next_charge_date`,{data:{next_charge_date:t}},y(r,"rescheduleCharge"));return n}var e0=Object.freeze({__proto__:null,applyDiscountToCharge:zw,getCharge:Hw,listCharges:Ww,processCharge:Jw,removeDiscountsFromCharge:Yw,rescheduleCharge:Qw,skipCharge:Kw,unskipCharge:Zw});async function Zi(r,e){if(!["2020-12","2022-06"].includes(e.format_version))throw new Error("Missing or unsupported format_version.");return v("get","/product_search",{query:e,headers:{"X-Recharge-Version":"2021-01"}},y(r,"productSearch"))}var r0=Object.freeze({__proto__:null,productSearch:Zi});async function Ji(r,e){if(e===void 0||e==="")throw new Error("ID is required");const{collection:t}=await v("get","/collections",{id:e},y(r,"getCollection"));return t}function t0(r,e){return v("get","/collections",{query:e},y(r,"listCollections"))}async function n0(r,e,t){if(e===void 0||e==="")throw new Error("ID is required");if(!["2020-12","2022-06"].includes(t.format_version))throw new Error("Missing or unsupported format_version.");const n=y(r,"listCollectionProducts"),[{sort_order:i,manual_sort_order:a},{products:o}]=await Promise.all([Ji(n,e),Zi(n,{...t,collection_ids:[e],limit:250})]);if(i==="manual")return{products:a.reduce((u,c)=>{const h=o.find(d=>d.external_product_id===c);return h&&u.push(h),u},[])};{const u=i0(i);return{products:o.slice().sort(u)}}}function Qi(r,e){const t=r.external_created_at,n=e.external_created_at;return t<n?-1:n>t?1:0}function ea(r,e){const t=r.external_product_id,n=e.external_product_id;return t<n?-1:n>t?1:0}function ra(r,e){const t=r.title.toLowerCase(),n=e.title.toLowerCase();return t<n?-1:n>t?1:0}function i0(r){switch(r){case"created_at-asc":return Qi;case"created_at-desc":return(e,t)=>Qi(t,e);case"id-asc":return ea;case"id-desc":return(e,t)=>ea(t,e);case"title-asc":return ra;case"title-desc":return(e,t)=>ra(t,e)}}var a0=Object.freeze({__proto__:null,getCollection:Ji,listCollectionProducts:n0,listCollections:t0});async function o0(r,e){const t=r.customerId;if(!t)throw new Error("Not logged in.");const{customer:n}=await v("get","/customers",{id:t,query:{include:e?.include}},y(r,"getCustomer"));return n}async function ta(r,e){const t=r.customerId;if(!t)throw new Error("Not logged in.");const{customer:n}=await v("put","/customers",{id:t,data:e},y(r,"updateCustomer"));return n}async function s0(r,e){const t=r.customerId;if(!t)throw new Error("Not logged in.");const{deliveries:n}=await v("get",`/customers/${T(t)}/delivery_schedule`,{query:e},y(r,"getDeliverySchedule"));return n}async function Tr(r,e){return v("get","/portal_access",{query:e},y(r,"getCustomerPortalAccess"))}async function u0(r,e,t){if(e===void 0||e==="")throw new Error("Subscription ID is required");const{base_url:n,customer_hash:i,temp_token:a}=await Tr(y(r,"getActiveChurnLandingPageURL"));return`${n.replace("portal","pages")}${i}/subscriptions/${e}/cancel?token=${a}&subscription=${e}&redirect_to=${encodeURIComponent(t)}`}async function c0(r){const{base_url:e,customer_hash:t,temp_token:n}=await Tr(y(r,"getFailedPaymentMethodRecoveryLandingPageURL"));return`${e.replace("portal","pages")}account/payment-methods?token=${n}&hash=${t}`}async function l0(r,e,t){if(e===void 0||e==="")throw new Error("Gift ID is required");const{base_url:n,customer_hash:i,temp_token:a}=await Tr(y(r,"getGiftRedemptionLandingPageURL"));return`${n.replace("portal","pages")}${i}/gifts/${e}?token=${a}&redirect_to=${encodeURIComponent(t)}`}const na={SHOPIFY_UPDATE_PAYMENT_INFO:{type:"email",template_type:"shopify_update_payment_information"},SHOPIFY_MIGRATE_PAYMENT_INFO:{type:"email",template_type:"shopify_migrate_payment_information"}};async function f0(r,e,t){const n=r.customerId;if(!n)throw new Error("Not logged in.");if(!Object.prototype.hasOwnProperty.call(na,e))throw new Error("Notification not supported.");const i=na[e];return v("post",`/customers/${T(n)}/notifications`,{data:{...i,template_vars:t}},y(r,"sendCustomerNotification"))}async function d0(r,e){const t=r.customerId;if(!t)throw new Error("Not logged in.");const{credit_summary:n}=await v("get",`/customers/${T(t)}/credit_summary`,{query:{include:e?.include}},y(r,"getCreditSummary"));return n}var h0=Object.freeze({__proto__:null,getActiveChurnLandingPageURL:u0,getCreditSummary:d0,getCustomer:o0,getCustomerPortalAccess:Tr,getDeliverySchedule:s0,getFailedPaymentMethodRecoveryLandingPageURL:c0,getGiftRedemptionLandingPageURL:l0,sendCustomerNotification:f0,updateCustomer:ta});async function p0(r,e){const t=r.customerId;if(!t)throw new Error("Not logged in.");const{credit_summary:n}=await v("get",`/customers/${T(t)}/credit_summary`,{query:{include:e?.include,presentment_currency_code:e?.presentment_currency_code}},y(r,"getCreditSummary"));return n}function _0(r,{recurring:e}){if(!r.customerId)throw new Error("Not logged in.");const t={};return e!==void 0&&(t.apply_credit_to_next_recurring_charge=e),ta(y(r,"setApplyCreditsToNextCharge"),t)}async function g0(r,e){const t=r.customerId;if(!t)throw new Error("Not logged in.");const{customer_id:n,...i}=e??{};return await v("get","/credit_accounts",{query:{...i,customer_id:t}},y(r,"listCreditAccounts"))}var y0=Object.freeze({__proto__:null,getCreditSummary:p0,listCreditAccounts:g0,setApplyCreditsToNextCharge:_0});async function v0(r,e,t){return await v("post","/customer_surveys/cancellation_prevention",{data:{customer_id:e,subscription_id:t}},y(r,"getCustomerSurveyReasons"))}async function m0(r,e,t,n){return await v("post",`/customer_surveys/${T(t)}/customer_response`,{data:{customer_id:e,response_id:n}},y(r,"getCustomerSurveyOffers"))}async function w0(r,e){return await v("post","/offers/claim",{data:e},y(r,"claimOfferCustomerSurvey")),{}}var b0=Object.freeze({__proto__:null,claimOfferCustomerSurvey:w0,getCustomerSurveyOffers:m0,getCustomerSurveyReasons:v0});function E0(r,e){if(!r.customerId)throw new Error("Not logged in.");return v("get","/gift_purchases",{query:e},y(r,"listGiftPurchases"))}async function $0(r,e){if(!r.customerId)throw new Error("Not logged in.");if(e===void 0||e==="")throw new Error("ID is required");const{gift_purchase:t}=await v("get","/gift_purchases",{id:e},y(r,"getGiftPurchase"));return t}var I0=Object.freeze({__proto__:null,getGiftPurchase:$0,listGiftPurchases:E0});function S0(r,e){if(!r.customerId)throw new Error("Not logged in.");return v("get","/incentives/tiered_discounts",{query:e},y(r,"listTieredDiscounts"))}async function A0(r,e){if(!r.customerId)throw new Error("Not logged in.");if(e===void 0||e==="")throw new Error("ID is required");const{tiered_discount:t}=await v("get",`/incentives/tiered_discounts/${T(e)}`,{},y(r,"getTieredDiscount"));return t}function O0(r,e){return v("post","/incentives/tiered_discounts/offers",{data:e},y(r,"getTieredDiscountOffers"))}var x0=Object.freeze({__proto__:null,getTieredDiscount:A0,getTieredDiscountOffers:O0,listTieredDiscounts:S0});async function T0(r,e){if(e===void 0||e==="")throw new Error("ID is required");const{membership:t}=await v("get","/memberships",{id:e},y(r,"getMembership"));return t}function P0(r,e){return v("get","/memberships",{query:e},y(r,"listMemberships"))}async function F0(r,e,t){if(e===void 0||e==="")throw new Error("ID is required");const{membership:n}=await v("post",`/memberships/${T(e)}/cancel`,{data:t},y(r,"cancelMembership"));return n}async function R0(r,e,t){if(e===void 0||e==="")throw new Error("ID is required");const{membership:n}=await v("post",`/memberships/${T(e)}/activate`,{data:t},y(r,"activateMembership"));return n}async function M0(r,e,t){if(e===void 0||e==="")throw new Error("ID is required");const{membership:n}=await v("post",`/memberships/${T(e)}/change`,{data:t},y(r,"changeMembership"));return n}var D0=Object.freeze({__proto__:null,activateMembership:R0,cancelMembership:F0,changeMembership:M0,getMembership:T0,listMemberships:P0});async function C0(r,e,t){if(e===void 0||e==="")throw new Error("ID is required");const{membership_program:n}=await v("get","/membership_programs",{id:e,query:{include:t?.include}},y(r,"getMembershipProgram"));return n}function q0(r,e){return v("get","/membership_programs",{query:e},y(r,"listMembershipPrograms"))}var N0=Object.freeze({__proto__:null,getMembershipProgram:C0,listMembershipPrograms:q0});async function k0(r,e){const{metafield:t}=await v("post","/metafields",{data:{metafield:e}},y(r,"createMetafield"));return t}async function U0(r,e,t){if(e===void 0||e==="")throw new Error("ID is required");const{metafield:n}=await v("put","/metafields",{id:e,data:{metafield:t}},y(r,"updateMetafield"));return n}function B0(r,e){if(e===void 0||e==="")throw new Error("ID is required");return v("delete","/metafields",{id:e},y(r,"deleteMetafield"))}var L0=Object.freeze({__proto__:null,createMetafield:k0,deleteMetafield:B0,updateMetafield:U0});async function V0(r,e){if(e===void 0||e==="")throw new Error("ID is required");const{onetime:t}=await v("get","/onetimes",{id:e},y(r,"getOnetime"));return t}function j0(r,e){return v("get","/onetimes",{query:e},y(r,"listOnetimes"))}async function X0(r,e){const{onetime:t}=await v("post","/onetimes",{data:e},y(r,"createOnetime"));return t}async function G0(r,e,t){if(e===void 0||e==="")throw new Error("ID is required");const{onetime:n}=await v("put","/onetimes",{id:e,data:t},y(r,"updateOnetime"));return n}function H0(r,e){if(e===void 0||e==="")throw new Error("ID is required");return v("delete","/onetimes",{id:e},y(r,"deleteOnetime"))}var W0=Object.freeze({__proto__:null,createOnetime:X0,deleteOnetime:H0,getOnetime:V0,listOnetimes:j0,updateOnetime:G0});async function z0(r,e){if(e===void 0||e==="")throw new Error("ID is required");const{order:t}=await v("get","/orders",{id:e},y(r,"getOrder"));return t}function Y0(r,e){return v("get","/orders",{query:e},y(r,"listOrders"))}async function K0(r,e){if(e===void 0||e==="")throw new Error("ID is required");const{order:t}=await v("post",`/orders/${T(e)}/delay`,{},y(r,"delayOrder"));return t}var Z0=Object.freeze({__proto__:null,delayOrder:K0,getOrder:z0,listOrders:Y0});async function J0(r,e){return typeof window<"u"&&window.Spreedly?Promise.resolve():new Promise((t,n)=>{if(typeof document>"u"){n(new Error("Document is not available. This function must be called in a browser environment."));return}if(document.querySelector(`script[src="${r}"]`)){const a=()=>{window.Spreedly?t():setTimeout(a,50)};a();return}const i=document.createElement("script");i.src=r,i.integrity=e,i.crossOrigin="anonymous",i.addEventListener("load",()=>{const a=()=>{window.Spreedly?t():setTimeout(a,50)};a()}),i.addEventListener("error",()=>{n(new Error("Failed to load payment iFrame script"))}),document.head.appendChild(i)})}async function Q0(r,e,t){if(e===void 0||e==="")throw new Error("ID is required");const{payment_method:n}=await v("get","/payment_methods",{id:e,query:{include:t?.include}},y(r,"getPaymentMethod"));return n}async function ia(r,e){const{payment_method:t}=await v("post","/payment_methods",{data:{...e,customer_id:r.customerId}},y(r,"createPaymentMethod"));return t}async function eb(r,e,t){if(e===void 0||e==="")throw new Error("ID is required");const{payment_method:n}=await v("put","/payment_methods",{id:e,data:t},y(r,"updatePaymentMethod"));return n}function rb(r,e){return v("get","/payment_methods",{query:e},y(r,"listPaymentMethods"))}async function tb(r,e){const t=await nb(r,e),n=t.external.environment_key,i=t.payment_method_intent_id,a=t.external_customer_id.ecommerce,o=t.external.resource_url,u=t.external.integrity_hash,c=t.payment_method?.processor_payment_method_token;await J0(o,u);let h=!1,d=null,s=null,_=null;return{mount(l,m){if(typeof window>"u"||!window.Spreedly)throw new Error("Payment script failed to load");window.Spreedly.init(n,{numberEl:l.numberElementId,cvvEl:l.cvvElementId}),window.Spreedly.on("ready",()=>{h=!0,l.styles&&(window.Spreedly.setStyle("number",l.styles),window.Spreedly.setStyle("cvv",l.styles)),l.numberLabel&&window.Spreedly.setLabel("number",l.numberLabel),l.cvvLabel&&window.Spreedly.setLabel("cvv",l.cvvLabel),l.numberPlaceholder&&window.Spreedly.setPlaceholder("number",l.numberPlaceholder),l.cvvPlaceholder&&window.Spreedly.setPlaceholder("cvv",l.cvvPlaceholder),l.numberFormat==="plainFormat"?(l.numberFieldType&&window.Spreedly.setFieldType("number",l.numberFieldType),l.cvvFieldType&&window.Spreedly.setFieldType("cvv",l.cvvFieldType),window.Spreedly.setNumberFormat("plainFormat")):l.numberFormat==="maskedFormat"?(window.Spreedly.setFieldType("cvv","text"),window.Spreedly.setFieldType("number","text"),window.Spreedly.setNumberFormat("maskedFormat")):l.numberFormat==="prettyFormat"?(l.numberFieldType==="text"||l.numberFieldType==="tel"?window.Spreedly.setFieldType("number",l.numberFieldType):window.Spreedly.setFieldType("number","tel"),l.cvvFieldType==="text"||l.cvvFieldType==="tel"?window.Spreedly.setFieldType("cvv",l.cvvFieldType):window.Spreedly.setFieldType("cvv","tel"),window.Spreedly.setNumberFormat("prettyFormat")):(l.numberFieldType&&window.Spreedly.setFieldType("number",l.numberFieldType),l.cvvFieldType&&window.Spreedly.setFieldType("cvv",l.cvvFieldType)),m?.onReady?.()}),window.Spreedly.on("fieldEvent",(E,I,x,O)=>{m?.onFieldEvent?.(E,I,x,O)}),window.Spreedly.on("errors",E=>{m?.onErrors?.(E)}),window.Spreedly.on("paymentMethod",(E,I)=>{d=E,m?.onPaymentMethod?.(E,I),s&&(d=null,s(E),s=null)})},tokenize(l){if(!h||!window.Spreedly)throw new Error("Payment form is not initialized");let m=String(l.year);m.length===2&&(m=`20${m}`);const E=String(l.month).padStart(2,"0");"full_name"in l?window.Spreedly.tokenizeCreditCard({full_name:l.full_name,month:E,year:m}):window.Spreedly.tokenizeCreditCard({first_name:l.first_name,last_name:l.last_name,month:E,year:m})},async submit(l){if(!h)throw new Error("Payment form is not initialized");if(d){const m=d;return d=null,aa(r,m,l,{external_payment_method_id:c,payment_method_intent_id:i,external_customer_id:a})}return new Promise((m,E)=>{_=l,s=async I=>{try{const x=await aa(r,I,_,{external_payment_method_id:c,payment_method_intent_id:i,external_customer_id:a});m(x)}catch(x){E(x)}finally{_=null}},this.tokenize(l.card_details)})},reset(){window.Spreedly&&window.Spreedly.reload(),d=null,s=null,_=null},unmount(){window.Spreedly&&window.Spreedly.removeHandlers(),h=!1,d=null,s=null,_=null},addEventHandlers(l){l.onReady&&window.Spreedly.on("ready",l.onReady),l.onFieldEvent&&window.Spreedly.on("fieldEvent",l.onFieldEvent),l.onErrors&&window.Spreedly.on("errors",l.onErrors),l.onPaymentMethod&&window.Spreedly.on("paymentMethod",l.onPaymentMethod)},removeHandlers(){window.Spreedly&&window.Spreedly.removeHandlers()},setFieldType(l,m){window.Spreedly.setFieldType(l,m)},setLabel(l,m){window.Spreedly.setLabel(l,m)},setNumberFormat(l){window.Spreedly.setNumberFormat(l)},setPlaceholder(l,m){window.Spreedly.setPlaceholder(l,m)},setStyle(l,m){window.Spreedly.setStyle(l,m)}}}async function nb(r,e){const t=r.customerId;if(!t)throw new Error("Not logged in.");return await v("post","/payment_method_intents",{data:{customer_id:t,payment_method_id:e}},y(r,"createFrictionlessPaymentIntentV1"))}async function aa(r,e,{billing_address:t,default_payment_method:n,address_ids:i,apply_to_all_subscription_addresses:a},{external_payment_method_id:o,payment_method_intent_id:u,external_customer_id:c}){return await ia(y(r,"submitFrictionlessPaymentMethodV1"),{default:n??!1,payment_type:"CREDIT_CARD",processor_customer_token:c.toString(),processor_name:"frictionless",processor_payment_method_token:e,billing_address:t,payment_method_intent_id:u,address_ids:i,external_payment_method_id:o,apply_to_all_subscription_addresses:a})}var ib=Object.freeze({__proto__:null,createPaymentMethod:ia,getPaymentMethod:Q0,initFrictionlessPaymentV1:tb,listPaymentMethods:rb,updatePaymentMethod:eb});async function ab(r,e){if(e===void 0||e==="")throw new Error("ID is required");const{plan:t}=await v("get","/plans",{id:e},y(r,"getPlan"));return t}function ob(r,e){return v("get","/plans",{query:e},y(r,"listPlans"))}var sb=Object.freeze({__proto__:null,getPlan:ab,listPlans:ob});async function ub(r,e){return await v("get","/shop/shipping_countries",{query:e,headers:{"X-Recharge-Version":"2021-01"}},y(r,"getShippingCountries"))}async function cb(r){return await v("get","/shop/settings",{headers:{"X-Recharge-Version":"2021-01"}},y(r,"getStoreSettings"))}var lb=Object.freeze({__proto__:null,getShippingCountries:ub,getStoreSettings:cb});function fb(r,e){return{...pt(e,["address_id","external_variant_id","external_product_id","charge_interval_frequency","order_interval_frequency","price","status"]),customer_id:parseInt(r,10),shopify_variant_id:e.external_variant_id.ecommerce?parseInt(e.external_variant_id.ecommerce,10):void 0,...e.charge_interval_frequency?{charge_interval_frequency:`${e.charge_interval_frequency}`}:{},...e.order_interval_frequency?{order_interval_frequency:`${e.order_interval_frequency}`}:{},status:e.status?e.status.toUpperCase():void 0}}function db(r,e){return{...pt(e,["external_variant_id","external_product_id","charge_interval_frequency","order_interval_frequency","price","use_external_variant_defaults"]),shopify_variant_id:e.external_variant_id?.ecommerce?parseInt(e.external_variant_id.ecommerce,10):void 0,...e.charge_interval_frequency?{charge_interval_frequency:`${e.charge_interval_frequency}`}:void 0,...e.order_interval_frequency?{order_interval_frequency:`${e.order_interval_frequency}`}:void 0,force_update:r}}function oa(r){const{id:e,address_id:t,customer_id:n,analytics_data:i,cancellation_reason:a,cancellation_reason_comments:o,cancelled_at:u,charge_interval_frequency:c,created_at:h,expire_after_specific_number_of_charges:d,shopify_product_id:s,shopify_variant_id:_,has_queued_charges:l,is_prepaid:m,is_skippable:E,is_swappable:I,max_retries_reached:x,next_charge_scheduled_at:O,order_day_of_month:f,order_day_of_week:S,order_interval_frequency:P,order_interval_unit:D,presentment_currency:b,price:g,product_title:w,properties:$,quantity:A,sku:B,sku_override:Fb,status:Rb,updated_at:Mb,variant_title:Db}=r;return{id:e,address_id:t,customer_id:n,analytics_data:i,cancellation_reason:a,cancellation_reason_comments:o,cancelled_at:u,charge_interval_frequency:parseInt(c,10),created_at:h,expire_after_specific_number_of_charges:d,external_product_id:{ecommerce:`${s}`},external_variant_id:{ecommerce:`${_}`},has_queued_charges:Xi(l),is_prepaid:m,is_skippable:E,is_swappable:I,max_retries_reached:Xi(x),next_charge_scheduled_at:O,order_day_of_month:f,order_day_of_week:S,order_interval_frequency:parseInt(P,10),order_interval_unit:D,presentment_currency:b,price:`${g}`,product_title:w??"",properties:$,quantity:A,sku:B,sku_override:Fb,status:Rb.toLowerCase(),updated_at:Mb,variant_title:Db}}async function hb(r,e,t){if(e===void 0||e==="")throw new Error("ID is required");const{subscription:n}=await v("get","/subscriptions",{id:e,query:{include:t?.include}},y(r,"getSubscription"));return n}function pb(r,e){return v("get","/subscriptions",{query:e},y(r,"listSubscriptions"))}function _b(r,e,t){if(e===void 0||e==="")throw new Error("ID is required");return v("get",`/subscriptions/${T(e)}/addons`,{query:t},y(r,"listSubscriptionAddons"))}async function gb(r,e,t){const{subscription:n}=await v("post","/subscriptions",{data:e,query:t},y(r,"createSubscription"));return n}async function yb(r,e,t,n){if(e===void 0||e==="")throw new Error("ID is required");const{subscription:i}=await v("put","/subscriptions",{id:e,data:t,query:n},y(r,"updateSubscription"));return i}async function vb(r,e,t,n){if(e===void 0||e==="")throw new Error("ID is required");const{subscription:i}=await v("post",`/subscriptions/${T(e)}/set_next_charge_date`,{data:{date:t},query:n},y(r,"updateSubscriptionChargeDate"));return i}async function mb(r,e,t){if(e===void 0||e==="")throw new Error("ID is required");const{subscription:n}=await v("post",`/subscriptions/${T(e)}/change_address`,{data:{address_id:t}},y(r,"updateSubscriptionAddress"));return n}async function wb(r,e,t,n){if(e===void 0||e==="")throw new Error("ID is required");const{subscription:i}=await v("post",`/subscriptions/${T(e)}/cancel`,{data:t,query:n},y(r,"cancelSubscription"));return i}async function bb(r,e,t){if(e===void 0||e==="")throw new Error("ID is required");const{subscription:n}=await v("post",`/subscriptions/${T(e)}/activate`,{query:t},y(r,"activateSubscription"));return n}async function Eb(r,e,t){if(e===void 0||e==="")throw new Error("ID is required");const{charge:n}=await v("post",`/subscriptions/${T(e)}/charges/skip`,{data:{date:t,subscription_id:`${e}`}},y(r,"skipSubscriptionCharge"));return n}async function $b(r,e,t){if(e===void 0||e.length===0)throw new Error("Subscription IDs are required");const{onetimes:n}=await v("post","/purchase_items/skip_gift",{data:{purchase_item_ids:e.map(Number),recipient_address:t}},y(r,"skipGiftSubscriptionCharge"));return n}async function Ib(r,e,t){const n=e.length;if(n<1||n>21)throw new Error("Number of subscriptions must be between 1 and 20.");const{customerId:i}=r;if(!i)throw new Error("No customerId in session.");const a=e[0].address_id;if(!e.every(h=>h.address_id===a))throw new Error("All subscriptions must have the same address_id.");const o=e.map(h=>fb(i,h));let u;t?.allow_onetimes!==void 0&&(u={allow_onetimes:t.allow_onetimes});const{subscriptions:c}=await v("post",`/addresses/${T(a)}/subscriptions-bulk`,{data:{subscriptions:o,commit_update:!!t?.commit},headers:{"X-Recharge-Version":"2021-01"},query:u},y(r,"createSubscriptions"));return c.map(oa)}async function Sb(r,e,t,n){if(e===void 0||e==="")throw new Error("Address ID is required");const i=t.length;if(i<1||i>21)throw new Error("Number of subscriptions must be between 1 and 20.");const{customerId:a}=r;if(!a)throw new Error("No customerId in session.");const o=!!n?.force_update,u=t.map(d=>db(o,d));let c;n?.allow_onetimes!==void 0&&(c={allow_onetimes:n.allow_onetimes});const{subscriptions:h}=await v("put",`/addresses/${T(e)}/subscriptions-bulk`,{data:{subscriptions:u,commit_update:!!n?.commit},headers:{"X-Recharge-Version":"2021-01"},query:c},y(r,"updateSubscriptions"));return h.map(oa)}async function Ab(r,e,t,n){if(e===void 0||e==="")throw new Error("Address ID is required");const i=t.length;if(i<1||i>21)throw new Error("Number of subscriptions must be between 1 and 20.");const{customerId:a}=r;if(!a)throw new Error("No customerId in session.");let o;n?.allow_onetimes!==void 0&&(o={allow_onetimes:n.allow_onetimes}),await v("delete",`/addresses/${T(e)}/subscriptions-bulk`,{data:{subscriptions:t,send_email:!!n?.send_email,commit_update:!!n?.commit},headers:{"X-Recharge-Version":"2021-01"},query:o},y(r,"deleteSubscriptions"))}var Ob=Object.freeze({__proto__:null,activateSubscription:bb,cancelSubscription:wb,createSubscription:gb,createSubscriptions:Ib,deleteSubscriptions:Ab,getSubscription:hb,listSubscriptionAddons:_b,listSubscriptions:pb,skipGiftSubscriptionCharge:$b,skipSubscriptionCharge:Eb,updateSubscription:yb,updateSubscriptionAddress:mb,updateSubscriptionChargeDate:vb,updateSubscriptions:Sb});const xb={get(r,e){return L("get",r,e)},post(r,e){return L("post",r,e)},put(r,e){return L("put",r,e)},delete(r,e){return L("delete",r,e)}};function Tb(r){if(r)return r;if(window?.Shopify?.shop)return window.Shopify.shop;let e=window?.domain;if(!e){const t=location?.href.match(/(?:http[s]*:\/\/)*(.*?)\.(?=admin\.rechargeapps\.com)/i)?.[1].replace(/-sp$/,"");t&&(e=`${t}.myshopify.com`)}if(e)return e;throw new Error("No storeIdentifier was passed into init.")}function Pb(r={}){const e=r,{storefrontAccessToken:t}=r;if(t&&!t.startsWith("strfnt"))throw new Error("Incorrect storefront access token used. See https://storefront.rechargepayments.com/client/docs/getting_started/package_setup/#initialization-- for more information.");ua({storeIdentifier:Tb(r.storeIdentifier),loginRetryFn:r.loginRetryFn,__unstable_twoFactorRetryFn:r.__unstable_twoFactorRetryFn,storefrontAccessToken:t,appName:r.appName,appVersion:r.appVersion,environment:e.environment?e.environment:"prod",environmentUri:e.environmentUri,customerHash:e.customerHash}),Ki()}const sa={init:Pb,api:xb,address:Ea,auth:Ra,bundle:xw,bundleData:Nw,charge:e0,cdn:Gw,collection:a0,credit:y0,customer:h0,customerSurveys:b0,gift:I0,tieredDiscount:x0,membership:D0,membershipProgram:N0,metafield:L0,onetime:W0,order:Z0,paymentMethod:ib,plan:sb,product:r0,store:lb,subscription:Ob};try{sa.init()}catch{}return sa});
1
+ // recharge-client-2.2.0.min.js | MIT License | © Recharge Inc.
2
+ (function(N,T){typeof exports=="object"&&typeof module<"u"?module.exports=T():typeof define=="function"&&define.amd?define(T):(N=typeof globalThis<"u"?globalThis:N||self,N.recharge=T())})(this,function(){"use strict";const N="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";function T(t=21){let e="";for(let r=0;r<t;r++)e+=N[Math.random()*64|0];return e}let _e={storeIdentifier:"",environment:"prod"};function tt(t){_e=t}function b(){return _e}const rt=(t,e="")=>{switch(t){case"prod":return"https://api.rechargeapps.com";case"stage":return"https://api.stage.rechargeapps.com";case"preprod":case"prestage":return`${e}/api`}},nt=(t,e="")=>{switch(t){case"prod":return"https://admin.rechargeapps.com";case"stage":return"https://admin.stage.rechargeapps.com";case"preprod":case"prestage":return e}},it=t=>{switch(t){case"prod":case"preprod":return"https://static.rechargecdn.com";case"stage":case"prestage":return"https://static.stage.rechargecdn.com"}},me="/tools/recurring";class F{constructor(e,r){this.name="RechargeRequestError",this.message=e,this.status=r}}function p(t){return encodeURIComponent(`${t}`.trim())}function st(t){const e=r=>encodeURIComponent(r===null?"":String(r));return Object.entries(t).filter(([,r])=>r!==void 0&&!(Array.isArray(r)&&r.length===0)).map(([r,n])=>`${r}=${Array.isArray(n)?n.map(e).join(","):e(n)}`).join("&")}const ot=new Set(["shop_url"]);function a(t,e){return{...t,internalFnCall:t.internalFnCall??e,internalRequestId:t.internalRequestId??T()}}async function V(t,e,r={}){const n=b();return S(t,`${it(n.environment)}/store/${n.storeIdentifier}${e}`,r)}async function c(t,e,{id:r,query:n,data:i,headers:s}={},o){const{environment:l,environmentUri:f,storeIdentifier:h,loginRetryFn:_,__unstable_twoFactorRetryFn:y,appName:v,appVersion:d}=b();if(!h)throw new Error("InitRecharge has not been called and/or no store identifier has been defined.");const m=o.apiToken;if(!m)throw new Error("No API token defined on session.");const g=rt(l,f),I={"X-Recharge-Access-Token":m,"X-Recharge-Version":"2021-11","X-Recharge-Sdk-Fn":o.internalFnCall,...v?{"X-Recharge-Sdk-App-Name":v}:{},...d?{"X-Recharge-Sdk-App-Version":d}:{},"X-Recharge-Sdk-Version":"2.2.0","X-Request-Id":o.internalRequestId,...o.tmp_fn_identifier?{"X-Recharge-Sdk-Fn-Identifier":o.tmp_fn_identifier}:{},...s||{}},x=n,D={...x?Object.fromEntries(Object.entries(x).filter(([q])=>!ot.has(q))):void 0,shop_url:h};try{return await S(t,`${g}${e}`,{id:r,query:D,data:i,headers:I})}catch(q){if(_&&q instanceof F&&q.status===401)return _().then(O=>{if(O)return S(t,`${g}${e}`,{id:r,query:D,data:i,headers:{...I,"X-Recharge-Access-Token":O.apiToken}});throw q});if(y&&q instanceof F&&q.status===423)return y().then(O=>{if(O)return S(t,`${g}${e}`,{id:r,query:D,data:i,headers:{...I,"X-Recharge-Access-Token":O.apiToken}});throw q});throw q}}async function A(t,e,r={}){return S(t,`${me}${e}`,r)}async function S(t,e,{id:r,query:n,data:i,headers:s}={}){let o=e.trim();if(r&&(o=[o,p(r)].join("/")),n){let y;[o,y]=o.split("?");const v=[y,st(n)].join("&").replace(/^&/,"");o=`${o}${v?`?${v}`:""}`}let l;i&&t!=="get"&&(l=JSON.stringify(i));const f={Accept:"application/json","Content-Type":"application/json","X-Recharge-App":"storefront-client",...s||{}},h=await fetch(o,{method:t,headers:f,body:l});let _;try{_=await h.json()}catch{}if(!h.ok)throw h.status===502||h.status===504?new F("A gateway error occurred while making the request",h.status):_&&_.error?new F(_.error,h.status):_&&_.errors?new F(JSON.stringify(_.errors),h.status):new F("A connection error occurred while making the request");return _}function at(t,e){return c("get","/addresses",{query:e},a(t,"listAddresses"))}async function ct(t,e,r){if(e===void 0||e==="")throw new Error("ID is required");const{address:n}=await c("get","/addresses",{id:e,query:{include:r?.include}},a(t,"getAddress"));return n}async function dt(t,e){const{address:r}=await c("post","/addresses",{data:{...e,customer_id:t.customerId?Number(t.customerId):void 0}},a(t,"createAddress"));return r}async function J(t,e,r,n){if(e===void 0||e==="")throw new Error("ID is required");const{address:i}=await c("put","/addresses",{id:e,data:r,query:n},a(t,"updateAddress"));return i}async function ut(t,e,r,n){return J(a(t,"applyDiscountToAddress"),e,{discounts:[{code:r}]},n)}async function lt(t,e,r){if(e===void 0||e==="")throw new Error("Id is required");return J(a(t,"removeDiscountsFromAddress"),e,{discounts:[]},r)}function pt(t,e){if(e===void 0||e==="")throw new Error("ID is required");return c("delete","/addresses",{id:e},a(t,"deleteAddress"))}async function ht(t,e){const{address:r}=await c("post","/addresses/merge",{data:e},a(t,"mergeAddresses"));return r}async function _t(t,e,r){if(e===void 0||e==="")throw new Error("ID is required");const{charge:n}=await c("post",`/addresses/${p(e)}/charges/skip`,{data:r},a(t,"skipFutureCharge"));return n}var mt=Object.freeze({__proto__:null,applyDiscountToAddress:ut,createAddress:dt,deleteAddress:pt,getAddress:ct,listAddresses:at,mergeAddresses:ht,removeDiscountsFromAddress:lt,skipFutureCharge:_t,updateAddress:J});async function ft(){const{storefrontAccessToken:t}=b(),e={};t&&(e["X-Recharge-Storefront-Access-Token"]=t);const r=await A("get","/access",{headers:e});return{apiToken:r.api_token,customerId:r.customer_id,message:r.message}}async function gt(t,e){return fe(t,e)}async function fe(t,e){if(!t)throw new Error("Shopify storefront token is required");const{storeIdentifier:r}=b();if(!r)throw new Error("InitRecharge has not been called and/or no store identifier has been defined.");const{api_token:n,customer_id:i,message:s}=await B("post","/shopify_storefront_access",{data:{customer_token:e,storefront_token:t,shop_url:r}});return n?{apiToken:n,customerId:i,message:s}:null}async function wt(t){const{storeIdentifier:e}=b();if(!e)throw new Error("InitRecharge has not been called and/or no store identifier has been defined.");const{api_token:r,customer_id:n,message:i}=await B("post","/shopify_customer_account_api_access",{data:{customer_token:t,shop_url:e}});return r?{apiToken:r,customerId:n,message:i}:null}async function yt(t,e={}){if(!t)throw new Error("Email is required.");const{storeIdentifier:r}=b();if(!r)throw new Error("InitRecharge has not been called and/or no store identifier has been defined.");const{send_email:n,send_sms:i}=e,s=await B("post","/attempt_login",{data:{email:t,shop:r,...n!==void 0?{send_email:n}:{},...i!==void 0?{send_sms:i}:{}}});if(s.errors)throw new Error(s.errors);return s.session_token}async function bt(t,e={}){if(!t)throw new Error("Email is required.");const{storefrontAccessToken:r}=b(),n={};r&&(n["X-Recharge-Storefront-Access-Token"]=r);const{send_email:i,send_sms:s}=e,o=await A("post","/attempt_login",{data:{email:t,...i!==void 0?{send_email:i}:{},...s!==void 0?{send_sms:s}:{}},headers:n});if(o.errors)throw new Error(o.errors);return o.session_token}async function vt(t,e,r){if(!t)throw new Error("Email is required.");if(!e)throw new Error("Session token is required.");if(!r)throw new Error("Code is required.");const{storeIdentifier:n}=b();if(!n)throw new Error("InitRecharge has not been called and/or no store identifier has been defined.");const i=await B("post","/validate_login",{data:{code:r,email:t,session_token:e,shop:n}});if(i.errors)throw new Error(i.errors);return{apiToken:i.api_token,customerId:i.customer_id}}async function St(t,e,r){if(!t)throw new Error("Email is required.");if(!e)throw new Error("Session token is required.");if(!r)throw new Error("Code is required.");const{storefrontAccessToken:n}=b(),i={};n&&(i["X-Recharge-Storefront-Access-Token"]=n);const s=await A("post","/validate_login",{data:{code:r,email:t,session_token:e},headers:i});if(s.errors)throw new Error(s.errors);return{apiToken:s.api_token,customerId:s.customer_id}}function $t(){const{customerHash:t}=b(),{pathname:e,search:r}=window.location,n=new URLSearchParams(r).get("token"),i=e.split("/").filter(Boolean),s=i.findIndex(l=>l==="portal"),o=s!==-1?i[s+1]:t;if(!n||!o)throw new Error("Not in context of Recharge Customer Portal or URL did not contain correct params");return{customerHash:o,token:n}}async function It(){const{customerHash:t,token:e}=$t(),{storeIdentifier:r}=b(),n=await B("post",`/customers/${p(t)}/access`,{data:{token:e,shop:r}});return{apiToken:n.api_token,customerId:n.customer_id}}async function B(t,e,{id:r,query:n,data:i,headers:s}={}){const{environment:o,environmentUri:l,storefrontAccessToken:f,appName:h,appVersion:_}=b(),y=nt(o,l),v={...f?{"X-Recharge-Storefront-Access-Token":f}:{},...h?{"X-Recharge-Sdk-App-Name":h}:{},..._?{"X-Recharge-Sdk-App-Version":_}:{},"X-Recharge-Sdk-Version":"2.2.0",...s||{}};return S(t,`${y}${e}`,{id:r,query:n,data:i,headers:v})}var qt=Object.freeze({__proto__:null,loginCustomerPortal:It,loginShopifyApi:gt,loginShopifyAppProxy:ft,loginWithShopifyCustomerAccount:wt,loginWithShopifyStorefront:fe,sendPasswordlessCode:yt,sendPasswordlessCodeAppProxy:bt,validatePasswordlessCode:vt,validatePasswordlessCodeAppProxy:St});const ge="XdrError";class u extends Error{constructor(e){super(e),this.name=ge}static[Symbol.hasInstance](e){return e instanceof Error&&e.name===ge}}function we(t){return(4-t%4)%4}function ye(t){if(typeof t!="object"||t===null)return!1;const e=Object.getPrototypeOf(t);return e===Object.prototype||e===null}function be(t,e){if(!Number.isInteger(t)||t<0||t>4294967295)throw new u(`${e}: expected uint32 length`)}function Q(t,e,r,n){if(typeof t!="number"||!Number.isInteger(t)||t<e||t>r)throw new u(`${n}: expected integer in range ${e}..${r}`)}function Et(t,e,r,n){if(typeof t!="bigint"||t<e||t>r)throw new u(`${n}: expected bigint in range ${e}..${r}`)}function kt(t,e){if(!(t instanceof Uint8Array))throw new u(`${e}: expected Uint8Array`);try{Uint8Array.prototype.at.call(t,0)}catch{throw new u(`${e}: Uint8Array is detached or out of bounds`)}}function xt(t,e){if(!Array.isArray(t))throw new u(`${e}: expected array`)}const ve=1500;class Ct{#e=0;#i=0;#t;#n;#s;bytes;constructor(e,r=ve){if(r<0||!Number.isInteger(r))throw new u(`invalid maxDepth ${r}`);if(this.#t=r,!ArrayBuffer.isView(e)||e.BYTES_PER_ELEMENT!==1)throw new TypeError("Reader expects a Uint8Array");this.bytes=Object.getPrototypeOf(e)===Uint8Array.prototype?e:e.byteLength===0?new Uint8Array(0):new Uint8Array(e.buffer,e.byteOffset,e.byteLength),this.#n=this.bytes.buffer?.detached?new DataView(new ArrayBuffer(0)):new DataView(this.bytes.buffer,this.bytes.byteOffset,this.bytes.byteLength),this.#s=this.#n.byteLength}#r(e,r){if(this.remaining<e)throw new u(`${r}: incomplete XDR data at offset ${this.#e}, expected ${e} byte(s)`);const n=this.#e;return this.#e+=e,n}get offset(){return this.#e}get remaining(){return this.#s-this.#e}enter(e){if(this.#i+=1,this.#i>this.#t)throw this.#i-=1,new u(`${e}: max recursion depth ${this.#t} exceeded`)}exit(){this.#i-=1}done(e){if(this.remaining!==0)throw new u(`${e}: trailing ${this.remaining} byte(s) after XDR value`)}readBytes(e,r){if(e<0||!Number.isInteger(e))throw new u(`${r}: invalid byte length ${e}`);if(this.remaining<e)throw new u(`${r}: incomplete XDR data at offset ${this.#e}, expected ${e} byte(s)`);const n=this.bytes.slice(this.#e,this.#e+e);if(n.length!==e)throw new u(`${r}: input shrank during decode`);return this.#e+=e,n}skipPadding(e,r){if(e<0||!Number.isInteger(e))throw new u(`${r}: invalid byte length ${e}`);const n=we(e);if(n===0)return;const i=this.#r(n,r);for(let s=0;s<n;s++)if(this.bytes[i+s]!==0)throw this.#e=i,new u(`${r}: non-zero XDR padding`)}readInt32(e){return this.#n.getInt32(this.#r(4,e),!1)}readUint32(e){return this.#n.getUint32(this.#r(4,e),!1)}readBigInt64(e){return this.#n.getBigInt64(this.#r(8,e),!1)}readBigUint64(e){return this.#n.getBigUint64(this.#r(8,e),!1)}readFloat32(e){return this.#n.getFloat32(this.#r(4,e),!1)}readFloat64(e){return this.#n.getFloat64(this.#r(8,e),!1)}}const Pt=8192;class Se{#e=new Uint8Array(Pt);#i=new DataView(this.#e.buffer);#t=0;#n=0;#s;constructor(e=ve){if(e<0||!Number.isInteger(e))throw new u(`invalid maxDepth ${e}`);this.#s=e}get offset(){return this.#t}enter(e){if(this.#n+=1,this.#n>this.#s)throw this.#n-=1,new u(`${e}: max recursion depth ${this.#s} exceeded`)}exit(){this.#n-=1}writeBytes(e){this.#o(e.length),this.#e.set(e,this.#t),this.#t+=e.length}writePadding(e){const r=we(e);r>0&&(this.#o(r),this.#e.fill(0,this.#t,this.#t+r),this.#t+=r)}writeInt32(e){const r=this.#r(4);this.#i.setInt32(r,e,!1),this.#t+=4}writeUint32(e){const r=this.#r(4);this.#i.setUint32(r,e,!1),this.#t+=4}writeBigInt64(e){const r=this.#r(8);this.#i.setBigInt64(r,e,!1),this.#t+=8}writeBigUint64(e){const r=this.#r(8);this.#i.setBigUint64(r,e,!1),this.#t+=8}writeFloat32(e){const r=this.#r(4);this.#i.setFloat32(r,e,!1),this.#t+=4}writeFloat64(e){const r=this.#r(8);this.#i.setFloat64(r,e,!1),this.#t+=8}#r(e){return this.#o(e),this.#t}toUint8Array(){return this.#e.slice(0,this.#t)}#o(e){const r=this.#t+e;if(r<=this.#e.length)return;let n=this.#e.length;for(;n<r;)n*=2;const i=new Uint8Array(n);i.set(this.#e),this.#e=i,this.#i=new DataView(i.buffer)}}const At=4294967295;class C{name;constructor(e=void 0){this.name=e}encode(e,r){const n=new Se(r?.maxDepth);return this._write(e,n,this.name??this.kind),n.toUint8Array()}decode(e,r){const n=new Ct(e,r?.maxDepth),i=this._read(n,this.name??this.kind);return n.done(this.name??this.kind),i}validateXdr(e,r){try{return this.decode(e,r),!0}catch(n){if(n instanceof u)return!1;throw n}}validate(e){try{const r=new Se;return this._write(e,r,this.name??this.kind),!0}catch(r){if(r instanceof u)return!1;throw r}}}class Dt extends C{kind="array";element;maxLength;constructor(e,r){super(),be(r,"array maxLength"),this.element=e,this.maxLength=r}_read(e,r){e.enter(r);try{const n=e.readUint32(r);if(n>this.maxLength)throw new u(`${r}: array length ${n} exceeds maximum ${this.maxLength}`);if(n>e.remaining)throw new u(`${r}: array length ${n} exceeds remaining ${e.remaining} byte(s)`);return Tt(e,n,this.element,r)}finally{e.exit()}}_write(e,r,n){r.enter(n);try{if(xt(e,n),e.length>this.maxLength)throw new u(`${n}: array length ${e.length} exceeds maximum ${this.maxLength}`);r.writeUint32(e.length),Ft(e,r,this.element,n)}finally{r.exit()}}}function Ot(t,e){return new Dt(t,e)}function Tt(t,e,r,n){const i=[];for(let s=0;s<e;s+=1){const o=t.offset,l=r._read(t,`${n}[${s}]`);if(t.offset===o)throw new u(`${n}[${s}]: element type '${r.name??r.kind}' consumed no input; an array element must encode to at least one byte`);i.push(l)}return i}function Ft(t,e,r,n){let i=0;for(const s of t){const o=e.offset;if(r._write(s,e,`${n}[${i}]`),e.offset===o)throw new u(`${n}[${i}]: element type '${r.name??r.kind}' encoded to zero bytes; an array element must encode to at least one byte`);i+=1}}const Rt=new Set(["__proto__","name","kind","encode","decode","validate","_read","_write","nameByValue"]);class Nt extends C{kind="enum";nameByValue;#e=new Set;constructor(e,r){super(e);const n=new Map;for(const[i,s]of Object.entries(r)){if(Q(s,-2147483648,2147483647,`${e}.${i}`),this.#e.has(s))throw new u(`${e}: duplicate enum value ${s}`);this.#e.add(s),n.set(s,i)}this.nameByValue=n}_read(e,r){const n=e.readInt32(r);if(!this.#e.has(n))throw new u(`${r}: unknown enum value ${n}`);return n}_write(e,r,n){if(typeof e!="number"||!this.#e.has(e))throw new u(`${n}: unknown enum value ${String(e)}`);r.writeInt32(e)}}function Bt(t,e){for(const n of Object.getOwnPropertyNames(e))if(Rt.has(n))throw new u(`${t}: enum member name ${n} collides with reserved property`);const r=new Nt(t,e);return Object.assign(r,e)}class Mt extends C{kind="int32";_read(e,r){return e.readInt32(r)}_write(e,r,n){Q(e,-2147483648,2147483647,n),r.writeInt32(e)}}function $e(){return new Mt}class jt extends C{constructor(e){super(),this.maxLength=e,be(e,"string maxLength")}maxLength;kind="string";_read(e,r){const n=e.readUint32(r);if(n>this.maxLength)throw new u(`${r}: string byte length ${n} exceeds maximum ${this.maxLength}`);const i=e.readBytes(n,r);return e.skipPadding(n,r),i}_write(e,r,n){if(kt(e,n),e.length>this.maxLength)throw new u(`${n}: string byte length ${e.length} exceeds maximum ${this.maxLength}`);r.writeUint32(e.length),r.writeBytes(e),r.writePadding(e.length)}}function Ut(t){return new jt(t)}class Lt extends C{kind="struct";entries;constructor(e,r){if(super(e),Object.getOwnPropertyNames(r).includes("__proto__"))throw new u(`${e}: struct field name '__proto__' is not allowed`);this.entries=Object.entries(r)}_read(e,r){e.enter(r);try{const n={};for(const[i,s]of this.entries)n[i]=s._read(e,`${r}.${i}`);return n}finally{e.exit()}}_write(e,r,n){r.enter(n);try{if(!ye(e))throw new u(`${n}: expected plain object`);const i=e;for(const[s,o]of this.entries){if(!Object.prototype.hasOwnProperty.call(i,s))throw new u(`${n}.${s}: missing struct field`);o._write(i[s],r,`${n}.${s}`)}}finally{r.exit()}}}function Ie(t,e){return new Lt(t,e)}class Vt extends C{kind="uint32";_read(e,r){return e.readUint32(r)}_write(e,r,n){Q(e,0,4294967295,n),r.writeUint32(e)}}function qe(){return new Vt}class zt extends C{kind="uint64";_read(e,r){return e.readBigUint64(r)}_write(e,r,n){Et(e,0n,(1n<<64n)-1n,n),r.writeBigUint64(e)}}function z(){return new zt}const Z="default";class Xt extends C{kind="union";switchOn;cases;defaultArm;switchKey;#e=new Map;constructor(e,r,n,i,s){if(super(e),s==="__proto__")throw new u(`${e}: switchKey '__proto__' is not allowed`);if(this.switchOn=r,this.cases=n,this.defaultArm=i,this.switchKey=s,n.length===0&&i===void 0)throw new u(`${e}: union needs at least one case or a default arm`);const o=new Set;for(const l of n){if(!r.validate(l.discriminant))throw new u(`${e}.${l.name}: case discriminator ${String(l.discriminant)} is not a valid ${r.name??r.kind} value`);if(o.has(l.name))throw new u(`${e}: duplicate union case name ${l.name}`);if(o.add(l.name),this.#e.has(l.discriminant))throw new u(`${e}: duplicate union discriminator ${String(l.discriminant)}`);Ee(e,l.name,l.arm,s),this.#e.set(l.discriminant,l)}i!==void 0&&Ee(e,Z,i,s)}_read(e,r){e.enter(r);try{const n=this.switchOn._read(e,`${r}.${this.switchKey}`),i=this.#e.get(n),s=i?.arm??this.defaultArm;if(s===void 0)throw new u(`${r}: no case for union discriminator ${String(n)}`);return Ht(n,s,this.switchKey,e,`${r}.${i?.name??Z}`)}finally{e.exit()}}_write(e,r,n){r.enter(n);try{if(!ye(e)||!Object.prototype.hasOwnProperty.call(e,this.switchKey))throw new u(`${n}: expected union object with ${this.switchKey} discriminator`);const i=e,s=i[this.switchKey],o=this.#e.get(s),l=o?.arm??this.defaultArm;if(l===void 0)throw new u(`${n}: no case for union discriminator ${String(s)}`);this.switchOn._write(s,r,`${n}.${this.switchKey}`),Gt(i,l,r,`${n}.${o?.name??Z}`)}finally{r.exit()}}}function Wt(t,e){return{kind:"field",name:t,schema:e}}function ee(t,e,r){return{name:t,discriminant:e,arm:r}}function te(t,e){const r=e.switchKey??"type";return new Xt(t,e.switchOn,e.cases,e.defaultArm,r)}function Ht(t,e,r,n,i){const s={};return s[r]=t,X(e)?(s[e.name]=e.schema._read(n,`${i}.${e.name}`),s):(e._read(n,i),s)}function Gt(t,e,r,n){if(X(e)){if(!Object.prototype.hasOwnProperty.call(t,e.name))throw new u(`${n}.${e.name}: missing union arm payload`);e.schema._write(t[e.name],r,`${n}.${e.name}`);return}e._write(void 0,r,n)}function Ee(t,e,r,n){if(X(r)&&r.name===n)throw new u(`${t}.${e}: union arm payload field must not be named ${n}`);if(X(r)&&r.name==="__proto__")throw new u(`${t}.${e}: union arm payload field name '__proto__' is not allowed`)}function X(t){return"schema"in t}class Kt extends C{kind="void";_read(){}_write(e,r,n){if(e!==void 0)throw new u(`${n}: expected void`)}}function ke(){return new Kt}var re=(t,e,r)=>{if(!e.has(t))throw TypeError("Cannot "+r)},w=(t,e,r)=>(re(t,e,"read from private field"),r?r.call(t):e.get(t)),P=(t,e,r)=>{if(e.has(t))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(t):e.set(t,r)},ne=(t,e,r,n)=>(re(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),$=(t,e,r)=>(re(t,e,"access private method"),r),E,k,M,ie,xe,se,Ce,W,oe,R,j,U,H;const Yt=new TextEncoder,Pe={v:0};function Jt(t){let e="";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return btoa(e)}const ae=Bt("EnvelopeType",{envelopeTypeBundle:0}),Qt=te("BundleItemExt",{switchOn:$e(),switchKey:"v",cases:[ee("v0",0,ke())]}),Zt=Ie("BundleItem",{collectionId:z(),productId:z(),variantId:z(),sku:Ut(At),quantity:qe(),ext:Qt}),er=te("BundleExt",{switchOn:$e(),switchKey:"v",cases:[ee("v0",0,ke())]}),tr=Ie("Bundle",{variantId:z(),items:Ot(Zt,500),version:qe(),ext:er}),rr=te("BundleEnvelope",{switchOn:ae,switchKey:"type",cases:[ee("envelopeTypeBundle",ae.envelopeTypeBundle,Wt("v1",tr))]});function nr(t){const e={type:ae.envelopeTypeBundle,v1:{variantId:BigInt(t.variantId.toString()),items:t.items.map(r=>({collectionId:BigInt(r.collectionId.toString()),productId:BigInt(r.productId.toString()),variantId:BigInt(r.variantId.toString()),sku:Yt.encode(r.sku||""),quantity:r.quantity,ext:Pe})),version:t.version||Math.floor(Date.now()/1e3),ext:Pe}};return Jt(rr.encode(e))}class ir{constructor(e,r){P(this,ie),P(this,se),P(this,W),P(this,R),P(this,U),P(this,E,void 0),P(this,k,void 0),P(this,M,void 0),ne(this,E,$(this,ie,xe).call(this,r)),ne(this,M,$(this,se,Ce).call(this,r)),ne(this,k,e)}isInitialDataValid(){if(!w(this,M))throw"Bundle data does not exist for the given product.";if(!w(this,E))throw"Bundle settings do not exist for the given product.";if(!Array.isArray(w(this,k))||!w(this,k).length)throw"No bundle selection items provided.";return!0}isValidVariant(e){if(!w(this,E)?.variantsSettings[e])throw`The ${e} bundle variant is invalid.`;return!0}isSelectionInVariantRange(e){const r=w(this,k).reduce((i,s)=>i+s.quantity,0),n=w(this,E)?.variantsSettings[e].ranges||[];if(!$(this,W,oe).call(this,n,r))throw"The total number of products does not fall within the required variant range.";return!0}areItemsInMaxPerItemBound(){const e=w(this,E)?.bundleSettings.maxPerItem||0,r=w(this,k).filter(({quantity:n})=>n>e);if(e&&r.length)throw`The selected products (${$(this,R,j).call(this,r.map(({externalProductId:n})=>n)).join(", ")}) exceed the maximum limit of ${e} items per product.`;return!0}areSelectedCollectionsValid(e){const r=w(this,E)?.variantsSettings[e]?.optionSources,n=w(this,k).filter(({collectionId:i})=>!r||!$(this,U,H).call(this,r,i));if(n.length)throw`The collections (${$(this,R,j).call(this,n.map(({collectionId:i})=>i)).join(", ")}) are no longer valid for the bundle variant (${e}).`;return!0}areItemsQuantitiesValidForTheCollection(e){const r=w(this,k).reduce((s,o)=>(s[o.collectionId]=o.quantity+(s[o.collectionId]||0),s),Object.create(null)),n=w(this,E)?.variantsSettings[e],i=Object.values(n?.optionSources||{}).filter(s=>{const o=r[s.collectionId]||0;return!$(this,W,oe).call(this,[s],o)});if(!n||i.length)throw`The selection exceeds the limits for the collections (${$(this,R,j).call(this,i.map(({collectionId:s})=>s)).join(", ")}).`;return!0}areSelectedProductsValid(e){const r=w(this,E)?.variantsSettings[e]?.optionSources||{},n=Object.values(r).reduce((s,o)=>{const l=w(this,M)?.collections[o.collectionId];return l&&(s[o.collectionId]=l),s},Object.create(null));if(!Object.values(n).length)throw`No collections found for the bundle variant (${e}).`;const i=w(this,k).filter(({externalProductId:s,collectionId:o})=>$(this,U,H).call(this,n,o)?!$(this,U,H).call(this,n[o].products,s):!0);if(i.length)throw`The products (${$(this,R,j).call(this,i.map(({externalProductId:s})=>s)).join(", ")}) are no longer valid for the bundle product.`;return!0}isBundleSelectionValid(e){return this.isInitialDataValid(),this.isValidVariant(e),this.isSelectionInVariantRange(e),this.areItemsInMaxPerItemBound(),this.areSelectedCollectionsValid(e),this.areItemsQuantitiesValidForTheCollection(e),this.areSelectedProductsValid(e),!0}}E=new WeakMap,k=new WeakMap,M=new WeakMap,ie=new WeakSet,xe=function(t){try{const e=t.bundle_settings;return{bundleSettings:{maxPerItem:e.max_quantity_per_variant,isCustomizable:e.is_customizable},variantsSettings:e.variants.reduce((r,n)=>{if(!n.enabled)return r;let i=[{min:n.items_count,max:n.items_count}];return n.items_count||(i=n.ranges.map(({quantity_max:s,quantity_min:o})=>({min:o,max:s}))),r[n.external_variant_id]={externalVariantId:n.external_variant_id,optionSources:n.option_sources.reduce((s,o)=>(s[o.option_source_id]={min:o.quantity_min,max:o.quantity_max,collectionId:o.option_source_id},s),Object.create(null)),ranges:i},r},Object.create(null))}}catch{return null}},se=new WeakSet,Ce=function(t){try{const e=Object.values(t.collections).reduce((r,n)=>(r[n.id]={...n,products:n.products.reduce((i,s)=>(i[s.id]=s,i),Object.create(null))},r),Object.create(null));return{...t,collections:e}}catch{return null}},W=new WeakSet,oe=function(t,e){return!!t.filter(({min:r,max:n})=>{const i=r??e,s=n??e;return i<=e&&e<=s}).length},R=new WeakSet,j=function(t){return Array.from(new Set(t))},U=new WeakSet,H=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};const sr="/bundling-storefront-manager";function Ae(t){return nr({variantId:t.externalVariantId,version:0,items:t.selections.map(e=>({collectionId:e.collectionId,productId:e.externalProductId,variantId:e.externalVariantId,quantity:e.quantity,sku:""}))})}async function or(t){const e=b(),r=await ce(t);if(r!==!0)throw new Error(r);const n=Ae(t);try{const i=await A("post",`${sr}/api/v1/bundles`,{data:{bundle:n},headers:{Origin:`https://${e.storeIdentifier}`}});if(!i.id||i.code!==200)throw new Error(`1: failed generating rb_id: ${JSON.stringify(i)}`);return i.id}catch(i){throw new Error(`2: failed generating rb_id ${i}`)}}async function ar(t,e){const r=await ce(e);if(r!==!0)throw new Error(r);const n=Ae(e);try{const i=await c("post","/bundle_selections/bundle_id",{data:{bundle:n}},a(t,"getBundleSelectionId"));if(!i.id||i.code!==200)throw new Error(`1: failed generating rb_id: ${JSON.stringify(i)}`);return i.id}catch(i){throw new Error(`2: failed generating rb_id ${i}`)}}function cr(t,e){const r=De(t);if(r!==!0)throw new Error(`Dynamic Bundle is invalid. ${r}`);const n=`${T(9)}:${t.externalProductId}`;return t.selections.map(i=>{const s={id:i.externalVariantId,quantity:i.quantity,properties:{_rc_bundle:n,_rc_bundle_variant:t.externalVariantId,_rc_bundle_parent:e,_rc_bundle_collection_id:i.collectionId}};return i.sellingPlan?s.selling_plan=i.sellingPlan:i.shippingIntervalFrequency&&(s.properties.shipping_interval_frequency=i.shippingIntervalFrequency,s.properties.shipping_interval_unit_type=i.shippingIntervalUnitType,s.id=`${i.discountedVariantId}`),s})}async function ce(t){try{return t?t.selections.length===0?"No selections defined":!0:"Bundle is not defined"}catch(e){return`Error fetching bundle settings: ${e}`}}async function dr(t){try{const e=await A("get",`/bundle-data/${p(t.externalProductId)}`);return{valid:new ir(t.selections,e).isBundleSelectionValid(t.externalVariantId)}}catch(e){return{valid:!1,error:String(e)}}}const ur={day:["day","days","Days"],days:["day","days","Days"],Days:["day","days","Days"],week:["week","weeks","Weeks"],weeks:["week","weeks","Weeks"],Weeks:["week","weeks","Weeks"],month:["month","months","Months"],months:["month","months","Months"],Months:["month","months","Months"]};function De(t){if(!t)return"No bundle defined.";if(t.selections.length===0)return"No selections defined.";const{shippingIntervalFrequency:e,shippingIntervalUnitType:r}=t.selections.find(n=>n.shippingIntervalFrequency||n.shippingIntervalUnitType)||{};if(e||r){if(!e||!r)return"Shipping intervals do not match on selections.";{const n=ur[r];for(let i=0;i<t.selections.length;i++){const{shippingIntervalFrequency:s,shippingIntervalUnitType:o}=t.selections[i];if(s&&s!==e||o&&!n.includes(o))return"Shipping intervals do not match on selections."}}}return!0}async function lr(t,e){if(e===void 0||e==="")throw new Error("ID is required");const{bundle_selection:r}=await c("get","/bundle_selections",{id:e},a(t,"getBundleSelection"));return r}function pr(t,e){return c("get","/bundle_selections",{query:e},a(t,"listBundleSelections"))}async function hr(t,e){const{bundle_selection:r}=await c("post","/bundle_selections",{data:e},a(t,"createBundleSelection"));return r}async function _r(t,e,r){if(e===void 0||e==="")throw new Error("ID is required");const{bundle_selection:n}=await c("put","/bundle_selections",{id:e,data:r},a(t,"updateBundleSelection"));return n}function mr(t,e){if(e===void 0||e==="")throw new Error("ID is required");return c("delete","/bundle_selections",{id:e},a(t,"deleteBundleSelection"))}async function fr(t,e,r,n){if(e===void 0||e==="")throw new Error("Purchase item ID is required");const{subscription:i}=await c("put","/bundles",{id:e,data:r,query:n},a(t,"updateBundle"));return i}var gr=Object.freeze({__proto__:null,createBundleSelection:hr,deleteBundleSelection:mr,getBundleId:or,getBundleSelection:lr,getBundleSelectionId:ar,getDynamicBundleItems:cr,listBundleSelections:pr,updateBundle:fr,updateBundleSelection:_r,validateBundle:ce,validateBundleSelection:dr,validateDynamicBundle:De});const wr=t=>{const e=t.layout_settings.addons,r=t.layout_settings.crossSells,n=t.customization_window,i=t.layout_settings?.defaultVariantId??t.default_bundle_variant_id,s=t.layout_settings.defaultFrequency,o=t.layout_settings.addToCartCallback;return{default_variant_id:i?String(i):null,is_customizable:t.is_customizable,price_rule:String(t.price_rule).toUpperCase(),customization_window:n?{active_days:n,disabled_message:t.customization_window_disabled_message||""}:null,addons:e.collectionId?{collection_id:e.collectionId,collection_handle:e.collectionHandle}:null,cross_sells:r.collectionId?{collection_id:e.collectionId,collection_handle:e.collectionHandle}:null,default_selling_plan_id:s||null,collapsible_collections:t.layout_settings.collapsibleSections,max_quantity_per_variant:t.max_quantity_per_variant,show_product_variants:t.layout_settings.showVariants,product_details_modal_enabled:t.layout_settings.learnMoreModal,addToCartBehavior:{type:o.type==="none"?"cart_page":o.type,value:o.value}}},yr=t=>t.tiered_discounts.length===0?null:{tiered_discounts:t.tiered_discounts},G=t=>({id:t.id,name:t.name,options:t.options.map(e=>({name:e.name,value:e.value})),recurring_deliveries:t.recurring_deliveries,price_adjustments:t.price_adjustments.map(({value:e,value_type:r})=>({value:e,value_type:r}))}),Oe=t=>({name:t.name,options:t.options.map(e=>({name:e.name,values:e.values})),selling_plans:t.selling_plans.map(G)}),Te=t=>({id:String(t.id),title:t.title,price:t.price,compare_at_price:t.compare_at_price,options:t.options,available_for_sale:t.available}),de=t=>t==null||typeof t=="string"?t:"src"in t?t.src:null,Fe=t=>({id:String(t.id),title:t.title,description:t.description,available_for_sale:t.available,featured_image:de(t.featured_image),images:t.images,requires_selling_plan:t.requires_selling_plan,selling_plan_groups:t.selling_plan_groups.map(Oe)}),Re=t=>{const e=vr(t.selling_plan_groups);return{...Fe(t),handle:t.handle,tags:t.tags,price_range:{min:t.price_min,max:t.price_max},compare_at_price_range:{min:t.compare_at_price_min,max:t.compare_at_price_max},options:t.options,variants:t.variants.map(r=>({...Te(r),selling_plan_allocations:r.selling_plan_allocations.map(n=>({price:n.price,compare_at_price:n.compare_at_price,selling_plan:G(e[`${n.selling_plan_group_id}-${n.selling_plan_id}`])})),option1:r.option1,option2:r.option2,option3:r.option3,sku:r.sku||"",requires_shipping:r.requires_shipping,taxable:r.taxable,featured_image:de(r.featured_image),public_title:r.public_title,requires_selling_plan:r.requires_selling_plan}))}},br=({items_count:t,ranges:e})=>e.length>0?e.map(({quantity_max:r,quantity_min:n})=>({min:n,max:r})):[{min:t,max:t}],vr=t=>t.reduce((e,r)=>(r.selling_plans.forEach(n=>{const i=`${r.id}-${n.id}`;e[i]=n}),e),{}),Sr=t=>Array.isArray(t)?t:[];function ue(t){const e=wr(t.bundle_settings),r=t.variants.reduce((n,i)=>(n[i.id]=i,n),{});return{id:String(t.id),title:t.title,description:t.description||null,handle:t.handle,options:t.options.map(n=>({name:n.name,position:n.position,values:n.values})),default_variant_id:e.default_variant_id,default_selling_plan_id:e.default_selling_plan_id?Number(e.default_selling_plan_id):null,available_for_sale:t.available,requires_selling_plan:t.requires_selling_plan,bundle_settings:{is_customizable:e.is_customizable,price_rule:e.price_rule,customization_window:e.customization_window,max_quantity_per_variant:e.max_quantity_per_variant,collapsible_collections:e.collapsible_collections,show_product_variants:e.show_product_variants,product_details_modal_enabled:e.product_details_modal_enabled,show_variants_as_individual_products:t.bundle_settings.settings.display_variants_as_separate_products_in_list,post_add_to_cart_behavior:e.addToCartBehavior},variants:t.bundle_settings.variants.filter(({enabled:n})=>n).map((n,i)=>{const s=r[String(n.external_variant_id)];return{id:String(n.external_variant_id),title:s.title,price:s.price,compare_at_price:s.compare_at_price,image:s.image||"",available_for_sale:s.available,options:s.options,requires_selling_plan:s.requires_selling_plan,selling_plan_allocations:s.selling_plan_allocations.map(o=>({price:o.price,compare_at_price:o.compare_at_price,selling_plan:G(o.selling_plan)})),ranges:br(n),collections:n.option_sources.map(o=>({id:o.option_source_id,source_platform:"shopify",min:o.quantity_min||0,max:o.quantity_max,position:o.position})),default_selections:n.selection_defaults.map(o=>({quantity:o.quantity,product:{id:String(o.product.id),handle:o.handle,title:o.product.title,description:o.product.description,images:o.product.images},variant:{id:o.external_variant_id,title:o.variant.title,featured_image:de(o.variant.featured_image),sku:o.sku||""}})),position:i}}),selling_plan_groups:t.selling_plan_groups.map(Oe),collections:Object.values(t.collections).reduce((n,i)=>(Array.isArray(i.products)&&(n[String(i.id)]={id:String(i.id),title:i.title,handle:i.handle,products:i.products.map(Re)}),n),{}),addons:t.addons.products.length?{collection_id:e.addons?.collection_id||"",collection_handle:e.addons?.collection_handle||"",products:t.addons.products.map(n=>({...Fe(n),price_range:{min:n.price,max:n.price},compare_at_price_range:{min:n.compare_at_price||0,max:n.compare_at_price},variants:n.variants.map(i=>({...Te(i),image:i.image,selling_plan_allocations:i.selling_plan_allocations.map(s=>({price:s.price,compare_at_price:s.compare_at_price,selling_plan:G(s.selling_plan)}))}))}))}:null,cross_sells:t.cross_sells.products.length?{collection_id:e.cross_sells?.collection_id||"",collection_handle:e.cross_sells?.collection_handle||"",products:t.cross_sells.products.map(Re)}:null,incentives:yr(t.incentives),filters:Sr(t.filters),templates:t.bundle_settings.layout_settings.templates||null,globalStyles:t.bundle_settings.layout_settings.globalStyles||null}}async function $r(t,e){return e?.source==="shopify_storefront"?qr():Ir(t,e?.country_code)}async function Ir(t,e){const{appName:r,appVersion:n}=b(),i={"X-Recharge-Sdk-Fn":"loadFromOnlineStore","X-Recharge-Sdk-Version":"2.2.0",...r?{"X-Recharge-Sdk-App-Name":r}:{},...n?{"X-Recharge-Sdk-App-Version":n}:{}};if(!e){const o=await A("get",`/bundle-data/${p(t)}`,{headers:i});return ue(o)}const s=new FormData;s.append("form_type","localization"),s.append("_method","put"),s.append("return_to",`${me}/bundle-data/${t}`),s.append("country_code",e);try{const o=await S("post","/localization",{headers:{"Content-Type":"multipart/form-data",...i},data:s});return ue(o)}catch{const o=await A("get",`/bundle-data/${p(t)}`,{headers:i});return ue(o)}}async function qr(t,e){if(!b().storeIdentifier)throw new Error("Store identifier is required for Shopify Storefront API requests");return{}}var Er=Object.freeze({__proto__:null,loadBundleData:$r});function kr(t){try{return JSON.parse(t)}catch{return t}}function xr(t){return Object.entries(t).reduce((e,[r,n])=>({...e,[r]:kr(n)}),{})}const Ne=t=>typeof t=="string"?t!=="0"&&t!=="false":!!t;function le(t,e){const r=new Set(e),n={};for(const i of Object.keys(t))r.has(i)||(n[i]=t[i]);return n}function Be(t){const e=xr(t),r=e.auto_inject===void 0?!0:e.auto_inject,n=e.display_on??[],i=e.first_option==="autodeliver";return{...le(e,["display_on","first_option"]),auto_inject:r,valid_pages:n,is_subscription_first:i,autoInject:r,validPages:n,isSubscriptionFirst:i}}function Me(t){const e=t.subscription_options?.storefront_purchase_options==="subscription_only";return{...t,is_subscription_only:e,isSubscriptionOnly:e}}function Cr(t){return t.map(e=>{const r={};return Object.entries(e).forEach(([n,i])=>{Object.defineProperty(r,n,{value:Me(i),enumerable:!0,writable:!0,configurable:!0})}),r})}const pe="2020-12",Pr={store_currency:{currency_code:"USD",currency_symbol:"$",decimal_separator:".",thousands_separator:",",currency_symbol_location:"left"}},L=new Map;function K(t,e){return L.has(t)||L.set(t,e()),L.get(t)}async function he(t,e){if(t===void 0||t==="")throw new Error("ID is required");const r=e?.version??"2020-12",{product:n}=await K(`product.${t}.${r}`,()=>V("get",`/product/${r}/${p(t)}.json`));return r==="2020-12"?Me(n):n}async function je(){return await K("storeSettings",()=>V("get",`/${pe}/store_settings.json`).catch(()=>Pr))}async function Ue(){const{widget_settings:t}=await K("widgetSettings",()=>V("get",`/${pe}/widget_settings.json`));return Be(t)}async function Le(){const{products:t,widget_settings:e,store_settings:r,meta:n}=await K("productsAndSettings",()=>V("get",`/product/${pe}/products.json`));return n?.status==="error"?Promise.reject(n.message):{products:Cr(t),widget_settings:Be(e),store_settings:r??{}}}async function Ar(){const{products:t}=await Le();return t}async function Dr(t){const[e,r,n]=await Promise.all([he(t),je(),Ue()]);return{product:e,store_settings:r,widget_settings:n,storeSettings:r,widgetSettings:n}}async function Or(t){const{bundle_product:e}=await he(t);return e}async function Ve(){return Array.from(L.keys()).forEach(t=>L.delete(t))}var Tr=Object.freeze({__proto__:null,getCDNBundleSettings:Or,getCDNProduct:he,getCDNProductAndSettings:Dr,getCDNProducts:Ar,getCDNProductsAndSettings:Le,getCDNStoreSettings:je,getCDNWidgetSettings:Ue,resetCDNCache:Ve});async function Fr(t,e,r){if(e===void 0||e==="")throw new Error("ID is required");const{charge:n}=await c("get","/charges",{id:e,query:{include:r?.include}},a(t,"getCharge"));return n}function Rr(t,e){return c("get","/charges",{query:e},a(t,"listCharges"))}async function Nr(t,e,r){if(e===void 0||e==="")throw new Error("ID is required");const{charge:n}=await c("post",`/charges/${p(e)}/apply_discount`,{data:{discount_code:r}},a(t,"applyDiscountToCharge"));return n}async function Br(t,e){if(e===void 0||e==="")throw new Error("ID is required");const{charge:r}=await c("post",`/charges/${p(e)}/remove_discount`,{},a(t,"removeDiscountsFromCharge"));return r}async function Mr(t,e,r,n){if(e===void 0||e==="")throw new Error("ID is required");if(r===void 0||r.length===0)throw new Error("Purchase item IDs are required");const{charge:i}=await c("post",`/charges/${p(e)}/skip`,{query:n,data:{purchase_item_ids:r.map(s=>Number(s))}},a(t,"skipCharge"));return i}async function jr(t,e,r,n){if(e===void 0||e==="")throw new Error("ID is required");if(r===void 0||r.length===0)throw new Error("Purchase item IDs are required");const{charge:i}=await c("post",`/charges/${p(e)}/unskip`,{query:n,data:{purchase_item_ids:r.map(s=>Number(s))}},a(t,"unskipCharge"));return i}async function Ur(t,e){if(e===void 0||e==="")throw new Error("ID is required");const{charge:r}=await c("post",`/charges/${p(e)}/process`,{},a(t,"processCharge"));return r}async function Lr(t,e,r){if(e===void 0||e==="")throw new Error("ID is required");const{charge:n}=await c("post",`/charges/${p(e)}/change_next_charge_date`,{data:{next_charge_date:r}},a(t,"rescheduleCharge"));return n}var Vr=Object.freeze({__proto__:null,applyDiscountToCharge:Nr,getCharge:Fr,listCharges:Rr,processCharge:Ur,removeDiscountsFromCharge:Br,rescheduleCharge:Lr,skipCharge:Mr,unskipCharge:jr});async function ze(t,e){if(!["2020-12","2022-06"].includes(e.format_version))throw new Error("Missing or unsupported format_version.");return c("get","/product_search",{query:e,headers:{"X-Recharge-Version":"2021-01"}},a(t,"productSearch"))}var zr=Object.freeze({__proto__:null,productSearch:ze});async function Xe(t,e){if(e===void 0||e==="")throw new Error("ID is required");const{collection:r}=await c("get","/collections",{id:e},a(t,"getCollection"));return r}function Xr(t,e){return c("get","/collections",{query:e},a(t,"listCollections"))}async function Wr(t,e,r){if(e===void 0||e==="")throw new Error("ID is required");if(!["2020-12","2022-06"].includes(r.format_version))throw new Error("Missing or unsupported format_version.");const n=a(t,"listCollectionProducts"),[{sort_order:i,manual_sort_order:s},{products:o}]=await Promise.all([Xe(n,e),ze(n,{...r,collection_ids:[e],limit:250})]);if(i==="manual")return{products:s.reduce((l,f)=>{const h=o.find(_=>_.external_product_id===f);return h&&l.push(h),l},[])};{const l=Hr(i);return{products:o.slice().sort(l)}}}function We(t,e){const r=t.external_created_at,n=e.external_created_at;return r<n?-1:n>r?1:0}function He(t,e){const r=t.external_product_id,n=e.external_product_id;return r<n?-1:n>r?1:0}function Ge(t,e){const r=t.title.toLowerCase(),n=e.title.toLowerCase();return r<n?-1:n>r?1:0}function Hr(t){switch(t){case"created_at-asc":return We;case"created_at-desc":return(e,r)=>We(r,e);case"id-asc":return He;case"id-desc":return(e,r)=>He(r,e);case"title-asc":return Ge;case"title-desc":return(e,r)=>Ge(r,e)}}var Gr=Object.freeze({__proto__:null,getCollection:Xe,listCollectionProducts:Wr,listCollections:Xr});async function Kr(t,e){const r=t.customerId;if(!r)throw new Error("Not logged in.");const{customer:n}=await c("get","/customers",{id:r,query:{include:e?.include}},a(t,"getCustomer"));return n}async function Ke(t,e){const r=t.customerId;if(!r)throw new Error("Not logged in.");const{customer:n}=await c("put","/customers",{id:r,data:e},a(t,"updateCustomer"));return n}async function Yr(t,e){const r=t.customerId;if(!r)throw new Error("Not logged in.");const{deliveries:n}=await c("get",`/customers/${p(r)}/delivery_schedule`,{query:e},a(t,"getDeliverySchedule"));return n}async function Y(t,e){return c("get","/portal_access",{query:e},a(t,"getCustomerPortalAccess"))}async function Jr(t,e,r){if(e===void 0||e==="")throw new Error("Subscription ID is required");const{base_url:n,customer_hash:i,temp_token:s}=await Y(a(t,"getActiveChurnLandingPageURL"));return`${n.replace("portal","pages")}${i}/subscriptions/${e}/cancel?token=${s}&subscription=${e}&redirect_to=${encodeURIComponent(r)}`}async function Qr(t){const{base_url:e,customer_hash:r,temp_token:n}=await Y(a(t,"getFailedPaymentMethodRecoveryLandingPageURL"));return`${e.replace("portal","pages")}account/payment-methods?token=${n}&hash=${r}`}async function Zr(t,e,r){if(e===void 0||e==="")throw new Error("Gift ID is required");const{base_url:n,customer_hash:i,temp_token:s}=await Y(a(t,"getGiftRedemptionLandingPageURL"));return`${n.replace("portal","pages")}${i}/gifts/${e}?token=${s}&redirect_to=${encodeURIComponent(r)}`}const Ye={SHOPIFY_UPDATE_PAYMENT_INFO:{type:"email",template_type:"shopify_update_payment_information"},SHOPIFY_MIGRATE_PAYMENT_INFO:{type:"email",template_type:"shopify_migrate_payment_information"}};async function en(t,e,r){const n=t.customerId;if(!n)throw new Error("Not logged in.");if(!Object.prototype.hasOwnProperty.call(Ye,e))throw new Error("Notification not supported.");const i=Ye[e];return c("post",`/customers/${p(n)}/notifications`,{data:{...i,template_vars:r}},a(t,"sendCustomerNotification"))}async function tn(t,e){const r=t.customerId;if(!r)throw new Error("Not logged in.");const{credit_summary:n}=await c("get",`/customers/${p(r)}/credit_summary`,{query:{include:e?.include}},a(t,"getCreditSummary"));return n}var rn=Object.freeze({__proto__:null,getActiveChurnLandingPageURL:Jr,getCreditSummary:tn,getCustomer:Kr,getCustomerPortalAccess:Y,getDeliverySchedule:Yr,getFailedPaymentMethodRecoveryLandingPageURL:Qr,getGiftRedemptionLandingPageURL:Zr,sendCustomerNotification:en,updateCustomer:Ke});async function nn(t,e){const r=t.customerId;if(!r)throw new Error("Not logged in.");const{credit_summary:n}=await c("get",`/customers/${p(r)}/credit_summary`,{query:{include:e?.include,presentment_currency_code:e?.presentment_currency_code}},a(t,"getCreditSummary"));return n}function sn(t,{recurring:e}){if(!t.customerId)throw new Error("Not logged in.");const r={};return e!==void 0&&(r.apply_credit_to_next_recurring_charge=e),Ke(a(t,"setApplyCreditsToNextCharge"),r)}async function on(t,e){const r=t.customerId;if(!r)throw new Error("Not logged in.");const{customer_id:n,...i}=e??{};return await c("get","/credit_accounts",{query:{...i,customer_id:r}},a(t,"listCreditAccounts"))}var an=Object.freeze({__proto__:null,getCreditSummary:nn,listCreditAccounts:on,setApplyCreditsToNextCharge:sn});async function cn(t,e,r){return await c("post","/customer_surveys/cancellation_prevention",{data:{customer_id:e,subscription_id:r}},a(t,"getCustomerSurveyReasons"))}async function dn(t,e,r,n){return await c("post",`/customer_surveys/${p(r)}/customer_response`,{data:{customer_id:e,response_id:n}},a(t,"getCustomerSurveyOffers"))}async function un(t,e){return await c("post","/offers/claim",{data:e},a(t,"claimOfferCustomerSurvey")),{}}var ln=Object.freeze({__proto__:null,claimOfferCustomerSurvey:un,getCustomerSurveyOffers:dn,getCustomerSurveyReasons:cn});function pn(t,e){if(!t.customerId)throw new Error("Not logged in.");return c("get","/gift_purchases",{query:e},a(t,"listGiftPurchases"))}async function hn(t,e){if(!t.customerId)throw new Error("Not logged in.");if(e===void 0||e==="")throw new Error("ID is required");const{gift_purchase:r}=await c("get","/gift_purchases",{id:e},a(t,"getGiftPurchase"));return r}var _n=Object.freeze({__proto__:null,getGiftPurchase:hn,listGiftPurchases:pn});function mn(t,e){if(!t.customerId)throw new Error("Not logged in.");return c("get","/incentives/tiered_discounts",{query:e},a(t,"listTieredDiscounts"))}async function fn(t,e){if(!t.customerId)throw new Error("Not logged in.");if(e===void 0||e==="")throw new Error("ID is required");const{tiered_discount:r}=await c("get",`/incentives/tiered_discounts/${p(e)}`,{},a(t,"getTieredDiscount"));return r}function gn(t,e){return c("post","/incentives/tiered_discounts/offers",{data:e},a(t,"getTieredDiscountOffers"))}var wn=Object.freeze({__proto__:null,getTieredDiscount:fn,getTieredDiscountOffers:gn,listTieredDiscounts:mn});async function yn(t,e){if(e===void 0||e==="")throw new Error("ID is required");const{membership:r}=await c("get","/memberships",{id:e},a(t,"getMembership"));return r}function bn(t,e){return c("get","/memberships",{query:e},a(t,"listMemberships"))}async function vn(t,e,r){if(e===void 0||e==="")throw new Error("ID is required");const{membership:n}=await c("post",`/memberships/${p(e)}/cancel`,{data:r},a(t,"cancelMembership"));return n}async function Sn(t,e,r){if(e===void 0||e==="")throw new Error("ID is required");const{membership:n}=await c("post",`/memberships/${p(e)}/activate`,{data:r},a(t,"activateMembership"));return n}async function $n(t,e,r){if(e===void 0||e==="")throw new Error("ID is required");const{membership:n}=await c("post",`/memberships/${p(e)}/change`,{data:r},a(t,"changeMembership"));return n}var In=Object.freeze({__proto__:null,activateMembership:Sn,cancelMembership:vn,changeMembership:$n,getMembership:yn,listMemberships:bn});async function qn(t,e,r){if(e===void 0||e==="")throw new Error("ID is required");const{membership_program:n}=await c("get","/membership_programs",{id:e,query:{include:r?.include}},a(t,"getMembershipProgram"));return n}function En(t,e){return c("get","/membership_programs",{query:e},a(t,"listMembershipPrograms"))}var kn=Object.freeze({__proto__:null,getMembershipProgram:qn,listMembershipPrograms:En});async function xn(t,e){const{metafield:r}=await c("post","/metafields",{data:{metafield:e}},a(t,"createMetafield"));return r}async function Cn(t,e,r){if(e===void 0||e==="")throw new Error("ID is required");const{metafield:n}=await c("put","/metafields",{id:e,data:{metafield:r}},a(t,"updateMetafield"));return n}function Pn(t,e){if(e===void 0||e==="")throw new Error("ID is required");return c("delete","/metafields",{id:e},a(t,"deleteMetafield"))}var An=Object.freeze({__proto__:null,createMetafield:xn,deleteMetafield:Pn,updateMetafield:Cn});async function Dn(t,e){if(e===void 0||e==="")throw new Error("ID is required");const{onetime:r}=await c("get","/onetimes",{id:e},a(t,"getOnetime"));return r}function On(t,e){return c("get","/onetimes",{query:e},a(t,"listOnetimes"))}async function Tn(t,e){const{onetime:r}=await c("post","/onetimes",{data:e},a(t,"createOnetime"));return r}async function Fn(t,e,r){if(e===void 0||e==="")throw new Error("ID is required");const{onetime:n}=await c("put","/onetimes",{id:e,data:r},a(t,"updateOnetime"));return n}function Rn(t,e){if(e===void 0||e==="")throw new Error("ID is required");return c("delete","/onetimes",{id:e},a(t,"deleteOnetime"))}var Nn=Object.freeze({__proto__:null,createOnetime:Tn,deleteOnetime:Rn,getOnetime:Dn,listOnetimes:On,updateOnetime:Fn});async function Bn(t,e){if(e===void 0||e==="")throw new Error("ID is required");const{order:r}=await c("get","/orders",{id:e},a(t,"getOrder"));return r}function Mn(t,e){return c("get","/orders",{query:e},a(t,"listOrders"))}async function jn(t,e){if(e===void 0||e==="")throw new Error("ID is required");const{order:r}=await c("post",`/orders/${p(e)}/delay`,{},a(t,"delayOrder"));return r}var Un=Object.freeze({__proto__:null,delayOrder:jn,getOrder:Bn,listOrders:Mn});async function Ln(t,e){return typeof window<"u"&&window.Spreedly?Promise.resolve():new Promise((r,n)=>{if(typeof document>"u"){n(new Error("Document is not available. This function must be called in a browser environment."));return}if(document.querySelector(`script[src="${t}"]`)){const s=()=>{window.Spreedly?r():setTimeout(s,50)};s();return}const i=document.createElement("script");i.src=t,i.integrity=e,i.crossOrigin="anonymous",i.addEventListener("load",()=>{const s=()=>{window.Spreedly?r():setTimeout(s,50)};s()}),i.addEventListener("error",()=>{n(new Error("Failed to load payment iFrame script"))}),document.head.appendChild(i)})}async function Vn(t,e,r){if(e===void 0||e==="")throw new Error("ID is required");const{payment_method:n}=await c("get","/payment_methods",{id:e,query:{include:r?.include}},a(t,"getPaymentMethod"));return n}async function Je(t,e){const{payment_method:r}=await c("post","/payment_methods",{data:{...e,customer_id:t.customerId}},a(t,"createPaymentMethod"));return r}async function zn(t,e,r){if(e===void 0||e==="")throw new Error("ID is required");const{payment_method:n}=await c("put","/payment_methods",{id:e,data:r},a(t,"updatePaymentMethod"));return n}function Xn(t,e){return c("get","/payment_methods",{query:e},a(t,"listPaymentMethods"))}async function Wn(t,e){const r=await Hn(t,e),n=r.external.environment_key,i=r.payment_method_intent_id,s=r.external_customer_id.ecommerce,o=r.external.resource_url,l=r.external.integrity_hash,f=r.payment_method?.processor_payment_method_token;await Ln(o,l);let h=!1,_=null,y=null,v=null;return{mount(d,m){if(typeof window>"u"||!window.Spreedly)throw new Error("Payment script failed to load");window.Spreedly.init(n,{numberEl:d.numberElementId,cvvEl:d.cvvElementId}),window.Spreedly.on("ready",()=>{h=!0,d.styles&&(window.Spreedly.setStyle("number",d.styles),window.Spreedly.setStyle("cvv",d.styles)),d.numberLabel&&window.Spreedly.setLabel("number",d.numberLabel),d.cvvLabel&&window.Spreedly.setLabel("cvv",d.cvvLabel),d.numberPlaceholder&&window.Spreedly.setPlaceholder("number",d.numberPlaceholder),d.cvvPlaceholder&&window.Spreedly.setPlaceholder("cvv",d.cvvPlaceholder),d.numberFormat==="plainFormat"?(d.numberFieldType&&window.Spreedly.setFieldType("number",d.numberFieldType),d.cvvFieldType&&window.Spreedly.setFieldType("cvv",d.cvvFieldType),window.Spreedly.setNumberFormat("plainFormat")):d.numberFormat==="maskedFormat"?(window.Spreedly.setFieldType("cvv","text"),window.Spreedly.setFieldType("number","text"),window.Spreedly.setNumberFormat("maskedFormat")):d.numberFormat==="prettyFormat"?(d.numberFieldType==="text"||d.numberFieldType==="tel"?window.Spreedly.setFieldType("number",d.numberFieldType):window.Spreedly.setFieldType("number","tel"),d.cvvFieldType==="text"||d.cvvFieldType==="tel"?window.Spreedly.setFieldType("cvv",d.cvvFieldType):window.Spreedly.setFieldType("cvv","tel"),window.Spreedly.setNumberFormat("prettyFormat")):(d.numberFieldType&&window.Spreedly.setFieldType("number",d.numberFieldType),d.cvvFieldType&&window.Spreedly.setFieldType("cvv",d.cvvFieldType)),m?.onReady?.()}),window.Spreedly.on("fieldEvent",(g,I,x,D)=>{m?.onFieldEvent?.(g,I,x,D)}),window.Spreedly.on("errors",g=>{m?.onErrors?.(g)}),window.Spreedly.on("paymentMethod",(g,I)=>{_=g,m?.onPaymentMethod?.(g,I),y&&(_=null,y(g),y=null)})},tokenize(d){if(!h||!window.Spreedly)throw new Error("Payment form is not initialized");let m=String(d.year);m.length===2&&(m=`20${m}`);const g=String(d.month).padStart(2,"0");"full_name"in d?window.Spreedly.tokenizeCreditCard({full_name:d.full_name,month:g,year:m}):window.Spreedly.tokenizeCreditCard({first_name:d.first_name,last_name:d.last_name,month:g,year:m})},async submit(d){if(!h)throw new Error("Payment form is not initialized");if(_){const m=_;return _=null,Qe(t,m,d,{external_payment_method_id:f,payment_method_intent_id:i,external_customer_id:s})}return new Promise((m,g)=>{v=d,y=async I=>{try{const x=await Qe(t,I,v,{external_payment_method_id:f,payment_method_intent_id:i,external_customer_id:s});m(x)}catch(x){g(x)}finally{v=null}},this.tokenize(d.card_details)})},reset(){window.Spreedly&&window.Spreedly.reload(),_=null,y=null,v=null},unmount(){window.Spreedly&&window.Spreedly.removeHandlers(),h=!1,_=null,y=null,v=null},addEventHandlers(d){d.onReady&&window.Spreedly.on("ready",d.onReady),d.onFieldEvent&&window.Spreedly.on("fieldEvent",d.onFieldEvent),d.onErrors&&window.Spreedly.on("errors",d.onErrors),d.onPaymentMethod&&window.Spreedly.on("paymentMethod",d.onPaymentMethod)},removeHandlers(){window.Spreedly&&window.Spreedly.removeHandlers()},setFieldType(d,m){window.Spreedly.setFieldType(d,m)},setLabel(d,m){window.Spreedly.setLabel(d,m)},setNumberFormat(d){window.Spreedly.setNumberFormat(d)},setPlaceholder(d,m){window.Spreedly.setPlaceholder(d,m)},setStyle(d,m){window.Spreedly.setStyle(d,m)}}}async function Hn(t,e){const r=t.customerId;if(!r)throw new Error("Not logged in.");return await c("post","/payment_method_intents",{data:{customer_id:r,payment_method_id:e}},a(t,"createFrictionlessPaymentIntentV1"))}async function Qe(t,e,{billing_address:r,default_payment_method:n,address_ids:i,apply_to_all_subscription_addresses:s},{external_payment_method_id:o,payment_method_intent_id:l,external_customer_id:f}){return await Je(a(t,"submitFrictionlessPaymentMethodV1"),{default:n??!1,payment_type:"CREDIT_CARD",processor_customer_token:f.toString(),processor_name:"frictionless",processor_payment_method_token:e,billing_address:r,payment_method_intent_id:l,address_ids:i,external_payment_method_id:o,apply_to_all_subscription_addresses:s})}var Gn=Object.freeze({__proto__:null,createPaymentMethod:Je,getPaymentMethod:Vn,initFrictionlessPaymentV1:Wn,listPaymentMethods:Xn,updatePaymentMethod:zn});async function Kn(t,e){if(e===void 0||e==="")throw new Error("ID is required");const{plan:r}=await c("get","/plans",{id:e},a(t,"getPlan"));return r}function Yn(t,e){return c("get","/plans",{query:e},a(t,"listPlans"))}var Jn=Object.freeze({__proto__:null,getPlan:Kn,listPlans:Yn});async function Qn(t,e){return await c("get","/shop/shipping_countries",{query:e,headers:{"X-Recharge-Version":"2021-01"}},a(t,"getShippingCountries"))}async function Zn(t){return await c("get","/shop/settings",{headers:{"X-Recharge-Version":"2021-01"}},a(t,"getStoreSettings"))}var ei=Object.freeze({__proto__:null,getShippingCountries:Qn,getStoreSettings:Zn});function ti(t,e){return{...le(e,["address_id","external_variant_id","external_product_id","charge_interval_frequency","order_interval_frequency","price","status"]),customer_id:parseInt(t,10),shopify_variant_id:e.external_variant_id.ecommerce?parseInt(e.external_variant_id.ecommerce,10):void 0,...e.charge_interval_frequency?{charge_interval_frequency:`${e.charge_interval_frequency}`}:{},...e.order_interval_frequency?{order_interval_frequency:`${e.order_interval_frequency}`}:{},status:e.status?e.status.toUpperCase():void 0}}function ri(t,e){return{...le(e,["external_variant_id","external_product_id","charge_interval_frequency","order_interval_frequency","price","use_external_variant_defaults"]),shopify_variant_id:e.external_variant_id?.ecommerce?parseInt(e.external_variant_id.ecommerce,10):void 0,...e.charge_interval_frequency?{charge_interval_frequency:`${e.charge_interval_frequency}`}:void 0,...e.order_interval_frequency?{order_interval_frequency:`${e.order_interval_frequency}`}:void 0,force_update:t}}function Ze(t){const{id:e,address_id:r,customer_id:n,analytics_data:i,cancellation_reason:s,cancellation_reason_comments:o,cancelled_at:l,charge_interval_frequency:f,created_at:h,expire_after_specific_number_of_charges:_,shopify_product_id:y,shopify_variant_id:v,has_queued_charges:d,is_prepaid:m,is_skippable:g,is_swappable:I,max_retries_reached:x,next_charge_scheduled_at:D,order_day_of_month:q,order_day_of_week:O,order_interval_frequency:Si,order_interval_unit:$i,presentment_currency:Ii,price:qi,product_title:Ei,properties:ki,quantity:xi,sku:Ci,sku_override:Pi,status:Ai,updated_at:Di,variant_title:Oi}=t;return{id:e,address_id:r,customer_id:n,analytics_data:i,cancellation_reason:s,cancellation_reason_comments:o,cancelled_at:l,charge_interval_frequency:parseInt(f,10),created_at:h,expire_after_specific_number_of_charges:_,external_product_id:{ecommerce:`${y}`},external_variant_id:{ecommerce:`${v}`},has_queued_charges:Ne(d),is_prepaid:m,is_skippable:g,is_swappable:I,max_retries_reached:Ne(x),next_charge_scheduled_at:D,order_day_of_month:q,order_day_of_week:O,order_interval_frequency:parseInt(Si,10),order_interval_unit:$i,presentment_currency:Ii,price:`${qi}`,product_title:Ei??"",properties:ki,quantity:xi,sku:Ci,sku_override:Pi,status:Ai.toLowerCase(),updated_at:Di,variant_title:Oi}}async function ni(t,e,r){if(e===void 0||e==="")throw new Error("ID is required");const{subscription:n}=await c("get","/subscriptions",{id:e,query:{include:r?.include}},a(t,"getSubscription"));return n}function ii(t,e){return c("get","/subscriptions",{query:e},a(t,"listSubscriptions"))}function si(t,e,r){if(e===void 0||e==="")throw new Error("ID is required");return c("get",`/subscriptions/${p(e)}/addons`,{query:r},a(t,"listSubscriptionAddons"))}async function oi(t,e,r){const{subscription:n}=await c("post","/subscriptions",{data:e,query:r},a(t,"createSubscription"));return n}async function ai(t,e,r,n){if(e===void 0||e==="")throw new Error("ID is required");const{subscription:i}=await c("put","/subscriptions",{id:e,data:r,query:n},a(t,"updateSubscription"));return i}async function ci(t,e,r,n){if(e===void 0||e==="")throw new Error("ID is required");const{subscription:i}=await c("post",`/subscriptions/${p(e)}/set_next_charge_date`,{data:{date:r},query:n},a(t,"updateSubscriptionChargeDate"));return i}async function di(t,e,r){if(e===void 0||e==="")throw new Error("ID is required");const{subscription:n}=await c("post",`/subscriptions/${p(e)}/change_address`,{data:{address_id:r}},a(t,"updateSubscriptionAddress"));return n}async function ui(t,e,r,n){if(e===void 0||e==="")throw new Error("ID is required");const{subscription:i}=await c("post",`/subscriptions/${p(e)}/cancel`,{data:r,query:n},a(t,"cancelSubscription"));return i}async function li(t,e,r){if(e===void 0||e==="")throw new Error("ID is required");const{subscription:n}=await c("post",`/subscriptions/${p(e)}/activate`,{query:r},a(t,"activateSubscription"));return n}async function pi(t,e,r){if(e===void 0||e==="")throw new Error("ID is required");const{charge:n}=await c("post",`/subscriptions/${p(e)}/charges/skip`,{data:{date:r,subscription_id:`${e}`}},a(t,"skipSubscriptionCharge"));return n}async function hi(t,e,r={}){if(e===void 0||e==="")throw new Error("ID is required");const{subscription:n}=await c("post",`/subscriptions/${p(e)}/pricing_preview`,{data:r},a(t,"getSubscriptionPricingPreview"));return n}async function _i(t,e,r){if(e===void 0||e.length===0)throw new Error("Subscription IDs are required");const{onetimes:n}=await c("post","/purchase_items/skip_gift",{data:{purchase_item_ids:e.map(Number),recipient_address:r}},a(t,"skipGiftSubscriptionCharge"));return n}async function mi(t,e,r){const n=e.length;if(n<1||n>21)throw new Error("Number of subscriptions must be between 1 and 20.");const{customerId:i}=t;if(!i)throw new Error("No customerId in session.");const s=e[0].address_id;if(!e.every(h=>h.address_id===s))throw new Error("All subscriptions must have the same address_id.");const o=e.map(h=>ti(i,h));let l;r?.allow_onetimes!==void 0&&(l={allow_onetimes:r.allow_onetimes});const{subscriptions:f}=await c("post",`/addresses/${p(s)}/subscriptions-bulk`,{data:{subscriptions:o,commit_update:!!r?.commit},headers:{"X-Recharge-Version":"2021-01"},query:l},a(t,"createSubscriptions"));return f.map(Ze)}async function fi(t,e,r,n){if(e===void 0||e==="")throw new Error("Address ID is required");const i=r.length;if(i<1||i>21)throw new Error("Number of subscriptions must be between 1 and 20.");const{customerId:s}=t;if(!s)throw new Error("No customerId in session.");const o=!!n?.force_update,l=r.map(_=>ri(o,_));let f;n?.allow_onetimes!==void 0&&(f={allow_onetimes:n.allow_onetimes});const{subscriptions:h}=await c("put",`/addresses/${p(e)}/subscriptions-bulk`,{data:{subscriptions:l,commit_update:!!n?.commit},headers:{"X-Recharge-Version":"2021-01"},query:f},a(t,"updateSubscriptions"));return h.map(Ze)}async function gi(t,e,r,n){if(e===void 0||e==="")throw new Error("Address ID is required");const i=r.length;if(i<1||i>21)throw new Error("Number of subscriptions must be between 1 and 20.");const{customerId:s}=t;if(!s)throw new Error("No customerId in session.");let o;n?.allow_onetimes!==void 0&&(o={allow_onetimes:n.allow_onetimes}),await c("delete",`/addresses/${p(e)}/subscriptions-bulk`,{data:{subscriptions:r,send_email:!!n?.send_email,commit_update:!!n?.commit},headers:{"X-Recharge-Version":"2021-01"},query:o},a(t,"deleteSubscriptions"))}var wi=Object.freeze({__proto__:null,activateSubscription:li,cancelSubscription:ui,createSubscription:oi,createSubscriptions:mi,deleteSubscriptions:gi,getSubscription:ni,getSubscriptionPricingPreview:hi,listSubscriptionAddons:si,listSubscriptions:ii,skipGiftSubscriptionCharge:_i,skipSubscriptionCharge:pi,updateSubscription:ai,updateSubscriptionAddress:di,updateSubscriptionChargeDate:ci,updateSubscriptions:fi});const yi={get(t,e){return S("get",t,e)},post(t,e){return S("post",t,e)},put(t,e){return S("put",t,e)},delete(t,e){return S("delete",t,e)}};function bi(t){if(t)return t;if(window?.Shopify?.shop)return window.Shopify.shop;let e=window?.domain;if(!e){const r=location?.href.match(/(?:http[s]*:\/\/)*(.*?)\.(?=admin\.rechargeapps\.com)/i)?.[1].replace(/-sp$/,"");r&&(e=`${r}.myshopify.com`)}if(e)return e;throw new Error("No storeIdentifier was passed into init.")}function vi(t={}){const e=t,{storefrontAccessToken:r}=t;if(r&&!r.startsWith("strfnt"))throw new Error("Incorrect storefront access token used. See https://storefront.rechargepayments.com/client/docs/getting_started/package_setup/#initialization-- for more information.");tt({storeIdentifier:bi(t.storeIdentifier),loginRetryFn:t.loginRetryFn,__unstable_twoFactorRetryFn:t.__unstable_twoFactorRetryFn,storefrontAccessToken:r,appName:t.appName,appVersion:t.appVersion,environment:e.environment?e.environment:"prod",environmentUri:e.environmentUri,customerHash:e.customerHash}),Ve()}const et={init:vi,api:yi,address:mt,auth:qt,bundle:gr,bundleData:Er,charge:Vr,cdn:Tr,collection:Gr,credit:an,customer:rn,customerSurveys:ln,gift:_n,tieredDiscount:wn,membership:In,membershipProgram:kn,metafield:An,onetime:Nn,order:Un,paymentMethod:Gn,plan:Jn,product:zr,store:ei,subscription:wi};try{et.init()}catch{}return et});
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@rechargeapps/storefront-client",
3
3
  "description": "Storefront client for Recharge",
4
- "version": "2.0.0",
4
+ "version": "2.2.0",
5
5
  "author": "Recharge Inc.",
6
6
  "license": "MIT",
7
7
  "main": "dist/cjs/index.js",
@@ -31,7 +31,7 @@
31
31
  "format": "prettier --check '{src,cypress}/**/*.{js,ts}'"
32
32
  },
33
33
  "dependencies": {
34
- "js-xdr": "1.3.0"
34
+ "@stellar/js-xdr": "5.0.0"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@recharge-packages/eslint-config": "2.2.2",
@@ -51,11 +51,11 @@
51
51
  "jsdom": "22.1.0",
52
52
  "rollup": "4.3.0",
53
53
  "rollup-plugin-banner2": "1.2.2",
54
- "rollup-plugin-dts": "6.1.0",
54
+ "rollup-plugin-dts": "6.5.1",
55
55
  "rollup-plugin-esbuild": "6.1.0",
56
56
  "rollup-plugin-polyfill-node": "0.13.0",
57
57
  "rollup-plugin-subpath-externals": "3.4.0",
58
- "rollup-plugin-typescript-paths": "1.4.0",
58
+ "rollup-plugin-typescript-paths": "1.5.0",
59
59
  "start-server-and-test": "2.0.2",
60
60
  "vitest": "4.1.9",
61
61
  "vitest-fetch-mock": "0.3.0"