ripplo 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,70 +1,70 @@
1
1
  #!/usr/bin/env node
2
- var qC=Object.create;var Af=Object.defineProperty;var KC=Object.getOwnPropertyDescriptor;var YC=Object.getOwnPropertyNames;var JC=Object.getPrototypeOf,ZC=Object.prototype.hasOwnProperty;var zr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var XC=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of YC(t))!ZC.call(e,i)&&i!==r&&Af(e,i,{get:()=>t[i],enumerable:!(n=KC(t,i))||n.enumerable});return e};var ro=(e,t,r)=>(r=e!=null?qC(JC(e)):{},XC(t||!e||!e.__esModule?Af(r,"default",{value:e,enumerable:!0}):r,e));var $f=zr(oo=>{"use strict";Object.defineProperty(oo,"__esModule",{value:!0});oo.timingSafeEqual=void 0;function Lf(e,t=""){if(!e)throw new Error(t)}function CR(e,t){if(e.byteLength!==t.byteLength)return!1;e instanceof DataView||(e=new DataView(ArrayBuffer.isView(e)?e.buffer:e)),t instanceof DataView||(t=new DataView(ArrayBuffer.isView(t)?t.buffer:t)),Lf(e instanceof DataView),Lf(t instanceof DataView);let r=e.byteLength,n=0,i=-1;for(;++i<r;)n|=e.getUint8(i)^t.getUint8(i);return n===0}oo.timingSafeEqual=CR});var jf=zr(rt=>{"use strict";var RR=rt&&rt.__extends||(function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var o in i)i.hasOwnProperty(o)&&(n[o]=i[o])},e(t,r)};return function(t,r){e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}})();Object.defineProperty(rt,"__esModule",{value:!0});var $e=256,fl=(function(){function e(t){t===void 0&&(t="="),this._paddingCharacter=t}return e.prototype.encodedLength=function(t){return this._paddingCharacter?(t+2)/3*4|0:(t*8+5)/6|0},e.prototype.encode=function(t){for(var r="",n=0;n<t.length-2;n+=3){var i=t[n]<<16|t[n+1]<<8|t[n+2];r+=this._encodeByte(i>>>18&63),r+=this._encodeByte(i>>>12&63),r+=this._encodeByte(i>>>6&63),r+=this._encodeByte(i>>>0&63)}var o=t.length-n;if(o>0){var i=t[n]<<16|(o===2?t[n+1]<<8:0);r+=this._encodeByte(i>>>18&63),r+=this._encodeByte(i>>>12&63),o===2?r+=this._encodeByte(i>>>6&63):r+=this._paddingCharacter||"",r+=this._paddingCharacter||""}return r},e.prototype.maxDecodedLength=function(t){return this._paddingCharacter?t/4*3|0:(t*6+7)/8|0},e.prototype.decodedLength=function(t){return this.maxDecodedLength(t.length-this._getPaddingLength(t))},e.prototype.decode=function(t){if(t.length===0)return new Uint8Array(0);for(var r=this._getPaddingLength(t),n=t.length-r,i=new Uint8Array(this.maxDecodedLength(n)),o=0,s=0,a=0,l=0,c=0,u=0,d=0;s<n-4;s+=4)l=this._decodeChar(t.charCodeAt(s+0)),c=this._decodeChar(t.charCodeAt(s+1)),u=this._decodeChar(t.charCodeAt(s+2)),d=this._decodeChar(t.charCodeAt(s+3)),i[o++]=l<<2|c>>>4,i[o++]=c<<4|u>>>2,i[o++]=u<<6|d,a|=l&$e,a|=c&$e,a|=u&$e,a|=d&$e;if(s<n-1&&(l=this._decodeChar(t.charCodeAt(s)),c=this._decodeChar(t.charCodeAt(s+1)),i[o++]=l<<2|c>>>4,a|=l&$e,a|=c&$e),s<n-2&&(u=this._decodeChar(t.charCodeAt(s+2)),i[o++]=c<<4|u>>>2,a|=u&$e),s<n-3&&(d=this._decodeChar(t.charCodeAt(s+3)),i[o++]=u<<6|d,a|=d&$e),a!==0)throw new Error("Base64Coder: incorrect characters for decoding");return i},e.prototype._encodeByte=function(t){var r=t;return r+=65,r+=25-t>>>8&6,r+=51-t>>>8&-75,r+=61-t>>>8&-15,r+=62-t>>>8&3,String.fromCharCode(r)},e.prototype._decodeChar=function(t){var r=$e;return r+=(42-t&t-44)>>>8&-$e+t-43+62,r+=(46-t&t-48)>>>8&-$e+t-47+63,r+=(47-t&t-58)>>>8&-$e+t-48+52,r+=(64-t&t-91)>>>8&-$e+t-65+0,r+=(96-t&t-123)>>>8&-$e+t-97+26,r},e.prototype._getPaddingLength=function(t){var r=0;if(this._paddingCharacter){for(var n=t.length-1;n>=0&&t[n]===this._paddingCharacter;n--)r++;if(t.length<4||r>2)throw new Error("Base64Coder: incorrect padding")}return r},e})();rt.Coder=fl;var Bn=new fl;function ER(e){return Bn.encode(e)}rt.encode=ER;function IR(e){return Bn.decode(e)}rt.decode=IR;var Df=(function(e){RR(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype._encodeByte=function(r){var n=r;return n+=65,n+=25-r>>>8&6,n+=51-r>>>8&-75,n+=61-r>>>8&-13,n+=62-r>>>8&49,String.fromCharCode(n)},t.prototype._decodeChar=function(r){var n=$e;return n+=(44-r&r-46)>>>8&-$e+r-45+62,n+=(94-r&r-96)>>>8&-$e+r-95+63,n+=(47-r&r-58)>>>8&-$e+r-48+52,n+=(64-r&r-91)>>>8&-$e+r-65+0,n+=(96-r&r-123)>>>8&-$e+r-97+26,n},t})(fl);rt.URLSafeCoder=Df;var _f=new Df;function AR(e){return _f.encode(e)}rt.encodeURLSafe=AR;function PR(e){return _f.decode(e)}rt.decodeURLSafe=PR;rt.encodedLength=function(e){return Bn.encodedLength(e)};rt.maxDecodedLength=function(e){return Bn.maxDecodedLength(e)};rt.decodedLength=function(e){return Bn.decodedLength(e)}});var Vf=zr((Ff,so)=>{"use strict";(function(e,t){var r={};t(r);var n=r.default;for(var i in r)n[i]=r[i];typeof so=="object"&&typeof so.exports=="object"?so.exports=n:typeof define=="function"&&define.amd?define(function(){return n}):e.sha256=n})(Ff,function(e){"use strict";e.__esModule=!0,e.digestLength=32,e.blockSize=64;var t=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);function r(d,p,h,f,m){for(var g,w,S,y,v,C,M,R,E,x,U,X,Q;m>=64;){for(g=p[0],w=p[1],S=p[2],y=p[3],v=p[4],C=p[5],M=p[6],R=p[7],x=0;x<16;x++)U=f+x*4,d[x]=(h[U]&255)<<24|(h[U+1]&255)<<16|(h[U+2]&255)<<8|h[U+3]&255;for(x=16;x<64;x++)E=d[x-2],X=(E>>>17|E<<15)^(E>>>19|E<<13)^E>>>10,E=d[x-15],Q=(E>>>7|E<<25)^(E>>>18|E<<14)^E>>>3,d[x]=(X+d[x-7]|0)+(Q+d[x-16]|0);for(x=0;x<64;x++)X=(((v>>>6|v<<26)^(v>>>11|v<<21)^(v>>>25|v<<7))+(v&C^~v&M)|0)+(R+(t[x]+d[x]|0)|0)|0,Q=((g>>>2|g<<30)^(g>>>13|g<<19)^(g>>>22|g<<10))+(g&w^g&S^w&S)|0,R=M,M=C,C=v,v=y+X|0,y=S,S=w,w=g,g=X+Q|0;p[0]+=g,p[1]+=w,p[2]+=S,p[3]+=y,p[4]+=v,p[5]+=C,p[6]+=M,p[7]+=R,f+=64,m-=64}return f}var n=(function(){function d(){this.digestLength=e.digestLength,this.blockSize=e.blockSize,this.state=new Int32Array(8),this.temp=new Int32Array(64),this.buffer=new Uint8Array(128),this.bufferLength=0,this.bytesHashed=0,this.finished=!1,this.reset()}return d.prototype.reset=function(){return this.state[0]=1779033703,this.state[1]=3144134277,this.state[2]=1013904242,this.state[3]=2773480762,this.state[4]=1359893119,this.state[5]=2600822924,this.state[6]=528734635,this.state[7]=1541459225,this.bufferLength=0,this.bytesHashed=0,this.finished=!1,this},d.prototype.clean=function(){for(var p=0;p<this.buffer.length;p++)this.buffer[p]=0;for(var p=0;p<this.temp.length;p++)this.temp[p]=0;this.reset()},d.prototype.update=function(p,h){if(h===void 0&&(h=p.length),this.finished)throw new Error("SHA256: can't update because hash was finished.");var f=0;if(this.bytesHashed+=h,this.bufferLength>0){for(;this.bufferLength<64&&h>0;)this.buffer[this.bufferLength++]=p[f++],h--;this.bufferLength===64&&(r(this.temp,this.state,this.buffer,0,64),this.bufferLength=0)}for(h>=64&&(f=r(this.temp,this.state,p,f,h),h%=64);h>0;)this.buffer[this.bufferLength++]=p[f++],h--;return this},d.prototype.finish=function(p){if(!this.finished){var h=this.bytesHashed,f=this.bufferLength,m=h/536870912|0,g=h<<3,w=h%64<56?64:128;this.buffer[f]=128;for(var S=f+1;S<w-8;S++)this.buffer[S]=0;this.buffer[w-8]=m>>>24&255,this.buffer[w-7]=m>>>16&255,this.buffer[w-6]=m>>>8&255,this.buffer[w-5]=m>>>0&255,this.buffer[w-4]=g>>>24&255,this.buffer[w-3]=g>>>16&255,this.buffer[w-2]=g>>>8&255,this.buffer[w-1]=g>>>0&255,r(this.temp,this.state,this.buffer,0,w),this.finished=!0}for(var S=0;S<8;S++)p[S*4+0]=this.state[S]>>>24&255,p[S*4+1]=this.state[S]>>>16&255,p[S*4+2]=this.state[S]>>>8&255,p[S*4+3]=this.state[S]>>>0&255;return this},d.prototype.digest=function(){var p=new Uint8Array(this.digestLength);return this.finish(p),p},d.prototype._saveState=function(p){for(var h=0;h<this.state.length;h++)p[h]=this.state[h]},d.prototype._restoreState=function(p,h){for(var f=0;f<this.state.length;f++)this.state[f]=p[f];this.bytesHashed=h,this.finished=!1,this.bufferLength=0},d})();e.Hash=n;var i=(function(){function d(p){this.inner=new n,this.outer=new n,this.blockSize=this.inner.blockSize,this.digestLength=this.inner.digestLength;var h=new Uint8Array(this.blockSize);if(p.length>this.blockSize)new n().update(p).finish(h).clean();else for(var f=0;f<p.length;f++)h[f]=p[f];for(var f=0;f<h.length;f++)h[f]^=54;this.inner.update(h);for(var f=0;f<h.length;f++)h[f]^=106;this.outer.update(h),this.istate=new Uint32Array(8),this.ostate=new Uint32Array(8),this.inner._saveState(this.istate),this.outer._saveState(this.ostate);for(var f=0;f<h.length;f++)h[f]=0}return d.prototype.reset=function(){return this.inner._restoreState(this.istate,this.inner.blockSize),this.outer._restoreState(this.ostate,this.outer.blockSize),this},d.prototype.clean=function(){for(var p=0;p<this.istate.length;p++)this.ostate[p]=this.istate[p]=0;this.inner.clean(),this.outer.clean()},d.prototype.update=function(p){return this.inner.update(p),this},d.prototype.finish=function(p){return this.outer.finished?this.outer.finish(p):(this.inner.finish(p),this.outer.update(p,this.digestLength).finish(p)),this},d.prototype.digest=function(){var p=new Uint8Array(this.digestLength);return this.finish(p),p},d})();e.HMAC=i;function o(d){var p=new n().update(d),h=p.digest();return p.clean(),h}e.hash=o,e.default=o;function s(d,p){var h=new i(d).update(p),f=h.digest();return h.clean(),f}e.hmac=s;function a(d,p,h,f){var m=f[0];if(m===0)throw new Error("hkdf: cannot expand more");p.reset(),m>1&&p.update(d),h&&p.update(h),p.update(f),p.finish(d),f[0]++}var l=new Uint8Array(e.digestLength);function c(d,p,h,f){p===void 0&&(p=l),f===void 0&&(f=32);for(var m=new Uint8Array([1]),g=s(p,d),w=new i(g),S=new Uint8Array(w.digestLength),y=S.length,v=new Uint8Array(f),C=0;C<f;C++)y===S.length&&(a(S,w,h,m),y=0),v[C]=S[y++];return w.clean(),S.fill(0),m.fill(0),v}e.hkdf=c;function u(d,p,h,f){for(var m=new i(d),g=m.digestLength,w=new Uint8Array(4),S=new Uint8Array(g),y=new Uint8Array(g),v=new Uint8Array(f),C=0;C*g<f;C++){var M=C+1;w[0]=M>>>24&255,w[1]=M>>>16&255,w[2]=M>>>8&255,w[3]=M>>>0&255,m.reset(),m.update(p),m.update(w),m.finish(y);for(var R=0;R<g;R++)S[R]=y[R];for(var R=2;R<=h;R++){m.reset(),m.update(y).finish(y);for(var E=0;E<g;E++)S[E]^=y[E]}for(var R=0;R<g&&C*g+R<f;R++)v[C*g+R]=S[R]}for(var C=0;C<g;C++)S[C]=y[C]=0;for(var C=0;C<4;C++)w[C]=0;return m.clean(),v}e.pbkdf2=u})});var ml=zr(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.Webhook=Gr.WebhookVerificationError=void 0;var TR=$f(),Bf=jf(),OR=Vf(),Uf=300,hl=class e extends Error{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype),this.name="ExtendableError",this.stack=new Error(t).stack}},er=class e extends hl{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype),this.name="WebhookVerificationError"}};Gr.WebhookVerificationError=er;var ao=class e{constructor(t,r){if(!t)throw new Error("Secret can't be empty.");if(r?.format==="raw")t instanceof Uint8Array?this.key=t:this.key=Uint8Array.from(t,n=>n.charCodeAt(0));else{if(typeof t!="string")throw new Error("Expected secret to be of type string");t.startsWith(e.prefix)&&(t=t.substring(e.prefix.length)),this.key=Bf.decode(t)}}verify(t,r){let n={};for(let p of Object.keys(r))n[p.toLowerCase()]=r[p];let i=n["webhook-id"],o=n["webhook-signature"],s=n["webhook-timestamp"];if(!o||!i||!s)throw new er("Missing required headers");let a=this.verifyTimestamp(s),c=this.sign(i,a,t).split(",")[1],u=o.split(" "),d=new globalThis.TextEncoder;for(let p of u){let[h,f]=p.split(",");if(h==="v1"&&(0,TR.timingSafeEqual)(d.encode(f),d.encode(c)))return JSON.parse(t.toString())}throw new er("No matching signature found")}sign(t,r,n){if(typeof n!="string")if(n.constructor.name==="Buffer")n=n.toString();else throw new Error("Expected payload to be of type string or Buffer.");let i=new TextEncoder,o=Math.floor(r.getTime()/1e3),s=i.encode(`${t}.${o}.${n}`);return`v1,${Bf.encode(OR.hmac(this.key,s))}`}verifyTimestamp(t){let r=Math.floor(Date.now()/1e3),n=parseInt(t,10);if(isNaN(n))throw new er("Invalid Signature Headers");if(r-n>Uf)throw new er("Message timestamp too old");if(n>r+Uf)throw new er("Message timestamp too new");return new Date(n*1e3)}};Gr.Webhook=ao;ao.prefix="whsec_"});var hm=zr((rc,fm)=>{"use strict";var{hasOwnProperty:Jn}=Object.prototype,Or=tc();Or.configure=tc;Or.stringify=Or;Or.default=Or;rc.stringify=Or;rc.configure=tc;fm.exports=Or;var PI=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]/;function lr(e){return e.length<5e3&&!PI.test(e)?`"${e}"`:JSON.stringify(e)}function Ql(e,t){if(e.length>200||t)return e.sort(t);for(let r=1;r<e.length;r++){let n=e[r],i=r;for(;i!==0&&e[i-1]>n;)e[i]=e[i-1],i--;e[i]=n}return e}var TI=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function ec(e){return TI.call(e)!==void 0&&e.length!==0}function dm(e,t,r){e.length<r&&(r=e.length);let n=t===","?"":" ",i=`"0":${n}${e[0]}`;for(let o=1;o<r;o++)i+=`${t}"${o}":${n}${e[o]}`;return i}function OI(e){if(Jn.call(e,"circularValue")){let t=e.circularValue;if(typeof t=="string")return`"${t}"`;if(t==null)return t;if(t===Error||t===TypeError)return{toString(){throw new TypeError("Converting circular structure to JSON")}};throw new TypeError('The "circularValue" argument must be of type string or the value null or undefined')}return'"[Circular]"'}function MI(e){let t;if(Jn.call(e,"deterministic")&&(t=e.deterministic,typeof t!="boolean"&&typeof t!="function"))throw new TypeError('The "deterministic" argument must be of type boolean or comparator function');return t===void 0?!0:t}function NI(e,t){let r;if(Jn.call(e,t)&&(r=e[t],typeof r!="boolean"))throw new TypeError(`The "${t}" argument must be of type boolean`);return r===void 0?!0:r}function pm(e,t){let r;if(Jn.call(e,t)){if(r=e[t],typeof r!="number")throw new TypeError(`The "${t}" argument must be of type number`);if(!Number.isInteger(r))throw new TypeError(`The "${t}" argument must be an integer`);if(r<1)throw new RangeError(`The "${t}" argument must be >= 1`)}return r===void 0?1/0:r}function Tr(e){return e===1?"1 item":`${e} items`}function LI(e){let t=new Set;for(let r of e)(typeof r=="string"||typeof r=="number")&&t.add(String(r));return t}function $I(e){if(Jn.call(e,"strict")){let t=e.strict;if(typeof t!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(t)return r=>{let n=`Object can not safely be stringified. Received type ${typeof r}`;throw typeof r!="function"&&(n+=` (${r.toString()})`),new Error(n)}}}function tc(e){e={...e};let t=$I(e);t&&(e.bigint===void 0&&(e.bigint=!1),"circularValue"in e||(e.circularValue=Error));let r=OI(e),n=NI(e,"bigint"),i=MI(e),o=typeof i=="function"?i:void 0,s=pm(e,"maximumDepth"),a=pm(e,"maximumBreadth");function l(h,f,m,g,w,S){let y=f[h];switch(typeof y=="object"&&y!==null&&typeof y.toJSON=="function"&&(y=y.toJSON(h)),y=g.call(f,h,y),typeof y){case"string":return lr(y);case"object":{if(y===null)return"null";if(m.indexOf(y)!==-1)return r;let v="",C=",",M=S;if(Array.isArray(y)){if(y.length===0)return"[]";if(s<m.length+1)return'"[Array]"';m.push(y),w!==""&&(S+=w,v+=`
2
+ var yR=Object.create;var Lf=Object.defineProperty;var bR=Object.getOwnPropertyDescriptor;var wR=Object.getOwnPropertyNames;var SR=Object.getPrototypeOf,vR=Object.prototype.hasOwnProperty;var qr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var xR=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of wR(t))!vR.call(e,i)&&i!==r&&Lf(e,i,{get:()=>t[i],enumerable:!(n=bR(t,i))||n.enumerable});return e};var so=(e,t,r)=>(r=e!=null?yR(SR(e)):{},xR(t||!e||!e.__esModule?Lf(r,"default",{value:e,enumerable:!0}):r,e));var Vf=qr(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.timingSafeEqual=void 0;function Bf(e,t=""){if(!e)throw new Error(t)}function KR(e,t){if(e.byteLength!==t.byteLength)return!1;e instanceof DataView||(e=new DataView(ArrayBuffer.isView(e)?e.buffer:e)),t instanceof DataView||(t=new DataView(ArrayBuffer.isView(t)?t.buffer:t)),Bf(e instanceof DataView),Bf(t instanceof DataView);let r=e.byteLength,n=0,i=-1;for(;++i<r;)n|=e.getUint8(i)^t.getUint8(i);return n===0}co.timingSafeEqual=KR});var Hf=qr(nt=>{"use strict";var JR=nt&&nt.__extends||(function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var o in i)i.hasOwnProperty(o)&&(n[o]=i[o])},e(t,r)};return function(t,r){e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}})();Object.defineProperty(nt,"__esModule",{value:!0});var $e=256,yl=(function(){function e(t){t===void 0&&(t="="),this._paddingCharacter=t}return e.prototype.encodedLength=function(t){return this._paddingCharacter?(t+2)/3*4|0:(t*8+5)/6|0},e.prototype.encode=function(t){for(var r="",n=0;n<t.length-2;n+=3){var i=t[n]<<16|t[n+1]<<8|t[n+2];r+=this._encodeByte(i>>>18&63),r+=this._encodeByte(i>>>12&63),r+=this._encodeByte(i>>>6&63),r+=this._encodeByte(i>>>0&63)}var o=t.length-n;if(o>0){var i=t[n]<<16|(o===2?t[n+1]<<8:0);r+=this._encodeByte(i>>>18&63),r+=this._encodeByte(i>>>12&63),o===2?r+=this._encodeByte(i>>>6&63):r+=this._paddingCharacter||"",r+=this._paddingCharacter||""}return r},e.prototype.maxDecodedLength=function(t){return this._paddingCharacter?t/4*3|0:(t*6+7)/8|0},e.prototype.decodedLength=function(t){return this.maxDecodedLength(t.length-this._getPaddingLength(t))},e.prototype.decode=function(t){if(t.length===0)return new Uint8Array(0);for(var r=this._getPaddingLength(t),n=t.length-r,i=new Uint8Array(this.maxDecodedLength(n)),o=0,s=0,a=0,l=0,c=0,u=0,d=0;s<n-4;s+=4)l=this._decodeChar(t.charCodeAt(s+0)),c=this._decodeChar(t.charCodeAt(s+1)),u=this._decodeChar(t.charCodeAt(s+2)),d=this._decodeChar(t.charCodeAt(s+3)),i[o++]=l<<2|c>>>4,i[o++]=c<<4|u>>>2,i[o++]=u<<6|d,a|=l&$e,a|=c&$e,a|=u&$e,a|=d&$e;if(s<n-1&&(l=this._decodeChar(t.charCodeAt(s)),c=this._decodeChar(t.charCodeAt(s+1)),i[o++]=l<<2|c>>>4,a|=l&$e,a|=c&$e),s<n-2&&(u=this._decodeChar(t.charCodeAt(s+2)),i[o++]=c<<4|u>>>2,a|=u&$e),s<n-3&&(d=this._decodeChar(t.charCodeAt(s+3)),i[o++]=u<<6|d,a|=d&$e),a!==0)throw new Error("Base64Coder: incorrect characters for decoding");return i},e.prototype._encodeByte=function(t){var r=t;return r+=65,r+=25-t>>>8&6,r+=51-t>>>8&-75,r+=61-t>>>8&-15,r+=62-t>>>8&3,String.fromCharCode(r)},e.prototype._decodeChar=function(t){var r=$e;return r+=(42-t&t-44)>>>8&-$e+t-43+62,r+=(46-t&t-48)>>>8&-$e+t-47+63,r+=(47-t&t-58)>>>8&-$e+t-48+52,r+=(64-t&t-91)>>>8&-$e+t-65+0,r+=(96-t&t-123)>>>8&-$e+t-97+26,r},e.prototype._getPaddingLength=function(t){var r=0;if(this._paddingCharacter){for(var n=t.length-1;n>=0&&t[n]===this._paddingCharacter;n--)r++;if(t.length<4||r>2)throw new Error("Base64Coder: incorrect padding")}return r},e})();nt.Coder=yl;var Hn=new yl;function YR(e){return Hn.encode(e)}nt.encode=YR;function ZR(e){return Hn.decode(e)}nt.decode=ZR;var Uf=(function(e){JR(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype._encodeByte=function(r){var n=r;return n+=65,n+=25-r>>>8&6,n+=51-r>>>8&-75,n+=61-r>>>8&-13,n+=62-r>>>8&49,String.fromCharCode(n)},t.prototype._decodeChar=function(r){var n=$e;return n+=(44-r&r-46)>>>8&-$e+r-45+62,n+=(94-r&r-96)>>>8&-$e+r-95+63,n+=(47-r&r-58)>>>8&-$e+r-48+52,n+=(64-r&r-91)>>>8&-$e+r-65+0,n+=(96-r&r-123)>>>8&-$e+r-97+26,n},t})(yl);nt.URLSafeCoder=Uf;var Wf=new Uf;function XR(e){return Wf.encode(e)}nt.encodeURLSafe=XR;function QR(e){return Wf.decode(e)}nt.decodeURLSafe=QR;nt.encodedLength=function(e){return Hn.encodedLength(e)};nt.maxDecodedLength=function(e){return Hn.maxDecodedLength(e)};nt.decodedLength=function(e){return Hn.decodedLength(e)}});var Gf=qr((zf,uo)=>{"use strict";(function(e,t){var r={};t(r);var n=r.default;for(var i in r)n[i]=r[i];typeof uo=="object"&&typeof uo.exports=="object"?uo.exports=n:typeof define=="function"&&define.amd?define(function(){return n}):e.sha256=n})(zf,function(e){"use strict";e.__esModule=!0,e.digestLength=32,e.blockSize=64;var t=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);function r(d,p,h,f,m){for(var g,w,S,y,v,C,M,R,E,x,U,X,Q;m>=64;){for(g=p[0],w=p[1],S=p[2],y=p[3],v=p[4],C=p[5],M=p[6],R=p[7],x=0;x<16;x++)U=f+x*4,d[x]=(h[U]&255)<<24|(h[U+1]&255)<<16|(h[U+2]&255)<<8|h[U+3]&255;for(x=16;x<64;x++)E=d[x-2],X=(E>>>17|E<<15)^(E>>>19|E<<13)^E>>>10,E=d[x-15],Q=(E>>>7|E<<25)^(E>>>18|E<<14)^E>>>3,d[x]=(X+d[x-7]|0)+(Q+d[x-16]|0);for(x=0;x<64;x++)X=(((v>>>6|v<<26)^(v>>>11|v<<21)^(v>>>25|v<<7))+(v&C^~v&M)|0)+(R+(t[x]+d[x]|0)|0)|0,Q=((g>>>2|g<<30)^(g>>>13|g<<19)^(g>>>22|g<<10))+(g&w^g&S^w&S)|0,R=M,M=C,C=v,v=y+X|0,y=S,S=w,w=g,g=X+Q|0;p[0]+=g,p[1]+=w,p[2]+=S,p[3]+=y,p[4]+=v,p[5]+=C,p[6]+=M,p[7]+=R,f+=64,m-=64}return f}var n=(function(){function d(){this.digestLength=e.digestLength,this.blockSize=e.blockSize,this.state=new Int32Array(8),this.temp=new Int32Array(64),this.buffer=new Uint8Array(128),this.bufferLength=0,this.bytesHashed=0,this.finished=!1,this.reset()}return d.prototype.reset=function(){return this.state[0]=1779033703,this.state[1]=3144134277,this.state[2]=1013904242,this.state[3]=2773480762,this.state[4]=1359893119,this.state[5]=2600822924,this.state[6]=528734635,this.state[7]=1541459225,this.bufferLength=0,this.bytesHashed=0,this.finished=!1,this},d.prototype.clean=function(){for(var p=0;p<this.buffer.length;p++)this.buffer[p]=0;for(var p=0;p<this.temp.length;p++)this.temp[p]=0;this.reset()},d.prototype.update=function(p,h){if(h===void 0&&(h=p.length),this.finished)throw new Error("SHA256: can't update because hash was finished.");var f=0;if(this.bytesHashed+=h,this.bufferLength>0){for(;this.bufferLength<64&&h>0;)this.buffer[this.bufferLength++]=p[f++],h--;this.bufferLength===64&&(r(this.temp,this.state,this.buffer,0,64),this.bufferLength=0)}for(h>=64&&(f=r(this.temp,this.state,p,f,h),h%=64);h>0;)this.buffer[this.bufferLength++]=p[f++],h--;return this},d.prototype.finish=function(p){if(!this.finished){var h=this.bytesHashed,f=this.bufferLength,m=h/536870912|0,g=h<<3,w=h%64<56?64:128;this.buffer[f]=128;for(var S=f+1;S<w-8;S++)this.buffer[S]=0;this.buffer[w-8]=m>>>24&255,this.buffer[w-7]=m>>>16&255,this.buffer[w-6]=m>>>8&255,this.buffer[w-5]=m>>>0&255,this.buffer[w-4]=g>>>24&255,this.buffer[w-3]=g>>>16&255,this.buffer[w-2]=g>>>8&255,this.buffer[w-1]=g>>>0&255,r(this.temp,this.state,this.buffer,0,w),this.finished=!0}for(var S=0;S<8;S++)p[S*4+0]=this.state[S]>>>24&255,p[S*4+1]=this.state[S]>>>16&255,p[S*4+2]=this.state[S]>>>8&255,p[S*4+3]=this.state[S]>>>0&255;return this},d.prototype.digest=function(){var p=new Uint8Array(this.digestLength);return this.finish(p),p},d.prototype._saveState=function(p){for(var h=0;h<this.state.length;h++)p[h]=this.state[h]},d.prototype._restoreState=function(p,h){for(var f=0;f<this.state.length;f++)this.state[f]=p[f];this.bytesHashed=h,this.finished=!1,this.bufferLength=0},d})();e.Hash=n;var i=(function(){function d(p){this.inner=new n,this.outer=new n,this.blockSize=this.inner.blockSize,this.digestLength=this.inner.digestLength;var h=new Uint8Array(this.blockSize);if(p.length>this.blockSize)new n().update(p).finish(h).clean();else for(var f=0;f<p.length;f++)h[f]=p[f];for(var f=0;f<h.length;f++)h[f]^=54;this.inner.update(h);for(var f=0;f<h.length;f++)h[f]^=106;this.outer.update(h),this.istate=new Uint32Array(8),this.ostate=new Uint32Array(8),this.inner._saveState(this.istate),this.outer._saveState(this.ostate);for(var f=0;f<h.length;f++)h[f]=0}return d.prototype.reset=function(){return this.inner._restoreState(this.istate,this.inner.blockSize),this.outer._restoreState(this.ostate,this.outer.blockSize),this},d.prototype.clean=function(){for(var p=0;p<this.istate.length;p++)this.ostate[p]=this.istate[p]=0;this.inner.clean(),this.outer.clean()},d.prototype.update=function(p){return this.inner.update(p),this},d.prototype.finish=function(p){return this.outer.finished?this.outer.finish(p):(this.inner.finish(p),this.outer.update(p,this.digestLength).finish(p)),this},d.prototype.digest=function(){var p=new Uint8Array(this.digestLength);return this.finish(p),p},d})();e.HMAC=i;function o(d){var p=new n().update(d),h=p.digest();return p.clean(),h}e.hash=o,e.default=o;function s(d,p){var h=new i(d).update(p),f=h.digest();return h.clean(),f}e.hmac=s;function a(d,p,h,f){var m=f[0];if(m===0)throw new Error("hkdf: cannot expand more");p.reset(),m>1&&p.update(d),h&&p.update(h),p.update(f),p.finish(d),f[0]++}var l=new Uint8Array(e.digestLength);function c(d,p,h,f){p===void 0&&(p=l),f===void 0&&(f=32);for(var m=new Uint8Array([1]),g=s(p,d),w=new i(g),S=new Uint8Array(w.digestLength),y=S.length,v=new Uint8Array(f),C=0;C<f;C++)y===S.length&&(a(S,w,h,m),y=0),v[C]=S[y++];return w.clean(),S.fill(0),m.fill(0),v}e.hkdf=c;function u(d,p,h,f){for(var m=new i(d),g=m.digestLength,w=new Uint8Array(4),S=new Uint8Array(g),y=new Uint8Array(g),v=new Uint8Array(f),C=0;C*g<f;C++){var M=C+1;w[0]=M>>>24&255,w[1]=M>>>16&255,w[2]=M>>>8&255,w[3]=M>>>0&255,m.reset(),m.update(p),m.update(w),m.finish(y);for(var R=0;R<g;R++)S[R]=y[R];for(var R=2;R<=h;R++){m.reset(),m.update(y).finish(y);for(var E=0;E<g;E++)S[E]^=y[E]}for(var R=0;R<g&&C*g+R<f;R++)v[C*g+R]=S[R]}for(var C=0;C<g;C++)S[C]=y[C]=0;for(var C=0;C<4;C++)w[C]=0;return m.clean(),v}e.pbkdf2=u})});var wl=qr(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.Webhook=Kr.WebhookVerificationError=void 0;var eE=Vf(),qf=Hf(),tE=Gf(),Kf=300,bl=class e extends Error{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype),this.name="ExtendableError",this.stack=new Error(t).stack}},nr=class e extends bl{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype),this.name="WebhookVerificationError"}};Kr.WebhookVerificationError=nr;var po=class e{constructor(t,r){if(!t)throw new Error("Secret can't be empty.");if(r?.format==="raw")t instanceof Uint8Array?this.key=t:this.key=Uint8Array.from(t,n=>n.charCodeAt(0));else{if(typeof t!="string")throw new Error("Expected secret to be of type string");t.startsWith(e.prefix)&&(t=t.substring(e.prefix.length)),this.key=qf.decode(t)}}verify(t,r){let n={};for(let p of Object.keys(r))n[p.toLowerCase()]=r[p];let i=n["webhook-id"],o=n["webhook-signature"],s=n["webhook-timestamp"];if(!o||!i||!s)throw new nr("Missing required headers");let a=this.verifyTimestamp(s),c=this.sign(i,a,t).split(",")[1],u=o.split(" "),d=new globalThis.TextEncoder;for(let p of u){let[h,f]=p.split(",");if(h==="v1"&&(0,eE.timingSafeEqual)(d.encode(f),d.encode(c)))return JSON.parse(t.toString())}throw new nr("No matching signature found")}sign(t,r,n){if(typeof n!="string")if(n.constructor.name==="Buffer")n=n.toString();else throw new Error("Expected payload to be of type string or Buffer.");let i=new TextEncoder,o=Math.floor(r.getTime()/1e3),s=i.encode(`${t}.${o}.${n}`);return`v1,${qf.encode(tE.hmac(this.key,s))}`}verifyTimestamp(t){let r=Math.floor(Date.now()/1e3),n=parseInt(t,10);if(isNaN(n))throw new nr("Invalid Signature Headers");if(r-n>Kf)throw new nr("Message timestamp too old");if(n>r+Kf)throw new nr("Message timestamp too new");return new Date(n*1e3)}};Kr.Webhook=po;po.prefix="whsec_"});var Sm=qr((sc,wm)=>{"use strict";var{hasOwnProperty:Qn}=Object.prototype,Nr=oc();Nr.configure=oc;Nr.stringify=Nr;Nr.default=Nr;sc.stringify=Nr;sc.configure=oc;wm.exports=Nr;var QI=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]/;function ur(e){return e.length<5e3&&!QI.test(e)?`"${e}"`:JSON.stringify(e)}function nc(e,t){if(e.length>200||t)return e.sort(t);for(let r=1;r<e.length;r++){let n=e[r],i=r;for(;i!==0&&e[i-1]>n;)e[i]=e[i-1],i--;e[i]=n}return e}var eA=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function ic(e){return eA.call(e)!==void 0&&e.length!==0}function ym(e,t,r){e.length<r&&(r=e.length);let n=t===","?"":" ",i=`"0":${n}${e[0]}`;for(let o=1;o<r;o++)i+=`${t}"${o}":${n}${e[o]}`;return i}function tA(e){if(Qn.call(e,"circularValue")){let t=e.circularValue;if(typeof t=="string")return`"${t}"`;if(t==null)return t;if(t===Error||t===TypeError)return{toString(){throw new TypeError("Converting circular structure to JSON")}};throw new TypeError('The "circularValue" argument must be of type string or the value null or undefined')}return'"[Circular]"'}function rA(e){let t;if(Qn.call(e,"deterministic")&&(t=e.deterministic,typeof t!="boolean"&&typeof t!="function"))throw new TypeError('The "deterministic" argument must be of type boolean or comparator function');return t===void 0?!0:t}function nA(e,t){let r;if(Qn.call(e,t)&&(r=e[t],typeof r!="boolean"))throw new TypeError(`The "${t}" argument must be of type boolean`);return r===void 0?!0:r}function bm(e,t){let r;if(Qn.call(e,t)){if(r=e[t],typeof r!="number")throw new TypeError(`The "${t}" argument must be of type number`);if(!Number.isInteger(r))throw new TypeError(`The "${t}" argument must be an integer`);if(r<1)throw new RangeError(`The "${t}" argument must be >= 1`)}return r===void 0?1/0:r}function Mr(e){return e===1?"1 item":`${e} items`}function iA(e){let t=new Set;for(let r of e)(typeof r=="string"||typeof r=="number")&&t.add(String(r));return t}function oA(e){if(Qn.call(e,"strict")){let t=e.strict;if(typeof t!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(t)return r=>{let n=`Object can not safely be stringified. Received type ${typeof r}`;throw typeof r!="function"&&(n+=` (${r.toString()})`),new Error(n)}}}function oc(e){e={...e};let t=oA(e);t&&(e.bigint===void 0&&(e.bigint=!1),"circularValue"in e||(e.circularValue=Error));let r=tA(e),n=nA(e,"bigint"),i=rA(e),o=typeof i=="function"?i:void 0,s=bm(e,"maximumDepth"),a=bm(e,"maximumBreadth");function l(h,f,m,g,w,S){let y=f[h];switch(typeof y=="object"&&y!==null&&typeof y.toJSON=="function"&&(y=y.toJSON(h)),y=g.call(f,h,y),typeof y){case"string":return ur(y);case"object":{if(y===null)return"null";if(m.indexOf(y)!==-1)return r;let v="",C=",",M=S;if(Array.isArray(y)){if(y.length===0)return"[]";if(s<m.length+1)return'"[Array]"';m.push(y),w!==""&&(S+=w,v+=`
3
3
  ${S}`,C=`,
4
- ${S}`);let Q=Math.min(y.length,a),j=0;for(;j<Q-1;j++){let xt=l(String(j),y,m,g,w,S);v+=xt!==void 0?xt:"null",v+=C}let ze=l(String(j),y,m,g,w,S);if(v+=ze!==void 0?ze:"null",y.length-1>a){let xt=y.length-a-1;v+=`${C}"... ${Tr(xt)} not stringified"`}return w!==""&&(v+=`
4
+ ${S}`);let Q=Math.min(y.length,a),F=0;for(;F<Q-1;F++){let Ct=l(String(F),y,m,g,w,S);v+=Ct!==void 0?Ct:"null",v+=C}let Ge=l(String(F),y,m,g,w,S);if(v+=Ge!==void 0?Ge:"null",y.length-1>a){let Ct=y.length-a-1;v+=`${C}"... ${Mr(Ct)} not stringified"`}return w!==""&&(v+=`
5
5
  ${M}`),m.pop(),`[${v}]`}let R=Object.keys(y),E=R.length;if(E===0)return"{}";if(s<m.length+1)return'"[Object]"';let x="",U="";w!==""&&(S+=w,C=`,
6
- ${S}`,x=" ");let X=Math.min(E,a);i&&!ec(y)&&(R=Ql(R,o)),m.push(y);for(let Q=0;Q<X;Q++){let j=R[Q],ze=l(j,y,m,g,w,S);ze!==void 0&&(v+=`${U}${lr(j)}:${x}${ze}`,U=C)}if(E>a){let Q=E-a;v+=`${U}"...":${x}"${Tr(Q)} not stringified"`,U=C}return w!==""&&U.length>1&&(v=`
6
+ ${S}`,x=" ");let X=Math.min(E,a);i&&!ic(y)&&(R=nc(R,o)),m.push(y);for(let Q=0;Q<X;Q++){let F=R[Q],Ge=l(F,y,m,g,w,S);Ge!==void 0&&(v+=`${U}${ur(F)}:${x}${Ge}`,U=C)}if(E>a){let Q=E-a;v+=`${U}"...":${x}"${Mr(Q)} not stringified"`,U=C}return w!==""&&U.length>1&&(v=`
7
7
  ${S}${v}
8
- ${M}`),m.pop(),`{${v}}`}case"number":return isFinite(y)?String(y):t?t(y):"null";case"boolean":return y===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(y);default:return t?t(y):void 0}}function c(h,f,m,g,w,S){switch(typeof f=="object"&&f!==null&&typeof f.toJSON=="function"&&(f=f.toJSON(h)),typeof f){case"string":return lr(f);case"object":{if(f===null)return"null";if(m.indexOf(f)!==-1)return r;let y=S,v="",C=",";if(Array.isArray(f)){if(f.length===0)return"[]";if(s<m.length+1)return'"[Array]"';m.push(f),w!==""&&(S+=w,v+=`
8
+ ${M}`),m.pop(),`{${v}}`}case"number":return isFinite(y)?String(y):t?t(y):"null";case"boolean":return y===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(y);default:return t?t(y):void 0}}function c(h,f,m,g,w,S){switch(typeof f=="object"&&f!==null&&typeof f.toJSON=="function"&&(f=f.toJSON(h)),typeof f){case"string":return ur(f);case"object":{if(f===null)return"null";if(m.indexOf(f)!==-1)return r;let y=S,v="",C=",";if(Array.isArray(f)){if(f.length===0)return"[]";if(s<m.length+1)return'"[Array]"';m.push(f),w!==""&&(S+=w,v+=`
9
9
  ${S}`,C=`,
10
- ${S}`);let E=Math.min(f.length,a),x=0;for(;x<E-1;x++){let X=c(String(x),f[x],m,g,w,S);v+=X!==void 0?X:"null",v+=C}let U=c(String(x),f[x],m,g,w,S);if(v+=U!==void 0?U:"null",f.length-1>a){let X=f.length-a-1;v+=`${C}"... ${Tr(X)} not stringified"`}return w!==""&&(v+=`
10
+ ${S}`);let E=Math.min(f.length,a),x=0;for(;x<E-1;x++){let X=c(String(x),f[x],m,g,w,S);v+=X!==void 0?X:"null",v+=C}let U=c(String(x),f[x],m,g,w,S);if(v+=U!==void 0?U:"null",f.length-1>a){let X=f.length-a-1;v+=`${C}"... ${Mr(X)} not stringified"`}return w!==""&&(v+=`
11
11
  ${y}`),m.pop(),`[${v}]`}m.push(f);let M="";w!==""&&(S+=w,C=`,
12
- ${S}`,M=" ");let R="";for(let E of g){let x=c(E,f[E],m,g,w,S);x!==void 0&&(v+=`${R}${lr(E)}:${M}${x}`,R=C)}return w!==""&&R.length>1&&(v=`
12
+ ${S}`,M=" ");let R="";for(let E of g){let x=c(E,f[E],m,g,w,S);x!==void 0&&(v+=`${R}${ur(E)}:${M}${x}`,R=C)}return w!==""&&R.length>1&&(v=`
13
13
  ${S}${v}
14
- ${y}`),m.pop(),`{${v}}`}case"number":return isFinite(f)?String(f):t?t(f):"null";case"boolean":return f===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(f);default:return t?t(f):void 0}}function u(h,f,m,g,w){switch(typeof f){case"string":return lr(f);case"object":{if(f===null)return"null";if(typeof f.toJSON=="function"){if(f=f.toJSON(h),typeof f!="object")return u(h,f,m,g,w);if(f===null)return"null"}if(m.indexOf(f)!==-1)return r;let S=w;if(Array.isArray(f)){if(f.length===0)return"[]";if(s<m.length+1)return'"[Array]"';m.push(f),w+=g;let x=`
14
+ ${y}`),m.pop(),`{${v}}`}case"number":return isFinite(f)?String(f):t?t(f):"null";case"boolean":return f===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(f);default:return t?t(f):void 0}}function u(h,f,m,g,w){switch(typeof f){case"string":return ur(f);case"object":{if(f===null)return"null";if(typeof f.toJSON=="function"){if(f=f.toJSON(h),typeof f!="object")return u(h,f,m,g,w);if(f===null)return"null"}if(m.indexOf(f)!==-1)return r;let S=w;if(Array.isArray(f)){if(f.length===0)return"[]";if(s<m.length+1)return'"[Array]"';m.push(f),w+=g;let x=`
15
15
  ${w}`,U=`,
16
- ${w}`,X=Math.min(f.length,a),Q=0;for(;Q<X-1;Q++){let ze=u(String(Q),f[Q],m,g,w);x+=ze!==void 0?ze:"null",x+=U}let j=u(String(Q),f[Q],m,g,w);if(x+=j!==void 0?j:"null",f.length-1>a){let ze=f.length-a-1;x+=`${U}"... ${Tr(ze)} not stringified"`}return x+=`
16
+ ${w}`,X=Math.min(f.length,a),Q=0;for(;Q<X-1;Q++){let Ge=u(String(Q),f[Q],m,g,w);x+=Ge!==void 0?Ge:"null",x+=U}let F=u(String(Q),f[Q],m,g,w);if(x+=F!==void 0?F:"null",f.length-1>a){let Ge=f.length-a-1;x+=`${U}"... ${Mr(Ge)} not stringified"`}return x+=`
17
17
  ${S}`,m.pop(),`[${x}]`}let y=Object.keys(f),v=y.length;if(v===0)return"{}";if(s<m.length+1)return'"[Object]"';w+=g;let C=`,
18
- ${w}`,M="",R="",E=Math.min(v,a);ec(f)&&(M+=dm(f,C,a),y=y.slice(f.length),E-=f.length,R=C),i&&(y=Ql(y,o)),m.push(f);for(let x=0;x<E;x++){let U=y[x],X=u(U,f[U],m,g,w);X!==void 0&&(M+=`${R}${lr(U)}: ${X}`,R=C)}if(v>a){let x=v-a;M+=`${R}"...": "${Tr(x)} not stringified"`,R=C}return R!==""&&(M=`
18
+ ${w}`,M="",R="",E=Math.min(v,a);ic(f)&&(M+=ym(f,C,a),y=y.slice(f.length),E-=f.length,R=C),i&&(y=nc(y,o)),m.push(f);for(let x=0;x<E;x++){let U=y[x],X=u(U,f[U],m,g,w);X!==void 0&&(M+=`${R}${ur(U)}: ${X}`,R=C)}if(v>a){let x=v-a;M+=`${R}"...": "${Mr(x)} not stringified"`,R=C}return R!==""&&(M=`
19
19
  ${w}${M}
20
- ${S}`),m.pop(),`{${M}}`}case"number":return isFinite(f)?String(f):t?t(f):"null";case"boolean":return f===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(f);default:return t?t(f):void 0}}function d(h,f,m){switch(typeof f){case"string":return lr(f);case"object":{if(f===null)return"null";if(typeof f.toJSON=="function"){if(f=f.toJSON(h),typeof f!="object")return d(h,f,m);if(f===null)return"null"}if(m.indexOf(f)!==-1)return r;let g="",w=f.length!==void 0;if(w&&Array.isArray(f)){if(f.length===0)return"[]";if(s<m.length+1)return'"[Array]"';m.push(f);let M=Math.min(f.length,a),R=0;for(;R<M-1;R++){let x=d(String(R),f[R],m);g+=x!==void 0?x:"null",g+=","}let E=d(String(R),f[R],m);if(g+=E!==void 0?E:"null",f.length-1>a){let x=f.length-a-1;g+=`,"... ${Tr(x)} not stringified"`}return m.pop(),`[${g}]`}let S=Object.keys(f),y=S.length;if(y===0)return"{}";if(s<m.length+1)return'"[Object]"';let v="",C=Math.min(y,a);w&&ec(f)&&(g+=dm(f,",",a),S=S.slice(f.length),C-=f.length,v=","),i&&(S=Ql(S,o)),m.push(f);for(let M=0;M<C;M++){let R=S[M],E=d(R,f[R],m);E!==void 0&&(g+=`${v}${lr(R)}:${E}`,v=",")}if(y>a){let M=y-a;g+=`${v}"...":"${Tr(M)} not stringified"`}return m.pop(),`{${g}}`}case"number":return isFinite(f)?String(f):t?t(f):"null";case"boolean":return f===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(f);default:return t?t(f):void 0}}function p(h,f,m){if(arguments.length>1){let g="";if(typeof m=="number"?g=" ".repeat(Math.min(m,10)):typeof m=="string"&&(g=m.slice(0,10)),f!=null){if(typeof f=="function")return l("",{"":h},[],f,g,"");if(Array.isArray(f))return c("",h,[],LI(f),g,"")}if(g.length!==0)return u("",h,[],g,"")}return d("",h,[])}return p}});var Og=zr(($Y,qc)=>{"use strict";var zo=process||{},Pg=zo.argv||[],Ho=zo.env||{},WT=!(Ho.NO_COLOR||Pg.includes("--no-color"))&&(!!Ho.FORCE_COLOR||Pg.includes("--color")||zo.platform==="win32"||(zo.stdout||{}).isTTY&&Ho.TERM!=="dumb"||!!Ho.CI),HT=(e,t,r=e)=>n=>{let i=""+n,o=i.indexOf(t,e.length);return~o?e+zT(i,t,r,o)+t:e+i+t},zT=(e,t,r,n)=>{let i="",o=0;do i+=e.substring(o,n)+r,o=n+t.length,n=e.indexOf(t,o);while(~n);return i+e.substring(o)},Tg=(e=WT)=>{let t=e?HT:()=>String;return{isColorSupported:e,reset:t("\x1B[0m","\x1B[0m"),bold:t("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:t("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:t("\x1B[3m","\x1B[23m"),underline:t("\x1B[4m","\x1B[24m"),inverse:t("\x1B[7m","\x1B[27m"),hidden:t("\x1B[8m","\x1B[28m"),strikethrough:t("\x1B[9m","\x1B[29m"),black:t("\x1B[30m","\x1B[39m"),red:t("\x1B[31m","\x1B[39m"),green:t("\x1B[32m","\x1B[39m"),yellow:t("\x1B[33m","\x1B[39m"),blue:t("\x1B[34m","\x1B[39m"),magenta:t("\x1B[35m","\x1B[39m"),cyan:t("\x1B[36m","\x1B[39m"),white:t("\x1B[37m","\x1B[39m"),gray:t("\x1B[90m","\x1B[39m"),bgBlack:t("\x1B[40m","\x1B[49m"),bgRed:t("\x1B[41m","\x1B[49m"),bgGreen:t("\x1B[42m","\x1B[49m"),bgYellow:t("\x1B[43m","\x1B[49m"),bgBlue:t("\x1B[44m","\x1B[49m"),bgMagenta:t("\x1B[45m","\x1B[49m"),bgCyan:t("\x1B[46m","\x1B[49m"),bgWhite:t("\x1B[47m","\x1B[49m"),blackBright:t("\x1B[90m","\x1B[39m"),redBright:t("\x1B[91m","\x1B[39m"),greenBright:t("\x1B[92m","\x1B[39m"),yellowBright:t("\x1B[93m","\x1B[39m"),blueBright:t("\x1B[94m","\x1B[39m"),magentaBright:t("\x1B[95m","\x1B[39m"),cyanBright:t("\x1B[96m","\x1B[39m"),whiteBright:t("\x1B[97m","\x1B[39m"),bgBlackBright:t("\x1B[100m","\x1B[49m"),bgRedBright:t("\x1B[101m","\x1B[49m"),bgGreenBright:t("\x1B[102m","\x1B[49m"),bgYellowBright:t("\x1B[103m","\x1B[49m"),bgBlueBright:t("\x1B[104m","\x1B[49m"),bgMagentaBright:t("\x1B[105m","\x1B[49m"),bgCyanBright:t("\x1B[106m","\x1B[49m"),bgWhiteBright:t("\x1B[107m","\x1B[49m")}};qc.exports=Tg();qc.exports.createColors=Tg});import{execFileSync as QC}from"child_process";import eR from"fs";import no from"path";function al(e){let t=rR(e);return t??Pf(e)}function Pf(e){let t=no.dirname(e);return tR(no.join(e,".ripplo"))?e:t===e?null:Pf(t)}function tR(e){try{return eR.statSync(e).isDirectory()}catch{return!1}}function rR(e){let t=nR(["rev-parse","--show-toplevel"],e);if(t==null)return null;let r=t.trim();return r.length===0?null:no.isAbsolute(r)?r:no.resolve(e,r)}function nR(e,t){try{return QC("git",e,{cwd:t,encoding:"utf8",stdio:["ignore","pipe","ignore"]})}catch{return null}}import{readdir as oR,rm as sR,stat as aR}from"fs/promises";import Mf from"path";import iR from"pino";var F=iR({level:process.env.LOG_LEVEL??"info",transport:{options:{ignore:"pid,hostname"},target:"pino-pretty"}});var Tf=Mf.join(process.cwd(),".ripplo","debug"),Of=360*60*1e3;async function io({maxRuns:e}){try{let r=(await oR(Tf,{withFileTypes:!0})).filter(c=>c.isDirectory()),n=Date.now(),i=await Promise.all(r.map(async c=>{let u=Mf.join(Tf,c.name),d=await aR(u);return{dirPath:u,mtime:d.mtimeMs}})),o=i.filter(c=>n-c.mtime>Of),a=i.filter(c=>n-c.mtime<=Of).toSorted((c,u)=>u.mtime-c.mtime).slice(e),l=[...o,...a];if(l.length===0)return;await Promise.allSettled(l.map(c=>sR(c.dirPath,{force:!0,recursive:!0}))),F.debug("Pruned %d old debug run(s)",l.length)}catch{F.warn("Debug run pruning failed, ignoring")}}import{print as lR}from"graphql";var cR=15e3,Dn=class extends Error{errors;constructor(t){super(t.map(r=>r.message).join(", ")),this.name="GqlRequestError",this.errors=t}};function _n(e){if(e instanceof Dn)return e.errors[0]?.extensions?.code}async function D(e){let t=lR(e.document),r=JSON.stringify({query:t,variables:e.variables}),n=`${e.config.ripploServerUrl}/graphql`,i;try{i=await fetch(n,{body:r,headers:{Authorization:`Bearer ${e.config.token}`,"Content-Type":"application/json"},method:"POST",signal:AbortSignal.timeout(cR)})}catch(s){let a=s instanceof Error?s.message:String(s);throw new Error(`Failed to connect to Ripplo server at ${e.config.ripploServerUrl}. Check the server is running and reachable. Details: ${a}`)}let o=await uR({res:i,url:n});if(!dR(o))throw new Error("Invalid GraphQL response");if(pR(o))throw new Dn(o.errors);if(o.data==null)throw new Error("No data returned from server");return o.data}async function uR({res:e,url:t}){let r=await e.text();if(r.length===0)throw new Error(`Empty response from Ripplo server at ${t} (status ${String(e.status)}). The server may have restarted or the request was rejected before a body was sent.`);try{return JSON.parse(r)}catch{throw new Error(`Non-JSON response from Ripplo server at ${t} (status ${String(e.status)}): ${r.slice(0,200)}`)}}function dR(e){return typeof e=="object"&&e!=null&&("data"in e||"errors"in e)}function pR(e){return Array.isArray(e.errors)&&e.errors.length>0}import Vn from"fs";import Pr from"fs";import fR from"os";import jn from"path";var hR=".local",mR=".ripplo";function ll(e){return jn.join(e,".ripplo",hR)}function Ot(e){let t=ll(e);Pr.existsSync(t)||Pr.mkdirSync(t,{recursive:!0});let r=jn.join(t,".gitignore");return Pr.existsSync(r)||Pr.writeFileSync(r,`*
21
- `),t}function Qt(e,t){return jn.join(ll(e),t)}function cl(){return jn.join(fR.homedir(),mR)}function Fn(){let e=cl();return Pr.existsSync(e)?Pr.chmodSync(e,448):Pr.mkdirSync(e,{mode:448,recursive:!0}),e}function Ct(e){return jn.join(cl(),e)}function lt(){let e=process.env.RIPPLO_TOKEN;if(e!=null&&e.trim().length>0)return e.trim();let t=Ct("token");if(!Vn.existsSync(t))return null;let r=Vn.readFileSync(t,"utf8").trim();return r.length===0?null:r}function ul(e){Fn(),Vn.writeFileSync(Ct("token"),e+`
22
- `,{mode:384})}function dl(){let e=Ct("token");return Vn.existsSync(e)?(Vn.unlinkSync(e),!0):!1}import{Agent as gR,RetryAgent as yR,setGlobalDispatcher as bR}from"undici";var wR=1500,SR=4e3,vR=3,xR=50,kR=100,Nf=!1;function pl(){if(Nf)return;Nf=!0;let e=new gR({connections:kR,keepAliveMaxTimeout:SR,keepAliveTimeout:wR}),t=new yR(e,{errorCodes:["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT","UND_ERR_REQ_CONTENT_LENGTH_MISMATCH","UND_ERR_SOCKET"],maxRetries:vR,methods:["GET","POST","HEAD","OPTIONS","PUT","DELETE"],minTimeout:xR});bR(t)}var Hf=ro(ml(),1);import Wf from"crypto";function gl({body:e,secret:t}){let r=new Hf.Webhook(t),n=`msg_${Wf.randomUUID()}`,i=new Date,o=r.sign(n,i,e),s=Math.floor(i.getTime()/1e3);return{"webhook-id":n,"webhook-signature":o,"webhook-timestamp":String(s)}}function yl(){return`whsec_${Wf.randomBytes(24).toString("base64")}`}import Kf from"fs";import fo from"path";import{config as DR}from"dotenv";import{z as uo}from"zod";import{err as _R,ok as Yf}from"neverthrow";import co from"fs";import Sl from"path";import{err as bl,ok as zf}from"neverthrow";import{z as lo}from"zod";var MR=Sl.join(".ripplo","project.json"),wl=[".env",".env.local"],NR=lo.object({envFiles:lo.array(lo.string().min(1)).optional(),projectId:lo.string().min(1)});function Gf(e){return Sl.join(e,MR)}function vl(e){let t=Gf(e);return co.existsSync(t)?LR(t).andThen(r=>{let n=NR.safeParse(r);return n.success?zf({envFiles:n.data.envFiles??wl,projectId:n.data.projectId}):bl({issues:n.error.issues.map(i=>`${i.path.join(".")}: ${i.message}`),kind:"project-file-invalid",path:t})}):bl({kind:"project-file-missing",path:t})}function xl(e){return vl(e).match(t=>t,()=>{})}function LR(e){try{return zf(JSON.parse(co.readFileSync(e,"utf8")))}catch(t){return bl({issues:[t instanceof Error?t.message:String(t)],kind:"project-file-invalid",path:e})}}function qf({cwd:e,envFiles:t,projectId:r}){let n=Gf(e);co.mkdirSync(Sl.dirname(n),{recursive:!0});let i={projectId:r};t!=null&&!$R(t)&&(i.envFiles=[...t]),co.writeFileSync(n,JSON.stringify(i,null,2)+`
23
- `)}function $R(e){return e.length!==wl.length?!1:e.every((t,r)=>t===wl[r])}function qr(e){let r=xl(e)?.envFiles??[".env",".env.local"],n=fo.join(e,".ripplo");r.forEach(i=>{let o=fo.resolve(n,i);Kf.existsSync(o)&&DR({override:!0,path:o,quiet:!0})}),po=void 0}var jR=uo.object({RIPPLO_APP_URL:uo.url(),RIPPLO_ENGINE_URL:uo.url(),RIPPLO_WEBHOOK_SECRET:uo.string().min(1)}),po;function Kr(){return po!=null?Yf(po):FR().map(e=>(po=e,e))}function kl(e){let r=xl(e)?.envFiles??[],n=fo.join(e,".ripplo");return r.map(i=>fo.resolve(n,i)).filter(i=>!Kf.existsSync(i))}function FR(){let e=jR.safeParse(process.env);if(!e.success)return _R({issues:e.error.issues.map(r=>`${r.path.join(".")}: ${r.message}`),kind:"env-invalid",missingEnvFiles:kl(process.cwd())});let t=e.data;return Yf({appUrl:t.RIPPLO_APP_URL,engineUrl:t.RIPPLO_ENGINE_URL,webhookSecret:t.RIPPLO_WEBHOOK_SECRET})}import QW from"yargs";import{hideBin as eH}from"yargs/helpers";import{readFileSync as VR}from"fs";import{z as Jf}from"zod";var BR=Jf.object({version:Jf.string()});function Zf(){let e=VR(new URL("../package.json",import.meta.url),"utf8");return BR.parse(JSON.parse(e)).version}var ho=class extends Error{failure;constructor(t){super(t.kind),this.name="CliError",this.failure=t}};import Ul from"fs";import ko from"path";import{createJiti as dE}from"jiti";import{err as Co,ok as gh}from"neverthrow";import{z as I}from"zod";var Cl=I.enum(["fast","slow","async"]),Yr=I.object({ref:I.string().min(1)}),tr=I.union([I.string(),I.number(),I.boolean()]),Rl=I.object({template:I.array(I.union([I.string(),Yr])).min(1)}),Xe=I.union([Yr,tr,Rl,I.null()]),Xf=I.object({kind:I.literal("changed")}),El=I.union([Xe,Xf]),Mt=I.union([I.string(),Yr,Rl]),UR=I.object({by:I.literal("role"),name:I.union([Mt,I.undefined()]).optional().transform(e=>e),role:I.string().min(1)}),WR=I.object({by:I.literal("testId"),value:Mt}),HR=I.object({by:I.literal("inside"),scope:I.lazy(()=>Pe),target:I.lazy(()=>Pe)}),Pe=I.discriminatedUnion("by",[UR,WR,HR]),mo=I.enum(["string","number","boolean"]),Il=I.enum(["strict","eventual"]),zR=I.object({kind:I.literal("string"),maxLength:I.number().int().positive().optional(),minLength:I.number().int().nonnegative().optional(),pattern:I.string().optional()}),GR=I.object({kind:I.literal("number"),max:I.number().int().optional(),min:I.number().int().optional()}),qR=I.object({kind:I.literal("datetime"),maxOffsetDays:I.number().int(),minOffsetDays:I.number().int()}),Qf=I.discriminatedUnion("kind",[zR,GR,qR]),eh=I.enum(["company.name","date.iso","internet.email","internet.url","person.fullName","lorem.slug","lorem.word"]),Al=I.object({constraints:Qf.optional(),generator:eh,name:I.string().min(1),type:mo,values:I.array(tr).min(1).optional()}),th=I.object({consistency:Il.default("strict"),optional:I.boolean(),stable:I.boolean(),type:mo,valueSpace:I.string().min(1).optional()}),Pl=I.enum(["backend","client"]),Tl=I.object({description:I.string().optional(),identity:I.array(I.string().min(1)).min(1),identityKind:I.enum(["surrogate","natural"]),name:I.string().min(1),props:I.record(I.string().min(1),th),source:Pl.default("backend")}),Ol=I.object({consistency:Il.default("strict"),default:tr,description:I.string().optional(),name:I.string().min(1),source:Pl.default("backend"),type:mo,valueSpace:I.string().min(1).optional()}),Nt=I.enum(["url","title","viewport"]);import{z as P}from"zod";var KR=P.discriminatedUnion("kind",[P.object({as:P.string().min(1),kind:P.literal("created"),props:P.record(P.string().min(1),Xe)}),P.object({as:P.string().min(1),kind:P.literal("updated"),props:P.record(P.string().min(1),El)}),P.object({kind:P.literal("deleted")})]),YR=P.object({kind:P.literal("is"),value:Xe}),rh=P.lazy(()=>P.union([Xe,ZR])),JR=P.object({entity:P.string().min(1),where:P.record(P.string().min(1),rh)}),ZR=P.object({field:P.string().min(1),kind:P.literal("within"),selection:JR}),Lt=P.union([Cl,P.undefined()]).optional().transform(e=>e),rr=P.lazy(()=>P.discriminatedUnion("kind",[P.object({kind:P.literal("visible"),locator:Pe,wait:Lt}),P.object({kind:P.literal("disabled"),locator:Pe,wait:Lt}),P.object({kind:P.literal("enabled"),locator:Pe,wait:Lt}),P.object({kind:P.literal("focused"),locator:Pe,wait:Lt}),P.object({kind:P.literal("value"),locator:Pe,value:Mt,wait:Lt}),P.object({kind:P.literal("text"),locator:Pe,value:Mt,wait:Lt}),P.object({assertion:YR,kind:P.literal("singleton"),singleton:P.string().min(1),wait:Lt}),P.object({kind:P.literal("browser"),name:Nt,value:Mt,wait:Lt}),P.object({assertion:KR,entity:P.string().min(1),key:P.record(P.string().min(1),rh),kind:P.literal("state"),wait:Lt}),P.object({kind:P.literal("not"),predicate:rr}),P.object({kind:P.literal("and"),predicates:P.array(rr)}),P.object({entity:P.string().min(1),kind:P.literal("count"),value:P.number().int().nonnegative()}),P.object({condition:rr,consequence:rr,kind:P.literal("when"),otherwise:P.union([rr,P.undefined()]).optional().transform(e=>e)})]));import{z as go}from"zod";var XR=go.object({__codec:go.string().min(1),data:go.unknown(),version:go.number().int().positive()}),yo=class extends Error{codec;currentVersion;gotVersion;constructor(t){super(`Unsupported ${t.codec} version ${String(t.gotVersion)} (current ${String(t.currentVersion)}). Upgrade Ripplo or rebuild with a compatible CLI.`),this.name="CodecVersionError",this.codec=t.codec,this.currentVersion=t.currentVersion,this.gotVersion=t.gotVersion}},bo=class extends Error{constructor(t){super(`Codec mismatch: expected "${t.expected}", got "${t.got}"`),this.name="CodecMismatchError"}};function Ml({name:e,schema:t}){return{currentVersion:1,name:e,decode:r=>QR({name:e,raw:r,schema:t}),encode:r=>({__codec:e,data:r,version:1})}}function $t(e,t){return JSON.stringify(e.encode(t))}function Nl(e,t){let r=JSON.parse(t);return e.decode(r)}function QR({name:e,raw:t,schema:r}){let n=XR.parse(t);if(n.__codec!==e)throw new bo({expected:e,got:n.__codec});if(n.version!==1)throw new yo({codec:e,currentVersion:1,gotVersion:n.version});return r.parse(n.data)}var wo="__ripplo__",Ll="__ripplo_seed__";import{z as A}from"zod";var nh=A.discriminatedUnion("kind",[A.object({kind:A.literal("goto"),url:Mt}),A.object({kind:A.literal("fill"),locator:Pe,value:Xe}),A.object({kind:A.literal("clear"),locator:Pe}),A.object({kind:A.literal("click"),locator:Pe}),A.object({kind:A.literal("dblclick"),locator:Pe}),A.object({kind:A.literal("select"),locator:Pe,value:Xe}),A.object({kind:A.literal("check"),locator:Pe}),A.object({kind:A.literal("uncheck"),locator:Pe}),A.object({kind:A.literal("hover"),locator:Pe}),A.object({files:A.array(A.string().min(1)).min(1),kind:A.literal("upload"),locator:Pe}),A.object({key:A.string().min(1),kind:A.literal("press"),locator:Pe.optional()})]),ih=A.object({action:nh,expect:A.array(rr).default([])}),oh=A.object({example:tr.optional(),valueSpace:A.string().min(1)}),$l=A.object({as:A.string().min(1),entity:A.string().min(1),set:A.record(A.string().min(1),Xe)}),sh=A.object({entity:A.string().min(1),where:A.record(A.string().min(1),Xe)}),ah=A.object({absent:A.array(sh).default([]),exclusive:A.array(A.string().min(1)).default([]),intent:A.string().min(1),maybe:A.array($l).default([]),name:A.string().min(1),params:A.record(A.string().min(1),oh),singletons:A.record(A.string().min(1),Xe).default({}),sourcePath:A.string().min(1).optional(),steps:A.array(ih).default([]),stub:A.boolean().default(!1),world:A.array($l).default([])}),lh=A.object({sha256:A.string().regex(/^[0-9a-f]{64}$/u),size:A.number().int().nonnegative()}),So=A.object({entities:A.array(Tl),fixtures:A.record(A.string().min(1),lh).default({}),singletons:A.array(Ol).default([]),tests:A.array(ah),valueSpaces:A.array(Al)}),pt=Ml({name:"ripplo-lockfile",schema:So});import{z as nr}from"zod";var ch=nr.object({index:nr.number().int().nonnegative(),kind:nr.string(),target:nr.string(),value:nr.string()}),eE=nr.object({steps:nr.array(ch),stub:nr.boolean().default(!1)});function Un(e,t){return{index:t,kind:e.action.kind,target:tE(e.action),value:rE(e.action)}}function Re(e){return e.toLowerCase().replaceAll(/[^a-z0-9]/g,"-").split("-").filter(t=>t.length>0).join("-")}function tE(e){return e.kind==="goto"?vo(e.url):e.kind==="press"&&e.locator==null?"":xo(e.locator)}function vo(e){return typeof e=="string"?e:"ref"in e?`{${e.ref}}`:e.template.map(t=>typeof t=="string"?t:`{${t.ref}}`).join("")}function xo(e){return e.by==="testId"?`testId=${vo(e.value)}`:e.by==="inside"?`${xo(e.scope)} \u25B8 ${xo(e.target)}`:`${e.role} ${e.name==null?"":vo(e.name)}`.trim()}function rE(e){return e.kind==="fill"||e.kind==="select"?nE(e.value):e.kind==="press"?e.key:""}function nE(e){return e==null?"":typeof e!="object"?String(e):vo(e)}import{z as Te}from"zod";var uh=Te.enum(["Strict","Lax","None"]),dh=Te.object({domain:Te.string().min(1),expires:Te.number(),httpOnly:Te.boolean(),name:Te.string().min(1),path:Te.string().min(1),sameSite:uh,secure:Te.boolean(),value:Te.string()}),ph=Te.object({localStorage:Te.array(Te.object({name:Te.string().min(1),value:Te.string()})),origin:Te.string().min(1)}),Dl=Te.object({cookies:Te.array(dh),headers:Te.record(Te.string().min(1),Te.string()).optional(),origins:Te.array(ph)});import{z as Y}from"zod";var _l=Y.union([tr,Y.null()]),jl=Y.record(Y.string().min(1),_l),fh=Y.object({as:Y.string().min(1),entity:Y.string().min(1),fields:Y.record(Y.string().min(1),Xe)}),iE=Y.object({entities:Y.array(fh),runId:Y.string().min(1),singletons:Y.record(Y.string().min(1),_l).default({})}),hh=Y.object({as:Y.string().min(1),row:jl,session:Dl.optional()}),Fl=Y.object({rows:Y.array(hh)}),oE=Y.object({entities:Y.array(Y.string().min(1)),runId:Y.string().min(1),singletons:Y.array(Y.string().min(1)).default([])}),Vl=Y.object({entities:Y.record(Y.string().min(1),Y.array(jl)),singletons:Y.record(Y.string().min(1),_l).default({})}),sE=Y.object({runId:Y.string().min(1)}),Bl=Y.object({ok:Y.literal(!0)});import aE from"fs";import Wn from"path";import Jr from"typescript";function mh(e){let t=Wn.join(e,"index.ts"),r=uE(e);aE.mkdirSync(Wn.dirname(r.tsBuildInfoFile??""),{recursive:!0});let n=Jr.createIncrementalCompilerHost(r),i=Jr.createIncrementalProgram({host:n,options:r,rootNames:[t]}),o=[...i.getSyntacticDiagnostics(),...i.getSemanticDiagnostics()];i.emit();let s=o.filter(c=>lE(c,e));if(s.length===0)return{diagnostics:[],ok:!0};let a={getCanonicalFileName:c=>c,getCurrentDirectory:()=>Wn.dirname(e),getNewLine:()=>`
24
- `};return{diagnostics:Jr.formatDiagnosticsWithColorAndContext(s,a).split(`
25
- `).filter(c=>c.length>0),ok:!1}}function lE(e,t){let r=e.file?.fileName;return r==null?!0:r.startsWith(t)}var cE=Wn.join(".local","tsbuildinfo");function uE(e){return{allowImportingTsExtensions:!0,allowJs:!1,esModuleInterop:!0,incremental:!0,module:Jr.ModuleKind.Preserve,moduleResolution:Jr.ModuleResolutionKind.Bundler,noEmit:!0,resolveJsonModule:!0,skipLibCheck:!0,strict:!1,target:Jr.ScriptTarget.ES2022,tsBuildInfoFile:Wn.join(e,cE)}}var Qe=".ripplo/ripplo.lock",Hn;async function yh(e){let{result:t}=await zn(e);return t}async function zn(e){let t=fE(ko.join(e,".ripplo"));if(Hn!=null&&Hn.fingerprint===t&&Hn.result.isOk())return{fingerprint:t,result:Hn.result};let r=await be(e);return Hn={fingerprint:t,result:r},{fingerprint:t,result:r}}async function be(e){let t=ko.join(e,".ripplo"),r=ko.join(t,"index.ts"),n=mh(t);return n.ok?(await hE(r)).andThen(o=>gE({entryPath:r,exported:o})):Co({diagnostics:n.diagnostics,kind:"typecheck-failed"})}var pE=new Set([".local","debug","node_modules"]);function fE(e){return bh(e).toSorted((t,r)=>t.localeCompare(r)).join("|")}function bh(e){return(Ul.existsSync(e)?Ul.readdirSync(e,{withFileTypes:!0}):[]).flatMap(r=>{if(pE.has(r.name))return[];let n=ko.join(e,r.name);if(r.isDirectory())return bh(n);let i=Ul.statSync(n);return[`${n}:${String(i.mtimeMs)}:${String(i.size)}`]})}async function hE(e){try{let r=await dE(import.meta.url,{fsCache:!1,moduleCache:!1,sourceMaps:!0}).import(e),n=r!=null&&typeof r=="object"&&"default"in r?Reflect.get(r,"default"):r;return gh(n)}catch(t){return Co({kind:"load-threw",message:mE(t)})}}function mE(e){return e instanceof Error?e.message:String(e)}function gE({entryPath:e,exported:t}){if(t==null||typeof t!="object"||!("lockfile"in t))return Co({entryPath:e,kind:"not-ripplo"});let r=So.safeParse(Reflect.get(t,"lockfile"));return r.success?gh(r.data):Co({issues:r.error.issues.map(n=>`${n.path.join(".")}: ${n.message}`),kind:"invalid-lockfile"})}function V(e,t){return t==null?`Load \`/ripplo:${e}\` skill for instructions.`:`Load \`/ripplo:${e}\` skill for instructions on ${t}.`}function wh(e){return e.length===1?V(e[0]):`REQUIRED before proceeding: load ${e.map(r=>`\`/ripplo:${r}\``).join(" AND ")} skills (load every one \u2014 each carries rules the others don't).`}function Oe(e){return[`Compilation failed: ${yE(e)}`,V("create","DSL authoring + lint rules")].join(`
26
- `)}function vh(){return`${Qe} is up to date`}function xh(e){return[`${Qe} is ${e==="missing"?"missing":"out of date"} \u2014 run \`ripplo compile\` and commit the result`,V("setup")].join(`
27
- `)}function kh(){return`wrote ${Qe}`}function yE(e){switch(e.kind){case"typecheck-failed":return["TypeScript errors in .ripplo/:",...Sh(e.diagnostics)].join(`
28
- `);case"not-ripplo":return`${e.entryPath} must default-export a Ripplo (createRipplo({ entities, invariants, singletons, tests })). Check that the default export is the value returned by createRipplo, not a function or a re-export.`;case"invalid-lockfile":return["Lockfile failed schema validation (stale or hand-edited .ripplo/ripplo.lock?):",...Sh(e.issues),"Regenerate with `npx ripplo compile` \u2014 never hand-edit the lockfile."].join(`
20
+ ${S}`),m.pop(),`{${M}}`}case"number":return isFinite(f)?String(f):t?t(f):"null";case"boolean":return f===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(f);default:return t?t(f):void 0}}function d(h,f,m){switch(typeof f){case"string":return ur(f);case"object":{if(f===null)return"null";if(typeof f.toJSON=="function"){if(f=f.toJSON(h),typeof f!="object")return d(h,f,m);if(f===null)return"null"}if(m.indexOf(f)!==-1)return r;let g="",w=f.length!==void 0;if(w&&Array.isArray(f)){if(f.length===0)return"[]";if(s<m.length+1)return'"[Array]"';m.push(f);let M=Math.min(f.length,a),R=0;for(;R<M-1;R++){let x=d(String(R),f[R],m);g+=x!==void 0?x:"null",g+=","}let E=d(String(R),f[R],m);if(g+=E!==void 0?E:"null",f.length-1>a){let x=f.length-a-1;g+=`,"... ${Mr(x)} not stringified"`}return m.pop(),`[${g}]`}let S=Object.keys(f),y=S.length;if(y===0)return"{}";if(s<m.length+1)return'"[Object]"';let v="",C=Math.min(y,a);w&&ic(f)&&(g+=ym(f,",",a),S=S.slice(f.length),C-=f.length,v=","),i&&(S=nc(S,o)),m.push(f);for(let M=0;M<C;M++){let R=S[M],E=d(R,f[R],m);E!==void 0&&(g+=`${v}${ur(R)}:${E}`,v=",")}if(y>a){let M=y-a;g+=`${v}"...":"${Mr(M)} not stringified"`}return m.pop(),`{${g}}`}case"number":return isFinite(f)?String(f):t?t(f):"null";case"boolean":return f===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(f);default:return t?t(f):void 0}}function p(h,f,m){if(arguments.length>1){let g="";if(typeof m=="number"?g=" ".repeat(Math.min(m,10)):typeof m=="string"&&(g=m.slice(0,10)),f!=null){if(typeof f=="function")return l("",{"":h},[],f,g,"");if(Array.isArray(f))return c("",h,[],iA(f),g,"")}if(g.length!==0)return u("",h,[],g,"")}return d("",h,[])}return p}});var _g=qr((zY,Zc)=>{"use strict";var Jo=process||{},$g=Jo.argv||[],Ko=Jo.env||{},fO=!(Ko.NO_COLOR||$g.includes("--no-color"))&&(!!Ko.FORCE_COLOR||$g.includes("--color")||Jo.platform==="win32"||(Jo.stdout||{}).isTTY&&Ko.TERM!=="dumb"||!!Ko.CI),hO=(e,t,r=e)=>n=>{let i=""+n,o=i.indexOf(t,e.length);return~o?e+mO(i,t,r,o)+t:e+i+t},mO=(e,t,r,n)=>{let i="",o=0;do i+=e.substring(o,n)+r,o=n+t.length,n=e.indexOf(t,o);while(~n);return i+e.substring(o)},Dg=(e=fO)=>{let t=e?hO:()=>String;return{isColorSupported:e,reset:t("\x1B[0m","\x1B[0m"),bold:t("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:t("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:t("\x1B[3m","\x1B[23m"),underline:t("\x1B[4m","\x1B[24m"),inverse:t("\x1B[7m","\x1B[27m"),hidden:t("\x1B[8m","\x1B[28m"),strikethrough:t("\x1B[9m","\x1B[29m"),black:t("\x1B[30m","\x1B[39m"),red:t("\x1B[31m","\x1B[39m"),green:t("\x1B[32m","\x1B[39m"),yellow:t("\x1B[33m","\x1B[39m"),blue:t("\x1B[34m","\x1B[39m"),magenta:t("\x1B[35m","\x1B[39m"),cyan:t("\x1B[36m","\x1B[39m"),white:t("\x1B[37m","\x1B[39m"),gray:t("\x1B[90m","\x1B[39m"),bgBlack:t("\x1B[40m","\x1B[49m"),bgRed:t("\x1B[41m","\x1B[49m"),bgGreen:t("\x1B[42m","\x1B[49m"),bgYellow:t("\x1B[43m","\x1B[49m"),bgBlue:t("\x1B[44m","\x1B[49m"),bgMagenta:t("\x1B[45m","\x1B[49m"),bgCyan:t("\x1B[46m","\x1B[49m"),bgWhite:t("\x1B[47m","\x1B[49m"),blackBright:t("\x1B[90m","\x1B[39m"),redBright:t("\x1B[91m","\x1B[39m"),greenBright:t("\x1B[92m","\x1B[39m"),yellowBright:t("\x1B[93m","\x1B[39m"),blueBright:t("\x1B[94m","\x1B[39m"),magentaBright:t("\x1B[95m","\x1B[39m"),cyanBright:t("\x1B[96m","\x1B[39m"),whiteBright:t("\x1B[97m","\x1B[39m"),bgBlackBright:t("\x1B[100m","\x1B[49m"),bgRedBright:t("\x1B[101m","\x1B[49m"),bgGreenBright:t("\x1B[102m","\x1B[49m"),bgYellowBright:t("\x1B[103m","\x1B[49m"),bgBlueBright:t("\x1B[104m","\x1B[49m"),bgMagentaBright:t("\x1B[105m","\x1B[49m"),bgCyanBright:t("\x1B[106m","\x1B[49m"),bgWhiteBright:t("\x1B[107m","\x1B[49m")}};Zc.exports=Dg();Zc.exports.createColors=Dg});import{execFileSync as kR}from"child_process";import CR from"fs";import ao from"path";function dl(e){let t=ER(e);return t??$f(e)}function $f(e){let t=ao.dirname(e);return RR(ao.join(e,".ripplo"))?e:t===e?null:$f(t)}function RR(e){try{return CR.statSync(e).isDirectory()}catch{return!1}}function ER(e){let t=IR(["rev-parse","--show-toplevel"],e);if(t==null)return null;let r=t.trim();return r.length===0?null:ao.isAbsolute(r)?r:ao.resolve(e,r)}function IR(e,t){try{return kR("git",e,{cwd:t,encoding:"utf8",stdio:["ignore","pipe","ignore"]})}catch{return null}}import{readdir as PR,rm as TR,stat as OR}from"fs/promises";import jf from"path";import AR from"pino";var B=AR({level:process.env.LOG_LEVEL??"info",transport:{options:{ignore:"pid,hostname"},target:"pino-pretty"}});var Df=jf.join(process.cwd(),".ripplo","debug"),_f=360*60*1e3;async function lo({maxRuns:e}){try{let r=(await PR(Df,{withFileTypes:!0})).filter(c=>c.isDirectory()),n=Date.now(),i=await Promise.all(r.map(async c=>{let u=jf.join(Df,c.name),d=await OR(u);return{dirPath:u,mtime:d.mtimeMs}})),o=i.filter(c=>n-c.mtime>_f),a=i.filter(c=>n-c.mtime<=_f).toSorted((c,u)=>u.mtime-c.mtime).slice(e),l=[...o,...a];if(l.length===0)return;await Promise.allSettled(l.map(c=>TR(c.dirPath,{force:!0,recursive:!0}))),B.debug("Pruned %d old debug run(s)",l.length)}catch{B.warn("Debug run pruning failed, ignoring")}}import{print as MR}from"graphql";var NR=15e3,Fn=class extends Error{errors;constructor(t){super(t.map(r=>r.message).join(", ")),this.name="GqlRequestError",this.errors=t}};function Bn(e){if(e instanceof Fn)return e.errors[0]?.extensions?.code}async function D(e){let t=MR(e.document),r=JSON.stringify({query:t,variables:e.variables}),n=`${e.config.ripploServerUrl}/graphql`,i;try{i=await fetch(n,{body:r,headers:{Authorization:`Bearer ${e.config.token}`,"Content-Type":"application/json"},method:"POST",signal:AbortSignal.timeout(NR)})}catch(s){let a=s instanceof Error?s.message:String(s);throw new Error(`Failed to connect to Ripplo server at ${e.config.ripploServerUrl}. Check the server is running and reachable. Details: ${a}`)}let o=await LR({res:i,url:n});if(!$R(o))throw new Error("Invalid GraphQL response");if(DR(o))throw new Fn(o.errors);if(o.data==null)throw new Error("No data returned from server");return o.data}async function LR({res:e,url:t}){let r=await e.text();if(r.length===0)throw new Error(`Empty response from Ripplo server at ${t} (status ${String(e.status)}). The server may have restarted or the request was rejected before a body was sent.`);try{return JSON.parse(r)}catch{throw new Error(`Non-JSON response from Ripplo server at ${t} (status ${String(e.status)}): ${r.slice(0,200)}`)}}function $R(e){return typeof e=="object"&&e!=null&&("data"in e||"errors"in e)}function DR(e){return Array.isArray(e.errors)&&e.errors.length>0}import Wn from"fs";import Or from"fs";import _R from"os";import Vn from"path";var jR=".local",FR=".ripplo";function pl(e){return Vn.join(e,".ripplo",jR)}function $t(e){let t=pl(e);Or.existsSync(t)||Or.mkdirSync(t,{recursive:!0});let r=Vn.join(t,".gitignore");return Or.existsSync(r)||Or.writeFileSync(r,`*
21
+ `),t}function Et(e,t){return Vn.join(pl(e),t)}function fl(){return Vn.join(_R.homedir(),FR)}function Un(){let e=fl();return Or.existsSync(e)?Or.chmodSync(e,448):Or.mkdirSync(e,{mode:448,recursive:!0}),e}function It(e){return Vn.join(fl(),e)}function ut(){let e=process.env.RIPPLO_TOKEN;if(e!=null&&e.trim().length>0)return e.trim();let t=It("token");if(!Wn.existsSync(t))return null;let r=Wn.readFileSync(t,"utf8").trim();return r.length===0?null:r}function hl(e){Un(),Wn.writeFileSync(It("token"),e+`
22
+ `,{mode:384})}function ml(){let e=It("token");return Wn.existsSync(e)?(Wn.unlinkSync(e),!0):!1}import{Agent as BR,RetryAgent as VR,setGlobalDispatcher as UR}from"undici";var WR=1500,HR=4e3,zR=3,GR=50,qR=100,Ff=!1;function gl(){if(Ff)return;Ff=!0;let e=new BR({connections:qR,keepAliveMaxTimeout:HR,keepAliveTimeout:WR}),t=new VR(e,{errorCodes:["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT","UND_ERR_REQ_CONTENT_LENGTH_MISMATCH","UND_ERR_SOCKET"],maxRetries:zR,methods:["GET","POST","HEAD","OPTIONS","PUT","DELETE"],minTimeout:GR});UR(t)}var Yf=so(wl(),1);import Jf from"crypto";function Sl({body:e,secret:t}){let r=new Yf.Webhook(t),n=`msg_${Jf.randomUUID()}`,i=new Date,o=r.sign(n,i,e),s=Math.floor(i.getTime()/1e3);return{"webhook-id":n,"webhook-signature":o,"webhook-timestamp":String(s)}}function vl(){return`whsec_${Jf.randomBytes(24).toString("base64")}`}import eh from"fs";import yo from"path";import{config as sE}from"dotenv";import{z as mo}from"zod";import{err as aE,ok as th}from"neverthrow";import ho from"fs";import Cl from"path";import{err as xl,ok as Zf}from"neverthrow";import{z as fo}from"zod";var rE=Cl.join(".ripplo","project.json"),kl=[".env",".env.local"],nE=fo.object({envFiles:fo.array(fo.string().min(1)).optional(),projectId:fo.string().min(1)});function Xf(e){return Cl.join(e,rE)}function Rl(e){let t=Xf(e);return ho.existsSync(t)?iE(t).andThen(r=>{let n=nE.safeParse(r);return n.success?Zf({envFiles:n.data.envFiles??kl,projectId:n.data.projectId}):xl({issues:n.error.issues.map(i=>`${i.path.join(".")}: ${i.message}`),kind:"project-file-invalid",path:t})}):xl({kind:"project-file-missing",path:t})}function El(e){return Rl(e).match(t=>t,()=>{})}function iE(e){try{return Zf(JSON.parse(ho.readFileSync(e,"utf8")))}catch(t){return xl({issues:[t instanceof Error?t.message:String(t)],kind:"project-file-invalid",path:e})}}function Qf({cwd:e,envFiles:t,projectId:r}){let n=Xf(e);ho.mkdirSync(Cl.dirname(n),{recursive:!0});let i={projectId:r};t!=null&&!oE(t)&&(i.envFiles=[...t]),ho.writeFileSync(n,JSON.stringify(i,null,2)+`
23
+ `)}function oE(e){return e.length!==kl.length?!1:e.every((t,r)=>t===kl[r])}function Jr(e){let r=El(e)?.envFiles??[".env",".env.local"],n=yo.join(e,".ripplo");r.forEach(i=>{let o=yo.resolve(n,i);eh.existsSync(o)&&sE({override:!0,path:o,quiet:!0})}),go=void 0}var lE=mo.object({RIPPLO_APP_URL:mo.url(),RIPPLO_ENGINE_URL:mo.url(),RIPPLO_WEBHOOK_SECRET:mo.string().min(1)}),go;function Yr(){return go!=null?th(go):cE().map(e=>(go=e,e))}function Il(e){let r=El(e)?.envFiles??[],n=yo.join(e,".ripplo");return r.map(i=>yo.resolve(n,i)).filter(i=>!eh.existsSync(i))}function cE(){let e=lE.safeParse(process.env);if(!e.success)return aE({issues:e.error.issues.map(r=>`${r.path.join(".")}: ${r.message}`),kind:"env-invalid",missingEnvFiles:Il(process.cwd())});let t=e.data;return th({appUrl:t.RIPPLO_APP_URL,engineUrl:t.RIPPLO_ENGINE_URL,webhookSecret:t.RIPPLO_WEBHOOK_SECRET})}import lz from"yargs";import{hideBin as cz}from"yargs/helpers";import{readFileSync as uE}from"fs";import{z as rh}from"zod";var dE=rh.object({version:rh.string()});function nh(){let e=uE(new URL("../package.json",import.meta.url),"utf8");return dE.parse(JSON.parse(e)).version}var bo=class extends Error{failure;constructor(t){super(t.kind),this.name="CliError",this.failure=t}};import Gl from"fs";import Io from"path";import{createJiti as $E}from"jiti";import{err as Ao,ok as xh}from"neverthrow";import{z as I}from"zod";var Al=I.enum(["fast","slow","async"]),Zr=I.object({ref:I.string().min(1)}),ir=I.union([I.string(),I.number(),I.boolean()]),Pl=I.object({template:I.array(I.union([I.string(),Zr])).min(1)}),Qe=I.union([Zr,ir,Pl,I.null()]),ih=I.object({kind:I.literal("changed")}),Tl=I.union([Qe,ih]),Dt=I.union([I.string(),Zr,Pl]),pE=I.object({by:I.literal("role"),name:I.union([Dt,I.undefined()]).optional().transform(e=>e),role:I.string().min(1)}),fE=I.object({by:I.literal("testId"),value:Dt}),hE=I.object({by:I.literal("inside"),scope:I.lazy(()=>Pe),target:I.lazy(()=>Pe)}),Pe=I.discriminatedUnion("by",[pE,fE,hE]),wo=I.enum(["string","number","boolean"]),Ol=I.enum(["strict","eventual"]),mE=I.object({kind:I.literal("string"),maxLength:I.number().int().positive().optional(),minLength:I.number().int().nonnegative().optional(),pattern:I.string().optional()}),gE=I.object({kind:I.literal("number"),max:I.number().int().optional(),min:I.number().int().optional()}),yE=I.object({kind:I.literal("datetime"),maxOffsetDays:I.number().int(),minOffsetDays:I.number().int()}),oh=I.discriminatedUnion("kind",[mE,gE,yE]),sh=I.enum(["company.name","date.iso","internet.email","internet.url","person.fullName","lorem.slug","lorem.word"]),Ml=I.object({constraints:oh.optional(),generator:sh,name:I.string().min(1),type:wo,values:I.array(ir).min(1).optional()}),ah=I.object({consistency:Ol.default("strict"),optional:I.boolean(),stable:I.boolean(),type:wo,valueSpace:I.string().min(1).optional()}),Nl=I.enum(["backend","client"]),Ll=I.object({description:I.string().optional(),identity:I.array(I.string().min(1)).min(1),identityKind:I.enum(["surrogate","natural"]),name:I.string().min(1),props:I.record(I.string().min(1),ah),source:Nl.default("backend")}),$l=I.object({consistency:Ol.default("strict"),default:ir,description:I.string().optional(),name:I.string().min(1),source:Nl.default("backend"),type:wo,valueSpace:I.string().min(1).optional()}),_t=I.enum(["url","title","viewport"]);import{z as T}from"zod";var bE=T.discriminatedUnion("kind",[T.object({as:T.string().min(1),kind:T.literal("created"),props:T.record(T.string().min(1),Qe)}),T.object({as:T.string().min(1),kind:T.literal("updated"),props:T.record(T.string().min(1),Tl)}),T.object({kind:T.literal("deleted")})]),wE=T.object({kind:T.literal("is"),value:Qe}),lh=T.lazy(()=>T.union([Qe,vE])),SE=T.object({entity:T.string().min(1),where:T.record(T.string().min(1),lh)}),vE=T.object({field:T.string().min(1),kind:T.literal("within"),selection:SE}),jt=T.union([Al,T.undefined()]).optional().transform(e=>e),or=T.lazy(()=>T.discriminatedUnion("kind",[T.object({kind:T.literal("visible"),locator:Pe,wait:jt}),T.object({kind:T.literal("disabled"),locator:Pe,wait:jt}),T.object({kind:T.literal("enabled"),locator:Pe,wait:jt}),T.object({kind:T.literal("focused"),locator:Pe,wait:jt}),T.object({kind:T.literal("value"),locator:Pe,value:Dt,wait:jt}),T.object({kind:T.literal("text"),locator:Pe,value:Dt,wait:jt}),T.object({assertion:wE,kind:T.literal("singleton"),singleton:T.string().min(1),wait:jt}),T.object({kind:T.literal("browser"),name:_t,value:Dt,wait:jt}),T.object({assertion:bE,entity:T.string().min(1),key:T.record(T.string().min(1),lh),kind:T.literal("state"),wait:jt}),T.object({kind:T.literal("not"),predicate:or}),T.object({kind:T.literal("and"),predicates:T.array(or)}),T.object({entity:T.string().min(1),kind:T.literal("count"),value:T.number().int().nonnegative()}),T.object({condition:or,consequence:or,kind:T.literal("when"),otherwise:T.union([or,T.undefined()]).optional().transform(e=>e)})]));import{z as So}from"zod";var xE=So.object({__codec:So.string().min(1),data:So.unknown(),version:So.number().int().positive()}),vo=class extends Error{codec;currentVersion;gotVersion;constructor(t){super(`Unsupported ${t.codec} version ${String(t.gotVersion)} (current ${String(t.currentVersion)}). Upgrade Ripplo or rebuild with a compatible CLI.`),this.name="CodecVersionError",this.codec=t.codec,this.currentVersion=t.currentVersion,this.gotVersion=t.gotVersion}},xo=class extends Error{constructor(t){super(`Codec mismatch: expected "${t.expected}", got "${t.got}"`),this.name="CodecMismatchError"}};function Dl({name:e,schema:t}){return{currentVersion:1,name:e,decode:r=>kE({name:e,raw:r,schema:t}),encode:r=>({__codec:e,data:r,version:1})}}function Ft(e,t){return JSON.stringify(e.encode(t))}function _l(e,t){let r=JSON.parse(t);return e.decode(r)}function kE({name:e,raw:t,schema:r}){let n=xE.parse(t);if(n.__codec!==e)throw new xo({expected:e,got:n.__codec});if(n.version!==1)throw new vo({codec:e,currentVersion:1,gotVersion:n.version});return r.parse(n.data)}var ko="__ripplo__",jl="__ripplo_seed__";import{z as P}from"zod";var ch=P.discriminatedUnion("kind",[P.object({kind:P.literal("goto"),url:Dt}),P.object({kind:P.literal("fill"),locator:Pe,value:Qe}),P.object({kind:P.literal("clear"),locator:Pe}),P.object({kind:P.literal("click"),locator:Pe}),P.object({kind:P.literal("dblclick"),locator:Pe}),P.object({kind:P.literal("select"),locator:Pe,value:Qe}),P.object({kind:P.literal("check"),locator:Pe}),P.object({kind:P.literal("uncheck"),locator:Pe}),P.object({kind:P.literal("hover"),locator:Pe}),P.object({files:P.array(P.string().min(1)).min(1),kind:P.literal("upload"),locator:Pe}),P.object({key:P.string().min(1),kind:P.literal("press"),locator:Pe.optional()})]),uh=P.object({action:ch,expect:P.array(or).default([])}),dh=P.object({example:ir.optional(),valueSpace:P.string().min(1)}),Fl=P.object({as:P.string().min(1),entity:P.string().min(1),set:P.record(P.string().min(1),Qe)}),ph=P.object({entity:P.string().min(1),where:P.record(P.string().min(1),Qe)}),fh=P.object({absent:P.array(ph).default([]),exclusive:P.array(P.string().min(1)).default([]),intent:P.string().min(1),maybe:P.array(Fl).default([]),name:P.string().min(1),params:P.record(P.string().min(1),dh),singletons:P.record(P.string().min(1),Qe).default({}),sourcePath:P.string().min(1).optional(),steps:P.array(uh).default([]),stub:P.boolean().default(!1),world:P.array(Fl).default([])}),hh=P.object({sha256:P.string().regex(/^[0-9a-f]{64}$/u),size:P.number().int().nonnegative()}),Co=P.object({entities:P.array(Ll),fixtures:P.record(P.string().min(1),hh).default({}),singletons:P.array($l).default([]),tests:P.array(fh),valueSpaces:P.array(Ml)}),ht=Dl({name:"ripplo-lockfile",schema:Co});import{z as sr}from"zod";var mh=sr.object({index:sr.number().int().nonnegative(),kind:sr.string(),target:sr.string(),value:sr.string()}),CE=sr.object({steps:sr.array(mh),stub:sr.boolean().default(!1)});function zn(e,t){return{index:t,kind:e.action.kind,target:RE(e.action),value:EE(e.action)}}function ge(e){return e.toLowerCase().replaceAll(/[^a-z0-9]/g,"-").split("-").filter(t=>t.length>0).join("-")}function RE(e){return e.kind==="goto"?Ro(e.url):e.kind==="press"&&e.locator==null?"":Eo(e.locator)}function Ro(e){return typeof e=="string"?e:"ref"in e?`{${e.ref}}`:e.template.map(t=>typeof t=="string"?t:`{${t.ref}}`).join("")}function Eo(e){return e.by==="testId"?`testId=${Ro(e.value)}`:e.by==="inside"?`${Eo(e.scope)} \u25B8 ${Eo(e.target)}`:`${e.role} ${e.name==null?"":Ro(e.name)}`.trim()}function EE(e){return e.kind==="fill"||e.kind==="select"?IE(e.value):e.kind==="press"?e.key:""}function IE(e){return e==null?"":typeof e!="object"?String(e):Ro(e)}import{z as Te}from"zod";var gh=Te.enum(["Strict","Lax","None"]),yh=Te.object({domain:Te.string().min(1),expires:Te.number(),httpOnly:Te.boolean(),name:Te.string().min(1),path:Te.string().min(1),sameSite:gh,secure:Te.boolean(),value:Te.string()}),bh=Te.object({localStorage:Te.array(Te.object({name:Te.string().min(1),value:Te.string()})),origin:Te.string().min(1)}),Bl=Te.object({cookies:Te.array(yh),headers:Te.record(Te.string().min(1),Te.string()).optional(),origins:Te.array(bh)});import{z as J}from"zod";var Vl=J.union([ir,J.null()]),Ul=J.record(J.string().min(1),Vl),wh=J.object({as:J.string().min(1),entity:J.string().min(1),fields:J.record(J.string().min(1),Qe)}),AE=J.object({entities:J.array(wh),runId:J.string().min(1),singletons:J.record(J.string().min(1),Vl).default({})}),Sh=J.object({as:J.string().min(1),row:Ul,session:Bl.optional()}),Wl=J.object({rows:J.array(Sh)}),PE=J.object({entities:J.array(J.string().min(1)),runId:J.string().min(1),singletons:J.array(J.string().min(1)).default([])}),Hl=J.object({entities:J.record(J.string().min(1),J.array(Ul)),singletons:J.record(J.string().min(1),Vl).default({})}),TE=J.object({runId:J.string().min(1)}),zl=J.object({ok:J.literal(!0)});import OE from"fs";import Gn from"path";import Xr from"typescript";function vh(e){let t=Gn.join(e,"index.ts"),r=LE(e);OE.mkdirSync(Gn.dirname(r.tsBuildInfoFile??""),{recursive:!0});let n=Xr.createIncrementalCompilerHost(r),i=Xr.createIncrementalProgram({host:n,options:r,rootNames:[t]}),o=[...i.getSyntacticDiagnostics(),...i.getSemanticDiagnostics()];i.emit();let s=o.filter(c=>ME(c,e));if(s.length===0)return{diagnostics:[],ok:!0};let a={getCanonicalFileName:c=>c,getCurrentDirectory:()=>Gn.dirname(e),getNewLine:()=>`
24
+ `};return{diagnostics:Xr.formatDiagnosticsWithColorAndContext(s,a).split(`
25
+ `).filter(c=>c.length>0),ok:!1}}function ME(e,t){let r=e.file?.fileName;return r==null?!0:r.startsWith(t)}var NE=Gn.join(".local","tsbuildinfo");function LE(e){return{allowImportingTsExtensions:!0,allowJs:!1,esModuleInterop:!0,incremental:!0,module:Xr.ModuleKind.Preserve,moduleResolution:Xr.ModuleResolutionKind.Bundler,noEmit:!0,resolveJsonModule:!0,skipLibCheck:!0,strict:!1,target:Xr.ScriptTarget.ES2022,tsBuildInfoFile:Gn.join(e,NE)}}var et=".ripplo/ripplo.lock",qn;async function kh(e){let{result:t}=await Kn(e);return t}async function Kn(e){let t=_E(Io.join(e,".ripplo"));if(qn!=null&&qn.fingerprint===t&&qn.result.isOk())return{fingerprint:t,result:qn.result};let r=await we(e);return qn={fingerprint:t,result:r},{fingerprint:t,result:r}}async function we(e){let t=Io.join(e,".ripplo"),r=Io.join(t,"index.ts"),n=vh(t);return n.ok?(await jE(r)).andThen(o=>BE({entryPath:r,exported:o})):Ao({diagnostics:n.diagnostics,kind:"typecheck-failed"})}var DE=new Set([".local","debug","node_modules"]);function _E(e){return Ch(e).toSorted((t,r)=>t.localeCompare(r)).join("|")}function Ch(e){return(Gl.existsSync(e)?Gl.readdirSync(e,{withFileTypes:!0}):[]).flatMap(r=>{if(DE.has(r.name))return[];let n=Io.join(e,r.name);if(r.isDirectory())return Ch(n);let i=Gl.statSync(n);return[`${n}:${String(i.mtimeMs)}:${String(i.size)}`]})}async function jE(e){try{let r=await $E(import.meta.url,{fsCache:!1,moduleCache:!1,sourceMaps:!0}).import(e),n=r!=null&&typeof r=="object"&&"default"in r?Reflect.get(r,"default"):r;return xh(n)}catch(t){return Ao({kind:"load-threw",message:FE(t)})}}function FE(e){return e instanceof Error?e.message:String(e)}function BE({entryPath:e,exported:t}){if(t==null||typeof t!="object"||!("lockfile"in t))return Ao({entryPath:e,kind:"not-ripplo"});let r=Co.safeParse(Reflect.get(t,"lockfile"));return r.success?xh(r.data):Ao({issues:r.error.issues.map(n=>`${n.path.join(".")}: ${n.message}`),kind:"invalid-lockfile"})}function j(e,t){return t==null?`Load \`/ripplo:${e}\` skill for instructions.`:`Load \`/ripplo:${e}\` skill for instructions on ${t}.`}function Rh(e){return e.length===1?j(e[0]):`REQUIRED before proceeding: load ${e.map(r=>`\`/ripplo:${r}\``).join(" AND ")} skills (load every one \u2014 each carries rules the others don't).`}function Oe(e){return[`Compilation failed: ${VE(e)}`,j("create","DSL authoring + lint rules")].join(`
26
+ `)}function Ih(){return`${et} is up to date`}function Ah(e){return[`${et} is ${e==="missing"?"missing":"out of date"} \u2014 run \`ripplo compile\` and commit the result`,j("setup")].join(`
27
+ `)}function Ph(){return`wrote ${et}`}function VE(e){switch(e.kind){case"typecheck-failed":return["TypeScript errors in .ripplo/:",...Eh(e.diagnostics)].join(`
28
+ `);case"not-ripplo":return`${e.entryPath} must default-export a Ripplo (createRipplo({ entities, invariants, singletons, tests })). Check that the default export is the value returned by createRipplo, not a function or a re-export.`;case"invalid-lockfile":return["Lockfile failed schema validation (stale or hand-edited .ripplo/ripplo.lock?):",...Eh(e.issues),"Regenerate with `npx ripplo compile` \u2014 never hand-edit the lockfile."].join(`
29
29
  `);case"load-threw":return[`.ripplo/index.ts threw while loading: ${e.message}`,"Usually a bad import or a top-level throw in .ripplo/ \u2014 run `npx ripplo compile` for the stack."].join(`
30
- `)}}function Sh(e,t=8){return e.length<=t?e:[...e.slice(0,t),`\u2026 and ${String(e.length-t)} more`]}function Ch(e){return e instanceof ho?Ge(e.failure):e instanceof Error?e.message:String(e)}function Ge(e){switch(e.kind){case"project-file-missing":return[`Missing ${e.path} \u2014 this directory is not a Ripplo project.`,"Run `npx ripplo init` to create it (or cd into the project root).",V("setup")].join(`
30
+ `)}}function Eh(e,t=8){return e.length<=t?e:[...e.slice(0,t),`\u2026 and ${String(e.length-t)} more`]}function Th(e){return e instanceof bo?qe(e.failure):e instanceof Error?e.message:String(e)}function qe(e){switch(e.kind){case"project-file-missing":return[`Missing ${e.path} \u2014 this directory is not a Ripplo project.`,"Run `npx ripplo init` to create it (or cd into the project root).",j("setup")].join(`
31
31
  `);case"project-file-invalid":return[`${e.path} is invalid:`,...e.issues.map(t=>` ${t}`),"Fix the file by hand or re-run `npx ripplo init`."].join(`
32
32
  `);case"not-authenticated":return["Not authenticated. Run `ripplo auth login`.","(Claude Code: run it yourself as a background process \u2014 device-code flow, the user only approves in the browser.)"].join(`
33
- `);case"env-invalid":return bE(e);case"playwright-install-failed":return["Playwright browser installation failed (Chromium still missing after install).","Try manually: `npx playwright install chromium` \u2014 look for network/proxy or disk-space errors in its output."].join(`
33
+ `);case"env-invalid":return UE(e);case"playwright-install-failed":return["Playwright browser installation failed (Chromium still missing after install).","Try manually: `npx playwright install chromium` \u2014 look for network/proxy or disk-space errors in its output."].join(`
34
34
  `);case"gitdir-unrecognized":return`Unrecognized .git file at ${e.marker} \u2014 expected a directory or a "gitdir:" pointer (worktree). Is the repo corrupted?`;case"gitdir-empty":return`Empty gitdir pointer at ${e.marker} \u2014 the worktree's .git file points nowhere. Re-create the worktree.`;case"oauth-device-code-failed":return[`Could not start sign-in (device-code request failed): ${e.description}`,"Is the Ripplo server reachable? Check RIPPLO_SERVER_URL and retry."].join(`
35
35
  `);case"oauth-authorization-failed":return[`Sign-in failed (${e.code}): ${e.description}`,e.code==="expired_token"?"The approval window expired \u2014 run `ripplo auth login` again.":"Run `ripplo auth login` to retry."].join(`
36
- `);case"compilation-failed":return Oe(e.error)}}function bE(e){let t=e.missingEnvFiles.length===0?[]:["Declared env file(s) not found at this path:",...e.missingEnvFiles.map(r=>` ${r}`),"If you're in a git worktree, the env file may not have been copied from the main checkout \u2014 recreate it (or symlink to a shared file outside the working tree)."];return["Env config invalid:",...e.issues.map(r=>` ${r}`),"Add missing values to the env file(s) declared in .ripplo/project.json.",...t].join(`
37
- `)}import{graphql as LE}from"gql.tada";import{exec as kE}from"child_process";import{createAuthClient as wE}from"better-auth/client";import{deviceAuthorizationClient as SE}from"better-auth/client/plugins";function Rh({baseURL:e}){return wE({baseURL:e,fetchOptions:{headers:{"User-Agent":"Ripplo CLI"}},plugins:[SE()]})}import{err as Ah,ok as CE}from"neverthrow";import{z as Wl}from"zod";var vE="https://ripplo.ai";function nt(){return Ro().RIPPLO_SERVER_URL}function Ih(){return Ro().RIPPLO_PROJECT_ID}var xE=Wl.object({RIPPLO_PROJECT_ID:Wl.string().min(1).optional(),RIPPLO_SERVER_URL:Wl.string().min(1).default(vE)}),Eh;function Ro(){return Eh??=xE.parse(process.env),Eh}var RE=5e3,Ph="ripplo-cli";async function Th({onDeviceCode:e,url:t}){let r=t??Ro().RIPPLO_SERVER_URL,n=Rh({baseURL:r}),i=await n.device.code({client_id:Ph});if(i.error!=null)return Ah({description:i.error.error_description,kind:"oauth-device-code-failed"});let{device_code:o,user_code:s,verification_uri_complete:a}=i.data;return e({userCode:s,verificationUrl:a}),OE(a),(await EE({authClient:n,deviceCode:o})).map(c=>(ul(c),c))}async function EE({authClient:e,deviceCode:t}){for(;;){await PE(RE);let r=await e.device.token({client_id:Ph,device_code:t,grant_type:"urn:ietf:params:oauth:grant-type:device_code"});if(r.data?.access_token!=null)return CE(r.data.access_token);if(r.error==null)continue;if(!AE(r.error.error))return Ah({code:r.error.error,description:r.error.error_description,kind:"oauth-authorization-failed"})}}var IE=new Set(["authorization_pending","slow_down"]);function AE(e){return IE.has(e)}function PE(e){return new Promise(t=>{setTimeout(t,e)})}function TE(){return process.platform==="darwin"?"open":process.platform==="win32"?"start":"xdg-open"}function OE(e){let t=TE();kE(`${t} "${e}"`,()=>{})}function ir({serverUrl:e,token:t}){return{appUrl:"",cwd:process.cwd(),engineUrl:"",projectId:"",ripploServerUrl:e,token:t,webhookSecret:""}}import ME from"fs";import NE from"path";function ae(e){return ME.existsSync(NE.join(e,".ripplo"))}var $E=LE(`
36
+ `);case"compilation-failed":return Oe(e.error)}}function UE(e){let t=e.missingEnvFiles.length===0?[]:["Declared env file(s) not found at this path:",...e.missingEnvFiles.map(r=>` ${r}`),"If you're in a git worktree, the env file may not have been copied from the main checkout \u2014 recreate it (or symlink to a shared file outside the working tree)."];return["Env config invalid:",...e.issues.map(r=>` ${r}`),"Add missing values to the env file(s) declared in .ripplo/project.json.",...t].join(`
37
+ `)}import{graphql as iI}from"gql.tada";import{exec as qE}from"child_process";import{createAuthClient as WE}from"better-auth/client";import{deviceAuthorizationClient as HE}from"better-auth/client/plugins";function Oh({baseURL:e}){return WE({baseURL:e,fetchOptions:{headers:{"User-Agent":"Ripplo CLI"}},plugins:[HE()]})}import{err as Lh,ok as KE}from"neverthrow";import{z as ql}from"zod";var zE="https://ripplo.ai";function it(){return Po().RIPPLO_SERVER_URL}function Nh(){return Po().RIPPLO_PROJECT_ID}var GE=ql.object({RIPPLO_PROJECT_ID:ql.string().min(1).optional(),RIPPLO_SERVER_URL:ql.string().min(1).default(zE)}),Mh;function Po(){return Mh??=GE.parse(process.env),Mh}var JE=5e3,$h="ripplo-cli";async function Dh({onDeviceCode:e,url:t}){let r=t??Po().RIPPLO_SERVER_URL,n=Oh({baseURL:r}),i=await n.device.code({client_id:$h});if(i.error!=null)return Lh({description:i.error.error_description,kind:"oauth-device-code-failed"});let{device_code:o,user_code:s,verification_uri_complete:a}=i.data;return e({userCode:s,verificationUrl:a}),tI(a),(await YE({authClient:n,deviceCode:o})).map(c=>(hl(c),c))}async function YE({authClient:e,deviceCode:t}){for(;;){await QE(JE);let r=await e.device.token({client_id:$h,device_code:t,grant_type:"urn:ietf:params:oauth:grant-type:device_code"});if(r.data?.access_token!=null)return KE(r.data.access_token);if(r.error==null)continue;if(!XE(r.error.error))return Lh({code:r.error.error,description:r.error.error_description,kind:"oauth-authorization-failed"})}}var ZE=new Set(["authorization_pending","slow_down"]);function XE(e){return ZE.has(e)}function QE(e){return new Promise(t=>{setTimeout(t,e)})}function eI(){return process.platform==="darwin"?"open":process.platform==="win32"?"start":"xdg-open"}function tI(e){let t=eI();qE(`${t} "${e}"`,()=>{})}function ar({serverUrl:e,token:t}){return{appUrl:"",cwd:process.cwd(),engineUrl:"",projectId:"",ripploServerUrl:e,token:t,webhookSecret:""}}import rI from"fs";import nI from"path";function ae(e){return rI.existsSync(nI.join(e,".ripplo"))}var oI=iI(`
38
38
  query AuthViewer {
39
39
  currentUser {
40
40
  name
41
41
  email
42
42
  }
43
43
  }
44
- `);async function Oh(){let e=nt(),t=lt();if(t!=null&&await DE(e,t))return;let n=(await Th({url:e,onDeviceCode:a=>{process.stdout.write(`Opening your browser to finish sign-in.
44
+ `);async function _h(){let e=it(),t=ut();if(t!=null&&await sI(e,t))return;let n=(await Dh({url:e,onDeviceCode:a=>{process.stdout.write(`Opening your browser to finish sign-in.
45
45
  `),process.stdout.write(`If it didn't open, visit: ${a.verificationUrl}
46
46
  `),process.stdout.write(`Verification code: ${a.userCode}
47
47
 
48
48
  `),process.stdout.write(`Waiting for you to approve...
49
- `)}})).match(a=>a,a=>{process.stderr.write(`${Ge(a)}
50
- `),process.exit(1)}),i=await Hl({serverUrl:e,token:n}),o=ae(process.cwd()),s=o?"Welcome back":"Welcome to Ripplo";process.stdout.write(`
51
- `),process.stdout.write(i.kind==="ok"?`${s}, ${_E(i.viewer)}.
49
+ `)}})).match(a=>a,a=>{process.stderr.write(`${qe(a)}
50
+ `),process.exit(1)}),i=await Kl({serverUrl:e,token:n}),o=ae(process.cwd()),s=o?"Welcome back":"Welcome to Ripplo";process.stdout.write(`
51
+ `),process.stdout.write(i.kind==="ok"?`${s}, ${aI(i.viewer)}.
52
52
  `:`${s}.
53
- `),process.stdout.write(`Session saved to ${Ct("token")}.
54
- `),o||(process.stdout.write("\nNext: run `/ripplo:setup` in Claude Code to wire Ripplo into this project,\n"),process.stdout.write("or `npx ripplo init` to set it up by hand.\n"))}async function DE(e,t){let r=await Hl({serverUrl:e,token:t});return r.kind==="ok"?(process.stdout.write(`Already signed in as ${r.viewer.email}. Run \`ripplo auth logout\` to switch.
53
+ `),process.stdout.write(`Session saved to ${It("token")}.
54
+ `),o||(process.stdout.write("\nNext: run `/ripplo:setup` in Claude Code to wire Ripplo into this project,\n"),process.stdout.write("or `npx ripplo init` to set it up by hand.\n"))}async function sI(e,t){let r=await Kl({serverUrl:e,token:t});return r.kind==="ok"?(process.stdout.write(`Already signed in as ${r.viewer.email}. Run \`ripplo auth logout\` to switch.
55
55
  `),!0):(r.kind==="unreachable"&&(process.stdout.write(`Could not reach the Ripplo server at ${e} (${r.message}). Your saved session may still be valid \u2014 fix connectivity and retry.
56
56
  `),process.exit(1)),process.stdout.write(`Your saved session expired \u2014 let's sign you back in.
57
57
 
58
- `),!1)}async function Mh(){let e=lt();e==null&&(process.stdout.write("Not authenticated. Run `ripplo auth login`.\n"),process.exit(1));let t=nt(),r=await Hl({serverUrl:t,token:e});r.kind==="unreachable"&&(process.stdout.write(`Could not reach the Ripplo server at ${t} (${r.message}). The token may still be valid \u2014 check the server / network and retry.
58
+ `),!1)}async function jh(){let e=ut();e==null&&(process.stdout.write("Not authenticated. Run `ripplo auth login`.\n"),process.exit(1));let t=it(),r=await Kl({serverUrl:t,token:e});r.kind==="unreachable"&&(process.stdout.write(`Could not reach the Ripplo server at ${t} (${r.message}). The token may still be valid \u2014 check the server / network and retry.
59
59
  `),process.exit(1)),r.kind==="rejected"&&(process.stdout.write("Token rejected by the server. Run `ripplo auth login` to re-authenticate.\n"),process.stdout.write(`(Claude Code: run this yourself as a background process \u2014 device-code flow, the user only approves in the browser.)
60
60
  `),process.exit(1)),process.stdout.write(`Authenticated as ${r.viewer.name} <${r.viewer.email}> (${t})
61
- `)}function Nh(){if(!dl()){process.stdout.write(`No token to remove.
62
- `);return}process.stdout.write(`Removed ${Ct("token")}
63
- `)}async function Hl({serverUrl:e,token:t}){try{let n=(await D({config:ir({serverUrl:e,token:t}),document:$E,variables:void 0})).currentUser;return n==null?{kind:"rejected"}:{kind:"ok",viewer:{email:n.email,name:n.name}}}catch(r){return _n(r)==="UNAUTHENTICATED"?{kind:"rejected"}:{kind:"unreachable",message:r instanceof Error?r.message:String(r)}}}function _E(e){let t=e.name.trim().split(/\s+/)[0];return t!=null&&t.length>0?t:e.email}import{readFile as jE,writeFile as FE}from"fs/promises";import VE from"path";async function Lh(e){let t=process.cwd(),r=await be(t);r.isErr()&&(process.stderr.write(`${Oe(r.error)}
64
- `),process.exit(1));let n=$t(pt,r.value),i=VE.join(t,Qe);if(e.check){let o=await jE(i,"utf8").catch(()=>null);if(o===n){process.stdout.write(`${vh()}
65
- `);return}process.stderr.write(`${xh(o==null?"missing":"stale")}
66
- `),process.exit(1)}await FE(i,n),process.stdout.write(`${kh()}
67
- `)}import{graphql as _h}from"gql.tada";function zl(e){return e==null?"Max local concurrent runs: unknown (not signed in?)":`Max local concurrent runs: ${String(e)} (the daemon applies changes live)`}import{graphql as WE}from"gql.tada";import{err as BE,ok as UE}from"neverthrow";import $h from"fs";import Gl from"path";function Dh(e){let t=$h.realpathSync(e),r=t,n=Gl.dirname(r);for(;n!==r;){if($h.existsSync(Gl.join(r,".git")))return r;r=n,n=Gl.dirname(r)}return t}function je(e){return vl(e).andThen(t=>Kr().andThen(r=>{let n=lt();return n==null?BE({kind:"not-authenticated"}):UE({appUrl:r.appUrl,cwd:Dh(e),engineUrl:r.engineUrl,projectId:Ih()??t.projectId,ripploServerUrl:nt(),token:n,webhookSecret:r.webhookSecret})}))}var HE=WE(`
61
+ `)}function Fh(){if(!ml()){process.stdout.write(`No token to remove.
62
+ `);return}process.stdout.write(`Removed ${It("token")}
63
+ `)}async function Kl({serverUrl:e,token:t}){try{let n=(await D({config:ar({serverUrl:e,token:t}),document:oI,variables:void 0})).currentUser;return n==null?{kind:"rejected"}:{kind:"ok",viewer:{email:n.email,name:n.name}}}catch(r){return Bn(r)==="UNAUTHENTICATED"?{kind:"rejected"}:{kind:"unreachable",message:r instanceof Error?r.message:String(r)}}}function aI(e){let t=e.name.trim().split(/\s+/)[0];return t!=null&&t.length>0?t:e.email}import{readFile as lI,writeFile as cI}from"fs/promises";import uI from"path";async function Bh(e){let t=process.cwd(),r=await we(t);r.isErr()&&(process.stderr.write(`${Oe(r.error)}
64
+ `),process.exit(1));let n=Ft(ht,r.value),i=uI.join(t,et);if(e.check){let o=await lI(i,"utf8").catch(()=>null);if(o===n){process.stdout.write(`${Ih()}
65
+ `);return}process.stderr.write(`${Ah(o==null?"missing":"stale")}
66
+ `),process.exit(1)}await cI(i,n),process.stdout.write(`${Ph()}
67
+ `)}import{graphql as Wh}from"gql.tada";function Jl(e){return e==null?"Max local concurrent runs: unknown (not signed in?)":`Max local concurrent runs: ${String(e)} (the daemon applies changes live)`}import{graphql as fI}from"gql.tada";import{err as dI,ok as pI}from"neverthrow";import Vh from"fs";import Yl from"path";function Uh(e){let t=Vh.realpathSync(e),r=t,n=Yl.dirname(r);for(;n!==r;){if(Vh.existsSync(Yl.join(r,".git")))return r;r=n,n=Yl.dirname(r)}return t}function je(e){return Rl(e).andThen(t=>Yr().andThen(r=>{let n=ut();return n==null?dI({kind:"not-authenticated"}):pI({appUrl:r.appUrl,cwd:Uh(e),engineUrl:r.engineUrl,projectId:Nh()??t.projectId,ripploServerUrl:it(),token:n,webhookSecret:r.webhookSecret})}))}var hI=fI(`
68
68
  query DevSessionCheckPreflight($projectId: String!, $cwd: String!) {
69
69
  project(id: $projectId) {
70
70
  id
@@ -73,26 +73,26 @@ ${S}`),m.pop(),`{${M}}`}case"number":return isFinite(f)?String(f):t?t(f):"null";
73
73
  }
74
74
  }
75
75
  }
76
- `);function Dt(){return je(process.cwd()).match(e=>e,e=>{process.stderr.write(`${Ge(e)}
77
- `),process.stderr.write(`${V("setup")}
78
- `),process.exit(1)})}async function Gn(e){(await D({config:e,document:HE,variables:{cwd:e.cwd,projectId:e.projectId}})).project?.devSession==null&&(process.stderr.write("No active dev session. Start `npx ripplo daemon` as a background process (your app's dev server must also be running), then retry. Or run `/ripplo:start` in Claude Code.\n"),process.stderr.write(`${V("setup")}
79
- `),process.exit(1))}var zE=_h(`
76
+ `);function Bt(){return je(process.cwd()).match(e=>e,e=>{process.stderr.write(`${qe(e)}
77
+ `),process.stderr.write(`${j("setup")}
78
+ `),process.exit(1)})}async function Jn(e){(await D({config:e,document:hI,variables:{cwd:e.cwd,projectId:e.projectId}})).project?.devSession==null&&(process.stderr.write("No active dev session. Start `npx ripplo daemon` as a background process (your app's dev server must also be running), then retry. Or run `/ripplo:start` in Claude Code.\n"),process.stderr.write(`${j("setup")}
79
+ `),process.exit(1))}var mI=Wh(`
80
80
  mutation CliUpdateMaxLocalConcurrentRuns($value: Int!) {
81
81
  updateMaxLocalConcurrentRuns(value: $value) {
82
82
  id
83
83
  maxLocalConcurrentRuns
84
84
  }
85
85
  }
86
- `),GE=_h(`
86
+ `),gI=Wh(`
87
87
  query CliMaxLocalConcurrentRuns {
88
88
  currentUser {
89
89
  id
90
90
  maxLocalConcurrentRuns
91
91
  }
92
92
  }
93
- `);async function jh({value:e}){let t=Dt();if(e==null){let n=await D({config:t,document:GE,variables:{}});process.stdout.write(`${zl(n.currentUser?.maxLocalConcurrentRuns)}
94
- `);return}let r=await D({config:t,document:zE,variables:{value:e}});process.stdout.write(`${zl(r.updateMaxLocalConcurrentRuns?.maxLocalConcurrentRuns)}
95
- `)}import{graphql as nI}from"gql.tada";import Fh from"fs";import{checkSync as qE,lockSync as KE}from"proper-lockfile";var YE="dev.pid",Vh=15e3;function Bh(e){return Qt(e,YE)}function Zr(e){try{return qE(Bh(e),{realpath:!1,stale:Vh})}catch{return!1}}var qn=class extends Error{pid;cwd;constructor({cwd:t,pid:r}){super("dev-lock-held"),this.name="DevLockHeldError",this.pid=r,this.cwd=t}};function Uh({cwd:e,onCompromised:t}){Ot(e);let r=Bh(e),n=JE({cwd:e,onCompromised:t,path:r});return Fh.writeFileSync(r,String(process.pid)),()=>{try{n()}catch{}}}function JE({cwd:e,onCompromised:t,path:r}){try{return KE(r,{realpath:!1,stale:Vh,onCompromised:()=>{t()}})}catch(n){throw ZE(n)?new qn({cwd:e,pid:XE(r)}):n}}function ZE(e){if(!(e instanceof Error)||!("code"in e))return!1;let{code:t}=e;return t==="ELOCKED"}function XE(e){try{let t=Fh.readFileSync(e,"utf8").trim(),r=Number.parseInt(t,10);return Number.isFinite(r)&&r>0?r:null}catch{return null}}import eI from"fs";import ql from"path";import{execFileSync as QE}from"child_process";function or(e,t){return QE("git",[...e],{cwd:t,encoding:"utf8",stdio:["ignore","pipe","pipe"]})}var tI=["MERGE_HEAD","rebase-merge","rebase-apply","CHERRY_PICK_HEAD","REVERT_HEAD"];function Eo(e){let t=rI(e);return t==null?!1:tI.some(r=>eI.existsSync(ql.join(t,r)))}function rI(e){try{let t=or(["rev-parse","--git-dir"],e).trim();return t.length===0?null:ql.isAbsolute(t)?t:ql.resolve(e,t)}catch{return null}}var iI=nI(`
93
+ `);async function Hh({value:e}){let t=Bt();if(e==null){let n=await D({config:t,document:gI,variables:{}});process.stdout.write(`${Jl(n.currentUser?.maxLocalConcurrentRuns)}
94
+ `);return}let r=await D({config:t,document:mI,variables:{value:e}});process.stdout.write(`${Jl(r.updateMaxLocalConcurrentRuns?.maxLocalConcurrentRuns)}
95
+ `)}import{graphql as II}from"gql.tada";import zh from"fs";import{checkSync as yI,lockSync as bI}from"proper-lockfile";var wI="dev.pid",Gh=15e3;function qh(e){return Et(e,wI)}function Qr(e){try{return yI(qh(e),{realpath:!1,stale:Gh})}catch{return!1}}var Yn=class extends Error{pid;cwd;constructor({cwd:t,pid:r}){super("dev-lock-held"),this.name="DevLockHeldError",this.pid=r,this.cwd=t}};function Kh({cwd:e,onCompromised:t}){$t(e);let r=qh(e),n=SI({cwd:e,onCompromised:t,path:r});return zh.writeFileSync(r,String(process.pid)),()=>{try{n()}catch{}}}function SI({cwd:e,onCompromised:t,path:r}){try{return bI(r,{realpath:!1,stale:Gh,onCompromised:()=>{t()}})}catch(n){throw vI(n)?new Yn({cwd:e,pid:xI(r)}):n}}function vI(e){if(!(e instanceof Error)||!("code"in e))return!1;let{code:t}=e;return t==="ELOCKED"}function xI(e){try{let t=zh.readFileSync(e,"utf8").trim(),r=Number.parseInt(t,10);return Number.isFinite(r)&&r>0?r:null}catch{return null}}import CI from"fs";import Zl from"path";import{execFileSync as kI}from"child_process";function ot(e,t){return kI("git",[...e],{cwd:t,encoding:"utf8",stdio:["ignore","pipe","pipe"]})}var RI=["MERGE_HEAD","rebase-merge","rebase-apply","CHERRY_PICK_HEAD","REVERT_HEAD"];function To(e){let t=EI(e);return t==null?!1:RI.some(r=>CI.existsSync(Zl.join(t,r)))}function EI(e){try{let t=ot(["rev-parse","--git-dir"],e).trim();return t.length===0?null:Zl.isAbsolute(t)?t:Zl.resolve(e,t)}catch{return null}}var AI=II(`
96
96
  query DevSessionCheckHealth($projectId: String!, $cwd: String!) {
97
97
  project(id: $projectId) {
98
98
  id
@@ -101,96 +101,96 @@ ${S}`),m.pop(),`{${M}}`}case"number":return isFinite(f)?String(f):t?t(f):"null";
101
101
  }
102
102
  }
103
103
  }
104
- `);function Wh(e){switch(e.status){case"active":return e.gitMidOperation?"\u2713 Dev session: ripplo daemon is live (hooks auto-paused \u2014 git is mid-merge/rebase/cherry-pick; resumes when the operation completes or aborts)":"\u2713 Dev session: ripplo daemon is live for this directory";case"starting":return"! Dev session: `ripplo daemon` is running locally but hasn't registered with the server yet. Wait a few seconds and re-run `npx ripplo doctor`. If it persists, check the watch process output for auth/network errors.";case"missing":return"\u2717 Dev session: no active ripplo daemon. Start `npx ripplo daemon` as a background process (separate from your app's dev server). Without it, `ripplo run` will refuse to dispatch and scope/coverage hooks won't arm."}}async function Hh(e){let t=Zr(e),r=Eo(e),n=je(e).unwrapOr(void 0);return n==null?{gitMidOperation:r,status:t?"starting":"missing",type:"dev-session"}:(await D({config:n,document:iI,variables:{cwd:n.cwd,projectId:n.projectId}}).catch(()=>null))?.project?.devSession!=null?{gitMidOperation:r,status:"active",type:"dev-session"}:{gitMidOperation:r,status:t?"starting":"missing",type:"dev-session"}}function zh(e){switch(e.type){case"settings":return oI(e);case"env-files":return sI(e);case"token":return aI(e);case"dev-server":return lI(e);case"dev-session":return Wh(e);case"preconditions":return cI(e);case"webhook-verification":return uI(e);case"preconditions-validation":return dI(e);case"workflows":return pI(e);case"browser":return hI(e);case"engine-endpoint":return e.reachable?`\u2713 Engine endpoint: ${e.url} is reachable`:`\u2717 Engine endpoint: ${e.url} is not reachable`;case"adapter-enabled":return mI(e);case"lockfile":return gI(e);case"pre-commit-hook":return yI(e)}}function oI(e){return e.valid?"\u2713 Settings: Project configured":`\u2717 Settings: Missing fields: ${e.missingFields.join(", ")}`}function sI(e){return e.missing.length===0?"\u2713 Env files: declared files present":`\u2717 Env files: declared in .ripplo/project.json but missing:
104
+ `);function Jh(e){switch(e.status){case"active":return e.gitMidOperation?"\u2713 Dev session: ripplo daemon is live (hooks auto-paused \u2014 git is mid-merge/rebase/cherry-pick; resumes when the operation completes or aborts)":"\u2713 Dev session: ripplo daemon is live for this directory";case"starting":return"! Dev session: `ripplo daemon` is running locally but hasn't registered with the server yet. Wait a few seconds and re-run `npx ripplo doctor`. If it persists, check the watch process output for auth/network errors.";case"missing":return"\u2717 Dev session: no active ripplo daemon. Start `npx ripplo daemon` as a background process (separate from your app's dev server). Without it, `ripplo run` will refuse to dispatch and scope/coverage hooks won't arm."}}async function Yh(e){let t=Qr(e),r=To(e),n=je(e).unwrapOr(void 0);return n==null?{gitMidOperation:r,status:t?"starting":"missing",type:"dev-session"}:(await D({config:n,document:AI,variables:{cwd:n.cwd,projectId:n.projectId}}).catch(()=>null))?.project?.devSession!=null?{gitMidOperation:r,status:"active",type:"dev-session"}:{gitMidOperation:r,status:t?"starting":"missing",type:"dev-session"}}function Zh(e){switch(e.type){case"settings":return PI(e);case"env-files":return TI(e);case"token":return OI(e);case"dev-server":return MI(e);case"dev-session":return Jh(e);case"preconditions":return NI(e);case"webhook-verification":return LI(e);case"preconditions-validation":return $I(e);case"workflows":return DI(e);case"browser":return jI(e);case"engine-endpoint":return e.reachable?`\u2713 Engine endpoint: ${e.url} is reachable`:`\u2717 Engine endpoint: ${e.url} is not reachable`;case"adapter-enabled":return FI(e);case"lockfile":return BI(e);case"pre-commit-hook":return VI(e)}}function PI(e){return e.valid?"\u2713 Settings: Project configured":`\u2717 Settings: Missing fields: ${e.missingFields.join(", ")}`}function TI(e){return e.missing.length===0?"\u2713 Env files: declared files present":`\u2717 Env files: declared in .ripplo/project.json but missing:
105
105
  ${e.missing.map(r=>` ${r}`).join(`
106
106
  `)}
107
- If you're in a git worktree, copy the env file from the main checkout (or symlink to a shared file outside the working tree).`}function aI(e){switch(e.status){case"valid":return`\u2713 Auth: Signed in as ${e.email??"unknown"}`;case"missing":return"\u2717 Auth: No token found. Run `ripplo auth login` to authenticate.\n (Claude Code: run this yourself as a background process \u2014 it's a device-code flow, the user only needs to approve in the browser.)";case"invalid":return"\u2717 Auth: Saved token rejected by server. Run `ripplo auth login` to re-authenticate.\n (Claude Code: run this yourself as a background process \u2014 it's a device-code flow, the user only needs to approve in the browser.)";case"unreachable":return`! Auth: Could not reach ${nt()} to validate token.`}}function lI(e){return e.reachable?`\u2713 Dev server: ${e.appUrl} is reachable`:`\u2717 Dev server: ${e.appUrl} is not responding. Make sure your dev server is running.`}function cI(e){return e.count===0?"! Entities: None defined":e.configured?e.endpointReachable===void 0?`! Entities: ${String(e.count)} defined (could not verify engine endpoint)`:`\u2713 Entities: ${String(e.count)} defined, engine configured`:`\u2717 Entities: ${String(e.count)} defined but RIPPLO_ENGINE_URL is not set in your env file`}function uI(e){return e.rejectsUnsigned?"\u2713 Webhook verification: Unsigned requests are correctly rejected":"\u2717 Webhook verification: Endpoint accepted an unsigned request \u2014 webhook signature verification may be missing or misconfigured."}function dI(e){if(!e.found)return"\u2717 Model: DSL failed to compile";if(e.valid)return"\u2713 Model: Valid";let t=e.errors.map(r=>` - ${r.path===""?"":r.path+": "}${r.message}`);return`\u2717 Model: ${String(e.errorCount)} validation error${e.errorCount===1?"":"s"}
107
+ If you're in a git worktree, copy the env file from the main checkout (or symlink to a shared file outside the working tree).`}function OI(e){switch(e.status){case"valid":return`\u2713 Auth: Signed in as ${e.email??"unknown"}`;case"missing":return"\u2717 Auth: No token found. Run `ripplo auth login` to authenticate.\n (Claude Code: run this yourself as a background process \u2014 it's a device-code flow, the user only needs to approve in the browser.)";case"invalid":return"\u2717 Auth: Saved token rejected by server. Run `ripplo auth login` to re-authenticate.\n (Claude Code: run this yourself as a background process \u2014 it's a device-code flow, the user only needs to approve in the browser.)";case"unreachable":return`! Auth: Could not reach ${it()} to validate token.`}}function MI(e){return e.reachable?`\u2713 Dev server: ${e.appUrl} is reachable`:`\u2717 Dev server: ${e.appUrl} is not responding. Make sure your dev server is running.`}function NI(e){return e.count===0?"! Entities: None defined":e.configured?e.endpointReachable===void 0?`! Entities: ${String(e.count)} defined (could not verify engine endpoint)`:`\u2713 Entities: ${String(e.count)} defined, engine configured`:`\u2717 Entities: ${String(e.count)} defined but RIPPLO_ENGINE_URL is not set in your env file`}function LI(e){return e.rejectsUnsigned?"\u2713 Webhook verification: Unsigned requests are correctly rejected":"\u2717 Webhook verification: Endpoint accepted an unsigned request \u2014 webhook signature verification may be missing or misconfigured."}function $I(e){if(!e.found)return"\u2717 Model: DSL failed to compile";if(e.valid)return"\u2713 Model: Valid";let t=e.errors.map(r=>` - ${r.path===""?"":r.path+": "}${r.message}`);return`\u2717 Model: ${String(e.errorCount)} validation error${e.errorCount===1?"":"s"}
108
108
  ${t.join(`
109
- `)}`}function pI(e){if(e.total===0)return"! Tests: No tests defined";if(e.invalidNames.length===0)return`\u2713 Tests: ${String(e.total)} valid`;let t=e.invalidWorkflows.map(r=>fI(r));return`\u2717 Tests: ${String(e.invalidNames.length)} invalid
109
+ `)}`}function DI(e){if(e.total===0)return"! Tests: No tests defined";if(e.invalidNames.length===0)return`\u2713 Tests: ${String(e.total)} valid`;let t=e.invalidWorkflows.map(r=>_I(r));return`\u2717 Tests: ${String(e.invalidNames.length)} invalid
110
110
  ${t.join(`
111
- `)}`}function fI(e){let t=e.errors.map(r=>" - "+(r.path===""?"":r.path+": ")+r.message);return" "+e.name+`:
111
+ `)}`}function _I(e){let t=e.errors.map(r=>" - "+(r.path===""?"":r.path+": ")+r.message);return" "+e.name+`:
112
112
  `+t.join(`
113
- `)}function hI(e){return e.installed?"\u2713 Browser: Chromium installed":"\u2717 Browser: Chromium not installed. Run: npx playwright install chromium"}function mI(e){switch(e.status){case"enabled":return`\u2713 Adapter: enabled at ${e.url}`;case"disabled":return"\u2717 Adapter: disabled (handler returned 404). Set ENABLE_RIPPLO_TESTING=true in your app's env (e.g. apps/<app>/.env.local for Next.js) and restart the dev server.";case"bad-secret":return"\u2717 Adapter: webhook signature rejected. RIPPLO_WEBHOOK_SECRET seen by your dev server does not match the one in your env file.";case"unreachable":return`\u2717 Adapter: ${e.url} could not be reached for signed probe.`;case"no-secret":return"\u2717 Adapter: RIPPLO_WEBHOOK_SECRET is not set in your env file (declared in .ripplo/project.json)."}}function gI(e){switch(e.status){case"match":return`\u2713 Lockfile: ${Qe} is up to date`;case"missing":return`\u2717 Lockfile: ${Qe} is missing \u2014 run \`ripplo compile\` and commit it`;case"stale":return`\u2717 Lockfile: ${Qe} is out of date \u2014 run \`ripplo compile\` and commit it`}}function yI(e){return e.installed?"\u2713 Pre-commit hook: .git/hooks/pre-commit runs `ripplo compile --check`":"! Pre-commit hook: .git/hooks/pre-commit does not run `ripplo compile --check` \u2014 see the setup skill for the snippet"}import Ca from"fs";import dx from"path";import{chromium as B5}from"playwright";import bI from"fs";import wI from"path";async function Gh(e){let t=wI.join(e,".ripplo","index.ts");if(!bI.existsSync(t))return{appUrl:void 0,engineUrl:void 0,errors:[{message:".ripplo/index.ts not found",path:""}],valid:!1,warnings:[]};let r=await be(e);return r.isErr()?{appUrl:void 0,engineUrl:void 0,errors:[{message:Oe(r.error),path:".ripplo/"}],valid:!1,warnings:[]}:Kr().match(n=>({appUrl:n.appUrl,engineUrl:n.engineUrl,errors:[],valid:!0,warnings:[]}),n=>({appUrl:void 0,engineUrl:void 0,errors:[{message:Ge(n),path:""}],valid:!1,warnings:[]}))}async function Kl(e){try{await fetch(e,{method:"HEAD",signal:AbortSignal.timeout(5e3)});return}catch{return`appUrl (${e}) is not responding. Make sure your dev server is running on that port.`}}async function qh({appUrl:e,engineUrl:t}){let r=t.startsWith("http://")||t.startsWith("https://")?t:`${e}${t}`;try{return(await fetch(`${r}/setup`,{body:JSON.stringify({}),headers:{"Content-Type":"application/json"},method:"PUT",signal:AbortSignal.timeout(5e3)})).ok?"Engine endpoint accepted an unsigned request \u2014 webhook signature verification may be missing.":void 0}catch{return}}function sr(e){let t=new URL(e,"https://ripplo.invalid"),r=[...t.searchParams.entries()].toSorted(([n],[i])=>n.localeCompare(i)).map(([n,i])=>`${n}=${i}`).join("&");return r.length===0?t.pathname:`${t.pathname}?${r}`}function Xr(e,t){return e==="url"?sr(t):t}function Yl(e,t,r){return Xr(e,String(t))===Xr(e,String(r))}function Yh(e,t,r){return e!=="url"?Yl(e,t,r):Kh(String(t))===Kh(String(r))}function Kh(e){return new URL(e,"https://ripplo.invalid").pathname}function Jl({actual:e,canon:t,pre:r,predicted:n}){return[...[...new Set([...n.entities.keys(),...e.entities.keys()])].flatMap(s=>SI({actual:e.entities.get(s),canon:t,entity:s,pre:r.entities.get(s),predicted:n.entities.get(s)})),...xI(r.singletons,n.singletons,e.singletons)]}function SI({actual:e,canon:t,entity:r,pre:n,predicted:i}){return[...new Set([...i?.keys()??[],...e?.keys()??[]])].flatMap(s=>vI({actual:e?.get(s),canon:t,entity:r,key:s,predicted:i?.get(s),preHadKey:n?.has(s)??!1,preRow:n?.get(s)}))}function vI({actual:e,canon:t,entity:r,key:n,predicted:i,preHadKey:o,preRow:s}){if(i==null)return[{divergence:{entity:r,key:n,kind:"ghost-write"},pending:o}];if(e==null)return[{divergence:{entity:r,key:n,kind:"absent"},pending:!o}];let a=(c,u,d)=>Xh(t(r,c,u),t(r,c,d));return[...new Set([...Object.keys(i),...Object.keys(e)])].filter(c=>!a(c,i[c],e[c])).map(c=>({divergence:{entity:r,field:c,key:n,kind:"field-mismatch",snapshot:i[c],sut:e[c]},pending:s==null?e[c]===void 0:a(c,s[c],e[c])}))}function Xh(e,t){return Jh(e)===Jh(t)}function Jh(e){return e==null?"\u2205":JSON.stringify(e)}function xI(e,t,r){return[...new Set([...Object.keys(t),...Object.keys(r)])].flatMap(i=>{let o=t[i],s=r[i];return o===void 0||s===void 0||Zh(i,o,s)?[]:[{divergence:{kind:"singleton-mismatch",singleton:i,snapshot:o,sut:s},pending:e[i]!==void 0&&Zh(i,e[i],s)}]})}function Zh(e,t,r){let n=Nt.safeParse(e);return n.success?Yh(n.data,t,r):Xh(t,r)}function Zl(e){let t=kI(e.entities),r=CI(e.singletons);return n=>RI(n,t,r)}function kI(e){return new Map(e.flatMap(t=>Object.entries(t.props).map(([r,n])=>[Qh(t.name,r),n.consistency])))}function Qh(e,t){return`${e}.${t}`}function CI(e){return new Map(e.map(t=>[t.name,t.consistency]))}function RI(e,t,r){return e.kind==="singleton-mismatch"?EI(e.singleton,r):e.kind==="ghost-write"||e.kind==="absent"?"strict":t.get(Qh(e.entity,e.field))??"strict"}function EI(e,t){return Nt.safeParse(e).success?t.get(e)??"eventual":t.get(e)??"strict"}function Xl(e){let t=new Set(e.valueSpaces.filter(r=>r.generator==="date.iso").map(r=>r.name));return(r,n,i)=>{if(!t.has(`${r}.${n}`)||typeof i!="string")return i;let o=Date.parse(i);return Number.isNaN(o)?i:new Date(o).toISOString()}}function tm(e,t,r){return{detail:r.slice(0,500),kind:"engine-http",path:e,status:t}}function Io(e,t){return{code:um(t),kind:"engine-network",message:Yn(t),path:e}}function rm(e){return{kind:"client-mount-missing",mountKey:e}}function nm(e,t){return{kind:"engine-decode",message:Yn(t),path:e}}function im(e,t){return{entity:e,field:t,kind:"state-identity"}}function om(e){return{as:e,kind:"setup-missing-row"}}function Kn(e){return{kind:"driver-launch",message:Yn(e)}}function sm(e,t){return{action:e,kind:"action-failed",message:Yn(t)}}function am(e){return{kind:"check-failed",message:Yn(e)}}function lm(){return{kind:"aborted"}}var em=300;function ar(e){switch(e.kind){case"engine-http":return`engine ${e.path} returned ${String(e.status)}: ${II(e.detail)}${AI(e.status)}`;case"engine-network":return`engine ${e.path} request failed: ${e.message}`;case"client-mount-missing":return`client bridge "${e.mountKey}" never mounted; client singletons unreadable`;case"engine-decode":return`engine ${e.path} response did not match schema: ${e.message}`;case"state-identity":return`row of "${e.entity}" is missing identity field "${e.field}"`;case"setup-missing-row":return`setup returned no row for "${e.as}"`;case"driver-launch":return`browser driver failed to launch: ${e.message}`;case"action-failed":return`action "${e.action}" failed: ${e.message}`;case"check-failed":return`check failed: ${e.message}`;case"aborted":return"run aborted"}}function cm(e){throw new Error(ar(e))}function Ao(){}function II(e){let t=e.replaceAll(/\s+/gu," ").trim();return t.length<=em?t:`${t.slice(0,em)}\u2026 [truncated]`}function AI(e){return e===404?" \u2014 the engine adapter is not mounted at RIPPLO_ENGINE_URL (or the mount path differs). Verify the adapter is wired into the app server and ENABLE_RIPPLO_TESTING=true; `ripplo doctor` checks the endpoint.":e===403||e===401?" \u2014 the adapter rejected the request: ENABLE_RIPPLO_TESTING is not true in the app's env, or RIPPLO_WEBHOOK_SECRET differs between the app and .ripplo env.":""}function um(e){if(!(typeof e!="object"||e==null))return"code"in e&&typeof e.code=="string"?e.code:"cause"in e?um(e.cause):void 0}function Yn(e){return e instanceof Error?e.message:String(e)}var nc=ro(hm(),1),jq=nc.default.configure,Po=nc.default;function Me(e){return Po(e)??""}function Mr(e,t){return[...new Map(e.map(r=>[t(r),r])).values()]}function ic(e){return Mr(e,Me)}function mm(e){return Me(e)}var Zn=class extends Error{name="AbortError";constructor(){super("aborted")}};function gm(e){return e instanceof Error&&e.name==="AbortError"}function cr(e){if(e.aborted)throw new Zn}function oc(e,t){return t.aborted?Promise.reject(new Zn):new Promise((r,n)=>{let i=()=>{clearTimeout(o),n(new Zn)},o=setTimeout(()=>{t.removeEventListener("abort",i),r()},e);t.addEventListener("abort",i,{once:!0})})}function xm(e){return e.includes("async")?"async":e.includes("slow")?"slow":"fast"}var DI=()=>[];async function ac({canon:e,classify:t,initialSnapshot:r,lawObligations:n,observe:i,onAssertion:o,onStep:s,steps:a},l){return km({acc:[],canon:e,classify:t,index:0,lawObligations:n??DI,observe:i,onAssertion:o,onStep:s,signal:l,snapshot:r,steps:a})}async function km({acc:e,canon:t,classify:r,index:n,lawObligations:i,observe:o,onAssertion:s,onStep:a,signal:l,snapshot:c,steps:u}){cr(l);let d=u[n];if(d==null)return{finalModel:c,findings:e};let p=Date.now();if(!d.guard(c)){let h={kind:"illegal-transition",step:d.step};return sc(a,{endMs:Date.now(),findings:[h],index:n,startMs:p}),{finalModel:c,findings:[...e,h]}}return d.perform().match(()=>_I({acc:e,canon:t,classify:r,index:n,lawObligations:i,observe:o,onAssertion:s,onStep:a,signal:l,snapshot:c,startMs:p,step:d,steps:u}),h=>{let f=To(h,d);return sc(a,{endMs:Date.now(),findings:[f],index:n,startMs:p}),Promise.resolve({finalModel:c,findings:[...e,f]})})}async function _I({acc:e,canon:t,classify:r,index:n,lawObligations:i,observe:o,onAssertion:s,onStep:a,signal:l,snapshot:c,startMs:u,step:d,steps:p}){let h=d.effect(c),f=await HI({canon:t,classify:r,observe:o,pre:c,predicted:h,signal:l,step:d}),m=[...d.obligations,...i(c,f.snapshot)],g=[...await jI({obligations:m,onAssertion:s,signal:l,step:d}),...f.findings];return sc(a,{endMs:Date.now(),findings:g,index:n,startMs:u}),km({acc:[...e,...g],canon:t,classify:r,index:n+1,lawObligations:i,observe:o,onAssertion:s,onStep:a,signal:l,snapshot:f.snapshot,steps:p})}async function jI({obligations:e,onAssertion:t,signal:r,step:n}){let i=[...new Map(e.map(s=>[mm(s.source),s])).values()],o=await Promise.all(i.map(async s=>({obligation:s,outcome:await FI(s,r)})));return o.forEach(s=>{VI(t,s.obligation,s.outcome,n)}),o.flatMap(s=>UI(s.obligation,s.outcome,n))}function FI(e,t){if(e.check.kind==="decided"){let r=e.check.passed?"passed":"failed";return Promise.resolve({kind:r})}return zI(e.budget,e.check.run,t)}function VI(e,t,r,n){e?.({outcome:BI(r),source:t.source,step:n.step})}function BI(e){return e.kind==="passed"?"passed":e.kind==="error"?"error":"failed"}function UI(e,t,r){return t.kind==="error"?[To(t.error,r)]:t.kind==="failed"?[{budget:e.budget,kind:"obligation",source:e.source,step:r.step}]:[]}function To(e,t){return{error:e,kind:"driver-error",step:t.step}}function sc(e,t){e?.(t)}var Xn={async:12e4,fast:5e3,slow:3e4},Cm={async:{backoffMs:[500,1e3,2e3,5e3],timeoutMs:Xn.async},fast:{backoffMs:[100,250,500,1e3],timeoutMs:Xn.fast},slow:{backoffMs:[250,500,1e3,2e3],timeoutMs:Xn.slow}};function Rm(e,t){return e.backoffMs[Math.min(t,e.backoffMs.length-1)]??0}function ym(e){return e().match(t=>({observed:t,ok:!0}),t=>({error:t,ok:!1}))}function WI(e,t,r){return r.reconcile==null?e:r.reconcile(e,t)}function bm({canon:e,pre:t,predicted:r,step:n},i){let o=n.verifyChanges==null?[]:n.verifyChanges(r,i),s=WI(r,i,n),a=o.map(l=>({divergence:l,pending:!0}));return{adopted:s,probed:[...a,...Jl({actual:i.snapshot,canon:e,pre:t,predicted:s})]}}function Em(e,t){return{budget:t.settle,divergence:e.divergence,kind:"consistency",pending:e.pending,step:t.step}}function wm(e,t,r){let n=e.probed.filter(i=>!i.pending&&r(i.divergence)==="strict");return n.length>0?{findings:n.map(i=>Em(i,t)),snapshot:e.adopted}:e.probed.length===0?{findings:[],snapshot:e.adopted}:null}function Sm(e,t,r){return{findings:[...e.probed.map(n=>Em(n,t)),...r],snapshot:e.adopted}}async function HI({canon:e,classify:t,observe:r,pre:n,predicted:i,signal:o,step:s}){let a=Cm[s.settle],l=Date.now()+a.timeoutMs,c=await ym(r);if(!c.ok)return{findings:[To(c.error,s)],snapshot:i};let u=bm({canon:e,pre:n,predicted:i,step:s},c.observed),d=0;for(;Date.now()<l;){cr(o);let p=wm(u,s,t);if(p!=null)return p;await oc(Rm(a,d),o),d+=1;let h=await ym(r);if(!h.ok)return Sm(u,s,[To(h.error,s)]);u=bm({canon:e,pre:n,predicted:i,step:s},h.observed)}return wm(u,s,t)??Sm(u,s,[])}async function zI(e,t,r){let n=Cm[e],i=Date.now()+n.timeoutMs,o=await vm(t),s=0;for(;o.kind==="pending"&&Date.now()<i;)cr(r),await oc(Rm(n,s),r),s+=1,o=await vm(t);return o.kind==="pending"?{kind:"failed"}:o}function vm(e){return e().match(t=>t?{kind:"passed"}:{kind:"pending"},t=>({error:t,kind:"error"}))}import{z as GI}from"zod";var cc=GI.string().brand(),le=cc.parse("");function _t(e){return cc.parse(e)}function Rt(e,t){return cc.parse(e.length===0?t:`${e}.${t}`)}function We(e){return Yr.safeParse(e).success}function ur(e){return typeof e=="object"&&e!==null&&"template"in e}function lc(e,t,r){let n=Rt(t,e.ref);if(!r.has(n))throw new Error(`unresolved binding ref "${n}"`);return r.get(n)??null}function Oo(e,t,r){return qI(e).every(n=>r.has(Rt(t,n)))}function ft(e,t,r){return typeof e=="string"?e:We(e)?String(lc(e,t,r)):e.template.map(n=>typeof n=="string"?n:String(lc(n,t,r))).join("")}function ht(e,t,r){return e===null||typeof e=="number"||typeof e=="boolean"?e:We(e)?lc(e,t,r):ft(e,t,r)}function Im(e,t){return ht(e,le,t)}function Qn(e){return Po(e)}function Qr(e,t,r){return Object.fromEntries(Object.entries(e).map(([n,i])=>[n,ht(i,t,r)]))}function qI(e){return e==null||typeof e!="object"?[]:ur(e)?e.template.flatMap(t=>typeof t=="string"?[]:[t.ref]):[e.ref]}function dr(e){return typeof e=="object"&&e!==null&&"kind"in e}function Nr(e){return Object.fromEntries(Object.entries(e).filter(t=>!dr(t[1])))}function Am(e,t,r){return t.reduce((n,i)=>KI(n,i,r,e),e)}function Pm(e,t){return Object.keys(t).length===0?e:{...e,singletons:{...e.singletons,...t}}}function KI(e,t,r,n){if(!YI(t,r))return e;if(t.assertion.kind==="created"){let o=Qr(t.assertion.props,le,r);return JI(e,t.entity,Qn(o),o)}if(t.assertion.kind==="deleted")return uc(e,t.entity,eA(t.key,r,n));let i=Qr(Nr(t.assertion.props),le,r);return uc(e,t.entity,tA(t.key,i,r,n))}function YI(e,t){return("props"in e.assertion?[e.key,Nr(e.assertion.props)]:[e.key]).every(n=>Object.values(n).every(i=>Mm(i)||!We(i)||t.has(_t(i.ref))))}function JI(e,t,r,n){let i=new Map([...e.entities.get(t)??[],[r,n]]);return{...e,entities:new Map([...e.entities,[t,i]])}}function uc(e,t,r){let n=r(e.entities.get(t)??new Map);return{...e,entities:new Map([...e.entities,[t,n]])}}function ei(e,t,r,n){let i={env:n,key:r,snapshot:e};return[...(e.entities.get(t)??new Map).values()].filter(o=>No(o,i))}function Tm(e,t,r,n,i){let o={env:n,key:r,snapshot:e};return uc(e,t,s=>new Map([...s].map(([a,l])=>[a,No(l,o)?i(l):l])))}function No(e,t){return Object.entries(t.key).every(([r,n])=>Om(e[r],n,t))}function Om(e,t,r){return Mm(t)?ZI(t,r).has(Mo(e)):Mo(e)===Mo(QI(t,r.env))}function Mm(e){return typeof e=="object"&&e!==null&&"kind"in e}function ZI(e,t){let r=t.snapshot.entities.get(e.selection.entity);return r==null?new Set:new Set([...r.values()].filter(n=>XI(n,e.selection.where,t)).map(n=>Mo(n[e.field])))}function XI(e,t,r){return Object.entries(t).every(([n,i])=>Om(e[n],i,r))}function Mo(e){return e==null?"\u2205":e instanceof Date?e.toISOString():JSON.stringify(e)}function QI(e,t){return ht(e,le,t)}function eA(e,t,r){let n={env:t,key:e,snapshot:r};return i=>new Map([...i].filter(([,o])=>!No(o,n)))}function tA(e,t,r,n){let i={env:r,key:e,snapshot:n};return o=>new Map([...o].map(([s,a])=>No(a,i)?[s,{...a,...t}]:[s,a]))}function $m(e){let t=e.predicates.filter(o=>Fm(o)),r=t.filter(o=>o.assertion.kind==="created"),n=jm(t);if(r.length===0&&n.length===0&&e.deferred.length===0&&e.adopt.length===0)return;let i=t.filter(o=>o.assertion.kind==="updated");return(o,s)=>{let a=r.reduce((u,d)=>lA(u,s,d,e.env),{env:e.env,snapshot:o}),l=n.reduce((u,d)=>aA(u,s,d,e.env),a.snapshot),c=i.reduce((u,d)=>nA(u,s,d),a.env);return rA(uA(l,e.deferred,c),s,e.adopt)}}function rA(e,t,r){if(r.length===0)return e;let n=r.reduce((i,o)=>{let s=t.snapshot.singletons[o];return s===void 0?i:{...i,[o]:s}},e.singletons);return{...e,singletons:n}}function Dm(e,t,r){return new Map([...e,...Object.entries(r).map(([n,i])=>[Rt(le,`${t}.${n}`),i])])}function nA(e,t,r){let n=ei(t.snapshot,r.entity,r.key,e).at(0);return n==null?e:Dm(e,r.assertion.as,n)}function _m(e){let t=jm(e.predicates.filter(r=>Fm(r)));if(t.length!==0)return(r,n)=>t.flatMap(i=>iA(i,r,n,e.env))}function jm(e){return e.filter(t=>t.assertion.kind==="updated"&&dc(t.assertion.props).length>0)}function dc(e){return Object.entries(e).filter(([,t])=>dr(t)).map(([t])=>t)}function Fm(e){return e.assertion.kind==="created"||e.assertion.kind==="updated"}function iA(e,t,r,n){let i=ei(t,e.entity,e.key,n).at(0),o=ei(r.snapshot,e.entity,e.key,n).at(0);if(i==null||o==null)return[];let s=Qn(oA(e.key,n));return dc(e.assertion.props).flatMap(a=>Nm(i[a])===Nm(o[a])?[{entity:e.entity,field:a,key:s,kind:"expected-change",value:o[a]}]:[])}function oA(e,t){let r=Object.fromEntries(Object.entries(e).filter(n=>!sA(n[1])));return Qr(r,le,t)}function sA(e){return typeof e=="object"&&e!==null&&"kind"in e}function Nm(e){return e==null?"\u2205":JSON.stringify(e)}function aA(e,t,r,n){let i=dc(r.assertion.props),o=ei(t.snapshot,r.entity,r.key,n).at(0);return o==null?e:Tm(e,r.entity,r.key,n,s=>({...s,...Object.fromEntries(i.flatMap(a=>{let l=o[a];return l===void 0?[]:[[a,l]]}))}))}function lA(e,t,r,n){if(r.assertion.kind!=="created")return e;let i=Qr(r.assertion.props,le,n),o=Qn(i),s=e.snapshot.entities.get(r.entity);if(s==null||!s.has(o))return e;let a=cA(t.snapshot.entities.get(r.entity),s,i);if(a==null)return e;let[l,c]=a,u=new Map(s);return u.delete(o),u.set(l,c),{env:Dm(e.env,r.assertion.as,c),snapshot:{...e.snapshot,entities:new Map(e.snapshot.entities).set(r.entity,u)}}}function cA(e,t,r){if(e!=null)return[...e].find(([n,i])=>!t.has(n)&&Object.entries(r).every(([o,s])=>Lm(i[o])===Lm(s)))}function Lm(e){return e==null?"\u2205":JSON.stringify(e)}function uA(e,t,r){let n=t.reduce((i,o)=>{let s=dA(o.value,r);return s==null?i:{...i,[o.name]:Xr(o.name,s)}},e.singletons);return{...e,singletons:n}}function dA(e,t){try{return ft(e,le,t)}catch{return}}function Lo(e,t){if(e.kind==="visible"||e.kind==="disabled"||e.kind==="enabled"||e.kind==="focused")return{kind:e.kind,locator:ti(e.locator,t)};if(e.kind==="not"){let r=Lo(e.predicate,t);return r==null?null:{inner:r,kind:"not"}}return e.kind==="value"||e.kind==="text"?{kind:e.kind,locator:ti(e.locator,t),value:ft(e.value,le,t)}:e.kind!=="browser"?null:{kind:"browser",name:e.name,value:ft(e.value,le,t)}}function ri(e,t){let r=e.expect.filter(l=>l.kind==="state"),n=bA(r),{adopt:i,conditional:o,deferred:s,immediate:a}=hA(e,t,n);return{action:wA(e.action,t),label:e.action.kind,obligations:e.expect.flatMap(l=>vA(l,t)),reconcile:$m({adopt:i,deferred:s,env:t,predicates:r}),verifyChanges:_m({adopt:i,deferred:s,env:t,predicates:r}),effect:l=>{let c=Am(l,r,t),u=o.reduce((d,p)=>({...d,...pc(p,c,t)}),{});return Pm(c,{...a,...u})}}}function ti(e,t){return e.by==="role"?{by:"role",name:e.name==null?void 0:ft(e.name,le,t),role:e.role}:e.by==="inside"?{by:"inside",scope:ti(e.scope,t),target:ti(e.target,t)}:{by:"testId",value:ft(e.value,le,t)}}function pc(e,t,r){return e==null?{}:e.kind==="when"?fc(e.condition,t,r)?pc(e.consequence,t,r):pc(e.otherwise,t,r):fA(e,r)}function fc(e,t,r){if(!pA(e))throw new Error(`when() condition cannot be a "${e.kind}" predicate`);switch(e.kind){case"singleton":return t.singletons[e.singleton]===ht(e.assertion.value,le,r);case"count":return(t.entities.get(e.entity)?.size??0)===e.value;case"not":return!fc(e.predicate,t,r);case"and":return e.predicates.every(n=>fc(n,t,r))}}function pA(e){return e.kind==="singleton"||e.kind==="count"||e.kind==="not"||e.kind==="and"}function fA(e,t){if(e.kind!=="browser"&&e.kind!=="singleton")return{};let r=e.kind==="browser"?e.value:e.assertion.value;return Oo(r,le,t)?Vm(e,t):{}}function hA(e,t,r){let n=e.action.kind==="goto"&&!e.expect.some(s=>s.kind==="browser"&&s.name==="url"),i=e.action.kind==="goto"&&!n?{url:sr(ft(e.action.url,le,t))}:{},o=n?["url"]:[];return e.expect.reduce((s,a)=>a.kind==="browser"&&mA(a.value,r)?{...s,deferred:[...s.deferred,{name:a.name,value:a.value}]}:a.kind==="browser"||a.kind==="singleton"?{...s,immediate:{...s.immediate,...Vm(a,t)}}:a.kind==="when"?{...s,conditional:[...s.conditional,a]}:s,{adopt:o,conditional:[],deferred:[],immediate:i})}function mA(e,t){return gA(e).some(r=>t.has(r.split(".")[0]??r))}function gA(e){return typeof e=="string"?[]:We(e)?[e.ref]:e.template.filter(t=>typeof t!="string").map(t=>t.ref)}function Vm(e,t){if(e.kind==="browser")return{[e.name]:yA(e,t)};if(e.kind==="singleton")return{[e.singleton]:ht(e.assertion.value,le,t)};throw new Error("when() consequence must be a url (browser) or singleton assertion")}function yA(e,t){return Xr(e.name,ft(e.value,le,t))}function bA(e){return new Set(e.flatMap(t=>t.assertion.kind==="created"||t.assertion.kind==="updated"?[t.assertion.as]:[]))}function wA(e,t){return{files:e.kind==="upload"?e.files:void 0,key:e.kind==="press"?e.key:void 0,kind:e.kind,locator:SA(e,t),url:e.kind==="goto"?ft(e.url,le,t):void 0,value:"value"in e?Im(e.value,t):void 0}}function SA(e,t){if(!(!("locator"in e)||e.locator==null))return ti(e.locator,t)}function vA(e,t){if(e.kind==="browser"||e.kind==="singleton")return[];let r=Lo(e,t),n="wait"in e?e.wait??"fast":"fast";return r==null?[]:[{budget:n,check:r}]}import{err as xA,ok as kA,okAsync as dK,Result as CA}from"neverthrow";function hc(e,t,r){let n=e.tests.find(a=>a.name===t);if(n==null)throw new Error(`test "${t}" not found in lockfile`);let i=IA(e),o={env:new Map,generate:r.generate,indexed:i,overrides:new Map(Object.entries(r.params??{}).map(([a,l])=>[_t(a),l]))};AA(n.params,le,o);let s=n.world.map(a=>PA(a,le,o));return r.materialize(s).map(a=>RA(NA(a,o.env,i),n,e))}function mc(e){return t=>{let r=t.map(n=>({as:n.as,entity:n.entity,fields:n.fields}));return e(r).andThen(n=>EA(t,n))}}function Bm(e,t){let r=$o(t);return Object.fromEntries(Object.entries(e).filter(([n,i])=>r.includes(n)&&i!=null))}function $o(e){return Object.entries(e.props).filter(([,t])=>t.stable).map(([t])=>t)}function RA(e,t,r){let n=Object.fromEntries(r.singletons.map(l=>[l.name,l.default])),i=Object.fromEntries(Object.entries(t.singletons).map(([l,c])=>[l,ht(c,le,e.env)])),o={...n,...i},s=new Set(r.singletons.filter(l=>l.source==="client").map(l=>l.name)),a=Object.fromEntries(Object.entries(o).filter(([l])=>s.has(l)));return{...e,clientState:a,snapshot:{...e.snapshot,singletons:o}}}function EA(e,t){let r=new Map(t.map(n=>[n.as,n]));return CA.combine(e.map(n=>{let i=r.get(n.as);return i==null?xA(om(n.as)):kA({as:n.as,entity:n.entity,row:i.row,session:i.session})}))}function IA(e){return{models:new Map(e.entities.map(t=>[t.name,t])),valueSpaces:new Map(e.valueSpaces.map(t=>[t.name,t]))}}function AA(e,t,r){Object.entries(e).forEach(([n,i])=>{let o=Rt(t,n),s=r.indexed.valueSpaces.get(i.valueSpace);if(s==null)throw new Error(`unknown valueSpace "${i.valueSpace}" for param "${o}"`);let a=r.overrides.get(o)??i.example??r.generate.value({anchor:void 0,constraints:s.constraints,generator:s.generator,nullable:!1,seed:o,type:s.type,values:s.values,valueSpace:i.valueSpace});r.env.set(o,a)})}function PA(e,t,r){let n=r.indexed.models.get(e.entity);if(n==null)throw new Error(`model "${e.entity}" not found for setup "${e.as}"`);let i=Rt(t,e.as),o=TA(e.set,t,r.env);return{as:i,entity:e.entity,fields:{...MA(n,o,i,r),...o},model:n,seedPrefix:i}}function TA(e,t,r){return Object.fromEntries(Object.entries(e).map(([n,i])=>[n,OA(i,t,r)]))}function OA(e,t,r){if(!We(e))return e;let n=Rt(t,e.ref);return r.get(n)??{ref:n}}function MA(e,t,r,n){return Object.fromEntries(Object.entries(e.props).filter(([i,o])=>!o.optional&&!e.identity.includes(i)&&!(i in t)).map(([i,o])=>[i,$A({field:i,generate:n.generate,model:e,seedPrefix:r,spec:o,valueSpaces:n.indexed.valueSpaces})]))}function NA(e,t,r){let n=new Map,i=e.flatMap(o=>{let s=r.models.get(o.entity);if(s==null)throw new Error(`model "${o.entity}" not found for setup "${o.as}"`);Object.entries(o.row).forEach(([l,c])=>t.set(Rt(_t(o.as),l),c));let a=n.get(o.entity)??new Map;return a.set(DA(o.row,s),Bm(o.row,s)),n.set(o.entity,a),o.session==null?[]:[o.session]});return{auth:LA(i),env:t,snapshot:{entities:_A(n),singletons:{}}}}function LA(e){if(e.length===0)return;let t=e.flatMap(r=>Object.entries(r.headers??{}));return{cookies:e.flatMap(r=>r.cookies),headers:t.length===0?void 0:Object.fromEntries(t),origins:e.flatMap(r=>r.origins)}}function $A({field:e,generate:t,model:r,seedPrefix:n,spec:i,valueSpaces:o}){let s=`${r.name}.${e}`;return t.value({anchor:void 0,constraints:o.get(s)?.constraints,generator:o.get(s)?.generator??"lorem.word",nullable:i.optional,seed:Rt(n,e),type:i.type,values:o.get(s)?.values,valueSpace:s})}function DA(e,t){return t.identity.map(r=>String(e[r])).join(":")}function _A(e){return new Map([...e].map(([t,r])=>[t,new Map(r)]))}function jt(e){return`${e.test}#${String(e.index)}`}function en(e){let t=e.tests.flatMap(r=>Do(e,r.name));return Mr(t,r=>`${r.test}:${Me(r.steps)}`)}function Do(e,t){let r=Km(e,t),n=Hm(r,e),i=Um(n,r.singletons),o=sP(r,oP(e));return jA(i,aP(r.steps),n).map(({chunk:a,guard:l},c)=>nP({chunk:a,guard:l,index:c,intent:r.intent,namespace:n.namespace,paramSpaceOf:o,testName:t}))}function Um(e,t){return{absences:tP(e),entities:rP(e),exclusives:e.exclusives,optionals:qm(e.optionals,e),singletons:Object.fromEntries(Object.entries(t).filter(([,r])=>!We(r)&&!ur(r)))}}function _o(e,t,r){return Object.values(e).flatMap(n=>We(n)?yc(n.ref,r):[]).find(n=>n.entity===t)?.aliasPath}function jA(e,t,r){return t.reduce((n,i)=>({guard:FA(n.guard,i,r),guarded:[...n.guarded,{chunk:i,guard:ZA(n.guard,i)}]}),{guard:e,guarded:[]}).guarded}function FA(e,t,r){let n=t.flatMap(i=>i.expect.filter(o=>o.kind==="state")).reduce((i,o)=>VA(i,o,r),e);return{...n,singletons:{...n.singletons,...KA(t)}}}function VA(e,t,r){return t.assertion.kind==="deleted"?BA(e,t,r):t.assertion.kind==="created"?HA(e,t.entity,t.assertion.as,t.assertion.props,r):GA(e,t,r)}function BA(e,t,r){let n=_o(t.key,t.entity,r.namespace),i=e.entities.find(a=>a.alias===n),o=ni(UA(t.key),t.entity,r),s=i==null?{entity:t.entity,...o}:{entity:i.entity,...WA(i,o)};return{...e,absences:[...e.absences,s],entities:e.entities.filter(a=>a.alias!==n)}}function UA(e){return Object.fromEntries(Object.entries(e).flatMap(t=>{let r=t[1];return Gm(r)?[]:[[t[0],r]]}))}function WA(e,t){return{literals:{...e.literals,...t.literals},relations:[...e.relations.filter(r=>!t.relations.some(n=>n.field===r.field)),...t.relations]}}function HA(e,t,r,n,i){let o=ni(n,t,i);return{...e,absences:e.absences.filter(s=>s.entity!==t||!zA(o,s)),entities:[...e.entities,{alias:r,entity:t,...o}]}}function zA(e,t){return Object.entries(t.literals).every(([n,i])=>e.literals[n]===i)&&t.relations.every(n=>e.relations.some(i=>i.field===n.field&&i.targetAlias===n.targetAlias&&i.targetField===n.targetField))}function GA(e,t,r){if(t.assertion.kind!=="updated")return e;let n=_o(t.key,t.entity,r.namespace);if(n==null)return e;let i=ni(Nr(t.assertion.props),t.entity,r),o=Object.entries(t.assertion.props).filter(([,a])=>dr(a)).map(([a])=>a),s=a=>a.alias===n?qA(a,i,o):a;return{...e,entities:e.entities.map(a=>s(a)),optionals:e.optionals.map(a=>s(a))}}function qA(e,t,r){let n=Object.entries(e.literals).filter(([i])=>!r.includes(i)&&!(i in t.literals));return{...e,literals:{...Object.fromEntries(n),...t.literals},relations:[...e.relations.filter(i=>!t.relations.some(o=>o.field===i.field)),...t.relations]}}function KA(e){return e.reduce((t,r)=>({...t,...YA(r),...JA(r)}),{})}function YA(e){return e.action.kind==="goto"?{url:e.action.url}:{}}function JA(e){return Object.fromEntries(e.expect.flatMap(t=>t.kind==="browser"?[[t.name,t.value]]:t.kind==="singleton"?[[t.singleton,t.assertion.value]]:[]))}function ZA(e,t){return t[0]?.action.kind!=="goto"?e:{...e,singletons:Object.fromEntries(Object.entries(e.singletons).filter(([r])=>r!=="url"))}}function jo(e,t){let r=Km(e,t),n=Hm(r,e);return{guard:Um(n,r.singletons),namespace:n.namespace,stable:n.stable}}function Wm(e,t){return[...new Set(e)].flatMap(r=>yc(r,t))}function mt(e){return We(e)?[e.ref]:ur(e)?e.template.flatMap(t=>We(t)?[t.ref]:[]):[]}function pr(e){switch(e.kind){case"visible":case"disabled":case"enabled":case"focused":return fr(e.locator);case"value":case"text":return[...fr(e.locator),...mt(e.value)];case"singleton":return mt(e.assertion.value);case"browser":return mt(e.value);case"state":return[...e.assertion.kind==="deleted"?[]:Object.values(Nr(e.assertion.props)).flatMap(t=>mt(t)),...Object.values(e.key).flatMap(t=>zm(t))];case"not":return pr(e.predicate);case"when":return[...pr(e.condition),...pr(e.consequence),...e.otherwise==null?[]:pr(e.otherwise)];case"and":return e.predicates.flatMap(t=>pr(t));case"count":return[]}}function Hm(e,t){return{absences:e.absent,exclusives:e.exclusive,namespace:new Map([...e.world,...e.maybe].map(r=>[r.as,r.entity])),optionals:e.maybe,setups:e.world,stable:XA(t)}}function XA(e){let t=new Map(e.entities.map(r=>[r.name,r]));return(r,n)=>t.get(r)?.props[n]?.stable===!0}function fr(e){return e.by==="inside"?[...fr(e.scope),...fr(e.target)]:e.by==="role"?e.name==null?[]:mt(e.name):mt(e.value)}function zm(e){return Gm(e)?Object.values(e.selection.where).flatMap(t=>zm(t)):mt(e)}function Gm(e){return typeof e=="object"&&e!==null&&"kind"in e}function QA(e){return e.kind==="goto"?mt(e.url):e.kind==="fill"||e.kind==="select"?[...fr(e.locator),...mt(e.value)]:e.kind==="press"?e.locator==null?[]:fr(e.locator):(e.kind==="upload",fr(e.locator))}function eP(e){return[...QA(e.action),...e.expect.flatMap(t=>pr(t))]}function tP(e){return e.absences.map(t=>({entity:t.entity,...ni(t.where,t.entity,e)}))}function ni(e,t,r){let n=Object.entries(e).filter(([s])=>r.stable(t,s)),i=Object.fromEntries(n.flatMap(([s,a])=>We(a)||ur(a)?[]:[[s,a]])),o=n.flatMap(s=>{let a=s[1];if(!We(a))return[];let l=yc(a.ref,r.namespace).at(0);return l==null?[]:[{entity:l.entity,field:s[0],targetAlias:l.aliasPath,targetField:l.field}]});return{literals:i,relations:o}}function qm(e,t){return e.map(r=>({alias:r.as,entity:r.entity,...ni(r.set,r.entity,t)}))}function rP(e){return qm(e.setups,e)}function nP(e){let t=e.chunk.findIndex(s=>s.action.kind!=="goto"),r=t===-1?e.chunk:e.chunk.slice(0,t),n=e.chunk.slice(r.length),i=n.at(-1)??e.chunk.at(-1);if(i==null)throw new Error("empty transition chunk");let o=[...new Set(e.chunk.flatMap(s=>eP(s)))];return{effectStep:i,guard:e.guard,index:e.index,intent:e.intent,namespace:e.namespace,nav:r,paramSpaces:Object.fromEntries(o.filter(s=>e.paramSpaceOf.has(s)).map(s=>[s,e.paramSpaceOf.get(s)])),steps:n,test:e.testName,wait:xm(n.flatMap(s=>iP(s)))}}function iP(e){return e.expect.flatMap(t=>t.kind==="state"&&t.wait!=null?[t.wait]:[])}function yc(e,t){let r=e.lastIndexOf(".");if(r===-1)return[];let n=e.slice(0,r),i=t.get(n);return i==null?[]:[{aliasPath:n,entity:i,field:e.slice(r+1),ref:e}]}function Km(e,t){let r=e.tests.find(n=>n.name===t);if(r==null)throw new Error(`test "${t}" not found in lockfile`);return r}function oP(e){return new Map(e.valueSpaces.map(t=>[t.name,t]))}function sP(e,t){return new Map(Object.entries(e.params).map(([r,n])=>[r,t.get(n.valueSpace)]))}function aP(e){return gc(e,0,[],[])}function gc(e,t,r,n){let i=e[t];if(i==null)return r.length===0?n:[...n,r];let o=[...r,i];return lP(i)?gc(e,t+1,[],[...n,o]):gc(e,t+1,o,n)}function lP(e){return e.expect.some(t=>t.kind==="state")}function Ym(e){return Jm(e,new Map)}function cP(e,t){return e.reduce((r,n)=>r??t(n),null)}function Jm(e,t){let r=e.variables.find(n=>!t.has(n));return r==null?t:cP(e.domain(r),n=>{let i=new Map([...t,[r,n]]);return e.consistent(i)?Jm(e,i):null})}function Et(e,t){let r=uP(e,t);if(r==null)return null;let n=gP(r);return yP(e.singletons,t,n)?n:null}function uP(e,t){let{absences:r,entities:n,exclusives:i,optionals:o}=e,s=new Map(n.map(c=>[c.alias,c])),a=Ym({variables:n.map(c=>c.alias),consistent:c=>dP(c)&&pP(n,c)&&hP(r,c,t),domain:c=>Qm(s.get(c),t)});if(a==null)return null;let l=eg(o,a,t);return mP(i,[...n,...o],l,t)?l:null}function dP(e){let t=[...e.values()];return new Set(t).size===t.length}function pP(e,t){return e.every(r=>t.has(r.alias)?r.relations.every(n=>fP(r,n,t)):!0)}function fP(e,t,r){if(!r.has(t.targetAlias))return!0;let n=r.get(t.targetAlias)?.[t.targetField];return n==null?!0:r.get(e.alias)?.[t.field]===n}function hP(e,t,r){return e.every(n=>![...r.entities.get(n.entity)?.values()??[]].some(i=>Zm(i,n,t)))}function Zm(e,t,r){return Xm(e,t)?t.relations.every(n=>{if(!r.has(n.targetAlias))return!1;let i=r.get(n.targetAlias)?.[n.targetField];return i!=null&&e[n.field]===i}):!1}function Xm(e,t){return Object.entries(t.literals).every(([r,n])=>n===null?e[r]==null:e[r]===n)}function Qm(e,t){return e==null?[]:[...t.entities.get(e.entity)?.values()??[]].filter(r=>Xm(r,e))}function eg(e,t,r){let n=e.reduce((i,o)=>{if(i.has(o.alias))return i;let s=new Set(i.values()),a=Qm(o,r).find(l=>!s.has(l)&&Zm(l,o,i));return a==null?i:new Map([...i,[o.alias,a]])},t);return n.size===t.size?n:eg(e,n,r)}function mP(e,t,r,n){return e.every(i=>{let o=t.filter(a=>a.entity===i&&r.has(a.alias)).length;return(n.entities.get(i)?.size??0)===o})}function gP(e){return new Map([...e].flatMap(([t,r])=>Object.entries(r).flatMap(n=>{let i=n[1];return typeof i=="string"||typeof i=="number"||typeof i=="boolean"?[[_t(`${t}.${n[0]}`),i]]:[]})))}function yP(e,t,r){return Object.entries(e).every(([n,i])=>{if(!Oo(i,le,r))return!1;let o=ht(i,le,r),s=t.singletons[n],a=Nt.safeParse(n);return a.success?Yl(a.data,o,s):s===o})}function Vo(e,t,r){let n=Et(e.guard,t);return n==null?null:new Map([...n,...Object.entries(r).map(([i,o])=>[_t(i),o])])}function Bo(e,t){let r=ri(e.effectStep,t),n=SP(e,t),i=[...e.nav,...e.steps].map(o=>ri(o,t));return{effect:vP(r.effect,n),steps:i.map(o=>({action:o.action,effect:o.effect,obligations:o.obligations,reconcile:o.reconcile,verifyChanges:o.verifyChanges}))}}function bc(e,t,r){return Et(e.guard,r)==null?!1:Fo(t(r))!==Fo(r)||xP(e)||bP(e)}function bP(e){return[...e.nav,...e.steps].every(t=>t.expect.every(r=>r.kind!=="state"))}var tg=new WeakMap;function Fo(e){let t=tg.get(e);if(t!=null)return t;let r=Me({entities:[...e.entities].map(([n,i])=>[n,[...i]]),singletons:wP(e.singletons)});return tg.set(e,r),r}function wP(e){return Object.fromEntries(Object.entries(e).map(([t,r])=>t==="url"&&typeof r=="string"?[t,sr(r)]:[t,r]))}function SP(e,t){let r=e.nav.at(-1);return r==null?void 0:ri(r,t).action.url}function vP(e,t){if(t==null)return e;let r=sr(t);return n=>{let i=e(n);return{...i,singletons:{...i.singletons,url:r}}}}function xP(e){return e.effectStep.expect.some(t=>t.kind==="state"&&t.assertion.kind==="updated"&&Object.values(t.assertion.props).some(r=>dr(r)))}function rg(e,t,r){let n=Vo(e,t.snapshot,r);if(n==null)return null;let i=kP(e,n);return i==null||!bc(e,i.effect,t.snapshot)?null:{next:{snapshot:i.effect(t.snapshot)},resolved:i}}function ng(e,t,r){let n=Vo(e,t.snapshot,r);if(n==null)return"guard-unsatisfied";try{return Bo(e,n),"no-effect"}catch{return"unresolvable"}}function kP(e,t){try{return Bo(e,t)}catch{return null}}var CP={absences:[],entities:[],exclusives:[],optionals:[],singletons:{}};function ii(e){return{...CP,...e}}function wc(e){return RP(e).flatMap(t=>EP(t))}function RP(e){return[...e.reduce((r,n)=>{let i=Me([n.when.singletons,n.consequence]);return new Map([...r,[i,[...r.get(i)??[],n]]])},new Map).values()]}function EP(e){if(e.length<2)return[];let t=e.map(o=>new Set(o.when.entities.map(s=>ig(s)))),[r]=t;if(r==null)return[];let n=[...r].filter(o=>t.every(s=>s.has(o))),i=e.toSorted((o,s)=>o.when.entities.length-s.when.entities.length)[0];return i==null||n.length===i.when.entities.length?[]:IP(i,n,PP(e))}function ig(e){return Me([e.entity,e.literals])}function IP(e,t,r){let n=e.when.entities.filter(s=>t.includes(ig(s))),i=new Set(n.map(s=>s.alias));if(![...e.refs].every(s=>i.has(s)))return[];let o=ii({entities:n.map(s=>AP(s,i)),optionals:e.when.optionals.filter(s=>i.has(s.alias)),singletons:e.when.singletons});return[{consequence:e.consequence,origin:{kind:"generalized",tests:r},refs:e.refs,when:o}]}function AP(e,t){return{...e,relations:e.relations.filter(r=>t.has(r.targetAlias))}}function PP(e){return[...new Set(e.flatMap(t=>t.origin==null?[]:t.origin.kind==="generalized"?t.origin.tests:[t.origin.test]))]}function xc(e){return e.flatMap((t,r)=>e.slice(r+1).flatMap(n=>lg(t,n)))}function ag(e,t){return lg(e,t).length>0}function lg(e,t){let r=og(e.when,t.when);return!r&&!og(t.when,e.when)||!OP(e.consequence,t.consequence)?[]:[{a:e.consequence,b:t.consequence,when:r?t.when:e.when}]}function og(e,t){return Sc(e.entities,t.entities)&&Sc(e.absences,t.absences)&&Sc(e.optionals,t.optionals)&&e.exclusives.every(r=>t.exclusives.includes(r))&&TP(e.singletons,t.singletons)}function Sc(e,t){let r=new Set(t.map(n=>Me(n)));return e.every(n=>r.has(Me(n)))}function TP(e,t){return Object.entries(e).every(([r,n])=>Me(t[r])===Me(n))}function OP(e,t){return e.kind==="not"?vc(e.predicate,t):t.kind==="not"?vc(e,t.predicate):MP(e,t)||NP(e,t)}function vc(e,t){return e.kind===t.kind&&"locator"in e&&"locator"in t&&cg(e,t)}function cg(e,t){return"locator"in t&&Me(e.locator)===Me(t.locator)}function MP(e,t){let r=new Set([e.kind,t.kind]);return r.has("enabled")&&r.has("disabled")&&"locator"in e&&"locator"in t?cg(e,t):!1}function NP(e,t){let r=sg(e),n=sg(t);return r==null||n==null||e.kind!==t.kind?!1:vc(e,t)&&Me(r)!==Me(n)}function sg(e){return e.kind==="value"||e.kind==="text"?e.value:null}function kc(e,t){return e.flatMap(r=>{let n=LP(r),i=new Set(r.guard.absences.map(o=>o.entity));return t.flatMap(o=>$P(r,o,n,i))})}function LP(e){return new Set(e.steps.flatMap(t=>t.expect.flatMap(r=>r.kind==="state"&&r.assertion.kind==="deleted"?[r.entity]:[])))}function $P(e,t,r,n){let{source:i,target:o}=t.reference;return!r.has(o)||r.has(i)||n.has(i)?[]:[{invariant:t,source:i,target:o,transition:jt(e)}]}function Rc(e){return Me({consequence:e.consequence,when:e.when})}function Ec(e){let t=[...DP(e),...GP(e)],r=wc(t).reduce((n,i)=>[...t,...n].some(s=>ag(i,s))?n:[...n,i],[]);return Mr([...t,...r],Rc)}function Ic(e){return e.kind==="not"?Ic(e.predicate):e.kind==="visible"||e.kind==="disabled"||e.kind==="enabled"||e.kind==="focused"||e.kind==="value"||e.kind==="text"}function Ac(e,t,r){if(Et(e.when,t)!=null)return null;let n=Et(e.when,r);return n==null?null:KP(e,n)}function DP(e){return Mr(e.tests.flatMap(t=>_P(e,t)),Rc)}function _P(e,t){let r=jo(e,t.name);return t.steps.reduce((n,i)=>({guard:jP(n.guard,i,r),laws:[...n.laws,...zP(i,n.guard,r.namespace,{kind:"test",test:t.name})]}),{guard:r.guard,laws:[]}).laws}function jP(e,t,r){return t.expect.reduce((n,i)=>i.kind==="state"?FP(n,i,r):n,e)}function FP(e,t,r){if(t.assertion.kind==="created"){let o=VP(t.assertion.as,t.entity,t.assertion.props,r);return{...e,entities:[...e.entities,o]}}let n=_o(t.key,t.entity,r.namespace);if(n==null)return e;if(t.assertion.kind==="deleted")return WP(e,n);let i=Nr(t.assertion.props);return{...e,entities:e.entities.map(o=>o.alias===n?Cc(o,i,r):o),optionals:e.optionals.map(o=>o.alias===n?Cc(o,i,r):o)}}function VP(e,t,r,n){return Cc({alias:e,entity:t,literals:{},relations:[]},r,n)}function Cc(e,t,r){return Object.entries(t).reduce((n,[i,o])=>{if(ur(o)||!r.stable(e.entity,i))return n;if(We(o)){let s=BP(o.ref,i,r.namespace);return{...n,literals:UP(n.literals,i),relations:s==null?n.relations:[...ug(n.relations,i),s]}}return{...n,literals:{...n.literals,[i]:o},relations:ug(n.relations,i)}},e)}function BP(e,t,r){let n=e.lastIndexOf(".");if(n===-1)return;let i=e.slice(0,n),o=r.get(i);return o==null?void 0:{entity:o,field:t,targetAlias:i,targetField:e.slice(n+1)}}function UP(e,t){return Object.fromEntries(Object.entries(e).filter(([r])=>r!==t))}function ug(e,t){return e.filter(r=>r.field!==t)}function WP(e,t){let r=[...e.entities,...e.optionals].find(i=>i.alias===t),n=HP(e,t);return r==null?n:{...n,absences:[...n.absences,{entity:r.entity,literals:r.literals,relations:r.relations}]}}function HP(e,t){return{...e,entities:e.entities.filter(r=>r.alias!==t),optionals:e.optionals.filter(r=>r.alias!==t)}}function zP(e,t,r,n){if(e.action.kind!=="goto")return[];let i=e.action.url;return e.expect.filter(o=>Ic(o)).map(o=>dg({consequence:o,guard:t,namespace:r,origin:n,url:i}))}function dg({consequence:e,guard:t,namespace:r,origin:n,url:i}){return{consequence:e,origin:n,refs:new Set(Wm([...mt(i),...pr(e)],r).map(o=>o.aliasPath)),when:{...t,singletons:{...t.singletons,url:i}}}}function GP(e){return Mr(en(e).flatMap(t=>qP(t)),Rc)}function qP(e){let t=e.nav.at(-1),r=e.steps[0]?.action,n=r!=null&&"locator"in r?r.locator:void 0;return t==null||t.action.kind!=="goto"||n==null?[]:[dg({consequence:{kind:"enabled",locator:n,wait:void 0},guard:e.guard,namespace:e.namespace,origin:{intent:e.intent,kind:"trigger",test:e.test},url:t.action.url})]}function KP(e,t){try{let r=Lo(e.consequence,t);return r==null?null:{check:r}}catch{return null}}function Pc(e){return ic(e.tests.flatMap(t=>YP(e,t.name)))}function Tc(e,t){return Et(e.when,t)==null?!1:Et(e.holds,t)==null}function YP(e,t){let r=jo(e,t);return r.guard.entities.flatMap(n=>n.relations.flatMap(i=>JP(e,n,i,r.namespace)?QP(n,i,r.namespace):[]))}function JP(e,t,r,n){let i=n.get(r.targetAlias);return i!=null&&!ZP(e,t.entity,r.field)&&XP(e,i,r.targetField)}function ZP(e,t,r){return e.entities.find(n=>n.name===t)?.props[r]?.optional===!0}function XP(e,t,r){return e.entities.find(n=>n.name===t)?.identity.includes(r)===!0}function QP(e,t,r){let n=r.get(t.targetAlias);if(n==null)return[];let i=pg(e.alias,e.entity),o=pg(t.targetAlias,n);return[{holds:ii({entities:[{...i,relations:[t]},o]}),reference:{field:t.field,source:e.entity,target:n,targetField:t.targetField},when:ii({entities:[i]})}]}function pg(e,t){return{alias:e,entity:t,literals:{},relations:[]}}function Oc(e,t,r){return t.steps.map(n=>({effect:n.effect,obligations:n.obligations.map(i=>({budget:i.budget,check:{kind:"poll",run:()=>r.evaluate(i.check)},source:{check:i.check,kind:"step"}})),reconcile:n.reconcile,settle:e.wait,step:{action:n.action,intent:e.intent,test:e.test},verifyChanges:n.verifyChanges,guard:()=>!0,perform:()=>r.perform(n.action)}))}async function fg(e,t){let{params:r,transition:n}=e.firing,i=rg(n,e.state,r);if(i==null){let s={intent:n.intent,kind:"unfireable",reason:ng(n,e.state,r),test:n.test};return{label:jt(n),next:e.state,result:{finalModel:e.state.snapshot,findings:[s]}}}let o=await ac({canon:e.canon,classify:e.classify,initialSnapshot:e.state.snapshot,lawObligations:tT(e.laws,e.invariants,e.driver),observe:e.driver.observe,onAssertion:e.onAssertion,onStep:e.onStep,steps:Oc(e.firing.transition,i.resolved,e.driver)},t);return{label:jt(e.firing.transition),next:{snapshot:o.finalModel},result:o}}function eT(e,t){return Tc(e,t)?[{budget:"fast",check:{kind:"decided",passed:!1},source:{invariant:e,kind:"invariant"}}]:[]}function tT(e,t,r){return(n,i)=>[...e.flatMap(o=>rT(o,n,i,r)),...t.flatMap(o=>eT(o,i))]}function rT(e,t,r,n){let i=Ac(e,t,r);return i==null?[]:[{budget:"fast",check:{kind:"poll",run:()=>n.evaluate(i.check)},source:{check:i.check,kind:"law",origin:e.origin}}]}function Nc(e,t){return Mc({acc:{findings:[],fired:[]},index:0,params:e,signal:t,state:e.initialState,stepBase:0})}async function Mc({acc:e,index:t,params:r,signal:n,state:i,stepBase:o}){cr(n);let s=r.sequence[t];if(s==null)return e;let a=Date.now(),l=[],c=await fg({canon:r.canon,classify:r.classify,driver:r.driver,firing:s,invariants:r.invariants,laws:r.laws,onAssertion:r.onAssertion,state:i,onStep:d=>{l.push(d.index),r.onEvent({endMs:d.endMs,findings:d.findings,index:o+d.index,kind:"step",startMs:d.startMs})}},n);if(c==null)return Mc({acc:e,index:t+1,params:r,signal:n,state:i,stepBase:o});r.onEvent({endMs:Date.now(),intent:s.transition.intent,kind:"fired",startMs:a}),c.result.findings.forEach(d=>{r.onEvent({finding:d,kind:"finding"})});let u={findings:[...e.findings,...c.result.findings],fired:[...e.fired,c.label]};return Mc({acc:u,index:t+1,params:r,signal:n,state:c.next,stepBase:o+l.length})}var $c={value:e=>nT(e)};function Dc(e,t){return{value:r=>e.value({...r,seed:`${t}:${r.seed}`})}}function _c(e,t){return{value:r=>e.value({...r,anchor:t})}}function nT({anchor:e,constraints:t,generator:r,nullable:n,seed:i,type:o,values:s,valueSpace:a}){let l=Lc(`${a}:${i}`);return n&&l%4===0?null:s!=null&&s.length>0?s[l%s.length]??s[0]??null:r==="date.iso"?iT({anchor:e,constraints:t,n:l,timeHash:Lc(`${a}:${i}#tod`)}):o==="number"?oT(l,t):o==="boolean"?l%2===0:sT(r,l.toString(36))}var Uo=864e5;function iT({anchor:e,constraints:t,n:r,timeHash:n}){if(t?.kind!=="datetime")throw new Error("datetime value space requires offsetDays constraints");if(e==null)throw new Error("datetime value space requires a run anchor timestamp");let i=Date.parse(e);if(Number.isNaN(i))throw new TypeError(`datetime anchor "${e}" is not a valid ISO timestamp`);let o=t.maxOffsetDays-t.minOffsetDays+1,s=o<=0?t.minOffsetDays:t.minOffsetDays+r%o,a=Math.floor(i/Uo)*Uo;return new Date(a+s*Uo+n%Uo).toISOString()}function Lc(e,t=0,r=7){return t>=e.length?r>>>0:Lc(e,t+1,r*31+(e.codePointAt(t)??0)>>>0)}function oT(e,t){if(t?.kind!=="number"||t.min==null||t.max==null)throw new Error("number value space requires min and max constraints");let r=t.max-t.min+1;return r<=0?t.min:t.min+e%r}function sT(e,t){if(e==="internet.email")return`${t}@test.ripplo.ai`;if(e==="internet.url")return`https://${t}.example.com`;let r=e.split(".").at(-1);if(r==null)throw new Error(`generator "${e}" has no "."-suffix`);return`${r}-${t}`}import{ResultAsync as Fc}from"neverthrow";var oi=class extends Error{mountKey;constructor(t){super("client-mount-unmounted"),this.mountKey=t}};function jc(e){return{read:t=>aT(t,e),seedScript:t=>`globalThis[${JSON.stringify(Ll)}] = ${JSON.stringify(t)};`}}async function aT(e,t){let r={title:await e.title(),url:sr(e.url()),viewport:uT(e.viewportSize())};if(t.length===0)return r;let n=await e.evaluate(cT,{mountKey:wo,names:t,timeoutMs:lT});if(n.kind==="unmounted")throw new oi(wo);return{...r,...n.values}}var lT=5e3;async function cT(e){let t=Date.now()+e.timeoutMs;for(;Reflect.get(globalThis,e.mountKey)==null&&Date.now()<t;)await new Promise(n=>setTimeout(n,25));let r=Reflect.get(globalThis,e.mountKey);return r==null?{kind:"unmounted"}:{kind:"values",values:Object.fromEntries(e.names.map(n=>[n,r.readSingleton(n)??null]))}}function uT(e){return e==null?"":`${String(e.width)}x${String(e.height)}`}function Bc(e,t,r){return{evaluate:n=>Fc.fromPromise(gg(dT(e,r,n),`check ${n.kind}`),hg),observe:()=>t.read().andThen(n=>Fc.fromPromise(gg(yg(e,r,0),"observe"),hg).map(i=>({snapshot:{...n,singletons:{...n.singletons,...i}}}))),perform:n=>Fc.fromPromise(wg(e,n,0),i=>sm(n.kind,i))}}async function dT(e,t,r){try{return await xg(e,t,r)}catch(n){if(bg(n))return!1;throw n}}function hg(e){return e instanceof oi?rm(e.mountKey):am(e)}var pT=[100,250,500];async function yg(e,t,r){try{return await t.read(e)}catch(n){let i=pT[r];if(i==null||!bg(n))throw n;return await vg(i),yg(e,t,r+1)}}function bg(e){let t=e instanceof Error?e.message:String(e);return/Execution context was destroyed|Cannot find context with specified id|[Ff]rame was detached|frame got detached/.test(t)}var mg=35e3;function gg(e,t){let r,n=new Promise((i,o)=>{r=setTimeout(()=>{o(new Error(`driver op "${t}" exceeded ${String(mg)}ms`))},mg)});return Promise.race([e,n]).finally(()=>{clearTimeout(r)})}var fT=[250,750,2e3];async function wg(e,t,r){try{await hT(e,t)}catch(n){let i=fT[r];if(i==null||!yT(n))throw n;await vg(i),await wg(e,t,r+1)}}async function hT(e,t){if(t.kind==="goto"){await e.goto(tn(t.url,t,"url"));return}if(t.kind==="press"&&t.locator==null){await e.keyboard.press(tn(t.key,t,"key"));return}await mT(Sg(e,t.locator),t)}function tn(e,t,r){if(e==null)throw new Error(`action "${t.kind}" requires ${r}`);return e}function mT(e,t){switch(t.kind){case"goto":throw new Error("goto must not be located");case"fill":return e.fill(String(tn(t.value,t,"value")));case"clear":return e.clear();case"click":return e.click();case"dblclick":return e.dblclick();case"check":return e.check();case"uncheck":return e.uncheck();case"hover":return e.hover();case"select":return e.selectOption(String(tn(t.value,t,"value")));case"upload":return e.setInputFiles(tn(t.files,t,"files"));case"press":return e.press(tn(t.key,t,"key"))}}function Sg(e,t){if(t==null)throw new Error("action requires a locator");return Vc(e,t)}function Vc(e,t){return t.by==="testId"?e.getByTestId(t.value):t.by==="inside"?Vc(Vc(e,t.scope),t.target):e.locator(gT(t.role,t.name))}function gT(e,t){return t==null?`role=${e}`:`role=${e}[name=${JSON.stringify(t)}i]`}function yT(e){let t=e instanceof Error?e.message:String(e);return/net::ERR_|ERR_HTTP_RESPONSE_CODE_FAILURE|ECONNREFUSED|ECONNRESET|socket hang up|fetch failed|page\.goto: Timeout/.test(t)}function vg(e){return new Promise(t=>{setTimeout(t,e)})}async function xg(e,t,r){if(r.kind==="browser")return bT(e,t,r.name,r.value);if(r.kind==="not")return!await xg(e,t,r.inner);let n=Sg(e,r.locator);return r.kind==="visible"?n.isVisible():r.kind==="disabled"?n.isDisabled():r.kind==="enabled"?n.isEnabled():r.kind==="focused"?n.evaluate(i=>i===i.ownerDocument.activeElement):r.kind==="value"?await n.inputValue()===r.value:(await n.textContent()??"").includes(r.value)}async function bT(e,t,r,n){let o=(await t.read(e))[r];return typeof o=="string"&&o.includes(n)}import{chromium as Cg}from"playwright";async function Uc({baseUrl:e,browser:t,capture:r,clientState:n,engine:i,reader:o,session:s}){let a=await t.newContext({baseURL:e,storageState:s==null?void 0:{cookies:s.cookies,origins:s.origins}});s?.headers!=null&&await a.setExtraHTTPHeaders(s.headers),await a.addInitScript(i.seedScript(n));let l=await r.hub.attach(a,r.runId),c=await a.newPage();return l.onPage(c),{driver:wT(Bc(c,o,i),l),emitAssertion:l.emitAssertion,close:()=>ST({context:a,handle:l})}}async function Wc(e,t){let r=await Cg.launch({headless:!e});try{return await t(r)}finally{await r.close()}}function Rg({headed:e}){let t;return{acquire:async()=>{let i=t;if(i!=null){let o=await i.catch(()=>{});if(o?.isConnected()===!0)return o;t===i&&(t=void 0)}return t??=Cg.launch({headless:!e}),t},close:async()=>{let i=t;t=void 0,i!=null&&await i.then(o=>o.close()).catch(()=>{})}}}function wT(e,t){return{evaluate:e.evaluate,observe:e.observe,perform:r=>(t.emitAction(r),e.perform(r))}}async function ST({context:e,handle:t}){await kg(t.finish()),await kg(e.close())}var vT=15e3;async function kg(e){let t,r=new Promise(n=>{t=setTimeout(n,vT)});await Promise.race([e.catch(()=>{}),r]).finally(()=>{clearTimeout(t)})}import{err as xT,ok as kT,Result as Hc}from"neverthrow";function zc(e,t,r){return{read:()=>r.read(e.map(n=>n.name),t).andThen(n=>CT(e,n))}}function CT(e,t){return Hc.combine(e.map(r=>RT(r,t.entities[r.name]??[]).map(n=>[r.name,n]))).map(r=>({entities:new Map(r),singletons:t.singletons}))}function RT(e,t){let r=$o(e);return Hc.combine(t.map(n=>ET(n,e).map(i=>[i,IT(n,r)]))).map(n=>new Map(n))}function ET(e,t){return Hc.combine(t.identity.map(r=>{let n=e[r];return n==null?xT(im(t.name,r)):kT(String(n))})).map(r=>r.join(":"))}function IT(e,t){let r=t.map(n=>[n,e[n]]).filter(n=>n[1]!=null);return Object.fromEntries(r)}var Ig=ro(ml(),1);import AT from"crypto";import{err as PT,errAsync as Eg,ok as TT,ResultAsync as Wo}from"neverthrow";var OT=3e4,MT=[250,750,2e3];function Gc({baseUrl:e,runId:t,secret:r},n){let i=new Ig.Webhook(r),o=(s,a,l)=>NT({baseUrl:e,body:a,path:s,retry:l.retry,schema:l.schema,signal:l.signal,webhook:i});return{query:{read:(s,a)=>o("/state",{entities:s,runId:t,singletons:a},{retry:"transient",schema:Vl,signal:n}).map(l=>({entities:l.entities,singletons:l.singletons}))},setupWorld:s=>o("/setup",{entities:s,runId:t},{retry:"connection",schema:Fl,signal:n}).map(a=>a.rows),teardown:()=>o("/teardown",{runId:t},{retry:"connection",schema:Bl,signal:void 0}).map(()=>{})}}function NT(e){return Ag(e.retry,()=>jT(e),0)}function Ag(e,t,r){return t().orElse(n=>{let i=MT[r];return i==null||!$T(n,e)?Eg(n):Wo.fromSafePromise(_T(i)).andThen(()=>Ag(e,t,r+1))})}var LT=new Set(["EAI_AGAIN","ECONNREFUSED","ENOTFOUND"]);function $T(e,t){return e.kind==="aborted"?!1:DT(e)?!0:t==="connection"?!1:e.kind==="engine-network"||e.kind==="engine-http"&&e.status>=500}function DT(e){return e.kind==="engine-network"&&e.code!=null&&LT.has(e.code)}function _T(e){return new Promise(t=>{setTimeout(t,e)})}function jT({baseUrl:e,body:t,path:r,schema:n,signal:i,webhook:o}){let s=JSON.stringify(t);return Wo.fromPromise(fetch(`${e}${r}`,{body:s,headers:{"Content-Type":"application/json",...FT(o,s)},method:"PUT",signal:VT(i)}),a=>Io(r,a)).andThen(a=>BT(a,r)).andThen(a=>UT(n,a,r)).mapErr(a=>i?.aborted===!0?lm():a)}function FT(e,t){let r=`msg_${AT.randomUUID()}`,n=new Date;return{"webhook-id":r,"webhook-signature":e.sign(r,n,t),"webhook-timestamp":String(Math.floor(n.getTime()/1e3))}}function VT(e){let t=AbortSignal.timeout(OT);return e==null?t:AbortSignal.any([e,t])}function BT(e,t){return e.ok?Wo.fromPromise(e.json(),r=>Io(t,r)):Wo.fromPromise(e.text().catch(()=>""),r=>Io(t,r)).andThen(r=>Eg(tm(t,e.status,r)))}function UT(e,t,r){let n=e.safeParse(t);return n.success?TT(n.data):PT(nm(r,n.error))}var de=ro(Og(),1),_={actual:e=>de.default.red(e),bad:e=>de.default.red(de.default.bold(e)),bold:e=>de.default.bold(e),dim:e=>de.default.dim(e),expected:e=>de.default.green(e),good:e=>de.default.green(de.default.bold(e)),heading:e=>de.default.bold(de.default.cyan(e)),path:e=>de.default.cyan(de.default.underline(e)),warn:e=>de.default.yellow(de.default.bold(e))},GT={assertion:de.default.yellow,consistency:de.default.magenta,driver:de.default.red,illegal:de.default.cyan,invariant:de.default.yellow,unfireable:de.default.red};function si(e){return`${de.default.red(de.default.bold("\u2717"))} ${GT[e](de.default.bold(e.toUpperCase()))}`}var qT=de.default.red("\u2717"),DY=de.default.green("\u2713"),Mg=de.default.dim("\u203A"),KT=8;function te(e,t,r){let n=r==null?"":` ${_.dim(r)}`;return` ${_.dim(e.padStart(KT))} ${t}${n}`}function nn(e){return e.by==="testId"?`testId=${e.value}`:e.by==="inside"?`${nn(e.scope)} \u25B8 ${nn(e.target)}`:e.name==null?e.role:`${e.role} "${e.name}"`}function Kc(e){return e.url!=null?`${e.kind} ${e.url}`:e.locator!=null?`${e.kind} ${nn(e.locator)}`:e.kind}function Go(e){return e.kind==="not"?`not ${Go(e.inner)}`:e.kind==="browser"?`${e.name}="${e.value}"`:e.kind==="value"||e.kind==="text"?`${e.kind} ${nn(e.locator)}="${e.value}"`:`${e.kind} ${nn(e.locator)}`}function qo(e){let{field:t,source:r,target:n,targetField:i}=e.reference;return`${r}.${t} \u2192 ${n}.${i}`}function Lg(e){return`${e.intent} \u203A ${Kc(e.action)}`}function $g(e){return e.kind==="invariant"?`invariant ${qo(e.invariant)}`:`${e.kind} ${Go(e.check)}`}function rn(e){return e==null?"\u2205":JSON.stringify(e)}function Yc(e){return{label:$g(e.source),step:Lg(e.step)}}function ai(e){return e.kind==="consistency"?ZT(e):e.kind==="obligation"?nO(e.source,e.step,e.budget):e.kind==="illegal-transition"?Lr("illegal","guard was false before this step",e.step,[te("meaning",_.dim("the action fired from a state the model says is unreachable"),void 0)]):e.kind==="unfireable"?Lr("unfireable",`could not fire "${e.intent}"`,void 0,[te("reason",_.actual(JT(e.reason)),void 0),te("meaning",_.dim("a planned move was skipped \u2014 never silently drop it"),void 0)]):Lr("driver","the browser failed to run this step",e.step,[te("cause",_.actual(ar(e.error)),void 0),te("decide",_.dim("environment/infra failure \u2014 fix the run environment (daemon, dev server, ports); never weaken the model or app for a driver failure"),void 0)])}var YT={"guard-unsatisfied":"the guard isn't satisfied by the live state","no-effect":"the move has no observable effect from this state",unresolvable:"a step references a value the model can't resolve yet (e.g. a not-yet-created id)"};function JT(e){return YT[e]}function Jc({debugDir:e,runId:t}){let r=`${e}/${t}`;return te("behavior",_.path(`${r}/behavior.jsonl`),void 0)}function Zc(e){if(e.kind==="cascade-gap"){let{gap:n}=e,i=`${n.transition} deletes ${n.target} but leaves ${n.source} dangling`;return`${si("invariant")} ${_.bold(i)}
114
- ${te("breaks",_.dim(qo(n.invariant)),void 0)}`}if(e.kind==="create-gap"){let{gap:n}=e,i=`${n.transition} creates ${n.entity} without setting required field(s)`;return`${si("invariant")} ${_.bold(i)}
115
- ${te("missing",_.dim(n.missing.join(", ")),void 0)}`}let{conflict:t}=e,r=`view laws contradict: ${t.a.kind} vs ${t.b.kind}`;return`${si("invariant")} ${_.bold(r)}
116
- ${te("when",_.dim(JSON.stringify(t.when.singletons)),void 0)}`}function Lr(e,t,r,n){let i=r==null?[]:[` ${r.intent} ${Mg} ${_.dim(Kc(r.action))}`];return[`${si(e)} ${_.bold(t)}`,...i,...n].join(`
117
- `)}function ZT(e){return e.pending?Lr("consistency",eO(e.divergence),e.step,[...Ng(e.divergence),te("meaning",_.dim(`the write never landed within the ${tO(e.budget)} settle budget \u2014 the app still showed the pre-step value, not a wrong one`),void 0),te("fix",_.dim("declare wait: on the expectation (or a slower tier) if this write is legitimately slow"),void 0)]):Lr("consistency",rO(e.divergence),e.step,[...Ng(e.divergence),te("decide",_.dim(QT(e.divergence)),void 0)])}var XT={absent:"app bug if the write was promised; if it only happens from a different starting state, restrict this test's given and cover that state in its own test","expected-change":"app bug if this action should change it; if the change needs other preconditions, split that case into its own test with the right given","field-mismatch":"app bug if the model value is the promised behavior; if the app legitimately owns this value, mark the field stable: false or assert changed() instead","ghost-write":"declare the missing effect on the acting step (Entity.created/updated/deleted), or if this write belongs to a different flow, cover it in that flow's test","singleton-mismatch":"app bug if the model value is the promised behavior; otherwise correct the singleton's expected value at the step that sets it"};function QT(e){return XT[e.kind]}function eO(e){return e.kind==="field-mismatch"?`${e.entity}.${e.field} write never landed`:e.kind==="ghost-write"?`${e.entity} "${e.key}" delete never landed`:e.kind==="absent"?`${e.entity} "${e.key}" create never landed`:e.kind==="expected-change"?`${e.entity}.${e.field} never changed`:`${e.singleton} write never landed`}function Ng(e){if(e.kind==="field-mismatch")return[te("row",_.dim(`${e.entity} ${e.key}`),void 0),te("expected",_.expected(rn(e.snapshot)),"model predicted this"),te("actual",_.actual(rn(e.sut)),"app showed this")];if(e.kind==="singleton-mismatch")return[te("expected",_.expected(rn(e.snapshot)),"model predicted this"),te("actual",_.actual(rn(e.sut)),"app showed this")];if(e.kind==="expected-change")return[te("row",_.dim(`${e.entity} ${e.key}`),void 0),te("expected",_.expected("a different value"),"changed() asserted a change"),te("actual",_.actual(rn(e.value)),"app left it unchanged")];let t=e.kind==="ghost-write"?"an app write the model never declared \u2014 unmodeled side effect":"the model expected this row but the app has none";return[te("meaning",_.dim(t),void 0)]}function tO(e){return`${String(Xn[e]/1e3)}s "${e}"`}function rO(e){return e.kind==="field-mismatch"?`${e.entity}.${e.field} diverged`:e.kind==="ghost-write"?`${e.entity} "${e.key}" written but never modeled`:e.kind==="absent"?`${e.entity} "${e.key}" missing in the app`:e.kind==="expected-change"?`${e.entity}.${e.field} never changed`:`${e.singleton} diverged`}function nO(e,t,r){if(e.kind==="invariant")return Lr("invariant",`${qo(e.invariant)} violated`,t,[te("meaning",_.dim("a referenced row went missing after this step"),void 0)]);let n=e.kind==="law"?"view law never held":"expectation never held",i=e.kind==="law"&&e.origin!=null?[iO(e.origin)]:[];return Lr("assertion",n,t,[te("check",_.warn(Go(e.check)),void 0),...i,te("budget",_.dim(`${r} (polled until timeout)`),void 0),te("decide",_.dim("wrong locator/accessible name, UI regression, or the expectation only holds under a narrower given \u2014 confirm in behavior.jsonl before changing the test"),void 0)])}function iO(e){if(e.kind==="test")return te("law from",_.dim(`an assertion in test "${e.test}"`),void 0);if(e.kind==="trigger")return te("law from",_.dim(`the trigger of "${e.intent}" (test "${e.test}")`),void 0);let t=e.tests.map(r=>JSON.stringify(r)).join(", ");return te("law from",_.dim(`generalized across tests ${t}`),void 0)}import{err as L5,ok as $5,ResultAsync as D5}from"neverthrow";import Hw from"path";import oO from"path";import{z as li}from"zod";var sO=["unspecified","internal","server","client","producer","consumer"],aO=["unset","ok","error"];function Dg(e){return sO[e]??"unspecified"}function _g(e){return aO[e]??"unset"}var zY=li.looseObject({data:li.looseObject({source:li.number().optional()}).optional(),timestamp:li.number(),type:li.number()});function jg({debugDir:e,runId:t,worker:r}){let n=oO.join(e,t,"behavior.jsonl");return r.open({file:n,runId:t}),{close:i=>r.close({noticeLineIfNoRrweb:i?.noticeIfNoRrweb==null?"":JSON.stringify(lO(i.noticeIfNoRrweb)),runId:t}),emit:i=>{r.line({line:JSON.stringify(i),runId:t,timeNanos:i.timeNanos})},emitRrwebBatch:i=>{r.rrwebBatch({data:i,runId:t})}}}function on(e){return String(BigInt(Math.round(e))*1000000n)}function lO(e){return{kind:"notice",message:e,source:"capture",timeNanos:"0"}}import{existsSync as cO}from"fs";import{createRequire as uO}from"module";import{fileURLToPath as dO}from"url";import{Worker as pO}from"worker_threads";var fO=uO(import.meta.url);function Fg(e){let t=new pO(hO(),{workerData:e});t.unref();let r=new Map,n={next:0};t.on("message",o=>{let s=r.get(o.seq);s!=null&&(r.delete(o.seq),s())});let i=o=>{t.postMessage(o)};return{close:({noticeLineIfNoRrweb:o,runId:s})=>{let a=n.next;return n.next+=1,new Promise(l=>{r.set(a,l),i({noticeLineIfNoRrweb:o,runId:s,seq:a,t:"close"})})},line:({line:o,runId:s,timeNanos:a})=>{i({line:o,runId:s,t:"line",timeNanos:a})},open:({file:o,runId:s})=>{i({file:o,runId:s,t:"open"})},rrwebBatch:({data:o,runId:s})=>{i({data:o,runId:s,t:"rrweb-batch"})},terminate:async()=>{await t.terminate()}}}function hO(){try{return fO.resolve("@ripplo/runtime/capture-worker")}catch{let e=["../../dist/capture-worker.js","./capture-worker.js"].map(r=>dO(new URL(r,import.meta.url))),t=e.find(r=>cO(r));if(t==null)throw new Error(`capture-worker.js not found; looked at: ${e.join(", ")}`);return t}}import{readFile as mO}from"fs/promises";import{createRequire as gO}from"module";import{fileURLToPath as yO}from"url";var bO=gO(import.meta.url);function Xc(e,t){try{return bO.resolve(e)}catch{return yO(new URL(`assets/${t}`,import.meta.url))}}var wO=Xc("@ripplo/browser-trace/bundle","browser-trace.js");async function Bg(e,t){await e.addInitScript(`globalThis.__ripploRunId = ${JSON.stringify(t)};`),await e.addInitScript(await SO())}var Vg;function SO(){return Vg??=mO(wO,{encoding:"utf8"}),Vg}import{createServer as vO}from"http";import{mkdir as xO,rm as kO,writeFile as CO}from"fs/promises";import RO from"path";import{z as re}from"zod";var EO="otlp-port",Wg=re.object({key:re.string(),value:re.object({boolValue:re.boolean().optional(),doubleValue:re.number().optional(),intValue:re.union([re.string(),re.number()]).optional(),stringValue:re.string().optional()})}),IO=re.object({attributes:re.array(Wg).default([]),endTimeUnixNano:re.string(),kind:re.number().default(0),name:re.string(),parentSpanId:re.string().optional(),spanId:re.string(),startTimeUnixNano:re.string(),status:re.object({code:re.number(),message:re.string().optional()}).optional(),traceId:re.string()}),AO=re.object({resourceSpans:re.array(re.object({resource:re.object({attributes:re.array(Wg).default([])}).optional(),scopeSpans:re.array(re.object({spans:re.array(IO).default([])})).default([])})).default([])});async function ci({localDir:e,onRrwebBatch:t,onSpan:r,writePortFile:n}){let{port:i,server:o}=await PO({onRrwebBatch:t,onSpan:r}),s=RO.join(e,EO);return n&&(await xO(e,{recursive:!0}),await CO(s,String(i),{encoding:"utf8"})),{port:i,stop:async()=>{n&&await kO(s,{force:!0}),await LO(o)}}}function PO(e){return new Promise((t,r)=>{let n=vO((i,o)=>{TO(i,o,e)});n.on("error",r),n.listen(0,()=>{let i=n.address();if(i==null||typeof i=="string"){r(new Error("otlp_receiver_no_port"));return}t({port:i.port,server:n})})})}function TO(e,t,r){let n=OO(e.url);if(n!=null){Ug(e).then(i=>{r.onRrwebBatch(n,i),Ko(t)}).catch(()=>{Ko(t)});return}Ug(e).then(i=>{MO(AO.parse(JSON.parse(i.toString("utf8"))),r.onSpan),Ko(t)}).catch(()=>{Ko(t)})}function OO(e){if(e==null||!e.startsWith("/rrweb/"))return;let t=decodeURIComponent(e.slice(7));return t.length===0?void 0:t}function Ug(e){return new Promise((t,r)=>{let n=[];e.on("data",i=>{n.push(i)}),e.on("end",()=>{t(Buffer.concat(n))}),e.on("error",r)})}function Ko(e){e.writeHead(200,{"content-type":"application/json"}),e.end("{}")}function MO(e,t){e.resourceSpans.flatMap(r=>r.scopeSpans).flatMap(r=>r.spans).forEach(r=>{t({attributes:NO(r.attributes),durationMs:Number((BigInt(r.endTimeUnixNano)-BigInt(r.startTimeUnixNano))/1000000n),kind:"span",name:r.name,parentSpanId:r.parentSpanId,source:"server",spanId:r.spanId,spanKind:Dg(r.kind),status:{code:_g(r.status?.code??0),message:r.status?.message},timeNanos:r.startTimeUnixNano,traceId:r.traceId})})}function NO(e){return Object.fromEntries(e.map(({key:t,value:r})=>[t,String(r.stringValue??r.intValue??r.doubleValue??r.boolValue??"")]))}function LO(e){return new Promise((t,r)=>{e.close(n=>{if(n==null){t();return}r(n)}),e.closeAllConnections()})}import{readFile as n$}from"fs/promises";var $O=Object.defineProperty,DO=(e,t,r)=>t in e?$O(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,k=(e,t,r)=>DO(e,typeof t!="symbol"?t+"":t,r),Hg,_O=Object.defineProperty,jO=(e,t,r)=>t in e?_O(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,zg=(e,t,r)=>jO(e,typeof t!="symbol"?t+"":t,r),Fe=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(Fe||{}),Gg={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},qg={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},Yo={},FO=()=>!!globalThis.Zone;function rd(e){if(Yo[e])return Yo[e];let t=globalThis[e],r=t.prototype,n=e in Gg?Gg[e]:void 0,i=!!(n&&n.every(a=>{var l,c;return!!((c=(l=Object.getOwnPropertyDescriptor(r,a))==null?void 0:l.get)!=null&&c.toString().includes("[native code]"))})),o=e in qg?qg[e]:void 0,s=!!(o&&o.every(a=>{var l;return typeof r[a]=="function"&&((l=r[a])==null?void 0:l.toString().includes("[native code]"))}));if(i&&s&&!FO())return Yo[e]=t.prototype,t.prototype;try{let a=document.createElement("iframe");document.body.appendChild(a);let l=a.contentWindow;if(!l)return t.prototype;let c=l[e].prototype;return document.body.removeChild(a),c?Yo[e]=c:r}catch{return r}}var Qc={};function Ut(e,t,r){var n;let i=`${e}.${String(r)}`;if(Qc[i])return Qc[i].call(t);let o=rd(e),s=(n=Object.getOwnPropertyDescriptor(o,r))==null?void 0:n.get;return s?(Qc[i]=s,s.call(t)):t[r]}var eu={};function Hy(e,t,r){let n=`${e}.${String(r)}`;if(eu[n])return eu[n].bind(t);let o=rd(e)[r];return typeof o!="function"?t[r]:(eu[n]=o,o.bind(t))}function VO(e){return Ut("Node",e,"ownerDocument")}function BO(e){return Ut("Node",e,"childNodes")}function UO(e){return Ut("Node",e,"parentNode")}function WO(e){return Ut("Node",e,"parentElement")}function HO(e){return Ut("Node",e,"textContent")}function zO(e,t){return Hy("Node",e,"contains")(t)}function GO(e){return Hy("Node",e,"getRootNode")()}function qO(e){return!e||!("host"in e)?null:Ut("ShadowRoot",e,"host")}function KO(e){return e.styleSheets}function YO(e){return!e||!("shadowRoot"in e)?null:Ut("Element",e,"shadowRoot")}function JO(e,t){return Ut("Element",e,"querySelector")(t)}function ZO(e,t){return Ut("Element",e,"querySelectorAll")(t)}function XO(){return rd("MutationObserver").constructor}function QO(e,t,r){try{if(!(t in e))return()=>{};let n=e[t],i=r(n);return typeof i=="function"&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:n}})),e[t]=i,()=>{e[t]=n}}catch{return()=>{}}}var qe={ownerDocument:VO,childNodes:BO,parentNode:UO,parentElement:WO,textContent:HO,contains:zO,getRootNode:GO,host:qO,styleSheets:KO,shadowRoot:YO,querySelector:JO,querySelectorAll:ZO,mutationObserver:XO,patch:QO};function zy(e){return e.nodeType===e.ELEMENT_NODE}function mi(e){let t=e&&"host"in e&&"mode"in e&&qe.host(e)||null;return!!(t&&"shadowRoot"in t&&qe.shadowRoot(t)===e)}function gi(e){return Object.prototype.toString.call(e)==="[object ShadowRoot]"}function eM(e){return e.includes(" background-clip: text;")&&!e.includes(" -webkit-background-clip: text;")&&(e=e.replace(/\sbackground-clip:\s*text;/g," -webkit-background-clip: text; background-clip: text;")),e}function tM(e){let{cssText:t}=e;if(t.split('"').length<3)return t;let r=["@import",`url(${JSON.stringify(e.href)})`];return e.layerName===""?r.push("layer"):e.layerName&&r.push(`layer(${e.layerName})`),e.supportsText&&r.push(`supports(${e.supportsText})`),e.media.length&&r.push(e.media.mediaText),r.join(" ")+";"}function fu(e){try{let t=e.rules||e.cssRules;if(!t)return null;let r=e.href;!r&&e.ownerNode&&(r=e.ownerNode.baseURI);let n=Array.from(t,i=>Gy(i,r)).join("");return eM(n)}catch{return null}}function Gy(e,t){if(nM(e)){let r;try{r=fu(e.styleSheet)||tM(e)}catch{r=e.cssText}return e.styleSheet.href?Is(r,e.styleSheet.href):r}else{let r=e.cssText;return iM(e)&&e.selectorText.includes(":")&&(r=rM(r)),t?Is(r,t):r}}function rM(e){let t=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return e.replace(t,"$1\\$2")}function nM(e){return"styleSheet"in e}function iM(e){return"selectorText"in e}var Cs=class{constructor(){zg(this,"idNodeMap",new Map),zg(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(n=>this.removeNodeFromMap(n))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let n=r.id;this.idNodeMap.set(n,t),this.nodeMetaMap.set(t,r)}replace(t,r){let n=this.getNode(t);if(n){let i=this.nodeMetaMap.get(n);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function oM(){return new Cs}function Rs({element:e,maskInputOptions:t,tagName:r,type:n,value:i,maskInputFn:o}){let s=i||"",a=n&&Dr(n);return(t[r.toLowerCase()]||a&&t[a])&&(o?s=o(s,e):s="*".repeat(s.length)),s}function Dr(e){return e.toLowerCase()}var Kg="__rrweb_original__";function sM(e){let t=e.getContext("2d");if(!t)return!0;let r=50;for(let n=0;n<e.width;n+=r)for(let i=0;i<e.height;i+=r){let o=t.getImageData,s=Kg in o?o[Kg]:o;if(new Uint32Array(s.call(t,n,i,Math.min(r,e.width-n),Math.min(r,e.height-i)).data.buffer).some(l=>l!==0))return!1}return!0}function Es(e){let t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?Dr(t):null}function qy(e,t){let r;try{r=new URL(e,t??window.location.href)}catch{return null}let n=/\.([0-9a-z]+)(?:$)/i,i=r.pathname.match(n);return i?.[1]??null}function aM(e){let t="";return e.indexOf("//")>-1?t=e.split("/").slice(0,3).join("/"):t=e.split("/")[0],t=t.split("?")[0],t}var lM=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,cM=/^(?:[a-z+]+:)?\/\//i,uM=/^www\..*/i,dM=/^(data:)([^,]*),(.*)/i;function Is(e,t){return(e||"").replace(lM,(r,n,i,o,s,a)=>{let l=i||s||a,c=n||o||"";if(!l)return r;if(cM.test(l)||uM.test(l))return`url(${c}${l}${c})`;if(dM.test(l))return`url(${c}${l}${c})`;if(l[0]==="/")return`url(${c}${aM(t)+l}${c})`;let u=t.split("/"),d=l.split("/");u.pop();for(let p of d)p!=="."&&(p===".."?u.pop():u.push(p));return`url(${c}${u.join("/")}${c})`})}function Jo(e,t=!1){return t?e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,""):e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,"").replace(/0px/g,"0")}function pM(e,t,r=!1){let n=Array.from(t.childNodes),i=[],o=0;if(n.length>1&&e&&typeof e=="string"){let s=Jo(e,r),a=s.length/e.length;for(let l=1;l<n.length;l++)if(n[l].textContent&&typeof n[l].textContent=="string"){let c=Jo(n[l].textContent,r),u=100,d=3;for(;d<c.length&&(c[d].match(/[a-zA-Z0-9]/)||c.indexOf(c.substring(0,d),1)!==-1);d++);for(;d<c.length;d++){let p=c.substring(0,d),h=s.split(p),f=-1;if(h.length===2)f=h[0].length;else if(h.length>2&&h[0]===""&&n[l-1].textContent!=="")f=s.indexOf(p,1);else if(h.length===1){if(p=p.substring(0,p.length-1),h=s.split(p),h.length<=1)return i.push(e),i;d=u+1}else d===c.length-1&&(f=s.indexOf(p));if(h.length>=2&&d>u){let m=n[l-1].textContent;if(m&&typeof m=="string"){let g=Jo(m).length;f=s.indexOf(p,g)}f===-1&&(f=h[0].length)}if(f!==-1){let m=Math.floor(f/a);for(;m>0&&m<e.length;){if(o+=1,o>50*n.length)return i.push(e),i;let g=Jo(e.substring(0,m),r);if(g.length===f){i.push(e.substring(0,m)),e=e.substring(m),s=s.substring(f);break}else g.length<f?m+=Math.max(1,Math.floor((f-g.length)/a)):m-=Math.max(1,Math.floor((g.length-f)*a))}break}}}}return i.push(e),i}function fM(e,t){return pM(e,t).join("/* rr_split */")}var hM=1,mM=new RegExp("[^a-z0-9-_:]"),bi=-2;function Ky(){return hM++}function gM(e){if(e instanceof HTMLFormElement)return"form";let t=Dr(e.tagName);return mM.test(t)?"div":t}var sn,Yg,yM=/^[^ \t\n\r\u000c]+/,bM=/^[, \t\n\r\u000c]+/;function wM(e,t){if(t.trim()==="")return t;let r=0;function n(o){let s,a=o.exec(t.substring(r));return a?(s=a[0],r+=s.length,s):""}let i=[];for(;n(bM),!(r>=t.length);){let o=n(yM);if(o.slice(-1)===",")o=cn(e,o.substring(0,o.length-1)),i.push(o);else{let s="";o=cn(e,o);let a=!1;for(;;){let l=t.charAt(r);if(l===""){i.push((o+s).trim());break}else if(a)l===")"&&(a=!1);else if(l===","){r+=1,i.push((o+s).trim());break}else l==="("&&(a=!0);s+=l,r+=1}}}return i.join(", ")}var Jg=new WeakMap;function cn(e,t){return!t||t.trim()===""?t:nd(e,t)}function SM(e){return!!(e.tagName==="svg"||e.ownerSVGElement)}function nd(e,t){let r=Jg.get(e);if(r||(r=e.createElement("a"),Jg.set(e,r)),!t)t="";else if(t.startsWith("blob:")||t.startsWith("data:"))return t;return r.setAttribute("href",t),r.href}function Yy(e,t,r,n){return n&&(r==="src"||r==="href"&&!(t==="use"&&n[0]==="#")||r==="xlink:href"&&n[0]!=="#"||r==="background"&&["table","td","th"].includes(t)?cn(e,n):r==="srcset"?wM(e,n):r==="style"?Is(n,nd(e)):t==="object"&&r==="data"?cn(e,n):n)}function Jy(e,t,r){return["video","audio"].includes(e)&&t==="autoplay"}function vM(e,t,r){try{if(typeof t=="string"){if(e.classList.contains(t))return!0}else for(let n=e.classList.length;n--;){let i=e.classList[n];if(t.test(i))return!0}if(r)return e.matches(r)}catch{}return!1}function As(e,t,r){if(!e)return!1;if(e.nodeType!==e.ELEMENT_NODE)return r?As(qe.parentNode(e),t,r):!1;for(let n=e.classList.length;n--;){let i=e.classList[n];if(t.test(i))return!0}return r?As(qe.parentNode(e),t,r):!1}function Zy(e,t,r,n){let i;if(zy(e)){if(i=e,!qe.childNodes(i).length)return!1}else{if(qe.parentElement(e)===null)return!1;i=qe.parentElement(e)}try{if(typeof t=="string"){if(n){if(i.closest(`.${t}`))return!0}else if(i.classList.contains(t))return!0}else if(As(i,t,n))return!0;if(r){if(n){if(i.closest(r))return!0}else if(i.matches(r))return!0}}catch{}return!1}function xM(e,t,r){let n=e.contentWindow;if(!n)return;let i=!1,o;try{o=n.document.readyState}catch{return}if(o!=="complete"){let a=setTimeout(()=>{i||(t(),i=!0)},r);e.addEventListener("load",()=>{clearTimeout(a),i=!0,t()});return}let s="about:blank";if(n.location.href!==s||e.src===s||e.src==="")return setTimeout(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}function kM(e,t,r){let n=!1,i;try{i=e.sheet}catch{return}if(i)return;let o=setTimeout(()=>{n||(t(),n=!0)},r);e.addEventListener("load",()=>{clearTimeout(o),n=!0,t()})}function CM(e,t){let{doc:r,mirror:n,blockClass:i,blockSelector:o,needsMask:s,inlineStylesheet:a,maskInputOptions:l={},maskTextFn:c,maskInputFn:u,dataURLOptions:d={},inlineImages:p,recordCanvas:h,keepIframeSrcFn:f,newlyAddedElement:m=!1,cssCaptured:g=!1}=t,w=RM(r,n);switch(e.nodeType){case e.DOCUMENT_NODE:return e.compatMode!=="CSS1Compat"?{type:Fe.Document,childNodes:[],compatMode:e.compatMode}:{type:Fe.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:Fe.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:w};case e.ELEMENT_NODE:return IM(e,{doc:r,blockClass:i,blockSelector:o,inlineStylesheet:a,maskInputOptions:l,maskInputFn:u,dataURLOptions:d,inlineImages:p,recordCanvas:h,keepIframeSrcFn:f,newlyAddedElement:m,rootId:w});case e.TEXT_NODE:return EM(e,{doc:r,needsMask:s,maskTextFn:c,rootId:w,cssCaptured:g});case e.CDATA_SECTION_NODE:return{type:Fe.CDATA,textContent:"",rootId:w};case e.COMMENT_NODE:return{type:Fe.Comment,textContent:qe.textContent(e)||"",rootId:w};default:return!1}}function RM(e,t){if(!t.hasNode(e))return;let r=t.getId(e);return r===1?void 0:r}function EM(e,t){let{needsMask:r,maskTextFn:n,rootId:i,cssCaptured:o}=t,s=qe.parentNode(e),a=s&&s.tagName,l="",c=a==="STYLE"?!0:void 0,u=a==="SCRIPT"?!0:void 0;return u?l="SCRIPT_PLACEHOLDER":o||(l=qe.textContent(e),c&&l&&(l=Is(l,nd(t.doc)))),!c&&!u&&l&&r&&(l=n?n(l,qe.parentElement(e)):l.replace(/[\S]/g,"*")),{type:Fe.Text,textContent:l||"",rootId:i}}function IM(e,t){let{doc:r,blockClass:n,blockSelector:i,inlineStylesheet:o,maskInputOptions:s={},maskInputFn:a,dataURLOptions:l={},inlineImages:c,recordCanvas:u,keepIframeSrcFn:d,newlyAddedElement:p=!1,rootId:h}=t,f=vM(e,n,i),m=gM(e),g={},w=e.attributes.length;for(let y=0;y<w;y++){let v=e.attributes[y];Jy(m,v.name,v.value)||(g[v.name]=Yy(r,m,Dr(v.name),v.value))}if(m==="link"&&o){let y=Array.from(r.styleSheets).find(C=>C.href===e.href),v=null;y&&(v=fu(y)),v&&(delete g.rel,delete g.href,g._cssText=v)}if(m==="style"&&e.sheet){let y=fu(e.sheet);y&&(e.childNodes.length>1&&(y=fM(y,e)),g._cssText=y)}if(["input","textarea","select"].includes(m)){let y=e.value,v=e.checked;g.type!=="radio"&&g.type!=="checkbox"&&g.type!=="submit"&&g.type!=="button"&&y?g.value=Rs({element:e,type:Es(e),tagName:m,value:y,maskInputOptions:s,maskInputFn:a}):v&&(g.checked=v)}if(m==="option"&&(e.selected&&!s.select?g.selected=!0:delete g.selected),m==="dialog"&&e.open&&(g.rr_open_mode=e.matches("dialog:modal")?"modal":"non-modal"),m==="canvas"&&u){if(e.__context==="2d")sM(e)||(g.rr_dataURL=e.toDataURL(l.type,l.quality));else if(!("__context"in e)){let y=e.toDataURL(l.type,l.quality),v=r.createElement("canvas");v.width=e.width,v.height=e.height;let C=v.toDataURL(l.type,l.quality);y!==C&&(g.rr_dataURL=y)}}if(m==="img"&&c){sn||(sn=r.createElement("canvas"),Yg=sn.getContext("2d"));let y=e,v=y.currentSrc||y.getAttribute("src")||"<unknown-src>",C=y.crossOrigin,M=()=>{y.removeEventListener("load",M);try{sn.width=y.naturalWidth,sn.height=y.naturalHeight,Yg.drawImage(y,0,0),g.rr_dataURL=sn.toDataURL(l.type,l.quality)}catch(R){if(y.crossOrigin!=="anonymous"){y.crossOrigin="anonymous",y.complete&&y.naturalWidth!==0?M():y.addEventListener("load",M);return}else console.warn(`Cannot inline img src=${v}! Error: ${R}`)}y.crossOrigin==="anonymous"&&(C?g.crossOrigin=C:y.removeAttribute("crossorigin"))};y.complete&&y.naturalWidth!==0?M():y.addEventListener("load",M)}if(["audio","video"].includes(m)){let y=g;y.rr_mediaState=e.paused?"paused":"played",y.rr_mediaCurrentTime=e.currentTime,y.rr_mediaPlaybackRate=e.playbackRate,y.rr_mediaMuted=e.muted,y.rr_mediaLoop=e.loop,y.rr_mediaVolume=e.volume}if(p||(e.scrollLeft&&(g.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(g.rr_scrollTop=e.scrollTop)),f){let{width:y,height:v}=e.getBoundingClientRect();g={class:g.class,rr_width:`${y}px`,rr_height:`${v}px`}}m==="iframe"&&!d(g.src)&&(e.contentDocument||(g.rr_src=g.src),delete g.src);let S;try{customElements.get(m)&&(S=!0)}catch{}return{type:Fe.Element,tagName:m,attributes:g,childNodes:[],isSVG:SM(e)||void 0,needBlock:f,rootId:h,isCustom:S}}function pe(e){return e==null?"":e.toLowerCase()}function Xy(e){return e===!0||e==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:e==="all",headMetaDescKeywords:e==="all",headTitleMutations:e==="all"}:e||{}}function AM(e,t){if(t.comment&&e.type===Fe.Comment)return!0;if(e.type===Fe.Element){if(t.script&&(e.tagName==="script"||e.tagName==="link"&&(e.attributes.rel==="preload"&&e.attributes.as==="script"||e.attributes.rel==="modulepreload")||e.tagName==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&qy(e.attributes.href)==="js"))return!0;if(t.headFavicon&&(e.tagName==="link"&&e.attributes.rel==="shortcut icon"||e.tagName==="meta"&&(pe(e.attributes.name).match(/^msapplication-tile(image|color)$/)||pe(e.attributes.name)==="application-name"||pe(e.attributes.rel)==="icon"||pe(e.attributes.rel)==="apple-touch-icon"||pe(e.attributes.rel)==="shortcut icon")))return!0;if(e.tagName==="meta"){if(t.headMetaDescKeywords&&pe(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(pe(e.attributes.property).match(/^(og|twitter|fb):/)||pe(e.attributes.name).match(/^(og|twitter):/)||pe(e.attributes.name)==="pinterest"))return!0;if(t.headMetaRobots&&(pe(e.attributes.name)==="robots"||pe(e.attributes.name)==="googlebot"||pe(e.attributes.name)==="bingbot"))return!0;if(t.headMetaHttpEquiv&&e.attributes["http-equiv"]!==void 0)return!0;if(t.headMetaAuthorship&&(pe(e.attributes.name)==="author"||pe(e.attributes.name)==="generator"||pe(e.attributes.name)==="framework"||pe(e.attributes.name)==="publisher"||pe(e.attributes.name)==="progid"||pe(e.attributes.property).match(/^article:/)||pe(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&(pe(e.attributes.name)==="google-site-verification"||pe(e.attributes.name)==="yandex-verification"||pe(e.attributes.name)==="csrf-token"||pe(e.attributes.name)==="p:domain_verify"||pe(e.attributes.name)==="verify-v1"||pe(e.attributes.name)==="verification"||pe(e.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function un(e,t){let{doc:r,mirror:n,blockClass:i,blockSelector:o,maskTextClass:s,maskTextSelector:a,skipChild:l=!1,inlineStylesheet:c=!0,maskInputOptions:u={},maskTextFn:d,maskInputFn:p,slimDOMOptions:h,dataURLOptions:f={},inlineImages:m=!1,recordCanvas:g=!1,onSerialize:w,onIframeLoad:S,iframeLoadTimeout:y=5e3,onStylesheetLoad:v,stylesheetLoadTimeout:C=5e3,keepIframeSrcFn:M=()=>!1,newlyAddedElement:R=!1,cssCaptured:E=!1}=t,{needsMask:x}=t,{preserveWhiteSpace:U=!0}=t;x||(x=Zy(e,s,a,x===void 0));let X=CM(e,{doc:r,mirror:n,blockClass:i,blockSelector:o,needsMask:x,inlineStylesheet:c,maskInputOptions:u,maskTextFn:d,maskInputFn:p,dataURLOptions:f,inlineImages:m,recordCanvas:g,keepIframeSrcFn:M,newlyAddedElement:R,cssCaptured:E});if(!X)return console.warn(e,"not serialized"),null;let Q;n.hasNode(e)?Q=n.getId(e):AM(X,h)||!U&&X.type===Fe.Text&&!X.textContent.replace(/^\s+|\s+$/gm,"").length?Q=bi:Q=Ky();let j=Object.assign(X,{id:Q});if(n.add(e,j),Q===bi)return null;w&&w(e);let ze=!l;if(j.type===Fe.Element){ze=ze&&!j.needBlock,delete j.needBlock;let _e=qe.shadowRoot(e);_e&&gi(_e)&&(j.isShadowHost=!0)}if((j.type===Fe.Document||j.type===Fe.Element)&&ze){h.headWhitespace&&j.type===Fe.Element&&j.tagName==="head"&&(U=!1);let _e={doc:r,mirror:n,blockClass:i,blockSelector:o,needsMask:x,maskTextClass:s,maskTextSelector:a,skipChild:l,inlineStylesheet:c,maskInputOptions:u,maskTextFn:d,maskInputFn:p,slimDOMOptions:h,dataURLOptions:f,inlineImages:m,recordCanvas:g,preserveWhiteSpace:U,onSerialize:w,onIframeLoad:S,iframeLoadTimeout:y,onStylesheetLoad:v,stylesheetLoadTimeout:C,keepIframeSrcFn:M,cssCaptured:!1};if(!(j.type===Fe.Element&&j.tagName==="textarea"&&j.attributes.value!==void 0)){j.type===Fe.Element&&j.attributes._cssText!==void 0&&typeof j.attributes._cssText=="string"&&(_e.cssCaptured=!0);for(let Er of Array.from(qe.childNodes(e))){let kt=un(Er,_e);kt&&j.childNodes.push(kt)}}let at=null;if(zy(e)&&(at=qe.shadowRoot(e)))for(let Er of Array.from(qe.childNodes(at))){let kt=un(Er,_e);kt&&(gi(at)&&(kt.isShadow=!0),j.childNodes.push(kt))}}let xt=qe.parentNode(e);return xt&&mi(xt)&&gi(xt)&&(j.isShadow=!0),j.type===Fe.Element&&j.tagName==="iframe"&&xM(e,()=>{let _e=e.contentDocument;if(_e&&S){let at=un(_e,{doc:_e,mirror:n,blockClass:i,blockSelector:o,needsMask:x,maskTextClass:s,maskTextSelector:a,skipChild:!1,inlineStylesheet:c,maskInputOptions:u,maskTextFn:d,maskInputFn:p,slimDOMOptions:h,dataURLOptions:f,inlineImages:m,recordCanvas:g,preserveWhiteSpace:U,onSerialize:w,onIframeLoad:S,iframeLoadTimeout:y,onStylesheetLoad:v,stylesheetLoadTimeout:C,keepIframeSrcFn:M});at&&S(e,at)}},y),j.type===Fe.Element&&j.tagName==="link"&&typeof j.attributes.rel=="string"&&(j.attributes.rel==="stylesheet"||j.attributes.rel==="preload"&&typeof j.attributes.href=="string"&&qy(j.attributes.href)==="css")&&kM(e,()=>{if(v){let _e=un(e,{doc:r,mirror:n,blockClass:i,blockSelector:o,needsMask:x,maskTextClass:s,maskTextSelector:a,skipChild:!1,inlineStylesheet:c,maskInputOptions:u,maskTextFn:d,maskInputFn:p,slimDOMOptions:h,dataURLOptions:f,inlineImages:m,recordCanvas:g,preserveWhiteSpace:U,onSerialize:w,onIframeLoad:S,iframeLoadTimeout:y,onStylesheetLoad:v,stylesheetLoadTimeout:C,keepIframeSrcFn:M});_e&&v(e,_e)}},C),j}function PM(e,t){let{mirror:r=new Cs,blockClass:n="rr-block",blockSelector:i=null,maskTextClass:o="rr-mask",maskTextSelector:s=null,inlineStylesheet:a=!0,inlineImages:l=!1,recordCanvas:c=!1,maskAllInputs:u=!1,maskTextFn:d,maskInputFn:p,slimDOM:h=!1,dataURLOptions:f,preserveWhiteSpace:m,onSerialize:g,onIframeLoad:w,iframeLoadTimeout:S,onStylesheetLoad:y,stylesheetLoadTimeout:v,keepIframeSrcFn:C=()=>!1}=t||{},M=u===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:u===!1?{password:!0}:u,R=Xy(h);return un(e,{doc:e,mirror:r,blockClass:n,blockSelector:i,maskTextClass:o,maskTextSelector:s,skipChild:!1,inlineStylesheet:a,maskInputOptions:M,maskTextFn:d,maskInputFn:p,slimDOMOptions:R,dataURLOptions:f,inlineImages:l,recordCanvas:c,preserveWhiteSpace:m,onSerialize:g,onIframeLoad:w,iframeLoadTimeout:S,onStylesheetLoad:y,stylesheetLoadTimeout:v,keepIframeSrcFn:C,newlyAddedElement:!1})}var TM=/(max|min)-device-(width|height)/,lJ=new RegExp(TM.source,"g");function OM(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function MM(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}),r}var id={exports:{}},ge=String,Qy=function(){return{isColorSupported:!1,reset:ge,bold:ge,dim:ge,italic:ge,underline:ge,inverse:ge,hidden:ge,strikethrough:ge,black:ge,red:ge,green:ge,yellow:ge,blue:ge,magenta:ge,cyan:ge,white:ge,gray:ge,bgBlack:ge,bgRed:ge,bgGreen:ge,bgYellow:ge,bgBlue:ge,bgMagenta:ge,bgCyan:ge,bgWhite:ge}};id.exports=Qy();id.exports.createColors=Qy;var NM=id.exports,LM={},$M=Object.freeze(Object.defineProperty({__proto__:null,default:LM},Symbol.toStringTag,{value:"Module"})),yt=MM($M),Zg=NM,Xg=yt,hu=class eb extends Error{constructor(t,r,n,i,o,s){super(t),this.name="CssSyntaxError",this.reason=t,o&&(this.file=o),i&&(this.source=i),s&&(this.plugin=s),typeof r<"u"&&typeof n<"u"&&(typeof r=="number"?(this.line=r,this.column=n):(this.line=r.line,this.column=r.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,eb)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(t){if(!this.source)return"";let r=this.source;t==null&&(t=Zg.isColorSupported),Xg&&t&&(r=Xg(r));let n=r.split(/\r?\n/),i=Math.max(this.line-3,0),o=Math.min(this.line+2,n.length),s=String(o).length,a,l;if(t){let{bold:c,gray:u,red:d}=Zg.createColors(!0);a=p=>c(d(p)),l=p=>u(p)}else a=l=c=>c;return n.slice(i,o).map((c,u)=>{let d=i+1+u,p=" "+(" "+d).slice(-s)+" | ";if(d===this.line){let h=l(p.replace(/\d/g," "))+c.slice(0,this.column-1).replace(/[^\t]/g," ");return a(">")+l(p)+c+`
113
+ `)}function jI(e){return e.installed?"\u2713 Browser: Chromium installed":"\u2717 Browser: Chromium not installed. Run: npx playwright install chromium"}function FI(e){switch(e.status){case"enabled":return`\u2713 Adapter: enabled at ${e.url}`;case"disabled":return"\u2717 Adapter: disabled (handler returned 404). Set ENABLE_RIPPLO_TESTING=true in your app's env (e.g. apps/<app>/.env.local for Next.js) and restart the dev server.";case"bad-secret":return"\u2717 Adapter: webhook signature rejected. RIPPLO_WEBHOOK_SECRET seen by your dev server does not match the one in your env file.";case"unreachable":return`\u2717 Adapter: ${e.url} could not be reached for signed probe.`;case"no-secret":return"\u2717 Adapter: RIPPLO_WEBHOOK_SECRET is not set in your env file (declared in .ripplo/project.json)."}}function BI(e){switch(e.status){case"match":return`\u2713 Lockfile: ${et} is up to date`;case"missing":return`\u2717 Lockfile: ${et} is missing \u2014 run \`ripplo compile\` and commit it`;case"stale":return`\u2717 Lockfile: ${et} is out of date \u2014 run \`ripplo compile\` and commit it`}}function VI(e){return e.installed?"\u2713 Pre-commit hook: .git/hooks/pre-commit runs `ripplo compile --check`":"! Pre-commit hook: .git/hooks/pre-commit does not run `ripplo compile --check` \u2014 see the setup skill for the snippet"}import Aa from"fs";import yx from"path";import{chromium as dF}from"playwright";import UI from"fs";import WI from"path";async function Xh(e){let t=WI.join(e,".ripplo","index.ts");if(!UI.existsSync(t))return{appUrl:void 0,engineUrl:void 0,errors:[{message:".ripplo/index.ts not found",path:""}],valid:!1,warnings:[]};let r=await we(e);return r.isErr()?{appUrl:void 0,engineUrl:void 0,errors:[{message:Oe(r.error),path:".ripplo/"}],valid:!1,warnings:[]}:Yr().match(n=>({appUrl:n.appUrl,engineUrl:n.engineUrl,errors:[],valid:!0,warnings:[]}),n=>({appUrl:void 0,engineUrl:void 0,errors:[{message:qe(n),path:""}],valid:!1,warnings:[]}))}async function Xl(e){try{await fetch(e,{method:"HEAD",signal:AbortSignal.timeout(5e3)});return}catch{return`appUrl (${e}) is not responding. Make sure your dev server is running on that port.`}}async function Qh({appUrl:e,engineUrl:t}){let r=t.startsWith("http://")||t.startsWith("https://")?t:`${e}${t}`;try{return(await fetch(`${r}/setup`,{body:JSON.stringify({}),headers:{"Content-Type":"application/json"},method:"PUT",signal:AbortSignal.timeout(5e3)})).ok?"Engine endpoint accepted an unsigned request \u2014 webhook signature verification may be missing.":void 0}catch{return}}function lr(e){let t=new URL(e,"https://ripplo.invalid"),r=[...t.searchParams.entries()].toSorted(([n],[i])=>n.localeCompare(i)).map(([n,i])=>`${n}=${i}`).join("&");return r.length===0?t.pathname:`${t.pathname}?${r}`}function en(e,t){return e==="url"?lr(t):t}function Ql(e,t,r){return en(e,String(t))===en(e,String(r))}function tm(e,t,r){return e!=="url"?Ql(e,t,r):em(String(t))===em(String(r))}function em(e){return new URL(e,"https://ripplo.invalid").pathname}function ec({actual:e,canon:t,pre:r,predicted:n}){return[...[...new Set([...n.entities.keys(),...e.entities.keys()])].flatMap(s=>HI({actual:e.entities.get(s),canon:t,entity:s,pre:r.entities.get(s),predicted:n.entities.get(s)})),...GI(r.singletons,n.singletons,e.singletons)]}function HI({actual:e,canon:t,entity:r,pre:n,predicted:i}){return[...new Set([...i?.keys()??[],...e?.keys()??[]])].flatMap(s=>zI({actual:e?.get(s),canon:t,entity:r,key:s,predicted:i?.get(s),preHadKey:n?.has(s)??!1,preRow:n?.get(s)}))}function zI({actual:e,canon:t,entity:r,key:n,predicted:i,preHadKey:o,preRow:s}){if(i==null)return[{divergence:{entity:r,key:n,kind:"ghost-write"},pending:o}];if(e==null)return[{divergence:{entity:r,key:n,kind:"absent"},pending:!o}];let a=(c,u,d)=>im(t(r,c,u),t(r,c,d));return[...new Set([...Object.keys(i),...Object.keys(e)])].filter(c=>!a(c,i[c],e[c])).map(c=>({divergence:{entity:r,field:c,key:n,kind:"field-mismatch",snapshot:i[c],sut:e[c]},pending:s==null?e[c]===void 0:a(c,s[c],e[c])}))}function im(e,t){return rm(e)===rm(t)}function rm(e){return e==null?"\u2205":JSON.stringify(e)}function GI(e,t,r){return[...new Set([...Object.keys(t),...Object.keys(r)])].flatMap(i=>{let o=t[i],s=r[i];return o===void 0||s===void 0||nm(i,o,s)?[]:[{divergence:{kind:"singleton-mismatch",singleton:i,snapshot:o,sut:s},pending:e[i]!==void 0&&nm(i,e[i],s)}]})}function nm(e,t,r){let n=_t.safeParse(e);return n.success?tm(n.data,t,r):im(t,r)}function tc(e){let t=qI(e.entities),r=KI(e.singletons);return n=>JI(n,t,r)}function qI(e){return new Map(e.flatMap(t=>Object.entries(t.props).map(([r,n])=>[om(t.name,r),n.consistency])))}function om(e,t){return`${e}.${t}`}function KI(e){return new Map(e.map(t=>[t.name,t.consistency]))}function JI(e,t,r){return e.kind==="singleton-mismatch"?YI(e.singleton,r):e.kind==="ghost-write"||e.kind==="absent"?"strict":t.get(om(e.entity,e.field))??"strict"}function YI(e,t){return _t.safeParse(e).success?t.get(e)??"eventual":t.get(e)??"strict"}function rc(e){let t=new Set(e.valueSpaces.filter(r=>r.generator==="date.iso").map(r=>r.name));return(r,n,i)=>{if(!t.has(`${r}.${n}`)||typeof i!="string")return i;let o=Date.parse(i);return Number.isNaN(o)?i:new Date(o).toISOString()}}function am(e,t,r){return{detail:r.slice(0,500),kind:"engine-http",path:e,status:t}}function Oo(e,t){return{code:gm(t),kind:"engine-network",message:Xn(t),path:e}}function lm(e){return{kind:"client-mount-missing",mountKey:e}}function cm(e,t){return{kind:"engine-decode",message:Xn(t),path:e}}function um(e,t){return{entity:e,field:t,kind:"state-identity"}}function dm(e){return{as:e,kind:"setup-missing-row"}}function Zn(e){return{kind:"driver-launch",message:Xn(e)}}function pm(e,t){return{action:e,kind:"action-failed",message:Xn(t)}}function fm(e){return{kind:"check-failed",message:Xn(e)}}function hm(){return{kind:"aborted"}}var sm=300;function cr(e){switch(e.kind){case"engine-http":return`engine ${e.path} returned ${String(e.status)}: ${ZI(e.detail)}${XI(e.status)}`;case"engine-network":return`engine ${e.path} request failed: ${e.message}`;case"client-mount-missing":return`client bridge "${e.mountKey}" never mounted; client singletons unreadable`;case"engine-decode":return`engine ${e.path} response did not match schema: ${e.message}`;case"state-identity":return`row of "${e.entity}" is missing identity field "${e.field}"`;case"setup-missing-row":return`setup returned no row for "${e.as}"`;case"driver-launch":return`browser driver failed to launch: ${e.message}`;case"action-failed":return`action "${e.action}" failed: ${e.message}`;case"check-failed":return`check failed: ${e.message}`;case"aborted":return"run aborted"}}function mm(e){throw new Error(cr(e))}function Mo(){}function ZI(e){let t=e.replaceAll(/\s+/gu," ").trim();return t.length<=sm?t:`${t.slice(0,sm)}\u2026 [truncated]`}function XI(e){return e===404?" \u2014 the engine adapter is not mounted at RIPPLO_ENGINE_URL (or the mount path differs). Verify the adapter is wired into the app server and ENABLE_RIPPLO_TESTING=true; `ripplo doctor` checks the endpoint.":e===403||e===401?" \u2014 the adapter rejected the request: ENABLE_RIPPLO_TESTING is not true in the app's env, or RIPPLO_WEBHOOK_SECRET differs between the app and .ripplo env.":""}function gm(e){if(!(typeof e!="object"||e==null))return"code"in e&&typeof e.code=="string"?e.code:"cause"in e?gm(e.cause):void 0}function Xn(e){return e instanceof Error?e.message:String(e)}var ac=so(Sm(),1),KK=ac.default.configure,No=ac.default;function Me(e){return No(e)??""}function Lr(e,t){return[...new Map(e.map(r=>[t(r),r])).values()]}function lc(e){return Lr(e,Me)}function vm(e){return Me(e)}var ei=class extends Error{name="AbortError";constructor(){super("aborted")}};function xm(e){return e instanceof Error&&e.name==="AbortError"}function dr(e){if(e.aborted)throw new ei}function cc(e,t){return t.aborted?Promise.reject(new ei):new Promise((r,n)=>{let i=()=>{clearTimeout(o),n(new ei)},o=setTimeout(()=>{t.removeEventListener("abort",i),r()},e);t.addEventListener("abort",i,{once:!0})})}function Am(e){return e.includes("async")?"async":e.includes("slow")?"slow":"fast"}var sA=()=>[];async function dc({canon:e,classify:t,initialSnapshot:r,lawObligations:n,observe:i,onAssertion:o,onStep:s,steps:a},l){return Pm({acc:[],canon:e,classify:t,index:0,lawObligations:n??sA,observe:i,onAssertion:o,onStep:s,signal:l,snapshot:r,steps:a})}async function Pm({acc:e,canon:t,classify:r,index:n,lawObligations:i,observe:o,onAssertion:s,onStep:a,signal:l,snapshot:c,steps:u}){dr(l);let d=u[n];if(d==null)return{finalModel:c,findings:e};let p=Date.now();if(!d.guard(c)){let h={kind:"illegal-transition",step:d.step};return uc(a,{endMs:Date.now(),findings:[h],index:n,startMs:p}),{finalModel:c,findings:[...e,h]}}return d.perform().match(()=>aA({acc:e,canon:t,classify:r,index:n,lawObligations:i,observe:o,onAssertion:s,onStep:a,signal:l,snapshot:c,startMs:p,step:d,steps:u}),h=>{let f=Lo(h,d);return uc(a,{endMs:Date.now(),findings:[f],index:n,startMs:p}),Promise.resolve({finalModel:c,findings:[...e,f]})})}async function aA({acc:e,canon:t,classify:r,index:n,lawObligations:i,observe:o,onAssertion:s,onStep:a,signal:l,snapshot:c,startMs:u,step:d,steps:p}){let h=d.effect(c),f=await hA({canon:t,classify:r,observe:o,pre:c,predicted:h,signal:l,step:d}),m=[...d.obligations,...i(c,f.snapshot)],g=[...await lA({obligations:m,onAssertion:s,signal:l,step:d}),...f.findings];return uc(a,{endMs:Date.now(),findings:g,index:n,startMs:u}),Pm({acc:[...e,...g],canon:t,classify:r,index:n+1,lawObligations:i,observe:o,onAssertion:s,onStep:a,signal:l,snapshot:f.snapshot,steps:p})}async function lA({obligations:e,onAssertion:t,signal:r,step:n}){let i=[...new Map(e.map(s=>[vm(s.source),s])).values()],o=await Promise.all(i.map(async s=>({obligation:s,outcome:await cA(s,r)})));return o.forEach(s=>{uA(t,s.obligation,s.outcome,n)}),o.flatMap(s=>pA(s.obligation,s.outcome,n))}function cA(e,t){if(e.check.kind==="decided"){let r=e.check.passed?"passed":"failed";return Promise.resolve({kind:r})}return mA(e.budget,e.check.run,t)}function uA(e,t,r,n){e?.({outcome:dA(r),source:t.source,step:n.step})}function dA(e){return e.kind==="passed"?"passed":e.kind==="error"?"error":"failed"}function pA(e,t,r){return t.kind==="error"?[Lo(t.error,r)]:t.kind==="failed"?[{budget:e.budget,kind:"obligation",source:e.source,step:r.step}]:[]}function Lo(e,t){return{error:e,kind:"driver-error",step:t.step}}function uc(e,t){e?.(t)}var ti={async:12e4,fast:5e3,slow:3e4},Tm={async:{backoffMs:[500,1e3,2e3,5e3],timeoutMs:ti.async},fast:{backoffMs:[100,250,500,1e3],timeoutMs:ti.fast},slow:{backoffMs:[250,500,1e3,2e3],timeoutMs:ti.slow}};function Om(e,t){return e.backoffMs[Math.min(t,e.backoffMs.length-1)]??0}function km(e){return e().match(t=>({observed:t,ok:!0}),t=>({error:t,ok:!1}))}function fA(e,t,r){return r.reconcile==null?e:r.reconcile(e,t)}function Cm({canon:e,pre:t,predicted:r,step:n},i){let o=n.verifyChanges==null?[]:n.verifyChanges(r,i),s=fA(r,i,n),a=o.map(l=>({divergence:l,pending:!0}));return{adopted:s,probed:[...a,...ec({actual:i.snapshot,canon:e,pre:t,predicted:s})]}}function Mm(e,t){return{budget:t.settle,divergence:e.divergence,kind:"consistency",pending:e.pending,step:t.step}}function Rm(e,t,r){let n=e.probed.filter(i=>!i.pending&&r(i.divergence)==="strict");return n.length>0?{findings:n.map(i=>Mm(i,t)),snapshot:e.adopted}:e.probed.length===0?{findings:[],snapshot:e.adopted}:null}function Em(e,t,r){return{findings:[...e.probed.map(n=>Mm(n,t)),...r],snapshot:e.adopted}}async function hA({canon:e,classify:t,observe:r,pre:n,predicted:i,signal:o,step:s}){let a=Tm[s.settle],l=Date.now()+a.timeoutMs,c=await km(r);if(!c.ok)return{findings:[Lo(c.error,s)],snapshot:i};let u=Cm({canon:e,pre:n,predicted:i,step:s},c.observed),d=0;for(;Date.now()<l;){dr(o);let p=Rm(u,s,t);if(p!=null)return p;await cc(Om(a,d),o),d+=1;let h=await km(r);if(!h.ok)return Em(u,s,[Lo(h.error,s)]);u=Cm({canon:e,pre:n,predicted:i,step:s},h.observed)}return Rm(u,s,t)??Em(u,s,[])}async function mA(e,t,r){let n=Tm[e],i=Date.now()+n.timeoutMs,o=await Im(t),s=0;for(;o.kind==="pending"&&Date.now()<i;)dr(r),await cc(Om(n,s),r),s+=1,o=await Im(t);return o.kind==="pending"?{kind:"failed"}:o}function Im(e){return e().match(t=>t?{kind:"passed"}:{kind:"pending"},t=>({error:t,kind:"error"}))}import{z as gA}from"zod";var fc=gA.string().brand(),le=fc.parse("");function Vt(e){return fc.parse(e)}function At(e,t){return fc.parse(e.length===0?t:`${e}.${t}`)}function He(e){return Zr.safeParse(e).success}function pr(e){return typeof e=="object"&&e!==null&&"template"in e}function pc(e,t,r){let n=At(t,e.ref);if(!r.has(n))throw new Error(`unresolved binding ref "${n}"`);return r.get(n)??null}function $o(e,t,r){return yA(e).every(n=>r.has(At(t,n)))}function mt(e,t,r){return typeof e=="string"?e:He(e)?String(pc(e,t,r)):e.template.map(n=>typeof n=="string"?n:String(pc(n,t,r))).join("")}function gt(e,t,r){return e===null||typeof e=="number"||typeof e=="boolean"?e:He(e)?pc(e,t,r):mt(e,t,r)}function Nm(e,t){return gt(e,le,t)}function ri(e){return No(e)}function tn(e,t,r){return Object.fromEntries(Object.entries(e).map(([n,i])=>[n,gt(i,t,r)]))}function yA(e){return e==null||typeof e!="object"?[]:pr(e)?e.template.flatMap(t=>typeof t=="string"?[]:[t.ref]):[e.ref]}function fr(e){return typeof e=="object"&&e!==null&&"kind"in e}function $r(e){return Object.fromEntries(Object.entries(e).filter(t=>!fr(t[1])))}function Lm(e,t,r){return t.reduce((n,i)=>bA(n,i,r,e),e)}function $m(e,t){return Object.keys(t).length===0?e:{...e,singletons:{...e.singletons,...t}}}function bA(e,t,r,n){if(!wA(t,r))return e;if(t.assertion.kind==="created"){let o=tn(t.assertion.props,le,r);return SA(e,t.entity,ri(o),o)}if(t.assertion.kind==="deleted")return hc(e,t.entity,CA(t.key,r,n));let i=tn($r(t.assertion.props),le,r);return hc(e,t.entity,RA(t.key,i,r,n))}function wA(e,t){return("props"in e.assertion?[e.key,$r(e.assertion.props)]:[e.key]).every(n=>Object.values(n).every(i=>jm(i)||!He(i)||t.has(Vt(i.ref))))}function SA(e,t,r,n){let i=new Map([...e.entities.get(t)??[],[r,n]]);return{...e,entities:new Map([...e.entities,[t,i]])}}function hc(e,t,r){let n=r(e.entities.get(t)??new Map);return{...e,entities:new Map([...e.entities,[t,n]])}}function ni(e,t,r,n){let i={env:n,key:r,snapshot:e};return[...(e.entities.get(t)??new Map).values()].filter(o=>_o(o,i))}function Dm(e,t,r,n,i){let o={env:n,key:r,snapshot:e};return hc(e,t,s=>new Map([...s].map(([a,l])=>[a,_o(l,o)?i(l):l])))}function _o(e,t){return Object.entries(t.key).every(([r,n])=>_m(e[r],n,t))}function _m(e,t,r){return jm(t)?vA(t,r).has(Do(e)):Do(e)===Do(kA(t,r.env))}function jm(e){return typeof e=="object"&&e!==null&&"kind"in e}function vA(e,t){let r=t.snapshot.entities.get(e.selection.entity);return r==null?new Set:new Set([...r.values()].filter(n=>xA(n,e.selection.where,t)).map(n=>Do(n[e.field])))}function xA(e,t,r){return Object.entries(t).every(([n,i])=>_m(e[n],i,r))}function Do(e){return e==null?"\u2205":e instanceof Date?e.toISOString():JSON.stringify(e)}function kA(e,t){return gt(e,le,t)}function CA(e,t,r){let n={env:t,key:e,snapshot:r};return i=>new Map([...i].filter(([,o])=>!_o(o,n)))}function RA(e,t,r,n){let i={env:r,key:e,snapshot:n};return o=>new Map([...o].map(([s,a])=>_o(a,i)?[s,{...a,...t}]:[s,a]))}function Vm(e){let t=e.predicates.filter(o=>zm(o)),r=t.filter(o=>o.assertion.kind==="created"),n=Hm(t);if(r.length===0&&n.length===0&&e.deferred.length===0&&e.adopt.length===0)return;let i=t.filter(o=>o.assertion.kind==="updated");return(o,s)=>{let a=r.reduce((u,d)=>MA(u,s,d,e.env),{env:e.env,snapshot:o}),l=n.reduce((u,d)=>OA(u,s,d,e.env),a.snapshot),c=i.reduce((u,d)=>IA(u,s,d),a.env);return EA(LA(l,e.deferred,c),s,e.adopt)}}function EA(e,t,r){if(r.length===0)return e;let n=r.reduce((i,o)=>{let s=t.snapshot.singletons[o];return s===void 0?i:{...i,[o]:s}},e.singletons);return{...e,singletons:n}}function Um(e,t,r){return new Map([...e,...Object.entries(r).map(([n,i])=>[At(le,`${t}.${n}`),i])])}function IA(e,t,r){let n=ni(t.snapshot,r.entity,r.key,e).at(0);return n==null?e:Um(e,r.assertion.as,n)}function Wm(e){let t=Hm(e.predicates.filter(r=>zm(r)));if(t.length!==0)return(r,n)=>t.flatMap(i=>AA(i,r,n,e.env))}function Hm(e){return e.filter(t=>t.assertion.kind==="updated"&&mc(t.assertion.props).length>0)}function mc(e){return Object.entries(e).filter(([,t])=>fr(t)).map(([t])=>t)}function zm(e){return e.assertion.kind==="created"||e.assertion.kind==="updated"}function AA(e,t,r,n){let i=ni(t,e.entity,e.key,n).at(0),o=ni(r.snapshot,e.entity,e.key,n).at(0);if(i==null||o==null)return[];let s=ri(PA(e.key,n));return mc(e.assertion.props).flatMap(a=>Fm(i[a])===Fm(o[a])?[{entity:e.entity,field:a,key:s,kind:"expected-change",value:o[a]}]:[])}function PA(e,t){let r=Object.fromEntries(Object.entries(e).filter(n=>!TA(n[1])));return tn(r,le,t)}function TA(e){return typeof e=="object"&&e!==null&&"kind"in e}function Fm(e){return e==null?"\u2205":JSON.stringify(e)}function OA(e,t,r,n){let i=mc(r.assertion.props),o=ni(t.snapshot,r.entity,r.key,n).at(0);return o==null?e:Dm(e,r.entity,r.key,n,s=>({...s,...Object.fromEntries(i.flatMap(a=>{let l=o[a];return l===void 0?[]:[[a,l]]}))}))}function MA(e,t,r,n){if(r.assertion.kind!=="created")return e;let i=tn(r.assertion.props,le,n),o=ri(i),s=e.snapshot.entities.get(r.entity);if(s==null||!s.has(o))return e;let a=NA(t.snapshot.entities.get(r.entity),s,i);if(a==null)return e;let[l,c]=a,u=new Map(s);return u.delete(o),u.set(l,c),{env:Um(e.env,r.assertion.as,c),snapshot:{...e.snapshot,entities:new Map(e.snapshot.entities).set(r.entity,u)}}}function NA(e,t,r){if(e!=null)return[...e].find(([n,i])=>!t.has(n)&&Object.entries(r).every(([o,s])=>Bm(i[o])===Bm(s)))}function Bm(e){return e==null?"\u2205":JSON.stringify(e)}function LA(e,t,r){let n=t.reduce((i,o)=>{let s=$A(o.value,r);return s==null?i:{...i,[o.name]:en(o.name,s)}},e.singletons);return{...e,singletons:n}}function $A(e,t){try{return mt(e,le,t)}catch{return}}function jo(e,t){if(e.kind==="visible"||e.kind==="disabled"||e.kind==="enabled"||e.kind==="focused")return{kind:e.kind,locator:ii(e.locator,t)};if(e.kind==="not"){let r=jo(e.predicate,t);return r==null?null:{inner:r,kind:"not"}}return e.kind==="value"||e.kind==="text"?{kind:e.kind,locator:ii(e.locator,t),value:mt(e.value,le,t)}:e.kind!=="browser"?null:{kind:"browser",name:e.name,value:mt(e.value,le,t)}}function oi(e,t){let r=e.expect.filter(l=>l.kind==="state"),n=UA(r),{adopt:i,conditional:o,deferred:s,immediate:a}=jA(e,t,n);return{action:WA(e.action,t),label:e.action.kind,obligations:e.expect.flatMap(l=>zA(l,t)),reconcile:Vm({adopt:i,deferred:s,env:t,predicates:r}),verifyChanges:Wm({adopt:i,deferred:s,env:t,predicates:r}),effect:l=>{let c=Lm(l,r,t),u=o.reduce((d,p)=>({...d,...gc(p,c,t)}),{});return $m(c,{...a,...u})}}}function ii(e,t){return e.by==="role"?{by:"role",name:e.name==null?void 0:mt(e.name,le,t),role:e.role}:e.by==="inside"?{by:"inside",scope:ii(e.scope,t),target:ii(e.target,t)}:{by:"testId",value:mt(e.value,le,t)}}function gc(e,t,r){return e==null?{}:e.kind==="when"?yc(e.condition,t,r)?gc(e.consequence,t,r):gc(e.otherwise,t,r):_A(e,r)}function yc(e,t,r){if(!DA(e))throw new Error(`when() condition cannot be a "${e.kind}" predicate`);switch(e.kind){case"singleton":return t.singletons[e.singleton]===gt(e.assertion.value,le,r);case"count":return(t.entities.get(e.entity)?.size??0)===e.value;case"not":return!yc(e.predicate,t,r);case"and":return e.predicates.every(n=>yc(n,t,r))}}function DA(e){return e.kind==="singleton"||e.kind==="count"||e.kind==="not"||e.kind==="and"}function _A(e,t){if(e.kind!=="browser"&&e.kind!=="singleton")return{};let r=e.kind==="browser"?e.value:e.assertion.value;return $o(r,le,t)?Gm(e,t):{}}function jA(e,t,r){let n=e.action.kind==="goto"&&!e.expect.some(s=>s.kind==="browser"&&s.name==="url"),i=e.action.kind==="goto"&&!n?{url:lr(mt(e.action.url,le,t))}:{},o=n?["url"]:[];return e.expect.reduce((s,a)=>a.kind==="browser"&&FA(a.value,r)?{...s,deferred:[...s.deferred,{name:a.name,value:a.value}]}:a.kind==="browser"||a.kind==="singleton"?{...s,immediate:{...s.immediate,...Gm(a,t)}}:a.kind==="when"?{...s,conditional:[...s.conditional,a]}:s,{adopt:o,conditional:[],deferred:[],immediate:i})}function FA(e,t){return BA(e).some(r=>t.has(r.split(".")[0]??r))}function BA(e){return typeof e=="string"?[]:He(e)?[e.ref]:e.template.filter(t=>typeof t!="string").map(t=>t.ref)}function Gm(e,t){if(e.kind==="browser")return{[e.name]:VA(e,t)};if(e.kind==="singleton")return{[e.singleton]:gt(e.assertion.value,le,t)};throw new Error("when() consequence must be a url (browser) or singleton assertion")}function VA(e,t){return en(e.name,mt(e.value,le,t))}function UA(e){return new Set(e.flatMap(t=>t.assertion.kind==="created"||t.assertion.kind==="updated"?[t.assertion.as]:[]))}function WA(e,t){return{files:e.kind==="upload"?e.files:void 0,key:e.kind==="press"?e.key:void 0,kind:e.kind,locator:HA(e,t),url:e.kind==="goto"?mt(e.url,le,t):void 0,value:"value"in e?Nm(e.value,t):void 0}}function HA(e,t){if(!(!("locator"in e)||e.locator==null))return ii(e.locator,t)}function zA(e,t){if(e.kind==="browser"||e.kind==="singleton")return[];let r=jo(e,t),n="wait"in e?e.wait??"fast":"fast";return r==null?[]:[{budget:n,check:r}]}import{err as GA,ok as qA,okAsync as vJ,Result as KA}from"neverthrow";function bc(e,t,r){let n=e.tests.find(a=>a.name===t);if(n==null)throw new Error(`test "${t}" not found in lockfile`);let i=ZA(e),o={env:new Map,generate:r.generate,indexed:i,overrides:new Map(Object.entries(r.params??{}).map(([a,l])=>[Vt(a),l]))};XA(n.params,le,o);let s=n.world.map(a=>QA(a,le,o));return r.materialize(s).map(a=>JA(nP(a,o.env,i),n,e))}function wc(e){return t=>{let r=t.map(n=>({as:n.as,entity:n.entity,fields:n.fields}));return e(r).andThen(n=>YA(t,n))}}function qm(e,t){let r=Fo(t);return Object.fromEntries(Object.entries(e).filter(([n,i])=>r.includes(n)&&i!=null))}function Fo(e){return Object.entries(e.props).filter(([,t])=>t.stable).map(([t])=>t)}function JA(e,t,r){let n=Object.fromEntries(r.singletons.map(l=>[l.name,l.default])),i=Object.fromEntries(Object.entries(t.singletons).map(([l,c])=>[l,gt(c,le,e.env)])),o={...n,...i},s=new Set(r.singletons.filter(l=>l.source==="client").map(l=>l.name)),a=Object.fromEntries(Object.entries(o).filter(([l])=>s.has(l)));return{...e,clientState:a,snapshot:{...e.snapshot,singletons:o}}}function YA(e,t){let r=new Map(t.map(n=>[n.as,n]));return KA.combine(e.map(n=>{let i=r.get(n.as);return i==null?GA(dm(n.as)):qA({as:n.as,entity:n.entity,row:i.row,session:i.session})}))}function ZA(e){return{models:new Map(e.entities.map(t=>[t.name,t])),valueSpaces:new Map(e.valueSpaces.map(t=>[t.name,t]))}}function XA(e,t,r){Object.entries(e).forEach(([n,i])=>{let o=At(t,n),s=r.indexed.valueSpaces.get(i.valueSpace);if(s==null)throw new Error(`unknown valueSpace "${i.valueSpace}" for param "${o}"`);let a=r.overrides.get(o)??i.example??r.generate.value({anchor:void 0,constraints:s.constraints,generator:s.generator,nullable:!1,seed:o,type:s.type,values:s.values,valueSpace:i.valueSpace});r.env.set(o,a)})}function QA(e,t,r){let n=r.indexed.models.get(e.entity);if(n==null)throw new Error(`model "${e.entity}" not found for setup "${e.as}"`);let i=At(t,e.as),o=eP(e.set,t,r.env);return{as:i,entity:e.entity,fields:{...rP(n,o,i,r),...o},model:n,seedPrefix:i}}function eP(e,t,r){return Object.fromEntries(Object.entries(e).map(([n,i])=>[n,tP(i,t,r)]))}function tP(e,t,r){if(!He(e))return e;let n=At(t,e.ref);return r.get(n)??{ref:n}}function rP(e,t,r,n){return Object.fromEntries(Object.entries(e.props).filter(([i,o])=>!o.optional&&!e.identity.includes(i)&&!(i in t)).map(([i,o])=>[i,oP({field:i,generate:n.generate,model:e,seedPrefix:r,spec:o,valueSpaces:n.indexed.valueSpaces})]))}function nP(e,t,r){let n=new Map,i=e.flatMap(o=>{let s=r.models.get(o.entity);if(s==null)throw new Error(`model "${o.entity}" not found for setup "${o.as}"`);Object.entries(o.row).forEach(([l,c])=>t.set(At(Vt(o.as),l),c));let a=n.get(o.entity)??new Map;return a.set(sP(o.row,s),qm(o.row,s)),n.set(o.entity,a),o.session==null?[]:[o.session]});return{auth:iP(i),env:t,snapshot:{entities:aP(n),singletons:{}}}}function iP(e){if(e.length===0)return;let t=e.flatMap(r=>Object.entries(r.headers??{}));return{cookies:e.flatMap(r=>r.cookies),headers:t.length===0?void 0:Object.fromEntries(t),origins:e.flatMap(r=>r.origins)}}function oP({field:e,generate:t,model:r,seedPrefix:n,spec:i,valueSpaces:o}){let s=`${r.name}.${e}`;return t.value({anchor:void 0,constraints:o.get(s)?.constraints,generator:o.get(s)?.generator??"lorem.word",nullable:i.optional,seed:At(n,e),type:i.type,values:o.get(s)?.values,valueSpace:s})}function sP(e,t){return t.identity.map(r=>String(e[r])).join(":")}function aP(e){return new Map([...e].map(([t,r])=>[t,new Map(r)]))}function Ut(e){return`${e.test}#${String(e.index)}`}function rn(e){let t=e.tests.flatMap(r=>Bo(e,r.name));return Lr(t,r=>`${r.test}:${Me(r.steps)}`)}function Bo(e,t){let r=eg(e,t),n=Ym(r,e),i=Km(n,r.singletons),o=TP(r,PP(e));return lP(i,OP(r.steps),n).map(({chunk:a,guard:l},c)=>IP({chunk:a,guard:l,index:c,intent:r.intent,namespace:n.namespace,paramSpaceOf:o,testName:t}))}function Km(e,t){return{absences:RP(e),entities:EP(e),exclusives:e.exclusives,optionals:Qm(e.optionals,e),singletons:Object.fromEntries(Object.entries(t).filter(([,r])=>!He(r)&&!pr(r)))}}function Vo(e,t,r){return Object.values(e).flatMap(n=>He(n)?vc(n.ref,r):[]).find(n=>n.entity===t)?.aliasPath}function lP(e,t,r){return t.reduce((n,i)=>({guard:cP(n.guard,i,r),guarded:[...n.guarded,{chunk:i,guard:vP(n.guard,i)}]}),{guard:e,guarded:[]}).guarded}function cP(e,t,r){let n=t.flatMap(i=>i.expect.filter(o=>o.kind==="state")).reduce((i,o)=>uP(i,o,r),e);return{...n,singletons:{...n.singletons,...bP(t)}}}function uP(e,t,r){return t.assertion.kind==="deleted"?dP(e,t,r):t.assertion.kind==="created"?hP(e,t.entity,t.assertion.as,t.assertion.props,r):gP(e,t,r)}function dP(e,t,r){let n=Vo(t.key,t.entity,r.namespace),i=e.entities.find(a=>a.alias===n),o=si(pP(t.key),t.entity,r),s=i==null?{entity:t.entity,...o}:{entity:i.entity,...fP(i,o)};return{...e,absences:[...e.absences,s],entities:e.entities.filter(a=>a.alias!==n)}}function pP(e){return Object.fromEntries(Object.entries(e).flatMap(t=>{let r=t[1];return Xm(r)?[]:[[t[0],r]]}))}function fP(e,t){return{literals:{...e.literals,...t.literals},relations:[...e.relations.filter(r=>!t.relations.some(n=>n.field===r.field)),...t.relations]}}function hP(e,t,r,n,i){let o=si(n,t,i);return{...e,absences:e.absences.filter(s=>s.entity!==t||!mP(o,s)),entities:[...e.entities,{alias:r,entity:t,...o}]}}function mP(e,t){return Object.entries(t.literals).every(([n,i])=>e.literals[n]===i)&&t.relations.every(n=>e.relations.some(i=>i.field===n.field&&i.targetAlias===n.targetAlias&&i.targetField===n.targetField))}function gP(e,t,r){if(t.assertion.kind!=="updated")return e;let n=Vo(t.key,t.entity,r.namespace);if(n==null)return e;let i=si($r(t.assertion.props),t.entity,r),o=Object.entries(t.assertion.props).filter(([,a])=>fr(a)).map(([a])=>a),s=a=>a.alias===n?yP(a,i,o):a;return{...e,entities:e.entities.map(a=>s(a)),optionals:e.optionals.map(a=>s(a))}}function yP(e,t,r){let n=Object.entries(e.literals).filter(([i])=>!r.includes(i)&&!(i in t.literals));return{...e,literals:{...Object.fromEntries(n),...t.literals},relations:[...e.relations.filter(i=>!t.relations.some(o=>o.field===i.field)),...t.relations]}}function bP(e){return e.reduce((t,r)=>({...t,...wP(r),...SP(r)}),{})}function wP(e){return e.action.kind==="goto"?{url:e.action.url}:{}}function SP(e){return Object.fromEntries(e.expect.flatMap(t=>t.kind==="browser"?[[t.name,t.value]]:t.kind==="singleton"?[[t.singleton,t.assertion.value]]:[]))}function vP(e,t){return t[0]?.action.kind!=="goto"?e:{...e,singletons:Object.fromEntries(Object.entries(e.singletons).filter(([r])=>r!=="url"))}}function Uo(e,t){let r=eg(e,t),n=Ym(r,e);return{guard:Km(n,r.singletons),namespace:n.namespace,stable:n.stable}}function Jm(e,t){return[...new Set(e)].flatMap(r=>vc(r,t))}function yt(e){return He(e)?[e.ref]:pr(e)?e.template.flatMap(t=>He(t)?[t.ref]:[]):[]}function hr(e){switch(e.kind){case"visible":case"disabled":case"enabled":case"focused":return mr(e.locator);case"value":case"text":return[...mr(e.locator),...yt(e.value)];case"singleton":return yt(e.assertion.value);case"browser":return yt(e.value);case"state":return[...e.assertion.kind==="deleted"?[]:Object.values($r(e.assertion.props)).flatMap(t=>yt(t)),...Object.values(e.key).flatMap(t=>Zm(t))];case"not":return hr(e.predicate);case"when":return[...hr(e.condition),...hr(e.consequence),...e.otherwise==null?[]:hr(e.otherwise)];case"and":return e.predicates.flatMap(t=>hr(t));case"count":return[]}}function Ym(e,t){return{absences:e.absent,exclusives:e.exclusive,namespace:new Map([...e.world,...e.maybe].map(r=>[r.as,r.entity])),optionals:e.maybe,setups:e.world,stable:xP(t)}}function xP(e){let t=new Map(e.entities.map(r=>[r.name,r]));return(r,n)=>t.get(r)?.props[n]?.stable===!0}function mr(e){return e.by==="inside"?[...mr(e.scope),...mr(e.target)]:e.by==="role"?e.name==null?[]:yt(e.name):yt(e.value)}function Zm(e){return Xm(e)?Object.values(e.selection.where).flatMap(t=>Zm(t)):yt(e)}function Xm(e){return typeof e=="object"&&e!==null&&"kind"in e}function kP(e){return e.kind==="goto"?yt(e.url):e.kind==="fill"||e.kind==="select"?[...mr(e.locator),...yt(e.value)]:e.kind==="press"?e.locator==null?[]:mr(e.locator):(e.kind==="upload",mr(e.locator))}function CP(e){return[...kP(e.action),...e.expect.flatMap(t=>hr(t))]}function RP(e){return e.absences.map(t=>({entity:t.entity,...si(t.where,t.entity,e)}))}function si(e,t,r){let n=Object.entries(e).filter(([s])=>r.stable(t,s)),i=Object.fromEntries(n.flatMap(([s,a])=>He(a)||pr(a)?[]:[[s,a]])),o=n.flatMap(s=>{let a=s[1];if(!He(a))return[];let l=vc(a.ref,r.namespace).at(0);return l==null?[]:[{entity:l.entity,field:s[0],targetAlias:l.aliasPath,targetField:l.field}]});return{literals:i,relations:o}}function Qm(e,t){return e.map(r=>({alias:r.as,entity:r.entity,...si(r.set,r.entity,t)}))}function EP(e){return Qm(e.setups,e)}function IP(e){let t=e.chunk.findIndex(s=>s.action.kind!=="goto"),r=t===-1?e.chunk:e.chunk.slice(0,t),n=e.chunk.slice(r.length),i=n.at(-1)??e.chunk.at(-1);if(i==null)throw new Error("empty transition chunk");let o=[...new Set(e.chunk.flatMap(s=>CP(s)))];return{effectStep:i,guard:e.guard,index:e.index,intent:e.intent,namespace:e.namespace,nav:r,paramSpaces:Object.fromEntries(o.filter(s=>e.paramSpaceOf.has(s)).map(s=>[s,e.paramSpaceOf.get(s)])),steps:n,test:e.testName,wait:Am(n.flatMap(s=>AP(s)))}}function AP(e){return e.expect.flatMap(t=>t.kind==="state"&&t.wait!=null?[t.wait]:[])}function vc(e,t){let r=e.lastIndexOf(".");if(r===-1)return[];let n=e.slice(0,r),i=t.get(n);return i==null?[]:[{aliasPath:n,entity:i,field:e.slice(r+1),ref:e}]}function eg(e,t){let r=e.tests.find(n=>n.name===t);if(r==null)throw new Error(`test "${t}" not found in lockfile`);return r}function PP(e){return new Map(e.valueSpaces.map(t=>[t.name,t]))}function TP(e,t){return new Map(Object.entries(e.params).map(([r,n])=>[r,t.get(n.valueSpace)]))}function OP(e){return Sc(e,0,[],[])}function Sc(e,t,r,n){let i=e[t];if(i==null)return r.length===0?n:[...n,r];let o=[...r,i];return MP(i)?Sc(e,t+1,[],[...n,o]):Sc(e,t+1,o,n)}function MP(e){return e.expect.some(t=>t.kind==="state")}function tg(e){return rg(e,new Map)}function NP(e,t){return e.reduce((r,n)=>r??t(n),null)}function rg(e,t){let r=e.variables.find(n=>!t.has(n));return r==null?t:NP(e.domain(r),n=>{let i=new Map([...t,[r,n]]);return e.consistent(i)?rg(e,i):null})}function Pt(e,t){let r=LP(e,t);if(r==null)return null;let n=BP(r);return VP(e.singletons,t,n)?n:null}function LP(e,t){let{absences:r,entities:n,exclusives:i,optionals:o}=e,s=new Map(n.map(c=>[c.alias,c])),a=tg({variables:n.map(c=>c.alias),consistent:c=>$P(c)&&DP(n,c)&&jP(r,c,t),domain:c=>og(s.get(c),t)});if(a==null)return null;let l=sg(o,a,t);return FP(i,[...n,...o],l,t)?l:null}function $P(e){let t=[...e.values()];return new Set(t).size===t.length}function DP(e,t){return e.every(r=>t.has(r.alias)?r.relations.every(n=>_P(r,n,t)):!0)}function _P(e,t,r){if(!r.has(t.targetAlias))return!0;let n=r.get(t.targetAlias)?.[t.targetField];return n==null?!0:r.get(e.alias)?.[t.field]===n}function jP(e,t,r){return e.every(n=>![...r.entities.get(n.entity)?.values()??[]].some(i=>ng(i,n,t)))}function ng(e,t,r){return ig(e,t)?t.relations.every(n=>{if(!r.has(n.targetAlias))return!1;let i=r.get(n.targetAlias)?.[n.targetField];return i!=null&&e[n.field]===i}):!1}function ig(e,t){return Object.entries(t.literals).every(([r,n])=>n===null?e[r]==null:e[r]===n)}function og(e,t){return e==null?[]:[...t.entities.get(e.entity)?.values()??[]].filter(r=>ig(r,e))}function sg(e,t,r){let n=e.reduce((i,o)=>{if(i.has(o.alias))return i;let s=new Set(i.values()),a=og(o,r).find(l=>!s.has(l)&&ng(l,o,i));return a==null?i:new Map([...i,[o.alias,a]])},t);return n.size===t.size?n:sg(e,n,r)}function FP(e,t,r,n){return e.every(i=>{let o=t.filter(a=>a.entity===i&&r.has(a.alias)).length;return(n.entities.get(i)?.size??0)===o})}function BP(e){return new Map([...e].flatMap(([t,r])=>Object.entries(r).flatMap(n=>{let i=n[1];return typeof i=="string"||typeof i=="number"||typeof i=="boolean"?[[Vt(`${t}.${n[0]}`),i]]:[]})))}function VP(e,t,r){return Object.entries(e).every(([n,i])=>{if(!$o(i,le,r))return!1;let o=gt(i,le,r),s=t.singletons[n],a=_t.safeParse(n);return a.success?Ql(a.data,o,s):s===o})}function Ho(e,t,r){let n=Pt(e.guard,t);return n==null?null:new Map([...n,...Object.entries(r).map(([i,o])=>[Vt(i),o])])}function zo(e,t){let r=oi(e.effectStep,t),n=HP(e,t),i=[...e.nav,...e.steps].map(o=>oi(o,t));return{effect:zP(r.effect,n),steps:i.map(o=>({action:o.action,effect:o.effect,obligations:o.obligations,reconcile:o.reconcile,verifyChanges:o.verifyChanges}))}}function xc(e,t,r){return Pt(e.guard,r)==null?!1:Wo(t(r))!==Wo(r)||GP(e)||UP(e)}function UP(e){return[...e.nav,...e.steps].every(t=>t.expect.every(r=>r.kind!=="state"))}var ag=new WeakMap;function Wo(e){let t=ag.get(e);if(t!=null)return t;let r=Me({entities:[...e.entities].map(([n,i])=>[n,[...i]]),singletons:WP(e.singletons)});return ag.set(e,r),r}function WP(e){return Object.fromEntries(Object.entries(e).map(([t,r])=>t==="url"&&typeof r=="string"?[t,lr(r)]:[t,r]))}function HP(e,t){let r=e.nav.at(-1);return r==null?void 0:oi(r,t).action.url}function zP(e,t){if(t==null)return e;let r=lr(t);return n=>{let i=e(n);return{...i,singletons:{...i.singletons,url:r}}}}function GP(e){return e.effectStep.expect.some(t=>t.kind==="state"&&t.assertion.kind==="updated"&&Object.values(t.assertion.props).some(r=>fr(r)))}function lg(e,t,r){let n=Ho(e,t.snapshot,r);if(n==null)return null;let i=qP(e,n);return i==null||!xc(e,i.effect,t.snapshot)?null:{next:{snapshot:i.effect(t.snapshot)},resolved:i}}function cg(e,t,r){let n=Ho(e,t.snapshot,r);if(n==null)return"guard-unsatisfied";try{return zo(e,n),"no-effect"}catch{return"unresolvable"}}function qP(e,t){try{return zo(e,t)}catch{return null}}var KP={absences:[],entities:[],exclusives:[],optionals:[],singletons:{}};function ai(e){return{...KP,...e}}function kc(e){return JP(e).flatMap(t=>YP(t))}function JP(e){return[...e.reduce((r,n)=>{let i=Me([n.when.singletons,n.consequence]);return new Map([...r,[i,[...r.get(i)??[],n]]])},new Map).values()]}function YP(e){if(e.length<2)return[];let t=e.map(o=>new Set(o.when.entities.map(s=>ug(s)))),[r]=t;if(r==null)return[];let n=[...r].filter(o=>t.every(s=>s.has(o))),i=e.toSorted((o,s)=>o.when.entities.length-s.when.entities.length)[0];return i==null||n.length===i.when.entities.length?[]:ZP(i,n,QP(e))}function ug(e){return Me([e.entity,e.literals])}function ZP(e,t,r){let n=e.when.entities.filter(s=>t.includes(ug(s))),i=new Set(n.map(s=>s.alias));if(![...e.refs].every(s=>i.has(s)))return[];let o=ai({entities:n.map(s=>XP(s,i)),optionals:e.when.optionals.filter(s=>i.has(s.alias)),singletons:e.when.singletons});return[{consequence:e.consequence,origin:{kind:"generalized",tests:r},refs:e.refs,when:o}]}function XP(e,t){return{...e,relations:e.relations.filter(r=>t.has(r.targetAlias))}}function QP(e){return[...new Set(e.flatMap(t=>t.origin==null?[]:t.origin.kind==="generalized"?t.origin.tests:[t.origin.test]))]}function Ec(e){return e.flatMap((t,r)=>e.slice(r+1).flatMap(n=>hg(t,n)))}function fg(e,t){return hg(e,t).length>0}function hg(e,t){let r=dg(e.when,t.when);return!r&&!dg(t.when,e.when)||!tT(e.consequence,t.consequence)?[]:[{a:e.consequence,b:t.consequence,when:r?t.when:e.when}]}function dg(e,t){return Cc(e.entities,t.entities)&&Cc(e.absences,t.absences)&&Cc(e.optionals,t.optionals)&&e.exclusives.every(r=>t.exclusives.includes(r))&&eT(e.singletons,t.singletons)}function Cc(e,t){let r=new Set(t.map(n=>Me(n)));return e.every(n=>r.has(Me(n)))}function eT(e,t){return Object.entries(e).every(([r,n])=>Me(t[r])===Me(n))}function tT(e,t){return e.kind==="not"?Rc(e.predicate,t):t.kind==="not"?Rc(e,t.predicate):rT(e,t)||nT(e,t)}function Rc(e,t){return e.kind===t.kind&&"locator"in e&&"locator"in t&&mg(e,t)}function mg(e,t){return"locator"in t&&Me(e.locator)===Me(t.locator)}function rT(e,t){let r=new Set([e.kind,t.kind]);return r.has("enabled")&&r.has("disabled")&&"locator"in e&&"locator"in t?mg(e,t):!1}function nT(e,t){let r=pg(e),n=pg(t);return r==null||n==null||e.kind!==t.kind?!1:Rc(e,t)&&Me(r)!==Me(n)}function pg(e){return e.kind==="value"||e.kind==="text"?e.value:null}function Ic(e,t){return e.flatMap(r=>{let n=iT(r),i=new Set(r.guard.absences.map(o=>o.entity));return t.flatMap(o=>oT(r,o,n,i))})}function iT(e){return new Set(e.steps.flatMap(t=>t.expect.flatMap(r=>r.kind==="state"&&r.assertion.kind==="deleted"?[r.entity]:[])))}function oT(e,t,r,n){let{source:i,target:o}=t.reference;return!r.has(o)||r.has(i)||n.has(i)?[]:[{invariant:t,source:i,target:o,transition:Ut(e)}]}function Pc(e){return Me({consequence:e.consequence,when:e.when})}function Tc(e){let t=[...sT(e),...gT(e)],r=kc(t).reduce((n,i)=>[...t,...n].some(s=>fg(i,s))?n:[...n,i],[]);return Lr([...t,...r],Pc)}function Oc(e){return e.kind==="not"?Oc(e.predicate):e.kind==="visible"||e.kind==="disabled"||e.kind==="enabled"||e.kind==="focused"||e.kind==="value"||e.kind==="text"}function Mc(e,t,r){if(Pt(e.when,t)!=null)return null;let n=Pt(e.when,r);return n==null?null:bT(e,n)}function sT(e){return Lr(e.tests.flatMap(t=>aT(e,t)),Pc)}function aT(e,t){let r=Uo(e,t.name);return t.steps.reduce((n,i)=>({guard:lT(n.guard,i,r),laws:[...n.laws,...mT(i,n.guard,r.namespace,{kind:"test",test:t.name})]}),{guard:r.guard,laws:[]}).laws}function lT(e,t,r){return t.expect.reduce((n,i)=>i.kind==="state"?cT(n,i,r):n,e)}function cT(e,t,r){if(t.assertion.kind==="created"){let o=uT(t.assertion.as,t.entity,t.assertion.props,r);return{...e,entities:[...e.entities,o]}}let n=Vo(t.key,t.entity,r.namespace);if(n==null)return e;if(t.assertion.kind==="deleted")return fT(e,n);let i=$r(t.assertion.props);return{...e,entities:e.entities.map(o=>o.alias===n?Ac(o,i,r):o),optionals:e.optionals.map(o=>o.alias===n?Ac(o,i,r):o)}}function uT(e,t,r,n){return Ac({alias:e,entity:t,literals:{},relations:[]},r,n)}function Ac(e,t,r){return Object.entries(t).reduce((n,[i,o])=>{if(pr(o)||!r.stable(e.entity,i))return n;if(He(o)){let s=dT(o.ref,i,r.namespace);return{...n,literals:pT(n.literals,i),relations:s==null?n.relations:[...gg(n.relations,i),s]}}return{...n,literals:{...n.literals,[i]:o},relations:gg(n.relations,i)}},e)}function dT(e,t,r){let n=e.lastIndexOf(".");if(n===-1)return;let i=e.slice(0,n),o=r.get(i);return o==null?void 0:{entity:o,field:t,targetAlias:i,targetField:e.slice(n+1)}}function pT(e,t){return Object.fromEntries(Object.entries(e).filter(([r])=>r!==t))}function gg(e,t){return e.filter(r=>r.field!==t)}function fT(e,t){let r=[...e.entities,...e.optionals].find(i=>i.alias===t),n=hT(e,t);return r==null?n:{...n,absences:[...n.absences,{entity:r.entity,literals:r.literals,relations:r.relations}]}}function hT(e,t){return{...e,entities:e.entities.filter(r=>r.alias!==t),optionals:e.optionals.filter(r=>r.alias!==t)}}function mT(e,t,r,n){if(e.action.kind!=="goto")return[];let i=e.action.url;return e.expect.filter(o=>Oc(o)).map(o=>yg({consequence:o,guard:t,namespace:r,origin:n,url:i}))}function yg({consequence:e,guard:t,namespace:r,origin:n,url:i}){return{consequence:e,origin:n,refs:new Set(Jm([...yt(i),...hr(e)],r).map(o=>o.aliasPath)),when:{...t,singletons:{...t.singletons,url:i}}}}function gT(e){return Lr(rn(e).flatMap(t=>yT(t)),Pc)}function yT(e){let t=e.nav.at(-1),r=e.steps[0]?.action,n=r!=null&&"locator"in r?r.locator:void 0;return t==null||t.action.kind!=="goto"||n==null?[]:[yg({consequence:{kind:"enabled",locator:n,wait:void 0},guard:e.guard,namespace:e.namespace,origin:{intent:e.intent,kind:"trigger",test:e.test},url:t.action.url})]}function bT(e,t){try{let r=jo(e.consequence,t);return r==null?null:{check:r}}catch{return null}}function Nc(e){return lc(e.tests.flatMap(t=>wT(e,t.name)))}function Lc(e,t){return Pt(e.when,t)==null?!1:Pt(e.holds,t)==null}function wT(e,t){let r=Uo(e,t);return r.guard.entities.flatMap(n=>n.relations.flatMap(i=>ST(e,n,i,r.namespace)?kT(n,i,r.namespace):[]))}function ST(e,t,r,n){let i=n.get(r.targetAlias);return i!=null&&!vT(e,t.entity,r.field)&&xT(e,i,r.targetField)}function vT(e,t,r){return e.entities.find(n=>n.name===t)?.props[r]?.optional===!0}function xT(e,t,r){return e.entities.find(n=>n.name===t)?.identity.includes(r)===!0}function kT(e,t,r){let n=r.get(t.targetAlias);if(n==null)return[];let i=bg(e.alias,e.entity),o=bg(t.targetAlias,n);return[{holds:ai({entities:[{...i,relations:[t]},o]}),reference:{field:t.field,source:e.entity,target:n,targetField:t.targetField},when:ai({entities:[i]})}]}function bg(e,t){return{alias:e,entity:t,literals:{},relations:[]}}function $c(e,t,r){return t.steps.map(n=>({effect:n.effect,obligations:n.obligations.map(i=>({budget:i.budget,check:{kind:"poll",run:()=>r.evaluate(i.check)},source:{check:i.check,kind:"step"}})),reconcile:n.reconcile,settle:e.wait,step:{action:n.action,intent:e.intent,test:e.test},verifyChanges:n.verifyChanges,guard:()=>!0,perform:()=>r.perform(n.action)}))}async function wg(e,t){let{params:r,transition:n}=e.firing,i=lg(n,e.state,r);if(i==null){let s={intent:n.intent,kind:"unfireable",reason:cg(n,e.state,r),test:n.test};return{label:Ut(n),next:e.state,result:{finalModel:e.state.snapshot,findings:[s]}}}let o=await dc({canon:e.canon,classify:e.classify,initialSnapshot:e.state.snapshot,lawObligations:RT(e.laws,e.invariants,e.driver),observe:e.driver.observe,onAssertion:e.onAssertion,onStep:e.onStep,steps:$c(e.firing.transition,i.resolved,e.driver)},t);return{label:Ut(e.firing.transition),next:{snapshot:o.finalModel},result:o}}function CT(e,t){return Lc(e,t)?[{budget:"fast",check:{kind:"decided",passed:!1},source:{invariant:e,kind:"invariant"}}]:[]}function RT(e,t,r){return(n,i)=>[...e.flatMap(o=>ET(o,n,i,r)),...t.flatMap(o=>CT(o,i))]}function ET(e,t,r,n){let i=Mc(e,t,r);return i==null?[]:[{budget:"fast",check:{kind:"poll",run:()=>n.evaluate(i.check)},source:{check:i.check,kind:"law",origin:e.origin}}]}function _c(e,t){return Dc({acc:{findings:[],fired:[]},index:0,params:e,signal:t,state:e.initialState,stepBase:0})}async function Dc({acc:e,index:t,params:r,signal:n,state:i,stepBase:o}){dr(n);let s=r.sequence[t];if(s==null)return e;let a=Date.now(),l=[],c=await wg({canon:r.canon,classify:r.classify,driver:r.driver,firing:s,invariants:r.invariants,laws:r.laws,onAssertion:r.onAssertion,state:i,onStep:d=>{l.push(d.index),r.onEvent({endMs:d.endMs,findings:d.findings,index:o+d.index,kind:"step",startMs:d.startMs})}},n);if(c==null)return Dc({acc:e,index:t+1,params:r,signal:n,state:i,stepBase:o});r.onEvent({endMs:Date.now(),intent:s.transition.intent,kind:"fired",startMs:a}),c.result.findings.forEach(d=>{r.onEvent({finding:d,kind:"finding"})});let u={findings:[...e.findings,...c.result.findings],fired:[...e.fired,c.label]};return Dc({acc:u,index:t+1,params:r,signal:n,state:c.next,stepBase:o+l.length})}var Fc={value:e=>IT(e)};function Bc(e,t){return{value:r=>e.value({...r,seed:`${t}:${r.seed}`})}}function Vc(e,t){return{value:r=>e.value({...r,anchor:t})}}function IT({anchor:e,constraints:t,generator:r,nullable:n,seed:i,type:o,values:s,valueSpace:a}){let l=jc(`${a}:${i}`);return n&&l%4===0?null:s!=null&&s.length>0?s[l%s.length]??s[0]??null:r==="date.iso"?AT({anchor:e,constraints:t,n:l,timeHash:jc(`${a}:${i}#tod`)}):o==="number"?PT(l,t):o==="boolean"?l%2===0:TT(r,l.toString(36))}var Go=864e5;function AT({anchor:e,constraints:t,n:r,timeHash:n}){if(t?.kind!=="datetime")throw new Error("datetime value space requires offsetDays constraints");if(e==null)throw new Error("datetime value space requires a run anchor timestamp");let i=Date.parse(e);if(Number.isNaN(i))throw new TypeError(`datetime anchor "${e}" is not a valid ISO timestamp`);let o=t.maxOffsetDays-t.minOffsetDays+1,s=o<=0?t.minOffsetDays:t.minOffsetDays+r%o,a=Math.floor(i/Go)*Go;return new Date(a+s*Go+n%Go).toISOString()}function jc(e,t=0,r=7){return t>=e.length?r>>>0:jc(e,t+1,r*31+(e.codePointAt(t)??0)>>>0)}function PT(e,t){if(t?.kind!=="number"||t.min==null||t.max==null)throw new Error("number value space requires min and max constraints");let r=t.max-t.min+1;return r<=0?t.min:t.min+e%r}function TT(e,t){if(e==="internet.email")return`${t}@test.ripplo.ai`;if(e==="internet.url")return`https://${t}.example.com`;let r=e.split(".").at(-1);if(r==null)throw new Error(`generator "${e}" has no "."-suffix`);return`${r}-${t}`}import{ResultAsync as Wc}from"neverthrow";var li=class extends Error{mountKey;constructor(t){super("client-mount-unmounted"),this.mountKey=t}};function Uc(e){return{read:t=>OT(t,e),seedScript:t=>`globalThis[${JSON.stringify(jl)}] = ${JSON.stringify(t)};`}}async function OT(e,t){let r={title:await e.title(),url:lr(e.url()),viewport:LT(e.viewportSize())};if(t.length===0)return r;let n=await e.evaluate(NT,{mountKey:ko,names:t,timeoutMs:MT});if(n.kind==="unmounted")throw new li(ko);return{...r,...n.values}}var MT=5e3;async function NT(e){let t=Date.now()+e.timeoutMs;for(;Reflect.get(globalThis,e.mountKey)==null&&Date.now()<t;)await new Promise(n=>setTimeout(n,25));let r=Reflect.get(globalThis,e.mountKey);return r==null?{kind:"unmounted"}:{kind:"values",values:Object.fromEntries(e.names.map(n=>[n,r.readSingleton(n)??null]))}}function LT(e){return e==null?"":`${String(e.width)}x${String(e.height)}`}function zc(e,t,r){return{evaluate:n=>Wc.fromPromise(xg($T(e,r,n),`check ${n.kind}`),Sg),observe:()=>t.read().andThen(n=>Wc.fromPromise(xg(kg(e,r,0),"observe"),Sg).map(i=>({snapshot:{...n,singletons:{...n.singletons,...i}}}))),perform:n=>Wc.fromPromise(Rg(e,n,0),i=>pm(n.kind,i))}}async function $T(e,t,r){try{return await Ag(e,t,r)}catch(n){if(Cg(n))return!1;throw n}}function Sg(e){return e instanceof li?lm(e.mountKey):fm(e)}var DT=[100,250,500];async function kg(e,t,r){try{return await t.read(e)}catch(n){let i=DT[r];if(i==null||!Cg(n))throw n;return await Ig(i),kg(e,t,r+1)}}function Cg(e){let t=e instanceof Error?e.message:String(e);return/Execution context was destroyed|Cannot find context with specified id|[Ff]rame was detached|frame got detached/.test(t)}var vg=35e3;function xg(e,t){let r,n=new Promise((i,o)=>{r=setTimeout(()=>{o(new Error(`driver op "${t}" exceeded ${String(vg)}ms`))},vg)});return Promise.race([e,n]).finally(()=>{clearTimeout(r)})}var _T=[250,750,2e3];async function Rg(e,t,r){try{await jT(e,t)}catch(n){let i=_T[r];if(i==null||!VT(n))throw n;await Ig(i),await Rg(e,t,r+1)}}async function jT(e,t){if(t.kind==="goto"){await e.goto(nn(t.url,t,"url"));return}if(t.kind==="press"&&t.locator==null){await e.keyboard.press(nn(t.key,t,"key"));return}await FT(Eg(e,t.locator),t)}function nn(e,t,r){if(e==null)throw new Error(`action "${t.kind}" requires ${r}`);return e}function FT(e,t){switch(t.kind){case"goto":throw new Error("goto must not be located");case"fill":return e.fill(String(nn(t.value,t,"value")));case"clear":return e.clear();case"click":return e.click();case"dblclick":return e.dblclick();case"check":return e.check();case"uncheck":return e.uncheck();case"hover":return e.hover();case"select":return e.selectOption(String(nn(t.value,t,"value")));case"upload":return e.setInputFiles(nn(t.files,t,"files"));case"press":return e.press(nn(t.key,t,"key"))}}function Eg(e,t){if(t==null)throw new Error("action requires a locator");return Hc(e,t)}function Hc(e,t){return t.by==="testId"?e.getByTestId(t.value):t.by==="inside"?Hc(Hc(e,t.scope),t.target):e.locator(BT(t.role,t.name))}function BT(e,t){return t==null?`role=${e}`:`role=${e}[name=${JSON.stringify(t)}i]`}function VT(e){let t=e instanceof Error?e.message:String(e);return/net::ERR_|ERR_HTTP_RESPONSE_CODE_FAILURE|ECONNREFUSED|ECONNRESET|socket hang up|fetch failed|page\.goto: Timeout/.test(t)}function Ig(e){return new Promise(t=>{setTimeout(t,e)})}async function Ag(e,t,r){if(r.kind==="browser")return UT(e,t,r.name,r.value);if(r.kind==="not")return!await Ag(e,t,r.inner);let n=Eg(e,r.locator);return r.kind==="visible"?n.isVisible():r.kind==="disabled"?n.isDisabled():r.kind==="enabled"?n.isEnabled():r.kind==="focused"?n.evaluate(i=>i===i.ownerDocument.activeElement):r.kind==="value"?await n.inputValue()===r.value:(await n.textContent()??"").includes(r.value)}async function UT(e,t,r,n){let o=(await t.read(e))[r];return typeof o=="string"&&o.includes(n)}import{chromium as Tg}from"playwright";async function Gc({baseUrl:e,browser:t,capture:r,clientState:n,engine:i,reader:o,session:s}){let a=await t.newContext({baseURL:e,reducedMotion:"reduce",storageState:s==null?void 0:{cookies:s.cookies,origins:s.origins}});s?.headers!=null&&await a.setExtraHTTPHeaders(s.headers),await a.addInitScript(i.seedScript(n));let l=await r.hub.attach(a,r.runId),c=await a.newPage();return l.onPage(c),{driver:WT(zc(c,o,i),l),emitAssertion:l.emitAssertion,close:()=>HT({context:a,handle:l})}}async function qc(e,t){let r=await Tg.launch({headless:!e});try{return await t(r)}finally{await r.close()}}function Og({headed:e}){let t;return{acquire:async()=>{let i=t;if(i!=null){let o=await i.catch(()=>{});if(o?.isConnected()===!0)return o;t===i&&(t=void 0)}return t??=Tg.launch({headless:!e}),t},close:async()=>{let i=t;t=void 0,i!=null&&await i.then(o=>o.close()).catch(()=>{})}}}function WT(e,t){return{evaluate:e.evaluate,observe:e.observe,perform:r=>(t.emitAction(r),e.perform(r))}}async function HT({context:e,handle:t}){await Pg(t.finish()),await Pg(e.close())}var zT=15e3;async function Pg(e){let t,r=new Promise(n=>{t=setTimeout(n,zT)});await Promise.race([e.catch(()=>{}),r]).finally(()=>{clearTimeout(t)})}import{err as GT,ok as qT,Result as Kc}from"neverthrow";function Jc(e,t,r){return{read:()=>r.read(e.map(n=>n.name),t).andThen(n=>KT(e,n))}}function KT(e,t){return Kc.combine(e.map(r=>JT(r,t.entities[r.name]??[]).map(n=>[r.name,n]))).map(r=>({entities:new Map(r),singletons:t.singletons}))}function JT(e,t){let r=Fo(e);return Kc.combine(t.map(n=>YT(n,e).map(i=>[i,ZT(n,r)]))).map(n=>new Map(n))}function YT(e,t){return Kc.combine(t.identity.map(r=>{let n=e[r];return n==null?GT(um(t.name,r)):qT(String(n))})).map(r=>r.join(":"))}function ZT(e,t){let r=t.map(n=>[n,e[n]]).filter(n=>n[1]!=null);return Object.fromEntries(r)}var Ng=so(wl(),1);import XT from"crypto";import{err as QT,errAsync as Mg,ok as eO,ResultAsync as qo}from"neverthrow";var tO=3e4,rO=[250,750,2e3];function Yc({baseUrl:e,runId:t,secret:r},n){let i=new Ng.Webhook(r),o=(s,a,l)=>nO({baseUrl:e,body:a,path:s,retry:l.retry,schema:l.schema,signal:l.signal,webhook:i});return{query:{read:(s,a)=>o("/state",{entities:s,runId:t,singletons:a},{retry:"transient",schema:Hl,signal:n}).map(l=>({entities:l.entities,singletons:l.singletons}))},setupWorld:s=>o("/setup",{entities:s,runId:t},{retry:"connection",schema:Wl,signal:n}).map(a=>a.rows),teardown:()=>o("/teardown",{runId:t},{retry:"connection",schema:zl,signal:void 0}).map(()=>{})}}function nO(e){return Lg(e.retry,()=>lO(e),0)}function Lg(e,t,r){return t().orElse(n=>{let i=rO[r];return i==null||!oO(n,e)?Mg(n):qo.fromSafePromise(aO(i)).andThen(()=>Lg(e,t,r+1))})}var iO=new Set(["EAI_AGAIN","ECONNREFUSED","ENOTFOUND"]);function oO(e,t){return e.kind==="aborted"?!1:sO(e)?!0:t==="connection"?!1:e.kind==="engine-network"||e.kind==="engine-http"&&e.status>=500}function sO(e){return e.kind==="engine-network"&&e.code!=null&&iO.has(e.code)}function aO(e){return new Promise(t=>{setTimeout(t,e)})}function lO({baseUrl:e,body:t,path:r,schema:n,signal:i,webhook:o}){let s=JSON.stringify(t);return qo.fromPromise(fetch(`${e}${r}`,{body:s,headers:{"Content-Type":"application/json",...cO(o,s)},method:"PUT",signal:uO(i)}),a=>Oo(r,a)).andThen(a=>dO(a,r)).andThen(a=>pO(n,a,r)).mapErr(a=>i?.aborted===!0?hm():a)}function cO(e,t){let r=`msg_${XT.randomUUID()}`,n=new Date;return{"webhook-id":r,"webhook-signature":e.sign(r,n,t),"webhook-timestamp":String(Math.floor(n.getTime()/1e3))}}function uO(e){let t=AbortSignal.timeout(tO);return e==null?t:AbortSignal.any([e,t])}function dO(e,t){return e.ok?qo.fromPromise(e.json(),r=>Oo(t,r)):qo.fromPromise(e.text().catch(()=>""),r=>Oo(t,r)).andThen(r=>Mg(am(t,e.status,r)))}function pO(e,t,r){let n=e.safeParse(t);return n.success?eO(n.data):QT(cm(r,n.error))}var de=so(_g(),1),_={actual:e=>de.default.red(e),bad:e=>de.default.red(de.default.bold(e)),bold:e=>de.default.bold(e),dim:e=>de.default.dim(e),expected:e=>de.default.green(e),good:e=>de.default.green(de.default.bold(e)),heading:e=>de.default.bold(de.default.cyan(e)),path:e=>de.default.cyan(de.default.underline(e)),warn:e=>de.default.yellow(de.default.bold(e))},gO={assertion:de.default.yellow,consistency:de.default.magenta,driver:de.default.red,illegal:de.default.cyan,invariant:de.default.yellow,unfireable:de.default.red};function ci(e){return`${de.default.red(de.default.bold("\u2717"))} ${gO[e](de.default.bold(e.toUpperCase()))}`}var yO=de.default.red("\u2717"),GY=de.default.green("\u2713"),jg=de.default.dim("\u203A"),bO=8;function te(e,t,r){let n=r==null?"":` ${_.dim(r)}`;return` ${_.dim(e.padStart(bO))} ${t}${n}`}function sn(e){return e.by==="testId"?`testId=${e.value}`:e.by==="inside"?`${sn(e.scope)} \u25B8 ${sn(e.target)}`:e.name==null?e.role:`${e.role} "${e.name}"`}function Xc(e){return e.url!=null?`${e.kind} ${e.url}`:e.locator!=null?`${e.kind} ${sn(e.locator)}`:e.kind}function Yo(e){return e.kind==="not"?`not ${Yo(e.inner)}`:e.kind==="browser"?`${e.name}="${e.value}"`:e.kind==="value"||e.kind==="text"?`${e.kind} ${sn(e.locator)}="${e.value}"`:`${e.kind} ${sn(e.locator)}`}function Zo(e){let{field:t,source:r,target:n,targetField:i}=e.reference;return`${r}.${t} \u2192 ${n}.${i}`}function Bg(e){return`${e.intent} \u203A ${Xc(e.action)}`}function Vg(e){return e.kind==="invariant"?`invariant ${Zo(e.invariant)}`:`${e.kind} ${Yo(e.check)}`}function on(e){return e==null?"\u2205":JSON.stringify(e)}function Qc(e){return{label:Vg(e.source),step:Bg(e.step)}}function ui(e){return e.kind==="consistency"?vO(e):e.kind==="obligation"?IO(e.source,e.step,e.budget):e.kind==="illegal-transition"?Dr("illegal","guard was false before this step",e.step,[te("meaning",_.dim("the action fired from a state the model says is unreachable"),void 0)]):e.kind==="unfireable"?Dr("unfireable",`could not fire "${e.intent}"`,void 0,[te("reason",_.actual(SO(e.reason)),void 0),te("meaning",_.dim("a planned move was skipped \u2014 never silently drop it"),void 0)]):Dr("driver","the browser failed to run this step",e.step,[te("cause",_.actual(cr(e.error)),void 0),te("decide",_.dim("environment/infra failure \u2014 fix the run environment (daemon, dev server, ports); never weaken the model or app for a driver failure"),void 0)])}var wO={"guard-unsatisfied":"the guard isn't satisfied by the live state","no-effect":"the move has no observable effect from this state",unresolvable:"a step references a value the model can't resolve yet (e.g. a not-yet-created id)"};function SO(e){return wO[e]}function eu({debugDir:e,runId:t}){let r=`${e}/${t}`;return te("behavior",_.path(`${r}/behavior.jsonl`),void 0)}function tu(e){if(e.kind==="cascade-gap"){let{gap:n}=e,i=`${n.transition} deletes ${n.target} but leaves ${n.source} dangling`;return`${ci("invariant")} ${_.bold(i)}
114
+ ${te("breaks",_.dim(Zo(n.invariant)),void 0)}`}if(e.kind==="create-gap"){let{gap:n}=e,i=`${n.transition} creates ${n.entity} without setting required field(s)`;return`${ci("invariant")} ${_.bold(i)}
115
+ ${te("missing",_.dim(n.missing.join(", ")),void 0)}`}let{conflict:t}=e,r=`view laws contradict: ${t.a.kind} vs ${t.b.kind}`;return`${ci("invariant")} ${_.bold(r)}
116
+ ${te("when",_.dim(JSON.stringify(t.when.singletons)),void 0)}`}function Dr(e,t,r,n){let i=r==null?[]:[` ${r.intent} ${jg} ${_.dim(Xc(r.action))}`];return[`${ci(e)} ${_.bold(t)}`,...i,...n].join(`
117
+ `)}function vO(e){return e.pending?Dr("consistency",CO(e.divergence),e.step,[...Fg(e.divergence),te("meaning",_.dim(`the write never landed within the ${RO(e.budget)} settle budget \u2014 the app still showed the pre-step value, not a wrong one`),void 0),te("fix",_.dim("declare wait: on the expectation (or a slower tier) if this write is legitimately slow"),void 0)]):Dr("consistency",EO(e.divergence),e.step,[...Fg(e.divergence),te("decide",_.dim(kO(e.divergence)),void 0)])}var xO={absent:"app bug if the write was promised; if it only happens from a different starting state, restrict this test's given and cover that state in its own test","expected-change":"app bug if this action should change it; if the change needs other preconditions, split that case into its own test with the right given","field-mismatch":"app bug if the model value is the promised behavior; if the app legitimately owns this value, mark the field stable: false or assert changed() instead","ghost-write":"declare the missing effect on the acting step (Entity.created/updated/deleted), or if this write belongs to a different flow, cover it in that flow's test","singleton-mismatch":"app bug if the model value is the promised behavior; otherwise correct the singleton's expected value at the step that sets it"};function kO(e){return xO[e.kind]}function CO(e){return e.kind==="field-mismatch"?`${e.entity}.${e.field} write never landed`:e.kind==="ghost-write"?`${e.entity} "${e.key}" delete never landed`:e.kind==="absent"?`${e.entity} "${e.key}" create never landed`:e.kind==="expected-change"?`${e.entity}.${e.field} never changed`:`${e.singleton} write never landed`}function Fg(e){if(e.kind==="field-mismatch")return[te("row",_.dim(`${e.entity} ${e.key}`),void 0),te("expected",_.expected(on(e.snapshot)),"model predicted this"),te("actual",_.actual(on(e.sut)),"app showed this")];if(e.kind==="singleton-mismatch")return[te("expected",_.expected(on(e.snapshot)),"model predicted this"),te("actual",_.actual(on(e.sut)),"app showed this")];if(e.kind==="expected-change")return[te("row",_.dim(`${e.entity} ${e.key}`),void 0),te("expected",_.expected("a different value"),"changed() asserted a change"),te("actual",_.actual(on(e.value)),"app left it unchanged")];let t=e.kind==="ghost-write"?"an app write the model never declared \u2014 unmodeled side effect":"the model expected this row but the app has none";return[te("meaning",_.dim(t),void 0)]}function RO(e){return`${String(ti[e]/1e3)}s "${e}"`}function EO(e){return e.kind==="field-mismatch"?`${e.entity}.${e.field} diverged`:e.kind==="ghost-write"?`${e.entity} "${e.key}" written but never modeled`:e.kind==="absent"?`${e.entity} "${e.key}" missing in the app`:e.kind==="expected-change"?`${e.entity}.${e.field} never changed`:`${e.singleton} diverged`}function IO(e,t,r){if(e.kind==="invariant")return Dr("invariant",`${Zo(e.invariant)} violated`,t,[te("meaning",_.dim("a referenced row went missing after this step"),void 0)]);let n=e.kind==="law"?"view law never held":"expectation never held",i=e.kind==="law"&&e.origin!=null?[AO(e.origin)]:[];return Dr("assertion",n,t,[te("check",_.warn(Yo(e.check)),void 0),...i,te("budget",_.dim(`${r} (polled until timeout)`),void 0),te("decide",_.dim("wrong locator/accessible name, UI regression, or the expectation only holds under a narrower given \u2014 confirm in behavior.jsonl before changing the test"),void 0)])}function AO(e){if(e.kind==="test")return te("law from",_.dim(`an assertion in test "${e.test}"`),void 0);if(e.kind==="trigger")return te("law from",_.dim(`the trigger of "${e.intent}" (test "${e.test}")`),void 0);let t=e.tests.map(r=>JSON.stringify(r)).join(", ");return te("law from",_.dim(`generalized across tests ${t}`),void 0)}import{err as iF,ok as oF,ResultAsync as sF}from"neverthrow";import Yw from"path";import PO from"path";import{z as di}from"zod";var TO=["unspecified","internal","server","client","producer","consumer"],OO=["unset","ok","error"];function Ug(e){return TO[e]??"unspecified"}function Wg(e){return OO[e]??"unset"}var tZ=di.looseObject({data:di.looseObject({source:di.number().optional()}).optional(),timestamp:di.number(),type:di.number()});function Hg({debugDir:e,runId:t,worker:r}){let n=PO.join(e,t,"behavior.jsonl");return r.open({file:n,runId:t}),{close:i=>r.close({noticeLineIfNoRrweb:i?.noticeIfNoRrweb==null?"":JSON.stringify(MO(i.noticeIfNoRrweb)),runId:t}),emit:i=>{r.line({line:JSON.stringify(i),runId:t,timeNanos:i.timeNanos})},emitRrwebBatch:i=>{r.rrwebBatch({data:i,runId:t})}}}function an(e){return String(BigInt(Math.round(e))*1000000n)}function MO(e){return{kind:"notice",message:e,source:"capture",timeNanos:"0"}}import{existsSync as NO}from"fs";import{createRequire as LO}from"module";import{fileURLToPath as $O}from"url";import{Worker as DO}from"worker_threads";var _O=LO(import.meta.url);function zg(e){let t=new DO(jO(),{workerData:e});t.unref();let r=new Map,n={next:0};t.on("message",o=>{let s=r.get(o.seq);s!=null&&(r.delete(o.seq),s())});let i=o=>{t.postMessage(o)};return{close:({noticeLineIfNoRrweb:o,runId:s})=>{let a=n.next;return n.next+=1,new Promise(l=>{r.set(a,l),i({noticeLineIfNoRrweb:o,runId:s,seq:a,t:"close"})})},line:({line:o,runId:s,timeNanos:a})=>{i({line:o,runId:s,t:"line",timeNanos:a})},open:({file:o,runId:s})=>{i({file:o,runId:s,t:"open"})},rrwebBatch:({data:o,runId:s})=>{i({data:o,runId:s,t:"rrweb-batch"})},terminate:async()=>{await t.terminate()}}}function jO(){try{return _O.resolve("@ripplo/runtime/capture-worker")}catch{let e=["../../dist/capture-worker.js","./capture-worker.js"].map(r=>$O(new URL(r,import.meta.url))),t=e.find(r=>NO(r));if(t==null)throw new Error(`capture-worker.js not found; looked at: ${e.join(", ")}`);return t}}import{readFile as FO}from"fs/promises";import{createRequire as BO}from"module";import{fileURLToPath as VO}from"url";var UO=BO(import.meta.url);function ru(e,t){try{return UO.resolve(e)}catch{return VO(new URL(`assets/${t}`,import.meta.url))}}var WO=ru("@ripplo/browser-trace/bundle","browser-trace.js");async function qg(e,t){await e.addInitScript(`globalThis.__ripploRunId = ${JSON.stringify(t)};`),await e.addInitScript(await HO())}var Gg;function HO(){return Gg??=FO(WO,{encoding:"utf8"}),Gg}import{createServer as zO}from"http";import{mkdir as GO,rm as qO,writeFile as KO}from"fs/promises";import JO from"path";import{z as re}from"zod";var YO="otlp-port",Jg=re.object({key:re.string(),value:re.object({boolValue:re.boolean().optional(),doubleValue:re.number().optional(),intValue:re.union([re.string(),re.number()]).optional(),stringValue:re.string().optional()})}),ZO=re.object({attributes:re.array(Jg).default([]),endTimeUnixNano:re.string(),kind:re.number().default(0),name:re.string(),parentSpanId:re.string().optional(),spanId:re.string(),startTimeUnixNano:re.string(),status:re.object({code:re.number(),message:re.string().optional()}).optional(),traceId:re.string()}),XO=re.object({resourceSpans:re.array(re.object({resource:re.object({attributes:re.array(Jg).default([])}).optional(),scopeSpans:re.array(re.object({spans:re.array(ZO).default([])})).default([])})).default([])});async function pi({localDir:e,onRrwebBatch:t,onSpan:r,writePortFile:n}){let{port:i,server:o}=await QO({onRrwebBatch:t,onSpan:r}),s=JO.join(e,YO);return n&&(await GO(e,{recursive:!0}),await KO(s,String(i),{encoding:"utf8"})),{port:i,stop:async()=>{n&&await qO(s,{force:!0}),await iM(o)}}}function QO(e){return new Promise((t,r)=>{let n=zO((i,o)=>{eM(i,o,e)});n.on("error",r),n.listen(0,()=>{let i=n.address();if(i==null||typeof i=="string"){r(new Error("otlp_receiver_no_port"));return}t({port:i.port,server:n})})})}function eM(e,t,r){let n=tM(e.url);if(n!=null){Kg(e).then(i=>{r.onRrwebBatch(n,i),Xo(t)}).catch(()=>{Xo(t)});return}Kg(e).then(i=>{rM(XO.parse(JSON.parse(i.toString("utf8"))),r.onSpan),Xo(t)}).catch(()=>{Xo(t)})}function tM(e){if(e==null||!e.startsWith("/rrweb/"))return;let t=decodeURIComponent(e.slice(7));return t.length===0?void 0:t}function Kg(e){return new Promise((t,r)=>{let n=[];e.on("data",i=>{n.push(i)}),e.on("end",()=>{t(Buffer.concat(n))}),e.on("error",r)})}function Xo(e){e.writeHead(200,{"content-type":"application/json"}),e.end("{}")}function rM(e,t){e.resourceSpans.flatMap(r=>r.scopeSpans).flatMap(r=>r.spans).forEach(r=>{t({attributes:nM(r.attributes),durationMs:Number((BigInt(r.endTimeUnixNano)-BigInt(r.startTimeUnixNano))/1000000n),kind:"span",name:r.name,parentSpanId:r.parentSpanId,source:"server",spanId:r.spanId,spanKind:Ug(r.kind),status:{code:Wg(r.status?.code??0),message:r.status?.message},timeNanos:r.startTimeUnixNano,traceId:r.traceId})})}function nM(e){return Object.fromEntries(e.map(({key:t,value:r})=>[t,String(r.stringValue??r.intValue??r.doubleValue??r.boolValue??"")]))}function iM(e){return new Promise((t,r)=>{e.close(n=>{if(n==null){t();return}r(n)}),e.closeAllConnections()})}import{readFile as I6}from"fs/promises";var oM=Object.defineProperty,sM=(e,t,r)=>t in e?oM(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,k=(e,t,r)=>sM(e,typeof t!="symbol"?t+"":t,r),Yg,aM=Object.defineProperty,lM=(e,t,r)=>t in e?aM(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Zg=(e,t,r)=>lM(e,typeof t!="symbol"?t+"":t,r),Fe=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(Fe||{}),Xg={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Qg={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},Qo={},cM=()=>!!globalThis.Zone;function sd(e){if(Qo[e])return Qo[e];let t=globalThis[e],r=t.prototype,n=e in Xg?Xg[e]:void 0,i=!!(n&&n.every(a=>{var l,c;return!!((c=(l=Object.getOwnPropertyDescriptor(r,a))==null?void 0:l.get)!=null&&c.toString().includes("[native code]"))})),o=e in Qg?Qg[e]:void 0,s=!!(o&&o.every(a=>{var l;return typeof r[a]=="function"&&((l=r[a])==null?void 0:l.toString().includes("[native code]"))}));if(i&&s&&!cM())return Qo[e]=t.prototype,t.prototype;try{let a=document.createElement("iframe");document.body.appendChild(a);let l=a.contentWindow;if(!l)return t.prototype;let c=l[e].prototype;return document.body.removeChild(a),c?Qo[e]=c:r}catch{return r}}var nu={};function Gt(e,t,r){var n;let i=`${e}.${String(r)}`;if(nu[i])return nu[i].call(t);let o=sd(e),s=(n=Object.getOwnPropertyDescriptor(o,r))==null?void 0:n.get;return s?(nu[i]=s,s.call(t)):t[r]}var iu={};function Yy(e,t,r){let n=`${e}.${String(r)}`;if(iu[n])return iu[n].bind(t);let o=sd(e)[r];return typeof o!="function"?t[r]:(iu[n]=o,o.bind(t))}function uM(e){return Gt("Node",e,"ownerDocument")}function dM(e){return Gt("Node",e,"childNodes")}function pM(e){return Gt("Node",e,"parentNode")}function fM(e){return Gt("Node",e,"parentElement")}function hM(e){return Gt("Node",e,"textContent")}function mM(e,t){return Yy("Node",e,"contains")(t)}function gM(e){return Yy("Node",e,"getRootNode")()}function yM(e){return!e||!("host"in e)?null:Gt("ShadowRoot",e,"host")}function bM(e){return e.styleSheets}function wM(e){return!e||!("shadowRoot"in e)?null:Gt("Element",e,"shadowRoot")}function SM(e,t){return Gt("Element",e,"querySelector")(t)}function vM(e,t){return Gt("Element",e,"querySelectorAll")(t)}function xM(){return sd("MutationObserver").constructor}function kM(e,t,r){try{if(!(t in e))return()=>{};let n=e[t],i=r(n);return typeof i=="function"&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:n}})),e[t]=i,()=>{e[t]=n}}catch{return()=>{}}}var Ke={ownerDocument:uM,childNodes:dM,parentNode:pM,parentElement:fM,textContent:hM,contains:mM,getRootNode:gM,host:yM,styleSheets:bM,shadowRoot:wM,querySelector:SM,querySelectorAll:vM,mutationObserver:xM,patch:kM};function Zy(e){return e.nodeType===e.ELEMENT_NODE}function bi(e){let t=e&&"host"in e&&"mode"in e&&Ke.host(e)||null;return!!(t&&"shadowRoot"in t&&Ke.shadowRoot(t)===e)}function wi(e){return Object.prototype.toString.call(e)==="[object ShadowRoot]"}function CM(e){return e.includes(" background-clip: text;")&&!e.includes(" -webkit-background-clip: text;")&&(e=e.replace(/\sbackground-clip:\s*text;/g," -webkit-background-clip: text; background-clip: text;")),e}function RM(e){let{cssText:t}=e;if(t.split('"').length<3)return t;let r=["@import",`url(${JSON.stringify(e.href)})`];return e.layerName===""?r.push("layer"):e.layerName&&r.push(`layer(${e.layerName})`),e.supportsText&&r.push(`supports(${e.supportsText})`),e.media.length&&r.push(e.media.mediaText),r.join(" ")+";"}function yu(e){try{let t=e.rules||e.cssRules;if(!t)return null;let r=e.href;!r&&e.ownerNode&&(r=e.ownerNode.baseURI);let n=Array.from(t,i=>Xy(i,r)).join("");return CM(n)}catch{return null}}function Xy(e,t){if(IM(e)){let r;try{r=yu(e.styleSheet)||RM(e)}catch{r=e.cssText}return e.styleSheet.href?Os(r,e.styleSheet.href):r}else{let r=e.cssText;return AM(e)&&e.selectorText.includes(":")&&(r=EM(r)),t?Os(r,t):r}}function EM(e){let t=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return e.replace(t,"$1\\$2")}function IM(e){return"styleSheet"in e}function AM(e){return"selectorText"in e}var As=class{constructor(){Zg(this,"idNodeMap",new Map),Zg(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(n=>this.removeNodeFromMap(n))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let n=r.id;this.idNodeMap.set(n,t),this.nodeMetaMap.set(t,r)}replace(t,r){let n=this.getNode(t);if(n){let i=this.nodeMetaMap.get(n);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function PM(){return new As}function Ps({element:e,maskInputOptions:t,tagName:r,type:n,value:i,maskInputFn:o}){let s=i||"",a=n&&jr(n);return(t[r.toLowerCase()]||a&&t[a])&&(o?s=o(s,e):s="*".repeat(s.length)),s}function jr(e){return e.toLowerCase()}var ey="__rrweb_original__";function TM(e){let t=e.getContext("2d");if(!t)return!0;let r=50;for(let n=0;n<e.width;n+=r)for(let i=0;i<e.height;i+=r){let o=t.getImageData,s=ey in o?o[ey]:o;if(new Uint32Array(s.call(t,n,i,Math.min(r,e.width-n),Math.min(r,e.height-i)).data.buffer).some(l=>l!==0))return!1}return!0}function Ts(e){let t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?jr(t):null}function Qy(e,t){let r;try{r=new URL(e,t??window.location.href)}catch{return null}let n=/\.([0-9a-z]+)(?:$)/i,i=r.pathname.match(n);return i?.[1]??null}function OM(e){let t="";return e.indexOf("//")>-1?t=e.split("/").slice(0,3).join("/"):t=e.split("/")[0],t=t.split("?")[0],t}var MM=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,NM=/^(?:[a-z+]+:)?\/\//i,LM=/^www\..*/i,$M=/^(data:)([^,]*),(.*)/i;function Os(e,t){return(e||"").replace(MM,(r,n,i,o,s,a)=>{let l=i||s||a,c=n||o||"";if(!l)return r;if(NM.test(l)||LM.test(l))return`url(${c}${l}${c})`;if($M.test(l))return`url(${c}${l}${c})`;if(l[0]==="/")return`url(${c}${OM(t)+l}${c})`;let u=t.split("/"),d=l.split("/");u.pop();for(let p of d)p!=="."&&(p===".."?u.pop():u.push(p));return`url(${c}${u.join("/")}${c})`})}function es(e,t=!1){return t?e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,""):e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,"").replace(/0px/g,"0")}function DM(e,t,r=!1){let n=Array.from(t.childNodes),i=[],o=0;if(n.length>1&&e&&typeof e=="string"){let s=es(e,r),a=s.length/e.length;for(let l=1;l<n.length;l++)if(n[l].textContent&&typeof n[l].textContent=="string"){let c=es(n[l].textContent,r),u=100,d=3;for(;d<c.length&&(c[d].match(/[a-zA-Z0-9]/)||c.indexOf(c.substring(0,d),1)!==-1);d++);for(;d<c.length;d++){let p=c.substring(0,d),h=s.split(p),f=-1;if(h.length===2)f=h[0].length;else if(h.length>2&&h[0]===""&&n[l-1].textContent!=="")f=s.indexOf(p,1);else if(h.length===1){if(p=p.substring(0,p.length-1),h=s.split(p),h.length<=1)return i.push(e),i;d=u+1}else d===c.length-1&&(f=s.indexOf(p));if(h.length>=2&&d>u){let m=n[l-1].textContent;if(m&&typeof m=="string"){let g=es(m).length;f=s.indexOf(p,g)}f===-1&&(f=h[0].length)}if(f!==-1){let m=Math.floor(f/a);for(;m>0&&m<e.length;){if(o+=1,o>50*n.length)return i.push(e),i;let g=es(e.substring(0,m),r);if(g.length===f){i.push(e.substring(0,m)),e=e.substring(m),s=s.substring(f);break}else g.length<f?m+=Math.max(1,Math.floor((f-g.length)/a)):m-=Math.max(1,Math.floor((g.length-f)*a))}break}}}}return i.push(e),i}function _M(e,t){return DM(e,t).join("/* rr_split */")}var jM=1,FM=new RegExp("[^a-z0-9-_:]"),vi=-2;function eb(){return jM++}function BM(e){if(e instanceof HTMLFormElement)return"form";let t=jr(e.tagName);return FM.test(t)?"div":t}var ln,ty,VM=/^[^ \t\n\r\u000c]+/,UM=/^[, \t\n\r\u000c]+/;function WM(e,t){if(t.trim()==="")return t;let r=0;function n(o){let s,a=o.exec(t.substring(r));return a?(s=a[0],r+=s.length,s):""}let i=[];for(;n(UM),!(r>=t.length);){let o=n(VM);if(o.slice(-1)===",")o=dn(e,o.substring(0,o.length-1)),i.push(o);else{let s="";o=dn(e,o);let a=!1;for(;;){let l=t.charAt(r);if(l===""){i.push((o+s).trim());break}else if(a)l===")"&&(a=!1);else if(l===","){r+=1,i.push((o+s).trim());break}else l==="("&&(a=!0);s+=l,r+=1}}}return i.join(", ")}var ry=new WeakMap;function dn(e,t){return!t||t.trim()===""?t:ad(e,t)}function HM(e){return!!(e.tagName==="svg"||e.ownerSVGElement)}function ad(e,t){let r=ry.get(e);if(r||(r=e.createElement("a"),ry.set(e,r)),!t)t="";else if(t.startsWith("blob:")||t.startsWith("data:"))return t;return r.setAttribute("href",t),r.href}function tb(e,t,r,n){return n&&(r==="src"||r==="href"&&!(t==="use"&&n[0]==="#")||r==="xlink:href"&&n[0]!=="#"||r==="background"&&["table","td","th"].includes(t)?dn(e,n):r==="srcset"?WM(e,n):r==="style"?Os(n,ad(e)):t==="object"&&r==="data"?dn(e,n):n)}function rb(e,t,r){return["video","audio"].includes(e)&&t==="autoplay"}function zM(e,t,r){try{if(typeof t=="string"){if(e.classList.contains(t))return!0}else for(let n=e.classList.length;n--;){let i=e.classList[n];if(t.test(i))return!0}if(r)return e.matches(r)}catch{}return!1}function Ms(e,t,r){if(!e)return!1;if(e.nodeType!==e.ELEMENT_NODE)return r?Ms(Ke.parentNode(e),t,r):!1;for(let n=e.classList.length;n--;){let i=e.classList[n];if(t.test(i))return!0}return r?Ms(Ke.parentNode(e),t,r):!1}function nb(e,t,r,n){let i;if(Zy(e)){if(i=e,!Ke.childNodes(i).length)return!1}else{if(Ke.parentElement(e)===null)return!1;i=Ke.parentElement(e)}try{if(typeof t=="string"){if(n){if(i.closest(`.${t}`))return!0}else if(i.classList.contains(t))return!0}else if(Ms(i,t,n))return!0;if(r){if(n){if(i.closest(r))return!0}else if(i.matches(r))return!0}}catch{}return!1}function GM(e,t,r){let n=e.contentWindow;if(!n)return;let i=!1,o;try{o=n.document.readyState}catch{return}if(o!=="complete"){let a=setTimeout(()=>{i||(t(),i=!0)},r);e.addEventListener("load",()=>{clearTimeout(a),i=!0,t()});return}let s="about:blank";if(n.location.href!==s||e.src===s||e.src==="")return setTimeout(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}function qM(e,t,r){let n=!1,i;try{i=e.sheet}catch{return}if(i)return;let o=setTimeout(()=>{n||(t(),n=!0)},r);e.addEventListener("load",()=>{clearTimeout(o),n=!0,t()})}function KM(e,t){let{doc:r,mirror:n,blockClass:i,blockSelector:o,needsMask:s,inlineStylesheet:a,maskInputOptions:l={},maskTextFn:c,maskInputFn:u,dataURLOptions:d={},inlineImages:p,recordCanvas:h,keepIframeSrcFn:f,newlyAddedElement:m=!1,cssCaptured:g=!1}=t,w=JM(r,n);switch(e.nodeType){case e.DOCUMENT_NODE:return e.compatMode!=="CSS1Compat"?{type:Fe.Document,childNodes:[],compatMode:e.compatMode}:{type:Fe.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:Fe.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:w};case e.ELEMENT_NODE:return ZM(e,{doc:r,blockClass:i,blockSelector:o,inlineStylesheet:a,maskInputOptions:l,maskInputFn:u,dataURLOptions:d,inlineImages:p,recordCanvas:h,keepIframeSrcFn:f,newlyAddedElement:m,rootId:w});case e.TEXT_NODE:return YM(e,{doc:r,needsMask:s,maskTextFn:c,rootId:w,cssCaptured:g});case e.CDATA_SECTION_NODE:return{type:Fe.CDATA,textContent:"",rootId:w};case e.COMMENT_NODE:return{type:Fe.Comment,textContent:Ke.textContent(e)||"",rootId:w};default:return!1}}function JM(e,t){if(!t.hasNode(e))return;let r=t.getId(e);return r===1?void 0:r}function YM(e,t){let{needsMask:r,maskTextFn:n,rootId:i,cssCaptured:o}=t,s=Ke.parentNode(e),a=s&&s.tagName,l="",c=a==="STYLE"?!0:void 0,u=a==="SCRIPT"?!0:void 0;return u?l="SCRIPT_PLACEHOLDER":o||(l=Ke.textContent(e),c&&l&&(l=Os(l,ad(t.doc)))),!c&&!u&&l&&r&&(l=n?n(l,Ke.parentElement(e)):l.replace(/[\S]/g,"*")),{type:Fe.Text,textContent:l||"",rootId:i}}function ZM(e,t){let{doc:r,blockClass:n,blockSelector:i,inlineStylesheet:o,maskInputOptions:s={},maskInputFn:a,dataURLOptions:l={},inlineImages:c,recordCanvas:u,keepIframeSrcFn:d,newlyAddedElement:p=!1,rootId:h}=t,f=zM(e,n,i),m=BM(e),g={},w=e.attributes.length;for(let y=0;y<w;y++){let v=e.attributes[y];rb(m,v.name,v.value)||(g[v.name]=tb(r,m,jr(v.name),v.value))}if(m==="link"&&o){let y=Array.from(r.styleSheets).find(C=>C.href===e.href),v=null;y&&(v=yu(y)),v&&(delete g.rel,delete g.href,g._cssText=v)}if(m==="style"&&e.sheet){let y=yu(e.sheet);y&&(e.childNodes.length>1&&(y=_M(y,e)),g._cssText=y)}if(["input","textarea","select"].includes(m)){let y=e.value,v=e.checked;g.type!=="radio"&&g.type!=="checkbox"&&g.type!=="submit"&&g.type!=="button"&&y?g.value=Ps({element:e,type:Ts(e),tagName:m,value:y,maskInputOptions:s,maskInputFn:a}):v&&(g.checked=v)}if(m==="option"&&(e.selected&&!s.select?g.selected=!0:delete g.selected),m==="dialog"&&e.open&&(g.rr_open_mode=e.matches("dialog:modal")?"modal":"non-modal"),m==="canvas"&&u){if(e.__context==="2d")TM(e)||(g.rr_dataURL=e.toDataURL(l.type,l.quality));else if(!("__context"in e)){let y=e.toDataURL(l.type,l.quality),v=r.createElement("canvas");v.width=e.width,v.height=e.height;let C=v.toDataURL(l.type,l.quality);y!==C&&(g.rr_dataURL=y)}}if(m==="img"&&c){ln||(ln=r.createElement("canvas"),ty=ln.getContext("2d"));let y=e,v=y.currentSrc||y.getAttribute("src")||"<unknown-src>",C=y.crossOrigin,M=()=>{y.removeEventListener("load",M);try{ln.width=y.naturalWidth,ln.height=y.naturalHeight,ty.drawImage(y,0,0),g.rr_dataURL=ln.toDataURL(l.type,l.quality)}catch(R){if(y.crossOrigin!=="anonymous"){y.crossOrigin="anonymous",y.complete&&y.naturalWidth!==0?M():y.addEventListener("load",M);return}else console.warn(`Cannot inline img src=${v}! Error: ${R}`)}y.crossOrigin==="anonymous"&&(C?g.crossOrigin=C:y.removeAttribute("crossorigin"))};y.complete&&y.naturalWidth!==0?M():y.addEventListener("load",M)}if(["audio","video"].includes(m)){let y=g;y.rr_mediaState=e.paused?"paused":"played",y.rr_mediaCurrentTime=e.currentTime,y.rr_mediaPlaybackRate=e.playbackRate,y.rr_mediaMuted=e.muted,y.rr_mediaLoop=e.loop,y.rr_mediaVolume=e.volume}if(p||(e.scrollLeft&&(g.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(g.rr_scrollTop=e.scrollTop)),f){let{width:y,height:v}=e.getBoundingClientRect();g={class:g.class,rr_width:`${y}px`,rr_height:`${v}px`}}m==="iframe"&&!d(g.src)&&(e.contentDocument||(g.rr_src=g.src),delete g.src);let S;try{customElements.get(m)&&(S=!0)}catch{}return{type:Fe.Element,tagName:m,attributes:g,childNodes:[],isSVG:HM(e)||void 0,needBlock:f,rootId:h,isCustom:S}}function pe(e){return e==null?"":e.toLowerCase()}function ib(e){return e===!0||e==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:e==="all",headMetaDescKeywords:e==="all",headTitleMutations:e==="all"}:e||{}}function XM(e,t){if(t.comment&&e.type===Fe.Comment)return!0;if(e.type===Fe.Element){if(t.script&&(e.tagName==="script"||e.tagName==="link"&&(e.attributes.rel==="preload"&&e.attributes.as==="script"||e.attributes.rel==="modulepreload")||e.tagName==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&Qy(e.attributes.href)==="js"))return!0;if(t.headFavicon&&(e.tagName==="link"&&e.attributes.rel==="shortcut icon"||e.tagName==="meta"&&(pe(e.attributes.name).match(/^msapplication-tile(image|color)$/)||pe(e.attributes.name)==="application-name"||pe(e.attributes.rel)==="icon"||pe(e.attributes.rel)==="apple-touch-icon"||pe(e.attributes.rel)==="shortcut icon")))return!0;if(e.tagName==="meta"){if(t.headMetaDescKeywords&&pe(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(pe(e.attributes.property).match(/^(og|twitter|fb):/)||pe(e.attributes.name).match(/^(og|twitter):/)||pe(e.attributes.name)==="pinterest"))return!0;if(t.headMetaRobots&&(pe(e.attributes.name)==="robots"||pe(e.attributes.name)==="googlebot"||pe(e.attributes.name)==="bingbot"))return!0;if(t.headMetaHttpEquiv&&e.attributes["http-equiv"]!==void 0)return!0;if(t.headMetaAuthorship&&(pe(e.attributes.name)==="author"||pe(e.attributes.name)==="generator"||pe(e.attributes.name)==="framework"||pe(e.attributes.name)==="publisher"||pe(e.attributes.name)==="progid"||pe(e.attributes.property).match(/^article:/)||pe(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&(pe(e.attributes.name)==="google-site-verification"||pe(e.attributes.name)==="yandex-verification"||pe(e.attributes.name)==="csrf-token"||pe(e.attributes.name)==="p:domain_verify"||pe(e.attributes.name)==="verify-v1"||pe(e.attributes.name)==="verification"||pe(e.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function pn(e,t){let{doc:r,mirror:n,blockClass:i,blockSelector:o,maskTextClass:s,maskTextSelector:a,skipChild:l=!1,inlineStylesheet:c=!0,maskInputOptions:u={},maskTextFn:d,maskInputFn:p,slimDOMOptions:h,dataURLOptions:f={},inlineImages:m=!1,recordCanvas:g=!1,onSerialize:w,onIframeLoad:S,iframeLoadTimeout:y=5e3,onStylesheetLoad:v,stylesheetLoadTimeout:C=5e3,keepIframeSrcFn:M=()=>!1,newlyAddedElement:R=!1,cssCaptured:E=!1}=t,{needsMask:x}=t,{preserveWhiteSpace:U=!0}=t;x||(x=nb(e,s,a,x===void 0));let X=KM(e,{doc:r,mirror:n,blockClass:i,blockSelector:o,needsMask:x,inlineStylesheet:c,maskInputOptions:u,maskTextFn:d,maskInputFn:p,dataURLOptions:f,inlineImages:m,recordCanvas:g,keepIframeSrcFn:M,newlyAddedElement:R,cssCaptured:E});if(!X)return console.warn(e,"not serialized"),null;let Q;n.hasNode(e)?Q=n.getId(e):XM(X,h)||!U&&X.type===Fe.Text&&!X.textContent.replace(/^\s+|\s+$/gm,"").length?Q=vi:Q=eb();let F=Object.assign(X,{id:Q});if(n.add(e,F),Q===vi)return null;w&&w(e);let Ge=!l;if(F.type===Fe.Element){Ge=Ge&&!F.needBlock,delete F.needBlock;let _e=Ke.shadowRoot(e);_e&&wi(_e)&&(F.isShadowHost=!0)}if((F.type===Fe.Document||F.type===Fe.Element)&&Ge){h.headWhitespace&&F.type===Fe.Element&&F.tagName==="head"&&(U=!1);let _e={doc:r,mirror:n,blockClass:i,blockSelector:o,needsMask:x,maskTextClass:s,maskTextSelector:a,skipChild:l,inlineStylesheet:c,maskInputOptions:u,maskTextFn:d,maskInputFn:p,slimDOMOptions:h,dataURLOptions:f,inlineImages:m,recordCanvas:g,preserveWhiteSpace:U,onSerialize:w,onIframeLoad:S,iframeLoadTimeout:y,onStylesheetLoad:v,stylesheetLoadTimeout:C,keepIframeSrcFn:M,cssCaptured:!1};if(!(F.type===Fe.Element&&F.tagName==="textarea"&&F.attributes.value!==void 0)){F.type===Fe.Element&&F.attributes._cssText!==void 0&&typeof F.attributes._cssText=="string"&&(_e.cssCaptured=!0);for(let Ar of Array.from(Ke.childNodes(e))){let Rt=pn(Ar,_e);Rt&&F.childNodes.push(Rt)}}let ct=null;if(Zy(e)&&(ct=Ke.shadowRoot(e)))for(let Ar of Array.from(Ke.childNodes(ct))){let Rt=pn(Ar,_e);Rt&&(wi(ct)&&(Rt.isShadow=!0),F.childNodes.push(Rt))}}let Ct=Ke.parentNode(e);return Ct&&bi(Ct)&&wi(Ct)&&(F.isShadow=!0),F.type===Fe.Element&&F.tagName==="iframe"&&GM(e,()=>{let _e=e.contentDocument;if(_e&&S){let ct=pn(_e,{doc:_e,mirror:n,blockClass:i,blockSelector:o,needsMask:x,maskTextClass:s,maskTextSelector:a,skipChild:!1,inlineStylesheet:c,maskInputOptions:u,maskTextFn:d,maskInputFn:p,slimDOMOptions:h,dataURLOptions:f,inlineImages:m,recordCanvas:g,preserveWhiteSpace:U,onSerialize:w,onIframeLoad:S,iframeLoadTimeout:y,onStylesheetLoad:v,stylesheetLoadTimeout:C,keepIframeSrcFn:M});ct&&S(e,ct)}},y),F.type===Fe.Element&&F.tagName==="link"&&typeof F.attributes.rel=="string"&&(F.attributes.rel==="stylesheet"||F.attributes.rel==="preload"&&typeof F.attributes.href=="string"&&Qy(F.attributes.href)==="css")&&qM(e,()=>{if(v){let _e=pn(e,{doc:r,mirror:n,blockClass:i,blockSelector:o,needsMask:x,maskTextClass:s,maskTextSelector:a,skipChild:!1,inlineStylesheet:c,maskInputOptions:u,maskTextFn:d,maskInputFn:p,slimDOMOptions:h,dataURLOptions:f,inlineImages:m,recordCanvas:g,preserveWhiteSpace:U,onSerialize:w,onIframeLoad:S,iframeLoadTimeout:y,onStylesheetLoad:v,stylesheetLoadTimeout:C,keepIframeSrcFn:M});_e&&v(e,_e)}},C),F}function QM(e,t){let{mirror:r=new As,blockClass:n="rr-block",blockSelector:i=null,maskTextClass:o="rr-mask",maskTextSelector:s=null,inlineStylesheet:a=!0,inlineImages:l=!1,recordCanvas:c=!1,maskAllInputs:u=!1,maskTextFn:d,maskInputFn:p,slimDOM:h=!1,dataURLOptions:f,preserveWhiteSpace:m,onSerialize:g,onIframeLoad:w,iframeLoadTimeout:S,onStylesheetLoad:y,stylesheetLoadTimeout:v,keepIframeSrcFn:C=()=>!1}=t||{},M=u===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:u===!1?{password:!0}:u,R=ib(h);return pn(e,{doc:e,mirror:r,blockClass:n,blockSelector:i,maskTextClass:o,maskTextSelector:s,skipChild:!1,inlineStylesheet:a,maskInputOptions:M,maskTextFn:d,maskInputFn:p,slimDOMOptions:R,dataURLOptions:f,inlineImages:l,recordCanvas:c,preserveWhiteSpace:m,onSerialize:g,onIframeLoad:w,iframeLoadTimeout:S,onStylesheetLoad:y,stylesheetLoadTimeout:v,keepIframeSrcFn:C,newlyAddedElement:!1})}var e2=/(max|min)-device-(width|height)/,bZ=new RegExp(e2.source,"g");function t2(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function r2(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}),r}var ld={exports:{}},ye=String,ob=function(){return{isColorSupported:!1,reset:ye,bold:ye,dim:ye,italic:ye,underline:ye,inverse:ye,hidden:ye,strikethrough:ye,black:ye,red:ye,green:ye,yellow:ye,blue:ye,magenta:ye,cyan:ye,white:ye,gray:ye,bgBlack:ye,bgRed:ye,bgGreen:ye,bgYellow:ye,bgBlue:ye,bgMagenta:ye,bgCyan:ye,bgWhite:ye}};ld.exports=ob();ld.exports.createColors=ob;var n2=ld.exports,i2={},o2=Object.freeze(Object.defineProperty({__proto__:null,default:i2},Symbol.toStringTag,{value:"Module"})),wt=r2(o2),ny=n2,iy=wt,bu=class sb extends Error{constructor(t,r,n,i,o,s){super(t),this.name="CssSyntaxError",this.reason=t,o&&(this.file=o),i&&(this.source=i),s&&(this.plugin=s),typeof r<"u"&&typeof n<"u"&&(typeof r=="number"?(this.line=r,this.column=n):(this.line=r.line,this.column=r.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,sb)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(t){if(!this.source)return"";let r=this.source;t==null&&(t=ny.isColorSupported),iy&&t&&(r=iy(r));let n=r.split(/\r?\n/),i=Math.max(this.line-3,0),o=Math.min(this.line+2,n.length),s=String(o).length,a,l;if(t){let{bold:c,gray:u,red:d}=ny.createColors(!0);a=p=>c(d(p)),l=p=>u(p)}else a=l=c=>c;return n.slice(i,o).map((c,u)=>{let d=i+1+u,p=" "+(" "+d).slice(-s)+" | ";if(d===this.line){let h=l(p.replace(/\d/g," "))+c.slice(0,this.column-1).replace(/[^\t]/g," ");return a(">")+l(p)+c+`
118
118
  `+h+a("^")}return" "+l(p)+c}).join(`
119
119
  `)}toString(){let t=this.showSourceCode();return t&&(t=`
120
120
 
121
121
  `+t+`
122
- `),this.name+": "+this.message+t}},od=hu;hu.default=hu;var Ai={};Ai.isClean=Symbol("isClean");Ai.my=Symbol("my");var Qg={after:`
122
+ `),this.name+": "+this.message+t}},cd=bu;bu.default=bu;var Oi={};Oi.isClean=Symbol("isClean");Oi.my=Symbol("my");var oy={after:`
123
123
  `,beforeClose:`
124
124
  `,beforeComment:`
125
125
  `,beforeDecl:`
126
126
  `,beforeOpen:" ",beforeRule:`
127
- `,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function DM(e){return e[0].toUpperCase()+e.slice(1)}var mu=class{constructor(t){this.builder=t}atrule(t,r){let n="@"+t.name,i=t.params?this.rawValue(t,"params"):"";if(typeof t.raws.afterName<"u"?n+=t.raws.afterName:i&&(n+=" "),t.nodes)this.block(t,n+i);else{let o=(t.raws.between||"")+(r?";":"");this.builder(n+i+o,t)}}beforeAfter(t,r){let n;t.type==="decl"?n=this.raw(t,null,"beforeDecl"):t.type==="comment"?n=this.raw(t,null,"beforeComment"):r==="before"?n=this.raw(t,null,"beforeRule"):n=this.raw(t,null,"beforeClose");let i=t.parent,o=0;for(;i&&i.type!=="root";)o+=1,i=i.parent;if(n.includes(`
128
- `)){let s=this.raw(t,null,"indent");if(s.length)for(let a=0;a<o;a++)n+=s}return n}block(t,r){let n=this.raw(t,"between","beforeOpen");this.builder(r+n+"{",t,"start");let i;t.nodes&&t.nodes.length?(this.body(t),i=this.raw(t,"after")):i=this.raw(t,"after","emptyBody"),i&&this.builder(i),this.builder("}",t,"end")}body(t){let r=t.nodes.length-1;for(;r>0&&t.nodes[r].type==="comment";)r-=1;let n=this.raw(t,"semicolon");for(let i=0;i<t.nodes.length;i++){let o=t.nodes[i],s=this.raw(o,"before");s&&this.builder(s),this.stringify(o,r!==i||n)}}comment(t){let r=this.raw(t,"left","commentLeft"),n=this.raw(t,"right","commentRight");this.builder("/*"+r+t.text+n+"*/",t)}decl(t,r){let n=this.raw(t,"between","colon"),i=t.prop+n+this.rawValue(t,"value");t.important&&(i+=t.raws.important||" !important"),r&&(i+=";"),this.builder(i,t)}document(t){this.body(t)}raw(t,r,n){let i;if(n||(n=r),r&&(i=t.raws[r],typeof i<"u"))return i;let o=t.parent;if(n==="before"&&(!o||o.type==="root"&&o.first===t||o&&o.type==="document"))return"";if(!o)return Qg[n];let s=t.root();if(s.rawCache||(s.rawCache={}),typeof s.rawCache[n]<"u")return s.rawCache[n];if(n==="before"||n==="after")return this.beforeAfter(t,n);{let a="raw"+DM(n);this[a]?i=this[a](s,t):s.walk(l=>{if(i=l.raws[r],typeof i<"u")return!1})}return typeof i>"u"&&(i=Qg[n]),s.rawCache[n]=i,i}rawBeforeClose(t){let r;return t.walk(n=>{if(n.nodes&&n.nodes.length>0&&typeof n.raws.after<"u")return r=n.raws.after,r.includes(`
127
+ `,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function s2(e){return e[0].toUpperCase()+e.slice(1)}var wu=class{constructor(t){this.builder=t}atrule(t,r){let n="@"+t.name,i=t.params?this.rawValue(t,"params"):"";if(typeof t.raws.afterName<"u"?n+=t.raws.afterName:i&&(n+=" "),t.nodes)this.block(t,n+i);else{let o=(t.raws.between||"")+(r?";":"");this.builder(n+i+o,t)}}beforeAfter(t,r){let n;t.type==="decl"?n=this.raw(t,null,"beforeDecl"):t.type==="comment"?n=this.raw(t,null,"beforeComment"):r==="before"?n=this.raw(t,null,"beforeRule"):n=this.raw(t,null,"beforeClose");let i=t.parent,o=0;for(;i&&i.type!=="root";)o+=1,i=i.parent;if(n.includes(`
128
+ `)){let s=this.raw(t,null,"indent");if(s.length)for(let a=0;a<o;a++)n+=s}return n}block(t,r){let n=this.raw(t,"between","beforeOpen");this.builder(r+n+"{",t,"start");let i;t.nodes&&t.nodes.length?(this.body(t),i=this.raw(t,"after")):i=this.raw(t,"after","emptyBody"),i&&this.builder(i),this.builder("}",t,"end")}body(t){let r=t.nodes.length-1;for(;r>0&&t.nodes[r].type==="comment";)r-=1;let n=this.raw(t,"semicolon");for(let i=0;i<t.nodes.length;i++){let o=t.nodes[i],s=this.raw(o,"before");s&&this.builder(s),this.stringify(o,r!==i||n)}}comment(t){let r=this.raw(t,"left","commentLeft"),n=this.raw(t,"right","commentRight");this.builder("/*"+r+t.text+n+"*/",t)}decl(t,r){let n=this.raw(t,"between","colon"),i=t.prop+n+this.rawValue(t,"value");t.important&&(i+=t.raws.important||" !important"),r&&(i+=";"),this.builder(i,t)}document(t){this.body(t)}raw(t,r,n){let i;if(n||(n=r),r&&(i=t.raws[r],typeof i<"u"))return i;let o=t.parent;if(n==="before"&&(!o||o.type==="root"&&o.first===t||o&&o.type==="document"))return"";if(!o)return oy[n];let s=t.root();if(s.rawCache||(s.rawCache={}),typeof s.rawCache[n]<"u")return s.rawCache[n];if(n==="before"||n==="after")return this.beforeAfter(t,n);{let a="raw"+s2(n);this[a]?i=this[a](s,t):s.walk(l=>{if(i=l.raws[r],typeof i<"u")return!1})}return typeof i>"u"&&(i=oy[n]),s.rawCache[n]=i,i}rawBeforeClose(t){let r;return t.walk(n=>{if(n.nodes&&n.nodes.length>0&&typeof n.raws.after<"u")return r=n.raws.after,r.includes(`
129
129
  `)&&(r=r.replace(/[^\n]+$/,"")),!1}),r&&(r=r.replace(/\S/g,"")),r}rawBeforeComment(t,r){let n;return t.walkComments(i=>{if(typeof i.raws.before<"u")return n=i.raws.before,n.includes(`
130
130
  `)&&(n=n.replace(/[^\n]+$/,"")),!1}),typeof n>"u"?n=this.raw(r,null,"beforeDecl"):n&&(n=n.replace(/\S/g,"")),n}rawBeforeDecl(t,r){let n;return t.walkDecls(i=>{if(typeof i.raws.before<"u")return n=i.raws.before,n.includes(`
131
131
  `)&&(n=n.replace(/[^\n]+$/,"")),!1}),typeof n>"u"?n=this.raw(r,null,"beforeRule"):n&&(n=n.replace(/\S/g,"")),n}rawBeforeOpen(t){let r;return t.walk(n=>{if(n.type!=="decl"&&(r=n.raws.between,typeof r<"u"))return!1}),r}rawBeforeRule(t){let r;return t.walk(n=>{if(n.nodes&&(n.parent!==t||t.first!==n)&&typeof n.raws.before<"u")return r=n.raws.before,r.includes(`
132
132
  `)&&(r=r.replace(/[^\n]+$/,"")),!1}),r&&(r=r.replace(/\S/g,"")),r}rawColon(t){let r;return t.walkDecls(n=>{if(typeof n.raws.between<"u")return r=n.raws.between.replace(/[^\s:]/g,""),!1}),r}rawEmptyBody(t){let r;return t.walk(n=>{if(n.nodes&&n.nodes.length===0&&(r=n.raws.after,typeof r<"u"))return!1}),r}rawIndent(t){if(t.raws.indent)return t.raws.indent;let r;return t.walk(n=>{let i=n.parent;if(i&&i!==t&&i.parent&&i.parent===t&&typeof n.raws.before<"u"){let o=n.raws.before.split(`
133
- `);return r=o[o.length-1],r=r.replace(/\S/g,""),!1}}),r}rawSemicolon(t){let r;return t.walk(n=>{if(n.nodes&&n.nodes.length&&n.last.type==="decl"&&(r=n.raws.semicolon,typeof r<"u"))return!1}),r}rawValue(t,r){let n=t[r],i=t.raws[r];return i&&i.value===n?i.raw:n}root(t){this.body(t),t.raws.after&&this.builder(t.raws.after)}rule(t){this.block(t,this.rawValue(t,"selector")),t.raws.ownSemicolon&&this.builder(t.raws.ownSemicolon,t,"end")}stringify(t,r){if(!this[t.type])throw new Error("Unknown AST node type "+t.type+". Maybe you need to change PostCSS stringifier.");this[t.type](t,r)}},tb=mu;mu.default=mu;var _M=tb;function gu(e,t){new _M(t).stringify(e)}var Bs=gu;gu.default=gu;var{isClean:Zo,my:jM}=Ai,FM=od,VM=tb,BM=Bs;function yu(e,t){let r=new e.constructor;for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n)||n==="proxyCache")continue;let i=e[n],o=typeof i;n==="parent"&&o==="object"?t&&(r[n]=t):n==="source"?r[n]=i:Array.isArray(i)?r[n]=i.map(s=>yu(s,r)):(o==="object"&&i!==null&&(i=yu(i)),r[n]=i)}return r}var bu=class{constructor(t={}){this.raws={},this[Zo]=!1,this[jM]=!0;for(let r in t)if(r==="nodes"){this.nodes=[];for(let n of t[r])typeof n.clone=="function"?this.append(n.clone()):this.append(n)}else this[r]=t[r]}addToError(t){if(t.postcssNode=this,t.stack&&this.source&&/\n\s{4}at /.test(t.stack)){let r=this.source;t.stack=t.stack.replace(/\n\s{4}at /,`$&${r.input.from}:${r.start.line}:${r.start.column}$&`)}return t}after(t){return this.parent.insertAfter(this,t),this}assign(t={}){for(let r in t)this[r]=t[r];return this}before(t){return this.parent.insertBefore(this,t),this}cleanRaws(t){delete this.raws.before,delete this.raws.after,t||delete this.raws.between}clone(t={}){let r=yu(this);for(let n in t)r[n]=t[n];return r}cloneAfter(t={}){let r=this.clone(t);return this.parent.insertAfter(this,r),r}cloneBefore(t={}){let r=this.clone(t);return this.parent.insertBefore(this,r),r}error(t,r={}){if(this.source){let{end:n,start:i}=this.rangeBy(r);return this.source.input.error(t,{column:i.column,line:i.line},{column:n.column,line:n.line},r)}return new FM(t)}getProxyProcessor(){return{get(t,r){return r==="proxyOf"?t:r==="root"?()=>t.root().toProxy():t[r]},set(t,r,n){return t[r]===n||(t[r]=n,(r==="prop"||r==="value"||r==="name"||r==="params"||r==="important"||r==="text")&&t.markDirty()),!0}}}markDirty(){if(this[Zo]){this[Zo]=!1;let t=this;for(;t=t.parent;)t[Zo]=!1}}next(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t+1]}positionBy(t,r){let n=this.source.start;if(t.index)n=this.positionInside(t.index,r);else if(t.word){r=this.toString();let i=r.indexOf(t.word);i!==-1&&(n=this.positionInside(i,r))}return n}positionInside(t,r){let n=r||this.toString(),i=this.source.start.column,o=this.source.start.line;for(let s=0;s<t;s++)n[s]===`
134
- `?(i=1,o+=1):i+=1;return{column:i,line:o}}prev(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t-1]}rangeBy(t){let r={column:this.source.start.column,line:this.source.start.line},n=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:r.column+1,line:r.line};if(t.word){let i=this.toString(),o=i.indexOf(t.word);o!==-1&&(r=this.positionInside(o,i),n=this.positionInside(o+t.word.length,i))}else t.start?r={column:t.start.column,line:t.start.line}:t.index&&(r=this.positionInside(t.index)),t.end?n={column:t.end.column,line:t.end.line}:typeof t.endIndex=="number"?n=this.positionInside(t.endIndex):t.index&&(n=this.positionInside(t.index+1));return(n.line<r.line||n.line===r.line&&n.column<=r.column)&&(n={column:r.column+1,line:r.line}),{end:n,start:r}}raw(t,r){return new VM().raw(this,t,r)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...t){if(this.parent){let r=this,n=!1;for(let i of t)i===this?n=!0:n?(this.parent.insertAfter(r,i),r=i):this.parent.insertBefore(r,i);n||this.remove()}return this}root(){let t=this;for(;t.parent&&t.parent.type!=="document";)t=t.parent;return t}toJSON(t,r){let n={},i=r==null;r=r||new Map;let o=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let a=this[s];if(Array.isArray(a))n[s]=a.map(l=>typeof l=="object"&&l.toJSON?l.toJSON(null,r):l);else if(typeof a=="object"&&a.toJSON)n[s]=a.toJSON(null,r);else if(s==="source"){let l=r.get(a.input);l==null&&(l=o,r.set(a.input,o),o++),n[s]={end:a.end,inputId:l,start:a.start}}else n[s]=a}return i&&(n.inputs=[...r.keys()].map(s=>s.toJSON())),n}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(t=BM){t.stringify&&(t=t.stringify);let r="";return t(this,n=>{r+=n}),r}warn(t,r,n){let i={node:this};for(let o in n)i[o]=n[o];return t.warn(r,i)}get proxyOf(){return this}},Us=bu;bu.default=bu;var UM=Us,wu=class extends UM{constructor(t){t&&typeof t.value<"u"&&typeof t.value!="string"&&(t={...t,value:String(t.value)}),super(t),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}},Ws=wu;wu.default=wu;var WM="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",HM=(e,t=21)=>(r=t)=>{let n="",i=r;for(;i--;)n+=e[Math.random()*e.length|0];return n},zM=(e=21)=>{let t="",r=e;for(;r--;)t+=WM[Math.random()*64|0];return t},GM={nanoid:zM,customAlphabet:HM},{SourceMapConsumer:ey,SourceMapGenerator:ty}=yt,{existsSync:qM,readFileSync:KM}=yt,{dirname:tu,join:YM}=yt;function JM(e){return Buffer?Buffer.from(e,"base64").toString():window.atob(e)}var Su=class{constructor(t,r){if(r.map===!1)return;this.loadAnnotation(t),this.inline=this.startWith(this.annotation,"data:");let n=r.map?r.map.prev:void 0,i=this.loadMap(r.from,n);!this.mapFile&&r.from&&(this.mapFile=r.from),this.mapFile&&(this.root=tu(this.mapFile)),i&&(this.text=i)}consumer(){return this.consumerCache||(this.consumerCache=new ey(this.text)),this.consumerCache}decodeInline(t){let r=/^data:application\/json;charset=utf-?8;base64,/,n=/^data:application\/json;base64,/,i=/^data:application\/json;charset=utf-?8,/,o=/^data:application\/json,/;if(i.test(t)||o.test(t))return decodeURIComponent(t.substr(RegExp.lastMatch.length));if(r.test(t)||n.test(t))return JM(t.substr(RegExp.lastMatch.length));let s=t.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+s)}getAnnotationURL(t){return t.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(t){return typeof t!="object"?!1:typeof t.mappings=="string"||typeof t._mappings=="string"||Array.isArray(t.sections)}loadAnnotation(t){let r=t.match(/\/\*\s*# sourceMappingURL=/gm);if(!r)return;let n=t.lastIndexOf(r.pop()),i=t.indexOf("*/",n);n>-1&&i>-1&&(this.annotation=this.getAnnotationURL(t.substring(n,i)))}loadFile(t){if(this.root=tu(t),qM(t))return this.mapFile=t,KM(t,"utf-8").toString().trim()}loadMap(t,r){if(r===!1)return!1;if(r){if(typeof r=="string")return r;if(typeof r=="function"){let n=r(t);if(n){let i=this.loadFile(n);if(!i)throw new Error("Unable to load previous source map: "+n.toString());return i}}else{if(r instanceof ey)return ty.fromSourceMap(r).toString();if(r instanceof ty)return r.toString();if(this.isMap(r))return JSON.stringify(r);throw new Error("Unsupported previous source map format: "+r.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let n=this.annotation;return t&&(n=YM(tu(t),n)),this.loadFile(n)}}}startWith(t,r){return t?t.substr(0,r.length)===r:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}},rb=Su;Su.default=Su;var{SourceMapConsumer:ZM,SourceMapGenerator:XM}=yt,{fileURLToPath:ry,pathToFileURL:Xo}=yt,{isAbsolute:vu,resolve:xu}=yt,{nanoid:QM}=GM,ru=yt,ny=od,e2=rb,nu=Symbol("fromOffsetCache"),t2=!!(ZM&&XM),iy=!!(xu&&vu),Ps=class{constructor(t,r={}){if(t===null||typeof t>"u"||typeof t=="object"&&!t.toString)throw new Error(`PostCSS received ${t} instead of CSS string`);if(this.css=t.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,r.from&&(!iy||/^\w+:\/\//.test(r.from)||vu(r.from)?this.file=r.from:this.file=xu(r.from)),iy&&t2){let n=new e2(this.css,r);if(n.text){this.map=n;let i=n.consumer().file;!this.file&&i&&(this.file=this.mapResolve(i))}}this.file||(this.id="<input css "+QM(6)+">"),this.map&&(this.map.file=this.from)}error(t,r,n,i={}){let o,s,a;if(r&&typeof r=="object"){let c=r,u=n;if(typeof c.offset=="number"){let d=this.fromOffset(c.offset);r=d.line,n=d.col}else r=c.line,n=c.column;if(typeof u.offset=="number"){let d=this.fromOffset(u.offset);s=d.line,a=d.col}else s=u.line,a=u.column}else if(!n){let c=this.fromOffset(r);r=c.line,n=c.col}let l=this.origin(r,n,s,a);return l?o=new ny(t,l.endLine===void 0?l.line:{column:l.column,line:l.line},l.endLine===void 0?l.column:{column:l.endColumn,line:l.endLine},l.source,l.file,i.plugin):o=new ny(t,s===void 0?r:{column:n,line:r},s===void 0?n:{column:a,line:s},this.css,this.file,i.plugin),o.input={column:n,endColumn:a,endLine:s,line:r,source:this.css},this.file&&(Xo&&(o.input.url=Xo(this.file).toString()),o.input.file=this.file),o}fromOffset(t){let r,n;if(this[nu])n=this[nu];else{let o=this.css.split(`
135
- `);n=new Array(o.length);let s=0;for(let a=0,l=o.length;a<l;a++)n[a]=s,s+=o[a].length+1;this[nu]=n}r=n[n.length-1];let i=0;if(t>=r)i=n.length-1;else{let o=n.length-2,s;for(;i<o;)if(s=i+(o-i>>1),t<n[s])o=s-1;else if(t>=n[s+1])i=s+1;else{i=s;break}}return{col:t-n[i]+1,line:i+1}}mapResolve(t){return/^\w+:\/\//.test(t)?t:xu(this.map.consumer().sourceRoot||this.map.root||".",t)}origin(t,r,n,i){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:r,line:t});if(!s.source)return!1;let a;typeof n=="number"&&(a=o.originalPositionFor({column:i,line:n}));let l;vu(s.source)?l=Xo(s.source):l=new URL(s.source,this.map.consumer().sourceRoot||Xo(this.map.mapFile));let c={column:s.column,endColumn:a&&a.column,endLine:a&&a.line,line:s.line,url:l.toString()};if(l.protocol==="file:")if(ry)c.file=ry(l);else throw new Error("file: protocol is not available in this PostCSS build");let u=o.sourceContentFor(s.source);return u&&(c.source=u),c}toJSON(){let t={};for(let r of["hasBOM","css","file","id"])this[r]!=null&&(t[r]=this[r]);return this.map&&(t.map={...this.map},t.map.consumerCache&&(t.map.consumerCache=void 0)),t}get from(){return this.file||this.id}},Hs=Ps;Ps.default=Ps;ru&&ru.registerInput&&ru.registerInput(Ps);var{SourceMapConsumer:nb,SourceMapGenerator:bs}=yt,{dirname:ws,relative:ib,resolve:ob,sep:sb}=yt,{pathToFileURL:oy}=yt,r2=Hs,n2=!!(nb&&bs),i2=!!(ws&&ob&&ib&&sb),o2=class{constructor(t,r,n,i){this.stringify=t,this.mapOpts=n.map||{},this.root=r,this.opts=n,this.css=i,this.originalCSS=i,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let t;this.isInline()?t="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?t=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?t=this.mapOpts.annotation(this.opts.to,this.root):t=this.outputFile()+".map";let r=`
133
+ `);return r=o[o.length-1],r=r.replace(/\S/g,""),!1}}),r}rawSemicolon(t){let r;return t.walk(n=>{if(n.nodes&&n.nodes.length&&n.last.type==="decl"&&(r=n.raws.semicolon,typeof r<"u"))return!1}),r}rawValue(t,r){let n=t[r],i=t.raws[r];return i&&i.value===n?i.raw:n}root(t){this.body(t),t.raws.after&&this.builder(t.raws.after)}rule(t){this.block(t,this.rawValue(t,"selector")),t.raws.ownSemicolon&&this.builder(t.raws.ownSemicolon,t,"end")}stringify(t,r){if(!this[t.type])throw new Error("Unknown AST node type "+t.type+". Maybe you need to change PostCSS stringifier.");this[t.type](t,r)}},ab=wu;wu.default=wu;var a2=ab;function Su(e,t){new a2(t).stringify(e)}var zs=Su;Su.default=Su;var{isClean:ts,my:l2}=Oi,c2=cd,u2=ab,d2=zs;function vu(e,t){let r=new e.constructor;for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n)||n==="proxyCache")continue;let i=e[n],o=typeof i;n==="parent"&&o==="object"?t&&(r[n]=t):n==="source"?r[n]=i:Array.isArray(i)?r[n]=i.map(s=>vu(s,r)):(o==="object"&&i!==null&&(i=vu(i)),r[n]=i)}return r}var xu=class{constructor(t={}){this.raws={},this[ts]=!1,this[l2]=!0;for(let r in t)if(r==="nodes"){this.nodes=[];for(let n of t[r])typeof n.clone=="function"?this.append(n.clone()):this.append(n)}else this[r]=t[r]}addToError(t){if(t.postcssNode=this,t.stack&&this.source&&/\n\s{4}at /.test(t.stack)){let r=this.source;t.stack=t.stack.replace(/\n\s{4}at /,`$&${r.input.from}:${r.start.line}:${r.start.column}$&`)}return t}after(t){return this.parent.insertAfter(this,t),this}assign(t={}){for(let r in t)this[r]=t[r];return this}before(t){return this.parent.insertBefore(this,t),this}cleanRaws(t){delete this.raws.before,delete this.raws.after,t||delete this.raws.between}clone(t={}){let r=vu(this);for(let n in t)r[n]=t[n];return r}cloneAfter(t={}){let r=this.clone(t);return this.parent.insertAfter(this,r),r}cloneBefore(t={}){let r=this.clone(t);return this.parent.insertBefore(this,r),r}error(t,r={}){if(this.source){let{end:n,start:i}=this.rangeBy(r);return this.source.input.error(t,{column:i.column,line:i.line},{column:n.column,line:n.line},r)}return new c2(t)}getProxyProcessor(){return{get(t,r){return r==="proxyOf"?t:r==="root"?()=>t.root().toProxy():t[r]},set(t,r,n){return t[r]===n||(t[r]=n,(r==="prop"||r==="value"||r==="name"||r==="params"||r==="important"||r==="text")&&t.markDirty()),!0}}}markDirty(){if(this[ts]){this[ts]=!1;let t=this;for(;t=t.parent;)t[ts]=!1}}next(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t+1]}positionBy(t,r){let n=this.source.start;if(t.index)n=this.positionInside(t.index,r);else if(t.word){r=this.toString();let i=r.indexOf(t.word);i!==-1&&(n=this.positionInside(i,r))}return n}positionInside(t,r){let n=r||this.toString(),i=this.source.start.column,o=this.source.start.line;for(let s=0;s<t;s++)n[s]===`
134
+ `?(i=1,o+=1):i+=1;return{column:i,line:o}}prev(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t-1]}rangeBy(t){let r={column:this.source.start.column,line:this.source.start.line},n=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:r.column+1,line:r.line};if(t.word){let i=this.toString(),o=i.indexOf(t.word);o!==-1&&(r=this.positionInside(o,i),n=this.positionInside(o+t.word.length,i))}else t.start?r={column:t.start.column,line:t.start.line}:t.index&&(r=this.positionInside(t.index)),t.end?n={column:t.end.column,line:t.end.line}:typeof t.endIndex=="number"?n=this.positionInside(t.endIndex):t.index&&(n=this.positionInside(t.index+1));return(n.line<r.line||n.line===r.line&&n.column<=r.column)&&(n={column:r.column+1,line:r.line}),{end:n,start:r}}raw(t,r){return new u2().raw(this,t,r)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...t){if(this.parent){let r=this,n=!1;for(let i of t)i===this?n=!0:n?(this.parent.insertAfter(r,i),r=i):this.parent.insertBefore(r,i);n||this.remove()}return this}root(){let t=this;for(;t.parent&&t.parent.type!=="document";)t=t.parent;return t}toJSON(t,r){let n={},i=r==null;r=r||new Map;let o=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let a=this[s];if(Array.isArray(a))n[s]=a.map(l=>typeof l=="object"&&l.toJSON?l.toJSON(null,r):l);else if(typeof a=="object"&&a.toJSON)n[s]=a.toJSON(null,r);else if(s==="source"){let l=r.get(a.input);l==null&&(l=o,r.set(a.input,o),o++),n[s]={end:a.end,inputId:l,start:a.start}}else n[s]=a}return i&&(n.inputs=[...r.keys()].map(s=>s.toJSON())),n}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(t=d2){t.stringify&&(t=t.stringify);let r="";return t(this,n=>{r+=n}),r}warn(t,r,n){let i={node:this};for(let o in n)i[o]=n[o];return t.warn(r,i)}get proxyOf(){return this}},Gs=xu;xu.default=xu;var p2=Gs,ku=class extends p2{constructor(t){t&&typeof t.value<"u"&&typeof t.value!="string"&&(t={...t,value:String(t.value)}),super(t),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}},qs=ku;ku.default=ku;var f2="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",h2=(e,t=21)=>(r=t)=>{let n="",i=r;for(;i--;)n+=e[Math.random()*e.length|0];return n},m2=(e=21)=>{let t="",r=e;for(;r--;)t+=f2[Math.random()*64|0];return t},g2={nanoid:m2,customAlphabet:h2},{SourceMapConsumer:sy,SourceMapGenerator:ay}=wt,{existsSync:y2,readFileSync:b2}=wt,{dirname:ou,join:w2}=wt;function S2(e){return Buffer?Buffer.from(e,"base64").toString():window.atob(e)}var Cu=class{constructor(t,r){if(r.map===!1)return;this.loadAnnotation(t),this.inline=this.startWith(this.annotation,"data:");let n=r.map?r.map.prev:void 0,i=this.loadMap(r.from,n);!this.mapFile&&r.from&&(this.mapFile=r.from),this.mapFile&&(this.root=ou(this.mapFile)),i&&(this.text=i)}consumer(){return this.consumerCache||(this.consumerCache=new sy(this.text)),this.consumerCache}decodeInline(t){let r=/^data:application\/json;charset=utf-?8;base64,/,n=/^data:application\/json;base64,/,i=/^data:application\/json;charset=utf-?8,/,o=/^data:application\/json,/;if(i.test(t)||o.test(t))return decodeURIComponent(t.substr(RegExp.lastMatch.length));if(r.test(t)||n.test(t))return S2(t.substr(RegExp.lastMatch.length));let s=t.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+s)}getAnnotationURL(t){return t.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(t){return typeof t!="object"?!1:typeof t.mappings=="string"||typeof t._mappings=="string"||Array.isArray(t.sections)}loadAnnotation(t){let r=t.match(/\/\*\s*# sourceMappingURL=/gm);if(!r)return;let n=t.lastIndexOf(r.pop()),i=t.indexOf("*/",n);n>-1&&i>-1&&(this.annotation=this.getAnnotationURL(t.substring(n,i)))}loadFile(t){if(this.root=ou(t),y2(t))return this.mapFile=t,b2(t,"utf-8").toString().trim()}loadMap(t,r){if(r===!1)return!1;if(r){if(typeof r=="string")return r;if(typeof r=="function"){let n=r(t);if(n){let i=this.loadFile(n);if(!i)throw new Error("Unable to load previous source map: "+n.toString());return i}}else{if(r instanceof sy)return ay.fromSourceMap(r).toString();if(r instanceof ay)return r.toString();if(this.isMap(r))return JSON.stringify(r);throw new Error("Unsupported previous source map format: "+r.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let n=this.annotation;return t&&(n=w2(ou(t),n)),this.loadFile(n)}}}startWith(t,r){return t?t.substr(0,r.length)===r:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}},lb=Cu;Cu.default=Cu;var{SourceMapConsumer:v2,SourceMapGenerator:x2}=wt,{fileURLToPath:ly,pathToFileURL:rs}=wt,{isAbsolute:Ru,resolve:Eu}=wt,{nanoid:k2}=g2,su=wt,cy=cd,C2=lb,au=Symbol("fromOffsetCache"),R2=!!(v2&&x2),uy=!!(Eu&&Ru),Ns=class{constructor(t,r={}){if(t===null||typeof t>"u"||typeof t=="object"&&!t.toString)throw new Error(`PostCSS received ${t} instead of CSS string`);if(this.css=t.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,r.from&&(!uy||/^\w+:\/\//.test(r.from)||Ru(r.from)?this.file=r.from:this.file=Eu(r.from)),uy&&R2){let n=new C2(this.css,r);if(n.text){this.map=n;let i=n.consumer().file;!this.file&&i&&(this.file=this.mapResolve(i))}}this.file||(this.id="<input css "+k2(6)+">"),this.map&&(this.map.file=this.from)}error(t,r,n,i={}){let o,s,a;if(r&&typeof r=="object"){let c=r,u=n;if(typeof c.offset=="number"){let d=this.fromOffset(c.offset);r=d.line,n=d.col}else r=c.line,n=c.column;if(typeof u.offset=="number"){let d=this.fromOffset(u.offset);s=d.line,a=d.col}else s=u.line,a=u.column}else if(!n){let c=this.fromOffset(r);r=c.line,n=c.col}let l=this.origin(r,n,s,a);return l?o=new cy(t,l.endLine===void 0?l.line:{column:l.column,line:l.line},l.endLine===void 0?l.column:{column:l.endColumn,line:l.endLine},l.source,l.file,i.plugin):o=new cy(t,s===void 0?r:{column:n,line:r},s===void 0?n:{column:a,line:s},this.css,this.file,i.plugin),o.input={column:n,endColumn:a,endLine:s,line:r,source:this.css},this.file&&(rs&&(o.input.url=rs(this.file).toString()),o.input.file=this.file),o}fromOffset(t){let r,n;if(this[au])n=this[au];else{let o=this.css.split(`
135
+ `);n=new Array(o.length);let s=0;for(let a=0,l=o.length;a<l;a++)n[a]=s,s+=o[a].length+1;this[au]=n}r=n[n.length-1];let i=0;if(t>=r)i=n.length-1;else{let o=n.length-2,s;for(;i<o;)if(s=i+(o-i>>1),t<n[s])o=s-1;else if(t>=n[s+1])i=s+1;else{i=s;break}}return{col:t-n[i]+1,line:i+1}}mapResolve(t){return/^\w+:\/\//.test(t)?t:Eu(this.map.consumer().sourceRoot||this.map.root||".",t)}origin(t,r,n,i){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:r,line:t});if(!s.source)return!1;let a;typeof n=="number"&&(a=o.originalPositionFor({column:i,line:n}));let l;Ru(s.source)?l=rs(s.source):l=new URL(s.source,this.map.consumer().sourceRoot||rs(this.map.mapFile));let c={column:s.column,endColumn:a&&a.column,endLine:a&&a.line,line:s.line,url:l.toString()};if(l.protocol==="file:")if(ly)c.file=ly(l);else throw new Error("file: protocol is not available in this PostCSS build");let u=o.sourceContentFor(s.source);return u&&(c.source=u),c}toJSON(){let t={};for(let r of["hasBOM","css","file","id"])this[r]!=null&&(t[r]=this[r]);return this.map&&(t.map={...this.map},t.map.consumerCache&&(t.map.consumerCache=void 0)),t}get from(){return this.file||this.id}},Ks=Ns;Ns.default=Ns;su&&su.registerInput&&su.registerInput(Ns);var{SourceMapConsumer:cb,SourceMapGenerator:xs}=wt,{dirname:ks,relative:ub,resolve:db,sep:pb}=wt,{pathToFileURL:dy}=wt,E2=Ks,I2=!!(cb&&xs),A2=!!(ks&&db&&ub&&pb),P2=class{constructor(t,r,n,i){this.stringify=t,this.mapOpts=n.map||{},this.root=r,this.opts=n,this.css=i,this.originalCSS=i,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let t;this.isInline()?t="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?t=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?t=this.mapOpts.annotation(this.opts.to,this.root):t=this.outputFile()+".map";let r=`
136
136
  `;this.css.includes(`\r
137
137
  `)&&(r=`\r
138
- `),this.css+=r+"/*# sourceMappingURL="+t+" */"}applyPrevMaps(){for(let t of this.previous()){let r=this.toUrl(this.path(t.file)),n=t.root||ws(t.file),i;this.mapOpts.sourcesContent===!1?(i=new nb(t.text),i.sourcesContent&&(i.sourcesContent=null)):i=t.consumer(),this.map.applySourceMap(i,r,this.toUrl(this.path(n)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let t;for(let r=this.root.nodes.length-1;r>=0;r--)t=this.root.nodes[r],t.type==="comment"&&t.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(r)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),i2&&n2&&this.isMap())return this.generateMap();{let t="";return this.stringify(this.root,r=>{t+=r}),[t]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let t=this.previous()[0].consumer();t.file=this.outputFile(),this.map=bs.fromSourceMap(t,{ignoreInvalidMapping:!0})}else this.map=new bs({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new bs({file:this.outputFile(),ignoreInvalidMapping:!0});let t=1,r=1,n="<no source>",i={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(a,l,c)=>{if(this.css+=a,l&&c!=="end"&&(i.generated.line=t,i.generated.column=r-1,l.source&&l.source.start?(i.source=this.sourcePath(l),i.original.line=l.source.start.line,i.original.column=l.source.start.column-1,this.map.addMapping(i)):(i.source=n,i.original.line=1,i.original.column=0,this.map.addMapping(i))),o=a.match(/\n/g),o?(t+=o.length,s=a.lastIndexOf(`
139
- `),r=a.length-s):r+=a.length,l&&c!=="start"){let u=l.parent||{raws:{}};(!(l.type==="decl"||l.type==="atrule"&&!l.nodes)||l!==u.last||u.raws.semicolon)&&(l.source&&l.source.end?(i.source=this.sourcePath(l),i.original.line=l.source.end.line,i.original.column=l.source.end.column-1,i.generated.line=t,i.generated.column=r-2,this.map.addMapping(i)):(i.source=n,i.original.line=1,i.original.column=0,i.generated.line=t,i.generated.column=r-1,this.map.addMapping(i)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(t=>t.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let t=this.mapOpts.annotation;return typeof t<"u"&&t!==!0?!1:this.previous().length?this.previous().some(r=>r.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(t=>t.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(t){if(this.mapOpts.absolute||t.charCodeAt(0)===60||/^\w+:\/\//.test(t))return t;let r=this.memoizedPaths.get(t);if(r)return r;let n=this.opts.to?ws(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(n=ws(ob(n,this.mapOpts.annotation)));let i=ib(n,t);return this.memoizedPaths.set(t,i),i}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(t=>{if(t.source&&t.source.input.map){let r=t.source.input.map;this.previousMaps.includes(r)||this.previousMaps.push(r)}});else{let t=new r2(this.originalCSS,this.opts);t.map&&this.previousMaps.push(t.map)}return this.previousMaps}setSourcesContent(){let t={};if(this.root)this.root.walk(r=>{if(r.source){let n=r.source.input.from;if(n&&!t[n]){t[n]=!0;let i=this.usesFileUrls?this.toFileUrl(n):this.toUrl(this.path(n));this.map.setSourceContent(i,r.source.input.css)}}});else if(this.css){let r=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(r,this.css)}}sourcePath(t){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(t.source.input.from):this.toUrl(this.path(t.source.input.from))}toBase64(t){return Buffer?Buffer.from(t).toString("base64"):window.btoa(unescape(encodeURIComponent(t)))}toFileUrl(t){let r=this.memoizedFileURLs.get(t);if(r)return r;if(oy){let n=oy(t).toString();return this.memoizedFileURLs.set(t,n),n}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(t){let r=this.memoizedURLs.get(t);if(r)return r;sb==="\\"&&(t=t.replace(/\\/g,"/"));let n=encodeURI(t).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(t,n),n}},ab=o2,s2=Us,ku=class extends s2{constructor(t){super(t),this.type="comment"}},zs=ku;ku.default=ku;var{isClean:lb,my:cb}=Ai,ub=Ws,db=zs,a2=Us,pb,sd,ad,fb;function hb(e){return e.map(t=>(t.nodes&&(t.nodes=hb(t.nodes)),delete t.source,t))}function mb(e){if(e[lb]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)mb(t)}var Vt=class gb extends a2{append(...t){for(let r of t){let n=this.normalize(r,this.last);for(let i of n)this.proxyOf.nodes.push(i)}return this.markDirty(),this}cleanRaws(t){if(super.cleanRaws(t),this.nodes)for(let r of this.nodes)r.cleanRaws(t)}each(t){if(!this.proxyOf.nodes)return;let r=this.getIterator(),n,i;for(;this.indexes[r]<this.proxyOf.nodes.length&&(n=this.indexes[r],i=t(this.proxyOf.nodes[n],n),i!==!1);)this.indexes[r]+=1;return delete this.indexes[r],i}every(t){return this.nodes.every(t)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t=this.lastEach;return this.indexes[t]=0,t}getProxyProcessor(){return{get(t,r){return r==="proxyOf"?t:t[r]?r==="each"||typeof r=="string"&&r.startsWith("walk")?(...n)=>t[r](...n.map(i=>typeof i=="function"?(o,s)=>i(o.toProxy(),s):i)):r==="every"||r==="some"?n=>t[r]((i,...o)=>n(i.toProxy(),...o)):r==="root"?()=>t.root().toProxy():r==="nodes"?t.nodes.map(n=>n.toProxy()):r==="first"||r==="last"?t[r].toProxy():t[r]:t[r]},set(t,r,n){return t[r]===n||(t[r]=n,(r==="name"||r==="params"||r==="selector")&&t.markDirty()),!0}}}index(t){return typeof t=="number"?t:(t.proxyOf&&(t=t.proxyOf),this.proxyOf.nodes.indexOf(t))}insertAfter(t,r){let n=this.index(t),i=this.normalize(r,this.proxyOf.nodes[n]).reverse();n=this.index(t);for(let s of i)this.proxyOf.nodes.splice(n+1,0,s);let o;for(let s in this.indexes)o=this.indexes[s],n<o&&(this.indexes[s]=o+i.length);return this.markDirty(),this}insertBefore(t,r){let n=this.index(t),i=n===0?"prepend":!1,o=this.normalize(r,this.proxyOf.nodes[n],i).reverse();n=this.index(t);for(let a of o)this.proxyOf.nodes.splice(n,0,a);let s;for(let a in this.indexes)s=this.indexes[a],n<=s&&(this.indexes[a]=s+o.length);return this.markDirty(),this}normalize(t,r){if(typeof t=="string")t=hb(pb(t).nodes);else if(typeof t>"u")t=[];else if(Array.isArray(t)){t=t.slice(0);for(let i of t)i.parent&&i.parent.removeChild(i,"ignore")}else if(t.type==="root"&&this.type!=="document"){t=t.nodes.slice(0);for(let i of t)i.parent&&i.parent.removeChild(i,"ignore")}else if(t.type)t=[t];else if(t.prop){if(typeof t.value>"u")throw new Error("Value field is missed in node creation");typeof t.value!="string"&&(t.value=String(t.value)),t=[new ub(t)]}else if(t.selector)t=[new sd(t)];else if(t.name)t=[new ad(t)];else if(t.text)t=[new db(t)];else throw new Error("Unknown node type in node creation");return t.map(i=>(i[cb]||gb.rebuild(i),i=i.proxyOf,i.parent&&i.parent.removeChild(i),i[lb]&&mb(i),typeof i.raws.before>"u"&&r&&typeof r.raws.before<"u"&&(i.raws.before=r.raws.before.replace(/\S/g,"")),i.parent=this.proxyOf,i))}prepend(...t){t=t.reverse();for(let r of t){let n=this.normalize(r,this.first,"prepend").reverse();for(let i of n)this.proxyOf.nodes.unshift(i);for(let i in this.indexes)this.indexes[i]=this.indexes[i]+n.length}return this.markDirty(),this}push(t){return t.parent=this,this.proxyOf.nodes.push(t),this}removeAll(){for(let t of this.proxyOf.nodes)t.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(t){t=this.index(t),this.proxyOf.nodes[t].parent=void 0,this.proxyOf.nodes.splice(t,1);let r;for(let n in this.indexes)r=this.indexes[n],r>=t&&(this.indexes[n]=r-1);return this.markDirty(),this}replaceValues(t,r,n){return n||(n=r,r={}),this.walkDecls(i=>{r.props&&!r.props.includes(i.prop)||r.fast&&!i.value.includes(r.fast)||(i.value=i.value.replace(t,n))}),this.markDirty(),this}some(t){return this.nodes.some(t)}walk(t){return this.each((r,n)=>{let i;try{i=t(r,n)}catch(o){throw r.addToError(o)}return i!==!1&&r.walk&&(i=r.walk(t)),i})}walkAtRules(t,r){return r?t instanceof RegExp?this.walk((n,i)=>{if(n.type==="atrule"&&t.test(n.name))return r(n,i)}):this.walk((n,i)=>{if(n.type==="atrule"&&n.name===t)return r(n,i)}):(r=t,this.walk((n,i)=>{if(n.type==="atrule")return r(n,i)}))}walkComments(t){return this.walk((r,n)=>{if(r.type==="comment")return t(r,n)})}walkDecls(t,r){return r?t instanceof RegExp?this.walk((n,i)=>{if(n.type==="decl"&&t.test(n.prop))return r(n,i)}):this.walk((n,i)=>{if(n.type==="decl"&&n.prop===t)return r(n,i)}):(r=t,this.walk((n,i)=>{if(n.type==="decl")return r(n,i)}))}walkRules(t,r){return r?t instanceof RegExp?this.walk((n,i)=>{if(n.type==="rule"&&t.test(n.selector))return r(n,i)}):this.walk((n,i)=>{if(n.type==="rule"&&n.selector===t)return r(n,i)}):(r=t,this.walk((n,i)=>{if(n.type==="rule")return r(n,i)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}};Vt.registerParse=e=>{pb=e};Vt.registerRule=e=>{sd=e};Vt.registerAtRule=e=>{ad=e};Vt.registerRoot=e=>{fb=e};var _r=Vt;Vt.default=Vt;Vt.rebuild=e=>{e.type==="atrule"?Object.setPrototypeOf(e,ad.prototype):e.type==="rule"?Object.setPrototypeOf(e,sd.prototype):e.type==="decl"?Object.setPrototypeOf(e,ub.prototype):e.type==="comment"?Object.setPrototypeOf(e,db.prototype):e.type==="root"&&Object.setPrototypeOf(e,fb.prototype),e[cb]=!0,e.nodes&&e.nodes.forEach(t=>{Vt.rebuild(t)})};var l2=_r,yb,bb,wi=class extends l2{constructor(t){super({type:"document",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new yb(new bb,this,t).stringify()}};wi.registerLazyResult=e=>{yb=e};wi.registerProcessor=e=>{bb=e};var ld=wi;wi.default=wi;var sy={},wb=function(t){sy[t]||(sy[t]=!0,typeof console<"u"&&console.warn&&console.warn(t))},Cu=class{constructor(t,r={}){if(this.type="warning",this.text=t,r.node&&r.node.source){let n=r.node.rangeBy(r);this.line=n.start.line,this.column=n.start.column,this.endLine=n.end.line,this.endColumn=n.end.column}for(let n in r)this[n]=r[n]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}},Sb=Cu;Cu.default=Cu;var c2=Sb,Ru=class{constructor(t,r,n){this.processor=t,this.messages=[],this.root=r,this.opts=n,this.css=void 0,this.map=void 0}toString(){return this.css}warn(t,r={}){r.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(r.plugin=this.lastPlugin.postcssPlugin);let n=new c2(t,r);return this.messages.push(n),n}warnings(){return this.messages.filter(t=>t.type==="warning")}get content(){return this.css}},cd=Ru;Ru.default=Ru;var iu=39,ay=34,Qo=92,ly=47,es=10,ui=32,ts=12,rs=9,ns=13,u2=91,d2=93,p2=40,f2=41,h2=123,m2=125,g2=59,y2=42,b2=58,w2=64,is=/[\t\n\f\r "#'()/;[\\\]{}]/g,os=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,S2=/.[\r\n"'(/\\]/,cy=/[\da-f]/i,v2=function(t,r={}){let n=t.css.valueOf(),i=r.ignoreErrors,o,s,a,l,c,u,d,p,h,f,m=n.length,g=0,w=[],S=[];function y(){return g}function v(E){throw t.error("Unclosed "+E,g)}function C(){return S.length===0&&g>=m}function M(E){if(S.length)return S.pop();if(g>=m)return;let x=E?E.ignoreUnclosed:!1;switch(o=n.charCodeAt(g),o){case es:case ui:case rs:case ns:case ts:{s=g;do s+=1,o=n.charCodeAt(s);while(o===ui||o===es||o===rs||o===ns||o===ts);f=["space",n.slice(g,s)],g=s-1;break}case u2:case d2:case h2:case m2:case b2:case g2:case f2:{let U=String.fromCharCode(o);f=[U,U,g];break}case p2:{if(p=w.length?w.pop()[1]:"",h=n.charCodeAt(g+1),p==="url"&&h!==iu&&h!==ay&&h!==ui&&h!==es&&h!==rs&&h!==ts&&h!==ns){s=g;do{if(u=!1,s=n.indexOf(")",s+1),s===-1)if(i||x){s=g;break}else v("bracket");for(d=s;n.charCodeAt(d-1)===Qo;)d-=1,u=!u}while(u);f=["brackets",n.slice(g,s+1),g,s],g=s}else s=n.indexOf(")",g+1),l=n.slice(g,s+1),s===-1||S2.test(l)?f=["(","(",g]:(f=["brackets",l,g,s],g=s);break}case iu:case ay:{a=o===iu?"'":'"',s=g;do{if(u=!1,s=n.indexOf(a,s+1),s===-1)if(i||x){s=g+1;break}else v("string");for(d=s;n.charCodeAt(d-1)===Qo;)d-=1,u=!u}while(u);f=["string",n.slice(g,s+1),g,s],g=s;break}case w2:{is.lastIndex=g+1,is.test(n),is.lastIndex===0?s=n.length-1:s=is.lastIndex-2,f=["at-word",n.slice(g,s+1),g,s],g=s;break}case Qo:{for(s=g,c=!0;n.charCodeAt(s+1)===Qo;)s+=1,c=!c;if(o=n.charCodeAt(s+1),c&&o!==ly&&o!==ui&&o!==es&&o!==rs&&o!==ns&&o!==ts&&(s+=1,cy.test(n.charAt(s)))){for(;cy.test(n.charAt(s+1));)s+=1;n.charCodeAt(s+1)===ui&&(s+=1)}f=["word",n.slice(g,s+1),g,s],g=s;break}default:{o===ly&&n.charCodeAt(g+1)===y2?(s=n.indexOf("*/",g+2)+1,s===0&&(i||x?s=n.length:v("comment")),f=["comment",n.slice(g,s+1),g,s],g=s):(os.lastIndex=g+1,os.test(n),os.lastIndex===0?s=n.length-1:s=os.lastIndex-2,f=["word",n.slice(g,s+1),g,s],w.push(f),g=s);break}}return g++,f}function R(E){S.push(E)}return{back:R,endOfFile:C,nextToken:M,position:y}},vb=_r,Ts=class extends vb{constructor(t){super(t),this.type="atrule"}append(...t){return this.proxyOf.nodes||(this.nodes=[]),super.append(...t)}prepend(...t){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...t)}},ud=Ts;Ts.default=Ts;vb.registerAtRule(Ts);var xb=_r,kb,Cb,pn=class extends xb{constructor(t){super(t),this.type="root",this.nodes||(this.nodes=[])}normalize(t,r,n){let i=super.normalize(t);if(r){if(n==="prepend")this.nodes.length>1?r.raws.before=this.nodes[1].raws.before:delete r.raws.before;else if(this.first!==r)for(let o of i)o.raws.before=r.raws.before}return i}removeChild(t,r){let n=this.index(t);return!r&&n===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[n].raws.before),super.removeChild(t)}toResult(t={}){return new kb(new Cb,this,t).stringify()}};pn.registerLazyResult=e=>{kb=e};pn.registerProcessor=e=>{Cb=e};var Pi=pn;pn.default=pn;xb.registerRoot(pn);var Si={comma(e){return Si.split(e,[","],!0)},space(e){let t=[" ",`
140
- `," "];return Si.split(e,t)},split(e,t,r){let n=[],i="",o=!1,s=0,a=!1,l="",c=!1;for(let u of e)c?c=!1:u==="\\"?c=!0:a?u===l&&(a=!1):u==='"'||u==="'"?(a=!0,l=u):u==="("?s+=1:u===")"?s>0&&(s-=1):s===0&&t.includes(u)&&(o=!0),o?(i!==""&&n.push(i.trim()),i="",o=!1):i+=u;return(r||i!=="")&&n.push(i.trim()),n}},Rb=Si;Si.default=Si;var Eb=_r,x2=Rb,Os=class extends Eb{constructor(t){super(t),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return x2.comma(this.selector)}set selectors(t){let r=this.selector?this.selector.match(/,\s*/):null,n=r?r[0]:","+this.raw("between","beforeOpen");this.selector=t.join(n)}},dd=Os;Os.default=Os;Eb.registerRule(Os);var k2=Ws,C2=v2,R2=zs,E2=ud,I2=Pi,uy=dd,dy={empty:!0,space:!0};function A2(e){for(let t=e.length-1;t>=0;t--){let r=e[t],n=r[3]||r[2];if(n)return n}}var P2=class{constructor(t){this.input=t,this.root=new I2,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:t,start:{column:1,line:1,offset:0}}}atrule(t){let r=new E2;r.name=t[1].slice(1),r.name===""&&this.unnamedAtrule(r,t),this.init(r,t[2]);let n,i,o,s=!1,a=!1,l=[],c=[];for(;!this.tokenizer.endOfFile();){if(t=this.tokenizer.nextToken(),n=t[0],n==="("||n==="["?c.push(n==="("?")":"]"):n==="{"&&c.length>0?c.push("}"):n===c[c.length-1]&&c.pop(),c.length===0)if(n===";"){r.source.end=this.getPosition(t[2]),r.source.end.offset++,this.semicolon=!0;break}else if(n==="{"){a=!0;break}else if(n==="}"){if(l.length>0){for(o=l.length-1,i=l[o];i&&i[0]==="space";)i=l[--o];i&&(r.source.end=this.getPosition(i[3]||i[2]),r.source.end.offset++)}this.end(t);break}else l.push(t);else l.push(t);if(this.tokenizer.endOfFile()){s=!0;break}}r.raws.between=this.spacesAndCommentsFromEnd(l),l.length?(r.raws.afterName=this.spacesAndCommentsFromStart(l),this.raw(r,"params",l),s&&(t=l[l.length-1],r.source.end=this.getPosition(t[3]||t[2]),r.source.end.offset++,this.spaces=r.raws.between,r.raws.between="")):(r.raws.afterName="",r.params=""),a&&(r.nodes=[],this.current=r)}checkMissedSemicolon(t){let r=this.colon(t);if(r===!1)return;let n=0,i;for(let o=r-1;o>=0&&(i=t[o],!(i[0]!=="space"&&(n+=1,n===2)));o--);throw this.input.error("Missed semicolon",i[0]==="word"?i[3]+1:i[2])}colon(t){let r=0,n,i,o;for(let[s,a]of t.entries()){if(n=a,i=n[0],i==="("&&(r+=1),i===")"&&(r-=1),r===0&&i===":")if(!o)this.doubleColon(n);else{if(o[0]==="word"&&o[1]==="progid")continue;return s}o=n}return!1}comment(t){let r=new R2;this.init(r,t[2]),r.source.end=this.getPosition(t[3]||t[2]),r.source.end.offset++;let n=t[1].slice(2,-2);if(/^\s*$/.test(n))r.text="",r.raws.left=n,r.raws.right="";else{let i=n.match(/^(\s*)([^]*\S)(\s*)$/);r.text=i[2],r.raws.left=i[1],r.raws.right=i[3]}}createTokenizer(){this.tokenizer=C2(this.input)}decl(t,r){let n=new k2;this.init(n,t[0][2]);let i=t[t.length-1];for(i[0]===";"&&(this.semicolon=!0,t.pop()),n.source.end=this.getPosition(i[3]||i[2]||A2(t)),n.source.end.offset++;t[0][0]!=="word";)t.length===1&&this.unknownWord(t),n.raws.before+=t.shift()[1];for(n.source.start=this.getPosition(t[0][2]),n.prop="";t.length;){let c=t[0][0];if(c===":"||c==="space"||c==="comment")break;n.prop+=t.shift()[1]}n.raws.between="";let o;for(;t.length;)if(o=t.shift(),o[0]===":"){n.raws.between+=o[1];break}else o[0]==="word"&&/\w/.test(o[1])&&this.unknownWord([o]),n.raws.between+=o[1];(n.prop[0]==="_"||n.prop[0]==="*")&&(n.raws.before+=n.prop[0],n.prop=n.prop.slice(1));let s=[],a;for(;t.length&&(a=t[0][0],!(a!=="space"&&a!=="comment"));)s.push(t.shift());this.precheckMissedSemicolon(t);for(let c=t.length-1;c>=0;c--){if(o=t[c],o[1].toLowerCase()==="!important"){n.important=!0;let u=this.stringFrom(t,c);u=this.spacesFromEnd(t)+u,u!==" !important"&&(n.raws.important=u);break}else if(o[1].toLowerCase()==="important"){let u=t.slice(0),d="";for(let p=c;p>0;p--){let h=u[p][0];if(d.trim().indexOf("!")===0&&h!=="space")break;d=u.pop()[1]+d}d.trim().indexOf("!")===0&&(n.important=!0,n.raws.important=d,t=u)}if(o[0]!=="space"&&o[0]!=="comment")break}t.some(c=>c[0]!=="space"&&c[0]!=="comment")&&(n.raws.between+=s.map(c=>c[1]).join(""),s=[]),this.raw(n,"value",s.concat(t),r),n.value.includes(":")&&!r&&this.checkMissedSemicolon(t)}doubleColon(t){throw this.input.error("Double colon",{offset:t[2]},{offset:t[2]+t[1].length})}emptyRule(t){let r=new uy;this.init(r,t[2]),r.selector="",r.raws.between="",this.current=r}end(t){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(t[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(t)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(t){if(this.spaces+=t[1],this.current.nodes){let r=this.current.nodes[this.current.nodes.length-1];r&&r.type==="rule"&&!r.raws.ownSemicolon&&(r.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(t){let r=this.input.fromOffset(t);return{column:r.col,line:r.line,offset:t}}init(t,r){this.current.push(t),t.source={input:this.input,start:this.getPosition(r)},t.raws.before=this.spaces,this.spaces="",t.type!=="comment"&&(this.semicolon=!1)}other(t){let r=!1,n=null,i=!1,o=null,s=[],a=t[1].startsWith("--"),l=[],c=t;for(;c;){if(n=c[0],l.push(c),n==="("||n==="[")o||(o=c),s.push(n==="("?")":"]");else if(a&&i&&n==="{")o||(o=c),s.push("}");else if(s.length===0)if(n===";")if(i){this.decl(l,a);return}else break;else if(n==="{"){this.rule(l);return}else if(n==="}"){this.tokenizer.back(l.pop()),r=!0;break}else n===":"&&(i=!0);else n===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));c=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(r=!0),s.length>0&&this.unclosedBracket(o),r&&i){if(!a)for(;l.length&&(c=l[l.length-1][0],!(c!=="space"&&c!=="comment"));)this.tokenizer.back(l.pop());this.decl(l,a)}else this.unknownWord(l)}parse(){let t;for(;!this.tokenizer.endOfFile();)switch(t=this.tokenizer.nextToken(),t[0]){case"space":this.spaces+=t[1];break;case";":this.freeSemicolon(t);break;case"}":this.end(t);break;case"comment":this.comment(t);break;case"at-word":this.atrule(t);break;case"{":this.emptyRule(t);break;default:this.other(t);break}this.endFile()}precheckMissedSemicolon(){}raw(t,r,n,i){let o,s,a=n.length,l="",c=!0,u,d;for(let p=0;p<a;p+=1)o=n[p],s=o[0],s==="space"&&p===a-1&&!i?c=!1:s==="comment"?(d=n[p-1]?n[p-1][0]:"empty",u=n[p+1]?n[p+1][0]:"empty",!dy[d]&&!dy[u]?l.slice(-1)===","?c=!1:l+=o[1]:c=!1):l+=o[1];if(!c){let p=n.reduce((h,f)=>h+f[1],"");t.raws[r]={raw:p,value:l}}t[r]=l}rule(t){t.pop();let r=new uy;this.init(r,t[0][2]),r.raws.between=this.spacesAndCommentsFromEnd(t),this.raw(r,"selector",t),this.current=r}spacesAndCommentsFromEnd(t){let r,n="";for(;t.length&&(r=t[t.length-1][0],!(r!=="space"&&r!=="comment"));)n=t.pop()[1]+n;return n}spacesAndCommentsFromStart(t){let r,n="";for(;t.length&&(r=t[0][0],!(r!=="space"&&r!=="comment"));)n+=t.shift()[1];return n}spacesFromEnd(t){let r,n="";for(;t.length&&(r=t[t.length-1][0],r==="space");)n=t.pop()[1]+n;return n}stringFrom(t,r){let n="";for(let i=r;i<t.length;i++)n+=t[i][1];return t.splice(r,t.length-r),n}unclosedBlock(){let t=this.current.source.start;throw this.input.error("Unclosed block",t.line,t.column)}unclosedBracket(t){throw this.input.error("Unclosed bracket",{offset:t[2]},{offset:t[2]+1})}unexpectedClose(t){throw this.input.error("Unexpected }",{offset:t[2]},{offset:t[2]+1})}unknownWord(t){throw this.input.error("Unknown word",{offset:t[0][2]},{offset:t[0][2]+t[0][1].length})}unnamedAtrule(t,r){throw this.input.error("At-rule without name",{offset:r[2]},{offset:r[2]+r[1].length})}},T2=P2,O2=_r,M2=T2,N2=Hs;function Ms(e,t){let r=new N2(e,t),n=new M2(r);try{n.parse()}catch(i){throw process.env.NODE_ENV!=="production"&&i.name==="CssSyntaxError"&&t&&t.from&&(/\.scss$/i.test(t.from)?i.message+=`
138
+ `),this.css+=r+"/*# sourceMappingURL="+t+" */"}applyPrevMaps(){for(let t of this.previous()){let r=this.toUrl(this.path(t.file)),n=t.root||ks(t.file),i;this.mapOpts.sourcesContent===!1?(i=new cb(t.text),i.sourcesContent&&(i.sourcesContent=null)):i=t.consumer(),this.map.applySourceMap(i,r,this.toUrl(this.path(n)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let t;for(let r=this.root.nodes.length-1;r>=0;r--)t=this.root.nodes[r],t.type==="comment"&&t.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(r)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),A2&&I2&&this.isMap())return this.generateMap();{let t="";return this.stringify(this.root,r=>{t+=r}),[t]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let t=this.previous()[0].consumer();t.file=this.outputFile(),this.map=xs.fromSourceMap(t,{ignoreInvalidMapping:!0})}else this.map=new xs({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new xs({file:this.outputFile(),ignoreInvalidMapping:!0});let t=1,r=1,n="<no source>",i={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(a,l,c)=>{if(this.css+=a,l&&c!=="end"&&(i.generated.line=t,i.generated.column=r-1,l.source&&l.source.start?(i.source=this.sourcePath(l),i.original.line=l.source.start.line,i.original.column=l.source.start.column-1,this.map.addMapping(i)):(i.source=n,i.original.line=1,i.original.column=0,this.map.addMapping(i))),o=a.match(/\n/g),o?(t+=o.length,s=a.lastIndexOf(`
139
+ `),r=a.length-s):r+=a.length,l&&c!=="start"){let u=l.parent||{raws:{}};(!(l.type==="decl"||l.type==="atrule"&&!l.nodes)||l!==u.last||u.raws.semicolon)&&(l.source&&l.source.end?(i.source=this.sourcePath(l),i.original.line=l.source.end.line,i.original.column=l.source.end.column-1,i.generated.line=t,i.generated.column=r-2,this.map.addMapping(i)):(i.source=n,i.original.line=1,i.original.column=0,i.generated.line=t,i.generated.column=r-1,this.map.addMapping(i)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(t=>t.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let t=this.mapOpts.annotation;return typeof t<"u"&&t!==!0?!1:this.previous().length?this.previous().some(r=>r.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(t=>t.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(t){if(this.mapOpts.absolute||t.charCodeAt(0)===60||/^\w+:\/\//.test(t))return t;let r=this.memoizedPaths.get(t);if(r)return r;let n=this.opts.to?ks(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(n=ks(db(n,this.mapOpts.annotation)));let i=ub(n,t);return this.memoizedPaths.set(t,i),i}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(t=>{if(t.source&&t.source.input.map){let r=t.source.input.map;this.previousMaps.includes(r)||this.previousMaps.push(r)}});else{let t=new E2(this.originalCSS,this.opts);t.map&&this.previousMaps.push(t.map)}return this.previousMaps}setSourcesContent(){let t={};if(this.root)this.root.walk(r=>{if(r.source){let n=r.source.input.from;if(n&&!t[n]){t[n]=!0;let i=this.usesFileUrls?this.toFileUrl(n):this.toUrl(this.path(n));this.map.setSourceContent(i,r.source.input.css)}}});else if(this.css){let r=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(r,this.css)}}sourcePath(t){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(t.source.input.from):this.toUrl(this.path(t.source.input.from))}toBase64(t){return Buffer?Buffer.from(t).toString("base64"):window.btoa(unescape(encodeURIComponent(t)))}toFileUrl(t){let r=this.memoizedFileURLs.get(t);if(r)return r;if(dy){let n=dy(t).toString();return this.memoizedFileURLs.set(t,n),n}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(t){let r=this.memoizedURLs.get(t);if(r)return r;pb==="\\"&&(t=t.replace(/\\/g,"/"));let n=encodeURI(t).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(t,n),n}},fb=P2,T2=Gs,Iu=class extends T2{constructor(t){super(t),this.type="comment"}},Js=Iu;Iu.default=Iu;var{isClean:hb,my:mb}=Oi,gb=qs,yb=Js,O2=Gs,bb,ud,dd,wb;function Sb(e){return e.map(t=>(t.nodes&&(t.nodes=Sb(t.nodes)),delete t.source,t))}function vb(e){if(e[hb]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)vb(t)}var Ht=class xb extends O2{append(...t){for(let r of t){let n=this.normalize(r,this.last);for(let i of n)this.proxyOf.nodes.push(i)}return this.markDirty(),this}cleanRaws(t){if(super.cleanRaws(t),this.nodes)for(let r of this.nodes)r.cleanRaws(t)}each(t){if(!this.proxyOf.nodes)return;let r=this.getIterator(),n,i;for(;this.indexes[r]<this.proxyOf.nodes.length&&(n=this.indexes[r],i=t(this.proxyOf.nodes[n],n),i!==!1);)this.indexes[r]+=1;return delete this.indexes[r],i}every(t){return this.nodes.every(t)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t=this.lastEach;return this.indexes[t]=0,t}getProxyProcessor(){return{get(t,r){return r==="proxyOf"?t:t[r]?r==="each"||typeof r=="string"&&r.startsWith("walk")?(...n)=>t[r](...n.map(i=>typeof i=="function"?(o,s)=>i(o.toProxy(),s):i)):r==="every"||r==="some"?n=>t[r]((i,...o)=>n(i.toProxy(),...o)):r==="root"?()=>t.root().toProxy():r==="nodes"?t.nodes.map(n=>n.toProxy()):r==="first"||r==="last"?t[r].toProxy():t[r]:t[r]},set(t,r,n){return t[r]===n||(t[r]=n,(r==="name"||r==="params"||r==="selector")&&t.markDirty()),!0}}}index(t){return typeof t=="number"?t:(t.proxyOf&&(t=t.proxyOf),this.proxyOf.nodes.indexOf(t))}insertAfter(t,r){let n=this.index(t),i=this.normalize(r,this.proxyOf.nodes[n]).reverse();n=this.index(t);for(let s of i)this.proxyOf.nodes.splice(n+1,0,s);let o;for(let s in this.indexes)o=this.indexes[s],n<o&&(this.indexes[s]=o+i.length);return this.markDirty(),this}insertBefore(t,r){let n=this.index(t),i=n===0?"prepend":!1,o=this.normalize(r,this.proxyOf.nodes[n],i).reverse();n=this.index(t);for(let a of o)this.proxyOf.nodes.splice(n,0,a);let s;for(let a in this.indexes)s=this.indexes[a],n<=s&&(this.indexes[a]=s+o.length);return this.markDirty(),this}normalize(t,r){if(typeof t=="string")t=Sb(bb(t).nodes);else if(typeof t>"u")t=[];else if(Array.isArray(t)){t=t.slice(0);for(let i of t)i.parent&&i.parent.removeChild(i,"ignore")}else if(t.type==="root"&&this.type!=="document"){t=t.nodes.slice(0);for(let i of t)i.parent&&i.parent.removeChild(i,"ignore")}else if(t.type)t=[t];else if(t.prop){if(typeof t.value>"u")throw new Error("Value field is missed in node creation");typeof t.value!="string"&&(t.value=String(t.value)),t=[new gb(t)]}else if(t.selector)t=[new ud(t)];else if(t.name)t=[new dd(t)];else if(t.text)t=[new yb(t)];else throw new Error("Unknown node type in node creation");return t.map(i=>(i[mb]||xb.rebuild(i),i=i.proxyOf,i.parent&&i.parent.removeChild(i),i[hb]&&vb(i),typeof i.raws.before>"u"&&r&&typeof r.raws.before<"u"&&(i.raws.before=r.raws.before.replace(/\S/g,"")),i.parent=this.proxyOf,i))}prepend(...t){t=t.reverse();for(let r of t){let n=this.normalize(r,this.first,"prepend").reverse();for(let i of n)this.proxyOf.nodes.unshift(i);for(let i in this.indexes)this.indexes[i]=this.indexes[i]+n.length}return this.markDirty(),this}push(t){return t.parent=this,this.proxyOf.nodes.push(t),this}removeAll(){for(let t of this.proxyOf.nodes)t.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(t){t=this.index(t),this.proxyOf.nodes[t].parent=void 0,this.proxyOf.nodes.splice(t,1);let r;for(let n in this.indexes)r=this.indexes[n],r>=t&&(this.indexes[n]=r-1);return this.markDirty(),this}replaceValues(t,r,n){return n||(n=r,r={}),this.walkDecls(i=>{r.props&&!r.props.includes(i.prop)||r.fast&&!i.value.includes(r.fast)||(i.value=i.value.replace(t,n))}),this.markDirty(),this}some(t){return this.nodes.some(t)}walk(t){return this.each((r,n)=>{let i;try{i=t(r,n)}catch(o){throw r.addToError(o)}return i!==!1&&r.walk&&(i=r.walk(t)),i})}walkAtRules(t,r){return r?t instanceof RegExp?this.walk((n,i)=>{if(n.type==="atrule"&&t.test(n.name))return r(n,i)}):this.walk((n,i)=>{if(n.type==="atrule"&&n.name===t)return r(n,i)}):(r=t,this.walk((n,i)=>{if(n.type==="atrule")return r(n,i)}))}walkComments(t){return this.walk((r,n)=>{if(r.type==="comment")return t(r,n)})}walkDecls(t,r){return r?t instanceof RegExp?this.walk((n,i)=>{if(n.type==="decl"&&t.test(n.prop))return r(n,i)}):this.walk((n,i)=>{if(n.type==="decl"&&n.prop===t)return r(n,i)}):(r=t,this.walk((n,i)=>{if(n.type==="decl")return r(n,i)}))}walkRules(t,r){return r?t instanceof RegExp?this.walk((n,i)=>{if(n.type==="rule"&&t.test(n.selector))return r(n,i)}):this.walk((n,i)=>{if(n.type==="rule"&&n.selector===t)return r(n,i)}):(r=t,this.walk((n,i)=>{if(n.type==="rule")return r(n,i)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}};Ht.registerParse=e=>{bb=e};Ht.registerRule=e=>{ud=e};Ht.registerAtRule=e=>{dd=e};Ht.registerRoot=e=>{wb=e};var Fr=Ht;Ht.default=Ht;Ht.rebuild=e=>{e.type==="atrule"?Object.setPrototypeOf(e,dd.prototype):e.type==="rule"?Object.setPrototypeOf(e,ud.prototype):e.type==="decl"?Object.setPrototypeOf(e,gb.prototype):e.type==="comment"?Object.setPrototypeOf(e,yb.prototype):e.type==="root"&&Object.setPrototypeOf(e,wb.prototype),e[mb]=!0,e.nodes&&e.nodes.forEach(t=>{Ht.rebuild(t)})};var M2=Fr,kb,Cb,xi=class extends M2{constructor(t){super({type:"document",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new kb(new Cb,this,t).stringify()}};xi.registerLazyResult=e=>{kb=e};xi.registerProcessor=e=>{Cb=e};var pd=xi;xi.default=xi;var py={},Rb=function(t){py[t]||(py[t]=!0,typeof console<"u"&&console.warn&&console.warn(t))},Au=class{constructor(t,r={}){if(this.type="warning",this.text=t,r.node&&r.node.source){let n=r.node.rangeBy(r);this.line=n.start.line,this.column=n.start.column,this.endLine=n.end.line,this.endColumn=n.end.column}for(let n in r)this[n]=r[n]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}},Eb=Au;Au.default=Au;var N2=Eb,Pu=class{constructor(t,r,n){this.processor=t,this.messages=[],this.root=r,this.opts=n,this.css=void 0,this.map=void 0}toString(){return this.css}warn(t,r={}){r.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(r.plugin=this.lastPlugin.postcssPlugin);let n=new N2(t,r);return this.messages.push(n),n}warnings(){return this.messages.filter(t=>t.type==="warning")}get content(){return this.css}},fd=Pu;Pu.default=Pu;var lu=39,fy=34,ns=92,hy=47,is=10,fi=32,os=12,ss=9,as=13,L2=91,$2=93,D2=40,_2=41,j2=123,F2=125,B2=59,V2=42,U2=58,W2=64,ls=/[\t\n\f\r "#'()/;[\\\]{}]/g,cs=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,H2=/.[\r\n"'(/\\]/,my=/[\da-f]/i,z2=function(t,r={}){let n=t.css.valueOf(),i=r.ignoreErrors,o,s,a,l,c,u,d,p,h,f,m=n.length,g=0,w=[],S=[];function y(){return g}function v(E){throw t.error("Unclosed "+E,g)}function C(){return S.length===0&&g>=m}function M(E){if(S.length)return S.pop();if(g>=m)return;let x=E?E.ignoreUnclosed:!1;switch(o=n.charCodeAt(g),o){case is:case fi:case ss:case as:case os:{s=g;do s+=1,o=n.charCodeAt(s);while(o===fi||o===is||o===ss||o===as||o===os);f=["space",n.slice(g,s)],g=s-1;break}case L2:case $2:case j2:case F2:case U2:case B2:case _2:{let U=String.fromCharCode(o);f=[U,U,g];break}case D2:{if(p=w.length?w.pop()[1]:"",h=n.charCodeAt(g+1),p==="url"&&h!==lu&&h!==fy&&h!==fi&&h!==is&&h!==ss&&h!==os&&h!==as){s=g;do{if(u=!1,s=n.indexOf(")",s+1),s===-1)if(i||x){s=g;break}else v("bracket");for(d=s;n.charCodeAt(d-1)===ns;)d-=1,u=!u}while(u);f=["brackets",n.slice(g,s+1),g,s],g=s}else s=n.indexOf(")",g+1),l=n.slice(g,s+1),s===-1||H2.test(l)?f=["(","(",g]:(f=["brackets",l,g,s],g=s);break}case lu:case fy:{a=o===lu?"'":'"',s=g;do{if(u=!1,s=n.indexOf(a,s+1),s===-1)if(i||x){s=g+1;break}else v("string");for(d=s;n.charCodeAt(d-1)===ns;)d-=1,u=!u}while(u);f=["string",n.slice(g,s+1),g,s],g=s;break}case W2:{ls.lastIndex=g+1,ls.test(n),ls.lastIndex===0?s=n.length-1:s=ls.lastIndex-2,f=["at-word",n.slice(g,s+1),g,s],g=s;break}case ns:{for(s=g,c=!0;n.charCodeAt(s+1)===ns;)s+=1,c=!c;if(o=n.charCodeAt(s+1),c&&o!==hy&&o!==fi&&o!==is&&o!==ss&&o!==as&&o!==os&&(s+=1,my.test(n.charAt(s)))){for(;my.test(n.charAt(s+1));)s+=1;n.charCodeAt(s+1)===fi&&(s+=1)}f=["word",n.slice(g,s+1),g,s],g=s;break}default:{o===hy&&n.charCodeAt(g+1)===V2?(s=n.indexOf("*/",g+2)+1,s===0&&(i||x?s=n.length:v("comment")),f=["comment",n.slice(g,s+1),g,s],g=s):(cs.lastIndex=g+1,cs.test(n),cs.lastIndex===0?s=n.length-1:s=cs.lastIndex-2,f=["word",n.slice(g,s+1),g,s],w.push(f),g=s);break}}return g++,f}function R(E){S.push(E)}return{back:R,endOfFile:C,nextToken:M,position:y}},Ib=Fr,Ls=class extends Ib{constructor(t){super(t),this.type="atrule"}append(...t){return this.proxyOf.nodes||(this.nodes=[]),super.append(...t)}prepend(...t){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...t)}},hd=Ls;Ls.default=Ls;Ib.registerAtRule(Ls);var Ab=Fr,Pb,Tb,hn=class extends Ab{constructor(t){super(t),this.type="root",this.nodes||(this.nodes=[])}normalize(t,r,n){let i=super.normalize(t);if(r){if(n==="prepend")this.nodes.length>1?r.raws.before=this.nodes[1].raws.before:delete r.raws.before;else if(this.first!==r)for(let o of i)o.raws.before=r.raws.before}return i}removeChild(t,r){let n=this.index(t);return!r&&n===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[n].raws.before),super.removeChild(t)}toResult(t={}){return new Pb(new Tb,this,t).stringify()}};hn.registerLazyResult=e=>{Pb=e};hn.registerProcessor=e=>{Tb=e};var Mi=hn;hn.default=hn;Ab.registerRoot(hn);var ki={comma(e){return ki.split(e,[","],!0)},space(e){let t=[" ",`
140
+ `," "];return ki.split(e,t)},split(e,t,r){let n=[],i="",o=!1,s=0,a=!1,l="",c=!1;for(let u of e)c?c=!1:u==="\\"?c=!0:a?u===l&&(a=!1):u==='"'||u==="'"?(a=!0,l=u):u==="("?s+=1:u===")"?s>0&&(s-=1):s===0&&t.includes(u)&&(o=!0),o?(i!==""&&n.push(i.trim()),i="",o=!1):i+=u;return(r||i!=="")&&n.push(i.trim()),n}},Ob=ki;ki.default=ki;var Mb=Fr,G2=Ob,$s=class extends Mb{constructor(t){super(t),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return G2.comma(this.selector)}set selectors(t){let r=this.selector?this.selector.match(/,\s*/):null,n=r?r[0]:","+this.raw("between","beforeOpen");this.selector=t.join(n)}},md=$s;$s.default=$s;Mb.registerRule($s);var q2=qs,K2=z2,J2=Js,Y2=hd,Z2=Mi,gy=md,yy={empty:!0,space:!0};function X2(e){for(let t=e.length-1;t>=0;t--){let r=e[t],n=r[3]||r[2];if(n)return n}}var Q2=class{constructor(t){this.input=t,this.root=new Z2,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:t,start:{column:1,line:1,offset:0}}}atrule(t){let r=new Y2;r.name=t[1].slice(1),r.name===""&&this.unnamedAtrule(r,t),this.init(r,t[2]);let n,i,o,s=!1,a=!1,l=[],c=[];for(;!this.tokenizer.endOfFile();){if(t=this.tokenizer.nextToken(),n=t[0],n==="("||n==="["?c.push(n==="("?")":"]"):n==="{"&&c.length>0?c.push("}"):n===c[c.length-1]&&c.pop(),c.length===0)if(n===";"){r.source.end=this.getPosition(t[2]),r.source.end.offset++,this.semicolon=!0;break}else if(n==="{"){a=!0;break}else if(n==="}"){if(l.length>0){for(o=l.length-1,i=l[o];i&&i[0]==="space";)i=l[--o];i&&(r.source.end=this.getPosition(i[3]||i[2]),r.source.end.offset++)}this.end(t);break}else l.push(t);else l.push(t);if(this.tokenizer.endOfFile()){s=!0;break}}r.raws.between=this.spacesAndCommentsFromEnd(l),l.length?(r.raws.afterName=this.spacesAndCommentsFromStart(l),this.raw(r,"params",l),s&&(t=l[l.length-1],r.source.end=this.getPosition(t[3]||t[2]),r.source.end.offset++,this.spaces=r.raws.between,r.raws.between="")):(r.raws.afterName="",r.params=""),a&&(r.nodes=[],this.current=r)}checkMissedSemicolon(t){let r=this.colon(t);if(r===!1)return;let n=0,i;for(let o=r-1;o>=0&&(i=t[o],!(i[0]!=="space"&&(n+=1,n===2)));o--);throw this.input.error("Missed semicolon",i[0]==="word"?i[3]+1:i[2])}colon(t){let r=0,n,i,o;for(let[s,a]of t.entries()){if(n=a,i=n[0],i==="("&&(r+=1),i===")"&&(r-=1),r===0&&i===":")if(!o)this.doubleColon(n);else{if(o[0]==="word"&&o[1]==="progid")continue;return s}o=n}return!1}comment(t){let r=new J2;this.init(r,t[2]),r.source.end=this.getPosition(t[3]||t[2]),r.source.end.offset++;let n=t[1].slice(2,-2);if(/^\s*$/.test(n))r.text="",r.raws.left=n,r.raws.right="";else{let i=n.match(/^(\s*)([^]*\S)(\s*)$/);r.text=i[2],r.raws.left=i[1],r.raws.right=i[3]}}createTokenizer(){this.tokenizer=K2(this.input)}decl(t,r){let n=new q2;this.init(n,t[0][2]);let i=t[t.length-1];for(i[0]===";"&&(this.semicolon=!0,t.pop()),n.source.end=this.getPosition(i[3]||i[2]||X2(t)),n.source.end.offset++;t[0][0]!=="word";)t.length===1&&this.unknownWord(t),n.raws.before+=t.shift()[1];for(n.source.start=this.getPosition(t[0][2]),n.prop="";t.length;){let c=t[0][0];if(c===":"||c==="space"||c==="comment")break;n.prop+=t.shift()[1]}n.raws.between="";let o;for(;t.length;)if(o=t.shift(),o[0]===":"){n.raws.between+=o[1];break}else o[0]==="word"&&/\w/.test(o[1])&&this.unknownWord([o]),n.raws.between+=o[1];(n.prop[0]==="_"||n.prop[0]==="*")&&(n.raws.before+=n.prop[0],n.prop=n.prop.slice(1));let s=[],a;for(;t.length&&(a=t[0][0],!(a!=="space"&&a!=="comment"));)s.push(t.shift());this.precheckMissedSemicolon(t);for(let c=t.length-1;c>=0;c--){if(o=t[c],o[1].toLowerCase()==="!important"){n.important=!0;let u=this.stringFrom(t,c);u=this.spacesFromEnd(t)+u,u!==" !important"&&(n.raws.important=u);break}else if(o[1].toLowerCase()==="important"){let u=t.slice(0),d="";for(let p=c;p>0;p--){let h=u[p][0];if(d.trim().indexOf("!")===0&&h!=="space")break;d=u.pop()[1]+d}d.trim().indexOf("!")===0&&(n.important=!0,n.raws.important=d,t=u)}if(o[0]!=="space"&&o[0]!=="comment")break}t.some(c=>c[0]!=="space"&&c[0]!=="comment")&&(n.raws.between+=s.map(c=>c[1]).join(""),s=[]),this.raw(n,"value",s.concat(t),r),n.value.includes(":")&&!r&&this.checkMissedSemicolon(t)}doubleColon(t){throw this.input.error("Double colon",{offset:t[2]},{offset:t[2]+t[1].length})}emptyRule(t){let r=new gy;this.init(r,t[2]),r.selector="",r.raws.between="",this.current=r}end(t){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(t[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(t)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(t){if(this.spaces+=t[1],this.current.nodes){let r=this.current.nodes[this.current.nodes.length-1];r&&r.type==="rule"&&!r.raws.ownSemicolon&&(r.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(t){let r=this.input.fromOffset(t);return{column:r.col,line:r.line,offset:t}}init(t,r){this.current.push(t),t.source={input:this.input,start:this.getPosition(r)},t.raws.before=this.spaces,this.spaces="",t.type!=="comment"&&(this.semicolon=!1)}other(t){let r=!1,n=null,i=!1,o=null,s=[],a=t[1].startsWith("--"),l=[],c=t;for(;c;){if(n=c[0],l.push(c),n==="("||n==="[")o||(o=c),s.push(n==="("?")":"]");else if(a&&i&&n==="{")o||(o=c),s.push("}");else if(s.length===0)if(n===";")if(i){this.decl(l,a);return}else break;else if(n==="{"){this.rule(l);return}else if(n==="}"){this.tokenizer.back(l.pop()),r=!0;break}else n===":"&&(i=!0);else n===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));c=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(r=!0),s.length>0&&this.unclosedBracket(o),r&&i){if(!a)for(;l.length&&(c=l[l.length-1][0],!(c!=="space"&&c!=="comment"));)this.tokenizer.back(l.pop());this.decl(l,a)}else this.unknownWord(l)}parse(){let t;for(;!this.tokenizer.endOfFile();)switch(t=this.tokenizer.nextToken(),t[0]){case"space":this.spaces+=t[1];break;case";":this.freeSemicolon(t);break;case"}":this.end(t);break;case"comment":this.comment(t);break;case"at-word":this.atrule(t);break;case"{":this.emptyRule(t);break;default:this.other(t);break}this.endFile()}precheckMissedSemicolon(){}raw(t,r,n,i){let o,s,a=n.length,l="",c=!0,u,d;for(let p=0;p<a;p+=1)o=n[p],s=o[0],s==="space"&&p===a-1&&!i?c=!1:s==="comment"?(d=n[p-1]?n[p-1][0]:"empty",u=n[p+1]?n[p+1][0]:"empty",!yy[d]&&!yy[u]?l.slice(-1)===","?c=!1:l+=o[1]:c=!1):l+=o[1];if(!c){let p=n.reduce((h,f)=>h+f[1],"");t.raws[r]={raw:p,value:l}}t[r]=l}rule(t){t.pop();let r=new gy;this.init(r,t[0][2]),r.raws.between=this.spacesAndCommentsFromEnd(t),this.raw(r,"selector",t),this.current=r}spacesAndCommentsFromEnd(t){let r,n="";for(;t.length&&(r=t[t.length-1][0],!(r!=="space"&&r!=="comment"));)n=t.pop()[1]+n;return n}spacesAndCommentsFromStart(t){let r,n="";for(;t.length&&(r=t[0][0],!(r!=="space"&&r!=="comment"));)n+=t.shift()[1];return n}spacesFromEnd(t){let r,n="";for(;t.length&&(r=t[t.length-1][0],r==="space");)n=t.pop()[1]+n;return n}stringFrom(t,r){let n="";for(let i=r;i<t.length;i++)n+=t[i][1];return t.splice(r,t.length-r),n}unclosedBlock(){let t=this.current.source.start;throw this.input.error("Unclosed block",t.line,t.column)}unclosedBracket(t){throw this.input.error("Unclosed bracket",{offset:t[2]},{offset:t[2]+1})}unexpectedClose(t){throw this.input.error("Unexpected }",{offset:t[2]},{offset:t[2]+1})}unknownWord(t){throw this.input.error("Unknown word",{offset:t[0][2]},{offset:t[0][2]+t[0][1].length})}unnamedAtrule(t,r){throw this.input.error("At-rule without name",{offset:r[2]},{offset:r[2]+r[1].length})}},eN=Q2,tN=Fr,rN=eN,nN=Ks;function Ds(e,t){let r=new nN(e,t),n=new rN(r);try{n.parse()}catch(i){throw process.env.NODE_ENV!=="production"&&i.name==="CssSyntaxError"&&t&&t.from&&(/\.scss$/i.test(t.from)?i.message+=`
141
141
  You tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser`:/\.sass/i.test(t.from)?i.message+=`
142
142
  You tried to parse Sass with the standard CSS parser; try again with the postcss-sass parser`:/\.less$/i.test(t.from)&&(i.message+=`
143
- You tried to parse Less with the standard CSS parser; try again with the postcss-less parser`)),i}return n.root}var pd=Ms;Ms.default=Ms;O2.registerParse(Ms);var{isClean:It,my:L2}=Ai,$2=ab,D2=Bs,_2=_r,j2=ld,F2=wb,py=cd,V2=pd,B2=Pi,U2={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},W2={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},H2={Once:!0,postcssPlugin:!0,prepare:!0},fn=0;function di(e){return typeof e=="object"&&typeof e.then=="function"}function Ib(e){let t=!1,r=U2[e.type];return e.type==="decl"?t=e.prop.toLowerCase():e.type==="atrule"&&(t=e.name.toLowerCase()),t&&e.append?[r,r+"-"+t,fn,r+"Exit",r+"Exit-"+t]:t?[r,r+"-"+t,r+"Exit",r+"Exit-"+t]:e.append?[r,fn,r+"Exit"]:[r,r+"Exit"]}function fy(e){let t;return e.type==="document"?t=["Document",fn,"DocumentExit"]:e.type==="root"?t=["Root",fn,"RootExit"]:t=Ib(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function Eu(e){return e[It]=!1,e.nodes&&e.nodes.forEach(t=>Eu(t)),e}var Iu={},hn=class Ab{constructor(t,r,n){this.stringified=!1,this.processed=!1;let i;if(typeof r=="object"&&r!==null&&(r.type==="root"||r.type==="document"))i=Eu(r);else if(r instanceof Ab||r instanceof py)i=Eu(r.root),r.map&&(typeof n.map>"u"&&(n.map={}),n.map.inline||(n.map.inline=!1),n.map.prev=r.map);else{let o=V2;n.syntax&&(o=n.syntax.parse),n.parser&&(o=n.parser),o.parse&&(o=o.parse);try{i=o(r,n)}catch(s){this.processed=!0,this.error=s}i&&!i[L2]&&_2.rebuild(i)}this.result=new py(t,i,n),this.helpers={...Iu,postcss:Iu,result:this.result},this.plugins=this.processor.plugins.map(o=>typeof o=="object"&&o.prepare?{...o,...o.prepare(this.result)}:o)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(t,r){let n=this.result.lastPlugin;try{if(r&&r.addToError(t),this.error=t,t.name==="CssSyntaxError"&&!t.plugin)t.plugin=n.postcssPlugin,t.setMessage();else if(n.postcssVersion&&process.env.NODE_ENV!=="production"){let i=n.postcssPlugin,o=n.postcssVersion,s=this.result.processor.version,a=o.split("."),l=s.split(".");(a[0]!==l[0]||parseInt(a[1])>parseInt(l[1]))&&console.error("Unknown error from PostCSS plugin. Your current PostCSS version is "+s+", but "+i+" uses "+o+". Perhaps this is the source of the error below.")}}catch(i){console&&console.error&&console.error(i)}return t}prepareVisitors(){this.listeners={};let t=(r,n,i)=>{this.listeners[n]||(this.listeners[n]=[]),this.listeners[n].push([r,i])};for(let r of this.plugins)if(typeof r=="object")for(let n in r){if(!W2[n]&&/^[A-Z]/.test(n))throw new Error(`Unknown event ${n} in ${r.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!H2[n])if(typeof r[n]=="object")for(let i in r[n])i==="*"?t(r,n,r[n][i]):t(r,n+"-"+i.toLowerCase(),r[n][i]);else typeof r[n]=="function"&&t(r,n,r[n])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let t=0;t<this.plugins.length;t++){let r=this.plugins[t],n=this.runOnRoot(r);if(di(n))try{await n}catch(i){throw this.handleError(i)}}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[It];){t[It]=!0;let r=[fy(t)];for(;r.length>0;){let n=this.visitTick(r);if(di(n))try{await n}catch(i){let o=r[r.length-1].node;throw this.handleError(i,o)}}}if(this.listeners.OnceExit)for(let[r,n]of this.listeners.OnceExit){this.result.lastPlugin=r;try{if(t.type==="document"){let i=t.nodes.map(o=>n(o,this.helpers));await Promise.all(i)}else await n(t,this.helpers)}catch(i){throw this.handleError(i)}}}return this.processed=!0,this.stringify()}runOnRoot(t){this.result.lastPlugin=t;try{if(typeof t=="object"&&t.Once){if(this.result.root.type==="document"){let r=this.result.root.nodes.map(n=>t.Once(n,this.helpers));return di(r[0])?Promise.all(r):r}return t.Once(this.result.root,this.helpers)}else if(typeof t=="function")return t(this.result.root,this.result)}catch(r){throw this.handleError(r)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let t=this.result.opts,r=D2;t.syntax&&(r=t.syntax.stringify),t.stringifier&&(r=t.stringifier),r.stringify&&(r=r.stringify);let i=new $2(r,this.result.root,this.result.opts).generate();return this.result.css=i[0],this.result.map=i[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let t of this.plugins){let r=this.runOnRoot(t);if(di(r))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[It];)t[It]=!0,this.walkSync(t);if(this.listeners.OnceExit)if(t.type==="document")for(let r of t.nodes)this.visitSync(this.listeners.OnceExit,r);else this.visitSync(this.listeners.OnceExit,t)}return this.result}then(t,r){return process.env.NODE_ENV!=="production"&&("from"in this.opts||F2("Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.")),this.async().then(t,r)}toString(){return this.css}visitSync(t,r){for(let[n,i]of t){this.result.lastPlugin=n;let o;try{o=i(r,this.helpers)}catch(s){throw this.handleError(s,r.proxyOf)}if(r.type!=="root"&&r.type!=="document"&&!r.parent)return!0;if(di(o))throw this.getAsyncError()}}visitTick(t){let r=t[t.length-1],{node:n,visitors:i}=r;if(n.type!=="root"&&n.type!=="document"&&!n.parent){t.pop();return}if(i.length>0&&r.visitorIndex<i.length){let[s,a]=i[r.visitorIndex];r.visitorIndex+=1,r.visitorIndex===i.length&&(r.visitors=[],r.visitorIndex=0),this.result.lastPlugin=s;try{return a(n.toProxy(),this.helpers)}catch(l){throw this.handleError(l,n)}}if(r.iterator!==0){let s=r.iterator,a;for(;a=n.nodes[n.indexes[s]];)if(n.indexes[s]+=1,!a[It]){a[It]=!0,t.push(fy(a));return}r.iterator=0,delete n.indexes[s]}let o=r.events;for(;r.eventIndex<o.length;){let s=o[r.eventIndex];if(r.eventIndex+=1,s===fn){n.nodes&&n.nodes.length&&(n[It]=!0,r.iterator=n.getIterator());return}else if(this.listeners[s]){r.visitors=this.listeners[s];return}}t.pop()}walkSync(t){t[It]=!0;let r=Ib(t);for(let n of r)if(n===fn)t.nodes&&t.each(i=>{i[It]||this.walkSync(i)});else{let i=this.listeners[n];if(i&&this.visitSync(i,t.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}};hn.registerPostcss=e=>{Iu=e};var Pb=hn;hn.default=hn;B2.registerLazyResult(hn);j2.registerLazyResult(hn);var z2=ab,G2=Bs,q2=wb,K2=pd,Y2=cd,Au=class{constructor(t,r,n){r=r.toString(),this.stringified=!1,this._processor=t,this._css=r,this._opts=n,this._map=void 0;let i,o=G2;this.result=new Y2(this._processor,i,this._opts),this.result.css=r;let s=this;Object.defineProperty(this.result,"root",{get(){return s.root}});let a=new z2(o,i,this._opts,r);if(a.isMap()){let[l,c]=a.generate();l&&(this.result.css=l),c&&(this.result.map=c)}else a.clearAnnotation(),this.result.css=a.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}sync(){if(this.error)throw this.error;return this.result}then(t,r){return process.env.NODE_ENV!=="production"&&("from"in this._opts||q2("Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.")),this.async().then(t,r)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let t,r=K2;try{t=r(this._css,this._opts)}catch(n){this.error=n}if(this.error)throw this.error;return this._root=t,t}get[Symbol.toStringTag](){return"NoWorkResult"}},J2=Au;Au.default=Au;var Z2=J2,X2=Pb,Q2=ld,eN=Pi,vi=class{constructor(t=[]){this.version="8.4.38",this.plugins=this.normalize(t)}normalize(t){let r=[];for(let n of t)if(n.postcss===!0?n=n():n.postcss&&(n=n.postcss),typeof n=="object"&&Array.isArray(n.plugins))r=r.concat(n.plugins);else if(typeof n=="object"&&n.postcssPlugin)r.push(n);else if(typeof n=="function")r.push(n);else if(typeof n=="object"&&(n.parse||n.stringify)){if(process.env.NODE_ENV!=="production")throw new Error("PostCSS syntaxes cannot be used as plugins. Instead, please use one of the syntax/parser/stringifier options as outlined in your PostCSS runner documentation.")}else throw new Error(n+" is not a PostCSS plugin");return r}process(t,r={}){return!this.plugins.length&&!r.parser&&!r.stringifier&&!r.syntax?new Z2(this,t,r):new X2(this,t,r)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}},tN=vi;vi.default=vi;eN.registerProcessor(vi);Q2.registerProcessor(vi);var rN=Ws,nN=rb,iN=zs,oN=ud,sN=Hs,aN=Pi,lN=dd;function xi(e,t){if(Array.isArray(e))return e.map(i=>xi(i));let{inputs:r,...n}=e;if(r){t=[];for(let i of r){let o={...i,__proto__:sN.prototype};o.map&&(o.map={...o.map,__proto__:nN.prototype}),t.push(o)}}if(n.nodes&&(n.nodes=e.nodes.map(i=>xi(i,t))),n.source){let{inputId:i,...o}=n.source;n.source=o,i!=null&&(n.source.input=t[i])}if(n.type==="root")return new aN(n);if(n.type==="decl")return new rN(n);if(n.type==="rule")return new lN(n);if(n.type==="comment")return new iN(n);if(n.type==="atrule")return new oN(n);throw new Error("Unknown node type: "+e.type)}var cN=xi;xi.default=xi;var uN=od,Tb=Ws,dN=Pb,pN=_r,fd=tN,fN=Bs,hN=cN,Ob=ld,mN=Sb,Mb=zs,Nb=ud,gN=cd,yN=Hs,bN=pd,wN=Rb,Lb=dd,$b=Pi,SN=Us;function ne(...e){return e.length===1&&Array.isArray(e[0])&&(e=e[0]),new fd(e)}ne.plugin=function(t,r){let n=!1;function i(...s){console&&console.warn&&!n&&(n=!0,console.warn(t+`: postcss.plugin was deprecated. Migration guide:
143
+ You tried to parse Less with the standard CSS parser; try again with the postcss-less parser`)),i}return n.root}var gd=Ds;Ds.default=Ds;tN.registerParse(Ds);var{isClean:Tt,my:iN}=Oi,oN=fb,sN=zs,aN=Fr,lN=pd,cN=Rb,by=fd,uN=gd,dN=Mi,pN={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},fN={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},hN={Once:!0,postcssPlugin:!0,prepare:!0},mn=0;function hi(e){return typeof e=="object"&&typeof e.then=="function"}function Nb(e){let t=!1,r=pN[e.type];return e.type==="decl"?t=e.prop.toLowerCase():e.type==="atrule"&&(t=e.name.toLowerCase()),t&&e.append?[r,r+"-"+t,mn,r+"Exit",r+"Exit-"+t]:t?[r,r+"-"+t,r+"Exit",r+"Exit-"+t]:e.append?[r,mn,r+"Exit"]:[r,r+"Exit"]}function wy(e){let t;return e.type==="document"?t=["Document",mn,"DocumentExit"]:e.type==="root"?t=["Root",mn,"RootExit"]:t=Nb(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function Tu(e){return e[Tt]=!1,e.nodes&&e.nodes.forEach(t=>Tu(t)),e}var Ou={},gn=class Lb{constructor(t,r,n){this.stringified=!1,this.processed=!1;let i;if(typeof r=="object"&&r!==null&&(r.type==="root"||r.type==="document"))i=Tu(r);else if(r instanceof Lb||r instanceof by)i=Tu(r.root),r.map&&(typeof n.map>"u"&&(n.map={}),n.map.inline||(n.map.inline=!1),n.map.prev=r.map);else{let o=uN;n.syntax&&(o=n.syntax.parse),n.parser&&(o=n.parser),o.parse&&(o=o.parse);try{i=o(r,n)}catch(s){this.processed=!0,this.error=s}i&&!i[iN]&&aN.rebuild(i)}this.result=new by(t,i,n),this.helpers={...Ou,postcss:Ou,result:this.result},this.plugins=this.processor.plugins.map(o=>typeof o=="object"&&o.prepare?{...o,...o.prepare(this.result)}:o)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(t,r){let n=this.result.lastPlugin;try{if(r&&r.addToError(t),this.error=t,t.name==="CssSyntaxError"&&!t.plugin)t.plugin=n.postcssPlugin,t.setMessage();else if(n.postcssVersion&&process.env.NODE_ENV!=="production"){let i=n.postcssPlugin,o=n.postcssVersion,s=this.result.processor.version,a=o.split("."),l=s.split(".");(a[0]!==l[0]||parseInt(a[1])>parseInt(l[1]))&&console.error("Unknown error from PostCSS plugin. Your current PostCSS version is "+s+", but "+i+" uses "+o+". Perhaps this is the source of the error below.")}}catch(i){console&&console.error&&console.error(i)}return t}prepareVisitors(){this.listeners={};let t=(r,n,i)=>{this.listeners[n]||(this.listeners[n]=[]),this.listeners[n].push([r,i])};for(let r of this.plugins)if(typeof r=="object")for(let n in r){if(!fN[n]&&/^[A-Z]/.test(n))throw new Error(`Unknown event ${n} in ${r.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!hN[n])if(typeof r[n]=="object")for(let i in r[n])i==="*"?t(r,n,r[n][i]):t(r,n+"-"+i.toLowerCase(),r[n][i]);else typeof r[n]=="function"&&t(r,n,r[n])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let t=0;t<this.plugins.length;t++){let r=this.plugins[t],n=this.runOnRoot(r);if(hi(n))try{await n}catch(i){throw this.handleError(i)}}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Tt];){t[Tt]=!0;let r=[wy(t)];for(;r.length>0;){let n=this.visitTick(r);if(hi(n))try{await n}catch(i){let o=r[r.length-1].node;throw this.handleError(i,o)}}}if(this.listeners.OnceExit)for(let[r,n]of this.listeners.OnceExit){this.result.lastPlugin=r;try{if(t.type==="document"){let i=t.nodes.map(o=>n(o,this.helpers));await Promise.all(i)}else await n(t,this.helpers)}catch(i){throw this.handleError(i)}}}return this.processed=!0,this.stringify()}runOnRoot(t){this.result.lastPlugin=t;try{if(typeof t=="object"&&t.Once){if(this.result.root.type==="document"){let r=this.result.root.nodes.map(n=>t.Once(n,this.helpers));return hi(r[0])?Promise.all(r):r}return t.Once(this.result.root,this.helpers)}else if(typeof t=="function")return t(this.result.root,this.result)}catch(r){throw this.handleError(r)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let t=this.result.opts,r=sN;t.syntax&&(r=t.syntax.stringify),t.stringifier&&(r=t.stringifier),r.stringify&&(r=r.stringify);let i=new oN(r,this.result.root,this.result.opts).generate();return this.result.css=i[0],this.result.map=i[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let t of this.plugins){let r=this.runOnRoot(t);if(hi(r))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Tt];)t[Tt]=!0,this.walkSync(t);if(this.listeners.OnceExit)if(t.type==="document")for(let r of t.nodes)this.visitSync(this.listeners.OnceExit,r);else this.visitSync(this.listeners.OnceExit,t)}return this.result}then(t,r){return process.env.NODE_ENV!=="production"&&("from"in this.opts||cN("Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.")),this.async().then(t,r)}toString(){return this.css}visitSync(t,r){for(let[n,i]of t){this.result.lastPlugin=n;let o;try{o=i(r,this.helpers)}catch(s){throw this.handleError(s,r.proxyOf)}if(r.type!=="root"&&r.type!=="document"&&!r.parent)return!0;if(hi(o))throw this.getAsyncError()}}visitTick(t){let r=t[t.length-1],{node:n,visitors:i}=r;if(n.type!=="root"&&n.type!=="document"&&!n.parent){t.pop();return}if(i.length>0&&r.visitorIndex<i.length){let[s,a]=i[r.visitorIndex];r.visitorIndex+=1,r.visitorIndex===i.length&&(r.visitors=[],r.visitorIndex=0),this.result.lastPlugin=s;try{return a(n.toProxy(),this.helpers)}catch(l){throw this.handleError(l,n)}}if(r.iterator!==0){let s=r.iterator,a;for(;a=n.nodes[n.indexes[s]];)if(n.indexes[s]+=1,!a[Tt]){a[Tt]=!0,t.push(wy(a));return}r.iterator=0,delete n.indexes[s]}let o=r.events;for(;r.eventIndex<o.length;){let s=o[r.eventIndex];if(r.eventIndex+=1,s===mn){n.nodes&&n.nodes.length&&(n[Tt]=!0,r.iterator=n.getIterator());return}else if(this.listeners[s]){r.visitors=this.listeners[s];return}}t.pop()}walkSync(t){t[Tt]=!0;let r=Nb(t);for(let n of r)if(n===mn)t.nodes&&t.each(i=>{i[Tt]||this.walkSync(i)});else{let i=this.listeners[n];if(i&&this.visitSync(i,t.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}};gn.registerPostcss=e=>{Ou=e};var $b=gn;gn.default=gn;dN.registerLazyResult(gn);lN.registerLazyResult(gn);var mN=fb,gN=zs,yN=Rb,bN=gd,wN=fd,Mu=class{constructor(t,r,n){r=r.toString(),this.stringified=!1,this._processor=t,this._css=r,this._opts=n,this._map=void 0;let i,o=gN;this.result=new wN(this._processor,i,this._opts),this.result.css=r;let s=this;Object.defineProperty(this.result,"root",{get(){return s.root}});let a=new mN(o,i,this._opts,r);if(a.isMap()){let[l,c]=a.generate();l&&(this.result.css=l),c&&(this.result.map=c)}else a.clearAnnotation(),this.result.css=a.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}sync(){if(this.error)throw this.error;return this.result}then(t,r){return process.env.NODE_ENV!=="production"&&("from"in this._opts||yN("Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.")),this.async().then(t,r)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let t,r=bN;try{t=r(this._css,this._opts)}catch(n){this.error=n}if(this.error)throw this.error;return this._root=t,t}get[Symbol.toStringTag](){return"NoWorkResult"}},SN=Mu;Mu.default=Mu;var vN=SN,xN=$b,kN=pd,CN=Mi,Ci=class{constructor(t=[]){this.version="8.4.38",this.plugins=this.normalize(t)}normalize(t){let r=[];for(let n of t)if(n.postcss===!0?n=n():n.postcss&&(n=n.postcss),typeof n=="object"&&Array.isArray(n.plugins))r=r.concat(n.plugins);else if(typeof n=="object"&&n.postcssPlugin)r.push(n);else if(typeof n=="function")r.push(n);else if(typeof n=="object"&&(n.parse||n.stringify)){if(process.env.NODE_ENV!=="production")throw new Error("PostCSS syntaxes cannot be used as plugins. Instead, please use one of the syntax/parser/stringifier options as outlined in your PostCSS runner documentation.")}else throw new Error(n+" is not a PostCSS plugin");return r}process(t,r={}){return!this.plugins.length&&!r.parser&&!r.stringifier&&!r.syntax?new vN(this,t,r):new xN(this,t,r)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}},RN=Ci;Ci.default=Ci;CN.registerProcessor(Ci);kN.registerProcessor(Ci);var EN=qs,IN=lb,AN=Js,PN=hd,TN=Ks,ON=Mi,MN=md;function Ri(e,t){if(Array.isArray(e))return e.map(i=>Ri(i));let{inputs:r,...n}=e;if(r){t=[];for(let i of r){let o={...i,__proto__:TN.prototype};o.map&&(o.map={...o.map,__proto__:IN.prototype}),t.push(o)}}if(n.nodes&&(n.nodes=e.nodes.map(i=>Ri(i,t))),n.source){let{inputId:i,...o}=n.source;n.source=o,i!=null&&(n.source.input=t[i])}if(n.type==="root")return new ON(n);if(n.type==="decl")return new EN(n);if(n.type==="rule")return new MN(n);if(n.type==="comment")return new AN(n);if(n.type==="atrule")return new PN(n);throw new Error("Unknown node type: "+e.type)}var NN=Ri;Ri.default=Ri;var LN=cd,Db=qs,$N=$b,DN=Fr,yd=RN,_N=zs,jN=NN,_b=pd,FN=Eb,jb=Js,Fb=hd,BN=fd,VN=Ks,UN=gd,WN=Ob,Bb=md,Vb=Mi,HN=Gs;function ne(...e){return e.length===1&&Array.isArray(e[0])&&(e=e[0]),new yd(e)}ne.plugin=function(t,r){let n=!1;function i(...s){console&&console.warn&&!n&&(n=!0,console.warn(t+`: postcss.plugin was deprecated. Migration guide:
144
144
  https://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(t+`: \u91CC\u9762 postcss.plugin \u88AB\u5F03\u7528. \u8FC1\u79FB\u6307\u5357:
145
- https://www.w3ctech.com/topic/2226`));let a=r(...s);return a.postcssPlugin=t,a.postcssVersion=new fd().version,a}let o;return Object.defineProperty(i,"postcss",{get(){return o||(o=i()),o}}),i.process=function(s,a,l){return ne([i(l)]).process(s,a)},i};ne.stringify=fN;ne.parse=bN;ne.fromJSON=hN;ne.list=wN;ne.comment=e=>new Mb(e);ne.atRule=e=>new Nb(e);ne.decl=e=>new Tb(e);ne.rule=e=>new Lb(e);ne.root=e=>new $b(e);ne.document=e=>new Ob(e);ne.CssSyntaxError=uN;ne.Declaration=Tb;ne.Container=pN;ne.Processor=fd;ne.Document=Ob;ne.Comment=Mb;ne.Warning=mN;ne.AtRule=Nb;ne.Result=gN;ne.Input=yN;ne.Rule=Lb;ne.Root=$b;ne.Node=SN;dN.registerPostcss(ne);var vN=ne;ne.default=ne;var we=OM(vN);we.stringify;we.fromJSON;we.plugin;we.parse;we.list;we.document;we.comment;we.atRule;we.rule;we.decl;we.root;we.CssSyntaxError;we.Declaration;we.Container;we.Processor;we.Document;we.Comment;we.Warning;we.AtRule;we.Result;we.Input;we.Rule;we.Root;we.Node;var xN=Object.defineProperty,kN=(e,t,r)=>t in e?xN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ct=(e,t,r)=>kN(e,typeof t!="symbol"?t+"":t,r);function CN(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function RN(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}),r}var hd={exports:{}},ye=String,Db=function(){return{isColorSupported:!1,reset:ye,bold:ye,dim:ye,italic:ye,underline:ye,inverse:ye,hidden:ye,strikethrough:ye,black:ye,red:ye,green:ye,yellow:ye,blue:ye,magenta:ye,cyan:ye,white:ye,gray:ye,bgBlack:ye,bgRed:ye,bgGreen:ye,bgYellow:ye,bgBlue:ye,bgMagenta:ye,bgCyan:ye,bgWhite:ye}};hd.exports=Db();hd.exports.createColors=Db;var EN=hd.exports,IN={},AN=Object.freeze(Object.defineProperty({__proto__:null,default:IN},Symbol.toStringTag,{value:"Module"})),bt=RN(AN),hy=EN,my=bt,Pu=class _b extends Error{constructor(t,r,n,i,o,s){super(t),this.name="CssSyntaxError",this.reason=t,o&&(this.file=o),i&&(this.source=i),s&&(this.plugin=s),typeof r<"u"&&typeof n<"u"&&(typeof r=="number"?(this.line=r,this.column=n):(this.line=r.line,this.column=r.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,_b)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(t){if(!this.source)return"";let r=this.source;t==null&&(t=hy.isColorSupported),my&&t&&(r=my(r));let n=r.split(/\r?\n/),i=Math.max(this.line-3,0),o=Math.min(this.line+2,n.length),s=String(o).length,a,l;if(t){let{bold:c,gray:u,red:d}=hy.createColors(!0);a=p=>c(d(p)),l=p=>u(p)}else a=l=c=>c;return n.slice(i,o).map((c,u)=>{let d=i+1+u,p=" "+(" "+d).slice(-s)+" | ";if(d===this.line){let h=l(p.replace(/\d/g," "))+c.slice(0,this.column-1).replace(/[^\t]/g," ");return a(">")+l(p)+c+`
145
+ https://www.w3ctech.com/topic/2226`));let a=r(...s);return a.postcssPlugin=t,a.postcssVersion=new yd().version,a}let o;return Object.defineProperty(i,"postcss",{get(){return o||(o=i()),o}}),i.process=function(s,a,l){return ne([i(l)]).process(s,a)},i};ne.stringify=_N;ne.parse=UN;ne.fromJSON=jN;ne.list=WN;ne.comment=e=>new jb(e);ne.atRule=e=>new Fb(e);ne.decl=e=>new Db(e);ne.rule=e=>new Bb(e);ne.root=e=>new Vb(e);ne.document=e=>new _b(e);ne.CssSyntaxError=LN;ne.Declaration=Db;ne.Container=DN;ne.Processor=yd;ne.Document=_b;ne.Comment=jb;ne.Warning=FN;ne.AtRule=Fb;ne.Result=BN;ne.Input=VN;ne.Rule=Bb;ne.Root=Vb;ne.Node=HN;$N.registerPostcss(ne);var zN=ne;ne.default=ne;var Se=t2(zN);Se.stringify;Se.fromJSON;Se.plugin;Se.parse;Se.list;Se.document;Se.comment;Se.atRule;Se.rule;Se.decl;Se.root;Se.CssSyntaxError;Se.Declaration;Se.Container;Se.Processor;Se.Document;Se.Comment;Se.Warning;Se.AtRule;Se.Result;Se.Input;Se.Rule;Se.Root;Se.Node;var GN=Object.defineProperty,qN=(e,t,r)=>t in e?GN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,dt=(e,t,r)=>qN(e,typeof t!="symbol"?t+"":t,r);function KN(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function JN(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}),r}var bd={exports:{}},be=String,Ub=function(){return{isColorSupported:!1,reset:be,bold:be,dim:be,italic:be,underline:be,inverse:be,hidden:be,strikethrough:be,black:be,red:be,green:be,yellow:be,blue:be,magenta:be,cyan:be,white:be,gray:be,bgBlack:be,bgRed:be,bgGreen:be,bgYellow:be,bgBlue:be,bgMagenta:be,bgCyan:be,bgWhite:be}};bd.exports=Ub();bd.exports.createColors=Ub;var YN=bd.exports,ZN={},XN=Object.freeze(Object.defineProperty({__proto__:null,default:ZN},Symbol.toStringTag,{value:"Module"})),St=JN(XN),Sy=YN,vy=St,Nu=class Wb extends Error{constructor(t,r,n,i,o,s){super(t),this.name="CssSyntaxError",this.reason=t,o&&(this.file=o),i&&(this.source=i),s&&(this.plugin=s),typeof r<"u"&&typeof n<"u"&&(typeof r=="number"?(this.line=r,this.column=n):(this.line=r.line,this.column=r.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,Wb)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(t){if(!this.source)return"";let r=this.source;t==null&&(t=Sy.isColorSupported),vy&&t&&(r=vy(r));let n=r.split(/\r?\n/),i=Math.max(this.line-3,0),o=Math.min(this.line+2,n.length),s=String(o).length,a,l;if(t){let{bold:c,gray:u,red:d}=Sy.createColors(!0);a=p=>c(d(p)),l=p=>u(p)}else a=l=c=>c;return n.slice(i,o).map((c,u)=>{let d=i+1+u,p=" "+(" "+d).slice(-s)+" | ";if(d===this.line){let h=l(p.replace(/\d/g," "))+c.slice(0,this.column-1).replace(/[^\t]/g," ");return a(">")+l(p)+c+`
146
146
  `+h+a("^")}return" "+l(p)+c}).join(`
147
147
  `)}toString(){let t=this.showSourceCode();return t&&(t=`
148
148
 
149
149
  `+t+`
150
- `),this.name+": "+this.message+t}},md=Pu;Pu.default=Pu;var Ti={};Ti.isClean=Symbol("isClean");Ti.my=Symbol("my");var gy={after:`
150
+ `),this.name+": "+this.message+t}},wd=Nu;Nu.default=Nu;var Ni={};Ni.isClean=Symbol("isClean");Ni.my=Symbol("my");var xy={after:`
151
151
  `,beforeClose:`
152
152
  `,beforeComment:`
153
153
  `,beforeDecl:`
154
154
  `,beforeOpen:" ",beforeRule:`
155
- `,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function PN(e){return e[0].toUpperCase()+e.slice(1)}var Tu=class{constructor(t){this.builder=t}atrule(t,r){let n="@"+t.name,i=t.params?this.rawValue(t,"params"):"";if(typeof t.raws.afterName<"u"?n+=t.raws.afterName:i&&(n+=" "),t.nodes)this.block(t,n+i);else{let o=(t.raws.between||"")+(r?";":"");this.builder(n+i+o,t)}}beforeAfter(t,r){let n;t.type==="decl"?n=this.raw(t,null,"beforeDecl"):t.type==="comment"?n=this.raw(t,null,"beforeComment"):r==="before"?n=this.raw(t,null,"beforeRule"):n=this.raw(t,null,"beforeClose");let i=t.parent,o=0;for(;i&&i.type!=="root";)o+=1,i=i.parent;if(n.includes(`
156
- `)){let s=this.raw(t,null,"indent");if(s.length)for(let a=0;a<o;a++)n+=s}return n}block(t,r){let n=this.raw(t,"between","beforeOpen");this.builder(r+n+"{",t,"start");let i;t.nodes&&t.nodes.length?(this.body(t),i=this.raw(t,"after")):i=this.raw(t,"after","emptyBody"),i&&this.builder(i),this.builder("}",t,"end")}body(t){let r=t.nodes.length-1;for(;r>0&&t.nodes[r].type==="comment";)r-=1;let n=this.raw(t,"semicolon");for(let i=0;i<t.nodes.length;i++){let o=t.nodes[i],s=this.raw(o,"before");s&&this.builder(s),this.stringify(o,r!==i||n)}}comment(t){let r=this.raw(t,"left","commentLeft"),n=this.raw(t,"right","commentRight");this.builder("/*"+r+t.text+n+"*/",t)}decl(t,r){let n=this.raw(t,"between","colon"),i=t.prop+n+this.rawValue(t,"value");t.important&&(i+=t.raws.important||" !important"),r&&(i+=";"),this.builder(i,t)}document(t){this.body(t)}raw(t,r,n){let i;if(n||(n=r),r&&(i=t.raws[r],typeof i<"u"))return i;let o=t.parent;if(n==="before"&&(!o||o.type==="root"&&o.first===t||o&&o.type==="document"))return"";if(!o)return gy[n];let s=t.root();if(s.rawCache||(s.rawCache={}),typeof s.rawCache[n]<"u")return s.rawCache[n];if(n==="before"||n==="after")return this.beforeAfter(t,n);{let a="raw"+PN(n);this[a]?i=this[a](s,t):s.walk(l=>{if(i=l.raws[r],typeof i<"u")return!1})}return typeof i>"u"&&(i=gy[n]),s.rawCache[n]=i,i}rawBeforeClose(t){let r;return t.walk(n=>{if(n.nodes&&n.nodes.length>0&&typeof n.raws.after<"u")return r=n.raws.after,r.includes(`
155
+ `,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function QN(e){return e[0].toUpperCase()+e.slice(1)}var Lu=class{constructor(t){this.builder=t}atrule(t,r){let n="@"+t.name,i=t.params?this.rawValue(t,"params"):"";if(typeof t.raws.afterName<"u"?n+=t.raws.afterName:i&&(n+=" "),t.nodes)this.block(t,n+i);else{let o=(t.raws.between||"")+(r?";":"");this.builder(n+i+o,t)}}beforeAfter(t,r){let n;t.type==="decl"?n=this.raw(t,null,"beforeDecl"):t.type==="comment"?n=this.raw(t,null,"beforeComment"):r==="before"?n=this.raw(t,null,"beforeRule"):n=this.raw(t,null,"beforeClose");let i=t.parent,o=0;for(;i&&i.type!=="root";)o+=1,i=i.parent;if(n.includes(`
156
+ `)){let s=this.raw(t,null,"indent");if(s.length)for(let a=0;a<o;a++)n+=s}return n}block(t,r){let n=this.raw(t,"between","beforeOpen");this.builder(r+n+"{",t,"start");let i;t.nodes&&t.nodes.length?(this.body(t),i=this.raw(t,"after")):i=this.raw(t,"after","emptyBody"),i&&this.builder(i),this.builder("}",t,"end")}body(t){let r=t.nodes.length-1;for(;r>0&&t.nodes[r].type==="comment";)r-=1;let n=this.raw(t,"semicolon");for(let i=0;i<t.nodes.length;i++){let o=t.nodes[i],s=this.raw(o,"before");s&&this.builder(s),this.stringify(o,r!==i||n)}}comment(t){let r=this.raw(t,"left","commentLeft"),n=this.raw(t,"right","commentRight");this.builder("/*"+r+t.text+n+"*/",t)}decl(t,r){let n=this.raw(t,"between","colon"),i=t.prop+n+this.rawValue(t,"value");t.important&&(i+=t.raws.important||" !important"),r&&(i+=";"),this.builder(i,t)}document(t){this.body(t)}raw(t,r,n){let i;if(n||(n=r),r&&(i=t.raws[r],typeof i<"u"))return i;let o=t.parent;if(n==="before"&&(!o||o.type==="root"&&o.first===t||o&&o.type==="document"))return"";if(!o)return xy[n];let s=t.root();if(s.rawCache||(s.rawCache={}),typeof s.rawCache[n]<"u")return s.rawCache[n];if(n==="before"||n==="after")return this.beforeAfter(t,n);{let a="raw"+QN(n);this[a]?i=this[a](s,t):s.walk(l=>{if(i=l.raws[r],typeof i<"u")return!1})}return typeof i>"u"&&(i=xy[n]),s.rawCache[n]=i,i}rawBeforeClose(t){let r;return t.walk(n=>{if(n.nodes&&n.nodes.length>0&&typeof n.raws.after<"u")return r=n.raws.after,r.includes(`
157
157
  `)&&(r=r.replace(/[^\n]+$/,"")),!1}),r&&(r=r.replace(/\S/g,"")),r}rawBeforeComment(t,r){let n;return t.walkComments(i=>{if(typeof i.raws.before<"u")return n=i.raws.before,n.includes(`
158
158
  `)&&(n=n.replace(/[^\n]+$/,"")),!1}),typeof n>"u"?n=this.raw(r,null,"beforeDecl"):n&&(n=n.replace(/\S/g,"")),n}rawBeforeDecl(t,r){let n;return t.walkDecls(i=>{if(typeof i.raws.before<"u")return n=i.raws.before,n.includes(`
159
159
  `)&&(n=n.replace(/[^\n]+$/,"")),!1}),typeof n>"u"?n=this.raw(r,null,"beforeRule"):n&&(n=n.replace(/\S/g,"")),n}rawBeforeOpen(t){let r;return t.walk(n=>{if(n.type!=="decl"&&(r=n.raws.between,typeof r<"u"))return!1}),r}rawBeforeRule(t){let r;return t.walk(n=>{if(n.nodes&&(n.parent!==t||t.first!==n)&&typeof n.raws.before<"u")return r=n.raws.before,r.includes(`
160
160
  `)&&(r=r.replace(/[^\n]+$/,"")),!1}),r&&(r=r.replace(/\S/g,"")),r}rawColon(t){let r;return t.walkDecls(n=>{if(typeof n.raws.between<"u")return r=n.raws.between.replace(/[^\s:]/g,""),!1}),r}rawEmptyBody(t){let r;return t.walk(n=>{if(n.nodes&&n.nodes.length===0&&(r=n.raws.after,typeof r<"u"))return!1}),r}rawIndent(t){if(t.raws.indent)return t.raws.indent;let r;return t.walk(n=>{let i=n.parent;if(i&&i!==t&&i.parent&&i.parent===t&&typeof n.raws.before<"u"){let o=n.raws.before.split(`
161
- `);return r=o[o.length-1],r=r.replace(/\S/g,""),!1}}),r}rawSemicolon(t){let r;return t.walk(n=>{if(n.nodes&&n.nodes.length&&n.last.type==="decl"&&(r=n.raws.semicolon,typeof r<"u"))return!1}),r}rawValue(t,r){let n=t[r],i=t.raws[r];return i&&i.value===n?i.raw:n}root(t){this.body(t),t.raws.after&&this.builder(t.raws.after)}rule(t){this.block(t,this.rawValue(t,"selector")),t.raws.ownSemicolon&&this.builder(t.raws.ownSemicolon,t,"end")}stringify(t,r){if(!this[t.type])throw new Error("Unknown AST node type "+t.type+". Maybe you need to change PostCSS stringifier.");this[t.type](t,r)}},jb=Tu;Tu.default=Tu;var TN=jb;function Ou(e,t){new TN(t).stringify(e)}var Gs=Ou;Ou.default=Ou;var{isClean:ss,my:ON}=Ti,MN=md,NN=jb,LN=Gs;function Mu(e,t){let r=new e.constructor;for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n)||n==="proxyCache")continue;let i=e[n],o=typeof i;n==="parent"&&o==="object"?t&&(r[n]=t):n==="source"?r[n]=i:Array.isArray(i)?r[n]=i.map(s=>Mu(s,r)):(o==="object"&&i!==null&&(i=Mu(i)),r[n]=i)}return r}var Nu=class{constructor(t={}){this.raws={},this[ss]=!1,this[ON]=!0;for(let r in t)if(r==="nodes"){this.nodes=[];for(let n of t[r])typeof n.clone=="function"?this.append(n.clone()):this.append(n)}else this[r]=t[r]}addToError(t){if(t.postcssNode=this,t.stack&&this.source&&/\n\s{4}at /.test(t.stack)){let r=this.source;t.stack=t.stack.replace(/\n\s{4}at /,`$&${r.input.from}:${r.start.line}:${r.start.column}$&`)}return t}after(t){return this.parent.insertAfter(this,t),this}assign(t={}){for(let r in t)this[r]=t[r];return this}before(t){return this.parent.insertBefore(this,t),this}cleanRaws(t){delete this.raws.before,delete this.raws.after,t||delete this.raws.between}clone(t={}){let r=Mu(this);for(let n in t)r[n]=t[n];return r}cloneAfter(t={}){let r=this.clone(t);return this.parent.insertAfter(this,r),r}cloneBefore(t={}){let r=this.clone(t);return this.parent.insertBefore(this,r),r}error(t,r={}){if(this.source){let{end:n,start:i}=this.rangeBy(r);return this.source.input.error(t,{column:i.column,line:i.line},{column:n.column,line:n.line},r)}return new MN(t)}getProxyProcessor(){return{get(t,r){return r==="proxyOf"?t:r==="root"?()=>t.root().toProxy():t[r]},set(t,r,n){return t[r]===n||(t[r]=n,(r==="prop"||r==="value"||r==="name"||r==="params"||r==="important"||r==="text")&&t.markDirty()),!0}}}markDirty(){if(this[ss]){this[ss]=!1;let t=this;for(;t=t.parent;)t[ss]=!1}}next(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t+1]}positionBy(t,r){let n=this.source.start;if(t.index)n=this.positionInside(t.index,r);else if(t.word){r=this.toString();let i=r.indexOf(t.word);i!==-1&&(n=this.positionInside(i,r))}return n}positionInside(t,r){let n=r||this.toString(),i=this.source.start.column,o=this.source.start.line;for(let s=0;s<t;s++)n[s]===`
162
- `?(i=1,o+=1):i+=1;return{column:i,line:o}}prev(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t-1]}rangeBy(t){let r={column:this.source.start.column,line:this.source.start.line},n=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:r.column+1,line:r.line};if(t.word){let i=this.toString(),o=i.indexOf(t.word);o!==-1&&(r=this.positionInside(o,i),n=this.positionInside(o+t.word.length,i))}else t.start?r={column:t.start.column,line:t.start.line}:t.index&&(r=this.positionInside(t.index)),t.end?n={column:t.end.column,line:t.end.line}:typeof t.endIndex=="number"?n=this.positionInside(t.endIndex):t.index&&(n=this.positionInside(t.index+1));return(n.line<r.line||n.line===r.line&&n.column<=r.column)&&(n={column:r.column+1,line:r.line}),{end:n,start:r}}raw(t,r){return new NN().raw(this,t,r)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...t){if(this.parent){let r=this,n=!1;for(let i of t)i===this?n=!0:n?(this.parent.insertAfter(r,i),r=i):this.parent.insertBefore(r,i);n||this.remove()}return this}root(){let t=this;for(;t.parent&&t.parent.type!=="document";)t=t.parent;return t}toJSON(t,r){let n={},i=r==null;r=r||new Map;let o=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let a=this[s];if(Array.isArray(a))n[s]=a.map(l=>typeof l=="object"&&l.toJSON?l.toJSON(null,r):l);else if(typeof a=="object"&&a.toJSON)n[s]=a.toJSON(null,r);else if(s==="source"){let l=r.get(a.input);l==null&&(l=o,r.set(a.input,o),o++),n[s]={end:a.end,inputId:l,start:a.start}}else n[s]=a}return i&&(n.inputs=[...r.keys()].map(s=>s.toJSON())),n}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(t=LN){t.stringify&&(t=t.stringify);let r="";return t(this,n=>{r+=n}),r}warn(t,r,n){let i={node:this};for(let o in n)i[o]=n[o];return t.warn(r,i)}get proxyOf(){return this}},qs=Nu;Nu.default=Nu;var $N=qs,Lu=class extends $N{constructor(t){t&&typeof t.value<"u"&&typeof t.value!="string"&&(t={...t,value:String(t.value)}),super(t),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}},Ks=Lu;Lu.default=Lu;var DN="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",_N=(e,t=21)=>(r=t)=>{let n="",i=r;for(;i--;)n+=e[Math.random()*e.length|0];return n},jN=(e=21)=>{let t="",r=e;for(;r--;)t+=DN[Math.random()*64|0];return t},FN={nanoid:jN,customAlphabet:_N},{SourceMapConsumer:yy,SourceMapGenerator:by}=bt,{existsSync:VN,readFileSync:BN}=bt,{dirname:ou,join:UN}=bt;function WN(e){return Buffer?Buffer.from(e,"base64").toString():window.atob(e)}var $u=class{constructor(t,r){if(r.map===!1)return;this.loadAnnotation(t),this.inline=this.startWith(this.annotation,"data:");let n=r.map?r.map.prev:void 0,i=this.loadMap(r.from,n);!this.mapFile&&r.from&&(this.mapFile=r.from),this.mapFile&&(this.root=ou(this.mapFile)),i&&(this.text=i)}consumer(){return this.consumerCache||(this.consumerCache=new yy(this.text)),this.consumerCache}decodeInline(t){let r=/^data:application\/json;charset=utf-?8;base64,/,n=/^data:application\/json;base64,/,i=/^data:application\/json;charset=utf-?8,/,o=/^data:application\/json,/;if(i.test(t)||o.test(t))return decodeURIComponent(t.substr(RegExp.lastMatch.length));if(r.test(t)||n.test(t))return WN(t.substr(RegExp.lastMatch.length));let s=t.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+s)}getAnnotationURL(t){return t.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(t){return typeof t!="object"?!1:typeof t.mappings=="string"||typeof t._mappings=="string"||Array.isArray(t.sections)}loadAnnotation(t){let r=t.match(/\/\*\s*# sourceMappingURL=/gm);if(!r)return;let n=t.lastIndexOf(r.pop()),i=t.indexOf("*/",n);n>-1&&i>-1&&(this.annotation=this.getAnnotationURL(t.substring(n,i)))}loadFile(t){if(this.root=ou(t),VN(t))return this.mapFile=t,BN(t,"utf-8").toString().trim()}loadMap(t,r){if(r===!1)return!1;if(r){if(typeof r=="string")return r;if(typeof r=="function"){let n=r(t);if(n){let i=this.loadFile(n);if(!i)throw new Error("Unable to load previous source map: "+n.toString());return i}}else{if(r instanceof yy)return by.fromSourceMap(r).toString();if(r instanceof by)return r.toString();if(this.isMap(r))return JSON.stringify(r);throw new Error("Unsupported previous source map format: "+r.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let n=this.annotation;return t&&(n=UN(ou(t),n)),this.loadFile(n)}}}startWith(t,r){return t?t.substr(0,r.length)===r:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}},Fb=$u;$u.default=$u;var{SourceMapConsumer:HN,SourceMapGenerator:zN}=bt,{fileURLToPath:wy,pathToFileURL:as}=bt,{isAbsolute:Du,resolve:_u}=bt,{nanoid:GN}=FN,su=bt,Sy=md,qN=Fb,au=Symbol("fromOffsetCache"),KN=!!(HN&&zN),vy=!!(_u&&Du),Ns=class{constructor(t,r={}){if(t===null||typeof t>"u"||typeof t=="object"&&!t.toString)throw new Error(`PostCSS received ${t} instead of CSS string`);if(this.css=t.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,r.from&&(!vy||/^\w+:\/\//.test(r.from)||Du(r.from)?this.file=r.from:this.file=_u(r.from)),vy&&KN){let n=new qN(this.css,r);if(n.text){this.map=n;let i=n.consumer().file;!this.file&&i&&(this.file=this.mapResolve(i))}}this.file||(this.id="<input css "+GN(6)+">"),this.map&&(this.map.file=this.from)}error(t,r,n,i={}){let o,s,a;if(r&&typeof r=="object"){let c=r,u=n;if(typeof c.offset=="number"){let d=this.fromOffset(c.offset);r=d.line,n=d.col}else r=c.line,n=c.column;if(typeof u.offset=="number"){let d=this.fromOffset(u.offset);s=d.line,a=d.col}else s=u.line,a=u.column}else if(!n){let c=this.fromOffset(r);r=c.line,n=c.col}let l=this.origin(r,n,s,a);return l?o=new Sy(t,l.endLine===void 0?l.line:{column:l.column,line:l.line},l.endLine===void 0?l.column:{column:l.endColumn,line:l.endLine},l.source,l.file,i.plugin):o=new Sy(t,s===void 0?r:{column:n,line:r},s===void 0?n:{column:a,line:s},this.css,this.file,i.plugin),o.input={column:n,endColumn:a,endLine:s,line:r,source:this.css},this.file&&(as&&(o.input.url=as(this.file).toString()),o.input.file=this.file),o}fromOffset(t){let r,n;if(this[au])n=this[au];else{let o=this.css.split(`
163
- `);n=new Array(o.length);let s=0;for(let a=0,l=o.length;a<l;a++)n[a]=s,s+=o[a].length+1;this[au]=n}r=n[n.length-1];let i=0;if(t>=r)i=n.length-1;else{let o=n.length-2,s;for(;i<o;)if(s=i+(o-i>>1),t<n[s])o=s-1;else if(t>=n[s+1])i=s+1;else{i=s;break}}return{col:t-n[i]+1,line:i+1}}mapResolve(t){return/^\w+:\/\//.test(t)?t:_u(this.map.consumer().sourceRoot||this.map.root||".",t)}origin(t,r,n,i){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:r,line:t});if(!s.source)return!1;let a;typeof n=="number"&&(a=o.originalPositionFor({column:i,line:n}));let l;Du(s.source)?l=as(s.source):l=new URL(s.source,this.map.consumer().sourceRoot||as(this.map.mapFile));let c={column:s.column,endColumn:a&&a.column,endLine:a&&a.line,line:s.line,url:l.toString()};if(l.protocol==="file:")if(wy)c.file=wy(l);else throw new Error("file: protocol is not available in this PostCSS build");let u=o.sourceContentFor(s.source);return u&&(c.source=u),c}toJSON(){let t={};for(let r of["hasBOM","css","file","id"])this[r]!=null&&(t[r]=this[r]);return this.map&&(t.map={...this.map},t.map.consumerCache&&(t.map.consumerCache=void 0)),t}get from(){return this.file||this.id}},Ys=Ns;Ns.default=Ns;su&&su.registerInput&&su.registerInput(Ns);var{SourceMapConsumer:Vb,SourceMapGenerator:Ss}=bt,{dirname:vs,relative:Bb,resolve:Ub,sep:Wb}=bt,{pathToFileURL:xy}=bt,YN=Ys,JN=!!(Vb&&Ss),ZN=!!(vs&&Ub&&Bb&&Wb),XN=class{constructor(t,r,n,i){this.stringify=t,this.mapOpts=n.map||{},this.root=r,this.opts=n,this.css=i,this.originalCSS=i,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let t;this.isInline()?t="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?t=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?t=this.mapOpts.annotation(this.opts.to,this.root):t=this.outputFile()+".map";let r=`
161
+ `);return r=o[o.length-1],r=r.replace(/\S/g,""),!1}}),r}rawSemicolon(t){let r;return t.walk(n=>{if(n.nodes&&n.nodes.length&&n.last.type==="decl"&&(r=n.raws.semicolon,typeof r<"u"))return!1}),r}rawValue(t,r){let n=t[r],i=t.raws[r];return i&&i.value===n?i.raw:n}root(t){this.body(t),t.raws.after&&this.builder(t.raws.after)}rule(t){this.block(t,this.rawValue(t,"selector")),t.raws.ownSemicolon&&this.builder(t.raws.ownSemicolon,t,"end")}stringify(t,r){if(!this[t.type])throw new Error("Unknown AST node type "+t.type+". Maybe you need to change PostCSS stringifier.");this[t.type](t,r)}},Hb=Lu;Lu.default=Lu;var eL=Hb;function $u(e,t){new eL(t).stringify(e)}var Ys=$u;$u.default=$u;var{isClean:us,my:tL}=Ni,rL=wd,nL=Hb,iL=Ys;function Du(e,t){let r=new e.constructor;for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n)||n==="proxyCache")continue;let i=e[n],o=typeof i;n==="parent"&&o==="object"?t&&(r[n]=t):n==="source"?r[n]=i:Array.isArray(i)?r[n]=i.map(s=>Du(s,r)):(o==="object"&&i!==null&&(i=Du(i)),r[n]=i)}return r}var _u=class{constructor(t={}){this.raws={},this[us]=!1,this[tL]=!0;for(let r in t)if(r==="nodes"){this.nodes=[];for(let n of t[r])typeof n.clone=="function"?this.append(n.clone()):this.append(n)}else this[r]=t[r]}addToError(t){if(t.postcssNode=this,t.stack&&this.source&&/\n\s{4}at /.test(t.stack)){let r=this.source;t.stack=t.stack.replace(/\n\s{4}at /,`$&${r.input.from}:${r.start.line}:${r.start.column}$&`)}return t}after(t){return this.parent.insertAfter(this,t),this}assign(t={}){for(let r in t)this[r]=t[r];return this}before(t){return this.parent.insertBefore(this,t),this}cleanRaws(t){delete this.raws.before,delete this.raws.after,t||delete this.raws.between}clone(t={}){let r=Du(this);for(let n in t)r[n]=t[n];return r}cloneAfter(t={}){let r=this.clone(t);return this.parent.insertAfter(this,r),r}cloneBefore(t={}){let r=this.clone(t);return this.parent.insertBefore(this,r),r}error(t,r={}){if(this.source){let{end:n,start:i}=this.rangeBy(r);return this.source.input.error(t,{column:i.column,line:i.line},{column:n.column,line:n.line},r)}return new rL(t)}getProxyProcessor(){return{get(t,r){return r==="proxyOf"?t:r==="root"?()=>t.root().toProxy():t[r]},set(t,r,n){return t[r]===n||(t[r]=n,(r==="prop"||r==="value"||r==="name"||r==="params"||r==="important"||r==="text")&&t.markDirty()),!0}}}markDirty(){if(this[us]){this[us]=!1;let t=this;for(;t=t.parent;)t[us]=!1}}next(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t+1]}positionBy(t,r){let n=this.source.start;if(t.index)n=this.positionInside(t.index,r);else if(t.word){r=this.toString();let i=r.indexOf(t.word);i!==-1&&(n=this.positionInside(i,r))}return n}positionInside(t,r){let n=r||this.toString(),i=this.source.start.column,o=this.source.start.line;for(let s=0;s<t;s++)n[s]===`
162
+ `?(i=1,o+=1):i+=1;return{column:i,line:o}}prev(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t-1]}rangeBy(t){let r={column:this.source.start.column,line:this.source.start.line},n=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:r.column+1,line:r.line};if(t.word){let i=this.toString(),o=i.indexOf(t.word);o!==-1&&(r=this.positionInside(o,i),n=this.positionInside(o+t.word.length,i))}else t.start?r={column:t.start.column,line:t.start.line}:t.index&&(r=this.positionInside(t.index)),t.end?n={column:t.end.column,line:t.end.line}:typeof t.endIndex=="number"?n=this.positionInside(t.endIndex):t.index&&(n=this.positionInside(t.index+1));return(n.line<r.line||n.line===r.line&&n.column<=r.column)&&(n={column:r.column+1,line:r.line}),{end:n,start:r}}raw(t,r){return new nL().raw(this,t,r)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...t){if(this.parent){let r=this,n=!1;for(let i of t)i===this?n=!0:n?(this.parent.insertAfter(r,i),r=i):this.parent.insertBefore(r,i);n||this.remove()}return this}root(){let t=this;for(;t.parent&&t.parent.type!=="document";)t=t.parent;return t}toJSON(t,r){let n={},i=r==null;r=r||new Map;let o=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let a=this[s];if(Array.isArray(a))n[s]=a.map(l=>typeof l=="object"&&l.toJSON?l.toJSON(null,r):l);else if(typeof a=="object"&&a.toJSON)n[s]=a.toJSON(null,r);else if(s==="source"){let l=r.get(a.input);l==null&&(l=o,r.set(a.input,o),o++),n[s]={end:a.end,inputId:l,start:a.start}}else n[s]=a}return i&&(n.inputs=[...r.keys()].map(s=>s.toJSON())),n}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(t=iL){t.stringify&&(t=t.stringify);let r="";return t(this,n=>{r+=n}),r}warn(t,r,n){let i={node:this};for(let o in n)i[o]=n[o];return t.warn(r,i)}get proxyOf(){return this}},Zs=_u;_u.default=_u;var oL=Zs,ju=class extends oL{constructor(t){t&&typeof t.value<"u"&&typeof t.value!="string"&&(t={...t,value:String(t.value)}),super(t),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}},Xs=ju;ju.default=ju;var sL="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",aL=(e,t=21)=>(r=t)=>{let n="",i=r;for(;i--;)n+=e[Math.random()*e.length|0];return n},lL=(e=21)=>{let t="",r=e;for(;r--;)t+=sL[Math.random()*64|0];return t},cL={nanoid:lL,customAlphabet:aL},{SourceMapConsumer:ky,SourceMapGenerator:Cy}=St,{existsSync:uL,readFileSync:dL}=St,{dirname:cu,join:pL}=St;function fL(e){return Buffer?Buffer.from(e,"base64").toString():window.atob(e)}var Fu=class{constructor(t,r){if(r.map===!1)return;this.loadAnnotation(t),this.inline=this.startWith(this.annotation,"data:");let n=r.map?r.map.prev:void 0,i=this.loadMap(r.from,n);!this.mapFile&&r.from&&(this.mapFile=r.from),this.mapFile&&(this.root=cu(this.mapFile)),i&&(this.text=i)}consumer(){return this.consumerCache||(this.consumerCache=new ky(this.text)),this.consumerCache}decodeInline(t){let r=/^data:application\/json;charset=utf-?8;base64,/,n=/^data:application\/json;base64,/,i=/^data:application\/json;charset=utf-?8,/,o=/^data:application\/json,/;if(i.test(t)||o.test(t))return decodeURIComponent(t.substr(RegExp.lastMatch.length));if(r.test(t)||n.test(t))return fL(t.substr(RegExp.lastMatch.length));let s=t.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+s)}getAnnotationURL(t){return t.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(t){return typeof t!="object"?!1:typeof t.mappings=="string"||typeof t._mappings=="string"||Array.isArray(t.sections)}loadAnnotation(t){let r=t.match(/\/\*\s*# sourceMappingURL=/gm);if(!r)return;let n=t.lastIndexOf(r.pop()),i=t.indexOf("*/",n);n>-1&&i>-1&&(this.annotation=this.getAnnotationURL(t.substring(n,i)))}loadFile(t){if(this.root=cu(t),uL(t))return this.mapFile=t,dL(t,"utf-8").toString().trim()}loadMap(t,r){if(r===!1)return!1;if(r){if(typeof r=="string")return r;if(typeof r=="function"){let n=r(t);if(n){let i=this.loadFile(n);if(!i)throw new Error("Unable to load previous source map: "+n.toString());return i}}else{if(r instanceof ky)return Cy.fromSourceMap(r).toString();if(r instanceof Cy)return r.toString();if(this.isMap(r))return JSON.stringify(r);throw new Error("Unsupported previous source map format: "+r.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let n=this.annotation;return t&&(n=pL(cu(t),n)),this.loadFile(n)}}}startWith(t,r){return t?t.substr(0,r.length)===r:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}},zb=Fu;Fu.default=Fu;var{SourceMapConsumer:hL,SourceMapGenerator:mL}=St,{fileURLToPath:Ry,pathToFileURL:ds}=St,{isAbsolute:Bu,resolve:Vu}=St,{nanoid:gL}=cL,uu=St,Ey=wd,yL=zb,du=Symbol("fromOffsetCache"),bL=!!(hL&&mL),Iy=!!(Vu&&Bu),_s=class{constructor(t,r={}){if(t===null||typeof t>"u"||typeof t=="object"&&!t.toString)throw new Error(`PostCSS received ${t} instead of CSS string`);if(this.css=t.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,r.from&&(!Iy||/^\w+:\/\//.test(r.from)||Bu(r.from)?this.file=r.from:this.file=Vu(r.from)),Iy&&bL){let n=new yL(this.css,r);if(n.text){this.map=n;let i=n.consumer().file;!this.file&&i&&(this.file=this.mapResolve(i))}}this.file||(this.id="<input css "+gL(6)+">"),this.map&&(this.map.file=this.from)}error(t,r,n,i={}){let o,s,a;if(r&&typeof r=="object"){let c=r,u=n;if(typeof c.offset=="number"){let d=this.fromOffset(c.offset);r=d.line,n=d.col}else r=c.line,n=c.column;if(typeof u.offset=="number"){let d=this.fromOffset(u.offset);s=d.line,a=d.col}else s=u.line,a=u.column}else if(!n){let c=this.fromOffset(r);r=c.line,n=c.col}let l=this.origin(r,n,s,a);return l?o=new Ey(t,l.endLine===void 0?l.line:{column:l.column,line:l.line},l.endLine===void 0?l.column:{column:l.endColumn,line:l.endLine},l.source,l.file,i.plugin):o=new Ey(t,s===void 0?r:{column:n,line:r},s===void 0?n:{column:a,line:s},this.css,this.file,i.plugin),o.input={column:n,endColumn:a,endLine:s,line:r,source:this.css},this.file&&(ds&&(o.input.url=ds(this.file).toString()),o.input.file=this.file),o}fromOffset(t){let r,n;if(this[du])n=this[du];else{let o=this.css.split(`
163
+ `);n=new Array(o.length);let s=0;for(let a=0,l=o.length;a<l;a++)n[a]=s,s+=o[a].length+1;this[du]=n}r=n[n.length-1];let i=0;if(t>=r)i=n.length-1;else{let o=n.length-2,s;for(;i<o;)if(s=i+(o-i>>1),t<n[s])o=s-1;else if(t>=n[s+1])i=s+1;else{i=s;break}}return{col:t-n[i]+1,line:i+1}}mapResolve(t){return/^\w+:\/\//.test(t)?t:Vu(this.map.consumer().sourceRoot||this.map.root||".",t)}origin(t,r,n,i){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:r,line:t});if(!s.source)return!1;let a;typeof n=="number"&&(a=o.originalPositionFor({column:i,line:n}));let l;Bu(s.source)?l=ds(s.source):l=new URL(s.source,this.map.consumer().sourceRoot||ds(this.map.mapFile));let c={column:s.column,endColumn:a&&a.column,endLine:a&&a.line,line:s.line,url:l.toString()};if(l.protocol==="file:")if(Ry)c.file=Ry(l);else throw new Error("file: protocol is not available in this PostCSS build");let u=o.sourceContentFor(s.source);return u&&(c.source=u),c}toJSON(){let t={};for(let r of["hasBOM","css","file","id"])this[r]!=null&&(t[r]=this[r]);return this.map&&(t.map={...this.map},t.map.consumerCache&&(t.map.consumerCache=void 0)),t}get from(){return this.file||this.id}},Qs=_s;_s.default=_s;uu&&uu.registerInput&&uu.registerInput(_s);var{SourceMapConsumer:Gb,SourceMapGenerator:Cs}=St,{dirname:Rs,relative:qb,resolve:Kb,sep:Jb}=St,{pathToFileURL:Ay}=St,wL=Qs,SL=!!(Gb&&Cs),vL=!!(Rs&&Kb&&qb&&Jb),xL=class{constructor(t,r,n,i){this.stringify=t,this.mapOpts=n.map||{},this.root=r,this.opts=n,this.css=i,this.originalCSS=i,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let t;this.isInline()?t="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?t=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?t=this.mapOpts.annotation(this.opts.to,this.root):t=this.outputFile()+".map";let r=`
164
164
  `;this.css.includes(`\r
165
165
  `)&&(r=`\r
166
- `),this.css+=r+"/*# sourceMappingURL="+t+" */"}applyPrevMaps(){for(let t of this.previous()){let r=this.toUrl(this.path(t.file)),n=t.root||vs(t.file),i;this.mapOpts.sourcesContent===!1?(i=new Vb(t.text),i.sourcesContent&&(i.sourcesContent=null)):i=t.consumer(),this.map.applySourceMap(i,r,this.toUrl(this.path(n)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let t;for(let r=this.root.nodes.length-1;r>=0;r--)t=this.root.nodes[r],t.type==="comment"&&t.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(r)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),ZN&&JN&&this.isMap())return this.generateMap();{let t="";return this.stringify(this.root,r=>{t+=r}),[t]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let t=this.previous()[0].consumer();t.file=this.outputFile(),this.map=Ss.fromSourceMap(t,{ignoreInvalidMapping:!0})}else this.map=new Ss({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new Ss({file:this.outputFile(),ignoreInvalidMapping:!0});let t=1,r=1,n="<no source>",i={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(a,l,c)=>{if(this.css+=a,l&&c!=="end"&&(i.generated.line=t,i.generated.column=r-1,l.source&&l.source.start?(i.source=this.sourcePath(l),i.original.line=l.source.start.line,i.original.column=l.source.start.column-1,this.map.addMapping(i)):(i.source=n,i.original.line=1,i.original.column=0,this.map.addMapping(i))),o=a.match(/\n/g),o?(t+=o.length,s=a.lastIndexOf(`
167
- `),r=a.length-s):r+=a.length,l&&c!=="start"){let u=l.parent||{raws:{}};(!(l.type==="decl"||l.type==="atrule"&&!l.nodes)||l!==u.last||u.raws.semicolon)&&(l.source&&l.source.end?(i.source=this.sourcePath(l),i.original.line=l.source.end.line,i.original.column=l.source.end.column-1,i.generated.line=t,i.generated.column=r-2,this.map.addMapping(i)):(i.source=n,i.original.line=1,i.original.column=0,i.generated.line=t,i.generated.column=r-1,this.map.addMapping(i)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(t=>t.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let t=this.mapOpts.annotation;return typeof t<"u"&&t!==!0?!1:this.previous().length?this.previous().some(r=>r.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(t=>t.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(t){if(this.mapOpts.absolute||t.charCodeAt(0)===60||/^\w+:\/\//.test(t))return t;let r=this.memoizedPaths.get(t);if(r)return r;let n=this.opts.to?vs(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(n=vs(Ub(n,this.mapOpts.annotation)));let i=Bb(n,t);return this.memoizedPaths.set(t,i),i}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(t=>{if(t.source&&t.source.input.map){let r=t.source.input.map;this.previousMaps.includes(r)||this.previousMaps.push(r)}});else{let t=new YN(this.originalCSS,this.opts);t.map&&this.previousMaps.push(t.map)}return this.previousMaps}setSourcesContent(){let t={};if(this.root)this.root.walk(r=>{if(r.source){let n=r.source.input.from;if(n&&!t[n]){t[n]=!0;let i=this.usesFileUrls?this.toFileUrl(n):this.toUrl(this.path(n));this.map.setSourceContent(i,r.source.input.css)}}});else if(this.css){let r=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(r,this.css)}}sourcePath(t){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(t.source.input.from):this.toUrl(this.path(t.source.input.from))}toBase64(t){return Buffer?Buffer.from(t).toString("base64"):window.btoa(unescape(encodeURIComponent(t)))}toFileUrl(t){let r=this.memoizedFileURLs.get(t);if(r)return r;if(xy){let n=xy(t).toString();return this.memoizedFileURLs.set(t,n),n}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(t){let r=this.memoizedURLs.get(t);if(r)return r;Wb==="\\"&&(t=t.replace(/\\/g,"/"));let n=encodeURI(t).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(t,n),n}},Hb=XN,QN=qs,ju=class extends QN{constructor(t){super(t),this.type="comment"}},Js=ju;ju.default=ju;var{isClean:zb,my:Gb}=Ti,qb=Ks,Kb=Js,eL=qs,Yb,gd,yd,Jb;function Zb(e){return e.map(t=>(t.nodes&&(t.nodes=Zb(t.nodes)),delete t.source,t))}function Xb(e){if(e[zb]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)Xb(t)}var Bt=class Qb extends eL{append(...t){for(let r of t){let n=this.normalize(r,this.last);for(let i of n)this.proxyOf.nodes.push(i)}return this.markDirty(),this}cleanRaws(t){if(super.cleanRaws(t),this.nodes)for(let r of this.nodes)r.cleanRaws(t)}each(t){if(!this.proxyOf.nodes)return;let r=this.getIterator(),n,i;for(;this.indexes[r]<this.proxyOf.nodes.length&&(n=this.indexes[r],i=t(this.proxyOf.nodes[n],n),i!==!1);)this.indexes[r]+=1;return delete this.indexes[r],i}every(t){return this.nodes.every(t)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t=this.lastEach;return this.indexes[t]=0,t}getProxyProcessor(){return{get(t,r){return r==="proxyOf"?t:t[r]?r==="each"||typeof r=="string"&&r.startsWith("walk")?(...n)=>t[r](...n.map(i=>typeof i=="function"?(o,s)=>i(o.toProxy(),s):i)):r==="every"||r==="some"?n=>t[r]((i,...o)=>n(i.toProxy(),...o)):r==="root"?()=>t.root().toProxy():r==="nodes"?t.nodes.map(n=>n.toProxy()):r==="first"||r==="last"?t[r].toProxy():t[r]:t[r]},set(t,r,n){return t[r]===n||(t[r]=n,(r==="name"||r==="params"||r==="selector")&&t.markDirty()),!0}}}index(t){return typeof t=="number"?t:(t.proxyOf&&(t=t.proxyOf),this.proxyOf.nodes.indexOf(t))}insertAfter(t,r){let n=this.index(t),i=this.normalize(r,this.proxyOf.nodes[n]).reverse();n=this.index(t);for(let s of i)this.proxyOf.nodes.splice(n+1,0,s);let o;for(let s in this.indexes)o=this.indexes[s],n<o&&(this.indexes[s]=o+i.length);return this.markDirty(),this}insertBefore(t,r){let n=this.index(t),i=n===0?"prepend":!1,o=this.normalize(r,this.proxyOf.nodes[n],i).reverse();n=this.index(t);for(let a of o)this.proxyOf.nodes.splice(n,0,a);let s;for(let a in this.indexes)s=this.indexes[a],n<=s&&(this.indexes[a]=s+o.length);return this.markDirty(),this}normalize(t,r){if(typeof t=="string")t=Zb(Yb(t).nodes);else if(typeof t>"u")t=[];else if(Array.isArray(t)){t=t.slice(0);for(let i of t)i.parent&&i.parent.removeChild(i,"ignore")}else if(t.type==="root"&&this.type!=="document"){t=t.nodes.slice(0);for(let i of t)i.parent&&i.parent.removeChild(i,"ignore")}else if(t.type)t=[t];else if(t.prop){if(typeof t.value>"u")throw new Error("Value field is missed in node creation");typeof t.value!="string"&&(t.value=String(t.value)),t=[new qb(t)]}else if(t.selector)t=[new gd(t)];else if(t.name)t=[new yd(t)];else if(t.text)t=[new Kb(t)];else throw new Error("Unknown node type in node creation");return t.map(i=>(i[Gb]||Qb.rebuild(i),i=i.proxyOf,i.parent&&i.parent.removeChild(i),i[zb]&&Xb(i),typeof i.raws.before>"u"&&r&&typeof r.raws.before<"u"&&(i.raws.before=r.raws.before.replace(/\S/g,"")),i.parent=this.proxyOf,i))}prepend(...t){t=t.reverse();for(let r of t){let n=this.normalize(r,this.first,"prepend").reverse();for(let i of n)this.proxyOf.nodes.unshift(i);for(let i in this.indexes)this.indexes[i]=this.indexes[i]+n.length}return this.markDirty(),this}push(t){return t.parent=this,this.proxyOf.nodes.push(t),this}removeAll(){for(let t of this.proxyOf.nodes)t.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(t){t=this.index(t),this.proxyOf.nodes[t].parent=void 0,this.proxyOf.nodes.splice(t,1);let r;for(let n in this.indexes)r=this.indexes[n],r>=t&&(this.indexes[n]=r-1);return this.markDirty(),this}replaceValues(t,r,n){return n||(n=r,r={}),this.walkDecls(i=>{r.props&&!r.props.includes(i.prop)||r.fast&&!i.value.includes(r.fast)||(i.value=i.value.replace(t,n))}),this.markDirty(),this}some(t){return this.nodes.some(t)}walk(t){return this.each((r,n)=>{let i;try{i=t(r,n)}catch(o){throw r.addToError(o)}return i!==!1&&r.walk&&(i=r.walk(t)),i})}walkAtRules(t,r){return r?t instanceof RegExp?this.walk((n,i)=>{if(n.type==="atrule"&&t.test(n.name))return r(n,i)}):this.walk((n,i)=>{if(n.type==="atrule"&&n.name===t)return r(n,i)}):(r=t,this.walk((n,i)=>{if(n.type==="atrule")return r(n,i)}))}walkComments(t){return this.walk((r,n)=>{if(r.type==="comment")return t(r,n)})}walkDecls(t,r){return r?t instanceof RegExp?this.walk((n,i)=>{if(n.type==="decl"&&t.test(n.prop))return r(n,i)}):this.walk((n,i)=>{if(n.type==="decl"&&n.prop===t)return r(n,i)}):(r=t,this.walk((n,i)=>{if(n.type==="decl")return r(n,i)}))}walkRules(t,r){return r?t instanceof RegExp?this.walk((n,i)=>{if(n.type==="rule"&&t.test(n.selector))return r(n,i)}):this.walk((n,i)=>{if(n.type==="rule"&&n.selector===t)return r(n,i)}):(r=t,this.walk((n,i)=>{if(n.type==="rule")return r(n,i)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}};Bt.registerParse=e=>{Yb=e};Bt.registerRule=e=>{gd=e};Bt.registerAtRule=e=>{yd=e};Bt.registerRoot=e=>{Jb=e};var jr=Bt;Bt.default=Bt;Bt.rebuild=e=>{e.type==="atrule"?Object.setPrototypeOf(e,yd.prototype):e.type==="rule"?Object.setPrototypeOf(e,gd.prototype):e.type==="decl"?Object.setPrototypeOf(e,qb.prototype):e.type==="comment"?Object.setPrototypeOf(e,Kb.prototype):e.type==="root"&&Object.setPrototypeOf(e,Jb.prototype),e[Gb]=!0,e.nodes&&e.nodes.forEach(t=>{Bt.rebuild(t)})};var tL=jr,ew,tw,ki=class extends tL{constructor(t){super({type:"document",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new ew(new tw,this,t).stringify()}};ki.registerLazyResult=e=>{ew=e};ki.registerProcessor=e=>{tw=e};var bd=ki;ki.default=ki;var ky={},rw=function(t){ky[t]||(ky[t]=!0,typeof console<"u"&&console.warn&&console.warn(t))},Fu=class{constructor(t,r={}){if(this.type="warning",this.text=t,r.node&&r.node.source){let n=r.node.rangeBy(r);this.line=n.start.line,this.column=n.start.column,this.endLine=n.end.line,this.endColumn=n.end.column}for(let n in r)this[n]=r[n]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}},nw=Fu;Fu.default=Fu;var rL=nw,Vu=class{constructor(t,r,n){this.processor=t,this.messages=[],this.root=r,this.opts=n,this.css=void 0,this.map=void 0}toString(){return this.css}warn(t,r={}){r.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(r.plugin=this.lastPlugin.postcssPlugin);let n=new rL(t,r);return this.messages.push(n),n}warnings(){return this.messages.filter(t=>t.type==="warning")}get content(){return this.css}},wd=Vu;Vu.default=Vu;var lu=39,Cy=34,ls=92,Ry=47,cs=10,pi=32,us=12,ds=9,ps=13,nL=91,iL=93,oL=40,sL=41,aL=123,lL=125,cL=59,uL=42,dL=58,pL=64,fs=/[\t\n\f\r "#'()/;[\\\]{}]/g,hs=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,fL=/.[\r\n"'(/\\]/,Ey=/[\da-f]/i,hL=function(t,r={}){let n=t.css.valueOf(),i=r.ignoreErrors,o,s,a,l,c,u,d,p,h,f,m=n.length,g=0,w=[],S=[];function y(){return g}function v(E){throw t.error("Unclosed "+E,g)}function C(){return S.length===0&&g>=m}function M(E){if(S.length)return S.pop();if(g>=m)return;let x=E?E.ignoreUnclosed:!1;switch(o=n.charCodeAt(g),o){case cs:case pi:case ds:case ps:case us:{s=g;do s+=1,o=n.charCodeAt(s);while(o===pi||o===cs||o===ds||o===ps||o===us);f=["space",n.slice(g,s)],g=s-1;break}case nL:case iL:case aL:case lL:case dL:case cL:case sL:{let U=String.fromCharCode(o);f=[U,U,g];break}case oL:{if(p=w.length?w.pop()[1]:"",h=n.charCodeAt(g+1),p==="url"&&h!==lu&&h!==Cy&&h!==pi&&h!==cs&&h!==ds&&h!==us&&h!==ps){s=g;do{if(u=!1,s=n.indexOf(")",s+1),s===-1)if(i||x){s=g;break}else v("bracket");for(d=s;n.charCodeAt(d-1)===ls;)d-=1,u=!u}while(u);f=["brackets",n.slice(g,s+1),g,s],g=s}else s=n.indexOf(")",g+1),l=n.slice(g,s+1),s===-1||fL.test(l)?f=["(","(",g]:(f=["brackets",l,g,s],g=s);break}case lu:case Cy:{a=o===lu?"'":'"',s=g;do{if(u=!1,s=n.indexOf(a,s+1),s===-1)if(i||x){s=g+1;break}else v("string");for(d=s;n.charCodeAt(d-1)===ls;)d-=1,u=!u}while(u);f=["string",n.slice(g,s+1),g,s],g=s;break}case pL:{fs.lastIndex=g+1,fs.test(n),fs.lastIndex===0?s=n.length-1:s=fs.lastIndex-2,f=["at-word",n.slice(g,s+1),g,s],g=s;break}case ls:{for(s=g,c=!0;n.charCodeAt(s+1)===ls;)s+=1,c=!c;if(o=n.charCodeAt(s+1),c&&o!==Ry&&o!==pi&&o!==cs&&o!==ds&&o!==ps&&o!==us&&(s+=1,Ey.test(n.charAt(s)))){for(;Ey.test(n.charAt(s+1));)s+=1;n.charCodeAt(s+1)===pi&&(s+=1)}f=["word",n.slice(g,s+1),g,s],g=s;break}default:{o===Ry&&n.charCodeAt(g+1)===uL?(s=n.indexOf("*/",g+2)+1,s===0&&(i||x?s=n.length:v("comment")),f=["comment",n.slice(g,s+1),g,s],g=s):(hs.lastIndex=g+1,hs.test(n),hs.lastIndex===0?s=n.length-1:s=hs.lastIndex-2,f=["word",n.slice(g,s+1),g,s],w.push(f),g=s);break}}return g++,f}function R(E){S.push(E)}return{back:R,endOfFile:C,nextToken:M,position:y}},iw=jr,Ls=class extends iw{constructor(t){super(t),this.type="atrule"}append(...t){return this.proxyOf.nodes||(this.nodes=[]),super.append(...t)}prepend(...t){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...t)}},Sd=Ls;Ls.default=Ls;iw.registerAtRule(Ls);var ow=jr,sw,aw,mn=class extends ow{constructor(t){super(t),this.type="root",this.nodes||(this.nodes=[])}normalize(t,r,n){let i=super.normalize(t);if(r){if(n==="prepend")this.nodes.length>1?r.raws.before=this.nodes[1].raws.before:delete r.raws.before;else if(this.first!==r)for(let o of i)o.raws.before=r.raws.before}return i}removeChild(t,r){let n=this.index(t);return!r&&n===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[n].raws.before),super.removeChild(t)}toResult(t={}){return new sw(new aw,this,t).stringify()}};mn.registerLazyResult=e=>{sw=e};mn.registerProcessor=e=>{aw=e};var Oi=mn;mn.default=mn;ow.registerRoot(mn);var Ci={comma(e){return Ci.split(e,[","],!0)},space(e){let t=[" ",`
168
- `," "];return Ci.split(e,t)},split(e,t,r){let n=[],i="",o=!1,s=0,a=!1,l="",c=!1;for(let u of e)c?c=!1:u==="\\"?c=!0:a?u===l&&(a=!1):u==='"'||u==="'"?(a=!0,l=u):u==="("?s+=1:u===")"?s>0&&(s-=1):s===0&&t.includes(u)&&(o=!0),o?(i!==""&&n.push(i.trim()),i="",o=!1):i+=u;return(r||i!=="")&&n.push(i.trim()),n}},lw=Ci;Ci.default=Ci;var cw=jr,mL=lw,$s=class extends cw{constructor(t){super(t),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return mL.comma(this.selector)}set selectors(t){let r=this.selector?this.selector.match(/,\s*/):null,n=r?r[0]:","+this.raw("between","beforeOpen");this.selector=t.join(n)}},vd=$s;$s.default=$s;cw.registerRule($s);var gL=Ks,yL=hL,bL=Js,wL=Sd,SL=Oi,Iy=vd,Ay={empty:!0,space:!0};function vL(e){for(let t=e.length-1;t>=0;t--){let r=e[t],n=r[3]||r[2];if(n)return n}}var xL=class{constructor(t){this.input=t,this.root=new SL,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:t,start:{column:1,line:1,offset:0}}}atrule(t){let r=new wL;r.name=t[1].slice(1),r.name===""&&this.unnamedAtrule(r,t),this.init(r,t[2]);let n,i,o,s=!1,a=!1,l=[],c=[];for(;!this.tokenizer.endOfFile();){if(t=this.tokenizer.nextToken(),n=t[0],n==="("||n==="["?c.push(n==="("?")":"]"):n==="{"&&c.length>0?c.push("}"):n===c[c.length-1]&&c.pop(),c.length===0)if(n===";"){r.source.end=this.getPosition(t[2]),r.source.end.offset++,this.semicolon=!0;break}else if(n==="{"){a=!0;break}else if(n==="}"){if(l.length>0){for(o=l.length-1,i=l[o];i&&i[0]==="space";)i=l[--o];i&&(r.source.end=this.getPosition(i[3]||i[2]),r.source.end.offset++)}this.end(t);break}else l.push(t);else l.push(t);if(this.tokenizer.endOfFile()){s=!0;break}}r.raws.between=this.spacesAndCommentsFromEnd(l),l.length?(r.raws.afterName=this.spacesAndCommentsFromStart(l),this.raw(r,"params",l),s&&(t=l[l.length-1],r.source.end=this.getPosition(t[3]||t[2]),r.source.end.offset++,this.spaces=r.raws.between,r.raws.between="")):(r.raws.afterName="",r.params=""),a&&(r.nodes=[],this.current=r)}checkMissedSemicolon(t){let r=this.colon(t);if(r===!1)return;let n=0,i;for(let o=r-1;o>=0&&(i=t[o],!(i[0]!=="space"&&(n+=1,n===2)));o--);throw this.input.error("Missed semicolon",i[0]==="word"?i[3]+1:i[2])}colon(t){let r=0,n,i,o;for(let[s,a]of t.entries()){if(n=a,i=n[0],i==="("&&(r+=1),i===")"&&(r-=1),r===0&&i===":")if(!o)this.doubleColon(n);else{if(o[0]==="word"&&o[1]==="progid")continue;return s}o=n}return!1}comment(t){let r=new bL;this.init(r,t[2]),r.source.end=this.getPosition(t[3]||t[2]),r.source.end.offset++;let n=t[1].slice(2,-2);if(/^\s*$/.test(n))r.text="",r.raws.left=n,r.raws.right="";else{let i=n.match(/^(\s*)([^]*\S)(\s*)$/);r.text=i[2],r.raws.left=i[1],r.raws.right=i[3]}}createTokenizer(){this.tokenizer=yL(this.input)}decl(t,r){let n=new gL;this.init(n,t[0][2]);let i=t[t.length-1];for(i[0]===";"&&(this.semicolon=!0,t.pop()),n.source.end=this.getPosition(i[3]||i[2]||vL(t)),n.source.end.offset++;t[0][0]!=="word";)t.length===1&&this.unknownWord(t),n.raws.before+=t.shift()[1];for(n.source.start=this.getPosition(t[0][2]),n.prop="";t.length;){let c=t[0][0];if(c===":"||c==="space"||c==="comment")break;n.prop+=t.shift()[1]}n.raws.between="";let o;for(;t.length;)if(o=t.shift(),o[0]===":"){n.raws.between+=o[1];break}else o[0]==="word"&&/\w/.test(o[1])&&this.unknownWord([o]),n.raws.between+=o[1];(n.prop[0]==="_"||n.prop[0]==="*")&&(n.raws.before+=n.prop[0],n.prop=n.prop.slice(1));let s=[],a;for(;t.length&&(a=t[0][0],!(a!=="space"&&a!=="comment"));)s.push(t.shift());this.precheckMissedSemicolon(t);for(let c=t.length-1;c>=0;c--){if(o=t[c],o[1].toLowerCase()==="!important"){n.important=!0;let u=this.stringFrom(t,c);u=this.spacesFromEnd(t)+u,u!==" !important"&&(n.raws.important=u);break}else if(o[1].toLowerCase()==="important"){let u=t.slice(0),d="";for(let p=c;p>0;p--){let h=u[p][0];if(d.trim().indexOf("!")===0&&h!=="space")break;d=u.pop()[1]+d}d.trim().indexOf("!")===0&&(n.important=!0,n.raws.important=d,t=u)}if(o[0]!=="space"&&o[0]!=="comment")break}t.some(c=>c[0]!=="space"&&c[0]!=="comment")&&(n.raws.between+=s.map(c=>c[1]).join(""),s=[]),this.raw(n,"value",s.concat(t),r),n.value.includes(":")&&!r&&this.checkMissedSemicolon(t)}doubleColon(t){throw this.input.error("Double colon",{offset:t[2]},{offset:t[2]+t[1].length})}emptyRule(t){let r=new Iy;this.init(r,t[2]),r.selector="",r.raws.between="",this.current=r}end(t){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(t[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(t)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(t){if(this.spaces+=t[1],this.current.nodes){let r=this.current.nodes[this.current.nodes.length-1];r&&r.type==="rule"&&!r.raws.ownSemicolon&&(r.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(t){let r=this.input.fromOffset(t);return{column:r.col,line:r.line,offset:t}}init(t,r){this.current.push(t),t.source={input:this.input,start:this.getPosition(r)},t.raws.before=this.spaces,this.spaces="",t.type!=="comment"&&(this.semicolon=!1)}other(t){let r=!1,n=null,i=!1,o=null,s=[],a=t[1].startsWith("--"),l=[],c=t;for(;c;){if(n=c[0],l.push(c),n==="("||n==="[")o||(o=c),s.push(n==="("?")":"]");else if(a&&i&&n==="{")o||(o=c),s.push("}");else if(s.length===0)if(n===";")if(i){this.decl(l,a);return}else break;else if(n==="{"){this.rule(l);return}else if(n==="}"){this.tokenizer.back(l.pop()),r=!0;break}else n===":"&&(i=!0);else n===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));c=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(r=!0),s.length>0&&this.unclosedBracket(o),r&&i){if(!a)for(;l.length&&(c=l[l.length-1][0],!(c!=="space"&&c!=="comment"));)this.tokenizer.back(l.pop());this.decl(l,a)}else this.unknownWord(l)}parse(){let t;for(;!this.tokenizer.endOfFile();)switch(t=this.tokenizer.nextToken(),t[0]){case"space":this.spaces+=t[1];break;case";":this.freeSemicolon(t);break;case"}":this.end(t);break;case"comment":this.comment(t);break;case"at-word":this.atrule(t);break;case"{":this.emptyRule(t);break;default:this.other(t);break}this.endFile()}precheckMissedSemicolon(){}raw(t,r,n,i){let o,s,a=n.length,l="",c=!0,u,d;for(let p=0;p<a;p+=1)o=n[p],s=o[0],s==="space"&&p===a-1&&!i?c=!1:s==="comment"?(d=n[p-1]?n[p-1][0]:"empty",u=n[p+1]?n[p+1][0]:"empty",!Ay[d]&&!Ay[u]?l.slice(-1)===","?c=!1:l+=o[1]:c=!1):l+=o[1];if(!c){let p=n.reduce((h,f)=>h+f[1],"");t.raws[r]={raw:p,value:l}}t[r]=l}rule(t){t.pop();let r=new Iy;this.init(r,t[0][2]),r.raws.between=this.spacesAndCommentsFromEnd(t),this.raw(r,"selector",t),this.current=r}spacesAndCommentsFromEnd(t){let r,n="";for(;t.length&&(r=t[t.length-1][0],!(r!=="space"&&r!=="comment"));)n=t.pop()[1]+n;return n}spacesAndCommentsFromStart(t){let r,n="";for(;t.length&&(r=t[0][0],!(r!=="space"&&r!=="comment"));)n+=t.shift()[1];return n}spacesFromEnd(t){let r,n="";for(;t.length&&(r=t[t.length-1][0],r==="space");)n=t.pop()[1]+n;return n}stringFrom(t,r){let n="";for(let i=r;i<t.length;i++)n+=t[i][1];return t.splice(r,t.length-r),n}unclosedBlock(){let t=this.current.source.start;throw this.input.error("Unclosed block",t.line,t.column)}unclosedBracket(t){throw this.input.error("Unclosed bracket",{offset:t[2]},{offset:t[2]+1})}unexpectedClose(t){throw this.input.error("Unexpected }",{offset:t[2]},{offset:t[2]+1})}unknownWord(t){throw this.input.error("Unknown word",{offset:t[0][2]},{offset:t[0][2]+t[0][1].length})}unnamedAtrule(t,r){throw this.input.error("At-rule without name",{offset:r[2]},{offset:r[2]+r[1].length})}},kL=xL,CL=jr,RL=kL,EL=Ys;function Ds(e,t){let r=new EL(e,t),n=new RL(r);try{n.parse()}catch(i){throw process.env.NODE_ENV!=="production"&&i.name==="CssSyntaxError"&&t&&t.from&&(/\.scss$/i.test(t.from)?i.message+=`
166
+ `),this.css+=r+"/*# sourceMappingURL="+t+" */"}applyPrevMaps(){for(let t of this.previous()){let r=this.toUrl(this.path(t.file)),n=t.root||Rs(t.file),i;this.mapOpts.sourcesContent===!1?(i=new Gb(t.text),i.sourcesContent&&(i.sourcesContent=null)):i=t.consumer(),this.map.applySourceMap(i,r,this.toUrl(this.path(n)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let t;for(let r=this.root.nodes.length-1;r>=0;r--)t=this.root.nodes[r],t.type==="comment"&&t.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(r)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),vL&&SL&&this.isMap())return this.generateMap();{let t="";return this.stringify(this.root,r=>{t+=r}),[t]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let t=this.previous()[0].consumer();t.file=this.outputFile(),this.map=Cs.fromSourceMap(t,{ignoreInvalidMapping:!0})}else this.map=new Cs({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new Cs({file:this.outputFile(),ignoreInvalidMapping:!0});let t=1,r=1,n="<no source>",i={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(a,l,c)=>{if(this.css+=a,l&&c!=="end"&&(i.generated.line=t,i.generated.column=r-1,l.source&&l.source.start?(i.source=this.sourcePath(l),i.original.line=l.source.start.line,i.original.column=l.source.start.column-1,this.map.addMapping(i)):(i.source=n,i.original.line=1,i.original.column=0,this.map.addMapping(i))),o=a.match(/\n/g),o?(t+=o.length,s=a.lastIndexOf(`
167
+ `),r=a.length-s):r+=a.length,l&&c!=="start"){let u=l.parent||{raws:{}};(!(l.type==="decl"||l.type==="atrule"&&!l.nodes)||l!==u.last||u.raws.semicolon)&&(l.source&&l.source.end?(i.source=this.sourcePath(l),i.original.line=l.source.end.line,i.original.column=l.source.end.column-1,i.generated.line=t,i.generated.column=r-2,this.map.addMapping(i)):(i.source=n,i.original.line=1,i.original.column=0,i.generated.line=t,i.generated.column=r-1,this.map.addMapping(i)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(t=>t.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let t=this.mapOpts.annotation;return typeof t<"u"&&t!==!0?!1:this.previous().length?this.previous().some(r=>r.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(t=>t.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(t){if(this.mapOpts.absolute||t.charCodeAt(0)===60||/^\w+:\/\//.test(t))return t;let r=this.memoizedPaths.get(t);if(r)return r;let n=this.opts.to?Rs(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(n=Rs(Kb(n,this.mapOpts.annotation)));let i=qb(n,t);return this.memoizedPaths.set(t,i),i}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(t=>{if(t.source&&t.source.input.map){let r=t.source.input.map;this.previousMaps.includes(r)||this.previousMaps.push(r)}});else{let t=new wL(this.originalCSS,this.opts);t.map&&this.previousMaps.push(t.map)}return this.previousMaps}setSourcesContent(){let t={};if(this.root)this.root.walk(r=>{if(r.source){let n=r.source.input.from;if(n&&!t[n]){t[n]=!0;let i=this.usesFileUrls?this.toFileUrl(n):this.toUrl(this.path(n));this.map.setSourceContent(i,r.source.input.css)}}});else if(this.css){let r=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(r,this.css)}}sourcePath(t){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(t.source.input.from):this.toUrl(this.path(t.source.input.from))}toBase64(t){return Buffer?Buffer.from(t).toString("base64"):window.btoa(unescape(encodeURIComponent(t)))}toFileUrl(t){let r=this.memoizedFileURLs.get(t);if(r)return r;if(Ay){let n=Ay(t).toString();return this.memoizedFileURLs.set(t,n),n}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(t){let r=this.memoizedURLs.get(t);if(r)return r;Jb==="\\"&&(t=t.replace(/\\/g,"/"));let n=encodeURI(t).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(t,n),n}},Yb=xL,kL=Zs,Uu=class extends kL{constructor(t){super(t),this.type="comment"}},ea=Uu;Uu.default=Uu;var{isClean:Zb,my:Xb}=Ni,Qb=Xs,ew=ea,CL=Zs,tw,Sd,vd,rw;function nw(e){return e.map(t=>(t.nodes&&(t.nodes=nw(t.nodes)),delete t.source,t))}function iw(e){if(e[Zb]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)iw(t)}var zt=class ow extends CL{append(...t){for(let r of t){let n=this.normalize(r,this.last);for(let i of n)this.proxyOf.nodes.push(i)}return this.markDirty(),this}cleanRaws(t){if(super.cleanRaws(t),this.nodes)for(let r of this.nodes)r.cleanRaws(t)}each(t){if(!this.proxyOf.nodes)return;let r=this.getIterator(),n,i;for(;this.indexes[r]<this.proxyOf.nodes.length&&(n=this.indexes[r],i=t(this.proxyOf.nodes[n],n),i!==!1);)this.indexes[r]+=1;return delete this.indexes[r],i}every(t){return this.nodes.every(t)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t=this.lastEach;return this.indexes[t]=0,t}getProxyProcessor(){return{get(t,r){return r==="proxyOf"?t:t[r]?r==="each"||typeof r=="string"&&r.startsWith("walk")?(...n)=>t[r](...n.map(i=>typeof i=="function"?(o,s)=>i(o.toProxy(),s):i)):r==="every"||r==="some"?n=>t[r]((i,...o)=>n(i.toProxy(),...o)):r==="root"?()=>t.root().toProxy():r==="nodes"?t.nodes.map(n=>n.toProxy()):r==="first"||r==="last"?t[r].toProxy():t[r]:t[r]},set(t,r,n){return t[r]===n||(t[r]=n,(r==="name"||r==="params"||r==="selector")&&t.markDirty()),!0}}}index(t){return typeof t=="number"?t:(t.proxyOf&&(t=t.proxyOf),this.proxyOf.nodes.indexOf(t))}insertAfter(t,r){let n=this.index(t),i=this.normalize(r,this.proxyOf.nodes[n]).reverse();n=this.index(t);for(let s of i)this.proxyOf.nodes.splice(n+1,0,s);let o;for(let s in this.indexes)o=this.indexes[s],n<o&&(this.indexes[s]=o+i.length);return this.markDirty(),this}insertBefore(t,r){let n=this.index(t),i=n===0?"prepend":!1,o=this.normalize(r,this.proxyOf.nodes[n],i).reverse();n=this.index(t);for(let a of o)this.proxyOf.nodes.splice(n,0,a);let s;for(let a in this.indexes)s=this.indexes[a],n<=s&&(this.indexes[a]=s+o.length);return this.markDirty(),this}normalize(t,r){if(typeof t=="string")t=nw(tw(t).nodes);else if(typeof t>"u")t=[];else if(Array.isArray(t)){t=t.slice(0);for(let i of t)i.parent&&i.parent.removeChild(i,"ignore")}else if(t.type==="root"&&this.type!=="document"){t=t.nodes.slice(0);for(let i of t)i.parent&&i.parent.removeChild(i,"ignore")}else if(t.type)t=[t];else if(t.prop){if(typeof t.value>"u")throw new Error("Value field is missed in node creation");typeof t.value!="string"&&(t.value=String(t.value)),t=[new Qb(t)]}else if(t.selector)t=[new Sd(t)];else if(t.name)t=[new vd(t)];else if(t.text)t=[new ew(t)];else throw new Error("Unknown node type in node creation");return t.map(i=>(i[Xb]||ow.rebuild(i),i=i.proxyOf,i.parent&&i.parent.removeChild(i),i[Zb]&&iw(i),typeof i.raws.before>"u"&&r&&typeof r.raws.before<"u"&&(i.raws.before=r.raws.before.replace(/\S/g,"")),i.parent=this.proxyOf,i))}prepend(...t){t=t.reverse();for(let r of t){let n=this.normalize(r,this.first,"prepend").reverse();for(let i of n)this.proxyOf.nodes.unshift(i);for(let i in this.indexes)this.indexes[i]=this.indexes[i]+n.length}return this.markDirty(),this}push(t){return t.parent=this,this.proxyOf.nodes.push(t),this}removeAll(){for(let t of this.proxyOf.nodes)t.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(t){t=this.index(t),this.proxyOf.nodes[t].parent=void 0,this.proxyOf.nodes.splice(t,1);let r;for(let n in this.indexes)r=this.indexes[n],r>=t&&(this.indexes[n]=r-1);return this.markDirty(),this}replaceValues(t,r,n){return n||(n=r,r={}),this.walkDecls(i=>{r.props&&!r.props.includes(i.prop)||r.fast&&!i.value.includes(r.fast)||(i.value=i.value.replace(t,n))}),this.markDirty(),this}some(t){return this.nodes.some(t)}walk(t){return this.each((r,n)=>{let i;try{i=t(r,n)}catch(o){throw r.addToError(o)}return i!==!1&&r.walk&&(i=r.walk(t)),i})}walkAtRules(t,r){return r?t instanceof RegExp?this.walk((n,i)=>{if(n.type==="atrule"&&t.test(n.name))return r(n,i)}):this.walk((n,i)=>{if(n.type==="atrule"&&n.name===t)return r(n,i)}):(r=t,this.walk((n,i)=>{if(n.type==="atrule")return r(n,i)}))}walkComments(t){return this.walk((r,n)=>{if(r.type==="comment")return t(r,n)})}walkDecls(t,r){return r?t instanceof RegExp?this.walk((n,i)=>{if(n.type==="decl"&&t.test(n.prop))return r(n,i)}):this.walk((n,i)=>{if(n.type==="decl"&&n.prop===t)return r(n,i)}):(r=t,this.walk((n,i)=>{if(n.type==="decl")return r(n,i)}))}walkRules(t,r){return r?t instanceof RegExp?this.walk((n,i)=>{if(n.type==="rule"&&t.test(n.selector))return r(n,i)}):this.walk((n,i)=>{if(n.type==="rule"&&n.selector===t)return r(n,i)}):(r=t,this.walk((n,i)=>{if(n.type==="rule")return r(n,i)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}};zt.registerParse=e=>{tw=e};zt.registerRule=e=>{Sd=e};zt.registerAtRule=e=>{vd=e};zt.registerRoot=e=>{rw=e};var Br=zt;zt.default=zt;zt.rebuild=e=>{e.type==="atrule"?Object.setPrototypeOf(e,vd.prototype):e.type==="rule"?Object.setPrototypeOf(e,Sd.prototype):e.type==="decl"?Object.setPrototypeOf(e,Qb.prototype):e.type==="comment"?Object.setPrototypeOf(e,ew.prototype):e.type==="root"&&Object.setPrototypeOf(e,rw.prototype),e[Xb]=!0,e.nodes&&e.nodes.forEach(t=>{zt.rebuild(t)})};var RL=Br,sw,aw,Ei=class extends RL{constructor(t){super({type:"document",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new sw(new aw,this,t).stringify()}};Ei.registerLazyResult=e=>{sw=e};Ei.registerProcessor=e=>{aw=e};var xd=Ei;Ei.default=Ei;var Py={},lw=function(t){Py[t]||(Py[t]=!0,typeof console<"u"&&console.warn&&console.warn(t))},Wu=class{constructor(t,r={}){if(this.type="warning",this.text=t,r.node&&r.node.source){let n=r.node.rangeBy(r);this.line=n.start.line,this.column=n.start.column,this.endLine=n.end.line,this.endColumn=n.end.column}for(let n in r)this[n]=r[n]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}},cw=Wu;Wu.default=Wu;var EL=cw,Hu=class{constructor(t,r,n){this.processor=t,this.messages=[],this.root=r,this.opts=n,this.css=void 0,this.map=void 0}toString(){return this.css}warn(t,r={}){r.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(r.plugin=this.lastPlugin.postcssPlugin);let n=new EL(t,r);return this.messages.push(n),n}warnings(){return this.messages.filter(t=>t.type==="warning")}get content(){return this.css}},kd=Hu;Hu.default=Hu;var pu=39,Ty=34,ps=92,Oy=47,fs=10,mi=32,hs=12,ms=9,gs=13,IL=91,AL=93,PL=40,TL=41,OL=123,ML=125,NL=59,LL=42,$L=58,DL=64,ys=/[\t\n\f\r "#'()/;[\\\]{}]/g,bs=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,_L=/.[\r\n"'(/\\]/,My=/[\da-f]/i,jL=function(t,r={}){let n=t.css.valueOf(),i=r.ignoreErrors,o,s,a,l,c,u,d,p,h,f,m=n.length,g=0,w=[],S=[];function y(){return g}function v(E){throw t.error("Unclosed "+E,g)}function C(){return S.length===0&&g>=m}function M(E){if(S.length)return S.pop();if(g>=m)return;let x=E?E.ignoreUnclosed:!1;switch(o=n.charCodeAt(g),o){case fs:case mi:case ms:case gs:case hs:{s=g;do s+=1,o=n.charCodeAt(s);while(o===mi||o===fs||o===ms||o===gs||o===hs);f=["space",n.slice(g,s)],g=s-1;break}case IL:case AL:case OL:case ML:case $L:case NL:case TL:{let U=String.fromCharCode(o);f=[U,U,g];break}case PL:{if(p=w.length?w.pop()[1]:"",h=n.charCodeAt(g+1),p==="url"&&h!==pu&&h!==Ty&&h!==mi&&h!==fs&&h!==ms&&h!==hs&&h!==gs){s=g;do{if(u=!1,s=n.indexOf(")",s+1),s===-1)if(i||x){s=g;break}else v("bracket");for(d=s;n.charCodeAt(d-1)===ps;)d-=1,u=!u}while(u);f=["brackets",n.slice(g,s+1),g,s],g=s}else s=n.indexOf(")",g+1),l=n.slice(g,s+1),s===-1||_L.test(l)?f=["(","(",g]:(f=["brackets",l,g,s],g=s);break}case pu:case Ty:{a=o===pu?"'":'"',s=g;do{if(u=!1,s=n.indexOf(a,s+1),s===-1)if(i||x){s=g+1;break}else v("string");for(d=s;n.charCodeAt(d-1)===ps;)d-=1,u=!u}while(u);f=["string",n.slice(g,s+1),g,s],g=s;break}case DL:{ys.lastIndex=g+1,ys.test(n),ys.lastIndex===0?s=n.length-1:s=ys.lastIndex-2,f=["at-word",n.slice(g,s+1),g,s],g=s;break}case ps:{for(s=g,c=!0;n.charCodeAt(s+1)===ps;)s+=1,c=!c;if(o=n.charCodeAt(s+1),c&&o!==Oy&&o!==mi&&o!==fs&&o!==ms&&o!==gs&&o!==hs&&(s+=1,My.test(n.charAt(s)))){for(;My.test(n.charAt(s+1));)s+=1;n.charCodeAt(s+1)===mi&&(s+=1)}f=["word",n.slice(g,s+1),g,s],g=s;break}default:{o===Oy&&n.charCodeAt(g+1)===LL?(s=n.indexOf("*/",g+2)+1,s===0&&(i||x?s=n.length:v("comment")),f=["comment",n.slice(g,s+1),g,s],g=s):(bs.lastIndex=g+1,bs.test(n),bs.lastIndex===0?s=n.length-1:s=bs.lastIndex-2,f=["word",n.slice(g,s+1),g,s],w.push(f),g=s);break}}return g++,f}function R(E){S.push(E)}return{back:R,endOfFile:C,nextToken:M,position:y}},uw=Br,js=class extends uw{constructor(t){super(t),this.type="atrule"}append(...t){return this.proxyOf.nodes||(this.nodes=[]),super.append(...t)}prepend(...t){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...t)}},Cd=js;js.default=js;uw.registerAtRule(js);var dw=Br,pw,fw,yn=class extends dw{constructor(t){super(t),this.type="root",this.nodes||(this.nodes=[])}normalize(t,r,n){let i=super.normalize(t);if(r){if(n==="prepend")this.nodes.length>1?r.raws.before=this.nodes[1].raws.before:delete r.raws.before;else if(this.first!==r)for(let o of i)o.raws.before=r.raws.before}return i}removeChild(t,r){let n=this.index(t);return!r&&n===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[n].raws.before),super.removeChild(t)}toResult(t={}){return new pw(new fw,this,t).stringify()}};yn.registerLazyResult=e=>{pw=e};yn.registerProcessor=e=>{fw=e};var Li=yn;yn.default=yn;dw.registerRoot(yn);var Ii={comma(e){return Ii.split(e,[","],!0)},space(e){let t=[" ",`
168
+ `," "];return Ii.split(e,t)},split(e,t,r){let n=[],i="",o=!1,s=0,a=!1,l="",c=!1;for(let u of e)c?c=!1:u==="\\"?c=!0:a?u===l&&(a=!1):u==='"'||u==="'"?(a=!0,l=u):u==="("?s+=1:u===")"?s>0&&(s-=1):s===0&&t.includes(u)&&(o=!0),o?(i!==""&&n.push(i.trim()),i="",o=!1):i+=u;return(r||i!=="")&&n.push(i.trim()),n}},hw=Ii;Ii.default=Ii;var mw=Br,FL=hw,Fs=class extends mw{constructor(t){super(t),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return FL.comma(this.selector)}set selectors(t){let r=this.selector?this.selector.match(/,\s*/):null,n=r?r[0]:","+this.raw("between","beforeOpen");this.selector=t.join(n)}},Rd=Fs;Fs.default=Fs;mw.registerRule(Fs);var BL=Xs,VL=jL,UL=ea,WL=Cd,HL=Li,Ny=Rd,Ly={empty:!0,space:!0};function zL(e){for(let t=e.length-1;t>=0;t--){let r=e[t],n=r[3]||r[2];if(n)return n}}var GL=class{constructor(t){this.input=t,this.root=new HL,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:t,start:{column:1,line:1,offset:0}}}atrule(t){let r=new WL;r.name=t[1].slice(1),r.name===""&&this.unnamedAtrule(r,t),this.init(r,t[2]);let n,i,o,s=!1,a=!1,l=[],c=[];for(;!this.tokenizer.endOfFile();){if(t=this.tokenizer.nextToken(),n=t[0],n==="("||n==="["?c.push(n==="("?")":"]"):n==="{"&&c.length>0?c.push("}"):n===c[c.length-1]&&c.pop(),c.length===0)if(n===";"){r.source.end=this.getPosition(t[2]),r.source.end.offset++,this.semicolon=!0;break}else if(n==="{"){a=!0;break}else if(n==="}"){if(l.length>0){for(o=l.length-1,i=l[o];i&&i[0]==="space";)i=l[--o];i&&(r.source.end=this.getPosition(i[3]||i[2]),r.source.end.offset++)}this.end(t);break}else l.push(t);else l.push(t);if(this.tokenizer.endOfFile()){s=!0;break}}r.raws.between=this.spacesAndCommentsFromEnd(l),l.length?(r.raws.afterName=this.spacesAndCommentsFromStart(l),this.raw(r,"params",l),s&&(t=l[l.length-1],r.source.end=this.getPosition(t[3]||t[2]),r.source.end.offset++,this.spaces=r.raws.between,r.raws.between="")):(r.raws.afterName="",r.params=""),a&&(r.nodes=[],this.current=r)}checkMissedSemicolon(t){let r=this.colon(t);if(r===!1)return;let n=0,i;for(let o=r-1;o>=0&&(i=t[o],!(i[0]!=="space"&&(n+=1,n===2)));o--);throw this.input.error("Missed semicolon",i[0]==="word"?i[3]+1:i[2])}colon(t){let r=0,n,i,o;for(let[s,a]of t.entries()){if(n=a,i=n[0],i==="("&&(r+=1),i===")"&&(r-=1),r===0&&i===":")if(!o)this.doubleColon(n);else{if(o[0]==="word"&&o[1]==="progid")continue;return s}o=n}return!1}comment(t){let r=new UL;this.init(r,t[2]),r.source.end=this.getPosition(t[3]||t[2]),r.source.end.offset++;let n=t[1].slice(2,-2);if(/^\s*$/.test(n))r.text="",r.raws.left=n,r.raws.right="";else{let i=n.match(/^(\s*)([^]*\S)(\s*)$/);r.text=i[2],r.raws.left=i[1],r.raws.right=i[3]}}createTokenizer(){this.tokenizer=VL(this.input)}decl(t,r){let n=new BL;this.init(n,t[0][2]);let i=t[t.length-1];for(i[0]===";"&&(this.semicolon=!0,t.pop()),n.source.end=this.getPosition(i[3]||i[2]||zL(t)),n.source.end.offset++;t[0][0]!=="word";)t.length===1&&this.unknownWord(t),n.raws.before+=t.shift()[1];for(n.source.start=this.getPosition(t[0][2]),n.prop="";t.length;){let c=t[0][0];if(c===":"||c==="space"||c==="comment")break;n.prop+=t.shift()[1]}n.raws.between="";let o;for(;t.length;)if(o=t.shift(),o[0]===":"){n.raws.between+=o[1];break}else o[0]==="word"&&/\w/.test(o[1])&&this.unknownWord([o]),n.raws.between+=o[1];(n.prop[0]==="_"||n.prop[0]==="*")&&(n.raws.before+=n.prop[0],n.prop=n.prop.slice(1));let s=[],a;for(;t.length&&(a=t[0][0],!(a!=="space"&&a!=="comment"));)s.push(t.shift());this.precheckMissedSemicolon(t);for(let c=t.length-1;c>=0;c--){if(o=t[c],o[1].toLowerCase()==="!important"){n.important=!0;let u=this.stringFrom(t,c);u=this.spacesFromEnd(t)+u,u!==" !important"&&(n.raws.important=u);break}else if(o[1].toLowerCase()==="important"){let u=t.slice(0),d="";for(let p=c;p>0;p--){let h=u[p][0];if(d.trim().indexOf("!")===0&&h!=="space")break;d=u.pop()[1]+d}d.trim().indexOf("!")===0&&(n.important=!0,n.raws.important=d,t=u)}if(o[0]!=="space"&&o[0]!=="comment")break}t.some(c=>c[0]!=="space"&&c[0]!=="comment")&&(n.raws.between+=s.map(c=>c[1]).join(""),s=[]),this.raw(n,"value",s.concat(t),r),n.value.includes(":")&&!r&&this.checkMissedSemicolon(t)}doubleColon(t){throw this.input.error("Double colon",{offset:t[2]},{offset:t[2]+t[1].length})}emptyRule(t){let r=new Ny;this.init(r,t[2]),r.selector="",r.raws.between="",this.current=r}end(t){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(t[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(t)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(t){if(this.spaces+=t[1],this.current.nodes){let r=this.current.nodes[this.current.nodes.length-1];r&&r.type==="rule"&&!r.raws.ownSemicolon&&(r.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(t){let r=this.input.fromOffset(t);return{column:r.col,line:r.line,offset:t}}init(t,r){this.current.push(t),t.source={input:this.input,start:this.getPosition(r)},t.raws.before=this.spaces,this.spaces="",t.type!=="comment"&&(this.semicolon=!1)}other(t){let r=!1,n=null,i=!1,o=null,s=[],a=t[1].startsWith("--"),l=[],c=t;for(;c;){if(n=c[0],l.push(c),n==="("||n==="[")o||(o=c),s.push(n==="("?")":"]");else if(a&&i&&n==="{")o||(o=c),s.push("}");else if(s.length===0)if(n===";")if(i){this.decl(l,a);return}else break;else if(n==="{"){this.rule(l);return}else if(n==="}"){this.tokenizer.back(l.pop()),r=!0;break}else n===":"&&(i=!0);else n===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));c=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(r=!0),s.length>0&&this.unclosedBracket(o),r&&i){if(!a)for(;l.length&&(c=l[l.length-1][0],!(c!=="space"&&c!=="comment"));)this.tokenizer.back(l.pop());this.decl(l,a)}else this.unknownWord(l)}parse(){let t;for(;!this.tokenizer.endOfFile();)switch(t=this.tokenizer.nextToken(),t[0]){case"space":this.spaces+=t[1];break;case";":this.freeSemicolon(t);break;case"}":this.end(t);break;case"comment":this.comment(t);break;case"at-word":this.atrule(t);break;case"{":this.emptyRule(t);break;default:this.other(t);break}this.endFile()}precheckMissedSemicolon(){}raw(t,r,n,i){let o,s,a=n.length,l="",c=!0,u,d;for(let p=0;p<a;p+=1)o=n[p],s=o[0],s==="space"&&p===a-1&&!i?c=!1:s==="comment"?(d=n[p-1]?n[p-1][0]:"empty",u=n[p+1]?n[p+1][0]:"empty",!Ly[d]&&!Ly[u]?l.slice(-1)===","?c=!1:l+=o[1]:c=!1):l+=o[1];if(!c){let p=n.reduce((h,f)=>h+f[1],"");t.raws[r]={raw:p,value:l}}t[r]=l}rule(t){t.pop();let r=new Ny;this.init(r,t[0][2]),r.raws.between=this.spacesAndCommentsFromEnd(t),this.raw(r,"selector",t),this.current=r}spacesAndCommentsFromEnd(t){let r,n="";for(;t.length&&(r=t[t.length-1][0],!(r!=="space"&&r!=="comment"));)n=t.pop()[1]+n;return n}spacesAndCommentsFromStart(t){let r,n="";for(;t.length&&(r=t[0][0],!(r!=="space"&&r!=="comment"));)n+=t.shift()[1];return n}spacesFromEnd(t){let r,n="";for(;t.length&&(r=t[t.length-1][0],r==="space");)n=t.pop()[1]+n;return n}stringFrom(t,r){let n="";for(let i=r;i<t.length;i++)n+=t[i][1];return t.splice(r,t.length-r),n}unclosedBlock(){let t=this.current.source.start;throw this.input.error("Unclosed block",t.line,t.column)}unclosedBracket(t){throw this.input.error("Unclosed bracket",{offset:t[2]},{offset:t[2]+1})}unexpectedClose(t){throw this.input.error("Unexpected }",{offset:t[2]},{offset:t[2]+1})}unknownWord(t){throw this.input.error("Unknown word",{offset:t[0][2]},{offset:t[0][2]+t[0][1].length})}unnamedAtrule(t,r){throw this.input.error("At-rule without name",{offset:r[2]},{offset:r[2]+r[1].length})}},qL=GL,KL=Br,JL=qL,YL=Qs;function Bs(e,t){let r=new YL(e,t),n=new JL(r);try{n.parse()}catch(i){throw process.env.NODE_ENV!=="production"&&i.name==="CssSyntaxError"&&t&&t.from&&(/\.scss$/i.test(t.from)?i.message+=`
169
169
  You tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser`:/\.sass/i.test(t.from)?i.message+=`
170
170
  You tried to parse Sass with the standard CSS parser; try again with the postcss-sass parser`:/\.less$/i.test(t.from)&&(i.message+=`
171
- You tried to parse Less with the standard CSS parser; try again with the postcss-less parser`)),i}return n.root}var xd=Ds;Ds.default=Ds;CL.registerParse(Ds);var{isClean:At,my:IL}=Ti,AL=Hb,PL=Gs,TL=jr,OL=bd,ML=rw,Py=wd,NL=xd,LL=Oi,$L={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},DL={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},_L={Once:!0,postcssPlugin:!0,prepare:!0},gn=0;function fi(e){return typeof e=="object"&&typeof e.then=="function"}function uw(e){let t=!1,r=$L[e.type];return e.type==="decl"?t=e.prop.toLowerCase():e.type==="atrule"&&(t=e.name.toLowerCase()),t&&e.append?[r,r+"-"+t,gn,r+"Exit",r+"Exit-"+t]:t?[r,r+"-"+t,r+"Exit",r+"Exit-"+t]:e.append?[r,gn,r+"Exit"]:[r,r+"Exit"]}function Ty(e){let t;return e.type==="document"?t=["Document",gn,"DocumentExit"]:e.type==="root"?t=["Root",gn,"RootExit"]:t=uw(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function Bu(e){return e[At]=!1,e.nodes&&e.nodes.forEach(t=>Bu(t)),e}var Uu={},yn=class dw{constructor(t,r,n){this.stringified=!1,this.processed=!1;let i;if(typeof r=="object"&&r!==null&&(r.type==="root"||r.type==="document"))i=Bu(r);else if(r instanceof dw||r instanceof Py)i=Bu(r.root),r.map&&(typeof n.map>"u"&&(n.map={}),n.map.inline||(n.map.inline=!1),n.map.prev=r.map);else{let o=NL;n.syntax&&(o=n.syntax.parse),n.parser&&(o=n.parser),o.parse&&(o=o.parse);try{i=o(r,n)}catch(s){this.processed=!0,this.error=s}i&&!i[IL]&&TL.rebuild(i)}this.result=new Py(t,i,n),this.helpers={...Uu,postcss:Uu,result:this.result},this.plugins=this.processor.plugins.map(o=>typeof o=="object"&&o.prepare?{...o,...o.prepare(this.result)}:o)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(t,r){let n=this.result.lastPlugin;try{if(r&&r.addToError(t),this.error=t,t.name==="CssSyntaxError"&&!t.plugin)t.plugin=n.postcssPlugin,t.setMessage();else if(n.postcssVersion&&process.env.NODE_ENV!=="production"){let i=n.postcssPlugin,o=n.postcssVersion,s=this.result.processor.version,a=o.split("."),l=s.split(".");(a[0]!==l[0]||parseInt(a[1])>parseInt(l[1]))&&console.error("Unknown error from PostCSS plugin. Your current PostCSS version is "+s+", but "+i+" uses "+o+". Perhaps this is the source of the error below.")}}catch(i){console&&console.error&&console.error(i)}return t}prepareVisitors(){this.listeners={};let t=(r,n,i)=>{this.listeners[n]||(this.listeners[n]=[]),this.listeners[n].push([r,i])};for(let r of this.plugins)if(typeof r=="object")for(let n in r){if(!DL[n]&&/^[A-Z]/.test(n))throw new Error(`Unknown event ${n} in ${r.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!_L[n])if(typeof r[n]=="object")for(let i in r[n])i==="*"?t(r,n,r[n][i]):t(r,n+"-"+i.toLowerCase(),r[n][i]);else typeof r[n]=="function"&&t(r,n,r[n])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let t=0;t<this.plugins.length;t++){let r=this.plugins[t],n=this.runOnRoot(r);if(fi(n))try{await n}catch(i){throw this.handleError(i)}}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[At];){t[At]=!0;let r=[Ty(t)];for(;r.length>0;){let n=this.visitTick(r);if(fi(n))try{await n}catch(i){let o=r[r.length-1].node;throw this.handleError(i,o)}}}if(this.listeners.OnceExit)for(let[r,n]of this.listeners.OnceExit){this.result.lastPlugin=r;try{if(t.type==="document"){let i=t.nodes.map(o=>n(o,this.helpers));await Promise.all(i)}else await n(t,this.helpers)}catch(i){throw this.handleError(i)}}}return this.processed=!0,this.stringify()}runOnRoot(t){this.result.lastPlugin=t;try{if(typeof t=="object"&&t.Once){if(this.result.root.type==="document"){let r=this.result.root.nodes.map(n=>t.Once(n,this.helpers));return fi(r[0])?Promise.all(r):r}return t.Once(this.result.root,this.helpers)}else if(typeof t=="function")return t(this.result.root,this.result)}catch(r){throw this.handleError(r)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let t=this.result.opts,r=PL;t.syntax&&(r=t.syntax.stringify),t.stringifier&&(r=t.stringifier),r.stringify&&(r=r.stringify);let i=new AL(r,this.result.root,this.result.opts).generate();return this.result.css=i[0],this.result.map=i[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let t of this.plugins){let r=this.runOnRoot(t);if(fi(r))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[At];)t[At]=!0,this.walkSync(t);if(this.listeners.OnceExit)if(t.type==="document")for(let r of t.nodes)this.visitSync(this.listeners.OnceExit,r);else this.visitSync(this.listeners.OnceExit,t)}return this.result}then(t,r){return process.env.NODE_ENV!=="production"&&("from"in this.opts||ML("Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.")),this.async().then(t,r)}toString(){return this.css}visitSync(t,r){for(let[n,i]of t){this.result.lastPlugin=n;let o;try{o=i(r,this.helpers)}catch(s){throw this.handleError(s,r.proxyOf)}if(r.type!=="root"&&r.type!=="document"&&!r.parent)return!0;if(fi(o))throw this.getAsyncError()}}visitTick(t){let r=t[t.length-1],{node:n,visitors:i}=r;if(n.type!=="root"&&n.type!=="document"&&!n.parent){t.pop();return}if(i.length>0&&r.visitorIndex<i.length){let[s,a]=i[r.visitorIndex];r.visitorIndex+=1,r.visitorIndex===i.length&&(r.visitors=[],r.visitorIndex=0),this.result.lastPlugin=s;try{return a(n.toProxy(),this.helpers)}catch(l){throw this.handleError(l,n)}}if(r.iterator!==0){let s=r.iterator,a;for(;a=n.nodes[n.indexes[s]];)if(n.indexes[s]+=1,!a[At]){a[At]=!0,t.push(Ty(a));return}r.iterator=0,delete n.indexes[s]}let o=r.events;for(;r.eventIndex<o.length;){let s=o[r.eventIndex];if(r.eventIndex+=1,s===gn){n.nodes&&n.nodes.length&&(n[At]=!0,r.iterator=n.getIterator());return}else if(this.listeners[s]){r.visitors=this.listeners[s];return}}t.pop()}walkSync(t){t[At]=!0;let r=uw(t);for(let n of r)if(n===gn)t.nodes&&t.each(i=>{i[At]||this.walkSync(i)});else{let i=this.listeners[n];if(i&&this.visitSync(i,t.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}};yn.registerPostcss=e=>{Uu=e};var pw=yn;yn.default=yn;LL.registerLazyResult(yn);OL.registerLazyResult(yn);var jL=Hb,FL=Gs,VL=rw,BL=xd,UL=wd,Wu=class{constructor(t,r,n){r=r.toString(),this.stringified=!1,this._processor=t,this._css=r,this._opts=n,this._map=void 0;let i,o=FL;this.result=new UL(this._processor,i,this._opts),this.result.css=r;let s=this;Object.defineProperty(this.result,"root",{get(){return s.root}});let a=new jL(o,i,this._opts,r);if(a.isMap()){let[l,c]=a.generate();l&&(this.result.css=l),c&&(this.result.map=c)}else a.clearAnnotation(),this.result.css=a.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}sync(){if(this.error)throw this.error;return this.result}then(t,r){return process.env.NODE_ENV!=="production"&&("from"in this._opts||VL("Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.")),this.async().then(t,r)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let t,r=BL;try{t=r(this._css,this._opts)}catch(n){this.error=n}if(this.error)throw this.error;return this._root=t,t}get[Symbol.toStringTag](){return"NoWorkResult"}},WL=Wu;Wu.default=Wu;var HL=WL,zL=pw,GL=bd,qL=Oi,Ri=class{constructor(t=[]){this.version="8.4.38",this.plugins=this.normalize(t)}normalize(t){let r=[];for(let n of t)if(n.postcss===!0?n=n():n.postcss&&(n=n.postcss),typeof n=="object"&&Array.isArray(n.plugins))r=r.concat(n.plugins);else if(typeof n=="object"&&n.postcssPlugin)r.push(n);else if(typeof n=="function")r.push(n);else if(typeof n=="object"&&(n.parse||n.stringify)){if(process.env.NODE_ENV!=="production")throw new Error("PostCSS syntaxes cannot be used as plugins. Instead, please use one of the syntax/parser/stringifier options as outlined in your PostCSS runner documentation.")}else throw new Error(n+" is not a PostCSS plugin");return r}process(t,r={}){return!this.plugins.length&&!r.parser&&!r.stringifier&&!r.syntax?new HL(this,t,r):new zL(this,t,r)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}},KL=Ri;Ri.default=Ri;qL.registerProcessor(Ri);GL.registerProcessor(Ri);var YL=Ks,JL=Fb,ZL=Js,XL=Sd,QL=Ys,e6=Oi,t6=vd;function Ei(e,t){if(Array.isArray(e))return e.map(i=>Ei(i));let{inputs:r,...n}=e;if(r){t=[];for(let i of r){let o={...i,__proto__:QL.prototype};o.map&&(o.map={...o.map,__proto__:JL.prototype}),t.push(o)}}if(n.nodes&&(n.nodes=e.nodes.map(i=>Ei(i,t))),n.source){let{inputId:i,...o}=n.source;n.source=o,i!=null&&(n.source.input=t[i])}if(n.type==="root")return new e6(n);if(n.type==="decl")return new YL(n);if(n.type==="rule")return new t6(n);if(n.type==="comment")return new ZL(n);if(n.type==="atrule")return new XL(n);throw new Error("Unknown node type: "+e.type)}var r6=Ei;Ei.default=Ei;var n6=md,fw=Ks,i6=pw,o6=jr,kd=KL,s6=Gs,a6=r6,hw=bd,l6=nw,mw=Js,gw=Sd,c6=wd,u6=Ys,d6=xd,p6=lw,yw=vd,bw=Oi,f6=qs;function ie(...e){return e.length===1&&Array.isArray(e[0])&&(e=e[0]),new kd(e)}ie.plugin=function(t,r){let n=!1;function i(...s){console&&console.warn&&!n&&(n=!0,console.warn(t+`: postcss.plugin was deprecated. Migration guide:
171
+ You tried to parse Less with the standard CSS parser; try again with the postcss-less parser`)),i}return n.root}var Ed=Bs;Bs.default=Bs;KL.registerParse(Bs);var{isClean:Ot,my:ZL}=Ni,XL=Yb,QL=Ys,e$=Br,t$=xd,r$=lw,$y=kd,n$=Ed,i$=Li,o$={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},s$={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},a$={Once:!0,postcssPlugin:!0,prepare:!0},bn=0;function gi(e){return typeof e=="object"&&typeof e.then=="function"}function gw(e){let t=!1,r=o$[e.type];return e.type==="decl"?t=e.prop.toLowerCase():e.type==="atrule"&&(t=e.name.toLowerCase()),t&&e.append?[r,r+"-"+t,bn,r+"Exit",r+"Exit-"+t]:t?[r,r+"-"+t,r+"Exit",r+"Exit-"+t]:e.append?[r,bn,r+"Exit"]:[r,r+"Exit"]}function Dy(e){let t;return e.type==="document"?t=["Document",bn,"DocumentExit"]:e.type==="root"?t=["Root",bn,"RootExit"]:t=gw(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function zu(e){return e[Ot]=!1,e.nodes&&e.nodes.forEach(t=>zu(t)),e}var Gu={},wn=class yw{constructor(t,r,n){this.stringified=!1,this.processed=!1;let i;if(typeof r=="object"&&r!==null&&(r.type==="root"||r.type==="document"))i=zu(r);else if(r instanceof yw||r instanceof $y)i=zu(r.root),r.map&&(typeof n.map>"u"&&(n.map={}),n.map.inline||(n.map.inline=!1),n.map.prev=r.map);else{let o=n$;n.syntax&&(o=n.syntax.parse),n.parser&&(o=n.parser),o.parse&&(o=o.parse);try{i=o(r,n)}catch(s){this.processed=!0,this.error=s}i&&!i[ZL]&&e$.rebuild(i)}this.result=new $y(t,i,n),this.helpers={...Gu,postcss:Gu,result:this.result},this.plugins=this.processor.plugins.map(o=>typeof o=="object"&&o.prepare?{...o,...o.prepare(this.result)}:o)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(t,r){let n=this.result.lastPlugin;try{if(r&&r.addToError(t),this.error=t,t.name==="CssSyntaxError"&&!t.plugin)t.plugin=n.postcssPlugin,t.setMessage();else if(n.postcssVersion&&process.env.NODE_ENV!=="production"){let i=n.postcssPlugin,o=n.postcssVersion,s=this.result.processor.version,a=o.split("."),l=s.split(".");(a[0]!==l[0]||parseInt(a[1])>parseInt(l[1]))&&console.error("Unknown error from PostCSS plugin. Your current PostCSS version is "+s+", but "+i+" uses "+o+". Perhaps this is the source of the error below.")}}catch(i){console&&console.error&&console.error(i)}return t}prepareVisitors(){this.listeners={};let t=(r,n,i)=>{this.listeners[n]||(this.listeners[n]=[]),this.listeners[n].push([r,i])};for(let r of this.plugins)if(typeof r=="object")for(let n in r){if(!s$[n]&&/^[A-Z]/.test(n))throw new Error(`Unknown event ${n} in ${r.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!a$[n])if(typeof r[n]=="object")for(let i in r[n])i==="*"?t(r,n,r[n][i]):t(r,n+"-"+i.toLowerCase(),r[n][i]);else typeof r[n]=="function"&&t(r,n,r[n])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let t=0;t<this.plugins.length;t++){let r=this.plugins[t],n=this.runOnRoot(r);if(gi(n))try{await n}catch(i){throw this.handleError(i)}}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Ot];){t[Ot]=!0;let r=[Dy(t)];for(;r.length>0;){let n=this.visitTick(r);if(gi(n))try{await n}catch(i){let o=r[r.length-1].node;throw this.handleError(i,o)}}}if(this.listeners.OnceExit)for(let[r,n]of this.listeners.OnceExit){this.result.lastPlugin=r;try{if(t.type==="document"){let i=t.nodes.map(o=>n(o,this.helpers));await Promise.all(i)}else await n(t,this.helpers)}catch(i){throw this.handleError(i)}}}return this.processed=!0,this.stringify()}runOnRoot(t){this.result.lastPlugin=t;try{if(typeof t=="object"&&t.Once){if(this.result.root.type==="document"){let r=this.result.root.nodes.map(n=>t.Once(n,this.helpers));return gi(r[0])?Promise.all(r):r}return t.Once(this.result.root,this.helpers)}else if(typeof t=="function")return t(this.result.root,this.result)}catch(r){throw this.handleError(r)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let t=this.result.opts,r=QL;t.syntax&&(r=t.syntax.stringify),t.stringifier&&(r=t.stringifier),r.stringify&&(r=r.stringify);let i=new XL(r,this.result.root,this.result.opts).generate();return this.result.css=i[0],this.result.map=i[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let t of this.plugins){let r=this.runOnRoot(t);if(gi(r))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Ot];)t[Ot]=!0,this.walkSync(t);if(this.listeners.OnceExit)if(t.type==="document")for(let r of t.nodes)this.visitSync(this.listeners.OnceExit,r);else this.visitSync(this.listeners.OnceExit,t)}return this.result}then(t,r){return process.env.NODE_ENV!=="production"&&("from"in this.opts||r$("Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.")),this.async().then(t,r)}toString(){return this.css}visitSync(t,r){for(let[n,i]of t){this.result.lastPlugin=n;let o;try{o=i(r,this.helpers)}catch(s){throw this.handleError(s,r.proxyOf)}if(r.type!=="root"&&r.type!=="document"&&!r.parent)return!0;if(gi(o))throw this.getAsyncError()}}visitTick(t){let r=t[t.length-1],{node:n,visitors:i}=r;if(n.type!=="root"&&n.type!=="document"&&!n.parent){t.pop();return}if(i.length>0&&r.visitorIndex<i.length){let[s,a]=i[r.visitorIndex];r.visitorIndex+=1,r.visitorIndex===i.length&&(r.visitors=[],r.visitorIndex=0),this.result.lastPlugin=s;try{return a(n.toProxy(),this.helpers)}catch(l){throw this.handleError(l,n)}}if(r.iterator!==0){let s=r.iterator,a;for(;a=n.nodes[n.indexes[s]];)if(n.indexes[s]+=1,!a[Ot]){a[Ot]=!0,t.push(Dy(a));return}r.iterator=0,delete n.indexes[s]}let o=r.events;for(;r.eventIndex<o.length;){let s=o[r.eventIndex];if(r.eventIndex+=1,s===bn){n.nodes&&n.nodes.length&&(n[Ot]=!0,r.iterator=n.getIterator());return}else if(this.listeners[s]){r.visitors=this.listeners[s];return}}t.pop()}walkSync(t){t[Ot]=!0;let r=gw(t);for(let n of r)if(n===bn)t.nodes&&t.each(i=>{i[Ot]||this.walkSync(i)});else{let i=this.listeners[n];if(i&&this.visitSync(i,t.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}};wn.registerPostcss=e=>{Gu=e};var bw=wn;wn.default=wn;i$.registerLazyResult(wn);t$.registerLazyResult(wn);var l$=Yb,c$=Ys,u$=lw,d$=Ed,p$=kd,qu=class{constructor(t,r,n){r=r.toString(),this.stringified=!1,this._processor=t,this._css=r,this._opts=n,this._map=void 0;let i,o=c$;this.result=new p$(this._processor,i,this._opts),this.result.css=r;let s=this;Object.defineProperty(this.result,"root",{get(){return s.root}});let a=new l$(o,i,this._opts,r);if(a.isMap()){let[l,c]=a.generate();l&&(this.result.css=l),c&&(this.result.map=c)}else a.clearAnnotation(),this.result.css=a.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}sync(){if(this.error)throw this.error;return this.result}then(t,r){return process.env.NODE_ENV!=="production"&&("from"in this._opts||u$("Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.")),this.async().then(t,r)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let t,r=d$;try{t=r(this._css,this._opts)}catch(n){this.error=n}if(this.error)throw this.error;return this._root=t,t}get[Symbol.toStringTag](){return"NoWorkResult"}},f$=qu;qu.default=qu;var h$=f$,m$=bw,g$=xd,y$=Li,Ai=class{constructor(t=[]){this.version="8.4.38",this.plugins=this.normalize(t)}normalize(t){let r=[];for(let n of t)if(n.postcss===!0?n=n():n.postcss&&(n=n.postcss),typeof n=="object"&&Array.isArray(n.plugins))r=r.concat(n.plugins);else if(typeof n=="object"&&n.postcssPlugin)r.push(n);else if(typeof n=="function")r.push(n);else if(typeof n=="object"&&(n.parse||n.stringify)){if(process.env.NODE_ENV!=="production")throw new Error("PostCSS syntaxes cannot be used as plugins. Instead, please use one of the syntax/parser/stringifier options as outlined in your PostCSS runner documentation.")}else throw new Error(n+" is not a PostCSS plugin");return r}process(t,r={}){return!this.plugins.length&&!r.parser&&!r.stringifier&&!r.syntax?new h$(this,t,r):new m$(this,t,r)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}},b$=Ai;Ai.default=Ai;y$.registerProcessor(Ai);g$.registerProcessor(Ai);var w$=Xs,S$=zb,v$=ea,x$=Cd,k$=Qs,C$=Li,R$=Rd;function Pi(e,t){if(Array.isArray(e))return e.map(i=>Pi(i));let{inputs:r,...n}=e;if(r){t=[];for(let i of r){let o={...i,__proto__:k$.prototype};o.map&&(o.map={...o.map,__proto__:S$.prototype}),t.push(o)}}if(n.nodes&&(n.nodes=e.nodes.map(i=>Pi(i,t))),n.source){let{inputId:i,...o}=n.source;n.source=o,i!=null&&(n.source.input=t[i])}if(n.type==="root")return new C$(n);if(n.type==="decl")return new w$(n);if(n.type==="rule")return new R$(n);if(n.type==="comment")return new v$(n);if(n.type==="atrule")return new x$(n);throw new Error("Unknown node type: "+e.type)}var E$=Pi;Pi.default=Pi;var I$=wd,ww=Xs,A$=bw,P$=Br,Id=b$,T$=Ys,O$=E$,Sw=xd,M$=cw,vw=ea,xw=Cd,N$=kd,L$=Qs,$$=Ed,D$=hw,kw=Rd,Cw=Li,_$=Zs;function ie(...e){return e.length===1&&Array.isArray(e[0])&&(e=e[0]),new Id(e)}ie.plugin=function(t,r){let n=!1;function i(...s){console&&console.warn&&!n&&(n=!0,console.warn(t+`: postcss.plugin was deprecated. Migration guide:
172
172
  https://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(t+`: \u91CC\u9762 postcss.plugin \u88AB\u5F03\u7528. \u8FC1\u79FB\u6307\u5357:
173
- https://www.w3ctech.com/topic/2226`));let a=r(...s);return a.postcssPlugin=t,a.postcssVersion=new kd().version,a}let o;return Object.defineProperty(i,"postcss",{get(){return o||(o=i()),o}}),i.process=function(s,a,l){return ie([i(l)]).process(s,a)},i};ie.stringify=s6;ie.parse=d6;ie.fromJSON=a6;ie.list=p6;ie.comment=e=>new mw(e);ie.atRule=e=>new gw(e);ie.decl=e=>new fw(e);ie.rule=e=>new yw(e);ie.root=e=>new bw(e);ie.document=e=>new hw(e);ie.CssSyntaxError=n6;ie.Declaration=fw;ie.Container=o6;ie.Processor=kd;ie.Document=hw;ie.Comment=mw;ie.Warning=l6;ie.AtRule=gw;ie.Result=c6;ie.Input=u6;ie.Rule=yw;ie.Root=bw;ie.Node=f6;i6.registerPostcss(ie);var h6=ie;ie.default=ie;var Se=CN(h6);Se.stringify;Se.fromJSON;Se.plugin;Se.parse;Se.list;Se.document;Se.comment;Se.atRule;Se.rule;Se.decl;Se.root;Se.CssSyntaxError;Se.Declaration;Se.Container;Se.Processor;Se.Document;Se.Comment;Se.Warning;Se.AtRule;Se.Result;Se.Input;Se.Rule;Se.Root;Se.Node;var Hu=class e{constructor(...t){ct(this,"parentElement",null),ct(this,"parentNode",null),ct(this,"ownerDocument"),ct(this,"firstChild",null),ct(this,"lastChild",null),ct(this,"previousSibling",null),ct(this,"nextSibling",null),ct(this,"ELEMENT_NODE",1),ct(this,"TEXT_NODE",3),ct(this,"nodeType"),ct(this,"nodeName"),ct(this,"RRNodeType")}get childNodes(){let t=[],r=this.firstChild;for(;r;)t.push(r),r=r.nextSibling;return t}contains(t){if(t instanceof e){if(t.ownerDocument!==this.ownerDocument)return!1;if(t===this)return!0}else return!1;for(;t.parentNode;){if(t.parentNode===this)return!0;t=t.parentNode}return!1}appendChild(t){throw new Error("RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.")}insertBefore(t,r){throw new Error("RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.")}removeChild(t){throw new Error("RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.")}toString(){return"RRNode"}};var Oy={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},My={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},ms={},m6=()=>!!globalThis.Zone;function Cd(e){if(ms[e])return ms[e];let t=globalThis[e],r=t.prototype,n=e in Oy?Oy[e]:void 0,i=!!(n&&n.every(a=>{var l,c;return!!((c=(l=Object.getOwnPropertyDescriptor(r,a))==null?void 0:l.get)!=null&&c.toString().includes("[native code]"))})),o=e in My?My[e]:void 0,s=!!(o&&o.every(a=>{var l;return typeof r[a]=="function"&&((l=r[a])==null?void 0:l.toString().includes("[native code]"))}));if(i&&s&&!m6())return ms[e]=t.prototype,t.prototype;try{let a=document.createElement("iframe");document.body.appendChild(a);let l=a.contentWindow;if(!l)return t.prototype;let c=l[e].prototype;return document.body.removeChild(a),c?ms[e]=c:r}catch{return r}}var cu={};function Wt(e,t,r){var n;let i=`${e}.${String(r)}`;if(cu[i])return cu[i].call(t);let o=Cd(e),s=(n=Object.getOwnPropertyDescriptor(o,r))==null?void 0:n.get;return s?(cu[i]=s,s.call(t)):t[r]}var uu={};function ww(e,t,r){let n=`${e}.${String(r)}`;if(uu[n])return uu[n].bind(t);let o=Cd(e)[r];return typeof o!="function"?t[r]:(uu[n]=o,o.bind(t))}function g6(e){return Wt("Node",e,"ownerDocument")}function y6(e){return Wt("Node",e,"childNodes")}function b6(e){return Wt("Node",e,"parentNode")}function w6(e){return Wt("Node",e,"parentElement")}function S6(e){return Wt("Node",e,"textContent")}function v6(e,t){return ww("Node",e,"contains")(t)}function x6(e){return ww("Node",e,"getRootNode")()}function k6(e){return!e||!("host"in e)?null:Wt("ShadowRoot",e,"host")}function C6(e){return e.styleSheets}function R6(e){return!e||!("shadowRoot"in e)?null:Wt("Element",e,"shadowRoot")}function E6(e,t){return Wt("Element",e,"querySelector")(t)}function I6(e,t){return Wt("Element",e,"querySelectorAll")(t)}function Sw(){return Cd("MutationObserver").constructor}function Fr(e,t,r){try{if(!(t in e))return()=>{};let n=e[t],i=r(n);return typeof i=="function"&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:n}})),e[t]=i,()=>{e[t]=n}}catch{return()=>{}}}var H={ownerDocument:g6,childNodes:y6,parentNode:b6,parentElement:w6,textContent:S6,contains:v6,getRootNode:x6,host:k6,styleSheets:C6,shadowRoot:R6,querySelector:E6,querySelectorAll:I6,mutationObserver:Sw,patch:Fr};function Ke(e,t,r=document){let n={capture:!0,passive:!0};return r.addEventListener(e,t,n),()=>r.removeEventListener(e,t,n)}var an=`Please stop import mirror directly. Instead of that,\r
173
+ https://www.w3ctech.com/topic/2226`));let a=r(...s);return a.postcssPlugin=t,a.postcssVersion=new Id().version,a}let o;return Object.defineProperty(i,"postcss",{get(){return o||(o=i()),o}}),i.process=function(s,a,l){return ie([i(l)]).process(s,a)},i};ie.stringify=T$;ie.parse=$$;ie.fromJSON=O$;ie.list=D$;ie.comment=e=>new vw(e);ie.atRule=e=>new xw(e);ie.decl=e=>new ww(e);ie.rule=e=>new kw(e);ie.root=e=>new Cw(e);ie.document=e=>new Sw(e);ie.CssSyntaxError=I$;ie.Declaration=ww;ie.Container=P$;ie.Processor=Id;ie.Document=Sw;ie.Comment=vw;ie.Warning=M$;ie.AtRule=xw;ie.Result=N$;ie.Input=L$;ie.Rule=kw;ie.Root=Cw;ie.Node=_$;A$.registerPostcss(ie);var j$=ie;ie.default=ie;var ve=KN(j$);ve.stringify;ve.fromJSON;ve.plugin;ve.parse;ve.list;ve.document;ve.comment;ve.atRule;ve.rule;ve.decl;ve.root;ve.CssSyntaxError;ve.Declaration;ve.Container;ve.Processor;ve.Document;ve.Comment;ve.Warning;ve.AtRule;ve.Result;ve.Input;ve.Rule;ve.Root;ve.Node;var Ku=class e{constructor(...t){dt(this,"parentElement",null),dt(this,"parentNode",null),dt(this,"ownerDocument"),dt(this,"firstChild",null),dt(this,"lastChild",null),dt(this,"previousSibling",null),dt(this,"nextSibling",null),dt(this,"ELEMENT_NODE",1),dt(this,"TEXT_NODE",3),dt(this,"nodeType"),dt(this,"nodeName"),dt(this,"RRNodeType")}get childNodes(){let t=[],r=this.firstChild;for(;r;)t.push(r),r=r.nextSibling;return t}contains(t){if(t instanceof e){if(t.ownerDocument!==this.ownerDocument)return!1;if(t===this)return!0}else return!1;for(;t.parentNode;){if(t.parentNode===this)return!0;t=t.parentNode}return!1}appendChild(t){throw new Error("RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.")}insertBefore(t,r){throw new Error("RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.")}removeChild(t){throw new Error("RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.")}toString(){return"RRNode"}};var _y={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},jy={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},ws={},F$=()=>!!globalThis.Zone;function Ad(e){if(ws[e])return ws[e];let t=globalThis[e],r=t.prototype,n=e in _y?_y[e]:void 0,i=!!(n&&n.every(a=>{var l,c;return!!((c=(l=Object.getOwnPropertyDescriptor(r,a))==null?void 0:l.get)!=null&&c.toString().includes("[native code]"))})),o=e in jy?jy[e]:void 0,s=!!(o&&o.every(a=>{var l;return typeof r[a]=="function"&&((l=r[a])==null?void 0:l.toString().includes("[native code]"))}));if(i&&s&&!F$())return ws[e]=t.prototype,t.prototype;try{let a=document.createElement("iframe");document.body.appendChild(a);let l=a.contentWindow;if(!l)return t.prototype;let c=l[e].prototype;return document.body.removeChild(a),c?ws[e]=c:r}catch{return r}}var fu={};function qt(e,t,r){var n;let i=`${e}.${String(r)}`;if(fu[i])return fu[i].call(t);let o=Ad(e),s=(n=Object.getOwnPropertyDescriptor(o,r))==null?void 0:n.get;return s?(fu[i]=s,s.call(t)):t[r]}var hu={};function Rw(e,t,r){let n=`${e}.${String(r)}`;if(hu[n])return hu[n].bind(t);let o=Ad(e)[r];return typeof o!="function"?t[r]:(hu[n]=o,o.bind(t))}function B$(e){return qt("Node",e,"ownerDocument")}function V$(e){return qt("Node",e,"childNodes")}function U$(e){return qt("Node",e,"parentNode")}function W$(e){return qt("Node",e,"parentElement")}function H$(e){return qt("Node",e,"textContent")}function z$(e,t){return Rw("Node",e,"contains")(t)}function G$(e){return Rw("Node",e,"getRootNode")()}function q$(e){return!e||!("host"in e)?null:qt("ShadowRoot",e,"host")}function K$(e){return e.styleSheets}function J$(e){return!e||!("shadowRoot"in e)?null:qt("Element",e,"shadowRoot")}function Y$(e,t){return qt("Element",e,"querySelector")(t)}function Z$(e,t){return qt("Element",e,"querySelectorAll")(t)}function Ew(){return Ad("MutationObserver").constructor}function Vr(e,t,r){try{if(!(t in e))return()=>{};let n=e[t],i=r(n);return typeof i=="function"&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:n}})),e[t]=i,()=>{e[t]=n}}catch{return()=>{}}}var H={ownerDocument:B$,childNodes:V$,parentNode:U$,parentElement:W$,textContent:H$,contains:z$,getRootNode:G$,host:q$,styleSheets:K$,shadowRoot:J$,querySelector:Y$,querySelectorAll:Z$,mutationObserver:Ew,patch:Vr};function Je(e,t,r=document){let n={capture:!0,passive:!0};return r.addEventListener(e,t,n),()=>r.removeEventListener(e,t,n)}var cn=`Please stop import mirror directly. Instead of that,\r
174
174
  now you can use replayer.getMirror() to access the mirror instance of a replayer,\r
175
- or you can use record.mirror to access the mirror instance during recording.`,Ny={map:{},getId(){return console.error(an),-1},getNode(){return console.error(an),null},removeNodeFromMap(){console.error(an)},has(){return console.error(an),!1},reset(){console.error(an)}};typeof window<"u"&&window.Proxy&&window.Reflect&&(Ny=new Proxy(Ny,{get(e,t,r){return t==="map"&&console.error(an),Reflect.get(e,t,r)}}));function Ii(e,t,r={}){let n=null,i=0;return function(...o){let s=Date.now();!i&&r.leading===!1&&(i=s);let a=t-(s-i),l=this;a<=0||a>t?(n&&(clearTimeout(n),n=null),i=s,e.apply(l,o)):!n&&r.trailing!==!1&&(n=setTimeout(()=>{i=r.leading===!1?0:Date.now(),n=null,e.apply(l,o)},a))}}function Zs(e,t,r,n,i=window){let o=i.Object.getOwnPropertyDescriptor(e,t);return i.Object.defineProperty(e,t,n?r:{set(s){setTimeout(()=>{r.set.call(this,s)},0),o&&o.set&&o.set.call(this,s)}}),()=>Zs(e,t,o||{},!0)}var _s=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(_s=()=>new Date().getTime());function vw(e){var t,r,n,i;let o=e.document;return{left:o.scrollingElement?o.scrollingElement.scrollLeft:e.pageXOffset!==void 0?e.pageXOffset:o.documentElement.scrollLeft||o?.body&&((t=H.parentElement(o.body))==null?void 0:t.scrollLeft)||((r=o?.body)==null?void 0:r.scrollLeft)||0,top:o.scrollingElement?o.scrollingElement.scrollTop:e.pageYOffset!==void 0?e.pageYOffset:o?.documentElement.scrollTop||o?.body&&((n=H.parentElement(o.body))==null?void 0:n.scrollTop)||((i=o?.body)==null?void 0:i.scrollTop)||0}}function xw(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function kw(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function Cw(e){return e?e.nodeType===e.ELEMENT_NODE?e:H.parentElement(e):null}function Ye(e,t,r,n){if(!e)return!1;let i=Cw(e);if(!i)return!1;try{if(typeof t=="string"){if(i.classList.contains(t)||n&&i.closest("."+t)!==null)return!0}else if(As(i,t,n))return!0}catch{}return!!(r&&(i.matches(r)||n&&i.closest(r)!==null))}function A6(e,t){return t.getId(e)!==-1}function du(e,t,r){return e.tagName==="TITLE"&&r.headTitleMutations?!0:t.getId(e)===bi}function Rw(e,t){if(mi(e))return!1;let r=t.getId(e);if(!t.has(r))return!0;let n=H.parentNode(e);return n&&n.nodeType===e.DOCUMENT_NODE?!1:n?Rw(n,t):!0}function zu(e){return!!e.changedTouches}function P6(e=window){"NodeList"in e&&!e.NodeList.prototype.forEach&&(e.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in e&&!e.DOMTokenList.prototype.forEach&&(e.DOMTokenList.prototype.forEach=Array.prototype.forEach)}function Ew(e,t){return!!(e.nodeName==="IFRAME"&&t.getMeta(e))}function Iw(e,t){return!!(e.nodeName==="LINK"&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&e.getAttribute("rel")==="stylesheet"&&t.getMeta(e))}function Gu(e){return e?e instanceof Hu&&"shadowRoot"in e?!!e.shadowRoot:!!H.shadowRoot(e):!1}var qu=class{constructor(){k(this,"id",1),k(this,"styleIDMap",new WeakMap),k(this,"idStyleMap",new Map)}getId(t){return this.styleIDMap.get(t)??-1}has(t){return this.styleIDMap.has(t)}add(t,r){if(this.has(t))return this.getId(t);let n;return r===void 0?n=this.id++:n=r,this.styleIDMap.set(t,n),this.idStyleMap.set(n,t),n}getStyle(t){return this.idStyleMap.get(t)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}};function Aw(e){var t;let r=null;return"getRootNode"in e&&((t=H.getRootNode(e))==null?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&H.host(H.getRootNode(e))&&(r=H.host(H.getRootNode(e))),r}function T6(e){let t=e,r;for(;r=Aw(t);)t=r;return t}function O6(e){let t=H.ownerDocument(e);if(!t)return!1;let r=T6(e);return H.contains(t,r)}function Pw(e){let t=H.ownerDocument(e);return t?H.contains(t,e)||O6(e):!1}var q=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e))(q||{}),z=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))(z||{}),et=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))(et||{}),Ft=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(Ft||{}),bn=(e=>(e[e["2D"]=0]="2D",e[e.WebGL=1]="WebGL",e[e.WebGL2=2]="WebGL2",e))(bn||{}),ln=(e=>(e[e.Play=0]="Play",e[e.Pause=1]="Pause",e[e.Seeked=2]="Seeked",e[e.VolumeChange=3]="VolumeChange",e[e.RateChange=4]="RateChange",e))(ln||{});var Tw=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(Tw||{});function Ly(e){return"__ln"in e}var Ku=class{constructor(){k(this,"length",0),k(this,"head",null),k(this,"tail",null)}get(t){if(t>=this.length)throw new Error("Position outside of list range");let r=this.head;for(let n=0;n<t;n++)r=r?.next||null;return r}addNode(t){let r={value:t,previous:null,next:null};if(t.__ln=r,t.previousSibling&&Ly(t.previousSibling)){let n=t.previousSibling.__ln.next;r.next=n,r.previous=t.previousSibling.__ln,t.previousSibling.__ln.next=r,n&&(n.previous=r)}else if(t.nextSibling&&Ly(t.nextSibling)&&t.nextSibling.__ln.previous){let n=t.nextSibling.__ln.previous;r.previous=n,r.next=t.nextSibling.__ln,t.nextSibling.__ln.previous=r,n&&(n.next=r)}else this.head&&(this.head.previous=r),r.next=this.head,this.head=r;r.next===null&&(this.tail=r),this.length++}removeNode(t){let r=t.__ln;this.head&&(r.previous?(r.previous.next=r.next,r.next?r.next.previous=r.previous:this.tail=r.previous):(this.head=r.next,this.head?this.head.previous=null:this.tail=null),t.__ln&&delete t.__ln,this.length--)}},$y=(e,t)=>`${e}@${t}`,Yu=class{constructor(){k(this,"frozen",!1),k(this,"locked",!1),k(this,"texts",[]),k(this,"attributes",[]),k(this,"attributeMap",new WeakMap),k(this,"removes",[]),k(this,"mapRemoves",[]),k(this,"movedMap",{}),k(this,"addedSet",new Set),k(this,"movedSet",new Set),k(this,"droppedSet",new Set),k(this,"removesSubTreeCache",new Set),k(this,"mutationCb"),k(this,"blockClass"),k(this,"blockSelector"),k(this,"maskTextClass"),k(this,"maskTextSelector"),k(this,"inlineStylesheet"),k(this,"maskInputOptions"),k(this,"maskTextFn"),k(this,"maskInputFn"),k(this,"keepIframeSrcFn"),k(this,"recordCanvas"),k(this,"inlineImages"),k(this,"slimDOMOptions"),k(this,"dataURLOptions"),k(this,"doc"),k(this,"mirror"),k(this,"iframeManager"),k(this,"stylesheetManager"),k(this,"shadowDomManager"),k(this,"canvasManager"),k(this,"processedNodeManager"),k(this,"unattachedDoc"),k(this,"processMutations",t=>{t.forEach(this.processMutation),this.emit()}),k(this,"emit",()=>{if(this.frozen||this.locked)return;let t=[],r=new Set,n=new Ku,i=l=>{let c=l,u=bi;for(;u===bi;)c=c&&c.nextSibling,u=c&&this.mirror.getId(c);return u},o=l=>{let c=H.parentNode(l);if(!c||!Pw(l))return;let u=!1;if(l.nodeType===Node.TEXT_NODE){let f=c.tagName;if(f==="TEXTAREA")return;f==="STYLE"&&this.addedSet.has(c)&&(u=!0)}let d=mi(c)?this.mirror.getId(Aw(l)):this.mirror.getId(c),p=i(l);if(d===-1||p===-1)return n.addNode(l);let h=un(l,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:f=>{Ew(f,this.mirror)&&this.iframeManager.addIframe(f),Iw(f,this.mirror)&&this.stylesheetManager.trackLinkElement(f),Gu(l)&&this.shadowDomManager.addShadowRoot(H.shadowRoot(l),this.doc)},onIframeLoad:(f,m)=>{this.iframeManager.attachIframe(f,m),this.shadowDomManager.observeAttachShadow(f)},onStylesheetLoad:(f,m)=>{this.stylesheetManager.attachLinkElement(f,m)},cssCaptured:u});h&&(t.push({parentId:d,nextId:p,node:h}),r.add(h.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(let l of this.movedSet)Dy(this.removesSubTreeCache,l,this.mirror)&&!this.movedSet.has(H.parentNode(l))||o(l);for(let l of this.addedSet)!_y(this.droppedSet,l)&&!Dy(this.removesSubTreeCache,l,this.mirror)||_y(this.movedSet,l)?o(l):this.droppedSet.add(l);let s=null;for(;n.length;){let l=null;if(s){let c=this.mirror.getId(H.parentNode(s.value)),u=i(s.value);c!==-1&&u!==-1&&(l=s)}if(!l){let c=n.tail;for(;c;){let u=c;if(c=c.previous,u){let d=this.mirror.getId(H.parentNode(u.value));if(i(u.value)===-1)continue;if(d!==-1){l=u;break}else{let h=u.value,f=H.parentNode(h);if(f&&f.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let m=H.host(f);if(this.mirror.getId(m)!==-1){l=u;break}}}}}}if(!l){for(;n.head;)n.removeNode(n.head.value);break}s=l.previous,n.removeNode(l.value),o(l.value)}let a={texts:this.texts.map(l=>{let c=l.node,u=H.parentNode(c);return u&&u.tagName==="TEXTAREA"&&this.genTextAreaValueMutation(u),{id:this.mirror.getId(c),value:l.value}}).filter(l=>!r.has(l.id)).filter(l=>this.mirror.has(l.id)),attributes:this.attributes.map(l=>{let{attributes:c}=l;if(typeof c.style=="string"){let u=JSON.stringify(l.styleDiff),d=JSON.stringify(l._unchangedStyles);u.length<c.style.length&&(u+d).split("var(").length===c.style.split("var(").length&&(c.style=l.styleDiff)}return{id:this.mirror.getId(l.node),attributes:c}}).filter(l=>!r.has(l.id)).filter(l=>this.mirror.has(l.id)),removes:this.removes,adds:t};!a.texts.length&&!a.attributes.length&&!a.removes.length&&!a.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.removesSubTreeCache=new Set,this.movedMap={},this.mutationCb(a))}),k(this,"genTextAreaValueMutation",t=>{let r=this.attributeMap.get(t);r||(r={node:t,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(r),this.attributeMap.set(t,r));let n=Array.from(H.childNodes(t),i=>H.textContent(i)||"").join("");r.attributes.value=Rs({element:t,maskInputOptions:this.maskInputOptions,tagName:t.tagName,type:Es(t),value:n,maskInputFn:this.maskInputFn})}),k(this,"processMutation",t=>{if(!du(t.target,this.mirror,this.slimDOMOptions))switch(t.type){case"characterData":{let r=H.textContent(t.target);!Ye(t.target,this.blockClass,this.blockSelector,!1)&&r!==t.oldValue&&this.texts.push({value:Zy(t.target,this.maskTextClass,this.maskTextSelector,!0)&&r?this.maskTextFn?this.maskTextFn(r,Cw(t.target)):r.replace(/[\S]/g,"*"):r,node:t.target});break}case"attributes":{let r=t.target,n=t.attributeName,i=t.target.getAttribute(n);if(n==="value"){let s=Es(r);i=Rs({element:r,maskInputOptions:this.maskInputOptions,tagName:r.tagName,type:s,value:i,maskInputFn:this.maskInputFn})}if(Ye(t.target,this.blockClass,this.blockSelector,!1)||i===t.oldValue)return;let o=this.attributeMap.get(t.target);if(r.tagName==="IFRAME"&&n==="src"&&!this.keepIframeSrcFn(i))if(!r.contentDocument)n="rr_src";else return;if(o||(o={node:t.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(o),this.attributeMap.set(t.target,o)),n==="type"&&r.tagName==="INPUT"&&(t.oldValue||"").toLowerCase()==="password"&&r.setAttribute("data-rr-is-password","true"),!Jy(r.tagName,n))if(o.attributes[n]=Yy(this.doc,Dr(r.tagName),Dr(n),i),n==="style"){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}let s=this.unattachedDoc.createElement("span");t.oldValue&&s.setAttribute("style",t.oldValue);for(let a of Array.from(r.style)){let l=r.style.getPropertyValue(a),c=r.style.getPropertyPriority(a);l!==s.style.getPropertyValue(a)||c!==s.style.getPropertyPriority(a)?c===""?o.styleDiff[a]=l:o.styleDiff[a]=[l,c]:o._unchangedStyles[a]=[l,c]}for(let a of Array.from(s.style))r.style.getPropertyValue(a)===""&&(o.styleDiff[a]=!1)}else n==="open"&&r.tagName==="DIALOG"&&(r.matches("dialog:modal")?o.attributes.rr_open_mode="modal":o.attributes.rr_open_mode="non-modal");break}case"childList":{if(Ye(t.target,this.blockClass,this.blockSelector,!0))return;if(t.target.tagName==="TEXTAREA"){this.genTextAreaValueMutation(t.target);return}t.addedNodes.forEach(r=>this.genAdds(r,t.target)),t.removedNodes.forEach(r=>{let n=this.mirror.getId(r),i=mi(t.target)?this.mirror.getId(H.host(t.target)):this.mirror.getId(t.target);Ye(t.target,this.blockClass,this.blockSelector,!1)||du(r,this.mirror,this.slimDOMOptions)||!A6(r,this.mirror)||(this.addedSet.has(r)?(Ju(this.addedSet,r),this.droppedSet.add(r)):this.addedSet.has(t.target)&&n===-1||Rw(t.target,this.mirror)||(this.movedSet.has(r)&&this.movedMap[$y(n,i)]?Ju(this.movedSet,r):(this.removes.push({parentId:i,id:n,isShadow:mi(t.target)&&gi(t.target)?!0:void 0}),M6(r,this.removesSubTreeCache))),this.mapRemoves.push(r))});break}}}),k(this,"genAdds",(t,r)=>{if(!this.processedNodeManager.inOtherBuffer(t,this)&&!(this.addedSet.has(t)||this.movedSet.has(t))){if(this.mirror.hasNode(t)){if(du(t,this.mirror,this.slimDOMOptions))return;this.movedSet.add(t);let n=null;r&&this.mirror.hasNode(r)&&(n=this.mirror.getId(r)),n&&n!==-1&&(this.movedMap[$y(this.mirror.getId(t),n)]=!0)}else this.addedSet.add(t),this.droppedSet.delete(t);Ye(t,this.blockClass,this.blockSelector,!1)||(H.childNodes(t).forEach(n=>this.genAdds(n)),Gu(t)&&H.childNodes(H.shadowRoot(t)).forEach(n=>{this.processedNodeManager.add(n,this),this.genAdds(n,t)}))}})}init(t){["mutationCb","blockClass","blockSelector","maskTextClass","maskTextSelector","inlineStylesheet","maskInputOptions","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager"].forEach(r=>{this[r]=t[r]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}};function Ju(e,t){e.delete(t),H.childNodes(t).forEach(r=>Ju(e,r))}function M6(e,t){let r=[e];for(;r.length;){let n=r.pop();t.has(n)||(t.add(n),H.childNodes(n).forEach(i=>r.push(i)))}}function Dy(e,t,r){return e.size===0?!1:N6(e,t)}function N6(e,t,r){let n=H.parentNode(t);return n?e.has(n):!1}function _y(e,t){return e.size===0?!1:Ow(e,t)}function Ow(e,t){let r=H.parentNode(t);return r?e.has(r)?!0:Ow(e,r):!1}var yi;function L6(e){yi=e}function $6(){yi=void 0}var J=e=>yi?(...r)=>{try{return e(...r)}catch(n){if(yi&&yi(n)===!0)return;throw n}}:e,$r=[];function Mi(e){try{if("composedPath"in e){let t=e.composedPath();if(t.length)return t[0]}else if("path"in e&&e.path.length)return e.path[0]}catch{}return e&&e.target}function Mw(e,t){let r=new Yu;$r.push(r),r.init(e);let n=new(Sw())(J(r.processMutations.bind(r)));return n.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),n}function D6({mousemoveCb:e,sampling:t,doc:r,mirror:n}){if(t.mousemove===!1)return()=>{};let i=typeof t.mousemove=="number"?t.mousemove:50,o=typeof t.mousemoveCallback=="number"?t.mousemoveCallback:500,s=[],a,l=Ii(J(d=>{let p=Date.now()-a;e(s.map(h=>(h.timeOffset-=p,h)),d),s=[],a=null}),o),c=J(Ii(J(d=>{let p=Mi(d),{clientX:h,clientY:f}=zu(d)?d.changedTouches[0]:d;a||(a=_s()),s.push({x:h,y:f,id:n.getId(p),timeOffset:_s()-a}),l(typeof DragEvent<"u"&&d instanceof DragEvent?z.Drag:d instanceof MouseEvent?z.MouseMove:z.TouchMove)}),i,{trailing:!1})),u=[Ke("mousemove",c,r),Ke("touchmove",c,r),Ke("drag",c,r)];return J(()=>{u.forEach(d=>d())})}function _6({mouseInteractionCb:e,doc:t,mirror:r,blockClass:n,blockSelector:i,sampling:o}){if(o.mouseInteraction===!1)return()=>{};let s=o.mouseInteraction===!0||o.mouseInteraction===void 0?{}:o.mouseInteraction,a=[],l=null,c=u=>d=>{let p=Mi(d);if(Ye(p,n,i,!0))return;let h=null,f=u;if("pointerType"in d){switch(d.pointerType){case"mouse":h=Ft.Mouse;break;case"touch":h=Ft.Touch;break;case"pen":h=Ft.Pen;break}h===Ft.Touch?et[u]===et.MouseDown?f="TouchStart":et[u]===et.MouseUp&&(f="TouchEnd"):Ft.Pen}else zu(d)&&(h=Ft.Touch);h!==null?(l=h,(f.startsWith("Touch")&&h===Ft.Touch||f.startsWith("Mouse")&&h===Ft.Mouse)&&(h=null)):et[u]===et.Click&&(h=l,l=null);let m=zu(d)?d.changedTouches[0]:d;if(!m)return;let g=r.getId(p),{clientX:w,clientY:S}=m;J(e)({type:et[f],id:g,x:w,y:S,...h!==null&&{pointerType:h}})};return Object.keys(et).filter(u=>Number.isNaN(Number(u))&&!u.endsWith("_Departed")&&s[u]!==!1).forEach(u=>{let d=Dr(u),p=c(u);if(window.PointerEvent)switch(et[u]){case et.MouseDown:case et.MouseUp:d=d.replace("mouse","pointer");break;case et.TouchStart:case et.TouchEnd:return}a.push(Ke(d,p,t))}),J(()=>{a.forEach(u=>u())})}function Nw({scrollCb:e,doc:t,mirror:r,blockClass:n,blockSelector:i,sampling:o}){let s=J(Ii(J(a=>{let l=Mi(a);if(!l||Ye(l,n,i,!0))return;let c=r.getId(l);if(l===t&&t.defaultView){let u=vw(t.defaultView);e({id:c,x:u.left,y:u.top})}else e({id:c,x:l.scrollLeft,y:l.scrollTop})}),o.scroll||100));return Ke("scroll",s,t)}function j6({viewportResizeCb:e},{win:t}){let r=-1,n=-1,i=J(Ii(J(()=>{let o=xw(),s=kw();(r!==o||n!==s)&&(e({width:Number(s),height:Number(o)}),r=o,n=s)}),200));return Ke("resize",i,t)}var F6=["INPUT","TEXTAREA","SELECT"],jy=new WeakMap;function V6({inputCb:e,doc:t,mirror:r,blockClass:n,blockSelector:i,ignoreClass:o,ignoreSelector:s,maskInputOptions:a,maskInputFn:l,sampling:c,userTriggeredOnInput:u}){function d(S){let y=Mi(S),v=S.isTrusted,C=y&&y.tagName;if(y&&C==="OPTION"&&(y=H.parentElement(y)),!y||!C||F6.indexOf(C)<0||Ye(y,n,i,!0)||y.classList.contains(o)||s&&y.matches(s))return;let M=y.value,R=!1,E=Es(y)||"";E==="radio"||E==="checkbox"?R=y.checked:(a[C.toLowerCase()]||a[E])&&(M=Rs({element:y,maskInputOptions:a,tagName:C,type:E,value:M,maskInputFn:l})),p(y,u?{text:M,isChecked:R,userTriggered:v}:{text:M,isChecked:R});let x=y.name;E==="radio"&&x&&R&&t.querySelectorAll(`input[type="radio"][name="${x}"]`).forEach(U=>{if(U!==y){let X=U.value;p(U,u?{text:X,isChecked:!R,userTriggered:!1}:{text:X,isChecked:!R})}})}function p(S,y){let v=jy.get(S);if(!v||v.text!==y.text||v.isChecked!==y.isChecked){jy.set(S,y);let C=r.getId(S);J(e)({...y,id:C})}}let f=(c.input==="last"?["change"]:["input","change"]).map(S=>Ke(S,J(d),t)),m=t.defaultView;if(!m)return()=>{f.forEach(S=>S())};let g=m.Object.getOwnPropertyDescriptor(m.HTMLInputElement.prototype,"value"),w=[[m.HTMLInputElement.prototype,"value"],[m.HTMLInputElement.prototype,"checked"],[m.HTMLSelectElement.prototype,"value"],[m.HTMLTextAreaElement.prototype,"value"],[m.HTMLSelectElement.prototype,"selectedIndex"],[m.HTMLOptionElement.prototype,"selected"]];return g&&g.set&&f.push(...w.map(S=>Zs(S[0],S[1],{set(){J(d)({target:this,isTrusted:!1})}},!1,m))),J(()=>{f.forEach(S=>S())})}function js(e){let t=[];function r(n,i){if(gs("CSSGroupingRule")&&n.parentRule instanceof CSSGroupingRule||gs("CSSMediaRule")&&n.parentRule instanceof CSSMediaRule||gs("CSSSupportsRule")&&n.parentRule instanceof CSSSupportsRule||gs("CSSConditionRule")&&n.parentRule instanceof CSSConditionRule){let s=Array.from(n.parentRule.cssRules).indexOf(n);i.unshift(s)}else if(n.parentStyleSheet){let s=Array.from(n.parentStyleSheet.cssRules).indexOf(n);i.unshift(s)}return i}return r(e,t)}function hr(e,t,r){let n,i;return e?(e.ownerNode?n=t.getId(e.ownerNode):i=r.getId(e),{styleId:i,id:n}):{}}function B6({styleSheetRuleCb:e,mirror:t,stylesheetManager:r},{win:n}){if(!n.CSSStyleSheet||!n.CSSStyleSheet.prototype)return()=>{};let i=n.CSSStyleSheet.prototype.insertRule;n.CSSStyleSheet.prototype.insertRule=new Proxy(i,{apply:J((u,d,p)=>{let[h,f]=p,{id:m,styleId:g}=hr(d,t,r.styleMirror);return(m&&m!==-1||g&&g!==-1)&&e({id:m,styleId:g,adds:[{rule:h,index:f}]}),u.apply(d,p)})}),n.CSSStyleSheet.prototype.addRule=function(u,d,p=this.cssRules.length){let h=`${u} { ${d} }`;return n.CSSStyleSheet.prototype.insertRule.apply(this,[h,p])};let o=n.CSSStyleSheet.prototype.deleteRule;n.CSSStyleSheet.prototype.deleteRule=new Proxy(o,{apply:J((u,d,p)=>{let[h]=p,{id:f,styleId:m}=hr(d,t,r.styleMirror);return(f&&f!==-1||m&&m!==-1)&&e({id:f,styleId:m,removes:[{index:h}]}),u.apply(d,p)})}),n.CSSStyleSheet.prototype.removeRule=function(u){return n.CSSStyleSheet.prototype.deleteRule.apply(this,[u])};let s;n.CSSStyleSheet.prototype.replace&&(s=n.CSSStyleSheet.prototype.replace,n.CSSStyleSheet.prototype.replace=new Proxy(s,{apply:J((u,d,p)=>{let[h]=p,{id:f,styleId:m}=hr(d,t,r.styleMirror);return(f&&f!==-1||m&&m!==-1)&&e({id:f,styleId:m,replace:h}),u.apply(d,p)})}));let a;n.CSSStyleSheet.prototype.replaceSync&&(a=n.CSSStyleSheet.prototype.replaceSync,n.CSSStyleSheet.prototype.replaceSync=new Proxy(a,{apply:J((u,d,p)=>{let[h]=p,{id:f,styleId:m}=hr(d,t,r.styleMirror);return(f&&f!==-1||m&&m!==-1)&&e({id:f,styleId:m,replaceSync:h}),u.apply(d,p)})}));let l={};ys("CSSGroupingRule")?l.CSSGroupingRule=n.CSSGroupingRule:(ys("CSSMediaRule")&&(l.CSSMediaRule=n.CSSMediaRule),ys("CSSConditionRule")&&(l.CSSConditionRule=n.CSSConditionRule),ys("CSSSupportsRule")&&(l.CSSSupportsRule=n.CSSSupportsRule));let c={};return Object.entries(l).forEach(([u,d])=>{c[u]={insertRule:d.prototype.insertRule,deleteRule:d.prototype.deleteRule},d.prototype.insertRule=new Proxy(c[u].insertRule,{apply:J((p,h,f)=>{let[m,g]=f,{id:w,styleId:S}=hr(h.parentStyleSheet,t,r.styleMirror);return(w&&w!==-1||S&&S!==-1)&&e({id:w,styleId:S,adds:[{rule:m,index:[...js(h),g||0]}]}),p.apply(h,f)})}),d.prototype.deleteRule=new Proxy(c[u].deleteRule,{apply:J((p,h,f)=>{let[m]=f,{id:g,styleId:w}=hr(h.parentStyleSheet,t,r.styleMirror);return(g&&g!==-1||w&&w!==-1)&&e({id:g,styleId:w,removes:[{index:[...js(h),m]}]}),p.apply(h,f)})})}),J(()=>{n.CSSStyleSheet.prototype.insertRule=i,n.CSSStyleSheet.prototype.deleteRule=o,s&&(n.CSSStyleSheet.prototype.replace=s),a&&(n.CSSStyleSheet.prototype.replaceSync=a),Object.entries(l).forEach(([u,d])=>{d.prototype.insertRule=c[u].insertRule,d.prototype.deleteRule=c[u].deleteRule})})}function Lw({mirror:e,stylesheetManager:t},r){var n,i,o;let s=null;r.nodeName==="#document"?s=e.getId(r):s=e.getId(H.host(r));let a=r.nodeName==="#document"?(n=r.defaultView)==null?void 0:n.Document:(o=(i=r.ownerDocument)==null?void 0:i.defaultView)==null?void 0:o.ShadowRoot,l=a?.prototype?Object.getOwnPropertyDescriptor(a?.prototype,"adoptedStyleSheets"):void 0;return s===null||s===-1||!a||!l?()=>{}:(Object.defineProperty(r,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get(){var c;return(c=l.get)==null?void 0:c.call(this)},set(c){var u;let d=(u=l.set)==null?void 0:u.call(this,c);if(s!==null&&s!==-1)try{t.adoptStyleSheets(c,s)}catch{}return d}}),J(()=>{Object.defineProperty(r,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get:l.get,set:l.set})}))}function U6({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:r,stylesheetManager:n},{win:i}){let o=i.CSSStyleDeclaration.prototype.setProperty;i.CSSStyleDeclaration.prototype.setProperty=new Proxy(o,{apply:J((a,l,c)=>{var u;let[d,p,h]=c;if(r.has(d))return o.apply(l,[d,p,h]);let{id:f,styleId:m}=hr((u=l.parentRule)==null?void 0:u.parentStyleSheet,t,n.styleMirror);return(f&&f!==-1||m&&m!==-1)&&e({id:f,styleId:m,set:{property:d,value:p,priority:h},index:js(l.parentRule)}),a.apply(l,c)})});let s=i.CSSStyleDeclaration.prototype.removeProperty;return i.CSSStyleDeclaration.prototype.removeProperty=new Proxy(s,{apply:J((a,l,c)=>{var u;let[d]=c;if(r.has(d))return s.apply(l,[d]);let{id:p,styleId:h}=hr((u=l.parentRule)==null?void 0:u.parentStyleSheet,t,n.styleMirror);return(p&&p!==-1||h&&h!==-1)&&e({id:p,styleId:h,remove:{property:d},index:js(l.parentRule)}),a.apply(l,c)})}),J(()=>{i.CSSStyleDeclaration.prototype.setProperty=o,i.CSSStyleDeclaration.prototype.removeProperty=s})}function W6({mediaInteractionCb:e,blockClass:t,blockSelector:r,mirror:n,sampling:i,doc:o}){let s=J(l=>Ii(J(c=>{let u=Mi(c);if(!u||Ye(u,t,r,!0))return;let{currentTime:d,volume:p,muted:h,playbackRate:f,loop:m}=u;e({type:l,id:n.getId(u),currentTime:d,volume:p,muted:h,playbackRate:f,loop:m})}),i.media||500)),a=[Ke("play",s(ln.Play),o),Ke("pause",s(ln.Pause),o),Ke("seeked",s(ln.Seeked),o),Ke("volumechange",s(ln.VolumeChange),o),Ke("ratechange",s(ln.RateChange),o)];return J(()=>{a.forEach(l=>l())})}function H6({fontCb:e,doc:t}){let r=t.defaultView;if(!r)return()=>{};let n=[],i=new WeakMap,o=r.FontFace;r.FontFace=function(l,c,u){let d=new o(l,c,u);return i.set(d,{family:l,buffer:typeof c!="string",descriptors:u,fontSource:typeof c=="string"?c:JSON.stringify(Array.from(new Uint8Array(c)))}),d};let s=Fr(t.fonts,"add",function(a){return function(l){return setTimeout(J(()=>{let c=i.get(l);c&&(e(c),i.delete(l))}),0),a.apply(this,[l])}});return n.push(()=>{r.FontFace=o}),n.push(s),J(()=>{n.forEach(a=>a())})}function z6(e){let{doc:t,mirror:r,blockClass:n,blockSelector:i,selectionCb:o}=e,s=!0,a=J(()=>{let l=t.getSelection();if(!l||s&&l?.isCollapsed)return;s=l.isCollapsed||!1;let c=[],u=l.rangeCount||0;for(let d=0;d<u;d++){let p=l.getRangeAt(d),{startContainer:h,startOffset:f,endContainer:m,endOffset:g}=p;Ye(h,n,i,!0)||Ye(m,n,i,!0)||c.push({start:r.getId(h),startOffset:f,end:r.getId(m),endOffset:g})}o({ranges:c})});return a(),Ke("selectionchange",a)}function G6({doc:e,customElementCb:t}){let r=e.defaultView;return!r||!r.customElements?()=>{}:Fr(r.customElements,"define",function(i){return function(o,s,a){try{t({define:{name:o}})}catch{console.warn(`Custom element callback failed for ${o}`)}return i.apply(this,[o,s,a])}})}function q6(e,t){let{mutationCb:r,mousemoveCb:n,mouseInteractionCb:i,scrollCb:o,viewportResizeCb:s,inputCb:a,mediaInteractionCb:l,styleSheetRuleCb:c,styleDeclarationCb:u,canvasMutationCb:d,fontCb:p,selectionCb:h,customElementCb:f}=e;e.mutationCb=(...m)=>{t.mutation&&t.mutation(...m),r(...m)},e.mousemoveCb=(...m)=>{t.mousemove&&t.mousemove(...m),n(...m)},e.mouseInteractionCb=(...m)=>{t.mouseInteraction&&t.mouseInteraction(...m),i(...m)},e.scrollCb=(...m)=>{t.scroll&&t.scroll(...m),o(...m)},e.viewportResizeCb=(...m)=>{t.viewportResize&&t.viewportResize(...m),s(...m)},e.inputCb=(...m)=>{t.input&&t.input(...m),a(...m)},e.mediaInteractionCb=(...m)=>{t.mediaInteaction&&t.mediaInteaction(...m),l(...m)},e.styleSheetRuleCb=(...m)=>{t.styleSheetRule&&t.styleSheetRule(...m),c(...m)},e.styleDeclarationCb=(...m)=>{t.styleDeclaration&&t.styleDeclaration(...m),u(...m)},e.canvasMutationCb=(...m)=>{t.canvasMutation&&t.canvasMutation(...m),d(...m)},e.fontCb=(...m)=>{t.font&&t.font(...m),p(...m)},e.selectionCb=(...m)=>{t.selection&&t.selection(...m),h(...m)},e.customElementCb=(...m)=>{t.customElement&&t.customElement(...m),f(...m)}}function K6(e,t={}){let r=e.doc.defaultView;if(!r)return()=>{};q6(e,t);let n;e.recordDOM&&(n=Mw(e,e.doc));let i=D6(e),o=_6(e),s=Nw(e),a=j6(e,{win:r}),l=V6(e),c=W6(e),u=()=>{},d=()=>{},p=()=>{},h=()=>{};e.recordDOM&&(u=B6(e,{win:r}),d=Lw(e,e.doc),p=U6(e,{win:r}),e.collectFonts&&(h=H6(e)));let f=z6(e),m=G6(e),g=[];for(let w of e.plugins)g.push(w.observer(w.callback,r,w.options));return J(()=>{$r.forEach(w=>w.reset()),n?.disconnect(),i(),o(),s(),a(),l(),c(),u(),d(),p(),h(),f(),m(),g.forEach(w=>w())})}function gs(e){return typeof window[e]<"u"}function ys(e){return!!(typeof window[e]<"u"&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}var Fs=class{constructor(t){k(this,"iframeIdToRemoteIdMap",new WeakMap),k(this,"iframeRemoteIdToIdMap",new WeakMap),this.generateIdFn=t}getId(t,r,n,i){let o=n||this.getIdToRemoteIdMap(t),s=i||this.getRemoteIdToIdMap(t),a=o.get(r);return a||(a=this.generateIdFn(),o.set(r,a),s.set(a,r)),a}getIds(t,r){let n=this.getIdToRemoteIdMap(t),i=this.getRemoteIdToIdMap(t);return r.map(o=>this.getId(t,o,n,i))}getRemoteId(t,r,n){let i=n||this.getRemoteIdToIdMap(t);if(typeof r!="number")return r;let o=i.get(r);return o||-1}getRemoteIds(t,r){let n=this.getRemoteIdToIdMap(t);return r.map(i=>this.getRemoteId(t,i,n))}reset(t){if(!t){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(t),this.iframeRemoteIdToIdMap.delete(t)}getIdToRemoteIdMap(t){let r=this.iframeIdToRemoteIdMap.get(t);return r||(r=new Map,this.iframeIdToRemoteIdMap.set(t,r)),r}getRemoteIdToIdMap(t){let r=this.iframeRemoteIdToIdMap.get(t);return r||(r=new Map,this.iframeRemoteIdToIdMap.set(t,r)),r}},Zu=class{constructor(t){k(this,"iframes",new WeakMap),k(this,"crossOriginIframeMap",new WeakMap),k(this,"crossOriginIframeMirror",new Fs(Ky)),k(this,"crossOriginIframeStyleMirror"),k(this,"crossOriginIframeRootIdMap",new WeakMap),k(this,"mirror"),k(this,"mutationCb"),k(this,"wrappedEmit"),k(this,"loadListener"),k(this,"stylesheetManager"),k(this,"recordCrossOriginIframes"),this.mutationCb=t.mutationCb,this.wrappedEmit=t.wrappedEmit,this.stylesheetManager=t.stylesheetManager,this.recordCrossOriginIframes=t.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new Fs(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=t.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(t){this.iframes.set(t,!0),t.contentWindow&&this.crossOriginIframeMap.set(t.contentWindow,t)}addLoadListener(t){this.loadListener=t}attachIframe(t,r){var n,i;this.mutationCb({adds:[{parentId:this.mirror.getId(t),nextId:null,node:r}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&((n=t.contentWindow)==null||n.addEventListener("message",this.handleMessage.bind(this))),(i=this.loadListener)==null||i.call(this,t),t.contentDocument&&t.contentDocument.adoptedStyleSheets&&t.contentDocument.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(t.contentDocument.adoptedStyleSheets,this.mirror.getId(t.contentDocument))}handleMessage(t){let r=t;if(r.data.type!=="rrweb"||r.origin!==r.data.origin||!t.source)return;let i=this.crossOriginIframeMap.get(t.source);if(!i)return;let o=this.transformCrossOriginEvent(i,r.data.event);o&&this.wrappedEmit(o,r.data.isCheckout)}transformCrossOriginEvent(t,r){var n;switch(r.type){case q.FullSnapshot:{this.crossOriginIframeMirror.reset(t),this.crossOriginIframeStyleMirror.reset(t),this.replaceIdOnNode(r.data.node,t);let i=r.data.node.id;return this.crossOriginIframeRootIdMap.set(t,i),this.patchRootIdOnNode(r.data.node,i),{timestamp:r.timestamp,type:q.IncrementalSnapshot,data:{source:z.Mutation,adds:[{parentId:this.mirror.getId(t),nextId:null,node:r.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case q.Meta:case q.Load:case q.DomContentLoaded:return!1;case q.Plugin:return r;case q.Custom:return this.replaceIds(r.data.payload,t,["id","parentId","previousId","nextId"]),r;case q.IncrementalSnapshot:switch(r.data.source){case z.Mutation:return r.data.adds.forEach(i=>{this.replaceIds(i,t,["parentId","nextId","previousId"]),this.replaceIdOnNode(i.node,t);let o=this.crossOriginIframeRootIdMap.get(t);o&&this.patchRootIdOnNode(i.node,o)}),r.data.removes.forEach(i=>{this.replaceIds(i,t,["parentId","id"])}),r.data.attributes.forEach(i=>{this.replaceIds(i,t,["id"])}),r.data.texts.forEach(i=>{this.replaceIds(i,t,["id"])}),r;case z.Drag:case z.TouchMove:case z.MouseMove:return r.data.positions.forEach(i=>{this.replaceIds(i,t,["id"])}),r;case z.ViewportResize:return!1;case z.MediaInteraction:case z.MouseInteraction:case z.Scroll:case z.CanvasMutation:case z.Input:return this.replaceIds(r.data,t,["id"]),r;case z.StyleSheetRule:case z.StyleDeclaration:return this.replaceIds(r.data,t,["id"]),this.replaceStyleIds(r.data,t,["styleId"]),r;case z.Font:return r;case z.Selection:return r.data.ranges.forEach(i=>{this.replaceIds(i,t,["start","end"])}),r;case z.AdoptedStyleSheet:return this.replaceIds(r.data,t,["id"]),this.replaceStyleIds(r.data,t,["styleIds"]),(n=r.data.styles)==null||n.forEach(i=>{this.replaceStyleIds(i,t,["styleId"])}),r}}return!1}replace(t,r,n,i){for(let o of i)!Array.isArray(r[o])&&typeof r[o]!="number"||(Array.isArray(r[o])?r[o]=t.getIds(n,r[o]):r[o]=t.getId(n,r[o]));return r}replaceIds(t,r,n){return this.replace(this.crossOriginIframeMirror,t,r,n)}replaceStyleIds(t,r,n){return this.replace(this.crossOriginIframeStyleMirror,t,r,n)}replaceIdOnNode(t,r){this.replaceIds(t,r,["id","rootId"]),"childNodes"in t&&t.childNodes.forEach(n=>{this.replaceIdOnNode(n,r)})}patchRootIdOnNode(t,r){t.type!==Tw.Document&&!t.rootId&&(t.rootId=r),"childNodes"in t&&t.childNodes.forEach(n=>{this.patchRootIdOnNode(n,r)})}},Xu=class{constructor(t){k(this,"shadowDoms",new WeakSet),k(this,"mutationCb"),k(this,"scrollCb"),k(this,"bypassOptions"),k(this,"mirror"),k(this,"restoreHandlers",[]),this.mutationCb=t.mutationCb,this.scrollCb=t.scrollCb,this.bypassOptions=t.bypassOptions,this.mirror=t.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(t,r){if(!gi(t)||this.shadowDoms.has(t))return;this.shadowDoms.add(t);let n=Mw({...this.bypassOptions,doc:r,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},t);this.restoreHandlers.push(()=>n.disconnect()),this.restoreHandlers.push(Nw({...this.bypassOptions,scrollCb:this.scrollCb,doc:t,mirror:this.mirror})),setTimeout(()=>{t.adoptedStyleSheets&&t.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(t.adoptedStyleSheets,this.mirror.getId(H.host(t))),this.restoreHandlers.push(Lw({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},t))},0)}observeAttachShadow(t){!t.contentWindow||!t.contentDocument||this.patchAttachShadow(t.contentWindow.Element,t.contentDocument)}patchAttachShadow(t,r){let n=this;this.restoreHandlers.push(Fr(t.prototype,"attachShadow",function(i){return function(o){let s=i.call(this,o),a=H.shadowRoot(this);return a&&Pw(this)&&n.addShadowRoot(a,r),s}}))}reset(){this.restoreHandlers.forEach(t=>{try{t()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}},dn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Y6=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(hi=0;hi<dn.length;hi++)Y6[dn.charCodeAt(hi)]=hi;var hi,J6=function(e){var t=new Uint8Array(e),r,n=t.length,i="";for(r=0;r<n;r+=3)i+=dn[t[r]>>2],i+=dn[(t[r]&3)<<4|t[r+1]>>4],i+=dn[(t[r+1]&15)<<2|t[r+2]>>6],i+=dn[t[r+2]&63];return n%3===2?i=i.substring(0,i.length-1)+"=":n%3===1&&(i=i.substring(0,i.length-2)+"=="),i};var Fy=new Map;function Z6(e,t){let r=Fy.get(e);return r||(r=new Map,Fy.set(e,r)),r.has(t)||r.set(t,[]),r.get(t)}var $w=(e,t,r)=>{if(!e||!(_w(e,t)||typeof e=="object"))return;let n=e.constructor.name,i=Z6(r,n),o=i.indexOf(e);return o===-1&&(o=i.length,i.push(e)),o};function xs(e,t,r){if(e instanceof Array)return e.map(n=>xs(n,t,r));if(e===null)return e;if(e instanceof Float32Array||e instanceof Float64Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Int8Array||e instanceof Uint8ClampedArray)return{rr_type:e.constructor.name,args:[Object.values(e)]};if(e instanceof ArrayBuffer){let n=e.constructor.name,i=J6(e);return{rr_type:n,base64:i}}else{if(e instanceof DataView)return{rr_type:e.constructor.name,args:[xs(e.buffer,t,r),e.byteOffset,e.byteLength]};if(e instanceof HTMLImageElement){let n=e.constructor.name,{src:i}=e;return{rr_type:n,src:i}}else if(e instanceof HTMLCanvasElement){let n="HTMLImageElement",i=e.toDataURL();return{rr_type:n,src:i}}else{if(e instanceof ImageData)return{rr_type:e.constructor.name,args:[xs(e.data,t,r),e.width,e.height]};if(_w(e,t)||typeof e=="object"){let n=e.constructor.name,i=$w(e,t,r);return{rr_type:n,index:i}}}}return e}var Dw=(e,t,r)=>e.map(n=>xs(n,t,r)),_w=(e,t)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(i=>typeof t[i]=="function").find(i=>e instanceof t[i]);function X6(e,t,r,n){let i=[],o=Object.getOwnPropertyNames(t.CanvasRenderingContext2D.prototype);for(let s of o)try{if(typeof t.CanvasRenderingContext2D.prototype[s]!="function")continue;let a=Fr(t.CanvasRenderingContext2D.prototype,s,function(l){return function(...c){return Ye(this.canvas,r,n,!0)||setTimeout(()=>{let u=Dw(c,t,this);e(this.canvas,{type:bn["2D"],property:s,args:u})},0),l.apply(this,c)}});i.push(a)}catch{let a=Zs(t.CanvasRenderingContext2D.prototype,s,{set(l){e(this.canvas,{type:bn["2D"],property:s,args:[l],setter:!0})}});i.push(a)}return()=>{i.forEach(s=>s())}}function Q6(e){return e==="experimental-webgl"?"webgl":e}function Vy(e,t,r,n){let i=[];try{let o=Fr(e.HTMLCanvasElement.prototype,"getContext",function(s){return function(a,...l){if(!Ye(this,t,r,!0)){let c=Q6(a);if("__context"in this||(this.__context=c),n&&["webgl","webgl2"].includes(c))if(l[0]&&typeof l[0]=="object"){let u=l[0];u.preserveDrawingBuffer||(u.preserveDrawingBuffer=!0)}else l.splice(0,1,{preserveDrawingBuffer:!0})}return s.apply(this,[a,...l])}});i.push(o)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{i.forEach(o=>o())}}function By(e,t,r,n,i,o){let s=[],a=Object.getOwnPropertyNames(e);for(let l of a)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(l))try{if(typeof e[l]!="function")continue;let c=Fr(e,l,function(u){return function(...d){let p=u.apply(this,d);if($w(p,o,this),"tagName"in this.canvas&&!Ye(this.canvas,n,i,!0)){let h=Dw(d,o,this),f={type:t,property:l,args:h};r(this.canvas,f)}return p}});s.push(c)}catch{let c=Zs(e,l,{set(u){r(this.canvas,{type:t,property:l,args:[u],setter:!0})}});s.push(c)}return s}function e$(e,t,r,n){let i=[];return i.push(...By(t.WebGLRenderingContext.prototype,bn.WebGL,e,r,n,t)),typeof t.WebGL2RenderingContext<"u"&&i.push(...By(t.WebGL2RenderingContext.prototype,bn.WebGL2,e,r,n,t)),()=>{i.forEach(o=>o())}}var jw="KGZ1bmN0aW9uKCkgewogICJ1c2Ugc3RyaWN0IjsKICB2YXIgY2hhcnMgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyI7CiAgdmFyIGxvb2t1cCA9IHR5cGVvZiBVaW50OEFycmF5ID09PSAidW5kZWZpbmVkIiA/IFtdIDogbmV3IFVpbnQ4QXJyYXkoMjU2KTsKICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYXJzLmxlbmd0aDsgaSsrKSB7CiAgICBsb29rdXBbY2hhcnMuY2hhckNvZGVBdChpKV0gPSBpOwogIH0KICB2YXIgZW5jb2RlID0gZnVuY3Rpb24oYXJyYXlidWZmZXIpIHsKICAgIHZhciBieXRlcyA9IG5ldyBVaW50OEFycmF5KGFycmF5YnVmZmVyKSwgaTIsIGxlbiA9IGJ5dGVzLmxlbmd0aCwgYmFzZTY0ID0gIiI7CiAgICBmb3IgKGkyID0gMDsgaTIgPCBsZW47IGkyICs9IDMpIHsKICAgICAgYmFzZTY0ICs9IGNoYXJzW2J5dGVzW2kyXSA+PiAyXTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMl0gJiAzKSA8PCA0IHwgYnl0ZXNbaTIgKyAxXSA+PiA0XTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMiArIDFdICYgMTUpIDw8IDIgfCBieXRlc1tpMiArIDJdID4+IDZdOwogICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaTIgKyAyXSAmIDYzXTsKICAgIH0KICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgIj0iOwogICAgfSBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgIj09IjsKICAgIH0KICAgIHJldHVybiBiYXNlNjQ7CiAgfTsKICBjb25zdCBsYXN0QmxvYk1hcCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7CiAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTsKICBhc3luYyBmdW5jdGlvbiBnZXRUcmFuc3BhcmVudEJsb2JGb3Iod2lkdGgsIGhlaWdodCwgZGF0YVVSTE9wdGlvbnMpIHsKICAgIGNvbnN0IGlkID0gYCR7d2lkdGh9LSR7aGVpZ2h0fWA7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBpZiAodHJhbnNwYXJlbnRCbG9iTWFwLmhhcyhpZCkpIHJldHVybiB0cmFuc3BhcmVudEJsb2JNYXAuZ2V0KGlkKTsKICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsKICAgICAgb2Zmc2NyZWVuLmdldENvbnRleHQoIjJkIik7CiAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCBvZmZzY3JlZW4uY29udmVydFRvQmxvYihkYXRhVVJMT3B0aW9ucyk7CiAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0gYXdhaXQgYmxvYi5hcnJheUJ1ZmZlcigpOwogICAgICBjb25zdCBiYXNlNjQgPSBlbmNvZGUoYXJyYXlCdWZmZXIpOwogICAgICB0cmFuc3BhcmVudEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICByZXR1cm4gYmFzZTY0OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuICIiOwogICAgfQogIH0KICBjb25zdCB3b3JrZXIgPSBzZWxmOwogIHdvcmtlci5vbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihlKSB7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBjb25zdCB7IGlkLCBiaXRtYXAsIHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zIH0gPSBlLmRhdGE7CiAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKAogICAgICAgIHdpZHRoLAogICAgICAgIGhlaWdodCwKICAgICAgICBkYXRhVVJMT3B0aW9ucwogICAgICApOwogICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOwogICAgICBjb25zdCBjdHggPSBvZmZzY3JlZW4uZ2V0Q29udGV4dCgiMmQiKTsKICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwogICAgICBiaXRtYXAuY2xvc2UoKTsKICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IG9mZnNjcmVlbi5jb252ZXJ0VG9CbG9iKGRhdGFVUkxPcHRpb25zKTsKICAgICAgY29uc3QgdHlwZSA9IGJsb2IudHlwZTsKICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSBhd2FpdCBibG9iLmFycmF5QnVmZmVyKCk7CiAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7CiAgICAgIGlmICghbGFzdEJsb2JNYXAuaGFzKGlkKSAmJiBhd2FpdCB0cmFuc3BhcmVudEJhc2U2NCA9PT0gYmFzZTY0KSB7CiAgICAgICAgbGFzdEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICAgIHJldHVybiB3b3JrZXIucG9zdE1lc3NhZ2UoeyBpZCB9KTsKICAgICAgfQogICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KSByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7CiAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7CiAgICAgICAgaWQsCiAgICAgICAgdHlwZSwKICAgICAgICBiYXNlNjQsCiAgICAgICAgd2lkdGgsCiAgICAgICAgaGVpZ2h0CiAgICAgIH0pOwogICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsKICAgIH0KICB9Owp9KSgpOwovLyMgc291cmNlTWFwcGluZ1VSTD1pbWFnZS1iaXRtYXAtZGF0YS11cmwtd29ya2VyLUlKcEM3Z19iLmpzLm1hcAo=",t$=e=>Uint8Array.from(atob(e),t=>t.charCodeAt(0)),Uy=typeof window<"u"&&window.Blob&&new Blob([t$(jw)],{type:"text/javascript;charset=utf-8"});function r$(e){let t;try{if(t=Uy&&(window.URL||window.webkitURL).createObjectURL(Uy),!t)throw"";let r=new Worker(t,{name:e?.name});return r.addEventListener("error",()=>{(window.URL||window.webkitURL).revokeObjectURL(t)}),r}catch{return new Worker("data:text/javascript;base64,"+jw,{name:e?.name})}finally{t&&(window.URL||window.webkitURL).revokeObjectURL(t)}}var Qu=class{constructor(t){k(this,"pendingCanvasMutations",new Map),k(this,"rafStamps",{latestId:0,invokeId:null}),k(this,"mirror"),k(this,"mutationCb"),k(this,"resetObservers"),k(this,"frozen",!1),k(this,"locked",!1),k(this,"processMutation",(l,c)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(l)||this.pendingCanvasMutations.set(l,[]),this.pendingCanvasMutations.get(l).push(c)});let{sampling:r="all",win:n,blockClass:i,blockSelector:o,recordCanvas:s,dataURLOptions:a}=t;this.mutationCb=t.mutationCb,this.mirror=t.mirror,s&&r==="all"&&this.initCanvasMutationObserver(n,i,o),s&&typeof r=="number"&&this.initCanvasFPSObserver(r,n,i,o,{dataURLOptions:a})}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}initCanvasFPSObserver(t,r,n,i,o){let s=Vy(r,n,i,!0),a=new Map,l=new r$;l.onmessage=f=>{let{id:m}=f.data;if(a.set(m,!1),!("base64"in f.data))return;let{base64:g,type:w,width:S,height:y}=f.data;this.mutationCb({id:m,type:bn["2D"],commands:[{property:"clearRect",args:[0,0,S,y]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:g}],type:w}]},0,0]}]})};let c=1e3/t,u=0,d,p=()=>{let f=[];return r.document.querySelectorAll("canvas").forEach(m=>{Ye(m,n,i,!0)||f.push(m)}),f},h=f=>{if(u&&f-u<c){d=requestAnimationFrame(h);return}u=f,p().forEach(async m=>{var g;let w=this.mirror.getId(m);if(a.get(w)||m.width===0||m.height===0)return;if(a.set(w,!0),["webgl","webgl2"].includes(m.__context)){let y=m.getContext(m.__context);((g=y?.getContextAttributes())==null?void 0:g.preserveDrawingBuffer)===!1&&y.clear(y.COLOR_BUFFER_BIT)}let S=await createImageBitmap(m);l.postMessage({id:w,bitmap:S,width:m.width,height:m.height,dataURLOptions:o.dataURLOptions},[S])}),d=requestAnimationFrame(h)};d=requestAnimationFrame(h),this.resetObservers=()=>{s(),cancelAnimationFrame(d)}}initCanvasMutationObserver(t,r,n){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();let i=Vy(t,r,n,!1),o=X6(this.processMutation.bind(this),t,r,n),s=e$(this.processMutation.bind(this),t,r,n);this.resetObservers=()=>{i(),o(),s()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){let t=r=>{this.rafStamps.latestId=r,requestAnimationFrame(t)};requestAnimationFrame(t)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((t,r)=>{let n=this.mirror.getId(r);this.flushPendingCanvasMutationFor(r,n)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(t,r){if(this.frozen||this.locked)return;let n=this.pendingCanvasMutations.get(t);if(!n||r===-1)return;let i=n.map(s=>{let{type:a,...l}=s;return l}),{type:o}=n[0];this.mutationCb({id:r,type:o,commands:i}),this.pendingCanvasMutations.delete(t)}},ed=class{constructor(t){k(this,"trackedLinkElements",new WeakSet),k(this,"mutationCb"),k(this,"adoptedStyleSheetCb"),k(this,"styleMirror",new qu),this.mutationCb=t.mutationCb,this.adoptedStyleSheetCb=t.adoptedStyleSheetCb}attachLinkElement(t,r){"_cssText"in r.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:r.id,attributes:r.attributes}]}),this.trackLinkElement(t)}trackLinkElement(t){this.trackedLinkElements.has(t)||(this.trackedLinkElements.add(t),this.trackStylesheetInLinkElement(t))}adoptStyleSheets(t,r){if(t.length===0)return;let n={id:r,styleIds:[]},i=[];for(let o of t){let s;this.styleMirror.has(o)?s=this.styleMirror.getId(o):(s=this.styleMirror.add(o),i.push({styleId:s,rules:Array.from(o.rules||CSSRule,(a,l)=>({rule:Gy(a,o.href),index:l}))})),n.styleIds.push(s)}i.length>0&&(n.styles=i),this.adoptedStyleSheetCb(n)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(t){}},td=class{constructor(){k(this,"nodeMap",new WeakMap),k(this,"active",!1)}inOtherBuffer(t,r){let n=this.nodeMap.get(t);return n&&Array.from(n).some(i=>i!==r)}add(t,r){this.active||(this.active=!0,requestAnimationFrame(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(t,(this.nodeMap.get(t)||new Set).add(r))}destroy(){}},Ee,ks,pu,Vs=!1;try{if(Array.from([1],e=>e*2)[0]!==2){let e=document.createElement("iframe");document.body.appendChild(e),Array.from=((Hg=e.contentWindow)==null?void 0:Hg.Array.from)||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}var gt=oM();function Vr(e={}){let{emit:t,checkoutEveryNms:r,checkoutEveryNth:n,blockClass:i="rr-block",blockSelector:o=null,ignoreClass:s="rr-ignore",ignoreSelector:a=null,maskTextClass:l="rr-mask",maskTextSelector:c=null,inlineStylesheet:u=!0,maskAllInputs:d,maskInputOptions:p,slimDOMOptions:h,maskInputFn:f,maskTextFn:m,hooks:g,packFn:w,sampling:S={},dataURLOptions:y={},mousemoveWait:v,recordDOM:C=!0,recordCanvas:M=!1,recordCrossOriginIframes:R=!1,recordAfter:E=e.recordAfter==="DOMContentLoaded"?e.recordAfter:"load",userTriggeredOnInput:x=!1,collectFonts:U=!1,inlineImages:X=!1,plugins:Q,keepIframeSrcFn:j=()=>!1,ignoreCSSAttributes:ze=new Set([]),errorHandler:xt}=e;L6(xt);let _e=R?window.parent===window:!0,at=!1;if(!_e)try{window.parent.document&&(at=!1)}catch{at=!0}if(_e&&!t)throw new Error("emit function is required");if(!_e&&!at)return()=>{};v!==void 0&&S.mousemove===void 0&&(S.mousemove=v),gt.reset();let Er=d===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:p!==void 0?p:{password:!0},kt=Xy(h);P6();let Cf,il=0,Rf=ee=>{for(let dt of Q||[])dt.eventProcessor&&(ee=dt.eventProcessor(ee));return w&&!at&&(ee=w(ee)),ee};Ee=(ee,dt)=>{var ke;let Ce=ee;if(Ce.timestamp=_s(),(ke=$r[0])!=null&&ke.isFrozen()&&Ce.type!==q.FullSnapshot&&!(Ce.type===q.IncrementalSnapshot&&Ce.data.source===z.Mutation)&&$r.forEach(tt=>tt.unfreeze()),_e)t?.(Rf(Ce),dt);else if(at){let tt={type:"rrweb",event:Rf(Ce),origin:window.location.origin,isCheckout:dt};window.parent.postMessage(tt,"*")}if(Ce.type===q.FullSnapshot)Cf=Ce,il=0;else if(Ce.type===q.IncrementalSnapshot){if(Ce.data.source===z.Mutation&&Ce.data.isAttachIframe)return;il++;let tt=n&&il>=n,se=r&&Ce.timestamp-Cf.timestamp>r;(tt||se)&&ks(!0)}};let eo=ee=>{Ee({type:q.IncrementalSnapshot,data:{source:z.Mutation,...ee}})},Ef=ee=>Ee({type:q.IncrementalSnapshot,data:{source:z.Scroll,...ee}}),If=ee=>Ee({type:q.IncrementalSnapshot,data:{source:z.CanvasMutation,...ee}}),GC=ee=>Ee({type:q.IncrementalSnapshot,data:{source:z.AdoptedStyleSheet,...ee}}),Ir=new ed({mutationCb:eo,adoptedStyleSheetCb:GC}),Ar=new Zu({mirror:gt,mutationCb:eo,stylesheetManager:Ir,recordCrossOriginIframes:R,wrappedEmit:Ee});for(let ee of Q||[])ee.getMirror&&ee.getMirror({nodeMirror:gt,crossOriginIframeMirror:Ar.crossOriginIframeMirror,crossOriginIframeStyleMirror:Ar.crossOriginIframeStyleMirror});let ol=new td;pu=new Qu({recordCanvas:M,mutationCb:If,win:window,blockClass:i,blockSelector:o,mirror:gt,sampling:S.canvas,dataURLOptions:y});let to=new Xu({mutationCb:eo,scrollCb:Ef,bypassOptions:{blockClass:i,blockSelector:o,maskTextClass:l,maskTextSelector:c,inlineStylesheet:u,maskInputOptions:Er,dataURLOptions:y,maskTextFn:m,maskInputFn:f,recordCanvas:M,inlineImages:X,sampling:S,slimDOMOptions:kt,iframeManager:Ar,stylesheetManager:Ir,canvasManager:pu,keepIframeSrcFn:j,processedNodeManager:ol},mirror:gt});ks=(ee=!1)=>{if(!C)return;Ee({type:q.Meta,data:{href:window.location.href,width:kw(),height:xw()}},ee),Ir.reset(),to.init(),$r.forEach(ke=>ke.lock());let dt=PM(document,{mirror:gt,blockClass:i,blockSelector:o,maskTextClass:l,maskTextSelector:c,inlineStylesheet:u,maskAllInputs:Er,maskTextFn:m,maskInputFn:f,slimDOM:kt,dataURLOptions:y,recordCanvas:M,inlineImages:X,onSerialize:ke=>{Ew(ke,gt)&&Ar.addIframe(ke),Iw(ke,gt)&&Ir.trackLinkElement(ke),Gu(ke)&&to.addShadowRoot(H.shadowRoot(ke),document)},onIframeLoad:(ke,Ce)=>{Ar.attachIframe(ke,Ce),to.observeAttachShadow(ke)},onStylesheetLoad:(ke,Ce)=>{Ir.attachLinkElement(ke,Ce)},keepIframeSrcFn:j});if(!dt)return console.warn("Failed to snapshot the document");Ee({type:q.FullSnapshot,data:{node:dt,initialOffset:vw(window)}},ee),$r.forEach(ke=>ke.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&Ir.adoptStyleSheets(document.adoptedStyleSheets,gt.getId(document))};try{let ee=[],dt=Ce=>{var tt;return J(K6)({mutationCb:eo,mousemoveCb:(se,sl)=>Ee({type:q.IncrementalSnapshot,data:{source:sl,positions:se}}),mouseInteractionCb:se=>Ee({type:q.IncrementalSnapshot,data:{source:z.MouseInteraction,...se}}),scrollCb:Ef,viewportResizeCb:se=>Ee({type:q.IncrementalSnapshot,data:{source:z.ViewportResize,...se}}),inputCb:se=>Ee({type:q.IncrementalSnapshot,data:{source:z.Input,...se}}),mediaInteractionCb:se=>Ee({type:q.IncrementalSnapshot,data:{source:z.MediaInteraction,...se}}),styleSheetRuleCb:se=>Ee({type:q.IncrementalSnapshot,data:{source:z.StyleSheetRule,...se}}),styleDeclarationCb:se=>Ee({type:q.IncrementalSnapshot,data:{source:z.StyleDeclaration,...se}}),canvasMutationCb:If,fontCb:se=>Ee({type:q.IncrementalSnapshot,data:{source:z.Font,...se}}),selectionCb:se=>{Ee({type:q.IncrementalSnapshot,data:{source:z.Selection,...se}})},customElementCb:se=>{Ee({type:q.IncrementalSnapshot,data:{source:z.CustomElement,...se}})},blockClass:i,ignoreClass:s,ignoreSelector:a,maskTextClass:l,maskTextSelector:c,maskInputOptions:Er,inlineStylesheet:u,sampling:S,recordDOM:C,recordCanvas:M,inlineImages:X,userTriggeredOnInput:x,collectFonts:U,doc:Ce,maskInputFn:f,maskTextFn:m,keepIframeSrcFn:j,blockSelector:o,slimDOMOptions:kt,dataURLOptions:y,mirror:gt,iframeManager:Ar,stylesheetManager:Ir,shadowDomManager:to,processedNodeManager:ol,canvasManager:pu,ignoreCSSAttributes:ze,plugins:((tt=Q?.filter(se=>se.observer))==null?void 0:tt.map(se=>({observer:se.observer,options:se.options,callback:sl=>Ee({type:q.Plugin,data:{plugin:se.name,payload:sl}})})))||[]},g)};Ar.addLoadListener(Ce=>{try{ee.push(dt(Ce.contentDocument))}catch(tt){console.warn(tt)}});let ke=()=>{ks(),ee.push(dt(document)),Vs=!0};return["interactive","complete"].includes(document.readyState)?ke():(ee.push(Ke("DOMContentLoaded",()=>{Ee({type:q.DomContentLoaded,data:{}}),E==="DOMContentLoaded"&&ke()})),ee.push(Ke("load",()=>{Ee({type:q.Load,data:{}}),E==="load"&&ke()},window))),()=>{ee.forEach(Ce=>{try{Ce()}catch(tt){String(tt).toLowerCase().includes("cross-origin")||console.warn(tt)}}),ol.destroy(),Vs=!1,$6()}}catch(ee){console.warn(ee)}}Vr.addCustomEvent=(e,t)=>{if(!Vs)throw new Error("please add custom event after start recording");Ee({type:q.Custom,data:{tag:e,payload:t}})};Vr.freezePage=()=>{$r.forEach(e=>e.freeze())};Vr.takeFullSnapshot=e=>{if(!Vs)throw new Error("please take full snapshot after start recording");ks(e)};Vr.mirror=gt;var Wy;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(Wy||(Wy={}));var BJ=5*1e3;var{addCustomEvent:UJ}=Vr,{freezePage:WJ}=Vr,{takeFullSnapshot:HJ}=Vr;var Bw="__ripploEmitRrwebEvent";function Uw(){return{eventTypes:Fw(q),incrementalSources:Fw(z)}}function Fw(e){return Object.fromEntries(Object.entries(e).filter(t=>typeof t[1]=="number").map(([t,r])=>[r,t]))}var i$=Xc("@ripplo/rrweb-bundle/bundle","rrweb.js"),Vw;function Ww(){return Vw??=n$(i$,{encoding:"utf8"}),Vw}async function Ed({debugDir:e,writeOtlpPortFile:t}){let r=new Map,n=Fg(Uw()),i=await ci({localDir:Hw.join(Hw.dirname(e),".local"),writePortFile:t,onRrwebBatch:(a,l)=>{r.get(a)?.emitRrwebBatch(l)},onSpan:a=>{let l=a.attributes["ripplo.run"];l!=null&&r.get(l)?.emit(a)}}),o=await Ww();return{attach:async(a,l)=>{let c=jg({debugDir:e,runId:l,worker:n});r.set(l,c),await Bg(a,l),await a.addInitScript(`globalThis.__ripploCapturePort = ${String(i.port)};`),await s$(a,c);let u=[];return{emitAction:d=>{c$(c,d)},emitAssertion:d=>{u$(c,d)},finish:()=>a$(c,{pages:u,registry:r,runId:l}),onPage:d=>{u.push(d),l$(c,o,d)}}},close:async()=>{await i.stop(),await n.terminate()},injectSpan:(a,l)=>{r.get(a)?.emit(l)}}}async function o$(e){await Promise.all(e.map(t=>t.evaluate("globalThis.__ripploFlushRrweb ? globalThis.__ripploFlushRrweb() : undefined").catch(()=>{})))}async function s$(e,t){await e.exposeBinding(Bw,(r,n)=>{let i=typeof n=="string"?n:JSON.stringify(n);t.emitRrwebBatch(Buffer.from(i,"utf8"))})}async function a$(e,t){await o$(t.pages),t.registry.delete(t.runId),await e.close({noticeIfNoRrweb:"rrweb capture unavailable: recorder never pushed an event \u2014 page never loaded the recorder (blank page, failed navigation, or CSP block)"})}function l$(e,t,r){r.on("load",()=>{r.addScriptTag({content:t}).catch(()=>{})}),r.on("response",n=>{h$(e,n)}),r.on("console",n=>{e.emit({kind:"console",level:n.type(),source:"browser",text:n.text(),timeNanos:on(Date.now())})}),r.on("pageerror",n=>{e.emit({kind:"error",message:n.message,source:"browser",stack:n.stack,timeNanos:on(Date.now())})})}function c$(e,t){e.emit({action:t.kind,kind:"action",source:"test",target:d$(t),timeNanos:on(Date.now()),value:p$(t)})}function u$(e,t){let r=Yc(t);e.emit({kind:"assertion",label:r.label,outcome:t.outcome,source:"test",step:r.step,timeNanos:on(Date.now())})}function d$(e){if(e.url!=null)return e.url;if(e.locator!=null)return Rd(e.locator)}function Rd(e){return e.by==="testId"?`testId=${e.value}`:e.by==="inside"?`${Rd(e.scope)} \u25B8 ${Rd(e.target)}`:`${e.role} ${e.name??""}`.trim()}function p$(e){return e.value!=null?typeof e.value=="object"?JSON.stringify(e.value):String(e.value):e.key}var f$=/^http:\/\/127\.0\.0\.1:\d+\/rrweb\//;function h$(e,t){let r=t.request(),n=r.resourceType();if(n!=="fetch"&&n!=="xhr"||f$.test(r.url()))return;let i=r.headers().traceparent?.split("-");e.emit({kind:"network",method:r.method(),resourceType:n,source:"browser",spanId:i?.[2],status:t.status(),timeNanos:on(Date.now()),traceId:i?.[1],url:t.url()})}import{err as ax,ok as rf,ResultAsync as C5}from"neverthrow";function Ni(e){return{invariants:Pc(e),laws:Ec(e)}}var zw=Object.defineProperty,Gw=(e,t)=>{let r={};for(var n in e)zw(r,n,{get:e[n],enumerable:!0});return t||zw(r,Symbol.toStringTag,{value:"Module"}),r};var m$=class qw{constructor(t){this.seed=t}clone(){return new qw(this.seed)}next(){let t=Id(this.seed),r=Ad(t),n=Id(t),i=Ad(n);return this.seed=Id(n),Ad(this.seed)+(i+(r<<15)<<15)|0}jump(){this.seed=Math.imul(this.seed,1994129409)+916127744&4294967295}getState(){return[this.seed]}};function Id(e){return Math.imul(e,214013)+2531011&4294967295}function Ad(e){return(e&-2147483649)>>16}function Kw(e){return new m$(e)}var g$="SUSgbA\\W`E[]KN2RUSo8XVU?HKBFRl11E\\KoWOg5B]XEWG;BE;1:oVK[`B^Z9Qd23^XTnhL>]Unda4f[X;_j9H5QD=cN<5H`3bW>9bk1mjoI2fK0obmAAINOV:>Mek_V9dd<hZ\\gC3?Fm7FEk07QH_3PLm^@?^i\\QMkgP<]oLHmFnlecg5F@7U^@4jhZ?WZS0k@GHehmM36:5^9;>Hmm`co>k:KOSkSbIINb1VFf>LXgP>GUAQTD>Ci>XMGkUflLlb?_FaFUk@?5N7i70@;1o68ah@I<HFH7R2^J:G][Gf962ITWID9GWK8ElD2G5=DcHcL]cA]P2n7A=[<bInM;IHDQnJMReRXDWbVldnGEIPij`E08Xdci3@0c:IBbD4:Nk]?lEN9j^;T`0blZX7eiWE8c`<ak7j05FZi>AjUDh?M1B?^??FAXKThf<aBOXZf7jXYGK>R<;NHk3S9YhM7STJ6`:MIE`S@7298X8W>PNK=@;lLX<i\\TXLL<W@X[X54H]in8M;;n?kkQbajgAMY=Tf9b;ZKf0QUB2FHYWfnfkDoU9YkcLd95T>lK6GM1YL\\lid:J>KYS=iJ]Y>QlF>?R5_[5QeYC=66;A32Ac>OHk_ne^0g>bK:g;KFPgbGUcPR_Z=TX3H9d03bKZ2IhEPKBo>LSGWd0iFdV8C<Y:<>T[O6lC\\blaZ>GoAYP4clf^j1IfnZJ]QeDe2X<HE[LJNWnaCg[P]Co^:IRbWPY?97UePBlZNNHY6LOBM8P>=h?Ye:_f_Sb9Ki5GDYBF4dWeMfdg^ccPllNWM7G1\\UMdoYeOOD5^e@foA22G?ADYo5:FVG[bWo96;>3kc_c1Ab30>30;1@4F8g2hY?DJ4[LOL;ZLLKo2]jo>[KMDUcR279N_kF=3WL@Dd620bMTdA\\U9k``ef2iD9JgJ8CZBHS>F^Uk;<laeaeHS<15OSeS`PcSSKBRBFY]aQ=EgUXGNg=?d56`KA@2BejY0^[_DCX`L=CGMT=BW^6S1i@2ATBVk>3_ocRA>2U:4GPQ6o>5jX2HIcV3S@On6KB<[SKB?FC_AAji9agbBFkAi\\;4I\\UJ]c36Ub@[;gQACVGY<V]SDJBUU]La\\_a@JdOO8gm2T0DJMa:8Hf7>E]noQ[1Kambn??QQ]S?1i0oMGOijb\\aGY6lQ^CJ?9bFle8<eH4UUjBINX;n8@VOA5ah^URV49B[A?ONHhHAC1J5;;h0SXYlG^0W=eJdHh^K4SGe=1HZLLam;D<Q3AOdbPcdX``82\\jo0En8jRVGC73WMCF9`d:0heS?80?C188cSn7H9<daZ]MgS4Pb^1HkA:1PU^5>^h_g[RQV@PnYBRI_]`B]Bh@Uk03eXGY`I16L76H28X`R>IROMeNVUdU[:lghLhPCQZ:4a<30YBZCYnXe[?;jc8gKI2QH2MjnWBm4nGCZW`aVU2a;P<AMI25mlW_Nm][2?b6o851X@lAm]YZ`bWRF1g<Ga:T]1NXH5Veja5P9S9>:aNg:Th1Y=5o78K>LQ8hW@5S?I83Lk5Xk;j5@I3o[d:4RjE^oS30:WP9gC\\i8aSI>QRE@4lP:7lDg8g2`Ql[2I8aBU\\BQ?B4_clL9Q]S;^e1Ob5[>3JER2`c7B=o]fPOWO<DGi;Niba1PoWPPE_Q3aX0OB0mZej\\f_M[J4Y6]1`h2MkF[GiW8Q^d3^_=<I1N2Q7]2<2j[iP7V3V821FaI]A`93bC^Z\\G=WJ;^Ih?B97_iIF@\\Dl<eK1je8SNTWo_=XFMZH<<JYLZ^YQMPgYOV45K_:]kSI8^XlO0]GY=VUfe_C_F6TOcoAlVUH:o=WhhT@K`2KFhe<3\\KXQ>W:M?S_4S5d@J^`[AGA7@3]DnGSCO`\\?E8HT75^d9\\:m\\m1egIfk8cd6bD9\\eU8\\n[Pb0Cgd^S0n9kGJHb]i5XodlKHc34Fhi9K>0U5WK`>7Ff2^KL=WC6:kc?e5C^a1T1:4:^S5flXlGNIj08AfO?Dh7T7dWO>E]NI9?ob7B7P_h[4TEP[EU;GllFTnSmg9:\\[N]<SAoKP_kPlG56A:I3T6EG8Hj=XnUE`KT5U@OQ?]7[N^MFN1_NU4KO_3::Le`8IL9[1Z1H1;V3SC\\N3]S@4U[F2mhT5dYM7[4Pg_Na0_8WTH0`bgceQS8]EG;XgD4Ib4iLTP@kE79Mn>AYRJA1U5^Blhgno:aHVYc03c3J0Vc9FjEV^M75Zfd8kVC9>iJDk`AJ[6f7DK2D^DL\\AX:6b5h31XH;RQB\\N<ZSM=J;6L[`UW^eOIFc1Y]6_dfedIe4ARh72mTXC0WND_IDHVCZRDE0eODARCEETQI5TPUQE=jEH5bS?LP[ai`F5ABRYDo2o\\@=]GT?_9;hc4Lm:\\SF9k1T<0E@fX9BG[]g0nY7k[Qmi@la8`PF0j6@Q?Ii7bLkXQ<lLHf]`:DCh@9JY5>hEVLTdhL\\b1EB0lLh<=WaO@F<;8g<d:@e:LA:cFIEdmQh7hNHfSRToW?8N4:Z1K;XEDRO;OIDh<UdVln?bjgL>?VE98[B\\K<BVjkG8LiSX;fb>jf?DUK00Aih<WY6QD6cEnHBZ8iN_fd<G8Ci`11RUW2QlW]IXV:m?;J0GXXHfGNQ>:D`=fLPbO?VOTEYLj^cNj5PM>jKB5HVjJ4U7lXaTQNL9<@\\1`m\\Ug@VQHd7>jW=ca0`miF7;N0F=GjoQ`RFchKMGTmn8cF@Oh4GGCm7m2`U9j93Tb>=kSERjE_J939F01I1;`<ijk_=_Vn=7RVAI6fnQI5KlF:C44bN<<8K=Z<2TP<1]5?<dB>^LA=ebloE2Y2:9lkh0\\<YKbHD97iE`<C5oj^1>X:??`H6BXF2hG1Q[dF0Q=>W=J?7C\\k1T?<;R44oW?1hY^G8Zm]ZKnfOf0eCFYo6?=D8?<`6HU5SXh1;=:23LmV_FSi;OJfV<^?GkIDPISeHg1LaGE:V3Y3K3H<QJfbY?=;ldZRhnhQT_mGXDLFXXhSONE6Do_0iNZagB:BPGOTH;VhHUTd6LhQm^[;dO]5Hlkg<R:F<Kn\\:I:EGojgWZ2X@SYO_dlH;G8S<>oEKabY`:oU;=JW7ig?S?EYb86b7n8ce\\]IRa]koiWY<RfO;5kUI;7lVeC?[@ZaXDiF04B8R]bg@>O<mQDoUcBLcf^f>m2kMBUloD>Ze@NN^Z11TM`inXYhE_I=kA`:ZF4d\\>`L@;ZP[`ENU5cL[BV6\\Z?Di76:jg3hE6oG6jFc8kP=[GS1;WSedYQW1:U4\\OF32GgmMC<AjO]872bdBb`bKAA?8j78b>T3VfcUB2m4J^CPRU;8dScI]LU]^bBYA5_3:Y0N5i^?200000",y$=class Jw{constructor(t,r){this.states=t,this.index=r}clone(){return new Jw(this.states.slice(),this.index)}next(){let t=this.states[this.index];return t^=t>>>11,t^=t<<7&2636928640,t^=t<<15&4022730752,t^=t>>>18,this.index=Xs(this.states,this.index),t}getState(){return[this.index,...this.states]}jump(){let t=this.states.slice(),r=this.index;this.index=Xs(this.states,this.index);for(let n=19932;n>0;--n)g$.charCodeAt(n/6|0)-48&1<<n%6&&Yw(this.states,this.index,t,r),this.index=Xs(this.states,this.index);Yw(this.states,this.index,t,r)}};function Yw(e,t,r,n){let i=0;if(n>=t){for(;i<624-n;i++)e[i+t]^=r[i+n];for(;i<624-t;i++)e[i+t]^=r[i+n-624];for(;i<624;i++)e[i+t-624]^=r[i+n-624]}else{for(;i<624-t;i++)e[i+t]^=r[i+n];for(;i<624-n;i++)e[i+t-624]^=r[i+n];for(;i<624;i++)e[i+t-624]^=r[i+n-624]}}function Xs(e,t){if(t<227){let r=e[t]&2147483648|e[t+1]&2147483647;return e[t]=e[t+397]^r>>>1^-(r&1)&2567483615,t+1}else if(t<623){let r=e[t]&2147483648|e[t+1]&2147483647;return e[t]=e[t+397-624]^r>>>1^-(r&1)&2567483615,t+1}else{let r=e[t]&2147483648|e[0]&2147483647;return e[t]=e[396]^r>>>1^-(r&1)&2567483615,0}}function b$(e){for(let t=0;t!==624;++t)Xs(e,t)}function Zw(e){let t=[e|0];for(let r=1;r!==624;++r){let n=t[r-1]^t[r-1]>>>30;t.push(Math.imul(1812433253,n)+r|0)}return b$(t),new y$(t,0)}var w$=class Xw{constructor(t,r,n,i){this.s01=t,this.s00=r,this.s11=n,this.s10=i}clone(){return new Xw(this.s01,this.s00,this.s11,this.s10)}next(){let t=this.s00^this.s00<<23,r=this.s01^(this.s01<<23|this.s00>>>9),n=t^this.s10^(t>>>18|r<<14)^(this.s10>>>5|this.s11<<27),i=r^this.s11^r>>>18^this.s11>>>5,o=this.s00+this.s10|0;return this.s01=this.s11,this.s00=this.s10,this.s11=i,this.s10=n,o}jump(){let t=0,r=0,n=0,i=0,o=[1667051007,2321340297,1548169110,304075285];for(let s=0;s!==4;++s)for(let a=1;a;a<<=1)o[s]&a&&(t^=this.s01,r^=this.s00,n^=this.s11,i^=this.s10),this.next();this.s01=t,this.s00=r,this.s11=n,this.s10=i}getState(){return[this.s01,this.s00,this.s11,this.s10]}};function Pd(e){return new w$(-1,~e,e|0,0)}var S$=class Qw{constructor(t,r,n,i){this.s01=t,this.s00=r,this.s11=n,this.s10=i}clone(){return new Qw(this.s01,this.s00,this.s11,this.s10)}next(){let t=this.s00+this.s10|0,r=this.s10^this.s00,n=this.s11^this.s01,i=this.s00,o=this.s01;return this.s00=i<<24^o>>>8^r^r<<16,this.s01=o<<24^i>>>8^n^(n<<16|r>>>16),this.s10=n<<5^r>>>27,this.s11=r<<5^n>>>27,t}jump(){let t=0,r=0,n=0,i=0,o=[3639956645,3750757012,1261568508,386426335];for(let s=0;s!==4;++s)for(let a=1;a;a<<=1)o[s]&a&&(t^=this.s01,r^=this.s00,n^=this.s11,i^=this.s10),this.next();this.s01=t,this.s00=r,this.s11=n,this.s10=i}getState(){return[this.s01,this.s00,this.s11,this.s10]}};function eS(e){return new S$(-1,~e,e|0,0)}function tS(e,t){for(let r=0;r!==t;++r)e.next()}var rS=BigInt,v$=4294967296n;function iS(e,t,r){let n=r-t+1n,i=v$,o=1;for(;i<n;)i<<=32n,++o;let s=nS(o,e);if(s<n)return s+t;if(s+n<i)return s%n+t;let a=i-i%n;for(;s>=a;)s=nS(o,e);return s%n+t}function nS(e,t){let r=rS(t.next()+2147483648);for(let n=1;n<e;++n){let i=t.next();r=(r<<32n)+rS(i+2147483648)}return r}function Li(e,t){let r=t>2?~~(4294967296/t)*t:4294967296,n=e.next()+2147483648;for(;n>=r;)n=e.next()+2147483648;return n%t}function Td(e,t){if(t<0){let r=-t;e.sign=-1,e.data[0]=~~(r/4294967296),e.data[1]=r>>>0}else e.sign=1,e.data[0]=~~(t/4294967296),e.data[1]=t>>>0;return e}function x$(e,t,r){let n=t.data[1],i=t.data[0],o=t.sign,s=r.data[1],a=r.data[0],l=r.sign;if(e.sign=1,o===1&&l===-1){let m=n+s,g=i+a+(m>4294967295?1:0);return e.data[0]=g>>>0,e.data[1]=m>>>0,e}let c=n,u=i,d=s,p=a;o===-1&&(c=s,u=a,d=n,p=i);let h=0,f=c-d;return f<0&&(h=1,f=f>>>0),e.data[0]=u-p-h,e.data[1]=f,e}function k$(e,t,r){let n=r[0]+1;for(t[0]=Li(e,n),t[1]=Li(e,4294967296);t[0]>=r[0]&&(t[0]!==r[0]||t[1]>=r[1]);)t[0]=Li(e,n),t[1]=Li(e,4294967296);return t}var C$=Number.MAX_SAFE_INTEGER,R$={sign:1,data:[0,0]},E$={sign:1,data:[0,0]},oS={sign:1,data:[0,0]},Od=[0,0];function I$(e,t,r,n){let i=n<=C$?Td(oS,n):x$(oS,Td(R$,r),Td(E$,t));return i.data[1]===4294967295?(i.data[0]+=1,i.data[1]=0):i.data[1]+=1,k$(e,Od,i.data),Od[0]*4294967296+Od[1]+t}function Qs(e,t,r){let n=r-t;return n<=4294967295?Li(e,n+1)+t:I$(e,t,r,n)}var sS=Symbol.for("fast-check/PreconditionFailure"),vr=class extends Error{constructor(e=!1){super(),this.interruptExecution=e,this.footprint=sS}static isFailure(e){return e!=null&&e.footprint===sS}};function A$(e){if(!e)throw new vr}var P$=class{[Symbol.iterator](){return this}next(e){return{value:e,done:!0}}},T$=new P$;function O$(){return T$}function*M$(e,t){for(let r of e)yield t(r)}function*N$(e,t){for(let r of e)yield*t(r)}function*L$(e,t){for(let r of e)t(r)&&(yield r)}function*$$(e,t){for(let r=0;r<t;++r){let n=e.next();if(n.done)break;yield n.value}}function*D$(e,t){let r=e.next();for(;!r.done&&t(r.value);)yield r.value,r=e.next()}function*_$(e,t){for(let r=e.next();!r.done;r=e.next())yield r.value;for(let r of t)for(let n=r.next();!n.done;n=r.next())yield n.value}var j$=Symbol.iterator,B=class Ht{static nil(){return new Ht(O$())}static of(...t){return new Ht(t[j$]())}constructor(t){this.g=t}next(){return this.g.next()}[Symbol.iterator](){return this.g}map(t){return new Ht(M$(this.g,t))}flatMap(t){return new Ht(N$(this.g,t))}dropWhile(t){let r=!1;function*n(i){(r||!t(i))&&(r=!0,yield i)}return this.flatMap(n)}drop(t){if(t<=0)return this;let r=0;function n(){return r++<t}return this.dropWhile(n)}takeWhile(t){return new Ht(D$(this.g,t))}take(t){return new Ht($$(this.g,t))}filter(t){return new Ht(L$(this.g,t))}every(t){for(let r of this.g)if(!t(r))return!1;return!0}has(t){for(let r of this.g)if(t(r))return[!0,r];return[!1,null]}join(...t){return new Ht(_$(this.g,t))}getNthOrLast(t){let r=t,n=null;for(let i of this.g){if(r--===0)return i;n=i}return n}};function wr(e){return new B(e)}var Be=Symbol.for("fast-check/cloneMethod");function Ur(e){return e!==null&&(typeof e=="object"||typeof e=="function")&&Be in e&&typeof e[Be]=="function"}function kn(e){return Ur(e)?e[Be]():e}var F$=Object.defineProperty,$=class{constructor(e,t,r){this.value_=e,this.context=t,this.hasToBeCloned=r!==void 0||Ur(e),this.readOnce=!1,this.value=e,this.hasToBeCloned&&F$(this,"value",{get:r!==void 0?r:this.getValue,enumerable:!1,configurable:!1})}getValue(){return this.hasToBeCloned?this.readOnce?this.value_[Be]():(this.readOnce=!0,this.value_):this.value_}},he=class{filter(e){return new U$(this,e)}map(e,t){return new B$(this,e,t)}chain(e){return new V$(this,e)}},V$=class extends he{constructor(e,t){super(),this.arb=e,this.chainer=t}generate(e,t){let r=e.clone(),n=this.arb.generate(e,t);return this.valueChainer(n,e,r,t)}canShrinkWithoutContext(e){return!1}shrink(e,t){return this.isSafeContext(t)?(t.stoppedForOriginal?B.nil():this.arb.shrink(t.originalValue,t.originalContext).map(r=>this.valueChainer(r,t.clonedMrng.clone(),t.clonedMrng,t.originalBias))).join(t.chainedArbitrary.shrink(e,t.chainedContext).map(r=>{let n={...t,chainedContext:r.context,stoppedForOriginal:!0};return new $(r.value_,n)})):B.nil()}valueChainer(e,t,r,n){let i=this.chainer(e.value_),o=i.generate(t,n),s={originalBias:n,originalValue:e.value_,originalContext:e.context,stoppedForOriginal:!1,chainedArbitrary:i,chainedContext:o.context,clonedMrng:r};return new $(o.value_,s)}isSafeContext(e){return e!=null&&typeof e=="object"&&"originalBias"in e&&"originalValue"in e&&"originalContext"in e&&"stoppedForOriginal"in e&&"chainedArbitrary"in e&&"chainedContext"in e&&"clonedMrng"in e}},B$=class extends he{constructor(e,t,r){super(),this.arb=e,this.mapper=t,this.unmapper=r,this.bindValueMapper=n=>this.valueMapper(n)}generate(e,t){let r=this.arb.generate(e,t);return this.valueMapper(r)}canShrinkWithoutContext(e){if(this.unmapper!==void 0)try{let t=this.unmapper(e);return this.arb.canShrinkWithoutContext(t)}catch{return!1}return!1}shrink(e,t){if(this.isSafeContext(t))return this.arb.shrink(t.originalValue,t.originalContext).map(this.bindValueMapper);if(this.unmapper!==void 0){let r=this.unmapper(e);return this.arb.shrink(r,void 0).map(this.bindValueMapper)}return B.nil()}mapperWithCloneIfNeeded(e){let t=e.value,r=this.mapper(t);return e.hasToBeCloned&&(typeof r=="object"&&r!==null||typeof r=="function")&&Object.isExtensible(r)&&!Ur(r)&&Object.defineProperty(r,Be,{get:()=>()=>this.mapperWithCloneIfNeeded(e)[0]}),[r,t]}valueMapper(e){let[t,r]=this.mapperWithCloneIfNeeded(e);return new $(t,{originalValue:r,originalContext:e.context})}isSafeContext(e){return e!=null&&typeof e=="object"&&"originalValue"in e&&"originalContext"in e}},U$=class extends he{constructor(e,t){super(),this.arb=e,this.refinement=t,this.bindRefinementOnValue=r=>this.refinementOnValue(r)}generate(e,t){for(;;){let r=this.arb.generate(e,t);if(this.refinementOnValue(r))return r}}canShrinkWithoutContext(e){return this.arb.canShrinkWithoutContext(e)&&this.refinement(e)}shrink(e,t){return this.arb.shrink(e,t).filter(this.bindRefinementOnValue)}refinementOnValue(e){return this.refinement(e.value)}};function s1(e){return typeof e=="object"&&e!==null&&"generate"in e&&"shrink"in e&&"canShrinkWithoutContext"in e}function a1(e){if(!s1(e))throw new Error("Unexpected value received: not an instance of Arbitrary")}var l1=Function.prototype.apply,Md=Symbol("apply");function W$(e){try{return e.apply}catch{return}}function H$(e,t,r){let n=e;n[Md]=l1;let i=n[Md](t,r);return delete n[Md],i}function K(e,t,r){return W$(e)===l1?e.apply(t,r):H$(e,t,r)}var c1=Array,O=BigInt,z$=BigInt64Array,G$=BigUint64Array,u1=Boolean,ha=Date,N=Error,d1=Float32Array,p1=Float64Array,q$=Int8Array,K$=Int16Array,Y$=Int32Array,Gt=Number,Je=String,Cn=Set,J$=Uint8Array,Z$=Uint8ClampedArray,X$=Uint16Array,Q$=Uint32Array,e4=encodeURIComponent,qt=Map,aa=Symbol,aS=Array.prototype.forEach,lS=Array.prototype.indexOf,cS=Array.prototype.join,uS=Array.prototype.map,dS=Array.prototype.flat,pS=Array.prototype.filter,fS=Array.prototype.push,hS=Array.prototype.pop,mS=Array.prototype.splice,gS=Array.prototype.slice,yS=Array.prototype.sort,bS=Array.prototype.every;function t4(e){try{return e.forEach}catch{return}}function r4(e){try{return e.indexOf}catch{return}}function n4(e){try{return e.join}catch{return}}function i4(e){try{return e.map}catch{return}}function o4(e){try{return e.flat}catch{return}}function s4(e){try{return e.filter}catch{return}}function a4(e){try{return e.push}catch{return}}function l4(e){try{return e.pop}catch{return}}function c4(e){try{return e.splice}catch{return}}function u4(e){try{return e.slice}catch{return}}function d4(e){try{return e.sort}catch{return}}function p4(e){try{return e.every}catch{return}}function f1(e,t){return t4(e)===aS?e.forEach(t):K(aS,e,[t])}function zt(e,...t){return r4(e)===lS?e.indexOf(...t):K(lS,e,t)}function fe(e,...t){return n4(e)===cS?e.join(...t):K(cS,e,t)}function G(e,t){return i4(e)===uS?e.map(t):K(uS,e,[t])}function f4(e,t){return o4(e)===dS?([].flat(),e.flat(t)):K(dS,e,[t])}function h4(e,t){return s4(e)===pS?e.filter(t):K(pS,e,[t])}function L(e,...t){return a4(e)===fS?e.push(...t):K(fS,e,t)}function h1(e){return l4(e)===hS?e.pop():K(hS,e,[])}function m1(e,...t){return c4(e)===mS?e.splice(...t):K(mS,e,t)}function Ue(e,...t){return u4(e)===gS?e.slice(...t):K(gS,e,t)}function g1(e,...t){return d4(e)===yS?e.sort(...t):K(yS,e,t)}function y1(e,...t){return p4(e)===bS?e.every(...t):K(bS,e,t)}var wS=Date.prototype.getTime,SS=Date.prototype.toISOString;function m4(e){try{return e.getTime}catch{return}}function g4(e){try{return e.toISOString}catch{return}}function ma(e){return m4(e)===wS?e.getTime():K(wS,e,[])}function y4(e){return g4(e)===SS?e.toISOString():K(SS,e,[])}var vS=Set.prototype.add,xS=Set.prototype.has;function b4(e){try{return e.add}catch{return}}function w4(e){try{return e.has}catch{return}}function Fi(e,t){return b4(e)===vS?e.add(t):K(vS,e,[t])}function ga(e,t){return w4(e)===xS?e.has(t):K(xS,e,[t])}var kS=WeakMap.prototype.set,CS=WeakMap.prototype.get;function S4(e){try{return e.set}catch{return}}function v4(e){try{return e.get}catch{return}}function x4(e,t,r){return S4(e)===kS?e.set(t,r):K(kS,e,[t,r])}function k4(e,t){return v4(e)===CS?e.get(t):K(CS,e,[t])}var RS=Map.prototype.set,ES=Map.prototype.get,IS=Map.prototype.has;function C4(e){try{return e.set}catch{return}}function R4(e){try{return e.get}catch{return}}function E4(e){try{return e.has}catch{return}}function wt(e,t,r){return C4(e)===RS?e.set(t,r):K(RS,e,[t,r])}function st(e,t){return R4(e)===ES?e.get(t):K(ES,e,[t])}function I4(e,t){return E4(e)===IS?e.has(t):K(IS,e,[t])}var AS=String.prototype.split,PS=String.prototype.startsWith,TS=String.prototype.endsWith,OS=String.prototype.substring,MS=String.prototype.toLowerCase,NS=String.prototype.toUpperCase,LS=String.prototype.padStart,$S=String.prototype.charCodeAt,DS=String.prototype.normalize,_S=String.prototype.replace;function A4(e){try{return e.split}catch{return}}function P4(e){try{return e.startsWith}catch{return}}function T4(e){try{return e.endsWith}catch{return}}function O4(e){try{return e.substring}catch{return}}function M4(e){try{return e.toLowerCase}catch{return}}function N4(e){try{return e.toUpperCase}catch{return}}function L4(e){try{return e.padStart}catch{return}}function $4(e){try{return e.charCodeAt}catch{return}}function D4(e){try{return e.normalize}catch{return}}function _4(e){try{return e.replace}catch{return}}function Ze(e,...t){return A4(e)===AS?e.split(...t):K(AS,e,t)}function j4(e,...t){return P4(e)===PS?e.startsWith(...t):K(PS,e,t)}function F4(e,...t){return T4(e)===TS?e.endsWith(...t):K(TS,e,t)}function ve(e,...t){return O4(e)===OS?e.substring(...t):K(OS,e,t)}function np(e){return M4(e)===MS?e.toLowerCase():K(MS,e,[])}function Pp(e){return N4(e)===NS?e.toUpperCase():K(NS,e,[])}function V4(e,...t){return L4(e)===LS?e.padStart(...t):K(LS,e,t)}function Rn(e,t){return $4(e)===$S?e.charCodeAt(t):K($S,e,[t])}function B4(e,t){return D4(e)===DS?e.normalize(t):K(DS,e,[t])}function U4(e,t,r){return _4(e)===_S?e.replace(t,r):K(_S,e,[t,r])}var jS=Number.prototype.toString;function W4(e){try{return e.toString}catch{return}}function Vi(e,...t){return W4(e)===jS?e.toString(...t):K(jS,e,t)}var H4=Object.prototype.hasOwnProperty,z4=Object.prototype.toString;function b1(e,t){return K(H4,e,[t])}function ip(e){return K(z4,e,[])}var G4=Error.prototype.toString;function q4(e){return K(G4,e,[])}var K4=class{constructor(e){this.producer=e}[Symbol.iterator](){return this.it===void 0&&(this.it=this.producer()),this.it}next(){return this.it===void 0&&(this.it=this.producer()),this.it.next()}};function br(e){return new K4(e)}var w1=Array.isArray,Y4=Object.defineProperty;function S1(e,t){return Y4(e,Be,{value:()=>{let r=[];for(let n=0;n!==t.length;++n)L(r,t[n].value);return S1(r,t),r}})}function v1(e){let t=!1,r=[],n=[];for(let i=0;i!==e.length;++i){let o=e[i];t=t||o.hasToBeCloned,L(r,o.value),L(n,o.context)}return t&&S1(r,e),new $(r,n)}function x1(e,t,r){let n=[],i=w1(r)?r:[];for(let o=0;o!==e.length;++o)L(n,br(()=>e[o].shrink(t[o],i[o]).map(s=>{let a=G(t,(l,c)=>new $(kn(l),i[c]));return[...Ue(a,0,o),s,...Ue(a,o+1)]}).map(v1)));return B.nil().join(...n)}var J4=class extends he{constructor(e){super(),this.arbs=e;for(let t=0;t!==e.length;++t){let r=e[t];if(r==null||r.generate===null||r.generate===void 0)throw new Error(`Invalid parameter encountered at index ${t}: expecting an Arbitrary`)}}generate(e,t){let r=[];for(let n=0;n!==this.arbs.length;++n)L(r,this.arbs[n].generate(e,t));return v1(r)}canShrinkWithoutContext(e){if(!w1(e)||e.length!==this.arbs.length)return!1;for(let t=0;t!==this.arbs.length;++t)if(!this.arbs[t].canShrinkWithoutContext(e[t]))return!1;return!0}shrink(e,t){return x1(this.arbs,e,t)}};function W(...e){return new J4(e)}var Z4=Math.log;function k1(e){return 2+~~(Z4(e+1)*.4342944819032518)}var Tp={};function X4(e){Tp=e}function St(){return Tp}function Q4(){Tp={}}var Bi=Symbol("UndefinedContextPlaceholder");function En(e){return e.context!==void 0?e:e.hasToBeCloned?new $(e.value_,Bi,()=>e.value):new $(e.value_,Bi)}var FS=()=>{},e3=class{constructor(e,t){this.arb=e,this.predicate=t;let{asyncBeforeEach:r,asyncAfterEach:n,beforeEach:i,afterEach:o}=St()||{};if(r!==void 0&&i!==void 0)throw N(`Global "asyncBeforeEach" and "beforeEach" parameters can't be set at the same time when running async properties`);if(n!==void 0&&o!==void 0)throw N(`Global "asyncAfterEach" and "afterEach" parameters can't be set at the same time when running async properties`);this.beforeEachHook=r||i||FS,this.afterEachHook=n||o||FS}isAsync(){return!0}generate(e,t){return En(this.arb.generate(e,t!==void 0?k1(t):void 0))}shrink(e){if(e.context===void 0&&!this.arb.canShrinkWithoutContext(e.value_))return B.nil();let t=e.context!==Bi?e.context:void 0;return this.arb.shrink(e.value_,t).map(En)}async runBeforeEach(){await this.beforeEachHook()}async runAfterEach(){await this.afterEachHook()}async run(e){try{let t=await this.predicate(e);return t===void 0||t===!0?null:{error:new N("Property failed by returning false")}}catch(t){return vr.isFailure(t)?t:{error:t}}}beforeEach(e){let t=this.beforeEachHook;return this.beforeEachHook=()=>e(t),this}afterEach(e){let t=this.afterEachHook;return this.afterEachHook=()=>e(t),this}},C1=class extends he{constructor(e){super(),this.arb=e}generate(e,t){return En(this.arb.generate(e,t))}canShrinkWithoutContext(e){return!0}shrink(e,t){if(t===void 0&&!this.arb.canShrinkWithoutContext(e))return B.nil();let r=t!==Bi?t:void 0;return this.arb.shrink(e,r).map(En)}};function t3(...e){if(e.length<2)throw new Error("asyncProperty expects at least two parameters");let t=Ue(e,0,e.length-1),r=e[e.length-1];return f1(t,a1),new e3(W(...G(t,n=>new C1(n))),n=>r(...n))}var VS=()=>{},R1=class{constructor(e,t){this.arb=e,this.predicate=t;let{beforeEach:r=VS,afterEach:n=VS,asyncBeforeEach:i,asyncAfterEach:o}=St()||{};if(i!==void 0)throw N(`"asyncBeforeEach" can't be set when running synchronous properties`);if(o!==void 0)throw N(`"asyncAfterEach" can't be set when running synchronous properties`);this.beforeEachHook=r,this.afterEachHook=n}isAsync(){return!1}generate(e,t){return En(this.arb.generate(e,t!==void 0?k1(t):void 0))}shrink(e){if(e.context===void 0&&!this.arb.canShrinkWithoutContext(e.value_))return B.nil();let t=e.context!==Bi?e.context:void 0;return this.arb.shrink(e.value_,t).map(En)}runBeforeEach(){this.beforeEachHook()}runAfterEach(){this.afterEachHook()}run(e){try{let t=this.predicate(e);return t===void 0||t===!0?null:{error:new N("Property failed by returning false")}}catch(t){return vr.isFailure(t)?t:{error:t}}}beforeEach(e){let t=this.beforeEachHook;return this.beforeEachHook=()=>e(t),this}afterEach(e){let t=this.afterEachHook;return this.afterEachHook=()=>e(t),this}};function r3(...e){if(e.length<2)throw new Error("property expects at least two parameters");let t=Ue(e,0,e.length-1),r=e[e.length-1];return f1(t,a1),new R1(W(...G(t,n=>new C1(n))),n=>r(...n))}var n3=(function(e){return e[e.None=0]="None",e[e.Verbose=1]="Verbose",e[e.VeryVerbose=2]="VeryVerbose",e})({});function op(e){return"unsafeNext"in e?e.unsafeJump===void 0?{clone:()=>op(e),next:()=>e.unsafeNext(),getState:()=>e.getState()}:{clone:()=>op(e),next:()=>e.unsafeNext(),jump:()=>e.unsafeJump(),getState:()=>e.getState()}:e}function E1(e){return"jump"in e&&typeof e.jump=="function"?e:{clone:()=>E1(e),next:()=>e.next(),jump:()=>tS(e,42),getState:()=>e.getState()}}function Sa(e){return E1(op(e))}var i3=Date.now,o3=Math.min,s3=Math.random,a3=class{constructor(e){let t=e||{};this.seed=l3(t),this.randomType=c3(t),this.numRuns=u3(t),this.verbose=d3(t),this.maxSkipsPerRun=t.maxSkipsPerRun!==void 0?t.maxSkipsPerRun:100,this.timeout=Ld(t.timeout),this.skipAllAfterTimeLimit=Ld(t.skipAllAfterTimeLimit),this.interruptAfterTimeLimit=Ld(t.interruptAfterTimeLimit),this.markInterruptAsFailure=t.markInterruptAsFailure===!0,this.skipEqualValues=t.skipEqualValues===!0,this.ignoreEqualValues=t.ignoreEqualValues===!0,this.logger=t.logger!==void 0?t.logger:r=>{console.log(r)},this.path=t.path!==void 0?t.path:"",this.unbiased=t.unbiased===!0,this.examples=t.examples!==void 0?t.examples:[],this.endOnFailure=t.endOnFailure===!0,this.reporter=t.reporter,this.asyncReporter=t.asyncReporter,this.includeErrorInReport=t.includeErrorInReport===!0}toParameters(){return{seed:this.seed,randomType:this.randomType,numRuns:this.numRuns,maxSkipsPerRun:this.maxSkipsPerRun,timeout:this.timeout,skipAllAfterTimeLimit:this.skipAllAfterTimeLimit,interruptAfterTimeLimit:this.interruptAfterTimeLimit,markInterruptAsFailure:this.markInterruptAsFailure,skipEqualValues:this.skipEqualValues,ignoreEqualValues:this.ignoreEqualValues,path:this.path,logger:this.logger,unbiased:this.unbiased,verbose:this.verbose,examples:this.examples,endOnFailure:this.endOnFailure,reporter:this.reporter,asyncReporter:this.asyncReporter,includeErrorInReport:this.includeErrorInReport}}};function Nd(e){return t=>Sa(e(t))}function l3(e){if(e.seed===void 0)return i3()^s3()*4294967296;let t=e.seed|0;return e.seed===t?t:t^(e.seed-t)*4294967296}function c3(e){if(e.randomType===void 0)return Pd;if(typeof e.randomType=="string")switch(e.randomType){case"mersenne":return Nd(Zw);case"congruential":case"congruential32":return Nd(Kw);case"xorshift128plus":return Pd;case"xoroshiro128plus":return eS;default:throw new Error(`Invalid random specified: '${e.randomType}'`)}let t=e.randomType(0);if("min"in t&&t.min!==-2147483648)throw new Error(`Invalid random number generator: min must equal -0x80000000, got ${String(t.min)}`);if("max"in t&&t.max!==2147483647)throw new Error(`Invalid random number generator: max must equal 0x7fffffff, got ${String(t.max)}`);return t===Sa(t)?e.randomType:Nd(e.randomType)}function u3(e){return e.numRuns!==void 0?e.numRuns:e.num_runs!==void 0?e.num_runs:100}function d3(e){return e.verbose===void 0?0:typeof e.verbose=="boolean"?e.verbose===!0?1:0:e.verbose<=0?0:e.verbose>=2?2:e.verbose|0}function Ld(e){if(e!==void 0)return o3(e,2147483647)}function Op(e){return new a3(e)}function p3(e,t,r){let n=null;return{clear:()=>r(n),promise:new Promise(i=>{n=t(()=>{i(new vr(!0))},e)})}}var BS=class{constructor(e,t,r,n,i,o){this.property=e,this.getTime=t,this.interruptExecution=n,this.setTimeoutSafe=i,this.clearTimeoutSafe=o,this.skipAfterTime=this.getTime()+r}isAsync(){return this.property.isAsync()}generate(e,t){return this.property.generate(e,t)}shrink(e){return this.property.shrink(e)}run(e){let t=this.skipAfterTime-this.getTime();if(t<=0){let r=new vr(this.interruptExecution);return this.isAsync()?Promise.resolve(r):r}if(this.interruptExecution&&this.isAsync()){let r=p3(t,this.setTimeoutSafe,this.clearTimeoutSafe),n=Promise.race([this.property.run(e),r.promise]);return n.then(r.clear,r.clear),n}return this.property.run(e)}runBeforeEach(){return this.property.runBeforeEach()}runAfterEach(){return this.property.runAfterEach()}},f3=(e,t,r)=>{let n=null;return{clear:()=>r(n),promise:new Promise(i=>{n=t(()=>{i({error:new N(`Property timeout: exceeded limit of ${e} milliseconds`)})},e)})}},h3=class{constructor(e,t,r,n){this.property=e,this.timeMs=t,this.setTimeoutSafe=r,this.clearTimeoutSafe=n}isAsync(){return!0}generate(e,t){return this.property.generate(e,t)}shrink(e){return this.property.shrink(e)}async run(e){let t=f3(this.timeMs,this.setTimeoutSafe,this.clearTimeoutSafe),r=Promise.race([this.property.run(e),t.promise]);return r.then(t.clear,t.clear),r}runBeforeEach(){return Promise.resolve(this.property.runBeforeEach())}runAfterEach(){return Promise.resolve(this.property.runAfterEach())}},I1=class{constructor(e){this.property=e}isAsync(){return this.property.isAsync()}generate(e,t){return this.property.generate(e,void 0)}shrink(e){return this.property.shrink(e)}run(e){return this.property.run(e)}runBeforeEach(){return this.property.runBeforeEach()}runAfterEach(){return this.property.runAfterEach()}},US=Array.from,WS=typeof Buffer<"u"?Buffer.isBuffer:void 0,wn=JSON.stringify,HS=Number.isNaN,m3=Object.keys,g3=Object.getOwnPropertySymbols,y3=Object.getOwnPropertyDescriptor,zS=Object.getPrototypeOf,GS=Number.NEGATIVE_INFINITY,b3=Number.POSITIVE_INFINITY,vt=Symbol.for("fast-check/toStringMethod");function Mp(e){return e!==null&&(typeof e=="object"||typeof e=="function")&&vt in e&&typeof e[vt]=="function"}var Kt=Symbol.for("fast-check/asyncToStringMethod");function Np(e){return e!==null&&(typeof e=="object"||typeof e=="function")&&Kt in e&&typeof e[Kt]=="function"}var w3=/^Symbol\((.*)\)$/;function S3(e){if(e.description!==void 0)return e.description;let t=w3.exec(Je(e));return t&&t[1].length?t[1]:null}function qS(e){switch(e){case 0:return 1/e===GS?"-0":"0";case GS:return"Number.NEGATIVE_INFINITY";case b3:return"Number.POSITIVE_INFINITY";default:return e===e?Je(e):"Number.NaN"}}function v3(e){let t=-1;for(let r in e){let n=Number(r);if(n!==t+1)return!0;t=n}return t+1!==e.length}function ot(e,t,r){let n=[...t,e];if(typeof e=="object"&&zt(t,e)!==-1)return"[cyclic]";if(Np(e)){let i=r(e);if(i.state==="fulfilled")return i.value}if(Mp(e))try{return e[vt]()}catch{}switch(ip(e)){case"[object Array]":{let i=e;if(i.length>=50&&v3(i)){let s=[];for(let a in i)HS(Number(a))||L(s,`${a}:${ot(i[a],n,r)}`);return s.length!==0?`Object.assign(Array(${i.length}),{${fe(s,",")}})`:`Array(${i.length})`}let o=fe(G(i,s=>ot(s,n,r)),",");return i.length===0||i.length-1 in i?`[${o}]`:`[${o},]`}case"[object BigInt]":return`${e}n`;case"[object Boolean]":{let i=e==!0?"true":"false";return typeof e=="boolean"?i:`new Boolean(${i})`}case"[object Date]":{let i=e;return HS(ma(i))?"new Date(NaN)":`new Date(${wn(y4(i))})`}case"[object Map]":return`new Map(${ot(Array.from(e),n,r)})`;case"[object Null]":return"null";case"[object Number]":return typeof e=="number"?qS(e):`new Number(${qS(Number(e))})`;case"[object Object]":{try{let o=e.toString;if(typeof o=="function"&&o!==Object.prototype.toString)return e.toString()}catch{return"[object Object]"}let i=o=>`${o==="__proto__"?'["__proto__"]':typeof o=="symbol"?`[${ot(o,n,r)}]`:wn(o)}:${ot(e[o],n,r)}`;return"{"+fe([...zS(e)===null?["__proto__:null"]:[],...G(m3(e),i),...G(h4(g3(e),o=>{let s=y3(e,o);return s&&s.enumerable}),i)],",")+"}"}case"[object Set]":return`new Set(${ot(Array.from(e),n,r)})`;case"[object String]":return typeof e=="string"?wn(e):`new String(${wn(e)})`;case"[object Symbol]":{let i=e;if(aa.keyFor(i)!==void 0)return`Symbol.for(${wn(aa.keyFor(i))})`;let o=S3(i);return o===null?"Symbol()":i===(o.startsWith("Symbol.")&&aa[o.substring(7)])?o:`Symbol(${wn(o)})`}case"[object Promise]":{let i=r(e);switch(i.state){case"fulfilled":return`Promise.resolve(${ot(i.value,n,r)})`;case"rejected":return`Promise.reject(${ot(i.value,n,r)})`;case"pending":return"new Promise(() => {/*pending*/})";default:return"new Promise(() => {/*unknown*/})"}}case"[object Error]":if(e instanceof Error)return`new Error(${ot(e.message,n,r)})`;break;case"[object Undefined]":return"undefined";case"[object Int8Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Int16Array]":case"[object Uint16Array]":case"[object Int32Array]":case"[object Uint32Array]":case"[object Float32Array]":case"[object Float64Array]":case"[object BigInt64Array]":case"[object BigUint64Array]":{if(typeof WS=="function"&&WS(e))return`Buffer.from(${e.buffer.detached?"/*detached ArrayBuffer*/":ot(US(e.values()),n,r)})`;let i=zS(e),o=i&&i.constructor&&i.constructor.name;if(typeof o=="string"){let s=e;return s.buffer.detached?`${o}.from(/*detached ArrayBuffer*/)`:`${o}.from(${ot(US(s.values()),n,r)})`}break}}try{return e.toString()}catch{return ip(e)}}function Ae(e){return ot(e,[],()=>({state:"unknown",value:void 0}))}function A1(e){let t=aa(),r=[],n=new qt;function i(){let l=null,c=()=>{l!==null&&clearTimeout(l)};return{delay:new Promise(u=>{l=setTimeout(()=>{l=null,u(t)},0)}),cancel:c}}let o={state:"unknown",value:void 0},s=function(c){let u=c;if(n.has(u))return n.get(u);let d=i(),p=Kt in c?Promise.resolve().then(()=>c[Kt]()):c;return p.catch(()=>{}),r.push(Promise.race([p,d.delay]).then(h=>{h===t?n.set(u,{state:"pending",value:void 0}):n.set(u,{state:"fulfilled",value:h}),d.cancel()},h=>{n.set(u,{state:"rejected",value:h}),d.cancel()})),n.set(u,o),o};function a(){let l=ot(e,[],s);return r.length===0?l:Promise.all(r.splice(0)).then(a)}return a()}async function Lp(e){return Promise.resolve(A1(e))}function KS(e){return e===null?new vr:e}function x3(...e){return e[1]?e[0].then(KS):KS(e[0])}function k3(e,t){return x3(e,t)}var YS=class{constructor(e,t){this.property=e,this.skipRuns=t,this.coveredCases=new Map}isAsync(){return this.property.isAsync()}generate(e,t){return this.property.generate(e,t)}shrink(e){return this.property.shrink(e)}run(e){let t=Ae(e);if(this.coveredCases.has(t)){let n=this.coveredCases.get(t);return this.skipRuns?k3(n,this.property.isAsync()):n}let r=this.property.run(e);return this.coveredCases.set(t,r),r}runBeforeEach(){return this.property.runBeforeEach()}runAfterEach(){return this.property.runAfterEach()}},JS=Date.now,$d=setTimeout,Dd=clearTimeout;function C3(e,t){let r=e;return e.isAsync()&&t.timeout!==void 0&&(r=new h3(r,t.timeout,$d,Dd)),t.unbiased&&(r=new I1(r)),t.skipAllAfterTimeLimit!==void 0&&(r=new BS(r,JS,t.skipAllAfterTimeLimit,!1,$d,Dd)),t.interruptAfterTimeLimit!==void 0&&(r=new BS(r,JS,t.interruptAfterTimeLimit,!0,$d,Dd)),t.skipEqualValues&&(r=new YS(r,!0)),t.ignoreEqualValues&&(r=new YS(r,!1)),r}var R3=(function(e){return e[e.Success=0]="Success",e[e.Skipped=-1]="Skipped",e[e.Failure=1]="Failure",e})({}),E3=class P1{constructor(t,r){this.verbosity=t,this.interruptedAsFailure=r,this.rootExecutionTrees=[],this.currentLevelExecutionTrees=this.rootExecutionTrees,this.failure=null,this.numSkips=0,this.numSuccesses=0,this.interrupted=!1}appendExecutionTree(t,r){let n={status:t,value:r,children:[]};return this.currentLevelExecutionTrees.push(n),n}fail(t,r,n){if(this.verbosity>=1){let i=this.appendExecutionTree(1,t);this.currentLevelExecutionTrees=i.children}this.pathToFailure===void 0?this.pathToFailure=`${r}`:this.pathToFailure+=`:${r}`,this.value=t,this.failure=n}skip(t){this.verbosity>=2&&this.appendExecutionTree(-1,t),this.pathToFailure===void 0&&++this.numSkips}success(t){this.verbosity>=2&&this.appendExecutionTree(0,t),this.pathToFailure===void 0&&++this.numSuccesses}interrupt(){this.interrupted=!0}isSuccess(){return this.pathToFailure===void 0}firstFailure(){return this.pathToFailure!==void 0?+Ze(this.pathToFailure,":")[0]:-1}numShrinks(){return this.pathToFailure!==void 0?Ze(this.pathToFailure,":").length-1:0}extractFailures(){if(this.isSuccess())return[];let t=[],r=this.rootExecutionTrees;for(;r.length>0&&r[r.length-1].status===1;){let n=r[r.length-1];t.push(n.value),r=n.children}return t}static mergePaths(t,r){if(t.length===0)return r;let n=t.split(":"),i=r.split(":"),o=+n[n.length-1]+ +i[0];return[...n.slice(0,n.length-1),`${o}`,...i.slice(1)].join(":")}toRunDetails(t,r,n,i){if(!this.isSuccess())return{failed:!0,interrupted:this.interrupted,numRuns:this.firstFailure()+1-this.numSkips,numSkips:this.numSkips,numShrinks:this.numShrinks(),seed:t,counterexample:this.value,counterexamplePath:P1.mergePaths(r,this.pathToFailure),errorInstance:this.failure.error,failures:this.extractFailures(),executionSummary:this.rootExecutionTrees,verbose:this.verbosity,runConfiguration:i.toParameters()};let o=this.interruptedAsFailure||this.numSuccesses===0;return{failed:this.numSkips>n||this.interrupted&&o,interrupted:this.interrupted,numRuns:this.numSuccesses,numSkips:this.numSkips,numShrinks:0,seed:t,counterexample:null,counterexamplePath:null,error:null,errorInstance:null,failures:[],executionSummary:this.rootExecutionTrees,verbose:this.verbosity,runConfiguration:i.toParameters()}}},T1=class{constructor(e,t,r,n){this.sourceValues=e,this.shrink=t,this.runExecution=new E3(r,n),this.currentIdx=-1,this.nextValues=e}[Symbol.iterator](){return this}next(){let e=this.nextValues.next();return e.done||this.runExecution.interrupted?{done:!0,value:void 0}:(this.currentValue=e.value,++this.currentIdx,{done:!1,value:e.value.value_})}handleResult(e){e!==null&&typeof e=="object"&&!vr.isFailure(e)?(this.runExecution.fail(this.currentValue.value_,this.currentIdx,e),this.currentIdx=-1,this.nextValues=this.shrink(this.currentValue)):e!==null?e.interruptExecution?this.runExecution.interrupt():(this.runExecution.skip(this.currentValue.value_),this.sourceValues.skippedOne()):this.runExecution.success(this.currentValue.value_)}},I3=class{constructor(e,t,r){this.initialValues=e,this.maxInitialIterations=t,this.remainingSkips=r}[Symbol.iterator](){return this}next(){if(--this.maxInitialIterations!==-1&&this.remainingSkips>=0){let e=this.initialValues.next();if(!e.done)return{value:e.value,done:!1}}return{value:void 0,done:!0}}skippedOne(){--this.remainingSkips,++this.maxInitialIterations}},A3=-2147483648,P3=2147483647,T3=Math.pow(2,27),O3=Math.pow(2,-53),$p=class O1{constructor(t){this.internalRng=Sa(t.clone())}clone(){return new O1(this.internalRng)}next(t){return Qs(this.internalRng,0,(1<<t)-1)}nextBoolean(){return Qs(this.internalRng,0,1)===1}nextInt(t,r){return Qs(this.internalRng,t===void 0?A3:t,r===void 0?P3:r)}nextBigInt(t,r){return iS(this.internalRng,t,r)}nextDouble(){let t=this.next(26),r=this.next(27);return(t*T3+r)*O3}getState(){if("getState"in this.internalRng&&typeof this.internalRng.getState=="function")return this.internalRng.getState()}};function M3(e,t,r){return t.jump(),e.generate(new $p(t),r)}function*M1(e,t,r,n){for(let i=0;i!==n.length;++i)yield new $(n[i],void 0);for(let i=0,o=r(t);;++i)yield M3(e,o,i)}function N3(e,t,r){return()=>e.generate(new $p(t),r)}function*N1(e,t,r,n){yield*G(n,s=>()=>new $(s,void 0));let i=0,o=Sa(r(t));for(;;)o.jump(),yield N3(e,o,i++)}function ZS(e){return e()}function L1(e,t,r){let n=t,i=e.split(":").map(s=>+s);if(i.length===0)return n.map(ZS);if(!i.every(s=>!Number.isNaN(s)))throw new Error(`Unable to replay, got invalid path=${e}`);let o=n.drop(i[0]).map(ZS);for(let s of i.slice(1)){let a=o.getNthOrLast(0);if(a===null)throw new Error(`Unable to replay, got wrong path=${e}`);o=r(a).drop(s)}return o}var L3=Object.assign;function $3(e){return e.length===1?`Hint: ${e[0]}`:e.map((t,r)=>`Hint (${r+1}): ${t}`).join(`
176
- `)}function D3(e,t){return`Encountered failures were:
175
+ or you can use record.mirror to access the mirror instance during recording.`,Fy={map:{},getId(){return console.error(cn),-1},getNode(){return console.error(cn),null},removeNodeFromMap(){console.error(cn)},has(){return console.error(cn),!1},reset(){console.error(cn)}};typeof window<"u"&&window.Proxy&&window.Reflect&&(Fy=new Proxy(Fy,{get(e,t,r){return t==="map"&&console.error(cn),Reflect.get(e,t,r)}}));function Ti(e,t,r={}){let n=null,i=0;return function(...o){let s=Date.now();!i&&r.leading===!1&&(i=s);let a=t-(s-i),l=this;a<=0||a>t?(n&&(clearTimeout(n),n=null),i=s,e.apply(l,o)):!n&&r.trailing!==!1&&(n=setTimeout(()=>{i=r.leading===!1?0:Date.now(),n=null,e.apply(l,o)},a))}}function ta(e,t,r,n,i=window){let o=i.Object.getOwnPropertyDescriptor(e,t);return i.Object.defineProperty(e,t,n?r:{set(s){setTimeout(()=>{r.set.call(this,s)},0),o&&o.set&&o.set.call(this,s)}}),()=>ta(e,t,o||{},!0)}var Vs=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(Vs=()=>new Date().getTime());function Iw(e){var t,r,n,i;let o=e.document;return{left:o.scrollingElement?o.scrollingElement.scrollLeft:e.pageXOffset!==void 0?e.pageXOffset:o.documentElement.scrollLeft||o?.body&&((t=H.parentElement(o.body))==null?void 0:t.scrollLeft)||((r=o?.body)==null?void 0:r.scrollLeft)||0,top:o.scrollingElement?o.scrollingElement.scrollTop:e.pageYOffset!==void 0?e.pageYOffset:o?.documentElement.scrollTop||o?.body&&((n=H.parentElement(o.body))==null?void 0:n.scrollTop)||((i=o?.body)==null?void 0:i.scrollTop)||0}}function Aw(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function Pw(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function Tw(e){return e?e.nodeType===e.ELEMENT_NODE?e:H.parentElement(e):null}function Ye(e,t,r,n){if(!e)return!1;let i=Tw(e);if(!i)return!1;try{if(typeof t=="string"){if(i.classList.contains(t)||n&&i.closest("."+t)!==null)return!0}else if(Ms(i,t,n))return!0}catch{}return!!(r&&(i.matches(r)||n&&i.closest(r)!==null))}function X$(e,t){return t.getId(e)!==-1}function mu(e,t,r){return e.tagName==="TITLE"&&r.headTitleMutations?!0:t.getId(e)===vi}function Ow(e,t){if(bi(e))return!1;let r=t.getId(e);if(!t.has(r))return!0;let n=H.parentNode(e);return n&&n.nodeType===e.DOCUMENT_NODE?!1:n?Ow(n,t):!0}function Ju(e){return!!e.changedTouches}function Q$(e=window){"NodeList"in e&&!e.NodeList.prototype.forEach&&(e.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in e&&!e.DOMTokenList.prototype.forEach&&(e.DOMTokenList.prototype.forEach=Array.prototype.forEach)}function Mw(e,t){return!!(e.nodeName==="IFRAME"&&t.getMeta(e))}function Nw(e,t){return!!(e.nodeName==="LINK"&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&e.getAttribute("rel")==="stylesheet"&&t.getMeta(e))}function Yu(e){return e?e instanceof Ku&&"shadowRoot"in e?!!e.shadowRoot:!!H.shadowRoot(e):!1}var Zu=class{constructor(){k(this,"id",1),k(this,"styleIDMap",new WeakMap),k(this,"idStyleMap",new Map)}getId(t){return this.styleIDMap.get(t)??-1}has(t){return this.styleIDMap.has(t)}add(t,r){if(this.has(t))return this.getId(t);let n;return r===void 0?n=this.id++:n=r,this.styleIDMap.set(t,n),this.idStyleMap.set(n,t),n}getStyle(t){return this.idStyleMap.get(t)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}};function Lw(e){var t;let r=null;return"getRootNode"in e&&((t=H.getRootNode(e))==null?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&H.host(H.getRootNode(e))&&(r=H.host(H.getRootNode(e))),r}function e6(e){let t=e,r;for(;r=Lw(t);)t=r;return t}function t6(e){let t=H.ownerDocument(e);if(!t)return!1;let r=e6(e);return H.contains(t,r)}function $w(e){let t=H.ownerDocument(e);return t?H.contains(t,e)||t6(e):!1}var q=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e))(q||{}),z=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))(z||{}),tt=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))(tt||{}),Wt=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(Wt||{}),Sn=(e=>(e[e["2D"]=0]="2D",e[e.WebGL=1]="WebGL",e[e.WebGL2=2]="WebGL2",e))(Sn||{}),un=(e=>(e[e.Play=0]="Play",e[e.Pause=1]="Pause",e[e.Seeked=2]="Seeked",e[e.VolumeChange=3]="VolumeChange",e[e.RateChange=4]="RateChange",e))(un||{});var Dw=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(Dw||{});function By(e){return"__ln"in e}var Xu=class{constructor(){k(this,"length",0),k(this,"head",null),k(this,"tail",null)}get(t){if(t>=this.length)throw new Error("Position outside of list range");let r=this.head;for(let n=0;n<t;n++)r=r?.next||null;return r}addNode(t){let r={value:t,previous:null,next:null};if(t.__ln=r,t.previousSibling&&By(t.previousSibling)){let n=t.previousSibling.__ln.next;r.next=n,r.previous=t.previousSibling.__ln,t.previousSibling.__ln.next=r,n&&(n.previous=r)}else if(t.nextSibling&&By(t.nextSibling)&&t.nextSibling.__ln.previous){let n=t.nextSibling.__ln.previous;r.previous=n,r.next=t.nextSibling.__ln,t.nextSibling.__ln.previous=r,n&&(n.next=r)}else this.head&&(this.head.previous=r),r.next=this.head,this.head=r;r.next===null&&(this.tail=r),this.length++}removeNode(t){let r=t.__ln;this.head&&(r.previous?(r.previous.next=r.next,r.next?r.next.previous=r.previous:this.tail=r.previous):(this.head=r.next,this.head?this.head.previous=null:this.tail=null),t.__ln&&delete t.__ln,this.length--)}},Vy=(e,t)=>`${e}@${t}`,Qu=class{constructor(){k(this,"frozen",!1),k(this,"locked",!1),k(this,"texts",[]),k(this,"attributes",[]),k(this,"attributeMap",new WeakMap),k(this,"removes",[]),k(this,"mapRemoves",[]),k(this,"movedMap",{}),k(this,"addedSet",new Set),k(this,"movedSet",new Set),k(this,"droppedSet",new Set),k(this,"removesSubTreeCache",new Set),k(this,"mutationCb"),k(this,"blockClass"),k(this,"blockSelector"),k(this,"maskTextClass"),k(this,"maskTextSelector"),k(this,"inlineStylesheet"),k(this,"maskInputOptions"),k(this,"maskTextFn"),k(this,"maskInputFn"),k(this,"keepIframeSrcFn"),k(this,"recordCanvas"),k(this,"inlineImages"),k(this,"slimDOMOptions"),k(this,"dataURLOptions"),k(this,"doc"),k(this,"mirror"),k(this,"iframeManager"),k(this,"stylesheetManager"),k(this,"shadowDomManager"),k(this,"canvasManager"),k(this,"processedNodeManager"),k(this,"unattachedDoc"),k(this,"processMutations",t=>{t.forEach(this.processMutation),this.emit()}),k(this,"emit",()=>{if(this.frozen||this.locked)return;let t=[],r=new Set,n=new Xu,i=l=>{let c=l,u=vi;for(;u===vi;)c=c&&c.nextSibling,u=c&&this.mirror.getId(c);return u},o=l=>{let c=H.parentNode(l);if(!c||!$w(l))return;let u=!1;if(l.nodeType===Node.TEXT_NODE){let f=c.tagName;if(f==="TEXTAREA")return;f==="STYLE"&&this.addedSet.has(c)&&(u=!0)}let d=bi(c)?this.mirror.getId(Lw(l)):this.mirror.getId(c),p=i(l);if(d===-1||p===-1)return n.addNode(l);let h=pn(l,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:f=>{Mw(f,this.mirror)&&this.iframeManager.addIframe(f),Nw(f,this.mirror)&&this.stylesheetManager.trackLinkElement(f),Yu(l)&&this.shadowDomManager.addShadowRoot(H.shadowRoot(l),this.doc)},onIframeLoad:(f,m)=>{this.iframeManager.attachIframe(f,m),this.shadowDomManager.observeAttachShadow(f)},onStylesheetLoad:(f,m)=>{this.stylesheetManager.attachLinkElement(f,m)},cssCaptured:u});h&&(t.push({parentId:d,nextId:p,node:h}),r.add(h.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(let l of this.movedSet)Uy(this.removesSubTreeCache,l,this.mirror)&&!this.movedSet.has(H.parentNode(l))||o(l);for(let l of this.addedSet)!Wy(this.droppedSet,l)&&!Uy(this.removesSubTreeCache,l,this.mirror)||Wy(this.movedSet,l)?o(l):this.droppedSet.add(l);let s=null;for(;n.length;){let l=null;if(s){let c=this.mirror.getId(H.parentNode(s.value)),u=i(s.value);c!==-1&&u!==-1&&(l=s)}if(!l){let c=n.tail;for(;c;){let u=c;if(c=c.previous,u){let d=this.mirror.getId(H.parentNode(u.value));if(i(u.value)===-1)continue;if(d!==-1){l=u;break}else{let h=u.value,f=H.parentNode(h);if(f&&f.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let m=H.host(f);if(this.mirror.getId(m)!==-1){l=u;break}}}}}}if(!l){for(;n.head;)n.removeNode(n.head.value);break}s=l.previous,n.removeNode(l.value),o(l.value)}let a={texts:this.texts.map(l=>{let c=l.node,u=H.parentNode(c);return u&&u.tagName==="TEXTAREA"&&this.genTextAreaValueMutation(u),{id:this.mirror.getId(c),value:l.value}}).filter(l=>!r.has(l.id)).filter(l=>this.mirror.has(l.id)),attributes:this.attributes.map(l=>{let{attributes:c}=l;if(typeof c.style=="string"){let u=JSON.stringify(l.styleDiff),d=JSON.stringify(l._unchangedStyles);u.length<c.style.length&&(u+d).split("var(").length===c.style.split("var(").length&&(c.style=l.styleDiff)}return{id:this.mirror.getId(l.node),attributes:c}}).filter(l=>!r.has(l.id)).filter(l=>this.mirror.has(l.id)),removes:this.removes,adds:t};!a.texts.length&&!a.attributes.length&&!a.removes.length&&!a.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.removesSubTreeCache=new Set,this.movedMap={},this.mutationCb(a))}),k(this,"genTextAreaValueMutation",t=>{let r=this.attributeMap.get(t);r||(r={node:t,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(r),this.attributeMap.set(t,r));let n=Array.from(H.childNodes(t),i=>H.textContent(i)||"").join("");r.attributes.value=Ps({element:t,maskInputOptions:this.maskInputOptions,tagName:t.tagName,type:Ts(t),value:n,maskInputFn:this.maskInputFn})}),k(this,"processMutation",t=>{if(!mu(t.target,this.mirror,this.slimDOMOptions))switch(t.type){case"characterData":{let r=H.textContent(t.target);!Ye(t.target,this.blockClass,this.blockSelector,!1)&&r!==t.oldValue&&this.texts.push({value:nb(t.target,this.maskTextClass,this.maskTextSelector,!0)&&r?this.maskTextFn?this.maskTextFn(r,Tw(t.target)):r.replace(/[\S]/g,"*"):r,node:t.target});break}case"attributes":{let r=t.target,n=t.attributeName,i=t.target.getAttribute(n);if(n==="value"){let s=Ts(r);i=Ps({element:r,maskInputOptions:this.maskInputOptions,tagName:r.tagName,type:s,value:i,maskInputFn:this.maskInputFn})}if(Ye(t.target,this.blockClass,this.blockSelector,!1)||i===t.oldValue)return;let o=this.attributeMap.get(t.target);if(r.tagName==="IFRAME"&&n==="src"&&!this.keepIframeSrcFn(i))if(!r.contentDocument)n="rr_src";else return;if(o||(o={node:t.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(o),this.attributeMap.set(t.target,o)),n==="type"&&r.tagName==="INPUT"&&(t.oldValue||"").toLowerCase()==="password"&&r.setAttribute("data-rr-is-password","true"),!rb(r.tagName,n))if(o.attributes[n]=tb(this.doc,jr(r.tagName),jr(n),i),n==="style"){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}let s=this.unattachedDoc.createElement("span");t.oldValue&&s.setAttribute("style",t.oldValue);for(let a of Array.from(r.style)){let l=r.style.getPropertyValue(a),c=r.style.getPropertyPriority(a);l!==s.style.getPropertyValue(a)||c!==s.style.getPropertyPriority(a)?c===""?o.styleDiff[a]=l:o.styleDiff[a]=[l,c]:o._unchangedStyles[a]=[l,c]}for(let a of Array.from(s.style))r.style.getPropertyValue(a)===""&&(o.styleDiff[a]=!1)}else n==="open"&&r.tagName==="DIALOG"&&(r.matches("dialog:modal")?o.attributes.rr_open_mode="modal":o.attributes.rr_open_mode="non-modal");break}case"childList":{if(Ye(t.target,this.blockClass,this.blockSelector,!0))return;if(t.target.tagName==="TEXTAREA"){this.genTextAreaValueMutation(t.target);return}t.addedNodes.forEach(r=>this.genAdds(r,t.target)),t.removedNodes.forEach(r=>{let n=this.mirror.getId(r),i=bi(t.target)?this.mirror.getId(H.host(t.target)):this.mirror.getId(t.target);Ye(t.target,this.blockClass,this.blockSelector,!1)||mu(r,this.mirror,this.slimDOMOptions)||!X$(r,this.mirror)||(this.addedSet.has(r)?(ed(this.addedSet,r),this.droppedSet.add(r)):this.addedSet.has(t.target)&&n===-1||Ow(t.target,this.mirror)||(this.movedSet.has(r)&&this.movedMap[Vy(n,i)]?ed(this.movedSet,r):(this.removes.push({parentId:i,id:n,isShadow:bi(t.target)&&wi(t.target)?!0:void 0}),r6(r,this.removesSubTreeCache))),this.mapRemoves.push(r))});break}}}),k(this,"genAdds",(t,r)=>{if(!this.processedNodeManager.inOtherBuffer(t,this)&&!(this.addedSet.has(t)||this.movedSet.has(t))){if(this.mirror.hasNode(t)){if(mu(t,this.mirror,this.slimDOMOptions))return;this.movedSet.add(t);let n=null;r&&this.mirror.hasNode(r)&&(n=this.mirror.getId(r)),n&&n!==-1&&(this.movedMap[Vy(this.mirror.getId(t),n)]=!0)}else this.addedSet.add(t),this.droppedSet.delete(t);Ye(t,this.blockClass,this.blockSelector,!1)||(H.childNodes(t).forEach(n=>this.genAdds(n)),Yu(t)&&H.childNodes(H.shadowRoot(t)).forEach(n=>{this.processedNodeManager.add(n,this),this.genAdds(n,t)}))}})}init(t){["mutationCb","blockClass","blockSelector","maskTextClass","maskTextSelector","inlineStylesheet","maskInputOptions","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager"].forEach(r=>{this[r]=t[r]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}};function ed(e,t){e.delete(t),H.childNodes(t).forEach(r=>ed(e,r))}function r6(e,t){let r=[e];for(;r.length;){let n=r.pop();t.has(n)||(t.add(n),H.childNodes(n).forEach(i=>r.push(i)))}}function Uy(e,t,r){return e.size===0?!1:n6(e,t)}function n6(e,t,r){let n=H.parentNode(t);return n?e.has(n):!1}function Wy(e,t){return e.size===0?!1:_w(e,t)}function _w(e,t){let r=H.parentNode(t);return r?e.has(r)?!0:_w(e,r):!1}var Si;function i6(e){Si=e}function o6(){Si=void 0}var Y=e=>Si?(...r)=>{try{return e(...r)}catch(n){if(Si&&Si(n)===!0)return;throw n}}:e,_r=[];function $i(e){try{if("composedPath"in e){let t=e.composedPath();if(t.length)return t[0]}else if("path"in e&&e.path.length)return e.path[0]}catch{}return e&&e.target}function jw(e,t){let r=new Qu;_r.push(r),r.init(e);let n=new(Ew())(Y(r.processMutations.bind(r)));return n.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),n}function s6({mousemoveCb:e,sampling:t,doc:r,mirror:n}){if(t.mousemove===!1)return()=>{};let i=typeof t.mousemove=="number"?t.mousemove:50,o=typeof t.mousemoveCallback=="number"?t.mousemoveCallback:500,s=[],a,l=Ti(Y(d=>{let p=Date.now()-a;e(s.map(h=>(h.timeOffset-=p,h)),d),s=[],a=null}),o),c=Y(Ti(Y(d=>{let p=$i(d),{clientX:h,clientY:f}=Ju(d)?d.changedTouches[0]:d;a||(a=Vs()),s.push({x:h,y:f,id:n.getId(p),timeOffset:Vs()-a}),l(typeof DragEvent<"u"&&d instanceof DragEvent?z.Drag:d instanceof MouseEvent?z.MouseMove:z.TouchMove)}),i,{trailing:!1})),u=[Je("mousemove",c,r),Je("touchmove",c,r),Je("drag",c,r)];return Y(()=>{u.forEach(d=>d())})}function a6({mouseInteractionCb:e,doc:t,mirror:r,blockClass:n,blockSelector:i,sampling:o}){if(o.mouseInteraction===!1)return()=>{};let s=o.mouseInteraction===!0||o.mouseInteraction===void 0?{}:o.mouseInteraction,a=[],l=null,c=u=>d=>{let p=$i(d);if(Ye(p,n,i,!0))return;let h=null,f=u;if("pointerType"in d){switch(d.pointerType){case"mouse":h=Wt.Mouse;break;case"touch":h=Wt.Touch;break;case"pen":h=Wt.Pen;break}h===Wt.Touch?tt[u]===tt.MouseDown?f="TouchStart":tt[u]===tt.MouseUp&&(f="TouchEnd"):Wt.Pen}else Ju(d)&&(h=Wt.Touch);h!==null?(l=h,(f.startsWith("Touch")&&h===Wt.Touch||f.startsWith("Mouse")&&h===Wt.Mouse)&&(h=null)):tt[u]===tt.Click&&(h=l,l=null);let m=Ju(d)?d.changedTouches[0]:d;if(!m)return;let g=r.getId(p),{clientX:w,clientY:S}=m;Y(e)({type:tt[f],id:g,x:w,y:S,...h!==null&&{pointerType:h}})};return Object.keys(tt).filter(u=>Number.isNaN(Number(u))&&!u.endsWith("_Departed")&&s[u]!==!1).forEach(u=>{let d=jr(u),p=c(u);if(window.PointerEvent)switch(tt[u]){case tt.MouseDown:case tt.MouseUp:d=d.replace("mouse","pointer");break;case tt.TouchStart:case tt.TouchEnd:return}a.push(Je(d,p,t))}),Y(()=>{a.forEach(u=>u())})}function Fw({scrollCb:e,doc:t,mirror:r,blockClass:n,blockSelector:i,sampling:o}){let s=Y(Ti(Y(a=>{let l=$i(a);if(!l||Ye(l,n,i,!0))return;let c=r.getId(l);if(l===t&&t.defaultView){let u=Iw(t.defaultView);e({id:c,x:u.left,y:u.top})}else e({id:c,x:l.scrollLeft,y:l.scrollTop})}),o.scroll||100));return Je("scroll",s,t)}function l6({viewportResizeCb:e},{win:t}){let r=-1,n=-1,i=Y(Ti(Y(()=>{let o=Aw(),s=Pw();(r!==o||n!==s)&&(e({width:Number(s),height:Number(o)}),r=o,n=s)}),200));return Je("resize",i,t)}var c6=["INPUT","TEXTAREA","SELECT"],Hy=new WeakMap;function u6({inputCb:e,doc:t,mirror:r,blockClass:n,blockSelector:i,ignoreClass:o,ignoreSelector:s,maskInputOptions:a,maskInputFn:l,sampling:c,userTriggeredOnInput:u}){function d(S){let y=$i(S),v=S.isTrusted,C=y&&y.tagName;if(y&&C==="OPTION"&&(y=H.parentElement(y)),!y||!C||c6.indexOf(C)<0||Ye(y,n,i,!0)||y.classList.contains(o)||s&&y.matches(s))return;let M=y.value,R=!1,E=Ts(y)||"";E==="radio"||E==="checkbox"?R=y.checked:(a[C.toLowerCase()]||a[E])&&(M=Ps({element:y,maskInputOptions:a,tagName:C,type:E,value:M,maskInputFn:l})),p(y,u?{text:M,isChecked:R,userTriggered:v}:{text:M,isChecked:R});let x=y.name;E==="radio"&&x&&R&&t.querySelectorAll(`input[type="radio"][name="${x}"]`).forEach(U=>{if(U!==y){let X=U.value;p(U,u?{text:X,isChecked:!R,userTriggered:!1}:{text:X,isChecked:!R})}})}function p(S,y){let v=Hy.get(S);if(!v||v.text!==y.text||v.isChecked!==y.isChecked){Hy.set(S,y);let C=r.getId(S);Y(e)({...y,id:C})}}let f=(c.input==="last"?["change"]:["input","change"]).map(S=>Je(S,Y(d),t)),m=t.defaultView;if(!m)return()=>{f.forEach(S=>S())};let g=m.Object.getOwnPropertyDescriptor(m.HTMLInputElement.prototype,"value"),w=[[m.HTMLInputElement.prototype,"value"],[m.HTMLInputElement.prototype,"checked"],[m.HTMLSelectElement.prototype,"value"],[m.HTMLTextAreaElement.prototype,"value"],[m.HTMLSelectElement.prototype,"selectedIndex"],[m.HTMLOptionElement.prototype,"selected"]];return g&&g.set&&f.push(...w.map(S=>ta(S[0],S[1],{set(){Y(d)({target:this,isTrusted:!1})}},!1,m))),Y(()=>{f.forEach(S=>S())})}function Us(e){let t=[];function r(n,i){if(Ss("CSSGroupingRule")&&n.parentRule instanceof CSSGroupingRule||Ss("CSSMediaRule")&&n.parentRule instanceof CSSMediaRule||Ss("CSSSupportsRule")&&n.parentRule instanceof CSSSupportsRule||Ss("CSSConditionRule")&&n.parentRule instanceof CSSConditionRule){let s=Array.from(n.parentRule.cssRules).indexOf(n);i.unshift(s)}else if(n.parentStyleSheet){let s=Array.from(n.parentStyleSheet.cssRules).indexOf(n);i.unshift(s)}return i}return r(e,t)}function gr(e,t,r){let n,i;return e?(e.ownerNode?n=t.getId(e.ownerNode):i=r.getId(e),{styleId:i,id:n}):{}}function d6({styleSheetRuleCb:e,mirror:t,stylesheetManager:r},{win:n}){if(!n.CSSStyleSheet||!n.CSSStyleSheet.prototype)return()=>{};let i=n.CSSStyleSheet.prototype.insertRule;n.CSSStyleSheet.prototype.insertRule=new Proxy(i,{apply:Y((u,d,p)=>{let[h,f]=p,{id:m,styleId:g}=gr(d,t,r.styleMirror);return(m&&m!==-1||g&&g!==-1)&&e({id:m,styleId:g,adds:[{rule:h,index:f}]}),u.apply(d,p)})}),n.CSSStyleSheet.prototype.addRule=function(u,d,p=this.cssRules.length){let h=`${u} { ${d} }`;return n.CSSStyleSheet.prototype.insertRule.apply(this,[h,p])};let o=n.CSSStyleSheet.prototype.deleteRule;n.CSSStyleSheet.prototype.deleteRule=new Proxy(o,{apply:Y((u,d,p)=>{let[h]=p,{id:f,styleId:m}=gr(d,t,r.styleMirror);return(f&&f!==-1||m&&m!==-1)&&e({id:f,styleId:m,removes:[{index:h}]}),u.apply(d,p)})}),n.CSSStyleSheet.prototype.removeRule=function(u){return n.CSSStyleSheet.prototype.deleteRule.apply(this,[u])};let s;n.CSSStyleSheet.prototype.replace&&(s=n.CSSStyleSheet.prototype.replace,n.CSSStyleSheet.prototype.replace=new Proxy(s,{apply:Y((u,d,p)=>{let[h]=p,{id:f,styleId:m}=gr(d,t,r.styleMirror);return(f&&f!==-1||m&&m!==-1)&&e({id:f,styleId:m,replace:h}),u.apply(d,p)})}));let a;n.CSSStyleSheet.prototype.replaceSync&&(a=n.CSSStyleSheet.prototype.replaceSync,n.CSSStyleSheet.prototype.replaceSync=new Proxy(a,{apply:Y((u,d,p)=>{let[h]=p,{id:f,styleId:m}=gr(d,t,r.styleMirror);return(f&&f!==-1||m&&m!==-1)&&e({id:f,styleId:m,replaceSync:h}),u.apply(d,p)})}));let l={};vs("CSSGroupingRule")?l.CSSGroupingRule=n.CSSGroupingRule:(vs("CSSMediaRule")&&(l.CSSMediaRule=n.CSSMediaRule),vs("CSSConditionRule")&&(l.CSSConditionRule=n.CSSConditionRule),vs("CSSSupportsRule")&&(l.CSSSupportsRule=n.CSSSupportsRule));let c={};return Object.entries(l).forEach(([u,d])=>{c[u]={insertRule:d.prototype.insertRule,deleteRule:d.prototype.deleteRule},d.prototype.insertRule=new Proxy(c[u].insertRule,{apply:Y((p,h,f)=>{let[m,g]=f,{id:w,styleId:S}=gr(h.parentStyleSheet,t,r.styleMirror);return(w&&w!==-1||S&&S!==-1)&&e({id:w,styleId:S,adds:[{rule:m,index:[...Us(h),g||0]}]}),p.apply(h,f)})}),d.prototype.deleteRule=new Proxy(c[u].deleteRule,{apply:Y((p,h,f)=>{let[m]=f,{id:g,styleId:w}=gr(h.parentStyleSheet,t,r.styleMirror);return(g&&g!==-1||w&&w!==-1)&&e({id:g,styleId:w,removes:[{index:[...Us(h),m]}]}),p.apply(h,f)})})}),Y(()=>{n.CSSStyleSheet.prototype.insertRule=i,n.CSSStyleSheet.prototype.deleteRule=o,s&&(n.CSSStyleSheet.prototype.replace=s),a&&(n.CSSStyleSheet.prototype.replaceSync=a),Object.entries(l).forEach(([u,d])=>{d.prototype.insertRule=c[u].insertRule,d.prototype.deleteRule=c[u].deleteRule})})}function Bw({mirror:e,stylesheetManager:t},r){var n,i,o;let s=null;r.nodeName==="#document"?s=e.getId(r):s=e.getId(H.host(r));let a=r.nodeName==="#document"?(n=r.defaultView)==null?void 0:n.Document:(o=(i=r.ownerDocument)==null?void 0:i.defaultView)==null?void 0:o.ShadowRoot,l=a?.prototype?Object.getOwnPropertyDescriptor(a?.prototype,"adoptedStyleSheets"):void 0;return s===null||s===-1||!a||!l?()=>{}:(Object.defineProperty(r,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get(){var c;return(c=l.get)==null?void 0:c.call(this)},set(c){var u;let d=(u=l.set)==null?void 0:u.call(this,c);if(s!==null&&s!==-1)try{t.adoptStyleSheets(c,s)}catch{}return d}}),Y(()=>{Object.defineProperty(r,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get:l.get,set:l.set})}))}function p6({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:r,stylesheetManager:n},{win:i}){let o=i.CSSStyleDeclaration.prototype.setProperty;i.CSSStyleDeclaration.prototype.setProperty=new Proxy(o,{apply:Y((a,l,c)=>{var u;let[d,p,h]=c;if(r.has(d))return o.apply(l,[d,p,h]);let{id:f,styleId:m}=gr((u=l.parentRule)==null?void 0:u.parentStyleSheet,t,n.styleMirror);return(f&&f!==-1||m&&m!==-1)&&e({id:f,styleId:m,set:{property:d,value:p,priority:h},index:Us(l.parentRule)}),a.apply(l,c)})});let s=i.CSSStyleDeclaration.prototype.removeProperty;return i.CSSStyleDeclaration.prototype.removeProperty=new Proxy(s,{apply:Y((a,l,c)=>{var u;let[d]=c;if(r.has(d))return s.apply(l,[d]);let{id:p,styleId:h}=gr((u=l.parentRule)==null?void 0:u.parentStyleSheet,t,n.styleMirror);return(p&&p!==-1||h&&h!==-1)&&e({id:p,styleId:h,remove:{property:d},index:Us(l.parentRule)}),a.apply(l,c)})}),Y(()=>{i.CSSStyleDeclaration.prototype.setProperty=o,i.CSSStyleDeclaration.prototype.removeProperty=s})}function f6({mediaInteractionCb:e,blockClass:t,blockSelector:r,mirror:n,sampling:i,doc:o}){let s=Y(l=>Ti(Y(c=>{let u=$i(c);if(!u||Ye(u,t,r,!0))return;let{currentTime:d,volume:p,muted:h,playbackRate:f,loop:m}=u;e({type:l,id:n.getId(u),currentTime:d,volume:p,muted:h,playbackRate:f,loop:m})}),i.media||500)),a=[Je("play",s(un.Play),o),Je("pause",s(un.Pause),o),Je("seeked",s(un.Seeked),o),Je("volumechange",s(un.VolumeChange),o),Je("ratechange",s(un.RateChange),o)];return Y(()=>{a.forEach(l=>l())})}function h6({fontCb:e,doc:t}){let r=t.defaultView;if(!r)return()=>{};let n=[],i=new WeakMap,o=r.FontFace;r.FontFace=function(l,c,u){let d=new o(l,c,u);return i.set(d,{family:l,buffer:typeof c!="string",descriptors:u,fontSource:typeof c=="string"?c:JSON.stringify(Array.from(new Uint8Array(c)))}),d};let s=Vr(t.fonts,"add",function(a){return function(l){return setTimeout(Y(()=>{let c=i.get(l);c&&(e(c),i.delete(l))}),0),a.apply(this,[l])}});return n.push(()=>{r.FontFace=o}),n.push(s),Y(()=>{n.forEach(a=>a())})}function m6(e){let{doc:t,mirror:r,blockClass:n,blockSelector:i,selectionCb:o}=e,s=!0,a=Y(()=>{let l=t.getSelection();if(!l||s&&l?.isCollapsed)return;s=l.isCollapsed||!1;let c=[],u=l.rangeCount||0;for(let d=0;d<u;d++){let p=l.getRangeAt(d),{startContainer:h,startOffset:f,endContainer:m,endOffset:g}=p;Ye(h,n,i,!0)||Ye(m,n,i,!0)||c.push({start:r.getId(h),startOffset:f,end:r.getId(m),endOffset:g})}o({ranges:c})});return a(),Je("selectionchange",a)}function g6({doc:e,customElementCb:t}){let r=e.defaultView;return!r||!r.customElements?()=>{}:Vr(r.customElements,"define",function(i){return function(o,s,a){try{t({define:{name:o}})}catch{console.warn(`Custom element callback failed for ${o}`)}return i.apply(this,[o,s,a])}})}function y6(e,t){let{mutationCb:r,mousemoveCb:n,mouseInteractionCb:i,scrollCb:o,viewportResizeCb:s,inputCb:a,mediaInteractionCb:l,styleSheetRuleCb:c,styleDeclarationCb:u,canvasMutationCb:d,fontCb:p,selectionCb:h,customElementCb:f}=e;e.mutationCb=(...m)=>{t.mutation&&t.mutation(...m),r(...m)},e.mousemoveCb=(...m)=>{t.mousemove&&t.mousemove(...m),n(...m)},e.mouseInteractionCb=(...m)=>{t.mouseInteraction&&t.mouseInteraction(...m),i(...m)},e.scrollCb=(...m)=>{t.scroll&&t.scroll(...m),o(...m)},e.viewportResizeCb=(...m)=>{t.viewportResize&&t.viewportResize(...m),s(...m)},e.inputCb=(...m)=>{t.input&&t.input(...m),a(...m)},e.mediaInteractionCb=(...m)=>{t.mediaInteaction&&t.mediaInteaction(...m),l(...m)},e.styleSheetRuleCb=(...m)=>{t.styleSheetRule&&t.styleSheetRule(...m),c(...m)},e.styleDeclarationCb=(...m)=>{t.styleDeclaration&&t.styleDeclaration(...m),u(...m)},e.canvasMutationCb=(...m)=>{t.canvasMutation&&t.canvasMutation(...m),d(...m)},e.fontCb=(...m)=>{t.font&&t.font(...m),p(...m)},e.selectionCb=(...m)=>{t.selection&&t.selection(...m),h(...m)},e.customElementCb=(...m)=>{t.customElement&&t.customElement(...m),f(...m)}}function b6(e,t={}){let r=e.doc.defaultView;if(!r)return()=>{};y6(e,t);let n;e.recordDOM&&(n=jw(e,e.doc));let i=s6(e),o=a6(e),s=Fw(e),a=l6(e,{win:r}),l=u6(e),c=f6(e),u=()=>{},d=()=>{},p=()=>{},h=()=>{};e.recordDOM&&(u=d6(e,{win:r}),d=Bw(e,e.doc),p=p6(e,{win:r}),e.collectFonts&&(h=h6(e)));let f=m6(e),m=g6(e),g=[];for(let w of e.plugins)g.push(w.observer(w.callback,r,w.options));return Y(()=>{_r.forEach(w=>w.reset()),n?.disconnect(),i(),o(),s(),a(),l(),c(),u(),d(),p(),h(),f(),m(),g.forEach(w=>w())})}function Ss(e){return typeof window[e]<"u"}function vs(e){return!!(typeof window[e]<"u"&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}var Ws=class{constructor(t){k(this,"iframeIdToRemoteIdMap",new WeakMap),k(this,"iframeRemoteIdToIdMap",new WeakMap),this.generateIdFn=t}getId(t,r,n,i){let o=n||this.getIdToRemoteIdMap(t),s=i||this.getRemoteIdToIdMap(t),a=o.get(r);return a||(a=this.generateIdFn(),o.set(r,a),s.set(a,r)),a}getIds(t,r){let n=this.getIdToRemoteIdMap(t),i=this.getRemoteIdToIdMap(t);return r.map(o=>this.getId(t,o,n,i))}getRemoteId(t,r,n){let i=n||this.getRemoteIdToIdMap(t);if(typeof r!="number")return r;let o=i.get(r);return o||-1}getRemoteIds(t,r){let n=this.getRemoteIdToIdMap(t);return r.map(i=>this.getRemoteId(t,i,n))}reset(t){if(!t){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(t),this.iframeRemoteIdToIdMap.delete(t)}getIdToRemoteIdMap(t){let r=this.iframeIdToRemoteIdMap.get(t);return r||(r=new Map,this.iframeIdToRemoteIdMap.set(t,r)),r}getRemoteIdToIdMap(t){let r=this.iframeRemoteIdToIdMap.get(t);return r||(r=new Map,this.iframeRemoteIdToIdMap.set(t,r)),r}},td=class{constructor(t){k(this,"iframes",new WeakMap),k(this,"crossOriginIframeMap",new WeakMap),k(this,"crossOriginIframeMirror",new Ws(eb)),k(this,"crossOriginIframeStyleMirror"),k(this,"crossOriginIframeRootIdMap",new WeakMap),k(this,"mirror"),k(this,"mutationCb"),k(this,"wrappedEmit"),k(this,"loadListener"),k(this,"stylesheetManager"),k(this,"recordCrossOriginIframes"),this.mutationCb=t.mutationCb,this.wrappedEmit=t.wrappedEmit,this.stylesheetManager=t.stylesheetManager,this.recordCrossOriginIframes=t.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new Ws(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=t.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(t){this.iframes.set(t,!0),t.contentWindow&&this.crossOriginIframeMap.set(t.contentWindow,t)}addLoadListener(t){this.loadListener=t}attachIframe(t,r){var n,i;this.mutationCb({adds:[{parentId:this.mirror.getId(t),nextId:null,node:r}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&((n=t.contentWindow)==null||n.addEventListener("message",this.handleMessage.bind(this))),(i=this.loadListener)==null||i.call(this,t),t.contentDocument&&t.contentDocument.adoptedStyleSheets&&t.contentDocument.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(t.contentDocument.adoptedStyleSheets,this.mirror.getId(t.contentDocument))}handleMessage(t){let r=t;if(r.data.type!=="rrweb"||r.origin!==r.data.origin||!t.source)return;let i=this.crossOriginIframeMap.get(t.source);if(!i)return;let o=this.transformCrossOriginEvent(i,r.data.event);o&&this.wrappedEmit(o,r.data.isCheckout)}transformCrossOriginEvent(t,r){var n;switch(r.type){case q.FullSnapshot:{this.crossOriginIframeMirror.reset(t),this.crossOriginIframeStyleMirror.reset(t),this.replaceIdOnNode(r.data.node,t);let i=r.data.node.id;return this.crossOriginIframeRootIdMap.set(t,i),this.patchRootIdOnNode(r.data.node,i),{timestamp:r.timestamp,type:q.IncrementalSnapshot,data:{source:z.Mutation,adds:[{parentId:this.mirror.getId(t),nextId:null,node:r.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case q.Meta:case q.Load:case q.DomContentLoaded:return!1;case q.Plugin:return r;case q.Custom:return this.replaceIds(r.data.payload,t,["id","parentId","previousId","nextId"]),r;case q.IncrementalSnapshot:switch(r.data.source){case z.Mutation:return r.data.adds.forEach(i=>{this.replaceIds(i,t,["parentId","nextId","previousId"]),this.replaceIdOnNode(i.node,t);let o=this.crossOriginIframeRootIdMap.get(t);o&&this.patchRootIdOnNode(i.node,o)}),r.data.removes.forEach(i=>{this.replaceIds(i,t,["parentId","id"])}),r.data.attributes.forEach(i=>{this.replaceIds(i,t,["id"])}),r.data.texts.forEach(i=>{this.replaceIds(i,t,["id"])}),r;case z.Drag:case z.TouchMove:case z.MouseMove:return r.data.positions.forEach(i=>{this.replaceIds(i,t,["id"])}),r;case z.ViewportResize:return!1;case z.MediaInteraction:case z.MouseInteraction:case z.Scroll:case z.CanvasMutation:case z.Input:return this.replaceIds(r.data,t,["id"]),r;case z.StyleSheetRule:case z.StyleDeclaration:return this.replaceIds(r.data,t,["id"]),this.replaceStyleIds(r.data,t,["styleId"]),r;case z.Font:return r;case z.Selection:return r.data.ranges.forEach(i=>{this.replaceIds(i,t,["start","end"])}),r;case z.AdoptedStyleSheet:return this.replaceIds(r.data,t,["id"]),this.replaceStyleIds(r.data,t,["styleIds"]),(n=r.data.styles)==null||n.forEach(i=>{this.replaceStyleIds(i,t,["styleId"])}),r}}return!1}replace(t,r,n,i){for(let o of i)!Array.isArray(r[o])&&typeof r[o]!="number"||(Array.isArray(r[o])?r[o]=t.getIds(n,r[o]):r[o]=t.getId(n,r[o]));return r}replaceIds(t,r,n){return this.replace(this.crossOriginIframeMirror,t,r,n)}replaceStyleIds(t,r,n){return this.replace(this.crossOriginIframeStyleMirror,t,r,n)}replaceIdOnNode(t,r){this.replaceIds(t,r,["id","rootId"]),"childNodes"in t&&t.childNodes.forEach(n=>{this.replaceIdOnNode(n,r)})}patchRootIdOnNode(t,r){t.type!==Dw.Document&&!t.rootId&&(t.rootId=r),"childNodes"in t&&t.childNodes.forEach(n=>{this.patchRootIdOnNode(n,r)})}},rd=class{constructor(t){k(this,"shadowDoms",new WeakSet),k(this,"mutationCb"),k(this,"scrollCb"),k(this,"bypassOptions"),k(this,"mirror"),k(this,"restoreHandlers",[]),this.mutationCb=t.mutationCb,this.scrollCb=t.scrollCb,this.bypassOptions=t.bypassOptions,this.mirror=t.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(t,r){if(!wi(t)||this.shadowDoms.has(t))return;this.shadowDoms.add(t);let n=jw({...this.bypassOptions,doc:r,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},t);this.restoreHandlers.push(()=>n.disconnect()),this.restoreHandlers.push(Fw({...this.bypassOptions,scrollCb:this.scrollCb,doc:t,mirror:this.mirror})),setTimeout(()=>{t.adoptedStyleSheets&&t.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(t.adoptedStyleSheets,this.mirror.getId(H.host(t))),this.restoreHandlers.push(Bw({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},t))},0)}observeAttachShadow(t){!t.contentWindow||!t.contentDocument||this.patchAttachShadow(t.contentWindow.Element,t.contentDocument)}patchAttachShadow(t,r){let n=this;this.restoreHandlers.push(Vr(t.prototype,"attachShadow",function(i){return function(o){let s=i.call(this,o),a=H.shadowRoot(this);return a&&$w(this)&&n.addShadowRoot(a,r),s}}))}reset(){this.restoreHandlers.forEach(t=>{try{t()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}},fn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",w6=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(yi=0;yi<fn.length;yi++)w6[fn.charCodeAt(yi)]=yi;var yi,S6=function(e){var t=new Uint8Array(e),r,n=t.length,i="";for(r=0;r<n;r+=3)i+=fn[t[r]>>2],i+=fn[(t[r]&3)<<4|t[r+1]>>4],i+=fn[(t[r+1]&15)<<2|t[r+2]>>6],i+=fn[t[r+2]&63];return n%3===2?i=i.substring(0,i.length-1)+"=":n%3===1&&(i=i.substring(0,i.length-2)+"=="),i};var zy=new Map;function v6(e,t){let r=zy.get(e);return r||(r=new Map,zy.set(e,r)),r.has(t)||r.set(t,[]),r.get(t)}var Vw=(e,t,r)=>{if(!e||!(Ww(e,t)||typeof e=="object"))return;let n=e.constructor.name,i=v6(r,n),o=i.indexOf(e);return o===-1&&(o=i.length,i.push(e)),o};function Es(e,t,r){if(e instanceof Array)return e.map(n=>Es(n,t,r));if(e===null)return e;if(e instanceof Float32Array||e instanceof Float64Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Int8Array||e instanceof Uint8ClampedArray)return{rr_type:e.constructor.name,args:[Object.values(e)]};if(e instanceof ArrayBuffer){let n=e.constructor.name,i=S6(e);return{rr_type:n,base64:i}}else{if(e instanceof DataView)return{rr_type:e.constructor.name,args:[Es(e.buffer,t,r),e.byteOffset,e.byteLength]};if(e instanceof HTMLImageElement){let n=e.constructor.name,{src:i}=e;return{rr_type:n,src:i}}else if(e instanceof HTMLCanvasElement){let n="HTMLImageElement",i=e.toDataURL();return{rr_type:n,src:i}}else{if(e instanceof ImageData)return{rr_type:e.constructor.name,args:[Es(e.data,t,r),e.width,e.height]};if(Ww(e,t)||typeof e=="object"){let n=e.constructor.name,i=Vw(e,t,r);return{rr_type:n,index:i}}}}return e}var Uw=(e,t,r)=>e.map(n=>Es(n,t,r)),Ww=(e,t)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(i=>typeof t[i]=="function").find(i=>e instanceof t[i]);function x6(e,t,r,n){let i=[],o=Object.getOwnPropertyNames(t.CanvasRenderingContext2D.prototype);for(let s of o)try{if(typeof t.CanvasRenderingContext2D.prototype[s]!="function")continue;let a=Vr(t.CanvasRenderingContext2D.prototype,s,function(l){return function(...c){return Ye(this.canvas,r,n,!0)||setTimeout(()=>{let u=Uw(c,t,this);e(this.canvas,{type:Sn["2D"],property:s,args:u})},0),l.apply(this,c)}});i.push(a)}catch{let a=ta(t.CanvasRenderingContext2D.prototype,s,{set(l){e(this.canvas,{type:Sn["2D"],property:s,args:[l],setter:!0})}});i.push(a)}return()=>{i.forEach(s=>s())}}function k6(e){return e==="experimental-webgl"?"webgl":e}function Gy(e,t,r,n){let i=[];try{let o=Vr(e.HTMLCanvasElement.prototype,"getContext",function(s){return function(a,...l){if(!Ye(this,t,r,!0)){let c=k6(a);if("__context"in this||(this.__context=c),n&&["webgl","webgl2"].includes(c))if(l[0]&&typeof l[0]=="object"){let u=l[0];u.preserveDrawingBuffer||(u.preserveDrawingBuffer=!0)}else l.splice(0,1,{preserveDrawingBuffer:!0})}return s.apply(this,[a,...l])}});i.push(o)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{i.forEach(o=>o())}}function qy(e,t,r,n,i,o){let s=[],a=Object.getOwnPropertyNames(e);for(let l of a)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(l))try{if(typeof e[l]!="function")continue;let c=Vr(e,l,function(u){return function(...d){let p=u.apply(this,d);if(Vw(p,o,this),"tagName"in this.canvas&&!Ye(this.canvas,n,i,!0)){let h=Uw(d,o,this),f={type:t,property:l,args:h};r(this.canvas,f)}return p}});s.push(c)}catch{let c=ta(e,l,{set(u){r(this.canvas,{type:t,property:l,args:[u],setter:!0})}});s.push(c)}return s}function C6(e,t,r,n){let i=[];return i.push(...qy(t.WebGLRenderingContext.prototype,Sn.WebGL,e,r,n,t)),typeof t.WebGL2RenderingContext<"u"&&i.push(...qy(t.WebGL2RenderingContext.prototype,Sn.WebGL2,e,r,n,t)),()=>{i.forEach(o=>o())}}var Hw="KGZ1bmN0aW9uKCkgewogICJ1c2Ugc3RyaWN0IjsKICB2YXIgY2hhcnMgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyI7CiAgdmFyIGxvb2t1cCA9IHR5cGVvZiBVaW50OEFycmF5ID09PSAidW5kZWZpbmVkIiA/IFtdIDogbmV3IFVpbnQ4QXJyYXkoMjU2KTsKICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYXJzLmxlbmd0aDsgaSsrKSB7CiAgICBsb29rdXBbY2hhcnMuY2hhckNvZGVBdChpKV0gPSBpOwogIH0KICB2YXIgZW5jb2RlID0gZnVuY3Rpb24oYXJyYXlidWZmZXIpIHsKICAgIHZhciBieXRlcyA9IG5ldyBVaW50OEFycmF5KGFycmF5YnVmZmVyKSwgaTIsIGxlbiA9IGJ5dGVzLmxlbmd0aCwgYmFzZTY0ID0gIiI7CiAgICBmb3IgKGkyID0gMDsgaTIgPCBsZW47IGkyICs9IDMpIHsKICAgICAgYmFzZTY0ICs9IGNoYXJzW2J5dGVzW2kyXSA+PiAyXTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMl0gJiAzKSA8PCA0IHwgYnl0ZXNbaTIgKyAxXSA+PiA0XTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMiArIDFdICYgMTUpIDw8IDIgfCBieXRlc1tpMiArIDJdID4+IDZdOwogICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaTIgKyAyXSAmIDYzXTsKICAgIH0KICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgIj0iOwogICAgfSBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgIj09IjsKICAgIH0KICAgIHJldHVybiBiYXNlNjQ7CiAgfTsKICBjb25zdCBsYXN0QmxvYk1hcCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7CiAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTsKICBhc3luYyBmdW5jdGlvbiBnZXRUcmFuc3BhcmVudEJsb2JGb3Iod2lkdGgsIGhlaWdodCwgZGF0YVVSTE9wdGlvbnMpIHsKICAgIGNvbnN0IGlkID0gYCR7d2lkdGh9LSR7aGVpZ2h0fWA7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBpZiAodHJhbnNwYXJlbnRCbG9iTWFwLmhhcyhpZCkpIHJldHVybiB0cmFuc3BhcmVudEJsb2JNYXAuZ2V0KGlkKTsKICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsKICAgICAgb2Zmc2NyZWVuLmdldENvbnRleHQoIjJkIik7CiAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCBvZmZzY3JlZW4uY29udmVydFRvQmxvYihkYXRhVVJMT3B0aW9ucyk7CiAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0gYXdhaXQgYmxvYi5hcnJheUJ1ZmZlcigpOwogICAgICBjb25zdCBiYXNlNjQgPSBlbmNvZGUoYXJyYXlCdWZmZXIpOwogICAgICB0cmFuc3BhcmVudEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICByZXR1cm4gYmFzZTY0OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuICIiOwogICAgfQogIH0KICBjb25zdCB3b3JrZXIgPSBzZWxmOwogIHdvcmtlci5vbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihlKSB7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBjb25zdCB7IGlkLCBiaXRtYXAsIHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zIH0gPSBlLmRhdGE7CiAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKAogICAgICAgIHdpZHRoLAogICAgICAgIGhlaWdodCwKICAgICAgICBkYXRhVVJMT3B0aW9ucwogICAgICApOwogICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOwogICAgICBjb25zdCBjdHggPSBvZmZzY3JlZW4uZ2V0Q29udGV4dCgiMmQiKTsKICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwogICAgICBiaXRtYXAuY2xvc2UoKTsKICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IG9mZnNjcmVlbi5jb252ZXJ0VG9CbG9iKGRhdGFVUkxPcHRpb25zKTsKICAgICAgY29uc3QgdHlwZSA9IGJsb2IudHlwZTsKICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSBhd2FpdCBibG9iLmFycmF5QnVmZmVyKCk7CiAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7CiAgICAgIGlmICghbGFzdEJsb2JNYXAuaGFzKGlkKSAmJiBhd2FpdCB0cmFuc3BhcmVudEJhc2U2NCA9PT0gYmFzZTY0KSB7CiAgICAgICAgbGFzdEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICAgIHJldHVybiB3b3JrZXIucG9zdE1lc3NhZ2UoeyBpZCB9KTsKICAgICAgfQogICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KSByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7CiAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7CiAgICAgICAgaWQsCiAgICAgICAgdHlwZSwKICAgICAgICBiYXNlNjQsCiAgICAgICAgd2lkdGgsCiAgICAgICAgaGVpZ2h0CiAgICAgIH0pOwogICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsKICAgIH0KICB9Owp9KSgpOwovLyMgc291cmNlTWFwcGluZ1VSTD1pbWFnZS1iaXRtYXAtZGF0YS11cmwtd29ya2VyLUlKcEM3Z19iLmpzLm1hcAo=",R6=e=>Uint8Array.from(atob(e),t=>t.charCodeAt(0)),Ky=typeof window<"u"&&window.Blob&&new Blob([R6(Hw)],{type:"text/javascript;charset=utf-8"});function E6(e){let t;try{if(t=Ky&&(window.URL||window.webkitURL).createObjectURL(Ky),!t)throw"";let r=new Worker(t,{name:e?.name});return r.addEventListener("error",()=>{(window.URL||window.webkitURL).revokeObjectURL(t)}),r}catch{return new Worker("data:text/javascript;base64,"+Hw,{name:e?.name})}finally{t&&(window.URL||window.webkitURL).revokeObjectURL(t)}}var nd=class{constructor(t){k(this,"pendingCanvasMutations",new Map),k(this,"rafStamps",{latestId:0,invokeId:null}),k(this,"mirror"),k(this,"mutationCb"),k(this,"resetObservers"),k(this,"frozen",!1),k(this,"locked",!1),k(this,"processMutation",(l,c)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(l)||this.pendingCanvasMutations.set(l,[]),this.pendingCanvasMutations.get(l).push(c)});let{sampling:r="all",win:n,blockClass:i,blockSelector:o,recordCanvas:s,dataURLOptions:a}=t;this.mutationCb=t.mutationCb,this.mirror=t.mirror,s&&r==="all"&&this.initCanvasMutationObserver(n,i,o),s&&typeof r=="number"&&this.initCanvasFPSObserver(r,n,i,o,{dataURLOptions:a})}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}initCanvasFPSObserver(t,r,n,i,o){let s=Gy(r,n,i,!0),a=new Map,l=new E6;l.onmessage=f=>{let{id:m}=f.data;if(a.set(m,!1),!("base64"in f.data))return;let{base64:g,type:w,width:S,height:y}=f.data;this.mutationCb({id:m,type:Sn["2D"],commands:[{property:"clearRect",args:[0,0,S,y]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:g}],type:w}]},0,0]}]})};let c=1e3/t,u=0,d,p=()=>{let f=[];return r.document.querySelectorAll("canvas").forEach(m=>{Ye(m,n,i,!0)||f.push(m)}),f},h=f=>{if(u&&f-u<c){d=requestAnimationFrame(h);return}u=f,p().forEach(async m=>{var g;let w=this.mirror.getId(m);if(a.get(w)||m.width===0||m.height===0)return;if(a.set(w,!0),["webgl","webgl2"].includes(m.__context)){let y=m.getContext(m.__context);((g=y?.getContextAttributes())==null?void 0:g.preserveDrawingBuffer)===!1&&y.clear(y.COLOR_BUFFER_BIT)}let S=await createImageBitmap(m);l.postMessage({id:w,bitmap:S,width:m.width,height:m.height,dataURLOptions:o.dataURLOptions},[S])}),d=requestAnimationFrame(h)};d=requestAnimationFrame(h),this.resetObservers=()=>{s(),cancelAnimationFrame(d)}}initCanvasMutationObserver(t,r,n){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();let i=Gy(t,r,n,!1),o=x6(this.processMutation.bind(this),t,r,n),s=C6(this.processMutation.bind(this),t,r,n);this.resetObservers=()=>{i(),o(),s()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){let t=r=>{this.rafStamps.latestId=r,requestAnimationFrame(t)};requestAnimationFrame(t)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((t,r)=>{let n=this.mirror.getId(r);this.flushPendingCanvasMutationFor(r,n)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(t,r){if(this.frozen||this.locked)return;let n=this.pendingCanvasMutations.get(t);if(!n||r===-1)return;let i=n.map(s=>{let{type:a,...l}=s;return l}),{type:o}=n[0];this.mutationCb({id:r,type:o,commands:i}),this.pendingCanvasMutations.delete(t)}},id=class{constructor(t){k(this,"trackedLinkElements",new WeakSet),k(this,"mutationCb"),k(this,"adoptedStyleSheetCb"),k(this,"styleMirror",new Zu),this.mutationCb=t.mutationCb,this.adoptedStyleSheetCb=t.adoptedStyleSheetCb}attachLinkElement(t,r){"_cssText"in r.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:r.id,attributes:r.attributes}]}),this.trackLinkElement(t)}trackLinkElement(t){this.trackedLinkElements.has(t)||(this.trackedLinkElements.add(t),this.trackStylesheetInLinkElement(t))}adoptStyleSheets(t,r){if(t.length===0)return;let n={id:r,styleIds:[]},i=[];for(let o of t){let s;this.styleMirror.has(o)?s=this.styleMirror.getId(o):(s=this.styleMirror.add(o),i.push({styleId:s,rules:Array.from(o.rules||CSSRule,(a,l)=>({rule:Xy(a,o.href),index:l}))})),n.styleIds.push(s)}i.length>0&&(n.styles=i),this.adoptedStyleSheetCb(n)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(t){}},od=class{constructor(){k(this,"nodeMap",new WeakMap),k(this,"active",!1)}inOtherBuffer(t,r){let n=this.nodeMap.get(t);return n&&Array.from(n).some(i=>i!==r)}add(t,r){this.active||(this.active=!0,requestAnimationFrame(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(t,(this.nodeMap.get(t)||new Set).add(r))}destroy(){}},Ee,Is,gu,Hs=!1;try{if(Array.from([1],e=>e*2)[0]!==2){let e=document.createElement("iframe");document.body.appendChild(e),Array.from=((Yg=e.contentWindow)==null?void 0:Yg.Array.from)||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}var bt=PM();function Ur(e={}){let{emit:t,checkoutEveryNms:r,checkoutEveryNth:n,blockClass:i="rr-block",blockSelector:o=null,ignoreClass:s="rr-ignore",ignoreSelector:a=null,maskTextClass:l="rr-mask",maskTextSelector:c=null,inlineStylesheet:u=!0,maskAllInputs:d,maskInputOptions:p,slimDOMOptions:h,maskInputFn:f,maskTextFn:m,hooks:g,packFn:w,sampling:S={},dataURLOptions:y={},mousemoveWait:v,recordDOM:C=!0,recordCanvas:M=!1,recordCrossOriginIframes:R=!1,recordAfter:E=e.recordAfter==="DOMContentLoaded"?e.recordAfter:"load",userTriggeredOnInput:x=!1,collectFonts:U=!1,inlineImages:X=!1,plugins:Q,keepIframeSrcFn:F=()=>!1,ignoreCSSAttributes:Ge=new Set([]),errorHandler:Ct}=e;i6(Ct);let _e=R?window.parent===window:!0,ct=!1;if(!_e)try{window.parent.document&&(ct=!1)}catch{ct=!0}if(_e&&!t)throw new Error("emit function is required");if(!_e&&!ct)return()=>{};v!==void 0&&S.mousemove===void 0&&(S.mousemove=v),bt.reset();let Ar=d===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:p!==void 0?p:{password:!0},Rt=ib(h);Q$();let Tf,ll=0,Of=ee=>{for(let ft of Q||[])ft.eventProcessor&&(ee=ft.eventProcessor(ee));return w&&!ct&&(ee=w(ee)),ee};Ee=(ee,ft)=>{var Ce;let Re=ee;if(Re.timestamp=Vs(),(Ce=_r[0])!=null&&Ce.isFrozen()&&Re.type!==q.FullSnapshot&&!(Re.type===q.IncrementalSnapshot&&Re.data.source===z.Mutation)&&_r.forEach(rt=>rt.unfreeze()),_e)t?.(Of(Re),ft);else if(ct){let rt={type:"rrweb",event:Of(Re),origin:window.location.origin,isCheckout:ft};window.parent.postMessage(rt,"*")}if(Re.type===q.FullSnapshot)Tf=Re,ll=0;else if(Re.type===q.IncrementalSnapshot){if(Re.data.source===z.Mutation&&Re.data.isAttachIframe)return;ll++;let rt=n&&ll>=n,se=r&&Re.timestamp-Tf.timestamp>r;(rt||se)&&Is(!0)}};let io=ee=>{Ee({type:q.IncrementalSnapshot,data:{source:z.Mutation,...ee}})},Mf=ee=>Ee({type:q.IncrementalSnapshot,data:{source:z.Scroll,...ee}}),Nf=ee=>Ee({type:q.IncrementalSnapshot,data:{source:z.CanvasMutation,...ee}}),gR=ee=>Ee({type:q.IncrementalSnapshot,data:{source:z.AdoptedStyleSheet,...ee}}),Pr=new id({mutationCb:io,adoptedStyleSheetCb:gR}),Tr=new td({mirror:bt,mutationCb:io,stylesheetManager:Pr,recordCrossOriginIframes:R,wrappedEmit:Ee});for(let ee of Q||[])ee.getMirror&&ee.getMirror({nodeMirror:bt,crossOriginIframeMirror:Tr.crossOriginIframeMirror,crossOriginIframeStyleMirror:Tr.crossOriginIframeStyleMirror});let cl=new od;gu=new nd({recordCanvas:M,mutationCb:Nf,win:window,blockClass:i,blockSelector:o,mirror:bt,sampling:S.canvas,dataURLOptions:y});let oo=new rd({mutationCb:io,scrollCb:Mf,bypassOptions:{blockClass:i,blockSelector:o,maskTextClass:l,maskTextSelector:c,inlineStylesheet:u,maskInputOptions:Ar,dataURLOptions:y,maskTextFn:m,maskInputFn:f,recordCanvas:M,inlineImages:X,sampling:S,slimDOMOptions:Rt,iframeManager:Tr,stylesheetManager:Pr,canvasManager:gu,keepIframeSrcFn:F,processedNodeManager:cl},mirror:bt});Is=(ee=!1)=>{if(!C)return;Ee({type:q.Meta,data:{href:window.location.href,width:Pw(),height:Aw()}},ee),Pr.reset(),oo.init(),_r.forEach(Ce=>Ce.lock());let ft=QM(document,{mirror:bt,blockClass:i,blockSelector:o,maskTextClass:l,maskTextSelector:c,inlineStylesheet:u,maskAllInputs:Ar,maskTextFn:m,maskInputFn:f,slimDOM:Rt,dataURLOptions:y,recordCanvas:M,inlineImages:X,onSerialize:Ce=>{Mw(Ce,bt)&&Tr.addIframe(Ce),Nw(Ce,bt)&&Pr.trackLinkElement(Ce),Yu(Ce)&&oo.addShadowRoot(H.shadowRoot(Ce),document)},onIframeLoad:(Ce,Re)=>{Tr.attachIframe(Ce,Re),oo.observeAttachShadow(Ce)},onStylesheetLoad:(Ce,Re)=>{Pr.attachLinkElement(Ce,Re)},keepIframeSrcFn:F});if(!ft)return console.warn("Failed to snapshot the document");Ee({type:q.FullSnapshot,data:{node:ft,initialOffset:Iw(window)}},ee),_r.forEach(Ce=>Ce.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&Pr.adoptStyleSheets(document.adoptedStyleSheets,bt.getId(document))};try{let ee=[],ft=Re=>{var rt;return Y(b6)({mutationCb:io,mousemoveCb:(se,ul)=>Ee({type:q.IncrementalSnapshot,data:{source:ul,positions:se}}),mouseInteractionCb:se=>Ee({type:q.IncrementalSnapshot,data:{source:z.MouseInteraction,...se}}),scrollCb:Mf,viewportResizeCb:se=>Ee({type:q.IncrementalSnapshot,data:{source:z.ViewportResize,...se}}),inputCb:se=>Ee({type:q.IncrementalSnapshot,data:{source:z.Input,...se}}),mediaInteractionCb:se=>Ee({type:q.IncrementalSnapshot,data:{source:z.MediaInteraction,...se}}),styleSheetRuleCb:se=>Ee({type:q.IncrementalSnapshot,data:{source:z.StyleSheetRule,...se}}),styleDeclarationCb:se=>Ee({type:q.IncrementalSnapshot,data:{source:z.StyleDeclaration,...se}}),canvasMutationCb:Nf,fontCb:se=>Ee({type:q.IncrementalSnapshot,data:{source:z.Font,...se}}),selectionCb:se=>{Ee({type:q.IncrementalSnapshot,data:{source:z.Selection,...se}})},customElementCb:se=>{Ee({type:q.IncrementalSnapshot,data:{source:z.CustomElement,...se}})},blockClass:i,ignoreClass:s,ignoreSelector:a,maskTextClass:l,maskTextSelector:c,maskInputOptions:Ar,inlineStylesheet:u,sampling:S,recordDOM:C,recordCanvas:M,inlineImages:X,userTriggeredOnInput:x,collectFonts:U,doc:Re,maskInputFn:f,maskTextFn:m,keepIframeSrcFn:F,blockSelector:o,slimDOMOptions:Rt,dataURLOptions:y,mirror:bt,iframeManager:Tr,stylesheetManager:Pr,shadowDomManager:oo,processedNodeManager:cl,canvasManager:gu,ignoreCSSAttributes:Ge,plugins:((rt=Q?.filter(se=>se.observer))==null?void 0:rt.map(se=>({observer:se.observer,options:se.options,callback:ul=>Ee({type:q.Plugin,data:{plugin:se.name,payload:ul}})})))||[]},g)};Tr.addLoadListener(Re=>{try{ee.push(ft(Re.contentDocument))}catch(rt){console.warn(rt)}});let Ce=()=>{Is(),ee.push(ft(document)),Hs=!0};return["interactive","complete"].includes(document.readyState)?Ce():(ee.push(Je("DOMContentLoaded",()=>{Ee({type:q.DomContentLoaded,data:{}}),E==="DOMContentLoaded"&&Ce()})),ee.push(Je("load",()=>{Ee({type:q.Load,data:{}}),E==="load"&&Ce()},window))),()=>{ee.forEach(Re=>{try{Re()}catch(rt){String(rt).toLowerCase().includes("cross-origin")||console.warn(rt)}}),cl.destroy(),Hs=!1,o6()}}catch(ee){console.warn(ee)}}Ur.addCustomEvent=(e,t)=>{if(!Hs)throw new Error("please add custom event after start recording");Ee({type:q.Custom,data:{tag:e,payload:t}})};Ur.freezePage=()=>{_r.forEach(e=>e.freeze())};Ur.takeFullSnapshot=e=>{if(!Hs)throw new Error("please take full snapshot after start recording");Is(e)};Ur.mirror=bt;var Jy;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(Jy||(Jy={}));var ZZ=5*1e3;var{addCustomEvent:XZ}=Ur,{freezePage:QZ}=Ur,{takeFullSnapshot:eX}=Ur;var qw="__ripploEmitRrwebEvent";function Kw(){return{eventTypes:zw(q),incrementalSources:zw(z)}}function zw(e){return Object.fromEntries(Object.entries(e).filter(t=>typeof t[1]=="number").map(([t,r])=>[r,t]))}var A6=ru("@ripplo/rrweb-bundle/bundle","rrweb.js"),Gw;function Jw(){return Gw??=I6(A6,{encoding:"utf8"}),Gw}async function Td({debugDir:e,writeOtlpPortFile:t}){let r=new Map,n=zg(Kw()),i=await pi({localDir:Yw.join(Yw.dirname(e),".local"),writePortFile:t,onRrwebBatch:(a,l)=>{r.get(a)?.emitRrwebBatch(l)},onSpan:a=>{let l=a.attributes["ripplo.run"];l!=null&&r.get(l)?.emit(a)}}),o=await Jw();return{attach:async(a,l)=>{let c=Hg({debugDir:e,runId:l,worker:n});r.set(l,c),await qg(a,l),await a.addInitScript(`globalThis.__ripploCapturePort = ${String(i.port)};`),await T6(a,c);let u=[];return{emitAction:d=>{N6(c,d)},emitAssertion:d=>{L6(c,d)},finish:()=>O6(c,{pages:u,registry:r,runId:l}),onPage:d=>{u.push(d),M6(c,o,d)}}},close:async()=>{await i.stop(),await n.terminate()},injectSpan:(a,l)=>{r.get(a)?.emit(l)}}}async function P6(e){await Promise.all(e.map(t=>t.evaluate("globalThis.__ripploFlushRrweb ? globalThis.__ripploFlushRrweb() : undefined").catch(()=>{})))}async function T6(e,t){await e.exposeBinding(qw,(r,n)=>{let i=typeof n=="string"?n:JSON.stringify(n);t.emitRrwebBatch(Buffer.from(i,"utf8"))})}async function O6(e,t){await P6(t.pages),t.registry.delete(t.runId),await e.close({noticeIfNoRrweb:"rrweb capture unavailable: recorder never pushed an event \u2014 page never loaded the recorder (blank page, failed navigation, or CSP block)"})}function M6(e,t,r){r.on("load",()=>{r.addScriptTag({content:t}).catch(()=>{})}),r.on("response",n=>{j6(e,n)}),r.on("console",n=>{e.emit({kind:"console",level:n.type(),source:"browser",text:n.text(),timeNanos:an(Date.now())})}),r.on("pageerror",n=>{e.emit({kind:"error",message:n.message,source:"browser",stack:n.stack,timeNanos:an(Date.now())})})}function N6(e,t){e.emit({action:t.kind,kind:"action",source:"test",target:$6(t),timeNanos:an(Date.now()),value:D6(t)})}function L6(e,t){let r=Qc(t);e.emit({kind:"assertion",label:r.label,outcome:t.outcome,source:"test",step:r.step,timeNanos:an(Date.now())})}function $6(e){if(e.url!=null)return e.url;if(e.locator!=null)return Pd(e.locator)}function Pd(e){return e.by==="testId"?`testId=${e.value}`:e.by==="inside"?`${Pd(e.scope)} \u25B8 ${Pd(e.target)}`:`${e.role} ${e.name??""}`.trim()}function D6(e){return e.value!=null?typeof e.value=="object"?JSON.stringify(e.value):String(e.value):e.key}var _6=/^http:\/\/127\.0\.0\.1:\d+\/rrweb\//;function j6(e,t){let r=t.request(),n=r.resourceType();if(n!=="fetch"&&n!=="xhr"||_6.test(r.url()))return;let i=r.headers().traceparent?.split("-");e.emit({kind:"network",method:r.method(),resourceType:n,source:"browser",spanId:i?.[2],status:t.status(),timeNanos:an(Date.now()),traceId:i?.[1],url:t.url()})}import{err as fx,ok as af,ResultAsync as K5}from"neverthrow";function Di(e){return{invariants:Nc(e),laws:Tc(e)}}var Zw=Object.defineProperty,Xw=(e,t)=>{let r={};for(var n in e)Zw(r,n,{get:e[n],enumerable:!0});return t||Zw(r,Symbol.toStringTag,{value:"Module"}),r};var F6=class Qw{constructor(t){this.seed=t}clone(){return new Qw(this.seed)}next(){let t=Od(this.seed),r=Md(t),n=Od(t),i=Md(n);return this.seed=Od(n),Md(this.seed)+(i+(r<<15)<<15)|0}jump(){this.seed=Math.imul(this.seed,1994129409)+916127744&4294967295}getState(){return[this.seed]}};function Od(e){return Math.imul(e,214013)+2531011&4294967295}function Md(e){return(e&-2147483649)>>16}function eS(e){return new F6(e)}var B6="SUSgbA\\W`E[]KN2RUSo8XVU?HKBFRl11E\\KoWOg5B]XEWG;BE;1:oVK[`B^Z9Qd23^XTnhL>]Unda4f[X;_j9H5QD=cN<5H`3bW>9bk1mjoI2fK0obmAAINOV:>Mek_V9dd<hZ\\gC3?Fm7FEk07QH_3PLm^@?^i\\QMkgP<]oLHmFnlecg5F@7U^@4jhZ?WZS0k@GHehmM36:5^9;>Hmm`co>k:KOSkSbIINb1VFf>LXgP>GUAQTD>Ci>XMGkUflLlb?_FaFUk@?5N7i70@;1o68ah@I<HFH7R2^J:G][Gf962ITWID9GWK8ElD2G5=DcHcL]cA]P2n7A=[<bInM;IHDQnJMReRXDWbVldnGEIPij`E08Xdci3@0c:IBbD4:Nk]?lEN9j^;T`0blZX7eiWE8c`<ak7j05FZi>AjUDh?M1B?^??FAXKThf<aBOXZf7jXYGK>R<;NHk3S9YhM7STJ6`:MIE`S@7298X8W>PNK=@;lLX<i\\TXLL<W@X[X54H]in8M;;n?kkQbajgAMY=Tf9b;ZKf0QUB2FHYWfnfkDoU9YkcLd95T>lK6GM1YL\\lid:J>KYS=iJ]Y>QlF>?R5_[5QeYC=66;A32Ac>OHk_ne^0g>bK:g;KFPgbGUcPR_Z=TX3H9d03bKZ2IhEPKBo>LSGWd0iFdV8C<Y:<>T[O6lC\\blaZ>GoAYP4clf^j1IfnZJ]QeDe2X<HE[LJNWnaCg[P]Co^:IRbWPY?97UePBlZNNHY6LOBM8P>=h?Ye:_f_Sb9Ki5GDYBF4dWeMfdg^ccPllNWM7G1\\UMdoYeOOD5^e@foA22G?ADYo5:FVG[bWo96;>3kc_c1Ab30>30;1@4F8g2hY?DJ4[LOL;ZLLKo2]jo>[KMDUcR279N_kF=3WL@Dd620bMTdA\\U9k``ef2iD9JgJ8CZBHS>F^Uk;<laeaeHS<15OSeS`PcSSKBRBFY]aQ=EgUXGNg=?d56`KA@2BejY0^[_DCX`L=CGMT=BW^6S1i@2ATBVk>3_ocRA>2U:4GPQ6o>5jX2HIcV3S@On6KB<[SKB?FC_AAji9agbBFkAi\\;4I\\UJ]c36Ub@[;gQACVGY<V]SDJBUU]La\\_a@JdOO8gm2T0DJMa:8Hf7>E]noQ[1Kambn??QQ]S?1i0oMGOijb\\aGY6lQ^CJ?9bFle8<eH4UUjBINX;n8@VOA5ah^URV49B[A?ONHhHAC1J5;;h0SXYlG^0W=eJdHh^K4SGe=1HZLLam;D<Q3AOdbPcdX``82\\jo0En8jRVGC73WMCF9`d:0heS?80?C188cSn7H9<daZ]MgS4Pb^1HkA:1PU^5>^h_g[RQV@PnYBRI_]`B]Bh@Uk03eXGY`I16L76H28X`R>IROMeNVUdU[:lghLhPCQZ:4a<30YBZCYnXe[?;jc8gKI2QH2MjnWBm4nGCZW`aVU2a;P<AMI25mlW_Nm][2?b6o851X@lAm]YZ`bWRF1g<Ga:T]1NXH5Veja5P9S9>:aNg:Th1Y=5o78K>LQ8hW@5S?I83Lk5Xk;j5@I3o[d:4RjE^oS30:WP9gC\\i8aSI>QRE@4lP:7lDg8g2`Ql[2I8aBU\\BQ?B4_clL9Q]S;^e1Ob5[>3JER2`c7B=o]fPOWO<DGi;Niba1PoWPPE_Q3aX0OB0mZej\\f_M[J4Y6]1`h2MkF[GiW8Q^d3^_=<I1N2Q7]2<2j[iP7V3V821FaI]A`93bC^Z\\G=WJ;^Ih?B97_iIF@\\Dl<eK1je8SNTWo_=XFMZH<<JYLZ^YQMPgYOV45K_:]kSI8^XlO0]GY=VUfe_C_F6TOcoAlVUH:o=WhhT@K`2KFhe<3\\KXQ>W:M?S_4S5d@J^`[AGA7@3]DnGSCO`\\?E8HT75^d9\\:m\\m1egIfk8cd6bD9\\eU8\\n[Pb0Cgd^S0n9kGJHb]i5XodlKHc34Fhi9K>0U5WK`>7Ff2^KL=WC6:kc?e5C^a1T1:4:^S5flXlGNIj08AfO?Dh7T7dWO>E]NI9?ob7B7P_h[4TEP[EU;GllFTnSmg9:\\[N]<SAoKP_kPlG56A:I3T6EG8Hj=XnUE`KT5U@OQ?]7[N^MFN1_NU4KO_3::Le`8IL9[1Z1H1;V3SC\\N3]S@4U[F2mhT5dYM7[4Pg_Na0_8WTH0`bgceQS8]EG;XgD4Ib4iLTP@kE79Mn>AYRJA1U5^Blhgno:aHVYc03c3J0Vc9FjEV^M75Zfd8kVC9>iJDk`AJ[6f7DK2D^DL\\AX:6b5h31XH;RQB\\N<ZSM=J;6L[`UW^eOIFc1Y]6_dfedIe4ARh72mTXC0WND_IDHVCZRDE0eODARCEETQI5TPUQE=jEH5bS?LP[ai`F5ABRYDo2o\\@=]GT?_9;hc4Lm:\\SF9k1T<0E@fX9BG[]g0nY7k[Qmi@la8`PF0j6@Q?Ii7bLkXQ<lLHf]`:DCh@9JY5>hEVLTdhL\\b1EB0lLh<=WaO@F<;8g<d:@e:LA:cFIEdmQh7hNHfSRToW?8N4:Z1K;XEDRO;OIDh<UdVln?bjgL>?VE98[B\\K<BVjkG8LiSX;fb>jf?DUK00Aih<WY6QD6cEnHBZ8iN_fd<G8Ci`11RUW2QlW]IXV:m?;J0GXXHfGNQ>:D`=fLPbO?VOTEYLj^cNj5PM>jKB5HVjJ4U7lXaTQNL9<@\\1`m\\Ug@VQHd7>jW=ca0`miF7;N0F=GjoQ`RFchKMGTmn8cF@Oh4GGCm7m2`U9j93Tb>=kSERjE_J939F01I1;`<ijk_=_Vn=7RVAI6fnQI5KlF:C44bN<<8K=Z<2TP<1]5?<dB>^LA=ebloE2Y2:9lkh0\\<YKbHD97iE`<C5oj^1>X:??`H6BXF2hG1Q[dF0Q=>W=J?7C\\k1T?<;R44oW?1hY^G8Zm]ZKnfOf0eCFYo6?=D8?<`6HU5SXh1;=:23LmV_FSi;OJfV<^?GkIDPISeHg1LaGE:V3Y3K3H<QJfbY?=;ldZRhnhQT_mGXDLFXXhSONE6Do_0iNZagB:BPGOTH;VhHUTd6LhQm^[;dO]5Hlkg<R:F<Kn\\:I:EGojgWZ2X@SYO_dlH;G8S<>oEKabY`:oU;=JW7ig?S?EYb86b7n8ce\\]IRa]koiWY<RfO;5kUI;7lVeC?[@ZaXDiF04B8R]bg@>O<mQDoUcBLcf^f>m2kMBUloD>Ze@NN^Z11TM`inXYhE_I=kA`:ZF4d\\>`L@;ZP[`ENU5cL[BV6\\Z?Di76:jg3hE6oG6jFc8kP=[GS1;WSedYQW1:U4\\OF32GgmMC<AjO]872bdBb`bKAA?8j78b>T3VfcUB2m4J^CPRU;8dScI]LU]^bBYA5_3:Y0N5i^?200000",V6=class rS{constructor(t,r){this.states=t,this.index=r}clone(){return new rS(this.states.slice(),this.index)}next(){let t=this.states[this.index];return t^=t>>>11,t^=t<<7&2636928640,t^=t<<15&4022730752,t^=t>>>18,this.index=ra(this.states,this.index),t}getState(){return[this.index,...this.states]}jump(){let t=this.states.slice(),r=this.index;this.index=ra(this.states,this.index);for(let n=19932;n>0;--n)B6.charCodeAt(n/6|0)-48&1<<n%6&&tS(this.states,this.index,t,r),this.index=ra(this.states,this.index);tS(this.states,this.index,t,r)}};function tS(e,t,r,n){let i=0;if(n>=t){for(;i<624-n;i++)e[i+t]^=r[i+n];for(;i<624-t;i++)e[i+t]^=r[i+n-624];for(;i<624;i++)e[i+t-624]^=r[i+n-624]}else{for(;i<624-t;i++)e[i+t]^=r[i+n];for(;i<624-n;i++)e[i+t-624]^=r[i+n];for(;i<624;i++)e[i+t-624]^=r[i+n-624]}}function ra(e,t){if(t<227){let r=e[t]&2147483648|e[t+1]&2147483647;return e[t]=e[t+397]^r>>>1^-(r&1)&2567483615,t+1}else if(t<623){let r=e[t]&2147483648|e[t+1]&2147483647;return e[t]=e[t+397-624]^r>>>1^-(r&1)&2567483615,t+1}else{let r=e[t]&2147483648|e[0]&2147483647;return e[t]=e[396]^r>>>1^-(r&1)&2567483615,0}}function U6(e){for(let t=0;t!==624;++t)ra(e,t)}function nS(e){let t=[e|0];for(let r=1;r!==624;++r){let n=t[r-1]^t[r-1]>>>30;t.push(Math.imul(1812433253,n)+r|0)}return U6(t),new V6(t,0)}var W6=class iS{constructor(t,r,n,i){this.s01=t,this.s00=r,this.s11=n,this.s10=i}clone(){return new iS(this.s01,this.s00,this.s11,this.s10)}next(){let t=this.s00^this.s00<<23,r=this.s01^(this.s01<<23|this.s00>>>9),n=t^this.s10^(t>>>18|r<<14)^(this.s10>>>5|this.s11<<27),i=r^this.s11^r>>>18^this.s11>>>5,o=this.s00+this.s10|0;return this.s01=this.s11,this.s00=this.s10,this.s11=i,this.s10=n,o}jump(){let t=0,r=0,n=0,i=0,o=[1667051007,2321340297,1548169110,304075285];for(let s=0;s!==4;++s)for(let a=1;a;a<<=1)o[s]&a&&(t^=this.s01,r^=this.s00,n^=this.s11,i^=this.s10),this.next();this.s01=t,this.s00=r,this.s11=n,this.s10=i}getState(){return[this.s01,this.s00,this.s11,this.s10]}};function Nd(e){return new W6(-1,~e,e|0,0)}var H6=class oS{constructor(t,r,n,i){this.s01=t,this.s00=r,this.s11=n,this.s10=i}clone(){return new oS(this.s01,this.s00,this.s11,this.s10)}next(){let t=this.s00+this.s10|0,r=this.s10^this.s00,n=this.s11^this.s01,i=this.s00,o=this.s01;return this.s00=i<<24^o>>>8^r^r<<16,this.s01=o<<24^i>>>8^n^(n<<16|r>>>16),this.s10=n<<5^r>>>27,this.s11=r<<5^n>>>27,t}jump(){let t=0,r=0,n=0,i=0,o=[3639956645,3750757012,1261568508,386426335];for(let s=0;s!==4;++s)for(let a=1;a;a<<=1)o[s]&a&&(t^=this.s01,r^=this.s00,n^=this.s11,i^=this.s10),this.next();this.s01=t,this.s00=r,this.s11=n,this.s10=i}getState(){return[this.s01,this.s00,this.s11,this.s10]}};function sS(e){return new H6(-1,~e,e|0,0)}function aS(e,t){for(let r=0;r!==t;++r)e.next()}var lS=BigInt,z6=4294967296n;function uS(e,t,r){let n=r-t+1n,i=z6,o=1;for(;i<n;)i<<=32n,++o;let s=cS(o,e);if(s<n)return s+t;if(s+n<i)return s%n+t;let a=i-i%n;for(;s>=a;)s=cS(o,e);return s%n+t}function cS(e,t){let r=lS(t.next()+2147483648);for(let n=1;n<e;++n){let i=t.next();r=(r<<32n)+lS(i+2147483648)}return r}function _i(e,t){let r=t>2?~~(4294967296/t)*t:4294967296,n=e.next()+2147483648;for(;n>=r;)n=e.next()+2147483648;return n%t}function Ld(e,t){if(t<0){let r=-t;e.sign=-1,e.data[0]=~~(r/4294967296),e.data[1]=r>>>0}else e.sign=1,e.data[0]=~~(t/4294967296),e.data[1]=t>>>0;return e}function G6(e,t,r){let n=t.data[1],i=t.data[0],o=t.sign,s=r.data[1],a=r.data[0],l=r.sign;if(e.sign=1,o===1&&l===-1){let m=n+s,g=i+a+(m>4294967295?1:0);return e.data[0]=g>>>0,e.data[1]=m>>>0,e}let c=n,u=i,d=s,p=a;o===-1&&(c=s,u=a,d=n,p=i);let h=0,f=c-d;return f<0&&(h=1,f=f>>>0),e.data[0]=u-p-h,e.data[1]=f,e}function q6(e,t,r){let n=r[0]+1;for(t[0]=_i(e,n),t[1]=_i(e,4294967296);t[0]>=r[0]&&(t[0]!==r[0]||t[1]>=r[1]);)t[0]=_i(e,n),t[1]=_i(e,4294967296);return t}var K6=Number.MAX_SAFE_INTEGER,J6={sign:1,data:[0,0]},Y6={sign:1,data:[0,0]},dS={sign:1,data:[0,0]},$d=[0,0];function Z6(e,t,r,n){let i=n<=K6?Ld(dS,n):G6(dS,Ld(J6,r),Ld(Y6,t));return i.data[1]===4294967295?(i.data[0]+=1,i.data[1]=0):i.data[1]+=1,q6(e,$d,i.data),$d[0]*4294967296+$d[1]+t}function na(e,t,r){let n=r-t;return n<=4294967295?_i(e,n+1)+t:Z6(e,t,r,n)}var pS=Symbol.for("fast-check/PreconditionFailure"),kr=class extends Error{constructor(e=!1){super(),this.interruptExecution=e,this.footprint=pS}static isFailure(e){return e!=null&&e.footprint===pS}};function X6(e){if(!e)throw new kr}var Q6=class{[Symbol.iterator](){return this}next(e){return{value:e,done:!0}}},e4=new Q6;function t4(){return e4}function*r4(e,t){for(let r of e)yield t(r)}function*n4(e,t){for(let r of e)yield*t(r)}function*i4(e,t){for(let r of e)t(r)&&(yield r)}function*o4(e,t){for(let r=0;r<t;++r){let n=e.next();if(n.done)break;yield n.value}}function*s4(e,t){let r=e.next();for(;!r.done&&t(r.value);)yield r.value,r=e.next()}function*a4(e,t){for(let r=e.next();!r.done;r=e.next())yield r.value;for(let r of t)for(let n=r.next();!n.done;n=r.next())yield n.value}var l4=Symbol.iterator,V=class Kt{static nil(){return new Kt(t4())}static of(...t){return new Kt(t[l4]())}constructor(t){this.g=t}next(){return this.g.next()}[Symbol.iterator](){return this.g}map(t){return new Kt(r4(this.g,t))}flatMap(t){return new Kt(n4(this.g,t))}dropWhile(t){let r=!1;function*n(i){(r||!t(i))&&(r=!0,yield i)}return this.flatMap(n)}drop(t){if(t<=0)return this;let r=0;function n(){return r++<t}return this.dropWhile(n)}takeWhile(t){return new Kt(s4(this.g,t))}take(t){return new Kt(o4(this.g,t))}filter(t){return new Kt(i4(this.g,t))}every(t){for(let r of this.g)if(!t(r))return!1;return!0}has(t){for(let r of this.g)if(t(r))return[!0,r];return[!1,null]}join(...t){return new Kt(a4(this.g,t))}getNthOrLast(t){let r=t,n=null;for(let i of this.g){if(r--===0)return i;n=i}return n}};function vr(e){return new V(e)}var Ve=Symbol.for("fast-check/cloneMethod");function Hr(e){return e!==null&&(typeof e=="object"||typeof e=="function")&&Ve in e&&typeof e[Ve]=="function"}function Rn(e){return Hr(e)?e[Ve]():e}var c4=Object.defineProperty,$=class{constructor(e,t,r){this.value_=e,this.context=t,this.hasToBeCloned=r!==void 0||Hr(e),this.readOnce=!1,this.value=e,this.hasToBeCloned&&c4(this,"value",{get:r!==void 0?r:this.getValue,enumerable:!1,configurable:!1})}getValue(){return this.hasToBeCloned?this.readOnce?this.value_[Ve]():(this.readOnce=!0,this.value_):this.value_}},he=class{filter(e){return new p4(this,e)}map(e,t){return new d4(this,e,t)}chain(e){return new u4(this,e)}},u4=class extends he{constructor(e,t){super(),this.arb=e,this.chainer=t}generate(e,t){let r=e.clone(),n=this.arb.generate(e,t);return this.valueChainer(n,e,r,t)}canShrinkWithoutContext(e){return!1}shrink(e,t){return this.isSafeContext(t)?(t.stoppedForOriginal?V.nil():this.arb.shrink(t.originalValue,t.originalContext).map(r=>this.valueChainer(r,t.clonedMrng.clone(),t.clonedMrng,t.originalBias))).join(t.chainedArbitrary.shrink(e,t.chainedContext).map(r=>{let n={...t,chainedContext:r.context,stoppedForOriginal:!0};return new $(r.value_,n)})):V.nil()}valueChainer(e,t,r,n){let i=this.chainer(e.value_),o=i.generate(t,n),s={originalBias:n,originalValue:e.value_,originalContext:e.context,stoppedForOriginal:!1,chainedArbitrary:i,chainedContext:o.context,clonedMrng:r};return new $(o.value_,s)}isSafeContext(e){return e!=null&&typeof e=="object"&&"originalBias"in e&&"originalValue"in e&&"originalContext"in e&&"stoppedForOriginal"in e&&"chainedArbitrary"in e&&"chainedContext"in e&&"clonedMrng"in e}},d4=class extends he{constructor(e,t,r){super(),this.arb=e,this.mapper=t,this.unmapper=r,this.bindValueMapper=n=>this.valueMapper(n)}generate(e,t){let r=this.arb.generate(e,t);return this.valueMapper(r)}canShrinkWithoutContext(e){if(this.unmapper!==void 0)try{let t=this.unmapper(e);return this.arb.canShrinkWithoutContext(t)}catch{return!1}return!1}shrink(e,t){if(this.isSafeContext(t))return this.arb.shrink(t.originalValue,t.originalContext).map(this.bindValueMapper);if(this.unmapper!==void 0){let r=this.unmapper(e);return this.arb.shrink(r,void 0).map(this.bindValueMapper)}return V.nil()}mapperWithCloneIfNeeded(e){let t=e.value,r=this.mapper(t);return e.hasToBeCloned&&(typeof r=="object"&&r!==null||typeof r=="function")&&Object.isExtensible(r)&&!Hr(r)&&Object.defineProperty(r,Ve,{get:()=>()=>this.mapperWithCloneIfNeeded(e)[0]}),[r,t]}valueMapper(e){let[t,r]=this.mapperWithCloneIfNeeded(e);return new $(t,{originalValue:r,originalContext:e.context})}isSafeContext(e){return e!=null&&typeof e=="object"&&"originalValue"in e&&"originalContext"in e}},p4=class extends he{constructor(e,t){super(),this.arb=e,this.refinement=t,this.bindRefinementOnValue=r=>this.refinementOnValue(r)}generate(e,t){for(;;){let r=this.arb.generate(e,t);if(this.refinementOnValue(r))return r}}canShrinkWithoutContext(e){return this.arb.canShrinkWithoutContext(e)&&this.refinement(e)}shrink(e,t){return this.arb.shrink(e,t).filter(this.bindRefinementOnValue)}refinementOnValue(e){return this.refinement(e.value)}};function p1(e){return typeof e=="object"&&e!==null&&"generate"in e&&"shrink"in e&&"canShrinkWithoutContext"in e}function f1(e){if(!p1(e))throw new Error("Unexpected value received: not an instance of Arbitrary")}var h1=Function.prototype.apply,Dd=Symbol("apply");function f4(e){try{return e.apply}catch{return}}function h4(e,t,r){let n=e;n[Dd]=h1;let i=n[Dd](t,r);return delete n[Dd],i}function K(e,t,r){return f4(e)===h1?e.apply(t,r):h4(e,t,r)}var m1=Array,O=BigInt,m4=BigInt64Array,g4=BigUint64Array,g1=Boolean,ba=Date,N=Error,y1=Float32Array,b1=Float64Array,y4=Int8Array,b4=Int16Array,w4=Int32Array,Yt=Number,Ze=String,En=Set,S4=Uint8Array,v4=Uint8ClampedArray,x4=Uint16Array,k4=Uint32Array,C4=encodeURIComponent,Zt=Map,da=Symbol,fS=Array.prototype.forEach,hS=Array.prototype.indexOf,mS=Array.prototype.join,gS=Array.prototype.map,yS=Array.prototype.flat,bS=Array.prototype.filter,wS=Array.prototype.push,SS=Array.prototype.pop,vS=Array.prototype.splice,xS=Array.prototype.slice,kS=Array.prototype.sort,CS=Array.prototype.every;function R4(e){try{return e.forEach}catch{return}}function E4(e){try{return e.indexOf}catch{return}}function I4(e){try{return e.join}catch{return}}function A4(e){try{return e.map}catch{return}}function P4(e){try{return e.flat}catch{return}}function T4(e){try{return e.filter}catch{return}}function O4(e){try{return e.push}catch{return}}function M4(e){try{return e.pop}catch{return}}function N4(e){try{return e.splice}catch{return}}function L4(e){try{return e.slice}catch{return}}function $4(e){try{return e.sort}catch{return}}function D4(e){try{return e.every}catch{return}}function w1(e,t){return R4(e)===fS?e.forEach(t):K(fS,e,[t])}function Jt(e,...t){return E4(e)===hS?e.indexOf(...t):K(hS,e,t)}function fe(e,...t){return I4(e)===mS?e.join(...t):K(mS,e,t)}function G(e,t){return A4(e)===gS?e.map(t):K(gS,e,[t])}function _4(e,t){return P4(e)===yS?([].flat(),e.flat(t)):K(yS,e,[t])}function j4(e,t){return T4(e)===bS?e.filter(t):K(bS,e,[t])}function L(e,...t){return O4(e)===wS?e.push(...t):K(wS,e,t)}function S1(e){return M4(e)===SS?e.pop():K(SS,e,[])}function v1(e,...t){return N4(e)===vS?e.splice(...t):K(vS,e,t)}function Ue(e,...t){return L4(e)===xS?e.slice(...t):K(xS,e,t)}function x1(e,...t){return $4(e)===kS?e.sort(...t):K(kS,e,t)}function k1(e,...t){return D4(e)===CS?e.every(...t):K(CS,e,t)}var RS=Date.prototype.getTime,ES=Date.prototype.toISOString;function F4(e){try{return e.getTime}catch{return}}function B4(e){try{return e.toISOString}catch{return}}function wa(e){return F4(e)===RS?e.getTime():K(RS,e,[])}function V4(e){return B4(e)===ES?e.toISOString():K(ES,e,[])}var IS=Set.prototype.add,AS=Set.prototype.has;function U4(e){try{return e.add}catch{return}}function W4(e){try{return e.has}catch{return}}function Ui(e,t){return U4(e)===IS?e.add(t):K(IS,e,[t])}function Sa(e,t){return W4(e)===AS?e.has(t):K(AS,e,[t])}var PS=WeakMap.prototype.set,TS=WeakMap.prototype.get;function H4(e){try{return e.set}catch{return}}function z4(e){try{return e.get}catch{return}}function G4(e,t,r){return H4(e)===PS?e.set(t,r):K(PS,e,[t,r])}function q4(e,t){return z4(e)===TS?e.get(t):K(TS,e,[t])}var OS=Map.prototype.set,MS=Map.prototype.get,NS=Map.prototype.has;function K4(e){try{return e.set}catch{return}}function J4(e){try{return e.get}catch{return}}function Y4(e){try{return e.has}catch{return}}function vt(e,t,r){return K4(e)===OS?e.set(t,r):K(OS,e,[t,r])}function lt(e,t){return J4(e)===MS?e.get(t):K(MS,e,[t])}function Z4(e,t){return Y4(e)===NS?e.has(t):K(NS,e,[t])}var LS=String.prototype.split,$S=String.prototype.startsWith,DS=String.prototype.endsWith,_S=String.prototype.substring,jS=String.prototype.toLowerCase,FS=String.prototype.toUpperCase,BS=String.prototype.padStart,VS=String.prototype.charCodeAt,US=String.prototype.normalize,WS=String.prototype.replace;function X4(e){try{return e.split}catch{return}}function Q4(e){try{return e.startsWith}catch{return}}function e3(e){try{return e.endsWith}catch{return}}function t3(e){try{return e.substring}catch{return}}function r3(e){try{return e.toLowerCase}catch{return}}function n3(e){try{return e.toUpperCase}catch{return}}function i3(e){try{return e.padStart}catch{return}}function o3(e){try{return e.charCodeAt}catch{return}}function s3(e){try{return e.normalize}catch{return}}function a3(e){try{return e.replace}catch{return}}function Xe(e,...t){return X4(e)===LS?e.split(...t):K(LS,e,t)}function l3(e,...t){return Q4(e)===$S?e.startsWith(...t):K($S,e,t)}function c3(e,...t){return e3(e)===DS?e.endsWith(...t):K(DS,e,t)}function xe(e,...t){return t3(e)===_S?e.substring(...t):K(_S,e,t)}function ap(e){return r3(e)===jS?e.toLowerCase():K(jS,e,[])}function Np(e){return n3(e)===FS?e.toUpperCase():K(FS,e,[])}function u3(e,...t){return i3(e)===BS?e.padStart(...t):K(BS,e,t)}function In(e,t){return o3(e)===VS?e.charCodeAt(t):K(VS,e,[t])}function d3(e,t){return s3(e)===US?e.normalize(t):K(US,e,[t])}function p3(e,t,r){return a3(e)===WS?e.replace(t,r):K(WS,e,[t,r])}var HS=Number.prototype.toString;function f3(e){try{return e.toString}catch{return}}function Wi(e,...t){return f3(e)===HS?e.toString(...t):K(HS,e,t)}var h3=Object.prototype.hasOwnProperty,m3=Object.prototype.toString;function C1(e,t){return K(h3,e,[t])}function lp(e){return K(m3,e,[])}var g3=Error.prototype.toString;function y3(e){return K(g3,e,[])}var b3=class{constructor(e){this.producer=e}[Symbol.iterator](){return this.it===void 0&&(this.it=this.producer()),this.it}next(){return this.it===void 0&&(this.it=this.producer()),this.it.next()}};function Sr(e){return new b3(e)}var R1=Array.isArray,w3=Object.defineProperty;function E1(e,t){return w3(e,Ve,{value:()=>{let r=[];for(let n=0;n!==t.length;++n)L(r,t[n].value);return E1(r,t),r}})}function I1(e){let t=!1,r=[],n=[];for(let i=0;i!==e.length;++i){let o=e[i];t=t||o.hasToBeCloned,L(r,o.value),L(n,o.context)}return t&&E1(r,e),new $(r,n)}function A1(e,t,r){let n=[],i=R1(r)?r:[];for(let o=0;o!==e.length;++o)L(n,Sr(()=>e[o].shrink(t[o],i[o]).map(s=>{let a=G(t,(l,c)=>new $(Rn(l),i[c]));return[...Ue(a,0,o),s,...Ue(a,o+1)]}).map(I1)));return V.nil().join(...n)}var S3=class extends he{constructor(e){super(),this.arbs=e;for(let t=0;t!==e.length;++t){let r=e[t];if(r==null||r.generate===null||r.generate===void 0)throw new Error(`Invalid parameter encountered at index ${t}: expecting an Arbitrary`)}}generate(e,t){let r=[];for(let n=0;n!==this.arbs.length;++n)L(r,this.arbs[n].generate(e,t));return I1(r)}canShrinkWithoutContext(e){if(!R1(e)||e.length!==this.arbs.length)return!1;for(let t=0;t!==this.arbs.length;++t)if(!this.arbs[t].canShrinkWithoutContext(e[t]))return!1;return!0}shrink(e,t){return A1(this.arbs,e,t)}};function W(...e){return new S3(e)}var v3=Math.log;function P1(e){return 2+~~(v3(e+1)*.4342944819032518)}var Lp={};function x3(e){Lp=e}function xt(){return Lp}function k3(){Lp={}}var Hi=Symbol("UndefinedContextPlaceholder");function An(e){return e.context!==void 0?e:e.hasToBeCloned?new $(e.value_,Hi,()=>e.value):new $(e.value_,Hi)}var zS=()=>{},C3=class{constructor(e,t){this.arb=e,this.predicate=t;let{asyncBeforeEach:r,asyncAfterEach:n,beforeEach:i,afterEach:o}=xt()||{};if(r!==void 0&&i!==void 0)throw N(`Global "asyncBeforeEach" and "beforeEach" parameters can't be set at the same time when running async properties`);if(n!==void 0&&o!==void 0)throw N(`Global "asyncAfterEach" and "afterEach" parameters can't be set at the same time when running async properties`);this.beforeEachHook=r||i||zS,this.afterEachHook=n||o||zS}isAsync(){return!0}generate(e,t){return An(this.arb.generate(e,t!==void 0?P1(t):void 0))}shrink(e){if(e.context===void 0&&!this.arb.canShrinkWithoutContext(e.value_))return V.nil();let t=e.context!==Hi?e.context:void 0;return this.arb.shrink(e.value_,t).map(An)}async runBeforeEach(){await this.beforeEachHook()}async runAfterEach(){await this.afterEachHook()}async run(e){try{let t=await this.predicate(e);return t===void 0||t===!0?null:{error:new N("Property failed by returning false")}}catch(t){return kr.isFailure(t)?t:{error:t}}}beforeEach(e){let t=this.beforeEachHook;return this.beforeEachHook=()=>e(t),this}afterEach(e){let t=this.afterEachHook;return this.afterEachHook=()=>e(t),this}},T1=class extends he{constructor(e){super(),this.arb=e}generate(e,t){return An(this.arb.generate(e,t))}canShrinkWithoutContext(e){return!0}shrink(e,t){if(t===void 0&&!this.arb.canShrinkWithoutContext(e))return V.nil();let r=t!==Hi?t:void 0;return this.arb.shrink(e,r).map(An)}};function R3(...e){if(e.length<2)throw new Error("asyncProperty expects at least two parameters");let t=Ue(e,0,e.length-1),r=e[e.length-1];return w1(t,f1),new C3(W(...G(t,n=>new T1(n))),n=>r(...n))}var GS=()=>{},O1=class{constructor(e,t){this.arb=e,this.predicate=t;let{beforeEach:r=GS,afterEach:n=GS,asyncBeforeEach:i,asyncAfterEach:o}=xt()||{};if(i!==void 0)throw N(`"asyncBeforeEach" can't be set when running synchronous properties`);if(o!==void 0)throw N(`"asyncAfterEach" can't be set when running synchronous properties`);this.beforeEachHook=r,this.afterEachHook=n}isAsync(){return!1}generate(e,t){return An(this.arb.generate(e,t!==void 0?P1(t):void 0))}shrink(e){if(e.context===void 0&&!this.arb.canShrinkWithoutContext(e.value_))return V.nil();let t=e.context!==Hi?e.context:void 0;return this.arb.shrink(e.value_,t).map(An)}runBeforeEach(){this.beforeEachHook()}runAfterEach(){this.afterEachHook()}run(e){try{let t=this.predicate(e);return t===void 0||t===!0?null:{error:new N("Property failed by returning false")}}catch(t){return kr.isFailure(t)?t:{error:t}}}beforeEach(e){let t=this.beforeEachHook;return this.beforeEachHook=()=>e(t),this}afterEach(e){let t=this.afterEachHook;return this.afterEachHook=()=>e(t),this}};function E3(...e){if(e.length<2)throw new Error("property expects at least two parameters");let t=Ue(e,0,e.length-1),r=e[e.length-1];return w1(t,f1),new O1(W(...G(t,n=>new T1(n))),n=>r(...n))}var I3=(function(e){return e[e.None=0]="None",e[e.Verbose=1]="Verbose",e[e.VeryVerbose=2]="VeryVerbose",e})({});function cp(e){return"unsafeNext"in e?e.unsafeJump===void 0?{clone:()=>cp(e),next:()=>e.unsafeNext(),getState:()=>e.getState()}:{clone:()=>cp(e),next:()=>e.unsafeNext(),jump:()=>e.unsafeJump(),getState:()=>e.getState()}:e}function M1(e){return"jump"in e&&typeof e.jump=="function"?e:{clone:()=>M1(e),next:()=>e.next(),jump:()=>aS(e,42),getState:()=>e.getState()}}function Ca(e){return M1(cp(e))}var A3=Date.now,P3=Math.min,T3=Math.random,O3=class{constructor(e){let t=e||{};this.seed=M3(t),this.randomType=N3(t),this.numRuns=L3(t),this.verbose=$3(t),this.maxSkipsPerRun=t.maxSkipsPerRun!==void 0?t.maxSkipsPerRun:100,this.timeout=jd(t.timeout),this.skipAllAfterTimeLimit=jd(t.skipAllAfterTimeLimit),this.interruptAfterTimeLimit=jd(t.interruptAfterTimeLimit),this.markInterruptAsFailure=t.markInterruptAsFailure===!0,this.skipEqualValues=t.skipEqualValues===!0,this.ignoreEqualValues=t.ignoreEqualValues===!0,this.logger=t.logger!==void 0?t.logger:r=>{console.log(r)},this.path=t.path!==void 0?t.path:"",this.unbiased=t.unbiased===!0,this.examples=t.examples!==void 0?t.examples:[],this.endOnFailure=t.endOnFailure===!0,this.reporter=t.reporter,this.asyncReporter=t.asyncReporter,this.includeErrorInReport=t.includeErrorInReport===!0}toParameters(){return{seed:this.seed,randomType:this.randomType,numRuns:this.numRuns,maxSkipsPerRun:this.maxSkipsPerRun,timeout:this.timeout,skipAllAfterTimeLimit:this.skipAllAfterTimeLimit,interruptAfterTimeLimit:this.interruptAfterTimeLimit,markInterruptAsFailure:this.markInterruptAsFailure,skipEqualValues:this.skipEqualValues,ignoreEqualValues:this.ignoreEqualValues,path:this.path,logger:this.logger,unbiased:this.unbiased,verbose:this.verbose,examples:this.examples,endOnFailure:this.endOnFailure,reporter:this.reporter,asyncReporter:this.asyncReporter,includeErrorInReport:this.includeErrorInReport}}};function _d(e){return t=>Ca(e(t))}function M3(e){if(e.seed===void 0)return A3()^T3()*4294967296;let t=e.seed|0;return e.seed===t?t:t^(e.seed-t)*4294967296}function N3(e){if(e.randomType===void 0)return Nd;if(typeof e.randomType=="string")switch(e.randomType){case"mersenne":return _d(nS);case"congruential":case"congruential32":return _d(eS);case"xorshift128plus":return Nd;case"xoroshiro128plus":return sS;default:throw new Error(`Invalid random specified: '${e.randomType}'`)}let t=e.randomType(0);if("min"in t&&t.min!==-2147483648)throw new Error(`Invalid random number generator: min must equal -0x80000000, got ${String(t.min)}`);if("max"in t&&t.max!==2147483647)throw new Error(`Invalid random number generator: max must equal 0x7fffffff, got ${String(t.max)}`);return t===Ca(t)?e.randomType:_d(e.randomType)}function L3(e){return e.numRuns!==void 0?e.numRuns:e.num_runs!==void 0?e.num_runs:100}function $3(e){return e.verbose===void 0?0:typeof e.verbose=="boolean"?e.verbose===!0?1:0:e.verbose<=0?0:e.verbose>=2?2:e.verbose|0}function jd(e){if(e!==void 0)return P3(e,2147483647)}function $p(e){return new O3(e)}function D3(e,t,r){let n=null;return{clear:()=>r(n),promise:new Promise(i=>{n=t(()=>{i(new kr(!0))},e)})}}var qS=class{constructor(e,t,r,n,i,o){this.property=e,this.getTime=t,this.interruptExecution=n,this.setTimeoutSafe=i,this.clearTimeoutSafe=o,this.skipAfterTime=this.getTime()+r}isAsync(){return this.property.isAsync()}generate(e,t){return this.property.generate(e,t)}shrink(e){return this.property.shrink(e)}run(e){let t=this.skipAfterTime-this.getTime();if(t<=0){let r=new kr(this.interruptExecution);return this.isAsync()?Promise.resolve(r):r}if(this.interruptExecution&&this.isAsync()){let r=D3(t,this.setTimeoutSafe,this.clearTimeoutSafe),n=Promise.race([this.property.run(e),r.promise]);return n.then(r.clear,r.clear),n}return this.property.run(e)}runBeforeEach(){return this.property.runBeforeEach()}runAfterEach(){return this.property.runAfterEach()}},_3=(e,t,r)=>{let n=null;return{clear:()=>r(n),promise:new Promise(i=>{n=t(()=>{i({error:new N(`Property timeout: exceeded limit of ${e} milliseconds`)})},e)})}},j3=class{constructor(e,t,r,n){this.property=e,this.timeMs=t,this.setTimeoutSafe=r,this.clearTimeoutSafe=n}isAsync(){return!0}generate(e,t){return this.property.generate(e,t)}shrink(e){return this.property.shrink(e)}async run(e){let t=_3(this.timeMs,this.setTimeoutSafe,this.clearTimeoutSafe),r=Promise.race([this.property.run(e),t.promise]);return r.then(t.clear,t.clear),r}runBeforeEach(){return Promise.resolve(this.property.runBeforeEach())}runAfterEach(){return Promise.resolve(this.property.runAfterEach())}},N1=class{constructor(e){this.property=e}isAsync(){return this.property.isAsync()}generate(e,t){return this.property.generate(e,void 0)}shrink(e){return this.property.shrink(e)}run(e){return this.property.run(e)}runBeforeEach(){return this.property.runBeforeEach()}runAfterEach(){return this.property.runAfterEach()}},KS=Array.from,JS=typeof Buffer<"u"?Buffer.isBuffer:void 0,vn=JSON.stringify,YS=Number.isNaN,F3=Object.keys,B3=Object.getOwnPropertySymbols,V3=Object.getOwnPropertyDescriptor,ZS=Object.getPrototypeOf,XS=Number.NEGATIVE_INFINITY,U3=Number.POSITIVE_INFINITY,kt=Symbol.for("fast-check/toStringMethod");function Dp(e){return e!==null&&(typeof e=="object"||typeof e=="function")&&kt in e&&typeof e[kt]=="function"}var Xt=Symbol.for("fast-check/asyncToStringMethod");function _p(e){return e!==null&&(typeof e=="object"||typeof e=="function")&&Xt in e&&typeof e[Xt]=="function"}var W3=/^Symbol\((.*)\)$/;function H3(e){if(e.description!==void 0)return e.description;let t=W3.exec(Ze(e));return t&&t[1].length?t[1]:null}function QS(e){switch(e){case 0:return 1/e===XS?"-0":"0";case XS:return"Number.NEGATIVE_INFINITY";case U3:return"Number.POSITIVE_INFINITY";default:return e===e?Ze(e):"Number.NaN"}}function z3(e){let t=-1;for(let r in e){let n=Number(r);if(n!==t+1)return!0;t=n}return t+1!==e.length}function at(e,t,r){let n=[...t,e];if(typeof e=="object"&&Jt(t,e)!==-1)return"[cyclic]";if(_p(e)){let i=r(e);if(i.state==="fulfilled")return i.value}if(Dp(e))try{return e[kt]()}catch{}switch(lp(e)){case"[object Array]":{let i=e;if(i.length>=50&&z3(i)){let s=[];for(let a in i)YS(Number(a))||L(s,`${a}:${at(i[a],n,r)}`);return s.length!==0?`Object.assign(Array(${i.length}),{${fe(s,",")}})`:`Array(${i.length})`}let o=fe(G(i,s=>at(s,n,r)),",");return i.length===0||i.length-1 in i?`[${o}]`:`[${o},]`}case"[object BigInt]":return`${e}n`;case"[object Boolean]":{let i=e==!0?"true":"false";return typeof e=="boolean"?i:`new Boolean(${i})`}case"[object Date]":{let i=e;return YS(wa(i))?"new Date(NaN)":`new Date(${vn(V4(i))})`}case"[object Map]":return`new Map(${at(Array.from(e),n,r)})`;case"[object Null]":return"null";case"[object Number]":return typeof e=="number"?QS(e):`new Number(${QS(Number(e))})`;case"[object Object]":{try{let o=e.toString;if(typeof o=="function"&&o!==Object.prototype.toString)return e.toString()}catch{return"[object Object]"}let i=o=>`${o==="__proto__"?'["__proto__"]':typeof o=="symbol"?`[${at(o,n,r)}]`:vn(o)}:${at(e[o],n,r)}`;return"{"+fe([...ZS(e)===null?["__proto__:null"]:[],...G(F3(e),i),...G(j4(B3(e),o=>{let s=V3(e,o);return s&&s.enumerable}),i)],",")+"}"}case"[object Set]":return`new Set(${at(Array.from(e),n,r)})`;case"[object String]":return typeof e=="string"?vn(e):`new String(${vn(e)})`;case"[object Symbol]":{let i=e;if(da.keyFor(i)!==void 0)return`Symbol.for(${vn(da.keyFor(i))})`;let o=H3(i);return o===null?"Symbol()":i===(o.startsWith("Symbol.")&&da[o.substring(7)])?o:`Symbol(${vn(o)})`}case"[object Promise]":{let i=r(e);switch(i.state){case"fulfilled":return`Promise.resolve(${at(i.value,n,r)})`;case"rejected":return`Promise.reject(${at(i.value,n,r)})`;case"pending":return"new Promise(() => {/*pending*/})";default:return"new Promise(() => {/*unknown*/})"}}case"[object Error]":if(e instanceof Error)return`new Error(${at(e.message,n,r)})`;break;case"[object Undefined]":return"undefined";case"[object Int8Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Int16Array]":case"[object Uint16Array]":case"[object Int32Array]":case"[object Uint32Array]":case"[object Float32Array]":case"[object Float64Array]":case"[object BigInt64Array]":case"[object BigUint64Array]":{if(typeof JS=="function"&&JS(e))return`Buffer.from(${e.buffer.detached?"/*detached ArrayBuffer*/":at(KS(e.values()),n,r)})`;let i=ZS(e),o=i&&i.constructor&&i.constructor.name;if(typeof o=="string"){let s=e;return s.buffer.detached?`${o}.from(/*detached ArrayBuffer*/)`:`${o}.from(${at(KS(s.values()),n,r)})`}break}}try{return e.toString()}catch{return lp(e)}}function Ae(e){return at(e,[],()=>({state:"unknown",value:void 0}))}function L1(e){let t=da(),r=[],n=new Zt;function i(){let l=null,c=()=>{l!==null&&clearTimeout(l)};return{delay:new Promise(u=>{l=setTimeout(()=>{l=null,u(t)},0)}),cancel:c}}let o={state:"unknown",value:void 0},s=function(c){let u=c;if(n.has(u))return n.get(u);let d=i(),p=Xt in c?Promise.resolve().then(()=>c[Xt]()):c;return p.catch(()=>{}),r.push(Promise.race([p,d.delay]).then(h=>{h===t?n.set(u,{state:"pending",value:void 0}):n.set(u,{state:"fulfilled",value:h}),d.cancel()},h=>{n.set(u,{state:"rejected",value:h}),d.cancel()})),n.set(u,o),o};function a(){let l=at(e,[],s);return r.length===0?l:Promise.all(r.splice(0)).then(a)}return a()}async function jp(e){return Promise.resolve(L1(e))}function ev(e){return e===null?new kr:e}function G3(...e){return e[1]?e[0].then(ev):ev(e[0])}function q3(e,t){return G3(e,t)}var tv=class{constructor(e,t){this.property=e,this.skipRuns=t,this.coveredCases=new Map}isAsync(){return this.property.isAsync()}generate(e,t){return this.property.generate(e,t)}shrink(e){return this.property.shrink(e)}run(e){let t=Ae(e);if(this.coveredCases.has(t)){let n=this.coveredCases.get(t);return this.skipRuns?q3(n,this.property.isAsync()):n}let r=this.property.run(e);return this.coveredCases.set(t,r),r}runBeforeEach(){return this.property.runBeforeEach()}runAfterEach(){return this.property.runAfterEach()}},rv=Date.now,Fd=setTimeout,Bd=clearTimeout;function K3(e,t){let r=e;return e.isAsync()&&t.timeout!==void 0&&(r=new j3(r,t.timeout,Fd,Bd)),t.unbiased&&(r=new N1(r)),t.skipAllAfterTimeLimit!==void 0&&(r=new qS(r,rv,t.skipAllAfterTimeLimit,!1,Fd,Bd)),t.interruptAfterTimeLimit!==void 0&&(r=new qS(r,rv,t.interruptAfterTimeLimit,!0,Fd,Bd)),t.skipEqualValues&&(r=new tv(r,!0)),t.ignoreEqualValues&&(r=new tv(r,!1)),r}var J3=(function(e){return e[e.Success=0]="Success",e[e.Skipped=-1]="Skipped",e[e.Failure=1]="Failure",e})({}),Y3=class $1{constructor(t,r){this.verbosity=t,this.interruptedAsFailure=r,this.rootExecutionTrees=[],this.currentLevelExecutionTrees=this.rootExecutionTrees,this.failure=null,this.numSkips=0,this.numSuccesses=0,this.interrupted=!1}appendExecutionTree(t,r){let n={status:t,value:r,children:[]};return this.currentLevelExecutionTrees.push(n),n}fail(t,r,n){if(this.verbosity>=1){let i=this.appendExecutionTree(1,t);this.currentLevelExecutionTrees=i.children}this.pathToFailure===void 0?this.pathToFailure=`${r}`:this.pathToFailure+=`:${r}`,this.value=t,this.failure=n}skip(t){this.verbosity>=2&&this.appendExecutionTree(-1,t),this.pathToFailure===void 0&&++this.numSkips}success(t){this.verbosity>=2&&this.appendExecutionTree(0,t),this.pathToFailure===void 0&&++this.numSuccesses}interrupt(){this.interrupted=!0}isSuccess(){return this.pathToFailure===void 0}firstFailure(){return this.pathToFailure!==void 0?+Xe(this.pathToFailure,":")[0]:-1}numShrinks(){return this.pathToFailure!==void 0?Xe(this.pathToFailure,":").length-1:0}extractFailures(){if(this.isSuccess())return[];let t=[],r=this.rootExecutionTrees;for(;r.length>0&&r[r.length-1].status===1;){let n=r[r.length-1];t.push(n.value),r=n.children}return t}static mergePaths(t,r){if(t.length===0)return r;let n=t.split(":"),i=r.split(":"),o=+n[n.length-1]+ +i[0];return[...n.slice(0,n.length-1),`${o}`,...i.slice(1)].join(":")}toRunDetails(t,r,n,i){if(!this.isSuccess())return{failed:!0,interrupted:this.interrupted,numRuns:this.firstFailure()+1-this.numSkips,numSkips:this.numSkips,numShrinks:this.numShrinks(),seed:t,counterexample:this.value,counterexamplePath:$1.mergePaths(r,this.pathToFailure),errorInstance:this.failure.error,failures:this.extractFailures(),executionSummary:this.rootExecutionTrees,verbose:this.verbosity,runConfiguration:i.toParameters()};let o=this.interruptedAsFailure||this.numSuccesses===0;return{failed:this.numSkips>n||this.interrupted&&o,interrupted:this.interrupted,numRuns:this.numSuccesses,numSkips:this.numSkips,numShrinks:0,seed:t,counterexample:null,counterexamplePath:null,error:null,errorInstance:null,failures:[],executionSummary:this.rootExecutionTrees,verbose:this.verbosity,runConfiguration:i.toParameters()}}},D1=class{constructor(e,t,r,n){this.sourceValues=e,this.shrink=t,this.runExecution=new Y3(r,n),this.currentIdx=-1,this.nextValues=e}[Symbol.iterator](){return this}next(){let e=this.nextValues.next();return e.done||this.runExecution.interrupted?{done:!0,value:void 0}:(this.currentValue=e.value,++this.currentIdx,{done:!1,value:e.value.value_})}handleResult(e){e!==null&&typeof e=="object"&&!kr.isFailure(e)?(this.runExecution.fail(this.currentValue.value_,this.currentIdx,e),this.currentIdx=-1,this.nextValues=this.shrink(this.currentValue)):e!==null?e.interruptExecution?this.runExecution.interrupt():(this.runExecution.skip(this.currentValue.value_),this.sourceValues.skippedOne()):this.runExecution.success(this.currentValue.value_)}},Z3=class{constructor(e,t,r){this.initialValues=e,this.maxInitialIterations=t,this.remainingSkips=r}[Symbol.iterator](){return this}next(){if(--this.maxInitialIterations!==-1&&this.remainingSkips>=0){let e=this.initialValues.next();if(!e.done)return{value:e.value,done:!1}}return{value:void 0,done:!0}}skippedOne(){--this.remainingSkips,++this.maxInitialIterations}},X3=-2147483648,Q3=2147483647,eD=Math.pow(2,27),tD=Math.pow(2,-53),Fp=class _1{constructor(t){this.internalRng=Ca(t.clone())}clone(){return new _1(this.internalRng)}next(t){return na(this.internalRng,0,(1<<t)-1)}nextBoolean(){return na(this.internalRng,0,1)===1}nextInt(t,r){return na(this.internalRng,t===void 0?X3:t,r===void 0?Q3:r)}nextBigInt(t,r){return uS(this.internalRng,t,r)}nextDouble(){let t=this.next(26),r=this.next(27);return(t*eD+r)*tD}getState(){if("getState"in this.internalRng&&typeof this.internalRng.getState=="function")return this.internalRng.getState()}};function rD(e,t,r){return t.jump(),e.generate(new Fp(t),r)}function*j1(e,t,r,n){for(let i=0;i!==n.length;++i)yield new $(n[i],void 0);for(let i=0,o=r(t);;++i)yield rD(e,o,i)}function nD(e,t,r){return()=>e.generate(new Fp(t),r)}function*F1(e,t,r,n){yield*G(n,s=>()=>new $(s,void 0));let i=0,o=Ca(r(t));for(;;)o.jump(),yield nD(e,o,i++)}function nv(e){return e()}function B1(e,t,r){let n=t,i=e.split(":").map(s=>+s);if(i.length===0)return n.map(nv);if(!i.every(s=>!Number.isNaN(s)))throw new Error(`Unable to replay, got invalid path=${e}`);let o=n.drop(i[0]).map(nv);for(let s of i.slice(1)){let a=o.getNthOrLast(0);if(a===null)throw new Error(`Unable to replay, got wrong path=${e}`);o=r(a).drop(s)}return o}var iD=Object.assign;function oD(e){return e.length===1?`Hint: ${e[0]}`:e.map((t,r)=>`Hint (${r+1}): ${t}`).join(`
176
+ `)}function sD(e,t){return`Encountered failures were:
177
177
  - ${e.map(t).join(`
178
- - `)}`}function Dp(e,t){let r=[],n=[];for(let i=e.length-1;i>=0;--i)n.push({depth:1,tree:e[i]});for(;n.length!==0;){let i=n.pop(),o=i.tree,s=i.depth,a=o.status===0?"\x1B[32m\u221A\x1B[0m":o.status===1?"\x1B[31m\xD7\x1B[0m":"\x1B[33m!\x1B[0m",l=s!==0?". ".repeat(s-1):"";r.push(`${l}${a} ${t(o.value)}`);for(let c=o.children.length-1;c>=0;--c)n.push({depth:s+1,tree:o.children[c]})}return`Execution summary:
178
+ - `)}`}function Bp(e,t){let r=[],n=[];for(let i=e.length-1;i>=0;--i)n.push({depth:1,tree:e[i]});for(;n.length!==0;){let i=n.pop(),o=i.tree,s=i.depth,a=o.status===0?"\x1B[32m\u221A\x1B[0m":o.status===1?"\x1B[31m\xD7\x1B[0m":"\x1B[33m!\x1B[0m",l=s!==0?". ".repeat(s-1):"";r.push(`${l}${a} ${t(o.value)}`);for(let c=o.children.length-1;c>=0;--c)n.push({depth:s+1,tree:o.children[c]})}return`Execution summary:
179
179
  ${r.join(`
180
- `)}`}function _3(e,t){let r=`Failed to run property, too many pre-condition failures encountered
180
+ `)}`}function aD(e,t){let r=`Failed to run property, too many pre-condition failures encountered
181
181
  { seed: ${e.seed} }
182
182
 
183
183
  Ran ${e.numRuns} time(s)
184
- Skipped ${e.numSkips} time(s)`,n=null,i=["Try to reduce the number of rejected values by combining map, chain and built-in arbitraries","Increase failure tolerance by setting maxSkipsPerRun to an higher value"];return e.verbose>=2?n=Dp(e.executionSummary,t):L(i,"Enable verbose mode at level VeryVerbose in order to check all generated values and their associated status"),{message:r,details:n,hints:i}}function j3(e){if(e instanceof N&&e.stack!==void 0)return e.stack;try{return Je(e)}catch{}if(e instanceof N)try{return q4(e)}catch{}if(e!==null&&typeof e=="object")try{return ip(e)}catch{}return"Failed to serialize errorInstance"}function F3(e,t){let r=e.runConfiguration.includeErrorInReport?`
185
- Got ${U4(j3(e.errorInstance),/^Error: /,"error: ")}`:"",n=`Property failed after ${e.numRuns} tests
184
+ Skipped ${e.numSkips} time(s)`,n=null,i=["Try to reduce the number of rejected values by combining map, chain and built-in arbitraries","Increase failure tolerance by setting maxSkipsPerRun to an higher value"];return e.verbose>=2?n=Bp(e.executionSummary,t):L(i,"Enable verbose mode at level VeryVerbose in order to check all generated values and their associated status"),{message:r,details:n,hints:i}}function lD(e){if(e instanceof N&&e.stack!==void 0)return e.stack;try{return Ze(e)}catch{}if(e instanceof N)try{return y3(e)}catch{}if(e!==null&&typeof e=="object")try{return lp(e)}catch{}return"Failed to serialize errorInstance"}function cD(e,t){let r=e.runConfiguration.includeErrorInReport?`
185
+ Got ${p3(lD(e.errorInstance),/^Error: /,"error: ")}`:"",n=`Property failed after ${e.numRuns} tests
186
186
  { seed: ${e.seed}, path: "${e.counterexamplePath}", endOnFailure: true }
187
187
  Counterexample: ${t(e.counterexample)}
188
- Shrunk ${e.numShrinks} time(s)${r}`,i=null,o=[];return e.verbose>=2?i=Dp(e.executionSummary,t):e.verbose===1?i=D3(e.failures,t):L(o,"Enable verbose mode in order to have the list of all failing values encountered during the run"),{message:n,details:i,hints:o}}function V3(e,t){let r=`Property interrupted after ${e.numRuns} tests
189
- { seed: ${e.seed} }`,n=null,i=[];return e.verbose>=2?n=Dp(e.executionSummary,t):L(i,"Enable verbose mode at level VeryVerbose in order to check all generated values and their associated status"),{message:r,details:n,hints:i}}function sp(e,t){if(!e.failed)return;let{message:r,details:n,hints:i}=e.counterexamplePath===null?e.interrupted?V3(e,t):_3(e,t):F3(e,t),o=r;return n!==null&&(o+=`
188
+ Shrunk ${e.numShrinks} time(s)${r}`,i=null,o=[];return e.verbose>=2?i=Bp(e.executionSummary,t):e.verbose===1?i=sD(e.failures,t):L(o,"Enable verbose mode in order to have the list of all failing values encountered during the run"),{message:n,details:i,hints:o}}function uD(e,t){let r=`Property interrupted after ${e.numRuns} tests
189
+ { seed: ${e.seed} }`,n=null,i=[];return e.verbose>=2?n=Bp(e.executionSummary,t):L(i,"Enable verbose mode at level VeryVerbose in order to check all generated values and their associated status"),{message:r,details:n,hints:i}}function up(e,t){if(!e.failed)return;let{message:r,details:n,hints:i}=e.counterexamplePath===null?e.interrupted?uD(e,t):aD(e,t):cD(e,t),o=r;return n!==null&&(o+=`
190
190
 
191
191
  ${n}`),i.length>0&&(o+=`
192
192
 
193
- ${$3(i)}`),o}function $1(e){return sp(e,Ae)}async function D1(e){let t=[];function r(s){let a=A1(s);return typeof a=="string"?a:(t.push(Promise.all([s,a])),"\u2026")}let n=sp(e,r);if(t.length===0)return n;let i=new qt(await Promise.all(t));function o(s){let a=st(i,s);return a!==void 0?a:Ae(s)}return sp(e,o)}function _1(e,t){if(t.runConfiguration.includeErrorInReport)throw new N(e);let r=new N(e,{cause:t.errorInstance});return"cause"in r||L3(r,{cause:t.errorInstance}),r}function B3(e){if(e.failed)throw _1($1(e),e)}async function U3(e){if(e.failed)throw _1(await D1(e),e)}function W3(e){return e.runConfiguration.asyncReporter?e.runConfiguration.asyncReporter(e):e.runConfiguration.reporter?e.runConfiguration.reporter(e):B3(e)}async function H3(e){return e.runConfiguration.asyncReporter?e.runConfiguration.asyncReporter(e):e.runConfiguration.reporter?e.runConfiguration.reporter(e):U3(e)}function z3(e,t,r,n,i){let o=new T1(r,t,n,i);for(let s of o){e.runBeforeEach();let a=e.run(s);e.runAfterEach(),o.handleResult(a)}return o.runExecution}async function G3(e,t,r,n,i){let o=new T1(r,t,n,i);for(let s of o){await e.runBeforeEach();let a=await e.run(s);await e.runAfterEach(),o.handleResult(a)}return o.runExecution}function j1(e,t){if(e==null||e.generate===null||e.generate===void 0)throw new Error("Invalid property encountered, please use a valid property");if(e.run===null||e.run===void 0)throw new Error("Invalid property encountered, please use a valid property not an arbitrary");let r=Op({...St(),...t});if(r.reporter!==void 0&&r.asyncReporter!==void 0)throw new Error("Invalid parameters encountered, reporter and asyncReporter cannot be specified together");if(r.asyncReporter!==void 0&&!e.isAsync())throw new Error("Invalid parameters encountered, only asyncProperty can be used when asyncReporter specified");let n=C3(e,r),i=r.path.length===0||r.path.indexOf(":")===-1?r.numRuns:-1,o=r.numRuns*r.maxSkipsPerRun,s=(...c)=>n.shrink(...c),a=new I3(r.path.length===0?M1(n,r.seed,r.randomType,r.examples):L1(r.path,wr(N1(n,r.seed,r.randomType,r.examples)),s),i,o),l=r.endOnFailure?B.nil:s;return n.isAsync()?G3(n,l,a,r.verbose,r.markInterruptAsFailure).then(c=>c.toRunDetails(r.seed,r.path,o,r)):z3(n,l,a,r.verbose,r.markInterruptAsFailure).toRunDetails(r.seed,r.path,o,r)}function q3(e,t){let r=j1(e,t);if(e.isAsync())return r.then(H3);W3(r)}function K3(e,t){let r=Object.prototype.hasOwnProperty.call(e,"isAsync")?e:new R1(e,()=>!0);return t.unbiased===!0?new I1(r):r}function F1(e,t){let r=Op(typeof t=="number"?{...St(),numRuns:t}:{...St(),...t}),n=K3(e,r),i=n.shrink.bind(n);return(r.path.length===0?wr(M1(n,r.seed,r.randomType,r.examples)):L1(r.path,wr(N1(n,r.seed,r.randomType,r.examples)),i)).take(r.numRuns).map(o=>o.value_)}function Y3(e,t){return[...F1(e,t)]}function J3(e){return(Math.round(e*100)/100).toFixed(2)}function Z3(e,t,r){let n=Op(typeof r=="number"?{...St(),numRuns:r}:{...St(),...r}),i={};for(let l of F1(e,r)){let c=t(l),u=Array.isArray(c)?c:[c];for(let d of u)i[d]=(i[d]||0)+1}let o=Object.entries(i).sort((l,c)=>c[1]-l[1]).map(l=>[l[0],`${J3(l[1]*100/n.numRuns)}%`]),s=o.map(l=>l[0].length).reduce((l,c)=>Math.max(l,c),0),a=o.map(l=>l[1].length).reduce((l,c)=>Math.max(l,c),0);for(let l of o)n.logger(`${l[0].padEnd(s,".")}..${l[1].padStart(a,".")}`)}var X3=Object.assign;function ap(e,t,r,n){let i=r(),o=e.clone(),s={mrng:e.clone(),biasFactor:t,history:[]},a=c=>{let u=i[s.history.length];if(u!==void 0&&u.arb===c){let p=u.value;return L(s.history,{arb:c,value:p,context:u.context,mrng:u.mrng}),o=u.mrng.clone(),p}let d=c.generate(o,t);return L(s.history,{arb:c,value:d.value_,context:d.context,mrng:o.clone()}),d.value},l=(c,...u)=>a(n(c,u));return new $(X3(l,{values(){return G(s.history,c=>c.value)},[Be](){return ap(e,t,r,n).value},[vt](){return Ae(G(s.history,c=>c.value))}}),s)}var _d=Array.isArray,XS=Object.keys,Q3=Object.is;function eD(e){let t=new qt;return function(n,i){let o=st(t,n);if(o===void 0){let l=n(...i);return wt(t,n,[{args:i,value:l}]),l}let s=o;for(let l of s)if(e(i,l.args))return l.value;let a=n(...i);return L(s,{args:i,value:a}),a}}function V1(e,t){if(e!==null&&typeof e=="object"&&t!==null&&typeof t=="object"){if(_d(e)){if(!_d(t)||e.length!==t.length)return!1}else if(_d(t))return!1;if(XS(e).length!==XS(t).length)return!1;for(let r in e)if(!(r in t)||!V1(e[r],t[r]))return!1;return!0}else return Q3(e,t)}var tD=class extends he{constructor(...e){super(...e),this.arbitraryCache=eD(V1)}generate(e,t){return ap(e,t,()=>[],this.arbitraryCache)}canShrinkWithoutContext(e){return!1}shrink(e,t){if(t===void 0)return B.nil();let r=t,n=r.mrng,i=r.biasFactor,o=r.history;return x1(o.map(s=>s.arb),o.map(s=>s.value),o.map(s=>s.context)).map(s=>{function a(){let l=s.value,c=s.context;return G(o,(u,d)=>({arb:u.arb,value:l[d],context:c[d],mrng:u.mrng}))}return ap(n,i,a,this.arbitraryCache)})}};function rD(){return new tD}var nD=Math.floor,QS=Math.log;function iD(e){return nD(QS(e)/QS(2))}function oD(e){return e===O(0)?O(0):O(Je(e).length)}function B1(e,t,r){if(e===t)return[{min:e,max:t}];if(e<0&&t>0){let s=r(-e),a=r(t);return[{min:-s,max:a},{min:t-a,max:t},{min:e,max:e+s}]}let n=r(t-e),i={min:e,max:e+n},o={min:t-n,max:t};return e<0?[o,i]:[i,o]}var sD=Math.ceil,aD=Math.floor;function ev(e){return aD(e/2)}function tv(e){return sD(e/2)}function rv(e,t,r){let n=e-t;function*i(){let s=r?void 0:t,a=r?n:ev(n);for(let l=a;l>0;l=ev(l)){let c=l===n?t:e-l;yield new $(c,s),s=c}}function*o(){let s=r?void 0:t,a=r?n:tv(n);for(let l=a;l<0;l=tv(l)){let c=l===n?t:e-l;yield new $(c,s),s=c}}return n>0?wr(i()):wr(o())}var nv=Math.sign,lD=Number.isInteger,cD=Object.is,In=class U1 extends he{constructor(t,r){super(),this.min=t,this.max=r}generate(t,r){let n=this.computeGenerateRange(t,r);return new $(t.nextInt(n.min,n.max),void 0)}canShrinkWithoutContext(t){return typeof t=="number"&&lD(t)&&!cD(t,-0)&&this.min<=t&&t<=this.max}shrink(t,r){return U1.isValidContext(t,r)?this.isLastChanceTry(t,r)?B.of(new $(r,void 0)):rv(t,r,!1):rv(t,this.defaultTarget(),!0)}defaultTarget(){return this.min<=0&&this.max>=0?0:this.min<0?this.max:this.min}computeGenerateRange(t,r){if(r===void 0||t.nextInt(1,r)!==1)return{min:this.min,max:this.max};let n=B1(this.min,this.max,iD);if(n.length===1)return n[0];let i=t.nextInt(-2*(n.length-1),n.length-2);return i<0?n[0]:n[i+1]}isLastChanceTry(t,r){return t>0?t===r+1&&t>this.min:t<0?t===r-1&&t<this.max:!1}static isValidContext(t,r){if(r===void 0)return!1;if(typeof r!="number")throw new Error("Invalid context type passed to IntegerArbitrary (#1)");if(r!==0&&nv(t)!==nv(r))throw new Error("Invalid context value passed to IntegerArbitrary (#2)");return!0}},iv=Number.isInteger;function uD(e){return{min:e.min!==void 0?e.min:-2147483648,max:e.max!==void 0?e.max:2147483647}}function oe(e={}){let t=uD(e);if(t.min>t.max)throw new Error("fc.integer maximum value should be equal or greater than the minimum one");if(!iv(t.min))throw new Error("fc.integer minimum value should be an integer");if(!iv(t.max))throw new Error("fc.integer maximum value should be an integer");return new In(t.min,t.max)}var ov=new Map;function _p(e){if(e===void 0)return{depth:0};if(typeof e!="string")return e;let t=st(ov,e);if(t!==void 0)return t;let r={depth:0};return wt(ov,e,r),r}function jp(){return{depth:0}}var dD=class{constructor(e,t,r){this.arb=e,this.mrng=t,this.biasFactor=r}attemptExact(){}next(){return this.arb.generate(this.mrng,this.biasFactor)}},pD=Math.min,fD=Math.max,hD=class{constructor(e,t,r,n){this.arb=e,this.mrng=t,this.slices=r,this.biasFactor=n,this.activeSliceIndex=0,this.nextIndexInSlice=0,this.lastIndexInSlice=-1}attemptExact(e){if(e!==0&&this.mrng.nextInt(1,this.biasFactor)===1){let t=[];for(let r=0;r!==this.slices.length;++r)this.slices[r].length===e&&L(t,r);if(t.length===0)return;this.activeSliceIndex=t[this.mrng.nextInt(0,t.length-1)],this.nextIndexInSlice=0,this.lastIndexInSlice=e-1}}next(){if(this.nextIndexInSlice<=this.lastIndexInSlice)return new $(this.slices[this.activeSliceIndex][this.nextIndexInSlice++],void 0);if(this.mrng.nextInt(1,this.biasFactor)!==1)return this.arb.generate(this.mrng,this.biasFactor);this.activeSliceIndex=this.mrng.nextInt(0,this.slices.length-1);let e=this.slices[this.activeSliceIndex];if(this.mrng.nextInt(1,this.biasFactor)!==1)return this.nextIndexInSlice=1,this.lastIndexInSlice=e.length-1,new $(e[0],void 0);let t=this.mrng.nextInt(0,e.length-1),r=this.mrng.nextInt(0,e.length-1);return this.nextIndexInSlice=pD(t,r),this.lastIndexInSlice=fD(t,r),new $(e[this.nextIndexInSlice++],void 0)}};function sv(e,t,r,n){return n===void 0||r.length===0||t.nextInt(1,n)!==1?new dD(e,t,n):new hD(e,t,r,n)}var mD=Math.floor,av=Math.log,lv=Math.max,gD=Array.isArray;function jd(e,t){return e===t?e:e+mD(av(t-e)/av(2))}var W1=class H1 extends he{constructor(t,r,n,i,o,s,a){super(),this.arb=t,this.minLength=r,this.maxGeneratedLength=n,this.maxLength=i,this.setBuilder=s,this.customSlices=a,this.lengthArb=oe({min:r,max:n}),this.depthContext=_p(o)}preFilter(t){if(this.setBuilder===void 0)return t;let r=this.setBuilder();for(let n=0;n!==t.length;++n)r.tryAdd(t[n]);return r.getData()}static makeItCloneable(t,r){return t[Be]=()=>{let n=[];for(let i=0;i!==r.length;++i)L(n,r[i].value);return this.makeItCloneable(n,r),n},t}generateNItemsNoDuplicates(t,r,n,i){let o=0,s=t(),a=sv(this.arb,n,this.customSlices,i);for(;s.size()<r&&o<this.maxGeneratedLength;){let l=a.next();s.tryAdd(l)?o=0:o+=1}return s.getData()}safeGenerateNItemsNoDuplicates(t,r,n,i){let o=lv(0,r-jd(this.minLength,this.maxGeneratedLength));this.depthContext.depth+=o;try{return this.generateNItemsNoDuplicates(t,r,n,i)}finally{this.depthContext.depth-=o}}generateNItems(t,r,n){let i=[],o=sv(this.arb,r,this.customSlices,n);o.attemptExact(t);for(let s=0;s!==t;++s)L(i,o.next());return i}safeGenerateNItems(t,r,n){let i=lv(0,t-jd(this.minLength,this.maxGeneratedLength));this.depthContext.depth+=i;try{return this.generateNItems(t,r,n)}finally{this.depthContext.depth-=i}}wrapper(t,r,n,i){let o=r?this.preFilter(t):t,s=!1,a=[],l=[];for(let c=0;c!==o.length;++c){let u=o[c];s=s||u.hasToBeCloned,L(a,u.value),L(l,u.context)}return s&&H1.makeItCloneable(a,o),new $(a,{shrunkOnce:r,lengthContext:t.length===o.length&&n!==void 0?n:void 0,itemsContexts:l,startIndex:i})}generate(t,r){let n=this.applyBias(t,r),i=n.size,o=this.setBuilder!==void 0?this.safeGenerateNItemsNoDuplicates(this.setBuilder,i,t,n.biasFactorItems):this.safeGenerateNItems(i,t,n.biasFactorItems);return this.wrapper(o,!1,void 0,0)}applyBias(t,r){if(r===void 0)return{size:this.lengthArb.generate(t,void 0).value};if(this.minLength===this.maxGeneratedLength)return{size:this.lengthArb.generate(t,void 0).value,biasFactorItems:r};if(t.nextInt(1,r)!==1)return{size:this.lengthArb.generate(t,void 0).value};if(t.nextInt(1,r)!==1||this.minLength===this.maxGeneratedLength)return{size:this.lengthArb.generate(t,void 0).value,biasFactorItems:r};let n=jd(this.minLength,this.maxGeneratedLength);return{size:oe({min:this.minLength,max:n}).generate(t,void 0).value,biasFactorItems:r}}canShrinkWithoutContext(t){if(!gD(t)||this.minLength>t.length||t.length>this.maxLength)return!1;for(let r=0;r!==t.length;++r)if(!(r in t)||!this.arb.canShrinkWithoutContext(t[r]))return!1;return this.preFilter(G(t,r=>new $(r,void 0))).length===t.length}shrinkItemByItem(t,r,n){let i=[];for(let o=r.startIndex;o<n;++o)L(i,br(()=>this.arb.shrink(t[o],r.itemsContexts[o]).map(s=>{let a=G(Ue(t,0,o),(c,u)=>new $(kn(c),r.itemsContexts[u])),l=G(Ue(t,o+1),(c,u)=>new $(kn(c),r.itemsContexts[u+o+1]));return[[...a,s,...l],void 0,o]})));return B.nil().join(...i)}shrinkImpl(t,r){if(t.length===0)return B.nil();let n=r!==void 0?r:{shrunkOnce:!1,lengthContext:void 0,itemsContexts:[],startIndex:0};return this.lengthArb.shrink(t.length,n.lengthContext).drop(n.shrunkOnce&&n.lengthContext===void 0&&t.length>this.minLength+1?1:0).map(i=>{let o=t.length-i.value;return[G(Ue(t,o),(s,a)=>new $(kn(s),n.itemsContexts[a+o])),i.context,0]}).join(br(()=>t.length>this.minLength?this.shrinkItemByItem(t,n,1):this.shrinkItemByItem(t,n,t.length))).join(t.length>this.minLength?br(()=>{let i={shrunkOnce:!1,lengthContext:void 0,itemsContexts:Ue(n.itemsContexts,1),startIndex:0};return this.shrinkImpl(Ue(t,1),i).filter(o=>this.minLength<=o[0].length+1).map(o=>[[new $(kn(t[0]),n.itemsContexts[0]),...o[0]],void 0,0])}):B.nil())}shrink(t,r){return this.shrinkImpl(t,r).map(n=>this.wrapper(n[0],!0,n[1],n[2]))}},yD=Math.floor,bD=Math.min,Wr=2147483647,Sn=["xsmall","small","medium","large","xlarge"],wD=["-4","-3","-2","-1","=","+1","+2","+3","+4"],Fp="small";function SD(e,t){switch(t){case"xsmall":return yD(1.1*e)+1;case"small":return 2*e+10;case"medium":return 11*e+100;case"large":return 101*e+1e3;case"xlarge":return 1001*e+1e4;default:throw new Error(`Unable to compute lengths based on received size: ${t}`)}}function Hi(e,t){let r=zt(wD,e);if(r===-1)return e;let n=zt(Sn,t);if(n===-1)throw new Error(`Unable to offset size based on the unknown defaulted one: ${t}`);let i=n+r-4;return i<0?Sn[0]:i>=Sn.length?Sn[Sn.length-1]:Sn[i]}function Ui(e,t,r,n){let{baseSize:i=Fp,defaultSizeToMaxWhenMaxSpecified:o}=St()||{},s=e!==void 0?e:n&&o?"max":i;return s==="max"?r:bD(SD(t,Hi(s,i)),r)}function vD(e,t){if(typeof e=="number")return 1/e;let{baseSize:r=Fp,defaultSizeToMaxWhenMaxSpecified:n}=St()||{},i=e!==void 0?e:t&&n?"max":r;if(i==="max")return 0;switch(Hi(i,r)){case"xsmall":return 1;case"small":return .5;case"medium":return .25;case"large":return .125;case"xlarge":return .0625}}function Vp(e){let{baseSize:t=Fp}=St()||{};return e===void 0?t:Hi(e,t)}function ce(e,t={}){let r=t.size,n=t.minLength||0,i=t.maxLength,o=t.depthIdentifier,s=i!==void 0?i:Wr;return new W1(e,n,Ui(r,n,s,i!==void 0),s,o,void 0,t.experimentalCustomSlices||[])}function ea(e){return e/O(2)}function cv(e,t,r){let n=e-t;function*i(){let s=r?void 0:t,a=r?n:ea(n);for(let l=a;l>0;l=ea(l)){let c=e-l;yield new $(c,s),s=c}}function*o(){let s=r?void 0:t,a=r?n:ea(n);for(let l=a;l<0;l=ea(l)){let c=e-l;yield new $(c,s),s=c}}return n>0?wr(i()):wr(o())}var xD=class z1 extends he{constructor(t,r){super(),this.min=t,this.max=r}generate(t,r){let n=this.computeGenerateRange(t,r);return new $(t.nextBigInt(n.min,n.max),void 0)}computeGenerateRange(t,r){if(r===void 0||t.nextInt(1,r)!==1)return{min:this.min,max:this.max};let n=B1(this.min,this.max,oD);if(n.length===1)return n[0];let i=t.nextInt(-2*(n.length-1),n.length-2);return i<0?n[0]:n[i+1]}canShrinkWithoutContext(t){return typeof t=="bigint"&&this.min<=t&&t<=this.max}shrink(t,r){return z1.isValidContext(t,r)?this.isLastChanceTry(t,r)?B.of(new $(r,void 0)):cv(t,r,!1):cv(t,this.defaultTarget(),!0)}defaultTarget(){return this.min<=0&&this.max>=0?O(0):this.min<0?this.max:this.min}isLastChanceTry(t,r){return t>0?t===r+O(1)&&t>this.min:t<0?t===r-O(1)&&t<this.max:!1}static isValidContext(t,r){if(r===void 0)return!1;if(typeof r!="bigint")throw new Error("Invalid context type passed to BigIntArbitrary (#1)");let n=t>0&&r<0||t<0&&r>0;if(r!==O(0)&&n)throw new Error("Invalid context value passed to BigIntArbitrary (#2)");return!0}};function kD(e){let r=O(-1)<<O(255),n=(O(1)<<O(255))-O(1),i=e.min,o=e.max;return{min:i!==void 0?i:r-(o!==void 0&&o<O(0)?o*o:O(0)),max:o!==void 0?o:n+(i!==void 0&&i>O(0)?i*i:O(0))}}function CD(e){return e[0]===void 0?{}:e[1]===void 0?e[0]:{min:e[0],max:e[1]}}function Sr(...e){let t=kD(CD(e));if(t.min>t.max)throw new Error("fc.bigInt expects max to be greater than or equal to min");return new xD(t.min,t.max)}var RD=Object.getPrototypeOf,$i=class extends he{constructor(e){super(),this.arb=e}generate(e,t){return this.arb.generate(e,void 0)}canShrinkWithoutContext(e){return this.arb.canShrinkWithoutContext(e)}shrink(e,t){return this.arb.shrink(e,t)}};function ya(e){return RD(e)===$i.prototype&&e.generate===$i.prototype.generate&&e.canShrinkWithoutContext===$i.prototype.canShrinkWithoutContext&&e.shrink===$i.prototype.shrink?e:new $i(e)}function ED(e){return e===1}function ID(e){if(typeof e!="boolean")throw new Error("Unsupported input type");return e===!0?1:0}function zi(){return ya(oe({min:0,max:1}).map(ED,ID))}var ji=Object.is,AD=class{constructor(e){this.values=e,this.fastValues=new Cn(this.values);let t=!1,r=!1;if(ga(this.fastValues,0))for(let n=0;n!==this.values.length;++n){let i=this.values[n];t=t||ji(i,-0),r=r||ji(i,0)}this.hasMinusZero=t,this.hasPlusZero=r}has(e){return e===0?ji(e,0)?this.hasPlusZero:this.hasMinusZero:ga(this.fastValues,e)}},G1=class extends he{constructor(e){super(),this.values=e}generate(e,t){let r=this.values.length===1?0:e.nextInt(0,this.values.length-1),n=this.values[r];return Ur(n)?new $(n,r,()=>n[Be]()):new $(n,r)}canShrinkWithoutContext(e){return this.values.length===1?ji(this.values[0],e):(this.fastValues===void 0&&(this.fastValues=new AD(this.values)),this.fastValues.has(e))}shrink(e,t){return t===0||ji(e,this.values[0])?B.nil():B.of(new $(this.values[0],0))}};function Tt(...e){if(e.length===0)throw new Error("fc.constantFrom expects at least one parameter");return new G1(e)}function PD(e){return!e||!e.withBigInt?Tt(!1,null,void 0,0,"",NaN):Tt(!1,null,void 0,0,"",NaN,O(0))}function Ie(e){return new G1([e])}var TD=class q1{constructor(){this.receivedLogs=[]}log(t){this.receivedLogs.push(t)}size(){return this.receivedLogs.length}toString(){return JSON.stringify({logs:this.receivedLogs})}[Be](){return new q1}};function OD(){return Ie(new TD)}var MD=NaN,ND=Number.isNaN;function K1(e){return new ha(e)}function Y1(e){if(!(e instanceof ha)||e.constructor!==ha)throw new N("Not a valid value for date unmapper");return ma(e)}function LD(e){return t=>t===e?new ha(MD):K1(t)}function $D(e){return t=>{let r=Y1(t);return ND(r)?e:r}}var uv=Number.isNaN;function J1(e={}){let t=e.min!==void 0?ma(e.min):-864e13,r=e.max!==void 0?ma(e.max):864e13,n=e.noInvalidDate;if(uv(t))throw new Error("fc.date min must be valid instance of Date");if(uv(r))throw new Error("fc.date max must be valid instance of Date");if(t>r)throw new Error("fc.date max must be greater or equal to min");if(n)return oe({min:t,max:r}).map(K1,Y1);let i=r+1;return oe({min:t,max:r+1}).map(LD(i),$D(i))}var DD=class extends he{constructor(e,t){super(),this.startArb=e,this.chainer=t}generate(e,t){let r=[],n=e.clone(),i=this.startArb.generate(e,t);for(r.push({arbitrary:this.startArb,value:i.value_,context:i.context,clonedMrng:n});;){let s=this.chainer(i.value_);if(s===void 0)break;let a=e.clone();i=s.generate(e,t),r.push({arbitrary:s,value:i.value_,context:i.context,clonedMrng:a})}let o={biasFactor:t,entries:r,currentShrinkLevel:0};return new $(i.value_,o)}canShrinkWithoutContext(e){return!1}shrink(e,t){return this.isSafeContext(t)?new B(this.shrinkIterator(t)):B.nil()}*shrinkIterator(e){let{entries:t,currentShrinkLevel:r,biasFactor:n}=e;for(let i=r;i<t.length;++i){let o=t[i],s=o.arbitrary.shrink(o.value,o.context);for(let a of s){let l=t.slice(0,i);l.push({arbitrary:o.arbitrary,value:a.value_,context:a.context,clonedMrng:o.clonedMrng});let c=a,u=o.clonedMrng.clone();for(;;){let h=this.chainer(c.value_);if(h===void 0)break;let f=u.clone(),m=h.generate(u,n);l.push({arbitrary:h,value:m.value_,context:m.context,clonedMrng:f}),c=m}let d=l[l.length-1],p={biasFactor:n,entries:l,currentShrinkLevel:i};yield new $(d.value,p)}}}isSafeContext(e){return e!=null&&typeof e=="object"&&"biasFactor"in e&&"entries"in e&&"currentShrinkLevel"in e}};function _D(e,t){return new DD(e,t)}var jD=Symbol.iterator,FD=Array.isArray,VD=Object.is,BD=class Z1 extends he{constructor(t,r){super(),this.arb=t,this.numValues=r}generate(t,r){let n=[];if(this.numValues<=0)return this.wrapper(n);for(let i=0;i!==this.numValues-1;++i)L(n,this.arb.generate(t.clone(),r));return L(n,this.arb.generate(t,r)),this.wrapper(n)}canShrinkWithoutContext(t){if(!FD(t)||t.length!==this.numValues)return!1;if(t.length===0)return!0;for(let r=1;r<t.length;++r)if(!VD(t[0],t[r]))return!1;return this.arb.canShrinkWithoutContext(t[0])}shrink(t,r){return t.length===0?B.nil():new B(this.shrinkImpl(t,r!==void 0?r:[])).map(n=>this.wrapper(n))}*shrinkImpl(t,r){let n=G(t,(o,s)=>this.arb.shrink(o,r[s])[jD]()),i=G(n,o=>o.next());for(;!i[0].done;)yield G(i,o=>o.value),i=G(n,o=>o.next())}static makeItCloneable(t,r){return t[Be]=()=>{let n=[];for(let i=0;i!==r.length;++i)L(n,r[i].value);return this.makeItCloneable(n,r),n},t}wrapper(t){let r=!1,n=[],i=[];for(let o=0;o!==t.length;++o){let s=t[o];r=r||s.hasToBeCloned,L(n,s.value),L(i,s.context)}return r&&Z1.makeItCloneable(n,t),new $(n,i)}};function UD(e,t){return new BD(e,t)}var dv=class{constructor(e){this.isEqual=e,this.data=[]}tryAdd(e){for(let t=0;t!==this.data.length;++t)if(this.isEqual(this.data[t],e))return!1;return L(this.data,e),!0}size(){return this.data.length}getData(){return this.data}},WD=Number.isNaN,HD=class{constructor(e){this.selector=e,this.selectedItemsExceptNaN=new Cn,this.data=[]}tryAdd(e){let t=this.selector(e);if(WD(t))return L(this.data,e),!0;let r=this.selectedItemsExceptNaN.size;return Fi(this.selectedItemsExceptNaN,t),r!==this.selectedItemsExceptNaN.size?(L(this.data,e),!0):!1}size(){return this.data.length}getData(){return this.data}},zD=Object.is,GD=class{constructor(e){this.selector=e,this.selectedItemsExceptMinusZero=new Cn,this.data=[],this.hasMinusZero=!1}tryAdd(e){let t=this.selector(e);if(zD(t,-0))return this.hasMinusZero?!1:(L(this.data,e),this.hasMinusZero=!0,!0);let r=this.selectedItemsExceptMinusZero.size;return Fi(this.selectedItemsExceptMinusZero,t),r!==this.selectedItemsExceptMinusZero.size?(L(this.data,e),!0):!1}size(){return this.data.length}getData(){return this.data}},qD=class{constructor(e){this.selector=e,this.selectedItems=new Cn,this.data=[]}tryAdd(e){let t=this.selector(e),r=this.selectedItems.size;return Fi(this.selectedItems,t),r!==this.selectedItems.size?(L(this.data,e),!0):!1}size(){return this.data.length}getData(){return this.data}};function KD(e){if(typeof e.comparator=="function"){if(e.selector===void 0){let a=e.comparator,l=(c,u)=>a(c.value_,u.value_);return()=>new dv(l)}let n=e.comparator,i=e.selector,o=a=>i(a.value_),s=(a,l)=>n(o(a),o(l));return()=>new dv(s)}let t=e.selector||(n=>n),r=n=>t(n.value_);switch(e.comparator){case"IsStrictlyEqual":return()=>new HD(r);case"SameValueZero":return()=>new qD(r);case"SameValue":case void 0:return()=>new GD(r)}}function Hr(e,t={}){let r=t.minLength!==void 0?t.minLength:0,n=t.maxLength!==void 0?t.maxLength:Wr,i=Ui(t.size,r,n,t.maxLength!==void 0),o=t.depthIdentifier,s=new W1(e,r,i,n,o,KD(t),[]);return r===0?s:s.filter(a=>a.length>=r)}var YD=Object.create,JD=Object.defineProperty,ZD=Object.getOwnPropertyDescriptor,pv=Object.getPrototypeOf,XD=Object.prototype,QD=Reflect.ownKeys;function e_(e){let t=e[1]?YD(null):{};for(let r of e[0])JD(t,r[0],{enumerable:!0,configurable:!0,writable:!0,value:r[1]});return t}function t_(e){return e!==void 0&&!!e.configurable&&!!e.enumerable&&!!e.writable&&e.get===void 0&&e.set===void 0}function r_(e){if(typeof e!="object"||e===null)throw new N("Incompatible instance received: should be a non-null object");let t=pv(e)===null,r=pv(e)===XD;if(!t&&!r)throw new N("Incompatible instance received: should be of exact type Object");let n=G(QD(e),i=>[i,ZD(e,i)]);if(!y1(n,([,i])=>t_(i)))throw new N("Incompatible instance received: should contain only c/e/w properties without get/set");return[G(n,([i,o])=>[i,o.value]),t]}function n_(e){return e[0]}function Bp(e,t,r={}){let n=!!r.noNullPrototype;return W(Hr(W(e,t),{minLength:r.minKeys,maxLength:r.maxKeys,size:r.size,selector:n_,depthIdentifier:r.depthIdentifier}),n?Ie(!1):zi()).map(e_,r_)}var i_=Number.POSITIVE_INFINITY,o_=Number.MAX_SAFE_INTEGER,s_=Number.isInteger,a_=Math.floor,l_=Math.pow,c_=Math.min,lp=class X1 extends he{static from(t,r,n){if(t.length===0)throw new Error(`${n} expects at least one weighted arbitrary`);let i=0;for(let o=0;o!==t.length;++o){if(t[o].arbitrary===void 0)throw new Error(`${n} expects arbitraries to be specified`);let s=t[o].weight;if(i+=s,!s_(s))throw new Error(`${n} expects weights to be integer values`);if(s<0)throw new Error(`${n} expects weights to be superior or equal to 0`)}if(i<=0)throw new Error(`${n} expects the sum of weights to be strictly superior to 0`);return new X1(t,{depthBias:vD(r.depthSize,r.maxDepth!==void 0),maxDepth:r.maxDepth!==void 0?r.maxDepth:i_,withCrossShrink:!!r.withCrossShrink},_p(r.depthIdentifier))}constructor(t,r,n){super(),this.warbs=t,this.constraints=r,this.context=n;let i=0;this.cumulatedWeights=[];for(let o=0;o!==t.length;++o)i+=t[o].weight,L(this.cumulatedWeights,i);this.totalWeight=i}generate(t,r){if(this.mustGenerateFirst())return this.safeGenerateForIndex(t,0,r);let n=t.nextInt(this.computeNegDepthBenefit(),this.totalWeight-1);for(let i=0;i!==this.cumulatedWeights.length;++i)if(n<this.cumulatedWeights[i])return this.safeGenerateForIndex(t,i,r);throw new Error("Unable to generate from fc.frequency")}canShrinkWithoutContext(t){return this.canShrinkWithoutContextIndex(t)!==-1}shrink(t,r){if(r!==void 0){let i=r,o=i.selectedIndex,s=i.originalBias,a=this.warbs[o].arbitrary.shrink(t,i.originalContext).map(l=>this.mapIntoValue(o,l,null,s));if(i.clonedMrngForFallbackFirst!==null){i.cachedGeneratedForFirst===void 0&&(i.cachedGeneratedForFirst=this.safeGenerateForIndex(i.clonedMrngForFallbackFirst,0,s));let l=i.cachedGeneratedForFirst;return B.of(l).join(a)}return a}let n=this.canShrinkWithoutContextIndex(t);return n===-1?B.nil():this.defaultShrinkForFirst(n).join(this.warbs[n].arbitrary.shrink(t,void 0).map(i=>this.mapIntoValue(n,i,null,void 0)))}defaultShrinkForFirst(t){++this.context.depth;try{if(!this.mustFallbackToFirstInShrink(t)||this.warbs[0].fallbackValue===void 0)return B.nil()}finally{--this.context.depth}let r=new $(this.warbs[0].fallbackValue.default,void 0);return B.of(this.mapIntoValue(0,r,null,void 0))}canShrinkWithoutContextIndex(t){if(this.mustGenerateFirst())return this.warbs[0].arbitrary.canShrinkWithoutContext(t)?0:-1;try{++this.context.depth;for(let r=0;r!==this.warbs.length;++r){let n=this.warbs[r];if(n.weight!==0&&n.arbitrary.canShrinkWithoutContext(t))return r}return-1}finally{--this.context.depth}}mapIntoValue(t,r,n,i){let o={selectedIndex:t,originalBias:i,originalContext:r.context,clonedMrngForFallbackFirst:n};return new $(r.value,o)}safeGenerateForIndex(t,r,n){++this.context.depth;try{let i=this.warbs[r].arbitrary.generate(t,n),o=this.mustFallbackToFirstInShrink(r)?t.clone():null;return this.mapIntoValue(r,i,o,n)}finally{--this.context.depth}}mustGenerateFirst(){return this.constraints.maxDepth<=this.context.depth}mustFallbackToFirstInShrink(t){return t!==0&&this.constraints.withCrossShrink&&this.warbs[0].weight!==0}computeNegDepthBenefit(){let t=this.constraints.depthBias;if(t<=0||this.warbs[0].weight===0)return 0;let r=a_(l_(1+t,this.context.depth))-1;return-c_(this.totalWeight*r,o_)||0}};function u_(e){return e!=null&&typeof e=="object"&&!("generate"in e)&&!("arbitrary"in e)&&!("weight"in e)}function fv(e){return s1(e)?{arbitrary:e,weight:1}:e}function Ve(...e){let t=e[0];if(u_(t)){let n=G(Ue(e,1),fv);return lp.from(n,t,"fc.oneof")}let r=G(e,fv);return lp.from(r,{},"fc.oneof")}var d_=Number.isInteger;function yr(e){let t=typeof e=="number"?e:e&&e.max!==void 0?e.max:2147483647;if(t<0)throw new Error("fc.nat value should be greater than or equal to 0");if(!d_(t))throw new Error("fc.nat maximum value should be an integer");return new In(0,t)}var p_=Object.is;function f_(e){let t=0,r=[];for(let n of e){let i=t;t=i+n.num;let o=t-1;r.push({from:i,to:o,entry:n})}return r}function h_(e,t){let r=0,n=e.length;for(;n-r>1;){let i=~~((r+n)/2);t<e[i].from?n=i:r=i}return e[r]}function m_(e){let t=f_(e);return function(n){let i=h_(t,n);return i.entry.build(n-i.from)}}function g_(e){let t={mapping:new qt,negativeZeroIndex:void 0},r=0;for(let n=0;n!==e.length;++n){let i=e[n];for(let o=0;o!==i.num;++o){let s=i.build(o);s===0&&1/s===Gt.NEGATIVE_INFINITY?t.negativeZeroIndex=r:wt(t.mapping,s,r),++r}}return t}function y_(e){let t=null;return function(n){t===null&&(t=g_(e));let i=p_(n,-0)?t.negativeZeroIndex:st(t.mapping,n);if(i===void 0)throw new N("Unknown value encountered cannot be built using this mapToConstant");return i}}function b_(e){if(e.length===0)throw new N("fc.mapToConstant expects at least one option");let t=0;for(let r=0;r!==e.length;++r){if(e[r].num<0)throw new N("fc.mapToConstant expects all options to have a number of entries greater or equal to zero");t+=e[r].num}if(t===0)throw new N("fc.mapToConstant expects at least one choice among options");return t}function An(...e){return yr({max:b_(e)-1}).map(m_(e),y_(e))}function Q1(e,t,r,n){if(t.length===0)return r>0?void 0:[];if(n<=0)return;let i=[{endIndexChunks:0,nextStartIndex:1,chunks:[]}];for(;i.length>0;){let o=h1(i);for(let s=o.nextStartIndex;s<=t.length;++s){let a=ve(t,o.endIndexChunks,s);if(e.canShrinkWithoutContext(a)){let l=[...o.chunks,a];if(s===t.length){if(l.length<r)break;return l}L(i,{endIndexChunks:o.endIndexChunks,nextStartIndex:s+1,chunks:o.chunks}),l.length<n&&L(i,{endIndexChunks:s,nextStartIndex:s+1,chunks:l});break}}}}function w_(e){return fe(e,"")}function e0(e){return e.minLength!==void 0?e.minLength:0}function t0(e){return e.maxLength!==void 0?e.maxLength:Wr}function S_(e,t){return e0(t)<=e.length&&e.length<=t0(t)}function v_(e,t){return function(n){if(typeof n!="string")throw new N("Unsupported value");let i=Q1(e,n,e0(t),t0(t));if(i===void 0)throw new N("Unable to unmap received string");return i}}var r0=["__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","__proto__","constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf","apply","arguments","bind","call","caller","length","name","prototype","key","ref"];function x_(e,t,r){let n;try{n=r(e)}catch{return}for(let i of n)if(!t.canShrinkWithoutContext(i))return;return n}function k_(e,t){let r=[];for(let n of r0){let i=x_(n,e,t);i!==void 0&&L(r,i)}return r}var hv=new WeakMap;function C_(e){let t=[];for(let r of r0){let n=Q1(e,r,0,Wr);n!==void 0&&L(t,n)}return t}function R_(e,t){let r=k4(hv,e);r===void 0&&(r=C_(e),x4(hv,e,r));let n=[];for(let i of r)S_(i,t)&&L(n,i);return n}var E_=[[0,127]],I_=[[0,55295],[57344,1114111]],A_=[[32,126],[160,172],[174,767],[880,887],[890,895],[900,906],[908],[910,929],[931,1154],[1162,1327],[1329,1366],[1369,1418],[1421,1423],[1470],[1472],[1475],[1478],[1488,1514],[1519,1524],[1542,1551],[1563],[1565,1610],[1632,1647],[1649,1749],[1758],[1765,1766],[1769],[1774,1805],[1808],[1810,1839],[1869,1957],[1969],[1984,2026],[2036,2042],[2046,2069],[2074],[2084],[2088],[2096,2110],[2112,2136],[2142],[2144,2154],[2160,2190],[2208,2249],[2308,2361],[2365],[2384],[2392,2401],[2404,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],[2482],[2486,2489],[2493],[2510],[2524,2525],[2527,2529],[2534,2557],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],[2654],[2662,2671],[2674,2676],[2678],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2749],[2768],[2784,2785],[2790,2801],[2809],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2877],[2908,2909],[2911,2913],[2918,2935],[2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],[2972],[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3024],[3046,3066],[3077,3084],[3086,3088],[3090,3112],[3114,3129],[3133],[3160,3162],[3165],[3168,3169],[3174,3183],[3191,3200],[3204,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3261],[3293,3294],[3296,3297],[3302,3311],[3313,3314],[3332,3340],[3342,3344],[3346,3386],[3389],[3407],[3412,3414],[3416,3425],[3430,3455],[3461,3478],[3482,3505],[3507,3515],[3517],[3520,3526],[3558,3567],[3572],[3585,3632],[3634],[3647,3654],[3663,3675],[3713,3714],[3716],[3718,3722],[3724,3747],[3749],[3751,3760],[3762],[3773],[3776,3780],[3782],[3792,3801],[3804,3807],[3840,3863],[3866,3892],[3894],[3896],[3898,3901],[3904,3911],[3913,3948],[3973],[3976,3980],[4030,4037],[4039,4044],[4046,4058],[4096,4138],[4159,4181],[4186,4189],[4193],[4197,4198],[4206,4208],[4213,4225],[4238],[4240,4249],[4254,4293],[4295],[4301],[4304,4351],[4608,4680],[4682,4685],[4688,4694],[4696],[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],[4800],[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4960,4988],[4992,5017],[5024,5109],[5112,5117],[5120,5788],[5792,5880],[5888,5905],[5919,5937],[5941,5942],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],[6100,6108],[6112,6121],[6128,6137],[6144,6154],[6160,6169],[6176,6264],[6272,6276],[6279,6312],[6314],[6320,6389],[6400,6430],[6464],[6468,6509],[6512,6516],[6528,6571],[6576,6601],[6608,6618],[6622,6678],[6686,6740],[6784,6793],[6800,6809],[6816,6829],[6917,6963],[6981,6988],[6992,7018],[7028,7038],[7043,7072],[7086,7141],[7164,7203],[7227,7241],[7245,7304],[7312,7354],[7357,7367],[7379],[7401,7404],[7406,7411],[7413,7414],[7418],[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],[8025],[8027],[8029],[8031,8061],[8064,8116],[8118,8132],[8134,8147],[8150,8155],[8157,8175],[8178,8180],[8182,8190],[8192,8202],[8208,8233],[8239,8287],[8304,8305],[8308,8334],[8336,8348],[8352,8384],[8448,8587],[8592,9254],[9280,9290],[9312,11123],[11126,11157],[11159,11502],[11506,11507],[11513,11557],[11559],[11565],[11568,11623],[11631,11632],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[11776,11869],[11904,11929],[11931,12019],[12032,12245],[12272,12329],[12336,12351],[12353,12438],[12443,12543],[12549,12591],[12593,12686],[12688,12771],[12783,12830],[12832,13312],[19903,19968],[40959,42124],[42128,42182],[42192,42539],[42560,42606],[42611],[42622,42653],[42656,42735],[42738,42743],[42752,42954],[42960,42961],[42963],[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43042],[43048,43051],[43056,43065],[43072,43127],[43138,43187],[43214,43225],[43250,43262],[43264,43301],[43310,43334],[43359],[43396,43442],[43457,43469],[43471,43481],[43486,43492],[43494,43518],[43520,43560],[43584,43586],[43588,43595],[43600,43609],[43612,43642],[43646,43695],[43697],[43701,43702],[43705,43709],[43712],[43714],[43739,43754],[43760,43764],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43883],[43888,44002],[44011],[44016,44025],[44032],[55203],[63744,64109],[64112,64217],[64256,64262],[64275,64279],[64285],[64287,64310],[64312,64316],[64318],[64320,64321],[64323,64324],[64326,64450],[64467,64911],[64914,64967],[64975],[65008,65023],[65040,65049],[65072,65106],[65108,65126],[65128,65131],[65136,65140],[65142,65276],[65281,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65504,65510],[65512,65518],[65532,65533],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65792,65794],[65799,65843],[65847,65934],[65936,65948],[65952],[66e3,66044],[66176,66204],[66208,66256],[66273,66299],[66304,66339],[66349,66378],[66384,66421],[66432,66461],[66463,66499],[66504,66517],[66560,66717],[66720,66729],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66927,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],[67592],[67594,67637],[67639,67640],[67644],[67647,67669],[67671,67742],[67751,67759],[67808,67826],[67828,67829],[67835,67867],[67871,67897],[67903],[67968,68023],[68028,68047],[68050,68096],[68112,68115],[68117,68119],[68121,68149],[68160,68168],[68176,68184],[68192,68255],[68288,68324],[68331,68342],[68352,68405],[68409,68437],[68440,68466],[68472,68497],[68505,68508],[68521,68527],[68608,68680],[68736,68786],[68800,68850],[68858,68899],[68912,68921],[69216,69246],[69248,69289],[69293],[69296,69297],[69376,69415],[69424,69445],[69457,69465],[69488,69505],[69510,69513],[69552,69579],[69600,69622],[69635,69687],[69703,69709],[69714,69743],[69745,69746],[69749],[69763,69807],[69819,69820],[69822,69825],[69840,69864],[69872,69881],[69891,69926],[69942,69956],[69959],[69968,70002],[70004,70006],[70019,70066],[70081],[70084,70088],[70093],[70096,70111],[70113,70132],[70144,70161],[70163,70187],[70200,70205],[70207,70208],[70272,70278],[70280],[70282,70285],[70287,70301],[70303,70313],[70320,70366],[70384,70393],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70461],[70480],[70493,70497],[70656,70708],[70727,70747],[70749],[70751,70753],[70784,70831],[70852,70855],[70864,70873],[71040,71086],[71105,71131],[71168,71215],[71233,71236],[71248,71257],[71264,71276],[71296,71338],[71352,71353],[71360,71369],[71424,71450],[71472,71494],[71680,71723],[71739],[71840,71922],[71935,71942],[71945],[71948,71955],[71957,71958],[71960,71983],[72004,72006],[72016,72025],[72096,72103],[72106,72144],[72161,72163],[72192],[72203,72242],[72255,72262],[72272],[72284,72323],[72346,72354],[72368,72440],[72448,72457],[72704,72712],[72714,72750],[72768,72773],[72784,72812],[72816,72847],[72960,72966],[72968,72969],[72971,73008],[73040,73049],[73056,73061],[73063,73064],[73066,73097],[73112],[73120,73129],[73440,73458],[73463,73464],[73476,73488],[73490,73523],[73539,73561],[73648],[73664,73713],[73727,74649],[74752,74862],[74864,74868],[74880,75075],[77712,77810],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92768,92777],[92782,92862],[92864,92873],[92880,92909],[92917],[92928,92975],[92983,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071],[93760,93850],[93952,94026],[94032],[94099,94111],[94176,94179],[94208],[100343],[100352,101589],[101632],[101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],[110898],[110928,110930],[110933],[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113820],[113823],[118608,118723],[118784,119029],[119040,119078],[119081,119140],[119146,119148],[119171,119172],[119180,119209],[119214,119274],[119296,119361],[119365],[119488,119507],[119520,119539],[119552,119638],[119648,119672],[119808,119892],[119894,119964],[119966,119967],[119970],[119973,119974],[119977,119980],[119982,119993],[119995],[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],[120134],[120138,120144],[120146,120485],[120488,120779],[120782,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121483],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],[123200,123209],[123214,123215],[123536,123565],[123584,123627],[123632,123641],[123647],[124112,124139],[124144,124153],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125127,125135],[125184,125251],[125259],[125264,125273],[125278,125279],[126065,126132],[126209,126269],[126464,126467],[126469,126495],[126497,126498],[126500],[126503],[126505,126514],[126516,126519],[126521],[126523],[126530],[126535],[126537],[126539],[126541,126543],[126545,126546],[126548],[126551],[126553],[126555],[126557],[126559],[126561,126562],[126564],[126567,126570],[126572,126578],[126580,126583],[126585,126588],[126590],[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127232,127405],[127488,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,127994],[128e3,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],[129008],[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994],[130032,130041],[131072],[173791],[173824],[177977],[177984],[178205],[178208],[183969],[183984],[191456],[191472],[192093],[194560,195101],[196608],[201546],[201552],[205743]],P_=[[192,197],[199,207],[209,214],[217,221],[224,229],[231,239],[241,246],[249,253],[255,271],[274,293],[296,304],[308,311],[313,318],[323,328],[332,337],[340,357],[360,382],[416,417],[431,432],[461,476],[478,483],[486,496],[500,501],[504,539],[542,543],[550,563],[901,902],[904,906],[908],[910,912],[938,944],[970,974],[979,980],[1024,1025],[1027],[1031],[1036,1038],[1049],[1081],[1104,1105],[1107],[1111],[1116,1118],[1142,1143],[1217,1218],[1232,1235],[1238,1239],[1242,1247],[1250,1255],[1258,1269],[1272,1273],[1570,1574],[1728],[1730],[1747],[2345],[2353],[2356],[2392,2399],[2524,2525],[2527],[2611],[2614],[2649,2651],[2654],[2908,2909],[2964],[3907],[3917],[3922],[3927],[3932],[3945],[4134],[6918],[6920],[6922],[6924],[6926],[6930],[7680,7833],[7835],[7840,7929],[7936,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],[8025],[8027],[8029],[8031,8048],[8050],[8052],[8054],[8056],[8058],[8060],[8064,8116],[8118,8122],[8124],[8129,8132],[8134,8136],[8138],[8140,8146],[8150,8154],[8157,8162],[8164,8170],[8172,8173],[8178,8180],[8182,8184],[8186],[8188],[8602,8603],[8622],[8653,8655],[8708],[8713],[8716],[8740],[8742],[8769],[8772],[8775],[8777],[8800],[8802],[8813,8817],[8820,8821],[8824,8825],[8832,8833],[8836,8837],[8840,8841],[8876,8879],[8928,8931],[8938,8941],[10972],[12364],[12366],[12368],[12370],[12372],[12374],[12376],[12378],[12380],[12382],[12384],[12386],[12389],[12391],[12393],[12400,12401],[12403,12404],[12406,12407],[12409,12410],[12412,12413],[12436],[12446],[12460],[12462],[12464],[12466],[12468],[12470],[12472],[12474],[12476],[12478],[12480],[12482],[12485],[12487],[12489],[12496,12497],[12499,12500],[12502,12503],[12505,12506],[12508,12509],[12532],[12535,12538],[12542],[44032],[55203],[64285],[64287],[64298,64310],[64312,64316],[64318],[64320,64321],[64323,64324],[64326,64334],[69786],[69788],[69803],[119134,119140],[119227,119232]],mv=String.fromCodePoint,T_=Math.min,O_=Math.max;function cp(e){if(e.length===1){let r=mv(e[0]);return{num:1,build:()=>r}}let t=e[0];return{num:e[1]-e[0]+1,build:r=>mv(t+r)}}function gv(e,t){let r=[],n=0,i=0;for(;n<e.length&&i<t.length;){let o=e[n],s=o[0],a=o.length===1?o[0]:o[1],l=t[i],c=l[0],u=l.length===1?l[0]:l[1];if(a<c)n+=1;else if(u<s)i+=1;else{let d=O_(s,c),p=T_(a,u);if(r.length>=1){let h=r[r.length-1];(h.length===1?h[0]:h[1])+1===d&&(d=h[0],h1(r))}L(r,d===p?[d]:[d,p]),a<=p&&(n+=1),u<=p&&(i+=1)}}return r}var yv=Object.create(null);function M_(e){switch(e){case"full":return I_;case"ascii":return E_}}function N_(e,t){let r=`${e}:${t}`,n=yv[r];if(n!==void 0)return n;let i=M_(t),o=e==="binary"?i:gv(i,A_),s=[];for(let l of o)L(s,cp(l));if(e==="grapheme"){let l=gv(i,P_);for(let c of l){let u=cp(c);L(s,{num:u.num,build:d=>B4(u.build(d),"NFD")})}}let a=An(...s);return yv[r]=a,a}function Di(e,t){return N_(e,t)}function L_(e){if(typeof e.unit=="object")return e.unit;switch(e.unit){case"grapheme":return Di("grapheme","full");case"grapheme-composite":return Di("composite","full");case"grapheme-ascii":case void 0:return Di("grapheme","ascii");case"binary":return Di("binary","full");case"binary-ascii":return Di("binary","ascii")}}function Le(e={}){let t=L_(e),r=v_(t,e),n=R_(t,e);return ce(t,{...e,experimentalCustomSlices:n}).map(w_,r)}var n0=Map,Up=String.fromCharCode,Wp={num:26,build:e=>Up(e+97)},$_={num:26,build:e=>Up(e+65)},i0={num:10,build:e=>Up(e+48)};function D_(e){let t=e4(e);return e!==t?t:`%${Vi(Rn(e,0),16)}`}function __(e){if(typeof e!="string")throw new Error("Unsupported");return decodeURIComponent(e)}var j_=()=>Le({unit:"binary",minLength:1,maxLength:1}).map(D_,__),Fd;function F_(){return Fd===void 0&&(Fd=An(Wp)),Fd}var ta;function up(e){ta===void 0&&(ta=new n0);let t=st(ta,e);return t===void 0&&(t=An(Wp,i0,{num:e.length,build:r=>e[r]}),wt(ta,e,t)),t}function V_(e){return An(Wp,$_,i0,{num:e.length,build:t=>e[t]})}var ra;function Hp(e){ra===void 0&&(ra=new n0);let t=st(ra,e);return t===void 0&&(t=Ve({weight:10,arbitrary:V_(e)},{weight:1,arbitrary:j_()}),wt(ra,e,t)),t}function Yt(e,t={}){let r=t.freq===void 0?6:t.freq,n=b1(t,"nil")?t.nil:null,i=[{arbitrary:Ie(n),weight:1,fallbackValue:{default:n}},{arbitrary:e,weight:r-1}],o={withCrossShrink:!0,depthSize:t.depthSize,maxDepth:t.maxDepth,depthIdentifier:t.depthIdentifier};return lp.from(i,o,"fc.option")}function B_(e){return e.length>63?!1:e.length<4||e[0]!=="x"||e[1]!=="n"||e[2]!=="-"||e[3]!=="-"}var o0=Symbol("adapted-value");function U_(e,t){let r=t(e.value_);return r.adapted?new $(r.value,o0):e}var W_=class extends he{constructor(e,t){super(),this.sourceArb=e,this.adapter=t,this.adaptValue=r=>U_(r,t)}generate(e,t){let r=this.sourceArb.generate(e,t);return this.adaptValue(r)}canShrinkWithoutContext(e){return this.sourceArb.canShrinkWithoutContext(e)&&!this.adapter(e).adapted}shrink(e,t){return t===o0?this.sourceArb.canShrinkWithoutContext(e)?this.sourceArb.shrink(e,void 0).map(this.adaptValue):B.nil():this.sourceArb.shrink(e,t).map(this.adaptValue)}};function s0(e,t){return new W_(e,t)}function H_([e,t]){return t===null?e:`${e}${t[0]}${t[1]}`}function z_(e){if(typeof e!="string"||e.length===0)throw new Error("Unsupported");return e.length===1?[e[0],null]:[e[0],[ve(e,1,e.length-1),e[e.length-1]]]}function G_(e){let t=up("");return W(t,Yt(W(Le({unit:up("-"),size:e,maxLength:61}),t))).map(H_,z_).filter(B_)}function q_(e){return`${fe(e[0],".")}.${e[1]}`}function K_(e){if(typeof e!="string")throw new Error("Unsupported type");let t=e.lastIndexOf(".");return[Ze(ve(e,0,t),"."),ve(e,t+1)]}function Y_(e){let[t,r]=e,n=r.length;for(let i=0;i!==t.length;++i)if(n+=1+t[i].length,n>255)return{adapted:!0,value:[Ue(t,0,i),r]};return{adapted:!1,value:e}}function zp(e={}){let t=Vp(e.size),r=Hi("-1",t),n=Le({unit:F_(),minLength:2,maxLength:63,size:r});return s0(W(ce(G_(t),{size:r,minLength:1,maxLength:127}),n),Y_).map(q_,K_)}function J_(e){let t=e[0].length;for(let r=1;r!==e.length;++r)if(t+=1+e[r].length,t>64)return{adapted:!0,value:Ue(e,0,r)};return{adapted:!1,value:e}}function Z_(e){return fe(e,".")}function X_(e){if(typeof e!="string")throw new Error("Unsupported");return Ze(e,".")}function Q_(e){return`${e[0]}@${e[1]}`}function ej(e){if(typeof e!="string")throw new Error("Unsupported");return Ze(e,"@",2)}function tj(e={}){return W(s0(ce(Le({unit:up("!#$%&'*+-/=?^_`{|}~"),minLength:1,maxLength:64,size:e.size}),{minLength:1,maxLength:32,size:e.size}),J_).map(Z_,X_),zp({size:e.size})).map(Q_,ej)}var rj=Gt.NEGATIVE_INFINITY,dp=Gt.POSITIVE_INFINITY,a0=Gt.EPSILON,Gp=O(2146435072)*O(4294967296),nj=-Gp-O(1),bv=4503599627370496,ij=O(0xfffffffffffff),wv=O("9007199254740992"),pp=new Float64Array(1),Sv=new Uint32Array(pp.buffer,pp.byteOffset);function oj(e){return pp[0]=e,[Sv[1],Sv[0]]}function sj(e){let{0:t,1:r}=oj(e),n=t>>>31,i=t>>>20&2047,o=(t&1048575)*4294967296+r,s=i===0?-1022:i-1023,a=i===0?0:1;return a+=o*a0,a*=n===0?1:-1,{exponent:s,significand:a}}function vv(e,t){return e===-1022?O(t*bv):O((t-1)*bv)+(O(e+1023)<<O(52))}function qp(e){if(e===dp)return Gp;if(e===rj)return nj;let t=sj(e),r=t.exponent,n=t.significand;return e>0||e===0&&1/e===dp?vv(r,n):-vv(r,-n)-O(1)}function fp(e){if(e<0)return-fp(-e-O(1));if(e===Gp)return dp;if(e<wv)return Gt(e)*2**-1074;let t=e-wv,r=-1021+Gt(t>>O(52));return(1+Gt(t&ij)*a0)*2**r}var xv=Number.isInteger,kv=Object.is,Vd=Number.NEGATIVE_INFINITY,Bd=Number.POSITIVE_INFINITY;function l0(e,t,r,n){let{noDefaultInfinity:i=!1,minExcluded:o=!1,maxExcluded:s=!1,min:a=i?-t:Vd,max:l=i?t:Bd}=e,c=o?a<-r?-n:Math.max(a,-r):a===Vd?Math.max(a,-n):Math.max(a,-r),u=s?l>r?n:Math.min(l,r):l===Bd?Math.min(l,n):Math.min(l,r);return{noDefaultInfinity:!1,minExcluded:o||(a!==Vd||o)&&xv(c),maxExcluded:s||(l!==Bd||s)&&xv(u),min:kv(c,-0)?0:c,max:kv(u,0)?-0:u,noNaN:e.noNaN||!1}}var c0=Number.NEGATIVE_INFINITY,u0=Number.POSITIVE_INFINITY,aj=Number.MAX_VALUE,lj=45035996273704955e-1,hp=4503599627370496;function cj(e){return l0(e,aj,lj,hp)}function uj(e){return e===4503599627370496?u0:e===-4503599627370496?c0:e}function dj(e){if(typeof e!="number")throw new Error("Unsupported type");return e===u0?hp:e===c0?-hp:e}var pj=Number.isInteger,d0=Number.isNaN,fj=Number.NEGATIVE_INFINITY,hj=Number.POSITIVE_INFINITY,Cv=Number.MAX_VALUE,mj=NaN;function Rv(e,t){if(d0(e))throw new Error("fc.double constraints."+t+" must be a 64-bit float");return qp(e)}function gj(e){if(typeof e!="number")throw new Error("Unsupported type");return qp(e)}function yj(e){return!pj(e)}function Ev(e){let{noDefaultInfinity:t=!1,noNaN:r=!1,minExcluded:n=!1,maxExcluded:i=!1,min:o=t?-Cv:fj,max:s=t?Cv:hj}=e,a=Rv(o,"min"),l=n?a+O(1):a,c=Rv(s,"max"),u=i?c-O(1):c;if(u<l)throw new Error("fc.double constraints.min must be smaller or equal to constraints.max");if(r)return Sr({min:l,max:u}).map(fp,gj);let d=u>O(0),p=d?l:l-O(1),h=d?u+O(1):u;return Sr({min:p,max:h}).map(f=>u<f||f<l?mj:fp(f),f=>{if(typeof f!="number")throw new Error("Unsupported type");return d0(f)?u!==h?h:p:qp(f)})}function va(e={}){return e.noInteger?Ev(cj(e)).map(uj,dj).filter(yj):Ev(e)}var bj=Number.NEGATIVE_INFINITY,mp=Number.POSITIVE_INFINITY,wj=Math.imul,gp=2**127*(1+(2**23-1)/2**23),p0=2139095040,Sj=-2139095041,yp=new Float32Array(1),vj=new Uint32Array(yp.buffer,yp.byteOffset);function xj(e){return yp[0]=e,vj[0]}function kj(e){let t=xj(e),r=t>>>31,n=t>>>23&255,i=t&8388607,o=n===0?-126:n-127,s=n===0?0:1;return s+=i/2**23,s*=r===0?1:-1,{exponent:o,significand:s}}function Iv(e,t){return e===-126?t*8388608:wj(e+127,8388608)+(t-1)*8388608}function Kp(e){if(e===mp)return p0;if(e===bj)return Sj;let t=kj(e),r=t.exponent,n=t.significand;return e>0||e===0&&1/e===mp?Iv(r,n):-Iv(r,-n)-1}function bp(e){if(e<0)return-bp(-e-1);if(e===p0)return mp;if(e<16777216)return e*2**-149;let t=e-16777216,r=-125+(t>>23);return(1+(t&8388607)/8388608)*2**r}var f0=Number.NEGATIVE_INFINITY,h0=Number.POSITIVE_INFINITY,Cj=gp,Rj=83886075e-1,wp=8388608;function Ej(e){return l0(e,Cj,Rj,wp)}function Ij(e){return e===8388608?h0:e===-8388608?f0:e}function Aj(e){if(typeof e!="number")throw new Error("Unsupported type");return e===h0?wp:e===f0?-wp:e}var Pj=Number.isInteger,m0=Number.isNaN,Tj=Math.fround,Oj=Number.NEGATIVE_INFINITY,Mj=Number.POSITIVE_INFINITY,Nj=NaN;function Av(e,t){let r="fc.float constraints."+t+" must be a 32-bit float - you can convert any double to a 32-bit float by using `Math.fround(myDouble)`";if(m0(e)||Tj(e)!==e)throw new Error(r);return Kp(e)}function Lj(e){if(typeof e!="number")throw new Error("Unsupported type");return Kp(e)}function $j(e){return!Pj(e)}function Pv(e){let{noDefaultInfinity:t=!1,noNaN:r=!1,minExcluded:n=!1,maxExcluded:i=!1,min:o=t?-gp:Oj,max:s=t?gp:Mj}=e,a=Av(o,"min"),l=n?a+1:a,c=Av(s,"max"),u=i?c-1:c;if(l>u)throw new Error("fc.float constraints.min must be smaller or equal to constraints.max");if(r)return oe({min:l,max:u}).map(bp,Lj);let d=u>0?l:l-1,p=u>0?u+1:u;return oe({min:d,max:p}).map(h=>h>u||h<l?Nj:bp(h),h=>{if(typeof h!="number")throw new Error("Unsupported type");return m0(h)?u!==p?p:d:Kp(h)})}function g0(e={}){return e.noInteger?Pv(Ej(e)).map(Ij,Aj).filter($j):Pv(e)}function Dj(e){return e.replace(/([$`\\])/g,"\\$1").replace(/\r/g,"\\r")}function y0(e){return e.replace(/\*\//g,"*\\/")}var it=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];function ba(e){let t=4294967295;for(let r=0;r<e.length;++r){let n=Rn(e,r);if(n<128)t=it[t&255^n]^t>>8;else if(n<2048)t=it[t&255^(192|n>>6&31)]^t>>8,t=it[t&255^(128|n&63)]^t>>8;else if(n>=55296&&n<57344){let i=Rn(e,++r);if(n>=56320||i<56320||i>57343||Number.isNaN(i))r-=1,t=it[t&255^239]^t>>8,t=it[t&255^191]^t>>8,t=it[t&255^189]^t>>8;else{let o=(n&1023)+64,s=i&1023;t=it[t&255^(240|o>>8&7)]^t>>8,t=it[t&255^(128|o>>2&63)]^t>>8,t=it[t&255^(128|s>>6&15|(o&3)<<4)]^t>>8,t=it[t&255^(128|s&63)]^t>>8}}else t=it[t&255^(224|n>>12&15)]^t>>8,t=it[t&255^(128|n>>6&63)]^t>>8,t=it[t&255^(128|n&63)]^t>>8}return(t|0)+2147483648}var _j=Object.getPrototypeOf,_i=class extends he{constructor(e){super(),this.arb=e}generate(e,t){return this.arb.generate(e,t)}canShrinkWithoutContext(e){return this.arb.canShrinkWithoutContext(e)}shrink(e,t){return B.nil()}};function wa(e){return _j(e)===_i.prototype&&e.generate===_i.prototype.generate&&e.canShrinkWithoutContext===_i.prototype.canShrinkWithoutContext&&e.shrink===_i.prototype.shrink?e:new _i(e)}var jj=Object.assign,Fj=Object.keys;function b0(e){return W(wa(oe()),wa(oe({min:1,max:4294967295}))).map(([t,r])=>{let n=()=>{let i={};return jj((s,a)=>{let l=Ae(s),c=Ae(a),u=e(ba(`${t}${l}`)%r,ba(`${t}${c}`)%r);return i[`[${l},${c}]`]=u,u},{toString:()=>{let s=Fj(i).sort().map(a=>`${a} => ${Ae(i[a])}`).map(a=>`/* ${y0(a)} */`);return`function(a, b) {
193
+ ${oD(i)}`),o}function V1(e){return up(e,Ae)}async function U1(e){let t=[];function r(s){let a=L1(s);return typeof a=="string"?a:(t.push(Promise.all([s,a])),"\u2026")}let n=up(e,r);if(t.length===0)return n;let i=new Zt(await Promise.all(t));function o(s){let a=lt(i,s);return a!==void 0?a:Ae(s)}return up(e,o)}function W1(e,t){if(t.runConfiguration.includeErrorInReport)throw new N(e);let r=new N(e,{cause:t.errorInstance});return"cause"in r||iD(r,{cause:t.errorInstance}),r}function dD(e){if(e.failed)throw W1(V1(e),e)}async function pD(e){if(e.failed)throw W1(await U1(e),e)}function fD(e){return e.runConfiguration.asyncReporter?e.runConfiguration.asyncReporter(e):e.runConfiguration.reporter?e.runConfiguration.reporter(e):dD(e)}async function hD(e){return e.runConfiguration.asyncReporter?e.runConfiguration.asyncReporter(e):e.runConfiguration.reporter?e.runConfiguration.reporter(e):pD(e)}function mD(e,t,r,n,i){let o=new D1(r,t,n,i);for(let s of o){e.runBeforeEach();let a=e.run(s);e.runAfterEach(),o.handleResult(a)}return o.runExecution}async function gD(e,t,r,n,i){let o=new D1(r,t,n,i);for(let s of o){await e.runBeforeEach();let a=await e.run(s);await e.runAfterEach(),o.handleResult(a)}return o.runExecution}function H1(e,t){if(e==null||e.generate===null||e.generate===void 0)throw new Error("Invalid property encountered, please use a valid property");if(e.run===null||e.run===void 0)throw new Error("Invalid property encountered, please use a valid property not an arbitrary");let r=$p({...xt(),...t});if(r.reporter!==void 0&&r.asyncReporter!==void 0)throw new Error("Invalid parameters encountered, reporter and asyncReporter cannot be specified together");if(r.asyncReporter!==void 0&&!e.isAsync())throw new Error("Invalid parameters encountered, only asyncProperty can be used when asyncReporter specified");let n=K3(e,r),i=r.path.length===0||r.path.indexOf(":")===-1?r.numRuns:-1,o=r.numRuns*r.maxSkipsPerRun,s=(...c)=>n.shrink(...c),a=new Z3(r.path.length===0?j1(n,r.seed,r.randomType,r.examples):B1(r.path,vr(F1(n,r.seed,r.randomType,r.examples)),s),i,o),l=r.endOnFailure?V.nil:s;return n.isAsync()?gD(n,l,a,r.verbose,r.markInterruptAsFailure).then(c=>c.toRunDetails(r.seed,r.path,o,r)):mD(n,l,a,r.verbose,r.markInterruptAsFailure).toRunDetails(r.seed,r.path,o,r)}function yD(e,t){let r=H1(e,t);if(e.isAsync())return r.then(hD);fD(r)}function bD(e,t){let r=Object.prototype.hasOwnProperty.call(e,"isAsync")?e:new O1(e,()=>!0);return t.unbiased===!0?new N1(r):r}function z1(e,t){let r=$p(typeof t=="number"?{...xt(),numRuns:t}:{...xt(),...t}),n=bD(e,r),i=n.shrink.bind(n);return(r.path.length===0?vr(j1(n,r.seed,r.randomType,r.examples)):B1(r.path,vr(F1(n,r.seed,r.randomType,r.examples)),i)).take(r.numRuns).map(o=>o.value_)}function wD(e,t){return[...z1(e,t)]}function SD(e){return(Math.round(e*100)/100).toFixed(2)}function vD(e,t,r){let n=$p(typeof r=="number"?{...xt(),numRuns:r}:{...xt(),...r}),i={};for(let l of z1(e,r)){let c=t(l),u=Array.isArray(c)?c:[c];for(let d of u)i[d]=(i[d]||0)+1}let o=Object.entries(i).sort((l,c)=>c[1]-l[1]).map(l=>[l[0],`${SD(l[1]*100/n.numRuns)}%`]),s=o.map(l=>l[0].length).reduce((l,c)=>Math.max(l,c),0),a=o.map(l=>l[1].length).reduce((l,c)=>Math.max(l,c),0);for(let l of o)n.logger(`${l[0].padEnd(s,".")}..${l[1].padStart(a,".")}`)}var xD=Object.assign;function dp(e,t,r,n){let i=r(),o=e.clone(),s={mrng:e.clone(),biasFactor:t,history:[]},a=c=>{let u=i[s.history.length];if(u!==void 0&&u.arb===c){let p=u.value;return L(s.history,{arb:c,value:p,context:u.context,mrng:u.mrng}),o=u.mrng.clone(),p}let d=c.generate(o,t);return L(s.history,{arb:c,value:d.value_,context:d.context,mrng:o.clone()}),d.value},l=(c,...u)=>a(n(c,u));return new $(xD(l,{values(){return G(s.history,c=>c.value)},[Ve](){return dp(e,t,r,n).value},[kt](){return Ae(G(s.history,c=>c.value))}}),s)}var Vd=Array.isArray,iv=Object.keys,kD=Object.is;function CD(e){let t=new Zt;return function(n,i){let o=lt(t,n);if(o===void 0){let l=n(...i);return vt(t,n,[{args:i,value:l}]),l}let s=o;for(let l of s)if(e(i,l.args))return l.value;let a=n(...i);return L(s,{args:i,value:a}),a}}function G1(e,t){if(e!==null&&typeof e=="object"&&t!==null&&typeof t=="object"){if(Vd(e)){if(!Vd(t)||e.length!==t.length)return!1}else if(Vd(t))return!1;if(iv(e).length!==iv(t).length)return!1;for(let r in e)if(!(r in t)||!G1(e[r],t[r]))return!1;return!0}else return kD(e,t)}var RD=class extends he{constructor(...e){super(...e),this.arbitraryCache=CD(G1)}generate(e,t){return dp(e,t,()=>[],this.arbitraryCache)}canShrinkWithoutContext(e){return!1}shrink(e,t){if(t===void 0)return V.nil();let r=t,n=r.mrng,i=r.biasFactor,o=r.history;return A1(o.map(s=>s.arb),o.map(s=>s.value),o.map(s=>s.context)).map(s=>{function a(){let l=s.value,c=s.context;return G(o,(u,d)=>({arb:u.arb,value:l[d],context:c[d],mrng:u.mrng}))}return dp(n,i,a,this.arbitraryCache)})}};function ED(){return new RD}var ID=Math.floor,ov=Math.log;function AD(e){return ID(ov(e)/ov(2))}function PD(e){return e===O(0)?O(0):O(Ze(e).length)}function q1(e,t,r){if(e===t)return[{min:e,max:t}];if(e<0&&t>0){let s=r(-e),a=r(t);return[{min:-s,max:a},{min:t-a,max:t},{min:e,max:e+s}]}let n=r(t-e),i={min:e,max:e+n},o={min:t-n,max:t};return e<0?[o,i]:[i,o]}var TD=Math.ceil,OD=Math.floor;function sv(e){return OD(e/2)}function av(e){return TD(e/2)}function lv(e,t,r){let n=e-t;function*i(){let s=r?void 0:t,a=r?n:sv(n);for(let l=a;l>0;l=sv(l)){let c=l===n?t:e-l;yield new $(c,s),s=c}}function*o(){let s=r?void 0:t,a=r?n:av(n);for(let l=a;l<0;l=av(l)){let c=l===n?t:e-l;yield new $(c,s),s=c}}return n>0?vr(i()):vr(o())}var cv=Math.sign,MD=Number.isInteger,ND=Object.is,Pn=class K1 extends he{constructor(t,r){super(),this.min=t,this.max=r}generate(t,r){let n=this.computeGenerateRange(t,r);return new $(t.nextInt(n.min,n.max),void 0)}canShrinkWithoutContext(t){return typeof t=="number"&&MD(t)&&!ND(t,-0)&&this.min<=t&&t<=this.max}shrink(t,r){return K1.isValidContext(t,r)?this.isLastChanceTry(t,r)?V.of(new $(r,void 0)):lv(t,r,!1):lv(t,this.defaultTarget(),!0)}defaultTarget(){return this.min<=0&&this.max>=0?0:this.min<0?this.max:this.min}computeGenerateRange(t,r){if(r===void 0||t.nextInt(1,r)!==1)return{min:this.min,max:this.max};let n=q1(this.min,this.max,AD);if(n.length===1)return n[0];let i=t.nextInt(-2*(n.length-1),n.length-2);return i<0?n[0]:n[i+1]}isLastChanceTry(t,r){return t>0?t===r+1&&t>this.min:t<0?t===r-1&&t<this.max:!1}static isValidContext(t,r){if(r===void 0)return!1;if(typeof r!="number")throw new Error("Invalid context type passed to IntegerArbitrary (#1)");if(r!==0&&cv(t)!==cv(r))throw new Error("Invalid context value passed to IntegerArbitrary (#2)");return!0}},uv=Number.isInteger;function LD(e){return{min:e.min!==void 0?e.min:-2147483648,max:e.max!==void 0?e.max:2147483647}}function oe(e={}){let t=LD(e);if(t.min>t.max)throw new Error("fc.integer maximum value should be equal or greater than the minimum one");if(!uv(t.min))throw new Error("fc.integer minimum value should be an integer");if(!uv(t.max))throw new Error("fc.integer maximum value should be an integer");return new Pn(t.min,t.max)}var dv=new Map;function Vp(e){if(e===void 0)return{depth:0};if(typeof e!="string")return e;let t=lt(dv,e);if(t!==void 0)return t;let r={depth:0};return vt(dv,e,r),r}function Up(){return{depth:0}}var $D=class{constructor(e,t,r){this.arb=e,this.mrng=t,this.biasFactor=r}attemptExact(){}next(){return this.arb.generate(this.mrng,this.biasFactor)}},DD=Math.min,_D=Math.max,jD=class{constructor(e,t,r,n){this.arb=e,this.mrng=t,this.slices=r,this.biasFactor=n,this.activeSliceIndex=0,this.nextIndexInSlice=0,this.lastIndexInSlice=-1}attemptExact(e){if(e!==0&&this.mrng.nextInt(1,this.biasFactor)===1){let t=[];for(let r=0;r!==this.slices.length;++r)this.slices[r].length===e&&L(t,r);if(t.length===0)return;this.activeSliceIndex=t[this.mrng.nextInt(0,t.length-1)],this.nextIndexInSlice=0,this.lastIndexInSlice=e-1}}next(){if(this.nextIndexInSlice<=this.lastIndexInSlice)return new $(this.slices[this.activeSliceIndex][this.nextIndexInSlice++],void 0);if(this.mrng.nextInt(1,this.biasFactor)!==1)return this.arb.generate(this.mrng,this.biasFactor);this.activeSliceIndex=this.mrng.nextInt(0,this.slices.length-1);let e=this.slices[this.activeSliceIndex];if(this.mrng.nextInt(1,this.biasFactor)!==1)return this.nextIndexInSlice=1,this.lastIndexInSlice=e.length-1,new $(e[0],void 0);let t=this.mrng.nextInt(0,e.length-1),r=this.mrng.nextInt(0,e.length-1);return this.nextIndexInSlice=DD(t,r),this.lastIndexInSlice=_D(t,r),new $(e[this.nextIndexInSlice++],void 0)}};function pv(e,t,r,n){return n===void 0||r.length===0||t.nextInt(1,n)!==1?new $D(e,t,n):new jD(e,t,r,n)}var FD=Math.floor,fv=Math.log,hv=Math.max,BD=Array.isArray;function Ud(e,t){return e===t?e:e+FD(fv(t-e)/fv(2))}var J1=class Y1 extends he{constructor(t,r,n,i,o,s,a){super(),this.arb=t,this.minLength=r,this.maxGeneratedLength=n,this.maxLength=i,this.setBuilder=s,this.customSlices=a,this.lengthArb=oe({min:r,max:n}),this.depthContext=Vp(o)}preFilter(t){if(this.setBuilder===void 0)return t;let r=this.setBuilder();for(let n=0;n!==t.length;++n)r.tryAdd(t[n]);return r.getData()}static makeItCloneable(t,r){return t[Ve]=()=>{let n=[];for(let i=0;i!==r.length;++i)L(n,r[i].value);return this.makeItCloneable(n,r),n},t}generateNItemsNoDuplicates(t,r,n,i){let o=0,s=t(),a=pv(this.arb,n,this.customSlices,i);for(;s.size()<r&&o<this.maxGeneratedLength;){let l=a.next();s.tryAdd(l)?o=0:o+=1}return s.getData()}safeGenerateNItemsNoDuplicates(t,r,n,i){let o=hv(0,r-Ud(this.minLength,this.maxGeneratedLength));this.depthContext.depth+=o;try{return this.generateNItemsNoDuplicates(t,r,n,i)}finally{this.depthContext.depth-=o}}generateNItems(t,r,n){let i=[],o=pv(this.arb,r,this.customSlices,n);o.attemptExact(t);for(let s=0;s!==t;++s)L(i,o.next());return i}safeGenerateNItems(t,r,n){let i=hv(0,t-Ud(this.minLength,this.maxGeneratedLength));this.depthContext.depth+=i;try{return this.generateNItems(t,r,n)}finally{this.depthContext.depth-=i}}wrapper(t,r,n,i){let o=r?this.preFilter(t):t,s=!1,a=[],l=[];for(let c=0;c!==o.length;++c){let u=o[c];s=s||u.hasToBeCloned,L(a,u.value),L(l,u.context)}return s&&Y1.makeItCloneable(a,o),new $(a,{shrunkOnce:r,lengthContext:t.length===o.length&&n!==void 0?n:void 0,itemsContexts:l,startIndex:i})}generate(t,r){let n=this.applyBias(t,r),i=n.size,o=this.setBuilder!==void 0?this.safeGenerateNItemsNoDuplicates(this.setBuilder,i,t,n.biasFactorItems):this.safeGenerateNItems(i,t,n.biasFactorItems);return this.wrapper(o,!1,void 0,0)}applyBias(t,r){if(r===void 0)return{size:this.lengthArb.generate(t,void 0).value};if(this.minLength===this.maxGeneratedLength)return{size:this.lengthArb.generate(t,void 0).value,biasFactorItems:r};if(t.nextInt(1,r)!==1)return{size:this.lengthArb.generate(t,void 0).value};if(t.nextInt(1,r)!==1||this.minLength===this.maxGeneratedLength)return{size:this.lengthArb.generate(t,void 0).value,biasFactorItems:r};let n=Ud(this.minLength,this.maxGeneratedLength);return{size:oe({min:this.minLength,max:n}).generate(t,void 0).value,biasFactorItems:r}}canShrinkWithoutContext(t){if(!BD(t)||this.minLength>t.length||t.length>this.maxLength)return!1;for(let r=0;r!==t.length;++r)if(!(r in t)||!this.arb.canShrinkWithoutContext(t[r]))return!1;return this.preFilter(G(t,r=>new $(r,void 0))).length===t.length}shrinkItemByItem(t,r,n){let i=[];for(let o=r.startIndex;o<n;++o)L(i,Sr(()=>this.arb.shrink(t[o],r.itemsContexts[o]).map(s=>{let a=G(Ue(t,0,o),(c,u)=>new $(Rn(c),r.itemsContexts[u])),l=G(Ue(t,o+1),(c,u)=>new $(Rn(c),r.itemsContexts[u+o+1]));return[[...a,s,...l],void 0,o]})));return V.nil().join(...i)}shrinkImpl(t,r){if(t.length===0)return V.nil();let n=r!==void 0?r:{shrunkOnce:!1,lengthContext:void 0,itemsContexts:[],startIndex:0};return this.lengthArb.shrink(t.length,n.lengthContext).drop(n.shrunkOnce&&n.lengthContext===void 0&&t.length>this.minLength+1?1:0).map(i=>{let o=t.length-i.value;return[G(Ue(t,o),(s,a)=>new $(Rn(s),n.itemsContexts[a+o])),i.context,0]}).join(Sr(()=>t.length>this.minLength?this.shrinkItemByItem(t,n,1):this.shrinkItemByItem(t,n,t.length))).join(t.length>this.minLength?Sr(()=>{let i={shrunkOnce:!1,lengthContext:void 0,itemsContexts:Ue(n.itemsContexts,1),startIndex:0};return this.shrinkImpl(Ue(t,1),i).filter(o=>this.minLength<=o[0].length+1).map(o=>[[new $(Rn(t[0]),n.itemsContexts[0]),...o[0]],void 0,0])}):V.nil())}shrink(t,r){return this.shrinkImpl(t,r).map(n=>this.wrapper(n[0],!0,n[1],n[2]))}},VD=Math.floor,UD=Math.min,zr=2147483647,xn=["xsmall","small","medium","large","xlarge"],WD=["-4","-3","-2","-1","=","+1","+2","+3","+4"],Wp="small";function HD(e,t){switch(t){case"xsmall":return VD(1.1*e)+1;case"small":return 2*e+10;case"medium":return 11*e+100;case"large":return 101*e+1e3;case"xlarge":return 1001*e+1e4;default:throw new Error(`Unable to compute lengths based on received size: ${t}`)}}function qi(e,t){let r=Jt(WD,e);if(r===-1)return e;let n=Jt(xn,t);if(n===-1)throw new Error(`Unable to offset size based on the unknown defaulted one: ${t}`);let i=n+r-4;return i<0?xn[0]:i>=xn.length?xn[xn.length-1]:xn[i]}function zi(e,t,r,n){let{baseSize:i=Wp,defaultSizeToMaxWhenMaxSpecified:o}=xt()||{},s=e!==void 0?e:n&&o?"max":i;return s==="max"?r:UD(HD(t,qi(s,i)),r)}function zD(e,t){if(typeof e=="number")return 1/e;let{baseSize:r=Wp,defaultSizeToMaxWhenMaxSpecified:n}=xt()||{},i=e!==void 0?e:t&&n?"max":r;if(i==="max")return 0;switch(qi(i,r)){case"xsmall":return 1;case"small":return .5;case"medium":return .25;case"large":return .125;case"xlarge":return .0625}}function Hp(e){let{baseSize:t=Wp}=xt()||{};return e===void 0?t:qi(e,t)}function ce(e,t={}){let r=t.size,n=t.minLength||0,i=t.maxLength,o=t.depthIdentifier,s=i!==void 0?i:zr;return new J1(e,n,zi(r,n,s,i!==void 0),s,o,void 0,t.experimentalCustomSlices||[])}function ia(e){return e/O(2)}function mv(e,t,r){let n=e-t;function*i(){let s=r?void 0:t,a=r?n:ia(n);for(let l=a;l>0;l=ia(l)){let c=e-l;yield new $(c,s),s=c}}function*o(){let s=r?void 0:t,a=r?n:ia(n);for(let l=a;l<0;l=ia(l)){let c=e-l;yield new $(c,s),s=c}}return n>0?vr(i()):vr(o())}var GD=class Z1 extends he{constructor(t,r){super(),this.min=t,this.max=r}generate(t,r){let n=this.computeGenerateRange(t,r);return new $(t.nextBigInt(n.min,n.max),void 0)}computeGenerateRange(t,r){if(r===void 0||t.nextInt(1,r)!==1)return{min:this.min,max:this.max};let n=q1(this.min,this.max,PD);if(n.length===1)return n[0];let i=t.nextInt(-2*(n.length-1),n.length-2);return i<0?n[0]:n[i+1]}canShrinkWithoutContext(t){return typeof t=="bigint"&&this.min<=t&&t<=this.max}shrink(t,r){return Z1.isValidContext(t,r)?this.isLastChanceTry(t,r)?V.of(new $(r,void 0)):mv(t,r,!1):mv(t,this.defaultTarget(),!0)}defaultTarget(){return this.min<=0&&this.max>=0?O(0):this.min<0?this.max:this.min}isLastChanceTry(t,r){return t>0?t===r+O(1)&&t>this.min:t<0?t===r-O(1)&&t<this.max:!1}static isValidContext(t,r){if(r===void 0)return!1;if(typeof r!="bigint")throw new Error("Invalid context type passed to BigIntArbitrary (#1)");let n=t>0&&r<0||t<0&&r>0;if(r!==O(0)&&n)throw new Error("Invalid context value passed to BigIntArbitrary (#2)");return!0}};function qD(e){let r=O(-1)<<O(255),n=(O(1)<<O(255))-O(1),i=e.min,o=e.max;return{min:i!==void 0?i:r-(o!==void 0&&o<O(0)?o*o:O(0)),max:o!==void 0?o:n+(i!==void 0&&i>O(0)?i*i:O(0))}}function KD(e){return e[0]===void 0?{}:e[1]===void 0?e[0]:{min:e[0],max:e[1]}}function xr(...e){let t=qD(KD(e));if(t.min>t.max)throw new Error("fc.bigInt expects max to be greater than or equal to min");return new GD(t.min,t.max)}var JD=Object.getPrototypeOf,ji=class extends he{constructor(e){super(),this.arb=e}generate(e,t){return this.arb.generate(e,void 0)}canShrinkWithoutContext(e){return this.arb.canShrinkWithoutContext(e)}shrink(e,t){return this.arb.shrink(e,t)}};function va(e){return JD(e)===ji.prototype&&e.generate===ji.prototype.generate&&e.canShrinkWithoutContext===ji.prototype.canShrinkWithoutContext&&e.shrink===ji.prototype.shrink?e:new ji(e)}function YD(e){return e===1}function ZD(e){if(typeof e!="boolean")throw new Error("Unsupported input type");return e===!0?1:0}function Ki(){return va(oe({min:0,max:1}).map(YD,ZD))}var Vi=Object.is,XD=class{constructor(e){this.values=e,this.fastValues=new En(this.values);let t=!1,r=!1;if(Sa(this.fastValues,0))for(let n=0;n!==this.values.length;++n){let i=this.values[n];t=t||Vi(i,-0),r=r||Vi(i,0)}this.hasMinusZero=t,this.hasPlusZero=r}has(e){return e===0?Vi(e,0)?this.hasPlusZero:this.hasMinusZero:Sa(this.fastValues,e)}},X1=class extends he{constructor(e){super(),this.values=e}generate(e,t){let r=this.values.length===1?0:e.nextInt(0,this.values.length-1),n=this.values[r];return Hr(n)?new $(n,r,()=>n[Ve]()):new $(n,r)}canShrinkWithoutContext(e){return this.values.length===1?Vi(this.values[0],e):(this.fastValues===void 0&&(this.fastValues=new XD(this.values)),this.fastValues.has(e))}shrink(e,t){return t===0||Vi(e,this.values[0])?V.nil():V.of(new $(this.values[0],0))}};function Nt(...e){if(e.length===0)throw new Error("fc.constantFrom expects at least one parameter");return new X1(e)}function QD(e){return!e||!e.withBigInt?Nt(!1,null,void 0,0,"",NaN):Nt(!1,null,void 0,0,"",NaN,O(0))}function Ie(e){return new X1([e])}var e_=class Q1{constructor(){this.receivedLogs=[]}log(t){this.receivedLogs.push(t)}size(){return this.receivedLogs.length}toString(){return JSON.stringify({logs:this.receivedLogs})}[Ve](){return new Q1}};function t_(){return Ie(new e_)}var r_=NaN,n_=Number.isNaN;function e0(e){return new ba(e)}function t0(e){if(!(e instanceof ba)||e.constructor!==ba)throw new N("Not a valid value for date unmapper");return wa(e)}function i_(e){return t=>t===e?new ba(r_):e0(t)}function o_(e){return t=>{let r=t0(t);return n_(r)?e:r}}var gv=Number.isNaN;function r0(e={}){let t=e.min!==void 0?wa(e.min):-864e13,r=e.max!==void 0?wa(e.max):864e13,n=e.noInvalidDate;if(gv(t))throw new Error("fc.date min must be valid instance of Date");if(gv(r))throw new Error("fc.date max must be valid instance of Date");if(t>r)throw new Error("fc.date max must be greater or equal to min");if(n)return oe({min:t,max:r}).map(e0,t0);let i=r+1;return oe({min:t,max:r+1}).map(i_(i),o_(i))}var s_=class extends he{constructor(e,t){super(),this.startArb=e,this.chainer=t}generate(e,t){let r=[],n=e.clone(),i=this.startArb.generate(e,t);for(r.push({arbitrary:this.startArb,value:i.value_,context:i.context,clonedMrng:n});;){let s=this.chainer(i.value_);if(s===void 0)break;let a=e.clone();i=s.generate(e,t),r.push({arbitrary:s,value:i.value_,context:i.context,clonedMrng:a})}let o={biasFactor:t,entries:r,currentShrinkLevel:0};return new $(i.value_,o)}canShrinkWithoutContext(e){return!1}shrink(e,t){return this.isSafeContext(t)?new V(this.shrinkIterator(t)):V.nil()}*shrinkIterator(e){let{entries:t,currentShrinkLevel:r,biasFactor:n}=e;for(let i=r;i<t.length;++i){let o=t[i],s=o.arbitrary.shrink(o.value,o.context);for(let a of s){let l=t.slice(0,i);l.push({arbitrary:o.arbitrary,value:a.value_,context:a.context,clonedMrng:o.clonedMrng});let c=a,u=o.clonedMrng.clone();for(;;){let h=this.chainer(c.value_);if(h===void 0)break;let f=u.clone(),m=h.generate(u,n);l.push({arbitrary:h,value:m.value_,context:m.context,clonedMrng:f}),c=m}let d=l[l.length-1],p={biasFactor:n,entries:l,currentShrinkLevel:i};yield new $(d.value,p)}}}isSafeContext(e){return e!=null&&typeof e=="object"&&"biasFactor"in e&&"entries"in e&&"currentShrinkLevel"in e}};function a_(e,t){return new s_(e,t)}var l_=Symbol.iterator,c_=Array.isArray,u_=Object.is,d_=class n0 extends he{constructor(t,r){super(),this.arb=t,this.numValues=r}generate(t,r){let n=[];if(this.numValues<=0)return this.wrapper(n);for(let i=0;i!==this.numValues-1;++i)L(n,this.arb.generate(t.clone(),r));return L(n,this.arb.generate(t,r)),this.wrapper(n)}canShrinkWithoutContext(t){if(!c_(t)||t.length!==this.numValues)return!1;if(t.length===0)return!0;for(let r=1;r<t.length;++r)if(!u_(t[0],t[r]))return!1;return this.arb.canShrinkWithoutContext(t[0])}shrink(t,r){return t.length===0?V.nil():new V(this.shrinkImpl(t,r!==void 0?r:[])).map(n=>this.wrapper(n))}*shrinkImpl(t,r){let n=G(t,(o,s)=>this.arb.shrink(o,r[s])[l_]()),i=G(n,o=>o.next());for(;!i[0].done;)yield G(i,o=>o.value),i=G(n,o=>o.next())}static makeItCloneable(t,r){return t[Ve]=()=>{let n=[];for(let i=0;i!==r.length;++i)L(n,r[i].value);return this.makeItCloneable(n,r),n},t}wrapper(t){let r=!1,n=[],i=[];for(let o=0;o!==t.length;++o){let s=t[o];r=r||s.hasToBeCloned,L(n,s.value),L(i,s.context)}return r&&n0.makeItCloneable(n,t),new $(n,i)}};function p_(e,t){return new d_(e,t)}var yv=class{constructor(e){this.isEqual=e,this.data=[]}tryAdd(e){for(let t=0;t!==this.data.length;++t)if(this.isEqual(this.data[t],e))return!1;return L(this.data,e),!0}size(){return this.data.length}getData(){return this.data}},f_=Number.isNaN,h_=class{constructor(e){this.selector=e,this.selectedItemsExceptNaN=new En,this.data=[]}tryAdd(e){let t=this.selector(e);if(f_(t))return L(this.data,e),!0;let r=this.selectedItemsExceptNaN.size;return Ui(this.selectedItemsExceptNaN,t),r!==this.selectedItemsExceptNaN.size?(L(this.data,e),!0):!1}size(){return this.data.length}getData(){return this.data}},m_=Object.is,g_=class{constructor(e){this.selector=e,this.selectedItemsExceptMinusZero=new En,this.data=[],this.hasMinusZero=!1}tryAdd(e){let t=this.selector(e);if(m_(t,-0))return this.hasMinusZero?!1:(L(this.data,e),this.hasMinusZero=!0,!0);let r=this.selectedItemsExceptMinusZero.size;return Ui(this.selectedItemsExceptMinusZero,t),r!==this.selectedItemsExceptMinusZero.size?(L(this.data,e),!0):!1}size(){return this.data.length}getData(){return this.data}},y_=class{constructor(e){this.selector=e,this.selectedItems=new En,this.data=[]}tryAdd(e){let t=this.selector(e),r=this.selectedItems.size;return Ui(this.selectedItems,t),r!==this.selectedItems.size?(L(this.data,e),!0):!1}size(){return this.data.length}getData(){return this.data}};function b_(e){if(typeof e.comparator=="function"){if(e.selector===void 0){let a=e.comparator,l=(c,u)=>a(c.value_,u.value_);return()=>new yv(l)}let n=e.comparator,i=e.selector,o=a=>i(a.value_),s=(a,l)=>n(o(a),o(l));return()=>new yv(s)}let t=e.selector||(n=>n),r=n=>t(n.value_);switch(e.comparator){case"IsStrictlyEqual":return()=>new h_(r);case"SameValueZero":return()=>new y_(r);case"SameValue":case void 0:return()=>new g_(r)}}function Gr(e,t={}){let r=t.minLength!==void 0?t.minLength:0,n=t.maxLength!==void 0?t.maxLength:zr,i=zi(t.size,r,n,t.maxLength!==void 0),o=t.depthIdentifier,s=new J1(e,r,i,n,o,b_(t),[]);return r===0?s:s.filter(a=>a.length>=r)}var w_=Object.create,S_=Object.defineProperty,v_=Object.getOwnPropertyDescriptor,bv=Object.getPrototypeOf,x_=Object.prototype,k_=Reflect.ownKeys;function C_(e){let t=e[1]?w_(null):{};for(let r of e[0])S_(t,r[0],{enumerable:!0,configurable:!0,writable:!0,value:r[1]});return t}function R_(e){return e!==void 0&&!!e.configurable&&!!e.enumerable&&!!e.writable&&e.get===void 0&&e.set===void 0}function E_(e){if(typeof e!="object"||e===null)throw new N("Incompatible instance received: should be a non-null object");let t=bv(e)===null,r=bv(e)===x_;if(!t&&!r)throw new N("Incompatible instance received: should be of exact type Object");let n=G(k_(e),i=>[i,v_(e,i)]);if(!k1(n,([,i])=>R_(i)))throw new N("Incompatible instance received: should contain only c/e/w properties without get/set");return[G(n,([i,o])=>[i,o.value]),t]}function I_(e){return e[0]}function zp(e,t,r={}){let n=!!r.noNullPrototype;return W(Gr(W(e,t),{minLength:r.minKeys,maxLength:r.maxKeys,size:r.size,selector:I_,depthIdentifier:r.depthIdentifier}),n?Ie(!1):Ki()).map(C_,E_)}var A_=Number.POSITIVE_INFINITY,P_=Number.MAX_SAFE_INTEGER,T_=Number.isInteger,O_=Math.floor,M_=Math.pow,N_=Math.min,pp=class i0 extends he{static from(t,r,n){if(t.length===0)throw new Error(`${n} expects at least one weighted arbitrary`);let i=0;for(let o=0;o!==t.length;++o){if(t[o].arbitrary===void 0)throw new Error(`${n} expects arbitraries to be specified`);let s=t[o].weight;if(i+=s,!T_(s))throw new Error(`${n} expects weights to be integer values`);if(s<0)throw new Error(`${n} expects weights to be superior or equal to 0`)}if(i<=0)throw new Error(`${n} expects the sum of weights to be strictly superior to 0`);return new i0(t,{depthBias:zD(r.depthSize,r.maxDepth!==void 0),maxDepth:r.maxDepth!==void 0?r.maxDepth:A_,withCrossShrink:!!r.withCrossShrink},Vp(r.depthIdentifier))}constructor(t,r,n){super(),this.warbs=t,this.constraints=r,this.context=n;let i=0;this.cumulatedWeights=[];for(let o=0;o!==t.length;++o)i+=t[o].weight,L(this.cumulatedWeights,i);this.totalWeight=i}generate(t,r){if(this.mustGenerateFirst())return this.safeGenerateForIndex(t,0,r);let n=t.nextInt(this.computeNegDepthBenefit(),this.totalWeight-1);for(let i=0;i!==this.cumulatedWeights.length;++i)if(n<this.cumulatedWeights[i])return this.safeGenerateForIndex(t,i,r);throw new Error("Unable to generate from fc.frequency")}canShrinkWithoutContext(t){return this.canShrinkWithoutContextIndex(t)!==-1}shrink(t,r){if(r!==void 0){let i=r,o=i.selectedIndex,s=i.originalBias,a=this.warbs[o].arbitrary.shrink(t,i.originalContext).map(l=>this.mapIntoValue(o,l,null,s));if(i.clonedMrngForFallbackFirst!==null){i.cachedGeneratedForFirst===void 0&&(i.cachedGeneratedForFirst=this.safeGenerateForIndex(i.clonedMrngForFallbackFirst,0,s));let l=i.cachedGeneratedForFirst;return V.of(l).join(a)}return a}let n=this.canShrinkWithoutContextIndex(t);return n===-1?V.nil():this.defaultShrinkForFirst(n).join(this.warbs[n].arbitrary.shrink(t,void 0).map(i=>this.mapIntoValue(n,i,null,void 0)))}defaultShrinkForFirst(t){++this.context.depth;try{if(!this.mustFallbackToFirstInShrink(t)||this.warbs[0].fallbackValue===void 0)return V.nil()}finally{--this.context.depth}let r=new $(this.warbs[0].fallbackValue.default,void 0);return V.of(this.mapIntoValue(0,r,null,void 0))}canShrinkWithoutContextIndex(t){if(this.mustGenerateFirst())return this.warbs[0].arbitrary.canShrinkWithoutContext(t)?0:-1;try{++this.context.depth;for(let r=0;r!==this.warbs.length;++r){let n=this.warbs[r];if(n.weight!==0&&n.arbitrary.canShrinkWithoutContext(t))return r}return-1}finally{--this.context.depth}}mapIntoValue(t,r,n,i){let o={selectedIndex:t,originalBias:i,originalContext:r.context,clonedMrngForFallbackFirst:n};return new $(r.value,o)}safeGenerateForIndex(t,r,n){++this.context.depth;try{let i=this.warbs[r].arbitrary.generate(t,n),o=this.mustFallbackToFirstInShrink(r)?t.clone():null;return this.mapIntoValue(r,i,o,n)}finally{--this.context.depth}}mustGenerateFirst(){return this.constraints.maxDepth<=this.context.depth}mustFallbackToFirstInShrink(t){return t!==0&&this.constraints.withCrossShrink&&this.warbs[0].weight!==0}computeNegDepthBenefit(){let t=this.constraints.depthBias;if(t<=0||this.warbs[0].weight===0)return 0;let r=O_(M_(1+t,this.context.depth))-1;return-N_(this.totalWeight*r,P_)||0}};function L_(e){return e!=null&&typeof e=="object"&&!("generate"in e)&&!("arbitrary"in e)&&!("weight"in e)}function wv(e){return p1(e)?{arbitrary:e,weight:1}:e}function Be(...e){let t=e[0];if(L_(t)){let n=G(Ue(e,1),wv);return pp.from(n,t,"fc.oneof")}let r=G(e,wv);return pp.from(r,{},"fc.oneof")}var $_=Number.isInteger;function wr(e){let t=typeof e=="number"?e:e&&e.max!==void 0?e.max:2147483647;if(t<0)throw new Error("fc.nat value should be greater than or equal to 0");if(!$_(t))throw new Error("fc.nat maximum value should be an integer");return new Pn(0,t)}var D_=Object.is;function __(e){let t=0,r=[];for(let n of e){let i=t;t=i+n.num;let o=t-1;r.push({from:i,to:o,entry:n})}return r}function j_(e,t){let r=0,n=e.length;for(;n-r>1;){let i=~~((r+n)/2);t<e[i].from?n=i:r=i}return e[r]}function F_(e){let t=__(e);return function(n){let i=j_(t,n);return i.entry.build(n-i.from)}}function B_(e){let t={mapping:new Zt,negativeZeroIndex:void 0},r=0;for(let n=0;n!==e.length;++n){let i=e[n];for(let o=0;o!==i.num;++o){let s=i.build(o);s===0&&1/s===Yt.NEGATIVE_INFINITY?t.negativeZeroIndex=r:vt(t.mapping,s,r),++r}}return t}function V_(e){let t=null;return function(n){t===null&&(t=B_(e));let i=D_(n,-0)?t.negativeZeroIndex:lt(t.mapping,n);if(i===void 0)throw new N("Unknown value encountered cannot be built using this mapToConstant");return i}}function U_(e){if(e.length===0)throw new N("fc.mapToConstant expects at least one option");let t=0;for(let r=0;r!==e.length;++r){if(e[r].num<0)throw new N("fc.mapToConstant expects all options to have a number of entries greater or equal to zero");t+=e[r].num}if(t===0)throw new N("fc.mapToConstant expects at least one choice among options");return t}function Tn(...e){return wr({max:U_(e)-1}).map(F_(e),V_(e))}function o0(e,t,r,n){if(t.length===0)return r>0?void 0:[];if(n<=0)return;let i=[{endIndexChunks:0,nextStartIndex:1,chunks:[]}];for(;i.length>0;){let o=S1(i);for(let s=o.nextStartIndex;s<=t.length;++s){let a=xe(t,o.endIndexChunks,s);if(e.canShrinkWithoutContext(a)){let l=[...o.chunks,a];if(s===t.length){if(l.length<r)break;return l}L(i,{endIndexChunks:o.endIndexChunks,nextStartIndex:s+1,chunks:o.chunks}),l.length<n&&L(i,{endIndexChunks:s,nextStartIndex:s+1,chunks:l});break}}}}function W_(e){return fe(e,"")}function s0(e){return e.minLength!==void 0?e.minLength:0}function a0(e){return e.maxLength!==void 0?e.maxLength:zr}function H_(e,t){return s0(t)<=e.length&&e.length<=a0(t)}function z_(e,t){return function(n){if(typeof n!="string")throw new N("Unsupported value");let i=o0(e,n,s0(t),a0(t));if(i===void 0)throw new N("Unable to unmap received string");return i}}var l0=["__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","__proto__","constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf","apply","arguments","bind","call","caller","length","name","prototype","key","ref"];function G_(e,t,r){let n;try{n=r(e)}catch{return}for(let i of n)if(!t.canShrinkWithoutContext(i))return;return n}function q_(e,t){let r=[];for(let n of l0){let i=G_(n,e,t);i!==void 0&&L(r,i)}return r}var Sv=new WeakMap;function K_(e){let t=[];for(let r of l0){let n=o0(e,r,0,zr);n!==void 0&&L(t,n)}return t}function J_(e,t){let r=q4(Sv,e);r===void 0&&(r=K_(e),G4(Sv,e,r));let n=[];for(let i of r)H_(i,t)&&L(n,i);return n}var Y_=[[0,127]],Z_=[[0,55295],[57344,1114111]],X_=[[32,126],[160,172],[174,767],[880,887],[890,895],[900,906],[908],[910,929],[931,1154],[1162,1327],[1329,1366],[1369,1418],[1421,1423],[1470],[1472],[1475],[1478],[1488,1514],[1519,1524],[1542,1551],[1563],[1565,1610],[1632,1647],[1649,1749],[1758],[1765,1766],[1769],[1774,1805],[1808],[1810,1839],[1869,1957],[1969],[1984,2026],[2036,2042],[2046,2069],[2074],[2084],[2088],[2096,2110],[2112,2136],[2142],[2144,2154],[2160,2190],[2208,2249],[2308,2361],[2365],[2384],[2392,2401],[2404,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],[2482],[2486,2489],[2493],[2510],[2524,2525],[2527,2529],[2534,2557],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],[2654],[2662,2671],[2674,2676],[2678],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2749],[2768],[2784,2785],[2790,2801],[2809],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2877],[2908,2909],[2911,2913],[2918,2935],[2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],[2972],[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3024],[3046,3066],[3077,3084],[3086,3088],[3090,3112],[3114,3129],[3133],[3160,3162],[3165],[3168,3169],[3174,3183],[3191,3200],[3204,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3261],[3293,3294],[3296,3297],[3302,3311],[3313,3314],[3332,3340],[3342,3344],[3346,3386],[3389],[3407],[3412,3414],[3416,3425],[3430,3455],[3461,3478],[3482,3505],[3507,3515],[3517],[3520,3526],[3558,3567],[3572],[3585,3632],[3634],[3647,3654],[3663,3675],[3713,3714],[3716],[3718,3722],[3724,3747],[3749],[3751,3760],[3762],[3773],[3776,3780],[3782],[3792,3801],[3804,3807],[3840,3863],[3866,3892],[3894],[3896],[3898,3901],[3904,3911],[3913,3948],[3973],[3976,3980],[4030,4037],[4039,4044],[4046,4058],[4096,4138],[4159,4181],[4186,4189],[4193],[4197,4198],[4206,4208],[4213,4225],[4238],[4240,4249],[4254,4293],[4295],[4301],[4304,4351],[4608,4680],[4682,4685],[4688,4694],[4696],[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],[4800],[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4960,4988],[4992,5017],[5024,5109],[5112,5117],[5120,5788],[5792,5880],[5888,5905],[5919,5937],[5941,5942],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],[6100,6108],[6112,6121],[6128,6137],[6144,6154],[6160,6169],[6176,6264],[6272,6276],[6279,6312],[6314],[6320,6389],[6400,6430],[6464],[6468,6509],[6512,6516],[6528,6571],[6576,6601],[6608,6618],[6622,6678],[6686,6740],[6784,6793],[6800,6809],[6816,6829],[6917,6963],[6981,6988],[6992,7018],[7028,7038],[7043,7072],[7086,7141],[7164,7203],[7227,7241],[7245,7304],[7312,7354],[7357,7367],[7379],[7401,7404],[7406,7411],[7413,7414],[7418],[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],[8025],[8027],[8029],[8031,8061],[8064,8116],[8118,8132],[8134,8147],[8150,8155],[8157,8175],[8178,8180],[8182,8190],[8192,8202],[8208,8233],[8239,8287],[8304,8305],[8308,8334],[8336,8348],[8352,8384],[8448,8587],[8592,9254],[9280,9290],[9312,11123],[11126,11157],[11159,11502],[11506,11507],[11513,11557],[11559],[11565],[11568,11623],[11631,11632],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[11776,11869],[11904,11929],[11931,12019],[12032,12245],[12272,12329],[12336,12351],[12353,12438],[12443,12543],[12549,12591],[12593,12686],[12688,12771],[12783,12830],[12832,13312],[19903,19968],[40959,42124],[42128,42182],[42192,42539],[42560,42606],[42611],[42622,42653],[42656,42735],[42738,42743],[42752,42954],[42960,42961],[42963],[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43042],[43048,43051],[43056,43065],[43072,43127],[43138,43187],[43214,43225],[43250,43262],[43264,43301],[43310,43334],[43359],[43396,43442],[43457,43469],[43471,43481],[43486,43492],[43494,43518],[43520,43560],[43584,43586],[43588,43595],[43600,43609],[43612,43642],[43646,43695],[43697],[43701,43702],[43705,43709],[43712],[43714],[43739,43754],[43760,43764],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43883],[43888,44002],[44011],[44016,44025],[44032],[55203],[63744,64109],[64112,64217],[64256,64262],[64275,64279],[64285],[64287,64310],[64312,64316],[64318],[64320,64321],[64323,64324],[64326,64450],[64467,64911],[64914,64967],[64975],[65008,65023],[65040,65049],[65072,65106],[65108,65126],[65128,65131],[65136,65140],[65142,65276],[65281,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65504,65510],[65512,65518],[65532,65533],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65792,65794],[65799,65843],[65847,65934],[65936,65948],[65952],[66e3,66044],[66176,66204],[66208,66256],[66273,66299],[66304,66339],[66349,66378],[66384,66421],[66432,66461],[66463,66499],[66504,66517],[66560,66717],[66720,66729],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66927,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],[67592],[67594,67637],[67639,67640],[67644],[67647,67669],[67671,67742],[67751,67759],[67808,67826],[67828,67829],[67835,67867],[67871,67897],[67903],[67968,68023],[68028,68047],[68050,68096],[68112,68115],[68117,68119],[68121,68149],[68160,68168],[68176,68184],[68192,68255],[68288,68324],[68331,68342],[68352,68405],[68409,68437],[68440,68466],[68472,68497],[68505,68508],[68521,68527],[68608,68680],[68736,68786],[68800,68850],[68858,68899],[68912,68921],[69216,69246],[69248,69289],[69293],[69296,69297],[69376,69415],[69424,69445],[69457,69465],[69488,69505],[69510,69513],[69552,69579],[69600,69622],[69635,69687],[69703,69709],[69714,69743],[69745,69746],[69749],[69763,69807],[69819,69820],[69822,69825],[69840,69864],[69872,69881],[69891,69926],[69942,69956],[69959],[69968,70002],[70004,70006],[70019,70066],[70081],[70084,70088],[70093],[70096,70111],[70113,70132],[70144,70161],[70163,70187],[70200,70205],[70207,70208],[70272,70278],[70280],[70282,70285],[70287,70301],[70303,70313],[70320,70366],[70384,70393],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70461],[70480],[70493,70497],[70656,70708],[70727,70747],[70749],[70751,70753],[70784,70831],[70852,70855],[70864,70873],[71040,71086],[71105,71131],[71168,71215],[71233,71236],[71248,71257],[71264,71276],[71296,71338],[71352,71353],[71360,71369],[71424,71450],[71472,71494],[71680,71723],[71739],[71840,71922],[71935,71942],[71945],[71948,71955],[71957,71958],[71960,71983],[72004,72006],[72016,72025],[72096,72103],[72106,72144],[72161,72163],[72192],[72203,72242],[72255,72262],[72272],[72284,72323],[72346,72354],[72368,72440],[72448,72457],[72704,72712],[72714,72750],[72768,72773],[72784,72812],[72816,72847],[72960,72966],[72968,72969],[72971,73008],[73040,73049],[73056,73061],[73063,73064],[73066,73097],[73112],[73120,73129],[73440,73458],[73463,73464],[73476,73488],[73490,73523],[73539,73561],[73648],[73664,73713],[73727,74649],[74752,74862],[74864,74868],[74880,75075],[77712,77810],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92768,92777],[92782,92862],[92864,92873],[92880,92909],[92917],[92928,92975],[92983,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071],[93760,93850],[93952,94026],[94032],[94099,94111],[94176,94179],[94208],[100343],[100352,101589],[101632],[101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],[110898],[110928,110930],[110933],[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113820],[113823],[118608,118723],[118784,119029],[119040,119078],[119081,119140],[119146,119148],[119171,119172],[119180,119209],[119214,119274],[119296,119361],[119365],[119488,119507],[119520,119539],[119552,119638],[119648,119672],[119808,119892],[119894,119964],[119966,119967],[119970],[119973,119974],[119977,119980],[119982,119993],[119995],[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],[120134],[120138,120144],[120146,120485],[120488,120779],[120782,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121483],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],[123200,123209],[123214,123215],[123536,123565],[123584,123627],[123632,123641],[123647],[124112,124139],[124144,124153],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125127,125135],[125184,125251],[125259],[125264,125273],[125278,125279],[126065,126132],[126209,126269],[126464,126467],[126469,126495],[126497,126498],[126500],[126503],[126505,126514],[126516,126519],[126521],[126523],[126530],[126535],[126537],[126539],[126541,126543],[126545,126546],[126548],[126551],[126553],[126555],[126557],[126559],[126561,126562],[126564],[126567,126570],[126572,126578],[126580,126583],[126585,126588],[126590],[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127232,127405],[127488,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,127994],[128e3,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],[129008],[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994],[130032,130041],[131072],[173791],[173824],[177977],[177984],[178205],[178208],[183969],[183984],[191456],[191472],[192093],[194560,195101],[196608],[201546],[201552],[205743]],Q_=[[192,197],[199,207],[209,214],[217,221],[224,229],[231,239],[241,246],[249,253],[255,271],[274,293],[296,304],[308,311],[313,318],[323,328],[332,337],[340,357],[360,382],[416,417],[431,432],[461,476],[478,483],[486,496],[500,501],[504,539],[542,543],[550,563],[901,902],[904,906],[908],[910,912],[938,944],[970,974],[979,980],[1024,1025],[1027],[1031],[1036,1038],[1049],[1081],[1104,1105],[1107],[1111],[1116,1118],[1142,1143],[1217,1218],[1232,1235],[1238,1239],[1242,1247],[1250,1255],[1258,1269],[1272,1273],[1570,1574],[1728],[1730],[1747],[2345],[2353],[2356],[2392,2399],[2524,2525],[2527],[2611],[2614],[2649,2651],[2654],[2908,2909],[2964],[3907],[3917],[3922],[3927],[3932],[3945],[4134],[6918],[6920],[6922],[6924],[6926],[6930],[7680,7833],[7835],[7840,7929],[7936,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],[8025],[8027],[8029],[8031,8048],[8050],[8052],[8054],[8056],[8058],[8060],[8064,8116],[8118,8122],[8124],[8129,8132],[8134,8136],[8138],[8140,8146],[8150,8154],[8157,8162],[8164,8170],[8172,8173],[8178,8180],[8182,8184],[8186],[8188],[8602,8603],[8622],[8653,8655],[8708],[8713],[8716],[8740],[8742],[8769],[8772],[8775],[8777],[8800],[8802],[8813,8817],[8820,8821],[8824,8825],[8832,8833],[8836,8837],[8840,8841],[8876,8879],[8928,8931],[8938,8941],[10972],[12364],[12366],[12368],[12370],[12372],[12374],[12376],[12378],[12380],[12382],[12384],[12386],[12389],[12391],[12393],[12400,12401],[12403,12404],[12406,12407],[12409,12410],[12412,12413],[12436],[12446],[12460],[12462],[12464],[12466],[12468],[12470],[12472],[12474],[12476],[12478],[12480],[12482],[12485],[12487],[12489],[12496,12497],[12499,12500],[12502,12503],[12505,12506],[12508,12509],[12532],[12535,12538],[12542],[44032],[55203],[64285],[64287],[64298,64310],[64312,64316],[64318],[64320,64321],[64323,64324],[64326,64334],[69786],[69788],[69803],[119134,119140],[119227,119232]],vv=String.fromCodePoint,ej=Math.min,tj=Math.max;function fp(e){if(e.length===1){let r=vv(e[0]);return{num:1,build:()=>r}}let t=e[0];return{num:e[1]-e[0]+1,build:r=>vv(t+r)}}function xv(e,t){let r=[],n=0,i=0;for(;n<e.length&&i<t.length;){let o=e[n],s=o[0],a=o.length===1?o[0]:o[1],l=t[i],c=l[0],u=l.length===1?l[0]:l[1];if(a<c)n+=1;else if(u<s)i+=1;else{let d=tj(s,c),p=ej(a,u);if(r.length>=1){let h=r[r.length-1];(h.length===1?h[0]:h[1])+1===d&&(d=h[0],S1(r))}L(r,d===p?[d]:[d,p]),a<=p&&(n+=1),u<=p&&(i+=1)}}return r}var kv=Object.create(null);function rj(e){switch(e){case"full":return Z_;case"ascii":return Y_}}function nj(e,t){let r=`${e}:${t}`,n=kv[r];if(n!==void 0)return n;let i=rj(t),o=e==="binary"?i:xv(i,X_),s=[];for(let l of o)L(s,fp(l));if(e==="grapheme"){let l=xv(i,Q_);for(let c of l){let u=fp(c);L(s,{num:u.num,build:d=>d3(u.build(d),"NFD")})}}let a=Tn(...s);return kv[r]=a,a}function Fi(e,t){return nj(e,t)}function ij(e){if(typeof e.unit=="object")return e.unit;switch(e.unit){case"grapheme":return Fi("grapheme","full");case"grapheme-composite":return Fi("composite","full");case"grapheme-ascii":case void 0:return Fi("grapheme","ascii");case"binary":return Fi("binary","full");case"binary-ascii":return Fi("binary","ascii")}}function Le(e={}){let t=ij(e),r=z_(t,e),n=J_(t,e);return ce(t,{...e,experimentalCustomSlices:n}).map(W_,r)}var c0=Map,Gp=String.fromCharCode,qp={num:26,build:e=>Gp(e+97)},oj={num:26,build:e=>Gp(e+65)},u0={num:10,build:e=>Gp(e+48)};function sj(e){let t=C4(e);return e!==t?t:`%${Wi(In(e,0),16)}`}function aj(e){if(typeof e!="string")throw new Error("Unsupported");return decodeURIComponent(e)}var lj=()=>Le({unit:"binary",minLength:1,maxLength:1}).map(sj,aj),Wd;function cj(){return Wd===void 0&&(Wd=Tn(qp)),Wd}var oa;function hp(e){oa===void 0&&(oa=new c0);let t=lt(oa,e);return t===void 0&&(t=Tn(qp,u0,{num:e.length,build:r=>e[r]}),vt(oa,e,t)),t}function uj(e){return Tn(qp,oj,u0,{num:e.length,build:t=>e[t]})}var sa;function Kp(e){sa===void 0&&(sa=new c0);let t=lt(sa,e);return t===void 0&&(t=Be({weight:10,arbitrary:uj(e)},{weight:1,arbitrary:lj()}),vt(sa,e,t)),t}function Qt(e,t={}){let r=t.freq===void 0?6:t.freq,n=C1(t,"nil")?t.nil:null,i=[{arbitrary:Ie(n),weight:1,fallbackValue:{default:n}},{arbitrary:e,weight:r-1}],o={withCrossShrink:!0,depthSize:t.depthSize,maxDepth:t.maxDepth,depthIdentifier:t.depthIdentifier};return pp.from(i,o,"fc.option")}function dj(e){return e.length>63?!1:e.length<4||e[0]!=="x"||e[1]!=="n"||e[2]!=="-"||e[3]!=="-"}var d0=Symbol("adapted-value");function pj(e,t){let r=t(e.value_);return r.adapted?new $(r.value,d0):e}var fj=class extends he{constructor(e,t){super(),this.sourceArb=e,this.adapter=t,this.adaptValue=r=>pj(r,t)}generate(e,t){let r=this.sourceArb.generate(e,t);return this.adaptValue(r)}canShrinkWithoutContext(e){return this.sourceArb.canShrinkWithoutContext(e)&&!this.adapter(e).adapted}shrink(e,t){return t===d0?this.sourceArb.canShrinkWithoutContext(e)?this.sourceArb.shrink(e,void 0).map(this.adaptValue):V.nil():this.sourceArb.shrink(e,t).map(this.adaptValue)}};function p0(e,t){return new fj(e,t)}function hj([e,t]){return t===null?e:`${e}${t[0]}${t[1]}`}function mj(e){if(typeof e!="string"||e.length===0)throw new Error("Unsupported");return e.length===1?[e[0],null]:[e[0],[xe(e,1,e.length-1),e[e.length-1]]]}function gj(e){let t=hp("");return W(t,Qt(W(Le({unit:hp("-"),size:e,maxLength:61}),t))).map(hj,mj).filter(dj)}function yj(e){return`${fe(e[0],".")}.${e[1]}`}function bj(e){if(typeof e!="string")throw new Error("Unsupported type");let t=e.lastIndexOf(".");return[Xe(xe(e,0,t),"."),xe(e,t+1)]}function wj(e){let[t,r]=e,n=r.length;for(let i=0;i!==t.length;++i)if(n+=1+t[i].length,n>255)return{adapted:!0,value:[Ue(t,0,i),r]};return{adapted:!1,value:e}}function Jp(e={}){let t=Hp(e.size),r=qi("-1",t),n=Le({unit:cj(),minLength:2,maxLength:63,size:r});return p0(W(ce(gj(t),{size:r,minLength:1,maxLength:127}),n),wj).map(yj,bj)}function Sj(e){let t=e[0].length;for(let r=1;r!==e.length;++r)if(t+=1+e[r].length,t>64)return{adapted:!0,value:Ue(e,0,r)};return{adapted:!1,value:e}}function vj(e){return fe(e,".")}function xj(e){if(typeof e!="string")throw new Error("Unsupported");return Xe(e,".")}function kj(e){return`${e[0]}@${e[1]}`}function Cj(e){if(typeof e!="string")throw new Error("Unsupported");return Xe(e,"@",2)}function Rj(e={}){return W(p0(ce(Le({unit:hp("!#$%&'*+-/=?^_`{|}~"),minLength:1,maxLength:64,size:e.size}),{minLength:1,maxLength:32,size:e.size}),Sj).map(vj,xj),Jp({size:e.size})).map(kj,Cj)}var Ej=Yt.NEGATIVE_INFINITY,mp=Yt.POSITIVE_INFINITY,f0=Yt.EPSILON,Yp=O(2146435072)*O(4294967296),Ij=-Yp-O(1),Cv=4503599627370496,Aj=O(0xfffffffffffff),Rv=O("9007199254740992"),gp=new Float64Array(1),Ev=new Uint32Array(gp.buffer,gp.byteOffset);function Pj(e){return gp[0]=e,[Ev[1],Ev[0]]}function Tj(e){let{0:t,1:r}=Pj(e),n=t>>>31,i=t>>>20&2047,o=(t&1048575)*4294967296+r,s=i===0?-1022:i-1023,a=i===0?0:1;return a+=o*f0,a*=n===0?1:-1,{exponent:s,significand:a}}function Iv(e,t){return e===-1022?O(t*Cv):O((t-1)*Cv)+(O(e+1023)<<O(52))}function Zp(e){if(e===mp)return Yp;if(e===Ej)return Ij;let t=Tj(e),r=t.exponent,n=t.significand;return e>0||e===0&&1/e===mp?Iv(r,n):-Iv(r,-n)-O(1)}function yp(e){if(e<0)return-yp(-e-O(1));if(e===Yp)return mp;if(e<Rv)return Yt(e)*2**-1074;let t=e-Rv,r=-1021+Yt(t>>O(52));return(1+Yt(t&Aj)*f0)*2**r}var Av=Number.isInteger,Pv=Object.is,Hd=Number.NEGATIVE_INFINITY,zd=Number.POSITIVE_INFINITY;function h0(e,t,r,n){let{noDefaultInfinity:i=!1,minExcluded:o=!1,maxExcluded:s=!1,min:a=i?-t:Hd,max:l=i?t:zd}=e,c=o?a<-r?-n:Math.max(a,-r):a===Hd?Math.max(a,-n):Math.max(a,-r),u=s?l>r?n:Math.min(l,r):l===zd?Math.min(l,n):Math.min(l,r);return{noDefaultInfinity:!1,minExcluded:o||(a!==Hd||o)&&Av(c),maxExcluded:s||(l!==zd||s)&&Av(u),min:Pv(c,-0)?0:c,max:Pv(u,0)?-0:u,noNaN:e.noNaN||!1}}var m0=Number.NEGATIVE_INFINITY,g0=Number.POSITIVE_INFINITY,Oj=Number.MAX_VALUE,Mj=45035996273704955e-1,bp=4503599627370496;function Nj(e){return h0(e,Oj,Mj,bp)}function Lj(e){return e===4503599627370496?g0:e===-4503599627370496?m0:e}function $j(e){if(typeof e!="number")throw new Error("Unsupported type");return e===g0?bp:e===m0?-bp:e}var Dj=Number.isInteger,y0=Number.isNaN,_j=Number.NEGATIVE_INFINITY,jj=Number.POSITIVE_INFINITY,Tv=Number.MAX_VALUE,Fj=NaN;function Ov(e,t){if(y0(e))throw new Error("fc.double constraints."+t+" must be a 64-bit float");return Zp(e)}function Bj(e){if(typeof e!="number")throw new Error("Unsupported type");return Zp(e)}function Vj(e){return!Dj(e)}function Mv(e){let{noDefaultInfinity:t=!1,noNaN:r=!1,minExcluded:n=!1,maxExcluded:i=!1,min:o=t?-Tv:_j,max:s=t?Tv:jj}=e,a=Ov(o,"min"),l=n?a+O(1):a,c=Ov(s,"max"),u=i?c-O(1):c;if(u<l)throw new Error("fc.double constraints.min must be smaller or equal to constraints.max");if(r)return xr({min:l,max:u}).map(yp,Bj);let d=u>O(0),p=d?l:l-O(1),h=d?u+O(1):u;return xr({min:p,max:h}).map(f=>u<f||f<l?Fj:yp(f),f=>{if(typeof f!="number")throw new Error("Unsupported type");return y0(f)?u!==h?h:p:Zp(f)})}function Ra(e={}){return e.noInteger?Mv(Nj(e)).map(Lj,$j).filter(Vj):Mv(e)}var Uj=Number.NEGATIVE_INFINITY,wp=Number.POSITIVE_INFINITY,Wj=Math.imul,Sp=2**127*(1+(2**23-1)/2**23),b0=2139095040,Hj=-2139095041,vp=new Float32Array(1),zj=new Uint32Array(vp.buffer,vp.byteOffset);function Gj(e){return vp[0]=e,zj[0]}function qj(e){let t=Gj(e),r=t>>>31,n=t>>>23&255,i=t&8388607,o=n===0?-126:n-127,s=n===0?0:1;return s+=i/2**23,s*=r===0?1:-1,{exponent:o,significand:s}}function Nv(e,t){return e===-126?t*8388608:Wj(e+127,8388608)+(t-1)*8388608}function Xp(e){if(e===wp)return b0;if(e===Uj)return Hj;let t=qj(e),r=t.exponent,n=t.significand;return e>0||e===0&&1/e===wp?Nv(r,n):-Nv(r,-n)-1}function xp(e){if(e<0)return-xp(-e-1);if(e===b0)return wp;if(e<16777216)return e*2**-149;let t=e-16777216,r=-125+(t>>23);return(1+(t&8388607)/8388608)*2**r}var w0=Number.NEGATIVE_INFINITY,S0=Number.POSITIVE_INFINITY,Kj=Sp,Jj=83886075e-1,kp=8388608;function Yj(e){return h0(e,Kj,Jj,kp)}function Zj(e){return e===8388608?S0:e===-8388608?w0:e}function Xj(e){if(typeof e!="number")throw new Error("Unsupported type");return e===S0?kp:e===w0?-kp:e}var Qj=Number.isInteger,v0=Number.isNaN,e8=Math.fround,t8=Number.NEGATIVE_INFINITY,r8=Number.POSITIVE_INFINITY,n8=NaN;function Lv(e,t){let r="fc.float constraints."+t+" must be a 32-bit float - you can convert any double to a 32-bit float by using `Math.fround(myDouble)`";if(v0(e)||e8(e)!==e)throw new Error(r);return Xp(e)}function i8(e){if(typeof e!="number")throw new Error("Unsupported type");return Xp(e)}function o8(e){return!Qj(e)}function $v(e){let{noDefaultInfinity:t=!1,noNaN:r=!1,minExcluded:n=!1,maxExcluded:i=!1,min:o=t?-Sp:t8,max:s=t?Sp:r8}=e,a=Lv(o,"min"),l=n?a+1:a,c=Lv(s,"max"),u=i?c-1:c;if(l>u)throw new Error("fc.float constraints.min must be smaller or equal to constraints.max");if(r)return oe({min:l,max:u}).map(xp,i8);let d=u>0?l:l-1,p=u>0?u+1:u;return oe({min:d,max:p}).map(h=>h>u||h<l?n8:xp(h),h=>{if(typeof h!="number")throw new Error("Unsupported type");return v0(h)?u!==p?p:d:Xp(h)})}function x0(e={}){return e.noInteger?$v(Yj(e)).map(Zj,Xj).filter(o8):$v(e)}function s8(e){return e.replace(/([$`\\])/g,"\\$1").replace(/\r/g,"\\r")}function k0(e){return e.replace(/\*\//g,"*\\/")}var st=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];function xa(e){let t=4294967295;for(let r=0;r<e.length;++r){let n=In(e,r);if(n<128)t=st[t&255^n]^t>>8;else if(n<2048)t=st[t&255^(192|n>>6&31)]^t>>8,t=st[t&255^(128|n&63)]^t>>8;else if(n>=55296&&n<57344){let i=In(e,++r);if(n>=56320||i<56320||i>57343||Number.isNaN(i))r-=1,t=st[t&255^239]^t>>8,t=st[t&255^191]^t>>8,t=st[t&255^189]^t>>8;else{let o=(n&1023)+64,s=i&1023;t=st[t&255^(240|o>>8&7)]^t>>8,t=st[t&255^(128|o>>2&63)]^t>>8,t=st[t&255^(128|s>>6&15|(o&3)<<4)]^t>>8,t=st[t&255^(128|s&63)]^t>>8}}else t=st[t&255^(224|n>>12&15)]^t>>8,t=st[t&255^(128|n>>6&63)]^t>>8,t=st[t&255^(128|n&63)]^t>>8}return(t|0)+2147483648}var a8=Object.getPrototypeOf,Bi=class extends he{constructor(e){super(),this.arb=e}generate(e,t){return this.arb.generate(e,t)}canShrinkWithoutContext(e){return this.arb.canShrinkWithoutContext(e)}shrink(e,t){return V.nil()}};function ka(e){return a8(e)===Bi.prototype&&e.generate===Bi.prototype.generate&&e.canShrinkWithoutContext===Bi.prototype.canShrinkWithoutContext&&e.shrink===Bi.prototype.shrink?e:new Bi(e)}var l8=Object.assign,c8=Object.keys;function C0(e){return W(ka(oe()),ka(oe({min:1,max:4294967295}))).map(([t,r])=>{let n=()=>{let i={};return l8((s,a)=>{let l=Ae(s),c=Ae(a),u=e(xa(`${t}${l}`)%r,xa(`${t}${c}`)%r);return i[`[${l},${c}]`]=u,u},{toString:()=>{let s=c8(i).sort().map(a=>`${a} => ${Ae(i[a])}`).map(a=>`/* ${k0(a)} */`);return`function(a, b) {
194
194
  // With hash and stringify coming from fast-check${s.length!==0?`
195
195
  ${fe(s,`
196
196
  `)}`:""}
@@ -198,46 +198,46 @@ ${$3(i)}`),o}function $1(e){return sp(e,Ae)}async function D1(e){let t=[];functi
198
198
  const hA = hash('${t}' + stringify(a)) % ${r};
199
199
  const hB = hash('${t}' + stringify(b)) % ${r};
200
200
  return cmp(hA, hB);
201
- }`},[Be]:n})};return n()})}var Vj=Object.assign;function Bj(){return b0(Vj((e,t)=>e<t,{toString(){return"(hA, hB) => hA < hB"}}))}var Uj=Object.assign;function Wj(){return b0(Uj((e,t)=>e-t,{toString(){return"(hA, hB) => hA - hB"}}))}var Hj=Object.defineProperties,zj=Object.keys;function Gj(e){return W(ce(e,{minLength:1}),wa(oe())).map(([t,r])=>{let n=()=>{let i={},o=(...a)=>{let l=Ae(a),c=t[ba(`${r}${l}`)%t.length];return i[l]=c,Ur(c)?c[Be]():c};function s(a){let l=G(G(g1(zj(i)),c=>`${c} => ${Ae(i[c])}`),c=>`/* ${y0(c)} */`);return`function(...args) {
201
+ }`},[Ve]:n})};return n()})}var u8=Object.assign;function d8(){return C0(u8((e,t)=>e<t,{toString(){return"(hA, hB) => hA < hB"}}))}var p8=Object.assign;function f8(){return C0(p8((e,t)=>e-t,{toString(){return"(hA, hB) => hA - hB"}}))}var h8=Object.defineProperties,m8=Object.keys;function g8(e){return W(ce(e,{minLength:1}),ka(oe())).map(([t,r])=>{let n=()=>{let i={},o=(...a)=>{let l=Ae(a),c=t[xa(`${r}${l}`)%t.length];return i[l]=c,Hr(c)?c[Ve]():c};function s(a){let l=G(G(x1(m8(i)),c=>`${c} => ${Ae(i[c])}`),c=>`/* ${k0(c)} */`);return`function(...args) {
202
202
  // With hash and stringify coming from fast-check${l.length!==0?`
203
203
  ${l.join(`
204
204
  `)}`:""}
205
205
  const outs = ${a};
206
206
  return outs[hash('${r}' + stringify(args)) % outs.length];
207
- }`}return Hj(o,{toString:{value:()=>s(Ae(t))},[vt]:{value:()=>s(Ae(t))},[Kt]:{value:async()=>s(await Lp(t))},[Be]:{value:n,configurable:!0}})};return n()})}var qj=Number.MIN_SAFE_INTEGER,Kj=Number.MAX_SAFE_INTEGER;function w0(){return new In(qj,Kj)}var Yj=Number.MAX_SAFE_INTEGER;function Jj(){return new In(0,Yj)}var Zj=Number.parseInt;function Xj(e){let[t,r]=e;switch(t){case"oct":return`0${Vi(r,8)}`;case"hex":return`0x${Vi(r,16)}`;default:return`${r}`}}function la(e,t){let r=Zj(e,t);if(Vi(r,t)!==e)throw new Error("Invalid value");return r}function Qj(e){if(typeof e!="string")throw new Error("Invalid type");return e.length>=2&&e[0]==="0"?e[1]==="x"?["hex",la(ve(e,2),16)]:["oct",la(ve(e,1),8)]:["dec",la(e,10)]}function e8(e){return fe(e,".")}function t8(e){if(typeof e!="string")throw new Error("Invalid type");return G(Ze(e,"."),t=>la(t,10))}function Yp(){return W(yr(255),yr(255),yr(255),yr(255)).map(e8,t8)}function Pt(e){return W(Tt("dec","oct","hex"),yr(e)).map(Xj,Qj)}function Ud(e){return fe(e,".")}function Wd(e){if(typeof e!="string")throw new Error("Invalid type");return Ze(e,".")}function S0(){return Ve(W(Pt(255),Pt(255),Pt(255),Pt(255)).map(Ud,Wd),W(Pt(255),Pt(255),Pt(65535)).map(Ud,Wd),W(Pt(255),Pt(16777215)).map(Ud,Wd),Pt(4294967295))}function Jp(e){return e.length===0?[]:Ze(e,":")}function Zp(e){let t=Ze(e,":");return t.length>=2&&t[t.length-1].length<=4?[Ue(t,0,t.length-2),`${t[t.length-2]}:${t[t.length-1]}`]:[Ue(t,0,t.length-1),t[t.length-1]]}function r8(e){return`${fe(e[0],":")}:${e[1]}`}function n8(e){if(typeof e!="string")throw new Error("Invalid type");return Zp(e)}function i8(e){return`::${fe(e[0],":")}:${e[1]}`}function o8(e){if(typeof e!="string")throw new Error("Invalid type");if(!j4(e,"::"))throw new Error("Invalid value");return Zp(ve(e,2))}function ca(e){return`${fe(e[0],":")}::${fe(e[1],":")}:${e[2]}`}function ua(e){if(typeof e!="string")throw new Error("Invalid type");let[t,r]=Ze(e,"::",2),[n,i]=Zp(r);return[Jp(t),n,i]}function s8(e){return ca([e[0],[e[1]],e[2]])}function a8(e){let t=ua(e);return[t[0],fe(t[1],":"),t[2]]}function Tv(e){return`${fe(e[0],":")}::${e[1]}`}function Ov(e){if(typeof e!="string")throw new Error("Invalid type");let[t,r]=Ze(e,"::",2);return[Jp(t),r]}function l8(e){return`${fe(e[0],":")}::`}function c8(e){if(typeof e!="string")throw new Error("Invalid type");if(!F4(e,"::"))throw new Error("Invalid value");return[Jp(ve(e,0,e.length-2))]}function u8([e,t]){return`${e}:${t}`}function d8(e){if(typeof e!="string")throw new N("Invalid type");if(!e.includes(":"))throw new N("Invalid value");return e.split(":",2)}var p8="0123456789abcdef",Hd;function f8(){return Hd===void 0&&(Hd=oe({min:0,max:15}).map(e=>p8[e],e=>{if(typeof e!="string")throw new N("Not a string");if(e.length!==1)throw new N("Invalid length");let t=Rn(e,0);if(t<=57)return t-48;if(t<97)throw new N("Invalid character");return t-87})),Hd}function v0(){let e=Le({unit:f8(),minLength:1,maxLength:4,size:"max"}),t=Ve(W(e,e).map(u8,d8),Yp());return Ve(W(ce(e,{minLength:6,maxLength:6,size:"max"}),t).map(r8,n8),W(ce(e,{minLength:5,maxLength:5,size:"max"}),t).map(i8,o8),W(ce(e,{minLength:0,maxLength:1,size:"max"}),ce(e,{minLength:4,maxLength:4,size:"max"}),t).map(ca,ua),W(ce(e,{minLength:0,maxLength:2,size:"max"}),ce(e,{minLength:3,maxLength:3,size:"max"}),t).map(ca,ua),W(ce(e,{minLength:0,maxLength:3,size:"max"}),ce(e,{minLength:2,maxLength:2,size:"max"}),t).map(ca,ua),W(ce(e,{minLength:0,maxLength:4,size:"max"}),e,t).map(s8,a8),W(ce(e,{minLength:0,maxLength:5,size:"max"}),t).map(Tv,Ov),W(ce(e,{minLength:0,maxLength:6,size:"max"}),e).map(Tv,Ov),W(ce(e,{minLength:0,maxLength:7,size:"max"})).map(l8,c8))}var h8=class extends he{constructor(e){super(),this.name=e,this.underlying=null}generate(e,t){if(this.underlying===null)throw new Error(`Lazy arbitrary ${JSON.stringify(this.name)} not correctly initialized`);return this.underlying.generate(e,t)}canShrinkWithoutContext(e){if(this.underlying===null)throw new Error(`Lazy arbitrary ${JSON.stringify(this.name)} not correctly initialized`);return this.underlying.canShrinkWithoutContext(e)}shrink(e,t){if(this.underlying===null)throw new Error(`Lazy arbitrary ${JSON.stringify(this.name)} not correctly initialized`);return this.underlying.shrink(e,t)}},m8=Object.getOwnPropertyNames;function g8(){let e=new qt;return r=>{let n=st(e,r);return n!==void 0||(n=new h8(String(r)),wt(e,r,n)),n}}function x0(e){let t=g8(),r=e(t),n=m8(r);for(let i of n){let o=t(i);o.underlying=r[i]}return r}function y8(e,t){for(let r of e){let n=t[r]||{};if(n.maxLength===void 0||n.maxLength>0)return!0}return!1}function b8(e,t){if(e.length===0)return Ie([]);if(!y8(e,t))throw new N("Contraints on pool must accept at least one entity, maxLength cannot sum to 0");return W(...e.map(r=>ce(Ie(r),t[r]))).map(r=>f4(r)).filter(r=>r.length>0)}var Mv=Object.assign,da=Object.create,k0=Object.defineProperty,Nv=Object.getPrototypeOf,w8=Object.prototype;function S8(e){return k0(da(null),vt,{configurable:!1,enumerable:!1,writable:!1,value:()=>e})}function Lv(e,t){return S8(`<${Je(e)}#${t}>`)}function v8(e,t){let r=da(w8);for(let n in e){let i=e[n],o=[];for(let s of i){let a=Mv(da(Nv(s)),s);o.push(a)}r[n]=o}for(let n in t){let i=t[n];for(let o=0;o!==i.length;++o){let s=i[o],a=r[n][o];for(let l in s){let c=s[l];a[l]=c.index===void 0?void 0:typeof c.index=="number"?r[c.type][c.index]:G(c.index,u=>r[c.type][u])}k0(a,vt,{configurable:!1,enumerable:!1,writable:!1,value:()=>{let l=e[n][o],c=Mv(da(Nv(l)),l);for(let u in s){let d=s[u];c[u]=d.index===void 0?void 0:typeof d.index=="number"?Lv(d.type,d.index):G(d.index,p=>Lv(d.type,p))}return Ae(c)}})}}return r}function x8(e){let t=0,r=new qt;for(let i in e){let o=e[i];for(let s in o){let a=o[s];if(a.arity!=="inverse")continue;let l=st(r,a.type);if(l===void 0&&(l=new qt,wt(r,a.type,l)),I4(l,a.forwardRelationship))throw new N(`Cannot declare multiple inverse relationships for the same forward relationship ${Je(a.forwardRelationship)} on type ${Je(a.type)}`);wt(l,a.forwardRelationship,{type:i,property:s}),t+=1}}let n=new qt;if(t===0)return n;for(let i in e){let o=e[i],s=st(r,i);if(s!==void 0)for(let a in o){let l=o[a];if(l.arity==="inverse")continue;let c=st(s,a);if(c!==void 0){if(c.type!==l.type)throw new N(`Inverse relationship ${Je(c.property)} on type ${Je(c.type)} references forward relationship ${Je(a)} but types do not match`);wt(n,l,c)}}}if(n.size!==t)throw new N("Some inverse relationships could not be matched with their corresponding forward relationships");return n}var $v=Object.create;function k8(e,t,r){switch(e){case"exclusive":return Ie(r);case"successor":return ya(oe({min:t!==void 0?t+1:0,max:r}));case"any":return ya(oe({min:0,max:r}))}}function C8(e,t,r,n,i,o,s){let a=k8(t,r,n);switch(e){case"0-1":return Yt(a,{nil:void 0,depthIdentifier:i}).generate(o,s).value;case"1":return a.generate(o,s).value;case"many":{let l=0,c=Yt(Hr(a,{depthIdentifier:i,selector:d=>d===n?d+ ++l:d,minLength:1}),{nil:[],depthIdentifier:i}).generate(o,s).value,u=0;return G(c,d=>d===n?d+u++:d)}}}var R8=class extends he{constructor(e,t){super(),this.relations=e,this.defaultEntities=t;let r=new Cn,n=new Cn;for(let i in e){let o=e[i];for(let s in o){let a=o[s];if(a.arity!=="inverse"){if(a.strategy==="exclusive"){if(ga(r,a.type))throw new N(`Cannot mix exclusive with other strategies for type ${Je(a.type)}`);Fi(n,a.type)}else{if(ga(n,a.type))throw new N(`Cannot mix exclusive with other strategies for type ${Je(a.type)}`);Fi(r,a.type)}if(a.strategy==="successor"&&a.type!==i)throw new N("Cannot mix types for the strategy successor");if(a.strategy==="successor"&&a.arity==="1")throw new N("Cannot use an arity of 1 for the strategy successor")}}}this.inversedRelations=x8(e)}createEmptyLinksInstanceFor(e){let t=$v(null),r=this.relations[e];for(let n in r){let i=r[n];i.arity==="inverse"&&(t[n]={type:i.type,index:[]})}return t}generate(e,t){let r=$v(null);for(let o in this.relations)r[o]=[];let n=[];for(let o of this.defaultEntities)L(n,{type:o,indexInType:r[o].length,depth:0}),L(r[o],this.createEmptyLinksInstanceFor(o));let i=-1;for(;++i<n.length;){let o=n[i],s=this.relations[o.type],a=r[o.type][o.indexInType],l=jp();l.depth=o.depth;for(let c in s){let u=s[c];if(u.arity==="inverse")continue;let d=u.type,p=r[d],h=p.length,f=C8(u.arity,u.strategy||"any",d===o.type?o.indexInType:void 0,p.length,l,e,t);a[c]={type:d,index:f};let m=f===void 0?[]:typeof f=="number"?[f]:f;for(let g of m){g>=h&&(L(n,{type:d,indexInType:g,depth:o.depth+1}),L(p,this.createEmptyLinksInstanceFor(d)));let w=st(this.inversedRelations,u);if(w!==void 0){let S=p[g][w.property].index;L(S,o.indexInType)}}}}return n.length=0,new $(r,void 0)}canShrinkWithoutContext(e){return!1}shrink(e,t){return B.nil()}};function E8(e,t){return new R8(e,t)}var I8=Object.keys,A8=Object.getOwnPropertySymbols,P8=Object.getOwnPropertyDescriptor;function T8(e){let t=I8(e),r=A8(e);for(let n=0;n!==r.length;++n){let i=r[n],o=P8(e,i);o&&o.enumerable&&t.push(i)}return t}var O8=Object.create,M8=Object.defineProperty,N8=Object.getOwnPropertyDescriptor,L8=Object.getOwnPropertyNames,$8=Object.getOwnPropertySymbols;function D8(e,t){return function(n){let i=n[1]?O8(null):{};for(let o=0;o!==e.length;++o){let s=n[0][o];s!==t&&M8(i,e[o],{value:s,configurable:!0,enumerable:!0,writable:!0})}return i}}function _8(e,t){return function(n){if(typeof n!="object"||n===null)throw new Error("Incompatible instance received: should be a non-null object");let i=Object.getPrototypeOf(n)===null,o="constructor"in n&&n.constructor===Object;if(!i&&!o)throw new Error("Incompatible instance received: should be of exact type Object");let s=0,a=[];for(let u=0;u!==e.length;++u){let d=N8(n,e[u]);if(d!==void 0){if(!d.configurable||!d.enumerable||!d.writable)throw new Error("Incompatible instance received: should contain only c/e/w properties");if(d.get!==void 0||d.set!==void 0)throw new Error("Incompatible instance received: should contain only no get/set properties");++s,L(a,d.value)}else L(a,t)}let l=L8(n).length,c=$8(n).length;if(s!==l+c)throw new Error("Incompatible instance received: should not contain extra properties");return[a,i]}}var zd=Symbol("no-key");function Gd(e,t,r){let n=T8(e),i=[];for(let o=0;o!==n.length;++o){let s=n[o],a=e[s];t===void 0||zt(t,s)!==-1?L(i,a):L(i,Yt(a,{nil:zd}))}return W(W(...i),r?Ie(!1):zi()).map(D8(n,zd),_8(n,zd))}function Sp(e,t){let r=t!==void 0&&!!t.noNullPrototype;if(t===void 0||!("requiredKeys"in t&&t.requiredKeys!==void 0))return Gd(e,void 0,r);let n=("requiredKeys"in t?t.requiredKeys:void 0)||[];for(let i=0;i!==n.length;++i){let o=Object.getOwnPropertyDescriptor(e,n[i]);if(o===void 0)throw new Error("requiredKeys cannot reference keys that have not been defined in recordModel");if(!o.enumerable)throw new Error("requiredKeys cannot reference keys that are not enumerable in recordModel")}return Gd(e,n,r)}var j8=Object.create;function F8(e,t,r,n){let i=j8(null);for(let o in e){let s=e[o],a=Sp(s,n),l=t(o),c=r(o),u={minLength:l,maxLength:l};i[o]=c!==void 0?Hr(a,{...u,selector:c}):ce(a,u)}return Sp(i)}var Dv=Object.create,V8=Object.keys;function B8(e,t,r={}){let n=V8(e),i=r.initialPoolConstraints||Dv(null),o=r.unicityConstraints||Dv(null),s={noNullPrototype:r.noNullPrototype};return b8(n,i).chain(a=>E8(t,a).chain(l=>F8(e,c=>l[c].length,c=>o[c],s).map(c=>v8(c,l))))}function U8(e){return fe(G(e,t=>t[t.length-1]===","?ve(t,0,t.length-1):t)," ")}function W8(e){return function(r){if(typeof r!="string")throw new Error("Unsupported type");let n=[];for(let i of Ze(r," "))if(e.canShrinkWithoutContext(i))L(n,i);else if(e.canShrinkWithoutContext(i+","))L(n,i+",");else throw new Error("Unsupported word");return n}}function H8(e){let t=fe(e," ");return t[t.length-1]===","&&(t=ve(t,0,t.length-1)),Pp(t[0])+ve(t,1)+"."}function z8(e){return function(r){if(typeof r!="string")throw new Error("Unsupported type");if(r.length<2||r[r.length-1]!=="."||r[r.length-2]===","||Pp(np(r[0]))!==r[0])throw new Error("Unsupported value");let n=np(r[0])+ve(r,1,r.length-1),i=[],o=Ze(n," ");for(let s=0;s!==o.length;++s){let a=o[s];if(e.canShrinkWithoutContext(a))L(i,a);else if(s===o.length-1&&e.canShrinkWithoutContext(a+","))L(i,a+",");else throw new Error("Unsupported word")}return i}}function G8(e){return fe(e," ")}function q8(e){if(typeof e!="string")throw new Error("Unsupported type");let t=Ze(e,". ");for(let r=0;r<t.length-1;++r)t[r]+=".";return t}var b=(e,t)=>({arbitrary:Ie(e),weight:t});function K8(){return Ve(b("non",6),b("adipiscing",5),b("ligula",5),b("enim",5),b("pellentesque",5),b("in",5),b("augue",5),b("et",5),b("nulla",5),b("lorem",4),b("sit",4),b("sed",4),b("diam",4),b("fermentum",4),b("ut",4),b("eu",4),b("aliquam",4),b("mauris",4),b("vitae",4),b("felis",4),b("ipsum",3),b("dolor",3),b("amet,",3),b("elit",3),b("euismod",3),b("mi",3),b("orci",3),b("erat",3),b("praesent",3),b("egestas",3),b("leo",3),b("vel",3),b("sapien",3),b("integer",3),b("curabitur",3),b("convallis",3),b("purus",3),b("risus",2),b("suspendisse",2),b("lectus",2),b("nec,",2),b("ultricies",2),b("sed,",2),b("cras",2),b("elementum",2),b("ultrices",2),b("maecenas",2),b("massa,",2),b("varius",2),b("a,",2),b("semper",2),b("proin",2),b("nec",2),b("nisl",2),b("amet",2),b("duis",2),b("congue",2),b("libero",2),b("vestibulum",2),b("pede",2),b("blandit",2),b("sodales",2),b("ante",2),b("nibh",2),b("ac",2),b("aenean",2),b("massa",2),b("suscipit",2),b("sollicitudin",2),b("fusce",2),b("tempus",2),b("aliquam,",2),b("nunc",2),b("ullamcorper",2),b("rhoncus",2),b("metus",2),b("faucibus,",2),b("justo",2),b("magna",2),b("at",2),b("tincidunt",2),b("consectetur",1),b("tortor,",1),b("dignissim",1),b("congue,",1),b("non,",1),b("porttitor,",1),b("nonummy",1),b("molestie,",1),b("est",1),b("eleifend",1),b("mi,",1),b("arcu",1),b("scelerisque",1),b("vitae,",1),b("consequat",1),b("in,",1),b("pretium",1),b("volutpat",1),b("pharetra",1),b("tempor",1),b("bibendum",1),b("odio",1),b("dui",1),b("primis",1),b("faucibus",1),b("luctus",1),b("posuere",1),b("cubilia",1),b("curae,",1),b("hendrerit",1),b("velit",1),b("mauris,",1),b("gravida",1),b("ornare",1),b("ut,",1),b("pulvinar",1),b("varius,",1),b("turpis",1),b("nibh,",1),b("eros",1),b("id",1),b("aliquet",1),b("quis",1),b("lobortis",1),b("consectetuer",1),b("morbi",1),b("vehicula",1),b("tortor",1),b("tellus,",1),b("id,",1),b("eu,",1),b("quam",1),b("feugiat,",1),b("posuere,",1),b("iaculis",1),b("lectus,",1),b("tristique",1),b("mollis,",1),b("nisl,",1),b("vulputate",1),b("sem",1),b("vivamus",1),b("placerat",1),b("imperdiet",1),b("cursus",1),b("rutrum",1),b("iaculis,",1),b("augue,",1),b("lacus",1))}function Y8(e={}){let{maxCount:t,mode:r="words",size:n}=e;if(t!==void 0&&t<1)throw new Error("lorem has to produce at least one word/sentence");let i=K8();return r==="sentences"?ce(ce(i,{minLength:1,size:"small"}).map(H8,z8(i)),{minLength:1,maxLength:t,size:n}).map(G8,q8):ce(i,{minLength:1,maxLength:t,size:n}).map(U8,W8(i))}function J8(e){return new Map(e)}function Z8(e){if(typeof e!="object"||e===null)throw new Error("Incompatible instance received: should be a non-null object");if(!("constructor"in e)||e.constructor!==Map)throw new Error("Incompatible instance received: should be of exact type Map");return Array.from(e)}function X8(e){return e[0]}function vp(e,t,r={}){return Hr(W(e,t),{minLength:r.minKeys,maxLength:r.maxKeys,size:r.size,selector:X8,depthIdentifier:r.depthIdentifier,comparator:"SameValueZero"}).map(J8,Z8)}var na=10;function Q8(e){let t={};return(r=>{let n=r!==void 0?r:na;if(!b1(t,n)){let i=na;na=n-1,t[n]=e(n),na=i}return t[n]})}function e7(e){let t=0;for(;e>O(0);)e&O(1)&&++t,e>>=O(1);return t}function t7(e,t){let r=(O(1)<<O(t))-O(1),n=e&r,i=e7(e-n),o=n;for(let s=O(1);s<=r&&i!==0;s<<=O(1))o&s||(o|=s,--i);return o}function ia(e,t){let r=[];for(let n=e.length-1;n!==-1;--n)t(e[n])!==e[n]&&L(r,n);return r}function r7(e,t,r){let n=O(0);for(let i=0,o=O(1);i!==r.length;++i,o<<=O(1))e[r[i]]!==t[r[i]]&&(n|=o);return n}function qd(e,t,r,n){for(let i=0,o=O(1);i!==r.length;++i,o<<=O(1))t&o&&(e[r[i]]=n(e[r[i]]))}var n7=class extends he{constructor(e,t,r){super(),this.stringArb=e,this.toggleCase=t,this.untoggleAll=r}buildContextFor(e,t){return{rawString:e.value,rawStringContext:e.context,flags:t.value,flagsContext:t.context}}generate(e,t){let r=this.stringArb.generate(e,t),n=[...r.value],i=ia(n,this.toggleCase),o=Sr(O(0),(O(1)<<O(i.length))-O(1)).generate(e,void 0);return qd(n,o.value,i,this.toggleCase),new $(fe(n,""),this.buildContextFor(r,o))}canShrinkWithoutContext(e){return typeof e!="string"?!1:this.untoggleAll!==void 0?this.stringArb.canShrinkWithoutContext(this.untoggleAll(e)):this.stringArb.canShrinkWithoutContext(e)}shrink(e,t){let r;if(t!==void 0)r=t;else if(this.untoggleAll!==void 0){let o=this.untoggleAll(e),s=[...e],a=[...o];r={rawString:o,rawStringContext:void 0,flags:r7(a,s,ia(a,this.toggleCase)),flagsContext:void 0}}else r={rawString:e,rawStringContext:void 0,flags:O(0),flagsContext:void 0};let n=r.rawString,i=r.flags;return this.stringArb.shrink(n,r.rawStringContext).map(o=>{let s=[...o.value],a=ia(s,this.toggleCase),l=t7(i,a.length);return qd(s,l,a,this.toggleCase),new $(fe(s,""),this.buildContextFor(o,new $(l,void 0)))}).join(br(()=>{let o=[...n],s=ia(o,this.toggleCase);return Sr(O(0),(O(1)<<O(s.length))-O(1)).shrink(i,r.flagsContext).map(a=>{let l=Ue(o);return qd(l,a.value,s,this.toggleCase),new $(fe(l,""),this.buildContextFor(new $(n,r.rawStringContext),a))})}))}};function i7(e){let t=Pp(e);return t!==e?t:np(e)}function o7(e,t){return new n7(e,t&&t.toggleCase||i7,t&&t.untoggleAll)}function s7(e){return d1.from(e)}function a7(e){if(!(e instanceof d1))throw new Error("Unexpected type");return[...e]}function C0(e={}){return ce(g0(e),e).map(s7,a7)}function l7(e){return p1.from(e)}function c7(e){if(!(e instanceof p1))throw new Error("Unexpected type");return[...e]}function R0(e={}){return ce(va(e),e).map(l7,c7)}function Jt(e,t,r,n,i){let o=n.name,{min:s=t,max:a=r,...l}=e;if(s>a)throw new Error(`Invalid range passed to ${o}: min must be lower than or equal to max`);if(s<t)throw new Error(`Invalid min value passed to ${o}: min must be greater than or equal to ${t}`);if(a>r)throw new Error(`Invalid max value passed to ${o}: max must be lower than or equal to ${r}`);return ce(i({min:s,max:a}),l).map(c=>n.from(c),c=>{if(!(c instanceof n))throw new Error("Invalid type");return[...c]})}function E0(e={}){return Jt(e,-32768,32767,K$,oe)}function I0(e={}){return Jt(e,-2147483648,2147483647,Y$,oe)}function A0(e={}){return Jt(e,-128,127,q$,oe)}function P0(e={}){return Jt(e,0,65535,X$,oe)}function T0(e={}){return Jt(e,0,4294967295,Q$,oe)}function O0(e={}){return Jt(e,0,255,J$,oe)}function M0(e={}){return Jt(e,0,255,Z$,oe)}function u7(e){return e!==void 0}function _v(e){return e.hasToBeCloned?new $(e.value_,{generatorContext:e.context},()=>e.value):new $(e.value_,{generatorContext:e.context})}function jv(e){return e.hasToBeCloned?new $(e.value_,{shrinkerContext:e.context},()=>e.value):new $(e.value_,{shrinkerContext:e.context})}var d7=class extends he{constructor(e,t){super(),this.generatorArbitrary=e,this.shrinkerArbitrary=t}generate(e,t){return _v(this.generatorArbitrary.generate(e,t))}canShrinkWithoutContext(e){return this.shrinkerArbitrary.canShrinkWithoutContext(e)}shrink(e,t){return u7(t)?"generatorContext"in t?this.generatorArbitrary.shrink(e,t.generatorContext).map(_v):this.shrinkerArbitrary.shrink(e,t.shrinkerContext).map(jv):this.shrinkerArbitrary.shrink(e,void 0).map(jv)}};function xp(e,t,r){let n=oe({min:e,max:t});return t===r?n:new d7(n,oe({min:e,max:r}))}var p7=Math.min,kp=Math.max,Fv=c1.isArray,f7=Object.entries;function h7(e){let t=-1;for(let r=0;r!==e.length;++r)t=kp(t,e[r][0]);return t}function m7(e,t){let r=c1(e);for(let n=0;n!==t.length;++n){let i=t[n];i[0]<e&&(r[i[0]]=i[1])}return r}function N0(e,t={}){let{size:r,minNumElements:n=0,maxLength:i=Wr,maxNumElements:o=i,noTrailingHole:s,depthIdentifier:a}=t,l=Ui(r,Ui(r,n,o,t.maxNumElements!==void 0),i,t.maxLength!==void 0);if(n>i)throw new Error("The minimal number of non-hole elements cannot be higher than the maximal length of the array");if(n>o)throw new Error("The minimal number of non-hole elements cannot be higher than the maximal number of non-holes");let c=p7(o,i),u=t.maxNumElements!==void 0||r!==void 0?r:"=",d=Hr(W(xp(0,kp(l-1,0),kp(i-1,0)),e),{size:u,minLength:n,maxLength:c,selector:p=>p[0],depthIdentifier:a}).map(p=>m7(h7(p)+1,p),p=>{if(!Fv(p))throw new Error("Not supported entry type");if(s&&p.length!==0&&!(p.length-1 in p))throw new Error("No trailing hole");return G(f7(p),h=>[Number(h[0]),h[1]])});return s||i===n?d:W(d,xp(n,l,i)).map(p=>{let h=p[0],f=p[1];if(h.length>=f)return h;let m=Ue(h);return m.length=f,m},p=>{if(!Fv(p))throw new Error("Not supported entry type");return[p,p.length]})}function g7(e){return new Set(e)}function y7(e){if(typeof e!="object"||e===null)throw new Error("Incompatible instance received: should be a non-null object");if(!("constructor"in e)||e.constructor!==Set)throw new Error("Incompatible instance received: should be of exact type Set");return Array.from(e)}function L0(e,t={}){return Hr(e,{minLength:t.minLength,maxLength:t.maxLength,size:t.size,depthIdentifier:t.depthIdentifier,comparator:"SameValueZero"}).map(g7,y7)}function b7(e,t,r,n,i,o){return Bp(e,t,{maxKeys:r,noNullPrototype:!o,size:n,depthIdentifier:i})}function w7(e){return Ve(A0(e),O0(e),M0(e),E0(e),P0(e),I0(e),T0(e),C0(e),R0(e))}function $0(e){let t=e.values,r=e.depthSize,n=jp(),i=e.maxDepth,o=e.maxKeys,s=e.size,a=Ve(...t,...e.withBigInt?[Sr()]:[],...e.withDate?[J1()]:[]);return x0(l=>({anything:Ve({maxDepth:i,depthSize:r,depthIdentifier:n},a,l("array"),l("object"),...e.withMap?[l("map")]:[],...e.withSet?[l("set")]:[],...e.withObjectString?[l("anything").map(c=>Ae(c))]:[],...e.withTypedArray?[w7({maxLength:o,size:s})]:[],...e.withSparseArray?[N0(l("anything"),{maxNumElements:o,size:s,depthIdentifier:n})]:[]),keys:e.withObjectString?Ve({arbitrary:e.key,weight:10},{arbitrary:l("anything").map(c=>Ae(c)),weight:1}):e.key,array:ce(l("anything"),{maxLength:o,size:s,depthIdentifier:n}),set:L0(l("anything"),{maxLength:o,size:s,depthIdentifier:n}),map:Ve(vp(l("keys"),l("anything"),{maxKeys:o,size:s,depthIdentifier:n}),vp(l("anything"),l("anything"),{maxKeys:o,size:s,depthIdentifier:n})),object:b7(l("keys"),l("anything"),o,s,n,e.withNullPrototype)})).anything}function S7(e){switch(typeof e){case"boolean":return new u1(e);case"number":return new Gt(e);case"string":return new Je(e);default:return e}}function v7(e){return typeof e!="object"||e===null||!("constructor"in e)?e:e.constructor===u1||e.constructor===Gt||e.constructor===Je?e.valueOf():e}function x7(e){return e.map(S7,v7)}function k7(e,t){return[zi(),w0(),va(),t(e),Ve(t(e),Ie(null),Ie(void 0))]}function C7(e){return e.map(t=>x7(t))}function R7(e,t){return t?C7(e).concat(e):e}function D0(e={}){let t={size:e.size,unit:"stringUnit"in e?e.stringUnit:e.withUnicodeString?"binary":void 0};return{key:e.key!==void 0?e.key:Le(t),values:R7(e.values!==void 0?e.values:k7(t,Le),e.withBoxedValues===!0),depthSize:e.depthSize,maxDepth:e.maxDepth,maxKeys:e.maxKeys,size:e.size,withSet:e.withSet===!0,withMap:e.withMap===!0,withObjectString:e.withObjectString===!0,withNullPrototype:e.withNullPrototype===!0,withBigInt:e.withBigInt===!0,withDate:e.withDate===!0,withTypedArray:e.withTypedArray===!0,withSparseArray:e.withSparseArray===!0}}function E7(e){return Bp(e.key,$0(e),{maxKeys:e.maxKeys,noNullPrototype:!e.withNullPrototype,size:e.size})}function I7(e){return E7(D0(e))}function A7(e,t){let{depthSize:r,maxDepth:n}=t;return{key:e,values:[zi(),va({noDefaultInfinity:!0,noNaN:!0}),e,Ie(null)],depthSize:r,maxDepth:n}}function _0(e){return $0(D0(e))}function j0(e={}){let t=e.noUnicodeString===void 0||e.noUnicodeString===!0;return _0(A7("stringUnit"in e?Le({unit:e.stringUnit}):t?Le():Le({unit:"binary"}),e))}var P7=JSON.stringify,T7=JSON.parse;function O7(e){if(typeof e!="string")throw new N("Cannot unmap the passed value");return T7(e)}function M7(e={}){return j0(e).map(P7,O7)}var N7=Object.defineProperties;function Kd(e,t){return`Stream(${t!==void 0?`${fe(t,",")}\u2026`:`${e} emitted`})`}var L7=class extends he{constructor(e,t){super(),this.arb=e,this.history=t}generate(e,t){let r=t!==void 0&&e.nextInt(1,t)===1?t:void 0,n=()=>{let i=this.history?[]:null,o=0,s=function*(a,l){for(;;){let c=a.generate(l,r).value;o++,i!==null&&L(i,c),yield c}};return N7(new B(s(this.arb,e.clone())),{toString:{value:()=>Kd(o,i!==null?i.map(Ae):void 0)},[vt]:{value:()=>Kd(o,i!==null?i.map(Ae):void 0)},[Kt]:{value:async()=>Kd(o,i!==null?await Promise.all(i.map(Lp)):void 0)},[Be]:{value:n,enumerable:!0}})};return new $(n(),void 0)}canShrinkWithoutContext(e){return!1}shrink(e,t){return B.nil()}};function $7(e,t){return new L7(e,t!==void 0&&typeof t=="object"&&"noHistory"in t?!t.noHistory:!0)}function D7(e){return fe(e,"")}function Vv(e){if(typeof e!="string")throw new Error("Cannot unmap the passed value");return[...e]}function _7(e){switch(e.length%4){case 0:return e;case 3:return`${e}=`;case 2:return`${e}==`;default:return ve(e,1)}}function j7(e){if(typeof e!="string"||e.length%4!==0)throw new Error("Invalid string received");let t=e.indexOf("=");if(t===-1)return e;if(e.length-t>2)throw new Error("Cannot unmap the passed value");return ve(e,0,t)}var Yd=String.fromCharCode;function F7(e){return e<26?Yd(e+65):e<52?Yd(e+97-26):e<62?Yd(e+48-52):e===62?"+":"/"}function V7(e){if(typeof e!="string"||e.length!==1)throw new N("Invalid entry");let t=Rn(e,0);return t>=65&&t<=90?t-65:t>=97&&t<=122?t-97+26:t>=48&&t<=57?t-48+52:t===43?62:t===47?63:-1}function B7(){return oe({min:0,max:63}).map(F7,V7)}function U7(e={}){let{minLength:t=0,maxLength:r=Wr,size:n}=e,i=t+3-(t+3)%4,o=r-r%4,s=e.maxLength===void 0&&n===void 0?"=":n;if(i>o)throw new N("Minimal length should be inferior or equal to maximal length");if(i%4!==0)throw new N("Minimal length of base64 strings must be a multiple of 4");if(o%4!==0)throw new N("Maximal length of base64 strings must be a multiple of 4");let a=B7();return ce(a,{minLength:i,maxLength:o,size:s,experimentalCustomSlices:k_(a,Vv)}).map(D7,Vv).map(_7,j7)}var Bv=Object.is;function W7(e,t){let r=new qt,n=0;for(let i of e)Bv(i,-0)?++n:wt(r,i,(st(r,i)||0)+1);for(let i=0;i!==t.length;++i){if(!(i in t))return!1;let o=t[i];if(Bv(o,-0)){if(n===0)return!1;--n}else{let s=st(r,o)||0;if(s===0)return!1;wt(r,o,s-1)}}return!0}var H7=Math.floor,Uv=Math.log,z7=Array.isArray,F0=class extends he{constructor(e,t,r,n){if(super(),this.originalArray=e,this.isOrdered=t,this.minLength=r,this.maxLength=n,r<0||r>e.length)throw new Error("fc.*{s|S}ubarrayOf expects the minimal length to be between 0 and the size of the original array");if(n<0||n>e.length)throw new Error("fc.*{s|S}ubarrayOf expects the maximal length to be between 0 and the size of the original array");if(r>n)throw new Error("fc.*{s|S}ubarrayOf expects the minimal length to be inferior or equal to the maximal length");this.lengthArb=new In(r,n),this.biasedLengthArb=r!==n?new In(r,r+H7(Uv(n-r)/Uv(2))):this.lengthArb}generate(e,t){let r=(t!==void 0&&e.nextInt(1,t)===1?this.biasedLengthArb:this.lengthArb).generate(e,void 0),n=r.value,i=G(this.originalArray,(s,a)=>a),o=[];for(let s=0;s!==n;++s){let a=e.nextInt(0,i.length-1);L(o,i[a]),m1(i,a,1)}return this.isOrdered&&g1(o,(s,a)=>s-a),new $(G(o,s=>this.originalArray[s]),r.context)}canShrinkWithoutContext(e){return!z7(e)||!this.lengthArb.canShrinkWithoutContext(e.length)?!1:W7(this.originalArray,e)}shrink(e,t){return e.length===0?B.nil():this.lengthArb.shrink(e.length,t).map(r=>new $(Ue(e,e.length-r.value),r.context)).join(e.length>this.minLength?br(()=>this.shrink(Ue(e,1),void 0).filter(r=>this.minLength<=r.value.length+1).map(r=>new $([e[0],...r.value],void 0))):B.nil())}};function G7(e,t={}){let{minLength:r=0,maxLength:n=e.length}=t;return new F0(e,!0,r,n)}function q7(e,t={}){let{minLength:r=0,maxLength:n=e.length}=t;return new F0(e,!1,r,n)}var K7={10:"A",11:"B",12:"C",13:"D",14:"E",15:"F",16:"G",17:"H",18:"J",19:"K",20:"M",21:"N",22:"P",23:"Q",24:"R",25:"S",26:"T",27:"V",28:"W",29:"X",30:"Y",31:"Z"},Y7={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,G:16,H:17,J:18,K:19,M:20,N:21,P:22,Q:23,R:24,S:25,T:26,V:27,W:28,X:29,Y:30,Z:31};function J7(e){return e<10?Je(e):K7[e]}function Wv(e,t){let r="";for(;e.length+r.length<t;)r+="0";return r+e}function Hv(e){let t="";for(let r=e;r!==0;){let n=r>>5;t=J7(r-(n<<5))+t,r=n}return t}function Z7(e,t){let r=~~(e/1073741824),n=e&1073741823;return Wv(Hv(r),t-6)+Wv(Hv(n),6)}function V0(e){return function(r){return Z7(r,e)}}function Jd(e){if(typeof e!="string")throw new N("Unsupported type");let t=0,r=1;for(let n=e.length-1;n>=0;--n){let i=Y7[e[n]];if(i===void 0)throw new N("Unsupported type");t+=i*r,r*=32}return t}var X7=V0(10),zv=V0(8);function Q7(e){return X7(e[0])+zv(e[1])+zv(e[2])}function e9(e){if(typeof e!="string"||e.length!==26)throw new Error("Unsupported type");return[Jd(e.slice(0,10)),Jd(e.slice(10,18)),Jd(e.slice(18))]}function t9(){return W(oe({min:0,max:0xffffffffffff}),oe({min:0,max:0xffffffffff}),oe({min:0,max:0xffffffffff})).map(Q7,e9)}function B0(e){return V4(Vi(e,16),8,"0")}function r9(e){if(typeof e!="string")throw new Error("Unsupported type");if(e.length!==8)throw new Error("Unsupported value: invalid length");let t=parseInt(e,16);if(e!==B0(t))throw new Error("Unsupported value: invalid content");return t}function Zd(e,t){return oe({min:e,max:t}).map(B0,r9)}function n9(e){return`${e[0]}-${ve(e[1],4)}-${ve(e[1],0,4)}-${ve(e[2],0,4)}-${ve(e[2],4)}${e[3]}`}var i9=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/;function o9(e){if(typeof e!="string")throw new Error("Unsupported type");let t=i9.exec(e);if(t===null)throw new Error("Unsupported type");return[t[1],t[3]+t[2],t[4]+ve(t[5],0,4),ve(t[5],4)]}var Gv="0123456789abcdef";function s9(e){let t={},r={};for(let o=0;o!==e.length;++o){let s=Gv[o],a=Gv[e[o]];t[s]=a,r[a]=s}function n(o){return t[o[0]]+ve(o,1)}function i(o){if(typeof o!="string")throw new N("Cannot produce non-string values");let s=r[o[0]];if(s===void 0)throw new N("Cannot produce strings not starting by the version in hexa code");return s+ve(o,1)}return{versionsApplierMapper:n,versionsApplierUnmapper:i}}function a9(e){let t={};for(let r of e){if(t[r])throw new N(`Version ${r} has been requested at least twice for uuid`);if(t[r]=!0,r<1||r>15)throw new N(`Version must be a value in [1-15] for uuid, but received ${r}`);if(~~r!==r)throw new N(`Version must be an integer value for uuid, but received ${r}`)}if(e.length===0)throw new N("Must provide at least one version for uuid")}function l9(e={}){let t=Zd(0,4294967295),r=e.version!==void 0?typeof e.version=="number"?[e.version]:e.version:[1,2,3,4,5,6,7,8];a9(r);let{versionsApplierMapper:n,versionsApplierUnmapper:i}=s9(r);return W(t,Zd(0,268435456*r.length-1).map(n,i),Zd(2147483648,3221225471),t).map(n9,o9)}function c9(e){return Le({unit:Hp("-._~!$&'()*+,;=:"),size:e})}function u9([e,t,r]){return(e===null?"":`${e}@`)+t+(r===null?"":`:${r}`)}function d9(e){if(typeof e!="string")throw new Error("Unsupported");let t=e.indexOf("@"),r=t!==-1?e.substring(0,t):null,n=/:(\d+)$/.exec(e),i=n!==null?Number(n[1]):null;return[r,n!==null?e.substring(t+1,e.length-n[1].length-1):e.substring(t+1),i]}function p9(e){return`[${e}]`}function f9(e){if(typeof e!="string"||e[0]!=="["||e[e.length-1]!=="]")throw new Error("Unsupported");return e.substring(1,e.length-1)}function U0(e){let t=e||{},r=t.size,n=[zp({size:r}),...t.withIPv4===!0?[Yp()]:[],...t.withIPv6===!0?[v0().map(p9,f9)]:[],...t.withIPv4Extended===!0?[S0()]:[]];return W(t.withUserInfo===!0?Yt(c9(r)):Ie(null),Ve(...n),t.withPort===!0?Yt(yr(65535)):Ie(null)).map(u9,d9)}function W0(e){return Le({unit:Hp("-._~!$&'()*+,;=:@/?"),size:e})}function H0(e={}){return W0(e.size)}function z0(e={}){return Le({unit:Hp("-._~!$&'()*+,;=:@"),size:e.size})}function h9(e){return fe(G(e,t=>`/${t}`),"")}function m9(e){if(typeof e!="string")throw new Error("Incompatible value received: type");if(e.length!==0&&e[0]!=="/")throw new Error("Incompatible value received: start");return m1(Ze(e,"/"),1)}function g9(e){switch(e){case"xsmall":return["xsmall","xsmall"];case"small":return["small","xsmall"];case"medium":return["small","small"];case"large":return["medium","small"];case"xlarge":return["medium","medium"]}}function Xd(e,t){return ce(z0({size:e}),{size:t}).map(h9,m9)}function y9(e){let[t,r]=g9(e);return t===r?Xd(t,r):Ve(Xd(t,r),Xd(r,t))}function G0(e){return y9(Vp((e||{}).size))}function q0(e={}){return W0(e.size)}function b9(e){let[t,r,n]=e;return`${t}://${r}${n}${e[3]===null?"":`?${e[3]}`}${e[4]===null?"":`#${e[4]}`}`}var w9=/^([[A-Za-z][A-Za-z0-9+.-]*):\/\/([^/?#]*)([^?#]*)(\?[A-Za-z0-9\-._~!$&'()*+,;=:@/?%]*)?(#[A-Za-z0-9\-._~!$&'()*+,;=:@/?%]*)?$/;function S9(e){if(typeof e!="string")throw new Error("Incompatible value received: type");let t=w9.exec(e);if(t===null)throw new Error("Incompatible value received");let r=t[1],n=t[2],i=t[3],o=t[4],s=t[5];return[r,n,i,o!==void 0?o.substring(1):null,s!==void 0?s.substring(1):null]}function v9(e){let t=e||{},r=Vp(t.size),n=t.authoritySettings!==void 0&&t.authoritySettings.size!==void 0?Hi(t.authoritySettings.size,r):r,i={...t.authoritySettings,size:n};return W(Tt(...t.validSchemes||["http","https"]),U0(i),G0({size:r}),t.withQueryParameters===!0?Yt(q0({size:r})):Ie(null),t.withFragments===!0?Yt(H0({size:r})):Ie(null)).map(b9,S9)}var x9=class K0{constructor(t,r){this.commands=t,this.metadataForReplay=r,this[Be]=function(){return new K0(this.commands.map(n=>n.clone()),this.metadataForReplay)}}[Symbol.iterator](){return this.commands[Symbol.iterator]()}toString(){let t=this.commands.filter(n=>n.hasRan).map(n=>n.toString()).join(","),r=this.metadataForReplay();return r.length!==0?`${t} /*${r}*/`:t}},k9=class Cp{constructor(t){if(this.cmd=t,this.hasRan=!1,Mp(t)){let r=t[vt];this[vt]=function(){return r.call(t)}}if(Np(t)){let r=t[Kt];this[Kt]=function(){return r.call(t)}}}check(t){return this.cmd.check(t)}run(t,r){return this.hasRan=!0,this.cmd.run(t,r)}clone(){return Ur(this.cmd)?new Cp(this.cmd[Be]()):new Cp(this.cmd)}toString(){return this.cmd.toString()}},qv=class{static parse(e){let[t,r]=e.split(":"),n=this.parseCounts(t),i=this.parseChanges(r);return this.parseOccurences(n,i)}static stringify(e){let t=this.countOccurences(e);return`${this.stringifyCounts(t)}:${this.stringifyChanges(t)}`}static intToB64(e){return e<26?String.fromCharCode(e+65):e<52?String.fromCharCode(e+97-26):e<62?String.fromCharCode(e+48-52):String.fromCharCode(e===62?43:47)}static b64ToInt(e){return e>="a"?e.charCodeAt(0)-97+26:e>="A"?e.charCodeAt(0)-65:e>="0"?e.charCodeAt(0)-48+52:e==="+"?62:63}static countOccurences(e){return e.reduce((t,r)=>(t.length===0||t[t.length-1].count===64||t[t.length-1].value!==r?t.push({value:r,count:1}):t[t.length-1].count+=1,t),[])}static parseOccurences(e,t){let r=[];for(let n=0;n!==e.length;++n){let i=e[n],o=t[n];for(let s=0;s!==i;++s)r.push(o)}return r}static stringifyChanges(e){let t="";for(let r=0;r<e.length;r+=6){let n=e.slice(r,r+6).reduceRight((i,o)=>(i<<1)+(o.value?1:0),0);t+=this.intToB64(n)}return t}static parseChanges(e){let t=e.split("").map(n=>this.b64ToInt(n)),r=[];for(let n=0;n!==t.length;++n){let i=t[n];for(let o=0;o!==6;++o,i>>=1)r.push(i%2===1)}return r}static stringifyCounts(e){return e.map(({count:t})=>this.intToB64(t-1)).join("")}static parseCounts(e){return e.split("").map(t=>this.b64ToInt(t)+1)}},C9=class extends he{constructor(e,t,r,n,i){super(),this.sourceReplayPath=n,this.disableReplayLog=i,this.oneCommandArb=Ve(...e).map(o=>new k9(o)),this.lengthArb=xp(0,t,r),this.replayPath=[],this.replayPathPosition=0}metadataForReplay(){return this.disableReplayLog?"":`replayPath=${JSON.stringify(qv.stringify(this.replayPath))}`}buildValueFor(e,t){let r=e.map(i=>i.value_),n={shrunkOnce:t,items:e};return new $(new x9(r,()=>this.metadataForReplay()),n)}generate(e){let t=this.lengthArb.generate(e,void 0).value,r=Array(t);for(let n=0;n!==t;++n)r[n]=this.oneCommandArb.generate(e,void 0);return this.replayPathPosition=0,this.buildValueFor(r,!1)}canShrinkWithoutContext(e){return!1}filterOnExecution(e){let t=[];for(let r of e)r.value_.hasRan?(this.replayPath.push(!0),t.push(r)):this.replayPath.push(!1);return t}filterOnReplay(e){return e.filter((t,r)=>{let n=this.replayPath[this.replayPathPosition+r];if(n===void 0)throw new Error("Too short replayPath");if(!n&&t.value_.hasRan)throw new Error("Mismatch between replayPath and real execution");return n})}filterForShrinkImpl(e){this.replayPathPosition===0&&(this.replayPath=this.sourceReplayPath!==null?qv.parse(this.sourceReplayPath):[]);let t=this.replayPathPosition<this.replayPath.length?this.filterOnReplay(e):this.filterOnExecution(e);return this.replayPathPosition+=e.length,t}shrink(e,t){if(t===void 0)return B.nil();let r=t,n=r.shrunkOnce,i=r.items,o=this.filterForShrinkImpl(i);if(o.length===0)return B.nil();let s=n?B.nil():new B([[]][Symbol.iterator]()),a=[];for(let l=0;l!==o.length;++l)a.push(br(()=>{let c=o.slice(0,l);return this.lengthArb.shrink(o.length-1-l,void 0).map(u=>c.concat(o.slice(o.length-(u.value+1))))}));for(let l=0;l!==o.length;++l)a.push(br(()=>this.oneCommandArb.shrink(o[l].value_,o[l].context).map(c=>o.slice(0,l).concat([c],o.slice(l+1)))));return s.join(...a).map(l=>this.buildValueFor(l.map(c=>new $(c.value_.clone(),c.context)),!0))}};function R9(e,t={}){let{size:r,maxCommands:n=Wr,disableReplayLog:i=!1,replayPath:o=null}=t;return new C9(e,Ui(r,0,n,t.maxCommands!==void 0),n,o,i)}var E9=class{constructor(e,t){this.s=e,this.cmd=t}async check(e){let t=null,r=!1;if((await this.s.scheduleSequence([{label:`check@${this.cmd.toString()}`,builder:async()=>{try{r=await Promise.resolve(this.cmd.check(e))}catch(n){throw t=n,n}}}]).task).faulty)throw t;return r}async run(e,t){let r=null;if((await this.s.scheduleSequence([{label:`run@${this.cmd.toString()}`,builder:async()=>{try{await this.cmd.run(e,t)}catch(n){throw r=n,n}}}]).task).faulty)throw r}},I9=function*(e,t){for(let r of t)yield new E9(e,r)},Y0=(e,t,r,n,i)=>e.then(o=>{let{model:s,real:a}=o,l=r;for(let c of t)l=i(l,()=>n(c,s,a));return l}),A9=(e,t)=>Y0({then:o=>{o(e())}},t,void 0,(o,s,a)=>{o.check(s)&&o.run(s,a)},(o,s)=>s()),P9=e=>typeof e.then=="function",J0=async(e,t,r=Promise.resolve())=>await Y0({then:s=>{let a=e();return P9(a)?a.then(s):s(a)}},t,r,async(s,a,l)=>{await s.check(a)&&await s.run(a,l)},(s,a)=>s.then(a));function T9(e,t){A9(e,t)}async function O9(e,t){await J0(e,t)}async function M9(e,t,r){let n=J0(t,I9(e,r),e.schedule(Promise.resolve(),"startModel"));await e.waitFor(n),await e.waitAll()}var oa=e=>e(),Z0=class Rp{constructor(t,r){this.act=t,this.taskSelector=r,this.lastTaskId=0,this.sourceTaskSelector=r.clone(),this.scheduledTasks=[],this.triggeredTasks=[],this.scheduledWatchers=[],this[Be]=function(){return new Rp(this.act,this.sourceTaskSelector)}}static buildLog(t){return`[task\${${t.taskId}}] ${t.label.length!==0?`${t.schedulingType}::${t.label}`:t.schedulingType} ${t.status}${t.outputValue!==void 0?` with value ${Dj(t.outputValue)}`:""}`}log(t,r,n,i,o,s){this.triggeredTasks.push({status:o,schedulingType:t,taskId:r,label:n,metadata:i,outputValue:s!==void 0?Ae(s):void 0})}scheduleInternal(t,r,n,i,o,s){let a=++this.lastTaskId,l,c=new Promise((u,d)=>{l=()=>{let p=Promise.resolve(s!==void 0?n.then(()=>s()):n);return p.then(h=>{this.log(t,a,r,i,"resolved",h),u(h)},h=>{this.log(t,a,r,i,"rejected",h),d(h)}),p}});return this.scheduledTasks.push({original:n,trigger:l,schedulingType:t,taskId:a,label:r,metadata:i,customAct:o}),this.scheduledWatchers.length!==0&&this.scheduledWatchers[0](),c}schedule(t,r,n,i){return this.scheduleInternal("promise",r||"",t,n,i||oa)}scheduleFunction(t,r){return(...n)=>this.scheduleInternal("function",`${t.name}(${n.map(Ae).join(",")})`,t(...n),void 0,r||oa)}scheduleSequence(t,r){let n={done:!1,faulty:!1},i={then:u=>u()},o=()=>{},s=new Promise(u=>{o=()=>u({done:n.done,faulty:n.faulty})}),a=()=>{n.faulty=!0,o()},l=()=>{n.done=!0,o()},c=(u,d)=>{if(u>=t.length){d.then(l,a);return}d.then(()=>{let p=t[u],[h,f,m]=typeof p=="function"?[p,p.name,void 0]:[p.builder,p.label,p.metadata],g=this.scheduleInternal("sequence",f,i,m,r||oa,()=>h());c(u+1,g)},a)};return c(0,i),Object.assign(n,{task:s})}count(){return this.scheduledTasks.length}internalWaitOne(){if(this.scheduledTasks.length===0)throw new Error("No task scheduled");let t=this.taskSelector.nextTaskIndex(this.scheduledTasks),[r]=this.scheduledTasks.splice(t,1);return r.customAct(()=>r.trigger().catch(n=>{}))}waitOne(t){let r=t||oa;return this.act(()=>r(()=>this.internalWaitOne()))}async waitAll(t){for(;this.scheduledTasks.length>0;)await this.waitOne(t)}async internalWaitFor(t,r){let n=!1,i=r.customAct,o=r.onWaitStart,s=r.onWaitIdle,a=r.launchAwaiterOnInit,l,c,u=0,d=null,p=null,h=async()=>{for(u=50,u=50;!n&&u>0;--u)await Promise.resolve();if(!n&&this.scheduledTasks.length>0)return o!==void 0&&o(),p=this.waitOne(i),p.then(()=>(p=null,h()),w=>{throw p=null,n=!0,c(w),w});!n&&s!==void 0&&s(),d=null},f=()=>{if(d!==null){u=51;return}d=h().catch(()=>{})},m=()=>{let w=this.scheduledWatchers.indexOf(f);w!==-1&&this.scheduledWatchers.splice(w,1),w===0&&this.scheduledWatchers.length!==0&&this.scheduledWatchers[0]()},g=new Promise((w,S)=>{l=y=>{m(),w(y)},c=y=>{m(),S(y)}});return t.then(w=>{n=!0,p===null?l(w):p.then(()=>l(w),S=>c(S))},w=>{n=!0,p===null?c(w):p.then(()=>c(w),()=>c(w))}),(this.scheduledTasks.length>0||a)&&this.scheduledWatchers.length===0&&f(),this.scheduledWatchers.push(f),g}waitNext(t,r){let n,i=t,o=i<=0?Promise.resolve():new Promise(s=>{n=()=>{--i<=0&&s()}});return this.internalWaitFor(o,{customAct:r,onWaitStart:n,onWaitIdle:void 0,launchAwaiterOnInit:!1})}waitIdle(t){let r,n=new Promise(i=>r=i);return this.internalWaitFor(n,{customAct:t,onWaitStart:void 0,onWaitIdle:r,launchAwaiterOnInit:!0})}waitFor(t,r){return this.internalWaitFor(t,{customAct:r,onWaitStart:void 0,onWaitIdle:void 0,launchAwaiterOnInit:!1})}report(){return[...this.triggeredTasks,...this.scheduledTasks.map(t=>({status:"pending",schedulingType:t.schedulingType,taskId:t.taskId,label:t.label,metadata:t.metadata}))]}toString(){return"schedulerFor()`\n"+this.report().map(Rp.buildLog).map(t=>`-> ${t}`).join(`
208
- `)+"`"}};function X0(e){let t=0;return{clone:()=>X0(e),nextTaskIndex:r=>{if(e.length<=t)throw new Error("Invalid schedulerFor defined: too many tasks have been scheduled");let n=r.findIndex(i=>i.taskId===e[t]);if(n===-1)throw new Error("Invalid schedulerFor defined: unable to find next task");return++t,n}}}function Kv(e,t){return new Z0(e,X0(t))}function Q0(e){let t=e.clone();return{clone:()=>Q0(t),nextTaskIndex:r=>e.nextInt(0,r.length-1)}}var N9=class extends he{constructor(e){super(),this.act=e}generate(e,t){return new $(new Z0(this.act,Q0(e.clone())),void 0)}canShrinkWithoutContext(e){return!1}shrink(e,t){return B.nil()}};function L9(e){let{act:t=r=>r()}=e||{};return new N9(t)}function $9(e,t){let{act:r=n=>n()}=Array.isArray(e)?t||{}:e||{};return Array.isArray(e)?Kv(r,e):function(n,...i){return Kv(r,i)}}function D9(e={}){return Jt(e,O("-9223372036854775808"),O("9223372036854775807"),z$,Sr)}function _9(e={}){return Jt(e,O(0),O("18446744073709551615"),G$,Sr)}function j9(e,t){return t}var Qd=Math.floor,F9=Math.min;function ut(e,t){switch(e.type){case"Char":return{astNode:e,minLength:1};case"Repetition":switch(e.quantifier.kind){case"*":{let r=ut(e.expression,t);return{astNode:{type:"Repetition",quantifier:{...e.quantifier,kind:"Range",from:0,to:t},expression:r.astNode},minLength:0}}case"+":{let r=ut(e.expression,t),n=r.minLength>1?r.minLength:1;return{astNode:{type:"Repetition",quantifier:{...e.quantifier,kind:"Range",from:1,to:Qd(t/n)},expression:r.astNode},minLength:r.minLength}}case"?":{let r=ut(e.expression,t);return t<r.minLength?{astNode:{type:"Repetition",quantifier:{...e.quantifier,kind:"Range",from:0,to:0},expression:r.astNode},minLength:0}:{astNode:{...e,expression:r.astNode},minLength:0}}case"Range":{let r=e.quantifier.from>1?Qd(t/e.quantifier.from):t,n=ut(e.expression,r),i=n.minLength>1?n.minLength:1;return e.quantifier.to===void 0||e.quantifier.to*i>t?{astNode:{type:"Repetition",quantifier:{...e.quantifier,kind:"Range",to:Qd(t/i)},expression:n.astNode},minLength:e.quantifier.from*n.minLength}:{astNode:{...e,expression:n.astNode},minLength:e.quantifier.from*n.minLength}}default:return j9(e.quantifier,{astNode:e,minLength:0})}case"Quantifier":return{astNode:e,minLength:0};case"Alternative":{let r=0,n=[];for(let o=0;o!==e.expressions.length;++o){let s=t-r,a=ut(e.expressions[o],s);r+=a.minLength,L(n,{value:a,allowance:s})}let i=[];for(let o=0;o!==n.length;++o){let s=n[o].value,a=n[o].allowance,l=t-r+s.minLength;L(i,(l!==a?ut(s.astNode,l):s).astNode)}return{astNode:{...e,expressions:i},minLength:r}}case"CharacterClass":return{astNode:e,minLength:1};case"ClassRange":return{astNode:e,minLength:1};case"Group":{let r=ut(e.expression,t);return{astNode:{...e,expression:r.astNode},minLength:r.minLength}}case"Disjunction":{if(e.left===null){if(e.right===null)return{astNode:e,minLength:0};let i=ut(e.right,t),o=i.minLength>t?null:i.astNode;return{astNode:{...e,left:null,right:o},minLength:0}}if(e.right===null){let i=ut(e.left,t),o=i.minLength>t?null:i.astNode;return{astNode:{...e,left:o,right:null},minLength:0}}let r=ut(e.left,t),n=ut(e.right,t);return r.minLength>t?n:n.minLength>t?r:{astNode:{...e,left:r.astNode,right:n.astNode},minLength:F9(r.minLength,n.minLength)}}case"Assertion":return{astNode:e,minLength:0};case"Backreference":return{astNode:e,minLength:0};case"UnicodeProperty":return{astNode:e,minLength:1}}}function V9(e,t){return ut(e,t).astNode}function B9(e){return new Error(`Unsupported AST node! Received: ${Ae(e)}`)}function pa(e,t,r){if(!t&&!r)return e;let n={hasStart:!1,hasEnd:!1},i=ex(e,t,r,n),o=t&&!n.hasStart,s=r&&!n.hasEnd;if(!o&&!s)return i;let a=[];return o&&(a.push({type:"Assertion",kind:"^"}),a.push({type:"Repetition",quantifier:{type:"Quantifier",kind:"*",greedy:!0},expression:{type:"Char",kind:"meta",symbol:".",value:".",codePoint:NaN}})),a.push(i),s&&(a.push({type:"Repetition",quantifier:{type:"Quantifier",kind:"*",greedy:!0},expression:{type:"Char",kind:"meta",symbol:".",value:".",codePoint:NaN}}),a.push({type:"Assertion",kind:"$"})),{type:"Group",capturing:!1,expression:{type:"Alternative",expressions:a}}}function ex(e,t,r,n){switch(e.type){case"Char":return e;case"Repetition":return e;case"Quantifier":throw new Error("Wrongly defined AST tree, Quantifier nodes not supposed to be scanned!");case"Alternative":return n.hasStart=!0,n.hasEnd=!0,{...e,expressions:e.expressions.map((i,o)=>pa(i,t&&o===0,r&&o===e.expressions.length-1))};case"CharacterClass":return e;case"ClassRange":return e;case"Group":return{...e,expression:ex(e.expression,t,r,n)};case"Disjunction":return n.hasStart=!0,n.hasEnd=!0,{...e,left:e.left!==null?pa(e.left,t,r):null,right:e.right!==null?pa(e.right,t,r):null};case"Assertion":if(e.kind==="^"||e.kind==="Lookahead")return n.hasStart=!0,e;if(e.kind==="$"||e.kind==="Lookbehind")return n.hasEnd=!0,e;throw new Error(`Assertions of kind ${e.kind} not implemented yet!`);case"Backreference":return e;case"UnicodeProperty":return e;default:throw B9(e)}}function U9(e){return pa(e,!0,!0)}function Yv(e,t){return e[t]>="\uD800"&&e[t]<="\uDBFF"&&e[t+1]>="\uDC00"&&e[t+1]<="\uDFFF"?2:1}function Ne(e){return e>="0"&&e<="9"||e>="a"&&e<="f"||e>="A"&&e<="F"}function Ep(e){return e>="0"&&e<="9"}function tx(e,t){for(let r=t;r!==e.length;++r){let n=e[r];if(n==="\\")r+=1;else if(n==="]")return r}throw new Error("Missing closing ']'")}function W9(e,t){let r=0;for(let n=t;n!==e.length;++n){let i=e[n];if(i==="\\")n+=1;else if(i===")"){if(r===0)return n;r-=1}else i==="["?n=tx(e,n):i==="("&&(r+=1)}throw new Error("Missing closing ')'")}function H9(e,t){let r=!1;for(let n=t;n!==e.length;++n){let i=e[n];if(!Ep(i)){if(t===n)return-1;if(i===","){if(r)return-1;r=!0}else return i==="}"?n:-1}}return-1}function z9(e,t,r,n){switch(e[t]){case"[":return n===1?t+1:tx(e,t+1)+1;case"{":{if(n===1)return t+1;let i=H9(e,t+1);return i===-1?t+1:i+1}case"(":return n===1?t+1:W9(e,t+1)+1;case"]":case"}":case")":return t+1;case"\\":{let i=e[t+1];switch(i){case"x":if(Ne(e[t+2])&&Ne(e[t+3]))return t+4;throw new Error(`Unexpected token '${e.substring(t,t+4)}' found`);case"u":if(e[t+2]==="{"){if(!r)return t+2;if(e[t+4]==="}"){if(Ne(e[t+3]))return t+5;throw new Error(`Unexpected token '${e.substring(t,t+5)}' found`)}if(e[t+5]==="}"){if(Ne(e[t+3])&&Ne(e[t+4]))return t+6;throw new Error(`Unexpected token '${e.substring(t,t+6)}' found`)}if(e[t+6]==="}"){if(Ne(e[t+3])&&Ne(e[t+4])&&Ne(e[t+5]))return t+7;throw new Error(`Unexpected token '${e.substring(t,t+7)}' found`)}if(e[t+7]==="}"){if(Ne(e[t+3])&&Ne(e[t+4])&&Ne(e[t+5])&&Ne(e[t+6]))return t+8;throw new Error(`Unexpected token '${e.substring(t,t+8)}' found`)}if(e[t+8]==="}"&&Ne(e[t+3])&&Ne(e[t+4])&&Ne(e[t+5])&&Ne(e[t+6])&&Ne(e[t+7]))return t+9;throw new Error(`Unexpected token '${e.substring(t,t+9)}' found`)}if(Ne(e[t+2])&&Ne(e[t+3])&&Ne(e[t+4])&&Ne(e[t+5]))return t+6;throw new Error(`Unexpected token '${e.substring(t,t+6)}' found`);case"p":case"P":{if(!r)return t+2;let o=t+2;for(;o<e.length&&e[o]!=="}";o+=e[o]==="\\"?2:1);if(e[o]!=="}")throw new Error("Invalid \\P definition");return o+1}case"k":{let o=t+2;for(;o<e.length&&e[o]!==">";++o);if(e[o]!==">"){if(!r)return t+2;throw new Error("Invalid \\k definition")}return o+1}default:if(Ep(i)){let o=r?e.length:Math.min(t+4,e.length),s=t+2;for(;s<o&&Ep(e[s]);++s);return s}return t+(r?Yv(e,t+1):1)+1}}default:return t+(r?Yv(e,t):1)}}function sa(e,t,r,n){let i=z9(e,t,r,n);return e.substring(t,i)}var Jv={gc:"General_Category",sc:"Script",scx:"Script_Extensions"},xa={ASCII:"ASCII",ASCII_Hex_Digit:"AHex",Alphabetic:"Alpha",Any:"Any",Assigned:"Assigned",Bidi_Control:"Bidi_C",Bidi_Mirrored:"Bidi_M",Case_Ignorable:"CI",Cased:"Cased",Changes_When_Casefolded:"CWCF",Changes_When_Casemapped:"CWCM",Changes_When_Lowercased:"CWL",Changes_When_NFKC_Casefolded:"CWKCF",Changes_When_Titlecased:"CWT",Changes_When_Uppercased:"CWU",Dash:"Dash",Default_Ignorable_Code_Point:"DI",Deprecated:"Dep",Diacritic:"Dia",Emoji:"Emoji",Emoji_Component:"Emoji_Component",Emoji_Modifier:"Emoji_Modifier",Emoji_Modifier_Base:"Emoji_Modifier_Base",Emoji_Presentation:"Emoji_Presentation",Extended_Pictographic:"Extended_Pictographic",Extender:"Ext",Grapheme_Base:"Gr_Base",Grapheme_Extend:"Gr_Ext",Hex_Digit:"Hex",IDS_Binary_Operator:"IDSB",IDS_Trinary_Operator:"IDST",ID_Continue:"IDC",ID_Start:"IDS",Ideographic:"Ideo",Join_Control:"Join_C",Logical_Order_Exception:"LOE",Lowercase:"Lower",Math:"Math",Noncharacter_Code_Point:"NChar",Pattern_Syntax:"Pat_Syn",Pattern_White_Space:"Pat_WS",Quotation_Mark:"QMark",Radical:"Radical",Regional_Indicator:"RI",Sentence_Terminal:"STerm",Soft_Dotted:"SD",Terminal_Punctuation:"Term",Unified_Ideograph:"UIdeo",Uppercase:"Upper",Variation_Selector:"VS",White_Space:"space",XID_Continue:"XIDC",XID_Start:"XIDS"},Wi=Qp(xa),Xp={Cased_Letter:"LC",Close_Punctuation:"Pe",Connector_Punctuation:"Pc",Control:["Cc","cntrl"],Currency_Symbol:"Sc",Dash_Punctuation:"Pd",Decimal_Number:["Nd","digit"],Enclosing_Mark:"Me",Final_Punctuation:"Pf",Format:"Cf",Initial_Punctuation:"Pi",Letter:"L",Letter_Number:"Nl",Line_Separator:"Zl",Lowercase_Letter:"Ll",Mark:["M","Combining_Mark"],Math_Symbol:"Sm",Modifier_Letter:"Lm",Modifier_Symbol:"Sk",Nonspacing_Mark:"Mn",Number:"N",Open_Punctuation:"Ps",Other:"C",Other_Letter:"Lo",Other_Number:"No",Other_Punctuation:"Po",Other_Symbol:"So",Paragraph_Separator:"Zp",Private_Use:"Co",Punctuation:["P","punct"],Separator:"Z",Space_Separator:"Zs",Spacing_Mark:"Mc",Surrogate:"Cs",Symbol:"S",Titlecase_Letter:"Lt",Unassigned:"Cn",Uppercase_Letter:"Lu"},Ip=Qp(Xp),rx={Adlam:"Adlm",Ahom:"Ahom",Anatolian_Hieroglyphs:"Hluw",Arabic:"Arab",Armenian:"Armn",Avestan:"Avst",Balinese:"Bali",Bamum:"Bamu",Bassa_Vah:"Bass",Batak:"Batk",Bengali:"Beng",Bhaiksuki:"Bhks",Bopomofo:"Bopo",Brahmi:"Brah",Braille:"Brai",Buginese:"Bugi",Buhid:"Buhd",Canadian_Aboriginal:"Cans",Carian:"Cari",Caucasian_Albanian:"Aghb",Chakma:"Cakm",Cham:"Cham",Cherokee:"Cher",Common:"Zyyy",Coptic:["Copt","Qaac"],Cuneiform:"Xsux",Cypriot:"Cprt",Cyrillic:"Cyrl",Deseret:"Dsrt",Devanagari:"Deva",Dogra:"Dogr",Duployan:"Dupl",Egyptian_Hieroglyphs:"Egyp",Elbasan:"Elba",Ethiopic:"Ethi",Georgian:"Geor",Glagolitic:"Glag",Gothic:"Goth",Grantha:"Gran",Greek:"Grek",Gujarati:"Gujr",Gunjala_Gondi:"Gong",Gurmukhi:"Guru",Han:"Hani",Hangul:"Hang",Hanifi_Rohingya:"Rohg",Hanunoo:"Hano",Hatran:"Hatr",Hebrew:"Hebr",Hiragana:"Hira",Imperial_Aramaic:"Armi",Inherited:["Zinh","Qaai"],Inscriptional_Pahlavi:"Phli",Inscriptional_Parthian:"Prti",Javanese:"Java",Kaithi:"Kthi",Kannada:"Knda",Katakana:"Kana",Kayah_Li:"Kali",Kharoshthi:"Khar",Khmer:"Khmr",Khojki:"Khoj",Khudawadi:"Sind",Lao:"Laoo",Latin:"Latn",Lepcha:"Lepc",Limbu:"Limb",Linear_A:"Lina",Linear_B:"Linb",Lisu:"Lisu",Lycian:"Lyci",Lydian:"Lydi",Mahajani:"Mahj",Makasar:"Maka",Malayalam:"Mlym",Mandaic:"Mand",Manichaean:"Mani",Marchen:"Marc",Medefaidrin:"Medf",Masaram_Gondi:"Gonm",Meetei_Mayek:"Mtei",Mende_Kikakui:"Mend",Meroitic_Cursive:"Merc",Meroitic_Hieroglyphs:"Mero",Miao:"Plrd",Modi:"Modi",Mongolian:"Mong",Mro:"Mroo",Multani:"Mult",Myanmar:"Mymr",Nabataean:"Nbat",New_Tai_Lue:"Talu",Newa:"Newa",Nko:"Nkoo",Nushu:"Nshu",Ogham:"Ogam",Ol_Chiki:"Olck",Old_Hungarian:"Hung",Old_Italic:"Ital",Old_North_Arabian:"Narb",Old_Permic:"Perm",Old_Persian:"Xpeo",Old_Sogdian:"Sogo",Old_South_Arabian:"Sarb",Old_Turkic:"Orkh",Oriya:"Orya",Osage:"Osge",Osmanya:"Osma",Pahawh_Hmong:"Hmng",Palmyrene:"Palm",Pau_Cin_Hau:"Pauc",Phags_Pa:"Phag",Phoenician:"Phnx",Psalter_Pahlavi:"Phlp",Rejang:"Rjng",Runic:"Runr",Samaritan:"Samr",Saurashtra:"Saur",Sharada:"Shrd",Shavian:"Shaw",Siddham:"Sidd",SignWriting:"Sgnw",Sinhala:"Sinh",Sogdian:"Sogd",Sora_Sompeng:"Sora",Soyombo:"Soyo",Sundanese:"Sund",Syloti_Nagri:"Sylo",Syriac:"Syrc",Tagalog:"Tglg",Tagbanwa:"Tagb",Tai_Le:"Tale",Tai_Tham:"Lana",Tai_Viet:"Tavt",Takri:"Takr",Tamil:"Taml",Tangut:"Tang",Telugu:"Telu",Thaana:"Thaa",Thai:"Thai",Tibetan:"Tibt",Tifinagh:"Tfng",Tirhuta:"Tirh",Ugaritic:"Ugar",Vai:"Vaii",Warang_Citi:"Wara",Yi:"Yiii",Zanabazar_Square:"Zanb"},Zv=Qp(rx);function Qp(e){let t={};for(let r of Object.keys(e)){let n=e[r];if(Array.isArray(n))for(let i=0;i!==n.length;++i)t[n[i]]=r;else t[n]=r}return t}function G9(e){return e in Xp||e in Ip}function q9(e){return e in xa||e in Wi}function Xv(e){if(e in Jv)return Jv[e];if(e in Wi)return Wi[e];if(e in xa||e==="General_Category"||e==="Script"||e==="Script_Extensions")return e;throw new Error(`Unknown Unicode property name: ${e}`)}function Qv(e){if(e in Ip)return Ip[e];if(e in Zv)return Zv[e];if(e in Wi)return Wi[e];if(e in Xp||e in rx||e in xa)return e;throw new Error(`Unknown Unicode property value: ${e}`)}function K9(e,t){let r=e.indexOf("=");if(r!==-1){let n=e.substring(0,r),i=e.substring(r+1);return{type:"UnicodeProperty",name:n,value:i,negative:t,shorthand:!1,binary:!1,canonicalName:Xv(n),canonicalValue:Qv(i)}}if(G9(e))return{type:"UnicodeProperty",name:"General_Category",value:e,negative:t,shorthand:!0,binary:!1,canonicalName:"General_Category",canonicalValue:Qv(e)};if(q9(e)){let n=Xv(e);return{type:"UnicodeProperty",name:e,value:e,negative:t,shorthand:!1,binary:!0,canonicalName:n,canonicalValue:n}}throw new Error(`Invalid Unicode property: ${e}`)}var ep=String.fromCodePoint;function tp(e){let t=e.pop();if(t===void 0)throw new Error("Unable to extract token preceeding the currently parsed one");return t}function nx(e){return e>="0"&&e<="9"}function fa(e,t){return{type:"Char",kind:"simple",symbol:e,value:e,codePoint:e.codePointAt(0)||-1,escaped:t}}function vn(e,t){return{type:"Char",kind:"meta",symbol:t,value:e,codePoint:t.codePointAt(0)||-1}}function mr(e,t){if(e.length>1)return{type:"Alternative",expressions:e};if(!t&&e.length===0)throw new Error("Unsupported no token");return e[0]}function rp(e){if(e[0]==="\\"){let t=e[1];switch(t){case"x":{let r=e.substring(2),n=Number.parseInt(r,16);return{type:"Char",kind:"hex",symbol:ep(n),value:e,codePoint:n}}case"u":{if(e==="\\u")return fa("u",!0);let r=e[2]==="{"?e.substring(3,e.length-1):e.substring(2),n=Number.parseInt(r,16);return{type:"Char",kind:"unicode",symbol:ep(n),value:e,codePoint:n}}case"0":return vn(e,"\0");case"n":return vn(e,`
209
- `);case"f":return vn(e,"\f");case"r":return vn(e,"\r");case"t":return vn(e," ");case"v":return vn(e,"\v");case"w":case"W":case"d":case"D":case"s":case"S":case"b":case"B":return{type:"Char",kind:"meta",symbol:void 0,value:e,codePoint:NaN};default:if(nx(t)){let r=e.substring(1),n=Number(r);return{type:"Char",kind:"decimal",symbol:ep(n),value:e,codePoint:n}}if(e.length>2&&(t==="p"||t==="P")){let r=t==="P";return K9(e.substring(3,e.length-1),r)}return fa(e.substring(1),!0)}}return fa(e)}function xn(e,t,r,n){let i=null;for(let o=0,s=sa(t,o,r,0);o!==t.length;o+=s.length,s=sa(t,o,r,0)){let a=s[0];switch(a){case"|":i===null&&(i=[]),i.push(mr(e.splice(0),!0)||null);break;case".":e.push({type:"Char",kind:"meta",symbol:s,value:s,codePoint:NaN});break;case"*":case"+":{let l=tp(e);e.push({type:"Repetition",expression:l,quantifier:{type:"Quantifier",kind:a,greedy:!0}});break}case"?":{let l=tp(e);l.type==="Repetition"?(l.quantifier.greedy=!1,e.push(l)):e.push({type:"Repetition",expression:l,quantifier:{type:"Quantifier",kind:a,greedy:!0}});break}case"{":{if(s==="{"){e.push(fa(s));break}let l=tp(e),c=s.substring(1,s.length-1).split(","),u=Number(c[0]),d=c.length===1?u:c[1].length!==0?Number(c[1]):void 0;e.push({type:"Repetition",expression:l,quantifier:{type:"Quantifier",kind:"Range",greedy:!0,from:u,to:d}});break}case"[":{let l=s.substring(1,s.length-1),c=[],u,d=!1;for(let p=0,h=sa(l,p,r,1);p!==l.length;p+=h.length,h=sa(l,p,r,1)){if(p===0&&h==="^"){u=!0;continue}let f=rp(h);if(h==="-")c.push(f),d=!0;else{let m=c.length>=2?c[c.length-2]:void 0;d&&m!==void 0&&m.type==="Char"&&f.type==="Char"?(c.pop(),c.pop(),c.push({type:"ClassRange",from:m,to:f})):c.push(f),d=!1}}e.push({type:"CharacterClass",expressions:c,negative:u});break}case"(":{let l=s.substring(1,s.length-1),c=[];if(l[0]==="?")if(l[1]===":")xn(c,l.substring(2),r,n),e.push({type:"Group",capturing:!1,expression:mr(c)});else if(l[1]==="="||l[1]==="!")xn(c,l.substring(2),r,n),e.push({type:"Assertion",kind:"Lookahead",negative:l[1]==="!"?!0:void 0,assertion:mr(c)});else if(l[1]==="<"&&(l[2]==="="||l[2]==="!"))xn(c,l.substring(3),r,n),e.push({type:"Assertion",kind:"Lookbehind",negative:l[2]==="!"?!0:void 0,assertion:mr(c)});else{let u=l.split(">");if(u.length<2||u[0][1]!=="<")throw new Error(`Unsupported regex content found at ${JSON.stringify(s)}`);let d=++n.lastIndex,p=u[0].substring(2);n.named.set(p,d),xn(c,u.slice(1).join(">"),r,n),e.push({type:"Group",capturing:!0,nameRaw:p,name:p,number:d,expression:mr(c)})}else{let u=++n.lastIndex;xn(c,l,r,n),e.push({type:"Group",capturing:!0,number:u,expression:mr(c)})}break}default:if(s==="^")e.push({type:"Assertion",kind:s});else if(s==="$")e.push({type:"Assertion",kind:s});else if(s[0]==="\\"&&nx(s[1])){let l=Number(s.substring(1));r||l<=n.lastIndex?e.push({type:"Backreference",kind:"number",number:l,reference:l}):e.push(rp(s))}else if(s[0]==="\\"&&s[1]==="k"&&s.length!==2){let l=s.substring(3,s.length-1);e.push({type:"Backreference",kind:"name",number:n.named.get(l)||0,referenceRaw:l,reference:l})}else e.push(rp(s));break}}if(i!==null){i.push(mr(e.splice(0),!0)||null);let o={type:"Disjunction",left:i[0],right:i[1]};for(let s=2;s<i.length;++s)o={type:"Disjunction",left:o,right:i[s]};e.push(o)}}function Y9(e){let t=zt([...e.flags],"u")!==-1,r=e.source,n=[];return xn(n,r,t,{lastIndex:0,named:new Map}),mr(n)}var J9=String.fromCodePoint;function Z9(e){return e.binary||e.shorthand?e.canonicalValue:`${e.canonicalName}=${e.canonicalValue}`}function e1(e,t,r,n){let i=-1;for(let o=t;o<=r;++o)if(e.test(J9(o)))i===-1&&(i=o);else if(i!==-1){let s=o-1;n.push(i===s?[s]:[i,s]),i=-1}i!==-1&&n.push(i===r?[r]:[i,r])}function X9(e,t){let r=new RegExp(`^\\${t?"P":"p"}{${e}}$`,"u"),n=[];return e1(r,0,55295,n),e1(r,57344,1114111,n),n}var t1=new Map;function Q9(e,t){let r=`${t?"P":"p"}:${e}`,n=t1.get(r);if(n!==void 0)return n;let i=X9(e,t);return t1.set(r,i),i}function e5(e){return An(...G(Q9(Z9(e),e.negative),t=>cp(t)))}var t5=String.fromCodePoint,r1=[..."abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"],n1=[..."0123456789"],i1=[...` \r
210
- \v\f`],Ap=[...`\r
211
- `],ix=[...""],r5=[...Ap,...ix],Br=()=>Le({unit:"grapheme-ascii",minLength:1,maxLength:1});function o1(e){return new N(`Unsupported AST node! Received: ${Ae(e)}`)}function gr(e,t,r){switch(e.type){case"Char":if(e.kind==="meta")switch(e.value){case"\\w":return Tt(...r1);case"\\W":return Br().filter(n=>zt(r1,n)===-1);case"\\d":return Tt(...n1);case"\\D":return Br().filter(n=>zt(n1,n)===-1);case"\\s":return Tt(...i1);case"\\S":return Br().filter(n=>zt(i1,n)===-1);case"\\b":case"\\B":throw new N(`Meta character ${e.value} not implemented yet!`);case".":{let n=r.dotAll?ix:r5;return Br().filter(i=>zt(n,i)===-1)}}if(e.symbol===void 0)throw new N(`Unexpected undefined symbol received for non-meta Char! Received: ${Ae(e)}`);return Ie(e.symbol);case"Repetition":{let n=gr(e.expression,t,r);switch(e.quantifier.kind){case"*":return Le({...t,unit:n});case"+":return Le({...t,minLength:1,unit:n});case"?":return Le({...t,minLength:0,maxLength:1,unit:n});case"Range":return Le({...t,minLength:e.quantifier.from,maxLength:e.quantifier.to,unit:n});default:throw o1(e.quantifier)}}case"Quantifier":throw new N("Wrongly defined AST tree, Quantifier nodes not supposed to be scanned!");case"Alternative":return W(...G(e.expressions,n=>gr(n,t,r))).map(n=>fe(n,""));case"CharacterClass":if(e.negative){let n=G(e.expressions,i=>gr(i,t,r));return Br().filter(i=>y1(n,o=>!o.canShrinkWithoutContext(i)))}return Ve(...G(e.expressions,n=>gr(n,t,r)));case"ClassRange":{let n=e.from.codePoint,i=e.to.codePoint;return oe({min:n,max:i}).map(o=>t5(o),o=>{if(typeof o!="string")throw new N("Invalid type");if([...o].length!==1)throw new N("Invalid length");return Rn(o,0)})}case"Group":return gr(e.expression,t,r);case"Disjunction":return Ve(e.left!==null?gr(e.left,t,r):Ie(""),e.right!==null?gr(e.right,t,r):Ie(""));case"Assertion":if(e.kind==="^"||e.kind==="$")return r.multiline?e.kind==="^"?Ve(Ie(""),W(Le({unit:Br()}),Tt(...Ap)).map(n=>`${n[0]}${n[1]}`,n=>{if(typeof n!="string"||n.length===0)throw new N("Invalid type");return[ve(n,0,n.length-1),n[n.length-1]]})):Ve(Ie(""),W(Tt(...Ap),Le({unit:Br()})).map(n=>`${n[0]}${n[1]}`,n=>{if(typeof n!="string"||n.length===0)throw new N("Invalid type");return[n[0],ve(n,1)]})):Ie("");throw new N(`Assertions of kind ${e.kind} not implemented yet!`);case"Backreference":throw new N("Backreference nodes not implemented yet!");case"UnicodeProperty":return e5(e);default:throw o1(e)}}function n5(e,t={}){for(let a of e.flags)if(a!=="d"&&a!=="g"&&a!=="m"&&a!=="s"&&a!=="u")throw new N(`Unable to use "stringMatching" against a regex using the flag ${a}`);let r=t.maxLength,n={size:t.size,maxLength:r},i={multiline:e.multiline,dotAll:e.dotAll},o=U9(Y9(e));r!==void 0&&(o=V9(o,r));let s=gr(o,n,i);return r!==void 0?s.filter(a=>[...a].length<=r):s}function i5(e){let t=[];for(let r=0;r!==e.length;++r)t.push(e[r].next());return t}function o5(e,t){for(let r=0;r!==e.length;++r)t[r]=e[r].next()}function s5(e){for(let t=0;t!==e.length;++t)if(e[t].done)return!0;return!1}function*a5(...e){let t=i5(e);for(;!s5(t);)yield t.map(r=>r.value),o5(e,t)}function*l5(e){let t=e;for(;;)yield t,++t}var c5=class extends he{constructor(e,t){super(),this.arb=e,this.maxShrinks=t}generate(e,t){let r=this.arb.generate(e,t);return this.valueMapper(r,0)}canShrinkWithoutContext(e){return this.arb.canShrinkWithoutContext(e)}shrink(e,t){return this.isSafeContext(t)?this.safeShrink(e,t.originalContext,t.length):this.safeShrink(e,void 0,0)}safeShrink(e,t,r){let n=this.maxShrinks-r;return n<=0?B.nil():new B(a5(this.arb.shrink(e,t),l5(r+1))).take(n).map(i=>this.valueMapper(i[0],i[1]))}valueMapper(e,t){let r={originalContext:e.context,length:t};return new $(e.value,r)}isSafeContext(e){return e!=null&&typeof e=="object"&&"originalContext"in e&&"length"in e}};function u5(e,t){return new c5(e,t)}var d5=Gw({Arbitrary:()=>he,ExecutionStatus:()=>R3,PreconditionFailure:()=>vr,Random:()=>$p,Stream:()=>B,Value:()=>$,VerbosityLevel:()=>n3,__commitHash:()=>h5,__type:()=>p5,__version:()=>f5,anything:()=>_0,array:()=>ce,assert:()=>q3,asyncDefaultReportMessage:()=>D1,asyncModelRun:()=>O9,asyncProperty:()=>t3,asyncStringify:()=>Lp,asyncToStringMethod:()=>Kt,base64String:()=>U7,bigInt:()=>Sr,bigInt64Array:()=>D9,bigUint64Array:()=>_9,boolean:()=>zi,chainUntil:()=>_D,check:()=>j1,clone:()=>UD,cloneIfNeeded:()=>kn,cloneMethod:()=>Be,commands:()=>R9,compareBooleanFunc:()=>Bj,compareFunc:()=>Wj,configureGlobal:()=>X4,constant:()=>Ie,constantFrom:()=>Tt,context:()=>OD,createDepthIdentifier:()=>jp,date:()=>J1,defaultReportMessage:()=>$1,dictionary:()=>Bp,domain:()=>zp,double:()=>va,emailAddress:()=>tj,entityGraph:()=>B8,falsy:()=>PD,float:()=>g0,float32Array:()=>C0,float64Array:()=>R0,func:()=>Gj,gen:()=>rD,getDepthContextFor:()=>_p,hasAsyncToStringMethod:()=>Np,hasCloneMethod:()=>Ur,hasToStringMethod:()=>Mp,hash:()=>ba,infiniteStream:()=>$7,int16Array:()=>E0,int32Array:()=>I0,int8Array:()=>A0,integer:()=>oe,ipV4:()=>Yp,ipV4Extended:()=>S0,ipV6:()=>v0,json:()=>M7,jsonValue:()=>j0,letrec:()=>x0,limitShrink:()=>u5,lorem:()=>Y8,map:()=>vp,mapToConstant:()=>An,maxSafeInteger:()=>w0,maxSafeNat:()=>Jj,memo:()=>Q8,mixedCase:()=>o7,modelRun:()=>T9,nat:()=>yr,noBias:()=>ya,noShrink:()=>wa,object:()=>I7,oneof:()=>Ve,option:()=>Yt,pre:()=>A$,property:()=>r3,readConfigureGlobal:()=>St,record:()=>Sp,resetConfigureGlobal:()=>Q4,sample:()=>Y3,scheduledModelRun:()=>M9,scheduler:()=>L9,schedulerFor:()=>$9,set:()=>L0,shuffledSubarray:()=>q7,sparseArray:()=>N0,statistics:()=>Z3,stream:()=>wr,string:()=>Le,stringMatching:()=>n5,stringify:()=>Ae,subarray:()=>G7,toStringMethod:()=>vt,tuple:()=>W,uint16Array:()=>P0,uint32Array:()=>T0,uint8Array:()=>O0,uint8ClampedArray:()=>M0,ulid:()=>t9,uniqueArray:()=>Hr,uuid:()=>l9,webAuthority:()=>U0,webFragments:()=>H0,webPath:()=>G0,webQueryParameters:()=>q0,webSegment:()=>z0,webUrl:()=>v9}),p5="module",f5="4.8.0",h5="c0da76fbcf6470339ad7bb2f0dfcebee06ede56c",He=d5;function ox(e){return e?.values!=null&&e.values.length>0?He.constantFrom(...e.values):m5(e)}function m5(e){if(e?.type==="number")return He.integer();if(e?.type==="boolean")return He.boolean();let t=e?.generator==null?void 0:y5[e.generator];if(t!=null)return t;let r=e?.constraints?.kind==="string"?e.constraints:void 0;return He.string({maxLength:r?.maxLength,minLength:r?.minLength??1}).filter(n=>n.trim().length>0&&n===n.trim())}var g5="abcdefghijklmnopqrstuvwxyz0123456789".match(/./g)??[],Pn=e=>He.array(He.constantFrom(...g5),{maxLength:e,minLength:1}).map(t=>t.join("")),ef=(e,t)=>He.array(Pn(10),{maxLength:t,minLength:1}).map(r=>r.join(e)),y5={"company.name":ef(" ",3),"date.iso":b5(),"internet.email":w5(),"internet.url":S5(),"lorem.slug":ef("-",3),"lorem.word":Pn(10),"person.fullName":ef(" ",2)};function b5(){return He.date({max:new Date("2030-12-31T23:59:59.999Z"),min:new Date("2020-01-01T00:00:00.000Z"),noInvalidDate:!0}).map(e=>e.toISOString())}function w5(){return He.tuple(Pn(12),Pn(10),He.constantFrom("com","dev","io","org","ai")).map(([e,t,r])=>`${e}@${t}.${r}`)}function S5(){return He.tuple(He.constantFrom("http","https"),Pn(12),He.constantFrom("app","com","dev","io","org"),He.array(Pn(8),{maxLength:3})).map(([e,t,r,n])=>{let i=n.length===0?"":`/${n.join("/")}`;return`${e}://${t}.${r}${i}`})}var sx=new WeakMap;function tf(e){let t=sx.get(e);if(t!=null)return t;let r=Object.fromEntries(Object.entries(e.paramSpaces).map(([n,i])=>[n,k5(i)]));return sx.set(e,r),r}var x5=24301;function k5(e){let[t]=He.sample(ox(e),{numRuns:1,seed:x5});if(t==null)throw new Error("arbitrary produced no sample");return t}function Gi(e){return{aborted:!0,findings:[],fired:[],teardown:e}}function nf(e,t){return new C5(R5(e,t))}async function R5({browser:e,hub:t,request:r},n){if(n.aborted)return rf(Gi("skipped"));let i=O5({lockfile:r.lockfile,options:r.options,runId:r.runId,signal:n}),o=async s=>{try{return rf(await I5({browser:e,established:s,hub:t,request:r,signal:n}))}catch(a){return ax(Kn(a))}};return T5(i,r).match(o,s=>E5(s,i.teardown))}async function E5(e,t){return e.kind!=="aborted"?ax(e):rf(Gi(await lx(t)))}function lx(e){return e().match(()=>"done",()=>"failed")}async function I5(e){let t=await A5(e);if(t.kind==="completed")return await e.established.teardown().match(Ao,cm),{aborted:!1,...t.result};let r=await lx(e.established.teardown);if(t.kind==="aborted")return Gi(r);throw t.error}async function A5({browser:e,established:t,hub:r,request:n,signal:i}){try{cr(i);let{close:o,driver:s,emitAssertion:a}=await Uc({baseUrl:n.options.baseUrl,browser:e,capture:{hub:r,runId:n.runId},clientState:t.clientState,engine:jc(N5(n.lockfile)),reader:t.reader,session:t.auth});try{return{kind:"completed",result:await Nc({canon:Xl(n.lockfile),classify:Zl(n.lockfile),driver:s,initialState:{snapshot:t.snapshot},onAssertion:a,onEvent:n.onEvent??Ao,sequence:P5(n.lockfile,n.testName,n.params),...Ni(n.lockfile)},i)}}finally{await o()}}catch(o){return gm(o)?{kind:"aborted"}:{error:o,kind:"threw"}}}function P5(e,t,r){return Do(e,t).map(n=>({params:{...tf(n),...r},transition:n}))}function T5(e,t){return hc(t.lockfile,t.testName,{generate:_c(Dc(t.options.generate,t.runId),new Date().toISOString()),materialize:e.materialize,params:t.params}).map(r=>({auth:r.auth,clientState:r.clientState,reader:e.reader,snapshot:r.snapshot,teardown:e.teardown}))}function O5({lockfile:e,options:t,runId:r,signal:n}){let i=Gc({baseUrl:t.engineUrl,runId:r,secret:t.secret},n);return{materialize:mc(i.setupWorld),reader:zc(e.entities,M5(e),i.query),teardown:i.teardown}}function M5(e){return e.singletons.filter(t=>t.source==="backend").map(t=>t.name)}function N5(e){return e.singletons.filter(t=>t.source==="client").map(t=>t.name)}function of({debugDir:e,headed:t,writeOtlpPortFile:r}){let n=Rg({headed:t}),i,o,s=async()=>(i??=Ed({debugDir:e,writeOtlpPortFile:r}),o=await i,o),a=async(c,u)=>{if(u.aborted)return $5(Gi("skipped"));try{let d=await s();return c.options.headed&&!t?await Wc(!0,async p=>nf({browser:p,hub:d,request:c},u)):await nf({browser:await n.acquire(),hub:d,request:c},u)}catch(d){return L5(Kn(d))}};return{close:async()=>{await n.close();let c=i;i=void 0,o=void 0,c!=null&&await c.then(u=>u.close()).catch(()=>{})},injectSpan:(c,u)=>{o?.injectSpan(c,u)},runOnce:(c,u)=>new D5(a(c,u))}}function xr(e){let t=en(e),r=Ni(e);return[...kc(t,r.invariants).map(n=>({gap:n,kind:"cascade-gap"})),...xc(r.laws).map(n=>({conflict:n,kind:"law-conflict"}))]}function cx(e){return`${_.good("OK")} \u2014 no static model violations (${String(e)} tests)`}function kr(e){return[`${_.bad("FAIL")} \u2014 ${String(e.length)} static model violation(s):`,...e.map(t=>Zc(t))].join(`
207
+ }`}return h8(o,{toString:{value:()=>s(Ae(t))},[kt]:{value:()=>s(Ae(t))},[Xt]:{value:async()=>s(await jp(t))},[Ve]:{value:n,configurable:!0}})};return n()})}var y8=Number.MIN_SAFE_INTEGER,b8=Number.MAX_SAFE_INTEGER;function R0(){return new Pn(y8,b8)}var w8=Number.MAX_SAFE_INTEGER;function S8(){return new Pn(0,w8)}var v8=Number.parseInt;function x8(e){let[t,r]=e;switch(t){case"oct":return`0${Wi(r,8)}`;case"hex":return`0x${Wi(r,16)}`;default:return`${r}`}}function pa(e,t){let r=v8(e,t);if(Wi(r,t)!==e)throw new Error("Invalid value");return r}function k8(e){if(typeof e!="string")throw new Error("Invalid type");return e.length>=2&&e[0]==="0"?e[1]==="x"?["hex",pa(xe(e,2),16)]:["oct",pa(xe(e,1),8)]:["dec",pa(e,10)]}function C8(e){return fe(e,".")}function R8(e){if(typeof e!="string")throw new Error("Invalid type");return G(Xe(e,"."),t=>pa(t,10))}function Qp(){return W(wr(255),wr(255),wr(255),wr(255)).map(C8,R8)}function Mt(e){return W(Nt("dec","oct","hex"),wr(e)).map(x8,k8)}function Gd(e){return fe(e,".")}function qd(e){if(typeof e!="string")throw new Error("Invalid type");return Xe(e,".")}function E0(){return Be(W(Mt(255),Mt(255),Mt(255),Mt(255)).map(Gd,qd),W(Mt(255),Mt(255),Mt(65535)).map(Gd,qd),W(Mt(255),Mt(16777215)).map(Gd,qd),Mt(4294967295))}function ef(e){return e.length===0?[]:Xe(e,":")}function tf(e){let t=Xe(e,":");return t.length>=2&&t[t.length-1].length<=4?[Ue(t,0,t.length-2),`${t[t.length-2]}:${t[t.length-1]}`]:[Ue(t,0,t.length-1),t[t.length-1]]}function E8(e){return`${fe(e[0],":")}:${e[1]}`}function I8(e){if(typeof e!="string")throw new Error("Invalid type");return tf(e)}function A8(e){return`::${fe(e[0],":")}:${e[1]}`}function P8(e){if(typeof e!="string")throw new Error("Invalid type");if(!l3(e,"::"))throw new Error("Invalid value");return tf(xe(e,2))}function fa(e){return`${fe(e[0],":")}::${fe(e[1],":")}:${e[2]}`}function ha(e){if(typeof e!="string")throw new Error("Invalid type");let[t,r]=Xe(e,"::",2),[n,i]=tf(r);return[ef(t),n,i]}function T8(e){return fa([e[0],[e[1]],e[2]])}function O8(e){let t=ha(e);return[t[0],fe(t[1],":"),t[2]]}function Dv(e){return`${fe(e[0],":")}::${e[1]}`}function _v(e){if(typeof e!="string")throw new Error("Invalid type");let[t,r]=Xe(e,"::",2);return[ef(t),r]}function M8(e){return`${fe(e[0],":")}::`}function N8(e){if(typeof e!="string")throw new Error("Invalid type");if(!c3(e,"::"))throw new Error("Invalid value");return[ef(xe(e,0,e.length-2))]}function L8([e,t]){return`${e}:${t}`}function $8(e){if(typeof e!="string")throw new N("Invalid type");if(!e.includes(":"))throw new N("Invalid value");return e.split(":",2)}var D8="0123456789abcdef",Kd;function _8(){return Kd===void 0&&(Kd=oe({min:0,max:15}).map(e=>D8[e],e=>{if(typeof e!="string")throw new N("Not a string");if(e.length!==1)throw new N("Invalid length");let t=In(e,0);if(t<=57)return t-48;if(t<97)throw new N("Invalid character");return t-87})),Kd}function I0(){let e=Le({unit:_8(),minLength:1,maxLength:4,size:"max"}),t=Be(W(e,e).map(L8,$8),Qp());return Be(W(ce(e,{minLength:6,maxLength:6,size:"max"}),t).map(E8,I8),W(ce(e,{minLength:5,maxLength:5,size:"max"}),t).map(A8,P8),W(ce(e,{minLength:0,maxLength:1,size:"max"}),ce(e,{minLength:4,maxLength:4,size:"max"}),t).map(fa,ha),W(ce(e,{minLength:0,maxLength:2,size:"max"}),ce(e,{minLength:3,maxLength:3,size:"max"}),t).map(fa,ha),W(ce(e,{minLength:0,maxLength:3,size:"max"}),ce(e,{minLength:2,maxLength:2,size:"max"}),t).map(fa,ha),W(ce(e,{minLength:0,maxLength:4,size:"max"}),e,t).map(T8,O8),W(ce(e,{minLength:0,maxLength:5,size:"max"}),t).map(Dv,_v),W(ce(e,{minLength:0,maxLength:6,size:"max"}),e).map(Dv,_v),W(ce(e,{minLength:0,maxLength:7,size:"max"})).map(M8,N8))}var j8=class extends he{constructor(e){super(),this.name=e,this.underlying=null}generate(e,t){if(this.underlying===null)throw new Error(`Lazy arbitrary ${JSON.stringify(this.name)} not correctly initialized`);return this.underlying.generate(e,t)}canShrinkWithoutContext(e){if(this.underlying===null)throw new Error(`Lazy arbitrary ${JSON.stringify(this.name)} not correctly initialized`);return this.underlying.canShrinkWithoutContext(e)}shrink(e,t){if(this.underlying===null)throw new Error(`Lazy arbitrary ${JSON.stringify(this.name)} not correctly initialized`);return this.underlying.shrink(e,t)}},F8=Object.getOwnPropertyNames;function B8(){let e=new Zt;return r=>{let n=lt(e,r);return n!==void 0||(n=new j8(String(r)),vt(e,r,n)),n}}function A0(e){let t=B8(),r=e(t),n=F8(r);for(let i of n){let o=t(i);o.underlying=r[i]}return r}function V8(e,t){for(let r of e){let n=t[r]||{};if(n.maxLength===void 0||n.maxLength>0)return!0}return!1}function U8(e,t){if(e.length===0)return Ie([]);if(!V8(e,t))throw new N("Contraints on pool must accept at least one entity, maxLength cannot sum to 0");return W(...e.map(r=>ce(Ie(r),t[r]))).map(r=>_4(r)).filter(r=>r.length>0)}var jv=Object.assign,ma=Object.create,P0=Object.defineProperty,Fv=Object.getPrototypeOf,W8=Object.prototype;function H8(e){return P0(ma(null),kt,{configurable:!1,enumerable:!1,writable:!1,value:()=>e})}function Bv(e,t){return H8(`<${Ze(e)}#${t}>`)}function z8(e,t){let r=ma(W8);for(let n in e){let i=e[n],o=[];for(let s of i){let a=jv(ma(Fv(s)),s);o.push(a)}r[n]=o}for(let n in t){let i=t[n];for(let o=0;o!==i.length;++o){let s=i[o],a=r[n][o];for(let l in s){let c=s[l];a[l]=c.index===void 0?void 0:typeof c.index=="number"?r[c.type][c.index]:G(c.index,u=>r[c.type][u])}P0(a,kt,{configurable:!1,enumerable:!1,writable:!1,value:()=>{let l=e[n][o],c=jv(ma(Fv(l)),l);for(let u in s){let d=s[u];c[u]=d.index===void 0?void 0:typeof d.index=="number"?Bv(d.type,d.index):G(d.index,p=>Bv(d.type,p))}return Ae(c)}})}}return r}function G8(e){let t=0,r=new Zt;for(let i in e){let o=e[i];for(let s in o){let a=o[s];if(a.arity!=="inverse")continue;let l=lt(r,a.type);if(l===void 0&&(l=new Zt,vt(r,a.type,l)),Z4(l,a.forwardRelationship))throw new N(`Cannot declare multiple inverse relationships for the same forward relationship ${Ze(a.forwardRelationship)} on type ${Ze(a.type)}`);vt(l,a.forwardRelationship,{type:i,property:s}),t+=1}}let n=new Zt;if(t===0)return n;for(let i in e){let o=e[i],s=lt(r,i);if(s!==void 0)for(let a in o){let l=o[a];if(l.arity==="inverse")continue;let c=lt(s,a);if(c!==void 0){if(c.type!==l.type)throw new N(`Inverse relationship ${Ze(c.property)} on type ${Ze(c.type)} references forward relationship ${Ze(a)} but types do not match`);vt(n,l,c)}}}if(n.size!==t)throw new N("Some inverse relationships could not be matched with their corresponding forward relationships");return n}var Vv=Object.create;function q8(e,t,r){switch(e){case"exclusive":return Ie(r);case"successor":return va(oe({min:t!==void 0?t+1:0,max:r}));case"any":return va(oe({min:0,max:r}))}}function K8(e,t,r,n,i,o,s){let a=q8(t,r,n);switch(e){case"0-1":return Qt(a,{nil:void 0,depthIdentifier:i}).generate(o,s).value;case"1":return a.generate(o,s).value;case"many":{let l=0,c=Qt(Gr(a,{depthIdentifier:i,selector:d=>d===n?d+ ++l:d,minLength:1}),{nil:[],depthIdentifier:i}).generate(o,s).value,u=0;return G(c,d=>d===n?d+u++:d)}}}var J8=class extends he{constructor(e,t){super(),this.relations=e,this.defaultEntities=t;let r=new En,n=new En;for(let i in e){let o=e[i];for(let s in o){let a=o[s];if(a.arity!=="inverse"){if(a.strategy==="exclusive"){if(Sa(r,a.type))throw new N(`Cannot mix exclusive with other strategies for type ${Ze(a.type)}`);Ui(n,a.type)}else{if(Sa(n,a.type))throw new N(`Cannot mix exclusive with other strategies for type ${Ze(a.type)}`);Ui(r,a.type)}if(a.strategy==="successor"&&a.type!==i)throw new N("Cannot mix types for the strategy successor");if(a.strategy==="successor"&&a.arity==="1")throw new N("Cannot use an arity of 1 for the strategy successor")}}}this.inversedRelations=G8(e)}createEmptyLinksInstanceFor(e){let t=Vv(null),r=this.relations[e];for(let n in r){let i=r[n];i.arity==="inverse"&&(t[n]={type:i.type,index:[]})}return t}generate(e,t){let r=Vv(null);for(let o in this.relations)r[o]=[];let n=[];for(let o of this.defaultEntities)L(n,{type:o,indexInType:r[o].length,depth:0}),L(r[o],this.createEmptyLinksInstanceFor(o));let i=-1;for(;++i<n.length;){let o=n[i],s=this.relations[o.type],a=r[o.type][o.indexInType],l=Up();l.depth=o.depth;for(let c in s){let u=s[c];if(u.arity==="inverse")continue;let d=u.type,p=r[d],h=p.length,f=K8(u.arity,u.strategy||"any",d===o.type?o.indexInType:void 0,p.length,l,e,t);a[c]={type:d,index:f};let m=f===void 0?[]:typeof f=="number"?[f]:f;for(let g of m){g>=h&&(L(n,{type:d,indexInType:g,depth:o.depth+1}),L(p,this.createEmptyLinksInstanceFor(d)));let w=lt(this.inversedRelations,u);if(w!==void 0){let S=p[g][w.property].index;L(S,o.indexInType)}}}}return n.length=0,new $(r,void 0)}canShrinkWithoutContext(e){return!1}shrink(e,t){return V.nil()}};function Y8(e,t){return new J8(e,t)}var Z8=Object.keys,X8=Object.getOwnPropertySymbols,Q8=Object.getOwnPropertyDescriptor;function e7(e){let t=Z8(e),r=X8(e);for(let n=0;n!==r.length;++n){let i=r[n],o=Q8(e,i);o&&o.enumerable&&t.push(i)}return t}var t7=Object.create,r7=Object.defineProperty,n7=Object.getOwnPropertyDescriptor,i7=Object.getOwnPropertyNames,o7=Object.getOwnPropertySymbols;function s7(e,t){return function(n){let i=n[1]?t7(null):{};for(let o=0;o!==e.length;++o){let s=n[0][o];s!==t&&r7(i,e[o],{value:s,configurable:!0,enumerable:!0,writable:!0})}return i}}function a7(e,t){return function(n){if(typeof n!="object"||n===null)throw new Error("Incompatible instance received: should be a non-null object");let i=Object.getPrototypeOf(n)===null,o="constructor"in n&&n.constructor===Object;if(!i&&!o)throw new Error("Incompatible instance received: should be of exact type Object");let s=0,a=[];for(let u=0;u!==e.length;++u){let d=n7(n,e[u]);if(d!==void 0){if(!d.configurable||!d.enumerable||!d.writable)throw new Error("Incompatible instance received: should contain only c/e/w properties");if(d.get!==void 0||d.set!==void 0)throw new Error("Incompatible instance received: should contain only no get/set properties");++s,L(a,d.value)}else L(a,t)}let l=i7(n).length,c=o7(n).length;if(s!==l+c)throw new Error("Incompatible instance received: should not contain extra properties");return[a,i]}}var Jd=Symbol("no-key");function Yd(e,t,r){let n=e7(e),i=[];for(let o=0;o!==n.length;++o){let s=n[o],a=e[s];t===void 0||Jt(t,s)!==-1?L(i,a):L(i,Qt(a,{nil:Jd}))}return W(W(...i),r?Ie(!1):Ki()).map(s7(n,Jd),a7(n,Jd))}function Cp(e,t){let r=t!==void 0&&!!t.noNullPrototype;if(t===void 0||!("requiredKeys"in t&&t.requiredKeys!==void 0))return Yd(e,void 0,r);let n=("requiredKeys"in t?t.requiredKeys:void 0)||[];for(let i=0;i!==n.length;++i){let o=Object.getOwnPropertyDescriptor(e,n[i]);if(o===void 0)throw new Error("requiredKeys cannot reference keys that have not been defined in recordModel");if(!o.enumerable)throw new Error("requiredKeys cannot reference keys that are not enumerable in recordModel")}return Yd(e,n,r)}var l7=Object.create;function c7(e,t,r,n){let i=l7(null);for(let o in e){let s=e[o],a=Cp(s,n),l=t(o),c=r(o),u={minLength:l,maxLength:l};i[o]=c!==void 0?Gr(a,{...u,selector:c}):ce(a,u)}return Cp(i)}var Uv=Object.create,u7=Object.keys;function d7(e,t,r={}){let n=u7(e),i=r.initialPoolConstraints||Uv(null),o=r.unicityConstraints||Uv(null),s={noNullPrototype:r.noNullPrototype};return U8(n,i).chain(a=>Y8(t,a).chain(l=>c7(e,c=>l[c].length,c=>o[c],s).map(c=>z8(c,l))))}function p7(e){return fe(G(e,t=>t[t.length-1]===","?xe(t,0,t.length-1):t)," ")}function f7(e){return function(r){if(typeof r!="string")throw new Error("Unsupported type");let n=[];for(let i of Xe(r," "))if(e.canShrinkWithoutContext(i))L(n,i);else if(e.canShrinkWithoutContext(i+","))L(n,i+",");else throw new Error("Unsupported word");return n}}function h7(e){let t=fe(e," ");return t[t.length-1]===","&&(t=xe(t,0,t.length-1)),Np(t[0])+xe(t,1)+"."}function m7(e){return function(r){if(typeof r!="string")throw new Error("Unsupported type");if(r.length<2||r[r.length-1]!=="."||r[r.length-2]===","||Np(ap(r[0]))!==r[0])throw new Error("Unsupported value");let n=ap(r[0])+xe(r,1,r.length-1),i=[],o=Xe(n," ");for(let s=0;s!==o.length;++s){let a=o[s];if(e.canShrinkWithoutContext(a))L(i,a);else if(s===o.length-1&&e.canShrinkWithoutContext(a+","))L(i,a+",");else throw new Error("Unsupported word")}return i}}function g7(e){return fe(e," ")}function y7(e){if(typeof e!="string")throw new Error("Unsupported type");let t=Xe(e,". ");for(let r=0;r<t.length-1;++r)t[r]+=".";return t}var b=(e,t)=>({arbitrary:Ie(e),weight:t});function b7(){return Be(b("non",6),b("adipiscing",5),b("ligula",5),b("enim",5),b("pellentesque",5),b("in",5),b("augue",5),b("et",5),b("nulla",5),b("lorem",4),b("sit",4),b("sed",4),b("diam",4),b("fermentum",4),b("ut",4),b("eu",4),b("aliquam",4),b("mauris",4),b("vitae",4),b("felis",4),b("ipsum",3),b("dolor",3),b("amet,",3),b("elit",3),b("euismod",3),b("mi",3),b("orci",3),b("erat",3),b("praesent",3),b("egestas",3),b("leo",3),b("vel",3),b("sapien",3),b("integer",3),b("curabitur",3),b("convallis",3),b("purus",3),b("risus",2),b("suspendisse",2),b("lectus",2),b("nec,",2),b("ultricies",2),b("sed,",2),b("cras",2),b("elementum",2),b("ultrices",2),b("maecenas",2),b("massa,",2),b("varius",2),b("a,",2),b("semper",2),b("proin",2),b("nec",2),b("nisl",2),b("amet",2),b("duis",2),b("congue",2),b("libero",2),b("vestibulum",2),b("pede",2),b("blandit",2),b("sodales",2),b("ante",2),b("nibh",2),b("ac",2),b("aenean",2),b("massa",2),b("suscipit",2),b("sollicitudin",2),b("fusce",2),b("tempus",2),b("aliquam,",2),b("nunc",2),b("ullamcorper",2),b("rhoncus",2),b("metus",2),b("faucibus,",2),b("justo",2),b("magna",2),b("at",2),b("tincidunt",2),b("consectetur",1),b("tortor,",1),b("dignissim",1),b("congue,",1),b("non,",1),b("porttitor,",1),b("nonummy",1),b("molestie,",1),b("est",1),b("eleifend",1),b("mi,",1),b("arcu",1),b("scelerisque",1),b("vitae,",1),b("consequat",1),b("in,",1),b("pretium",1),b("volutpat",1),b("pharetra",1),b("tempor",1),b("bibendum",1),b("odio",1),b("dui",1),b("primis",1),b("faucibus",1),b("luctus",1),b("posuere",1),b("cubilia",1),b("curae,",1),b("hendrerit",1),b("velit",1),b("mauris,",1),b("gravida",1),b("ornare",1),b("ut,",1),b("pulvinar",1),b("varius,",1),b("turpis",1),b("nibh,",1),b("eros",1),b("id",1),b("aliquet",1),b("quis",1),b("lobortis",1),b("consectetuer",1),b("morbi",1),b("vehicula",1),b("tortor",1),b("tellus,",1),b("id,",1),b("eu,",1),b("quam",1),b("feugiat,",1),b("posuere,",1),b("iaculis",1),b("lectus,",1),b("tristique",1),b("mollis,",1),b("nisl,",1),b("vulputate",1),b("sem",1),b("vivamus",1),b("placerat",1),b("imperdiet",1),b("cursus",1),b("rutrum",1),b("iaculis,",1),b("augue,",1),b("lacus",1))}function w7(e={}){let{maxCount:t,mode:r="words",size:n}=e;if(t!==void 0&&t<1)throw new Error("lorem has to produce at least one word/sentence");let i=b7();return r==="sentences"?ce(ce(i,{minLength:1,size:"small"}).map(h7,m7(i)),{minLength:1,maxLength:t,size:n}).map(g7,y7):ce(i,{minLength:1,maxLength:t,size:n}).map(p7,f7(i))}function S7(e){return new Map(e)}function v7(e){if(typeof e!="object"||e===null)throw new Error("Incompatible instance received: should be a non-null object");if(!("constructor"in e)||e.constructor!==Map)throw new Error("Incompatible instance received: should be of exact type Map");return Array.from(e)}function x7(e){return e[0]}function Rp(e,t,r={}){return Gr(W(e,t),{minLength:r.minKeys,maxLength:r.maxKeys,size:r.size,selector:x7,depthIdentifier:r.depthIdentifier,comparator:"SameValueZero"}).map(S7,v7)}var aa=10;function k7(e){let t={};return(r=>{let n=r!==void 0?r:aa;if(!C1(t,n)){let i=aa;aa=n-1,t[n]=e(n),aa=i}return t[n]})}function C7(e){let t=0;for(;e>O(0);)e&O(1)&&++t,e>>=O(1);return t}function R7(e,t){let r=(O(1)<<O(t))-O(1),n=e&r,i=C7(e-n),o=n;for(let s=O(1);s<=r&&i!==0;s<<=O(1))o&s||(o|=s,--i);return o}function la(e,t){let r=[];for(let n=e.length-1;n!==-1;--n)t(e[n])!==e[n]&&L(r,n);return r}function E7(e,t,r){let n=O(0);for(let i=0,o=O(1);i!==r.length;++i,o<<=O(1))e[r[i]]!==t[r[i]]&&(n|=o);return n}function Zd(e,t,r,n){for(let i=0,o=O(1);i!==r.length;++i,o<<=O(1))t&o&&(e[r[i]]=n(e[r[i]]))}var I7=class extends he{constructor(e,t,r){super(),this.stringArb=e,this.toggleCase=t,this.untoggleAll=r}buildContextFor(e,t){return{rawString:e.value,rawStringContext:e.context,flags:t.value,flagsContext:t.context}}generate(e,t){let r=this.stringArb.generate(e,t),n=[...r.value],i=la(n,this.toggleCase),o=xr(O(0),(O(1)<<O(i.length))-O(1)).generate(e,void 0);return Zd(n,o.value,i,this.toggleCase),new $(fe(n,""),this.buildContextFor(r,o))}canShrinkWithoutContext(e){return typeof e!="string"?!1:this.untoggleAll!==void 0?this.stringArb.canShrinkWithoutContext(this.untoggleAll(e)):this.stringArb.canShrinkWithoutContext(e)}shrink(e,t){let r;if(t!==void 0)r=t;else if(this.untoggleAll!==void 0){let o=this.untoggleAll(e),s=[...e],a=[...o];r={rawString:o,rawStringContext:void 0,flags:E7(a,s,la(a,this.toggleCase)),flagsContext:void 0}}else r={rawString:e,rawStringContext:void 0,flags:O(0),flagsContext:void 0};let n=r.rawString,i=r.flags;return this.stringArb.shrink(n,r.rawStringContext).map(o=>{let s=[...o.value],a=la(s,this.toggleCase),l=R7(i,a.length);return Zd(s,l,a,this.toggleCase),new $(fe(s,""),this.buildContextFor(o,new $(l,void 0)))}).join(Sr(()=>{let o=[...n],s=la(o,this.toggleCase);return xr(O(0),(O(1)<<O(s.length))-O(1)).shrink(i,r.flagsContext).map(a=>{let l=Ue(o);return Zd(l,a.value,s,this.toggleCase),new $(fe(l,""),this.buildContextFor(new $(n,r.rawStringContext),a))})}))}};function A7(e){let t=Np(e);return t!==e?t:ap(e)}function P7(e,t){return new I7(e,t&&t.toggleCase||A7,t&&t.untoggleAll)}function T7(e){return y1.from(e)}function O7(e){if(!(e instanceof y1))throw new Error("Unexpected type");return[...e]}function T0(e={}){return ce(x0(e),e).map(T7,O7)}function M7(e){return b1.from(e)}function N7(e){if(!(e instanceof b1))throw new Error("Unexpected type");return[...e]}function O0(e={}){return ce(Ra(e),e).map(M7,N7)}function er(e,t,r,n,i){let o=n.name,{min:s=t,max:a=r,...l}=e;if(s>a)throw new Error(`Invalid range passed to ${o}: min must be lower than or equal to max`);if(s<t)throw new Error(`Invalid min value passed to ${o}: min must be greater than or equal to ${t}`);if(a>r)throw new Error(`Invalid max value passed to ${o}: max must be lower than or equal to ${r}`);return ce(i({min:s,max:a}),l).map(c=>n.from(c),c=>{if(!(c instanceof n))throw new Error("Invalid type");return[...c]})}function M0(e={}){return er(e,-32768,32767,b4,oe)}function N0(e={}){return er(e,-2147483648,2147483647,w4,oe)}function L0(e={}){return er(e,-128,127,y4,oe)}function $0(e={}){return er(e,0,65535,x4,oe)}function D0(e={}){return er(e,0,4294967295,k4,oe)}function _0(e={}){return er(e,0,255,S4,oe)}function j0(e={}){return er(e,0,255,v4,oe)}function L7(e){return e!==void 0}function Wv(e){return e.hasToBeCloned?new $(e.value_,{generatorContext:e.context},()=>e.value):new $(e.value_,{generatorContext:e.context})}function Hv(e){return e.hasToBeCloned?new $(e.value_,{shrinkerContext:e.context},()=>e.value):new $(e.value_,{shrinkerContext:e.context})}var $7=class extends he{constructor(e,t){super(),this.generatorArbitrary=e,this.shrinkerArbitrary=t}generate(e,t){return Wv(this.generatorArbitrary.generate(e,t))}canShrinkWithoutContext(e){return this.shrinkerArbitrary.canShrinkWithoutContext(e)}shrink(e,t){return L7(t)?"generatorContext"in t?this.generatorArbitrary.shrink(e,t.generatorContext).map(Wv):this.shrinkerArbitrary.shrink(e,t.shrinkerContext).map(Hv):this.shrinkerArbitrary.shrink(e,void 0).map(Hv)}};function Ep(e,t,r){let n=oe({min:e,max:t});return t===r?n:new $7(n,oe({min:e,max:r}))}var D7=Math.min,Ip=Math.max,zv=m1.isArray,_7=Object.entries;function j7(e){let t=-1;for(let r=0;r!==e.length;++r)t=Ip(t,e[r][0]);return t}function F7(e,t){let r=m1(e);for(let n=0;n!==t.length;++n){let i=t[n];i[0]<e&&(r[i[0]]=i[1])}return r}function F0(e,t={}){let{size:r,minNumElements:n=0,maxLength:i=zr,maxNumElements:o=i,noTrailingHole:s,depthIdentifier:a}=t,l=zi(r,zi(r,n,o,t.maxNumElements!==void 0),i,t.maxLength!==void 0);if(n>i)throw new Error("The minimal number of non-hole elements cannot be higher than the maximal length of the array");if(n>o)throw new Error("The minimal number of non-hole elements cannot be higher than the maximal number of non-holes");let c=D7(o,i),u=t.maxNumElements!==void 0||r!==void 0?r:"=",d=Gr(W(Ep(0,Ip(l-1,0),Ip(i-1,0)),e),{size:u,minLength:n,maxLength:c,selector:p=>p[0],depthIdentifier:a}).map(p=>F7(j7(p)+1,p),p=>{if(!zv(p))throw new Error("Not supported entry type");if(s&&p.length!==0&&!(p.length-1 in p))throw new Error("No trailing hole");return G(_7(p),h=>[Number(h[0]),h[1]])});return s||i===n?d:W(d,Ep(n,l,i)).map(p=>{let h=p[0],f=p[1];if(h.length>=f)return h;let m=Ue(h);return m.length=f,m},p=>{if(!zv(p))throw new Error("Not supported entry type");return[p,p.length]})}function B7(e){return new Set(e)}function V7(e){if(typeof e!="object"||e===null)throw new Error("Incompatible instance received: should be a non-null object");if(!("constructor"in e)||e.constructor!==Set)throw new Error("Incompatible instance received: should be of exact type Set");return Array.from(e)}function B0(e,t={}){return Gr(e,{minLength:t.minLength,maxLength:t.maxLength,size:t.size,depthIdentifier:t.depthIdentifier,comparator:"SameValueZero"}).map(B7,V7)}function U7(e,t,r,n,i,o){return zp(e,t,{maxKeys:r,noNullPrototype:!o,size:n,depthIdentifier:i})}function W7(e){return Be(L0(e),_0(e),j0(e),M0(e),$0(e),N0(e),D0(e),T0(e),O0(e))}function V0(e){let t=e.values,r=e.depthSize,n=Up(),i=e.maxDepth,o=e.maxKeys,s=e.size,a=Be(...t,...e.withBigInt?[xr()]:[],...e.withDate?[r0()]:[]);return A0(l=>({anything:Be({maxDepth:i,depthSize:r,depthIdentifier:n},a,l("array"),l("object"),...e.withMap?[l("map")]:[],...e.withSet?[l("set")]:[],...e.withObjectString?[l("anything").map(c=>Ae(c))]:[],...e.withTypedArray?[W7({maxLength:o,size:s})]:[],...e.withSparseArray?[F0(l("anything"),{maxNumElements:o,size:s,depthIdentifier:n})]:[]),keys:e.withObjectString?Be({arbitrary:e.key,weight:10},{arbitrary:l("anything").map(c=>Ae(c)),weight:1}):e.key,array:ce(l("anything"),{maxLength:o,size:s,depthIdentifier:n}),set:B0(l("anything"),{maxLength:o,size:s,depthIdentifier:n}),map:Be(Rp(l("keys"),l("anything"),{maxKeys:o,size:s,depthIdentifier:n}),Rp(l("anything"),l("anything"),{maxKeys:o,size:s,depthIdentifier:n})),object:U7(l("keys"),l("anything"),o,s,n,e.withNullPrototype)})).anything}function H7(e){switch(typeof e){case"boolean":return new g1(e);case"number":return new Yt(e);case"string":return new Ze(e);default:return e}}function z7(e){return typeof e!="object"||e===null||!("constructor"in e)?e:e.constructor===g1||e.constructor===Yt||e.constructor===Ze?e.valueOf():e}function G7(e){return e.map(H7,z7)}function q7(e,t){return[Ki(),R0(),Ra(),t(e),Be(t(e),Ie(null),Ie(void 0))]}function K7(e){return e.map(t=>G7(t))}function J7(e,t){return t?K7(e).concat(e):e}function U0(e={}){let t={size:e.size,unit:"stringUnit"in e?e.stringUnit:e.withUnicodeString?"binary":void 0};return{key:e.key!==void 0?e.key:Le(t),values:J7(e.values!==void 0?e.values:q7(t,Le),e.withBoxedValues===!0),depthSize:e.depthSize,maxDepth:e.maxDepth,maxKeys:e.maxKeys,size:e.size,withSet:e.withSet===!0,withMap:e.withMap===!0,withObjectString:e.withObjectString===!0,withNullPrototype:e.withNullPrototype===!0,withBigInt:e.withBigInt===!0,withDate:e.withDate===!0,withTypedArray:e.withTypedArray===!0,withSparseArray:e.withSparseArray===!0}}function Y7(e){return zp(e.key,V0(e),{maxKeys:e.maxKeys,noNullPrototype:!e.withNullPrototype,size:e.size})}function Z7(e){return Y7(U0(e))}function X7(e,t){let{depthSize:r,maxDepth:n}=t;return{key:e,values:[Ki(),Ra({noDefaultInfinity:!0,noNaN:!0}),e,Ie(null)],depthSize:r,maxDepth:n}}function W0(e){return V0(U0(e))}function H0(e={}){let t=e.noUnicodeString===void 0||e.noUnicodeString===!0;return W0(X7("stringUnit"in e?Le({unit:e.stringUnit}):t?Le():Le({unit:"binary"}),e))}var Q7=JSON.stringify,e9=JSON.parse;function t9(e){if(typeof e!="string")throw new N("Cannot unmap the passed value");return e9(e)}function r9(e={}){return H0(e).map(Q7,t9)}var n9=Object.defineProperties;function Xd(e,t){return`Stream(${t!==void 0?`${fe(t,",")}\u2026`:`${e} emitted`})`}var i9=class extends he{constructor(e,t){super(),this.arb=e,this.history=t}generate(e,t){let r=t!==void 0&&e.nextInt(1,t)===1?t:void 0,n=()=>{let i=this.history?[]:null,o=0,s=function*(a,l){for(;;){let c=a.generate(l,r).value;o++,i!==null&&L(i,c),yield c}};return n9(new V(s(this.arb,e.clone())),{toString:{value:()=>Xd(o,i!==null?i.map(Ae):void 0)},[kt]:{value:()=>Xd(o,i!==null?i.map(Ae):void 0)},[Xt]:{value:async()=>Xd(o,i!==null?await Promise.all(i.map(jp)):void 0)},[Ve]:{value:n,enumerable:!0}})};return new $(n(),void 0)}canShrinkWithoutContext(e){return!1}shrink(e,t){return V.nil()}};function o9(e,t){return new i9(e,t!==void 0&&typeof t=="object"&&"noHistory"in t?!t.noHistory:!0)}function s9(e){return fe(e,"")}function Gv(e){if(typeof e!="string")throw new Error("Cannot unmap the passed value");return[...e]}function a9(e){switch(e.length%4){case 0:return e;case 3:return`${e}=`;case 2:return`${e}==`;default:return xe(e,1)}}function l9(e){if(typeof e!="string"||e.length%4!==0)throw new Error("Invalid string received");let t=e.indexOf("=");if(t===-1)return e;if(e.length-t>2)throw new Error("Cannot unmap the passed value");return xe(e,0,t)}var Qd=String.fromCharCode;function c9(e){return e<26?Qd(e+65):e<52?Qd(e+97-26):e<62?Qd(e+48-52):e===62?"+":"/"}function u9(e){if(typeof e!="string"||e.length!==1)throw new N("Invalid entry");let t=In(e,0);return t>=65&&t<=90?t-65:t>=97&&t<=122?t-97+26:t>=48&&t<=57?t-48+52:t===43?62:t===47?63:-1}function d9(){return oe({min:0,max:63}).map(c9,u9)}function p9(e={}){let{minLength:t=0,maxLength:r=zr,size:n}=e,i=t+3-(t+3)%4,o=r-r%4,s=e.maxLength===void 0&&n===void 0?"=":n;if(i>o)throw new N("Minimal length should be inferior or equal to maximal length");if(i%4!==0)throw new N("Minimal length of base64 strings must be a multiple of 4");if(o%4!==0)throw new N("Maximal length of base64 strings must be a multiple of 4");let a=d9();return ce(a,{minLength:i,maxLength:o,size:s,experimentalCustomSlices:q_(a,Gv)}).map(s9,Gv).map(a9,l9)}var qv=Object.is;function f9(e,t){let r=new Zt,n=0;for(let i of e)qv(i,-0)?++n:vt(r,i,(lt(r,i)||0)+1);for(let i=0;i!==t.length;++i){if(!(i in t))return!1;let o=t[i];if(qv(o,-0)){if(n===0)return!1;--n}else{let s=lt(r,o)||0;if(s===0)return!1;vt(r,o,s-1)}}return!0}var h9=Math.floor,Kv=Math.log,m9=Array.isArray,z0=class extends he{constructor(e,t,r,n){if(super(),this.originalArray=e,this.isOrdered=t,this.minLength=r,this.maxLength=n,r<0||r>e.length)throw new Error("fc.*{s|S}ubarrayOf expects the minimal length to be between 0 and the size of the original array");if(n<0||n>e.length)throw new Error("fc.*{s|S}ubarrayOf expects the maximal length to be between 0 and the size of the original array");if(r>n)throw new Error("fc.*{s|S}ubarrayOf expects the minimal length to be inferior or equal to the maximal length");this.lengthArb=new Pn(r,n),this.biasedLengthArb=r!==n?new Pn(r,r+h9(Kv(n-r)/Kv(2))):this.lengthArb}generate(e,t){let r=(t!==void 0&&e.nextInt(1,t)===1?this.biasedLengthArb:this.lengthArb).generate(e,void 0),n=r.value,i=G(this.originalArray,(s,a)=>a),o=[];for(let s=0;s!==n;++s){let a=e.nextInt(0,i.length-1);L(o,i[a]),v1(i,a,1)}return this.isOrdered&&x1(o,(s,a)=>s-a),new $(G(o,s=>this.originalArray[s]),r.context)}canShrinkWithoutContext(e){return!m9(e)||!this.lengthArb.canShrinkWithoutContext(e.length)?!1:f9(this.originalArray,e)}shrink(e,t){return e.length===0?V.nil():this.lengthArb.shrink(e.length,t).map(r=>new $(Ue(e,e.length-r.value),r.context)).join(e.length>this.minLength?Sr(()=>this.shrink(Ue(e,1),void 0).filter(r=>this.minLength<=r.value.length+1).map(r=>new $([e[0],...r.value],void 0))):V.nil())}};function g9(e,t={}){let{minLength:r=0,maxLength:n=e.length}=t;return new z0(e,!0,r,n)}function y9(e,t={}){let{minLength:r=0,maxLength:n=e.length}=t;return new z0(e,!1,r,n)}var b9={10:"A",11:"B",12:"C",13:"D",14:"E",15:"F",16:"G",17:"H",18:"J",19:"K",20:"M",21:"N",22:"P",23:"Q",24:"R",25:"S",26:"T",27:"V",28:"W",29:"X",30:"Y",31:"Z"},w9={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,G:16,H:17,J:18,K:19,M:20,N:21,P:22,Q:23,R:24,S:25,T:26,V:27,W:28,X:29,Y:30,Z:31};function S9(e){return e<10?Ze(e):b9[e]}function Jv(e,t){let r="";for(;e.length+r.length<t;)r+="0";return r+e}function Yv(e){let t="";for(let r=e;r!==0;){let n=r>>5;t=S9(r-(n<<5))+t,r=n}return t}function v9(e,t){let r=~~(e/1073741824),n=e&1073741823;return Jv(Yv(r),t-6)+Jv(Yv(n),6)}function G0(e){return function(r){return v9(r,e)}}function ep(e){if(typeof e!="string")throw new N("Unsupported type");let t=0,r=1;for(let n=e.length-1;n>=0;--n){let i=w9[e[n]];if(i===void 0)throw new N("Unsupported type");t+=i*r,r*=32}return t}var x9=G0(10),Zv=G0(8);function k9(e){return x9(e[0])+Zv(e[1])+Zv(e[2])}function C9(e){if(typeof e!="string"||e.length!==26)throw new Error("Unsupported type");return[ep(e.slice(0,10)),ep(e.slice(10,18)),ep(e.slice(18))]}function R9(){return W(oe({min:0,max:0xffffffffffff}),oe({min:0,max:0xffffffffff}),oe({min:0,max:0xffffffffff})).map(k9,C9)}function q0(e){return u3(Wi(e,16),8,"0")}function E9(e){if(typeof e!="string")throw new Error("Unsupported type");if(e.length!==8)throw new Error("Unsupported value: invalid length");let t=parseInt(e,16);if(e!==q0(t))throw new Error("Unsupported value: invalid content");return t}function tp(e,t){return oe({min:e,max:t}).map(q0,E9)}function I9(e){return`${e[0]}-${xe(e[1],4)}-${xe(e[1],0,4)}-${xe(e[2],0,4)}-${xe(e[2],4)}${e[3]}`}var A9=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/;function P9(e){if(typeof e!="string")throw new Error("Unsupported type");let t=A9.exec(e);if(t===null)throw new Error("Unsupported type");return[t[1],t[3]+t[2],t[4]+xe(t[5],0,4),xe(t[5],4)]}var Xv="0123456789abcdef";function T9(e){let t={},r={};for(let o=0;o!==e.length;++o){let s=Xv[o],a=Xv[e[o]];t[s]=a,r[a]=s}function n(o){return t[o[0]]+xe(o,1)}function i(o){if(typeof o!="string")throw new N("Cannot produce non-string values");let s=r[o[0]];if(s===void 0)throw new N("Cannot produce strings not starting by the version in hexa code");return s+xe(o,1)}return{versionsApplierMapper:n,versionsApplierUnmapper:i}}function O9(e){let t={};for(let r of e){if(t[r])throw new N(`Version ${r} has been requested at least twice for uuid`);if(t[r]=!0,r<1||r>15)throw new N(`Version must be a value in [1-15] for uuid, but received ${r}`);if(~~r!==r)throw new N(`Version must be an integer value for uuid, but received ${r}`)}if(e.length===0)throw new N("Must provide at least one version for uuid")}function M9(e={}){let t=tp(0,4294967295),r=e.version!==void 0?typeof e.version=="number"?[e.version]:e.version:[1,2,3,4,5,6,7,8];O9(r);let{versionsApplierMapper:n,versionsApplierUnmapper:i}=T9(r);return W(t,tp(0,268435456*r.length-1).map(n,i),tp(2147483648,3221225471),t).map(I9,P9)}function N9(e){return Le({unit:Kp("-._~!$&'()*+,;=:"),size:e})}function L9([e,t,r]){return(e===null?"":`${e}@`)+t+(r===null?"":`:${r}`)}function $9(e){if(typeof e!="string")throw new Error("Unsupported");let t=e.indexOf("@"),r=t!==-1?e.substring(0,t):null,n=/:(\d+)$/.exec(e),i=n!==null?Number(n[1]):null;return[r,n!==null?e.substring(t+1,e.length-n[1].length-1):e.substring(t+1),i]}function D9(e){return`[${e}]`}function _9(e){if(typeof e!="string"||e[0]!=="["||e[e.length-1]!=="]")throw new Error("Unsupported");return e.substring(1,e.length-1)}function K0(e){let t=e||{},r=t.size,n=[Jp({size:r}),...t.withIPv4===!0?[Qp()]:[],...t.withIPv6===!0?[I0().map(D9,_9)]:[],...t.withIPv4Extended===!0?[E0()]:[]];return W(t.withUserInfo===!0?Qt(N9(r)):Ie(null),Be(...n),t.withPort===!0?Qt(wr(65535)):Ie(null)).map(L9,$9)}function J0(e){return Le({unit:Kp("-._~!$&'()*+,;=:@/?"),size:e})}function Y0(e={}){return J0(e.size)}function Z0(e={}){return Le({unit:Kp("-._~!$&'()*+,;=:@"),size:e.size})}function j9(e){return fe(G(e,t=>`/${t}`),"")}function F9(e){if(typeof e!="string")throw new Error("Incompatible value received: type");if(e.length!==0&&e[0]!=="/")throw new Error("Incompatible value received: start");return v1(Xe(e,"/"),1)}function B9(e){switch(e){case"xsmall":return["xsmall","xsmall"];case"small":return["small","xsmall"];case"medium":return["small","small"];case"large":return["medium","small"];case"xlarge":return["medium","medium"]}}function rp(e,t){return ce(Z0({size:e}),{size:t}).map(j9,F9)}function V9(e){let[t,r]=B9(e);return t===r?rp(t,r):Be(rp(t,r),rp(r,t))}function X0(e){return V9(Hp((e||{}).size))}function Q0(e={}){return J0(e.size)}function U9(e){let[t,r,n]=e;return`${t}://${r}${n}${e[3]===null?"":`?${e[3]}`}${e[4]===null?"":`#${e[4]}`}`}var W9=/^([[A-Za-z][A-Za-z0-9+.-]*):\/\/([^/?#]*)([^?#]*)(\?[A-Za-z0-9\-._~!$&'()*+,;=:@/?%]*)?(#[A-Za-z0-9\-._~!$&'()*+,;=:@/?%]*)?$/;function H9(e){if(typeof e!="string")throw new Error("Incompatible value received: type");let t=W9.exec(e);if(t===null)throw new Error("Incompatible value received");let r=t[1],n=t[2],i=t[3],o=t[4],s=t[5];return[r,n,i,o!==void 0?o.substring(1):null,s!==void 0?s.substring(1):null]}function z9(e){let t=e||{},r=Hp(t.size),n=t.authoritySettings!==void 0&&t.authoritySettings.size!==void 0?qi(t.authoritySettings.size,r):r,i={...t.authoritySettings,size:n};return W(Nt(...t.validSchemes||["http","https"]),K0(i),X0({size:r}),t.withQueryParameters===!0?Qt(Q0({size:r})):Ie(null),t.withFragments===!0?Qt(Y0({size:r})):Ie(null)).map(U9,H9)}var G9=class ex{constructor(t,r){this.commands=t,this.metadataForReplay=r,this[Ve]=function(){return new ex(this.commands.map(n=>n.clone()),this.metadataForReplay)}}[Symbol.iterator](){return this.commands[Symbol.iterator]()}toString(){let t=this.commands.filter(n=>n.hasRan).map(n=>n.toString()).join(","),r=this.metadataForReplay();return r.length!==0?`${t} /*${r}*/`:t}},q9=class Ap{constructor(t){if(this.cmd=t,this.hasRan=!1,Dp(t)){let r=t[kt];this[kt]=function(){return r.call(t)}}if(_p(t)){let r=t[Xt];this[Xt]=function(){return r.call(t)}}}check(t){return this.cmd.check(t)}run(t,r){return this.hasRan=!0,this.cmd.run(t,r)}clone(){return Hr(this.cmd)?new Ap(this.cmd[Ve]()):new Ap(this.cmd)}toString(){return this.cmd.toString()}},Qv=class{static parse(e){let[t,r]=e.split(":"),n=this.parseCounts(t),i=this.parseChanges(r);return this.parseOccurences(n,i)}static stringify(e){let t=this.countOccurences(e);return`${this.stringifyCounts(t)}:${this.stringifyChanges(t)}`}static intToB64(e){return e<26?String.fromCharCode(e+65):e<52?String.fromCharCode(e+97-26):e<62?String.fromCharCode(e+48-52):String.fromCharCode(e===62?43:47)}static b64ToInt(e){return e>="a"?e.charCodeAt(0)-97+26:e>="A"?e.charCodeAt(0)-65:e>="0"?e.charCodeAt(0)-48+52:e==="+"?62:63}static countOccurences(e){return e.reduce((t,r)=>(t.length===0||t[t.length-1].count===64||t[t.length-1].value!==r?t.push({value:r,count:1}):t[t.length-1].count+=1,t),[])}static parseOccurences(e,t){let r=[];for(let n=0;n!==e.length;++n){let i=e[n],o=t[n];for(let s=0;s!==i;++s)r.push(o)}return r}static stringifyChanges(e){let t="";for(let r=0;r<e.length;r+=6){let n=e.slice(r,r+6).reduceRight((i,o)=>(i<<1)+(o.value?1:0),0);t+=this.intToB64(n)}return t}static parseChanges(e){let t=e.split("").map(n=>this.b64ToInt(n)),r=[];for(let n=0;n!==t.length;++n){let i=t[n];for(let o=0;o!==6;++o,i>>=1)r.push(i%2===1)}return r}static stringifyCounts(e){return e.map(({count:t})=>this.intToB64(t-1)).join("")}static parseCounts(e){return e.split("").map(t=>this.b64ToInt(t)+1)}},K9=class extends he{constructor(e,t,r,n,i){super(),this.sourceReplayPath=n,this.disableReplayLog=i,this.oneCommandArb=Be(...e).map(o=>new q9(o)),this.lengthArb=Ep(0,t,r),this.replayPath=[],this.replayPathPosition=0}metadataForReplay(){return this.disableReplayLog?"":`replayPath=${JSON.stringify(Qv.stringify(this.replayPath))}`}buildValueFor(e,t){let r=e.map(i=>i.value_),n={shrunkOnce:t,items:e};return new $(new G9(r,()=>this.metadataForReplay()),n)}generate(e){let t=this.lengthArb.generate(e,void 0).value,r=Array(t);for(let n=0;n!==t;++n)r[n]=this.oneCommandArb.generate(e,void 0);return this.replayPathPosition=0,this.buildValueFor(r,!1)}canShrinkWithoutContext(e){return!1}filterOnExecution(e){let t=[];for(let r of e)r.value_.hasRan?(this.replayPath.push(!0),t.push(r)):this.replayPath.push(!1);return t}filterOnReplay(e){return e.filter((t,r)=>{let n=this.replayPath[this.replayPathPosition+r];if(n===void 0)throw new Error("Too short replayPath");if(!n&&t.value_.hasRan)throw new Error("Mismatch between replayPath and real execution");return n})}filterForShrinkImpl(e){this.replayPathPosition===0&&(this.replayPath=this.sourceReplayPath!==null?Qv.parse(this.sourceReplayPath):[]);let t=this.replayPathPosition<this.replayPath.length?this.filterOnReplay(e):this.filterOnExecution(e);return this.replayPathPosition+=e.length,t}shrink(e,t){if(t===void 0)return V.nil();let r=t,n=r.shrunkOnce,i=r.items,o=this.filterForShrinkImpl(i);if(o.length===0)return V.nil();let s=n?V.nil():new V([[]][Symbol.iterator]()),a=[];for(let l=0;l!==o.length;++l)a.push(Sr(()=>{let c=o.slice(0,l);return this.lengthArb.shrink(o.length-1-l,void 0).map(u=>c.concat(o.slice(o.length-(u.value+1))))}));for(let l=0;l!==o.length;++l)a.push(Sr(()=>this.oneCommandArb.shrink(o[l].value_,o[l].context).map(c=>o.slice(0,l).concat([c],o.slice(l+1)))));return s.join(...a).map(l=>this.buildValueFor(l.map(c=>new $(c.value_.clone(),c.context)),!0))}};function J9(e,t={}){let{size:r,maxCommands:n=zr,disableReplayLog:i=!1,replayPath:o=null}=t;return new K9(e,zi(r,0,n,t.maxCommands!==void 0),n,o,i)}var Y9=class{constructor(e,t){this.s=e,this.cmd=t}async check(e){let t=null,r=!1;if((await this.s.scheduleSequence([{label:`check@${this.cmd.toString()}`,builder:async()=>{try{r=await Promise.resolve(this.cmd.check(e))}catch(n){throw t=n,n}}}]).task).faulty)throw t;return r}async run(e,t){let r=null;if((await this.s.scheduleSequence([{label:`run@${this.cmd.toString()}`,builder:async()=>{try{await this.cmd.run(e,t)}catch(n){throw r=n,n}}}]).task).faulty)throw r}},Z9=function*(e,t){for(let r of t)yield new Y9(e,r)},tx=(e,t,r,n,i)=>e.then(o=>{let{model:s,real:a}=o,l=r;for(let c of t)l=i(l,()=>n(c,s,a));return l}),X9=(e,t)=>tx({then:o=>{o(e())}},t,void 0,(o,s,a)=>{o.check(s)&&o.run(s,a)},(o,s)=>s()),Q9=e=>typeof e.then=="function",rx=async(e,t,r=Promise.resolve())=>await tx({then:s=>{let a=e();return Q9(a)?a.then(s):s(a)}},t,r,async(s,a,l)=>{await s.check(a)&&await s.run(a,l)},(s,a)=>s.then(a));function e5(e,t){X9(e,t)}async function t5(e,t){await rx(e,t)}async function r5(e,t,r){let n=rx(t,Z9(e,r),e.schedule(Promise.resolve(),"startModel"));await e.waitFor(n),await e.waitAll()}var ca=e=>e(),nx=class Pp{constructor(t,r){this.act=t,this.taskSelector=r,this.lastTaskId=0,this.sourceTaskSelector=r.clone(),this.scheduledTasks=[],this.triggeredTasks=[],this.scheduledWatchers=[],this[Ve]=function(){return new Pp(this.act,this.sourceTaskSelector)}}static buildLog(t){return`[task\${${t.taskId}}] ${t.label.length!==0?`${t.schedulingType}::${t.label}`:t.schedulingType} ${t.status}${t.outputValue!==void 0?` with value ${s8(t.outputValue)}`:""}`}log(t,r,n,i,o,s){this.triggeredTasks.push({status:o,schedulingType:t,taskId:r,label:n,metadata:i,outputValue:s!==void 0?Ae(s):void 0})}scheduleInternal(t,r,n,i,o,s){let a=++this.lastTaskId,l,c=new Promise((u,d)=>{l=()=>{let p=Promise.resolve(s!==void 0?n.then(()=>s()):n);return p.then(h=>{this.log(t,a,r,i,"resolved",h),u(h)},h=>{this.log(t,a,r,i,"rejected",h),d(h)}),p}});return this.scheduledTasks.push({original:n,trigger:l,schedulingType:t,taskId:a,label:r,metadata:i,customAct:o}),this.scheduledWatchers.length!==0&&this.scheduledWatchers[0](),c}schedule(t,r,n,i){return this.scheduleInternal("promise",r||"",t,n,i||ca)}scheduleFunction(t,r){return(...n)=>this.scheduleInternal("function",`${t.name}(${n.map(Ae).join(",")})`,t(...n),void 0,r||ca)}scheduleSequence(t,r){let n={done:!1,faulty:!1},i={then:u=>u()},o=()=>{},s=new Promise(u=>{o=()=>u({done:n.done,faulty:n.faulty})}),a=()=>{n.faulty=!0,o()},l=()=>{n.done=!0,o()},c=(u,d)=>{if(u>=t.length){d.then(l,a);return}d.then(()=>{let p=t[u],[h,f,m]=typeof p=="function"?[p,p.name,void 0]:[p.builder,p.label,p.metadata],g=this.scheduleInternal("sequence",f,i,m,r||ca,()=>h());c(u+1,g)},a)};return c(0,i),Object.assign(n,{task:s})}count(){return this.scheduledTasks.length}internalWaitOne(){if(this.scheduledTasks.length===0)throw new Error("No task scheduled");let t=this.taskSelector.nextTaskIndex(this.scheduledTasks),[r]=this.scheduledTasks.splice(t,1);return r.customAct(()=>r.trigger().catch(n=>{}))}waitOne(t){let r=t||ca;return this.act(()=>r(()=>this.internalWaitOne()))}async waitAll(t){for(;this.scheduledTasks.length>0;)await this.waitOne(t)}async internalWaitFor(t,r){let n=!1,i=r.customAct,o=r.onWaitStart,s=r.onWaitIdle,a=r.launchAwaiterOnInit,l,c,u=0,d=null,p=null,h=async()=>{for(u=50,u=50;!n&&u>0;--u)await Promise.resolve();if(!n&&this.scheduledTasks.length>0)return o!==void 0&&o(),p=this.waitOne(i),p.then(()=>(p=null,h()),w=>{throw p=null,n=!0,c(w),w});!n&&s!==void 0&&s(),d=null},f=()=>{if(d!==null){u=51;return}d=h().catch(()=>{})},m=()=>{let w=this.scheduledWatchers.indexOf(f);w!==-1&&this.scheduledWatchers.splice(w,1),w===0&&this.scheduledWatchers.length!==0&&this.scheduledWatchers[0]()},g=new Promise((w,S)=>{l=y=>{m(),w(y)},c=y=>{m(),S(y)}});return t.then(w=>{n=!0,p===null?l(w):p.then(()=>l(w),S=>c(S))},w=>{n=!0,p===null?c(w):p.then(()=>c(w),()=>c(w))}),(this.scheduledTasks.length>0||a)&&this.scheduledWatchers.length===0&&f(),this.scheduledWatchers.push(f),g}waitNext(t,r){let n,i=t,o=i<=0?Promise.resolve():new Promise(s=>{n=()=>{--i<=0&&s()}});return this.internalWaitFor(o,{customAct:r,onWaitStart:n,onWaitIdle:void 0,launchAwaiterOnInit:!1})}waitIdle(t){let r,n=new Promise(i=>r=i);return this.internalWaitFor(n,{customAct:t,onWaitStart:void 0,onWaitIdle:r,launchAwaiterOnInit:!0})}waitFor(t,r){return this.internalWaitFor(t,{customAct:r,onWaitStart:void 0,onWaitIdle:void 0,launchAwaiterOnInit:!1})}report(){return[...this.triggeredTasks,...this.scheduledTasks.map(t=>({status:"pending",schedulingType:t.schedulingType,taskId:t.taskId,label:t.label,metadata:t.metadata}))]}toString(){return"schedulerFor()`\n"+this.report().map(Pp.buildLog).map(t=>`-> ${t}`).join(`
208
+ `)+"`"}};function ix(e){let t=0;return{clone:()=>ix(e),nextTaskIndex:r=>{if(e.length<=t)throw new Error("Invalid schedulerFor defined: too many tasks have been scheduled");let n=r.findIndex(i=>i.taskId===e[t]);if(n===-1)throw new Error("Invalid schedulerFor defined: unable to find next task");return++t,n}}}function e1(e,t){return new nx(e,ix(t))}function ox(e){let t=e.clone();return{clone:()=>ox(t),nextTaskIndex:r=>e.nextInt(0,r.length-1)}}var n5=class extends he{constructor(e){super(),this.act=e}generate(e,t){return new $(new nx(this.act,ox(e.clone())),void 0)}canShrinkWithoutContext(e){return!1}shrink(e,t){return V.nil()}};function i5(e){let{act:t=r=>r()}=e||{};return new n5(t)}function o5(e,t){let{act:r=n=>n()}=Array.isArray(e)?t||{}:e||{};return Array.isArray(e)?e1(r,e):function(n,...i){return e1(r,i)}}function s5(e={}){return er(e,O("-9223372036854775808"),O("9223372036854775807"),m4,xr)}function a5(e={}){return er(e,O(0),O("18446744073709551615"),g4,xr)}function l5(e,t){return t}var np=Math.floor,c5=Math.min;function pt(e,t){switch(e.type){case"Char":return{astNode:e,minLength:1};case"Repetition":switch(e.quantifier.kind){case"*":{let r=pt(e.expression,t);return{astNode:{type:"Repetition",quantifier:{...e.quantifier,kind:"Range",from:0,to:t},expression:r.astNode},minLength:0}}case"+":{let r=pt(e.expression,t),n=r.minLength>1?r.minLength:1;return{astNode:{type:"Repetition",quantifier:{...e.quantifier,kind:"Range",from:1,to:np(t/n)},expression:r.astNode},minLength:r.minLength}}case"?":{let r=pt(e.expression,t);return t<r.minLength?{astNode:{type:"Repetition",quantifier:{...e.quantifier,kind:"Range",from:0,to:0},expression:r.astNode},minLength:0}:{astNode:{...e,expression:r.astNode},minLength:0}}case"Range":{let r=e.quantifier.from>1?np(t/e.quantifier.from):t,n=pt(e.expression,r),i=n.minLength>1?n.minLength:1;return e.quantifier.to===void 0||e.quantifier.to*i>t?{astNode:{type:"Repetition",quantifier:{...e.quantifier,kind:"Range",to:np(t/i)},expression:n.astNode},minLength:e.quantifier.from*n.minLength}:{astNode:{...e,expression:n.astNode},minLength:e.quantifier.from*n.minLength}}default:return l5(e.quantifier,{astNode:e,minLength:0})}case"Quantifier":return{astNode:e,minLength:0};case"Alternative":{let r=0,n=[];for(let o=0;o!==e.expressions.length;++o){let s=t-r,a=pt(e.expressions[o],s);r+=a.minLength,L(n,{value:a,allowance:s})}let i=[];for(let o=0;o!==n.length;++o){let s=n[o].value,a=n[o].allowance,l=t-r+s.minLength;L(i,(l!==a?pt(s.astNode,l):s).astNode)}return{astNode:{...e,expressions:i},minLength:r}}case"CharacterClass":return{astNode:e,minLength:1};case"ClassRange":return{astNode:e,minLength:1};case"Group":{let r=pt(e.expression,t);return{astNode:{...e,expression:r.astNode},minLength:r.minLength}}case"Disjunction":{if(e.left===null){if(e.right===null)return{astNode:e,minLength:0};let i=pt(e.right,t),o=i.minLength>t?null:i.astNode;return{astNode:{...e,left:null,right:o},minLength:0}}if(e.right===null){let i=pt(e.left,t),o=i.minLength>t?null:i.astNode;return{astNode:{...e,left:o,right:null},minLength:0}}let r=pt(e.left,t),n=pt(e.right,t);return r.minLength>t?n:n.minLength>t?r:{astNode:{...e,left:r.astNode,right:n.astNode},minLength:c5(r.minLength,n.minLength)}}case"Assertion":return{astNode:e,minLength:0};case"Backreference":return{astNode:e,minLength:0};case"UnicodeProperty":return{astNode:e,minLength:1}}}function u5(e,t){return pt(e,t).astNode}function d5(e){return new Error(`Unsupported AST node! Received: ${Ae(e)}`)}function ga(e,t,r){if(!t&&!r)return e;let n={hasStart:!1,hasEnd:!1},i=sx(e,t,r,n),o=t&&!n.hasStart,s=r&&!n.hasEnd;if(!o&&!s)return i;let a=[];return o&&(a.push({type:"Assertion",kind:"^"}),a.push({type:"Repetition",quantifier:{type:"Quantifier",kind:"*",greedy:!0},expression:{type:"Char",kind:"meta",symbol:".",value:".",codePoint:NaN}})),a.push(i),s&&(a.push({type:"Repetition",quantifier:{type:"Quantifier",kind:"*",greedy:!0},expression:{type:"Char",kind:"meta",symbol:".",value:".",codePoint:NaN}}),a.push({type:"Assertion",kind:"$"})),{type:"Group",capturing:!1,expression:{type:"Alternative",expressions:a}}}function sx(e,t,r,n){switch(e.type){case"Char":return e;case"Repetition":return e;case"Quantifier":throw new Error("Wrongly defined AST tree, Quantifier nodes not supposed to be scanned!");case"Alternative":return n.hasStart=!0,n.hasEnd=!0,{...e,expressions:e.expressions.map((i,o)=>ga(i,t&&o===0,r&&o===e.expressions.length-1))};case"CharacterClass":return e;case"ClassRange":return e;case"Group":return{...e,expression:sx(e.expression,t,r,n)};case"Disjunction":return n.hasStart=!0,n.hasEnd=!0,{...e,left:e.left!==null?ga(e.left,t,r):null,right:e.right!==null?ga(e.right,t,r):null};case"Assertion":if(e.kind==="^"||e.kind==="Lookahead")return n.hasStart=!0,e;if(e.kind==="$"||e.kind==="Lookbehind")return n.hasEnd=!0,e;throw new Error(`Assertions of kind ${e.kind} not implemented yet!`);case"Backreference":return e;case"UnicodeProperty":return e;default:throw d5(e)}}function p5(e){return ga(e,!0,!0)}function t1(e,t){return e[t]>="\uD800"&&e[t]<="\uDBFF"&&e[t+1]>="\uDC00"&&e[t+1]<="\uDFFF"?2:1}function Ne(e){return e>="0"&&e<="9"||e>="a"&&e<="f"||e>="A"&&e<="F"}function Tp(e){return e>="0"&&e<="9"}function ax(e,t){for(let r=t;r!==e.length;++r){let n=e[r];if(n==="\\")r+=1;else if(n==="]")return r}throw new Error("Missing closing ']'")}function f5(e,t){let r=0;for(let n=t;n!==e.length;++n){let i=e[n];if(i==="\\")n+=1;else if(i===")"){if(r===0)return n;r-=1}else i==="["?n=ax(e,n):i==="("&&(r+=1)}throw new Error("Missing closing ')'")}function h5(e,t){let r=!1;for(let n=t;n!==e.length;++n){let i=e[n];if(!Tp(i)){if(t===n)return-1;if(i===","){if(r)return-1;r=!0}else return i==="}"?n:-1}}return-1}function m5(e,t,r,n){switch(e[t]){case"[":return n===1?t+1:ax(e,t+1)+1;case"{":{if(n===1)return t+1;let i=h5(e,t+1);return i===-1?t+1:i+1}case"(":return n===1?t+1:f5(e,t+1)+1;case"]":case"}":case")":return t+1;case"\\":{let i=e[t+1];switch(i){case"x":if(Ne(e[t+2])&&Ne(e[t+3]))return t+4;throw new Error(`Unexpected token '${e.substring(t,t+4)}' found`);case"u":if(e[t+2]==="{"){if(!r)return t+2;if(e[t+4]==="}"){if(Ne(e[t+3]))return t+5;throw new Error(`Unexpected token '${e.substring(t,t+5)}' found`)}if(e[t+5]==="}"){if(Ne(e[t+3])&&Ne(e[t+4]))return t+6;throw new Error(`Unexpected token '${e.substring(t,t+6)}' found`)}if(e[t+6]==="}"){if(Ne(e[t+3])&&Ne(e[t+4])&&Ne(e[t+5]))return t+7;throw new Error(`Unexpected token '${e.substring(t,t+7)}' found`)}if(e[t+7]==="}"){if(Ne(e[t+3])&&Ne(e[t+4])&&Ne(e[t+5])&&Ne(e[t+6]))return t+8;throw new Error(`Unexpected token '${e.substring(t,t+8)}' found`)}if(e[t+8]==="}"&&Ne(e[t+3])&&Ne(e[t+4])&&Ne(e[t+5])&&Ne(e[t+6])&&Ne(e[t+7]))return t+9;throw new Error(`Unexpected token '${e.substring(t,t+9)}' found`)}if(Ne(e[t+2])&&Ne(e[t+3])&&Ne(e[t+4])&&Ne(e[t+5]))return t+6;throw new Error(`Unexpected token '${e.substring(t,t+6)}' found`);case"p":case"P":{if(!r)return t+2;let o=t+2;for(;o<e.length&&e[o]!=="}";o+=e[o]==="\\"?2:1);if(e[o]!=="}")throw new Error("Invalid \\P definition");return o+1}case"k":{let o=t+2;for(;o<e.length&&e[o]!==">";++o);if(e[o]!==">"){if(!r)return t+2;throw new Error("Invalid \\k definition")}return o+1}default:if(Tp(i)){let o=r?e.length:Math.min(t+4,e.length),s=t+2;for(;s<o&&Tp(e[s]);++s);return s}return t+(r?t1(e,t+1):1)+1}}default:return t+(r?t1(e,t):1)}}function ua(e,t,r,n){let i=m5(e,t,r,n);return e.substring(t,i)}var r1={gc:"General_Category",sc:"Script",scx:"Script_Extensions"},Ea={ASCII:"ASCII",ASCII_Hex_Digit:"AHex",Alphabetic:"Alpha",Any:"Any",Assigned:"Assigned",Bidi_Control:"Bidi_C",Bidi_Mirrored:"Bidi_M",Case_Ignorable:"CI",Cased:"Cased",Changes_When_Casefolded:"CWCF",Changes_When_Casemapped:"CWCM",Changes_When_Lowercased:"CWL",Changes_When_NFKC_Casefolded:"CWKCF",Changes_When_Titlecased:"CWT",Changes_When_Uppercased:"CWU",Dash:"Dash",Default_Ignorable_Code_Point:"DI",Deprecated:"Dep",Diacritic:"Dia",Emoji:"Emoji",Emoji_Component:"Emoji_Component",Emoji_Modifier:"Emoji_Modifier",Emoji_Modifier_Base:"Emoji_Modifier_Base",Emoji_Presentation:"Emoji_Presentation",Extended_Pictographic:"Extended_Pictographic",Extender:"Ext",Grapheme_Base:"Gr_Base",Grapheme_Extend:"Gr_Ext",Hex_Digit:"Hex",IDS_Binary_Operator:"IDSB",IDS_Trinary_Operator:"IDST",ID_Continue:"IDC",ID_Start:"IDS",Ideographic:"Ideo",Join_Control:"Join_C",Logical_Order_Exception:"LOE",Lowercase:"Lower",Math:"Math",Noncharacter_Code_Point:"NChar",Pattern_Syntax:"Pat_Syn",Pattern_White_Space:"Pat_WS",Quotation_Mark:"QMark",Radical:"Radical",Regional_Indicator:"RI",Sentence_Terminal:"STerm",Soft_Dotted:"SD",Terminal_Punctuation:"Term",Unified_Ideograph:"UIdeo",Uppercase:"Upper",Variation_Selector:"VS",White_Space:"space",XID_Continue:"XIDC",XID_Start:"XIDS"},Gi=nf(Ea),rf={Cased_Letter:"LC",Close_Punctuation:"Pe",Connector_Punctuation:"Pc",Control:["Cc","cntrl"],Currency_Symbol:"Sc",Dash_Punctuation:"Pd",Decimal_Number:["Nd","digit"],Enclosing_Mark:"Me",Final_Punctuation:"Pf",Format:"Cf",Initial_Punctuation:"Pi",Letter:"L",Letter_Number:"Nl",Line_Separator:"Zl",Lowercase_Letter:"Ll",Mark:["M","Combining_Mark"],Math_Symbol:"Sm",Modifier_Letter:"Lm",Modifier_Symbol:"Sk",Nonspacing_Mark:"Mn",Number:"N",Open_Punctuation:"Ps",Other:"C",Other_Letter:"Lo",Other_Number:"No",Other_Punctuation:"Po",Other_Symbol:"So",Paragraph_Separator:"Zp",Private_Use:"Co",Punctuation:["P","punct"],Separator:"Z",Space_Separator:"Zs",Spacing_Mark:"Mc",Surrogate:"Cs",Symbol:"S",Titlecase_Letter:"Lt",Unassigned:"Cn",Uppercase_Letter:"Lu"},Op=nf(rf),lx={Adlam:"Adlm",Ahom:"Ahom",Anatolian_Hieroglyphs:"Hluw",Arabic:"Arab",Armenian:"Armn",Avestan:"Avst",Balinese:"Bali",Bamum:"Bamu",Bassa_Vah:"Bass",Batak:"Batk",Bengali:"Beng",Bhaiksuki:"Bhks",Bopomofo:"Bopo",Brahmi:"Brah",Braille:"Brai",Buginese:"Bugi",Buhid:"Buhd",Canadian_Aboriginal:"Cans",Carian:"Cari",Caucasian_Albanian:"Aghb",Chakma:"Cakm",Cham:"Cham",Cherokee:"Cher",Common:"Zyyy",Coptic:["Copt","Qaac"],Cuneiform:"Xsux",Cypriot:"Cprt",Cyrillic:"Cyrl",Deseret:"Dsrt",Devanagari:"Deva",Dogra:"Dogr",Duployan:"Dupl",Egyptian_Hieroglyphs:"Egyp",Elbasan:"Elba",Ethiopic:"Ethi",Georgian:"Geor",Glagolitic:"Glag",Gothic:"Goth",Grantha:"Gran",Greek:"Grek",Gujarati:"Gujr",Gunjala_Gondi:"Gong",Gurmukhi:"Guru",Han:"Hani",Hangul:"Hang",Hanifi_Rohingya:"Rohg",Hanunoo:"Hano",Hatran:"Hatr",Hebrew:"Hebr",Hiragana:"Hira",Imperial_Aramaic:"Armi",Inherited:["Zinh","Qaai"],Inscriptional_Pahlavi:"Phli",Inscriptional_Parthian:"Prti",Javanese:"Java",Kaithi:"Kthi",Kannada:"Knda",Katakana:"Kana",Kayah_Li:"Kali",Kharoshthi:"Khar",Khmer:"Khmr",Khojki:"Khoj",Khudawadi:"Sind",Lao:"Laoo",Latin:"Latn",Lepcha:"Lepc",Limbu:"Limb",Linear_A:"Lina",Linear_B:"Linb",Lisu:"Lisu",Lycian:"Lyci",Lydian:"Lydi",Mahajani:"Mahj",Makasar:"Maka",Malayalam:"Mlym",Mandaic:"Mand",Manichaean:"Mani",Marchen:"Marc",Medefaidrin:"Medf",Masaram_Gondi:"Gonm",Meetei_Mayek:"Mtei",Mende_Kikakui:"Mend",Meroitic_Cursive:"Merc",Meroitic_Hieroglyphs:"Mero",Miao:"Plrd",Modi:"Modi",Mongolian:"Mong",Mro:"Mroo",Multani:"Mult",Myanmar:"Mymr",Nabataean:"Nbat",New_Tai_Lue:"Talu",Newa:"Newa",Nko:"Nkoo",Nushu:"Nshu",Ogham:"Ogam",Ol_Chiki:"Olck",Old_Hungarian:"Hung",Old_Italic:"Ital",Old_North_Arabian:"Narb",Old_Permic:"Perm",Old_Persian:"Xpeo",Old_Sogdian:"Sogo",Old_South_Arabian:"Sarb",Old_Turkic:"Orkh",Oriya:"Orya",Osage:"Osge",Osmanya:"Osma",Pahawh_Hmong:"Hmng",Palmyrene:"Palm",Pau_Cin_Hau:"Pauc",Phags_Pa:"Phag",Phoenician:"Phnx",Psalter_Pahlavi:"Phlp",Rejang:"Rjng",Runic:"Runr",Samaritan:"Samr",Saurashtra:"Saur",Sharada:"Shrd",Shavian:"Shaw",Siddham:"Sidd",SignWriting:"Sgnw",Sinhala:"Sinh",Sogdian:"Sogd",Sora_Sompeng:"Sora",Soyombo:"Soyo",Sundanese:"Sund",Syloti_Nagri:"Sylo",Syriac:"Syrc",Tagalog:"Tglg",Tagbanwa:"Tagb",Tai_Le:"Tale",Tai_Tham:"Lana",Tai_Viet:"Tavt",Takri:"Takr",Tamil:"Taml",Tangut:"Tang",Telugu:"Telu",Thaana:"Thaa",Thai:"Thai",Tibetan:"Tibt",Tifinagh:"Tfng",Tirhuta:"Tirh",Ugaritic:"Ugar",Vai:"Vaii",Warang_Citi:"Wara",Yi:"Yiii",Zanabazar_Square:"Zanb"},n1=nf(lx);function nf(e){let t={};for(let r of Object.keys(e)){let n=e[r];if(Array.isArray(n))for(let i=0;i!==n.length;++i)t[n[i]]=r;else t[n]=r}return t}function g5(e){return e in rf||e in Op}function y5(e){return e in Ea||e in Gi}function i1(e){if(e in r1)return r1[e];if(e in Gi)return Gi[e];if(e in Ea||e==="General_Category"||e==="Script"||e==="Script_Extensions")return e;throw new Error(`Unknown Unicode property name: ${e}`)}function o1(e){if(e in Op)return Op[e];if(e in n1)return n1[e];if(e in Gi)return Gi[e];if(e in rf||e in lx||e in Ea)return e;throw new Error(`Unknown Unicode property value: ${e}`)}function b5(e,t){let r=e.indexOf("=");if(r!==-1){let n=e.substring(0,r),i=e.substring(r+1);return{type:"UnicodeProperty",name:n,value:i,negative:t,shorthand:!1,binary:!1,canonicalName:i1(n),canonicalValue:o1(i)}}if(g5(e))return{type:"UnicodeProperty",name:"General_Category",value:e,negative:t,shorthand:!0,binary:!1,canonicalName:"General_Category",canonicalValue:o1(e)};if(y5(e)){let n=i1(e);return{type:"UnicodeProperty",name:e,value:e,negative:t,shorthand:!1,binary:!0,canonicalName:n,canonicalValue:n}}throw new Error(`Invalid Unicode property: ${e}`)}var ip=String.fromCodePoint;function op(e){let t=e.pop();if(t===void 0)throw new Error("Unable to extract token preceeding the currently parsed one");return t}function cx(e){return e>="0"&&e<="9"}function ya(e,t){return{type:"Char",kind:"simple",symbol:e,value:e,codePoint:e.codePointAt(0)||-1,escaped:t}}function kn(e,t){return{type:"Char",kind:"meta",symbol:t,value:e,codePoint:t.codePointAt(0)||-1}}function yr(e,t){if(e.length>1)return{type:"Alternative",expressions:e};if(!t&&e.length===0)throw new Error("Unsupported no token");return e[0]}function sp(e){if(e[0]==="\\"){let t=e[1];switch(t){case"x":{let r=e.substring(2),n=Number.parseInt(r,16);return{type:"Char",kind:"hex",symbol:ip(n),value:e,codePoint:n}}case"u":{if(e==="\\u")return ya("u",!0);let r=e[2]==="{"?e.substring(3,e.length-1):e.substring(2),n=Number.parseInt(r,16);return{type:"Char",kind:"unicode",symbol:ip(n),value:e,codePoint:n}}case"0":return kn(e,"\0");case"n":return kn(e,`
209
+ `);case"f":return kn(e,"\f");case"r":return kn(e,"\r");case"t":return kn(e," ");case"v":return kn(e,"\v");case"w":case"W":case"d":case"D":case"s":case"S":case"b":case"B":return{type:"Char",kind:"meta",symbol:void 0,value:e,codePoint:NaN};default:if(cx(t)){let r=e.substring(1),n=Number(r);return{type:"Char",kind:"decimal",symbol:ip(n),value:e,codePoint:n}}if(e.length>2&&(t==="p"||t==="P")){let r=t==="P";return b5(e.substring(3,e.length-1),r)}return ya(e.substring(1),!0)}}return ya(e)}function Cn(e,t,r,n){let i=null;for(let o=0,s=ua(t,o,r,0);o!==t.length;o+=s.length,s=ua(t,o,r,0)){let a=s[0];switch(a){case"|":i===null&&(i=[]),i.push(yr(e.splice(0),!0)||null);break;case".":e.push({type:"Char",kind:"meta",symbol:s,value:s,codePoint:NaN});break;case"*":case"+":{let l=op(e);e.push({type:"Repetition",expression:l,quantifier:{type:"Quantifier",kind:a,greedy:!0}});break}case"?":{let l=op(e);l.type==="Repetition"?(l.quantifier.greedy=!1,e.push(l)):e.push({type:"Repetition",expression:l,quantifier:{type:"Quantifier",kind:a,greedy:!0}});break}case"{":{if(s==="{"){e.push(ya(s));break}let l=op(e),c=s.substring(1,s.length-1).split(","),u=Number(c[0]),d=c.length===1?u:c[1].length!==0?Number(c[1]):void 0;e.push({type:"Repetition",expression:l,quantifier:{type:"Quantifier",kind:"Range",greedy:!0,from:u,to:d}});break}case"[":{let l=s.substring(1,s.length-1),c=[],u,d=!1;for(let p=0,h=ua(l,p,r,1);p!==l.length;p+=h.length,h=ua(l,p,r,1)){if(p===0&&h==="^"){u=!0;continue}let f=sp(h);if(h==="-")c.push(f),d=!0;else{let m=c.length>=2?c[c.length-2]:void 0;d&&m!==void 0&&m.type==="Char"&&f.type==="Char"?(c.pop(),c.pop(),c.push({type:"ClassRange",from:m,to:f})):c.push(f),d=!1}}e.push({type:"CharacterClass",expressions:c,negative:u});break}case"(":{let l=s.substring(1,s.length-1),c=[];if(l[0]==="?")if(l[1]===":")Cn(c,l.substring(2),r,n),e.push({type:"Group",capturing:!1,expression:yr(c)});else if(l[1]==="="||l[1]==="!")Cn(c,l.substring(2),r,n),e.push({type:"Assertion",kind:"Lookahead",negative:l[1]==="!"?!0:void 0,assertion:yr(c)});else if(l[1]==="<"&&(l[2]==="="||l[2]==="!"))Cn(c,l.substring(3),r,n),e.push({type:"Assertion",kind:"Lookbehind",negative:l[2]==="!"?!0:void 0,assertion:yr(c)});else{let u=l.split(">");if(u.length<2||u[0][1]!=="<")throw new Error(`Unsupported regex content found at ${JSON.stringify(s)}`);let d=++n.lastIndex,p=u[0].substring(2);n.named.set(p,d),Cn(c,u.slice(1).join(">"),r,n),e.push({type:"Group",capturing:!0,nameRaw:p,name:p,number:d,expression:yr(c)})}else{let u=++n.lastIndex;Cn(c,l,r,n),e.push({type:"Group",capturing:!0,number:u,expression:yr(c)})}break}default:if(s==="^")e.push({type:"Assertion",kind:s});else if(s==="$")e.push({type:"Assertion",kind:s});else if(s[0]==="\\"&&cx(s[1])){let l=Number(s.substring(1));r||l<=n.lastIndex?e.push({type:"Backreference",kind:"number",number:l,reference:l}):e.push(sp(s))}else if(s[0]==="\\"&&s[1]==="k"&&s.length!==2){let l=s.substring(3,s.length-1);e.push({type:"Backreference",kind:"name",number:n.named.get(l)||0,referenceRaw:l,reference:l})}else e.push(sp(s));break}}if(i!==null){i.push(yr(e.splice(0),!0)||null);let o={type:"Disjunction",left:i[0],right:i[1]};for(let s=2;s<i.length;++s)o={type:"Disjunction",left:o,right:i[s]};e.push(o)}}function w5(e){let t=Jt([...e.flags],"u")!==-1,r=e.source,n=[];return Cn(n,r,t,{lastIndex:0,named:new Map}),yr(n)}var S5=String.fromCodePoint;function v5(e){return e.binary||e.shorthand?e.canonicalValue:`${e.canonicalName}=${e.canonicalValue}`}function s1(e,t,r,n){let i=-1;for(let o=t;o<=r;++o)if(e.test(S5(o)))i===-1&&(i=o);else if(i!==-1){let s=o-1;n.push(i===s?[s]:[i,s]),i=-1}i!==-1&&n.push(i===r?[r]:[i,r])}function x5(e,t){let r=new RegExp(`^\\${t?"P":"p"}{${e}}$`,"u"),n=[];return s1(r,0,55295,n),s1(r,57344,1114111,n),n}var a1=new Map;function k5(e,t){let r=`${t?"P":"p"}:${e}`,n=a1.get(r);if(n!==void 0)return n;let i=x5(e,t);return a1.set(r,i),i}function C5(e){return Tn(...G(k5(v5(e),e.negative),t=>fp(t)))}var R5=String.fromCodePoint,l1=[..."abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"],c1=[..."0123456789"],u1=[...` \r
210
+ \v\f`],Mp=[...`\r
211
+ `],ux=[...""],E5=[...Mp,...ux],Wr=()=>Le({unit:"grapheme-ascii",minLength:1,maxLength:1});function d1(e){return new N(`Unsupported AST node! Received: ${Ae(e)}`)}function br(e,t,r){switch(e.type){case"Char":if(e.kind==="meta")switch(e.value){case"\\w":return Nt(...l1);case"\\W":return Wr().filter(n=>Jt(l1,n)===-1);case"\\d":return Nt(...c1);case"\\D":return Wr().filter(n=>Jt(c1,n)===-1);case"\\s":return Nt(...u1);case"\\S":return Wr().filter(n=>Jt(u1,n)===-1);case"\\b":case"\\B":throw new N(`Meta character ${e.value} not implemented yet!`);case".":{let n=r.dotAll?ux:E5;return Wr().filter(i=>Jt(n,i)===-1)}}if(e.symbol===void 0)throw new N(`Unexpected undefined symbol received for non-meta Char! Received: ${Ae(e)}`);return Ie(e.symbol);case"Repetition":{let n=br(e.expression,t,r);switch(e.quantifier.kind){case"*":return Le({...t,unit:n});case"+":return Le({...t,minLength:1,unit:n});case"?":return Le({...t,minLength:0,maxLength:1,unit:n});case"Range":return Le({...t,minLength:e.quantifier.from,maxLength:e.quantifier.to,unit:n});default:throw d1(e.quantifier)}}case"Quantifier":throw new N("Wrongly defined AST tree, Quantifier nodes not supposed to be scanned!");case"Alternative":return W(...G(e.expressions,n=>br(n,t,r))).map(n=>fe(n,""));case"CharacterClass":if(e.negative){let n=G(e.expressions,i=>br(i,t,r));return Wr().filter(i=>k1(n,o=>!o.canShrinkWithoutContext(i)))}return Be(...G(e.expressions,n=>br(n,t,r)));case"ClassRange":{let n=e.from.codePoint,i=e.to.codePoint;return oe({min:n,max:i}).map(o=>R5(o),o=>{if(typeof o!="string")throw new N("Invalid type");if([...o].length!==1)throw new N("Invalid length");return In(o,0)})}case"Group":return br(e.expression,t,r);case"Disjunction":return Be(e.left!==null?br(e.left,t,r):Ie(""),e.right!==null?br(e.right,t,r):Ie(""));case"Assertion":if(e.kind==="^"||e.kind==="$")return r.multiline?e.kind==="^"?Be(Ie(""),W(Le({unit:Wr()}),Nt(...Mp)).map(n=>`${n[0]}${n[1]}`,n=>{if(typeof n!="string"||n.length===0)throw new N("Invalid type");return[xe(n,0,n.length-1),n[n.length-1]]})):Be(Ie(""),W(Nt(...Mp),Le({unit:Wr()})).map(n=>`${n[0]}${n[1]}`,n=>{if(typeof n!="string"||n.length===0)throw new N("Invalid type");return[n[0],xe(n,1)]})):Ie("");throw new N(`Assertions of kind ${e.kind} not implemented yet!`);case"Backreference":throw new N("Backreference nodes not implemented yet!");case"UnicodeProperty":return C5(e);default:throw d1(e)}}function I5(e,t={}){for(let a of e.flags)if(a!=="d"&&a!=="g"&&a!=="m"&&a!=="s"&&a!=="u")throw new N(`Unable to use "stringMatching" against a regex using the flag ${a}`);let r=t.maxLength,n={size:t.size,maxLength:r},i={multiline:e.multiline,dotAll:e.dotAll},o=p5(w5(e));r!==void 0&&(o=u5(o,r));let s=br(o,n,i);return r!==void 0?s.filter(a=>[...a].length<=r):s}function A5(e){let t=[];for(let r=0;r!==e.length;++r)t.push(e[r].next());return t}function P5(e,t){for(let r=0;r!==e.length;++r)t[r]=e[r].next()}function T5(e){for(let t=0;t!==e.length;++t)if(e[t].done)return!0;return!1}function*O5(...e){let t=A5(e);for(;!T5(t);)yield t.map(r=>r.value),P5(e,t)}function*M5(e){let t=e;for(;;)yield t,++t}var N5=class extends he{constructor(e,t){super(),this.arb=e,this.maxShrinks=t}generate(e,t){let r=this.arb.generate(e,t);return this.valueMapper(r,0)}canShrinkWithoutContext(e){return this.arb.canShrinkWithoutContext(e)}shrink(e,t){return this.isSafeContext(t)?this.safeShrink(e,t.originalContext,t.length):this.safeShrink(e,void 0,0)}safeShrink(e,t,r){let n=this.maxShrinks-r;return n<=0?V.nil():new V(O5(this.arb.shrink(e,t),M5(r+1))).take(n).map(i=>this.valueMapper(i[0],i[1]))}valueMapper(e,t){let r={originalContext:e.context,length:t};return new $(e.value,r)}isSafeContext(e){return e!=null&&typeof e=="object"&&"originalContext"in e&&"length"in e}};function L5(e,t){return new N5(e,t)}var $5=Xw({Arbitrary:()=>he,ExecutionStatus:()=>J3,PreconditionFailure:()=>kr,Random:()=>Fp,Stream:()=>V,Value:()=>$,VerbosityLevel:()=>I3,__commitHash:()=>j5,__type:()=>D5,__version:()=>_5,anything:()=>W0,array:()=>ce,assert:()=>yD,asyncDefaultReportMessage:()=>U1,asyncModelRun:()=>t5,asyncProperty:()=>R3,asyncStringify:()=>jp,asyncToStringMethod:()=>Xt,base64String:()=>p9,bigInt:()=>xr,bigInt64Array:()=>s5,bigUint64Array:()=>a5,boolean:()=>Ki,chainUntil:()=>a_,check:()=>H1,clone:()=>p_,cloneIfNeeded:()=>Rn,cloneMethod:()=>Ve,commands:()=>J9,compareBooleanFunc:()=>d8,compareFunc:()=>f8,configureGlobal:()=>x3,constant:()=>Ie,constantFrom:()=>Nt,context:()=>t_,createDepthIdentifier:()=>Up,date:()=>r0,defaultReportMessage:()=>V1,dictionary:()=>zp,domain:()=>Jp,double:()=>Ra,emailAddress:()=>Rj,entityGraph:()=>d7,falsy:()=>QD,float:()=>x0,float32Array:()=>T0,float64Array:()=>O0,func:()=>g8,gen:()=>ED,getDepthContextFor:()=>Vp,hasAsyncToStringMethod:()=>_p,hasCloneMethod:()=>Hr,hasToStringMethod:()=>Dp,hash:()=>xa,infiniteStream:()=>o9,int16Array:()=>M0,int32Array:()=>N0,int8Array:()=>L0,integer:()=>oe,ipV4:()=>Qp,ipV4Extended:()=>E0,ipV6:()=>I0,json:()=>r9,jsonValue:()=>H0,letrec:()=>A0,limitShrink:()=>L5,lorem:()=>w7,map:()=>Rp,mapToConstant:()=>Tn,maxSafeInteger:()=>R0,maxSafeNat:()=>S8,memo:()=>k7,mixedCase:()=>P7,modelRun:()=>e5,nat:()=>wr,noBias:()=>va,noShrink:()=>ka,object:()=>Z7,oneof:()=>Be,option:()=>Qt,pre:()=>X6,property:()=>E3,readConfigureGlobal:()=>xt,record:()=>Cp,resetConfigureGlobal:()=>k3,sample:()=>wD,scheduledModelRun:()=>r5,scheduler:()=>i5,schedulerFor:()=>o5,set:()=>B0,shuffledSubarray:()=>y9,sparseArray:()=>F0,statistics:()=>vD,stream:()=>vr,string:()=>Le,stringMatching:()=>I5,stringify:()=>Ae,subarray:()=>g9,toStringMethod:()=>kt,tuple:()=>W,uint16Array:()=>$0,uint32Array:()=>D0,uint8Array:()=>_0,uint8ClampedArray:()=>j0,ulid:()=>R9,uniqueArray:()=>Gr,uuid:()=>M9,webAuthority:()=>K0,webFragments:()=>Y0,webPath:()=>X0,webQueryParameters:()=>Q0,webSegment:()=>Z0,webUrl:()=>z9}),D5="module",_5="4.8.0",j5="c0da76fbcf6470339ad7bb2f0dfcebee06ede56c",ze=$5;function dx(e){return e?.values!=null&&e.values.length>0?ze.constantFrom(...e.values):F5(e)}function F5(e){if(e?.type==="number")return ze.integer();if(e?.type==="boolean")return ze.boolean();let t=e?.generator==null?void 0:V5[e.generator];if(t!=null)return t;let r=e?.constraints?.kind==="string"?e.constraints:void 0;return ze.string({maxLength:r?.maxLength,minLength:r?.minLength??1}).filter(n=>n.trim().length>0&&n===n.trim())}var B5="abcdefghijklmnopqrstuvwxyz0123456789".match(/./g)??[],On=e=>ze.array(ze.constantFrom(...B5),{maxLength:e,minLength:1}).map(t=>t.join("")),of=(e,t)=>ze.array(On(10),{maxLength:t,minLength:1}).map(r=>r.join(e)),V5={"company.name":of(" ",3),"date.iso":U5(),"internet.email":W5(),"internet.url":H5(),"lorem.slug":of("-",3),"lorem.word":On(10),"person.fullName":of(" ",2)};function U5(){return ze.date({max:new Date("2030-12-31T23:59:59.999Z"),min:new Date("2020-01-01T00:00:00.000Z"),noInvalidDate:!0}).map(e=>e.toISOString())}function W5(){return ze.tuple(On(12),On(10),ze.constantFrom("com","dev","io","org","ai")).map(([e,t,r])=>`${e}@${t}.${r}`)}function H5(){return ze.tuple(ze.constantFrom("http","https"),On(12),ze.constantFrom("app","com","dev","io","org"),ze.array(On(8),{maxLength:3})).map(([e,t,r,n])=>{let i=n.length===0?"":`/${n.join("/")}`;return`${e}://${t}.${r}${i}`})}var px=new WeakMap;function sf(e){let t=px.get(e);if(t!=null)return t;let r=Object.fromEntries(Object.entries(e.paramSpaces).map(([n,i])=>[n,q5(i)]));return px.set(e,r),r}var G5=24301;function q5(e){let[t]=ze.sample(dx(e),{numRuns:1,seed:G5});if(t==null)throw new Error("arbitrary produced no sample");return t}function Ji(e){return{aborted:!0,findings:[],fired:[],teardown:e}}function lf(e,t){return new K5(J5(e,t))}async function J5({browser:e,hub:t,request:r},n){if(n.aborted)return af(Ji("skipped"));let i=tF({lockfile:r.lockfile,options:r.options,runId:r.runId,signal:n}),o=async s=>{try{return af(await Z5({browser:e,established:s,hub:t,request:r,signal:n}))}catch(a){return fx(Zn(a))}};return eF(i,r).match(o,s=>Y5(s,i.teardown))}async function Y5(e,t){return e.kind!=="aborted"?fx(e):af(Ji(await hx(t)))}function hx(e){return e().match(()=>"done",()=>"failed")}async function Z5(e){let t=await X5(e);if(t.kind==="completed")return await e.established.teardown().match(Mo,mm),{aborted:!1,...t.result};let r=await hx(e.established.teardown);if(t.kind==="aborted")return Ji(r);throw t.error}async function X5({browser:e,established:t,hub:r,request:n,signal:i}){try{dr(i);let{close:o,driver:s,emitAssertion:a}=await Gc({baseUrl:n.options.baseUrl,browser:e,capture:{hub:r,runId:n.runId},clientState:t.clientState,engine:Uc(nF(n.lockfile)),reader:t.reader,session:t.auth});try{return{kind:"completed",result:await _c({canon:rc(n.lockfile),classify:tc(n.lockfile),driver:s,initialState:{snapshot:t.snapshot},onAssertion:a,onEvent:n.onEvent??Mo,sequence:Q5(n.lockfile,n.testName,n.params),...Di(n.lockfile)},i)}}finally{await o()}}catch(o){return xm(o)?{kind:"aborted"}:{error:o,kind:"threw"}}}function Q5(e,t,r){return Bo(e,t).map(n=>({params:{...sf(n),...r},transition:n}))}function eF(e,t){return bc(t.lockfile,t.testName,{generate:Vc(Bc(t.options.generate,t.runId),new Date().toISOString()),materialize:e.materialize,params:t.params}).map(r=>({auth:r.auth,clientState:r.clientState,reader:e.reader,snapshot:r.snapshot,teardown:e.teardown}))}function tF({lockfile:e,options:t,runId:r,signal:n}){let i=Yc({baseUrl:t.engineUrl,runId:r,secret:t.secret},n);return{materialize:wc(i.setupWorld),reader:Jc(e.entities,rF(e),i.query),teardown:i.teardown}}function rF(e){return e.singletons.filter(t=>t.source==="backend").map(t=>t.name)}function nF(e){return e.singletons.filter(t=>t.source==="client").map(t=>t.name)}function cf({debugDir:e,headed:t,writeOtlpPortFile:r}){let n=Og({headed:t}),i,o,s=async()=>(i??=Td({debugDir:e,writeOtlpPortFile:r}),o=await i,o),a=async(c,u)=>{if(u.aborted)return oF(Ji("skipped"));try{let d=await s();return c.options.headed&&!t?await qc(!0,async p=>lf({browser:p,hub:d,request:c},u)):await lf({browser:await n.acquire(),hub:d,request:c},u)}catch(d){return iF(Zn(d))}};return{close:async()=>{await n.close();let c=i;i=void 0,o=void 0,c!=null&&await c.then(u=>u.close()).catch(()=>{})},injectSpan:(c,u)=>{o?.injectSpan(c,u)},runOnce:(c,u)=>new sF(a(c,u))}}function Cr(e){let t=rn(e),r=Di(e);return[...Ic(t,r.invariants).map(n=>({gap:n,kind:"cascade-gap"})),...Ec(r.laws).map(n=>({conflict:n,kind:"law-conflict"}))]}function mx(e){return`${_.good("OK")} \u2014 no static model violations (${String(e)} tests)`}function Rr(e){return[`${_.bad("FAIL")} \u2014 ${String(e.length)} static model violation(s):`,...e.map(t=>tu(t))].join(`
212
212
 
213
- `)}function ka(e){return[`${_.warn("WARN")} \u2014 ${String(e.length)} model coverage gap(s) (not blocking):`,...e.map(t=>` ${_5(t)}`),`Coverage gaps mean the model can't catch regressions there. Stub the missing flows. ${V("explore")}`].join(`
214
- `)}function _5(e){return e.kind==="entity-never-given"?`${e.entity} \u2014 declared but no implemented test seeds it; no flow exercises this state`:`${e.entity} \u2014 seeded but never asserted created/updated/deleted; mutations to it ship unchecked`}import{graphql as j5}from"gql.tada";var F5=j5(`
213
+ `)}function Ia(e){return[`${_.warn("WARN")} \u2014 ${String(e.length)} model coverage gap(s) (not blocking):`,...e.map(t=>` ${aF(t)}`),`Coverage gaps mean the model can't catch regressions there. Stub the missing flows. ${j("explore")}`].join(`
214
+ `)}function aF(e){return e.kind==="entity-never-given"?`${e.entity} \u2014 declared but no implemented test seeds it; no flow exercises this state`:`${e.entity} \u2014 seeded but never asserted created/updated/deleted; mutations to it ship unchecked`}import{graphql as lF}from"gql.tada";var cF=lF(`
215
215
  query DoctorAuthViewer {
216
216
  currentUser {
217
217
  name
218
218
  email
219
219
  }
220
220
  }
221
- `),V5="Failed to connect to Ripplo server";async function ux({serverUrl:e,token:t}){try{let r=await D({config:ir({serverUrl:e,token:t}),document:F5,variables:void 0});return r.currentUser==null?{kind:"invalid"}:{email:r.currentUser.email,kind:"valid"}}catch(r){return(r instanceof Error?r.message:String(r)).startsWith(V5)?{kind:"unreachable"}:{kind:"invalid"}}}function px(e){switch(e.type){case"settings":return!e.valid;case"env-files":return e.missing.length>0;case"token":return e.status==="missing"||e.status==="invalid";case"dev-server":return!e.reachable;case"dev-session":return e.status!=="active";case"preconditions":return e.count>0&&!e.configured;case"engine-endpoint":return!e.reachable;case"adapter-enabled":return e.status!=="enabled";case"webhook-verification":return!e.rejectsUnsigned;case"preconditions-validation":return!e.valid;case"workflows":return e.invalidNames.length>0;case"browser":return!e.installed;case"lockfile":return e.status!=="match";case"pre-commit-hook":return!e.installed}}async function fx(e){let t=await U5(e),r={missing:kl(e),type:"env-files"},n=await W5(),i=H5(),o=await be(e),s=z5(o),a=G5(o),l=await q5(e,o),c=Y5(e),u=await J5(t,o);return[t,r,n,...u,s,a,l,c,i]}async function U5(e){let t=await Gh(e);return t.valid?{missingFields:[],type:"settings",valid:!0}:{missingFields:t.errors.map(n=>n.path).filter(n=>n.length>0),type:"settings",valid:!1}}async function W5(){let e=lt();if(e==null||e.length===0)return{email:void 0,status:"missing",type:"token"};let t=await ux({serverUrl:nt(),token:e});return t.kind==="valid"?{email:t.email,status:"valid",type:"token"}:{email:void 0,status:t.kind,type:"token"}}function H5(){let e=B5.executablePath();return{installed:Ca.existsSync(e),type:"browser"}}function z5(e){if(e.isErr())return{errorCount:1,errors:[{message:Oe(e.error),path:".ripplo/"}],found:!1,type:"preconditions-validation",valid:!1};let t=xr(e.value);return{errorCount:t.length,errors:t.length===0?[]:[{message:kr(t),path:""}],found:!0,type:"preconditions-validation",valid:t.length===0}}function G5(e){if(e.isErr())return{invalidNames:[],invalidWorkflows:[],total:0,type:"workflows",valid:0};let t=e.value.tests.length;return{invalidNames:[],invalidWorkflows:[],total:t,type:"workflows",valid:t}}async function q5(e,t){if(t.isErr())return{status:"missing",type:"lockfile"};let r=$t(pt,t.value),n=await Ca.promises.readFile(dx.join(e,Qe),"utf8").catch(()=>null);return{status:K5(n,r),type:"lockfile"}}function K5(e,t){return e==null?"missing":e===t?"match":"stale"}function Y5(e){let t=dx.join(e,".git","hooks","pre-commit");return Ca.existsSync(t)?{installed:Ca.readFileSync(t,"utf8").includes("ripplo compile --check"),type:"pre-commit-hook"}:{installed:!1,type:"pre-commit-hook"}}async function J5(e,t){if(!e.valid||t.isErr())return[];let r=Kr().map(a=>({appUrl:a.appUrl,engineUrl:a.engineUrl,webhookSecret:a.webhookSecret})).unwrapOr(void 0);if(r==null)return[];let n=[],i=await Kl(r.appUrl)==null;n.push({appUrl:r.appUrl,reachable:i,type:"dev-server"});let o=await Hh(process.cwd());n.push(o);let s=await Z5(r,t);return n.push(...s),n}async function Z5(e,t){let r=t.isOk()?t.value.entities.length:0,n=e.engineUrl.length>0,i={configured:n,count:r,endpointReachable:void 0,type:"preconditions"};if(r===0||!n)return[i];let o=Q5(e.appUrl,e.engineUrl);if(o==null)return[i];let s=await Kl(o)==null,a=[];if(a.push({configured:!0,count:r,endpointReachable:s,type:"preconditions"}),hx(e.engineUrl)&&a.push({reachable:s,type:"engine-endpoint",url:o}),!s)return a;let l=await qh({appUrl:e.appUrl,engineUrl:e.engineUrl});a.push({rejectsUnsigned:l==null,type:"webhook-verification"});let c=await X5({engineUrl:o,webhookSecret:e.webhookSecret});return a.push({status:c,type:"adapter-enabled",url:o}),a}async function X5({engineUrl:e,webhookSecret:t}){if(t.length===0)return"no-secret";let r=JSON.stringify({});try{let n=await fetch(`${e}/setup`,{body:r,headers:{"Content-Type":"application/json",...gl({body:r,secret:t})},method:"PUT",signal:AbortSignal.timeout(5e3)});return n.status===404?"disabled":n.status===401||n.status===403?"bad-secret":"enabled"}catch{return"unreachable"}}function hx(e){return e.startsWith("http://")||e.startsWith("https://")}function Q5(e,t){return hx(t)?t:`${e}${t}`}async function mx(){let e=process.cwd(),t=await fx(e),r=t.map(i=>zh(i));process.stdout.write(r.join(`
221
+ `),uF="Failed to connect to Ripplo server";async function gx({serverUrl:e,token:t}){try{let r=await D({config:ar({serverUrl:e,token:t}),document:cF,variables:void 0});return r.currentUser==null?{kind:"invalid"}:{email:r.currentUser.email,kind:"valid"}}catch(r){return(r instanceof Error?r.message:String(r)).startsWith(uF)?{kind:"unreachable"}:{kind:"invalid"}}}function bx(e){switch(e.type){case"settings":return!e.valid;case"env-files":return e.missing.length>0;case"token":return e.status==="missing"||e.status==="invalid";case"dev-server":return!e.reachable;case"dev-session":return e.status!=="active";case"preconditions":return e.count>0&&!e.configured;case"engine-endpoint":return!e.reachable;case"adapter-enabled":return e.status!=="enabled";case"webhook-verification":return!e.rejectsUnsigned;case"preconditions-validation":return!e.valid;case"workflows":return e.invalidNames.length>0;case"browser":return!e.installed;case"lockfile":return e.status!=="match";case"pre-commit-hook":return!e.installed}}async function wx(e){let t=await pF(e),r={missing:Il(e),type:"env-files"},n=await fF(),i=hF(),o=await we(e),s=mF(o),a=gF(o),l=await yF(e,o),c=wF(e),u=await SF(t,o);return[t,r,n,...u,s,a,l,c,i]}async function pF(e){let t=await Xh(e);return t.valid?{missingFields:[],type:"settings",valid:!0}:{missingFields:t.errors.map(n=>n.path).filter(n=>n.length>0),type:"settings",valid:!1}}async function fF(){let e=ut();if(e==null||e.length===0)return{email:void 0,status:"missing",type:"token"};let t=await gx({serverUrl:it(),token:e});return t.kind==="valid"?{email:t.email,status:"valid",type:"token"}:{email:void 0,status:t.kind,type:"token"}}function hF(){let e=dF.executablePath();return{installed:Aa.existsSync(e),type:"browser"}}function mF(e){if(e.isErr())return{errorCount:1,errors:[{message:Oe(e.error),path:".ripplo/"}],found:!1,type:"preconditions-validation",valid:!1};let t=Cr(e.value);return{errorCount:t.length,errors:t.length===0?[]:[{message:Rr(t),path:""}],found:!0,type:"preconditions-validation",valid:t.length===0}}function gF(e){if(e.isErr())return{invalidNames:[],invalidWorkflows:[],total:0,type:"workflows",valid:0};let t=e.value.tests.length;return{invalidNames:[],invalidWorkflows:[],total:t,type:"workflows",valid:t}}async function yF(e,t){if(t.isErr())return{status:"missing",type:"lockfile"};let r=Ft(ht,t.value),n=await Aa.promises.readFile(yx.join(e,et),"utf8").catch(()=>null);return{status:bF(n,r),type:"lockfile"}}function bF(e,t){return e==null?"missing":e===t?"match":"stale"}function wF(e){let t=yx.join(e,".git","hooks","pre-commit");return Aa.existsSync(t)?{installed:Aa.readFileSync(t,"utf8").includes("ripplo compile --check"),type:"pre-commit-hook"}:{installed:!1,type:"pre-commit-hook"}}async function SF(e,t){if(!e.valid||t.isErr())return[];let r=Yr().map(a=>({appUrl:a.appUrl,engineUrl:a.engineUrl,webhookSecret:a.webhookSecret})).unwrapOr(void 0);if(r==null)return[];let n=[],i=await Xl(r.appUrl)==null;n.push({appUrl:r.appUrl,reachable:i,type:"dev-server"});let o=await Yh(process.cwd());n.push(o);let s=await vF(r,t);return n.push(...s),n}async function vF(e,t){let r=t.isOk()?t.value.entities.length:0,n=e.engineUrl.length>0,i={configured:n,count:r,endpointReachable:void 0,type:"preconditions"};if(r===0||!n)return[i];let o=kF(e.appUrl,e.engineUrl);if(o==null)return[i];let s=await Xl(o)==null,a=[];if(a.push({configured:!0,count:r,endpointReachable:s,type:"preconditions"}),Sx(e.engineUrl)&&a.push({reachable:s,type:"engine-endpoint",url:o}),!s)return a;let l=await Qh({appUrl:e.appUrl,engineUrl:e.engineUrl});a.push({rejectsUnsigned:l==null,type:"webhook-verification"});let c=await xF({engineUrl:o,webhookSecret:e.webhookSecret});return a.push({status:c,type:"adapter-enabled",url:o}),a}async function xF({engineUrl:e,webhookSecret:t}){if(t.length===0)return"no-secret";let r=JSON.stringify({});try{let n=await fetch(`${e}/setup`,{body:r,headers:{"Content-Type":"application/json",...Sl({body:r,secret:t})},method:"PUT",signal:AbortSignal.timeout(5e3)});return n.status===404?"disabled":n.status===401||n.status===403?"bad-secret":"enabled"}catch{return"unreachable"}}function Sx(e){return e.startsWith("http://")||e.startsWith("https://")}function kF(e,t){return Sx(t)?t:`${e}${t}`}async function vx(){let e=process.cwd(),t=await wx(e),r=t.map(i=>Zh(i));process.stdout.write(r.join(`
222
222
  `)+`
223
- `);let n=t.some(i=>px(i));process.exit(n?1:0)}import Ra from"fs";import{graphql as tF}from"gql.tada";import eF from"fs";function Cr(e){return Qt(e,"hooks-paused")}function De(e){return eF.existsSync(Cr(e))||Eo(e)?!1:Zr(e)}var rF=tF(`
223
+ `);let n=t.some(i=>bx(i));process.exit(n?1:0)}import Pa from"fs";import{graphql as RF}from"gql.tada";import CF from"fs";function Er(e){return Et(e,"hooks-paused")}function De(e){return CF.existsSync(Er(e))||To(e)?!1:Qr(e)}var EF=RF(`
224
224
  mutation CliSetHooksPaused($projectId: String!, $paused: Boolean!) {
225
225
  setHooksPaused(projectId: $projectId, paused: $paused) {
226
226
  id
227
227
  }
228
228
  }
229
- `);async function gx(){process.stdin.isTTY||(process.stderr.write("`ripplo hooks pause` must be invoked interactively from a terminal \u2014 refusing non-TTY invocation. Bypassing the gate is a human decision, not an agent decision.\n"),process.exit(1));let e=process.cwd();Ot(e);let t=Cr(e);if(Ra.existsSync(t)){process.stdout.write("Hooks already paused. Run `ripplo hooks resume` to re-enable.\n");return}Ra.writeFileSync(t,""),await bx(e,!0),process.stdout.write("Hooks paused. Pre-edit gates and stop enforcement are off until you run `ripplo hooks resume`.\n")}async function yx(){let e=process.cwd(),t=Cr(e);if(!Ra.existsSync(t)){process.stdout.write(`Hooks already active.
230
- `);return}Ra.unlinkSync(t),await bx(e,!1),process.stdout.write(`Hooks resumed.
231
- `)}async function bx(e,t){let r=je(e).unwrapOr(void 0);r!=null&&await D({config:r,document:rF,variables:{paused:t,projectId:r.projectId}}).catch(n=>{process.stderr.write(`Warning: could not push hook-pause state to the server (${n instanceof Error?n.message:String(n)}) \u2014 the dashboard may show stale hook status.
232
- `)})}import Mn from"fs";import Nn from"path";import{input as kx,select as Cx}from"@inquirer/prompts";import{graphql as MF}from"gql.tada";import{exec as oF,execFile as sF}from"child_process";import{err as aF,ok as wx}from"neverthrow";import xe from"fs";import{createRequire as lF}from"module";import me from"path";import{promisify as vx}from"util";import{chromium as cF}from"playwright";import{writeFile as nF}from"fs/promises";import iF from"path";async function Tn(e){let t=await be(e);return t.isOk()&&await nF(iF.join(e,Qe),$t(pt,t.value)),t}function Zt(e){return e.tests.filter(t=>t.stub).map(t=>t.name)}var uF=["@ripplo/testing","@ripplo/instrument"],Sx=".ripplo/ripplo.lock linguist-generated=true",dF=[".ripplo/debug/",".ripplo/.local/"],pF=vx(oF),fF=vx(sF);async function xx({cwd:e,onStep:t}){t("Scaffolding project files..."),CF({cwd:e}),t("Updating .gitignore..."),RF(e),t("Marking ripplo.lock as generated..."),yF(e),t("Installing dependencies...");let r=await mF(e),n=[];if(r.ok||n.push({manualCommand:r.cmd,message:`Couldn't auto-install dev dependencies (${r.reason}). Run the command below, then run \`ripplo lint\` to compile the lockfile.`}),r.ok){t("Compiling initial lockfile...");let o=await gF(e);o!=null&&n.push({manualCommand:void 0,message:o})}return t("Setting up browser..."),(await hF()).map(()=>n)}async function hF(){let e=cF.executablePath();if(xe.existsSync(e))return wx(void 0);F.info("Chromium not found. Installing via Playwright...");let t=lF(import.meta.url),r=me.dirname(t.resolve("playwright/package.json")),n=me.join(r,"cli.js");return await fF(process.execPath,[n,"install","chromium"]),xe.existsSync(e)?wx(void 0):aF({kind:"playwright-install-failed"})}async function mF(e){let t=bF({cwd:e,pm:kF(e)});F.info("Installing dependencies: %s",t);try{return await pF(t,{cwd:e}),{ok:!0}}catch(r){let n=r instanceof Error?r.message.split(`
233
- `)[0]??r.message:String(r);return F.warn("Install failed (%s): %s",t,n),{cmd:t,ok:!1,reason:n}}}async function gF(e){try{await Tn(e);return}catch(t){return`Couldn't compile initial lockfile: ${t instanceof Error?t.message:String(t)}.`}}function yF(e){let t=me.join(e,".gitattributes"),r=xe.existsSync(t)?xe.readFileSync(t,"utf8"):"";if(r.includes(Sx))return;let n=r.length===0||r.endsWith(`
229
+ `);async function xx(){process.stdin.isTTY||(process.stderr.write("`ripplo hooks pause` must be invoked interactively from a terminal \u2014 refusing non-TTY invocation. Bypassing the gate is a human decision, not an agent decision.\n"),process.exit(1));let e=process.cwd();$t(e);let t=Er(e);if(Pa.existsSync(t)){process.stdout.write("Hooks already paused. Run `ripplo hooks resume` to re-enable.\n");return}Pa.writeFileSync(t,""),await Cx(e,!0),process.stdout.write("Hooks paused. Pre-edit gates and stop enforcement are off until you run `ripplo hooks resume`.\n")}async function kx(){let e=process.cwd(),t=Er(e);if(!Pa.existsSync(t)){process.stdout.write(`Hooks already active.
230
+ `);return}Pa.unlinkSync(t),await Cx(e,!1),process.stdout.write(`Hooks resumed.
231
+ `)}async function Cx(e,t){let r=je(e).unwrapOr(void 0);r!=null&&await D({config:r,document:EF,variables:{paused:t,projectId:r.projectId}}).catch(n=>{process.stderr.write(`Warning: could not push hook-pause state to the server (${n instanceof Error?n.message:String(n)}) \u2014 the dashboard may show stale hook status.
232
+ `)})}import Ln from"fs";import $n from"path";import{input as Px,select as Tx}from"@inquirer/prompts";import{graphql as rB}from"gql.tada";import{exec as PF,execFile as TF}from"child_process";import{err as OF,ok as Rx}from"neverthrow";import ke from"fs";import{createRequire as MF}from"module";import me from"path";import{promisify as Ix}from"util";import{chromium as NF}from"playwright";import{writeFile as IF}from"fs/promises";import AF from"path";async function Mn(e){let t=await we(e);return t.isOk()&&await IF(AF.join(e,et),Ft(ht,t.value)),t}function tr(e){return e.tests.filter(t=>t.stub).map(t=>t.name)}var LF=["@ripplo/testing","@ripplo/instrument"],Ex=".ripplo/ripplo.lock linguist-generated=true",$F=[".ripplo/debug/",".ripplo/.local/"],DF=Ix(PF),_F=Ix(TF);async function Ax({cwd:e,onStep:t}){t("Scaffolding project files..."),KF({cwd:e}),t("Updating .gitignore..."),JF(e),t("Marking ripplo.lock as generated..."),VF(e),t("Installing dependencies...");let r=await FF(e),n=[];if(r.ok||n.push({manualCommand:r.cmd,message:`Couldn't auto-install dev dependencies (${r.reason}). Run the command below, then run \`ripplo lint\` to compile the lockfile.`}),r.ok){t("Compiling initial lockfile...");let o=await BF(e);o!=null&&n.push({manualCommand:void 0,message:o})}return t("Setting up browser..."),(await jF()).map(()=>n)}async function jF(){let e=NF.executablePath();if(ke.existsSync(e))return Rx(void 0);B.info("Chromium not found. Installing via Playwright...");let t=MF(import.meta.url),r=me.dirname(t.resolve("playwright/package.json")),n=me.join(r,"cli.js");return await _F(process.execPath,[n,"install","chromium"]),ke.existsSync(e)?Rx(void 0):OF({kind:"playwright-install-failed"})}async function FF(e){let t=UF({cwd:e,pm:qF(e)});B.info("Installing dependencies: %s",t);try{return await DF(t,{cwd:e}),{ok:!0}}catch(r){let n=r instanceof Error?r.message.split(`
233
+ `)[0]??r.message:String(r);return B.warn("Install failed (%s): %s",t,n),{cmd:t,ok:!1,reason:n}}}async function BF(e){try{await Mn(e);return}catch(t){return`Couldn't compile initial lockfile: ${t instanceof Error?t.message:String(t)}.`}}function VF(e){let t=me.join(e,".gitattributes"),r=ke.existsSync(t)?ke.readFileSync(t,"utf8"):"";if(r.includes(Ex))return;let n=r.length===0||r.endsWith(`
234
234
  `)?"":`
235
- `;xe.writeFileSync(t,`${r}${n}${Sx}
236
- `)}function bF({cwd:e,pm:t}){let r=uF.join(" ");return t==="pnpm"?wF(e)?`pnpm add -wD ${r}`:`pnpm add -D ${r}`:t==="yarn"?SF({cwd:e,deps:r}):t==="bun"?`bun add -d ${r}`:`npm install -D ${r}`}function wF(e){return xe.existsSync(me.join(e,"pnpm-workspace.yaml"))||xe.existsSync(me.join(e,"pnpm-workspace.yml"))}function SF({cwd:e,deps:t}){return vF(e)?`yarn add -D ${t}`:xF(e)?`yarn add -WD ${t}`:`yarn add -D ${t}`}function vF(e){if(xe.existsSync(me.join(e,".yarnrc.yml"))||xe.existsSync(me.join(e,".pnp.cjs"))||xe.existsSync(me.join(e,".pnp.js")))return!0;let t=me.join(e,"package.json");if(!xe.existsSync(t))return!1;try{let r=JSON.parse(xe.readFileSync(t,"utf8"));if(r==null||typeof r!="object"||!("packageManager"in r))return!1;let n=r.packageManager;if(typeof n!="string")return!1;let i=/^yarn@(\d+)/.exec(n);return i!=null&&Number(i[1])>=2}catch{return!1}}function xF(e){let t=me.join(e,"package.json");if(!xe.existsSync(t))return!1;try{let r=JSON.parse(xe.readFileSync(t,"utf8"));if(r==null||typeof r!="object"||!("workspaces"in r))return!1;let n=r.workspaces;return Array.isArray(n)||n!=null&&typeof n=="object"}catch{return!1}}function kF(e){return xe.existsSync(me.join(e,"pnpm-lock.yaml"))?"pnpm":xe.existsSync(me.join(e,"yarn.lock"))?"yarn":xe.existsSync(me.join(e,"bun.lockb"))||xe.existsSync(me.join(e,"bun.lock"))?"bun":"npm"}function CF({cwd:e}){let t=me.join(e,".ripplo"),r=me.join(t,"entities"),n=me.join(t,"singletons"),i=me.join(t,"worlds"),o=me.join(t,"tests");[r,n,i,o].forEach(s=>{xe.mkdirSync(s,{recursive:!0})}),On(me.join(t,"index.ts"),EF),On(me.join(r,"index.ts"),IF),On(me.join(n,"index.ts"),AF),On(me.join(i,"index.ts"),PF),On(me.join(o,"index.ts"),TF),On(me.join(t,"tsconfig.json"),OF)}function On(e,t){xe.existsSync(e)||xe.writeFileSync(e,t)}function RF(e){let t=me.join(e,".gitignore");if(!xe.existsSync(t))return;let r=xe.readFileSync(t,"utf8"),n=dF.filter(o=>!r.includes(o));if(n.length===0)return;let i=r.endsWith(`
235
+ `;ke.writeFileSync(t,`${r}${n}${Ex}
236
+ `)}function UF({cwd:e,pm:t}){let r=LF.join(" ");return t==="pnpm"?WF(e)?`pnpm add -wD ${r}`:`pnpm add -D ${r}`:t==="yarn"?HF({cwd:e,deps:r}):t==="bun"?`bun add -d ${r}`:`npm install -D ${r}`}function WF(e){return ke.existsSync(me.join(e,"pnpm-workspace.yaml"))||ke.existsSync(me.join(e,"pnpm-workspace.yml"))}function HF({cwd:e,deps:t}){return zF(e)?`yarn add -D ${t}`:GF(e)?`yarn add -WD ${t}`:`yarn add -D ${t}`}function zF(e){if(ke.existsSync(me.join(e,".yarnrc.yml"))||ke.existsSync(me.join(e,".pnp.cjs"))||ke.existsSync(me.join(e,".pnp.js")))return!0;let t=me.join(e,"package.json");if(!ke.existsSync(t))return!1;try{let r=JSON.parse(ke.readFileSync(t,"utf8"));if(r==null||typeof r!="object"||!("packageManager"in r))return!1;let n=r.packageManager;if(typeof n!="string")return!1;let i=/^yarn@(\d+)/.exec(n);return i!=null&&Number(i[1])>=2}catch{return!1}}function GF(e){let t=me.join(e,"package.json");if(!ke.existsSync(t))return!1;try{let r=JSON.parse(ke.readFileSync(t,"utf8"));if(r==null||typeof r!="object"||!("workspaces"in r))return!1;let n=r.workspaces;return Array.isArray(n)||n!=null&&typeof n=="object"}catch{return!1}}function qF(e){return ke.existsSync(me.join(e,"pnpm-lock.yaml"))?"pnpm":ke.existsSync(me.join(e,"yarn.lock"))?"yarn":ke.existsSync(me.join(e,"bun.lockb"))||ke.existsSync(me.join(e,"bun.lock"))?"bun":"npm"}function KF({cwd:e}){let t=me.join(e,".ripplo"),r=me.join(t,"entities"),n=me.join(t,"singletons"),i=me.join(t,"worlds"),o=me.join(t,"tests");[r,n,i,o].forEach(s=>{ke.mkdirSync(s,{recursive:!0})}),Nn(me.join(t,"index.ts"),YF),Nn(me.join(r,"index.ts"),ZF),Nn(me.join(n,"index.ts"),XF),Nn(me.join(i,"index.ts"),QF),Nn(me.join(o,"index.ts"),eB),Nn(me.join(t,"tsconfig.json"),tB)}function Nn(e,t){ke.existsSync(e)||ke.writeFileSync(e,t)}function JF(e){let t=me.join(e,".gitignore");if(!ke.existsSync(t))return;let r=ke.readFileSync(t,"utf8"),n=$F.filter(o=>!r.includes(o));if(n.length===0)return;let i=r.endsWith(`
237
237
  `)?"":`
238
- `;xe.writeFileSync(t,r+i+n.join(`
238
+ `;ke.writeFileSync(t,r+i+n.join(`
239
239
  `)+`
240
- `)}var EF=`import { createRipplo } from "@ripplo/testing";
240
+ `)}var YF=`import { createRipplo } from "@ripplo/testing";
241
241
  import { entities } from "./entities/index";
242
242
  import { singletons } from "./singletons/index";
243
243
  import { tests } from "./tests/index";
@@ -247,7 +247,7 @@ export default createRipplo({
247
247
  singletons,
248
248
  tests,
249
249
  });
250
- `,IF=`// Model the app's state as entities. Each entity gets a \`seed\`/\`read\` impl in your
250
+ `,ZF=`// Model the app's state as entities. Each entity gets a \`seed\`/\`read\` impl in your
251
251
  // app's engine funnel (createEngine). See /ripplo:create "Adding an entity".
252
252
  //
253
253
  // Example:
@@ -263,7 +263,7 @@ export default createRipplo({
263
263
  // export const entities = [Project] as const;
264
264
 
265
265
  export const entities = [] as const;
266
- `,AF=`// Client/global state (e.g. localStorage flags) modeled as singletons.
266
+ `,XF=`// Client/global state (e.g. localStorage flags) modeled as singletons.
267
267
  //
268
268
  // Example:
269
269
  // import { singleton, v } from "@ripplo/testing";
@@ -278,7 +278,7 @@ export const entities = [] as const;
278
278
  // export const singletons = [onboardingDismissed];
279
279
 
280
280
  export const singletons = [];
281
- `,PF=`// Pure builder functions returning a flat record of entity handles \u2014 the starting state
281
+ `,QF=`// Pure builder functions returning a flat record of entity handles \u2014 the starting state
282
282
  // for tests. Compose from other worlds. See /ripplo:create "Adding a world".
283
283
  //
284
284
  // Example:
@@ -290,7 +290,7 @@ export const singletons = [];
290
290
  // const project = Project.of({ name: arbitrary(Project.field.name), ownerId: me.id });
291
291
  // return { me, project };
292
292
  // };
293
- `,TF=`// Each test file under ./tests exports a test. Import them here and add to the \`tests\`
293
+ `,eB=`// Each test file under ./tests exports a test. Import them here and add to the \`tests\`
294
294
  // array \u2014 that's what createRipplo({ ..., tests }) receives. Stub with \`test("Intent")\`
295
295
  // (no body); implement later with \`test("Intent", () => ({ given, steps }))\`.
296
296
  //
@@ -299,7 +299,7 @@ export const singletons = [];
299
299
  // export const tests = [createProject] as const;
300
300
 
301
301
  export const tests = [] as const;
302
- `,OF=`{
302
+ `,tB=`{
303
303
  "compilerOptions": {
304
304
  "strict": true,
305
305
  "noUncheckedIndexedAccess": true,
@@ -315,51 +315,75 @@ export const tests = [] as const;
315
315
  "include": ["*.ts", "entities/**/*.ts", "singletons/**/*.ts", "worlds/**/*.ts", "tests/**/*.ts"],
316
316
  "exclude": ["node_modules"]
317
317
  }
318
- `;var NF=MF(`
318
+ `;var nB=rB(`
319
319
  query InitProjects {
320
320
  projects {
321
321
  id
322
322
  name
323
323
  }
324
324
  }
325
- `),sf=["../.env.local","../.env"];async function Rx(e=DF()){let t=process.cwd(),r=lt();r==null&&(process.stdout.write("Not authenticated. Run `ripplo auth login` first.\n"),process.exit(1));let n=nt();LF(t)&&(process.stdout.write(`\`.ripplo/index.ts\` already exists at ${t}. Delete it first if you want to re-init.
326
- `),process.exit(1));let i=await $F({serverUrl:n,token:r});i.length===0&&(process.stdout.write("No projects found. Create one in the dashboard first, then re-run `ripplo init`.\n"),process.exit(1));let o=await jF(i,e.projectId),s=await FF(t,e.envFile),a=await BF(e.appUrl),l=_F(a,e.engineUrl),c=Nn.resolve(Nn.join(t,".ripplo"),s);qf({cwd:t,envFiles:[s],projectId:o}),WF({appUrl:a,engineUrl:l,filePath:c});let d=(await xx({cwd:t,onStep:p=>{process.stdout.write(` ${p}
327
- `)}})).match(p=>p,p=>{process.stderr.write(`${Ge(p)}
325
+ `),uf=["../.env.local","../.env"];async function Ox(e=sB()){let t=process.cwd(),r=ut();r==null&&(process.stdout.write("Not authenticated. Run `ripplo auth login` first.\n"),process.exit(1));let n=it();iB(t)&&(process.stdout.write(`\`.ripplo/index.ts\` already exists at ${t}. Delete it first if you want to re-init.
326
+ `),process.exit(1));let i=await oB({serverUrl:n,token:r});i.length===0&&(process.stdout.write("No projects found. Create one in the dashboard first, then re-run `ripplo init`.\n"),process.exit(1));let o=await lB(i,e.projectId),s=await cB(t,e.envFile),a=await dB(e.appUrl),l=aB(a,e.engineUrl),c=$n.resolve($n.join(t,".ripplo"),s);Qf({cwd:t,envFiles:[s],projectId:o}),fB({appUrl:a,engineUrl:l,filePath:c});let d=(await Ax({cwd:t,onStep:p=>{process.stdout.write(` ${p}
327
+ `)}})).match(p=>p,p=>{process.stderr.write(`${qe(p)}
328
328
  `),process.exit(1)});if(d.length>0){process.stdout.write(`Done with warnings:
329
329
  `),d.forEach(p=>{process.stdout.write(` - ${p.message}
330
330
  `),p.manualCommand!=null&&process.stdout.write(` run: ${p.manualCommand}
331
- `)});return}process.stdout.write("Ready. Start `npx ripplo daemon` as a background process (or run `/ripplo:start` in Claude Code), then write tests in `.ripplo/tests/`.\n")}function LF(e){return Mn.existsSync(Nn.join(e,".ripplo","index.ts"))}async function $F({serverUrl:e,token:t}){return((await D({config:ir({serverUrl:e,token:t}),document:NF,variables:void 0})).projects??[]).map(n=>({id:n.id,name:n.name}))}function DF(){return{appUrl:void 0,engineUrl:void 0,envFile:void 0,projectId:void 0}}function _F(e,t){if(t!=null){try{new URL(t)}catch{process.stdout.write(`--engine-url is not a valid URL: ${t}
332
- `),process.exit(1)}return t}return`${e.replace(/\/$/,"")}/ripplo`}async function jF(e,t){if(t!=null){let r=e.find(n=>n.id===t);return r==null&&(process.stdout.write(`Unknown project id: ${t}
331
+ `)});return}process.stdout.write("Ready. Start `npx ripplo daemon` as a background process (or run `/ripplo:start` in Claude Code), then write tests in `.ripplo/tests/`.\n")}function iB(e){return Ln.existsSync($n.join(e,".ripplo","index.ts"))}async function oB({serverUrl:e,token:t}){return((await D({config:ar({serverUrl:e,token:t}),document:nB,variables:void 0})).projects??[]).map(n=>({id:n.id,name:n.name}))}function sB(){return{appUrl:void 0,engineUrl:void 0,envFile:void 0,projectId:void 0}}function aB(e,t){if(t!=null){try{new URL(t)}catch{process.stdout.write(`--engine-url is not a valid URL: ${t}
332
+ `),process.exit(1)}return t}return`${e.replace(/\/$/,"")}/ripplo`}async function lB(e,t){if(t!=null){let r=e.find(n=>n.id===t);return r==null&&(process.stdout.write(`Unknown project id: ${t}
333
333
  `),process.exit(1)),process.stdout.write(`Using project: ${r.name} (${r.id})
334
334
  `),r.id}if(e.length===1){let r=e[0];if(r==null)throw new Error("unreachable");return process.stdout.write(`Using project: ${r.name} (${r.id})
335
- `),r.id}return Cx({choices:e.map(r=>({name:r.name,value:r.id})),message:"Select a project"})}async function FF(e,t){return t!=null?(t.trim().length===0&&(process.stdout.write(`--env must not be empty
336
- `),process.exit(1)),t):VF(e)}async function VF(e){let t=Nn.join(e,".ripplo"),r=sf.find(i=>Mn.existsSync(Nn.resolve(t,i))),n=await Cx({choices:[...sf.map(i=>({name:r===i?`${i} (detected)`:i,value:i})),{name:"custom path",value:"__custom__"}],default:r??sf[0],message:"Which env file should ripplo write RIPPLO_APP_URL, RIPPLO_ENGINE_URL, RIPPLO_WEBHOOK_SECRET, and ENABLE_RIPPLO_TESTING to?"});return n!=="__custom__"?n:kx({message:"Path to env file (relative to .ripplo/, e.g. ../apps/server/.env)",validate:i=>i.trim().length>0?!0:"required"})}async function BF(e){if(e!=null){try{new URL(e)}catch{process.stdout.write(`--app-url is not a valid URL: ${e}
337
- `),process.exit(1)}return e}return UF()}async function UF(){return kx({default:"http://localhost:3000",message:"Where does your dev server run? (RIPPLO_APP_URL)",validate:e=>{try{return new URL(e),!0}catch{return"must be a valid URL"}}})}function WF({appUrl:e,engineUrl:t,filePath:r}){Mn.mkdirSync(Nn.dirname(r),{recursive:!0});let n=Mn.existsSync(r)?Mn.readFileSync(r,"utf8"):"",i=[];if(/^RIPPLO_APP_URL=/m.test(n)||i.push(`RIPPLO_APP_URL=${e}`),/^RIPPLO_ENGINE_URL=/m.test(n)||i.push(`RIPPLO_ENGINE_URL=${t}`),/^RIPPLO_WEBHOOK_SECRET=/m.test(n)||i.push(`RIPPLO_WEBHOOK_SECRET=${yl()}`),/^ENABLE_RIPPLO_TESTING=/m.test(n)||i.push("ENABLE_RIPPLO_TESTING=true"),i.length===0)return;let o=n.length===0||n.endsWith(`
335
+ `),r.id}return Tx({choices:e.map(r=>({name:r.name,value:r.id})),message:"Select a project"})}async function cB(e,t){return t!=null?(t.trim().length===0&&(process.stdout.write(`--env must not be empty
336
+ `),process.exit(1)),t):uB(e)}async function uB(e){let t=$n.join(e,".ripplo"),r=uf.find(i=>Ln.existsSync($n.resolve(t,i))),n=await Tx({choices:[...uf.map(i=>({name:r===i?`${i} (detected)`:i,value:i})),{name:"custom path",value:"__custom__"}],default:r??uf[0],message:"Which env file should ripplo write RIPPLO_APP_URL, RIPPLO_ENGINE_URL, RIPPLO_WEBHOOK_SECRET, and ENABLE_RIPPLO_TESTING to?"});return n!=="__custom__"?n:Px({message:"Path to env file (relative to .ripplo/, e.g. ../apps/server/.env)",validate:i=>i.trim().length>0?!0:"required"})}async function dB(e){if(e!=null){try{new URL(e)}catch{process.stdout.write(`--app-url is not a valid URL: ${e}
337
+ `),process.exit(1)}return e}return pB()}async function pB(){return Px({default:"http://localhost:3000",message:"Where does your dev server run? (RIPPLO_APP_URL)",validate:e=>{try{return new URL(e),!0}catch{return"must be a valid URL"}}})}function fB({appUrl:e,engineUrl:t,filePath:r}){Ln.mkdirSync($n.dirname(r),{recursive:!0});let n=Ln.existsSync(r)?Ln.readFileSync(r,"utf8"):"",i=[];if(/^RIPPLO_APP_URL=/m.test(n)||i.push(`RIPPLO_APP_URL=${e}`),/^RIPPLO_ENGINE_URL=/m.test(n)||i.push(`RIPPLO_ENGINE_URL=${t}`),/^RIPPLO_WEBHOOK_SECRET=/m.test(n)||i.push(`RIPPLO_WEBHOOK_SECRET=${vl()}`),/^ENABLE_RIPPLO_TESTING=/m.test(n)||i.push("ENABLE_RIPPLO_TESTING=true"),i.length===0)return;let o=n.length===0||n.endsWith(`
338
338
  `)?"":`
339
- `;Mn.writeFileSync(r,`${n}${o}${i.join(`
339
+ `;Ln.writeFileSync(r,`${n}${o}${i.join(`
340
340
  `)}
341
- `)}function Ea(e){let t=e.tests.filter(i=>!i.stub);if(t.length===0)return[];let r=new Set(t.flatMap(i=>HF(i))),n=new Set(t.flatMap(i=>zF(i)));return[...e.entities.filter(i=>!r.has(i.name)).map(i=>({entity:i.name,kind:"entity-never-given"})),...e.entities.filter(i=>r.has(i.name)&&!n.has(i.name)).map(i=>({entity:i.name,kind:"entity-never-mutated"}))]}function HF(e){return[...e.world,...e.maybe].map(t=>t.entity)}function zF(e){return e.steps.flatMap(t=>t.expect.flatMap(r=>qi(r)))}function qi(e){return e.kind==="state"?[e.entity]:e.kind==="not"?qi(e.predicate):e.kind==="and"?e.predicates.flatMap(t=>qi(t)):e.kind==="when"?[...qi(e.condition),...qi(e.consequence)]:[]}async function Ex(){let e=process.cwd(),r=(await be(e)).match(i=>i,i=>GF(Oe(i))),n=xr(r);if(n.length===0){let i=Ea(r);i.length>0&&process.stdout.write(`${ka(i)}
342
- `),process.stdout.write(`${cx(r.tests.length)}
343
- `);return}process.stderr.write(`${kr(n)}
344
- `),process.exit(1)}function GF(e){process.stderr.write(`${e}
345
- `),process.exit(1)}import{graphql as qF}from"gql.tada";var KF=qF(`
341
+ `)}function Ta(e){let t=e.tests.filter(i=>!i.stub);if(t.length===0)return[];let r=new Set(t.flatMap(i=>hB(i))),n=new Set(t.flatMap(i=>mB(i)));return[...e.entities.filter(i=>!r.has(i.name)).map(i=>({entity:i.name,kind:"entity-never-given"})),...e.entities.filter(i=>r.has(i.name)&&!n.has(i.name)).map(i=>({entity:i.name,kind:"entity-never-mutated"}))]}function hB(e){return[...e.world,...e.maybe].map(t=>t.entity)}function mB(e){return e.steps.flatMap(t=>t.expect.flatMap(r=>Yi(r)))}function Yi(e){return e.kind==="state"?[e.entity]:e.kind==="not"?Yi(e.predicate):e.kind==="and"?e.predicates.flatMap(t=>Yi(t)):e.kind==="when"?[...Yi(e.condition),...Yi(e.consequence)]:[]}async function Mx(){let e=process.cwd(),r=(await we(e)).match(i=>i,i=>gB(Oe(i))),n=Cr(r);if(n.length===0){let i=Ta(r);i.length>0&&process.stdout.write(`${Ia(i)}
342
+ `),process.stdout.write(`${mx(r.tests.length)}
343
+ `);return}process.stderr.write(`${Rr(n)}
344
+ `),process.exit(1)}function gB(e){process.stderr.write(`${e}
345
+ `),process.exit(1)}import{graphql as yB}from"gql.tada";var bB=yB(`
346
346
  query ProjectsList {
347
347
  projects {
348
348
  id
349
349
  name
350
350
  }
351
351
  }
352
- `);async function Ix(){let e=lt();e==null&&(process.stderr.write("Not authenticated. Run `ripplo auth login` first.\n"),process.exit(1));let t=nt(),n=((await D({config:ir({serverUrl:t,token:e}),document:KF,variables:void 0})).projects??[]).map(i=>({id:i.id,name:i.name}));process.stdout.write(`${JSON.stringify({projects:n},null,2)}
353
- `)}import mV from"path";import{CancellationTokenSource as gV}from"vscode-jsonrpc/node";import{spawn as nV}from"child_process";import Dx from"fs";import iV from"net";import{setTimeout as jx}from"timers/promises";import{err as cf,ok as uf}from"neverthrow";import{ResponseError as oV}from"vscode-jsonrpc/node";import{createMessageConnection as YF,NotificationType as Ax,RequestType as JF,RequestType0 as Px,SocketMessageReader as ZF,SocketMessageWriter as XF}from"vscode-jsonrpc/node";import{z as T}from"zod";var QF="daemon.sock",eV="daemon.log";function Ki(e){return Qt(e,QF)}function af(e){return Qt(e,eV)}function Ia(e){return YF(new ZF(e),new XF(e))}var Tx=T.object({all:T.boolean(),headed:T.boolean(),tests:T.array(T.string())}),Ox=T.object({jobId:T.string(),total:T.number()}),tV=T.enum(["holder","standby","off"]),Mx=T.object({active:T.number(),explorer:tV,exploring:T.number(),queued:T.number()}),lf=T.discriminatedUnion("kind",[T.object({kind:T.literal("pass")}),T.object({findingLines:T.array(T.string()),kind:T.literal("findings")}),T.object({detail:T.string(),kind:T.literal("error")}),T.object({detail:T.string(),kind:T.literal("dispatch-error")})]),rV=T.discriminatedUnion("kind",[T.object({kind:T.literal("test-started"),runId:T.string(),testName:T.string()}),T.object({kind:T.literal("test-outcome"),outcome:lf,runId:T.string(),testName:T.string()})]),Nx=T.object({event:rV,jobId:T.string()}),Lx=T.object({failed:T.number(),jobId:T.string(),passed:T.number()}),$x=T.discriminatedUnion("code",[T.object({code:T.literal("compile-failed"),detail:T.string(),diagnostics:T.array(T.string()).default([])}),T.object({code:T.literal("selection-conflicting-flags")}),T.object({code:T.literal("selection-nothing-selected")}),T.object({code:T.literal("selection-unknown-ids"),known:T.array(T.string()),unknown:T.array(T.string())}),T.object({code:T.literal("sync-failed"),detail:T.string()}),T.object({code:T.literal("bad-message")})]),Aa=new JF("ripplo/enqueue"),Pa=new Px("ripplo/status"),Ta=new Px("ripplo/shutdownIfIdle"),Oa=new Ax("ripplo/jobEvent"),Ma=new Ax("ripplo/jobDone");var Fx=12e4,sV=300,_x=5e3;async function Vx({cliEntry:e,cwd:t}){let r=Ki(t),n=await Na(r);if(n!=null)return uf(df(n,!1));let i=uV({cliEntry:e,cwd:t});if(i!=null)return cf(i);let o=await dV(r);return o==null?cf({deadlineMs:Fx,kind:"connect-timeout",logPath:af(t)}):uf(df(o,!0))}async function Bx({connection:e,onEvent:t,request:r,token:n}){let i=await lV({connection:e,onEvent:t,request:r,token:n});return i.kind==="transport"?cf(i.error):uf(i)}async function Ux(e){try{await e.rpc.sendRequest(Ta)}catch{}}async function Wx(e){let t=await Na(Ki(e));if(t==null)return{kind:"not-running"};let r=df(t,!1),n=await Promise.race([aV(r),jx(_x).then(()=>null)]);return t.destroy(),n==null?{kind:"unresponsive",timeoutMs:_x}:{kind:"running",status:n}}async function aV(e){try{let t=await e.rpc.sendRequest(Pa),r=Mx.safeParse(t);return r.success?r.data:null}catch{return null}}function lV({connection:e,onEvent:t,request:r,token:n}){let{rpc:i}=e;return new Promise(o=>{let s=a=>{o(a)};i.onNotification(Oa,a=>{let l=Nx.safeParse(a);if(!l.success){s({error:{kind:"bad-frame"},kind:"transport"});return}t(l.data.event)}),i.onNotification(Ma,a=>{let l=Lx.safeParse(a);if(!l.success){s({error:{kind:"bad-frame"},kind:"transport"});return}s({failed:l.data.failed,kind:"done",passed:l.data.passed})}),i.onClose(()=>{s({error:{kind:"connection-lost"},kind:"transport"})}),i.sendRequest(Aa,r,n).then(a=>{Ox.safeParse(a).success||s({error:{kind:"bad-frame"},kind:"transport"})}).catch(a=>{s(cV(a))})})}function cV(e){if(e instanceof oV){let t=$x.safeParse(e.data);return t.success?{error:t.data,kind:"daemon-error"}:{error:{kind:"bad-frame"},kind:"transport"}}return{error:{kind:"connection-lost"},kind:"transport"}}function df(e,t){let r=Ia(e);return r.listen(),{rpc:r,socket:e,spawned:t}}function Na(e){return new Promise(t=>{let r=iV.connect(e);r.once("connect",()=>{t(r)}),r.once("error",()=>{t(null)})})}function uV({cliEntry:e,cwd:t}){try{Ot(t);let r=Dx.openSync(af(t),"a");return nV(process.execPath,[e,"daemon"],{cwd:t,detached:!0,stdio:["ignore",r,r]}).unref(),Dx.closeSync(r),null}catch(r){return{kind:"spawn-failed",message:r instanceof Error?r.message:String(r)}}}async function dV(e){let t=Date.now()+Fx,r=await Na(e);for(;r==null&&Date.now()<t;)await jx(sV),r=await Na(e);return r}import pV from"fuse.js";function pf(e){switch(e.kind){case"conflicting-flags":return"Pass either --all or test ids, not both.";case"nothing-selected":return"No tests selected \u2014 pass test ids or --all.";case"unknown-ids":{let t=e.known.map(i=>Re(i)),r=e.unknown.flatMap(i=>fV(i,t)),n=r.length>0?[`Did you mean: ${[...new Set(r)].join(", ")}`]:[];return[`Unknown test id(s): ${e.unknown.join(", ")}`,...n,"The test id is the slug shown in run output and scope listings (the quoted intent string also works). All known ids:",...t.map(i=>` ${i}`)].join(`
354
- `)}}}function Hx({failed:e,passed:t}){let r=e>0?`
355
- ${V("debug")}`:"";return`${String(t)} passed, ${String(e)} failed (${String(t+e)} total)${r}`}function zx({debugDir:e,event:t}){if(t.kind==="test-started")return`${_.dim("RUN ")} ${t.testName}`;switch(t.outcome.kind){case"pass":return`${_.good("PASS")} ${t.testName}`;case"findings":return[`${_.bad("FAIL")} ${t.testName} \u2014 ${String(t.outcome.findingLines.length)} finding(s)`,...t.outcome.findingLines,Jc({debugDir:e,runId:t.runId})].join(`
356
- `);case"error":return`${_.bad("ERROR")} ${t.testName} \u2014 ${t.outcome.detail}`;case"dispatch-error":return`${_.bad("ERROR")} ${t.testName} \u2014 failed to dispatch (${t.outcome.detail})`}}function Gx(e){switch(e.code){case"compile-failed":{let t=e.diagnostics.length===0?[]:["",...e.diagnostics];return[`Compilation failed in the daemon (${e.detail}). Run \`npx ripplo compile\` for the full output.`,...t].join(`
357
- `)}case"selection-conflicting-flags":return pf({kind:"conflicting-flags"});case"selection-nothing-selected":return pf({kind:"nothing-selected"});case"selection-unknown-ids":return pf({kind:"unknown-ids",known:e.known,unknown:e.unknown});case"sync-failed":{let t=/401|unauthor/i.test(e.detail)?"\nLooks like an auth failure \u2014 run `npx ripplo auth login` and retry.":"";return`Sync to the Ripplo server failed: ${e.detail}${t}`}case"bad-message":return"Daemon rejected the request (protocol mismatch \u2014 rebuild/update the CLI and restart the daemon)."}}function La(e){switch(e.kind){case"spawn-failed":return`Failed to start \`ripplo daemon\`: ${hV(e.message)}`;case"connect-timeout":return[`Daemon did not come up within ${String(Math.round(e.deadlineMs/1e3))}s.`,`Check ${e.logPath} for startup errors (tail it: \`tail -50 ${e.logPath}\`).`,"Common causes: a stale socket (`rm .ripplo/.local/daemon.sock`), another daemon holding the dev lock, or the Ripplo server being unreachable."].join(`
352
+ `);async function Nx(){let e=ut();e==null&&(process.stderr.write("Not authenticated. Run `ripplo auth login` first.\n"),process.exit(1));let t=it(),n=((await D({config:ar({serverUrl:t,token:e}),document:bB,variables:void 0})).projects??[]).map(i=>({id:i.id,name:i.name}));process.stdout.write(`${JSON.stringify({projects:n},null,2)}
353
+ `)}import FB from"path";import{CancellationTokenSource as BB}from"vscode-jsonrpc/node";import{spawn as IB}from"child_process";import Ux from"fs";import AB from"net";import{setTimeout as Hx}from"timers/promises";import{err as ff,ok as hf}from"neverthrow";import{ResponseError as PB}from"vscode-jsonrpc/node";import{createMessageConnection as wB,NotificationType as Lx,RequestType as SB,RequestType0 as $x,SocketMessageReader as vB,SocketMessageWriter as xB}from"vscode-jsonrpc/node";import{z as A}from"zod";var kB="daemon.sock",CB="daemon.log";function Zi(e){return Et(e,kB)}function df(e){return Et(e,CB)}function Oa(e){return wB(new vB(e),new xB(e))}var Dx=A.object({all:A.boolean(),headed:A.boolean(),tests:A.array(A.string())}),_x=A.object({jobId:A.string(),total:A.number()}),RB=A.enum(["holder","standby","off"]),jx=A.object({active:A.number(),explorer:RB,exploring:A.number(),queued:A.number()}),pf=A.discriminatedUnion("kind",[A.object({kind:A.literal("pass")}),A.object({findingLines:A.array(A.string()),kind:A.literal("findings")}),A.object({detail:A.string(),kind:A.literal("error")}),A.object({detail:A.string(),kind:A.literal("dispatch-error")})]),EB=A.discriminatedUnion("kind",[A.object({kind:A.literal("test-started"),runId:A.string(),testName:A.string()}),A.object({kind:A.literal("test-outcome"),outcome:pf,runId:A.string(),testName:A.string()})]),Fx=A.object({event:EB,jobId:A.string()}),Bx=A.object({failed:A.number(),jobId:A.string(),passed:A.number()}),Vx=A.discriminatedUnion("code",[A.object({code:A.literal("compile-failed"),detail:A.string(),diagnostics:A.array(A.string()).default([])}),A.object({code:A.literal("selection-conflicting-flags")}),A.object({code:A.literal("selection-nothing-selected")}),A.object({code:A.literal("selection-unknown-ids"),known:A.array(A.string()),unknown:A.array(A.string())}),A.object({code:A.literal("scope-failed"),detail:A.string()}),A.object({code:A.literal("sync-failed"),detail:A.string()}),A.object({code:A.literal("bad-message")})]),Ma=new SB("ripplo/enqueue"),Na=new $x("ripplo/status"),La=new $x("ripplo/shutdownIfIdle"),$a=new Lx("ripplo/jobEvent"),Da=new Lx("ripplo/jobDone");var zx=12e4,TB=300,Wx=5e3;async function Gx({cliEntry:e,cwd:t}){let r=Zi(t),n=await _a(r);if(n!=null)return hf(mf(n,!1));let i=LB({cliEntry:e,cwd:t});if(i!=null)return ff(i);let o=await $B(r);return o==null?ff({deadlineMs:zx,kind:"connect-timeout",logPath:df(t)}):hf(mf(o,!0))}async function qx({connection:e,onEvent:t,request:r,token:n}){let i=await MB({connection:e,onEvent:t,request:r,token:n});return i.kind==="transport"?ff(i.error):hf(i)}async function Kx(e){try{await e.rpc.sendRequest(La)}catch{}}async function Jx(e){let t=await _a(Zi(e));if(t==null)return{kind:"not-running"};let r=mf(t,!1),n=await Promise.race([OB(r),Hx(Wx).then(()=>null)]);return t.destroy(),n==null?{kind:"unresponsive",timeoutMs:Wx}:{kind:"running",status:n}}async function OB(e){try{let t=await e.rpc.sendRequest(Na),r=jx.safeParse(t);return r.success?r.data:null}catch{return null}}function MB({connection:e,onEvent:t,request:r,token:n}){let{rpc:i}=e;return new Promise(o=>{let s=a=>{o(a)};i.onNotification($a,a=>{let l=Fx.safeParse(a);if(!l.success){s({error:{kind:"bad-frame"},kind:"transport"});return}t(l.data.event)}),i.onNotification(Da,a=>{let l=Bx.safeParse(a);if(!l.success){s({error:{kind:"bad-frame"},kind:"transport"});return}s({failed:l.data.failed,kind:"done",passed:l.data.passed})}),i.onClose(()=>{s({error:{kind:"connection-lost"},kind:"transport"})}),i.sendRequest(Ma,r,n).then(a=>{_x.safeParse(a).success||s({error:{kind:"bad-frame"},kind:"transport"})}).catch(a=>{s(NB(a))})})}function NB(e){if(e instanceof PB){let t=Vx.safeParse(e.data);return t.success?{error:t.data,kind:"daemon-error"}:{error:{kind:"bad-frame"},kind:"transport"}}return{error:{kind:"connection-lost"},kind:"transport"}}function mf(e,t){let r=Oa(e);return r.listen(),{rpc:r,socket:e,spawned:t}}function _a(e){return new Promise(t=>{let r=AB.connect(e);r.once("connect",()=>{t(r)}),r.once("error",()=>{t(null)})})}function LB({cliEntry:e,cwd:t}){try{$t(t);let r=Ux.openSync(df(t),"a");return IB(process.execPath,[e,"daemon"],{cwd:t,detached:!0,stdio:["ignore",r,r]}).unref(),Ux.closeSync(r),null}catch(r){return{kind:"spawn-failed",message:r instanceof Error?r.message:String(r)}}}async function $B(e){let t=Date.now()+zx,r=await _a(e);for(;r==null&&Date.now()<t;)await Hx(TB),r=await _a(e);return r}import DB from"fuse.js";function gf(e){switch(e.kind){case"conflicting-flags":return"Pass either --all or test ids, not both.";case"nothing-selected":return`No tests selected \u2014 scope is empty and no .ripplo/tests files are dirty. Pass test ids, add tests to scope (${j("scope")}), or use --all.`;case"unknown-ids":{let t=e.known.map(i=>ge(i)),r=e.unknown.flatMap(i=>_B(i,t)),n=r.length>0?[`Did you mean: ${[...new Set(r)].join(", ")}`]:[];return[`Unknown test id(s): ${e.unknown.join(", ")}`,...n,"The test id is the slug shown in run output and scope listings (the quoted intent string also works). All known ids:",...t.map(i=>` ${i}`)].join(`
354
+ `)}}}function Yx({failed:e,passed:t}){let r=e>0?`
355
+ ${j("debug")}`:"";return`${String(t)} passed, ${String(e)} failed (${String(t+e)} total)${r}`}function Zx({debugDir:e,event:t}){if(t.kind==="test-started")return`${_.dim("RUN ")} ${t.testName}`;switch(t.outcome.kind){case"pass":return`${_.good("PASS")} ${t.testName}`;case"findings":return[`${_.bad("FAIL")} ${t.testName} \u2014 ${String(t.outcome.findingLines.length)} finding(s)`,...t.outcome.findingLines,eu({debugDir:e,runId:t.runId})].join(`
356
+ `);case"error":return`${_.bad("ERROR")} ${t.testName} \u2014 ${t.outcome.detail}`;case"dispatch-error":return`${_.bad("ERROR")} ${t.testName} \u2014 failed to dispatch (${t.outcome.detail})`}}function Xx(e){switch(e.code){case"compile-failed":{let t=e.diagnostics.length===0?[]:["",...e.diagnostics];return[`Compilation failed in the daemon (${e.detail}). Run \`npx ripplo compile\` for the full output.`,...t].join(`
357
+ `)}case"selection-conflicting-flags":return gf({kind:"conflicting-flags"});case"selection-nothing-selected":return gf({kind:"nothing-selected"});case"selection-unknown-ids":return gf({kind:"unknown-ids",known:e.known,unknown:e.unknown});case"scope-failed":return`Could not resolve the dev-session scope: ${e.detail}
358
+ Verify the dev session is live (\`npx ripplo doctor\`, ${j("start")}), or pass test ids / --all explicitly.`;case"sync-failed":{let t=/401|unauthor/i.test(e.detail)?"\nLooks like an auth failure \u2014 run `npx ripplo auth login` and retry.":"";return`Sync to the Ripplo server failed: ${e.detail}${t}`}case"bad-message":return"Daemon rejected the request (protocol mismatch \u2014 rebuild/update the CLI and restart the daemon)."}}function ja(e){switch(e.kind){case"spawn-failed":return`Failed to start \`ripplo daemon\`: ${jB(e.message)}`;case"connect-timeout":return[`Daemon did not come up within ${String(Math.round(e.deadlineMs/1e3))}s.`,`Check ${e.logPath} for startup errors (tail it: \`tail -50 ${e.logPath}\`).`,"Common causes: a stale socket (`rm .ripplo/.local/daemon.sock`), another daemon holding the dev lock, or the Ripplo server being unreachable."].join(`
358
359
  `);case"connection-lost":return["Connection to the daemon was lost before the run finished \u2014 the daemon likely crashed or was killed.","Check .ripplo/.local/daemon.log, then restart with `npx ripplo daemon` (or rerun \u2014 `ripplo run` auto-starts it)."].join(`
359
- `);case"bad-frame":return"Received a malformed frame from the daemon (version mismatch \u2014 rebuild/update the CLI and restart the daemon)."}}function fV(e,t){return new pV(t,{includeScore:!0,threshold:.5}).search(Re(e)).slice(0,3).map(n=>n.item)}function hV(e){return e.includes("ENOENT")?`${e} \u2014 the node executable or CLI entry was not found on PATH.`:e.includes("EACCES")?`${e} \u2014 permission denied executing the CLI entry.`:e}async function qx({all:e,headed:t,ids:r,keepAlive:n}){let i=process.cwd(),o=process.argv[1];o==null&&$a(La({kind:"spawn-failed",message:"process.argv[1] missing"}));let a=(await Vx({cliEntry:o,cwd:i})).match(p=>p,p=>$a(La(p))),l=new gV;process.once("SIGINT",()=>{l.cancel(),a.socket.destroy(),process.exit(130)});let c=mV.join(i,".ripplo","debug"),d=(await Bx({connection:a,request:{all:e,headed:t,tests:[...r]},token:l.token,onEvent:p=>{let h=zx({debugDir:c,event:p});h!=null&&process.stdout.write(`${h}
360
- `)}})).match(p=>p,p=>$a(La(p)));await yV({connection:a,keepAlive:n,result:d})}async function yV({connection:e,keepAlive:t,result:r}){e.spawned&&!t&&await Ux(e),await new Promise(n=>{e.socket.end(n)}),r.kind==="daemon-error"&&$a(Gx(r.error)),process.stdout.write(`${Hx(r)}
361
- `),process.exit(r.failed>0?1:0)}function $a(e){process.stderr.write(`${e}
362
- `),process.exit(1)}import AB from"path";import{err as qa,ok as bf}from"neverthrow";import{randomUUID as _V}from"crypto";import{CancellationTokenSource as jV,ResponseError as FV}from"vscode-jsonrpc/node";import{graphql as ek}from"gql.tada";import bV from"p-queue";var wV=4,SV={"p0-ui":3,"p1-cli":2,"p2-cover":1,"p3-explore":0},Da=new bV({concurrency:wV}),Xt={headedActive:0,interactiveActive:0,interactiveQueued:0},Kx={current:null};function _a({headed:e,task:t,workClass:r}){let n=SV[r];return r==="p3-explore"?Da.add(t,{priority:n}):(Xt.interactiveQueued+=1,ff(),Da.add(()=>vV({headed:e,task:t}),{priority:n}))}function ja(e){!Number.isFinite(e)||e<1||(Da.concurrency=Math.floor(e))}function Yi(){return{active:Xt.interactiveActive,headedActive:Xt.headedActive,poolSize:Da.concurrency,queued:Xt.interactiveQueued}}function hf(e){Kx.current=e}async function vV({headed:e,task:t}){Xt.interactiveQueued-=1,Xt.interactiveActive+=1,Xt.headedActive+=e?1:0,ff();try{return await t()}finally{Xt.interactiveActive-=1,Xt.headedActive-=e?1:0,ff()}}function ff(){Kx.current?.()}import{err as mf,ok as Yx}from"neverthrow";function Jx({all:e,ids:t,lockfile:r}){let n=r.tests.map(a=>a.name);if(e&&t.length>0)return mf({kind:"conflicting-flags"});if(e)return Yx(r.tests.filter(a=>!a.stub).map(a=>a.name));if(t.length===0)return mf({kind:"nothing-selected"});let i=new Map(n.map(a=>[Re(a),a])),o=t.map(a=>({id:a,name:n.includes(a)?a:i.get(Re(a))})),s=o.filter(a=>a.name==null).map(a=>a.id);return s.length>0?mf({kind:"unknown-ids",known:n,unknown:s}):Yx(o.flatMap(a=>a.name==null?[]:[a.name]))}import kV from"crypto";import{graphql as CV}from"gql.tada";import{err as RV,ok as EV}from"neverthrow";import gf from"fs";import yf from"path";function Fa(e){try{let t=xV(e);if(t==null)return;let r=yf.join(t,"HEAD"),n=gf.readFileSync(r,"utf8").trim(),i="ref: refs/heads/";return n.startsWith(i)?n.slice(i.length):n.length===0?void 0:n.slice(0,7)}catch{return}}function xV(e){let t=yf.join(e,".git");if(gf.statSync(t).isDirectory())return t;let n=gf.readFileSync(t,"utf8").trim(),i="gitdir:";if(!n.startsWith(i))return;let o=n.slice(i.length).trim();if(o.length!==0)return yf.resolve(e,o)}var IV=CV(`
360
+ `);case"bad-frame":return"Received a malformed frame from the daemon (version mismatch \u2014 rebuild/update the CLI and restart the daemon)."}}function _B(e,t){return new DB(t,{includeScore:!0,threshold:.5}).search(ge(e)).slice(0,3).map(n=>n.item)}function jB(e){return e.includes("ENOENT")?`${e} \u2014 the node executable or CLI entry was not found on PATH.`:e.includes("EACCES")?`${e} \u2014 permission denied executing the CLI entry.`:e}async function Qx({all:e,headed:t,ids:r,keepAlive:n}){let i=process.cwd(),o=process.argv[1];o==null&&Fa(ja({kind:"spawn-failed",message:"process.argv[1] missing"}));let a=(await Gx({cliEntry:o,cwd:i})).match(p=>p,p=>Fa(ja(p))),l=new BB;process.once("SIGINT",()=>{l.cancel(),a.socket.destroy(),process.exit(130)});let c=FB.join(i,".ripplo","debug"),d=(await qx({connection:a,request:{all:e,headed:t,tests:[...r]},token:l.token,onEvent:p=>{let h=Zx({debugDir:c,event:p});h!=null&&process.stdout.write(`${h}
361
+ `)}})).match(p=>p,p=>Fa(ja(p)));await VB({connection:a,keepAlive:n,result:d})}async function VB({connection:e,keepAlive:t,result:r}){e.spawned&&!t&&await Kx(e),await new Promise(n=>{e.socket.end(n)}),r.kind==="daemon-error"&&Fa(Xx(r.error)),process.stdout.write(`${Yx(r)}
362
+ `),process.exit(r.failed>0?1:0)}function Fa(e){process.stderr.write(`${e}
363
+ `),process.exit(1)}import oU from"path";import{err as Za,ok as kf}from"neverthrow";import{randomUUID as pV}from"crypto";import{CancellationTokenSource as fV,ResponseError as hV}from"vscode-jsonrpc/node";import{graphql as uk}from"gql.tada";import UB from"p-queue";var WB=4,HB={"p0-ui":3,"p1-cli":2,"p2-cover":1,"p3-explore":0},Ba=new UB({concurrency:WB}),rr={headedActive:0,interactiveActive:0,interactiveQueued:0},ek={current:null};function Va({headed:e,task:t,workClass:r}){let n=HB[r];return r==="p3-explore"?Ba.add(t,{priority:n}):(rr.interactiveQueued+=1,yf(),Ba.add(()=>zB({headed:e,task:t}),{priority:n}))}function Ua(e){!Number.isFinite(e)||e<1||(Ba.concurrency=Math.floor(e))}function Xi(){return{active:rr.interactiveActive,headedActive:rr.headedActive,poolSize:Ba.concurrency,queued:rr.interactiveQueued}}function bf(e){ek.current=e}async function zB({headed:e,task:t}){rr.interactiveQueued-=1,rr.interactiveActive+=1,rr.headedActive+=e?1:0,yf();try{return await t()}finally{rr.interactiveActive-=1,rr.headedActive-=e?1:0,yf()}}function yf(){ek.current?.()}import{err as wf,ok as tk}from"neverthrow";function rk({all:e,ids:t,lockfile:r}){let n=r.tests.map(a=>a.name);if(e&&t.length>0)return wf({kind:"conflicting-flags"});if(e)return tk(r.tests.filter(a=>!a.stub).map(a=>a.name));if(t.length===0)return wf({kind:"nothing-selected"});let i=new Map(n.map(a=>[ge(a),a])),o=t.map(a=>({id:a,name:n.includes(a)?a:i.get(ge(a))})),s=o.filter(a=>a.name==null).map(a=>a.id);return s.length>0?wf({kind:"unknown-ids",known:n,unknown:s}):tk(o.flatMap(a=>a.name==null?[]:[a.name]))}import{err as Sf,ok as ik}from"neverthrow";import{graphql as ok}from"gql.tada";async function sk({config:e,cwd:t,lockfile:r}){await qB({config:e,cwd:t,lockfile:r});let n=await JB(e);if(n.isErr())return Sf(n.error);let i=new Map(r.tests.filter(s=>!s.stub).map(s=>[ge(s.name),s.name])),o=[...new Set(n.value)].flatMap(s=>{let a=i.get(s);return a==null?[]:[a]});return o.length===0?Sf({kind:"scope-empty"}):ik(o)}var GB=ok(`
364
+ mutation AddDirtyTestsToScope($projectId: String!, $cwd: String!, $workflowSlugs: [String!]!) {
365
+ addDirtyTestsToScope(projectId: $projectId, cwd: $cwd, workflowSlugs: $workflowSlugs) {
366
+ __typename
367
+ }
368
+ }
369
+ `);async function qB({config:e,cwd:t,lockfile:r}){let n=new Set(YB(t)),i=r.tests.filter(o=>o.sourcePath!=null&&n.has(o.sourcePath)).map(o=>ge(o.name));i.length!==0&&await D({config:e,document:GB,variables:{cwd:e.cwd,projectId:e.projectId,workflowSlugs:i}}).catch(o=>{B.warn({err:o},"auto-scope of dirty tests failed")})}var KB=ok(`
370
+ query ScopeSelection($projectId: String!, $cwd: String!) {
371
+ project(id: $projectId) {
372
+ id
373
+ devSession(cwd: $cwd) {
374
+ id
375
+ scopeItems {
376
+ id
377
+ workflow {
378
+ id
379
+ slug
380
+ }
381
+ }
382
+ }
383
+ }
384
+ }
385
+ `);async function JB(e){try{let r=(await D({config:e,document:KB,variables:{cwd:e.cwd,projectId:e.projectId}})).project?.devSession?.scopeItems??[];return ik(r.flatMap(n=>n.workflow==null?[]:[n.workflow.slug]))}catch(t){return Sf({detail:t instanceof Error?t.message:String(t),kind:"scope-fetch-failed"})}}var nk=".ripplo/tests/";function YB(e){try{return ot(["status","--porcelain","--",".ripplo/tests"],e).split(`
386
+ `).map(t=>t.slice(3).trim()).filter(t=>t.startsWith(nk)&&t.endsWith(".ts")).map(t=>t.slice(nk.length)).filter(t=>t!=="index.ts"&&!t.endsWith("/index.ts"))}catch{return[]}}import XB from"crypto";import{graphql as QB}from"gql.tada";import{err as eV,ok as tV}from"neverthrow";import vf from"fs";import xf from"path";function Wa(e){try{let t=ZB(e);if(t==null)return;let r=xf.join(t,"HEAD"),n=vf.readFileSync(r,"utf8").trim(),i="ref: refs/heads/";return n.startsWith(i)?n.slice(i.length):n.length===0?void 0:n.slice(0,7)}catch{return}}function ZB(e){let t=xf.join(e,".git");if(vf.statSync(t).isDirectory())return t;let n=vf.readFileSync(t,"utf8").trim(),i="gitdir:";if(!n.startsWith(i))return;let o=n.slice(i.length).trim();if(o.length!==0)return xf.resolve(e,o)}var rV=QB(`
363
387
  mutation SyncDevSession(
364
388
  $projectId: String!
365
389
  $cwd: String!
@@ -378,7 +402,7 @@ ${V("debug")}`:"";return`${String(t)} passed, ${String(e)} failed (${String(t+e)
378
402
  hooksPaused
379
403
  }
380
404
  }
381
- `);async function Ji(e,t){let r=await be(e);if(r.isErr())return RV({error:r.error,kind:"compilation-failed"});let n=await Rr({config:t,cwd:e,lockfile:r.value});return EV({devSessionId:n.devSessionId,lockfile:r.value})}async function Rr(e){let t=AV(e.lockfile);return DV({config:e.config,cwd:e.cwd,payload:t})}function AV(e){let t=PV(e);return{preconditions:e.entities.map(r=>({depends:t.get(r.name)??[],description:r.description??"",name:r.name,returns:r.identity})),workflows:e.tests.map(r=>({expectedOutcome:r.intent,name:r.name,preconditions:NV(LV(r),t),requiresKeys:r.world.map(n=>({namespace:n.as,preconditionName:n.entity})),slug:Re(r.name),sourcePath:r.sourcePath??null,spec:JSON.stringify({steps:r.steps.map((n,i)=>Un(n,i)),stub:r.stub})}))}}function PV(e){let t=e.tests.reduce((r,n)=>TV(r,n),new Map);return new Map([...t].map(([r,n])=>[r,[...n]]))}function TV(e,t){let r=[...t.world,...t.maybe],n=new Map(r.map(i=>[i.as,i.entity]));return r.reduce((i,o)=>{let s=OV(o,n),a=i.get(o.entity)??new Set;return new Map([...i,[o.entity,new Set([...a,...s])]])},e)}function OV(e,t){return Object.values(e.set).flatMap(r=>MV(r)).map(r=>t.get(r)).filter(r=>r!=null&&r!==e.entity)}function MV(e){return e==null||typeof e!="object"?[]:"ref"in e?[Zx(e.ref)]:e.template.filter(t=>typeof t!="string").map(t=>Zx(t.ref))}function Zx(e){let[t]=e.split(".");return t??e}function NV(e,t){let r=(n,i)=>n.has(i)?n:(t.get(i)??[]).reduce((o,s)=>r(o,s),new Set([...n,i]));return[...e.reduce((n,i)=>r(n,i),new Set)]}function LV(e){return[...new Set(e.world.map(t=>t.entity))]}function $V(e){return kV.createHash("sha256").update(JSON.stringify(e)).digest("hex")}async function DV({config:e,cwd:t,payload:r}){let n=$V(r),i=Fa(t),o=await D({config:e,document:IV,variables:{branch:i??null,cwd:t,preconditions:r.preconditions.map(s=>({depends:[...s.depends],description:s.description,name:s.name,returns:[...s.returns]})),projectId:e.projectId,workflows:r.workflows.map(s=>({expectedOutcome:s.expectedOutcome,name:s.name,preconditions:[...s.preconditions],requiresKeys:s.requiresKeys.map(a=>({namespace:a.namespace,preconditionName:a.preconditionName})),slug:s.slug,sourcePath:s.sourcePath,spec:s.spec??null}))}});if(o.syncDevSession==null)throw new Error("syncDevSession returned null");return{devSessionId:o.syncDevSession.id,hash:n,hooksPaused:o.syncDevSession.hooksPaused}}var VV=12e4,BV=-32099;function Va(e){let t=new AbortController;return e.isCancellationRequested?(t.abort(),t.signal):(e.onCancellationRequested(()=>{t.abort()}),t.signal)}function tk(e){let t={...e,expectations:new Map,jobs:new Map};return{claim:r=>qV(t,r),handleConnection:r=>{UV(t,r)},idle:()=>rk(t)}}function UV(e,t){let r=Ia(t);r.onRequest(Aa,(n,i)=>WV({connection:r,ctx:e,params:n,token:i})),r.onRequest(Pa,()=>{let n=Yi();return{active:n.active,queued:n.queued,...e.explorationStatus()}}),r.onRequest(Ta,()=>{let n=rk(e);return n&&e.onShutdownRequest(),n}),r.onClose(()=>{HV(e,r)}),r.onError(n=>{F.warn({err:n},"ipc connection error")}),t.on("error",n=>{F.warn({err:n},"ipc socket error")}),r.listen()}function rk(e){let t=Yi();return e.jobs.size===0&&t.active===0&&t.queued===0}async function WV({connection:e,ctx:t,params:r,token:n}){let i=Tx.safeParse(r);if(!i.success)throw Xx({code:"bad-message"});await t.ready;let o=await YV({config:t.config,cwd:t.cwd,message:i.data});if(o.kind==="error")throw Xx(o.error);let s=_V(),a=new jV;return n.onCancellationRequested(()=>{nk(t,s)}),t.jobs.set(s,{cancellation:a,connection:e,failed:0,passed:0,total:o.testNames.length}),rB({ctx:t,headed:i.data.headed,jobId:s,testNames:o.testNames,token:a.token,workflowIdsBySlug:o.workflowIdsBySlug}).catch(l=>{F.error({err:l},"ipc dispatch failed")}),{jobId:s,total:o.testNames.length}}function Xx(e){return new FV(BV,e.code,e)}function nk(e,t){let r=e.jobs.get(t);r!=null&&(r.cancellation.cancel(),e.jobs.delete(t),e.expectations.forEach((n,i)=>{n.filter(o=>o.jobId===t).forEach(o=>{clearTimeout(o.timer)}),e.expectations.set(i,n.filter(o=>o.jobId!==t))}))}function HV(e,t){[...e.jobs.entries()].filter(([,r])=>r.connection===t).forEach(([r])=>{nk(e,r)})}function Zi(e,t,r){let n=e.jobs.get(t);n!=null&&(Qx(()=>n.connection.sendNotification(Oa,{event:r,jobId:t})),r.kind==="test-outcome"&&(r.outcome.kind==="pass"?n.passed+=1:n.failed+=1,n.passed+n.failed>=n.total&&(Qx(()=>n.connection.sendNotification(Ma,{failed:n.failed,jobId:t,passed:n.passed})),e.jobs.delete(t))))}function Qx(e){e().catch(t=>{F.warn({err:t},"ipc notification failed")})}function ik(e,t){let n=e.expectations.get(t)?.shift();return n==null?null:(clearTimeout(n.timer),n)}function zV(e,t){let{headed:r,jobId:n,slug:i,testName:o}=t,s=setTimeout(()=>{GV({ctx:e,jobId:n,slug:i,testName:o,timer:s})},VV);e.expectations.set(i,[...e.expectations.get(i)??[],{headed:r,jobId:n,testName:o,timer:s}])}function GV({ctx:e,jobId:t,slug:r,testName:n,timer:i}){let o=e.expectations.get(r)??[],s=o.findIndex(a=>a.timer===i);s!==-1&&(e.expectations.set(r,o.toSpliced(s,1)),Zi(e,t,{kind:"test-outcome",outcome:{detail:"dispatch-timeout",kind:"dispatch-error"},runId:"",testName:n}))}function qV(e,t){let r=ik(e,t);if(r==null)return null;let n=e.jobs.get(r.jobId);return n==null?null:{headed:r.headed,token:n.cancellation.token,finished:(i,o)=>{Zi(e,r.jobId,{kind:"test-outcome",outcome:o,runId:i,testName:r.testName})},started:i=>{Zi(e,r.jobId,{kind:"test-started",runId:i,testName:r.testName})}}}function KV(e){return e.kind==="typecheck-failed"?e.diagnostics.slice(0,5):e.kind==="invalid-lockfile"?e.issues.slice(0,5):e.kind==="load-threw"?[e.message]:[]}async function YV({config:e,cwd:t,message:r}){return(await yh(t)).match(i=>JV({config:e,cwd:t,lockfile:i,message:r}),i=>Promise.resolve({error:{code:"compile-failed",detail:i.kind,diagnostics:[...KV(i)]},kind:"error"}))}async function JV({config:e,cwd:t,lockfile:r,message:n}){let i=await ZV({config:e,cwd:t,lockfile:r});return i!=null?{error:{code:"sync-failed",detail:i},kind:"error"}:Jx({all:n.all,ids:n.tests,lockfile:r}).match(async o=>({kind:"ready",testNames:o,workflowIdsBySlug:await eB(e,t)}),o=>Promise.resolve({error:XV(o),kind:"error"}))}async function ZV(e){try{return await Rr(e),null}catch(t){return t instanceof Error?t.message:String(t)}}function XV(e){switch(e.kind){case"conflicting-flags":return{code:"selection-conflicting-flags"};case"nothing-selected":return{code:"selection-nothing-selected"};case"unknown-ids":return{code:"selection-unknown-ids",known:[...e.known],unknown:[...e.unknown]}}}var QV=ek(`
405
+ `);async function Qi(e,t){let r=await we(e);if(r.isErr())return eV({error:r.error,kind:"compilation-failed"});let n=await Ir({config:t,cwd:e,lockfile:r.value});return tV({devSessionId:n.devSessionId,lockfile:r.value})}async function Ir(e){let t=nV(e.lockfile);return dV({config:e.config,cwd:e.cwd,payload:t})}function nV(e){let t=iV(e);return{preconditions:e.entities.map(r=>({depends:t.get(r.name)??[],description:r.description??"",name:r.name,returns:r.identity})),workflows:e.tests.map(r=>({expectedOutcome:r.intent,name:r.name,preconditions:lV(cV(r),t),requiresKeys:r.world.map(n=>({namespace:n.as,preconditionName:n.entity})),slug:ge(r.name),sourcePath:r.sourcePath??null,spec:JSON.stringify({steps:r.steps.map((n,i)=>zn(n,i)),stub:r.stub})}))}}function iV(e){let t=e.tests.reduce((r,n)=>oV(r,n),new Map);return new Map([...t].map(([r,n])=>[r,[...n]]))}function oV(e,t){let r=[...t.world,...t.maybe],n=new Map(r.map(i=>[i.as,i.entity]));return r.reduce((i,o)=>{let s=sV(o,n),a=i.get(o.entity)??new Set;return new Map([...i,[o.entity,new Set([...a,...s])]])},e)}function sV(e,t){return Object.values(e.set).flatMap(r=>aV(r)).map(r=>t.get(r)).filter(r=>r!=null&&r!==e.entity)}function aV(e){return e==null||typeof e!="object"?[]:"ref"in e?[ak(e.ref)]:e.template.filter(t=>typeof t!="string").map(t=>ak(t.ref))}function ak(e){let[t]=e.split(".");return t??e}function lV(e,t){let r=(n,i)=>n.has(i)?n:(t.get(i)??[]).reduce((o,s)=>r(o,s),new Set([...n,i]));return[...e.reduce((n,i)=>r(n,i),new Set)]}function cV(e){return[...new Set(e.world.map(t=>t.entity))]}function uV(e){return XB.createHash("sha256").update(JSON.stringify(e)).digest("hex")}async function dV({config:e,cwd:t,payload:r}){let n=uV(r),i=Wa(t),o=await D({config:e,document:rV,variables:{branch:i??null,cwd:t,preconditions:r.preconditions.map(s=>({depends:[...s.depends],description:s.description,name:s.name,returns:[...s.returns]})),projectId:e.projectId,workflows:r.workflows.map(s=>({expectedOutcome:s.expectedOutcome,name:s.name,preconditions:[...s.preconditions],requiresKeys:s.requiresKeys.map(a=>({namespace:a.namespace,preconditionName:a.preconditionName})),slug:s.slug,sourcePath:s.sourcePath,spec:s.spec??null}))}});if(o.syncDevSession==null)throw new Error("syncDevSession returned null");return{devSessionId:o.syncDevSession.id,hash:n,hooksPaused:o.syncDevSession.hooksPaused}}var mV=12e4,gV=-32099;function Ha(e){let t=new AbortController;return e.isCancellationRequested?(t.abort(),t.signal):(e.onCancellationRequested(()=>{t.abort()}),t.signal)}function dk(e){let t={...e,expectations:new Map,jobs:new Map};return{claim:r=>xV(t,r),handleConnection:r=>{yV(t,r)},idle:()=>pk(t)}}function yV(e,t){let r=Oa(t);r.onRequest(Ma,(n,i)=>bV({connection:r,ctx:e,params:n,token:i})),r.onRequest(Na,()=>{let n=Xi();return{active:n.active,queued:n.queued,...e.explorationStatus()}}),r.onRequest(La,()=>{let n=pk(e);return n&&e.onShutdownRequest(),n}),r.onClose(()=>{wV(e,r)}),r.onError(n=>{B.warn({err:n},"ipc connection error")}),t.on("error",n=>{B.warn({err:n},"ipc socket error")}),r.listen()}function pk(e){let t=Xi();return e.jobs.size===0&&t.active===0&&t.queued===0}async function bV({connection:e,ctx:t,params:r,token:n}){let i=Dx.safeParse(r);if(!i.success)throw lk({code:"bad-message"});await t.ready;let o=await CV({config:t.config,cwd:t.cwd,message:i.data});if(o.kind==="error")throw lk(o.error);let s=pV(),a=new fV;return n.onCancellationRequested(()=>{fk(t,s)}),t.jobs.set(s,{cancellation:a,connection:e,failed:0,passed:0,total:o.testNames.length}),NV({ctx:t,headed:i.data.headed,jobId:s,testNames:o.testNames,token:a.token,workflowIdsBySlug:o.workflowIdsBySlug}).catch(l=>{B.error({err:l},"ipc dispatch failed")}),{jobId:s,total:o.testNames.length}}function lk(e){return new hV(gV,e.code,e)}function fk(e,t){let r=e.jobs.get(t);r!=null&&(r.cancellation.cancel(),e.jobs.delete(t),e.expectations.forEach((n,i)=>{n.filter(o=>o.jobId===t).forEach(o=>{clearTimeout(o.timer)}),e.expectations.set(i,n.filter(o=>o.jobId!==t))}))}function wV(e,t){[...e.jobs.entries()].filter(([,r])=>r.connection===t).forEach(([r])=>{fk(e,r)})}function eo(e,t,r){let n=e.jobs.get(t);n!=null&&(ck(()=>n.connection.sendNotification($a,{event:r,jobId:t})),r.kind==="test-outcome"&&(r.outcome.kind==="pass"?n.passed+=1:n.failed+=1,n.passed+n.failed>=n.total&&(ck(()=>n.connection.sendNotification(Da,{failed:n.failed,jobId:t,passed:n.passed})),e.jobs.delete(t))))}function ck(e){e().catch(t=>{B.warn({err:t},"ipc notification failed")})}function hk(e,t){let n=e.expectations.get(t)?.shift();return n==null?null:(clearTimeout(n.timer),n)}function SV(e,t){let{headed:r,jobId:n,slug:i,testName:o}=t,s=setTimeout(()=>{vV({ctx:e,jobId:n,slug:i,testName:o,timer:s})},mV);e.expectations.set(i,[...e.expectations.get(i)??[],{headed:r,jobId:n,testName:o,timer:s}])}function vV({ctx:e,jobId:t,slug:r,testName:n,timer:i}){let o=e.expectations.get(r)??[],s=o.findIndex(a=>a.timer===i);s!==-1&&(e.expectations.set(r,o.toSpliced(s,1)),eo(e,t,{kind:"test-outcome",outcome:{detail:"dispatch-timeout",kind:"dispatch-error"},runId:"",testName:n}))}function xV(e,t){let r=hk(e,t);if(r==null)return null;let n=e.jobs.get(r.jobId);return n==null?null:{headed:r.headed,token:n.cancellation.token,finished:(i,o)=>{eo(e,r.jobId,{kind:"test-outcome",outcome:o,runId:i,testName:r.testName})},started:i=>{eo(e,r.jobId,{kind:"test-started",runId:i,testName:r.testName})}}}function kV(e){return e.kind==="typecheck-failed"?e.diagnostics.slice(0,5):e.kind==="invalid-lockfile"?e.issues.slice(0,5):e.kind==="load-threw"?[e.message]:[]}async function CV({config:e,cwd:t,message:r}){return(await kh(t)).match(i=>RV({config:e,cwd:t,lockfile:i,message:r}),i=>Promise.resolve({error:{code:"compile-failed",detail:i.kind,diagnostics:[...kV(i)]},kind:"error"}))}async function RV({config:e,cwd:t,lockfile:r,message:n}){let i=await EV({config:e,cwd:t,lockfile:r});return i!=null?{error:{code:"sync-failed",detail:i},kind:"error"}:(await IV({config:e,cwd:t,lockfile:r,message:n})).match(async s=>({kind:"ready",testNames:s,workflowIdsBySlug:await OV(e,t)}),s=>Promise.resolve({error:s,kind:"error"}))}async function EV(e){try{return await Ir(e),null}catch(t){return t instanceof Error?t.message:String(t)}}async function IV({config:e,cwd:t,lockfile:r,message:n}){return!n.all&&n.tests.length===0?(await sk({config:e,cwd:t,lockfile:r})).mapErr(AV):rk({all:n.all,ids:n.tests,lockfile:r}).mapErr(PV)}function AV(e){return e.kind==="scope-empty"?{code:"selection-nothing-selected"}:{code:"scope-failed",detail:e.detail}}function PV(e){switch(e.kind){case"conflicting-flags":return{code:"selection-conflicting-flags"};case"nothing-selected":return{code:"selection-nothing-selected"};case"unknown-ids":return{code:"selection-unknown-ids",known:[...e.known],unknown:[...e.unknown]}}}var TV=uk(`
382
406
  query DaemonWorkflows($projectId: String!, $cwd: String!) {
383
407
  project(id: $projectId) {
384
408
  id
@@ -391,7 +415,7 @@ ${V("debug")}`:"";return`${String(t)} passed, ${String(e)} failed (${String(t+e)
391
415
  }
392
416
  }
393
417
  }
394
- `);async function eB(e,t){let n=(await D({config:e,document:QV,variables:{cwd:t,projectId:e.projectId}})).project?.devSession?.workflows??[];return new Map(n.map(i=>[i.slug,i.id]))}var tB=ek(`
418
+ `);async function OV(e,t){let n=(await D({config:e,document:TV,variables:{cwd:t,projectId:e.projectId}})).project?.devSession?.workflows??[];return new Map(n.map(i=>[i.slug,i.id]))}var MV=uk(`
395
419
  mutation DaemonCreateRun($workflowId: String!) {
396
420
  createRun(workflowId: $workflowId, executor: local) {
397
421
  __typename
@@ -400,50 +424,73 @@ ${V("debug")}`:"";return`${String(t)} passed, ${String(e)} failed (${String(t+e)
400
424
  }
401
425
  }
402
426
  }
403
- `);async function rB(e){await e.testNames.reduce((t,r)=>t.then(()=>nB(e,r)),Promise.resolve())}async function nB(e,t){let{ctx:r,headed:n,jobId:i,token:o,workflowIdsBySlug:s}=e;if(o.isCancellationRequested)return;let a=Re(t),l=s.get(a);if(l==null){Zi(r,i,{kind:"test-outcome",outcome:{detail:"workflow-not-found",kind:"dispatch-error"},runId:"",testName:t});return}zV(r,{headed:n,jobId:i,slug:a,testName:t});let c=await iB(r.config,l);c!=null&&(ik(r,a),Zi(r,i,{kind:"test-outcome",outcome:{detail:c,kind:"dispatch-error"},runId:"",testName:t}))}async function iB(e,t){try{let n=(await D({config:e,document:tB,variables:{workflowId:t}})).createRun;return n==null?"create-run-null":n.__typename==="Run"?null:n.__typename}catch(r){return r instanceof Error?r.message:String(r)}}import{gzip as oB}from"zlib";import{promisify as sB}from"util";import{existsSync as aB,readFileSync as lB}from"fs";import sk from"path";import{graphql as Xi}from"gql.tada";function ok(e){return[e.kind,e.target,e.value].filter(t=>t.length>0).join(" ")}async function ak({config:e,cwd:t,headed:r,lockfile:n,runId:i,session:o,signal:s,test:a}){await bB(e,i);let l=sk.join(t,".ripplo","debug"),c=[];return(await o.runOnce({lockfile:n,options:{baseUrl:e.appUrl,engineUrl:e.engineUrl,generate:$c,headed:r,secret:e.webhookSecret},params:void 0,runId:i,testName:a.name,onEvent:d=>{c.push(d)}},s)).match(async d=>{await cB({config:e,debugDir:l,events:c,runId:i,test:a,total:d.fired.length});let p=lk(c).flatMap(h=>h.findings);return p.length>0?{findings:p,kind:"findings",runId:i}:{kind:"pass",runId:i}},async d=>(await Qi(e,i,ar(d)),{error:d,kind:"error",runId:i}))}async function cB({config:e,debugDir:t,events:r,runId:n,test:i}){let o=lk(r),s=uB(t,n);await Promise.all([fB({config:e,origin:s?.origin??0,records:o,runId:n,test:i}),s==null?Promise.resolve():gB(e,n,s)]),await yB(e,n,o)}function lk(e){return e.flatMap(t=>t.kind==="step"?[{endMs:t.endMs,findings:t.findings,index:t.index,startMs:t.startMs}]:[])}function uB(e,t){let r=sk.join(e,t,"behavior.jsonl");if(!aB(r))return null;let n=lB(r,"utf8").split(`
404
- `).filter(o=>o.length>0).map(o=>dB(o)).flatMap(o=>pB(o)?[o.event]:[]),i=n[0];return i==null?null:{events:n,origin:i.timestamp}}function dB(e){return JSON.parse(e)}function pB(e){return typeof e=="object"&&e!=null&&Reflect.get(e,"kind")==="rrweb"}async function fB({config:e,origin:t,records:r,runId:n,test:i}){let o=r.map(s=>hB({origin:t,record:s,test:i}));await D({config:e,document:SB,variables:{items:[{runId:n,steps:o}]}})}function hB({origin:e,record:t,test:r}){let n=r.steps[t.index],i=n==null?null:Un(n,t.index);return{assertions:t.findings.map(o=>({description:ai(o),detail:null,status:"failed"})),detail:null,duration:Math.max(0,t.endMs-t.startMs),nodeType:i?.kind??"step",recordingEndMs:Math.max(0,t.endMs-e),recordingStartMs:Math.max(0,t.startMs-e),rrwebIds:[],snapshotTimestamp:Math.max(0,t.endMs-e),status:t.findings.length>0?"failed":"passed",stepIndex:t.index,title:i==null?`step ${String(t.index)}`:ok(i),url:""}}var mB=sB(oB);async function Qi(e,t,r){await D({config:e,document:kB,variables:{reason:r,runId:t}}).catch(n=>{F.error(n,"failRun submission failed")})}async function gB(e,t,r){let n=r.events.map(s=>JSON.stringify(s)).join(`
405
- `),i=await mB(Buffer.from(n,"utf8")),o=r.events.at(-1);await D({config:e,document:vB,variables:{input:{bodyBase64:i.toString("base64"),chunkIndex:0,endTimestamp:Math.max(0,(o?.timestamp??r.origin)-r.origin),eventCount:r.events.length,runId:t,startTimestamp:0}}})}async function yB(e,t,r){let n=r.filter(s=>s.findings.length>0).length,i=r.length-n,o=r.reduce((s,a)=>s+Math.max(0,a.endMs-a.startMs),0);await D({config:e,document:xB,variables:{items:[{duration:o,failCount:n,passCount:i,runId:t,status:n>0?"failed":"passed",summary:null,warnCount:0}]}})}async function bB(e,t){await D({config:e,document:wB,variables:{runIds:[t]}})}var wB=Xi(`
427
+ `);async function NV(e){await e.testNames.reduce((t,r)=>t.then(()=>LV(e,r)),Promise.resolve())}async function LV(e,t){let{ctx:r,headed:n,jobId:i,token:o,workflowIdsBySlug:s}=e;if(o.isCancellationRequested)return;let a=ge(t),l=s.get(a);if(l==null){eo(r,i,{kind:"test-outcome",outcome:{detail:"workflow-not-found",kind:"dispatch-error"},runId:"",testName:t});return}SV(r,{headed:n,jobId:i,slug:a,testName:t});let c=await $V(r.config,l);c!=null&&(hk(r,a),eo(r,i,{kind:"test-outcome",outcome:{detail:c,kind:"dispatch-error"},runId:"",testName:t}))}async function $V(e,t){try{let n=(await D({config:e,document:MV,variables:{workflowId:t}})).createRun;return n==null?"create-run-null":n.__typename==="Run"?null:n.__typename}catch(r){return r instanceof Error?r.message:String(r)}}import{gzip as DV}from"zlib";import{promisify as _V}from"util";import{existsSync as jV,readFileSync as FV}from"fs";import gk from"path";import{graphql as to}from"gql.tada";function mk(e){return[e.kind,e.target,e.value].filter(t=>t.length>0).join(" ")}async function yk({config:e,cwd:t,headed:r,lockfile:n,runId:i,session:o,signal:s,test:a}){await JV(e,i);let l=gk.join(t,".ripplo","debug"),c=[];return(await o.runOnce({lockfile:n,options:{baseUrl:e.appUrl,engineUrl:e.engineUrl,generate:Fc,headed:r,secret:e.webhookSecret},params:void 0,runId:i,testName:a.name,onEvent:d=>{c.push(d)}},s)).match(async d=>{await BV({config:e,debugDir:l,events:c,runId:i,test:a,total:d.fired.length});let p=bk(c).flatMap(h=>h.findings);return p.length>0?{findings:p,kind:"findings",runId:i}:{kind:"pass",runId:i}},async d=>(await ro(e,i,cr(d)),{error:d,kind:"error",runId:i}))}async function BV({config:e,debugDir:t,events:r,runId:n,test:i}){let o=bk(r),s=VV(t,n);await Promise.all([HV({config:e,origin:s?.origin??0,records:o,runId:n,test:i}),s==null?Promise.resolve():qV(e,n,s)]),await KV(e,n,o)}function bk(e){return e.flatMap(t=>t.kind==="step"?[{endMs:t.endMs,findings:t.findings,index:t.index,startMs:t.startMs}]:[])}function VV(e,t){let r=gk.join(e,t,"behavior.jsonl");if(!jV(r))return null;let n=FV(r,"utf8").split(`
428
+ `).filter(o=>o.length>0).map(o=>UV(o)).flatMap(o=>WV(o)?[o.event]:[]),i=n[0];return i==null?null:{events:n,origin:i.timestamp}}function UV(e){return JSON.parse(e)}function WV(e){return typeof e=="object"&&e!=null&&Reflect.get(e,"kind")==="rrweb"}async function HV({config:e,origin:t,records:r,runId:n,test:i}){let o=r.map(s=>zV({origin:t,record:s,test:i}));await D({config:e,document:ZV,variables:{items:[{runId:n,steps:o}]}})}function zV({origin:e,record:t,test:r}){let n=r.steps[t.index],i=n==null?null:zn(n,t.index);return{assertions:t.findings.map(o=>({description:ui(o),detail:null,status:"failed"})),detail:null,duration:Math.max(0,t.endMs-t.startMs),nodeType:i?.kind??"step",recordingEndMs:Math.max(0,t.endMs-e),recordingStartMs:Math.max(0,t.startMs-e),rrwebIds:[],snapshotTimestamp:Math.max(0,t.endMs-e),status:t.findings.length>0?"failed":"passed",stepIndex:t.index,title:i==null?`step ${String(t.index)}`:mk(i),url:""}}var GV=_V(DV);async function ro(e,t,r){await D({config:e,document:eU,variables:{reason:r,runId:t}}).catch(n=>{B.error(n,"failRun submission failed")})}async function qV(e,t,r){let n=r.events.map(s=>JSON.stringify(s)).join(`
429
+ `),i=await GV(Buffer.from(n,"utf8")),o=r.events.at(-1);await D({config:e,document:XV,variables:{input:{bodyBase64:i.toString("base64"),chunkIndex:0,endTimestamp:Math.max(0,(o?.timestamp??r.origin)-r.origin),eventCount:r.events.length,runId:t,startTimestamp:0}}})}async function KV(e,t,r){let n=r.filter(s=>s.findings.length>0).length,i=r.length-n,o=r.reduce((s,a)=>s+Math.max(0,a.endMs-a.startMs),0);await D({config:e,document:QV,variables:{items:[{duration:o,failCount:n,passCount:i,runId:t,status:n>0?"failed":"passed",summary:null,warnCount:0}]}})}async function JV(e,t){await D({config:e,document:YV,variables:{runIds:[t]}})}var YV=to(`
406
430
  mutation StartRunsBatch($runIds: [String!]!) {
407
431
  startRunsBatch(runIds: $runIds) {
408
432
  id
409
433
  }
410
434
  }
411
- `),SB=Xi(`
435
+ `),ZV=to(`
412
436
  mutation SubmitRunStepsBatch($items: [SubmitRunStepsItem!]!) {
413
437
  submitRunStepsBatch(items: $items)
414
438
  }
415
- `),vB=Xi(`
439
+ `),XV=to(`
416
440
  mutation SubmitRunRecordingChunk($input: SubmitRunRecordingChunkInput!) {
417
441
  submitRunRecordingChunk(input: $input)
418
442
  }
419
- `),xB=Xi(`
443
+ `),QV=to(`
420
444
  mutation CompleteRunsBatch($items: [CompleteRunItem!]!) {
421
445
  completeRunsBatch(items: $items) {
422
446
  id
423
447
  status
424
448
  }
425
449
  }
426
- `),kB=Xi(`
450
+ `),eU=to(`
427
451
  mutation FailRun($runId: String!, $reason: String!) {
428
452
  failRun(runId: $runId, reason: $reason)
429
453
  }
430
- `);import{createMessageConnection as ck,IPCMessageReader as uk,IPCMessageWriter as dk,NotificationType as CB,NotificationType0 as pk,RequestType as fk}from"vscode-jsonrpc/node";import{z as Z}from"zod";var hk=Z.object({headed:Z.boolean(),lockfileFingerprint:Z.string(),runId:Z.string().min(1),workflowSlug:Z.string().min(1)}),mk=Z.object({fingerprint:Z.string()}),Sre=Z.object({lockfileJson:Z.string().optional(),unavailable:Z.string().optional()}),RB=Z.enum(["unspecified","internal","server","client","producer","consumer"]),EB=Z.enum(["unset","ok","error"]),IB=Z.object({attributes:Z.record(Z.string(),Z.string()),durationMs:Z.number(),kind:Z.literal("span"),name:Z.string(),parentSpanId:Z.union([Z.string(),Z.undefined()]),source:Z.literal("server"),spanId:Z.string(),spanKind:RB,status:Z.object({code:EB,message:Z.union([Z.string(),Z.undefined()])}),timeNanos:Z.string(),traceId:Z.string()}),gk=Z.object({runId:Z.string().min(1),span:IB}),yk=Z.object({outcome:lf,serverNotified:Z.boolean()}),Ba=new pk("worker/ready"),Ua=new fk("worker/run"),Wa=new fk("worker/lockfile"),Ha=new CB("worker/span"),za=new pk("worker/shutdown");function bk(e){let t=ck(new uk(e),new dk(e));return t.listen(),t}function wk(){let e=ck(new uk(process),new dk(process));return e.listen(),e}function Sk(e){switch(e.kind){case"already-running":return`ripplo daemon: daemon already running (socket ${e.socketPath}).`;case"bind-failed":return`ripplo daemon: failed to bind IPC socket: ${e.message}`}}function vk({projectId:e,serverUrl:t}){return[`Project "${e}" (from .ripplo/project.json) was not found on ${t}, or this account does not have access to it.`,"Run `npx ripplo projects list` to see your projects, then update .ripplo/project.json (or re-run `npx ripplo init --project <id>`)."].join(`
431
- `)}function xk(e){return`ripplo daemon: ready as local executor for session ${e} (sync happens on each \`ripplo run\`; Ctrl-C to stop)`}function kk({cwd:e,pid:t}){return`ripplo daemon: another daemon is already running for this project${t==null?"":` (pid ${String(t)})`} (cwd ${e}).`}function Ck(){return"ripplo daemon: lock compromised \u2014 another daemon likely took over this project; shutting down."}function Rk(e){if(e.kind==="not-running")return"daemon: not running";if(e.kind==="unresponsive")return`daemon: running but did not reply within ${String(e.timeoutMs/1e3)}s \u2014 likely busy executing runs (event loop saturated); retry when the batch drains`;let{status:t}=e,r=`${String(t.active)} active, ${String(t.queued)} queued`,n=`explorer: ${t.explorer}, ${String(t.exploring)} exploring`;return`daemon: running (${r}; ${n})`}function Ek(e){switch(e.kind){case"pass":return{kind:"pass"};case"findings":return{findingLines:e.findings.map(t=>ai(t)),kind:"findings"};case"error":return{detail:ar(e.error),kind:"error"};case"dispatch-failed":return{detail:e.reason,kind:"dispatch-error"}}}async function Ik(){let e=process.cwd(),t=F.child({worker:process.pid}),r=wk(),n=of({debugDir:AB.join(e,".ripplo","debug"),headed:!1,writeOtlpPortFile:!1}),i={entry:void 0},o=s=>{n.close().catch(()=>{}).then(()=>{process.exit(s)})};process.on("disconnect",()=>{o(1)}),process.on("unhandledRejection",s=>{t.error({err:s},"worker unhandled rejection")}),process.on("uncaughtException",s=>{t.error({err:s},"worker uncaught exception"),o(1)}),r.onRequest(Ua,async(s,a)=>{let l=hk.safeParse(s);if(!l.success)return Ga("bad-run-assign");let c=l.data;qr(e);let u=je(e).match(m=>m,m=>m.kind);if(typeof u=="string")return Ga(`config:${u}`);let d=await PB(c.lockfileFingerprint,i,r);if(d.isErr())return Ga(`lockfile-unavailable:${d.error}`);let p=d.value,h=p.tests.find(m=>Re(m.name)===c.workflowSlug);if(h==null)return Ga(`no-test:${c.workflowSlug}`);let f=await ak({config:u,cwd:e,headed:c.headed,lockfile:p,runId:c.runId,session:n,signal:Va(a),test:h});return{outcome:Ek(f),serverNotified:!0}}),r.onNotification(Ha,s=>{let a=gk.safeParse(s);a.success&&n.injectSpan(a.data.runId,a.data.span)}),r.onNotification(za,()=>{o(0)}),r.sendNotification(Ba),await new Promise(()=>{})}function Ga(e){return{outcome:{detail:e,kind:"error"},serverNotified:!1}}async function PB(e,t,r){return t.entry!=null&&t.entry.fingerprint===e?bf(t.entry.lockfile):(await TB(r,e)).andThen(i=>i.unavailable!=null?qa(i.unavailable):i.lockfileJson==null?qa("empty-reply"):OB(i.lockfileJson).map(o=>(t.entry={fingerprint:e,lockfile:o},o)))}async function TB(e,t){try{return bf(await e.sendRequest(Wa,{fingerprint:t}))}catch(r){return qa(`transport:${r instanceof Error?r.message:"unknown"}`)}}function OB(e){try{return bf(Nl(pt,e))}catch(t){return qa(`worker-decode-failed:${t instanceof Error?t.message.slice(0,200):"unknown"}`)}}async function Ak(){await Ik()}async function Pk(){let e=Dt();try{let r=(await Ji(e.cwd,e)).match(o=>o,o=>{process.stderr.write(`${Ge(o)}
454
+ `);import{createMessageConnection as wk,IPCMessageReader as Sk,IPCMessageWriter as vk,NotificationType as tU,NotificationType0 as xk,RequestType as kk}from"vscode-jsonrpc/node";import{z as Z}from"zod";var Ck=Z.object({headed:Z.boolean(),lockfileFingerprint:Z.string(),runId:Z.string().min(1),workflowSlug:Z.string().min(1)}),Rk=Z.object({fingerprint:Z.string()}),_ne=Z.object({lockfileJson:Z.string().optional(),unavailable:Z.string().optional()}),rU=Z.enum(["unspecified","internal","server","client","producer","consumer"]),nU=Z.enum(["unset","ok","error"]),iU=Z.object({attributes:Z.record(Z.string(),Z.string()),durationMs:Z.number(),kind:Z.literal("span"),name:Z.string(),parentSpanId:Z.union([Z.string(),Z.undefined()]),source:Z.literal("server"),spanId:Z.string(),spanKind:rU,status:Z.object({code:nU,message:Z.union([Z.string(),Z.undefined()])}),timeNanos:Z.string(),traceId:Z.string()}),Ek=Z.object({runId:Z.string().min(1),span:iU}),Ik=Z.object({outcome:pf,serverNotified:Z.boolean()}),za=new xk("worker/ready"),Ga=new kk("worker/run"),qa=new kk("worker/lockfile"),Ka=new tU("worker/span"),Ja=new xk("worker/shutdown");function Ak(e){let t=wk(new Sk(e),new vk(e));return t.listen(),t}function Pk(){let e=wk(new Sk(process),new vk(process));return e.listen(),e}function Tk(e){switch(e.kind){case"already-running":return`ripplo daemon: daemon already running (socket ${e.socketPath}).`;case"bind-failed":return`ripplo daemon: failed to bind IPC socket: ${e.message}`}}function Ok({projectId:e,serverUrl:t}){return[`Project "${e}" (from .ripplo/project.json) was not found on ${t}, or this account does not have access to it.`,"Run `npx ripplo projects list` to see your projects, then update .ripplo/project.json (or re-run `npx ripplo init --project <id>`)."].join(`
455
+ `)}function Mk(e){return`ripplo daemon: ready as local executor for session ${e} (sync happens on each \`ripplo run\`; Ctrl-C to stop)`}function Nk({cwd:e,pid:t}){return`ripplo daemon: another daemon is already running for this project${t==null?"":` (pid ${String(t)})`} (cwd ${e}).`}function Lk(){return"ripplo daemon: lock compromised \u2014 another daemon likely took over this project; shutting down."}function $k(e){if(e.kind==="not-running")return"daemon: not running";if(e.kind==="unresponsive")return`daemon: running but did not reply within ${String(e.timeoutMs/1e3)}s \u2014 likely busy executing runs (event loop saturated); retry when the batch drains`;let{status:t}=e,r=`${String(t.active)} active, ${String(t.queued)} queued`,n=`explorer: ${t.explorer}, ${String(t.exploring)} exploring`;return`daemon: running (${r}; ${n})`}function Dk(e){switch(e.kind){case"pass":return{kind:"pass"};case"findings":return{findingLines:e.findings.map(t=>ui(t)),kind:"findings"};case"error":return{detail:cr(e.error),kind:"error"};case"dispatch-failed":return{detail:e.reason,kind:"dispatch-error"}}}async function _k(){let e=process.cwd(),t=B.child({worker:process.pid}),r=Pk(),n=cf({debugDir:oU.join(e,".ripplo","debug"),headed:!1,writeOtlpPortFile:!1}),i={entry:void 0},o=s=>{n.close().catch(()=>{}).then(()=>{process.exit(s)})};process.on("disconnect",()=>{o(1)}),process.on("unhandledRejection",s=>{t.error({err:s},"worker unhandled rejection")}),process.on("uncaughtException",s=>{t.error({err:s},"worker uncaught exception"),o(1)}),r.onRequest(Ga,async(s,a)=>{let l=Ck.safeParse(s);if(!l.success)return Ya("bad-run-assign");let c=l.data;Jr(e);let u=je(e).match(m=>m,m=>m.kind);if(typeof u=="string")return Ya(`config:${u}`);let d=await sU(c.lockfileFingerprint,i,r);if(d.isErr())return Ya(`lockfile-unavailable:${d.error}`);let p=d.value,h=p.tests.find(m=>ge(m.name)===c.workflowSlug);if(h==null)return Ya(`no-test:${c.workflowSlug}`);let f=await yk({config:u,cwd:e,headed:c.headed,lockfile:p,runId:c.runId,session:n,signal:Ha(a),test:h});return{outcome:Dk(f),serverNotified:!0}}),r.onNotification(Ka,s=>{let a=Ek.safeParse(s);a.success&&n.injectSpan(a.data.runId,a.data.span)}),r.onNotification(Ja,()=>{o(0)}),r.sendNotification(za),await new Promise(()=>{})}function Ya(e){return{outcome:{detail:e,kind:"error"},serverNotified:!1}}async function sU(e,t,r){return t.entry!=null&&t.entry.fingerprint===e?kf(t.entry.lockfile):(await aU(r,e)).andThen(i=>i.unavailable!=null?Za(i.unavailable):i.lockfileJson==null?Za("empty-reply"):lU(i.lockfileJson).map(o=>(t.entry={fingerprint:e,lockfile:o},o)))}async function aU(e,t){try{return kf(await e.sendRequest(qa,{fingerprint:t}))}catch(r){return Za(`transport:${r instanceof Error?r.message:"unknown"}`)}}function lU(e){try{return kf(_l(ht,e))}catch(t){return Za(`worker-decode-failed:${t instanceof Error?t.message.slice(0,200):"unknown"}`)}}async function jk(){await _k()}import{createRequire as cU}from"module";import{existsSync as uU}from"fs";import{readFile as Bk,writeFile as dU}from"fs/promises";import{fileURLToPath as pU}from"url";import Cf from"path";import{chromium as fU}from"playwright";import{err as no,ok as hU}from"neverthrow";import{z as Lt}from"zod";var mU={height:800,width:1280};async function Vk({at:e,cwd:t,runId:r}){let n=Cf.join(t,".ripplo","debug",r),i=Cf.join(n,"behavior.jsonl");if(!uU(i))return no({kind:"run-not-found",runId:r});let o=await yU(i),s=o[0],a=o.at(-1);if(s==null||a==null)return no({kind:"no-rrweb-events",runId:r});let l=a.timestamp-s.timestamp,c=e-s.timestamp;if(c<0||c>l)return no({firstTimestamp:s.timestamp,kind:"at-out-of-range",lastTimestamp:a.timestamp});let u=Cf.join(n,`snapshot-${String(Math.round(c))}ms.png`);return(await kU({events:o,offsetMs:c,pngPath:u})).map(()=>({durationMs:l,offsetMs:c,pngPath:u}))}var gU=Lt.object({event:Lt.looseObject({timestamp:Lt.number(),type:Lt.number()}),kind:Lt.literal("rrweb")});async function yU(e){return(await Bk(e,"utf8")).split(`
456
+ `).filter(r=>r.length>0).map(r=>bU(r)).map(r=>gU.safeParse(r)).flatMap(r=>r.success?[r.data.event]:[])}function bU(e){try{return JSON.parse(e)}catch{return null}}var wU=Lt.object({data:Lt.looseObject({height:Lt.number(),width:Lt.number()}),type:Lt.literal(4)});function SU(e){let t=e.flatMap(r=>{let n=wU.safeParse(r);return n.success?[n.data]:[]})[0];return t==null?mU:{height:t.data.height,width:t.data.width}}var vU=`<!doctype html><html><head><style>
457
+ html, body { margin: 0; padding: 0; }
458
+ .replayer-wrapper { position: relative; }
459
+ .replayer-mouse, .replayer-mouse-tail { display: none; }
460
+ iframe { border: none; }
461
+ </style></head><body></body></html>`,xU="*, *::before, *::after { animation-duration: 0s !important; animation-delay: 0s !important; transition-duration: 0s !important; transition-delay: 0s !important; }";async function kU({events:e,offsetMs:t,pngPath:r}){let n=await fU.launch({headless:!0}).catch(()=>null);if(n==null)return no({detail:"chromium launch",kind:"browser-failed"});try{let i=await CU({browser:n,events:e,offsetMs:t});return await dU(r,i),hU(void 0)}catch(i){return no({detail:i instanceof Error?i.message:String(i),kind:"browser-failed"})}finally{await n.close()}}async function CU({browser:e,events:t,offsetMs:r}){let n=SU(t),i=await e.newPage({viewport:n});await i.setContent(vU),await i.addScriptTag({content:await IU()}),await i.evaluate(RU({events:t,offsetMs:r})),await i.evaluate(EU());let o=i.locator(".replayer-wrapper iframe").first();return(await o.count()>0?o:i).screenshot({type:"png"})}function RU({events:e,offsetMs:t}){return`(() => {
462
+ const replayer = new globalThis.__RipploReplayer(${JSON.stringify(e)}, {
463
+ insertStyleRules: [${JSON.stringify(xU)}],
464
+ mouseTail: false,
465
+ root: document.body,
466
+ showWarning: false,
467
+ });
468
+ replayer.pause(${String(t)});
469
+ })()`}function EU(){return`(async () => {
470
+ const doc = document.querySelector(".replayer-wrapper iframe")?.contentDocument;
471
+ if (doc?.fonts != null) {
472
+ await doc.fonts.ready;
473
+ }
474
+ await new Promise((resolve) => requestAnimationFrame(() => requestAnimationFrame(resolve)));
475
+ })()`}var Fk;function IU(){return Fk??=Bk(AU(),"utf8"),Fk}function AU(){let e=cU(import.meta.url);try{return e.resolve("@ripplo/rrweb-bundle/replay")}catch{return pU(new URL("assets/rrweb-replay.js",import.meta.url))}}function Uk(e){return[`${_.good("OK")} \u2014 rendered the page at ${String(Math.round(e.offsetMs))}ms into the recording (duration ${String(Math.round(e.durationMs))}ms)`,e.pngPath,"Read the PNG above to see the page state. Layout and text are faithful; URL-referenced images may be blank if the dev server is down."].join(`
476
+ `)}function Wk(e){return`${_.bad("FAIL")} \u2014 ${PU(e)}`}function PU(e){switch(e.kind){case"run-not-found":return`no debug artifacts for run ${e.runId} (.ripplo/debug/${e.runId}/behavior.jsonl missing). ${j("debug")}`;case"no-rrweb-events":return`run ${e.runId} has a behavior.jsonl but no rrweb events \u2014 nothing to replay.`;case"at-out-of-range":return`--at is outside the recording, which spans ${String(e.firstTimestamp)}\u2013${String(e.lastTimestamp)}. Pass a timestamp from behavior.jsonl (epoch ms).`;case"browser-failed":return`replay browser failed (${e.detail}). Is chromium installed? Try \`npx playwright install chromium\`.`}}async function Hk({at:e,runId:t}){(await Vk({at:e,cwd:process.cwd(),runId:t})).match(n=>{process.stdout.write(`${Uk(n)}
477
+ `)},n=>{process.stderr.write(`${Wk(n)}
478
+ `),process.exit(1)})}async function zk(){let e=Bt();try{let r=(await Qi(e.cwd,e)).match(o=>o,o=>{process.stderr.write(`${qe(o)}
432
479
  `),process.exit(1)}),n=r.lockfile.tests.length,i=r.lockfile.entities.length;process.stdout.write(`synced ${String(n)} tests, ${String(i)} entities to dev session ${r.devSessionId}
433
480
  `)}catch(t){let r=t instanceof Error?t.message:String(t);process.stderr.write(`ripplo sync failed: ${r}
434
- `),process.stderr.write(`${V("setup","verify auth + server reachability")}
435
- `),process.exit(1)}}import uU from"path";import{createClient as dU}from"graphql-sse";import pU,{AbortError as fU}from"p-retry";import{graphql as Ja}from"gql.tada";import{print as hU}from"graphql";import MB from"fs";import Nk from"net";import{err as Lk,ok as NB}from"neverthrow";async function $k({cwd:e,onConnection:t}){Ot(e);let r=Ki(e),n=await Tk({onConnection:t,socketPath:r});return n.isOk()||n.error.kind!=="stale-candidate"?n.map(Ok(r)).mapErr(Mk(r)):await LB(r)?Lk({kind:"already-running",socketPath:r}):(Dk(r),(await Tk({onConnection:t,socketPath:r})).map(Ok(r)).mapErr(Mk(r)))}function LB(e){return new Promise(t=>{let r=Nk.connect(e);r.once("connect",()=>{r.destroy(),t(!0)}),r.once("error",()=>{t(!1)})})}async function Tk(e){let t=await $B(e);return t.kind==="listening"?NB(t.server):Lk(t.error)}function $B({onConnection:e,socketPath:t}){return new Promise(r=>{let n=Nk.createServer(e);n.once("error",i=>{r({error:i.code==="EADDRINUSE"?{kind:"stale-candidate"}:{kind:"listen-failed",message:i.message},kind:"failed"})}),n.listen(t,()=>{r({kind:"listening",server:n})})})}function Ok(e){return t=>({socketPath:e,close:()=>{t.close(),Dk(e)}})}function Dk(e){MB.rmSync(e,{force:!0})}function Mk(e){return t=>t.kind==="stale-candidate"?{kind:"already-running",socketPath:e}:{kind:"bind-failed",message:t.message}}import DB from"fs";import{lockSync as _B}from"proper-lockfile";var jB="explorer.lock",FB=15e3,VB=15e3;function BB(){return Ct(jB)}function _k({onChange:e}){let t={release:null,stopped:!1},r=()=>{t.release=null,t.stopped||e(!1)},n=()=>{if(t.stopped||t.release!=null)return;let o=UB(r);o!=null&&(t.release=o,e(!0))};n();let i=setInterval(n,VB);return{holder:()=>t.release!=null,stop:()=>{t.stopped=!0,clearInterval(i),t.release?.(),t.release=null}}}function UB(e){try{Fn();let t=BB(),r=_B(t,{onCompromised:e,realpath:!1,stale:FB});return DB.writeFileSync(t,String(process.pid)),()=>{try{r()}catch{}}}catch{return null}}function WB(e){let{backoffActive:t,explorerHolder:r,headedActive:n,interactiveActive:i,interactiveQueued:o}=e,{explorationActive:s,poolSize:a}=e;if(!r||n||o>0)return{abortCount:s,refillCount:0};if(t)return{abortCount:0,refillCount:0};let l=Math.min(a-1,a-i)-s;return{abortCount:0,refillCount:Math.max(0,l)}}function Vk(e){let t={active:new Map,backoffUntil:0,cancelBackoffTimer:null,holder:!1,prevInteractiveActive:e.probe().interactiveActive,stopped:!1};return{explorationActive:()=>t.active.size,explorerHolder:()=>t.holder,notifyQueueChange:()=>{HB(t,e)},setExplorerHolder:r=>{t.holder=r,Ka(t,e)},stop:()=>{t.stopped=!0,t.cancelBackoffTimer?.(),t.cancelBackoffTimer=null,Bk(t,t.active.size)}}}function HB(e,t){let r=t.probe();r.interactiveActive<e.prevInteractiveActive&&zB(e,t),e.prevInteractiveActive=r.interactiveActive,Ka(e,t)}function zB(e,t){e.backoffUntil=t.now()+3e4,e.cancelBackoffTimer?.(),e.cancelBackoffTimer=t.setTimer(()=>{e.cancelBackoffTimer=null,Ka(e,t)},3e4)}function Ka(e,t){if(e.stopped)return;let r=t.probe(),n=WB({backoffActive:t.now()<e.backoffUntil,explorationActive:e.active.size,explorerHolder:e.holder&&t.exploreEnabled,headedActive:r.headedActive>0,interactiveActive:r.interactiveActive,interactiveQueued:r.interactiveQueued,poolSize:r.poolSize});Bk(e,n.abortCount),Uk({count:n.refillCount,params:t,state:e})}function Bk(e,t){[...e.active.values()].slice(0,t).forEach(({controller:r})=>{r.abort()})}function Uk({count:e,params:t,state:r}){if(e<=0)return;let n=GB(t.sources);n!=null&&(qB({params:t,pulled:n,state:r}),Uk({count:e-1,params:t,state:r}))}function GB(e){return e.reduce((t,r)=>{if(t!=null)return t;let n=r.next();return n==null?null:{job:n,source:r}},null)}function qB({params:e,pulled:t,state:r}){let{job:n,source:i}=t,o=new AbortController;r.active.set(n.id,{controller:o,job:n,source:i}),e.execute({job:n,priority:i.priority,signal:o.signal}).then(()=>{Fk({job:n,outcome:jk(o.signal,null),params:e,source:i,state:r})}).catch(s=>{Fk({job:n,outcome:jk(o.signal,{error:s}),params:e,source:i,state:r})})}function jk(e,t){return e.aborted?{kind:"aborted"}:t==null?{kind:"completed"}:{error:t.error,kind:"error"}}function Fk({job:e,outcome:t,params:r,source:n,state:i}){i.active.delete(e.id),n.onResult(e,t),Ka(i,r)}function wf(e){return{priority:e,next:()=>null,onResult:()=>{}}}function Wk(){return{priority:"p3",next:()=>null,onResult:()=>{}}}function Hk({explore:e}){let t=Vk({exploreEnabled:e,now:Date.now,probe:KB,setTimer:YB,sources:[wf("p0"),wf("p1"),Wk()],execute:({job:n,priority:i,signal:o})=>_a({headed:!1,workClass:JB(i),task:()=>n.run(o)})});hf(()=>{t.notifyQueueChange()});let r=e?_k({onChange:n=>{t.setExplorerHolder(n)}}):null;return{status:()=>({explorer:ZB({explore:e,holder:t.explorerHolder()}),exploring:t.explorationActive()}),stop:()=>{r?.stop(),t.stop(),hf(null)}}}function KB(){let e=Yi();return{headedActive:e.headedActive,interactiveActive:e.active,interactiveQueued:e.queued,poolSize:e.poolSize}}function YB(e,t){let r=setTimeout(e,t);return()=>{clearTimeout(r)}}function JB(e){switch(e){case"p0":return"p0-ui";case"p1":return"p1-cli";case"p2":return"p2-cover";case"p3":return"p3-explore"}}function ZB({explore:e,holder:t}){return e?t?"holder":"standby":"off"}async function zk({config:e,cwd:t,headed:r,pool:n,runId:i,signal:o,workClass:s,workflowSlug:a}){let{fingerprint:l,result:c}=await zn(t);if(c.isErr())return await Qi(e,i,`lockfile:${c.error.kind}`),{detail:`lockfile:${c.error.kind}`,kind:"dispatch-error"};if(c.value.tests.find(p=>Re(p.name)===a)==null)return await Qi(e,i,`no-test:${a}`),{detail:`no-test:${a}`,kind:"dispatch-error"};let d=await _a({headed:r,workClass:s,task:()=>n.execute({headed:r,lockfileFingerprint:l,runId:i,workflowSlug:a},o)});return!d.serverNotified&&d.outcome.kind==="error"&&await Qi(e,i,d.outcome.detail),d.outcome}import{fork as XB}from"child_process";import Gk from"os";import{CancellationTokenSource as QB,ResponseError as eU}from"vscode-jsonrpc/node";function Kk(e,t){return()=>{let r=XB(e,["run-worker"],{cwd:t,stdio:["ignore","inherit","inherit","ipc"]});return{connection:bk(r),kill:()=>{r.kill("SIGKILL")},onExit:n=>{r.once("exit",n)}}}}function Yk(e){let t={closed:!1,lockfileProvider:e.lockfileProvider,nextId:0,size:e.initialSize,spawn:e.spawn,waiters:[],workers:[]};return{close:async()=>{t.closed=!0,await Promise.all([...t.workers].map(r=>Sf(r,t)))},execute:(r,n)=>nU(r,n,t),routeSpan:(r,n)=>{let i=t.workers.find(o=>o.runId===r);i?.worker.connection.sendNotification(Ha,{runId:r,span:n})},setSize:r=>{aU(r,t)}}}var tU=1e4,rU=-32800;async function nU(e,t,r){let n=await iU(r);if(n.runId=e.runId,!n.alive)return qk(n,r),{outcome:{detail:"worker-exit",kind:"error"},serverNotified:!1};let i=new QB,o=()=>{i.cancel()};t.aborted&&i.cancel(),t.addEventListener("abort",o,{once:!0});try{let s=await n.worker.connection.sendRequest(Ua,e,i.token),a=yk.safeParse(s);return a.success?a.data:{outcome:{detail:"bad-outcome-frame",kind:"error"},serverNotified:!1}}catch(s){return sU(s,n)}finally{t.removeEventListener("abort",o),i.dispose(),qk(n,r)}}async function iU(e){let t=e.workers.find(r=>r.alive&&r.runId===void 0);if(t!=null)return t.runId="pending",t;if(e.workers.length<e.size){let r=oU(e);return r.runId="pending",await r.ready,r}return new Promise(r=>{e.waiters.push(n=>{n.runId="pending",r(n)})})}function oU(e){let t=e.spawn(),r={resolve:()=>{}},n={alive:!0,id:e.nextId,ready:new Promise(i=>{r.resolve=i,t.connection.onNotification(Ba,i)}),runId:void 0,worker:t};return e.nextId+=1,t.connection.onRequest(Wa,async i=>{let o=mk.safeParse(i);return o.success?e.lockfileProvider(o.data.fingerprint):{unavailable:"bad-lockfile-request"}}),t.onExit(()=>{n.alive=!1,e.workers=e.workers.filter(i=>i!==n),t.connection.dispose(),r.resolve()}),e.workers.push(n),n}function qk(e,t){if(e.runId=void 0,!e.alive||t.closed)return;if(t.workers.length>t.size){Sf(e,t);return}let r=t.waiters.shift();r?.(e)}async function Sf(e,t){if(t.workers=t.workers.filter(i=>i!==e),!e.alive)return;let r=new Promise(i=>{e.worker.onExit(i)});await e.worker.connection.sendNotification(za).catch(()=>{});let n=setTimeout(()=>{e.worker.kill()},tU);await r,clearTimeout(n)}function sU(e,t){return e instanceof eU&&e.code===rU?{outcome:{detail:"aborted",kind:"error"},serverNotified:!1}:t.alive?{outcome:{detail:e instanceof Error?e.message:String(e),kind:"error"},serverNotified:!1}:{outcome:{detail:"worker-exit",kind:"error"},serverNotified:!1}}function aU(e,t){t.size=e,e>Gk.availableParallelism()&&F.warn({cores:Gk.availableParallelism(),size:e},"worker pool size exceeds available cores");let r=t.workers.filter(i=>i.alive&&i.runId===void 0),n=t.workers.length-e;r.slice(0,Math.max(0,n)).forEach(i=>{Sf(i,t)})}import Ya from"fs";import{graphql as Jk}from"gql.tada";import{print as Zk}from"graphql";var lU=Jk(`
481
+ `),process.stderr.write(`${j("setup","verify auth + server reachability")}
482
+ `),process.exit(1)}}import lW from"path";import{createClient as cW}from"graphql-sse";import uW,{AbortError as dW}from"p-retry";import{graphql as el}from"gql.tada";import{print as pW}from"graphql";import TU from"fs";import Jk from"net";import{err as Yk,ok as OU}from"neverthrow";async function Zk({cwd:e,onConnection:t}){$t(e);let r=Zi(e),n=await Gk({onConnection:t,socketPath:r});return n.isOk()||n.error.kind!=="stale-candidate"?n.map(qk(r)).mapErr(Kk(r)):await MU(r)?Yk({kind:"already-running",socketPath:r}):(Xk(r),(await Gk({onConnection:t,socketPath:r})).map(qk(r)).mapErr(Kk(r)))}function MU(e){return new Promise(t=>{let r=Jk.connect(e);r.once("connect",()=>{r.destroy(),t(!0)}),r.once("error",()=>{t(!1)})})}async function Gk(e){let t=await NU(e);return t.kind==="listening"?OU(t.server):Yk(t.error)}function NU({onConnection:e,socketPath:t}){return new Promise(r=>{let n=Jk.createServer(e);n.once("error",i=>{r({error:i.code==="EADDRINUSE"?{kind:"stale-candidate"}:{kind:"listen-failed",message:i.message},kind:"failed"})}),n.listen(t,()=>{r({kind:"listening",server:n})})})}function qk(e){return t=>({socketPath:e,close:()=>{t.close(),Xk(e)}})}function Xk(e){TU.rmSync(e,{force:!0})}function Kk(e){return t=>t.kind==="stale-candidate"?{kind:"already-running",socketPath:e}:{kind:"bind-failed",message:t.message}}import LU from"fs";import{lockSync as $U}from"proper-lockfile";var DU="explorer.lock",_U=15e3,jU=15e3;function FU(){return It(DU)}function Qk({onChange:e}){let t={release:null,stopped:!1},r=()=>{t.release=null,t.stopped||e(!1)},n=()=>{if(t.stopped||t.release!=null)return;let o=BU(r);o!=null&&(t.release=o,e(!0))};n();let i=setInterval(n,jU);return{holder:()=>t.release!=null,stop:()=>{t.stopped=!0,clearInterval(i),t.release?.(),t.release=null}}}function BU(e){try{Un();let t=FU(),r=$U(t,{onCompromised:e,realpath:!1,stale:_U});return LU.writeFileSync(t,String(process.pid)),()=>{try{r()}catch{}}}catch{return null}}function VU(e){let{backoffActive:t,explorerHolder:r,headedActive:n,interactiveActive:i,interactiveQueued:o}=e,{explorationActive:s,poolSize:a}=e;if(!r||n||o>0)return{abortCount:s,refillCount:0};if(t)return{abortCount:0,refillCount:0};let l=Math.min(a-1,a-i)-s;return{abortCount:0,refillCount:Math.max(0,l)}}function rC(e){let t={active:new Map,backoffUntil:0,cancelBackoffTimer:null,holder:!1,prevInteractiveActive:e.probe().interactiveActive,stopped:!1};return{explorationActive:()=>t.active.size,explorerHolder:()=>t.holder,notifyQueueChange:()=>{UU(t,e)},setExplorerHolder:r=>{t.holder=r,Xa(t,e)},stop:()=>{t.stopped=!0,t.cancelBackoffTimer?.(),t.cancelBackoffTimer=null,nC(t,t.active.size)}}}function UU(e,t){let r=t.probe();r.interactiveActive<e.prevInteractiveActive&&WU(e,t),e.prevInteractiveActive=r.interactiveActive,Xa(e,t)}function WU(e,t){e.backoffUntil=t.now()+3e4,e.cancelBackoffTimer?.(),e.cancelBackoffTimer=t.setTimer(()=>{e.cancelBackoffTimer=null,Xa(e,t)},3e4)}function Xa(e,t){if(e.stopped)return;let r=t.probe(),n=VU({backoffActive:t.now()<e.backoffUntil,explorationActive:e.active.size,explorerHolder:e.holder&&t.exploreEnabled,headedActive:r.headedActive>0,interactiveActive:r.interactiveActive,interactiveQueued:r.interactiveQueued,poolSize:r.poolSize});nC(e,n.abortCount),iC({count:n.refillCount,params:t,state:e})}function nC(e,t){[...e.active.values()].slice(0,t).forEach(({controller:r})=>{r.abort()})}function iC({count:e,params:t,state:r}){if(e<=0)return;let n=HU(t.sources);n!=null&&(zU({params:t,pulled:n,state:r}),iC({count:e-1,params:t,state:r}))}function HU(e){return e.reduce((t,r)=>{if(t!=null)return t;let n=r.next();return n==null?null:{job:n,source:r}},null)}function zU({params:e,pulled:t,state:r}){let{job:n,source:i}=t,o=new AbortController;r.active.set(n.id,{controller:o,job:n,source:i}),e.execute({job:n,priority:i.priority,signal:o.signal}).then(()=>{tC({job:n,outcome:eC(o.signal,null),params:e,source:i,state:r})}).catch(s=>{tC({job:n,outcome:eC(o.signal,{error:s}),params:e,source:i,state:r})})}function eC(e,t){return e.aborted?{kind:"aborted"}:t==null?{kind:"completed"}:{error:t.error,kind:"error"}}function tC({job:e,outcome:t,params:r,source:n,state:i}){i.active.delete(e.id),n.onResult(e,t),Xa(i,r)}function Rf(e){return{priority:e,next:()=>null,onResult:()=>{}}}function oC(){return{priority:"p3",next:()=>null,onResult:()=>{}}}function sC({explore:e}){let t=rC({exploreEnabled:e,now:Date.now,probe:GU,setTimer:qU,sources:[Rf("p0"),Rf("p1"),oC()],execute:({job:n,priority:i,signal:o})=>Va({headed:!1,workClass:KU(i),task:()=>n.run(o)})});bf(()=>{t.notifyQueueChange()});let r=e?Qk({onChange:n=>{t.setExplorerHolder(n)}}):null;return{status:()=>({explorer:JU({explore:e,holder:t.explorerHolder()}),exploring:t.explorationActive()}),stop:()=>{r?.stop(),t.stop(),bf(null)}}}function GU(){let e=Xi();return{headedActive:e.headedActive,interactiveActive:e.active,interactiveQueued:e.queued,poolSize:e.poolSize}}function qU(e,t){let r=setTimeout(e,t);return()=>{clearTimeout(r)}}function KU(e){switch(e){case"p0":return"p0-ui";case"p1":return"p1-cli";case"p2":return"p2-cover";case"p3":return"p3-explore"}}function JU({explore:e,holder:t}){return e?t?"holder":"standby":"off"}async function aC({config:e,cwd:t,headed:r,pool:n,runId:i,signal:o,workClass:s,workflowSlug:a}){let{fingerprint:l,result:c}=await Kn(t);if(c.isErr())return await ro(e,i,`lockfile:${c.error.kind}`),{detail:`lockfile:${c.error.kind}`,kind:"dispatch-error"};if(c.value.tests.find(p=>ge(p.name)===a)==null)return await ro(e,i,`no-test:${a}`),{detail:`no-test:${a}`,kind:"dispatch-error"};let d=await Va({headed:r,workClass:s,task:()=>n.execute({headed:r,lockfileFingerprint:l,runId:i,workflowSlug:a},o)});return!d.serverNotified&&d.outcome.kind==="error"&&await ro(e,i,d.outcome.detail),d.outcome}import{fork as YU}from"child_process";import lC from"os";import{CancellationTokenSource as ZU,ResponseError as XU}from"vscode-jsonrpc/node";function uC(e,t){return()=>{let r=YU(e,["run-worker"],{cwd:t,stdio:["ignore","inherit","inherit","ipc"]});return{connection:Ak(r),kill:()=>{r.kill("SIGKILL")},onExit:n=>{r.once("exit",n)}}}}function dC(e){let t={closed:!1,lockfileProvider:e.lockfileProvider,nextId:0,size:e.initialSize,spawn:e.spawn,waiters:[],workers:[]};return{close:async()=>{t.closed=!0,await Promise.all([...t.workers].map(r=>Ef(r,t)))},execute:(r,n)=>tW(r,n,t),routeSpan:(r,n)=>{let i=t.workers.find(o=>o.runId===r);i?.worker.connection.sendNotification(Ka,{runId:r,span:n})},setSize:r=>{oW(r,t)}}}var QU=1e4,eW=-32800;async function tW(e,t,r){let n=await rW(r);if(n.runId=e.runId,!n.alive)return cC(n,r),{outcome:{detail:"worker-exit",kind:"error"},serverNotified:!1};let i=new ZU,o=()=>{i.cancel()};t.aborted&&i.cancel(),t.addEventListener("abort",o,{once:!0});try{let s=await n.worker.connection.sendRequest(Ga,e,i.token),a=Ik.safeParse(s);return a.success?a.data:{outcome:{detail:"bad-outcome-frame",kind:"error"},serverNotified:!1}}catch(s){return iW(s,n)}finally{t.removeEventListener("abort",o),i.dispose(),cC(n,r)}}async function rW(e){let t=e.workers.find(r=>r.alive&&r.runId===void 0);if(t!=null)return t.runId="pending",t;if(e.workers.length<e.size){let r=nW(e);return r.runId="pending",await r.ready,r}return new Promise(r=>{e.waiters.push(n=>{n.runId="pending",r(n)})})}function nW(e){let t=e.spawn(),r={resolve:()=>{}},n={alive:!0,id:e.nextId,ready:new Promise(i=>{r.resolve=i,t.connection.onNotification(za,i)}),runId:void 0,worker:t};return e.nextId+=1,t.connection.onRequest(qa,async i=>{let o=Rk.safeParse(i);return o.success?e.lockfileProvider(o.data.fingerprint):{unavailable:"bad-lockfile-request"}}),t.onExit(()=>{n.alive=!1,e.workers=e.workers.filter(i=>i!==n),t.connection.dispose(),r.resolve()}),e.workers.push(n),n}function cC(e,t){if(e.runId=void 0,!e.alive||t.closed)return;if(t.workers.length>t.size){Ef(e,t);return}let r=t.waiters.shift();r?.(e)}async function Ef(e,t){if(t.workers=t.workers.filter(i=>i!==e),!e.alive)return;let r=new Promise(i=>{e.worker.onExit(i)});await e.worker.connection.sendNotification(Ja).catch(()=>{});let n=setTimeout(()=>{e.worker.kill()},QU);await r,clearTimeout(n)}function iW(e,t){return e instanceof XU&&e.code===eW?{outcome:{detail:"aborted",kind:"error"},serverNotified:!1}:t.alive?{outcome:{detail:e instanceof Error?e.message:String(e),kind:"error"},serverNotified:!1}:{outcome:{detail:"worker-exit",kind:"error"},serverNotified:!1}}function oW(e,t){t.size=e,e>lC.availableParallelism()&&B.warn({cores:lC.availableParallelism(),size:e},"worker pool size exceeds available cores");let r=t.workers.filter(i=>i.alive&&i.runId===void 0),n=t.workers.length-e;r.slice(0,Math.max(0,n)).forEach(i=>{Ef(i,t)})}import Qa from"fs";import{graphql as pC}from"gql.tada";import{print as fC}from"graphql";var sW=pC(`
436
483
  subscription HooksPausedWatch($projectId: String!) {
437
484
  hooksPausedRequested(projectId: $projectId) {
438
485
  paused
439
486
  projectId
440
487
  }
441
488
  }
442
- `),cU=Jk(`
489
+ `),aW=pC(`
443
490
  subscription WatchLocalConcurrencyChanged {
444
491
  myMaxLocalConcurrentRunsChanged
445
492
  }
446
- `);function Xk({pool:e,sseClient:t}){return t.subscribe({query:Zk(cU)},{complete:()=>{},error:r=>{F.error(r,"localConcurrency subscription error")},next:r=>{let n=r.data?.myMaxLocalConcurrentRunsChanged;n!=null&&(ja(n),e.setSize(n))}})}function Qk({cwd:e,projectId:t,sseClient:r}){return r.subscribe({query:Zk(lU),variables:{projectId:t}},{complete:()=>{},error:n=>{F.error(n,"hooksPaused subscription error")},next:n=>{let i=n.data?.hooksPausedRequested?.paused;i!=null&&vf({cwd:e,paused:i})}})}function vf({cwd:e,paused:t}){let r=Cr(e);if(t&&!Ya.existsSync(r)){Ya.writeFileSync(r,"");return}!t&&Ya.existsSync(r)&&Ya.unlinkSync(r)}var mU=6e4,eC=100,gU=15e3,yU=Ja(`
493
+ `);function hC({pool:e,sseClient:t}){return t.subscribe({query:fC(aW)},{complete:()=>{},error:r=>{B.error(r,"localConcurrency subscription error")},next:r=>{let n=r.data?.myMaxLocalConcurrentRunsChanged;n!=null&&(Ua(n),e.setSize(n))}})}function mC({cwd:e,projectId:t,sseClient:r}){return r.subscribe({query:fC(sW),variables:{projectId:t}},{complete:()=>{},error:n=>{B.error(n,"hooksPaused subscription error")},next:n=>{let i=n.data?.hooksPausedRequested?.paused;i!=null&&If({cwd:e,paused:i})}})}function If({cwd:e,paused:t}){let r=Er(e);if(t&&!Qa.existsSync(r)){Qa.writeFileSync(r,"");return}!t&&Qa.existsSync(r)&&Qa.unlinkSync(r)}var fW=6e4,gC=100,hW=15e3,mW=el(`
447
494
  subscription RunRequestedWatch($devSessionId: String!) {
448
495
  runRequested(devSessionId: $devSessionId) {
449
496
  runId
@@ -451,7 +498,7 @@ ${V("debug")}`:"";return`${String(t)} passed, ${String(e)} failed (${String(t+e)
451
498
  workflowSlug
452
499
  }
453
500
  }
454
- `),bU=Ja(`
501
+ `),gW=el(`
455
502
  mutation HeartbeatDevSessionWatch($id: String!) {
456
503
  heartbeatDevSession(id: $id) {
457
504
  __typename
@@ -463,14 +510,14 @@ ${V("debug")}`:"";return`${String(t)} passed, ${String(e)} failed (${String(t+e)
463
510
  }
464
511
  }
465
512
  }
466
- `),wU=Ja(`
513
+ `),yW=el(`
467
514
  query WatchLocalConcurrency {
468
515
  currentUser {
469
516
  id
470
517
  maxLocalConcurrentRuns
471
518
  }
472
519
  }
473
- `),SU=Ja(`
520
+ `),bW=el(`
474
521
  mutation EndDevSessionWatch($projectId: String!, $cwd: String!) {
475
522
  endDevSession(projectId: $projectId, cwd: $cwd) {
476
523
  __typename
@@ -482,16 +529,16 @@ ${V("debug")}`:"";return`${String(t)} passed, ${String(e)} failed (${String(t+e)
482
529
  }
483
530
  }
484
531
  }
485
- `);async function tC({explore:e}){OU();let t=AU(process.cwd()),r=t.cwd,n=CU(r),i=Hk({explore:e}),o={handler:()=>{}},s=EU(),a=tk({config:t,cwd:r,explorationStatus:i.status,ready:s.promise,onShutdownRequest:()=>{o.handler()}}),l=await IU({cwd:r,ipc:a,releasePid:n}),c=await be(r);c.isErr()&&(process.stderr.write(`ripplo: ${Oe(c.error)}
486
- `),process.exit(1));let u=c.value,d=await rC(()=>Rr({config:t,cwd:r,lockfile:u}),{config:t,label:"initial sync"}),p=await NU(t);vf({cwd:r,paused:d.hooksPaused});let h=Fa(r);h!=null&&F.info("watching branch %s in %s",h,r);let f=dU({headers:{Authorization:`Bearer ${t.token}`},retryAttempts:1/0,url:`${t.ripploServerUrl}/graphql`}),m=Yk({initialSize:p,spawn:Kk(LU(),r),lockfileProvider:async E=>{let x=await zn(r);return x.result.isErr()?{unavailable:`daemon-load-failed:${x.result.error.kind}`}:x.fingerprint!==E?{unavailable:"fingerprint-mismatch"}:{lockfileJson:$t(pt,x.result.value)}}}),g=await ci({localDir:uU.join(r,".ripplo",".local"),writePortFile:!0,onRrwebBatch:()=>{},onSpan:E=>{let x=E.attributes["ripplo.run"];x!=null&&m.routeSpan(x,E)}}),w=kU({claim:a.claim,config:t,cwd:r,initialId:d.devSessionId,pool:m,sseClient:f}),S=Qk({cwd:r,projectId:t.projectId,sseClient:f}),y=Xk({pool:m,sseClient:f}),v=xU({config:t,session:w}),C=TU();s.resolve(),process.stdout.write(`${xk(d.devSessionId)}
487
- `);let M=async()=>{v(),C(),i.stop(),l.close(),w.stop(),S(),y(),await m.close(),await g.stop().catch(()=>{}),await Promise.race([D({config:t,document:SU,variables:{cwd:t.cwd,projectId:t.projectId}}).catch(()=>{}),new Promise(E=>setTimeout(E,3e3))]),n()},R=()=>{M().finally(()=>process.exit(0))};o.handler=R,process.on("SIGINT",R),process.on("SIGTERM",R),process.on("SIGHUP",R),process.on("SIGBREAK",R),await new Promise(()=>{})}function vU({claim:e,cwd:t,devSessionId:r,onReconnecting:n,pool:i,sseClient:o}){return o.subscribe({query:hU(yU),variables:{devSessionId:r}},{complete:()=>{},error:s=>{F.warn("runRequested SSE retries exhausted: %s",s instanceof Error?s.message:String(s))},next:s=>{let a=s.data?.runRequested;if(a==null)return;process.stdout.write(`ripplo: run ${a.workflowSlug}
488
- `),qr(t);let l=je(t).match(u=>u,u=>{F.error({failure:u,runId:a.runId},"failed to load env for run dispatch; skipping")});if(l==null)return;let c=e(a.workflowSlug);c?.started(a.runId),zk({config:l,cwd:t,headed:c?.headed??!1,pool:i,runId:a.runId,signal:c==null?new AbortController().signal:Va(c.token),workClass:c==null?"p0-ui":"p1-cli",workflowSlug:a.workflowSlug}).then(u=>{c?.finished(a.runId,u)}).catch(u=>{F.error({err:u,runId:a.runId,workflowSlug:a.workflowSlug},"run execution failed; daemon continuing"),c?.finished(a.runId,{detail:u instanceof Error?u.message:String(u),kind:"error"})})}},{connecting:s=>{s&&n()}})}function xU({config:e,session:t}){let r=async()=>{try{let i=await D({config:e,document:bU,variables:{id:t.getId()}});i.heartbeatDevSession?.__typename==="DevSessionEndedError"&&(F.warn("dev session ended server-side (%s); re-registering",i.heartbeatDevSession.message),await t.reregister())}catch(i){F.warn("heartbeat failed: %s",i instanceof Error?i.message:String(i))}},n=setInterval(()=>{r()},gU);return()=>{clearInterval(n)}}function kU({claim:e,config:t,cwd:r,initialId:n,pool:i,sseClient:o}){let s=n,a=null,l=()=>{F.warn("runRequested SSE reconnecting; re-registering session"),p()},c=()=>vU({claim:e,cwd:r,devSessionId:s,onReconnecting:l,pool:i,sseClient:o}),u=c(),d=async()=>{let h=await be(r);if(h.isErr()){F.error("re-register: compile failed: %s",Oe(h.error));return}let f=await rC(()=>Rr({config:t,cwd:r,lockfile:h.value}),{config:t,label:"re-register sync"});u(),s=f.devSessionId,u=c(),F.info("re-registered dev session as %s",s)},p=()=>(a!=null||(a=d().finally(()=>{a=null})),a);return{reregister:p,getId:()=>s,stop:()=>{u()}}}function CU(e){try{return Uh({cwd:e,onCompromised:RU})}catch(t){throw t instanceof qn&&(process.stderr.write(`${kk({cwd:t.cwd,pid:t.pid})}
489
- `),process.exit(1)),t}}function RU(){F.error("daemon lock compromised; shutting down"),process.stderr.write(`${Ck()}
490
- `),process.exit(1)}function EU(){let e={handler:()=>{}};return{promise:new Promise(r=>{e.handler=r}),resolve:()=>{e.handler()}}}async function IU({cwd:e,ipc:t,releasePid:r}){return(await $k({cwd:e,onConnection:t.handleConnection})).match(i=>i,i=>{process.stderr.write(`${Sk(i)}
491
- `),r(),process.exit(1)})}function AU(e){return je(e).match(t=>t,t=>{process.stderr.write(`${Ge(t)}
492
- `),process.exit(1)})}function rC(e,{config:t,label:r}){let n=t.ripploServerUrl.includes("localhost")||t.ripploServerUrl.includes("127.0.0.1");return pU(async()=>{try{return await e()}catch(i){let o=i instanceof Error?i.message:String(i);throw _n(i)==="FORBIDDEN"&&(process.stderr.write(`ripplo: ${vk({projectId:t.projectId,serverUrl:t.ripploServerUrl})}
493
- `),process.exit(1)),PU(o)?i:(F.error("%s failed: %s",r,o),new fU(o))}},{factor:2,maxTimeout:n?2e3:1e4,minTimeout:n?100:1e3,retries:1/0,onFailedAttempt:({attemptNumber:i,error:o})=>{F.warn("%s attempt %d failed; retrying: %s",r,i,o.message)}})}function PU(e){return e.includes("status 502")||e.includes("ECONNREFUSED")||e.includes("Failed to connect")||e.includes("fetch failed")}function TU(){io({maxRuns:eC});let e=setInterval(()=>{io({maxRuns:eC})},mU);return()=>{clearInterval(e)}}function OU(){process.on("unhandledRejection",e=>{F.error({err:e},"unhandledRejection in watch; continuing")}),process.on("uncaughtException",e=>{F.error({err:e},"uncaughtException in watch; continuing")})}var MU=4;async function NU(e){try{let r=(await D({config:e,document:wU,variables:void 0})).currentUser?.maxLocalConcurrentRuns;if(r!=null)return ja(r),r}catch(t){F.warn({err:t},"failed to fetch local concurrency setting; using default")}return MU}function LU(){let e=process.argv[1];if(e==null)throw new Error("cli entry unavailable");return e}async function nC({explore:e}){await tC({explore:e})}import{graphql as Za}from"gql.tada";function iC(){return"No scope items added \u2014 the matched tests are already in scope (check `ripplo scope status`)."}function oC(e){return[`No test found for: ${e.join(", ")}`,"Pass a test id (kebab-case slug of the test name) or the exact intent string.","List known tests with `ripplo status`; stub a new one first via the testing DSL.",V("create")].join(`
494
- `)}import{graphql as $U}from"gql.tada";var sC=$U(`
532
+ `);async function yC({explore:e}){PW();let t=EW(process.cwd()),r=t.cwd,n=xW(r),i=sC({explore:e}),o={handler:()=>{}},s=CW(),a=dk({config:t,cwd:r,explorationStatus:i.status,ready:s.promise,onShutdownRequest:()=>{o.handler()}}),l=await RW({cwd:r,ipc:a,releasePid:n}),c=await we(r);c.isErr()&&(process.stderr.write(`ripplo: ${Oe(c.error)}
533
+ `),process.exit(1));let u=c.value,d=await bC(()=>Ir({config:t,cwd:r,lockfile:u}),{config:t,label:"initial sync"}),p=await OW(t);If({cwd:r,paused:d.hooksPaused});let h=Wa(r);h!=null&&B.info("watching branch %s in %s",h,r);let f=cW({headers:{Authorization:`Bearer ${t.token}`},retryAttempts:1/0,url:`${t.ripploServerUrl}/graphql`}),m=dC({initialSize:p,spawn:uC(MW(),r),lockfileProvider:async E=>{let x=await Kn(r);return x.result.isErr()?{unavailable:`daemon-load-failed:${x.result.error.kind}`}:x.fingerprint!==E?{unavailable:"fingerprint-mismatch"}:{lockfileJson:Ft(ht,x.result.value)}}}),g=await pi({localDir:lW.join(r,".ripplo",".local"),writePortFile:!0,onRrwebBatch:()=>{},onSpan:E=>{let x=E.attributes["ripplo.run"];x!=null&&m.routeSpan(x,E)}}),w=vW({claim:a.claim,config:t,cwd:r,initialId:d.devSessionId,pool:m,sseClient:f}),S=mC({cwd:r,projectId:t.projectId,sseClient:f}),y=hC({pool:m,sseClient:f}),v=SW({config:t,session:w}),C=AW();s.resolve(),process.stdout.write(`${Mk(d.devSessionId)}
534
+ `);let M=async()=>{v(),C(),i.stop(),l.close(),w.stop(),S(),y(),await m.close(),await g.stop().catch(()=>{}),await Promise.race([D({config:t,document:bW,variables:{cwd:t.cwd,projectId:t.projectId}}).catch(()=>{}),new Promise(E=>setTimeout(E,3e3))]),n()},R=()=>{M().finally(()=>process.exit(0))};o.handler=R,process.on("SIGINT",R),process.on("SIGTERM",R),process.on("SIGHUP",R),process.on("SIGBREAK",R),await new Promise(()=>{})}function wW({claim:e,cwd:t,devSessionId:r,onReconnecting:n,pool:i,sseClient:o}){return o.subscribe({query:pW(mW),variables:{devSessionId:r}},{complete:()=>{},error:s=>{B.warn("runRequested SSE retries exhausted: %s",s instanceof Error?s.message:String(s))},next:s=>{let a=s.data?.runRequested;if(a==null)return;process.stdout.write(`ripplo: run ${a.workflowSlug}
535
+ `),Jr(t);let l=je(t).match(u=>u,u=>{B.error({failure:u,runId:a.runId},"failed to load env for run dispatch; skipping")});if(l==null)return;let c=e(a.workflowSlug);c?.started(a.runId),aC({config:l,cwd:t,headed:c?.headed??!1,pool:i,runId:a.runId,signal:c==null?new AbortController().signal:Ha(c.token),workClass:c==null?"p0-ui":"p1-cli",workflowSlug:a.workflowSlug}).then(u=>{c?.finished(a.runId,u)}).catch(u=>{B.error({err:u,runId:a.runId,workflowSlug:a.workflowSlug},"run execution failed; daemon continuing"),c?.finished(a.runId,{detail:u instanceof Error?u.message:String(u),kind:"error"})})}},{connecting:s=>{s&&n()}})}function SW({config:e,session:t}){let r=async()=>{try{let i=await D({config:e,document:gW,variables:{id:t.getId()}});i.heartbeatDevSession?.__typename==="DevSessionEndedError"&&(B.warn("dev session ended server-side (%s); re-registering",i.heartbeatDevSession.message),await t.reregister())}catch(i){B.warn("heartbeat failed: %s",i instanceof Error?i.message:String(i))}},n=setInterval(()=>{r()},hW);return()=>{clearInterval(n)}}function vW({claim:e,config:t,cwd:r,initialId:n,pool:i,sseClient:o}){let s=n,a=null,l=()=>{B.warn("runRequested SSE reconnecting; re-registering session"),p()},c=()=>wW({claim:e,cwd:r,devSessionId:s,onReconnecting:l,pool:i,sseClient:o}),u=c(),d=async()=>{let h=await we(r);if(h.isErr()){B.error("re-register: compile failed: %s",Oe(h.error));return}let f=await bC(()=>Ir({config:t,cwd:r,lockfile:h.value}),{config:t,label:"re-register sync"});u(),s=f.devSessionId,u=c(),B.info("re-registered dev session as %s",s)},p=()=>(a!=null||(a=d().finally(()=>{a=null})),a);return{reregister:p,getId:()=>s,stop:()=>{u()}}}function xW(e){try{return Kh({cwd:e,onCompromised:kW})}catch(t){throw t instanceof Yn&&(process.stderr.write(`${Nk({cwd:t.cwd,pid:t.pid})}
536
+ `),process.exit(1)),t}}function kW(){B.error("daemon lock compromised; shutting down"),process.stderr.write(`${Lk()}
537
+ `),process.exit(1)}function CW(){let e={handler:()=>{}};return{promise:new Promise(r=>{e.handler=r}),resolve:()=>{e.handler()}}}async function RW({cwd:e,ipc:t,releasePid:r}){return(await Zk({cwd:e,onConnection:t.handleConnection})).match(i=>i,i=>{process.stderr.write(`${Tk(i)}
538
+ `),r(),process.exit(1)})}function EW(e){return je(e).match(t=>t,t=>{process.stderr.write(`${qe(t)}
539
+ `),process.exit(1)})}function bC(e,{config:t,label:r}){let n=t.ripploServerUrl.includes("localhost")||t.ripploServerUrl.includes("127.0.0.1");return uW(async()=>{try{return await e()}catch(i){let o=i instanceof Error?i.message:String(i);throw Bn(i)==="FORBIDDEN"&&(process.stderr.write(`ripplo: ${Ok({projectId:t.projectId,serverUrl:t.ripploServerUrl})}
540
+ `),process.exit(1)),IW(o)?i:(B.error("%s failed: %s",r,o),new dW(o))}},{factor:2,maxTimeout:n?2e3:1e4,minTimeout:n?100:1e3,retries:1/0,onFailedAttempt:({attemptNumber:i,error:o})=>{B.warn("%s attempt %d failed; retrying: %s",r,i,o.message)}})}function IW(e){return e.includes("status 502")||e.includes("ECONNREFUSED")||e.includes("Failed to connect")||e.includes("fetch failed")}function AW(){lo({maxRuns:gC});let e=setInterval(()=>{lo({maxRuns:gC})},fW);return()=>{clearInterval(e)}}function PW(){process.on("unhandledRejection",e=>{B.error({err:e},"unhandledRejection in watch; continuing")}),process.on("uncaughtException",e=>{B.error({err:e},"uncaughtException in watch; continuing")})}var TW=4;async function OW(e){try{let r=(await D({config:e,document:yW,variables:void 0})).currentUser?.maxLocalConcurrentRuns;if(r!=null)return Ua(r),r}catch(t){B.warn({err:t},"failed to fetch local concurrency setting; using default")}return TW}function MW(){let e=process.argv[1];if(e==null)throw new Error("cli entry unavailable");return e}async function wC({explore:e}){await yC({explore:e})}import{graphql as tl}from"gql.tada";function SC(){return"No scope items added \u2014 the matched tests are already in scope (check `ripplo scope status`)."}function vC(e){return[`No test found for: ${e.join(", ")}`,"Pass a test id (kebab-case slug of the test name) or the exact intent string.","List known tests with `ripplo status`; stub a new one first via the testing DSL.",j("create")].join(`
541
+ `)}import{graphql as NW}from"gql.tada";var xC=NW(`
495
542
  query ScopeStatus($projectId: String!, $cwd: String!) {
496
543
  project(id: $projectId) {
497
544
  id
@@ -511,7 +558,7 @@ ${V("debug")}`:"";return`${String(t)} passed, ${String(e)} failed (${String(t+e)
511
558
  }
512
559
  }
513
560
  }
514
- `);var DU=Za(`
561
+ `);var LW=tl(`
515
562
  query ScopeWorkflowBySlug($projectId: String!, $cwd: String!, $slug: String!) {
516
563
  project(id: $projectId) {
517
564
  id
@@ -524,7 +571,7 @@ ${V("debug")}`:"";return`${String(t)} passed, ${String(e)} failed (${String(t+e)
524
571
  }
525
572
  }
526
573
  }
527
- `),_U=Za(`
574
+ `),$W=tl(`
528
575
  mutation ScopeAddDirtyTests($projectId: String!, $cwd: String!, $workflowSlugs: [String!]!) {
529
576
  addDirtyTestsToScope(projectId: $projectId, cwd: $cwd, workflowSlugs: $workflowSlugs) {
530
577
  __typename
@@ -546,36 +593,38 @@ ${V("debug")}`:"";return`${String(t)} passed, ${String(e)} failed (${String(t+e)
546
593
  }
547
594
  }
548
595
  }
549
- `),jU=Za(`
596
+ `),DW=tl(`
550
597
  mutation ScopeLink($id: ID!, $workflowId: String!) {
551
598
  linkScopeItem(id: $id, workflowId: $workflowId) {
552
599
  id
553
600
  }
554
601
  }
555
- `),FU=Za(`
602
+ `),_W=tl(`
556
603
  mutation ScopeRemoveMany($ids: [ID!]!) {
557
604
  removeScopeItems(ids: $ids)
558
605
  }
559
- `);async function aC(e){let t=Dt();await Gn(t);let n=(await D({config:t,document:sC,variables:{cwd:t.cwd,projectId:t.projectId}})).project?.devSession?.scopeItems??[];if(e.format==="json"){process.stdout.write(`${JSON.stringify(n,null,2)}
606
+ `);async function kC(e){let t=Bt();await Jn(t);let n=(await D({config:t,document:xC,variables:{cwd:t.cwd,projectId:t.projectId}})).project?.devSession?.scopeItems??[];if(e.format==="json"){process.stdout.write(`${JSON.stringify(n,null,2)}
560
607
  `);return}if(n.length===0){process.stdout.write("No scope items. Add via `ripplo scope add <test-ids..>` (variadic) or from the dashboard.\n");return}n.forEach(i=>{let o=i.workflow;if(o==null){process.stdout.write(` [intent] (${i.id}) ${i.label??""}
561
608
  `);return}let s=o.spec==null?"stub":"implemented";process.stdout.write(` [${s}] (${i.id}) ${o.slug} \u2014 ${o.name}
562
- `)})}async function lC({testIds:e}){let t=Dt();await Gn(t),(await Ji(t.cwd,t)).match(()=>{},a=>{process.stderr.write(`${Ge(a)}
563
- `),process.exit(1)});let i=(await D({config:t,document:_U,variables:{cwd:t.cwd,projectId:t.projectId,workflowSlugs:e.map(a=>Re(a))}})).addDirtyTestsToScope;i?.__typename==="NoActiveDevSessionError"&&(process.stderr.write(`${i.message}
564
- `),process.exit(1)),i?.__typename==="UnknownWorkflowSlugsError"&&(process.stderr.write(`${oC(i.slugs)}
565
- `),process.exit(1));let o=i?.__typename==="MutationAddDirtyTestsToScopeSuccess"?i.data:[];if(o.length===0){process.stdout.write(`${iC()}
609
+ `)})}async function CC({testIds:e}){let t=Bt();await Jn(t),(await Qi(t.cwd,t)).match(()=>{},a=>{process.stderr.write(`${qe(a)}
610
+ `),process.exit(1)});let i=(await D({config:t,document:$W,variables:{cwd:t.cwd,projectId:t.projectId,workflowSlugs:e.map(a=>ge(a))}})).addDirtyTestsToScope;i?.__typename==="NoActiveDevSessionError"&&(process.stderr.write(`${i.message}
611
+ `),process.exit(1)),i?.__typename==="UnknownWorkflowSlugsError"&&(process.stderr.write(`${vC(i.slugs)}
612
+ `),process.exit(1));let o=i?.__typename==="MutationAddDirtyTestsToScopeSuccess"?i.data:[];if(o.length===0){process.stdout.write(`${SC()}
566
613
  `);return}let s=o.map(a=>a.workflow?.slug??"?").join(", ");process.stdout.write(`Added ${String(o.length)} scope item(s): ${s}
567
- `)}async function cC({id:e,testId:t}){let r=Dt();await Gn(r),(await Ji(r.cwd,r)).match(()=>{},o=>{process.stderr.write(`${Ge(o)}
568
- `),process.exit(1)});let i=await VU({cfg:r,slug:t});await D({config:r,document:jU,variables:{id:e,workflowId:i}}),process.stdout.write(`Linked scope item ${e} to ${t}
569
- `)}async function uC({ids:e}){let t=Dt();await Gn(t);let n=(await D({config:t,document:FU,variables:{ids:[...e]}})).removeScopeItems??0;process.stdout.write(`Removed ${String(n)} scope item(s)
570
- `)}async function VU({cfg:e,slug:t}){let n=(await D({config:e,document:DU,variables:{cwd:e.cwd,projectId:e.projectId,slug:t}})).project?.devSession?.workflows?.[0];return n==null&&(process.stderr.write(`No workflow found with id "${t}". Create a stub first via the testing DSL.
571
- `),process.stderr.write(`${V("create")}
572
- `),process.exit(1)),n.id}async function dC(e){let t=process.cwd(),r=await be(t);r.isErr()&&(process.stderr.write(`${Oe(r.error)}
573
- `),process.exit(1));let n=Zt(r.value),i=await Wx(t);if(e.format==="summary"){n.length>0&&process.stdout.write(`stub tests: ${n.join(", ")}
574
- `),process.stdout.write(`${Rk(i)}
614
+ `)}async function RC({id:e,testId:t}){let r=Bt();await Jn(r),(await Qi(r.cwd,r)).match(()=>{},o=>{process.stderr.write(`${qe(o)}
615
+ `),process.exit(1)});let i=await jW({cfg:r,slug:t});await D({config:r,document:DW,variables:{id:e,workflowId:i}}),process.stdout.write(`Linked scope item ${e} to ${t}
616
+ `)}async function EC({ids:e}){let t=Bt();await Jn(t);let n=(await D({config:t,document:_W,variables:{ids:[...e]}})).removeScopeItems??0;process.stdout.write(`Removed ${String(n)} scope item(s)
617
+ `)}async function jW({cfg:e,slug:t}){let n=(await D({config:e,document:LW,variables:{cwd:e.cwd,projectId:e.projectId,slug:t}})).project?.devSession?.workflows?.[0];return n==null&&(process.stderr.write(`No workflow found with id "${t}". Create a stub first via the testing DSL.
618
+ `),process.stderr.write(`${j("create")}
619
+ `),process.exit(1)),n.id}async function IC(e){let t=process.cwd(),r=await we(t);r.isErr()&&(process.stderr.write(`${Oe(r.error)}
620
+ `),process.exit(1));let n=tr(r.value),i=await Jx(t);if(e.format==="summary"){n.length>0&&process.stdout.write(`stub tests: ${n.join(", ")}
621
+ `),process.stdout.write(`${$k(i)}
575
622
  `);return}let o={daemon:i.kind==="running"?{active:i.status.active,explorer:i.status.explorer,exploring:i.status.exploring,queued:i.status.queued,running:!0}:{running:i.kind==="unresponsive",state:i.kind},tests:n.map(s=>({id:s,implemented:!1}))};process.stdout.write(`${JSON.stringify(o,null,2)}
576
- `)}import Xa from"fs";import UU from"os";import pC from"path";import{z as BU}from"zod";function ue(e,t){let r=BU.custom(n=>typeof n=="object"&&n!==null&&"hook_event_name"in n&&n.hook_event_name===e);return{event:e,run:async n=>await t(r.parse(n))??void 0}}var fC=ue("PreToolUse",e=>{if(e.tool_name!=="ExitPlanMode"||!De(e.cwd))return;let t=WU();if(t==null)return{hookSpecificOutput:{additionalContext:`Ripplo plan gate: no plan file found \u2014 the "Tests to implement" requirement was not checked. Before implementing, stub a .ripplo/tests/ test per affected flow. ${V("explore")}`,hookEventName:"PreToolUse"}};let r=Xa.readFileSync(t,"utf8");if(!/\.ripplo\/tests|Tests to implement|No e2e coverage needed/.test(r))return{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:`Plan must cite ripplo test stubs. Add a "Tests to implement" section listing .ripplo/tests/<id>.ts per affected flow, OR add "No e2e coverage needed: <reason>" if this plan touches no user-facing behavior. ${V("explore")}`}}});function WU(){let e=pC.join(UU.homedir(),".claude","plans");return Xa.existsSync(e)?Xa.readdirSync(e).filter(r=>r.endsWith(".md")).map(r=>pC.join(e,r)).map(r=>({full:r,mtime:Xa.statSync(r).mtimeMs})).sort((r,n)=>n.mtime-r.mtime)[0]?.full??null:null}var hC=ue("UserPromptSubmit",async e=>{if(e.permission_mode!=="plan"||!ae(e.cwd)||!De(e.cwd))return;let t=await be(e.cwd);if(t.isErr())return;let r=Zt(t.value),n=['Plan must include "Tests to implement" with a .ripplo/tests/ file per affected flow (ExitPlanMode blocks otherwise). Stub each with `test("Intent")` (no body).'];return r.length>0&&n.push(`Existing stubs: ${r.join(", ")}`),{hookSpecificOutput:{additionalContext:n.join(`
577
- `),hookEventName:"UserPromptSubmit"}}});import GU from"path";import mC from"picomatch";import{z as gC}from"zod";var HU=["**/src/**","**/app/**","**/apps/**","**/pages/**","**/routes/**","**/components/**","**/server/**","**/api/**","**/backend/**","**/features/**","**/modules/**","**/views/**","**/ui/**","**/hooks/**","**/contexts/**","**/providers/**","**/controllers/**","**/handlers/**","**/resolvers/**","**/services/**","**/middleware/**","**/lib/**"],zU=["**/*.gen.*","**/generated/**","**/*.d.ts","**/*.test.*","**/*.spec.*","**/node_modules/**","**/dist/**","**/build/**",".ripplo/**","**/*.md","**/.next/**","**/.turbo/**","**/.vercel/**","**/.svelte-kit/**","**/.nuxt/**","**/.astro/**","**/coverage/**","**/storybook-static/**","**/*.stories.*","**/*.story.*","**/cli/**","**/scripts/**","**/tools/**","**/__tests__/**","**/__mocks__/**","**/__fixtures__/**","**/*.config.*","**/*.setup.*","**/public/**","**/static/**","**/assets/**","**/migrations/**","**/prisma/migrations/**"];function Qa(){return{ignorePaths:zU,watchPaths:HU}}var qU=gC.looseObject({file_path:gC.string()}),yC=ue("PostToolUse",async e=>{let t=qU.safeParse(e.tool_input);if(!t.success)return;let r=t.data.file_path,{cwd:n}=e;if(!ae(n)||!De(n))return;let i=GU.relative(n,r);if(i.startsWith(".."))return;let{ignorePaths:o,watchPaths:s}=Qa(),a=mC([...s]),l=mC([...o]);if(!a(i)||l(i))return;let c=await be(n);if(c.isErr())return;let u=Zt(c.value);if(u.length!==0)return{hookSpecificOutput:{additionalContext:`Reminder: stub tests still unimplemented \u2014 ${u.join(", ")}. Implement with \`test("Intent", () => ({ given, steps }))\`.`,hookEventName:"PostToolUse"}}});import{createHash as nW}from"crypto";import{z as xC}from"zod";import{createHash as KU}from"crypto";import{mkdirSync as YU,readFileSync as bC,writeFileSync as JU}from"fs";import xf from"path";var ZU=[".ts",".tsx",".js",".jsx"];function el(e){let t=KU("sha256");return t.update(or(["rev-parse","HEAD"],e)),t.update("\0"),t.update(or(["diff","HEAD"],e)),t.update("\0"),or(["ls-files","--others","--exclude-standard"],e).split(`
578
- `).filter(n=>n.length>0).filter(n=>ZU.some(i=>n.endsWith(i))).toSorted((n,i)=>n.localeCompare(i)).forEach(n=>{t.update(n),t.update("\0"),t.update(XU(xf.join(e,n))),t.update("\0")}),t.digest("hex")}function Ln(e,t){try{return bC(wC(e,t),"utf8").trim()}catch{return null}}function $n(e,t,r){let n=wC(e,t);YU(xf.dirname(n),{recursive:!0}),JU(n,r)}function XU(e){try{return bC(e)}catch{return Buffer.alloc(0)}}function wC(e,t){return xf.join(e,".ripplo",".local",`${t}.hash`)}import{graphql as QU}from"gql.tada";var eW=QU(`
623
+ `)}import rl from"fs";import BW from"os";import AC from"path";import{z as FW}from"zod";function ue(e,t){let r=FW.custom(n=>typeof n=="object"&&n!==null&&"hook_event_name"in n&&n.hook_event_name===e);return{event:e,run:async n=>await t(r.parse(n))??void 0}}var PC=ue("PreToolUse",e=>{if(e.tool_name!=="ExitPlanMode"||!De(e.cwd))return;let t=VW();if(t==null)return{hookSpecificOutput:{additionalContext:`Ripplo plan gate: no plan file found \u2014 the "Tests to implement" requirement was not checked. Before implementing, stub a .ripplo/tests/ test per affected flow. ${j("explore")}`,hookEventName:"PreToolUse"}};let r=rl.readFileSync(t,"utf8");if(!/\.ripplo\/tests|Tests to implement|No e2e coverage needed/.test(r))return{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:`Plan must cite ripplo test stubs. Add a "Tests to implement" section listing .ripplo/tests/<id>.ts per affected flow, OR add "No e2e coverage needed: <reason>" if this plan touches no user-facing behavior. ${j("explore")}`}}});function VW(){let e=AC.join(BW.homedir(),".claude","plans");return rl.existsSync(e)?rl.readdirSync(e).filter(r=>r.endsWith(".md")).map(r=>AC.join(e,r)).map(r=>({full:r,mtime:rl.statSync(r).mtimeMs})).sort((r,n)=>n.mtime-r.mtime)[0]?.full??null:null}var TC=ue("UserPromptSubmit",async e=>{if(e.permission_mode!=="plan"||!ae(e.cwd)||!De(e.cwd))return;let t=await we(e.cwd);if(t.isErr())return;let r=tr(t.value),n=['Plan must include "Tests to implement" with a .ripplo/tests/ file per affected flow (ExitPlanMode blocks otherwise). Stub each with `test("Intent")` (no body).'];return r.length>0&&n.push(`Existing stubs: ${r.join(", ")}`),{hookSpecificOutput:{additionalContext:n.join(`
624
+ `),hookEventName:"UserPromptSubmit"}}});import eH from"path";import FC from"picomatch";import{z as BC}from"zod";import{mkdirSync as GW,readFileSync as qW,writeFileSync as KW}from"fs";import JW from"path";import{z as We}from"zod";import{createHash as dse}from"crypto";import nl from"picomatch";function UW(e){return ot(["diff","--name-only","HEAD"],e).split(`
625
+ `).filter(t=>t.length>0)}function OC({cwd:e,ignoreGlobs:t,watchGlobs:r}){let n=nl([...r]),i=nl([...t]);return UW(e).filter(o=>n(o)&&!i(o))}function WW(e){return ot(["ls-files","--others","--exclude-standard"],e).split(`
626
+ `).filter(t=>t.length>0)}function MC({cwd:e,ignoreGlobs:t,watchGlobs:r}){let n=nl([...r]),i=nl([...t]);return WW(e).filter(o=>n(o)&&!i(o))}var HW=["**/src/**","**/app/**","**/apps/**","**/pages/**","**/routes/**","**/components/**","**/server/**","**/api/**","**/backend/**","**/features/**","**/modules/**","**/views/**","**/ui/**","**/hooks/**","**/contexts/**","**/providers/**","**/controllers/**","**/handlers/**","**/resolvers/**","**/services/**","**/middleware/**","**/lib/**"],zW=["**/*.gen.*","**/generated/**","**/*.d.ts","**/*.test.*","**/*.spec.*","**/node_modules/**","**/dist/**","**/build/**",".ripplo/**","**/*.md","**/.next/**","**/.turbo/**","**/.vercel/**","**/.svelte-kit/**","**/.nuxt/**","**/.astro/**","**/coverage/**","**/storybook-static/**","**/*.stories.*","**/*.story.*","**/cli/**","**/scripts/**","**/tools/**","**/__tests__/**","**/__mocks__/**","**/__fixtures__/**","**/*.config.*","**/*.setup.*","**/public/**","**/static/**","**/assets/**","**/migrations/**","**/prisma/migrations/**"];function Dn(){return{ignorePaths:zW,watchPaths:HW}}var YW=We.object({label:We.string().nullable(),slug:We.string().nullable(),status:We.enum(["intent","stub","implemented"])}),ZW=We.object({intent:We.string(),name:We.string(),sourcePath:We.string().nullable(),stub:We.boolean()}),XW=We.object({changedAppFiles:We.array(We.string()).readonly(),scope:We.object({available:We.boolean(),items:We.array(YW).readonly()}),tests:We.array(ZW).readonly().default([]),untrackedAppFiles:We.array(We.string()).readonly()});function NC({cwd:e,scope:t}){let r=$C(e);_C(e,{...jC(e),scope:t,tests:r?.tests??[]})}function LC({cwd:e,tests:t}){let r=$C(e);_C(e,{...jC(e),scope:r?.scope??{available:!1,items:[]},tests:t??r?.tests??[]})}function $C(e){let t=XW.safeParse(QW(DC(e)));return t.success?t.data:null}function QW(e){try{return JSON.parse(qW(e,"utf8"))}catch{return null}}function DC(e){return Et(e,"coverage-context.json")}function _C(e,t){let r=DC(e);GW(JW.dirname(r),{recursive:!0}),KW(r,JSON.stringify(t,null,2))}function jC(e){let{ignorePaths:t,watchPaths:r}=Dn(),n={cwd:e,ignoreGlobs:t,watchGlobs:r};return{changedAppFiles:OC(n),untrackedAppFiles:MC(n)}}var tH=BC.looseObject({file_path:BC.string()}),VC=ue("PostToolUse",async e=>{let t=tH.safeParse(e.tool_input);if(!t.success)return;let r=t.data.file_path,{cwd:n}=e;if(!ae(n)||!De(n))return;let i=eH.relative(n,r);if(i.startsWith(".."))return;let{ignorePaths:o,watchPaths:s}=Dn(),a=FC([...s]),l=FC([...o]);if(!a(i)||l(i))return;let c=await we(n);if(LC({cwd:n,tests:c.isOk()?c.value.tests.map(d=>({intent:d.intent,name:d.name,sourcePath:d.sourcePath??null,stub:d.stub})):void 0}),c.isErr())return;let u=tr(c.value);if(u.length!==0)return{hookSpecificOutput:{additionalContext:`Reminder: stub tests still unimplemented \u2014 ${u.join(", ")}. Implement with \`test("Intent", () => ({ given, steps }))\`.`,hookEventName:"PostToolUse"}}});import{createHash as dH}from"crypto";import{z as GC}from"zod";import{createHash as rH}from"crypto";import{mkdirSync as nH,readFileSync as UC,writeFileSync as iH}from"fs";import Af from"path";var oH=[".ts",".tsx",".js",".jsx"];function il(e){let t=rH("sha256");return t.update(ot(["rev-parse","HEAD"],e)),t.update("\0"),t.update(ot(["diff","HEAD"],e)),t.update("\0"),ot(["ls-files","--others","--exclude-standard"],e).split(`
627
+ `).filter(n=>n.length>0).filter(n=>oH.some(i=>n.endsWith(i))).toSorted((n,i)=>n.localeCompare(i)).forEach(n=>{t.update(n),t.update("\0"),t.update(sH(Af.join(e,n))),t.update("\0")}),t.digest("hex")}function _n(e,t){try{return UC(WC(e,t),"utf8").trim()}catch{return null}}function jn(e,t,r){let n=WC(e,t);nH(Af.dirname(n),{recursive:!0}),iH(n,r)}function sH(e){try{return UC(e)}catch{return Buffer.alloc(0)}}function WC(e,t){return Af.join(e,".ripplo",".local",`${t}.hash`)}import{graphql as aH}from"gql.tada";var lH=aH(`
579
628
  mutation AutoScopeAddDirty($projectId: String!, $cwd: String!, $workflowSlugs: [String!]!) {
580
629
  addDirtyTestsToScope(projectId: $projectId, cwd: $cwd, workflowSlugs: $workflowSlugs) {
581
630
  __typename
@@ -586,11 +635,11 @@ ${V("debug")}`:"";return`${String(t)} passed, ${String(e)} failed (${String(t+e)
586
635
  }
587
636
  }
588
637
  }
589
- `);async function vC({cwd:e,lockfile:t}){if(!De(e))return{addedSlugs:[]};let r=rW(e);if(r.length===0)return{addedSlugs:[]};let n=new Set(r),i=t.tests.filter(l=>l.sourcePath!=null&&n.has(l.sourcePath)).map(l=>Re(l.name));if(i.length===0)return{addedSlugs:[]};let o=je(e).unwrapOr(void 0);return o==null?{addedSlugs:[]}:await Rr({config:o,cwd:e,lockfile:t}).catch(l=>(F.warn("auto-sync failed: %s",l instanceof Error?l.message:String(l)),null))==null?{addedSlugs:[]}:{addedSlugs:await tW({cfg:o,slugs:i})?i:[]}}async function tW({cfg:e,slugs:t}){let n=(await D({config:e,document:eW,variables:{cwd:e.cwd,projectId:e.projectId,workflowSlugs:[...t]}}).catch(i=>(F.warn("auto-scope failed: %s",i instanceof Error?i.message:String(i)),null)))?.addDirtyTestsToScope;return n?.__typename!=="MutationAddDirtyTestsToScopeSuccess"?!1:n.data.length>0}var SC=".ripplo/tests/";function rW(e){let t;try{t=or(["status","--porcelain","--",".ripplo/tests"],e)}catch{return[]}return t.split(`
590
- `).map(r=>r.slice(3).trim()).filter(r=>r.startsWith(SC)&&r.endsWith(".ts")).map(r=>r.slice(SC.length)).filter(r=>r!=="index.ts"&&!r.endsWith("/index.ts"))}var iW=xC.looseObject({file_path:xC.string()}),kC=ue("PostToolUse",async e=>{let t=iW.safeParse(e.tool_input);if(!t.success||!/\/\.ripplo\/.*\.ts$/.test(t.data.file_path))return;let{cwd:r}=e;if(!ae(r))return;if(!De(r))return{hookSpecificOutput:{additionalContext:"Ripplo hooks are paused \u2014 DSL lint and lockfile sync did not run for this edit. Resume with `npx ripplo hooks resume` when ready.",hookEventName:"PostToolUse"}};let n=await Tn(r);if(n.isErr())return{decision:"block",reason:`${Oe(n.error)}
591
- ${V("create","DSL authoring + lint rules")}`};let i=xr(n.value);if(i.length>0)return{decision:"block",reason:`${kr(i)}
592
- ${V("create")}`};let{addedSlugs:o}=await vC({cwd:r,lockfile:n.value});return oW([...o.length>0?[`Auto-scoped ${o.join(", ")} (dirty tests).`]:[],...sW(r,n.value)])});function oW(e){if(e.length!==0)return{hookSpecificOutput:{additionalContext:e.join(`
593
- `),hookEventName:"PostToolUse"}}}function sW(e,t){let r=Ea(t),n=nW("sha256").update(JSON.stringify(r)).digest("hex");return Ln(e,"coverage-warn")===n?[]:($n(e,"coverage-warn",n),r.length===0?[]:[ka(r)])}import{z as CC}from"zod";var aW=CC.looseObject({command:CC.string()}),lW=/\bripplo\s+hooks\s+pause\b/,RC=ue("PreToolUse",e=>{if(e.tool_name!=="Bash")return;let t=aW.safeParse(e.tool_input);if(!t.success||!lW.test(t.data.command))return;let{cwd:r}=e;if(ae(r))return{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:"`ripplo hooks pause` is a human-only escape hatch \u2014 agents can't bypass Ripplo guardrails on their own. If the daemon genuinely can't start (auth, server down, intentional offline work), surface the blocker to the user and ask them to run `npx ripplo hooks pause` themselves from their terminal."}}});import{parse as fW}from"shell-quote";import{z as IC}from"zod";import{existsSync as cW,mkdirSync as uW,rmSync as voe,writeFileSync as dW}from"fs";import kf from"path";function tl(e,t,r){let n=EC(e,t,r);uW(kf.dirname(n),{recursive:!0}),dW(n,"")}function rl(e,t,r){return cW(EC(e,t,r))}function EC(e,t,r){return kf.join(pW(e,t),r)}function pW(e,t){return kf.join(e,".ripplo",".local","skills-loaded",t)}var hW=IC.looseObject({command:IC.string()}),mW="debug",gW=new Set(["tail","head","less","more","wc","sort","uniq","awk","sed","grep"]),PC=ue("PreToolUse",e=>{if(e.tool_name!=="Bash")return;let t=hW.safeParse(e.tool_input);if(!t.success)return;let r=yW(t.data.command);if(!bW(r))return;let{cwd:n}=e;if(!ae(n)||!De(n))return;if(!rl(n,e.session_id,mW))return AC("Running `ripplo run` requires the `/ripplo:debug` skill loaded first. Load `/ripplo:debug` then retry \u2014 it carries the artifact-read order and the no-grep-piping guidance for run failures.");let o=SW(r);if(o!=null)return AC(`Don't pipe \`ripplo run\` through \`${o}\` \u2014 buffering filters hold all stdout until EOF, hiding live progress; if you kill the pipeline mid-run the run is orphaned on the server. Redirect to a file instead: \`ripplo run <id> > /tmp/run.log 2>&1\` and Read the file, or use \`run_in_background: true\`.`)});function yW(e){try{return fW(e)}catch{return[]}}function bW(e){return e.some((t,r)=>t==="ripplo"&&e[r+1]==="run")}function wW(e){return typeof e=="object"&&"op"in e&&e.op==="|"}function SW(e){let t=e.find((r,n)=>{let i=e[n-1];return i!=null&&wW(i)&&typeof r=="string"&&gW.has(r)});return typeof t=="string"?t:null}function AC(e){return{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:e}}}import vW from"path";import{z as TC}from"zod";var xW=new Set(["Edit","Write","NotebookEdit"]),kW=TC.looseObject({file_path:TC.string()}),CW="create",OC=ue("PreToolUse",e=>{if(!xW.has(e.tool_name))return;let t=kW.safeParse(e.tool_input);if(!t.success)return;let{cwd:r}=e;if(!ae(r)||!De(r))return;let n=vW.relative(r,t.data.file_path);if(!(n.startsWith("..")||n!==".ripplo"&&!n.startsWith(".ripplo/"))&&!rl(r,e.session_id,CW))return{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:`Editing \`.ripplo/\` files (${n}) requires the \`/ripplo:create\` skill loaded first. Load \`/ripplo:create\` then retry \u2014 it carries the DSL builder shape, lint rules, and the parallelization guidance you'll need.`}}});import RW from"path";import MC from"picomatch";import{graphql as EW}from"gql.tada";import{z as NC}from"zod";var IW=new Set(["Edit","Write","NotebookEdit"]),AW=NC.looseObject({file_path:NC.string()}),PW=EW(`
638
+ `);async function zC({cwd:e,lockfile:t}){if(!De(e))return{addedSlugs:[]};let r=uH(e);if(r.length===0)return{addedSlugs:[]};let n=new Set(r),i=t.tests.filter(l=>l.sourcePath!=null&&n.has(l.sourcePath)).map(l=>ge(l.name));if(i.length===0)return{addedSlugs:[]};let o=je(e).unwrapOr(void 0);return o==null?{addedSlugs:[]}:await Ir({config:o,cwd:e,lockfile:t}).catch(l=>(B.warn("auto-sync failed: %s",l instanceof Error?l.message:String(l)),null))==null?{addedSlugs:[]}:{addedSlugs:await cH({cfg:o,slugs:i})?i:[]}}async function cH({cfg:e,slugs:t}){let n=(await D({config:e,document:lH,variables:{cwd:e.cwd,projectId:e.projectId,workflowSlugs:[...t]}}).catch(i=>(B.warn("auto-scope failed: %s",i instanceof Error?i.message:String(i)),null)))?.addDirtyTestsToScope;return n?.__typename!=="MutationAddDirtyTestsToScopeSuccess"?!1:n.data.length>0}var HC=".ripplo/tests/";function uH(e){let t;try{t=ot(["status","--porcelain","--",".ripplo/tests"],e)}catch{return[]}return t.split(`
639
+ `).map(r=>r.slice(3).trim()).filter(r=>r.startsWith(HC)&&r.endsWith(".ts")).map(r=>r.slice(HC.length)).filter(r=>r!=="index.ts"&&!r.endsWith("/index.ts"))}var pH=GC.looseObject({file_path:GC.string()}),qC=ue("PostToolUse",async e=>{let t=pH.safeParse(e.tool_input);if(!t.success||!/\/\.ripplo\/.*\.ts$/.test(t.data.file_path))return;let{cwd:r}=e;if(!ae(r))return;if(!De(r))return{hookSpecificOutput:{additionalContext:"Ripplo hooks are paused \u2014 DSL lint and lockfile sync did not run for this edit. Resume with `npx ripplo hooks resume` when ready.",hookEventName:"PostToolUse"}};let n=await Mn(r);if(n.isErr())return{decision:"block",reason:`${Oe(n.error)}
640
+ ${j("create","DSL authoring + lint rules")}`};let i=Cr(n.value);if(i.length>0)return{decision:"block",reason:`${Rr(i)}
641
+ ${j("create")}`};let{addedSlugs:o}=await zC({cwd:r,lockfile:n.value});return fH([...o.length>0?[`Auto-scoped ${o.join(", ")} (dirty tests).`]:[],...hH(r,n.value)])});function fH(e){if(e.length!==0)return{hookSpecificOutput:{additionalContext:e.join(`
642
+ `),hookEventName:"PostToolUse"}}}function hH(e,t){let r=Ta(t),n=dH("sha256").update(JSON.stringify(r)).digest("hex");return _n(e,"coverage-warn")===n?[]:(jn(e,"coverage-warn",n),r.length===0?[]:[Ia(r)])}import{z as KC}from"zod";var mH=KC.looseObject({command:KC.string()}),gH=/\bripplo\s+hooks\s+pause\b/,JC=ue("PreToolUse",e=>{if(e.tool_name!=="Bash")return;let t=mH.safeParse(e.tool_input);if(!t.success||!gH.test(t.data.command))return;let{cwd:r}=e;if(ae(r))return{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:"`ripplo hooks pause` is a human-only escape hatch \u2014 agents can't bypass Ripplo guardrails on their own. If the daemon genuinely can't start (auth, server down, intentional offline work), surface the blocker to the user and ask them to run `npx ripplo hooks pause` themselves from their terminal."}}});import{parse as vH}from"shell-quote";import{z as ZC}from"zod";import{existsSync as yH,mkdirSync as bH,rmSync as pae,writeFileSync as wH}from"fs";import Pf from"path";function ol(e,t,r){let n=YC(e,t,r);bH(Pf.dirname(n),{recursive:!0}),wH(n,"")}function sl(e,t,r){return yH(YC(e,t,r))}function YC(e,t,r){return Pf.join(SH(e,t),r)}function SH(e,t){return Pf.join(e,".ripplo",".local","skills-loaded",t)}var xH=ZC.looseObject({command:ZC.string()}),kH="debug",CH=new Set(["tail","head","less","more","wc","sort","uniq","awk","sed","grep"]),QC=ue("PreToolUse",e=>{if(e.tool_name!=="Bash")return;let t=xH.safeParse(e.tool_input);if(!t.success)return;let r=RH(t.data.command);if(!EH(r))return;let{cwd:n}=e;if(!ae(n)||!De(n))return;if(!sl(n,e.session_id,kH))return XC("Running `ripplo run` requires the `/ripplo:debug` skill loaded first. Load `/ripplo:debug` then retry \u2014 it carries the artifact-read order and the no-grep-piping guidance for run failures.");let o=AH(r);if(o!=null)return XC(`Don't pipe \`ripplo run\` through \`${o}\` \u2014 buffering filters hold all stdout until EOF, hiding live progress; if you kill the pipeline mid-run the run is orphaned on the server. Redirect to a file instead: \`ripplo run <id> > /tmp/run.log 2>&1\` and Read the file, or use \`run_in_background: true\`.`)});function RH(e){try{return vH(e)}catch{return[]}}function EH(e){return e.some((t,r)=>t==="ripplo"&&e[r+1]==="run")}function IH(e){return typeof e=="object"&&"op"in e&&e.op==="|"}function AH(e){let t=e.find((r,n)=>{let i=e[n-1];return i!=null&&IH(i)&&typeof r=="string"&&CH.has(r)});return typeof t=="string"?t:null}function XC(e){return{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:e}}}import PH from"path";import{z as eR}from"zod";var TH=new Set(["Edit","Write","NotebookEdit"]),OH=eR.looseObject({file_path:eR.string()}),MH="create",tR=ue("PreToolUse",e=>{if(!TH.has(e.tool_name))return;let t=OH.safeParse(e.tool_input);if(!t.success)return;let{cwd:r}=e;if(!ae(r)||!De(r))return;let n=PH.relative(r,t.data.file_path);if(!(n.startsWith("..")||n!==".ripplo"&&!n.startsWith(".ripplo/"))&&!sl(r,e.session_id,MH))return{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:`Editing \`.ripplo/\` files (${n}) requires the \`/ripplo:create\` skill loaded first. Load \`/ripplo:create\` then retry \u2014 it carries the DSL builder shape, lint rules, and the parallelization guidance you'll need.`}}});import NH from"path";import rR from"picomatch";import{graphql as LH}from"gql.tada";import{z as nR}from"zod";var $H=new Set(["Edit","Write","NotebookEdit"]),DH=nR.looseObject({file_path:nR.string()}),_H=LH(`
594
643
  query PreEditScopeGate($projectId: String!, $cwd: String!) {
595
644
  project(id: $projectId) {
596
645
  id
@@ -602,9 +651,9 @@ ${V("create")}`};let{addedSlugs:o}=await vC({cwd:r,lockfile:n.value});return oW(
602
651
  }
603
652
  }
604
653
  }
605
- `),LC=ue("PreToolUse",async e=>{if(!IW.has(e.tool_name))return;let t=AW.safeParse(e.tool_input);if(!t.success)return;let{cwd:r}=e;if(!ae(r)||!De(r))return;let n=RW.relative(r,t.data.file_path);if(n.startsWith("..")||n===".ripplo"||n.startsWith(".ripplo/")||!TW(n))return;let i=await OW(r);return i.populated?i.degradedReason!=null?{hookSpecificOutput:{additionalContext:`Scope check skipped (${i.degradedReason}) \u2014 edit allowed through, but the scope guardrail isn't enforcing on this edit.`,hookEventName:"PreToolUse"}}:void 0:{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:`Scope empty; edit touches app code (${n}). Stub a test or \`scope add\` an existing one before proceeding \u2014 or acknowledge "no user-facing behavior" if pure refactor. Hook re-fires until scope is populated (or hooks paused via the web UI). ${wh(["scope","create"])}`}}});function TW(e){let{ignorePaths:t,watchPaths:r}=Qa(),n=MC([...r]),i=MC([...t]);return n(e)&&!i(e)}async function OW(e){let t=je(e).unwrapOr(void 0);if(t==null)return{degradedReason:"no project config \u2014 `ripplo init` not run here",populated:!0};let r=await D({config:t,document:PW,variables:{cwd:t.cwd,projectId:t.projectId}}).catch(()=>null);return r==null?{degradedReason:"server unreachable",populated:!0}:{degradedReason:null,populated:(r.project?.devSession?.scopeItems??[]).length>0}}import MW from"fs";import NW from"path";import{z as $C}from"zod";var LW=new Set(["Edit","Write","NotebookEdit"]),$W=$C.looseObject({file_path:$C.string()}),DC=ue("PreToolUse",async e=>{if(!LW.has(e.tool_name))return;let t=DW(e);if(t==null)return;let{cwd:r}=e;if(MW.existsSync(Cr(r))||Zr(r))return;let n=await be(r);return n.isErr()?{hookSpecificOutput:{additionalContext:`\`ripplo daemon\` isn't running and the DSL is currently failing to compile, so the daemon gate is letting this edit through \u2014 fix the compile error before relying on dev-mode guardrails. Compile error:
654
+ `),iR=ue("PreToolUse",async e=>{if(!$H.has(e.tool_name))return;let t=DH.safeParse(e.tool_input);if(!t.success)return;let{cwd:r}=e;if(!ae(r)||!De(r))return;let n=NH.relative(r,t.data.file_path);if(n.startsWith("..")||n===".ripplo"||n.startsWith(".ripplo/")||!jH(n))return;let i=await FH(r);return i.populated?i.degradedReason!=null?{hookSpecificOutput:{additionalContext:`Scope check skipped (${i.degradedReason}) \u2014 edit allowed through, but the scope guardrail isn't enforcing on this edit.`,hookEventName:"PreToolUse"}}:void 0:{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:`Scope empty; edit touches app code (${n}). Stub a test or \`scope add\` an existing one before proceeding \u2014 or acknowledge "no user-facing behavior" if pure refactor. Hook re-fires until scope is populated (or hooks paused via the web UI). ${Rh(["scope","create"])}`}}});function jH(e){let{ignorePaths:t,watchPaths:r}=Dn(),n=rR([...r]),i=rR([...t]);return n(e)&&!i(e)}async function FH(e){let t=je(e).unwrapOr(void 0);if(t==null)return{degradedReason:"no project config \u2014 `ripplo init` not run here",populated:!0};let r=await D({config:t,document:_H,variables:{cwd:t.cwd,projectId:t.projectId}}).catch(()=>null);return r==null?{degradedReason:"server unreachable",populated:!0}:{degradedReason:null,populated:(r.project?.devSession?.scopeItems??[]).length>0}}import BH from"fs";import VH from"path";import{z as oR}from"zod";var UH=new Set(["Edit","Write","NotebookEdit"]),WH=oR.looseObject({file_path:oR.string()}),sR=ue("PreToolUse",async e=>{if(!UH.has(e.tool_name))return;let t=HH(e);if(t==null)return;let{cwd:r}=e;if(BH.existsSync(Er(r))||Qr(r))return;let n=await we(r);return n.isErr()?{hookSpecificOutput:{additionalContext:`\`ripplo daemon\` isn't running and the DSL is currently failing to compile, so the daemon gate is letting this edit through \u2014 fix the compile error before relying on dev-mode guardrails. Compile error:
606
655
  ${Oe(n.error)}
607
- ${V("create","DSL authoring + lint rules")}`,hookEventName:"PreToolUse"}}:{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:`\`ripplo daemon\` is not running, so this edit to \`${t}\` won't sync to the server and dev-mode guardrails won't fire. Run \`/ripplo:start\` (or spawn \`npx ripplo daemon\` directly via Bash with run_in_background), then retry. The app's dev server also needs to be running \u2014 \`npx ripplo doctor\` reports both. If the daemon can't start (auth, server down, intentional offline work), the user can run \`npx ripplo hooks pause\` to bypass this gate; \`npx ripplo hooks resume\` re-enables it. ${V("start")}`}}});function DW(e){let t=$W.safeParse(e.tool_input);if(!t.success||!ae(e.cwd))return null;let r=NW.relative(e.cwd,t.data.file_path);return r.startsWith("..")||r!==".ripplo"&&!r.startsWith(".ripplo/")?null:r}import{graphql as _W}from"gql.tada";var jW=_W(`
656
+ ${j("create","DSL authoring + lint rules")}`,hookEventName:"PreToolUse"}}:{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:`\`ripplo daemon\` is not running, so this edit to \`${t}\` won't sync to the server and dev-mode guardrails won't fire. Run \`/ripplo:start\` (or spawn \`npx ripplo daemon\` directly via Bash with run_in_background), then retry. The app's dev server also needs to be running \u2014 \`npx ripplo doctor\` reports both. If the daemon can't start (auth, server down, intentional offline work), the user can run \`npx ripplo hooks pause\` to bypass this gate; \`npx ripplo hooks resume\` re-enables it. ${j("start")}`}}});function HH(e){let t=WH.safeParse(e.tool_input);if(!t.success||!ae(e.cwd))return null;let r=VH.relative(e.cwd,t.data.file_path);return r.startsWith("..")||r!==".ripplo"&&!r.startsWith(".ripplo/")?null:r}import{graphql as zH}from"gql.tada";var GH=zH(`
608
657
  query ScopeReminder($projectId: String!, $cwd: String!) {
609
658
  project(id: $projectId) {
610
659
  id
@@ -621,9 +670,9 @@ ${V("create","DSL authoring + lint rules")}`,hookEventName:"PreToolUse"}}:{hookS
621
670
  }
622
671
  }
623
672
  }
624
- `),_C=ue("UserPromptSubmit",async e=>{let{cwd:t}=e;if(!ae(t)||!De(t))return;let r=el(t);if(Ln(t,"scope-reminder")===r)return;let n=je(t).unwrapOr(void 0);if(n==null)return;let i=await D({config:n,document:jW,variables:{cwd:n.cwd,projectId:n.projectId}}).catch(()=>null);if($n(t,"scope-reminder",r),i==null)return{hookSpecificOutput:{additionalContext:`RIPPLO SCOPE: unknown \u2014 server unreachable, scope guardrails are not enforcing. Check the dev session (\`npx ripplo doctor\`). ${V("start")}`,hookEventName:"UserPromptSubmit"}};let o=i.project?.devSession?.scopeItems??[];return{hookSpecificOutput:{additionalContext:o.length===0?`RIPPLO SCOPE: empty. ${V("scope")}`:`RIPPLO SCOPE (${String(o.length)}):
673
+ `),aR=ue("UserPromptSubmit",async e=>{let{cwd:t}=e;if(!ae(t)||!De(t))return;let r=il(t);if(_n(t,"scope-reminder")===r)return;let n=je(t).unwrapOr(void 0);if(n==null)return;let i=await D({config:n,document:GH,variables:{cwd:n.cwd,projectId:n.projectId}}).catch(()=>null);jn(t,"scope-reminder",r);let o=i?.project?.devSession?.scopeItems??[];return NC({cwd:t,scope:{available:i!=null,items:o.map(a=>qH(a))}}),i==null?{hookSpecificOutput:{additionalContext:`RIPPLO SCOPE: unknown \u2014 server unreachable, scope guardrails are not enforcing. Check the dev session (\`npx ripplo doctor\`). ${j("start")}`,hookEventName:"UserPromptSubmit"}}:{hookSpecificOutput:{additionalContext:o.length===0?`RIPPLO SCOPE: empty. ${j("scope")}`:`RIPPLO SCOPE (${String(o.length)}):
625
674
  ${o.map(a=>{let l=a.workflow;return l==null?` [intent] (${a.id}) ${a.label??""}`:` [${l.spec==null?"stub":"implemented"}] (${a.id}) ${l.slug}`}).join(`
626
- `)}`,hookEventName:"UserPromptSubmit"}}});var FW="# Ripplo \u2014 always-on session context\n\nEvery user-facing change in this repo ships with a deterministic, backend-aware test that proves it works end-to-end.\n\n## Load the right skill before acting \u2014 this is critical\n\nThe skills below carry the procedural detail you need to do Ripplo work correctly: entity/world modeling, parallel-isolation in engine impls, oracle-based backend assertions, scope discipline, artifact-read order on failures, parallelization patterns. **None of that is reproduced in this preamble** \u2014 only the always-on guardrails are. If you act on a Ripplo task without loading the matching skill, you will skip rules that exist to prevent specific past failure modes (cross-run data leakage, \"passing\" tests that never asserted backend state, etc.).\n\nMatch the task to a skill from the triage table; if unsure between two, load both. If completely unsure, load `/ripplo:explore` or `/ripplo:create`. Loading is cheap; acting under-informed is not.\n\n## Skill triage\n\n- Load `/ripplo:setup` skill for instructions on initializing Ripplo in a project; `ripplo doctor` reports the engine endpoint missing.\n- Load `/ripplo:explore` skill for instructions on planning/stubbing test coverage for a new project or new feature area.\n- Load `/ripplo:scope` skill for instructions on managing the working set of tests this session is responsible for.\n- Load `/ripplo:create` skill for instructions on authoring a single test spec for a user flow.\n- Load `/ripplo:run` skill for instructions on executing existing tests.\n- Load `/ripplo:debug` skill for instructions on a failed run; read artifacts in `.ripplo/debug/<runId>/` before re-running.\n\n## Universal rules\n\n- **Two background processes must be running before feature work.** (1) The app's dev server, so the app is reachable; (2) `npx ripplo daemon` (run `/ripplo:start` to spawn it, or invoke it directly via Bash with `run_in_background`), so the dev session is live. Without the daemon, dev-mode hooks don't arm (`ripplo run` will auto-start one if absent). Without the dev server, runs fail when they try to hit the app. `npx ripplo doctor` reports both.\n- **Two funnels.** Definitions \u2192 `createRipplo({ entities, singletons, tests })` in `.ripplo/index.ts`. Implementations \u2192 `createEngine(ripplo, { entities: impls, singletons })` in your app server's `test/engine.ts` \u2014 one `seed`/`read` impl per entity. Never call either elsewhere. TS enforces exhaustiveness across both.\n- **\"Done\" = app code delivers the behavior AND a passing test proves it.** Both halves. Shipping without a test isn't done; writing a test against broken UI/API isn't done.\n- **Scope is your job.** For any non-trivial change, enumerate every flow it could affect and either `scope add` existing tests or stub new ones with `test(\"Intent\")` (no body). Don't wait to be told.\n- **`scope remove` is never for size/effort.** Valid only when an item is genuinely out of scope (wrong flow, duplicate, user said \"not this session,\" feature cut). \"Too many stubs\" \u2192 parallelize with subagents. Don't present \"implement vs. remove\" as a neutral A/B.\n- **Stub gates are not a question.** When `stop-enforce` blocks on unimplemented stubs, implement them \u2014 don't ask the user \"implement or defer?\", don't propose pausing hooks as option B. The fix isn't done until the test is. New scaffolding (entity, world, engine impl) is in-scope work, not follow-up.\n- **Backend assertions are mandatory on mutations.** Every mutation step carries an `Entity.created/updated/deleted` in its `.expect(...)` \u2014 the oracle checks observed-vs-model. A UI-only check on a mutation ships the bug as green.\n- **Never weaken a test to make it pass.** No `contains`/regex for exact text, no removed assertions, no fabricated locators. App lacks an accessible name \u2192 add one to the app, don't fall back to `testId()`. App bug \u2192 report with evidence.\n- **Artifacts first, re-run last.** Failed runs write `.ripplo/debug/<runId>/behavior.jsonl` \u2014 a causal stream of actions, assertions, rrweb DOM, console, network, and server spans \u2014 and the run output renders the oracle's findings. Read them. Never pipe `ripplo run` through `grep`/`tail`/`head`. Form a hypothesis citing an event, make ONE change, re-run once.\n- **`.ripplo/ripplo.lock` is committed, never hand-edited.** `ripplo lint` / `ripplo compile` regenerates it. Pre-commit runs `ripplo compile --check`.\n- **Scratch files live in `.ripplo/.local/`.** Never loose in `.ripplo/`.\n- **Worktrees are self-contained.** Each worktree has its own `.ripplo/` checkout, DevSession, scope, and debug artifacts. Auth and projectId are shared globally. Env files (typically gitignored) won't carry over to a fresh worktree \u2014 copy from main or point at a shared file. **If sibling worktrees run dev servers on different ports, the worktree's env file MUST update both `RIPPLO_APP_URL` and `RIPPLO_ENGINE_URL` to match the port that worktree's dev server is bound to** (e.g. main on `:3000`, this worktree on `:3001` \u2192 set `RIPPLO_APP_URL=http://localhost:3001` and `RIPPLO_ENGINE_URL=http://localhost:3001/ripplo` in the worktree's env file). Mismatched ports = `npx ripplo daemon` talks to the wrong server, runs silently fail or hit the sibling worktree's app.\n- **DSL locators are semantic.** Use `role`/`button`/`textbox`/`heading`/`link`; `testId` only when no ARIA role exists.\n- **New backend state?** Add an `entity(...)` in `.ripplo/entities/` and a `seed`/`read` impl in your app's engine funnel (TS flags the missing impl).\n\n## Key files\n\n- `.ripplo/index.ts` \u2014 `createRipplo` call.\n- `.ripplo/{entities,singletons,worlds,tests}/index.ts` \u2014 registry aggregators.\n- `.ripplo/project.json` \u2014 project id + env-file pointers.\n- `<app>/src/test/engine.ts` \u2014 single impl funnel via `createEngine`.\n- `/ripplo:create` skill \u2014 DSL reference (entities, worlds, tests, oracle); full primitive catalog at `node_modules/@ripplo/testing/DSL.md`.\n",jC=ue("SessionStart",e=>{if(ae(e.cwd))return{hookSpecificOutput:{additionalContext:FW,hookEventName:"SessionStart"}}});import{execFileSync as VW}from"child_process";import FC from"process";import{graphql as BW}from"gql.tada";import{z as nl}from"zod";var UW=BW(`
675
+ `)}`,hookEventName:"UserPromptSubmit"}}});function qH(e){let t=e.workflow;return t==null?{label:e.label,slug:null,status:"intent"}:{label:e.label,slug:t.slug,status:t.spec==null?"stub":"implemented"}}var KH="# Ripplo \u2014 always-on session context\n\nEvery user-facing change in this repo ships with a deterministic, backend-aware test that proves it works end-to-end.\n\n## Load the right skill before acting \u2014 this is critical\n\nThe skills below carry the procedural detail you need to do Ripplo work correctly: entity/world modeling, parallel-isolation in engine impls, oracle-based backend assertions, scope discipline, artifact-read order on failures, parallelization patterns. **None of that is reproduced in this preamble** \u2014 only the always-on guardrails are. If you act on a Ripplo task without loading the matching skill, you will skip rules that exist to prevent specific past failure modes (cross-run data leakage, \"passing\" tests that never asserted backend state, etc.).\n\nMatch the task to a skill from the triage table; if unsure between two, load both. If completely unsure, load `/ripplo:explore` or `/ripplo:create`. Loading is cheap; acting under-informed is not.\n\n## Skill triage\n\n- Load `/ripplo:setup` skill for instructions on initializing Ripplo in a project; `ripplo doctor` reports the engine endpoint missing.\n- Load `/ripplo:explore` skill for instructions on planning/stubbing test coverage for a new project or new feature area.\n- Load `/ripplo:scope` skill for instructions on managing the working set of tests this session is responsible for.\n- Load `/ripplo:create` skill for instructions on authoring a single test spec for a user flow.\n- Load `/ripplo:run` skill for instructions on executing existing tests.\n- Load `/ripplo:debug` skill for instructions on a failed run; read artifacts in `.ripplo/debug/<runId>/` before re-running.\n\n## Universal rules\n\n- **Two background processes must be running before feature work.** (1) The app's dev server, so the app is reachable; (2) `npx ripplo daemon` (run `/ripplo:start` to spawn it, or invoke it directly via Bash with `run_in_background`), so the dev session is live. Without the daemon, dev-mode hooks don't arm (`ripplo run` will auto-start one if absent). Without the dev server, runs fail when they try to hit the app. `npx ripplo doctor` reports both.\n- **Two funnels.** Definitions \u2192 `createRipplo({ entities, singletons, tests })` in `.ripplo/index.ts`. Implementations \u2192 `createEngine(ripplo, { entities: impls, singletons })` in your app server's `test/engine.ts` \u2014 one `seed`/`read` impl per entity. Never call either elsewhere. TS enforces exhaustiveness across both.\n- **\"Done\" = app code delivers the behavior AND a passing test proves it.** Both halves. Shipping without a test isn't done; writing a test against broken UI/API isn't done.\n- **Scope is your job.** For any non-trivial change, enumerate every flow it could affect and either `scope add` existing tests or stub new ones with `test(\"Intent\")` (no body). Don't wait to be told.\n- **`scope remove` is never for size/effort.** Valid only when an item is genuinely out of scope (wrong flow, duplicate, user said \"not this session,\" feature cut). \"Too many stubs\" \u2192 parallelize with subagents. Don't present \"implement vs. remove\" as a neutral A/B.\n- **Stub gates are not a question.** When `stop-enforce` blocks on unimplemented stubs, implement them \u2014 don't ask the user \"implement or defer?\", don't propose pausing hooks as option B. The fix isn't done until the test is. New scaffolding (entity, world, engine impl) is in-scope work, not follow-up.\n- **Backend assertions are mandatory on mutations.** Every mutation step carries an `Entity.created/updated/deleted` in its `.expect(...)` \u2014 the oracle checks observed-vs-model. A UI-only check on a mutation ships the bug as green.\n- **Never weaken a test to make it pass.** No `contains`/regex for exact text, no removed assertions, no fabricated locators. App lacks an accessible name \u2192 add one to the app, don't fall back to `testId()`. App bug \u2192 report with evidence.\n- **Artifacts first, re-run last.** Failed runs write `.ripplo/debug/<runId>/behavior.jsonl` \u2014 a causal stream of actions, assertions, rrweb DOM, console, network, and server spans \u2014 and the run output renders the oracle's findings. Read them. Never pipe `ripplo run` through `grep`/`tail`/`head`. Form a hypothesis citing an event, make ONE change, re-run once.\n- **`.ripplo/ripplo.lock` is committed, never hand-edited.** `ripplo lint` / `ripplo compile` regenerates it. Pre-commit runs `ripplo compile --check`.\n- **Scratch files live in `.ripplo/.local/`.** Never loose in `.ripplo/`.\n- **Worktrees are self-contained.** Each worktree has its own `.ripplo/` checkout, DevSession, scope, and debug artifacts. Auth and projectId are shared globally. Env files (typically gitignored) won't carry over to a fresh worktree \u2014 copy from main or point at a shared file. **If sibling worktrees run dev servers on different ports, the worktree's env file MUST update both `RIPPLO_APP_URL` and `RIPPLO_ENGINE_URL` to match the port that worktree's dev server is bound to** (e.g. main on `:3000`, this worktree on `:3001` \u2192 set `RIPPLO_APP_URL=http://localhost:3001` and `RIPPLO_ENGINE_URL=http://localhost:3001/ripplo` in the worktree's env file). Mismatched ports = `npx ripplo daemon` talks to the wrong server, runs silently fail or hit the sibling worktree's app.\n- **DSL locators are semantic.** Use `role`/`button`/`textbox`/`heading`/`link`; `testId` only when no ARIA role exists.\n- **New backend state?** Add an `entity(...)` in `.ripplo/entities/` and a `seed`/`read` impl in your app's engine funnel (TS flags the missing impl).\n\n## Key files\n\n- `.ripplo/index.ts` \u2014 `createRipplo` call.\n- `.ripplo/{entities,singletons,worlds,tests}/index.ts` \u2014 registry aggregators.\n- `.ripplo/project.json` \u2014 project id + env-file pointers.\n- `<app>/src/test/engine.ts` \u2014 single impl funnel via `createEngine`.\n- `/ripplo:create` skill \u2014 DSL reference (entities, worlds, tests, oracle); full primitive catalog at `node_modules/@ripplo/testing/DSL.md`.\n",lR=ue("SessionStart",e=>{if(ae(e.cwd))return{hookSpecificOutput:{additionalContext:KH,hookEventName:"SessionStart"}}});import{execFileSync as JH}from"child_process";import cR from"process";import{graphql as YH}from"gql.tada";import{z as al}from"zod";var ZH=YH(`
627
676
  query ScopeEnforce($projectId: String!, $cwd: String!) {
628
677
  project(id: $projectId) {
629
678
  id
@@ -642,36 +691,36 @@ ${o.map(a=>{let l=a.workflow;return l==null?` [intent] (${a.id}) ${a.label??""}
642
691
  }
643
692
  }
644
693
  }
645
- `),BC=ue("Stop",async e=>{let{cwd:t}=e;if(!ae(t)||!De(t))return;let r=el(t),n=Ln(t,"stop-enforce")===r;if(n&&!e.stop_hook_active)return;let i=await WW(t);if($n(t,"stop-enforce",r),i.length!==0)return n&&e.stop_hook_active?{continue:!1,stopReason:`Stop-enforce: same repo state across consecutive stop attempts; agent appears stuck. Errors:
694
+ `),dR=ue("Stop",async e=>{let{cwd:t}=e;if(!ae(t)||!De(t))return;let r=il(t),n=_n(t,"stop-enforce")===r;if(n&&!e.stop_hook_active)return;let i=await XH(t);if(jn(t,"stop-enforce",r),i.length!==0)return n&&e.stop_hook_active?{continue:!1,stopReason:`Stop-enforce: same repo state across consecutive stop attempts; agent appears stuck. Errors:
646
695
  ${i.join(`
647
696
 
648
697
  `)}`}:{decision:"block",reason:i.join(`
649
698
 
650
- `)}});async function WW(e){let t=await Tn(e);if(t.isErr())return[`--- Compilation failed ---
699
+ `)}});async function XH(e){let t=await Mn(e);if(t.isErr())return[`--- Compilation failed ---
651
700
  ${Oe(t.error)}
652
- ${V("create")}`];let r=t.value,n=await GW(e,r),i=HW(r),o=zW(r),s=n.hasRunnable?KW(e):null;return[i,o,s,n.error].filter(a=>a!=null)}function HW(e){let t=xr(e);return t.length===0?null:`--- Ripplo Lint ---
653
- ${kr(t)}
654
- ${V("create")}`}function zW(e){let t=Zt(e);return t.length===0?null:`--- Unimplemented stubs ---
701
+ ${j("create")}`];let r=t.value,n=await tz(e,r),i=QH(r),o=ez(r),s=n.runnableSlugs.length>0?nz(e):null;return[i,o,s,n.error].filter(a=>a!=null)}function QH(e){let t=Cr(e);return t.length===0?null:`--- Ripplo Lint ---
702
+ ${Rr(t)}
703
+ ${j("create")}`}function ez(e){let t=tr(e);return t.length===0?null:`--- Unimplemented stubs ---
655
704
  ${t.join(", ")}
656
705
  Implement the stub now with \`test("Intent", () => ({ given, steps }))\`. Do not ask the user "implement or defer?" \u2014 that framing is forbidden by /ripplo:create. New scaffolding (entity, world, engine impl) is in-scope, not follow-up.
657
- ${V("create")}`}async function GW(e,t){let r=new Set(Zt(t).map(d=>Re(d))),n=new Set(t.tests.map(d=>Re(d.name))),i=(d,p)=>n.has(d)?r.has(d):qW(p),o=je(e).unwrapOr(void 0);if(o==null)return{error:`--- Testing Scope (NOT CHECKED) ---
658
- No project config \u2014 \`ripplo init\` hasn't run here, so scope/stub done-checks are not enforcing. ${V("setup")}`,hasRunnable:!1};let s=await D({config:o,document:UW,variables:{cwd:o.cwd,projectId:o.projectId}}).catch(()=>null);if(s==null)return{error:`--- Testing Scope (NOT CHECKED) ---
659
- Ripplo server unreachable \u2014 scope/stub done-checks are not enforcing. Verify the dev session is live (\`npx ripplo doctor\`, ${V("start")}) before declaring work done.`,hasRunnable:!1};let a=s.project?.devSession?.scopeItems??[],l=a.flatMap(d=>{let p=d.workflow;return p==null?[` [intent] ${d.label??"(no label)"} \u2014 write a test for this flow`]:i(p.slug,p.spec)?[` [stub] ${p.slug} \u2014 implement \`${p.name}\``]:[]}),c=a.some(d=>d.workflow!=null&&!i(d.workflow.slug,d.workflow.spec));return{error:l.length===0?null:`--- Testing Scope ---
706
+ ${j("create")}`}async function tz(e,t){let r=new Set(tr(t).map(d=>ge(d))),n=new Set(t.tests.map(d=>ge(d.name))),i=(d,p)=>n.has(d)?r.has(d):rz(p),o=je(e).unwrapOr(void 0);if(o==null)return{error:`--- Testing Scope (NOT CHECKED) ---
707
+ No project config \u2014 \`ripplo init\` hasn't run here, so scope/stub done-checks are not enforcing. ${j("setup")}`,runnableSlugs:[]};let s=await D({config:o,document:ZH,variables:{cwd:o.cwd,projectId:o.projectId}}).catch(()=>null);if(s==null)return{error:`--- Testing Scope (NOT CHECKED) ---
708
+ Ripplo server unreachable \u2014 scope/stub done-checks are not enforcing. Verify the dev session is live (\`npx ripplo doctor\`, ${j("start")}) before declaring work done.`,runnableSlugs:[]};let a=s.project?.devSession?.scopeItems??[],l=a.flatMap(d=>{let p=d.workflow;return p==null?[` [intent] ${d.label??"(no label)"} \u2014 write a test for this flow`]:i(p.slug,p.spec)?[` [stub] ${p.slug} \u2014 implement \`${p.name}\``]:[]}),c=a.flatMap(d=>d.workflow!=null&&!i(d.workflow.slug,d.workflow.spec)?[d.workflow.slug]:[]);return{error:l.length===0?null:`--- Testing Scope ---
660
709
  ${l.join(`
661
710
  `)}
662
- ${V("create")}`,hasRunnable:c}}function qW(e){return typeof e=="object"&&e!=null&&Reflect.get(e,"stub")===!0}function KW(e){let t=JW(["run"],e);if(t.code===0)return null;let r=t.output.split(`
711
+ ${j("create")}`,runnableSlugs:c}}function rz(e){return typeof e=="object"&&e!=null&&Reflect.get(e,"stub")===!0}function nz(e){let t=oz(["run"],e);if(t.code===0)return null;let r=t.output.split(`
663
712
  `).filter(n=>/FAILED/.test(n)).join(`
664
713
  `);if(r.length===0){let n=t.output.split(`
665
714
  `).filter(Boolean).slice(-15).join(`
666
715
  `);return`--- Ripplo Run Could Not Execute ---
667
716
  \`ripplo run\` exited ${String(t.code)} without test results \u2014 the scoped tests were NOT verified. Output tail:
668
717
  ${n}
669
- Fix the run environment (daemon, dev server, auth \u2014 \`npx ripplo doctor\`) and re-run before declaring work done. ${V("start")}`}return`--- Ripplo Run Failures (scope) ---
718
+ Fix the run environment (daemon, dev server, auth \u2014 \`npx ripplo doctor\`) and re-run before declaring work done. ${j("start")}`}return`--- Ripplo Run Failures (scope) ---
670
719
  ${r}
671
- Artifacts: .ripplo/debug/<runId>/. ${V("debug")}`}var YW=nl.object({status:nl.number().nullish(),stderr:nl.unknown().optional(),stdout:nl.unknown().optional()});function VC(e){return e instanceof Buffer?e.toString("utf8"):typeof e=="string"?e:""}function JW(e,t){let r=FC.argv[1];if(r==null)return{code:1,output:""};try{return{code:0,output:VW(FC.execPath,[r,...e],{cwd:t,encoding:"utf8",stdio:["ignore","pipe","pipe"]})}}catch(n){let i=YW.safeParse(n);if(!i.success)return{code:1,output:""};let o=`${VC(i.data.stdout)}${VC(i.data.stderr)}`;return{code:i.data.status??1,output:o}}}import{z as UC}from"zod";var ZW=UC.looseObject({skill:UC.string()}),WC=ue("PostToolUse",e=>{if(e.tool_name!=="Skill")return;let t=ZW.safeParse(e.tool_input);if(!t.success)return;let r=/^ripplo:(.+)$/.exec(t.data.skill);if(r==null)return;let n=r[1];n!=null&&ae(e.cwd)&&tl(e.cwd,e.session_id,n)});var XW=/(?:^|\s)\/ripplo:([a-z][a-z0-9-]*)\b/gi,HC=ue("UserPromptSubmit",e=>{ae(e.cwd)&&[...e.prompt.matchAll(XW)].map(t=>t[1]).filter(t=>t!=null).forEach(t=>{tl(e.cwd,e.session_id,t)})});cH();qr(process.cwd());pl();var zC={"exit-plan-gate":fC,"plan-reminder":hC,"post-edit-flag-stubs":yC,"post-edit-lint":kC,"pre-bash-hooks-pause-gate":RC,"pre-bash-run-gate":PC,"pre-edit-ripplo-skill-gate":OC,"pre-edit-scope-gate":LC,"pre-edit-watch-gate":DC,"scope-reminder":_C,"session-preamble":jC,"stop-enforce":BC,"track-skill-load":WC,"track-skill-prompt":HC};async function tH(){await QW(eH(process.argv)).scriptName("ripplo").version(Zf()).command("daemon","Run the long-lived local executor (IPC socket + run subscription)",e=>e.option("explore",{default:!0,describe:"Background exploration (disable with --no-explore)",type:"boolean"}),e=>nC({explore:e.explore})).command("concurrency [value]","Show or set max local concurrent runs (daemon applies live)",e=>e.positional("value",{type:"number"}),e=>jh({value:e.value})).command("auth <subcommand>","Manage authentication",lH).command("projects <subcommand>","Inspect Ripplo projects",aH).command("hooks <subcommand>","Pause or resume Ripplo hooks",sH).command("init","Scaffold .ripplo/ in this project",e=>e.option("project",{type:"string"}).option("env",{type:"string"}).option("app-url",{type:"string"}).option("engine-url",{type:"string"}),e=>Rx({appUrl:e["app-url"],engineUrl:e["engine-url"],envFile:e.env,projectId:e.project})).command("run [ids..]","Run tests locally via the daemon (auto-starts it if absent)",iH,e=>qx({all:e.all,headed:e.headed,ids:e.ids,keepAlive:e["keep-alive"]})).command("lint","Static model analysis (cascade gaps + law conflicts; no live app)",()=>{},()=>Ex()).command("sync","Push the compiled .ripplo/ resources to the server (no run)",()=>{},()=>Pk()).command("compile","Compile the DSL and write .ripplo/ripplo.lock",e=>e.option("check",{default:!1,describe:"Exit non-zero if the lockfile is missing or stale (does not write)",type:"boolean"}),e=>Lh({check:e.check})).command("doctor","Check project health",()=>{},()=>mx()).command("status","Report unimplemented tests and preconditions",e=>e.option("format",{choices:["json","summary"],default:"json",describe:"Output format"}),e=>dC({format:e.format})).command("scope <subcommand>","Manage testing scope",oH).command("run-worker",!1,()=>{},()=>Ak()).command("hook <name>","Internal: run a Claude Code plugin hook",e=>e.positional("name",{choices:Object.keys(zC),demandOption:!0,type:"string"}),e=>rH(e.name)).strict().help().parse()}async function rH(e){let t=zC[e];t==null&&(process.stderr.write(`Unknown hook: ${e}
672
- `),process.exit(1));let r=await nH(),n=r.trim()===""?{}:JSON.parse(r),i=await t.run(n);i!=null&&process.stdout.write(JSON.stringify(i))}function nH(){return new Promise((e,t)=>{if(process.stdin.isTTY){e("");return}let r=[];process.stdin.on("data",n=>r.push(n)),process.stdin.on("end",()=>{e(Buffer.concat(r).toString("utf8"))}),process.stdin.on("error",t)})}tH().catch(e=>{process.stderr.write(`${Ch(e)}
673
- `),process.exit(1)});function iH(e){let t=[];return e.positional("ids",{array:!0,default:t,describe:"Test ids to run",type:"string"}).option("all",{default:!1,describe:"Run every test in the suite (expensive)",type:"boolean"}).option("headed",{default:!1,describe:"Run with a visible browser window",type:"boolean"}).option("keep-alive",{default:!1,describe:"Leave an auto-started daemon running after the batch",type:"boolean"})}function oH(e){return e.command("status","Print the current scope",t=>t.option("format",{choices:["json","text"],default:"text",describe:"Output format"}),t=>aC({format:t.format})).command("add <test-ids..>","Bind one or more existing tests (stubs or implemented) to scope as agent intent",t=>{let r=[];return t.positional("test-ids",{array:!0,default:r,demandOption:!0,describe:"Slugs of existing workflows",type:"string"})},t=>lC({testIds:t["test-ids"]})).command("link <id> <test-id>","Link an existing scope item to a test",t=>t.positional("id",{demandOption:!0,describe:"Scope item id",type:"string"}).positional("test-id",{demandOption:!0,describe:"Slug of the workflow to link",type:"string"}),t=>cC({id:t.id,testId:t["test-id"]})).command("remove <ids..>","Remove one or more scope items by id",t=>{let r=[];return t.positional("ids",{array:!0,default:r,demandOption:!0,describe:"Scope item ids",type:"string"})},t=>uC({ids:t.ids})).demandCommand(1)}function sH(e){return e.command("pause","Disable all Ripplo pre-edit gates and stop enforcement until resumed",()=>{},()=>gx()).command("resume","Re-enable Ripplo hooks paused via `ripplo hooks pause`",()=>{},()=>yx()).demandCommand(1)}function aH(e){return e.command("list","List projects you have access to (JSON)",()=>{},()=>Ix()).demandCommand(1)}function lH(e){return e.command("login","Authenticate via device flow",()=>{},()=>Oh()).command("status","Show authentication status",()=>{},()=>Mh()).command("logout","Remove the saved token",()=>{},()=>{Nh()}).demandCommand(1)}function cH(){let e=process.cwd(),t=al(e);t!=null&&t!==e&&(process.chdir(t),process.stderr.write(`ripplo: resolved .ripplo/ at ${t}
674
- `))}export{tH as main};
720
+ Artifacts: .ripplo/debug/<runId>/. ${j("debug")}`}var iz=al.object({status:al.number().nullish(),stderr:al.unknown().optional(),stdout:al.unknown().optional()});function uR(e){return e instanceof Buffer?e.toString("utf8"):typeof e=="string"?e:""}function oz(e,t){let r=cR.argv[1];if(r==null)return{code:1,output:""};try{return{code:0,output:JH(cR.execPath,[r,...e],{cwd:t,encoding:"utf8",stdio:["ignore","pipe","pipe"]})}}catch(n){let i=iz.safeParse(n);if(!i.success)return{code:1,output:""};let o=`${uR(i.data.stdout)}${uR(i.data.stderr)}`;return{code:i.data.status??1,output:o}}}import{z as pR}from"zod";var sz=pR.looseObject({skill:pR.string()}),fR=ue("PostToolUse",e=>{if(e.tool_name!=="Skill")return;let t=sz.safeParse(e.tool_input);if(!t.success)return;let r=/^ripplo:(.+)$/.exec(t.data.skill);if(r==null)return;let n=r[1];n!=null&&ae(e.cwd)&&ol(e.cwd,e.session_id,n)});var az=/(?:^|\s)\/ripplo:([a-z][a-z0-9-]*)\b/gi,hR=ue("UserPromptSubmit",e=>{ae(e.cwd)&&[...e.prompt.matchAll(az)].map(t=>t[1]).filter(t=>t!=null).forEach(t=>{ol(e.cwd,e.session_id,t)})});wz();Jr(process.cwd());gl();var mR={"exit-plan-gate":PC,"plan-reminder":TC,"post-edit-flag-stubs":VC,"post-edit-lint":qC,"pre-bash-hooks-pause-gate":JC,"pre-bash-run-gate":QC,"pre-edit-ripplo-skill-gate":tR,"pre-edit-scope-gate":iR,"pre-edit-watch-gate":sR,"scope-reminder":aR,"session-preamble":lR,"stop-enforce":dR,"track-skill-load":fR,"track-skill-prompt":hR};async function uz(){await lz(cz(process.argv)).scriptName("ripplo").version(nh()).command("daemon","Run the long-lived local executor (IPC socket + run subscription)",e=>e.option("explore",{default:!0,describe:"Background exploration (disable with --no-explore)",type:"boolean"}),e=>wC({explore:e.explore})).command("concurrency [value]","Show or set max local concurrent runs (daemon applies live)",e=>e.positional("value",{type:"number"}),e=>Hh({value:e.value})).command("auth <subcommand>","Manage authentication",bz).command("projects <subcommand>","Inspect Ripplo projects",yz).command("hooks <subcommand>","Pause or resume Ripplo hooks",gz).command("init","Scaffold .ripplo/ in this project",e=>e.option("project",{type:"string"}).option("env",{type:"string"}).option("app-url",{type:"string"}).option("engine-url",{type:"string"}),e=>Ox({appUrl:e["app-url"],engineUrl:e["engine-url"],envFile:e.env,projectId:e.project})).command("run [ids..]","Run tests locally via the daemon (auto-starts it if absent)",hz,e=>Qx({all:e.all,headed:e.headed,ids:e.ids,keepAlive:e["keep-alive"]})).command(fz()).command("lint","Static model analysis (cascade gaps + law conflicts; no live app)",()=>{},()=>Mx()).command("sync","Push the compiled .ripplo/ resources to the server (no run)",()=>{},()=>zk()).command("compile","Compile the DSL and write .ripplo/ripplo.lock",e=>e.option("check",{default:!1,describe:"Exit non-zero if the lockfile is missing or stale (does not write)",type:"boolean"}),e=>Bh({check:e.check})).command("doctor","Check project health",()=>{},()=>vx()).command("status","Report unimplemented tests and preconditions",e=>e.option("format",{choices:["json","summary"],default:"json",describe:"Output format"}),e=>IC({format:e.format})).command("scope <subcommand>","Manage testing scope",mz).command("run-worker",!1,()=>{},()=>jk()).command("hook <name>","Internal: run a Claude Code plugin hook",e=>e.positional("name",{choices:Object.keys(mR),demandOption:!0,type:"string"}),e=>dz(e.name)).strict().help().parse()}async function dz(e){let t=mR[e];t==null&&(process.stderr.write(`Unknown hook: ${e}
721
+ `),process.exit(1));let r=await pz(),n=r.trim()===""?{}:JSON.parse(r),i=await t.run(n);i!=null&&process.stdout.write(JSON.stringify(i))}function pz(){return new Promise((e,t)=>{if(process.stdin.isTTY){e("");return}let r=[];process.stdin.on("data",n=>r.push(n)),process.stdin.on("end",()=>{e(Buffer.concat(r).toString("utf8"))}),process.stdin.on("error",t)})}uz().catch(e=>{process.stderr.write(`${Th(e)}
722
+ `),process.exit(1)});function fz(){return{command:"snapshot <runId>",describe:"Render a PNG of the page at a point in a run's rrweb recording",builder:e=>e.positional("runId",{demandOption:!0,type:"string"}).option("at",{demandOption:!0,describe:"Moment to render: epoch-ms timestamp exactly as found in behavior.jsonl",type:"number"}),handler:e=>Hk({at:e.at,runId:e.runId})}}function hz(e){let t=[];return e.positional("ids",{array:!0,default:t,describe:"Test ids to run",type:"string"}).option("all",{default:!1,describe:"Run every test in the suite (expensive)",type:"boolean"}).option("headed",{default:!1,describe:"Run with a visible browser window",type:"boolean"}).option("keep-alive",{default:!1,describe:"Leave an auto-started daemon running after the batch",type:"boolean"})}function mz(e){return e.command("status","Print the current scope",t=>t.option("format",{choices:["json","text"],default:"text",describe:"Output format"}),t=>kC({format:t.format})).command("add <test-ids..>","Bind one or more existing tests (stubs or implemented) to scope as agent intent",t=>{let r=[];return t.positional("test-ids",{array:!0,default:r,demandOption:!0,describe:"Slugs of existing workflows",type:"string"})},t=>CC({testIds:t["test-ids"]})).command("link <id> <test-id>","Link an existing scope item to a test",t=>t.positional("id",{demandOption:!0,describe:"Scope item id",type:"string"}).positional("test-id",{demandOption:!0,describe:"Slug of the workflow to link",type:"string"}),t=>RC({id:t.id,testId:t["test-id"]})).command("remove <ids..>","Remove one or more scope items by id",t=>{let r=[];return t.positional("ids",{array:!0,default:r,demandOption:!0,describe:"Scope item ids",type:"string"})},t=>EC({ids:t.ids})).demandCommand(1)}function gz(e){return e.command("pause","Disable all Ripplo pre-edit gates and stop enforcement until resumed",()=>{},()=>xx()).command("resume","Re-enable Ripplo hooks paused via `ripplo hooks pause`",()=>{},()=>kx()).demandCommand(1)}function yz(e){return e.command("list","List projects you have access to (JSON)",()=>{},()=>Nx()).demandCommand(1)}function bz(e){return e.command("login","Authenticate via device flow",()=>{},()=>_h()).command("status","Show authentication status",()=>{},()=>jh()).command("logout","Remove the saved token",()=>{},()=>{Fh()}).demandCommand(1)}function wz(){let e=process.cwd(),t=dl(e);t!=null&&t!==e&&(process.chdir(t),process.stderr.write(`ripplo: resolved .ripplo/ at ${t}
723
+ `))}export{uz as main};
675
724
  /*! Bundled license information:
676
725
 
677
726
  rrweb/dist/rrweb.js: