sketchi 0.15.0 → 0.15.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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/sketchi.js +2 -2
package/sketchi.js CHANGED
@@ -233,7 +233,7 @@ authority: ${e.diagram.authority}`,e=>({id:e.diagram.manifest.id,restoredFromRev
233
233
  `:`error: usage_error
234
234
  ${a}
235
235
  next: ${i}
236
- `)}},c=new Proxy(globalThis.console,{get(e,t,a){if("log"===t)return(...t)=>{(1!==t.length||""!==t[0])&&e.log(...t)};let s=Reflect.get(e,t,a);return"function"==typeof s?s.bind(e):s}}),pL(h9,{version:"0.15.0"})(e).pipe(X.sFT(e=>eu.i5(e,ru)&&"ShowHelp"!==e._tag?rg(n.formatErrors([e])):X.rIH),X.PfK(cg,{builtIns:[co,cr,cc]}),X.PfK(nl,n),X.PfK(rd,c))).pipe(X.khu({onFailure:e=>X.JkU(function*(){let t,a=ee.getOrUndefined(E.L$(e));if(a instanceof ho)return a.exitCode;if(a instanceof sV)return 7;let s=function(e){if(eu.i5(e,ru))return"ShowHelp"===e._tag?2*(e.errors.length>0):2}(a);if(void 0!==s)return s;let l=yield*hi;return yield*l.stderr((t={code:"internal_error",message:"Sketchi could not complete the command.",hint:"Retry once; if it persists, report the command and inputs without secrets."},"json"===d?s4({ok:!1,command:"sketchi",error:t}):hc(t))).pipe(X.MfU(()=>X.rIH)),1}),onSuccess:()=>X.PyW(0)}))}),ut=$.Um(sS.Txp,(0,sS.rRT)({createId:e=>`${e}_offline_cli`,icons:i$})),ua=$.Gt(s9,ut),us=$.Gt(lp,ut),ul=$.Um(li,is),ui=$.Gt(iv,ul),uo=$.Gt(iX,$.Um(ui,iI)),ur=$.Gt(hL,hk),un=$.Um(li,is,ua,us,ui,uo,iI,ur,hz,lu.pipe($.Gt(li)),hn,rc),uc=$.S5(un,sP);j(ue(process.argv.slice(2)).pipe(X.Mim(e=>X.OH5(()=>{process.exitCode=e})),X.Gte(uc)),{disableErrorReporting:!0})},1688(e,t,a){var s=a(2718);let l=s.xCb(["invalid_render_artifact","render_limit_exceeded","unsupported_render_glyph","rasterization_failed"]),i=s.xCb(["artifact","geometry","font","rasterization"]);class o extends s.rNF()("HeadlessPngRenderError",{cause:s.kld(),code:l,stage:i,message:s.QfV,details:s.O31(s.QfV)}){}a.d(t,{FG:()=>o})},5030(e,t,a){function s(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function l(e,t,a,s){return{code:e,message:t,...void 0===a?{}:{observed:a},...void 0===s?{}:{limit:s}}}function i(e,t=0){let a=1/0,o=1/0,r=-1/0,n=-1/0;for(let t of e){if(!(s(t)&&"number"==typeof t.x&&Number.isFinite(t.x)&&"number"==typeof t.y&&Number.isFinite(t.y)&&"number"==typeof t.width&&Number.isFinite(t.width)&&"number"==typeof t.height&&Number.isFinite(t.height)))return l("invalid_geometry","element geometry is invalid");let e=Math.abs(t.width),i=Math.abs(t.height);if(e>8192||i>8192)return l("element_dimension",`element dimension exceeds ${String(8192)}`,Math.max(e,i),8192);let c=Math.hypot(e,i)/2,d=t.x+t.width/2,p=t.y+t.height/2;a=Math.min(a,d-c),o=Math.min(o,p-c),r=Math.max(r,d+c),n=Math.max(n,p+c)}if(0===e.length)return;let c=r-a,d=n-o;if(c>8192||d>8192)return l("canvas_dimension",`canvas dimension exceeds ${String(8192)}`,Math.max(c,d),8192);let p=c*d;if(p>6291456)return l("canvas_area",`canvas area exceeds ${String(6291456)}`,p,6291456);let g=(c+40)*1*((d+40+t)*1);if(g>0x1800000)return l("output_pixels",`PNG output exceeds ${String(0x1800000)} pixels at minimum scale`,g,0x1800000)}function o(e,t){let a=new Set(t.flatMap(e=>s(e)&&"image"===e.type&&!0!==e.isDeleted&&"string"==typeof e.fileId?[e.fileId]:[])),i=0;for(let t of a){let a=Object.hasOwn(e,t)?e[t]:void 0,l=s(a)?a.dataURL:void 0;"string"==typeof l&&(i+=l.length)}return i>8388608?l("file_bytes",`embedded image data exceeds ${String(8388608)} bytes`,i,8388608):void 0}function r(e,t=0){return i(e,t)?.message}function n(e,t){if(!Number.isFinite(e)||!Number.isFinite(t)||e<=0||t<=0)return l("invalid_geometry","rendered SVG dimensions are invalid");let a=Math.min(2,16384/e,16384/t,Math.sqrt(0x1800000/(e*t)));if(a<1){let a=e*t;return a>0x1800000?l("output_pixels",`PNG output exceeds ${String(0x1800000)} pixels at minimum scale`,a,0x1800000):l("output_dimension","rendered SVG dimension exceeds the PNG limit at minimum scale",Math.max(e,t),16384)}return Math.max(1,Math.floor(1e3*a)/1e3)}a.d(t,{Gd:()=>r,Ts:()=>i,Yu:()=>n,jA:()=>o},{Z4:6291456,ce:0x1800000})},6982(e){e.exports=t("crypto")},7598(e){e.exports=t("node:crypto")},76(e,t,a){let s=a(9095),l=process.env;function i(e){return"string"==typeof e?!!l[e]:"env"in e?l[e.env]&&l[e.env].includes(e.includes):"any"in e?e.any.some(function(e){return!!l[e]}):Object.keys(e).every(function(t){return l[t]===e[t]})}Object.defineProperty(t,"_vendors",{value:s.map(function(e){return e.constant})}),t.name=null,t.isPR=null,t.id=null,"false"!==l.CI&&s.forEach(function(e){let a=(Array.isArray(e.env)?e.env:[e.env]).every(function(e){return i(e)});t[e.constant]=a,a&&(t.name=e.name,t.isPR=function(e){switch(typeof e.pr){case"string":return!!l[e.pr];case"object":if("env"in e.pr)if("any"in e.pr)return e.pr.any.some(function(t){return l[e.pr.env]===t});else return e.pr.env in l&&l[e.pr.env]!==e.pr.ne;if("any"in e.pr)return e.pr.any.some(function(e){return!!l[e]});return i(e.pr);default:return null}}(e),t.id=e.constant)}),t.isCI=!!("false"!==l.CI&&(l.BUILD_ID||l.BUILD_NUMBER||l.CI||l.CI_APP_ID||l.CI_BUILD_ID||l.CI_BUILD_NUMBER||l.CI_NAME||l.CONTINUOUS_INTEGRATION||l.RUN_ID||t.name))},485(e,t,a){e.exports=a(76).isCI},664(e,t,a){a.d(t,{CN:()=>h,BC:()=>v,Ie:()=>z,pb:()=>B,i8:()=>k,g9:()=>b,Uk:()=>M,Ts:()=>u,CZ:()=>m,ET:()=>y,HV:()=>w,T9:()=>S,Tj:()=>L,YW:()=>f,of:()=>_,jB:()=>A,TS:()=>P,di:()=>C});var s=a(7876),l=a(1594);let i=e=>e.length>0;var o=a(9771),r=a(592),n=a(1587),c=a(2860),d=a(915),p=a(9315);let g=globalThis.Array,h=e=>new g(o.S(e)),u=e=>g.isArray(e)?e:g.from(e);d.Wo,n.toArray;let f=(0,l.XY)(2,(e,{onEmpty:t,onNonEmpty:a})=>y(e)?a(e):t()),v=(0,l.XY)(2,(e,t)=>[...e,t]);g.isArray;let m=i,y=i,w=e=>y(e)?n.some(x(e)):n.none(),x=e=>e[e.length-1],b=(0,l.XY)(2,(e,t)=>{let a=0;for(let s of e){if(t(s,a))return n.some(a);a++}return n.none()}),k=r.i8,M=(0,l.XY)(2,(e,t)=>{let a=u(e);for(let e=a.length-1;e>=0;e--){let s=a[e],l=t(s,e);if("boolean"==typeof l){if(l)return n.some(s)}else if(n.isSome(l))return l}return n.none()}),C=(0,l.XY)(2,(e,t)=>{let a=g.from(e);return a.sort(t),a}),z=()=>[],_=e=>[e],L=(0,l.XY)(2,(e,t)=>e.map(t)),B=(0,l.XY)(2,(e,t)=>{let a=u(e),s=[];for(let e=0;e<a.length;e++)t(a[e],e)&&s.push(a[e]);return s}),A=(0,l.XY)(2,(e,t)=>{let a=[],s=[],l=0;for(let i of e){let e=t(i,l++);p.oJ(e)?a.push(e.success):s.push(e.failure)}return[a,s]}),P=(0,l.XY)(3,(e,t,a)=>u(e).reduce((e,t,s)=>a(e,t,s),t));c.O3;let S=s.O3},5053(e,t,a){var s=a(9519),l=a(7876),i=a(1594),o=a(1587),r=a(2860),n=a(4233),c=a(636);let d=globalThis.BigInt,p=d(0);n.sI;let g=(0,i.XY)(2,(e,t)=>e+t),h=r.Qw,u=l.Qw,f=r.hl(h),v=r.bi(h),m=r.yJ(h),y=r.OW(h),w=r.Bt(h),x=r.qE(h),b=r.jk(h),k=r.T9(h),M=c.L((e,t)=>e+t,p),C=s.T9(h),z=s.jk(h);a.d(t,{},{K0:z,OW:y,Ro:e=>e>d(Number.MAX_SAFE_INTEGER)||e<d(Number.MIN_SAFE_INTEGER)?o.none():o.some(Number(e)),T9:k,Tq:w,aD:M,bi:v,cz:g,hl:f,jk:b,pH:h,qE:x,rs:u,sO:C,yJ:m})},3265(e,t,a){var s=a(5053),l=a(1587);let i=BigInt(0),o=BigInt(1),r=BigInt(1e3),n=BigInt(1024),c=[{symbol:"B",factor:o,names:["B","byte","bytes"]},{symbol:"kB",factor:r,names:["kB","kilobyte","kilobytes"]},{symbol:"MB",factor:r**BigInt(2),names:["MB","megabyte","megabytes"]},{symbol:"GB",factor:r**BigInt(3),names:["GB","gigabyte","gigabytes"]},{symbol:"TB",factor:r**BigInt(4),names:["TB","terabyte","terabytes"]},{symbol:"PB",factor:r**BigInt(5),names:["PB","petabyte","petabytes"]},{symbol:"EB",factor:r**BigInt(6),names:["EB","exabyte","exabytes"]},{symbol:"ZB",factor:r**BigInt(7),names:["ZB","zettabyte","zettabytes"]},{symbol:"YB",factor:r**BigInt(8),names:["YB","yottabyte","yottabytes"]},{symbol:"RB",factor:r**BigInt(9),names:["RB","ronnabyte","ronnabytes"]},{symbol:"QB",factor:r**BigInt(10),names:["QB","quettabyte","quettabytes"]}],d=[c[0],{symbol:"KiB",factor:n,names:["KiB","kibibyte","kibibytes"]},{symbol:"MiB",factor:n**BigInt(2),names:["MiB","mebibyte","mebibytes"]},{symbol:"GiB",factor:n**BigInt(3),names:["GiB","gibibyte","gibibytes"]},{symbol:"TiB",factor:n**BigInt(4),names:["TiB","tebibyte","tebibytes"]},{symbol:"PiB",factor:n**BigInt(5),names:["PiB","pebibyte","pebibytes"]},{symbol:"EiB",factor:n**BigInt(6),names:["EiB","exbibyte","exbibytes"]},{symbol:"ZiB",factor:n**BigInt(7),names:["ZiB","zebibyte","zebibytes"]},{symbol:"YiB",factor:n**BigInt(8),names:["YiB","yobibyte","yobibytes"]}],p=new Map([...c,...d.slice(1)].flatMap(e=>e.names.map(t=>[t,e]))),g=e=>{throw Error(`Invalid ByteSize: ${e}`)},h=e=>!Number.isSafeInteger(e)||e<0?g(`expected a non-negative safe integer, received ${e}`):BigInt(e),u=e=>{let t=/^\s*(\d+)(?:\.(\d+))?\s*([A-Za-z]+)\s*$/.exec(e);if(null===t)return g(`unsupported syntax ${JSON.stringify(e)}`);let a=p.get(t[3]);if(void 0===a)return g(`unsupported unit ${JSON.stringify(t[3])}`);let s=t[2]??"",l=BigInt(10)**BigInt(s.length),o=BigInt(t[1]+s)*a.factor;return o%l!==i?g(`${JSON.stringify(e)} does not represent an integral number of bytes`):o/l},f=l.liftThrowable(u),v=e=>{switch(typeof e){case"bigint":if(e<i)return g(`expected a non-negative bigint, received ${e}`);return e;case"number":return h(e);case"string":return u(e)}return g(`unsupported input ${e}`)},m=l.liftThrowable(v),y=s.Ro;s.pH,s.rs,s.Tq,s.jk,s.T9,s.qE,s.hl,s.bi,s.yJ,s.OW,s.cz,s.aD,s.sO,s.K0,a.d(t,{},{Dg:e=>e,Ro:y,bN:v,ee:e=>"bigint"==typeof e?v(e):h(e),lX:m,sH:f,yp:e=>"bigint"==typeof e&&e>=i})},719(e,t,a){var s=a(2449),l=a(6297);s.PX,s.B4,s.Aj,s.Wg;let i=s.lC;s.Xb,s.ik;let o=s.b5;s.DH;let r=s.OE,n=s.Iu;l.nIy,l.ORc;let c=l.nn5,d=l.O$X;s.h2;let p=l.ReC;l.myX,l.QE5,l.khU;let g=l.L$u;l.gpn,l.k7S,l.BbX;let h=l.prj;l.tU5,l.h74,l.Bou,l.RJ6;let u=l.GyP;s.PW,s.qB,s.Xm;let f=s.$L;s.q_;let v=s.RS,m=s.Vw;l.DQo,l.c8t,l.MUS,l.t8c,l._y;let y=l.qwd;l.ASO,l.F7W,l.Aub,l.cOF,l.Rft,l.RD4,l.Kkt,l.PnV;let w=l.Bk6;s.Eh,l.tQ6,l.On5,a.d(t,{},{$L:f,Bk:w,F_:n,L$:g,RS:v,Tj:d,Vw:m,fJ:r,iw:p,j9:u,kO:o,lC:i,nn:c,pr:h,qw:y})},4238(e,t,a){var s=a(6297);s.a1U,s.RKA;let l=s.Rud;s.s0X,s.T13,a.d(t,{},{Ru:l})},9519(e,t,a){function s(e){return{combine:e}}function l(e){return s((t,a)=>-1===e(t,a)?t:a)}function i(e){return s((t,a)=>1===e(t,a)?t:a)}a.d(t,{L8:()=>s,T9:()=>i,jk:()=>l})},1179(e,t,a){var s=a(3811),l=a(3332),i=a(1594),o=a(5033),r=a(2449),n=a(1587),c=a(4233);let d="~effect/Context/Service",p=function(){let e=function(){};Object.setPrototypeOf(e,g);let t=(t,a)=>(e.key=t,a?.defaultValue&&(e[u]=u,e.defaultValue=a.defaultValue),a?.make&&(e.make=a.make),a?.fiberCached&&h.add(t),e);return arguments.length>0?t(arguments[0],arguments[1]):t},g={[d]:d,...s.bp({label:"Service",evaluate(e){return(0,r.xt)(V(e.context,this))}}),toJSON(){return{_id:"Service",key:this.key}},of:e=>e,context(e){return _(this,e)},use(e){return(0,r.R6)(t=>e(V(t.context,this)))},useSync(e){return(0,r.R6)(t=>(0,r.xt)(e(V(t.context,this))))}},h=new Set,u="~effect/Context/Reference",f="~effect/Context",v=(e,t,a,s)=>{let l=Object.create(k);return l.cacheRoot=e??l,l.base=t,l.overlay=a,l.depth=s,l._flat=void 0,l.baseHits=0,l},m=(e,t)=>{t&&(m(e,t.parent),e.set(t.key,t.value))},y=e=>{if(e._flat)return e._flat;if(!e.overlay)return e._flat=e.base;let t=new Map(e.base);return m(t,e.overlay),e._flat=t},w=Symbol(),x=(e,t)=>{for(let a=e.overlay;a;a=a.parent)if(a.key===t)return a.value;let a=e.base.get(t);return void 0!==a||e.base.has(t)?(e.overlay&&++e.baseHits>=e.base.size&&e.baseHits>=8&&(e.base=y(e),e.overlay=void 0,e.depth=0),a):w},b=e=>v(void 0,e,void 0,0),k={get mapUnsafe(){return y(this)},...r.fU,[f]:{_Services:e=>e},toJSON(){return{_id:"Context",services:Array.from(this.mapUnsafe).map(([e,t])=>({key:e,value:t}))}},[l.HR](e){if(!M(e))return!1;let t=this.mapUnsafe,a=e.mapUnsafe;if(t.size!==a.size)return!1;for(let[e,s]of t)if(!a.has(e)||!l.aI(s,a.get(e)))return!1;return!0},[o.HR](){return o.ai(this.mapUnsafe.size)}},M=e=>(0,c.i5)(e,f),C=e=>!!e[u],z=b(new Map),_=(e,t)=>b(new Map([[e.key,t]])),L=(0,i.XY)(3,(e,t,a)=>B(e,t.key,a)),B=(e,t,a)=>{let s=h.has(t)?void 0:e.cacheRoot;if(e.depth>=8){let l=new Map(e.mapUnsafe);return l.set(t,a),v(s,l,void 0,0)}return v(s,e.base,{key:t,value:a,parent:e.overlay},e.depth+1)},A=(0,i.XY)(2,(e,t)=>P(e,t.key)),P=(e,t)=>{let a=x(e,t);return a===w?void 0:a},S=(0,i.XY)(2,(e,t)=>{let a=x(e,t.key);if(a===w){if(C(t))return q(t);throw F(t)}return a}),V=S,H="~effect/Context/defaultValue",q=e=>H in e?e[H]:e[H]=e.defaultValue(),F=e=>{let t=Error(`Service not found${e.key?`: ${String(e.key)}`:""}`);if(t.stack){let e=t.stack.split("\n");e.splice(1,3),t.stack=e.join("\n")}return t},I=(0,i.XY)(2,(e,t)=>{let a=x(e,t.key);return a!==w?n.some(a):C(t)?n.some(q(t)):n.none()}),U=(0,i.XY)(2,(e,t)=>{let a;return 0===e.mapUnsafe.size?t:0===t.mapUnsafe.size?e:((e=>t.mapUnsafe.forEach((t,a)=>e.set(a,t)))(a=new Map(e.mapUnsafe)),b(a))});a.d(t,{},{Ie:()=>z,Jt:V,L8:_,LZ:b,Or:p,Pf:(e,t)=>e.cacheRoot===t.cacheRoot,Ub:P,Um:(...e)=>{let t=new Map;for(let a=0;a<e.length;a++)e[a].mapUnsafe.forEach((e,a)=>{t.set(a,e)});return b(t)},WQ:L,Y6:A,aE:M,fp:S,h1:U,kl:p,om:I})},4942(e,t,a){var s=a(2449),l=a(2275),i=a(1554),o=a(4233);let r=class extends i.Xs{constructor(e){super(),e&&l.z(this,e)}};function n(){if(1==arguments.length){let e=arguments[0];return function(t){return e[t._tag](t)}}let e=arguments[0],t=arguments[1];return t[e._tag](e)}let c=s.$D,d=s.rN;a.d(t,{},{$D:c,Ij:()=>new Proxy({},{get:(e,t,a)=>"$is"===t?o.$J:"$match"===t?n:e=>({...e,_tag:t})}),Xs:r,rN:d})},9237(e,t,a){var s=a(1594),l=a(6297),i=a(1554);let o={"~effect/Deferred":{_A:s.D_,_E:s.D_},pipe(){return(0,i.tT)(this,arguments)}},r=function(){this.resumes=void 0,this.effect=void 0};r.prototype=o;let n=e=>void 0!==e.effect;a.d(t,{},{$L:e=>l.OH5(()=>n(e)),$w:(e,t)=>{if(e.effect)return!1;if(e.effect=t,e.resumes){let a=e.resumes;e.resumes=void 0;for(let e=0;e<a.length;e++)a[e](t)}return!0},LZ:()=>new r,NJ:n,Tx:e=>l.E2r(t=>e.effect?t(e.effect):(e.resumes??=[],e.resumes.push(t),l.OH5(()=>{let a=e.resumes;if(void 0===a)return;let s=a.indexOf(t);s>=0&&a.splice(s,1)})))})},3614(e,t,a){var s=a(3332),l=a(1594),i=a(5033),o=a(3952),r=a(2860),n=a(1554),c=a(4233);let d="~effect/Duration",p=BigInt(0),g=BigInt(1),h=BigInt(2),u=BigInt(10),f=BigInt(24),v=BigInt(60),m=BigInt(1e3),y=BigInt(1e6),w=e=>BigInt(e<0?Math.ceil(e-.5):Math.floor(e+.5)),x=(e,t)=>{let a=e.indexOf(".");if(-1===a)return BigInt(e)*t;let s="-"===e[0],l=e.slice(a+1),i=u**BigInt(l.length),o=(BigInt(e.slice(+!!s,a))*i+BigInt(l))*t,r=o/i+(o%i*h>=i?g:p);return s?-r:r},b=/^(-?\d+(?:\.\d+)?)\s+(nanos?|micros?|millis?|seconds?|minutes?|hours?|days?|weeks?)$/,k=e=>{switch(typeof e){case"number":return q(e);case"bigint":return H(e);case"string":{if("Infinity"===e)return S;if("-Infinity"===e)return V;let t=b.exec(e);if(!t)break;let[a,s,l]=t;if("nano"===l||"nanos"===l)return H(x(s,g));if("micro"===l||"micros"===l)return H(x(s,m));let i=Number(s);switch(l){case"milli":case"millis":return q(i);case"second":case"seconds":return F(i);case"minute":case"minutes":return I(i);case"hour":case"hours":return U(i);case"day":case"days":return O(i);case"week":case"weeks":return E(i)}break}case"object":{if(null===e)break;if(d in e)return e;if(Array.isArray(e)){if(2!==e.length||!e.every(c.Et))return M(e);if(Number.isNaN(e[0])||Number.isNaN(e[1]))return P;if(-1/0===e[0]||-1/0===e[1])return V;if(1/0===e[0]||1/0===e[1])return S;return B(w(1e9*e[0]+e[1]))}let t=0;if(e.weeks&&(t+=6048e5*e.weeks),e.days&&(t+=864e5*e.days),e.hours&&(t+=36e5*e.hours),e.minutes&&(t+=6e4*e.minutes),e.seconds&&(t+=1e3*e.seconds),e.milliseconds&&(t+=e.milliseconds),!e.microseconds&&!e.nanoseconds)return B(t);return B(w(1e6*t+(e.microseconds??0)*1e3+(e.nanoseconds??0)))}}return M(e)},M=e=>{throw Error(`Invalid Input: ${e}`)},C={_tag:"Millis",millis:0},z={_tag:"Infinity"},_={_tag:"NegativeInfinity"},L={[d]:d,[i.HR](){switch(this.value._tag){case"Millis":{let e=1e6*this.value.millis;return Number.isFinite(e)?i.tW(w(e)):i.ai(this.value.millis)}case"Nanos":return i.tW(this.value.nanos);default:return i.QK(this.value)}},[s.HR](e){return A(e)&&D(this,e)},toString(){switch(this.value._tag){case"Infinity":return"Infinity";case"NegativeInfinity":return"-Infinity";case"Nanos":return`${this.value.nanos} nanos`;case"Millis":return`${this.value.millis} millis`}},toJSON(){switch(this.value._tag){case"Millis":return{_id:"Duration",_tag:"Millis",millis:this.value.millis};case"Nanos":return{_id:"Duration",_tag:"Nanos",nanos:String(this.value.nanos)};case"Infinity":return{_id:"Duration",_tag:"Infinity"};case"NegativeInfinity":return{_id:"Duration",_tag:"NegativeInfinity"}}},[o.FX](){return this.toJSON()},pipe(){return(0,n.tT)(this,arguments)}},B=e=>{let t=Object.create(L);return"number"==typeof e?isNaN(e)||0===e||Object.is(e,-0)?t.value=C:Number.isFinite(e)?Number.isInteger(e)?t.value={_tag:"Millis",millis:e}:t.value={_tag:"Nanos",nanos:w(1e6*e)}:t.value=e>0?z:_:e===p?t.value=C:t.value={_tag:"Nanos",nanos:e},t},A=e=>(0,c.i5)(e,d),P=B(0),S=B(1/0),V=B(-1/0),H=e=>B(e),q=e=>B(e),F=e=>B(1e3*e),I=e=>B(6e4*e),U=e=>B(36e5*e),O=e=>B(864e5*e),E=e=>B(6048e5*e),X=e=>{let t=k(e);switch(t.value._tag){case"Infinity":case"NegativeInfinity":throw Error("Cannot convert infinite duration to nanos");case"Nanos":return t.value.nanos;case"Millis":return w(1e6*t.value.millis)}},Y=(0,l.XY)(2,(e,t)=>{switch(e.value._tag){case"Millis":return t.onMillis(e.value.millis);case"Nanos":return t.onNanos(e.value.nanos);case"Infinity":return t.onInfinity();case"NegativeInfinity":return(t.onNegativeInfinity??t.onInfinity)()}}),Z=(0,l.XY)(3,(e,t,a)=>"Infinity"===e.value._tag||"NegativeInfinity"===e.value._tag||"Infinity"===t.value._tag||"NegativeInfinity"===t.value._tag?a.onInfinity(e,t):"Millis"===e.value._tag?"Millis"===t.value._tag?a.onMillis(e.value.millis,t.value.millis):a.onNanos(X(e),t.value.nanos):a.onNanos(e.value.nanos,X(t))),G=r.L8((e,t)=>Z(e,t,{onMillis:(e,t)=>e<t?-1:+(e>t),onNanos:(e,t)=>e<t?-1:+(e>t),onInfinity:(e,t)=>e.value._tag===t.value._tag?0:"Infinity"===e.value._tag?1:"NegativeInfinity"===e.value._tag||"Infinity"===t.value._tag?-1:1})),T=r.bi(G),D=(0,l.XY)(2,(e,t)=>Z(e,t,{onMillis:(e,t)=>e===t,onNanos:(e,t)=>e===t,onInfinity:(e,t)=>e.value._tag===t.value._tag})),R=e=>{if("Infinity"===e.value._tag)return"Infinity";if("NegativeInfinity"===e.value._tag)return"-Infinity";if((e=>{switch(e.value._tag){case"Millis":return 0===e.value.millis;case"Nanos":return e.value.nanos===p;case"Infinity":case"NegativeInfinity":return!1}})(e))return"0";if((e=>{switch(e.value._tag){case"Millis":return e.value.millis<0;case"Nanos":return e.value.nanos<p;case"NegativeInfinity":return!0;case"Infinity":return!1}})(e))return"-"+R((e=>{switch(e.value._tag){case"Infinity":case"NegativeInfinity":return S;case"Millis":return e.value.millis<0?B(-e.value.millis):e;case"Nanos":return e.value.nanos<p?B(-e.value.nanos):e}})(e));let t=(e=>{if("Infinity"===e.value._tag)return{days:1/0,hours:1/0,minutes:1/0,seconds:1/0,millis:1/0,nanos:1/0};if("NegativeInfinity"===e.value._tag)return{days:-1/0,hours:-1/0,minutes:-1/0,seconds:-1/0,millis:-1/0,nanos:-1/0};let t=X(e),a=t<p,s=a?-t:t,l=s/y,i=l/m,o=i/v,r=o/v,n=a?-1:1;return{days:n*Number(r/f),hours:n*Number(r%f),minutes:n*Number(o%v),seconds:n*Number(i%v),millis:n*Number(l%m),nanos:n*Number(s%y)}})(e),a=[];return 0!==t.days&&a.push(`${t.days}d`),0!==t.hours&&a.push(`${t.hours}h`),0!==t.minutes&&a.push(`${t.minutes}m`),0!==t.seconds&&a.push(`${t.seconds}s`),0!==t.millis&&a.push(`${t.millis}ms`),0!==t.nanos&&a.push(`${t.nanos}ns`),a.join(" ")};a.d(t,{},{GP:R,MI:e=>"Infinity"!==e.value._tag&&"NegativeInfinity"!==e.value._tag,Tn:S,YA:F,bN:k,bi:T,cF:H,fP:e=>Y(k(e),{onMillis:e=>e/1e3,onNanos:e=>Number(e)/1e9,onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0}),kE:e=>Y(k(e),{onMillis:l.D_,onNanos:e=>Number(e)/1e6,onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0}),n$:A,ne:q,qv:V,v_:P})},2842(e,t,a){a.d(t,{Q56:()=>ex,jGc:()=>eb,U9h:()=>ek,Q7R:()=>k,hgn:()=>Z,swY:()=>eG,Muk:()=>eP,as:()=>$,E2r:()=>S,MfU:()=>N,Tyx:()=>K,osR:()=>Q,KuX:()=>W,loE:()=>J,RKA:()=>eX,_32:()=>eS,F_Q:()=>U,_r7:()=>eT,yeE:()=>eM,NS5:()=>R,fJG:()=>q,ATB:()=>F,pVV:()=>I,qIB:()=>Y,Ab9:()=>e$,fn:()=>eE,D9k:()=>eO,vCS:()=>eN,jJl:()=>M,i4r:()=>eA,ar0:()=>eH,x6Z:()=>eq,yUA:()=>X,JkU:()=>H,XeO:()=>ei,GaK:()=>e_,yw5:()=>b,vVN:()=>eZ,FFw:()=>eY,TjK:()=>j,q7Y:()=>ej,jkJ:()=>eD,xm_:()=>ee,Z9x:()=>eR,YWq:()=>ed,khu:()=>ep,tvg:()=>eg,ZmZ:()=>V,S5A:()=>eC,cfM:()=>ez,uKv:()=>D,QgK:()=>et,ivC:()=>z,Gte:()=>eh,PpN:()=>eu,PfK:()=>ev,KT6:()=>ec,Ket:()=>T,L5P:()=>el,MY7:()=>eF,eJC:()=>eI,lKS:()=>eU,z8E:()=>em,P1j:()=>ey,Pxi:()=>ew,Nav:()=>ef,yy4:()=>en,PyW:()=>L,DYE:()=>B,OH5:()=>A,Mim:()=>G,dGm:()=>es,sFT:()=>ea,wRz:()=>eo,mgX:()=>er,SvU:()=>O,$mh:()=>_,rfi:()=>eL,FcF:()=>eB,rIH:()=>P,iMI:()=>C,R6R:()=>E,fRP:()=>eV});var s=a(1594),l=a(2449),i=a(6297),o=(a(3614),a(1179));a(9315);var r=a(6771),n=a(5633);let c=(0,s.XY)(e=>(0,l.yw)(e[0]),(e,t,a)=>{let s;return o.aE(t)?i.PpN(e,t):(s=Array.isArray(t)?n.Um(...t):t,i.Pxi(t=>i.qIB(a?.local?n.H7(s,n.j6(),t):n.LT(s,t),t=>i.PpN(e,t))))});var d=a(1587),p=a(3753),g=a(6481);(e,t,a)=>i.qIB(r.xn(t),t=>{let s=r.d3.defaultValue();return i.h_t(i.i4r(i.Mim(i.qIB(i.DYE(()=>i.PfK(e,r.d3,s)),t),e=>i.OH5(()=>{s=e})),{disableYield:!0}),e=>l.$L(e)?i.PyW(e.value):a(e,0===s.attempt?d.none():d.some(s)))});let h=(0,s.XY)(3,(e,t,a)=>i.qIB(r.xn(t),t=>{let s,l=r.d3.defaultValue(),o=i.h_t(i.DYE(()=>i.PfK(e,r.d3,l)),e=>(s=e,i.qIB(t(e),e=>(l=e,o))));return p.m8(o,e=>(0,g.s)(()=>a(s,e)))})),u=(0,s.XY)(2,(e,t)=>h(e,"function"==typeof t?t(s.D_):r.GM(t)?t:v(t),i.fJG)),f=r.le(r.i4),v=e=>{let t=e.schedule?r.le(e.schedule):f;return e.while&&(t=r.E6(t,({input:t})=>{let a=e.while(t);return l.yw(a)?a:i.PyW(a)})),e.until&&(t=r.E6(t,({input:t})=>{let a=e.until(t);return l.yw(a)?i.TjK(a,e=>!e):i.PyW(!a)})),void 0!==e.times&&(t=r.E6(t,({attempt:t})=>i.PyW(t<=e.times))),t},m=r.t5(1);var y=a(2275);let w=a(3332).Xq({_E:e=>e,_A:e=>e,_R:e=>e});({...l.In,"~effect/Request":w}),a(3909);var x=a(4600);l.$n;let b=l.yw,k=i.Q7R;i.jBG,i.TSs,i.tfT,i.i8i,i.kAe;let M=i.jJl;i.d5f;let C=i.iMI,z=i.ivC,_=i.$mh,L=i.PyW;i.lwU,i.nGE;let B=i.DYE,A=i.OH5,P=i.rIH;i.Vxk;let S=i.E2r,V=i.ZmZ;i.Do,i.JrD,i.uVU,i.oIE;let H=i.JkU,q=i.fJG;i.gOk;let F=i.ATB,I=i.pVV,U=i.F_Q,O=i.SvU;i.m9E,i.KN3;let E=l.R6;l.Hq;let X=i.yUA;i.sVm,i.pkL,i.bJ;let Y=i.qIB;i.Bqz;let Z=i.hgn,G=i.Mim,T=i.Ket,D=i.uKv,R=i.NS5,j=i.TjK,$=i.as;i.Xx$,i.NLW,i.UUz,i.yU6,i.OYO;let N=i.h_t,W=i.KuX,J=i.loE;i.AXC,i.zt4,i.scW;let K=i.Tyx;i.Fig,i.XWm;let Q=i.osR;i.U9Y,i.sJf,i.rNk;let ee=i.xm_;i.UcN;let et=i.QgK,ea=i.sFT;i.k$L;let es=i.dGm;i.cA6,i.bKC,i.nAi,i.u4Y;let el=u;i._Sg;let ei=i.XeO;i.GrF,i.$$g,i.DM4,i.Dd;let eo=i.wRz;i.D52;let er=i.mgX;i.cbG;let en=i.yy4;i.ayu,i.Vdx,i.FfP,i.O4F;let ec=i.KT6;i.pbD,i.x1Q,i.E8K,i.Pm0,i.VtY,i.W$I,i.ahH,i.z7s;let ed=i.YWq;i.G$Q,i.D$$,i.NZb,i.wR5;let ep=i.khu,eg=i.tvg;i.N6O,i.oJd,i._OA,i.sxi;let eh=c,eu=i.PpN;i.oao,i.euC;let ef=i.Nav;i.r_d,i.bUZ,i.L_I;let ev=i.PfK;i.c7E;let em=i.z8E,ey=i.P1j,ew=i.Pxi,ex=i.Q56;i.N24;let eb=i.jGc,ek=i.U9h,eM=i.yeE,eC=i.S5A;i.BeE,i.iKM,i.r7h;let ez=i.cfM;i.fGe,i.uRq,i.PO3,i.Rgn,i.CJw;let e_=i.GaK;i.Inz,i.nAr;let eL=i.rfi,eB=i.FcF;i.eMl,i.dsN;let eA=i.i4r;i.aAq,i.Xrv,i.kJM,i._o1,i.nDN,i.MaT;let eP=i.Muk;i.ww9;let eS=i._32;i.Wj8,i.Fu6,i.WbR,i.A_r,i.Z98,i.Rd$,i.gvr;let eV=i.fRP;i.zr8,i.hq,i.zhn;let eH=i.ar0,eq=i.x6Z;i.yxg,i.PCg,i.pEE,i.ABT;let eF=i.MY7,eI=i.eJC;i.lSz,i.bPG,i.pR5,i.v2Q,i.NpQ,i.jqV,i.HZF,i.lE;let eU=i.lKS;i.rfH;let eO=i.D9k,eE=i.fn,eX=i.RKA;i.lIX;let eY=i.lIX("Warn"),eZ=i.lIX("Error"),eG=(0,s.XY)(e=>b(e[0]),(e,...t)=>i.bUZ(e,x.iL,e=>{let a=1===t.length?{...e,...t[0]}:{...e};return 1===t.length||y.x(a,t[0],t[1]),a}));i.gsV;let eT=(e,t,a)=>(...s)=>S(l=>{try{e(...s,(e,a)=>{e?l(q(t?t(e,s):e)):l(L(a))})}catch(e){l(a?q(a(e,s)):U(e))}}),eD=i.jkJ,eR=i.Z9x,ej=i.q7Y,e$=i.Ab9;i.UVN;let eN=i.vCS},3811(e,t,a){var s=a(2449);a.d(t,{},{bp:e=>(0,s.yj)({op:e.label,[s._3]:e.evaluate})})},3332(e,t,a){var s=a(5033),l=a(5844),i=a(4233);let o="~effect/Equal";function r(){return 1==arguments.length?e=>n(e,arguments[0]):n(arguments[0],arguments[1])}function n(e,t){if(e===t)return!0;if(null==e||null==t)return!1;let a=typeof e;return a===typeof t&&("number"===a&&e!=e&&t!=t||!("object"!==a&&"function"!==a||l.J3.has(e)||l.J3.has(t))&&function(e,t){let a=d.length;for(let s=a;s-- >0;)if(d[s]===e&&p[s]===t)return!0;if(a)return c(e,t);let s=g.get(e);s||g.set(e,s=new WeakMap);let l=s.get(t);return void 0===l&&s.set(t,l=c(e,t)),l}(e,t))}function c(e,t){d.push(e),p.push(t);try{return function(e,t){if(s.tW(e)!==s.tW(t))return!1;if(e instanceof Date){if(!(t instanceof Date))return!1;let a=e.getTime(),s=t.getTime();return a===s||Number.isNaN(a)&&Number.isNaN(s)}if(e instanceof RegExp)return t instanceof RegExp&&e.toString()===t.toString();let a=m(e);if(a!==m(t)||"function"==typeof e&&!a)return!1;if(a)return e[o](t);if(Array.isArray(e))return!!Array.isArray(t)&&e.length===t.length&&function(e,t){for(let a=0;a<e.length;a++)if(!n(e[a],t[a]))return!1;return!0}(e,t);if(ArrayBuffer.isView(e)){let a=e instanceof DataView;return!!ArrayBuffer.isView(t)&&e.byteLength===t.byteLength&&a===t instanceof DataView&&(a?h((0,l.j)(e),(0,l.j)(t)):h(e,t))}if(e instanceof Map)return t instanceof Map&&e.size===t.size&&u(e,t,f,v);else if(e instanceof Set)return t instanceof Set&&e.size===t.size&&u(e,t,s.tW,n);var i=e,r=t;let c=(0,l.Xp)(i),d=(0,l.Xp)(r);if(c.size!==d.size)return!1;for(let e of c)if(!d.has(e)||!n(i[e],r[e]))return!1;return!0}(e,t)}finally{d.pop(),p.pop()}}let d=[],p=[],g=new WeakMap;function h(e,t){if(e.length!==t.length)return!1;for(let a=0;a<e.length;a++)if(e[a]!==t[a])return!1;return!0}function u(e,t,a,s){let l=new Map;for(let e of t){let t=a(e),s=l.get(t);s?s.push(e):l.set(t,[e])}e:for(let t of e){let e=l.get(a(t));if(e){for(let a=0;a<e.length;a++)if(s(t,e[a])){e[a]=e[e.length-1],e.pop();continue e}}return!1}return!0}let f=e=>s.tW(e[0]),v=(e,t)=>n(e[0],t[0])&&n(e[1],t[1]),m=e=>(0,i.i5)(e,o);a.d(t,{aI:()=>r},{HR:o,Xq:e=>(l.J3.add(e),e),jI:()=>r})},7876(e,t,a){let s=e=>(t,a)=>t===a||e(t,a),l=(e,t)=>e===t,i=s((e,t)=>globalThis.Number.isNaN(e)&&globalThis.Number.isNaN(t));function o(e){return s((t,a)=>{if(t.length!==a.length)return!1;for(let s=0;s<t.length;s++)if(!e[s](t[s],a[s]))return!1;return!0})}function r(e){return s((t,a)=>{if(t.length!==a.length)return!1;for(let s=0;s<t.length;s++)if(!e(t[s],a[s]))return!1;return!0})}function n(e){let t=Reflect.ownKeys(e);return s((a,s)=>{for(let l of t)if(!e[l](a[l],s[l]))return!1;return!0})}a.d(t,{O3:()=>r,_k:()=>n,rd:()=>o},{L8:s,Qw:l,YZ:()=>l,wN:i})},6526(e,t,a){var s=a(2449),l=a(6297);s.IH,s.b9;let i=s.xt,o=s.cb,r=s.Rk;s.V2,l._sz;let n=l.x5l,c=l.CoE,d=l.VE1;l._mh,l.YDM,l.lNM,l.K$2,l.GUt,l.HIt,l.yJo,l._OD,l.jCT,l.Wtn,l.v9O,l.zPu,l.EkE,l.Hox,l.ely,l.kMI,l.Sv3,l.lgw,a.d(t,{},{AT:o,N6:d,Py:i,fJ:r,oJ:c,rI:n})},1958(e,t,a){var s=a(4233),l=a(1279);function i(e,t){let a=t?.space??0,i=new WeakSet,n=a?"number"==typeof a?" ".repeat(a):a:"",p=(e,t)=>{let a=e?.constructor;return a&&a!==Object.prototype.constructor&&a.name?`${a.name}(${t})`:t};return function e(a,g=0){try{return function(a,g=0){if("string"==typeof a)return JSON.stringify(a);if("number"==typeof a||null==a||"boolean"==typeof a||"symbol"==typeof a)return String(a);if("bigint"==typeof a)return String(a)+"n";if("object"==typeof a||"function"==typeof a){let h;if(i.has(a))return o;if(i.add(a),l.uC in a)h=e((0,l.f6)(a),g);else if(Array.isArray(a)){let t,s;h=!n||a.length<=1?`[${a.map(t=>e(t,g)).join(",")}]`:`[
236
+ `)}},c=new Proxy(globalThis.console,{get(e,t,a){if("log"===t)return(...t)=>{(1!==t.length||""!==t[0])&&e.log(...t)};let s=Reflect.get(e,t,a);return"function"==typeof s?s.bind(e):s}}),pL(h9,{version:"0.15.1"})(e).pipe(X.sFT(e=>eu.i5(e,ru)&&"ShowHelp"!==e._tag?rg(n.formatErrors([e])):X.rIH),X.PfK(cg,{builtIns:[co,cr,cc]}),X.PfK(nl,n),X.PfK(rd,c))).pipe(X.khu({onFailure:e=>X.JkU(function*(){let t,a=ee.getOrUndefined(E.L$(e));if(a instanceof ho)return a.exitCode;if(a instanceof sV)return 7;let s=function(e){if(eu.i5(e,ru))return"ShowHelp"===e._tag?2*(e.errors.length>0):2}(a);if(void 0!==s)return s;let l=yield*hi;return yield*l.stderr((t={code:"internal_error",message:"Sketchi could not complete the command.",hint:"Retry once; if it persists, report the command and inputs without secrets."},"json"===d?s4({ok:!1,command:"sketchi",error:t}):hc(t))).pipe(X.MfU(()=>X.rIH)),1}),onSuccess:()=>X.PyW(0)}))}),ut=$.Um(sS.Txp,(0,sS.rRT)({createId:e=>`${e}_offline_cli`,icons:i$})),ua=$.Gt(s9,ut),us=$.Gt(lp,ut),ul=$.Um(li,is),ui=$.Gt(iv,ul),uo=$.Gt(iX,$.Um(ui,iI)),ur=$.Gt(hL,hk),un=$.Um(li,is,ua,us,ui,uo,iI,ur,hz,lu.pipe($.Gt(li)),hn,rc),uc=$.S5(un,sP);j(ue(process.argv.slice(2)).pipe(X.Mim(e=>X.OH5(()=>{process.exitCode=e})),X.Gte(uc)),{disableErrorReporting:!0})},1688(e,t,a){var s=a(2718);let l=s.xCb(["invalid_render_artifact","render_limit_exceeded","unsupported_render_glyph","rasterization_failed"]),i=s.xCb(["artifact","geometry","font","rasterization"]);class o extends s.rNF()("HeadlessPngRenderError",{cause:s.kld(),code:l,stage:i,message:s.QfV,details:s.O31(s.QfV)}){}a.d(t,{FG:()=>o})},5030(e,t,a){function s(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function l(e,t,a,s){return{code:e,message:t,...void 0===a?{}:{observed:a},...void 0===s?{}:{limit:s}}}function i(e,t=0){let a=1/0,o=1/0,r=-1/0,n=-1/0;for(let t of e){if(!(s(t)&&"number"==typeof t.x&&Number.isFinite(t.x)&&"number"==typeof t.y&&Number.isFinite(t.y)&&"number"==typeof t.width&&Number.isFinite(t.width)&&"number"==typeof t.height&&Number.isFinite(t.height)))return l("invalid_geometry","element geometry is invalid");let e=Math.abs(t.width),i=Math.abs(t.height);if(e>8192||i>8192)return l("element_dimension",`element dimension exceeds ${String(8192)}`,Math.max(e,i),8192);let c=Math.hypot(e,i)/2,d=t.x+t.width/2,p=t.y+t.height/2;a=Math.min(a,d-c),o=Math.min(o,p-c),r=Math.max(r,d+c),n=Math.max(n,p+c)}if(0===e.length)return;let c=r-a,d=n-o;if(c>8192||d>8192)return l("canvas_dimension",`canvas dimension exceeds ${String(8192)}`,Math.max(c,d),8192);let p=c*d;if(p>6291456)return l("canvas_area",`canvas area exceeds ${String(6291456)}`,p,6291456);let g=(c+40)*1*((d+40+t)*1);if(g>0x1800000)return l("output_pixels",`PNG output exceeds ${String(0x1800000)} pixels at minimum scale`,g,0x1800000)}function o(e,t){let a=new Set(t.flatMap(e=>s(e)&&"image"===e.type&&!0!==e.isDeleted&&"string"==typeof e.fileId?[e.fileId]:[])),i=0;for(let t of a){let a=Object.hasOwn(e,t)?e[t]:void 0,l=s(a)?a.dataURL:void 0;"string"==typeof l&&(i+=l.length)}return i>8388608?l("file_bytes",`embedded image data exceeds ${String(8388608)} bytes`,i,8388608):void 0}function r(e,t=0){return i(e,t)?.message}function n(e,t){if(!Number.isFinite(e)||!Number.isFinite(t)||e<=0||t<=0)return l("invalid_geometry","rendered SVG dimensions are invalid");let a=Math.min(2,16384/e,16384/t,Math.sqrt(0x1800000/(e*t)));if(a<1){let a=e*t;return a>0x1800000?l("output_pixels",`PNG output exceeds ${String(0x1800000)} pixels at minimum scale`,a,0x1800000):l("output_dimension","rendered SVG dimension exceeds the PNG limit at minimum scale",Math.max(e,t),16384)}return Math.max(1,Math.floor(1e3*a)/1e3)}a.d(t,{Gd:()=>r,Ts:()=>i,Yu:()=>n,jA:()=>o},{Z4:6291456,ce:0x1800000})},6982(e){e.exports=t("crypto")},7598(e){e.exports=t("node:crypto")},76(e,t,a){let s=a(9095),l=process.env;function i(e){return"string"==typeof e?!!l[e]:"env"in e?l[e.env]&&l[e.env].includes(e.includes):"any"in e?e.any.some(function(e){return!!l[e]}):Object.keys(e).every(function(t){return l[t]===e[t]})}Object.defineProperty(t,"_vendors",{value:s.map(function(e){return e.constant})}),t.name=null,t.isPR=null,t.id=null,"false"!==l.CI&&s.forEach(function(e){let a=(Array.isArray(e.env)?e.env:[e.env]).every(function(e){return i(e)});t[e.constant]=a,a&&(t.name=e.name,t.isPR=function(e){switch(typeof e.pr){case"string":return!!l[e.pr];case"object":if("env"in e.pr)if("any"in e.pr)return e.pr.any.some(function(t){return l[e.pr.env]===t});else return e.pr.env in l&&l[e.pr.env]!==e.pr.ne;if("any"in e.pr)return e.pr.any.some(function(e){return!!l[e]});return i(e.pr);default:return null}}(e),t.id=e.constant)}),t.isCI=!!("false"!==l.CI&&(l.BUILD_ID||l.BUILD_NUMBER||l.CI||l.CI_APP_ID||l.CI_BUILD_ID||l.CI_BUILD_NUMBER||l.CI_NAME||l.CONTINUOUS_INTEGRATION||l.RUN_ID||t.name))},485(e,t,a){e.exports=a(76).isCI},664(e,t,a){a.d(t,{CN:()=>h,BC:()=>v,Ie:()=>z,pb:()=>B,i8:()=>k,g9:()=>b,Uk:()=>M,Ts:()=>u,CZ:()=>m,ET:()=>y,HV:()=>w,T9:()=>S,Tj:()=>L,YW:()=>f,of:()=>_,jB:()=>A,TS:()=>P,di:()=>C});var s=a(7876),l=a(1594);let i=e=>e.length>0;var o=a(9771),r=a(592),n=a(1587),c=a(2860),d=a(915),p=a(9315);let g=globalThis.Array,h=e=>new g(o.S(e)),u=e=>g.isArray(e)?e:g.from(e);d.Wo,n.toArray;let f=(0,l.XY)(2,(e,{onEmpty:t,onNonEmpty:a})=>y(e)?a(e):t()),v=(0,l.XY)(2,(e,t)=>[...e,t]);g.isArray;let m=i,y=i,w=e=>y(e)?n.some(x(e)):n.none(),x=e=>e[e.length-1],b=(0,l.XY)(2,(e,t)=>{let a=0;for(let s of e){if(t(s,a))return n.some(a);a++}return n.none()}),k=r.i8,M=(0,l.XY)(2,(e,t)=>{let a=u(e);for(let e=a.length-1;e>=0;e--){let s=a[e],l=t(s,e);if("boolean"==typeof l){if(l)return n.some(s)}else if(n.isSome(l))return l}return n.none()}),C=(0,l.XY)(2,(e,t)=>{let a=g.from(e);return a.sort(t),a}),z=()=>[],_=e=>[e],L=(0,l.XY)(2,(e,t)=>e.map(t)),B=(0,l.XY)(2,(e,t)=>{let a=u(e),s=[];for(let e=0;e<a.length;e++)t(a[e],e)&&s.push(a[e]);return s}),A=(0,l.XY)(2,(e,t)=>{let a=[],s=[],l=0;for(let i of e){let e=t(i,l++);p.oJ(e)?a.push(e.success):s.push(e.failure)}return[a,s]}),P=(0,l.XY)(3,(e,t,a)=>u(e).reduce((e,t,s)=>a(e,t,s),t));c.O3;let S=s.O3},5053(e,t,a){var s=a(9519),l=a(7876),i=a(1594),o=a(1587),r=a(2860),n=a(4233),c=a(636);let d=globalThis.BigInt,p=d(0);n.sI;let g=(0,i.XY)(2,(e,t)=>e+t),h=r.Qw,u=l.Qw,f=r.hl(h),v=r.bi(h),m=r.yJ(h),y=r.OW(h),w=r.Bt(h),x=r.qE(h),b=r.jk(h),k=r.T9(h),M=c.L((e,t)=>e+t,p),C=s.T9(h),z=s.jk(h);a.d(t,{},{K0:z,OW:y,Ro:e=>e>d(Number.MAX_SAFE_INTEGER)||e<d(Number.MIN_SAFE_INTEGER)?o.none():o.some(Number(e)),T9:k,Tq:w,aD:M,bi:v,cz:g,hl:f,jk:b,pH:h,qE:x,rs:u,sO:C,yJ:m})},3265(e,t,a){var s=a(5053),l=a(1587);let i=BigInt(0),o=BigInt(1),r=BigInt(1e3),n=BigInt(1024),c=[{symbol:"B",factor:o,names:["B","byte","bytes"]},{symbol:"kB",factor:r,names:["kB","kilobyte","kilobytes"]},{symbol:"MB",factor:r**BigInt(2),names:["MB","megabyte","megabytes"]},{symbol:"GB",factor:r**BigInt(3),names:["GB","gigabyte","gigabytes"]},{symbol:"TB",factor:r**BigInt(4),names:["TB","terabyte","terabytes"]},{symbol:"PB",factor:r**BigInt(5),names:["PB","petabyte","petabytes"]},{symbol:"EB",factor:r**BigInt(6),names:["EB","exabyte","exabytes"]},{symbol:"ZB",factor:r**BigInt(7),names:["ZB","zettabyte","zettabytes"]},{symbol:"YB",factor:r**BigInt(8),names:["YB","yottabyte","yottabytes"]},{symbol:"RB",factor:r**BigInt(9),names:["RB","ronnabyte","ronnabytes"]},{symbol:"QB",factor:r**BigInt(10),names:["QB","quettabyte","quettabytes"]}],d=[c[0],{symbol:"KiB",factor:n,names:["KiB","kibibyte","kibibytes"]},{symbol:"MiB",factor:n**BigInt(2),names:["MiB","mebibyte","mebibytes"]},{symbol:"GiB",factor:n**BigInt(3),names:["GiB","gibibyte","gibibytes"]},{symbol:"TiB",factor:n**BigInt(4),names:["TiB","tebibyte","tebibytes"]},{symbol:"PiB",factor:n**BigInt(5),names:["PiB","pebibyte","pebibytes"]},{symbol:"EiB",factor:n**BigInt(6),names:["EiB","exbibyte","exbibytes"]},{symbol:"ZiB",factor:n**BigInt(7),names:["ZiB","zebibyte","zebibytes"]},{symbol:"YiB",factor:n**BigInt(8),names:["YiB","yobibyte","yobibytes"]}],p=new Map([...c,...d.slice(1)].flatMap(e=>e.names.map(t=>[t,e]))),g=e=>{throw Error(`Invalid ByteSize: ${e}`)},h=e=>!Number.isSafeInteger(e)||e<0?g(`expected a non-negative safe integer, received ${e}`):BigInt(e),u=e=>{let t=/^\s*(\d+)(?:\.(\d+))?\s*([A-Za-z]+)\s*$/.exec(e);if(null===t)return g(`unsupported syntax ${JSON.stringify(e)}`);let a=p.get(t[3]);if(void 0===a)return g(`unsupported unit ${JSON.stringify(t[3])}`);let s=t[2]??"",l=BigInt(10)**BigInt(s.length),o=BigInt(t[1]+s)*a.factor;return o%l!==i?g(`${JSON.stringify(e)} does not represent an integral number of bytes`):o/l},f=l.liftThrowable(u),v=e=>{switch(typeof e){case"bigint":if(e<i)return g(`expected a non-negative bigint, received ${e}`);return e;case"number":return h(e);case"string":return u(e)}return g(`unsupported input ${e}`)},m=l.liftThrowable(v),y=s.Ro;s.pH,s.rs,s.Tq,s.jk,s.T9,s.qE,s.hl,s.bi,s.yJ,s.OW,s.cz,s.aD,s.sO,s.K0,a.d(t,{},{Dg:e=>e,Ro:y,bN:v,ee:e=>"bigint"==typeof e?v(e):h(e),lX:m,sH:f,yp:e=>"bigint"==typeof e&&e>=i})},719(e,t,a){var s=a(2449),l=a(6297);s.PX,s.B4,s.Aj,s.Wg;let i=s.lC;s.Xb,s.ik;let o=s.b5;s.DH;let r=s.OE,n=s.Iu;l.nIy,l.ORc;let c=l.nn5,d=l.O$X;s.h2;let p=l.ReC;l.myX,l.QE5,l.khU;let g=l.L$u;l.gpn,l.k7S,l.BbX;let h=l.prj;l.tU5,l.h74,l.Bou,l.RJ6;let u=l.GyP;s.PW,s.qB,s.Xm;let f=s.$L;s.q_;let v=s.RS,m=s.Vw;l.DQo,l.c8t,l.MUS,l.t8c,l._y;let y=l.qwd;l.ASO,l.F7W,l.Aub,l.cOF,l.Rft,l.RD4,l.Kkt,l.PnV;let w=l.Bk6;s.Eh,l.tQ6,l.On5,a.d(t,{},{$L:f,Bk:w,F_:n,L$:g,RS:v,Tj:d,Vw:m,fJ:r,iw:p,j9:u,kO:o,lC:i,nn:c,pr:h,qw:y})},4238(e,t,a){var s=a(6297);s.a1U,s.RKA;let l=s.Rud;s.s0X,s.T13,a.d(t,{},{Ru:l})},9519(e,t,a){function s(e){return{combine:e}}function l(e){return s((t,a)=>-1===e(t,a)?t:a)}function i(e){return s((t,a)=>1===e(t,a)?t:a)}a.d(t,{L8:()=>s,T9:()=>i,jk:()=>l})},1179(e,t,a){var s=a(3811),l=a(3332),i=a(1594),o=a(5033),r=a(2449),n=a(1587),c=a(4233);let d="~effect/Context/Service",p=function(){let e=function(){};Object.setPrototypeOf(e,g);let t=(t,a)=>(e.key=t,a?.defaultValue&&(e[u]=u,e.defaultValue=a.defaultValue),a?.make&&(e.make=a.make),a?.fiberCached&&h.add(t),e);return arguments.length>0?t(arguments[0],arguments[1]):t},g={[d]:d,...s.bp({label:"Service",evaluate(e){return(0,r.xt)(V(e.context,this))}}),toJSON(){return{_id:"Service",key:this.key}},of:e=>e,context(e){return _(this,e)},use(e){return(0,r.R6)(t=>e(V(t.context,this)))},useSync(e){return(0,r.R6)(t=>(0,r.xt)(e(V(t.context,this))))}},h=new Set,u="~effect/Context/Reference",f="~effect/Context",v=(e,t,a,s)=>{let l=Object.create(k);return l.cacheRoot=e??l,l.base=t,l.overlay=a,l.depth=s,l._flat=void 0,l.baseHits=0,l},m=(e,t)=>{t&&(m(e,t.parent),e.set(t.key,t.value))},y=e=>{if(e._flat)return e._flat;if(!e.overlay)return e._flat=e.base;let t=new Map(e.base);return m(t,e.overlay),e._flat=t},w=Symbol(),x=(e,t)=>{for(let a=e.overlay;a;a=a.parent)if(a.key===t)return a.value;let a=e.base.get(t);return void 0!==a||e.base.has(t)?(e.overlay&&++e.baseHits>=e.base.size&&e.baseHits>=8&&(e.base=y(e),e.overlay=void 0,e.depth=0),a):w},b=e=>v(void 0,e,void 0,0),k={get mapUnsafe(){return y(this)},...r.fU,[f]:{_Services:e=>e},toJSON(){return{_id:"Context",services:Array.from(this.mapUnsafe).map(([e,t])=>({key:e,value:t}))}},[l.HR](e){if(!M(e))return!1;let t=this.mapUnsafe,a=e.mapUnsafe;if(t.size!==a.size)return!1;for(let[e,s]of t)if(!a.has(e)||!l.aI(s,a.get(e)))return!1;return!0},[o.HR](){return o.ai(this.mapUnsafe.size)}},M=e=>(0,c.i5)(e,f),C=e=>!!e[u],z=b(new Map),_=(e,t)=>b(new Map([[e.key,t]])),L=(0,i.XY)(3,(e,t,a)=>B(e,t.key,a)),B=(e,t,a)=>{let s=h.has(t)?void 0:e.cacheRoot;if(e.depth>=8){let l=new Map(e.mapUnsafe);return l.set(t,a),v(s,l,void 0,0)}return v(s,e.base,{key:t,value:a,parent:e.overlay},e.depth+1)},A=(0,i.XY)(2,(e,t)=>P(e,t.key)),P=(e,t)=>{let a=x(e,t);return a===w?void 0:a},S=(0,i.XY)(2,(e,t)=>{let a=x(e,t.key);if(a===w){if(C(t))return q(t);throw F(t)}return a}),V=S,H="~effect/Context/defaultValue",q=e=>H in e?e[H]:e[H]=e.defaultValue(),F=e=>{let t=Error(`Service not found${e.key?`: ${String(e.key)}`:""}`);if(t.stack){let e=t.stack.split("\n");e.splice(1,3),t.stack=e.join("\n")}return t},I=(0,i.XY)(2,(e,t)=>{let a=x(e,t.key);return a!==w?n.some(a):C(t)?n.some(q(t)):n.none()}),U=(0,i.XY)(2,(e,t)=>{let a;return 0===e.mapUnsafe.size?t:0===t.mapUnsafe.size?e:((e=>t.mapUnsafe.forEach((t,a)=>e.set(a,t)))(a=new Map(e.mapUnsafe)),b(a))});a.d(t,{},{Ie:()=>z,Jt:V,L8:_,LZ:b,Or:p,Pf:(e,t)=>e.cacheRoot===t.cacheRoot,Ub:P,Um:(...e)=>{let t=new Map;for(let a=0;a<e.length;a++)e[a].mapUnsafe.forEach((e,a)=>{t.set(a,e)});return b(t)},WQ:L,Y6:A,aE:M,fp:S,h1:U,kl:p,om:I})},4942(e,t,a){var s=a(2449),l=a(2275),i=a(1554),o=a(4233);let r=class extends i.Xs{constructor(e){super(),e&&l.z(this,e)}};function n(){if(1==arguments.length){let e=arguments[0];return function(t){return e[t._tag](t)}}let e=arguments[0],t=arguments[1];return t[e._tag](e)}let c=s.$D,d=s.rN;a.d(t,{},{$D:c,Ij:()=>new Proxy({},{get:(e,t,a)=>"$is"===t?o.$J:"$match"===t?n:e=>({...e,_tag:t})}),Xs:r,rN:d})},9237(e,t,a){var s=a(1594),l=a(6297),i=a(1554);let o={"~effect/Deferred":{_A:s.D_,_E:s.D_},pipe(){return(0,i.tT)(this,arguments)}},r=function(){this.resumes=void 0,this.effect=void 0};r.prototype=o;let n=e=>void 0!==e.effect;a.d(t,{},{$L:e=>l.OH5(()=>n(e)),$w:(e,t)=>{if(e.effect)return!1;if(e.effect=t,e.resumes){let a=e.resumes;e.resumes=void 0;for(let e=0;e<a.length;e++)a[e](t)}return!0},LZ:()=>new r,NJ:n,Tx:e=>l.E2r(t=>e.effect?t(e.effect):(e.resumes??=[],e.resumes.push(t),l.OH5(()=>{let a=e.resumes;if(void 0===a)return;let s=a.indexOf(t);s>=0&&a.splice(s,1)})))})},3614(e,t,a){var s=a(3332),l=a(1594),i=a(5033),o=a(3952),r=a(2860),n=a(1554),c=a(4233);let d="~effect/Duration",p=BigInt(0),g=BigInt(1),h=BigInt(2),u=BigInt(10),f=BigInt(24),v=BigInt(60),m=BigInt(1e3),y=BigInt(1e6),w=e=>BigInt(e<0?Math.ceil(e-.5):Math.floor(e+.5)),x=(e,t)=>{let a=e.indexOf(".");if(-1===a)return BigInt(e)*t;let s="-"===e[0],l=e.slice(a+1),i=u**BigInt(l.length),o=(BigInt(e.slice(+!!s,a))*i+BigInt(l))*t,r=o/i+(o%i*h>=i?g:p);return s?-r:r},b=/^(-?\d+(?:\.\d+)?)\s+(nanos?|micros?|millis?|seconds?|minutes?|hours?|days?|weeks?)$/,k=e=>{switch(typeof e){case"number":return q(e);case"bigint":return H(e);case"string":{if("Infinity"===e)return S;if("-Infinity"===e)return V;let t=b.exec(e);if(!t)break;let[a,s,l]=t;if("nano"===l||"nanos"===l)return H(x(s,g));if("micro"===l||"micros"===l)return H(x(s,m));let i=Number(s);switch(l){case"milli":case"millis":return q(i);case"second":case"seconds":return F(i);case"minute":case"minutes":return I(i);case"hour":case"hours":return U(i);case"day":case"days":return O(i);case"week":case"weeks":return E(i)}break}case"object":{if(null===e)break;if(d in e)return e;if(Array.isArray(e)){if(2!==e.length||!e.every(c.Et))return M(e);if(Number.isNaN(e[0])||Number.isNaN(e[1]))return P;if(-1/0===e[0]||-1/0===e[1])return V;if(1/0===e[0]||1/0===e[1])return S;return B(w(1e9*e[0]+e[1]))}let t=0;if(e.weeks&&(t+=6048e5*e.weeks),e.days&&(t+=864e5*e.days),e.hours&&(t+=36e5*e.hours),e.minutes&&(t+=6e4*e.minutes),e.seconds&&(t+=1e3*e.seconds),e.milliseconds&&(t+=e.milliseconds),!e.microseconds&&!e.nanoseconds)return B(t);return B(w(1e6*t+(e.microseconds??0)*1e3+(e.nanoseconds??0)))}}return M(e)},M=e=>{throw Error(`Invalid Input: ${e}`)},C={_tag:"Millis",millis:0},z={_tag:"Infinity"},_={_tag:"NegativeInfinity"},L={[d]:d,[i.HR](){switch(this.value._tag){case"Millis":{let e=1e6*this.value.millis;return Number.isFinite(e)?i.tW(w(e)):i.ai(this.value.millis)}case"Nanos":return i.tW(this.value.nanos);default:return i.QK(this.value)}},[s.HR](e){return A(e)&&D(this,e)},toString(){switch(this.value._tag){case"Infinity":return"Infinity";case"NegativeInfinity":return"-Infinity";case"Nanos":return`${this.value.nanos} nanos`;case"Millis":return`${this.value.millis} millis`}},toJSON(){switch(this.value._tag){case"Millis":return{_id:"Duration",_tag:"Millis",millis:this.value.millis};case"Nanos":return{_id:"Duration",_tag:"Nanos",nanos:String(this.value.nanos)};case"Infinity":return{_id:"Duration",_tag:"Infinity"};case"NegativeInfinity":return{_id:"Duration",_tag:"NegativeInfinity"}}},[o.FX](){return this.toJSON()},pipe(){return(0,n.tT)(this,arguments)}},B=e=>{let t=Object.create(L);return"number"==typeof e?isNaN(e)||0===e||Object.is(e,-0)?t.value=C:Number.isFinite(e)?Number.isInteger(e)?t.value={_tag:"Millis",millis:e}:t.value={_tag:"Nanos",nanos:w(1e6*e)}:t.value=e>0?z:_:e===p?t.value=C:t.value={_tag:"Nanos",nanos:e},t},A=e=>(0,c.i5)(e,d),P=B(0),S=B(1/0),V=B(-1/0),H=e=>B(e),q=e=>B(e),F=e=>B(1e3*e),I=e=>B(6e4*e),U=e=>B(36e5*e),O=e=>B(864e5*e),E=e=>B(6048e5*e),X=e=>{let t=k(e);switch(t.value._tag){case"Infinity":case"NegativeInfinity":throw Error("Cannot convert infinite duration to nanos");case"Nanos":return t.value.nanos;case"Millis":return w(1e6*t.value.millis)}},Y=(0,l.XY)(2,(e,t)=>{switch(e.value._tag){case"Millis":return t.onMillis(e.value.millis);case"Nanos":return t.onNanos(e.value.nanos);case"Infinity":return t.onInfinity();case"NegativeInfinity":return(t.onNegativeInfinity??t.onInfinity)()}}),Z=(0,l.XY)(3,(e,t,a)=>"Infinity"===e.value._tag||"NegativeInfinity"===e.value._tag||"Infinity"===t.value._tag||"NegativeInfinity"===t.value._tag?a.onInfinity(e,t):"Millis"===e.value._tag?"Millis"===t.value._tag?a.onMillis(e.value.millis,t.value.millis):a.onNanos(X(e),t.value.nanos):a.onNanos(e.value.nanos,X(t))),G=r.L8((e,t)=>Z(e,t,{onMillis:(e,t)=>e<t?-1:+(e>t),onNanos:(e,t)=>e<t?-1:+(e>t),onInfinity:(e,t)=>e.value._tag===t.value._tag?0:"Infinity"===e.value._tag?1:"NegativeInfinity"===e.value._tag||"Infinity"===t.value._tag?-1:1})),T=r.bi(G),D=(0,l.XY)(2,(e,t)=>Z(e,t,{onMillis:(e,t)=>e===t,onNanos:(e,t)=>e===t,onInfinity:(e,t)=>e.value._tag===t.value._tag})),R=e=>{if("Infinity"===e.value._tag)return"Infinity";if("NegativeInfinity"===e.value._tag)return"-Infinity";if((e=>{switch(e.value._tag){case"Millis":return 0===e.value.millis;case"Nanos":return e.value.nanos===p;case"Infinity":case"NegativeInfinity":return!1}})(e))return"0";if((e=>{switch(e.value._tag){case"Millis":return e.value.millis<0;case"Nanos":return e.value.nanos<p;case"NegativeInfinity":return!0;case"Infinity":return!1}})(e))return"-"+R((e=>{switch(e.value._tag){case"Infinity":case"NegativeInfinity":return S;case"Millis":return e.value.millis<0?B(-e.value.millis):e;case"Nanos":return e.value.nanos<p?B(-e.value.nanos):e}})(e));let t=(e=>{if("Infinity"===e.value._tag)return{days:1/0,hours:1/0,minutes:1/0,seconds:1/0,millis:1/0,nanos:1/0};if("NegativeInfinity"===e.value._tag)return{days:-1/0,hours:-1/0,minutes:-1/0,seconds:-1/0,millis:-1/0,nanos:-1/0};let t=X(e),a=t<p,s=a?-t:t,l=s/y,i=l/m,o=i/v,r=o/v,n=a?-1:1;return{days:n*Number(r/f),hours:n*Number(r%f),minutes:n*Number(o%v),seconds:n*Number(i%v),millis:n*Number(l%m),nanos:n*Number(s%y)}})(e),a=[];return 0!==t.days&&a.push(`${t.days}d`),0!==t.hours&&a.push(`${t.hours}h`),0!==t.minutes&&a.push(`${t.minutes}m`),0!==t.seconds&&a.push(`${t.seconds}s`),0!==t.millis&&a.push(`${t.millis}ms`),0!==t.nanos&&a.push(`${t.nanos}ns`),a.join(" ")};a.d(t,{},{GP:R,MI:e=>"Infinity"!==e.value._tag&&"NegativeInfinity"!==e.value._tag,Tn:S,YA:F,bN:k,bi:T,cF:H,fP:e=>Y(k(e),{onMillis:e=>e/1e3,onNanos:e=>Number(e)/1e9,onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0}),kE:e=>Y(k(e),{onMillis:l.D_,onNanos:e=>Number(e)/1e6,onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0}),n$:A,ne:q,qv:V,v_:P})},2842(e,t,a){a.d(t,{Q56:()=>ex,jGc:()=>eb,U9h:()=>ek,Q7R:()=>k,hgn:()=>Z,swY:()=>eG,Muk:()=>eP,as:()=>$,E2r:()=>S,MfU:()=>N,Tyx:()=>K,osR:()=>Q,KuX:()=>W,loE:()=>J,RKA:()=>eX,_32:()=>eS,F_Q:()=>U,_r7:()=>eT,yeE:()=>eM,NS5:()=>R,fJG:()=>q,ATB:()=>F,pVV:()=>I,qIB:()=>Y,Ab9:()=>e$,fn:()=>eE,D9k:()=>eO,vCS:()=>eN,jJl:()=>M,i4r:()=>eA,ar0:()=>eH,x6Z:()=>eq,yUA:()=>X,JkU:()=>H,XeO:()=>ei,GaK:()=>e_,yw5:()=>b,vVN:()=>eZ,FFw:()=>eY,TjK:()=>j,q7Y:()=>ej,jkJ:()=>eD,xm_:()=>ee,Z9x:()=>eR,YWq:()=>ed,khu:()=>ep,tvg:()=>eg,ZmZ:()=>V,S5A:()=>eC,cfM:()=>ez,uKv:()=>D,QgK:()=>et,ivC:()=>z,Gte:()=>eh,PpN:()=>eu,PfK:()=>ev,KT6:()=>ec,Ket:()=>T,L5P:()=>el,MY7:()=>eF,eJC:()=>eI,lKS:()=>eU,z8E:()=>em,P1j:()=>ey,Pxi:()=>ew,Nav:()=>ef,yy4:()=>en,PyW:()=>L,DYE:()=>B,OH5:()=>A,Mim:()=>G,dGm:()=>es,sFT:()=>ea,wRz:()=>eo,mgX:()=>er,SvU:()=>O,$mh:()=>_,rfi:()=>eL,FcF:()=>eB,rIH:()=>P,iMI:()=>C,R6R:()=>E,fRP:()=>eV});var s=a(1594),l=a(2449),i=a(6297),o=(a(3614),a(1179));a(9315);var r=a(6771),n=a(5633);let c=(0,s.XY)(e=>(0,l.yw)(e[0]),(e,t,a)=>{let s;return o.aE(t)?i.PpN(e,t):(s=Array.isArray(t)?n.Um(...t):t,i.Pxi(t=>i.qIB(a?.local?n.H7(s,n.j6(),t):n.LT(s,t),t=>i.PpN(e,t))))});var d=a(1587),p=a(3753),g=a(6481);(e,t,a)=>i.qIB(r.xn(t),t=>{let s=r.d3.defaultValue();return i.h_t(i.i4r(i.Mim(i.qIB(i.DYE(()=>i.PfK(e,r.d3,s)),t),e=>i.OH5(()=>{s=e})),{disableYield:!0}),e=>l.$L(e)?i.PyW(e.value):a(e,0===s.attempt?d.none():d.some(s)))});let h=(0,s.XY)(3,(e,t,a)=>i.qIB(r.xn(t),t=>{let s,l=r.d3.defaultValue(),o=i.h_t(i.DYE(()=>i.PfK(e,r.d3,l)),e=>(s=e,i.qIB(t(e),e=>(l=e,o))));return p.m8(o,e=>(0,g.s)(()=>a(s,e)))})),u=(0,s.XY)(2,(e,t)=>h(e,"function"==typeof t?t(s.D_):r.GM(t)?t:v(t),i.fJG)),f=r.le(r.i4),v=e=>{let t=e.schedule?r.le(e.schedule):f;return e.while&&(t=r.E6(t,({input:t})=>{let a=e.while(t);return l.yw(a)?a:i.PyW(a)})),e.until&&(t=r.E6(t,({input:t})=>{let a=e.until(t);return l.yw(a)?i.TjK(a,e=>!e):i.PyW(!a)})),void 0!==e.times&&(t=r.E6(t,({attempt:t})=>i.PyW(t<=e.times))),t},m=r.t5(1);var y=a(2275);let w=a(3332).Xq({_E:e=>e,_A:e=>e,_R:e=>e});({...l.In,"~effect/Request":w}),a(3909);var x=a(4600);l.$n;let b=l.yw,k=i.Q7R;i.jBG,i.TSs,i.tfT,i.i8i,i.kAe;let M=i.jJl;i.d5f;let C=i.iMI,z=i.ivC,_=i.$mh,L=i.PyW;i.lwU,i.nGE;let B=i.DYE,A=i.OH5,P=i.rIH;i.Vxk;let S=i.E2r,V=i.ZmZ;i.Do,i.JrD,i.uVU,i.oIE;let H=i.JkU,q=i.fJG;i.gOk;let F=i.ATB,I=i.pVV,U=i.F_Q,O=i.SvU;i.m9E,i.KN3;let E=l.R6;l.Hq;let X=i.yUA;i.sVm,i.pkL,i.bJ;let Y=i.qIB;i.Bqz;let Z=i.hgn,G=i.Mim,T=i.Ket,D=i.uKv,R=i.NS5,j=i.TjK,$=i.as;i.Xx$,i.NLW,i.UUz,i.yU6,i.OYO;let N=i.h_t,W=i.KuX,J=i.loE;i.AXC,i.zt4,i.scW;let K=i.Tyx;i.Fig,i.XWm;let Q=i.osR;i.U9Y,i.sJf,i.rNk;let ee=i.xm_;i.UcN;let et=i.QgK,ea=i.sFT;i.k$L;let es=i.dGm;i.cA6,i.bKC,i.nAi,i.u4Y;let el=u;i._Sg;let ei=i.XeO;i.GrF,i.$$g,i.DM4,i.Dd;let eo=i.wRz;i.D52;let er=i.mgX;i.cbG;let en=i.yy4;i.ayu,i.Vdx,i.FfP,i.O4F;let ec=i.KT6;i.pbD,i.x1Q,i.E8K,i.Pm0,i.VtY,i.W$I,i.ahH,i.z7s;let ed=i.YWq;i.G$Q,i.D$$,i.NZb,i.wR5;let ep=i.khu,eg=i.tvg;i.N6O,i.oJd,i._OA,i.sxi;let eh=c,eu=i.PpN;i.oao,i.euC;let ef=i.Nav;i.r_d,i.bUZ,i.L_I;let ev=i.PfK;i.c7E;let em=i.z8E,ey=i.P1j,ew=i.Pxi,ex=i.Q56;i.N24;let eb=i.jGc,ek=i.U9h,eM=i.yeE,eC=i.S5A;i.BeE,i.iKM,i.r7h;let ez=i.cfM;i.fGe,i.uRq,i.PO3,i.Rgn,i.CJw;let e_=i.GaK;i.Inz,i.nAr;let eL=i.rfi,eB=i.FcF;i.eMl,i.dsN;let eA=i.i4r;i.aAq,i.Xrv,i.kJM,i._o1,i.nDN,i.MaT;let eP=i.Muk;i.ww9;let eS=i._32;i.Wj8,i.Fu6,i.WbR,i.A_r,i.Z98,i.Rd$,i.gvr;let eV=i.fRP;i.zr8,i.hq,i.zhn;let eH=i.ar0,eq=i.x6Z;i.yxg,i.PCg,i.pEE,i.ABT;let eF=i.MY7,eI=i.eJC;i.lSz,i.bPG,i.pR5,i.v2Q,i.NpQ,i.jqV,i.HZF,i.lE;let eU=i.lKS;i.rfH;let eO=i.D9k,eE=i.fn,eX=i.RKA;i.lIX;let eY=i.lIX("Warn"),eZ=i.lIX("Error"),eG=(0,s.XY)(e=>b(e[0]),(e,...t)=>i.bUZ(e,x.iL,e=>{let a=1===t.length?{...e,...t[0]}:{...e};return 1===t.length||y.x(a,t[0],t[1]),a}));i.gsV;let eT=(e,t,a)=>(...s)=>S(l=>{try{e(...s,(e,a)=>{e?l(q(t?t(e,s):e)):l(L(a))})}catch(e){l(a?q(a(e,s)):U(e))}}),eD=i.jkJ,eR=i.Z9x,ej=i.q7Y,e$=i.Ab9;i.UVN;let eN=i.vCS},3811(e,t,a){var s=a(2449);a.d(t,{},{bp:e=>(0,s.yj)({op:e.label,[s._3]:e.evaluate})})},3332(e,t,a){var s=a(5033),l=a(5844),i=a(4233);let o="~effect/Equal";function r(){return 1==arguments.length?e=>n(e,arguments[0]):n(arguments[0],arguments[1])}function n(e,t){if(e===t)return!0;if(null==e||null==t)return!1;let a=typeof e;return a===typeof t&&("number"===a&&e!=e&&t!=t||!("object"!==a&&"function"!==a||l.J3.has(e)||l.J3.has(t))&&function(e,t){let a=d.length;for(let s=a;s-- >0;)if(d[s]===e&&p[s]===t)return!0;if(a)return c(e,t);let s=g.get(e);s||g.set(e,s=new WeakMap);let l=s.get(t);return void 0===l&&s.set(t,l=c(e,t)),l}(e,t))}function c(e,t){d.push(e),p.push(t);try{return function(e,t){if(s.tW(e)!==s.tW(t))return!1;if(e instanceof Date){if(!(t instanceof Date))return!1;let a=e.getTime(),s=t.getTime();return a===s||Number.isNaN(a)&&Number.isNaN(s)}if(e instanceof RegExp)return t instanceof RegExp&&e.toString()===t.toString();let a=m(e);if(a!==m(t)||"function"==typeof e&&!a)return!1;if(a)return e[o](t);if(Array.isArray(e))return!!Array.isArray(t)&&e.length===t.length&&function(e,t){for(let a=0;a<e.length;a++)if(!n(e[a],t[a]))return!1;return!0}(e,t);if(ArrayBuffer.isView(e)){let a=e instanceof DataView;return!!ArrayBuffer.isView(t)&&e.byteLength===t.byteLength&&a===t instanceof DataView&&(a?h((0,l.j)(e),(0,l.j)(t)):h(e,t))}if(e instanceof Map)return t instanceof Map&&e.size===t.size&&u(e,t,f,v);else if(e instanceof Set)return t instanceof Set&&e.size===t.size&&u(e,t,s.tW,n);var i=e,r=t;let c=(0,l.Xp)(i),d=(0,l.Xp)(r);if(c.size!==d.size)return!1;for(let e of c)if(!d.has(e)||!n(i[e],r[e]))return!1;return!0}(e,t)}finally{d.pop(),p.pop()}}let d=[],p=[],g=new WeakMap;function h(e,t){if(e.length!==t.length)return!1;for(let a=0;a<e.length;a++)if(e[a]!==t[a])return!1;return!0}function u(e,t,a,s){let l=new Map;for(let e of t){let t=a(e),s=l.get(t);s?s.push(e):l.set(t,[e])}e:for(let t of e){let e=l.get(a(t));if(e){for(let a=0;a<e.length;a++)if(s(t,e[a])){e[a]=e[e.length-1],e.pop();continue e}}return!1}return!0}let f=e=>s.tW(e[0]),v=(e,t)=>n(e[0],t[0])&&n(e[1],t[1]),m=e=>(0,i.i5)(e,o);a.d(t,{aI:()=>r},{HR:o,Xq:e=>(l.J3.add(e),e),jI:()=>r})},7876(e,t,a){let s=e=>(t,a)=>t===a||e(t,a),l=(e,t)=>e===t,i=s((e,t)=>globalThis.Number.isNaN(e)&&globalThis.Number.isNaN(t));function o(e){return s((t,a)=>{if(t.length!==a.length)return!1;for(let s=0;s<t.length;s++)if(!e[s](t[s],a[s]))return!1;return!0})}function r(e){return s((t,a)=>{if(t.length!==a.length)return!1;for(let s=0;s<t.length;s++)if(!e(t[s],a[s]))return!1;return!0})}function n(e){let t=Reflect.ownKeys(e);return s((a,s)=>{for(let l of t)if(!e[l](a[l],s[l]))return!1;return!0})}a.d(t,{O3:()=>r,_k:()=>n,rd:()=>o},{L8:s,Qw:l,YZ:()=>l,wN:i})},6526(e,t,a){var s=a(2449),l=a(6297);s.IH,s.b9;let i=s.xt,o=s.cb,r=s.Rk;s.V2,l._sz;let n=l.x5l,c=l.CoE,d=l.VE1;l._mh,l.YDM,l.lNM,l.K$2,l.GUt,l.HIt,l.yJo,l._OD,l.jCT,l.Wtn,l.v9O,l.zPu,l.EkE,l.Hox,l.ely,l.kMI,l.Sv3,l.lgw,a.d(t,{},{AT:o,N6:d,Py:i,fJ:r,oJ:c,rI:n})},1958(e,t,a){var s=a(4233),l=a(1279);function i(e,t){let a=t?.space??0,i=new WeakSet,n=a?"number"==typeof a?" ".repeat(a):a:"",p=(e,t)=>{let a=e?.constructor;return a&&a!==Object.prototype.constructor&&a.name?`${a.name}(${t})`:t};return function e(a,g=0){try{return function(a,g=0){if("string"==typeof a)return JSON.stringify(a);if("number"==typeof a||null==a||"boolean"==typeof a||"symbol"==typeof a)return String(a);if("bigint"==typeof a)return String(a)+"n";if("object"==typeof a||"function"==typeof a){let h;if(i.has(a))return o;if(i.add(a),l.uC in a)h=e((0,l.f6)(a),g);else if(Array.isArray(a)){let t,s;h=!n||a.length<=1?`[${a.map(t=>e(t,g)).join(",")}]`:`[
237
237
  ${t=g+1,n.repeat(t)}${a.map(t=>e(t,g+1)).join(",\n"+(s=g+1,n.repeat(s)))}
238
238
  ${n.repeat(g)}]`}else if(a instanceof Date)h=c(a);else if(!t?.ignoreToString&&s.i5(a,"toString")&&"function"==typeof a.toString&&a.toString!==Object.prototype.toString&&a.toString!==Array.prototype.toString){let t=function(e){try{let t=e.toString();return"string"==typeof t?t:String(t)}catch{return"[toString threw]"}}(a);h=a instanceof Error&&void 0!==a.cause?`${t} (cause: ${e(a.cause,g)})`:t}else if(Symbol.iterator in a)h=`${a.constructor.name}(${e(Array.from(a),g)})`;else{let t=(e=>{try{return Reflect.ownKeys(e)}catch{return["[ownKeys threw]"]}})(a);if(!n||t.length<=1){let s=`{${t.map(t=>`${r(t)}:${e(d(a,t),g)}`).join(",")}}`;h=p(a,s)}else{let s=`{
239
239
  ${t.map(t=>{let s;return`${s=g+1,n.repeat(s)}${r(t)}: ${e(d(a,t),g+1)}`}).join(",\n")}
@@ -245,4 +245,4 @@ ${em(e.cause," ")}
245
245
  }`:e.stack,em=(e,t)=>{let a=e.stack.split("\n"),s=`${t}[cause]: ${a[0]}`;for(let e=1,l=a.length;e<l;e++)s+=`
246
246
  ${t}${a[e]}`;return e.cause&&(s+=` {
247
247
  ${em(e.cause,`${t} `)}
248
- ${t}}`),s},ey="~effect/Fiber",ew={_A:m.D_,_E:m.D_},ex={id:0},eb=(()=>{try{return globalThis.process?.getBuiltinModule?.("node:async_hooks")?.AsyncResource}catch{return}})(),ek=()=>void 0===eb?void 0:new eb("effect/Fiber"),eM=()=>globalThis[B.fL];class eC{constructor(e,t=!0){this.setContext(e),this.id=++ex.id,this.currentOpCount=0,this.interruptible=t,this._stack=[],this._observers=void 0,this._exit=void 0,this._children=void 0,this._interruptedCause=void 0,this._yielded=void 0,this._running=!1,this._deferredInterrupt=!1,this._parent=void 0,this._asyncContext=void 0,this.cache.runtimeMetrics?.recordFiberStart(this.context)}get[ey](){return ew}get currentDispatcher(){return this._dispatcher??=this.cache.scheduler.makeDispatcher()}getRef(e){return u.Jt(this.context,e)}addObserver(e){return this._exit?(e(this._exit),m.Yi):(void 0===this._observers?this._observers=[e]:this._observers.push(e),()=>this.removeObserver(e))}removeObserver(e){if(this._exit||void 0===this._observers)return;let t=this._observers.indexOf(e);t>=0&&this._observers.splice(t,1)}interruptUnsafe(e,t){if(this._exit)return;let a=G(e);this.cache.stackFrame&&(a=(0,V.Eh)(a,u.L8(V.z8,this.cache.stackFrame))),t&&(a=(0,V.Eh)(a,t)),this._interruptedCause=this._interruptedCause?(0,V.h2)(this._interruptedCause,a):a,this.interruptible&&(this._running?this._deferredInterrupt=!0:this.evaluate(eX(this._interruptedCause)))}pollUnsafe(){return this._exit}evaluate(e){if(this._exit)return;if(void 0!==this._asyncContext){let t=this._asyncContext;return this._asyncContext=void 0,t.runInAsyncScope(this.evaluate,this,e)}if(void 0!==this._yielded){let e=this._yielded;this._yielded=void 0,e()}let t=this.runLoop(e);if(t===V.GN){this._asyncContext=ek();return}let a=eB.interruptChildren&&eB.interruptChildren(this);if(void 0!==a)return this.evaluate(tV(a,()=>t));if(this._exit=t,this.cache.runtimeMetrics?.recordFiberEnd(this.context,this._exit),this._parent&&(this._parent._children?.delete(this),this._parent=void 0),void 0!==this._observers){let e=this._observers;this._observers=void 0;for(let a=0;a<e.length;a++)e[a](t)}this._stack.length=0,this._children=void 0,this.context=u.Ie()}runLoop(e){let t=globalThis[B.fL];globalThis[B.fL]=this;let a=this._running;this._running=!0;let s=!1,l=e;this.currentOpCount=0;try{for(;;){this._deferredInterrupt&&(this._deferredInterrupt=!1,l=eX(this._interruptedCause)),this.currentOpCount++;let e=this.cache;if(!s&&!e.preventYield&&e.scheduler.shouldYield(this)){s=!0;let e=l;l=tV(e$,()=>e)}if((l=e.tracerContext?e.tracerContext(l,this):l[V._3](this))===V.GN){let e=this._yielded;if(V.IH in e)return this._deferredInterrupt=!1,this._yielded=void 0,e;if(this._deferredInterrupt){this._yielded=void 0,e();continue}return V.GN}}}catch(e){if(!(0,w.i5)(l,V._3))return(0,V.V2)(`Fiber.runLoop: Not a valid effect: ${String(l)}`);return this.runLoop((0,V.V2)(e))}finally{this._running=a,globalThis[B.fL]=t}}getCont(e){if(this._deferredInterrupt)return this._deferredInterrupt=!1,e_;for(;;){let t=this._stack.pop();if(!t)return;let a=t[V.u4];if(void 0!==a){let s=a.call(t,this);if(s)return s[e]=s,s}if(t[e])return t}}succeedWith(e){if((++this.currentOpCount&eL-1)==0)return(0,V.xt)(e);let t=this.getCont(V.ee);return t?t[V.ee](e,this):this.yieldWith((0,V.xt)(e))}yieldWith(e){return this._yielded=e,V.GN}children(){return this._children??=new Set}pipe(){return(0,L.tT)(this,arguments)}setContext(e){let t=this.context;if(this.context=e,void 0!==t&&u.Pf(t,e))return;let a=e.cacheRoot,s=a._fiberCache??=ez(e);this.cache?.scheduler!==s.scheduler&&(this._dispatcher=void 0),this.cache=s}get currentSpanLocal(){let e=this.cache.span;return e?._tag==="Span"?e:void 0}}let ez=e=>{let t=u.Ub(e,P.RL);return{scheduler:u.Jt(e,A._F),tracer:t,tracerContext:t?t.context:void 0,tracerEnabled:u.Jt(e,I.rf),span:u.Ub(e,P.WG),logLevel:u.Jt(e,I.Gl),minimumLogLevel:u.Jt(e,I.zQ),stackFrame:u.Jt(e,I.vA),runtimeMetrics:u.Ub(e,q.F),maxOpsBeforeYield:u.Jt(e,A.Zm),preventYield:u.Jt(e,A.hf)}},e_={[V.ee]:(e,t)=>eX(t._interruptedCause),[V.Sc]:(e,t)=>eX(t._interruptedCause)},eL=32,eB={interruptChildren:void 0},eA=e=>{if(!e.cache.stackFrame)return;let t=new Map;return t.set(V.QJ.key,e.cache.stackFrame),u.LZ(t)},eP=e=>{if(void 0!==e._children&&0!==e._children.size)return eU(e._children)},eS=e=>e._exit?eE(e._exit):te(t=>e._exit?t(eE(e._exit)):eZ(e.addObserver(e=>t(eE(e))))),eV=e=>te(t=>{let a,s=e[Symbol.iterator](),l=[];return!function e(){let i=s.next();for(;!i.done;){if(i.value._exit){l.push(i.value._exit),i=s.next();continue}a=i.value.addObserver(t=>{l.push(t),e()});return}t(eE(l))}(),eZ(()=>a?.())}),eH=e=>e._exit?e._exit:te(t=>e._exit?t(e._exit):eZ(e.addObserver(t))),eq=e=>te(t=>{let a=Array.from(e);if(0===a.length)return t(eE(h.Ie()));let s=Array(a.length),l=h.Ie(),i=()=>{for(let e=0;e<l.length;e++)a[e].removeObserver(l[e])},o=0,r=!1;for(let e=0;e<a.length&&!r;e++){let n=l=>{if(o++,"Failure"===l._tag)return r=!0,i(),t(l);s[e]=l.value,o===a.length&&t(eE(s))};l.push(n),a[e].addObserver(n)}return eZ(()=>{r=!0,i()})}),eF=e=>(0,V.R6)(t=>eI(e,t.id)),eI=(0,m.XY)(e=>(0,w.i5)(e[0],ey),(e,t,a)=>(0,V.R6)(s=>{let l=eA(s);return l=l&&a?u.h1(l,a):l??a,e.interruptUnsafe(t,l),t_(eS(e))})),eU=e=>(0,V.R6)(t=>{let a=eA(t),s=h.Ie();for(let l of e)l.interruptUnsafe(t.id,a),s.push(l);return t_(eV(s))}),eO=(0,m.XY)(2,(e,t)=>(0,V.R6)(a=>{let s=eA(a),l=h.Ie();for(let a of e)a.interruptUnsafe(t,s),l.push(a);return t_(eV(l))})),eE=V.xt,eX=V.cb,eY=V.Rk,eZ=(0,V.Uf)({op:"Sync",[V._3](e){let t=this[V.a2](),a=e.getCont(V.ee);return a?a[V.ee](t,e):e.yieldWith((0,V.xt)(t))}}),eG=(0,V.Uf)({op:"Suspend",[V._3](e){return this[V.a2]()}}),eT=(0,m.XY)(e=>e.length>=2||y.isOption(e[0]),(e,t)=>y.isNone(e)?eY(t?t():new V.Xm("Effect.fromOption: Option.none")):eE(e.value)),eD=x.YW({onFailure:eY,onSuccess:eE}),eR=e=>null==e?eY(new V.Xm):eE(e),ej=(0,V.Uf)({op:"Yield",[V._3](e){let t=!1;return e.currentDispatcher.scheduleTask(()=>{t||e.evaluate(t1)},this[V.a2]??0),e.yieldWith(()=>{t=!0})}}),e$=ej(0),eN=e=>eE(y.some(e)),eW=eE(y.none()),eJ=e=>y.isNone(e)?eW:tU(e.value,y.some),eK=e=>eG(()=>eX(e())),eQ=e=>(0,V.V2)(e),e1=e=>eG(()=>eY(e())),e0=eE(void 0),e2=e=>{let t="function"==typeof e?e:e.try,a="function"==typeof e?e=>new iI(e,"An error occurred in Effect.try"):e.catch;return eG(()=>{try{return eE(t())}catch(e){return eY(a(e))}})},e3=e=>e8(function(t,a){e(a).then(e=>t(eE(e)),e=>t(eQ(e)))},0!==e.length),e5=e=>{let t="function"==typeof e?e:e.try,a="function"==typeof e?e=>new iI(e,"An error occurred in Effect.tryPromise"):e.catch;return e8(function(e,s){let l=e=>eG(()=>{try{return eY((0,S.s)(()=>a(e)))}catch(e){return eQ(e)}});try{t(s).then(t=>e(eE(t)),t=>e(l(t)))}catch(t){e(l(t))}},0!==t.length)},e4=e=>(0,V.R6)(t=>e(t.id)),e6=(0,V.R6)(eE),e7=e4(eE),e8=(s=(0,V.yj)({op:"Async",[V._3](e){let t=!1,a=!1,s=this.withSignal?new AbortController:void 0,l=this.register.call(e.cache.scheduler,s=>{t||(t=!0,a?e.evaluate(s):a=s)},s?.signal);return!1!==a?a:(a=!0,e._yielded=()=>{t=!0},void 0===s&&void 0===l||e._stack.push(e9(()=>(t=!0,s?.abort(),l??t1))),V.GN)}}),(l=function(e,t){this.register=e,this.withSignal=t}).prototype=s,function(e,t){return new l(e,t)}),e9=(0,V.Uf)({op:"AsyncFinalizer",[V.u4](e){e.interruptible&&(e.interruptible=!1,e._stack.push(s2))},[V.Sc](e,t){return J(e)?tV(sv((0,V.cb)(e),this[V.a2]()),()=>eX(e)):eX(e)}}),te=e=>e8(e,e.length>=2),tt=te(m.Yi),ta=(...e)=>{if(1===e.length){let t=e[0];return eG(()=>td(t()))}let[t,a]=e;return eG(()=>td(a.call(t.self)))},ts=(e,...t)=>{let a=0===t.length?function(){return eG(()=>td(e.apply(this,arguments)))}:function(){let a=eG(()=>td(e.apply(this,arguments)));for(let e=0;e<t.length;e++)a=t[e](a,...arguments);return a};return tl(e.length,a)},tl=(e,t)=>Object.defineProperty(t,"length",{value:e,configurable:!0}),ti=E(2),to=function(){let e,t="string"==typeof arguments[0],a=t?arguments[0]:"Effect.fn",s=t?arguments[1]:void 0,l=(0,U.jt)();return(0!==l&&((0,U.ft)(2),e=new globalThis.Error,(0,U.ft)(l)),t)?(l,...i)=>tr(a,l,e,i,t,s):tr(a,arguments[0],e,Array.prototype.slice.call(arguments,1),t,s)},tr=(e,t,a,s,l,i)=>{let o="function"==typeof t?t:s.shift().bind(t.self),r=`${e} (definition)`,n=a?ti(()=>a.stack):m.MN;return tl(o.length,function(...t){let a,c=eG(()=>{let e=o.apply(this,arguments);return(0,V.yw)(e)?e:td(e)});for(let e=0;e<s.length;e++)c=s[e](c,...t);if(!(0,V.yw)(c))return c;let d=(0,U.jt)();return 0!==d&&((0,U.ft)(2),a=new globalThis.Error,(0,U.ft)(d)),ai(l?ia(e,i,e=>is(c,e)):c,I.vA,t=>({name:e,stack:a?ti(()=>a.stack):m.MN,parent:{name:r,stack:n,parent:t}}))})},tn=(e,...t)=>tl(e.length,0===t.length?function(){return tc(()=>e.apply(this,arguments))}:function(){let a=tc(()=>e.apply(this,arguments));for(let e of t)a=e(a,...arguments);return a}),tc=e=>{try{let t,a=e();for(;;){let s=a.next(t);if(s.done)return eE(s.value);let l=s.value;if(l&&"Success"===l._tag){t=l.value;continue}{if(l&&"Failure"===l._tag)return s.value;let t=!0;return eG(()=>t?(t=!1,tV(s.value,e=>td(a,e))):eG(()=>td(e())))}}}catch(e){return eQ(e)}},td=(i=(0,V.yj)({op:"Iterator",[V.ee](e,t){let a=this.iterator;for(;;){let s=a.next(e);if(s.done)return eE(s.value);if(!tq(s.value))return t._stack.push(this),s.value;if("Failure"===s.value._tag)return s.value;e=s.value.value}},[V._3](e){return this[V.ee](this.initial,e)}}),(o=function(e,t){this.iterator=e,this.initial=t}).prototype=i,function(e,t){return new o(e,t)}),tp=(0,m.XY)(2,(e,t)=>new tu(e,tf,eE(t))),tg=function(e){return e._stack.push(this),this[V.a2]},th=(0,V.yj)({op:"OnSuccess",[V._3]:tg}),tu=function(e,t,a){this[V.a2]=e,this[V.ee]=t,this.payload=a};tu.prototype=th;let tf=function(){return this.payload},tv=function(e,t){return t.succeedWith(this.payload)},tm=(r="~effect/Effect/stackProbe",({[r]:function(){return Error().stack}})[r]()?.includes("[as "+r+"]")===!0),ty=function(e,t){let a=this.payload;return t.succeedWith(tm?a(e):(0,S.s)(()=>a(e)))},tw=function(e){return(0,this.payload)(e)},tx=function(e){return new tu((0,this.payload)(e),tv,e)},tb=function(e){return new tu(this.payload,tv,e)},tk=e=>tU(e,y.some),tM=e=>a7(e,{onFailure:eE,onSuccess:eY}),tC=(0,m.XY)(2,(e,t)=>new tu(e,(0,V.yw)(t)?tf:tw,t)),tz=(0,m.XY)(2,(e,t)=>new tu(e,(0,V.yw)(t)?tb:tx,t)),t_=e=>new tu(e,tf,t1),tL=e=>ak(e,eY),tB=(e,t)=>(0,V.R6)(a=>{let s=new Set;return sU(a,()=>0===s.size?void 0:eU(s)),te(l=>{let i=h.Ts(e),o=i.length,r=0,n=!1,c=[],d=(e,s,i)=>{if(r++,"Failure"===e._tag){c.push(...e.cause.reasons),r>=o&&l(eX((0,V.b5)(c)));return}let d=!n;n=!0,l(e),d&&t?.onWinner&&t.onWinner({fiber:s,index:i,parentFiber:a})};for(let e=0;e<o;e++){let t=lB(a,i[e],!0,!0,!1);if(s.add(t),t.addObserver(a=>{s.delete(t),d(a,t,e)}),n)break}})}),tA=(e,t)=>(0,V.R6)(a=>{let s=new Set;return sU(a,()=>0===s.size?void 0:eU(s)),te(l=>{let i=!1,o=0;for(let r of e){if(i)break;let e=o++,n=lB(a,r,!0,!0,!1);s.add(n),n.addObserver(o=>{s.delete(n);let r=!i;i=!0,l(o),r&&t?.onWinner&&t.onWinner({fiber:n,index:e,parentFiber:a})})}})}),tP=(0,m.XY)(e=>(0,V.yw)(e[1]),(e,t,a)=>tB([e,t],a)),tS=(0,m.XY)(e=>(0,V.yw)(e[1]),(e,t,a)=>tA([e,t],a)),tV=(0,m.XY)(2,(e,t)=>new tu(e,tw,t)),tH=(0,m.XY)(2,(e,t)=>tq(e)?"Success"===e._tag?t.onSuccess(e.value):t.onFailure(e.cause):aQ(e,t)),tq=e=>void 0!==e[V.IH],tF=(0,m.XY)(2,(e,t)=>tq(e)?"Success"===e._tag?t(e.value):e:tV(e,t)),tI=e=>tV(e,m.D_),tU=(0,m.XY)(2,(e,t)=>new tu(e,ty,t)),tO=(0,m.XY)(2,(e,t)=>tq(e)?t0(e,t):tU(e,t)),tE=(0,m.XY)(2,(e,t)=>tq(e)?t2(e,t):aG(e,t)),tX=(0,m.XY)(2,(e,t)=>tq(e)?t3(e,t):aT(e,t)),tY=(0,m.XY)(2,(e,t)=>{if(tq(e)){if("Success"===e._tag)return e;let a=R(e.cause);return x.N6(a)?e:t(a.success)}return aL(e,t)}),tZ=e=>(0,V.cb)(G(e)),tG=e=>"Success"===e._tag,tT=e=>"Success"===e._tag?x.Py(e):x.fJ(e),tD=e=>"Success"===e._tag?x.Py(e.value):x.fJ(e),tR=e=>"Failure"===e._tag,tj=e=>"Failure"===e._tag?x.Py(e):x.fJ(e),t$=e=>"Failure"===e._tag?x.Py(e.cause):x.fJ(e),tN=b(t$,R),tW=b(t$,W),tJ=e=>"Failure"===e._tag&&J(e.cause),tK=e=>"Failure"===e._tag&&$(e.cause),tQ=e=>"Failure"===e._tag&&T(e.cause),t1=(0,V.xt)(void 0),t0=(0,m.XY)(2,(e,t)=>"Success"===e._tag?(0,V.xt)(t(e.value)):e),t2=(0,m.XY)(2,(e,t)=>{if("Success"===e._tag)return e;let a=R(e.cause);return x.N6(a)?e:(0,V.Rk)(t(a.success))}),t3=(0,m.XY)(2,(e,t)=>{if("Success"===e._tag)return(0,V.xt)(t.onSuccess(e.value));let a=R(e.cause);return x.N6(a)?e:(0,V.Rk)(t.onFailure(a.success))}),t5=(0,m.XY)(2,(e,t)=>tG(e)?(0,V.xt)(t):e),t4=(0,m.XY)(2,(e,t)=>tG(e)?t:e),t6=(0,m.XY)(2,(e,t)=>tG(e)?t.onSuccess(e.value):t.onFailure(e.cause)),t7=t5(void 0),t8=e=>{let t=[];for(let a of e)"Failure"===a._tag&&t.push(...a.cause.reasons);return 0===t.length?t1:(0,V.cb)((0,V.b5)(t))},t9=e=>tG(e)?y.some(e.value):y.none(),ae=e=>tR(e)?y.some(e.cause):y.none(),at=e=>{let t=tN(e);return x.N6(t)?y.none():y.some(t.success)},aa=e=>e,as=e=>(0,V.R6)(t=>eE(u.om(t.context,e))),al=(0,m.XY)(2,(e,t)=>(0,V.R6)(a=>{let s=a.context,l=t(s);return s===l||(a.setContext(l),sU(a,()=>{a.setContext(s)})),e})),ai=(0,m.XY)(3,(e,t,a)=>al(e,e=>{let s=u.fp(e,t),l=a(s);return s===l?e:u.WQ(e,t,l)})),ao=(e,t,a)=>s1((0,V.R6)(s=>{let l=u.fp(s.context,e),i=t(l);return s.setContext(u.WQ(s.context,e,i)),sx(u.fp(s.context,sg),t=>{let o,r=u.om(s.context,e);if(y.isNone(r))return e0;let n=r.value;if(a?.reset===void 0){if(n!==i)return e0;o=l}else o=a.reset(l,i,n);return s.setContext(u.WQ(s.context,e,o)),e0})})),ar=()=>an,an=(0,V.R6)(e=>eE(e.context)),ac=e=>(0,V.R6)(t=>e(t.context)),ad=(0,m.XY)(2,(e,t)=>al(e,(0,m.dY)(t))),ap=(0,m.XY)(2,(e,t)=>tq(e)?e:al(e,u.h1(t))),ag=function(){return 1==arguments.length?(0,m.XY)(2,(e,t)=>ah(e,arguments[0],t)):(0,m.XY)(3,(e,t,a)=>ah(e,t,a)).apply(this,arguments)},ah=(e,t,a)=>al(e,u.WQ(t,a)),au=(0,m.XY)(3,(e,t,a)=>tV(a,a=>ag(e,t,a))),af=(0,m.XY)(e=>(0,V.yw)(e[1]),(e,t,a)=>av(e,t,(e,t)=>[e,t],a)),av=(0,m.XY)(e=>(0,V.yw)(e[1]),(e,t,a,s)=>s?.concurrent?tU(le([e,t],{concurrency:2}),([e,t])=>a(e,t)):tV(e,e=>tU(t,t=>a(e,t)))),am=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t,a)=>lm(e,t,a?e=>eY(a(e)):()=>eY(new V.Xm))),ay=(0,m.XY)(2,(e,t)=>tV(t,t=>t?tk(e):eW)),aw=(0,m.XY)(2,(e,t)=>Array.from({length:t},()=>e)),ax=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t,a)=>le(aw(e,t),a)),ab=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t)=>ln({while:m.ue,body:(0,m.dY)(t?.disableYield?e:tV(e,e=>e$)),step:m.Yi})),ak=(0,m.XY)(2,(e,t)=>new aC(e,1!==t.length?e=>t(e):t)),aM=(0,V.yj)({op:"OnFailure",[V._3]:tg}),aC=function(e,t){this[V.a2]=e,this[V.Sc]=t};aC.prototype=aM;let az=(0,m.XY)(3,(e,t,a)=>ak(e,e=>t(e)?a(e):eX(e))),a_=(0,m.XY)(3,(e,t,a)=>ak(e,e=>{let s=t(e);return x.N6(s)?eX(s.failure):a(s.success,e)})),aL=(0,m.XY)(2,(e,t)=>a_(e,R,e=>t(e))),aB=e=>a7(e,{onFailure:e=>(0,V.PW)(e)?eW:eY(e),onSuccess:eN}),aA=(0,m.XY)(2,(e,t)=>a_(e,W,t)),aP=(0,m.XY)(2,(e,t)=>ak(e,e=>tC(t(e),eX(e)))),aS=(0,m.XY)(3,(e,t,a)=>az(e,t,e=>tC(a(e),eX(e)))),aV=(0,m.XY)(3,(e,t,a)=>ak(e,e=>{let s=t(e);return x.N6(s)?eX(e):tC(a(s.success,e),eX(e))})),aH=(0,m.XY)(2,(e,t)=>aV(e,R,e=>t(e))),aq=(0,m.XY)(3,(e,t,a)=>{let s=Array.isArray(t)?e=>(0,w.i5)(e,"_tag")&&t.includes(e._tag):(0,w.$J)(t);return aH(e,e=>s(e)?a(e):e0)}),aF=(0,m.XY)(2,(e,t)=>aV(e,W,e=>t(e))),aI=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t,a,s)=>ak(e,e=>{let l=R(e);return x.N6(l)?eX(l.failure):t(l.success)?a(l.success):s?s(l.success):eX(e)})),aU=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t,a,s)=>ak(e,e=>{let l=R(e);if(x.N6(l))return eX(l.failure);let i=t(l.success);return x.N6(i)?s?s(i.failure):eX(e):a(i.success)})),aO=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t,a,s)=>aI(e,Array.isArray(t)?e=>(0,w.i5)(e,"_tag")&&t.includes(e._tag):(0,w.$J)(t),a,s)),aE=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t,a)=>{let s;return aU(e,e=>(s??=Object.keys(t),(0,w.i5)(e,"_tag")&&(0,w.Kg)(e._tag)&&s.includes(e._tag)?x.Py(e):x.fJ(e)),e=>t[e._tag](e),a)}),aX=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t,a,s,l)=>aI(e,e=>(0,w.$J)(e,t)&&(0,w.i5)(e,"reason")&&(void 0!==l||(0,w.$J)(e.reason,a)),e=>{let t=e.reason;return(0,w.$J)(t,a)?s(t,e):l?l(t,e):eY(e)})),aY=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t,a,s)=>{let l;return aI(e,e=>(0,w.$J)(e,t)&&(0,w.i5)(e,"reason")&&(0,w.i5)(e.reason,"_tag")&&(0,w.Kg)(e.reason._tag)&&(void 0!==s||(l??=Object.keys(a)).includes(e.reason._tag)),e=>{let t=e.reason;return(l??=Object.keys(a)).includes(t._tag)?a[t._tag](t,e):s?s(t,e):eY(e)})}),aZ=(0,m.XY)(2,(e,t)=>aU(e,e=>(0,w.$J)(e,t)&&(0,w.i5)(e,"reason")?x.Py(e.reason):x.fJ(e),eY)),aG=(0,m.XY)(2,(e,t)=>aL(e,e=>e1(()=>t(e)))),aT=(0,m.XY)(2,(e,t)=>a7(e,{onFailure:e=>e1(()=>t.onFailure(e)),onSuccess:e=>eZ(()=>t.onSuccess(e))})),aD=e=>aL(e,eQ),aR=(0,m.XY)(2,(e,t)=>aL(e,e=>eZ(()=>t(e)))),aj=e=>eG(()=>{let t=e[Symbol.iterator](),a=t.next();return a.done?eQ(Error("Received an empty collection of effects")):function e(a){let s=t.next();return s.done?a.value:aL(a.value,t=>e(s))}(a)}),a$=e=>aL(e,t=>tV(e$,()=>a$(e))),aN=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t)=>{if(!t?.log)return a7(e,{onFailure:e=>e0,onSuccess:e=>e0});let a=iR(!0===t.log?void 0:t.log);return aQ(e,{onFailure(e){let s=D(e);return x.N6(s)?eX(s.failure):void 0===t.message?a(e):a(t.message,e)},onSuccess:e=>e0})}),aW=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t)=>{if(!t?.log)return aQ(e,{onFailure:e=>e0,onSuccess:e=>e0});let a=iR(!0===t.log?void 0:t.log);return aQ(e,{onFailure:e=>void 0===t.message?a(e):a(t.message,e),onSuccess:e=>e0})}),aJ=e=>a8(e,{onFailure:y.none,onSuccess:y.some}),aK=e=>a9(e,{onFailure:x.fJ,onSuccess:x.Py}),aQ=(0,m.XY)(2,(e,t)=>new a0(e,1!==t.onSuccess.length?e=>t.onSuccess(e):t.onSuccess,1!==t.onFailure.length?e=>t.onFailure(e):t.onFailure)),a1=(0,V.yj)({op:"OnSuccessAndFailure",[V._3]:tg}),a0=function(e,t,a){this[V.a2]=e,this[V.ee]=t,this[V.Sc]=a};a0.prototype=a1;let a2=function(e,t){let a=this.payload;return t.succeedWith(tm?a.onSuccess(e):(0,S.s)(()=>a.onSuccess(e)))},a3=(e,t)=>{let a=(0,V.yj)({op:e,[V._3]:tg,[V.ee]:a2,[V.Sc]:t}),s=function(e,t){this[V.a2]=e,this.payload=t};return s.prototype=a,s},a5=a3("Match",function(e,t){let a=e.reasons.find(V.lC);if(void 0===a)return eX(e);let s=this.payload;return t.succeedWith(tm?s.onFailure(a.error):(0,S.s)(()=>s.onFailure(a.error)))}),a4=a3("MatchCause",function(e,t){let a=this.payload;return t.succeedWith(tm?a.onFailure(e):(0,S.s)(()=>a.onFailure(e)))}),a6=(0,m.XY)(2,(e,t)=>new a4(e,t)),a7=(0,m.XY)(2,(e,t)=>aQ(e,{onFailure:e=>{let a=e.reasons.find(V.lC);return a?t.onFailure(a.error):eX(e)},onSuccess:t.onSuccess})),a8=(0,m.XY)(2,(e,t)=>new a5(e,t)),a9=(0,m.XY)(2,(e,t)=>{if(tq(e)){if("Success"===e._tag)return(0,V.xt)(t.onSuccess(e.value));let a=R(e.cause);return x.N6(a)?e:(0,V.xt)(t.onFailure(a.success))}return a8(e,t)}),se=(0,m.XY)(2,(e,t)=>tq(e)?"Success"===e._tag?(0,V.xt)(t.onSuccess(e.value)):(0,V.xt)(t.onFailure(e.cause)):a6(e,t)),st=e=>tq(e)?(0,V.xt)(e):sa(e),sa=(0,V.Uf)({op:"Exit",[V._3](e){return e._stack.push(this),this[V.a2]},[V.ee]:(e,t,a)=>t.succeedWith(a??(0,V.xt)(e)),[V.Sc]:(e,t,a)=>t.succeedWith(a??(0,V.cb)(e))}),ss=a9({onFailure:()=>!0,onSuccess:()=>!1}),sl=a9({onFailure:()=>!1,onSuccess:()=>!0}),si=(0,m.XY)(2,(e,t)=>tC(iy(t),e)),so=(0,m.XY)(2,(e,t)=>tV(sn(e,t.duration),e=>y.isNone(e)?t.orElse():eE(e.value))),sr=(0,m.XY)(2,(e,t)=>{let a=f.bN(t);return so(e,{duration:a,orElse:()=>eY(new iC(`Operation timed out after '${f.GP(a)}'`))})}),sn=(0,m.XY)(2,(e,t)=>tS(tk(e),tp(iy(t),y.none()))),sc=e=>im(t=>{let a=t.monotonicTimeNanosUnsafe();return tU(e,e=>[f.cF(t.monotonicTimeNanosUnsafe()-a),e])}),sd="~effect/Scope",sp="~effect/Scope/Closeable",sg=u.kl("effect/Scope"),sh=(e,t)=>(0,V.R6)(a=>{let s=su(e,t);return void 0===s?e0:(s4(a),s)}),su=(e,t)=>{let a=e.state;if("Closed"===a._tag||(e.state={_tag:"Closed",exit:t},void 0!==e.parent&&sM(e.parent,e),"Empty"===a._tag))return;if(void 0!==a.finalizer)return sf(a.finalizer,t);let s=a.finalizers;return 1===s.size?sf(s.values().next().value,t):sm(e,s,t)},sf=(e,t)=>{try{return e(t)}catch(e){return(0,V.V2)(e)}},sv=(e,t)=>tG(e)?t:ak(t,t=>eX((0,V.h2)(e.cause,t))),sm=ts(function*(e,t,a){let s=[],l=[],i=Array.from(t.values()),o=eM();for(let t=i.length-1;t>=0;t--){let r=i[t];"sequential"===e.strategy?s.push((yield*st(sf(r,a)))):l.push(lB(o,sf(r,a),!0,!0,"inherit"))}return l.length>0&&(s=yield*eV(l)),yield*t8(s)}),sy=(e,t)=>eZ(()=>sw(e,t)),sw=(e,t)=>{let a=sz(t,e);return"Closed"===e.state._tag?a.state=e.state:sk(e,a,e=>sh(a,e)),a},sx=(e,t)=>eG(()=>"Closed"===e.state._tag?t(e.state.exit):(sk(e,{},t),e0)),sb=(e,t)=>sx(e,(0,m.dY)(t)),sk=(e,t,a)=>{if("Empty"===e.state._tag)e.state={_tag:"Open",finalizerKey:t,finalizer:a,finalizers:void 0};else if("Open"===e.state._tag){let s=e.state;void 0!==s.finalizer&&(s.finalizers=new Map([[s.finalizerKey,s.finalizer]]),s.finalizerKey=void 0,s.finalizer=void 0),s.finalizers.set(t,a)}},sM=(e,t)=>{if("Open"!==e.state._tag)return;let a=e.state;a.finalizerKey===t?e.state=s_:void 0!==a.finalizers&&(a.finalizers.delete(t),0===a.finalizers.size&&(e.state=s_))},sC=e=>sz(e,void 0),sz=(e="sequential",t)=>({[sp]:sp,[sd]:sd,strategy:e,parent:t,state:s_}),s_={_tag:"Empty"},sL=e=>eZ(()=>sC(e)),sB=sg,sA=ag(sg),sP=e=>(0,V.R6)(t=>{let a=t.context,s=sC();return t.setContext(u.WQ(t.context,sg,s)),sU(t,e=>(t.setContext(a),su(s,e))),e}),sS=(0,m.XY)(2,(e,t)=>sO(sA(e,t),e=>eG(()=>su(t,e)??e0))),sV=e=>eG(()=>{let t=sC();return sO(e(t),e=>eG(()=>su(t,e)??e0))}),sH=(e,t,a)=>ac(s=>s7(l=>tV(sB,i=>tz(a?.interruptible?l(e):e,e=>sx(i,a=>ap(t(e,a),s)))))),sq=e=>tV(sB,t=>ac(a=>sx(t,t=>ap(e(t),a)))),sF=(n=(0,V.yj)({op:"OnExit",[V._3](e){return e._stack.push(this),this.effect},[V.u4](e){e.interruptible&&!0!==this.interruptible&&(e._stack.push(s2),e.interruptible=!1)},[V.ee](e,t,a){let s;a??=(0,V.xt)(e);try{s=this.onExit(a)}catch(e){s=(0,V.V2)(e)}return s?tV(s,e=>a):a},[V.Sc](e,t,a){let s;a??=(0,V.cb)(e);try{s=this.onExit(a)}catch(e){s=(0,V.V2)(e)}return s?tV(sv(a,s),e=>a):a}}),(c=function(e,t,a){this.effect=e,this.onExit=t,this.interruptible=a}).prototype=n,c),sI=(e,t,a)=>new sF(e,t,a),sU=(e,t)=>{e._stack.push(new sF(void 0,t,void 0))},sO=(0,m.XY)(2,sI),sE=(0,m.XY)(2,(e,t)=>sO(e,e=>t)),sX=(0,m.XY)(3,(e,t,a)=>sO(e,e=>t(e)?a(e):e0)),sY=(0,m.XY)(3,(e,t,a)=>sO(e,e=>{let s=t(e);return x.N6(s)?e0:a(s.success,e)})),sZ=(0,m.XY)(2,(e,t)=>sY(e,t$,t)),sG=(0,m.XY)(3,(e,t,a)=>sX(e,e=>"Failure"===e._tag&&t(e.cause),e=>a(e.cause))),sT=(0,m.XY)(3,(e,t,a)=>sO(e,e=>{if("Failure"!==e._tag)return e0;let s=t(e.cause);return x.N6(s)?e0:a(s.success,e.cause)})),sD=(0,m.XY)(2,(e,t)=>sT(Q,t)(e)),sR=(e,t,a)=>s7(s=>tV(e,e=>sI(eG(()=>s(t(e))),t=>a(e,t),!0))),sj=e=>sH(e,e=>(0,w.i5)(e,Symbol.asyncDispose)?e3(()=>e[Symbol.asyncDispose]()):eZ(()=>e[Symbol.dispose]())),s$=(0,m.XY)(2,(e,t)=>eZ(()=>sW(e,"function"==typeof t?e=>f.kE(f.bN(t(e))):(0,m.dY)(f.kE(f.bN(t)))))),sN=(0,m.dY)(1/0),sW=(e,t)=>{let a,s,l=0,i=(e,t)=>(t.awaiters++,sU(e,()=>{if(!(--t.awaiters>0)&&s===t)return s=void 0,eF(t.fiber)}),eH(t.fiber));return[(0,V.R6)(o=>{if(void 0!==s)return i(o,s);if(void 0!==a&&(1/0===l||o.getRef(ip).currentTimeMillisUnsafe()<l))return a;a=void 0;let r=o.getRef(ip),n={fiber:void 0,awaiters:0};return s=n,n.fiber=lB(o,sI(e,e=>{if(s!==n||(s=void 0,tJ(e)))return;let i=t(e);l=1/0===i?1/0:r.currentTimeMillisUnsafe()+i,a=e}),!0,!0),n.fiber._exit??i(o,n)}),eZ(()=>{a=void 0})]},sJ=(0,m.XY)(2,(e,t)=>tU(s$(e,t),e=>e[0])),sK=e=>eZ(()=>sW(e,sN)[0]),sQ=(0,V.R6)(e=>eX(G(e.id))),s1=e=>(0,V.R6)(t=>(t.interruptible&&(t.interruptible=!1,t._stack.push(s2)),e)),s0=(0,V.Uf)({op:"SetInterruptible",[V.u4](e){if(e.interruptible=this[V.a2],e._interruptedCause&&e.interruptible)return()=>eX(e._interruptedCause)}}),s2=s0(!0),s3=s0(!1),s5=e=>{if(e.interruptible=!0,e._stack.push(s3),e._interruptedCause)return eX(e._interruptedCause)},s4=e=>{e.interruptible&&(e.interruptible=!1,e._stack.push(s2))},s6=e=>(0,V.R6)(t=>t.interruptible?e:s5(t)??e),s7=e=>(0,V.R6)(t=>t.interruptible?(t.interruptible=!1,t._stack.push(s2),e(s6)):e(m.D_)),s8=e=>(0,V.R6)(t=>{if(t.interruptible)return e(m.D_);let a=s5(t),s=e(s1);return a??s}),s9=tU(sH(eZ(()=>new AbortController),e=>eZ(()=>e.abort())),e=>e.signal),le=(e,t)=>(0,w.xZ)(e)?t?.mode==="result"?lc(e,aK,t):lc(e,m.D_,t):t?.discard?"result"===t.mode?lc(Object.values(e),aK,t):lc(Object.values(e),m.D_,t):eG(()=>{let a={};return tp(lc(Object.entries(e),([e,s])=>tU(t?.mode==="result"?aK(s):s,t=>{F.x(a,e,t)}),{discard:!0,concurrency:t?.concurrency}),a)}),lt=(0,m.XY)(e=>(0,w.xZ)(e[0])&&!(0,V.yw)(e[0]),(e,t,a)=>tU(lc(e,(e,a)=>aK(t(e,a)),a),e=>h.jB(e,m.D_))),la=(0,m.XY)(3,(e,t,a)=>{let s=h.Ts(e);return 0===s.length?eZ(t):eG(()=>{let e=0,l=t();return tU(ln({while:()=>e<s.length,body:()=>a(l,s[e],e),step(t){l=t,e++}}),()=>l)})}),ls=(0,m.XY)(e=>(0,w.xZ)(e[0])&&!(0,V.yw)(e[0]),(e,t,a)=>tV(lt(e,t,{concurrency:a?.concurrency}),([e,t])=>h.CZ(t)?eY(t):a?.discard?e0:eE(e))),ll=(0,m.XY)(e=>(0,w.xZ)(e[0])&&!(0,V.yw)(e[0]),(e,t)=>eG(()=>{let a=e[Symbol.iterator](),s=a.next();return s.done?eE(y.none()):li(a,0,t,s.value)})),li=(e,t,a,s)=>tV(a(s,t),l=>{if(l)return eE(y.some(s));let i=e.next();return i.done?eE(y.none()):li(e,t+1,a,i.value)}),lo=(0,m.XY)(e=>(0,w.xZ)(e[0])&&!(0,V.yw)(e[0]),(e,t)=>eG(()=>{let a=e[Symbol.iterator](),s=a.next();return s.done?eE(y.none()):lr(a,0,t,s.value)})),lr=(e,t,a,s)=>tV(a(s,t),s=>{if(x.oJ(s))return eE(y.some(s.success));let l=e.next();return l.done?eE(y.none()):lr(e,t+1,a,l.value)}),ln=(0,V.Uf)({op:"While",[V.ee](e,t){return(this[V.a2].step(e),this[V.a2].while())?(t._stack.push(this),this[V.a2].body()):t1},[V._3](e){return this[V.a2].while()?(e._stack.push(this),this[V.a2].body()):t1}}),lc=(0,m.XY)(e=>"function"==typeof e[1],(e,t,a)=>eG(()=>{let s=lg(a?.concurrency);if(1===s)return lp(e,t,a);let l=h.Ts(e),i=l.length;if(0===i)return a?.discard?e0:eE([]);let o=a?.discard?void 0:Array(i),r=lv({f:t,out:o},l,{concurrency:s});return r?tp(r,o):eE(o)})),ld=e=>tV(e,e=>{let t=e[Symbol.iterator]().next();return t.done?eY(new V.Xm):eE(t.value)}),lp=(e,t,a)=>eG(()=>{let s=a?.discard?void 0:[],l=e[Symbol.iterator](),i=l.next(),o=0;return tp(ln({while:()=>!i.done,body:()=>t(i.value,o++),step:e=>{s&&s.push(e),i=l.next()}}),s)}),lg=e=>"unbounded"===e?1/0:Math.max(1,e??1),lh=()=>e=>{let t=e.onItem,a=e.step,s=(e,t,s,i,o)=>tV(st(o),o=>a(e,t[s],o,s)??l(e,t,s+1,i)??e0),l=(e,l,i=0,o=l.length)=>{for(;i<o;i++){let r=l[i],n=t(e,r,i);if(!tq(n))return s(e,l,i,o,n);let c=a(e,r,n,i);if(c)return"Failure"===c._tag?c:void 0}};return l},lu=e=>{let t=e.onItem,a=e.step;return(e,s,l)=>{let i,o,r,n,c,d=0,p=l.end??s.length,g=l.concurrency,h=!1,u=e=>{let t=(0,V.V2)(e);return n=t,h=!0,o&&o.size>0?tV(s1(eU(Array.from(o))),()=>n??t):t},f=()=>{let l=!1;for(;!n&&d<p;d++){let p=s[d],v=c??t(e,p,d);if(tq(v)){if(n=a(e,p,v,d))break}else{if(!i)return te(e=>{let t;i=eM(),o=new Set,c=v,r=e;try{t=f()}catch(t){return e(u(t))}return t?e(t):eG(()=>(n??=t1,tV(o?eU(o):e0,()=>n?._tag==="Failure"?n:e0)))});c=void 0;let t=lB(i,v,!0,!0,"inherit");if(t._exit){if(n=a(e,p,t._exit,d))break;continue}o.add(t);let s=d;if(t.addObserver(i=>{o.delete(t);try{if(n){if("Failure"===i._tag){let e=i.cause.reasons.filter(e=>"Interrupt"!==e._tag);if(e.length>0){let t=(0,V.b5)(e);n=(0,V.cb)("Failure"===n._tag?(0,V.h2)(n.cause,t):t)}}}else{let t=a(e,p,i,s);t&&(n=t,f())}if(l){let e=f();e&&r(e)}else h&&0===o.size&&r(n??e0)}catch(e){r(u(e))}}),o.size<g)continue;l=!0,d++;return}}if(h=!0,n){if(o&&o.size>0){let e=eA(i);o.forEach(t=>t.interruptUnsafe(i.id,e));return}if(r||"Failure"===n._tag)return n}else if(r)if(!o)return t1;else 0===o.size&&r(e0)};return f()}},lf=()=>e=>lu(e),lv=lu({onItem:(e,t,a)=>e.f(t,a),step(e,t,a,s){if("Failure"===a._tag)return a;e.out&&(e.out[s]=a.value)}}),lm=(0,m.XY)(3,(e,t,a)=>tV(e,e=>t(e)?eE(e):a(e))),ly=(0,m.XY)(3,(e,t,a)=>tV(e,e=>{let s=t(e);return x.N6(s)?a(s.failure):eE(s.success)})),lw=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t,a)=>ly(e,t,a?e=>eY(a(e)):()=>eY(new V.Xm))),lx=(0,m.XY)(e=>(0,w.xZ)(e[0])&&!(0,V.yw)(e[0]),(e,t,a)=>eG(()=>{let s=[];return tp(lc(e,(e,a)=>{let l=t(e,a);return"boolean"==typeof l?(l&&s.push(e),e0):tU(l,t=>{t&&s.push(e)})},{discard:!0,concurrency:a?.concurrency}),s)})),lb=(0,m.XY)(e=>(0,w.xZ)(e[0])&&!(0,V.yw)(e[0]),(e,t)=>eG(()=>{let a=[];for(let s of e){let e=t(s);x.oJ(e)&&a.push(e.success)}return eE(a)})),lk=(0,m.XY)(e=>(0,w.xZ)(e[0])&&!(0,V.yw)(e[0]),(e,t,a)=>eG(()=>{let s=[];return tp(lc(e,e=>tU(t(e),e=>{x.oJ(e)&&s.push(e.success)}),{discard:!0,concurrency:a?.concurrency}),s)})),lM=eE({}),lC=H.Jr(tU),lz=H.oI(tU,tV),l_=H.zM(tU),lL=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t)=>(0,V.R6)(a=>(eB.interruptChildren??=eP,eE(lB(a,e,t?.startImmediately,!1,t?.uninterruptible??!1))))),lB=(e,t,a=!1,s=!1,l=!1)=>{let i="inherit"===l?e.interruptible:!l,o=new eC(e.context,i);return a?o.evaluate(t):(o._asyncContext=ek(),e.currentDispatcher.scheduleTask(()=>o.evaluate(t),0)),s||o._exit||(e.children().add(o),o._parent=e),o},lA=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t)=>(0,V.R6)(a=>eE(lB(a,e,t?.startImmediately,!0,t?.uninterruptible)))),lP=e=>(0,V.R6)(t=>{let a=t._children&&new Set(t._children),s=t.interruptible;return sI(e,e=>{let l=t._children;if(void 0===l||0===l.size)return e0;a&&(l=z.pb(l,e=>!a.has(e)));let i=t_(eV(l));return s?s6(i):i})}),lS=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t,a)=>(0,V.R6)(s=>{let l=lB(s,e,a?.startImmediately,!0,a?.uninterruptible);if(!l._exit)if("Closed"!==t.state._tag){let e={};sk(t,e,()=>e4(e=>e===l.id?e0:eF(l))),l.addObserver(()=>sM(t,e))}else l.interruptUnsafe(s.id,eA(s));return eE(l)})),lV=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t)=>tV(sB,a=>lS(e,a,t))),lH=e=>(t,a)=>{let s=new eC(a?.scheduler?u.WQ(e,A._F,a.scheduler):e,a?.uninterruptible!==!0);if(s.evaluate(t),s._exit)return s;if(a?.signal)if(a.signal.aborted)s.interruptUnsafe();else{let e=()=>s.interruptUnsafe();a.signal.addEventListener("abort",e,{once:!0}),s.addObserver(()=>a.signal.removeEventListener("abort",e))}return a?.onFiberStart&&a.onFiberStart(s),s},lq=(0,m.XY)(2,(e,t)=>{if(e._exit)return e;if("Closed"===t.state._tag)return e.interruptUnsafe(e.id),e;let a={};return sk(t,a,()=>eF(e)),e.addObserver(()=>sM(t,a)),e}),lF=lH(u.Ie()),lI=e=>{let t=lH(e);return(e,a)=>{let s=t(e,a);return a?.onExit&&s.addObserver(a.onExit),e=>s.interruptUnsafe(e)}},lU=lI(u.Ie()),lO=e=>{let t=lH(e);return(e,a)=>{let s=t(e,a);return new Promise(e=>{s.addObserver(t=>e(t))})}},lE=lO(u.Ie()),lX=e=>{let t=lO(e);return(e,a)=>t(e,a).then(e=>{if("Failure"===e._tag)throw eo(e.cause);return e.value})},lY=lX(u.Ie()),lZ=e=>{let t=lH(e);return e=>{if(tq(e))return e;let a=t(e,{scheduler:new A.FG("sync")});return a._dispatcher?.flush(),a._exit??(0,V.V2)(new iH(a))}},lG=lZ(u.Ie()),lT=e=>{let t=lZ(e);return e=>{let a=t(e);if("Failure"===a._tag)throw eo(a.cause);return a.value}},lD=lT(u.Ie()),lR=eE(!0),lj=eE(!1);class l${waiters=[];scheduled=void 0;_isOpen;constructor(e){this._isOpen=e}scheduleUnsafe(e){if(0===this.waiters.length)return lR;if(void 0===this.scheduled)this.scheduled=this.waiters,e.currentDispatcher.scheduleTask(this.flushScheduled,0);else for(let e=0;e<this.waiters.length;e++)this.scheduled.push(this.waiters[e]);return this.waiters=[],lR}flushScheduled=()=>{if(void 0===this.scheduled)return;let e=this.scheduled;this.scheduled=void 0;for(let t=0;t<e.length;t++)e[t](t1)};flushWaiters(){let e=this.waiters;this.waiters=[],this.flushScheduled();for(let t=0;t<e.length;t++)e[t](t1)}open=(0,V.R6)(e=>this._isOpen?lj:(this._isOpen=!0,this.scheduleUnsafe(e)));release=(0,V.R6)(e=>this._isOpen?lj:this.scheduleUnsafe(e));openUnsafe(){return!this._isOpen&&(this._isOpen=!0,this.flushWaiters(),!0)}await=te(e=>this._isOpen?e(e0):(this.waiters.push(e),eZ(()=>{let t=this.waiters.indexOf(e);-1!==t?this.waiters.splice(t,1):void 0!==this.scheduled&&-1!==(t=this.scheduled.indexOf(e))&&this.scheduled.splice(t,1)})));closeUnsafe(){return!!this._isOpen&&(this._isOpen=!1,!0)}close=eZ(()=>this.closeUnsafe());whenOpen=e=>tV(this.await,()=>e);isOpen(){return this._isOpen}}let lN=e=>new l$(e??!1),lW=e=>eZ(()=>lN(e)),lJ=(0,V.R6)(e=>eE(e.getRef(P.sh))),lK=(0,m.XY)(2,(e,t)=>ag(e,P.sh,t)),lQ=ag(I.rf),l1=ag(I.nU),l0=BigInt(0),l2={_tag:"Span",spanId:"noop",traceId:"noop",sampled:!1,status:{_tag:"Ended",startTime:l0,endTime:l0,exit:t1},attributes:new Map,links:[],kind:"internal",attribute(){},event(){},end(){},addLinks(){}},l3=e=>e?u.Jt(e.annotations,P.DW)?"Span"===e._tag?l3(y.getOrUndefined(e.parent)):y.none():y.some(e):y.none(),l5=(e,t,a)=>{let s,l=!e.cache.tracerEnabled||a?.annotations&&u.Jt(a.annotations,P.DW),i=a?.parent!==void 0?y.some(a.parent):a?.root?y.none():l3(e.cache.span);if(l){let e;e={name:t,parent:i,annotations:u.WQ(a?.annotations??u.Ie(),P.DW,!0)},s=Object.assign(Object.create(l2),e)}else{let l=e.cache.tracer??P.Vv,o=e.getRef(ip),r=e.getRef(I.nU),n=e.getRef(I.ce),c=e.getRef(I.ls),d=a?.level??e.getRef(P.pX),p=a?.links!==void 0?[...c,...a.links]:0===c.length?[]:c.slice();for(let c in s=l.span({name:t,parent:i,annotations:a?.annotations??u.Ie(),links:p,startTime:r?o.currentTimeNanosUnsafe():l0,kind:a?.kind??"internal",root:a?.root??y.isNone(i),sampled:a?.sampled??((!y.isSome(i)||!1!==i.value.sampled)&&!iE(e.getRef(P.EW),d))}),n)s.attribute(c,n[c]);if(a?.attributes!==void 0)for(let e in a.attributes)s.attribute(e,a.attributes[e])}return s},l4=(e,t)=>(0,V.R6)(a=>eE(l5(a,e,t))),l6=(e,t)=>s1((0,V.R6)(a=>{let s=u.fp(a.context,sg),l=l5(a,e,t??{}),i=a.getRef(ip),o=a.getRef(I.nU);return tp(sx(s,e=>it(l,e,i,o)),l)})),l7=function(){let e="string"!=typeof arguments[0],t=e?arguments[1]:arguments[0],a=O(e?arguments[2]:arguments[1]);if(e){let e=arguments[0];return tV(l6(t,a),t=>il(e,t,a))}return e=>tV(l6(t,a),t=>il(e,t,a))},l8=I.ce,l9=I.ls,ie=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t,a={})=>{let s=(Array.isArray(t)?t:[t]).map(e=>({span:e,attributes:a}));return ai(e,I.ls,e=>[...e,...s])}),it=(e,t,a,s)=>eZ(()=>{"Ended"!==e.status._tag&&e.end(s?a.currentTimeNanosUnsafe():l0,t)}),ia=(e,...t)=>{let a=1===t.length?void 0:t[0],s=t[t.length-1];return(0,V.R6)(t=>{let l=l5(t,e,a),i=t.getRef(ip),o=t.getRef(I.nU);return sU(t,e=>it(l,e,i,o)),s(l)})},is=ag(P.Tv),il=function(){let e=(0,V.yw)(arguments[0]),t=e?arguments[1]:arguments[0],a=e?arguments[2]:arguments[1],s=m.D_;if("Span"===t._tag){var l,i;a=O(a),l=t.name,i="function"==typeof(i=a?.captureStackTrace)?i:m.MN,s=ai(I.vA,e=>({name:l,stack:i,parent:e}))}return e?is(s(arguments[0]),t):e=>is(s(e),t)},ii=function(){let e="string"!=typeof arguments[0],t=e?arguments[1]:arguments[0],a=O(arguments[2]);if(e){let e=arguments[0];return ia(t,arguments[2],t=>il(e,t,a))}let s="function"==typeof arguments[1]?arguments[1]:void 0,l=s?void 0:arguments[1];return(e,...i)=>ia(t,s?s(...i):l,t=>il(e,t,a))},io=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,...t)=>ai(e,I.ce,e=>{let a=1===t.length?{...e,...t[0]}:{...e};return 1===t.length||F.x(a,t[0],t[1]),a})),ir=(...e)=>(0,V.R6)(t=>{let a=t.currentSpanLocal;if(a)if(1===e.length)for(let[t,s]of Object.entries(e[0]))a.attribute(t,s);else a.attribute(e[0],e[1]);return e0}),ic=(0,V.R6)(e=>{let t=e.currentSpanLocal;return t?eE(t):eY(new V.Xm)}),id=(d=P.Tv,(0,V.R6)(e=>eT(u.om(e.context,d)))),ip=u.Or("effect/Clock",{defaultValue:()=>new ig});class ig{currentTimeMillisUnsafe(){return Date.now()}currentTimeMillis=eZ(()=>this.currentTimeMillisUnsafe());currentTimeNanosUnsafe(){return iv()}currentTimeNanos=eZ(()=>this.currentTimeNanosUnsafe());monotonicTimeNanosUnsafe(){return iu()}monotonicTimeNanos=eZ(()=>this.monotonicTimeNanosUnsafe());sleep(e){return this.sleepMillis(f.kE(e))}sleepMillis(e){return e<=0?e$:Number.isFinite(e)?te(t=>{let a=e>0x7fffffff?this.sleepMillis(e-0x7fffffff):e0,s=setTimeout(()=>t(a),Math.min(e,0x7fffffff));return eZ(()=>clearTimeout(s))}):tt}}let ih=BigInt(1e6),iu=function(){let e=globalThis.process?.hrtime;if("function"==typeof e?.bigint)return()=>e.bigint();if("u">typeof performance&&"function"==typeof performance.now)return()=>BigInt(Math.round(1e6*performance.now()));let t=BigInt(0);return()=>{let e=BigInt(Date.now())*ih;return e>t&&(t=e),t}}(),iv=(g=BigInt(1e9),()=>{let e=iu(),t=BigInt(Date.now())*ih;if(void 0===p)p=t-e;else{let a=p+e;(t>a?t-a:a-t)>g&&(p=t-e)}return p+e}),im=e=>(0,V.R6)(t=>e(t.getRef(ip))),iy=e=>im(t=>t.sleep(f.bN(e))),iw=im(e=>e.currentTimeMillis),ix=im(e=>e.currentTimeNanos),ib=im(e=>e.monotonicTimeNanos),ik="~effect/Cause/TimeoutError",iM=e=>(0,w.i5)(e,ik);class iC extends(0,V.rN)("TimeoutError"){[ik]=ik;constructor(e){super({message:e})}}let iz="~effect/Cause/IllegalArgumentError",i_=e=>(0,w.i5)(e,iz);class iL extends(0,V.rN)("IllegalArgumentError"){[iz]=iz;constructor(e){super({message:e})}}let iB="~effect/Cause/ExceededCapacityError",iA=e=>(0,w.i5)(e,iB);class iP extends(0,V.rN)("ExceededCapacityError"){[iB]=iB;constructor(e){super({message:e})}}let iS="~effect/Cause/AsyncFiberError",iV=e=>(0,w.i5)(e,iS);class iH extends(0,V.rN)("AsyncFiberError"){[iS]=iS;constructor(e){super({message:"An asynchronous Effect was executed with Effect.runSync",fiber:e})}}let iq="~effect/Cause/UnknownError",iF=e=>(0,w.i5)(e,iq);class iI extends(0,V.rN)("UnknownError"){[iq]=iq;constructor(e,t){super({message:t,cause:e})}}let iU=u.Or("effect/Console",{defaultValue:()=>globalThis.console}),iO=_.zQ(_.wN,e=>{switch(e){case"All":return Number.MIN_SAFE_INTEGER;case"Fatal":return 5e4;case"Error":return 4e4;case"Warn":return 3e4;case"Info":return 2e4;case"Debug":return 1e4;case"Trace":return 0;case"None":return Number.MAX_SAFE_INTEGER}}),iE=_.yJ(iO),iX=u.Or("effect/Logger/CurrentLoggers",{defaultValue:()=>new Set([ij,i$])}),iY=u.Or("effect/Logger/LogToStderr",{defaultValue:m.f4}),iZ=function(){let e="string"==typeof arguments[0]?[[arguments[0],arguments[1]]]:Object.entries(arguments[0]);return s1((0,V.R6)(t=>{let a=t.getRef(I.iL),s={...a};for(let t=0;t<e.length;t++){let[a,l]=e[t];F.x(s,a,l)}return t.setContext(u.WQ(t.context,I.iL,s)),sx(u.fp(t.context,sg),s=>{let l=t.getRef(I.iL),i={...l};for(let t=0;t<e.length;t++){let[s,o]=e[t];(l[s]===o||Object.is(l[s],o))&&(Object.hasOwn(a,s)?F.x(i,s,a[s]):delete i[s])}return t.setContext(u.WQ(t.context,I.iL,i)),e0})}))},iG={"~effect/Logger":{_Message:m.D_,_Output:m.D_},pipe(){return(0,L.tT)(this,arguments)}},iT=e=>{let t=Object.create(iG);return t.log=e,t},iD=(e,t)=>{let a=e[0].replace(/[\s="]/g,"_");return`${a}=${t-e[1]}ms`},iR=e=>(...t)=>{let a;for(let e=0,s=t.length;e<s;e++){let s=t[e];(0,V.Aj)(s)&&(a?t.splice(e,1):t=t.slice(0,e).concat(t.slice(e+1)),a=a?(0,V.b5)(a.reasons.concat(s.reasons)):s,e--)}return void 0===a&&(a=V.DH),(0,V.R6)(s=>{let l=e??s.cache.logLevel;if(iE(s.cache.minimumLogLevel,l))return e0;let i=s.getRef(ip),o=s.getRef(iX);if(o.size>0){let e=new Date(i.currentTimeMillisUnsafe());for(let i of o)i.log({cause:a,fiber:s,date:e,logLevel:l,message:t})}return e0})},ij=iT(({cause:e,date:t,fiber:a,logLevel:s,message:l})=>{let i=Array.isArray(l)?l.slice():[l];e.reasons.length>0&&i.push(ef(e));let o=t.getTime(),r=a.getRef(I.d8),n="";for(let e of r)n+=` ${iD(e,o)}`;let c=a.getRef(I.iL);Object.keys(c).length>0&&i.push(c);let d=a.getRef(iU);(a.getRef(iY)?d.error:d.log)(`[${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}:${t.getSeconds().toString().padStart(2,"0")}.${t.getMilliseconds().toString().padStart(3,"0")}] ${s.toUpperCase()} (#${a.id})${n}:`,...i)}),i$=iT(({cause:e,fiber:t,logLevel:a,message:s})=>{let l=t.getRef(ip),i=t.getRef(I.iL),o=t.cache.span;if(void 0===o||"ExternalSpan"===o._tag)return;let r={};for(let[e,t]of Object.entries(i))F.x(r,e,t);r["effect.fiberId"]=t.id,r["effect.logLevel"]=a.toUpperCase(),e.reasons.length>0&&(r["effect.cause"]=ef(e)),o.event((0,C.ZK)(Array.isArray(s)&&1===s.length?s[0]:s),l.currentTimeNanosUnsafe(),r)}),iN=eE(void 0),iW=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t)=>sZ(e,e=>(0,V.R6)(a=>(iJ(a,e,t?.defectsOnly),e0)))),iJ=(e,t,a)=>{let s=e.getRef(I.oQ);if(0===s.size||a&&!$(t))return;let l={cause:t,fiber:e,timestamp:e.getRef(ip).currentTimeNanosUnsafe()};s.forEach(e=>e.report(l))}},5844(e,t,a){let s=new WeakSet;a.d(t,{},{J3:s,Xp:e=>{let t=new Set(Reflect.ownKeys(e));if(e.constructor===Object)return t;e instanceof Error&&t.delete("stack");let a=Object.getPrototypeOf(e),s=a;for(;null!==s&&s!==Object.prototype;){let e=Reflect.ownKeys(s);for(let a=0;a<e.length;a++)t.add(e[a]);s=Object.getPrototypeOf(s)}return t.has("constructor")&&"function"==typeof e.constructor&&a===e.constructor.prototype&&t.delete("constructor"),t},j:e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength)})},7258(e,t,a){a.d(t,{},{F:"effect/Metric/FiberRuntimeMetrics"})},7731(e,t,a){var s=a(3332),l=a(1958),i=a(5033),o=a(3952),r=a(4233),n=a(6481),c=a(2449);let d="~effect/Option",p={[d]:{_A:e=>e},...c.fU,[Symbol.iterator](){return new n.B(this)}},g=Object.defineProperty(Object.assign(Object.create(p),{_tag:"Some",_op:"Some",[s.HR](e){return f(e)&&m(e)&&s.aI(this.value,e.value)},[i.HR](){return i.kg(i.tW(this._tag))(i.tW(this.value))},toString(){return`some(${(0,l.GP)(this.value)})`},toJSON(){return{_id:"Option",_tag:this._tag,value:(0,o.aB)(this.value)}}}),"valueOrUndefined",{get(){return this.value}}),h=i.tW("None"),u=Object.assign(Object.create(p),{_tag:"None",_op:"None",valueOrUndefined:void 0,[s.HR]:e=>f(e)&&v(e),[i.HR]:()=>h,toString:()=>"none()",toJSON(){return{_id:"Option",_tag:this._tag}}}),f=e=>(0,r.i5)(e,d),v=e=>"None"===e._tag,m=e=>"Some"===e._tag,y=Object.create(u),w=function(e){this.value=e};w.prototype=g,a.d(t,{},{$I:v,Ru:m,dv:y,oL:f,zN:e=>new w(e)})},2275(e,t,a){function s(e,t,a){"__proto__"===t?Object.defineProperty(e,t,{value:a,writable:!0,enumerable:!0,configurable:!0}):e[t]=a}function l(e,t){for(let a of Reflect.ownKeys(t))Object.prototype.propertyIsEnumerable.call(t,a)&&s(e,a,t[a])}a.d(t,{x:()=>s,z:()=>l})},6712(e,t,a){var s=a(1179),l=a(1594);let i=s.Or("effect/ErrorReporter/CurrentErrorReporters",{defaultValue:()=>new Set}),o=s.Or("effect/References/CurrentStackFrame",{fiberCached:!0,defaultValue:l.MN}),r=s.Or("effect/References/TracerEnabled",{fiberCached:!0,defaultValue:l.ue}),n=s.Or("effect/References/TracerTimingEnabled",{defaultValue:l.ue}),c=s.Or("effect/References/TracerSpanAnnotations",{defaultValue:()=>({})}),d=s.Or("effect/References/TracerSpanLinks",{defaultValue:()=>[]}),p=s.Or("effect/References/CurrentLogAnnotations",{defaultValue:()=>({})}),g=s.Or("effect/References/CurrentLogLevel",{fiberCached:!0,defaultValue:()=>"Info"}),h=s.Or("effect/References/MinimumLogLevel",{fiberCached:!0,defaultValue:()=>"Info"}),u=s.Or("effect/References/UnhandledLogLevel",{defaultValue:()=>"Error"}),f=s.Or("effect/References/CurrentLogSpans",{defaultValue:()=>[]});a.d(t,{},{Gl:g,aG:u,ce:c,d8:f,iL:p,ls:d,nU:n,oQ:i,rf:r,vA:o,zQ:h})},2563(e,t,a){var s=a(3332),l=a(1958),i=a(1594),o=a(5033),r=a(3952),n=a(4233),c=a(6481),d=a(2449),p=a(7731);let g="~effect/Result",h={[g]:{_A:e=>e,_E:e=>e},...d.fU,[Symbol.iterator](){return new c.B(this)}},u=Object.assign(Object.create(h),{_tag:"Success",_op:"Success",[s.HR](e){return v(e)&&y(e)&&s.aI(this.success,e.success)},[o.HR](){return o.kg(o.tW(this._tag))(o.tW(this.success))},toString(){return`success(${(0,l.GP)(this.success)})`},toJSON(){return{_id:"Result",_tag:this._tag,value:(0,r.aB)(this.success)}}}),f=Object.assign(Object.create(h),{_tag:"Failure",_op:"Failure",[s.HR](e){return v(e)&&m(e)&&s.aI(this.failure,e.failure)},[o.HR](){return o.kg(o.tW(this._tag))(o.tW(this.failure))},toString(){return`failure(${(0,l.GP)(this.failure)})`},toJSON(){return{_id:"Result",_tag:this._tag,failure:(0,r.aB)(this.failure)}}}),v=e=>(0,n.i5)(e,g),m=e=>"Failure"===e._tag,y=e=>"Success"===e._tag,w=function(e){this.failure=e};w.prototype=f;let x=e=>new w(e),b=function(e){this.success=e};b.prototype=u;let k=e=>new b(e),M=(0,i.XY)(2,(e,t)=>p.$I(e)?x(t()):k(e.value));a.d(t,{},{L8:e=>y(e)?p.dv:p.zN(e.failure),N6:m,Oz:e=>m(e)?p.dv:p.zN(e.success),Py:k,aI:v,fJ:x,oJ:y,sV:M})},2840(e,t,a){var s=a(1594);function l(e){return e.checks?e.checks[e.checks.length-1].annotations:e.annotations}function i(e){return t=>l(t)?.[e]}let o="~structural",r="~identifier",n="~sentinels",c=i("identifier"),d=i(r),p=i("title"),g=i("description"),h=(0,s.Bj)(e=>{let t=l(e)?.identifier;return"string"==typeof t?t:e.getExpected(h)}),u=new Set([n,o,"representation","arbitraryConstraint","toJsonSchema","toCode","toEquivalence","toFormatter","toCodec","toCodecJson","toCodecStringTree","toCodecIso","toCodecArbitrary"]);a.d(t,{hd:()=>l,ip:()=>i},{C3:o,CD:d,DQ:p,I_:n,KE:c,L1:["title","description","default","examples","readOnly","writeOnly","format","contentEncoding","contentMediaType","contentSchema"],Pk:g,R4:r,UI:u,bo:h,py:"~constructor"})},8253(e,t,a){var s=a(719),l=a(7086);function i(e){let t;for(let a of e.reasons){if(!s.lC(a)||!l.gh(a.error))return;t??=a.error}return t}function o(e,t){let a=i(e);if(void 0===a)throw Error(t,{cause:e});return a}a.d(t,{R:()=>i,q:()=>o})},587(e,t,a){var s=a(6526),l=a(1587);let i=Symbol(),o=s.Py,r=o(i),n=o(i);a.d(t,{},{LO:i,Py:o,Rr:n,e8:e=>"None"===e._tag?r:o(e.value),r2:r,zL:e=>e===i?l.none():l.some(e)})},5340(e,t,a){let s,l=void 0===(s=Object.getOwnPropertyDescriptor(Error,"stackTraceLimit"))?Object.isExtensible(Error):Object.hasOwn(s,"writable")?!0===s.writable:void 0!==s.set;a.d(t,{},{ft:e=>{l&&(Error.stackTraceLimit=e)},jt:()=>Error.stackTraceLimit})},8689(e,t,a){let s,l,i,o,r;function n(e){let t=e.length;for(;--t>=0;)e[t]=0}let c=573,d=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),p=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),g=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),h=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),u=Array(576);n(u);let f=Array(60);n(f);let v=Array(512);n(v);let m=Array(256);n(m);let y=Array(29);n(y);let w=Array(30);function x(e,t,a,s,l){this.static_tree=e,this.extra_bits=t,this.extra_base=a,this.elems=s,this.max_length=l,this.has_stree=e&&e.length}function b(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}n(w);let k=e=>e<256?v[e]:v[256+(e>>>7)],M=(e,t)=>{e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},C=(e,t,a)=>{e.bi_valid>16-a?(e.bi_buf|=t<<e.bi_valid&65535,M(e,e.bi_buf),e.bi_buf=t>>16-e.bi_valid,e.bi_valid+=a-16):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=a)},z=(e,t,a)=>{C(e,a[2*t],a[2*t+1])},_=(e,t)=>{let a=0;do a|=1&e,e>>>=1,a<<=1;while(--t>0)return a>>>1},L=(e,t,a)=>{let s,l,i=Array(16),o=0;for(s=1;s<=15;s++)i[s]=o=o+a[s-1]<<1;for(l=0;l<=t;l++){let t=e[2*l+1];0!==t&&(e[2*l]=_(i[t]++,t))}},B=e=>{let t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0},A=e=>{e.bi_valid>8?M(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},P=(e,t,a,s)=>{let l=2*t,i=2*a;return e[l]<e[i]||e[l]===e[i]&&s[t]<=s[a]},S=(e,t,a)=>{let s=e.heap[a],l=a<<1;for(;l<=e.heap_len&&(l<e.heap_len&&P(t,e.heap[l+1],e.heap[l],e.depth)&&l++,!P(t,s,e.heap[l],e.depth));)e.heap[a]=e.heap[l],a=l,l<<=1;e.heap[a]=s},V=(e,t,a)=>{let s,l,i,o,r=0;if(0!==e.last_lit)do s=e.pending_buf[e.d_buf+2*r]<<8|e.pending_buf[e.d_buf+2*r+1],l=e.pending_buf[e.l_buf+r],r++,0===s?z(e,l,t):(z(e,(i=m[l])+256+1,t),0!==(o=d[i])&&C(e,l-=y[i],o),z(e,i=k(--s),a),0!==(o=p[i])&&C(e,s-=w[i],o));while(r<e.last_lit)z(e,256,t)},H=(e,t)=>{let a,s,l,i=t.dyn_tree,o=t.stat_desc.static_tree,r=t.stat_desc.has_stree,n=t.stat_desc.elems,d=-1;for(e.heap_len=0,e.heap_max=c,a=0;a<n;a++)0!==i[2*a]?(e.heap[++e.heap_len]=d=a,e.depth[a]=0):i[2*a+1]=0;for(;e.heap_len<2;)i[2*(l=e.heap[++e.heap_len]=d<2?++d:0)]=1,e.depth[l]=0,e.opt_len--,r&&(e.static_len-=o[2*l+1]);for(t.max_code=d,a=e.heap_len>>1;a>=1;a--)S(e,i,a);l=n;do a=e.heap[1],e.heap[1]=e.heap[e.heap_len--],S(e,i,1),s=e.heap[1],e.heap[--e.heap_max]=a,e.heap[--e.heap_max]=s,i[2*l]=i[2*a]+i[2*s],e.depth[l]=(e.depth[a]>=e.depth[s]?e.depth[a]:e.depth[s])+1,i[2*a+1]=i[2*s+1]=l,e.heap[1]=l++,S(e,i,1);while(e.heap_len>=2)e.heap[--e.heap_max]=e.heap[1],((e,t)=>{let a,s,l,i,o,r,n=t.dyn_tree,d=t.max_code,p=t.stat_desc.static_tree,g=t.stat_desc.has_stree,h=t.stat_desc.extra_bits,u=t.stat_desc.extra_base,f=t.stat_desc.max_length,v=0;for(i=0;i<=15;i++)e.bl_count[i]=0;for(n[2*e.heap[e.heap_max]+1]=0,a=e.heap_max+1;a<c;a++)(i=n[2*n[2*(s=e.heap[a])+1]+1]+1)>f&&(i=f,v++),n[2*s+1]=i,!(s>d)&&(e.bl_count[i]++,o=0,s>=u&&(o=h[s-u]),r=n[2*s],e.opt_len+=r*(i+o),g&&(e.static_len+=r*(p[2*s+1]+o)));if(0!==v){do{for(i=f-1;0===e.bl_count[i];)i--;e.bl_count[i]--,e.bl_count[i+1]+=2,e.bl_count[f]--,v-=2}while(v>0)for(i=f;0!==i;i--)for(s=e.bl_count[i];0!==s;)!((l=e.heap[--a])>d)&&(n[2*l+1]!==i&&(e.opt_len+=(i-n[2*l+1])*n[2*l],n[2*l+1]=i),s--)}})(e,t),L(i,d,e.bl_count)},q=(e,t,a)=>{let s,l,i=-1,o=t[1],r=0,n=7,c=4;for(0===o&&(n=138,c=3),t[(a+1)*2+1]=65535,s=0;s<=a;s++)l=o,o=t[(s+1)*2+1],++r<n&&l===o||(r<c?e.bl_tree[2*l]+=r:0!==l?(l!==i&&e.bl_tree[2*l]++,e.bl_tree[32]++):r<=10?e.bl_tree[34]++:e.bl_tree[36]++,r=0,i=l,0===o?(n=138,c=3):l===o?(n=6,c=3):(n=7,c=4))},F=(e,t,a)=>{let s,l,i=-1,o=t[1],r=0,n=7,c=4;for(0===o&&(n=138,c=3),s=0;s<=a;s++)if(l=o,o=t[(s+1)*2+1],!(++r<n)||l!==o){if(r<c)do z(e,l,e.bl_tree);while(0!=--r)else 0!==l?(l!==i&&(z(e,l,e.bl_tree),r--),z(e,16,e.bl_tree),C(e,r-3,2)):r<=10?(z(e,17,e.bl_tree),C(e,r-3,3)):(z(e,18,e.bl_tree),C(e,r-11,7));r=0,i=l,0===o?(n=138,c=3):l===o?(n=6,c=3):(n=7,c=4)}},I=!1,U=(e,t,a,s)=>{C(e,0+ +!!s,3),A(e),M(e,a),M(e,~a),e.pending_buf.set(e.window.subarray(t,t+a),e.pending),e.pending+=a};var O={_tr_init:e=>{I||((()=>{let e,t,a,o,r,n=Array(16);for(o=0,a=0;o<28;o++)for(y[o]=a,e=0;e<1<<d[o];e++)m[a++]=o;for(m[a-1]=o,r=0,o=0;o<16;o++)for(w[o]=r,e=0;e<1<<p[o];e++)v[r++]=o;for(r>>=7;o<30;o++)for(w[o]=r<<7,e=0;e<1<<p[o]-7;e++)v[256+r++]=o;for(t=0;t<=15;t++)n[t]=0;for(e=0;e<=143;)u[2*e+1]=8,e++,n[8]++;for(;e<=255;)u[2*e+1]=9,e++,n[9]++;for(;e<=279;)u[2*e+1]=7,e++,n[7]++;for(;e<=287;)u[2*e+1]=8,e++,n[8]++;for(L(u,287,n),e=0;e<30;e++)f[2*e+1]=5,f[2*e]=_(e,5);s=new x(u,d,257,286,15),l=new x(f,p,0,30,15),i=new x([],g,0,19,7)})(),I=!0),e.l_desc=new b(e.dyn_ltree,s),e.d_desc=new b(e.dyn_dtree,l),e.bl_desc=new b(e.bl_tree,i),e.bi_buf=0,e.bi_valid=0,B(e)},_tr_stored_block:U,_tr_flush_block:(e,t,a,s)=>{let l,i,o=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=(e=>{let t,a=0xf3ffc07f;for(t=0;t<=31;t++,a>>>=1)if(1&a&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0})(e)),H(e,e.l_desc),H(e,e.d_desc),o=(e=>{let t;for(q(e,e.dyn_ltree,e.l_desc.max_code),q(e,e.dyn_dtree,e.d_desc.max_code),H(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*h[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(e),l=e.opt_len+3+7>>>3,(i=e.static_len+3+7>>>3)<=l&&(l=i)):l=i=a+5,a+4<=l&&-1!==t?U(e,t,a,s):4===e.strategy||i===l?(C(e,2+ +!!s,3),V(e,u,f)):(C(e,4+ +!!s,3),((e,t,a,s)=>{let l;for(C(e,t-257,5),C(e,a-1,5),C(e,s-4,4),l=0;l<s;l++)C(e,e.bl_tree[2*h[l]+1],3);F(e,e.dyn_ltree,t-1),F(e,e.dyn_dtree,a-1)})(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),V(e,e.dyn_ltree,e.dyn_dtree)),B(e),s&&A(e)},_tr_tally:(e,t,a)=>(e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&a,e.last_lit++,0===t?e.dyn_ltree[2*a]++:(e.matches++,t--,e.dyn_ltree[(m[a]+256+1)*2]++,e.dyn_dtree[2*k(t)]++),e.last_lit===e.lit_bufsize-1),_tr_align:e=>{C(e,2,3),z(e,256,u),16===e.bi_valid?(M(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}},E=(e,t,a,s)=>{let l=65535&e,i=e>>>16&65535,o=0;for(;0!==a;){o=a>2e3?2e3:a,a-=o;do i=i+(l=l+t[s++]|0)|0;while(--o)l%=65521,i%=65521}return l|i<<16};let X=new Uint32Array((()=>{let e,t=[];for(var a=0;a<256;a++){e=a;for(var s=0;s<8;s++)e=1&e?0xedb88320^e>>>1:e>>>1;t[a]=e}return t})());var Y=(e,t,a,s)=>{let l=s+a;e^=-1;for(let a=s;a<l;a++)e=e>>>8^X[(e^t[a])&255];return -1^e},Z={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},G={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};let{_tr_init:T,_tr_stored_block:D,_tr_flush_block:R,_tr_tally:j,_tr_align:$}=O,{Z_NO_FLUSH:N,Z_PARTIAL_FLUSH:W,Z_FULL_FLUSH:J,Z_FINISH:K,Z_BLOCK:Q,Z_OK:ee,Z_STREAM_END:et,Z_STREAM_ERROR:ea,Z_DATA_ERROR:es,Z_BUF_ERROR:el,Z_DEFAULT_COMPRESSION:ei,Z_FILTERED:eo,Z_HUFFMAN_ONLY:er,Z_RLE:en,Z_FIXED:ec,Z_DEFAULT_STRATEGY:ed,Z_UNKNOWN:ep,Z_DEFLATED:eg}=G,eh=573,eu=(e,t)=>(e.msg=Z[t],t),ef=e=>(e<<1)-9*(e>4),ev=e=>{let t=e.length;for(;--t>=0;)e[t]=0},em=(e,t,a)=>(t<<e.hash_shift^a)&e.hash_mask,ey=e=>{let t=e.state,a=t.pending;a>e.avail_out&&(a=e.avail_out),0!==a&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+a),e.next_out),e.next_out+=a,t.pending_out+=a,e.total_out+=a,e.avail_out-=a,t.pending-=a,0===t.pending&&(t.pending_out=0))},ew=(e,t)=>{R(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ey(e.strm)},ex=(e,t)=>{e.pending_buf[e.pending++]=t},eb=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},ek=(e,t,a,s)=>{let l=e.avail_in;return(l>s&&(l=s),0===l)?0:(e.avail_in-=l,t.set(e.input.subarray(e.next_in,e.next_in+l),a),1===e.state.wrap?e.adler=E(e.adler,t,l,a):2===e.state.wrap&&(e.adler=Y(e.adler,t,l,a)),e.next_in+=l,e.total_in+=l,l)},eM=(e,t)=>{let a,s,l=e.max_chain_length,i=e.strstart,o=e.prev_length,r=e.nice_match,n=e.strstart>e.w_size-262?e.strstart-(e.w_size-262):0,c=e.window,d=e.w_mask,p=e.prev,g=e.strstart+258,h=c[i+o-1],u=c[i+o];e.prev_length>=e.good_match&&(l>>=2),r>e.lookahead&&(r=e.lookahead);do{if(c[(a=t)+o]!==u||c[a+o-1]!==h||c[a]!==c[i]||c[++a]!==c[i+1])continue;i+=2,a++;do;while(c[++i]===c[++a]&&c[++i]===c[++a]&&c[++i]===c[++a]&&c[++i]===c[++a]&&c[++i]===c[++a]&&c[++i]===c[++a]&&c[++i]===c[++a]&&c[++i]===c[++a]&&i<g)if(s=258-(g-i),i=g-258,s>o){if(e.match_start=t,o=s,s>=r)break;h=c[i+o-1],u=c[i+o]}}while((t=p[t&d])>n&&0!=--l)return o<=e.lookahead?o:e.lookahead},eC=e=>{let t,a,s,l,i,o=e.w_size;do{if(l=e.window_size-e.lookahead-e.strstart,e.strstart>=o+(o-262)){e.window.set(e.window.subarray(o,o+o),0),e.match_start-=o,e.strstart-=o,e.block_start-=o,t=a=e.hash_size;do s=e.head[--t],e.head[t]=s>=o?s-o:0;while(--a)t=a=o;do s=e.prev[--t],e.prev[t]=s>=o?s-o:0;while(--a)l+=o}if(0===e.strm.avail_in)break;if(a=ek(e.strm,e.window,e.strstart+e.lookahead,l),e.lookahead+=a,e.lookahead+e.insert>=3)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=em(e,e.ins_h,e.window[i+1]);e.insert&&(e.ins_h=em(e,e.ins_h,e.window[i+3-1]),e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<262&&0!==e.strm.avail_in)},ez=(e,t)=>{let a,s;for(;;){if(e.lookahead<262){if(eC(e),e.lookahead<262&&t===N)return 1;if(0===e.lookahead)break}if(a=0,e.lookahead>=3&&(e.ins_h=em(e,e.ins_h,e.window[e.strstart+3-1]),a=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==a&&e.strstart-a<=e.w_size-262&&(e.match_length=eM(e,a)),e.match_length>=3)if(s=j(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do e.strstart++,e.ins_h=em(e,e.ins_h,e.window[e.strstart+3-1]),a=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(0!=--e.match_length)e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=em(e,e.ins_h,e.window[e.strstart+1]);else s=j(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(s&&(ew(e,!1),0===e.strm.avail_out))return 1}return(e.insert=e.strstart<2?e.strstart:2,t===K)?(ew(e,!0),0===e.strm.avail_out)?3:4:e.last_lit&&(ew(e,!1),0===e.strm.avail_out)?1:2},e_=(e,t)=>{let a,s,l;for(;;){if(e.lookahead<262){if(eC(e),e.lookahead<262&&t===N)return 1;if(0===e.lookahead)break}if(a=0,e.lookahead>=3&&(e.ins_h=em(e,e.ins_h,e.window[e.strstart+3-1]),a=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==a&&e.prev_length<e.max_lazy_match&&e.strstart-a<=e.w_size-262&&(e.match_length=eM(e,a),e.match_length<=5&&(e.strategy===eo||3===e.match_length&&e.strstart-e.match_start>4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){l=e.strstart+e.lookahead-3,s=j(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=l&&(e.ins_h=em(e,e.ins_h,e.window[e.strstart+3-1]),a=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(0!=--e.prev_length)if(e.match_available=0,e.match_length=2,e.strstart++,s&&(ew(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((s=j(e,0,e.window[e.strstart-1]))&&ew(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return(e.match_available&&(s=j(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,t===K)?(ew(e,!0),0===e.strm.avail_out)?3:4:e.last_lit&&(ew(e,!1),0===e.strm.avail_out)?1:2};function eL(e,t,a,s,l){this.good_length=e,this.max_lazy=t,this.nice_length=a,this.max_chain=s,this.func=l}let eB=[new eL(0,0,0,0,(e,t)=>{let a=65535;for(65535>e.pending_buf_size-5&&(a=e.pending_buf_size-5);;){if(e.lookahead<=1){if(eC(e),0===e.lookahead&&t===N)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;let s=e.block_start+a;if((0===e.strstart||e.strstart>=s)&&(e.lookahead=e.strstart-s,e.strstart=s,ew(e,!1),0===e.strm.avail_out)||e.strstart-e.block_start>=e.w_size-262&&(ew(e,!1),0===e.strm.avail_out))return 1}return(e.insert=0,t===K)?(ew(e,!0),0===e.strm.avail_out)?3:4:(e.strstart>e.block_start&&(ew(e,!1),e.strm.avail_out),1)}),new eL(4,4,8,4,ez),new eL(4,5,16,8,ez),new eL(4,6,32,32,ez),new eL(4,4,16,16,e_),new eL(8,16,32,32,e_),new eL(8,16,128,128,e_),new eL(8,32,128,256,e_),new eL(32,128,258,1024,e_),new eL(32,258,258,4096,e_)];function eA(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=eg,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(2*eh),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),ev(this.dyn_ltree),ev(this.dyn_dtree),ev(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),ev(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),ev(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var eP=(e,t)=>{let a,s;if(!e||!e.state||t>Q||t<0)return e?eu(e,ea):ea;let l=e.state;if(!e.output||!e.input&&0!==e.avail_in||666===l.status&&t!==K)return eu(e,0===e.avail_out?el:ea);l.strm=e;let i=l.last_flush;if(l.last_flush=t,42===l.status)if(2===l.wrap)e.adler=0,ex(l,31),ex(l,139),ex(l,8),l.gzhead?(ex(l,+!!l.gzhead.text+2*!!l.gzhead.hcrc+4*!!l.gzhead.extra+8*!!l.gzhead.name+16*!!l.gzhead.comment),ex(l,255&l.gzhead.time),ex(l,l.gzhead.time>>8&255),ex(l,l.gzhead.time>>16&255),ex(l,l.gzhead.time>>24&255),ex(l,9===l.level?2:4*(l.strategy>=er||l.level<2)),ex(l,255&l.gzhead.os),l.gzhead.extra&&l.gzhead.extra.length&&(ex(l,255&l.gzhead.extra.length),ex(l,l.gzhead.extra.length>>8&255)),l.gzhead.hcrc&&(e.adler=Y(e.adler,l.pending_buf,l.pending,0)),l.gzindex=0,l.status=69):(ex(l,0),ex(l,0),ex(l,0),ex(l,0),ex(l,0),ex(l,9===l.level?2:4*(l.strategy>=er||l.level<2)),ex(l,3),l.status=113);else{let t=eg+(l.w_bits-8<<4)<<8;t|=(l.strategy>=er||l.level<2?0:l.level<6?1:6===l.level?2:3)<<6,0!==l.strstart&&(t|=32),t+=31-t%31,l.status=113,eb(l,t),0!==l.strstart&&(eb(l,e.adler>>>16),eb(l,65535&e.adler)),e.adler=1}if(69===l.status)if(l.gzhead.extra){for(a=l.pending;l.gzindex<(65535&l.gzhead.extra.length)&&(l.pending!==l.pending_buf_size||(l.gzhead.hcrc&&l.pending>a&&(e.adler=Y(e.adler,l.pending_buf,l.pending-a,a)),ey(e),a=l.pending,l.pending!==l.pending_buf_size));)ex(l,255&l.gzhead.extra[l.gzindex]),l.gzindex++;l.gzhead.hcrc&&l.pending>a&&(e.adler=Y(e.adler,l.pending_buf,l.pending-a,a)),l.gzindex===l.gzhead.extra.length&&(l.gzindex=0,l.status=73)}else l.status=73;if(73===l.status)if(l.gzhead.name){a=l.pending;do{if(l.pending===l.pending_buf_size&&(l.gzhead.hcrc&&l.pending>a&&(e.adler=Y(e.adler,l.pending_buf,l.pending-a,a)),ey(e),a=l.pending,l.pending===l.pending_buf_size)){s=1;break}s=l.gzindex<l.gzhead.name.length?255&l.gzhead.name.charCodeAt(l.gzindex++):0,ex(l,s)}while(0!==s)l.gzhead.hcrc&&l.pending>a&&(e.adler=Y(e.adler,l.pending_buf,l.pending-a,a)),0===s&&(l.gzindex=0,l.status=91)}else l.status=91;if(91===l.status)if(l.gzhead.comment){a=l.pending;do{if(l.pending===l.pending_buf_size&&(l.gzhead.hcrc&&l.pending>a&&(e.adler=Y(e.adler,l.pending_buf,l.pending-a,a)),ey(e),a=l.pending,l.pending===l.pending_buf_size)){s=1;break}s=l.gzindex<l.gzhead.comment.length?255&l.gzhead.comment.charCodeAt(l.gzindex++):0,ex(l,s)}while(0!==s)l.gzhead.hcrc&&l.pending>a&&(e.adler=Y(e.adler,l.pending_buf,l.pending-a,a)),0===s&&(l.status=103)}else l.status=103;if(103===l.status&&(l.gzhead.hcrc?(l.pending+2>l.pending_buf_size&&ey(e),l.pending+2<=l.pending_buf_size&&(ex(l,255&e.adler),ex(l,e.adler>>8&255),e.adler=0,l.status=113)):l.status=113),0!==l.pending){if(ey(e),0===e.avail_out)return l.last_flush=-1,ee}else if(0===e.avail_in&&ef(t)<=ef(i)&&t!==K)return eu(e,el);if(666===l.status&&0!==e.avail_in)return eu(e,el);if(0!==e.avail_in||0!==l.lookahead||t!==N&&666!==l.status){let a=l.strategy===er?((e,t)=>{let a;for(;;){if(0===e.lookahead&&(eC(e),0===e.lookahead)){if(t===N)return 1;break}if(e.match_length=0,a=j(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,a&&(ew(e,!1),0===e.strm.avail_out))return 1}return(e.insert=0,t===K)?(ew(e,!0),0===e.strm.avail_out)?3:4:e.last_lit&&(ew(e,!1),0===e.strm.avail_out)?1:2})(l,t):l.strategy===en?((e,t)=>{let a,s,l,i,o=e.window;for(;;){if(e.lookahead<=258){if(eC(e),e.lookahead<=258&&t===N)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(s=o[l=e.strstart-1])===o[++l]&&s===o[++l]&&s===o[++l]){i=e.strstart+258;do;while(s===o[++l]&&s===o[++l]&&s===o[++l]&&s===o[++l]&&s===o[++l]&&s===o[++l]&&s===o[++l]&&s===o[++l]&&l<i)e.match_length=258-(i-l),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(a=j(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(a=j(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),a&&(ew(e,!1),0===e.strm.avail_out))return 1}return(e.insert=0,t===K)?(ew(e,!0),0===e.strm.avail_out)?3:4:e.last_lit&&(ew(e,!1),0===e.strm.avail_out)?1:2})(l,t):eB[l.level].func(l,t);if((3===a||4===a)&&(l.status=666),1===a||3===a)return 0===e.avail_out&&(l.last_flush=-1),ee;if(2===a&&(t===W?$(l):t!==Q&&(D(l,0,0,!1),t===J&&(ev(l.head),0===l.lookahead&&(l.strstart=0,l.block_start=0,l.insert=0))),ey(e),0===e.avail_out))return l.last_flush=-1,ee}return t!==K?ee:l.wrap<=0?et:(2===l.wrap?(ex(l,255&e.adler),ex(l,e.adler>>8&255),ex(l,e.adler>>16&255),ex(l,e.adler>>24&255),ex(l,255&e.total_in),ex(l,e.total_in>>8&255),ex(l,e.total_in>>16&255),ex(l,e.total_in>>24&255)):(eb(l,e.adler>>>16),eb(l,65535&e.adler)),ey(e),l.wrap>0&&(l.wrap=-l.wrap),0!==l.pending?ee:et)},eS=e=>{if(!e||!e.state)return ea;let t=e.state.status;return 42!==t&&69!==t&&73!==t&&91!==t&&103!==t&&113!==t&&666!==t?eu(e,ea):(e.state=null,113===t?eu(e,es):ee)};let eV=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var eH=function(e){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let a=t.shift();if(a){if("object"!=typeof a)throw TypeError(a+"must be non-object");for(let t in a)eV(a,t)&&(e[t]=a[t])}}return e},eq=e=>{let t=0;for(let a=0,s=e.length;a<s;a++)t+=e[a].length;let a=new Uint8Array(t);for(let t=0,s=0,l=e.length;t<l;t++){let l=e[t];a.set(l,s),s+=l.length}return a};let eF=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){eF=!1}let eI=new Uint8Array(256);for(let e=0;e<256;e++)eI[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;eI[254]=eI[254]=1;var eU=e=>{let t,a,s,l,i,o=e.length,r=0;for(l=0;l<o;l++)(64512&(a=e.charCodeAt(l)))==55296&&l+1<o&&(64512&(s=e.charCodeAt(l+1)))==56320&&(a=65536+(a-55296<<10)+(s-56320),l++),r+=a<128?1:a<2048?2:a<65536?3:4;for(t=new Uint8Array(r),i=0,l=0;i<r;l++)(64512&(a=e.charCodeAt(l)))==55296&&l+1<o&&(64512&(s=e.charCodeAt(l+1)))==56320&&(a=65536+(a-55296<<10)+(s-56320),l++),a<128?t[i++]=a:(a<2048?t[i++]=192|a>>>6:(a<65536?t[i++]=224|a>>>12:(t[i++]=240|a>>>18,t[i++]=128|a>>>12&63),t[i++]=128|a>>>6&63),t[i++]=128|63&a);return t},eO=(e,t)=>{let a,s,l=t||e.length,i=Array(2*l);for(s=0,a=0;a<l;){let t=e[a++];if(t<128){i[s++]=t;continue}let o=eI[t];if(o>4){i[s++]=65533,a+=o-1;continue}for(t&=2===o?31:3===o?15:7;o>1&&a<l;)t=t<<6|63&e[a++],o--;if(o>1){i[s++]=65533;continue}t<65536?i[s++]=t:(t-=65536,i[s++]=55296|t>>10&1023,i[s++]=56320|1023&t)}var o=s;if(o<65534&&i.subarray&&eF)return String.fromCharCode.apply(null,i.length===o?i:i.subarray(0,o));let r="";for(let e=0;e<o;e++)r+=String.fromCharCode(i[e]);return r},eE=(e,t)=>{(t=t||e.length)>e.length&&(t=e.length);let a=t-1;for(;a>=0&&(192&e[a])==128;)a--;return a<0||0===a?t:a+eI[e[a]]>t?a:t},eX=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};let eY=Object.prototype.toString,{Z_NO_FLUSH:eZ,Z_SYNC_FLUSH:eG,Z_FULL_FLUSH:eT,Z_FINISH:eD,Z_OK:eR,Z_STREAM_END:ej,Z_DEFAULT_COMPRESSION:e$,Z_DEFAULT_STRATEGY:eN,Z_DEFLATED:eW}=G;function eJ(e){let t,a;this.options=eH({level:e$,method:eW,chunkSize:16384,windowBits:15,memLevel:8,strategy:eN},e||{});let s=this.options;s.raw&&s.windowBits>0?s.windowBits=-s.windowBits:s.gzip&&s.windowBits>0&&s.windowBits<16&&(s.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new eX,this.strm.avail_out=0;let l=((e,t,a,s,l,i)=>{var o,r;let n;if(!e)return ea;let c=1;if(t===ei&&(t=6),s<0?(c=0,s=-s):s>15&&(c=2,s-=16),l<1||l>9||a!==eg||s<8||s>15||t<0||t>9||i<0||i>ec)return eu(e,ea);8===s&&(s=9);let d=new eA;return e.state=d,d.strm=e,d.wrap=c,d.gzhead=null,d.w_bits=s,d.w_size=1<<d.w_bits,d.w_mask=d.w_size-1,d.hash_bits=l+7,d.hash_size=1<<d.hash_bits,d.hash_mask=d.hash_size-1,d.hash_shift=~~((d.hash_bits+3-1)/3),d.window=new Uint8Array(2*d.w_size),d.head=new Uint16Array(d.hash_size),d.prev=new Uint16Array(d.w_size),d.lit_bufsize=1<<l+6,d.pending_buf_size=4*d.lit_bufsize,d.pending_buf=new Uint8Array(d.pending_buf_size),d.d_buf=+d.lit_bufsize,d.l_buf=3*d.lit_bufsize,d.level=t,d.strategy=i,d.method=a,(n=(e=>{if(!e||!e.state)return eu(e,ea);e.total_in=e.total_out=0,e.data_type=ep;let t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?42:113,e.adler=+(2!==t.wrap),t.last_flush=N,T(t),ee})(o=e))===ee&&((r=o.state).window_size=2*r.w_size,ev(r.head),r.max_lazy_match=eB[r.level].max_lazy,r.good_match=eB[r.level].good_length,r.nice_match=eB[r.level].nice_length,r.max_chain_length=eB[r.level].max_chain,r.strstart=0,r.block_start=0,r.lookahead=0,r.insert=0,r.match_length=r.prev_length=2,r.match_available=0,r.ins_h=0),n})(this.strm,s.level,s.method,s.windowBits,s.memLevel,s.strategy);if(l!==eR)throw Error(Z[l]);if(s.header&&(t=this.strm,a=s.header,t&&t.state&&2===t.state.wrap&&(t.state.gzhead=a)),s.dictionary){let e;if(e="string"==typeof s.dictionary?eU(s.dictionary):"[object ArrayBuffer]"===eY.call(s.dictionary)?new Uint8Array(s.dictionary):s.dictionary,(l=((e,t)=>{let a=t.length;if(!e||!e.state)return ea;let s=e.state,l=s.wrap;if(2===l||1===l&&42!==s.status||s.lookahead)return ea;if(1===l&&(e.adler=E(e.adler,t,a,0)),s.wrap=0,a>=s.w_size){0===l&&(ev(s.head),s.strstart=0,s.block_start=0,s.insert=0);let e=new Uint8Array(s.w_size);e.set(t.subarray(a-s.w_size,a),0),t=e,a=s.w_size}let i=e.avail_in,o=e.next_in,r=e.input;for(e.avail_in=a,e.next_in=0,e.input=t,eC(s);s.lookahead>=3;){let e=s.strstart,t=s.lookahead-2;do s.ins_h=em(s,s.ins_h,s.window[e+3-1]),s.prev[e&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=e,e++;while(--t)s.strstart=e,s.lookahead=2,eC(s)}return s.strstart+=s.lookahead,s.block_start=s.strstart,s.insert=s.lookahead,s.lookahead=0,s.match_length=s.prev_length=2,s.match_available=0,e.next_in=o,e.input=r,e.avail_in=i,s.wrap=l,ee})(this.strm,e))!==eR)throw Error(Z[l]);this._dict_set=!0}}function eK(e,t){let a=new eJ(t);if(a.push(e,!0),a.err)throw a.msg||Z[a.err];return a.result}eJ.prototype.push=function(e,t){let a,s,l=this.strm,i=this.options.chunkSize;if(this.ended)return!1;for(s=t===~~t?t:!0===t?eD:eZ,"string"==typeof e?l.input=eU(e):"[object ArrayBuffer]"===eY.call(e)?l.input=new Uint8Array(e):l.input=e,l.next_in=0,l.avail_in=l.input.length;;){if(0===l.avail_out&&(l.output=new Uint8Array(i),l.next_out=0,l.avail_out=i),(s===eG||s===eT)&&l.avail_out<=6){this.onData(l.output.subarray(0,l.next_out)),l.avail_out=0;continue}if((a=eP(l,s))===ej)return l.next_out>0&&this.onData(l.output.subarray(0,l.next_out)),a=eS(this.strm),this.onEnd(a),this.ended=!0,a===eR;if(0===l.avail_out){this.onData(l.output);continue}if(s>0&&l.next_out>0){this.onData(l.output.subarray(0,l.next_out)),l.avail_out=0;continue}if(0===l.avail_in)break}return!0},eJ.prototype.onData=function(e){this.chunks.push(e)},eJ.prototype.onEnd=function(e){e===eR&&(this.result=eq(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var eQ=function(e,t){let a,s,l,i,o,r,n,c,d,p,g,h,u,f,v,m,y,w,x,b,k,M,C,z,_=e.state;a=e.next_in,C=e.input,s=a+(e.avail_in-5),l=e.next_out,z=e.output,i=l-(t-e.avail_out),o=l+(e.avail_out-257),r=_.dmax,n=_.wsize,c=_.whave,d=_.wnext,p=_.window,g=_.hold,h=_.bits,u=_.lencode,f=_.distcode,v=(1<<_.lenbits)-1,m=(1<<_.distbits)-1;t:do for(h<15&&(g+=C[a++]<<h,h+=8,g+=C[a++]<<h,h+=8),y=u[g&v];;){if(g>>>=w=y>>>24,h-=w,0==(w=y>>>16&255))z[l++]=65535&y;else if(16&w)for(x=65535&y,(w&=15)&&(h<w&&(g+=C[a++]<<h,h+=8),x+=g&(1<<w)-1,g>>>=w,h-=w),h<15&&(g+=C[a++]<<h,h+=8,g+=C[a++]<<h,h+=8),y=f[g&m];;){if(g>>>=w=y>>>24,h-=w,16&(w=y>>>16&255)){if(b=65535&y,h<(w&=15)&&(g+=C[a++]<<h,(h+=8)<w&&(g+=C[a++]<<h,h+=8)),(b+=g&(1<<w)-1)>r){e.msg="invalid distance too far back",_.mode=30;break t}if(g>>>=w,h-=w,b>(w=l-i)){if((w=b-w)>c&&_.sane){e.msg="invalid distance too far back",_.mode=30;break t}if(k=0,M=p,0===d){if(k+=n-w,w<x){x-=w;do z[l++]=p[k++];while(--w)k=l-b,M=z}}else if(d<w){if(k+=n+d-w,(w-=d)<x){x-=w;do z[l++]=p[k++];while(--w)if(k=0,d<x){x-=w=d;do z[l++]=p[k++];while(--w)k=l-b,M=z}}}else if(k+=d-w,w<x){x-=w;do z[l++]=p[k++];while(--w)k=l-b,M=z}for(;x>2;)z[l++]=M[k++],z[l++]=M[k++],z[l++]=M[k++],x-=3;x&&(z[l++]=M[k++],x>1&&(z[l++]=M[k++]))}else{k=l-b;do z[l++]=z[k++],z[l++]=z[k++],z[l++]=z[k++],x-=3;while(x>2)x&&(z[l++]=z[k++],x>1&&(z[l++]=z[k++]))}}else if((64&w)==0){y=f[(65535&y)+(g&(1<<w)-1)];continue}else{e.msg="invalid distance code",_.mode=30;break t}break}else if((64&w)==0){y=u[(65535&y)+(g&(1<<w)-1)];continue}else if(32&w){_.mode=12;break t}else{e.msg="invalid literal/length code",_.mode=30;break t}break}while(a<s&&l<o)a-=x=h>>3,h-=x<<3,g&=(1<<h)-1,e.next_in=a,e.next_out=l,e.avail_in=a<s?5+(s-a):5-(a-s),e.avail_out=l<o?257+(o-l):257-(l-o),_.hold=g,_.bits=h};let e1=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),e0=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),e2=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),e3=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var e5=(e,t,a,s,l,i,o,r)=>{let n,c,d,p,g,h,u,f,v,m=r.bits,y=0,w=0,x=0,b=0,k=0,M=0,C=0,z=0,_=0,L=0,B=null,A=0,P=new Uint16Array(16),S=new Uint16Array(16),V=null,H=0;for(y=0;y<=15;y++)P[y]=0;for(w=0;w<s;w++)P[t[a+w]]++;for(k=m,b=15;b>=1&&0===P[b];b--);if(k>b&&(k=b),0===b)return l[i++]=0x1400000,l[i++]=0x1400000,r.bits=1,0;for(x=1;x<b&&0===P[x];x++);for(k<x&&(k=x),z=1,y=1;y<=15;y++)if(z<<=1,(z-=P[y])<0)return -1;if(z>0&&(0===e||1!==b))return -1;for(S[1]=0,y=1;y<15;y++)S[y+1]=S[y]+P[y];for(w=0;w<s;w++)0!==t[a+w]&&(o[S[t[a+w]]++]=w);if(0===e?(B=V=o,h=19):1===e?(B=e1,A-=257,V=e0,H-=257,h=256):(B=e2,V=e3,h=-1),L=0,w=0,y=x,g=i,M=k,C=0,d=-1,p=(_=1<<k)-1,1===e&&_>852||2===e&&_>592)return 1;for(;;){u=y-C,o[w]<h?(f=0,v=o[w]):o[w]>h?(f=V[H+o[w]],v=B[A+o[w]]):(f=96,v=0),n=1<<y-C,x=c=1<<M;do l[g+(L>>C)+(c-=n)]=u<<24|f<<16|v;while(0!==c)for(n=1<<y-1;L&n;)n>>=1;if(0!==n?(L&=n-1,L+=n):L=0,w++,0==--P[y]){if(y===b)break;y=t[a+o[w]]}if(y>k&&(L&p)!==d){for(0===C&&(C=k),g+=x,z=1<<(M=y-C);M+C<b&&!((z-=P[M+C])<=0);)M++,z<<=1;if(_+=1<<M,1===e&&_>852||2===e&&_>592)return 1;l[d=L&p]=k<<24|M<<16|g-i}}return 0!==L&&(l[g+L]=y-C<<24|4194304),r.bits=k,0};let{Z_FINISH:e4,Z_BLOCK:e6,Z_TREES:e7,Z_OK:e8,Z_STREAM_END:e9,Z_NEED_DICT:te,Z_STREAM_ERROR:tt,Z_DATA_ERROR:ta,Z_MEM_ERROR:ts,Z_BUF_ERROR:tl,Z_DEFLATED:ti}=G,to=e=>(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24);function tr(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}let tn=e=>{if(!e||!e.state)return tt;let t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,(e=>{if(!e||!e.state)return tt;let t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,e8})(e)},tc=!0,td=e=>{if(tc){o=new Int32Array(512),r=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(e5(1,e.lens,0,288,o,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;e5(2,e.lens,0,32,r,0,e.work,{bits:5}),tc=!1}e.lencode=o,e.lenbits=9,e.distcode=r,e.distbits=5},tp=(e,t,a,s)=>{let l,i=e.state;return null===i.window&&(i.wsize=1<<i.wbits,i.wnext=0,i.whave=0,i.window=new Uint8Array(i.wsize)),s>=i.wsize?(i.window.set(t.subarray(a-i.wsize,a),0),i.wnext=0,i.whave=i.wsize):((l=i.wsize-i.wnext)>s&&(l=s),i.window.set(t.subarray(a-s,a-s+l),i.wnext),(s-=l)?(i.window.set(t.subarray(a-s,a),0),i.wnext=s,i.whave=i.wsize):(i.wnext+=l,i.wnext===i.wsize&&(i.wnext=0),i.whave<i.wsize&&(i.whave+=l))),0};var tg=(e,t)=>{let a,s,l,i,o,r,n,c,d,p,g,h,u,f,v,m,y,w,x,b,k,M,C,z,_=0,L=new Uint8Array(4),B=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return tt;12===(a=e.state).mode&&(a.mode=13),o=e.next_out,l=e.output,n=e.avail_out,i=e.next_in,s=e.input,r=e.avail_in,c=a.hold,d=a.bits,p=r,g=n,M=e8;a:for(;;)switch(a.mode){case 1:if(0===a.wrap){a.mode=13;break}for(;d<16;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}if(2&a.wrap&&35615===c){a.check=0,L[0]=255&c,L[1]=c>>>8&255,a.check=Y(a.check,L,2,0),c=0,d=0,a.mode=2;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&c)<<8)+(c>>8))%31){e.msg="incorrect header check",a.mode=30;break}if((15&c)!==ti){e.msg="unknown compression method",a.mode=30;break}if(c>>>=4,d-=4,k=(15&c)+8,0===a.wbits)a.wbits=k;else if(k>a.wbits){e.msg="invalid window size",a.mode=30;break}a.dmax=1<<a.wbits,e.adler=a.check=1,a.mode=512&c?10:12,c=0,d=0;break;case 2:for(;d<16;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}if(a.flags=c,(255&a.flags)!==ti){e.msg="unknown compression method",a.mode=30;break}if(57344&a.flags){e.msg="unknown header flags set",a.mode=30;break}a.head&&(a.head.text=c>>8&1),512&a.flags&&(L[0]=255&c,L[1]=c>>>8&255,a.check=Y(a.check,L,2,0)),c=0,d=0,a.mode=3;case 3:for(;d<32;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}a.head&&(a.head.time=c),512&a.flags&&(L[0]=255&c,L[1]=c>>>8&255,L[2]=c>>>16&255,L[3]=c>>>24&255,a.check=Y(a.check,L,4,0)),c=0,d=0,a.mode=4;case 4:for(;d<16;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}a.head&&(a.head.xflags=255&c,a.head.os=c>>8),512&a.flags&&(L[0]=255&c,L[1]=c>>>8&255,a.check=Y(a.check,L,2,0)),c=0,d=0,a.mode=5;case 5:if(1024&a.flags){for(;d<16;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}a.length=c,a.head&&(a.head.extra_len=c),512&a.flags&&(L[0]=255&c,L[1]=c>>>8&255,a.check=Y(a.check,L,2,0)),c=0,d=0}else a.head&&(a.head.extra=null);a.mode=6;case 6:if(1024&a.flags&&((h=a.length)>r&&(h=r),h&&(a.head&&(k=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Uint8Array(a.head.extra_len)),a.head.extra.set(s.subarray(i,i+h),k)),512&a.flags&&(a.check=Y(a.check,s,h,i)),r-=h,i+=h,a.length-=h),a.length))break a;a.length=0,a.mode=7;case 7:if(2048&a.flags){if(0===r)break a;h=0;do k=s[i+h++],a.head&&k&&a.length<65536&&(a.head.name+=String.fromCharCode(k));while(k&&h<r)if(512&a.flags&&(a.check=Y(a.check,s,h,i)),r-=h,i+=h,k)break a}else a.head&&(a.head.name=null);a.length=0,a.mode=8;case 8:if(4096&a.flags){if(0===r)break a;h=0;do k=s[i+h++],a.head&&k&&a.length<65536&&(a.head.comment+=String.fromCharCode(k));while(k&&h<r)if(512&a.flags&&(a.check=Y(a.check,s,h,i)),r-=h,i+=h,k)break a}else a.head&&(a.head.comment=null);a.mode=9;case 9:if(512&a.flags){for(;d<16;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}if(c!==(65535&a.check)){e.msg="header crc mismatch",a.mode=30;break}c=0,d=0}a.head&&(a.head.hcrc=a.flags>>9&1,a.head.done=!0),e.adler=a.check=0,a.mode=12;break;case 10:for(;d<32;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}e.adler=a.check=to(c),c=0,d=0,a.mode=11;case 11:if(0===a.havedict)return e.next_out=o,e.avail_out=n,e.next_in=i,e.avail_in=r,a.hold=c,a.bits=d,te;e.adler=a.check=1,a.mode=12;case 12:if(t===e6||t===e7)break a;case 13:if(a.last){c>>>=7&d,d-=7&d,a.mode=27;break}for(;d<3;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}switch(a.last=1&c,d-=1,3&(c>>>=1)){case 0:a.mode=14;break;case 1:if(td(a),a.mode=20,t===e7){c>>>=2,d-=2;break a}break;case 2:a.mode=17;break;case 3:e.msg="invalid block type",a.mode=30}c>>>=2,d-=2;break;case 14:for(c>>>=7&d,d-=7&d;d<32;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}if((65535&c)!=(c>>>16^65535)){e.msg="invalid stored block lengths",a.mode=30;break}if(a.length=65535&c,c=0,d=0,a.mode=15,t===e7)break a;case 15:a.mode=16;case 16:if(h=a.length){if(h>r&&(h=r),h>n&&(h=n),0===h)break a;l.set(s.subarray(i,i+h),o),r-=h,i+=h,n-=h,o+=h,a.length-=h;break}a.mode=12;break;case 17:for(;d<14;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}if(a.nlen=(31&c)+257,d-=5,a.ndist=(31&(c>>>=5))+1,d-=5,a.ncode=(15&(c>>>=5))+4,c>>>=4,d-=4,a.nlen>286||a.ndist>30){e.msg="too many length or distance symbols",a.mode=30;break}a.have=0,a.mode=18;case 18:for(;a.have<a.ncode;){for(;d<3;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}a.lens[B[a.have++]]=7&c,c>>>=3,d-=3}for(;a.have<19;)a.lens[B[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,C={bits:a.lenbits},M=e5(0,a.lens,0,19,a.lencode,0,a.work,C),a.lenbits=C.bits,M){e.msg="invalid code lengths set",a.mode=30;break}a.have=0,a.mode=19;case 19:for(;a.have<a.nlen+a.ndist;){for(;v=(_=a.lencode[c&(1<<a.lenbits)-1])>>>24,m=_>>>16&255,y=65535&_,!(v<=d);){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}if(y<16)c>>>=v,d-=v,a.lens[a.have++]=y;else{if(16===y){for(z=v+2;d<z;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}if(c>>>=v,d-=v,0===a.have){e.msg="invalid bit length repeat",a.mode=30;break}k=a.lens[a.have-1],h=3+(3&c),c>>>=2,d-=2}else if(17===y){for(z=v+3;d<z;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}c>>>=v,d-=v,k=0,h=3+(7&c),c>>>=3,d-=3}else{for(z=v+7;d<z;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}c>>>=v,d-=v,k=0,h=11+(127&c),c>>>=7,d-=7}if(a.have+h>a.nlen+a.ndist){e.msg="invalid bit length repeat",a.mode=30;break}for(;h--;)a.lens[a.have++]=k}}if(30===a.mode)break;if(0===a.lens[256]){e.msg="invalid code -- missing end-of-block",a.mode=30;break}if(a.lenbits=9,C={bits:a.lenbits},M=e5(1,a.lens,0,a.nlen,a.lencode,0,a.work,C),a.lenbits=C.bits,M){e.msg="invalid literal/lengths set",a.mode=30;break}if(a.distbits=6,a.distcode=a.distdyn,C={bits:a.distbits},M=e5(2,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,C),a.distbits=C.bits,M){e.msg="invalid distances set",a.mode=30;break}if(a.mode=20,t===e7)break a;case 20:a.mode=21;case 21:if(r>=6&&n>=258){e.next_out=o,e.avail_out=n,e.next_in=i,e.avail_in=r,a.hold=c,a.bits=d,eQ(e,g),o=e.next_out,l=e.output,n=e.avail_out,i=e.next_in,s=e.input,r=e.avail_in,c=a.hold,d=a.bits,12===a.mode&&(a.back=-1);break}for(a.back=0;v=(_=a.lencode[c&(1<<a.lenbits)-1])>>>24,m=_>>>16&255,y=65535&_,!(v<=d);){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}if(m&&(240&m)==0){for(w=v,x=m,b=y;v=(_=a.lencode[b+((c&(1<<w+x)-1)>>w)])>>>24,m=_>>>16&255,y=65535&_,!(w+v<=d);){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}c>>>=w,d-=w,a.back+=w}if(c>>>=v,d-=v,a.back+=v,a.length=y,0===m){a.mode=26;break}if(32&m){a.back=-1,a.mode=12;break}if(64&m){e.msg="invalid literal/length code",a.mode=30;break}a.extra=15&m,a.mode=22;case 22:if(a.extra){for(z=a.extra;d<z;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}a.length+=c&(1<<a.extra)-1,c>>>=a.extra,d-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=23;case 23:for(;v=(_=a.distcode[c&(1<<a.distbits)-1])>>>24,m=_>>>16&255,y=65535&_,!(v<=d);){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}if((240&m)==0){for(w=v,x=m,b=y;v=(_=a.distcode[b+((c&(1<<w+x)-1)>>w)])>>>24,m=_>>>16&255,y=65535&_,!(w+v<=d);){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}c>>>=w,d-=w,a.back+=w}if(c>>>=v,d-=v,a.back+=v,64&m){e.msg="invalid distance code",a.mode=30;break}a.offset=y,a.extra=15&m,a.mode=24;case 24:if(a.extra){for(z=a.extra;d<z;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}a.offset+=c&(1<<a.extra)-1,c>>>=a.extra,d-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){e.msg="invalid distance too far back",a.mode=30;break}a.mode=25;case 25:if(0===n)break a;if(h=g-n,a.offset>h){if((h=a.offset-h)>a.whave&&a.sane){e.msg="invalid distance too far back",a.mode=30;break}h>a.wnext?(h-=a.wnext,u=a.wsize-h):u=a.wnext-h,h>a.length&&(h=a.length),f=a.window}else f=l,u=o-a.offset,h=a.length;h>n&&(h=n),n-=h,a.length-=h;do l[o++]=f[u++];while(--h)0===a.length&&(a.mode=21);break;case 26:if(0===n)break a;l[o++]=a.length,n--,a.mode=21;break;case 27:if(a.wrap){for(;d<32;){if(0===r)break a;r--,c|=s[i++]<<d,d+=8}if(g-=n,e.total_out+=g,a.total+=g,g&&(e.adler=a.check=a.flags?Y(a.check,l,g,o-g):E(a.check,l,g,o-g)),g=n,(a.flags?c:to(c))!==a.check){e.msg="incorrect data check",a.mode=30;break}c=0,d=0}a.mode=28;case 28:if(a.wrap&&a.flags){for(;d<32;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}if(c!==(0|a.total)){e.msg="incorrect length check",a.mode=30;break}c=0,d=0}a.mode=29;case 29:M=e9;break a;case 30:M=ta;break a;case 31:return ts;default:return tt}return e.next_out=o,e.avail_out=n,e.next_in=i,e.avail_in=r,a.hold=c,a.bits=d,(a.wsize||g!==e.avail_out&&a.mode<30&&(a.mode<27||t!==e4))&&tp(e,e.output,e.next_out,g-e.avail_out),p-=e.avail_in,g-=e.avail_out,e.total_in+=p,e.total_out+=g,a.total+=g,a.wrap&&g&&(e.adler=a.check=a.flags?Y(a.check,l,g,e.next_out-g):E(a.check,l,g,e.next_out-g)),e.data_type=a.bits+64*!!a.last+128*(12===a.mode)+256*(20===a.mode||15===a.mode),(0===p&&0===g||t===e4)&&M===e8&&(M=tl),M},th=e=>{if(!e||!e.state)return tt;let t=e.state;return t.window&&(t.window=null),e.state=null,e8},tu=(e,t)=>{let a,s=t.length;return e&&e.state&&(0===(a=e.state).wrap||11===a.mode)?11===a.mode&&E(1,t,s,0)!==a.check?ta:tp(e,t,s,s)?(a.mode=31,ts):(a.havedict=1,e8):tt},tf=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};let tv=Object.prototype.toString,{Z_NO_FLUSH:tm,Z_FINISH:ty,Z_OK:tw,Z_STREAM_END:tx,Z_NEED_DICT:tb,Z_STREAM_ERROR:tk,Z_DATA_ERROR:tM,Z_MEM_ERROR:tC}=G;function tz(e){this.options=eH({chunkSize:65536,windowBits:15,to:""},e||{});let t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(15&t.windowBits)==0&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new eX,this.strm.avail_out=0;let a=((e,t)=>{if(!e)return tt;let a=new tr;e.state=a,a.window=null;let s=((e,t)=>{let a;if(!e||!e.state)return tt;let s=e.state;return(t<0?(a=0,t=-t):(a=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?tt:(null!==s.window&&s.wbits!==t&&(s.window=null),s.wrap=a,s.wbits=t,tn(e))})(e,t);return s!==e8&&(e.state=null),s})(this.strm,t.windowBits);if(a!==tw||(this.header=new tf,((e,t)=>{if(!e||!e.state)return;let a=e.state;return(2&a.wrap)==0||(a.head=t,t.done=!1)})(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=eU(t.dictionary):"[object ArrayBuffer]"===tv.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw)&&(a=tu(this.strm,t.dictionary))!==tw))throw Error(Z[a])}function t_(e,t){let a=new tz(t);if(a.push(e),a.err)throw a.msg||Z[a.err];return a.result}tz.prototype.push=function(e,t){let a,s,l,i=this.strm,o=this.options.chunkSize,r=this.options.dictionary;if(this.ended)return!1;for(s=t===~~t?t:!0===t?ty:tm,"[object ArrayBuffer]"===tv.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;;){for(0===i.avail_out&&(i.output=new Uint8Array(o),i.next_out=0,i.avail_out=o),(a=tg(i,s))===tb&&r&&((a=tu(i,r))===tw?a=tg(i,s):a===tM&&(a=tb));i.avail_in>0&&a===tx&&i.state.wrap>0&&0!==e[i.next_in];)tn(i),a=tg(i,s);switch(a){case tk:case tM:case tb:case tC:return this.onEnd(a),this.ended=!0,!1}if(l=i.avail_out,i.next_out&&(0===i.avail_out||a===tx))if("string"===this.options.to){let e=eE(i.output,i.next_out),t=i.next_out-e,a=eO(i.output,e);i.next_out=t,i.avail_out=o-t,t&&i.output.set(i.output.subarray(e,e+t),0),this.onData(a)}else this.onData(i.output.length===i.next_out?i.output:i.output.subarray(0,i.next_out));if(a!==tw||0!==l){if(a===tx)return a=th(this.strm),this.onEnd(a),this.ended=!0,!0;if(0===i.avail_in)break}}return!0},tz.prototype.onData=function(e){this.chunks.push(e)},tz.prototype.onEnd=function(e){e===tw&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=eq(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};let{Deflate:tL,deflate:tB,deflateRaw:tA,gzip:tP}={Deflate:eJ,deflate:eK,deflateRaw:function(e,t){return(t=t||{}).raw=!0,eK(e,t)},gzip:function(e,t){return(t=t||{}).gzip=!0,eK(e,t)},constants:G},{Inflate:tS,inflate:tV,inflateRaw:tH,ungzip:tq}={Inflate:tz,inflate:t_,inflateRaw:function(e,t){return(t=t||{}).raw=!0,t_(e,t)},ungzip:t_,constants:G};a.d(t,{Gy:()=>tL,Kc:()=>tB,UD:()=>tV})},6484(e,t,a){let s;a.d(t,{x3j:()=>sj,aoY:()=>nX,$BZ:()=>nE,y15:()=>sm,OvW:()=>ly,Txp:()=>lM,Q5o:()=>rd,UA7:()=>rL,JHX:()=>ln,yEg:()=>sM,UhG:()=>sy,OFB:()=>nO,Yep:()=>nZ,z4o:()=>tH,Ahp:()=>nY,txp:()=>rg,rRT:()=>rB});var l=a(2718),i=a(1179),o=a(2842),r=a(4238),n=a(5633),c=a(2109),d=a(7086),p=a(2981);let g=["flowchart","mindmap","sequence","timeline"],h=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function u(e){return e.length<=64&&h.test(e)}let f=l.ukk,v=l.mSG(l.QfV,l.$r1),m=Object.freeze({paper:"#f6f1e7",card:"#fffdf8",ink:"#1a1712",accent:"#8f707f"}),y=Object.freeze({accentColor:m.accent,backgroundColor:m.card});function w(e,t){return e.pipe(l.tiU(o.PyW(t)))}l.xCb(g);let x=l.xCb(["flowchart","mindmap"]),b=l.xCb(["TB","BT","LR","RL"]),k=l.xCb(["straight","orthogonal","curved"]);class M extends l.Xsx("DiagramIconRef")({slug:f.check(l.Pto(h),l.NYj(64))}){}class C extends l.Xsx("DiagramGroup")({id:f,label:f}){}class z extends l.Xsx("DiagramNode")({id:f,label:f,group:l.lqM(f),kind:l.lqM(f),icon:l.lqM(M),metadata:w(v,{})}){}class _ extends l.Xsx("DiagramEdge")({id:f,source:f,target:f,label:l.lqM(f),metadata:w(v,{})}){}let L=l.QfV.check(l.Pto(/^#[0-9a-fA-F]{6}$/));class B extends l.Xsx("DiagramStyle")({accentColor:w(L,y.accentColor),backgroundColor:w(L,y.backgroundColor)}){}class A extends l.Xsx("DiagramLayout")({direction:w(b,"LR"),edgeRouting:w(k,"orthogonal")}){}class P extends l.Xsx("IntermediateDiagram")({id:f,title:f,type:w(x,"flowchart"),nodes:l.O31(z).pipe(l.fXn).check(l.tJb(1)),edges:w(l.O31(_).pipe(l.fXn),[]),groups:l.lqM(l.O31(C).pipe(l.fXn)),layout:w(A,{direction:"LR",edgeRouting:"orthogonal"}),style:w(B,y),metadata:w(v,{})}){}class S extends Error{constructor(e){super(e),this.name="DiagramValidationError"}}let V=e=>{let t=new Set;for(let a of e){if(t.has(a))return a;t.add(a)}};function H(e){let t=V(e.nodes.map(e=>e.id));if(t)throw new S(`Duplicate node id "${t}" is not allowed.`);let a=V(e.edges.map(e=>e.id));if(a)throw new S(`Duplicate edge id "${a}" is not allowed.`);let s=V((e.groups??[]).map(e=>e.id));if(s)throw new S(`Duplicate group id "${s}" is not allowed.`);let l=new Set((e.groups??[]).map(e=>e.id));for(let t of e.nodes)if(void 0!==t.group&&!l.has(t.group))throw new S(`Node "${t.id}" references missing group "${t.group}".`);let i=new Set(e.nodes.map(e=>e.id));for(let t of e.edges){if(!i.has(t.source))throw new S(`Edge "${t.id}" references missing source node "${t.source}".`);if(!i.has(t.target))throw new S(`Edge "${t.id}" references missing target node "${t.target}".`);if(t.source===t.target)throw new S(`Edge "${t.id}" cannot connect node "${t.source}" to itself.`)}return e}let q="timeline",F=["event","milestone"],I=l.xCb(F);class U extends l.Xsx("TimelineEvent")({id:l.ukk,label:l.ukk,date:l.Qrq(l.ukk),end:l.Qrq(l.ukk),order:l.Qrq(l.wYs),kind:l.Qrq(I),lane:l.Qrq(l.ukk),description:l.Qrq(l.ukk)}){}class O extends l.Xsx("TimelineDiagram")({id:l.ukk,title:l.ukk,type:l.uSQ(q),events:l.O31(U).pipe(l.fXn,l.Sr8(l.tJb(1))),lanes:l.Qrq(l.O31(l.ukk).pipe(l.fXn)),today:l.Qrq(l.ukk),style:B.pipe(l.tiU(o.PyW({...y})))}){}let E=/^(\d{4})(?:-(\d{2})(?:-(\d{2})(?:T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,3}))?)?(Z|[+-]\d{2}:\d{2}))?)?)?$/u;function X(e,t,a,s=0,l=0,i=0,o=0){let r=new Date(0);return r.setUTCFullYear(e,t-1,a),r.setUTCHours(s,l,i,o),r.getTime()}function Y(e){let t=E.exec(e);if(!t)return;let[,a,s,l,i,o,r,n,c]=t,d=Number(a),p=void 0===s?1:Number(s),g=void 0===l?1:Number(l);if(p<1||p>12||g<1||g>new Date(X(d,p+1,0)).getUTCDate())return;if(void 0===i){let e=void 0!==l?"day":void 0!==s?"month":"year",t=X(d,p,g),a="day"===e?X(d,p,g+1):"month"===e?X(d,p+1,1):X(d+1,1,1);return{granularity:e,start:t,end:a,fields:{year:d,month:p,day:g,hour:0,minute:0,second:0,millisecond:0}}}let h=Number(i),u=Number(o),f=void 0===r?0:Number(r),v=void 0===n?0:Number(n.padEnd(3,"0"));if(h>23||u>59||f>59||void 0===c)return;let m=0;if("Z"!==c){let e=Number(c.slice(1,3)),t=Number(c.slice(4,6));if(e>14||t>59)return;m=(c.startsWith("-")?-1:1)*(60*e+t)}let y=X(d,p,g,h,u,f,v)-6e4*m;return{granularity:"instant",start:y,end:y,fields:{year:d,month:p,day:g,hour:h,minute:u,second:f,millisecond:v},offsetMinutes:m}}let Z="Use YYYY, YYYY-MM, YYYY-MM-DD, or YYYY-MM-DDTHH:mm[:ss] with Z or ±HH:MM, copied from the source.";function G(e){if(e.lanes)return[...e.lanes];let t=[];for(let a of $(e))void 0===a.lane||t.includes(a.lane)||t.push(a.lane);return t}function T(e){let t=[];(0===e.events.length||e.events.length>60)&&t.push({code:"timeline_too_large",path:"events",message:"Timeline needs 1–60 events.",hint:"Provide at least one event, or split a longer chronology into timelines."});let a=new Set,s=e.events[0]?.date!==void 0,l=void 0!==e.lanes||e.events.some(e=>e.lane);return e.events.forEach((i,o)=>{let r=`events.[${o}]`;a.has(i.id)&&t.push({code:"duplicate_event_id",path:`${r}.id`,message:`Event id "${i.id}" is duplicated.`,hint:"Give each event a unique stable id."}),a.add(i.id);let n=void 0===i.date?void 0:Y(i.date);if(void 0===i.date||n||t.push({code:"invalid_timeline_date",path:`${r}.date`,message:`Event "${i.id}" has invalid date "${i.date}".`,hint:Z}),(void 0!==i.date==(void 0!==i.order)||void 0!==i.date!==s)&&t.push({code:"invalid_timeline_order",path:r,message:"Every event must use exactly one chronology field, with the same date or order mode throughout.",hint:"Supply dates for all events, or numeric order for all events; never invent a missing date."}),void 0!==i.end){let e=Y(i.end);e?(void 0===i.date||"milestone"===i.kind||n&&e.end<=n.start)&&t.push({code:"invalid_timeline_span",path:`${r}.end`,message:`Span "${i.id}" needs a date, an end on or after it, and no milestone kind.`,hint:"Use end only for dated phases; a milestone is a single point."}):t.push({code:"invalid_timeline_date",path:`${r}.end`,message:`Event "${i.id}" has invalid end "${i.end}".`,hint:Z})}l&&(void 0===i.lane||e.lanes&&!e.lanes.includes(i.lane))&&t.push({code:"invalid_timeline_lane",path:`${r}.lane`,message:`Event "${i.id}" needs one of the timeline's lanes.`,hint:"Give every event a lane listed in lanes, or omit lanes everywhere."})}),e.lanes&&new Set(e.lanes).size!==e.lanes.length&&t.push({code:"invalid_timeline_lane",path:"lanes",message:"Lane names must be unique.",hint:"List each lane once, in top-to-bottom order."}),G(e).length>6&&t.push({code:"timeline_too_large",path:"lanes",message:"Timeline supports at most 6 lanes.",hint:"Merge related tracks or split the chronology into timelines."}),void 0===e.today||s&&void 0!==Y(e.today)||t.push({code:"invalid_timeline_date",path:"today",message:`Today "${e.today}" must be a valid date on a dated timeline.`,hint:`${Z} Omit today unless the source states it.`}),t.slice(0,20)}class D extends S{issues;constructor(e){super(e[0]?.message??"Timeline failed validation."),this.issues=e,this.name="TimelineValidationError"}}function R(e){let t=T(e);if(t.length)throw new D(t);return e}function j(e){return void 0!==e.date?Y(e.date)?.start??0/0:e.order??0}function $(e){return e.events.toSorted((e,t)=>j(e)-j(t)||0)}R(l.svK(O,{errors:"all"})({id:"release-timeline",title:"Release milestones",type:"timeline",events:[{id:"plan",label:"Scope agreed",date:"2026-09-01"},{id:"beta",label:"Public beta",date:"2026-09-15",description:"Collect feedback from early users."},{id:"release",label:"General availability",date:"2026-10-01",kind:"milestone"}]}));let N="flowchart",W=l.xCb(["duplicate_node_id","duplicate_edge_id","missing_edge_source","missing_edge_target","self_loop","missing_start","multiple_starts","missing_end","start_has_incoming","end_has_outgoing","unreachable_node","missing_outgoing_edge","underbranched_decision","unlabeled_decision_branch","duplicate_decision_branch_label","nonterminating_node","flowchart_too_large","duplicate_group_id","unknown_node_group","empty_group"]);class J extends l.Xsx("FlowchartValidationIssueRef")({kind:l.xCb(["diagram","node","edge","group"]),id:l.lqM(l.ukk),path:l.lqM(l.ukk)}){}l.Xsx("FlowchartValidationIssue")({code:W,ref:l.lqM(J),message:l.ukk,hint:l.ukk});let K=l.xCb(["start","process","decision","end"]);class Q extends z.extend("FlowchartNode")({kind:K,description:l.lqM(l.ukk)}){}class ee extends _.extend("FlowchartEdge")({label:l.lqM(l.ukk)}){}class et extends P.extend("FlowchartDiagram")({type:l.uSQ(N),nodes:l.O31(Q).pipe(l.fXn).check(l.tJb(2)),edges:l.O31(ee).pipe(l.fXn).check(l.tJb(1))}){}function ea(e){let t=new Set,a=new Set;for(let s of e)t.has(s)?a.add(s):t.add(s);return[...a]}function es(e,t,a){let s=new Set,l=[...e];for(let e=0;e<l.length;e+=1){let i=l[e];if(!(void 0===i||s.has(i)))for(let e of(s.add(i),t.get(i)??[]))l.push(a(e))}return s}function el(e){let t=[],a=new Set(e.nodes.map(e=>e.id)),{incoming:s,outgoing:l}=function(e){let t=new Map,a=new Map;for(let s of e)t.set(s.target,[...t.get(s.target)??[],s]),a.set(s.source,[...a.get(s.source)??[],s]);return{incoming:t,outgoing:a}}(e.edges);e.nodes.length>24&&t.push({code:"flowchart_too_large",ref:{kind:"diagram",id:e.id,path:"nodes"},message:`Flowchart has ${e.nodes.length} nodes; the supported maximum is 24.`,hint:"Split the workflow or combine lower-signal steps."}),e.edges.length>64&&t.push({code:"flowchart_too_large",ref:{kind:"diagram",id:e.id,path:"edges"},message:`Flowchart has ${e.edges.length} edges; the supported maximum is 64.`,hint:"Split the workflow or remove lower-signal connections."});let i=e.groups??[];for(let a of(i.length>8&&t.push({code:"flowchart_too_large",ref:{kind:"diagram",id:e.id,path:"groups"},message:`Flowchart has ${i.length} groups; the supported maximum is 8.`,hint:"Merge related groups or leave minor steps ungrouped."}),ea(i.map(e=>e.id))))t.push({code:"duplicate_group_id",ref:{kind:"group",id:a,path:"groups"},message:`Group id "${a}" is used more than once.`,hint:"Give every group a stable unique id."});let o=new Set(i.map(e=>e.id));for(let a of e.nodes)void 0===a.group||o.has(a.group)||t.push({code:"unknown_node_group",ref:{kind:"node",id:a.id,path:"nodes.group"},message:`Node "${a.id}" references undeclared group "${a.group}".`,hint:o.size>0?`Set group to a declared group id (${[...o].map(e=>`"${e}"`).join(", ")}) or declare "${a.group}" in groups.`:`Declare "${a.group}" in groups as { id, label }, or remove the node's group.`});let r=new Set(e.nodes.map(e=>e.group));for(let e of i.filter(e=>!r.has(e.id)))t.push({code:"empty_group",ref:{kind:"group",id:e.id,path:"groups"},message:`Group "${e.id}" has no nodes.`,hint:"Set group on the nodes it holds, or remove the group."});for(let a of ea(e.nodes.map(e=>e.id)))t.push({code:"duplicate_node_id",ref:{kind:"node",id:a,path:"nodes"},message:`Node id "${a}" is used more than once.`,hint:"Give every node a stable unique id."});for(let a of ea(e.edges.map(e=>e.id)))t.push({code:"duplicate_edge_id",ref:{kind:"edge",id:a,path:"edges"},message:`Edge id "${a}" is used more than once.`,hint:"Give every edge a stable unique id."});for(let s of e.edges)a.has(s.source)||t.push({code:"missing_edge_source",ref:{kind:"edge",id:s.id,path:"edges.source"},message:`Edge "${s.id}" references missing source node "${s.source}".`,hint:"Set edge.source to one of the diagram node ids."}),a.has(s.target)||t.push({code:"missing_edge_target",ref:{kind:"edge",id:s.id,path:"edges.target"},message:`Edge "${s.id}" references missing target node "${s.target}".`,hint:"Set edge.target to one of the diagram node ids."}),s.source===s.target&&t.push({code:"self_loop",ref:{kind:"edge",id:s.id},message:`Edge "${s.id}" connects node "${s.source}" to itself.`,hint:"Connect the edge to a different target node."});let n=e.nodes.filter(e=>"start"===e.kind),c=e.nodes.filter(e=>"end"===e.kind);for(let a of(0===n.length?t.push({code:"missing_start",ref:{kind:"diagram",id:e.id,path:"nodes"},message:"Flowchart must contain exactly one start node.",hint:'Mark the first node in the flow with kind: "start".'}):n.length>1&&t.push({code:"multiple_starts",ref:{kind:"diagram",id:e.id,path:"nodes"},message:`Flowchart has ${n.length} start nodes.`,hint:"Keep one start node and change the others to process, decision, or end."}),0===c.length&&t.push({code:"missing_end",ref:{kind:"diagram",id:e.id,path:"nodes"},message:"Flowchart must contain at least one end node.",hint:'Add an end node or mark terminal outcomes with kind: "end".'}),e.nodes)){let e=s.get(a.id)??[],i=l.get(a.id)??[];"start"===a.kind&&e.length>0&&t.push({code:"start_has_incoming",ref:{kind:"node",id:a.id},message:`Start node "${a.id}" cannot have incoming edges.`,hint:"Route the start node only to later nodes."}),"end"===a.kind&&i.length>0&&t.push({code:"end_has_outgoing",ref:{kind:"node",id:a.id},message:`End node "${a.id}" cannot have outgoing edges.`,hint:"End nodes must be terminal outcomes."}),"end"!==a.kind&&0===i.length&&t.push({code:"missing_outgoing_edge",ref:{kind:"node",id:a.id},message:`Node "${a.id}" must have at least one outgoing edge.`,hint:'Connect it to the next step, or mark it as kind: "end".'}),"decision"===a.kind&&t.push(...function(e,t){let a=[];t.length<2&&a.push({code:"underbranched_decision",ref:{kind:"node",id:e.id},message:`Decision node "${e.id}" must have at least two outgoing branches.`,hint:"Add at least two outgoing edges for the decision outcomes."});let s=t.map(e=>e.label?.trim()??"");for(let s of t.filter(e=>!e.label?.trim()))a.push({code:"unlabeled_decision_branch",ref:{kind:"edge",id:s.id,path:"edges.label"},message:`Decision node "${e.id}" has an outgoing branch without a label.`,hint:'Add a short branch label such as "yes", "no", "approved", or "rejected".'});for(let t of ea(s.filter(e=>e.length>0).map(e=>e.toLowerCase())))a.push({code:"duplicate_decision_branch_label",ref:{kind:"node",id:e.id},message:`Decision node "${e.id}" repeats branch label "${t}".`,hint:"Make every outgoing branch label from the same decision unique."});return a}(a,i))}let d=1===n.length?n[0]:void 0;if(d){let a=es([d.id],l,e=>e.target);for(let s of e.nodes)a.has(s.id)||t.push({code:"unreachable_node",ref:{kind:"node",id:s.id},message:`Node "${s.id}" is not reachable from the start node.`,hint:"Connect every node to the flow that begins at the single start node."});if(c.length>0){let i=es(c.map(e=>e.id),s,e=>e.source);for(let s of e.nodes)a.has(s.id)&&!i.has(s.id)&&(l.get(s.id)?.length??0)>0&&t.push({code:"nonterminating_node",ref:{kind:"node",id:s.id},message:`Node "${s.id}" cannot reach an end node.`,hint:"Add an eventual exit from this path to an end node; retry loops are valid when they retain an exit."})}}return t.slice(0,20)}class ei extends S{issues;constructor(e){super(e[0]?.message??"Flowchart failed semantic validation."),this.issues=e,this.name="FlowchartValidationError"}}function eo(e){let t=el(e);if(t.length>0)throw new ei(t);return e}function er(e){return eo(l.svK(et,{errors:"all"})(e))}er({id:"onboarding-flow",title:"Sketchi onboarding decision flow",type:N,nodes:[{id:"prompt",label:"Prompt received",kind:"start"},{id:"requirements",label:"Extract requirements",kind:"process"},{id:"clear",label:"Scope clear?",kind:"decision"},{id:"draft",label:"Draft typed IR",kind:"process"},{id:"review",label:"Review diagram",kind:"end"}],edges:[{id:"prompt-requirements",source:"prompt",target:"requirements"},{id:"requirements-clear",source:"requirements",target:"clear"},{id:"clear-draft",source:"clear",target:"draft",label:"yes"},{id:"clear-review",source:"clear",target:"review",label:"no"},{id:"draft-review",source:"draft",target:"review"}],layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"pharma-batch-disposition",title:"Pharma batch disposition flow",type:N,nodes:[{id:"batch-received",label:"Batch received",kind:"start"},{id:"qa-review",label:"QA reviews Certificate of Analysis",kind:"process"},{id:"passes-specs",label:"Passes specs?",kind:"decision"},{id:"final-review",label:"QA Manager final review",kind:"process"},{id:"packaging",label:"Send to packaging",kind:"end"},{id:"investigate",label:"Investigate retesting",kind:"process"},{id:"reject",label:"Reject batch",kind:"end"}],edges:[{id:"batch-qa",source:"batch-received",target:"qa-review"},{id:"qa-specs",source:"qa-review",target:"passes-specs"},{id:"specs-pass",source:"passes-specs",target:"final-review",label:"yes"},{id:"specs-investigate",source:"passes-specs",target:"investigate",label:"retest"},{id:"specs-reject",source:"passes-specs",target:"reject",label:"reject"},{id:"review-packaging",source:"final-review",target:"packaging"},{id:"investigate-review",source:"investigate",target:"final-review"}],layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"deploy-pipeline-logos",title:"Deploy pipeline",type:N,nodes:[{id:"push",label:"Push to GitHub",kind:"start",icon:{slug:"github"}},{id:"build",label:"Build the Docker image",kind:"process",icon:{slug:"docker"}},{id:"tests",label:"Tests pass?",kind:"decision",icon:{slug:"vitest"}},{id:"fix",label:"Fix the failing tests",kind:"process"},{id:"ship",label:"Ship to Cloudflare Workers",kind:"end",icon:{slug:"cloudflare"}}],edges:[{id:"push-build",source:"push",target:"build"},{id:"build-tests",source:"build",target:"tests"},{id:"tests-ship",source:"tests",target:"ship",label:"yes"},{id:"tests-fix",source:"tests",target:"fix",label:"no"},{id:"fix-build",source:"fix",target:"build"}],layout:{direction:"TB",edgeRouting:"orthogonal"}});let en="mindmap";class ec extends l.Xsx("MindmapNodeMetadata")({depth:l.Aiz.check(l.OWK(0)),siblingIndex:l.Aiz.check(l.OWK(0))}){}class ed extends z.extend("MindmapNode")({kind:l.xCb(["root","topic"]),metadata:ec}){}class ep extends l.Xsx("MindmapEdgeMetadata")({depth:l.Aiz.check(l.yJO(0)),siblingIndex:l.Aiz.check(l.OWK(0))}){}class eg extends _.extend("MindmapEdge")({metadata:ep}){}class eh extends P.extend("MindmapDiagram")({type:l.uSQ(en),nodes:l.O31(ed).pipe(l.fXn).check(l.tJb(2)),edges:l.O31(eg).pipe(l.fXn).check(l.tJb(1))}){}function eu(e){return function(e){H(e);let t=e.nodes.filter(e=>"root"===e.kind);if(1!==t.length)throw new S(`Mindmap must contain exactly one root topic; found ${t.length}.`);let a=t[0];if(!a||0!==a.metadata.depth)throw new S("Mindmap root topic must have depth 0.");let s=new Map,l=new Map(e.nodes.map(e=>[e.id,e])),i=new Map;for(let t of e.edges){s.set(t.target,(s.get(t.target)??0)+1);let e=l.get(t.source)?.metadata.depth,a=l.get(t.target),o=a?.metadata.depth;if(void 0===e||o!==e+1)throw new S(`Mindmap edge "${t.id}" must connect a topic to its immediate child.`);if(!a||t.metadata.depth!==a.metadata.depth||t.metadata.siblingIndex!==a.metadata.siblingIndex)throw new S(`Mindmap edge "${t.id}" metadata must match its child topic.`);i.set(t.source,[...i.get(t.source)??[],a.metadata.siblingIndex])}for(let t of e.nodes){let e=s.get(t.id)??0;if(t.id===a.id?0!==e:1!==e)throw new S(`Mindmap topic "${t.id}" must have ${t.id===a.id?"no parent":"exactly one parent"}.`)}for(let[e,t]of i){let a=t.map((e,t)=>t);if([...t].sort((e,t)=>e-t).some((e,t)=>e!==a[t]))throw new S(`Mindmap children of "${e}" must use contiguous sibling ordering from 0.`)}return e}(l.svK(eh,{errors:"all"})(e))}eu({id:"public-mindmap-capability",title:"Public mindmap generation",type:en,nodes:[{id:"topic-0",label:"Public mindmaps",kind:"root",metadata:{depth:0,siblingIndex:0}},{id:"topic-0-0",label:"Semantic input",kind:"topic",metadata:{depth:1,siblingIndex:0}},{id:"topic-0-0-0",label:"Nested topics",kind:"topic",metadata:{depth:2,siblingIndex:0}},{id:"topic-0-0-1",label:"Stable ordering",kind:"topic",metadata:{depth:2,siblingIndex:1}},{id:"topic-0-1",label:"Artifact output",kind:"topic",metadata:{depth:1,siblingIndex:1}},{id:"topic-0-1-0",label:"Scene",kind:"topic",metadata:{depth:2,siblingIndex:0}},{id:"topic-0-1-1",label:"Excalidraw",kind:"topic",metadata:{depth:2,siblingIndex:1}}],edges:[{id:"branch-0-0",source:"topic-0",target:"topic-0-0",metadata:{depth:1,siblingIndex:0}},{id:"branch-0-0-0",source:"topic-0-0",target:"topic-0-0-0",metadata:{depth:2,siblingIndex:0}},{id:"branch-0-0-1",source:"topic-0-0",target:"topic-0-0-1",metadata:{depth:2,siblingIndex:1}},{id:"branch-0-1",source:"topic-0",target:"topic-0-1",metadata:{depth:1,siblingIndex:1}},{id:"branch-0-1-0",source:"topic-0-1",target:"topic-0-1-0",metadata:{depth:2,siblingIndex:0}},{id:"branch-0-1-1",source:"topic-0-1",target:"topic-0-1-1",metadata:{depth:2,siblingIndex:1}}],layout:{direction:"LR",edgeRouting:"curved"}});let ef="sequence",ev=["message","return"],em=["solid","dashed"],ey=":lifeline";function ew(e){return`${e}${ey}`}let ex=l.xCb(ev),eb=l.xCb(em);class ek extends l.Xsx("SequenceParticipant")({id:l.ukk,label:l.ukk,kind:l.Qrq(l.ukk),icon:l.Qrq(M)}){}class eM extends l.Xsx("SequenceMessage")({id:l.ukk,source:l.ukk,target:l.ukk,label:l.ukk,type:l.Qrq(ex),style:l.Qrq(eb)}){}class eC extends l.Xsx("SequenceDiagram")({id:l.ukk,title:l.ukk,type:l.uSQ(ef),participants:l.O31(ek).pipe(l.fXn,l.Sr8(l.tJb(1))),messages:l.O31(eM).pipe(l.fXn,l.tiU(o.PyW([]))),style:B.pipe(l.tiU(o.PyW({...y})))}){}let ez=l.xCb(["sequence_too_large","duplicate_participant_id","lifeline_id_collision","duplicate_message_id","missing_message_source","missing_message_target","self_message"]);function e_(e){let t=[];e.participants.length>12&&t.push({code:"sequence_too_large",path:"participants",message:`Sequence diagram has ${e.participants.length} participants; the supported maximum is 12.`,hint:"Combine minor actors or split the interaction into several diagrams."}),e.messages.length>40&&t.push({code:"sequence_too_large",path:"messages",message:`Sequence diagram has ${e.messages.length} messages; the supported maximum is 40.`,hint:"Split the interaction into phases or drop lower-signal messages."});let a=new Map;for(let s of(e.participants.forEach((e,s)=>{a.has(e.id)?t.push({code:"duplicate_participant_id",path:`participants.[${s}].id`,message:`Participant id "${e.id}" is duplicated.`,hint:"Give every participant a unique stable id and update message references."}):a.set(e.id,s)}),e.participants)){let a=ew(s.id);e.participants.forEach((e,l)=>{(e.id===a||e.id.startsWith(`${a}:`))&&t.push({code:"lifeline_id_collision",path:`participants.[${l}].id`,message:`Participant id "${e.id}" collides with the generated lifeline for "${s.id}".`,hint:`Rename the participant so its id does not start with another participant id followed by ${ey}.`})})}let s=new Set;return e.messages.forEach((e,l)=>{s.has(e.id)&&t.push({code:"duplicate_message_id",path:`messages.[${l}].id`,message:`Message id "${e.id}" is duplicated.`,hint:"Give every message a unique id or omit message ids to generate them deterministically."}),s.add(e.id),a.has(e.source)||t.push({code:"missing_message_source",path:`messages.[${l}].source`,message:`Message source "${e.source}" is not a participant.`,hint:"Use the id of a participant declared in participants."}),a.has(e.target)||t.push({code:"missing_message_target",path:`messages.[${l}].target`,message:`Message target "${e.target}" is not a participant.`,hint:"Use the id of a participant declared in participants."}),e.source===e.target&&t.push({code:"self_message",path:`messages.[${l}]`,message:`Message "${e.id}" is self-referential.`,hint:"Choose a different target participant; self messages are not supported."})}),t.slice(0,20)}l.Xsx("SequenceValidationIssue")({code:ez,path:l.ukk,message:l.ukk,hint:l.ukk});class eL extends S{issues;constructor(e){super(e[0]?.message??"Sequence diagram failed semantic validation."),this.issues=e,this.name="SequenceValidationError"}}function eB(e){let t=e_(e);if(t.length>0)throw new eL(t);return e}function eA(e){return eB(l.svK(eC,{errors:"all"})(e))}eA({id:"checkout-sequence",title:"Checkout sequence",type:ef,participants:[{id:"customer",label:"Customer"},{id:"store",label:"Store"},{id:"payments",label:"Payments"}],messages:[{id:"checkout",source:"customer",target:"store",label:"Submit checkout"},{id:"charge",source:"store",target:"payments",label:"Charge card"},{id:"charged",source:"payments",target:"store",label:"Payment approved",type:"return"},{id:"receipt",source:"store",target:"customer",label:"Order receipt",type:"return"}]}),eA({id:"api-request-sequence",title:"API request with cache miss",type:ef,participants:[{id:"browser",label:"Browser"},{id:"api",label:"API Worker"},{id:"cache",label:"Cache"},{id:"database",label:"Database"},{id:"analytics",label:"Analytics"}],messages:[{id:"request",source:"browser",target:"api",label:"GET /orders"},{id:"lookup",source:"api",target:"cache",label:"Look up orders"},{id:"miss",source:"cache",target:"api",label:"Cache miss",type:"return"},{id:"query",source:"api",target:"database",label:"Query orders"},{id:"rows",source:"database",target:"api",label:"Order rows",type:"return"},{id:"track",source:"api",target:"analytics",label:"Track request"},{id:"response",source:"api",target:"browser",label:"200 OK",type:"return"}]}),eA({id:"deploy-webhook-logos",title:"Deploy webhook",type:ef,participants:[{id:"developer",label:"Developer"},{id:"github",label:"GitHub",icon:{slug:"github"}},{id:"worker",label:"Cloudflare Worker",icon:{slug:"cloudflare"}},{id:"docker",label:"Docker build",icon:{slug:"docker"}}],messages:[{id:"push",source:"developer",target:"github",label:"git push"},{id:"webhook",source:"github",target:"worker",label:"Push webhook"},{id:"build",source:"worker",target:"docker",label:"Build image"},{id:"digest",source:"docker",target:"worker",label:"Image digest",type:"return"},{id:"accepted",source:"worker",target:"github",label:"202 Accepted",type:"return"}]});let eP=new Intl.Segmenter(void 0,{granularity:"grapheme"}),eS=/\p{Emoji_Presentation}|\uFE0F|\p{Regional_Indicator}|\u20E3/u,eV=/^[\uFE00-\uFE0F\u200B-\u200D\u2060]+$/u;function eH(e){return Array.from(eP.segment(e),e=>e.segment)}function eq(e){var t;return eV.test(e)?0:eS.test(e)?130:(t=e.codePointAt(0)??0)>=4352&&t<=4447||t>=11904&&t<=12350||t>=12353&&t<=13311||t>=13312&&t<=19903||t>=19968&&t<=40959||t>=40960&&t<=42191||t>=44032&&t<=55203||t>=63744&&t<=64255||t>=65072&&t<=65103||t>=65280&&t<=65376||t>=65504&&t<=65510||t>=131072&&t<=262141?100:62}function eF(e){return eH(e).reduce((e,t)=>e+eq(t),0)}function eI(e,t){return Math.max(...e.split("\n").map(e=>(function(e,t){let a=0,s=0;for(let t of eH(e)){let e=eq(t);62===e?a+=1:s+=e}return a*t*.62+s*t/100})(e,t)))}function eU(e,t,a){let s=eI(e,t);return Math.max(1,Math.min(a,Math.ceil(s)),Math.ceil(s-t))}function eO(e,t,a){return Math.max(eU(e,t,a),Math.ceil(eI(e,t)))}function eE(e,t){return e.split("\n").flatMap(e=>(function(e,t){if(eF(e)<=t)return[e];let a=[],s="";for(let l of e.split(" ")){if(eF(l)>t){s&&(a.push(s),s=""),a.push(...function(e,t){let a=(function(e){let t=[],a="";for(let s of eH(e)){if(!(eq(s)>62)){a+=s;continue}a&&t.push(a),t.push(s),a=""}return a&&t.push(a),t})(e).flatMap(e=>eF(e)>t?function(e,t){let a=Math.max(t,1488);return eF(e)<=a?[e]:e.split(/(?<=[/\-_.])(?=.)|(?<=\p{Ll})(?=\p{Lu})/u).flatMap(e=>eF(e)<=a?[e]:function(e,t){let a=[],s="",l=0;for(let i of eH(e)){let e=eq(i);s&&l+e>t&&(a.push(s),s="",l=0),s+=i,l+=e}return s&&a.push(s),a}(e,t))}(e,t):[e]),s=[],l="";for(let e of a){if(eF(e)>t){l&&s.push(l),s.push(e),l="";continue}l&&eF(l+e)>t&&(s.push(l),l=""),l+=e}return l&&s.push(l),s}(l,t));continue}let e=s?`${s} ${l}`:l;if(eF(e)<=t){s=e;continue}a.push(s),s=l}return s&&a.push(s),a})(e,t)).join("\n")}function eX(e,t,a){return eE(e,Math.floor(100*t/a+1e-6))}let eY=Object.freeze({maxDimension:16384,maxElements:600,maxGroupsPerElement:16,maxLayouts:128,maxLayers:64,maxPointsPerElement:256,maxSerializedBytes:15e5,maxTextLength:4096,maxZOrderEntries:600}),eZ=Object.freeze({boundTextPadding:5,gap:4,maxAssetBytes:65536,maxSize:64,maxTotalAssetBytes:786432,minSize:16}),eG=["sequence-lifeline","sequence-activation","timeline-marker"],eT={"sequence-activation":"Sequence activation","sequence-lifeline":"Sequence lifeline","timeline-marker":"Timeline marker"};function eD(e){let t=new Set;for(let a of e){if(t.has(a))return a;t.add(a)}}function eR(e){return"x"in e&&"y"in e}let ej=new TextEncoder;function e$(e){return ej.encode(e).byteLength}function eN(e){let t=eZ.boundTextPadding;if("ellipse"===e.shape||"circle"===e.shape){let a=1-Math.SQRT1_2;return{x:t+e.width/2*a,y:t+e.height/2*a}}return"diamond"===e.shape?{x:t+e.width/4,y:t+e.height/4}:{x:t,y:t}}function eW(e){let t=2*eZ.boundTextPadding;return"ellipse"===e.shape||"circle"===e.shape?{width:Math.round(e.width/2*Math.SQRT2)-t,height:Math.round(e.height/2*Math.SQRT2)-t}:"diamond"===e.shape?{width:Math.round(e.width/2)-t,height:Math.round(e.height/2)-t}:{width:e.width-t,height:e.height-t}}function eJ(e){return e?e.size+2*eZ.gap:0}function eK(e){let t=new Map(e.layers.map(e=>[e.id,e]));return e=>!e.layerId||t.get(e.layerId)?.visible!==!1}function eQ(e,t){let a=new Map;for(let[s,l]of e.elements.entries())"text"===l.type&&l.containerId&&t(l)&&a.set(l.containerId,{element:l,index:s});return a}function e1(e,t,a){let s=t?.text??e.label,l=t?.fontSize??16,i=t?t.maxWidth??160:Math.max(1,e.width-24),o=s.split("\n"),r=eI(s,l),n=Math.max(1,Math.min(i,r)),c=Math.ceil(o.length*l*1.35);if(eU(s,l,i)-l+24>e.width)return!0;if(a){let t=eW(e);return r>t.width||c+eJ(a)>t.height}return n+24>e.width||c+18>e.height}function e0(e){let t=[];0===e.elements.length&&t.push({code:"empty_canvas",message:"CanvasSpec must contain at least one element.",path:"elements"}),e.elements.length>eY.maxElements&&t.push({code:"limit_exceeded",message:`Canvas exceeds ${eY.maxElements} elements.`,path:"elements"}),e.layers.length>eY.maxLayers&&t.push({code:"limit_exceeded",message:`Canvas exceeds ${eY.maxLayers} layers.`,path:"layers"}),e.layouts.length>eY.maxLayouts&&t.push({code:"limit_exceeded",message:`Canvas exceeds ${eY.maxLayouts} layout primitives.`,path:"layouts"}),(e.width>eY.maxDimension||e.height>eY.maxDimension)&&t.push({code:"limit_exceeded",message:`Canvas dimensions may not exceed ${eY.maxDimension}.`,path:"width"});let a=eD(e.elements.map(e=>e.id));a&&t.push({code:"duplicate_element_id",elementId:a,message:`Duplicate element id "${a}" is not allowed.`,path:"elements"});let s=eD(e.layers.map(e=>e.id));s&&t.push({code:"duplicate_layer_id",message:`Duplicate layer id "${s}" is not allowed.`,path:"layers"});let l=eD(e.zOrder);l&&t.push({code:"duplicate_z_order_element",elementId:l,message:`zOrder contains duplicate element "${l}".`,path:"zOrder"}),e.zOrder.length>eY.maxZOrderEntries&&t.push({code:"limit_exceeded",message:`zOrder exceeds ${eY.maxZOrderEntries} entries.`,path:"zOrder"});let i=new Map(e.elements.map(e=>[e.id,e])),o=e.elements.filter(e=>"node"===e.type),r=new Map(o.map(e=>[e.nodeId,e])),n=eD(o.map(e=>e.nodeId));n&&t.push({code:"invalid_binding",message:`Duplicate nodeId "${n}" makes connector bindings ambiguous.`,path:"elements"});let c=eD(e.elements.flatMap(e=>"arrow"===e.type?[e.edgeId]:[]));c&&t.push({code:"invalid_binding",message:`Duplicate edgeId "${c}" makes connector selection ambiguous.`,path:"elements"});let d=eD(e.elements.flatMap(e=>"text"===e.type&&e.containerId?[e.containerId]:[]));d&&t.push({code:"invalid_binding",elementId:d,message:`Container "${d}" has more than one bound text element.`,path:"elements"});let p=new Set(e.layers.map(e=>e.id)),g=eK(e),h=eQ(e,g);t.push(...function(e){let t=[],a=0;for(let[s,l]of Object.entries(e.icons??{})){let e=e$(l.svg);a+=e,e>eZ.maxAssetBytes&&t.push({code:"limit_exceeded",message:`Icon asset "${s}" exceeds ${eZ.maxAssetBytes} bytes.`,path:`icons.${s}`})}return a>eZ.maxTotalAssetBytes&&t.push({code:"limit_exceeded",message:`Icon assets exceed ${eZ.maxTotalAssetBytes} bytes per canvas.`,path:"icons"}),t}(e)),e.elements.forEach((a,s)=>{let l,o;if(t.push(...(l=[],o=`elements[${s}]`,"width"in a&&"height"in a&&(!(a.width>0)||!(a.height>0))&&l.push({code:"invalid_geometry",elementId:a.id,message:`Element "${a.id}" must have positive width and height.`,path:o}),"points"in a&&void 0!==a.points&&a.points.length>eY.maxPointsPerElement&&l.push({code:"limit_exceeded",elementId:a.id,message:`Element "${a.id}" exceeds ${eY.maxPointsPerElement} points.`,path:`${o}.points`}),"text"in a&&a.text.length>eY.maxTextLength&&l.push({code:"limit_exceeded",elementId:a.id,message:`Text element "${a.id}" exceeds ${eY.maxTextLength} characters.`,path:`${o}.text`}),"node"===a.type&&"polygon"===a.shape&&(!a.points||a.points.length<3)&&l.push({code:"invalid_polygon",elementId:a.id,message:`Polygon "${a.id}" requires at least three points.`,path:`${o}.points`}),a.groupIds&&a.groupIds.length>eY.maxGroupsPerElement&&l.push({code:"limit_exceeded",elementId:a.id,message:`Element "${a.id}" exceeds ${eY.maxGroupsPerElement} groups.`,path:`${o}.groupIds`}),l)),"node"===a.type&&t.push(...function(e,t,a){let s=t.icon;if(!s)return[];let l=`elements[${a}].icon`,i=[];return t.rendererRole&&i.push({code:"invalid_icon",elementId:t.id,message:`${eT[t.rendererRole]} "${t.id}" cannot carry an icon.`,path:l}),u(s.slug)?e.icons&&Object.hasOwn(e.icons,s.slug)||i.push({code:"invalid_icon",elementId:t.id,message:`Node "${t.id}" references icon "${s.slug}" without an embedded asset.`,path:`${l}.slug`}):i.push({code:"invalid_icon",elementId:t.id,message:`Node "${t.id}" has an invalid icon slug "${s.slug}".`,path:`${l}.slug`}),(!Number.isFinite(s.size)||s.size<eZ.minSize||s.size>eZ.maxSize)&&i.push({code:"invalid_icon",elementId:t.id,message:`Node "${t.id}" icon size must be ${eZ.minSize}-${eZ.maxSize}.`,path:`${l}.size`}),i}(e,a,s)),"node"===a.type&&"polygon"!==a.shape&&g(a)){let e=h.get(a.id);(e||void 0===a.rendererRole)&&e1(a,e?.element,a.icon)&&t.push({code:"label_overflow",elementId:e?.element.id??a.id,message:`Label does not fit inside node "${a.id}" without changing its geometry.`,path:e?`elements[${e.index}].text`:`elements[${s}].label`})}if(a.frameId){let e=i.get(a.frameId);e&&"frame"===e.type||t.push({code:"invalid_composition",elementId:a.id,message:`Element "${a.id}" references missing frame "${a.frameId}".`,path:`elements[${s}].frameId`})}if(a.layerId&&!p.has(a.layerId)&&t.push({code:"invalid_composition",elementId:a.id,message:`Element "${a.id}" references missing layer "${a.layerId}".`,path:`elements[${s}].layerId`}),a.groupIds&&eD(a.groupIds)&&t.push({code:"invalid_composition",elementId:a.id,message:`Element "${a.id}" contains duplicate group ids.`,path:`elements[${s}].groupIds`}),"text"===a.type&&a.containerId){let e=i.get(a.containerId);e&&("node"===e.type||"arrow"===e.type)||t.push({code:"invalid_binding",elementId:a.id,message:`Text "${a.id}" references unsupported container "${a.containerId}".`,path:`elements[${s}].containerId`})}if("arrow"===a.type&&(r.has(a.sourceNodeId)||t.push({code:"invalid_binding",elementId:a.id,message:`Connector "${a.id}" references missing source "${a.sourceNodeId}".`,path:`elements[${s}].sourceNodeId`}),r.has(a.targetNodeId)||t.push({code:"invalid_binding",elementId:a.id,message:`Connector "${a.id}" references missing target "${a.targetNodeId}".`,path:`elements[${s}].targetNodeId`})),"line"===a.type)for(let[e,l]of[["startBinding",a.startBinding],["endBinding",a.endBinding]]){let o=l?i.get(l.elementId):void 0;l&&(!o||"node"!==o.type&&"frame"!==o.type)&&t.push({code:"invalid_binding",elementId:a.id,message:`Line "${a.id}" references missing binding "${l.elementId}".`,path:`elements[${s}].${e}`})}});let f=new Set(e.zOrder);for(let a of e.elements)f.has(a.id)||t.push({code:"missing_z_order_element",elementId:a.id,message:`Element "${a.id}" is missing from zOrder.`,path:"zOrder"});for(let a of e.zOrder)i.has(a)||t.push({code:"unknown_z_order_element",elementId:a,message:`zOrder references missing element "${a}".`,path:"zOrder"});for(let[a,s]of e.layouts.entries())for(let e of s.ids){let s=i.get(e);s&&eR(s)||t.push({code:"unknown_layout_target",elementId:e,message:`Layout references missing or non-positioned element "${e}".`,path:`layouts[${a}].ids`})}for(let a of e.elements.filter(e=>"frame"===e.type)){let e=new Set([a.id]),s=a.frameId;for(;s;){if(e.has(s)){t.push({code:"invalid_composition",elementId:a.id,message:`Frame "${a.id}" participates in a frame nesting cycle.`,path:"elements"});break}e.add(s);let l=i.get(s);s=l?.type==="frame"?l.frameId:void 0}}return t}function e2(e){if("text"===e.type){let t=e.text.split("\n");return{x:e.x,y:e.y,width:e.maxWidth??eI(e.text,e.fontSize),height:t.length*e.fontSize*1.35}}return{x:e.x,y:e.y,width:e.width,height:e.height}}function e3(e,t){let a=new Map(e.map(e=>[e.id,e]));return t.flatMap(e=>{let t=a.get(e);return t&&eR(t)?[t]:[]})}function e5(e,t){return e.map(e=>{var a,s;let l=t.get(e.id);return l?(a=l.x,s=l.y,eR(e)?{...e,x:a,y:s}:e):e})}function e4(e,t){return"x"===t?e.x:e.y}function e6(e,t){return"x"===t?e.width:e.height}function e7(e){return{x:e.x+e.width/2,y:e.y+e.height/2}}function e8(e,t){let a=e7(e),s=t.x-a.x,l=t.y-a.y;return Math.abs(s)>=Math.abs(l)?{x:s>=0?e.x+e.width:e.x,y:a.y}:{x:a.x,y:l>=0?e.y+e.height:e.y}}function e9(e,t=.01){let a=[];for(let s=0;s<e.length-1;s+=1){let l=e[s],i=e[s+1];if(!l||!i)continue;let o=Math.abs(l.y-i.y)<=t,r=Math.abs(l.x-i.x)<=t;if(!o&&!r)continue;let n=Math.min(o?l.x:l.y,o?i.x:i.y),c=Math.max(o?l.x:l.y,o?i.x:i.y);c-n<=t||a.push({min:n,max:c,orientation:o?"horizontal":"vertical",staticCoordinate:o?l.y:l.x,segmentIndex:s,isFirstSegment:0===s,isLastSegment:s===e.length-2})}return a}function te(e,t){return Math.min(e.max,t.max)-Math.max(e.min,t.min)}function tt(e,t,a=.01){return e.orientation===t.orientation&&Math.abs(e.staticCoordinate-t.staticCoordinate)<=a&&te(e,t)>a}function ta(e,t,a=.01){let s="horizontal"===e.orientation,l=s?t.y:t.x,i=l+(s?t.height:t.width),o=s?t.x:t.y,r=o+(s?t.width:t.height);return e.staticCoordinate>l+a&&e.staticCoordinate<i-a&&Math.min(e.max,r)-Math.max(e.min,o)>a}function ts(e,t){return e.isFirstSegment&&t.isFirstSegment&&null!==e.startBindingId&&e.startBindingId===t.startBindingId||e.isLastSegment&&t.isLastSegment&&null!==e.endBindingId&&e.endBindingId===t.endBindingId}function tl(e,t,a="characters"){let s=0x811c9dc5;for(let t=0;t<e.length;t+=1)s^=e.charCodeAt(t),s=Math.imul(s,0x1000193),"characters"===a&&(e.codePointAt(t)??0)>65535&&(t+=1);return"seed"===t?Math.abs(s)||1:(s>>>0).toString(16).padStart(8,"0")}l.gPz([et,eh,eC,O]);let ti={id:"multi-stage-rework",title:"Rework earlier stages",nodes:[{id:"start",label:"Received",kind:"start"},...["Intake","Validate","Assemble","Review","Rework","Release"].map((e,t)=>({id:String(t),label:e,kind:5===t?"end":"process"}))],edges:[{id:"start",source:"start",target:"0"},...Array.from({length:5},(e,t)=>({id:`e${t}`,source:String(t),target:String(t+1)})),...Array.from({length:4},(e,t)=>({id:`back${t}`,source:"4",target:String(t),...0===t?{label:"Retry"}:{}}))]},to={id:"two-stage-retry",title:"Revisit earlier checks",nodes:[{id:"s",label:"Received",kind:"start"},...["Prepare","Inspect","Review","Rework"].map((e,t)=>({id:["a","b","c","d"][t],label:e,kind:"process"})),{id:"end",label:"Released",kind:"end"}],edges:[["s","a"],["a","b"],["b","c"],["c","d"],["d","end"],["d","a"],["d","b"]].map(([e,t],a)=>({id:`e${a}`,source:e,target:t}))};function tr(e){return er({...e,type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}})}function tn(e,t="TB"){return er({...e,type:"flowchart",layout:{direction:t,edgeRouting:"orthogonal"}})}er({id:"package-chain",title:"Request to hosted artifact",nodes:[{id:"app",label:"App request",kind:"start"},{id:"agent",label:"Agent / orchestration",kind:"process"},{id:"core",label:"Core diagram model",kind:"process"},{id:"renderer",label:"Renderer",kind:"process"},{id:"export",label:"Excalidraw export",kind:"process"},{id:"host",label:"Artifact hosting / storage",kind:"process"},{id:"response",label:"Hosted artifact response",kind:"end"}],edges:[{id:"request",source:"app",target:"agent",label:"Request contract"},{id:"build",source:"agent",target:"core",label:"Semantic builder input"},{id:"validate",source:"core",target:"renderer",label:"Validated diagram spec"},{id:"render",source:"renderer",target:"export",label:"CanvasSpec scene"},{id:"store",source:"export",target:"host",label:"Exported artifact bundle"},{id:"respond",source:"host",target:"response",label:"Artifact ID + hosted URLs"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"scope-bypass",title:"Diagram request",nodes:[{id:"received",label:"Prompt received",kind:"start"},{id:"requirements",label:"Extract requirements",kind:"process"},{id:"scope",label:"Is the scope clear?",kind:"decision"},{id:"draft",label:"Draft typed IR",kind:"process"},{id:"review",label:"Review",kind:"end"}],edges:[{id:"extract",source:"received",target:"requirements"},{id:"assess",source:"requirements",target:"scope"},{id:"clear",source:"scope",target:"draft",label:"Yes"},{id:"unclear",source:"scope",target:"review",label:"No"},{id:"submit",source:"draft",target:"review"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"rollout-failures",title:"Feature flag rollout",nodes:[{id:"ready",label:"Flag is ready",kind:"start"},{id:"internal",label:"Enable internally",kind:"process"},{id:"internal-health",label:"Internal checks healthy?",kind:"decision"},{id:"beta",label:"Enable beta cohort",kind:"process"},{id:"beta-health",label:"Beta checks healthy?",kind:"decision"},{id:"ramp",label:"Ramp to all users",kind:"process"},{id:"complete",label:"Rollout complete",kind:"end"},{id:"rollback",label:"Roll back the feature",kind:"end"}],edges:[{id:"enable",source:"ready",target:"internal"},{id:"check-internal",source:"internal",target:"internal-health"},{id:"internal-healthy",source:"internal-health",target:"beta",label:"Healthy"},{id:"internal-fail",source:"internal-health",target:"rollback",label:"Fail"},{id:"check-beta",source:"beta",target:"beta-health"},{id:"beta-healthy",source:"beta-health",target:"ramp",label:"Healthy"},{id:"beta-unhealthy",source:"beta-health",target:"rollback",label:"Unhealthy"},{id:"finish",source:"ramp",target:"complete"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"release-fan-in",title:"Fix release",nodes:[{id:"confirmed",label:"Bug confirmed",kind:"start"},{id:"security",label:"Security impact?",kind:"decision"},{id:"triage",label:"Security triage",kind:"process"},{id:"hotfix",label:"Hotfix branch",kind:"process"},{id:"priority",label:"High priority?",kind:"decision"},{id:"sprint",label:"Sprint backlog",kind:"process"},{id:"release",label:"Release fix",kind:"end"},{id:"backlog",label:"Regular backlog",kind:"end"}],edges:[{id:"assess",source:"confirmed",target:"security"},{id:"secure",source:"security",target:"triage",label:"Yes"},{id:"branch",source:"triage",target:"hotfix"},{id:"ship-hotfix",source:"hotfix",target:"release"},{id:"prioritize",source:"security",target:"priority",label:"No"},{id:"plan",source:"priority",target:"sprint",label:"Yes"},{id:"ship-sprint",source:"sprint",target:"release"},{id:"defer",source:"priority",target:"backlog",label:"No"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"stability-fan-in",title:"Incident remediation",nodes:[{id:"evidence",label:"Collect evidence",kind:"start"},{id:"cause",label:"Classify root cause",kind:"decision"},{id:"rollback",label:"Roll back deploy",kind:"process"},{id:"hotfix",label:"Prepare hotfix",kind:"process"},{id:"provider",label:"Escalate to provider",kind:"process"},{id:"stable",label:"Service stable?",kind:"decision"},{id:"monitor",label:"Monitor service",kind:"end"},{id:"escalate",label:"Escalate unstable service",kind:"process"},{id:"fresh",label:"Collect fresh evidence",kind:"process"}],edges:[{id:"classify",source:"evidence",target:"cause"},{id:"deploy",source:"cause",target:"rollback",label:"Deploy"},{id:"code",source:"cause",target:"hotfix",label:"Code"},{id:"vendor",source:"cause",target:"provider",label:"Provider"},{id:"check-rollback",source:"rollback",target:"stable"},{id:"check-hotfix",source:"hotfix",target:"stable"},{id:"check-provider",source:"provider",target:"stable"},{id:"healthy",source:"stable",target:"monitor",label:"Yes"},{id:"unhealthy",source:"stable",target:"escalate",label:"No"},{id:"gather",source:"escalate",target:"fresh"},{id:"retry",source:"fresh",target:"cause"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"renewal-retry",title:"Subscription renewal",nodes:[{id:"due",label:"Renewal due",kind:"start"},{id:"charge",label:"Charge payment",kind:"process"},{id:"paid",label:"Payment succeeded?",kind:"decision"},{id:"renew",label:"Renew subscription",kind:"end"},{id:"remind",label:"Send reminder",kind:"process"},{id:"updated",label:"Payment updated?",kind:"decision"},{id:"pause",label:"Pause subscription",kind:"end"}],edges:[{id:"bill",source:"due",target:"charge"},{id:"confirm",source:"charge",target:"paid"},{id:"renewed",source:"paid",target:"renew",label:"Yes"},{id:"declined",source:"paid",target:"remind",label:"No"},{id:"wait",source:"remind",target:"updated"},{id:"retry",source:"updated",target:"charge",label:"Yes"},{id:"expired",source:"updated",target:"pause",label:"No"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"cancellation-convergence",title:"Subscription cancellation",nodes:[{id:"requested",label:"Member requests cancellation",kind:"start"},{id:"reason",label:"Collect the cancellation reason",kind:"process"},{id:"eligible",label:"Eligible for a retention offer?",kind:"decision"},{id:"offer",label:"Present retention offer",kind:"process"},{id:"accepted",label:"Offer accepted?",kind:"decision"},{id:"keep",label:"Retain member",kind:"end"},{id:"confirm",label:"Confirm cancellation",kind:"process"},{id:"close",label:"Close account",kind:"end"}],edges:[{id:"record",source:"requested",target:"reason"},{id:"check",source:"reason",target:"eligible"},{id:"offer-save",source:"eligible",target:"offer",label:"Yes"},{id:"not-eligible",source:"eligible",target:"confirm",label:"No"},{id:"decide",source:"offer",target:"accepted"},{id:"kept",source:"accepted",target:"keep",label:"Yes"},{id:"declined",source:"accepted",target:"confirm",label:"No"},{id:"close-account",source:"confirm",target:"close"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"shared-feedback-returns",title:"Revisit earlier checks",nodes:[{id:"start",label:"Received",kind:"start"},{id:"a",label:"Intake",kind:"process"},{id:"b",label:"Inspect",kind:"process"},{id:"c",label:"Review",kind:"process"},{id:"d",label:"Approve",kind:"process"},{id:"end",label:"Released",kind:"end"}],edges:[{id:"entry",source:"start",target:"a"},{id:"ab",source:"a",target:"b"},{id:"bc",source:"b",target:"c"},{id:"cd",source:"c",target:"d"},{id:"release",source:"d",target:"end"},{id:"ba",source:"b",target:"a"},{id:"ca",source:"c",target:"a",label:"Retry"},{id:"da",source:"d",target:"a"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({...to,type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"feedback-chain",title:"Repeat inspection",nodes:[{id:"start",label:"Received",kind:"start"},{id:"a",label:"Prepare",kind:"process"},{id:"b",label:"Inspect",kind:"process"},{id:"c",label:"Approve",kind:"process"},{id:"end",label:"Released",kind:"end"}],edges:[{id:"start",source:"start",target:"a"},{id:"ab",source:"a",target:"b"},{id:"bc",source:"b",target:"c"},{id:"ca",source:"c",target:"a",label:"Retry"},{id:"end",source:"c",target:"end"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({...ti,type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"feedback-skip-stubs",title:"Retry with skipped stages",nodes:[{id:"0",label:"Step 0",kind:"start"},{id:"1",label:"Step 1",kind:"process"},{id:"2",label:"Step 2",kind:"process"},{id:"3",label:"Step 3",kind:"process"},{id:"4",label:"Step 4",kind:"process"},{id:"5",label:"Step 5",kind:"end"}],edges:[{id:"e0",source:"0",target:"1"},{id:"e1",source:"1",target:"2"},{id:"e2",source:"2",target:"3"},{id:"e3",source:"3",target:"4",label:"Path 3"},{id:"e4",source:"4",target:"5"},{id:"e5",source:"3",target:"5"},{id:"feedback",source:"4",target:"1"},{id:"e7",source:"2",target:"4"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"decision-feedback",title:"Retry a failed attempt",nodes:[{id:"start",label:"Start",kind:"start"},{id:"attempt",label:"Attempt",kind:"process"},{id:"check",label:"Success?",kind:"decision"},{id:"done",label:"Done",kind:"end"}],edges:[{id:"start",source:"start",target:"attempt"},{id:"check",source:"attempt",target:"check"},{id:"yes",source:"check",target:"done",label:"Yes"},{id:"feedback",source:"check",target:"attempt",label:"Retry"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"review-feedback",title:"Review feedback",nodes:[{id:"start",label:"Received",kind:"start"},{id:"prepare",label:"Prepare submission",kind:"process"},{id:"review",label:"Ready?",kind:"decision"},{id:"revise",label:"Request changes",kind:"process"},{id:"done",label:"Accepted",kind:"end"}],edges:[{id:"start",source:"start",target:"prepare"},{id:"review",source:"prepare",target:"review"},{id:"no",source:"review",target:"revise",label:"No"},{id:"feedback",source:"revise",target:"prepare",label:"Changes ready"},{id:"yes",source:"review",target:"done",label:"Yes"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"wait-retry",title:"Wait and retry",nodes:[{id:"start",label:"Join queue",kind:"start"},{id:"responds",label:"Responds?",kind:"decision"},{id:"leave",label:"Leave queue",kind:"end"},{id:"ready",label:"Ready?",kind:"decision"},{id:"done",label:"Continue",kind:"end"},{id:"wait",label:"Keep waiting",kind:"process"}],edges:[{id:"start",source:"start",target:"responds"},{id:"leave",source:"responds",target:"leave",label:"No"},{id:"ready",source:"responds",target:"ready",label:"Yes"},{id:"done",source:"ready",target:"done",label:"Yes"},{id:"wait",source:"ready",target:"wait",label:"No"},{id:"feedback",source:"wait",target:"responds"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"content-moderation-flow",title:"Content moderation flow",nodes:[{id:"report",label:"Report received",kind:"start"},{id:"scan",label:"Automated scan runs",kind:"process"},{id:"severe",label:"Severe harm detected?",kind:"decision"},{id:"remove",label:"Remove content",kind:"process"},{id:"escalate",label:"Escalate to safety",kind:"process"},{id:"violation",label:"Policy violation?",kind:"decision"},{id:"restore_none",label:"Restore content",kind:"end"},{id:"review",label:"Human review",kind:"process"},{id:"action",label:"Action needed?",kind:"decision"},{id:"limit",label:"Limit content",kind:"end"},{id:"restore_review",label:"Restore content",kind:"end"},{id:"closed_severe",label:"Severe case closed",kind:"end"}],edges:[{id:"edge-1",source:"report",target:"scan"},{id:"edge-2",source:"scan",target:"severe"},{id:"edge-3",source:"severe",target:"remove",label:"Yes"},{id:"edge-4",source:"severe",target:"violation",label:"No"},{id:"edge-5",source:"remove",target:"escalate"},{id:"edge-6",source:"escalate",target:"closed_severe"},{id:"edge-7",source:"violation",target:"restore_none",label:"No"},{id:"edge-8",source:"violation",target:"review",label:"Yes"},{id:"edge-9",source:"review",target:"action"},{id:"edge-10",source:"action",target:"limit",label:"Yes"},{id:"edge-11",source:"action",target:"restore_review",label:"No"}],layout:{direction:"TB"},style:{accentColor:"#8f707f",backgroundColor:"#fffdf8"},type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"data-import-validation",title:"Data import validation",nodes:[{id:"upload",label:"File uploaded",kind:"start"},{id:"parse",label:"Parse file",kind:"process"},{id:"parse_ok",label:"Parsing succeeded?",kind:"decision"},{id:"reject",label:"Reject file",kind:"process"},{id:"rejected_end",label:"File rejected",kind:"end"},{id:"validate",label:"Validate schema",kind:"process"},{id:"schema_ok",label:"Schema valid?",kind:"decision"},{id:"mapping_errors",label:"Return mapping errors",kind:"process"},{id:"mapping_end",label:"Mapping errors returned",kind:"end"},{id:"dedupe",label:"Deduplicate records",kind:"process"},{id:"dup_found",label:"Duplicates found?",kind:"decision"},{id:"merge",label:"Merge duplicates",kind:"process"},{id:"import",label:"Import records",kind:"process"},{id:"done",label:"Import complete",kind:"end"}],edges:[{id:"edge-1",source:"upload",target:"parse"},{id:"edge-2",source:"parse",target:"parse_ok"},{id:"edge-3",source:"parse_ok",target:"reject",label:"No"},{id:"edge-4",source:"reject",target:"rejected_end"},{id:"edge-5",source:"parse_ok",target:"validate",label:"Yes"},{id:"edge-6",source:"validate",target:"schema_ok"},{id:"edge-7",source:"schema_ok",target:"mapping_errors",label:"No"},{id:"edge-8",source:"mapping_errors",target:"mapping_end"},{id:"edge-9",source:"schema_ok",target:"dedupe",label:"Yes"},{id:"edge-10",source:"dedupe",target:"dup_found"},{id:"edge-11",source:"dup_found",target:"merge",label:"Yes"},{id:"edge-12",source:"merge",target:"import"},{id:"edge-13",source:"dup_found",target:"import",label:"No"},{id:"edge-14",source:"import",target:"done"}],layout:{direction:"TB"},style:{accentColor:"#8f707f",backgroundColor:"#fffdf8"},type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"incident-escalation-flowchart",title:"Incident Escalation Flowchart",nodes:[{id:"alert",label:"Monitoring creates alert",kind:"start"},{id:"ack",label:"Responder acknowledges alert",kind:"process"},{id:"severity",label:"Severity?",kind:"decision"},{id:"bridge",label:"Incident bridge",kind:"process"},{id:"triage",label:"Triage queue",kind:"process"},{id:"monitor_low",label:"Monitoring: low-severity incident",kind:"process"},{id:"mitigate",label:"Mitigate impact",kind:"process"},{id:"comms",label:"Send customer communications",kind:"process"},{id:"resolve_bridge",label:"Resolve incident",kind:"end"},{id:"fix",label:"Fix available?",kind:"decision"},{id:"resolve_fix",label:"Resolve incident (fix found)",kind:"end"},{id:"escalate",label:"Escalate to incident bridge",kind:"process"},{id:"resolved_low",label:"Resolved",kind:"end"}],edges:[{id:"edge-1",source:"alert",target:"ack"},{id:"edge-2",source:"ack",target:"severity"},{id:"edge-3",source:"severity",target:"bridge",label:"High"},{id:"edge-4",source:"severity",target:"triage",label:"Medium"},{id:"edge-5",source:"severity",target:"monitor_low",label:"Low"},{id:"edge-6",source:"bridge",target:"mitigate"},{id:"edge-7",source:"mitigate",target:"comms"},{id:"edge-8",source:"comms",target:"resolve_bridge"},{id:"edge-9",source:"triage",target:"fix"},{id:"edge-10",source:"fix",target:"resolve_fix",label:"Yes"},{id:"edge-11",source:"fix",target:"escalate",label:"No"},{id:"edge-12",source:"escalate",target:"bridge"},{id:"edge-13",source:"monitor_low",target:"resolved_low"}],layout:{direction:"TB"},style:{accentColor:"#8f707f",backgroundColor:"#fffdf8"},type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"invoice-approval",title:"Invoice approval",nodes:[{id:"received",label:"Invoice received",kind:"start"},{id:"match_po",label:"Match invoice to purchase order",kind:"process"},{id:"po_matched",label:"Invoice matches PO?",kind:"decision"},{id:"exception_review",label:"Route to exception review",kind:"process"},{id:"exception_resolved",label:"Exception resolved?",kind:"decision"},{id:"reject",label:"Reject invoice",kind:"end"},{id:"over_threshold",label:"Amount over approval threshold?",kind:"decision"},{id:"director_approval",label:"Director approval before payment",kind:"process"},{id:"schedule_payment",label:"Schedule payment",kind:"process"},{id:"paid",label:"Payment scheduled",kind:"end"}],edges:[{id:"e1",source:"received",target:"match_po"},{id:"e2",source:"match_po",target:"po_matched"},{id:"e3",source:"po_matched",target:"over_threshold",label:"Yes"},{id:"e4",source:"po_matched",target:"exception_review",label:"No"},{id:"e5",source:"exception_review",target:"exception_resolved"},{id:"e6",source:"exception_resolved",target:"over_threshold",label:"Yes"},{id:"e7",source:"exception_resolved",target:"reject",label:"No"},{id:"e8",source:"over_threshold",target:"director_approval",label:"Yes"},{id:"e9",source:"over_threshold",target:"schedule_payment",label:"No"},{id:"e10",source:"director_approval",target:"schedule_payment"},{id:"e11",source:"schedule_payment",target:"paid"}],layout:{direction:"TB"},style:{accentColor:"#8f707f",backgroundColor:"#fffdf8"},type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"loan-underwriting",title:"Loan Application Underwriting",nodes:[{id:"submit",label:"Application submitted",kind:"start"},{id:"verify_id",label:"Verify identity",kind:"process"},{id:"id_ok",label:"Identity verified?",kind:"decision"},{id:"credit_review",label:"Credit review",kind:"process"},{id:"credit_ok",label:"Credit acceptable?",kind:"decision"},{id:"manual_uw",label:"Manual underwriting",kind:"process"},{id:"exception",label:"Exception approved?",kind:"decision"},{id:"income",label:"Income verification",kind:"process"},{id:"approve",label:"Loan approved",kind:"end"},{id:"decline",label:"Decline application",kind:"end"}],edges:[{id:"e1",source:"submit",target:"verify_id"},{id:"e2",source:"verify_id",target:"id_ok"},{id:"e3",source:"id_ok",target:"credit_review",label:"Yes"},{id:"e4",source:"id_ok",target:"decline",label:"No"},{id:"e5",source:"credit_review",target:"credit_ok"},{id:"e6",source:"credit_ok",target:"income",label:"Yes"},{id:"e7",source:"credit_ok",target:"manual_uw",label:"No"},{id:"e8",source:"manual_uw",target:"exception"},{id:"e9",source:"exception",target:"income",label:"Yes"},{id:"e10",source:"exception",target:"decline",label:"No"},{id:"e11",source:"income",target:"approve"}],layout:{direction:"TB"},style:{accentColor:"#8f707f",backgroundColor:"#fffdf8"},type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"patient-intake-scheduling",title:"Patient Intake Scheduling",nodes:[{id:"request",label:"Patient requests appointment",kind:"start"},{id:"collect",label:"Clinic collects intake information",kind:"process"},{id:"urgent",label:"Urgent symptoms?",kind:"decision"},{id:"triage",label:"Nurse triage",kind:"process"},{id:"same_day",label:"Schedule same-day appointment",kind:"process"},{id:"insurance",label:"Is insurance valid?",kind:"decision"},{id:"routine",label:"Schedule routine appointment",kind:"process"},{id:"self_pay_q",label:"Patient accepts self-pay?",kind:"decision"},{id:"self_pay",label:"Schedule routine care (self-pay)",kind:"process"},{id:"billing",label:"Refer to billing",kind:"process"},{id:"end_same_day",label:"Same-day visit booked",kind:"end"},{id:"end_routine",label:"Routine visit booked",kind:"end"},{id:"end_self_pay",label:"Self-pay visit booked",kind:"end"},{id:"end_billing",label:"Billing referral made",kind:"end"}],edges:[{id:"e1",source:"request",target:"collect"},{id:"e2",source:"collect",target:"urgent"},{id:"e3",source:"urgent",target:"triage",label:"Yes"},{id:"e4",source:"triage",target:"same_day"},{id:"e5",source:"same_day",target:"end_same_day"},{id:"e6",source:"urgent",target:"insurance",label:"No"},{id:"e7",source:"insurance",target:"routine",label:"Valid"},{id:"e8",source:"routine",target:"end_routine"},{id:"e9",source:"insurance",target:"self_pay_q",label:"Invalid"},{id:"e10",source:"self_pay_q",target:"self_pay",label:"Yes"},{id:"e11",source:"self_pay",target:"end_self_pay"},{id:"e12",source:"self_pay_q",target:"billing",label:"No"},{id:"e13",source:"billing",target:"end_billing"}],layout:{direction:"TB"},style:{accentColor:"#8f707f",backgroundColor:"#fffdf8"},type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"pharma-batch-disposition",title:"Pharma Batch Disposition",nodes:[{id:"received",label:"Batch received",kind:"start"},{id:"coa_review",label:"QA reviews Certificate of Analysis (CoA)",kind:"process"},{id:"spec_check",label:"Batch passes specs?",kind:"decision"},{id:"final_review",label:"QA Manager final review",kind:"process"},{id:"packaging",label:"Packaging",kind:"process"},{id:"released",label:"Packaged batch released",kind:"end"},{id:"investigation",label:"Investigation",kind:"process"},{id:"rejected",label:"Reject batch",kind:"end"}],edges:[{id:"e1",source:"received",target:"coa_review"},{id:"e2",source:"coa_review",target:"spec_check"},{id:"e3",source:"spec_check",target:"final_review",label:"Pass"},{id:"e4",source:"spec_check",target:"investigation",label:"Retest"},{id:"e5",source:"spec_check",target:"rejected",label:"Reject"},{id:"e6",source:"final_review",target:"packaging"},{id:"e7",source:"packaging",target:"released"},{id:"e8",source:"investigation",target:"final_review",label:"Returns to final review"}],layout:{direction:"TB"},style:{accentColor:"#8f707f",backgroundColor:"#fffdf8"},type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"warehouse-reorder-flow",title:"Warehouse reorder flow",nodes:[{id:"count",label:"Stock count updated",kind:"start"},{id:"reorder_check",label:"Inventory below reorder point?",kind:"decision"},{id:"monitor",label:"Monitor stock",kind:"process"},{id:"monitor_end",label:"Stock monitoring continues",kind:"end"},{id:"check_supplier",label:"Check supplier availability",kind:"process"},{id:"supplier_check",label:"Supplier available?",kind:"decision"},{id:"substitute",label:"Use substitute supplier",kind:"process"},{id:"create_po",label:"Create purchase order",kind:"process"},{id:"await_delivery",label:"Await delivery",kind:"process"},{id:"reorder_end",label:"Reorder cycle complete",kind:"end"}],edges:[{id:"e1",source:"count",target:"reorder_check"},{id:"e2",source:"reorder_check",target:"monitor",label:"No"},{id:"e3",source:"monitor",target:"monitor_end"},{id:"e4",source:"reorder_check",target:"check_supplier",label:"Yes"},{id:"e5",source:"check_supplier",target:"supplier_check"},{id:"e6",source:"supplier_check",target:"create_po",label:"Yes"},{id:"e7",source:"supplier_check",target:"substitute",label:"No"},{id:"e8",source:"substitute",target:"create_po"},{id:"e9",source:"create_po",target:"await_delivery"},{id:"e10",source:"await_delivery",target:"reorder_end"}],layout:{direction:"TB"},style:{accentColor:"#8f707f",backgroundColor:"#fffdf8"},type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),tr({id:"loan-application-underwriting",title:"Loan Application Underwriting",nodes:[{id:"submitted",label:"Application submitted",kind:"start"},{id:"identity",label:"Verify identity",kind:"process"},{id:"identity_decision",label:"Identity verified?",kind:"decision"},{id:"identity_decline",label:"Decline application",kind:"end"},{id:"credit",label:"Credit review",kind:"process"},{id:"credit_decision",label:"Acceptable credit?",kind:"decision"},{id:"manual",label:"Manual underwriting",kind:"process"},{id:"exception",label:"Exception approved?",kind:"decision"},{id:"exception_decline",label:"Decline application",kind:"end"},{id:"income",label:"Income verification",kind:"process"},{id:"approved",label:"Approve loan",kind:"end"}],edges:[{id:"edge-1",source:"submitted",target:"identity"},{id:"edge-2",source:"identity",target:"identity_decision"},{id:"edge-3",source:"identity_decision",target:"identity_decline",label:"Failed"},{id:"edge-4",source:"identity_decision",target:"credit",label:"Verified"},{id:"edge-5",source:"credit",target:"credit_decision"},{id:"edge-6",source:"credit_decision",target:"income",label:"Acceptable"},{id:"edge-7",source:"credit_decision",target:"manual",label:"Unacceptable"},{id:"edge-8",source:"manual",target:"exception"},{id:"edge-9",source:"exception",target:"income",label:"Yes"},{id:"edge-10",source:"exception",target:"exception_decline",label:"No"},{id:"edge-11",source:"income",target:"approved"}],layout:{direction:"TB"}}),tr({id:"invoice-approval-flowchart",title:"Invoice approval flowchart",nodes:[{id:"received",label:"Invoice received",kind:"start"},{id:"match",label:"Match to purchase order",kind:"process"},{id:"matches",label:"Matches purchase order?",kind:"decision"},{id:"review",label:"Exception review",kind:"process"},{id:"resolved",label:"Exception resolved?",kind:"decision"},{id:"reject",label:"Reject invoice",kind:"end"},{id:"threshold",label:"Amount over approval threshold?",kind:"decision"},{id:"director",label:"Director approval",kind:"process"},{id:"schedule",label:"Schedule payment",kind:"process"},{id:"payment",label:"Payment",kind:"end"}],edges:[{id:"edge-1",source:"received",target:"match"},{id:"edge-2",source:"match",target:"matches"},{id:"edge-3",source:"matches",target:"review",label:"No"},{id:"edge-4",source:"review",target:"resolved"},{id:"edge-5",source:"resolved",target:"reject",label:"No — unresolved"},{id:"edge-6",source:"resolved",target:"threshold",label:"Yes — resolved"},{id:"edge-7",source:"matches",target:"threshold",label:"Yes — matched"},{id:"edge-8",source:"threshold",target:"director",label:"Yes — over threshold"},{id:"edge-9",source:"threshold",target:"schedule",label:"No — at or below threshold"},{id:"edge-10",source:"director",target:"schedule"},{id:"edge-11",source:"schedule",target:"payment"}],layout:{direction:"TB"}}),tr({id:"identifier-labels",title:"Identifier labels",nodes:[{id:"call",label:"buildSequenceDiagram",kind:"start"},{id:"check",label:"Layout renderer-independent?",kind:"decision"},{id:"export",label:"exportToExcalidrawScene(spec)",kind:"process"},{id:"fetch",label:"Fetch https://playground.sketchi.app/api/v1/artifacts/download",kind:"process"},{id:"cjk",label:"品質保証レビュー承認待ち",kind:"process"},{id:"done",label:"Ship 🚀 release",kind:"end"}],edges:[{id:"e1",source:"call",target:"check"},{id:"e2",source:"check",target:"export",label:"renderer-independent"},{id:"e3",source:"check",target:"fetch",label:"buildSequenceDiagram"},{id:"e4",source:"export",target:"cjk",label:"品質保証レビュー承認待ち"},{id:"e5",source:"fetch",target:"done",label:"https://example.com/api/v1/artifacts/download"},{id:"e6",source:"cjk",target:"done",label:"🚀🚀 shipped"}],layout:{direction:"TB"}}),tr({id:"multiline-labels",title:"Multi-line labels",nodes:[{id:"request",label:"Refund requested",kind:"start"},{id:"eligible",label:"Refund within the policy window?",kind:"decision"},{id:"provider",label:"Ask the payment provider",kind:"process"},{id:"confirmed",label:"Provider confirmed?",kind:"decision"},{id:"refund",label:"Issue the refund",kind:"process"},{id:"deny",label:"Explain the decision to the customer",kind:"end"},{id:"closed",label:"Refund closed",kind:"end"}],edges:[{id:"e1",source:"request",target:"eligible"},{id:"e2",source:"eligible",target:"provider",label:"Yes, within the window and eligible for a full refund"},{id:"e3",source:"eligible",target:"deny",label:"No — outside\nthe policy window"},{id:"e4",source:"provider",target:"confirmed",label:"Request sent to the provider"},{id:"e5",source:"confirmed",target:"refund",label:"Confirmed by the provider"},{id:"e6",source:"confirmed",target:"provider",label:"Retry after the provider\nconfirms the hold"},{id:"e7",source:"refund",target:"closed"}],layout:{direction:"TB"}}),tr({id:"competing-branch-labels",title:"Competing branch labels",nodes:[{id:"triage",label:"Triage the report",kind:"start"},{id:"kind",label:"Which kind of report?",kind:"decision"},{id:"bug",label:"Reproduce the bug",kind:"process"},{id:"feature",label:"Log the feature",kind:"process"},{id:"question",label:"Answer the question",kind:"process"},{id:"duplicate",label:"Link the duplicate",kind:"process"},{id:"reproduced",label:"Reproduced?",kind:"decision"},{id:"fix",label:"Fix and verify",kind:"process"},{id:"closed",label:"Close the report",kind:"end"}],edges:[{id:"e1",source:"triage",target:"kind"},{id:"e2",source:"kind",target:"bug",label:"Unexpected behavior"},{id:"e3",source:"kind",target:"feature",label:"Enhancement"},{id:"e4",source:"kind",target:"question",label:"Unanswered question"},{id:"e5",source:"kind",target:"duplicate",label:"Duplicate"},{id:"e6",source:"bug",target:"reproduced"},{id:"e7",source:"reproduced",target:"fix",label:"Reproduced"},{id:"e8",source:"reproduced",target:"bug",label:"Unreproducible"},{id:"e9",source:"fix",target:"closed"},{id:"e10",source:"feature",target:"closed"},{id:"e11",source:"question",target:"closed"},{id:"e12",source:"duplicate",target:"closed"}],layout:{direction:"TB"}}),tn({id:"grouped-approval",title:"Expense approval by team",groups:[{id:"employee",label:"Employee"},{id:"manager",label:"Manager"},{id:"finance",label:"Finance"}],nodes:[{id:"incurred",label:"Expense incurred",kind:"start"},{id:"submit",label:"Submit expense report",kind:"process",group:"employee"},{id:"review",label:"Review the report",kind:"process",group:"manager"},{id:"approved",label:"Approved?",kind:"decision",group:"manager"},{id:"revise",label:"Revise the report",kind:"process",group:"employee"},{id:"verify",label:"Verify receipts",kind:"process",group:"finance"},{id:"pay",label:"Pay the employee",kind:"process",group:"finance"},{id:"paid",label:"Expense paid",kind:"end"}],edges:[{id:"e1",source:"incurred",target:"submit"},{id:"e2",source:"submit",target:"review"},{id:"e3",source:"review",target:"approved"},{id:"e4",source:"approved",target:"verify",label:"yes"},{id:"e5",source:"approved",target:"revise",label:"no"},{id:"e6",source:"revise",target:"submit"},{id:"e7",source:"verify",target:"pay"},{id:"e8",source:"pay",target:"paid"}]}),tn({id:"three-zone-service",title:"Request path across network zones",groups:[{id:"internet",label:"Public internet"},{id:"edge",label:"Edge network"},{id:"private",label:"Private subnet"}],nodes:[{id:"browser",label:"Browser sends request",kind:"start",group:"internet"},{id:"cdn",label:"CDN serves cache",kind:"process",group:"edge"},{id:"cached",label:"Cache hit?",kind:"decision",group:"edge"},{id:"waf",label:"WAF filters traffic",kind:"process",group:"edge"},{id:"api",label:"API handles request",kind:"process",group:"private"},{id:"db",label:"Query the database",kind:"process",group:"private"},{id:"response",label:"Response returned",kind:"end"}],edges:[{id:"e1",source:"browser",target:"cdn"},{id:"e2",source:"cdn",target:"cached"},{id:"e3",source:"cached",target:"response",label:"hit"},{id:"e4",source:"cached",target:"waf",label:"miss"},{id:"e5",source:"waf",target:"api"},{id:"e6",source:"api",target:"db"},{id:"e7",source:"db",target:"response"}]},"LR"),tn({id:"mixed-membership",title:"Order fulfilment with partial grouping",groups:[{id:"warehouse",label:"Warehouse"},{id:"shipping",label:"Shipping partner"}],nodes:[{id:"order",label:"Order placed",kind:"start"},{id:"fraud",label:"Fraud check passed?",kind:"decision"},{id:"pick",label:"Pick items",kind:"process",group:"warehouse"},{id:"pack",label:"Pack the order",kind:"process",group:"warehouse"},{id:"label",label:"Print shipping label",kind:"process",group:"warehouse"},{id:"collect",label:"Collect parcel",kind:"process",group:"shipping"},{id:"deliver",label:"Deliver to customer",kind:"end",group:"shipping"},{id:"cancel",label:"Cancel the order",kind:"end"}],edges:[{id:"e1",source:"order",target:"fraud"},{id:"e2",source:"fraud",target:"pick",label:"yes"},{id:"e3",source:"fraud",target:"cancel",label:"no"},{id:"e4",source:"pick",target:"pack"},{id:"e5",source:"pack",target:"label"},{id:"e6",source:"label",target:"collect"},{id:"e7",source:"collect",target:"deliver"}]}),tn({id:"scattered-members",title:"Incident handling across on-call and support",groups:[{id:"support",label:"Customer support desk and escalation team"},{id:"oncall",label:"On-call"},{id:"comms",label:"Comms"}],nodes:[{id:"report",label:"Customer reports issue",kind:"start",group:"support"},{id:"triage",label:"Triage the report",kind:"process",group:"support"},{id:"outage",label:"Outage?",kind:"decision"},{id:"page",label:"Page on-call",kind:"process",group:"oncall"},{id:"mitigate",label:"Mitigate impact",kind:"process",group:"oncall"},{id:"fixed",label:"Fixed?",kind:"decision",group:"oncall"},{id:"status",label:"Post status update",kind:"process",group:"comms"},{id:"reply",label:"Reply to customer",kind:"process",group:"support"},{id:"closed",label:"Ticket closed",kind:"end",group:"support"}],edges:[{id:"e1",source:"report",target:"triage"},{id:"e2",source:"triage",target:"outage"},{id:"e3",source:"outage",target:"page",label:"yes"},{id:"e4",source:"outage",target:"reply",label:"no"},{id:"e5",source:"page",target:"mitigate"},{id:"e6",source:"mitigate",target:"fixed"},{id:"e7",source:"fixed",target:"status",label:"yes"},{id:"e8",source:"fixed",target:"mitigate",label:"not yet"},{id:"e9",source:"status",target:"reply"},{id:"e10",source:"reply",target:"closed"}]}),tn({id:"many-groups",title:"Release train across teams",groups:[{id:"product",label:"Product"},{id:"web",label:"Web team"},{id:"mobile",label:"Mobile team"},{id:"qa",label:"QA"},{id:"ops",label:"Ops"},{id:"marketing",label:"Marketing"}],nodes:[{id:"plan",label:"Plan the release",kind:"start",group:"product"},{id:"web-build",label:"Build web app",kind:"process",group:"web"},{id:"mobile-build",label:"Build mobile app",kind:"process",group:"mobile"},{id:"store",label:"Submit to app stores",kind:"process",group:"mobile"},{id:"test",label:"Regression tests",kind:"process",group:"qa"},{id:"pass",label:"Tests pass?",kind:"decision",group:"qa"},{id:"deploy",label:"Deploy to production",kind:"process",group:"ops"},{id:"announce",label:"Announce the release",kind:"end",group:"marketing"}],edges:[{id:"e1",source:"plan",target:"web-build"},{id:"e2",source:"plan",target:"mobile-build"},{id:"e3",source:"mobile-build",target:"store"},{id:"e4",source:"web-build",target:"test"},{id:"e5",source:"store",target:"test"},{id:"e6",source:"test",target:"pass"},{id:"e7",source:"pass",target:"deploy",label:"yes"},{id:"e8",source:"pass",target:"web-build",label:"no"},{id:"e9",source:"deploy",target:"announce"}]}),tn({id:"single-group",title:"Payment retries inside the billing service",groups:[{id:"billing",label:"Billing service"}],nodes:[{id:"charge",label:"Charge the card",kind:"start",group:"billing"},{id:"ok",label:"Charge succeeded?",kind:"decision",group:"billing"},{id:"wait",label:"Wait and retry",kind:"process",group:"billing"},{id:"receipt",label:"Send receipt",kind:"end",group:"billing"}],edges:[{id:"e1",source:"charge",target:"ok"},{id:"e2",source:"ok",target:"receipt",label:"yes"},{id:"e3",source:"ok",target:"wait",label:"no"},{id:"e4",source:"wait",target:"ok"}]});let tc=20*Math.PI/180;function td(e){return 2e3/(Math.max(e.width,e.height,1)+40)}function tp(e){let t=[];for(let a of e){let e=t.at(-1);if(e&&.01>=Math.hypot(a.x-e.x,a.y-e.y))continue;let s=t.at(-2);if(s&&e&&.01>=Math.abs((e.x-s.x)*(a.y-e.y)-(e.y-s.y)*(a.x-e.x))&&(e.x-s.x)*(a.x-e.x)+(e.y-s.y)*(a.y-e.y)>0){t[t.length-1]=a;continue}t.push(a)}return t}function tg(e){let t=[];for(let a=0;a<e.length-1;a+=1){let s=e[a],l=e[a+1],i=.01>=Math.abs(s.y-l.y);!i&&Math.abs(s.x-l.x)>.01||t.push({horizontal:i,at:i?s.y:s.x,min:Math.min(i?s.x:s.y,i?l.x:l.y),max:Math.max(i?s.x:s.y,i?l.x:l.y),first:0===a,last:a===e.length-2})}return t}function th(e,t){let a=tp(e.points),s=a[0],l=a.at(-1);if(!s||!l)return[];let i=new Map;for(let e=1;e<a.length-2;e+=1){let[o,r,n,c]=[a[e-1],a[e],a[e+1],a[e+2]],d={x:r.x-o.x,y:r.y-o.y},p={x:n.x-r.x,y:n.y-r.y},g={x:c.x-n.x,y:c.y-n.y},h=[d,p,g].every(e=>.01>=Math.abs(e.x)||.01>=Math.abs(e.y)),u=.01>=Math.abs(d.x*g.y-d.y*g.x)&&d.x*g.x+d.y*g.y>0,f=.01>=Math.abs(d.x*p.x+d.y*p.y),v=Math.hypot(p.x,p.y);h&&u&&f&&!(v*t>=150)&&(!i.has("end")&&Math.hypot(l.x-n.x,l.y-n.y)*t<=90&&2*v<=Math.hypot(d.x,d.y)?i.set("end",v):!i.has("start")&&Math.hypot(r.x-s.x,r.y-s.y)*t<=90&&2*v<=Math.hypot(g.x,g.y)&&i.set("start",v))}return[...i].map(([t,a])=>({kind:"endpoint-jog",arrowIds:[e.id],endpoint:t,message:`Arrow "${e.id}" steps ${a.toFixed(1)} units sideways near its ${"end"===t?"arrowhead":"start"}.`}))}function tu(e,t,a,s,l){return t.some(t=>s.some(s=>{if(t.horizontal!==s.horizontal||Math.abs(t.at-s.at)*l>=24)return!1;let i=Math.min(t.max,s.max)-Math.max(t.min,s.min);return!(i*l<30)&&!((t.first&&s.first&&e.sourceId&&e.sourceId===a.sourceId||t.last&&s.last&&e.targetId&&e.targetId===a.targetId)&&i*l<=90)}))}function tf(e){if(!1===e.endArrowhead)return;let t=e.points.filter((e,t,a)=>0===t||Math.hypot(e.x-a[t-1].x,e.y-a[t-1].y)>.01),a=t.at(-1),s=t.at(-2);if(!a||!s)return;let l=Math.hypot(a.x-s.x,a.y-s.y),i=Math.min(25,l/2),o=(a.x-s.x)/l,r=(a.y-s.y)/l,n=e=>({x:a.x-i*(o*Math.cos(e)-r*Math.sin(e)),y:a.y-i*(r*Math.cos(e)+o*Math.sin(e))});return[a,n(tc),n(-tc)]}function tv(e,t,a){let s=a.x-t.x,l=a.y-t.y,i=0===s&&0===l?0:Math.max(0,Math.min(1,((e.x-t.x)*s+(e.y-t.y)*l)/(s*s+l*l)));return Math.hypot(e.x-(t.x+i*s),e.y-(t.y+i*l))}function tm(e,t,a,s){let l=(e,t,a)=>(t.x-e.x)*(a.y-e.y)-(t.y-e.y)*(a.x-e.x);return l(e,t,a)*l(e,t,s)<0&&l(a,s,e)*l(a,s,t)<0}function ty(e,t){let a=e.flatMap((a,s)=>e.slice(s+1).flatMap(e=>{let s,l;return[tu(a,tg(tp(a.points)),e,tg(tp(e.points)),t)?{kind:"near-coincident-corridor",arrowIds:[a.id,e.id],message:`Arrows "${a.id}" and "${e.id}" run side by side closer than 24 px.`}:void 0,(s=tf(a),l=tf(e),s&&l&&(function(e,t){let a=e=>e.map((t,a)=>[t,e[(a+1)%e.length]]),s=1/0;for(let[l,i]of a(e))for(let[e,o]of a(t)){if(tm(l,i,e,o))return 0;s=Math.min(s,tv(l,e,o),tv(i,e,o),tv(e,l,i),tv(o,l,i))}return s}(s,l)-2)*t<8?{kind:"touching-arrowheads",arrowIds:[a.id,e.id],message:`Arrowheads of "${a.id}" and "${e.id}" touch.`}:void 0)].filter(e=>void 0!==e)}));return[...e.flatMap(e=>th(e,t)),...a.filter(e=>"near-coincident-corridor"===e.kind),...a.filter(e=>"touching-arrowheads"===e.kind)]}function tw(e,t){let a=24/t+2,s=e.map(e=>{let t=tf(e);return{arrow:e,bounds:tx([...e.points,...t??[]]),head:t,headBounds:t?tx(t):void 0,runs:tg(tp(e.points))}});return e=>{let l=tg(tp(e.points)),i=tx(e.points,a),o=e.points.slice(1).map((t,s)=>{let l=e.points[s];return{bounds:tx([l,t],a),from:l,to:t}}),r=s.filter(({arrow:t,bounds:a})=>t.id!==e.id&&tb(i,a)),n=new Set(r.filter(({arrow:a,runs:s})=>tu(e,l,a,s,t)).map(({arrow:e})=>e.id));return{arrowheadsCrossed:new Set(r.filter(({head:e,headBounds:a})=>e&&o.some(({bounds:s,from:l,to:i})=>tb(s,a)&&(function(e,t,a){let s=1/0;for(let[l,i]of a.entries()){let o=a[(l+1)%a.length];if(tm(e,t,i,o))return 0;s=Math.min(s,tv(e,i,o),tv(t,i,o),tv(i,e,t),tv(o,e,t))}return s}(l,i,e)-2)*t<8)).map(({arrow:e})=>e.id)).size,corridors:n.size,jogs:th(e,t).length}}}function tx(e,t=0){let a=e.map(e=>e.x),s=e.map(e=>e.y);return{maxX:Math.max(...a)+t,maxY:Math.max(...s)+t,minX:Math.min(...a)-t,minY:Math.min(...s)-t}}function tb(e,t){return e.minX<=t.maxX&&t.minX<=e.maxX&&e.minY<=t.maxY&&t.minY<=e.maxY}let tk=Object.freeze({clearance:4,fontSize:14,height:21}),tM=/[@%MW]/u,tC=/[A-Z0-9mw#$&_~]/u,tz=new Intl.Segmenter(void 0,{granularity:"grapheme"});function t_(e){let{fontSize:t}=tk,a=0;for(let{segment:s}of tz.segment(e))a+=tM.test(s)?1.02*t:tC.test(s)?.86*t:/^[\x20-\x7e]$/u.test(s)?eI(s,t):Math.max(.86*t,eI(s,t));return Math.ceil(a)}let tL=/[,;]\s*(?:id|label|kind|group|source|target|title|direction|nodes|edges)\s*:?\s*$/i;function tB(e){let t=e.trim();for(;;){let e=t.replace(tL,"").trim();if(e===t)return t;t=e}}class tA extends l.Xsx("ContractSchemaIssue")({code:t$("custom"),issueTag:l.xCb(["Filter","InvalidType","InvalidValue","MissingKey","UnexpectedKey","Forbidden","OneOf","AnyOf"]),astKind:l.Qrq(l.QfV),missingKeyCode:l.Qrq(l.uSQ("invalid_type")),message:l.QfV,path:l.O31(l.pHd)},{identifier:void 0}){}class tP extends l.rNF()("ContractSchemaError",{issues:l.O31(l.O3D(tA))}){}let tS=e=>{var t;if("InvalidType"!==e._tag)return d.vp(e);let a=d.bZ(e)?e.input:void 0;return`Invalid input: expected ${t=e.ast,c.Kg(t)?"string":c.Et(t)?"number":c.Lm(t)?"boolean":c.tF(t)?"array":c.RP(t)?"object":c.c$(t)?JSON.stringify(t.literal):"value"}, received ${null===a?"null":Array.isArray(a)?"array":typeof a}`},tV=d.ID({leafHook:tS});function tH(e){let t,a;return new tP({issues:(t=[],((a=(e,s,l)=>{switch(e._tag){case"Pointer":return a(e.issue,[...s,...e.path],l);case"Encoding":return a(e.issue,s,l);case"Composite":for(let t of e.issues)a(t,s,e.ast);return;case"AnyOf":if(e.issues.length>0){for(let t of e.issues)a(t,s,e.ast);return}break;case"Filter":if(void 0===d.VY(e)&&"InvalidValue"!==e.issue._tag)return a(e.issue,s,l)}let i="ast"in e?e.ast:l,o="MissingKey"===e._tag&&e.annotations?.[tO]==="invalid_type"?"invalid_type":void 0,r=i&&c.mi(i)&&i.types.every(c.c$)?"LiteralUnion":i?._tag,n=i?.annotations?.[tU],p="string"==typeof n?[...s,n]:s;for(let a of tV(e).issues)t.push({code:"custom",issueTag:e._tag,...o?{missingKeyCode:o}:{},...r?{astKind:r}:{},message:a.message,path:p})})(e.issue,[]),t.length>1&&t.every(e=>"source"===e.path[0]))?[{code:"custom",issueTag:"AnyOf",astKind:"Union",message:"Invalid input",path:["source"]}]:t)})}let tq=new Set(["x-sketchi-default","x-sketchi-one-of","const","exclusiveMaximum","exclusiveMinimum","maximum","maxLength","maxItems","minimum","minItems","minLength","pattern"]),tF="x-sketchi-default",tI="x-sketchi-one-of",tU="codeModeDiscriminator",tO="codeModeMissingKeyCode";function tE(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function tX(e){let t=l._oz(l.AxX(e),{includeAnnotationKey:e=>tq.has(e),onExcessProperty:"error"});return function e(t){if(Array.isArray(t))return t.map(e);if(!tE(t))return t;let a=Object.fromEntries(Object.entries(t).map(([t,a])=>[t,e(a)])),s=!0===a[tI];delete a[tI],s&&Array.isArray(a.anyOf)&&(a.oneOf=a.anyOf,delete a.anyOf);let l=a.allOf;if(Array.isArray(l)){let e=[];for(let t of l)tE(t)&&Object.hasOwn(t,tF)?a.default=t[tF]:e.push(t);0===e.length?delete a.allOf:a.allOf=e}return a}({$schema:"https://json-schema.org/draft/2020-12/schema",...t.schema,...0===Object.keys(t.definitions).length?{}:{$defs:t.definitions}})}function tY(){return l.QfV.check(l.tJb(1,{message:"Too small: expected string to have >=1 characters"}))}function tZ(e){return l.O31(e).pipe(l.fXn).check(l.tJb(1,{message:"Too small: expected array to have >=1 items"}))}function tG(e){return l.Qrq(e)}function tT(e){return e.pipe(l.usV({[tO]:"invalid_type",messageMissingKey:"Invalid input: expected string, received undefined"}))}function tD(e){return e.pipe(l.usV({[tO]:"invalid_type",messageMissingKey:"Invalid input: expected object, received undefined"}))}function tR(e){return e.pipe(l.usV({[tO]:"invalid_type",messageMissingKey:"Invalid input: expected array, received undefined"}))}function tj(e){return l.xCb(e).annotate({message:`Invalid option: expected one of ${e.map(e=>JSON.stringify(e)).join("|")}`})}function t$(e){return tJ(e,l.QfV)}function tN(e){return tJ(e,l.wNn)}function tW(e){return tJ(e,l.v8c)}function tJ(e,t){let a=l.hzj()([],()=>(t,a,s)=>t===e?o.PyW(e):o.fJG(new d.eE(a,t,s)),{message:`Invalid literal value, expected ${JSON.stringify(e)}`,toCodecJson:()=>l.nfo()(t.annotate({const:e}),{decode:p.pd(()=>e),encode:p.pd(e=>e)})});return l.uSQ(e).pipe(l.GLL(a))}let tK=tY(),tQ=tT(tK),t1=l.wYs,t0=l.wNn.check(l.MIs(),l.yJO(0,{message:"Too small: expected number to be >0"})),t2=/^#[0-9a-fA-F]{6}$/u;function t3(e){return l.QfV.annotate(void 0===e?{}:{default:e}).check(l.Pto(t2,{message:`Invalid string: must match pattern /${t2.source}/`}))}let t5=t3(),t4=["excalidraw","scene","png"],t6=["excalidraw","scene"],t7=Object.assign(tj(t4),{options:t4}),t8=Object.assign(tj(t6),{options:t6});class t9 extends l.Xsx("ArtifactProvenance")({sourceArtifactId:tQ.pipe(l.Wa3)},{identifier:void 0}){}let ae=["missing_field","invalid_type","invalid_enum","invalid_color","duplicate_node_id","duplicate_edge_id","missing_edge_source","missing_edge_target","self_loop","missing_start","multiple_starts","missing_end","start_has_incoming","end_has_outgoing","unreachable_node","nonterminating_node","missing_outgoing_edge","underbranched_decision","unlabeled_decision_branch","duplicate_decision_branch_label","disconnected_graph","flowchart_too_large","duplicate_group_id","unknown_node_group","empty_group","mindmap_too_deep","mindmap_too_large","sequence_too_large","invalid_timeline_date","duplicate_event_id","invalid_timeline_order","timeline_too_large","invalid_timeline_span","invalid_timeline_lane","request_too_large","generic_label","label_too_long","quality_below_threshold","render_failed","text_overflow","arrow_binding_invalid","arrow_overlap","export_invalid_scene","storage_read_failed","storage_write_failed","unsupported_artifact_format","patch_source_unavailable","unknown_patch_target","unsupported_patch_operation","patch_preserve_connectivity_failed","patch_output_invalid","duplicate_element_id","duplicate_layer_id","invalid_canvas_binding","invalid_canvas_composition","invalid_canvas_geometry","invalid_polygon","canvas_limit_exceeded","invalid_z_order","unknown_layout_target","unknown_icon","invalid_canvas_icon","icon_dropped"],at=Object.assign(tj(ae),{options:ae}),aa=tj(["request","diagram","node","edge","group","element","layer","artifact"]),as=tj(["input","canvas","flowchart","mindmap","quality","render","export","storage"]);class al extends l.Xsx("CodeModeIssueRef")({kind:aa,id:tG(tK),path:tG(tK)},{identifier:void 0}){}class ai extends l.Xsx("CodeModeIssue")({code:at,severity:tj(["error","warning"]),stage:as,ref:tG(al),message:tQ,hint:tQ},{identifier:void 0}){}let ao=["start","process","decision","end"],ar=Object.assign(tj(ao),{options:ao}),an=["setDefaultStyle","setStyle","setShape","translate","replaceText","rerouteEdges","insert","remove","replace","reorder","group","ungroup"];Object.assign(tj(an),{options:an});let ac=tT(tY().check(l.NYj(128,{message:"Too big: expected string to have <=128 characters"})));class ad extends l.Xsx("NodeIconSpec")({slug:ac},{identifier:void 0}){}class ap extends l.Xsx("FlowchartSpecNode")({id:tQ,label:tQ,kind:ar,description:tG(tK),icon:tG(ad),group:tG(tK)},{identifier:void 0}){}class ag extends l.Xsx("FlowchartSpecGroup")({id:tQ,label:tQ},{identifier:void 0}){}class ah extends l.Xsx("FlowchartSpecEdge")({id:tG(tK),source:tQ,target:tQ,label:tG(tK)},{identifier:void 0}){}let au=tj(["TB","LR"]),af=au.annotate({default:"TB"}).pipe(l.E$i(o.PyW("TB")));class av extends l.Xsx("FlowchartSpecLayout")({direction:af},{identifier:void 0}){}let am=y.accentColor,ay=t3(am).pipe(l.E$i(o.PyW(am))),aw=y.backgroundColor,ax=t3(aw).pipe(l.E$i(o.PyW(aw)));class ab extends l.Xsx("FlowchartSpecStyle")({accentColor:ay,backgroundColor:ax},{identifier:void 0}){}let ak=[],aM=l.O31(ah).pipe(l.fXn).annotate({default:ak}).pipe(l.E$i(o.PyW(ak))),aC={direction:"TB"},az=av.annotate({default:aC}).pipe(l.E$i(o.PyW(aC)),l.usV({[tF]:aC})),a_={accentColor:y.accentColor,backgroundColor:y.backgroundColor},aL=ab.annotate({default:a_}).pipe(l.E$i(o.PyW(a_)),l.usV({[tF]:a_}));class aB extends l.Xsx("FlowchartSpec")({id:tG(tK),title:tQ,nodes:tR(tZ(ap)),edges:aM,groups:tG(l.O31(ag).pipe(l.fXn)),layout:az,style:aL},{identifier:void 0}){}class aA extends l.Xsx("SequenceParticipantSpec")({id:tQ,label:tQ,kind:tG(tK),icon:tG(ad)},{identifier:void 0}){}class aP extends l.Xsx("SequenceMessageSpec")({id:tG(tK),source:tQ,target:tQ,label:tQ,type:tG(tj(ev)),style:tG(tj(em))},{identifier:void 0}){}let aS=[],aV=l.O31(aP).pipe(l.fXn).annotate({default:aS}).pipe(l.E$i(o.PyW(aS)));class aH extends l.Xsx("SequenceDiagramSpec")({id:tG(tK),title:tQ,participants:tR(tZ(aA)),messages:aV,style:aL},{identifier:void 0}){}class aq extends l.Xsx("TimelineEventSpec")({id:tQ,label:tQ,date:tG(tK),end:tG(tK),order:tG(t1),kind:tG(tj(F)),lane:tG(tK),description:tG(tK)},{identifier:void 0}){}class aF extends l.Xsx("TimelineSpec")({id:tG(tK),title:tQ,events:tR(tZ(aq)),lanes:tG(l.O31(tK).pipe(l.fXn)),today:tG(tK),style:aL},{identifier:void 0}){}let aI=tG(tZ(t7)),aU=tG(l.O31(t8).pipe(l.fXn)),aO=tG(l.wNn.check(l.MIs(),l.OWK(0,{message:"Too small: expected number to be >=0"}),l.biW(10,{message:"Too big: expected number to be <=10"})));class aE extends l.Xsx("BuildFlowchartOptions")({artifactFormats:aI,inlineArtifacts:aU,minQualityScore:aO},{identifier:void 0}){}tG(aE);class aX extends l.Xsx("BuildFlowchartRequest")({requestId:tG(tK),spec:tD(aB),options:tG(aE)},{identifier:void 0}){}let aY=aB.mapFields(({id:e,title:t,nodes:a,edges:s,layout:l})=>({id:e,title:t,nodes:a,edges:s,layout:l})),aZ=l._kM({requestId:tG(tK),spec:tD(aY)}),aG=l.rcy(aZ,{leafHook:tS,parseOptions:{errors:"all"}}),aT=Object.assign(aG,{"~standard":{...aG["~standard"],jsonSchema:{input:()=>tX(aZ),output:()=>tX(aZ)}}}),aD=Object.assign(aX,{omit:e=>aT});class aR extends l.Xsx("BuildSequenceDiagramRequest")({requestId:tG(tK),spec:tD(aH),options:tG(aE)},{identifier:void 0}){}l._kM({requestId:tG(tK),spec:tD(aH.mapFields(({id:e,title:t,participants:a,messages:s})=>({id:e,title:t,participants:a,messages:s})))});class aj extends l.Xsx("BuildTimelineRequest")({requestId:tG(tK),spec:tD(aF),options:tG(aE)},{identifier:void 0}){}l._kM({requestId:tG(tK),spec:tD(aF.mapFields(({id:e,title:t,events:a,lanes:s,today:l})=>({id:e,title:t,events:a,lanes:s,today:l})))});let a$=l.QfV.check(l.tJb(1,{message:"Too small: expected string to have >=1 characters"}),l.HNH(function(e){let t=tB(e);return t.length>0&&!/^(?:""|''|``)$/.test(t)},{message:"Must contain semantic text after normalization."})),aN=tD(l.DYE(()=>aW).annotate({identifier:"__schema0"})),aW=l._kM({label:tT(a$),children:l.Qrq(l.O31(aN).pipe(l.fXn))});class aJ extends l.Xsx("MindmapSpecLayout")({direction:tj(["LR","RL"]).annotate({default:"LR"}).pipe(l.E$i(o.PyW("LR")))},{identifier:void 0}){}let aK={direction:"LR"},aQ=aJ.annotate({default:aK}).pipe(l.E$i(o.PyW(aK)),l.usV({[tF]:aK})),a1=l._kM({id:tG(tK),title:tT(a$),root:aN,layout:aQ,style:aL});class a0 extends l.Xsx("MindmapSpec")(a1,{identifier:void 0}){}let a2=l._kM({requestId:tG(tK),spec:tD(a1),options:tG(aE)});l.Xsx("BuildMindmapRequest")(a2,{identifier:void 0});class a3 extends l.Xsx("ScenePoint")({x:t1.pipe(l.Wa3),y:t1.pipe(l.Wa3)},{identifier:void 0}){}let a5={frameId:tG(tK).pipe(l.Wa3),groupIds:tG(l.O31(tK).pipe(l.fXn).annotate({maxItems:eY.maxGroupsPerElement})).pipe(l.Wa3),layerId:tG(tK).pipe(l.Wa3),locked:tG(l.v8c).pipe(l.Wa3),opacity:tG(l.wNn.check(l.MIs(),l.Bt9({minimum:0,maximum:100}))).pipe(l.Wa3),zIndex:tG(l.Aiz).pipe(l.Wa3)},a4={fillColor:tG(t5).pipe(l.Wa3),fillStyle:tG(tj(["cross-hatch","hachure","solid"])).pipe(l.Wa3),roughness:tG(tj([0,1,2])).pipe(l.Wa3),strokeColor:tG(t5).pipe(l.Wa3),strokeStyle:tG(tj(["dashed","dotted","solid"])).pipe(l.Wa3),strokeWidth:tG(tj([1,2,4])).pipe(l.Wa3)},a6=l.T9y(tj(["arrow","bar","circle","diamond","triangle"])),a7=l.O31(a3).pipe(l.fXn).check(l.tJb(2,{message:"Too small: expected array to have >=2 items"}),l.NYj(eY.maxPointsPerElement,{message:`Too big: expected array to have <=${eY.maxPointsPerElement} items`}));class a8 extends l.Xsx("CanvasNodeIcon")({slug:ac.pipe(l.Wa3),size:l.wNn.check(l.MIs(),l.Bt9({minimum:eZ.minSize,maximum:eZ.maxSize},{message:`Expected a number between ${eZ.minSize} and ${eZ.maxSize}`})).pipe(l.Wa3)},{identifier:void 0}){}class a9 extends l.Xsx("CanvasIconAsset")({name:l.QfV,svg:l.QfV},{identifier:void 0}){}class se extends l.Xsx("NodeSceneElement")({...a5,...a4,type:t$("node"),id:tQ,nodeId:tQ,kind:tG(tK),icon:tG(a8).pipe(l.Wa3),rendererRole:tG(tj(eG)),shape:tj(["rectangle","ellipse","diamond","circle","polygon"]).pipe(l.Wa3),points:tG(a7).pipe(l.Wa3),textColor:tG(t5).pipe(l.Wa3),x:t1.pipe(l.Wa3),y:t1.pipe(l.Wa3),width:t0.pipe(l.Wa3),height:t0.pipe(l.Wa3),label:tQ.pipe(l.Wa3)},{identifier:void 0}){}class st extends l.Xsx("TextSceneElement")({...a5,type:t$("text"),id:tQ,containerId:tG(tK),textColor:tG(t5).pipe(l.Wa3),x:t1.pipe(l.Wa3),y:t1.pipe(l.Wa3),text:tQ.pipe(l.Wa3),fontSize:t0,fontFamily:tG(tj(["hand","mono","sans"])),maxWidth:tG(t0),textAlign:tG(tj(["center","left","right"])),verticalAlign:tG(tj(["bottom","middle","top"]))},{identifier:void 0}){}class sa extends l.Xsx("ArrowSceneElement")({...a5,...a4,type:t$("arrow"),id:tQ,edgeId:tQ,sourceNodeId:tQ,targetNodeId:tQ.pipe(l.Wa3),startArrowhead:tG(a6).pipe(l.Wa3),endArrowhead:tG(a6).pipe(l.Wa3),textColor:tG(t5).pipe(l.Wa3),points:tR(a7).pipe(l.Wa3),label:tG(tK).pipe(l.Wa3)},{identifier:void 0}){}class ss extends l.Xsx("CanvasLineBinding")({elementId:tQ,focus:tG(t1),gap:tG(t1)},{identifier:void 0}){}class sl extends l.Xsx("LineSceneElement")({...a5,...a4,type:t$("line"),id:tQ,points:tR(a7).pipe(l.Wa3),startBinding:tG(ss).pipe(l.Wa3),endBinding:tG(ss).pipe(l.Wa3),startArrowhead:tG(a6).pipe(l.Wa3),endArrowhead:tG(a6).pipe(l.Wa3),label:tG(tK).pipe(l.Wa3),textColor:tG(t5).pipe(l.Wa3)},{identifier:void 0}){}class si extends l.Xsx("FrameSceneElement")({...a5,...a4,type:t$("frame"),id:tQ,name:tG(tK).pipe(l.Wa3),x:t1.pipe(l.Wa3),y:t1.pipe(l.Wa3),width:t0.pipe(l.Wa3),height:t0.pipe(l.Wa3)},{identifier:void 0}){}class so extends l.Xsx("CanvasLayer")({id:tQ,name:tG(tK),locked:tG(l.v8c),visible:tG(l.v8c)},{identifier:void 0}){}let sr=tR(tZ(tK));class sn extends l.Xsx("CanvasFlowLayout")({type:tj(["row","column","stack"]),ids:sr,x:tG(t1),y:tG(t1),gap:tG(t1)},{identifier:void 0}){}class sc extends l.Xsx("CanvasGridLayout")({type:t$("grid"),ids:sr,columns:l.Aiz.check(l.OWK(1,{message:"Too small: expected number to be >=1"})),x:tG(t1),y:tG(t1),columnGap:tG(t1),rowGap:tG(t1)},{identifier:void 0}){}class sd extends l.Xsx("CanvasAlignLayout")({type:t$("align"),ids:sr,axis:tj(["x","y"]),alignment:tj(["center","end","start"])},{identifier:void 0}){}class sp extends l.Xsx("CanvasDistributeLayout")({type:t$("distribute"),ids:sr,axis:tj(["x","y"]),gap:tG(t1)},{identifier:void 0}){}let sg=l.gPz([se,st,sa,sl,si],{mode:"oneOf"}).annotate({[tI]:!0}),sh=l.gPz([sn,sc,sd,sp],{mode:"oneOf"}),su=l.O31(so).pipe(l.fXn).annotate({default:[],maxItems:eY.maxLayers}).pipe(l.E$i(o.PyW([]))),sf=l.O31(sh).pipe(l.fXn).annotate({default:[],maxItems:eY.maxLayouts}).pipe(l.E$i(o.PyW([]))),sv=l.O31(tK).pipe(l.fXn).annotate({default:[],maxItems:eY.maxZOrderEntries}).pipe(l.E$i(o.PyW([])));class sm extends l.Xsx("CanvasSpec")({kind:t$("canvas"),version:tN(1),diagramId:tQ,title:tQ,width:t0.pipe(l.Wa3),height:t0.pipe(l.Wa3),accentColor:t5.pipe(l.Wa3),backgroundColor:t5.pipe(l.Wa3),elements:tR(l.O31(sg).pipe(l.fXn).annotate({maxItems:eY.maxElements})),icons:tG(l.mSG(l.QfV,a9)).pipe(l.Wa3),layers:su,layouts:sf,zOrder:sv},{identifier:void 0}){}let sy=sm;class sw extends l.Xsx("CreateCanvasRequest")({requestId:tG(tK),spec:tD(sm),options:tG(aE)},{identifier:void 0}){}let sx=l.mSG(l.QfV,l.$r1).check(l.HNH(e=>"string"==typeof e.id&&e.id.length>0&&"string"==typeof e.type&&e.type.length>0,{message:"Invalid input"}));class sb extends l.Xsx("ExcalidrawScene")({appState:l.mSG(l.QfV,l.$r1),elements:l.O31(sx).pipe(l.fXn)},{identifier:void 0}){}class sk extends sb.extend("ExcalidrawFile")({files:l.mSG(l.QfV,l.$r1),source:tQ,type:t$("excalidraw"),version:tN(2)},{identifier:void 0}){}let sM=sk;class sC extends l.Xsx("GetArtifactRequest")({artifactId:tQ,format:tG(t7),inline:tG(l.v8c)},{identifier:void 0}){}class sz extends l.Xsx("DiagramSelector")({ids:tG(l.O31(tK).pipe(l.fXn)),nodeIds:tG(l.O31(tK).pipe(l.fXn)),edgeIds:tG(l.O31(tK).pipe(l.fXn)),kinds:tG(l.O31(ar).pipe(l.fXn)),labels:tG(l.O31(tK).pipe(l.fXn)),scope:tG(tj(["all","nodes","edges"]))},{identifier:void 0}){}class s_ extends l.Xsx("DiagramStylePatch")({strokeColor:tG(t5),fillColor:tG(t5),textColor:tG(t5),backgroundColor:tG(t5)},{identifier:void 0}){}let sL=["rectangle","diamond","ellipse","circle","polygon"],sB=Object.assign(tj(sL),{options:sL});class sA extends l.Xsx("SetDefaultStyleOperation")({op:t$("setDefaultStyle"),style:tD(s_)},{identifier:void 0}){}class sP extends l.Xsx("SetStyleOperation")({op:t$("setStyle"),selector:tD(sz),style:tD(s_)},{identifier:void 0}){}class sS extends l.Xsx("SetShapeOperation")({op:t$("setShape"),selector:tD(sz),shape:sB},{identifier:void 0}){}class sV extends l.Xsx("TranslateOperation")({op:t$("translate"),selector:tD(sz),dx:t1,dy:t1},{identifier:void 0}){}class sH extends l.Xsx("ReplaceTextOperation")({op:t$("replaceText"),selector:tD(sz),text:tQ},{identifier:void 0}){}class sq extends l.Xsx("RerouteEdgesOperation")({op:t$("rerouteEdges"),selector:tG(sz)},{identifier:void 0}){}let sF=tR(tZ(tK));class sI extends l.Xsx("InsertElementsOperation")({op:t$("insert"),elements:tR(tZ(sg)),beforeId:tG(tK),afterId:tG(tK)},{identifier:void 0}){}class sU extends l.Xsx("RemoveElementsOperation")({op:t$("remove"),selector:tD(sz)},{identifier:void 0}){}class sO extends l.Xsx("ReplaceElementOperation")({op:t$("replace"),id:tQ,element:tD(sg)},{identifier:void 0}){}class sE extends l.Xsx("ReorderElementsOperation")({op:t$("reorder"),ids:sF,beforeId:tG(tK),afterId:tG(tK)},{identifier:void 0}){}class sX extends l.Xsx("GroupElementsOperation")({op:t$("group"),ids:sF,groupId:tQ},{identifier:void 0}){}class sY extends l.Xsx("UngroupElementsOperation")({op:t$("ungroup"),ids:sF,groupId:tG(tK)},{identifier:void 0}){}let sZ=l.gPz([sA,sP,sS,sV,sH,sq,sI,sU,sO,sE,sX,sY],{mode:"oneOf"}).annotate({[tI]:!0,[tU]:"op",message:`Invalid discriminator value. Expected ${an.map(e=>`'${e}'`).join(" | ")}`});class sG extends l.Xsx("ArtifactPatchSource")({artifactId:tQ,format:tG(t$("scene"))},{identifier:void 0}){}class sT extends l.Xsx("InlineScenePatchSource")({scene:tD(sm)},{identifier:void 0}){}let sD=l.gPz([sG,sT]).annotate({message:"Invalid input"});class sR extends l.Xsx("ApplyDiagramPatchOptions")({artifactFormats:aI,inlineArtifacts:aU,preserveConnectivity:tG(l.v8c)},{identifier:void 0}){}tG(sR);class sj extends l.Xsx("ApplyDiagramPatchRequest")({requestId:tG(tK),source:sD.annotateKey({messageMissingKey:"Invalid input"}),operations:tR(tZ(sZ)),options:tG(sR),intent:tG(tK)},{identifier:void 0}){}class s$ extends l.Xsx("NormalizedMindmapTopic")({id:tK,label:tK,children:l.O31(l.DYE(()=>s$)).pipe(l.fXn)},{identifier:void 0}){}let sN=l._kM({id:tK,title:tK,nodes:l.O31(ap).pipe(l.fXn),edges:l.O31(ah.mapFields(e=>({...e,id:tK}))).pipe(l.fXn),groups:l.Qrq(l.O31(ag).pipe(l.fXn)),layout:l._kM({direction:au}),style:l._kM({accentColor:t5,backgroundColor:t5})}),sW=l._kM({id:tK,title:tK,root:s$,layout:l._kM({direction:tj(["LR","RL"])}),style:l._kM({accentColor:t5,backgroundColor:t5})}),sJ=l._kM({id:tK,title:tK,participants:l.O31(aA).pipe(l.fXn),messages:l.O31(aP.mapFields(e=>({...e,id:tK}))).pipe(l.fXn),style:l._kM({accentColor:t5,backgroundColor:t5})}),sK=l._kM({id:tK,title:tK,events:l.O31(aq).pipe(l.fXn),lanes:tG(l.O31(tK).pipe(l.fXn)),today:tG(tK),style:l._kM({accentColor:t5,backgroundColor:t5})}),sQ=l._kM({code:l.QfV,passed:l.v8c,severity:tj(["error","warning"]),message:l.QfV,refs:l.O31(al).pipe(l.fXn)}),s1=l._kM({accepted:l.v8c,score:l.wNn,threshold:l.wNn,summary:l._kM({nodeCount:l.wNn,edgeCount:l.wNn}),checks:l.O31(sQ).pipe(l.fXn)}),s0=l._kM({format:t7,mimeType:l.QfV,url:tG(l.QfV),expiresAt:tG(l.QfV),inline:tG(l.$r1),sizeBytes:tG(l.wNn)}),s2=l._kM({artifactId:l.QfV,diagramId:l.QfV,formats:l.O31(s0).pipe(l.fXn),provenance:tG(t9),preview:tG(s0)}),s3=l._kM({artifactId:tG(l.QfV),diagramId:tG(l.QfV),formats:tG(l.O31(s0).pipe(l.fXn))});class s5 extends l.Xsx("BuildFlowchartAccepted")({ok:tW(!0),status:t$("accepted"),buildId:l.QfV,requestId:tG(l.QfV),normalizedSpec:sN,quality:s1,artifact:s2,issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}class s4 extends l.Xsx("BuildFlowchartRejected")({ok:tW(!1),status:tj(["invalid_input","invalid_flowchart","quality_failed","render_failed","export_failed","storage_failed"]),buildId:tG(l.QfV),requestId:tG(l.QfV),normalizedSpec:tG(sN),quality:tG(s1),partial:tG(s3),issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}l.gPz([s5,s4]);class s6 extends l.Xsx("BuildMindmapAccepted")({ok:tW(!0),status:t$("accepted"),buildId:l.QfV,requestId:tG(l.QfV),normalizedSpec:sW,quality:s1,artifact:s2,issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}class s7 extends l.Xsx("BuildMindmapRejected")({ok:tW(!1),status:tj(["invalid_input","invalid_mindmap","quality_failed","render_failed","export_failed","storage_failed"]),buildId:tG(l.QfV),requestId:tG(l.QfV),normalizedSpec:tG(sW),quality:tG(s1),partial:tG(s3),issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}l.gPz([s6,s7]);class s8 extends l.Xsx("BuildSequenceDiagramAccepted")({ok:tW(!0),status:t$("accepted"),buildId:l.QfV,requestId:tG(l.QfV),normalizedSpec:sJ,quality:s1,artifact:s2,issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}class s9 extends l.Xsx("BuildSequenceDiagramRejected")({ok:tW(!1),status:tj(["invalid_input","invalid_sequence","quality_failed","render_failed","export_failed","storage_failed"]),buildId:tG(l.QfV),requestId:tG(l.QfV),normalizedSpec:tG(sJ),quality:tG(s1),partial:tG(s3),issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}l.gPz([s8,s9]);class le extends l.Xsx("BuildTimelineAccepted")({ok:tW(!0),status:t$("accepted"),buildId:l.QfV,requestId:tG(l.QfV),normalizedSpec:sK,quality:s1,artifact:s2,issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}class lt extends l.Xsx("BuildTimelineRejected")({ok:tW(!1),status:tj(["invalid_input","invalid_timeline","quality_failed","render_failed","export_failed","storage_failed"]),buildId:tG(l.QfV),requestId:tG(l.QfV),normalizedSpec:tG(sK),quality:tG(s1),partial:tG(s3),issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}l.gPz([le,lt]);class la extends l.Xsx("GetArtifactAccepted")({ok:tW(!0),artifactId:l.QfV,diagramId:l.QfV,format:t7,mimeType:l.QfV,url:tG(l.QfV),expiresAt:tG(l.QfV),inline:tG(l.$r1),sizeBytes:tG(l.wNn),provenance:tG(t9)},{identifier:void 0}){}class ls extends l.Xsx("GetArtifactRejected")({ok:tW(!1),status:tj(["invalid_input","not_found","format_unavailable","expired","storage_failed"]),issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}l.gPz([la,ls]);class ll extends l.Xsx("ApplyDiagramPatchAccepted")({ok:tW(!0),status:t$("accepted"),patchId:l.QfV,requestId:tG(l.QfV),sourceArtifactId:tG(l.QfV),artifact:s2,issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}class li extends l.Xsx("ApplyDiagramPatchRejected")({ok:tW(!1),status:tj(["invalid_input","source_unavailable","target_not_found","unsupported_operation","connectivity_changed","render_failed","export_failed","storage_failed"]),patchId:tG(l.QfV),requestId:tG(l.QfV),sourceArtifactId:tG(l.QfV),partial:tG(s3),issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}l.gPz([ll,li]);class lo extends l.Xsx("CreateCanvasAccepted")({ok:tW(!0),status:t$("accepted"),buildId:l.QfV,requestId:tG(l.QfV),normalizedSpec:sm,artifact:s2,issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}class lr extends l.Xsx("CreateCanvasRejected")({ok:tW(!1),status:tj(["invalid_input","invalid_canvas","limit_exceeded","render_failed","export_failed","storage_failed"]),buildId:tG(l.QfV),requestId:tG(l.QfV),normalizedSpec:tG(sm),partial:tG(s3),issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}let ln=l.gPz([lo,lr]),lc=120,ld=1,lp=25;class lg extends l.Xsx("SearchIconsRequest")({q:tT(tY().check(l.NYj(lc,{message:`Too big: expected string to have <=${lc} characters`}))),limit:tG(l.Aiz.check(l.Bt9({minimum:ld,maximum:lp},{message:`Expected an integer between ${ld} and ${lp}`})))},{identifier:void 0}){}class lh extends l.Xsx("SearchIconsMatch")({slug:l.QfV,name:l.QfV,collection:l.QfV},{identifier:void 0}){}class lu extends l.Xsx("SearchIconsAccepted")({ok:tW(!0),status:t$("accepted"),query:l.QfV,icons:l.O31(lh).pipe(l.fXn),issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}class lf extends l.Xsx("SearchIconsRejected")({ok:tW(!1),status:tj(["invalid_input"]),issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}l.gPz([lu,lf]);let lv=l.xCb(["read","readManifest","write"]);class lm extends l.rNF()("CodeModeArtifactStorageError",{cause:l.kld(),message:l.QfV,operation:lv}){}class ly extends i.kl()("@sketchi/diagram-agent/CodeModeArtifactStorage"){}let lw={excalidraw:"application/vnd.excalidraw+json",png:"image/png",scene:"application/vnd.sketchi.scene+json"};function lx(e){return"excalidraw"===e||"scene"===e}function lb(e){return{format:e.format,mimeType:e.mimeType,sizeBytes:e.sizeBytes}}function lk(e){return new TextEncoder().encode(JSON.stringify(e)).length}let lM=n.QZ(ly)(o.Q56(o.OH5(function(){let e=new Map,t=new Map;return{close:o.OH5(()=>{t.clear(),e.clear()}),storage:{read:o.fn("codeMode.artifacts.memory.read")(function*(e,a){return yield*o.OH5(()=>{let s=t.get(`${e}:${a}`);return s?{...s,data:structuredClone(s.data)}:null})}),readManifest:o.fn("codeMode.artifacts.memory.readManifest")(function*(t){return yield*o.OH5(()=>{let a=e.get(t);return a?structuredClone(a):null})}),write:o.fn("codeMode.artifacts.memory.write")(function*(a){var s;let l=yield*r.Ru;return yield*o.SvU({try:()=>{var s;let i,o=a.formats.map(lb),r=a.provenance?structuredClone(a.provenance):void 0,n={artifactId:a.artifactId,diagramId:a.diagramId,formats:o,...r?{provenance:r}:{},createdAt:new Date(l).toISOString()};for(let s of(e.set(a.artifactId,n),a.formats))t.set(`${a.artifactId}:${s.format}`,{...s,data:structuredClone(s.data)});let c=a.formats.map(e=>{var t;return t=a.inlineFormats,{format:e.format,mimeType:e.mimeType,...lx(e.format)&&t.includes(e.format)?{inline:e.data}:{},sizeBytes:e.sizeBytes}});return i=(s={artifactId:a.artifactId,diagramId:a.diagramId,formats:c,...a.provenance?{provenance:structuredClone(a.provenance)}:{}}).formats.find(e=>"scene"===e.format),{artifactId:s.artifactId,diagramId:s.diagramId,formats:s.formats,...s.provenance?{provenance:s.provenance}:{},...i?{preview:i}:{}}},catch:(s="write",e=>{var t;return lm.make({cause:e,message:(t="Artifact storage failed.",e instanceof Error?e.message:t),operation:s})})})})}}}),e=>e.close).pipe(o.TjK(e=>e.storage)));function lC(e,t="storage_write_failed"){return{code:t,severity:"error",stage:"storage",message:e,hint:"Retry the request; if it keeps failing, inspect the artifact store binding."}}let lz="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",l_=lz.slice(10),lL=new Map;function lB(e){let t=lL.get(e);if(void 0===t){t=new Uint8Array(256);for(let a=0;a<e.length;a++)t[e.charCodeAt(a)]=a;lL.set(e,t)}return t}function lA(e,t,a,s){let l=a[0];if(null!=t&&e>=t)throw Error(e+" >= "+t);if(e.slice(-1)===l||t&&t.slice(-1)===l)throw Error("trailing zero");if(t){let i=0;for(;(e[i]||l)===t[i];)i++;if(i>0)return t.slice(0,i)+lA(e.slice(i),t.slice(i),a,s)}let i=e?s[e.charCodeAt(0)]:0,o=null!=t?s[t.charCodeAt(0)]:a.length;return o-i>1?a[Math.round(.5*(i+o))]:t&&t.length>1?t.slice(0,1):a[i]+lA(e.slice(1),null,a,s)}function lP(e,t,a){if(e.length!==lS(e[0],t,a))throw Error("invalid integer part of order key: "+e)}function lS(e,t,a){let s=a[e.charCodeAt(0)];if(t[s]===e){let e=t.length/2;return s<e?e-s+1:s-e+2}throw Error("invalid order key head: "+e)}function lV(e,t,a){let s=lS(e[0],t,a);if(s>e.length)throw Error("invalid order key: "+e);return e.slice(0,s)}function lH(e,t,a,s){if(lI(e,t,a))throw Error("invalid order key: "+e);let l=lV(e,a,s);if(e.slice(l.length).slice(-1)===t[0])throw Error("invalid order key: "+e)}function lq(e,t,a,s,l){lP(e,s,l);let i=e[0],o=t[0],r="";for(let s=e.length-1;s>=1;s--){let l=a[e.charCodeAt(s)]+1;if(l!==t.length)return i+e.slice(1,s)+t[l]+r;r=o+r}let n=l[i.charCodeAt(0)];if(n===s.length-1)return null;let c=s[n+1],d=lS(c,s,l)-lS(i,s,l);return c+(d>0?r+o:d<0?r.slice(1):r)}let lF=new Map;function lI(e,t,a){let s=lF.get(a);void 0===s&&(s=new Map,lF.set(a,s));let l=t.charCodeAt(0),i=s.get(l);return void 0===i&&(i=a[0]+t[0].repeat(a.length/2),s.set(l,i)),e===i}function lU(e){for(let t=1;t<e.length;t++)if(e.charCodeAt(t-1)>=e.charCodeAt(t))return!1;return!0}function lO(e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>255)return!1;return!0}let lE=new Set,lX=new Set,lY=new Set(["rectangle","ellipse","diamond"]),lZ=m.ink;function lG(e){return"number"==typeof e&&Number.isFinite(e)?e:null}function lT(e){if(!Array.isArray(e)||e.length<2)return null;let t=lG(e[0]),a=lG(e[1]);return null===t||null===a?null:[t,a]}function lD(e){let t=lG(e.x),a=lG(e.y),s=lG(e.width),l=lG(e.height);return null===t||null===a||null===s||null===l?null:{x:t,y:a,width:s,height:l}}function lR(e){return 1e-4>Math.abs(e-.5)?.5001:e}function lj(e,t){let a=lD(e);return a&&0!==a.width&&0!==a.height?[lR((t.x-a.x)/a.width),lR((t.y-a.y)/a.height)]:null}function l$(e,t){return{elementId:e?.id??"",focus:0,gap:0,fixedPoint:e?lj(e,t):null}}function lN(e,t){let a=tl(e,"seed");return{id:e,angle:0,fillStyle:t&&"fillStyle"in t?t.fillStyle??"solid":"solid",frameId:t?.frameId??null,groupIds:[...t?.groupIds??[]],index:null,isDeleted:!1,link:null,locked:t?.locked??!1,opacity:t?.opacity??100,roughness:t&&"roughness"in t?t.roughness??1:1,seed:a,strokeStyle:t&&"strokeStyle"in t?t.strokeStyle??"solid":"solid",strokeWidth:t&&"strokeWidth"in t?t.strokeWidth??2:2,updated:1,version:1,versionNonce:a+1}}function lW(e){var t,a;let s,l=e.wrap?eX(e.text,e.maxWidth,e.fontSize):e.text,i=e.wrap?eO(l,e.fontSize,e.maxWidth):eU(l,e.fontSize,e.maxWidth),o=(t=e.fontSize,Math.ceil(l.split("\n").length*t*1.35)),r=e.element?.verticalAlign;return{...lN(e.id,e.element),...void 0===e.locked?{}:{locked:e.locked},type:"text",x:e.x-i/2,y:e.container&&("bottom"===r||"top"===r)?(a=e.container,s=a.y+eN(a).y,"top"===r?s:s+eW(a).height-o):e.y-o/2,width:i,height:o,backgroundColor:"transparent",boundElements:null,containerId:e.containerId??null,fontFamily:e.element?.fontFamily==="mono"?3:e.element?.fontFamily==="sans"?2:5,fontSize:e.fontSize,lineHeight:1.35,originalText:e.text,roundness:null,strokeColor:e.textColor??lZ,text:l,textAlign:e.element?.textAlign??"center",verticalAlign:e.element?.verticalAlign??"middle",autoResize:!(e.wrap&&!e.containerId)}}function lJ(e){return`${e.id}:logo`}function lK(e){return e.points[e.points.length-1]??e.points[0]}function lQ(e,t,a){if(!e)return null;let s=t.get(e.elementId);return s?{elementId:e.elementId,focus:e.focus??0,gap:e.gap??0,fixedPoint:lj(s,a)}:null}function l1(e){return"node"===e.type}function l0(e){return"text"===e.type}function l2(e){return"arrow"===e.type}function l3(e){return"line"===e.type}function l5(e){return"frame"===e.type}function l4(e,t){let a=e[t];if(!(a&&"object"==typeof a))return null;let s=a.elementId;return"string"==typeof s?s:null}function l6(e){let t=lG(e.x)??0,a=lG(e.y)??0,s=l4(e,"startBinding"),l=l4(e,"endBinding"),i=Array.isArray(e.points)?e.points.map(lT).filter(e=>null!==e).map(([e,s])=>({x:t+e,y:a+s})):[];return e9(i).map(t=>({...t,arrowId:e.id,startBindingId:s,endBindingId:l,startCoordinate:"horizontal"===t.orientation?i[t.segmentIndex].x:i[t.segmentIndex].y,endCoordinate:"horizontal"===t.orientation?i[t.segmentIndex+1].x:i[t.segmentIndex+1].y}))}function l7(e){if(lY.has(e.type)||"frame"===e.type)return!0;let t=e.customData;return"line"===e.type&&null!==t&&"object"==typeof t&&"polygon"===t.sketchiShape}function l8(e,t,a){return e>=t-.01&&e<=a+.01}function l9(e,t){return .01>=Math.abs(e-t)}let ie=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],it=(e,t=2)=>String(e).padStart(t,"0"),ia="timeline-marker",is=6,il="#4c4639",ii="#c0392b",io=[{stroke:"",ink:"#6a4e5c",wash:"#efe6ec"},{stroke:"#1f44c9",ink:"#1a39a8",wash:"#e6eafb"},{stroke:"#1c7a4d",ink:"#15613c",wash:"#def0e5"},{stroke:"#9a6a1f",ink:"#7a5216",wash:"#f6e8cf"}];function ir(e,t,a,s){let l=function(e,t){let a=e=>e.split("\n").length,s=eX(e,200,t);if(1===a(s))return s;let l=t,i=200;for(;i-l>1;){let o=Math.floor((l+i)/2);a(eX(e,o,t))<=a(s)?i=o:l=o}return eX(e,i,t)}(t,a);return{id:e,text:l,fontSize:a,color:s,width:Math.ceil(Math.max(eI(l,a),eU(l,a,200))),height:Math.ceil(l.split("\n").length*a*1.35)}}let ic=[{lookahead:!0,coverPenalty:0},{lookahead:!0,coverPenalty:80},{lookahead:!1,coverPenalty:0},{lookahead:!1,coverPenalty:240}];function id(e){return e.span?6:("milestone"===e.event.kind?18:12)/2}let ip={circle:24,diamond:20,ellipse:24,polygon:28,rectangle:28};function ig(e){let t=new Map,a=new Map;for(let s of e)t.set(s.target,[...t.get(s.target)??[],s]),a.set(s.source,[...a.get(s.source)??[],s]);return{incoming:t,outgoing:a}}function ih(e){return new Map(e.map((e,t)=>[e.id,t]))}function iu(e,t,a){let s=new Map,l=new Set;function i(e){for(let t of(s.set(e,"visiting"),a.get(e)??[])){let e=s.get(t.target);if("visiting"===e){l.add(t.id);continue}e||i(t.target)}s.set(e,"visited")}let o=e.nodes.find(e=>0===(t.get(e.id)??[]).length)??e.nodes[0];for(let t of(o&&i(o.id),e.nodes))s.has(t.id)||i(t.id);return l}let iv=new WeakMap;function im(e){let t=iv.get(e);if(t||(ib(e),t=iv.get(e)))return t;let a=ig(e.edges);return t=iu(e,a.incoming,a.outgoing),iv.set(e,t),t}let iy="\0group:",iw=new WeakMap;function ix(e){return`${iy}${e}`}function ib(e){let t=iw.get(e);if(void 0!==t)return t??void 0;let a=(e.groups??[]).filter(t=>e.nodes.some(e=>e.group===t.id));if(0===a.length)return void iw.set(e,null);let s=new Set(a.map(e=>e.id)),l=new Map(e.nodes.flatMap(e=>void 0!==e.group&&s.has(e.group)?[[e.id,e.group]]:[])),i=e=>{let t=l.get(e);return void 0===t?e:ix(t)},o=ig(e.edges),r=iu(e,o.incoming,o.outgoing),n=new Set,c=a.map(t=>{let a=e.edges.filter(e=>l.get(e.source)===t.id&&l.get(e.target)===t.id),s={...e,groups:[],nodes:e.nodes.filter(e=>l.get(e.id)===t.id),edges:a},i={...s,layout:{...e.layout,direction:iB[e.layout.direction]}},o=new Set(a.flatMap(e=>r.has(e.id)?[e.id]:[]));for(let e of(iv.set(s,o),iv.set(i,o),o))n.add(e);return{across:i,diagram:s,group:t}}),d=[],p=new Set;for(let t of e.nodes){let e=i(t.id);if(p.has(e))continue;p.add(e);let s=l.get(t.id);d.push(void 0===s?t:{id:e,label:a.find(e=>e.id===s).label,kind:"process",metadata:{}})}let g=e.edges.filter(e=>i(e.source)!==i(e.target)),h={...e,groups:[],nodes:d,edges:g.map(e=>({...e,source:i(e.source),target:i(e.target)}))},u=ig(h.edges),f=iu(h,u.incoming,u.outgoing);for(let e of(iv.set(h,f),f))n.add(e);iv.set(e,n);let v={crossEdges:g,groupOf:l,groups:c,top:h};return iw.set(e,v),v}function ik(e,t,a){let s=ih(e.nodes),l=new Map(e.nodes.map(e=>[e.id,0])),i=new Map(e.nodes.map(e=>[e.id,0]));for(let t of e.edges)a.has(t.id)||l.set(t.target,(l.get(t.target)??0)+1);let o=[];for(let t of e.nodes)(l.get(t.id)??0)===0&&o.push(t.id);let r=new Set;for(let e=0;e<o.length;e+=1){let n=o[e];if(!n||r.has(n))continue;r.add(n);let c=i.get(n)??0;for(let r of t.outgoing.get(n)??[]){if(a.has(r.id))continue;i.set(r.target,Math.max(i.get(r.target)??0,c+1));let t=(l.get(r.target)??0)-1;l.set(r.target,t),0===t&&function(e,t,a,s){let l=a.get(t)??Number.MAX_SAFE_INTEGER,i=e.findIndex((e,t)=>t>s&&(a.get(e)??Number.MAX_SAFE_INTEGER)>l);-1===i?e.push(t):e.splice(i,0,t)}(o,r.target,s,e)}}for(let s of e.nodes)!function e(s){if(r.has(s))return i.get(s)??0;let l=0;for(let i of t.incoming.get(s)??[])a.has(i.id)||(l=Math.max(l,e(i.source)+1));return r.add(s),i.set(s,l),l}(s.id);return i}let iM=new WeakMap,iC={TB:"bottom",BT:"top",LR:"right",RL:"left"};function iz(e,t,a,s=!1){let l="TB"===e.layout.direction||"BT"===e.layout.direction,[i,o]=l?["left","right"]:["top","bottom"],r=(e,t)=>Math.max(112,(a.get(iG(e.nodeId,o))??0)+(a.get(iG(t.nodeId,i))??0)+18),n=ig(e.edges),c=new Map(e.nodes.map(e=>{let a,s,i,o,r,c,d,p,g,h,u,f,v,m=(s="start"===(a=e.kind?.toLowerCase())||"end"===a?"ellipse":"decision"===a?"diamond":"rectangle",o=(i=eE(e.label,"diamond"===s?744:1116)).split("\n"),r=eI(i,14),c=Math.ceil(14*o.length*1.35),d=Math.ceil(r+36),p=Math.ceil(c+28),g={text:i,textHeight:c,textWidth:r,width:d,height:p},h=e.icon?{slug:e.icon.slug,size:ip[s]}:void 0,u="diamond"===s?32:20*("ellipse"===s),f=32*("diamond"===s),v=h||"diamond"===s?function(e,t,a){let s=2*eZ.boundTextPadding,l=t.textHeight+eJ(a),i="diamond"===e?2:"ellipse"===e||"circle"===e?Math.SQRT2:1,o=Math.ceil((t.textWidth+s)*i),r=Math.ceil((l+s)*i);for(;eW({height:r,shape:e,width:o}).width<t.textWidth;)o+=1;for(;eW({height:r,shape:e,width:o}).height<l;)r+=1;return{width:o,height:r}}(s,g,h):{height:0,width:0},{type:"node",id:`node:${e.id}`,nodeId:e.id,...e.kind?{kind:e.kind}:{},...h?{icon:h}:{},shape:s,x:0,y:0,width:Math.max(184,g.width+u,v.width),height:h?Math.max(72,v.height):Math.max(72,g.height+f,v.height),label:g.text}),y=t.get(e.id),w={...m,width:Math.max(m.width,y?.width??0),height:Math.max(m.height,y?.height??0)},x=(n.incoming.get(e.id)?.length??0)+(n.outgoing.get(e.id)?.length??0),b=n.outgoing.get(e.id)??[],k=32+Math.max(0,x-1)*("decision"!==e.kind&&b.length>1&&b.some(e=>e.label)?Math.max(18,...b.map(e=>{let t=or(e.label??"");return(l?t.width:t.height)+24})):18);return[e.id,{...w,...l?{width:Math.max(w.width,k)}:{height:Math.max(w.height,k)}}]})),d=im(e),p=ik(e,n,d),g=Array.from((function(e,t,a,s,l,i=!1){var o,r,n,c;let d,p,g=ih(e.nodes),h=new Map;for(let s of e.nodes){let e=a.get(s.id)??0,l=t.get(s.id);l&&h.set(e,[...h.get(e)??[],l])}for(let e=0;e<4;e+=1)for(let e of Array.from(h.keys()).sort((e,t)=>e-t)){let t=h.get(e);if(!t||t.length<2)continue;let a=new Map;(h.get(e-1)??[]).forEach((e,t)=>{a.set(e.nodeId,t)});let i=new Map;(h.get(e+1)??[]).forEach((e,t)=>{i.set(e.nodeId,t)});let o=e=>{let t=[...(s.incoming.get(e.nodeId)??[]).filter(e=>!l.has(e.id)).map(e=>a.get(e.source)).filter(e=>void 0!==e),...(s.outgoing.get(e.nodeId)??[]).filter(e=>!l.has(e.id)).map(e=>i.get(e.target)).filter(e=>void 0!==e)];return 0===t.length?g.get(e.nodeId)??Number.MAX_SAFE_INTEGER:t.reduce((e,t)=>e+t,0)/t.length};h.set(e,[...t].sort((e,t)=>{let a=o(e)-o(t);return Math.abs(a)>.001?a:(g.get(e.nodeId)??Number.MAX_SAFE_INTEGER)-(g.get(t.nodeId)??Number.MAX_SAFE_INTEGER)}))}return i?(o=h,r=e,n=a,c=l,(d=iM.get(r))||(d=function(e,t,a,s){let l=new Map,i=new Set,o=(e,t,a)=>l.set(a,[...l.get(a)??[],[e,t]]);for(let l of t.edges){let[t,r]=s.has(l.id)?[l.target,l.source]:[l.source,l.target],[n,c]=(a.get(t)??0)<=(a.get(r)??0)?[t,r]:[r,t],d=a.get(n)??0,p=a.get(c)??0;if(d===p)continue;let g=n;for(let t=d+1;t<p;t+=1){let a=`\0${l.id}\0${t}`;i.add(a);let s=e.get(t-1),r=e.get(t);r.splice(Math.round((s.indexOf(g)+.5)/s.length*r.length),0,a),o(g,a,t-1),g=a}o(g,c,p-1)}let r=new Map,n=t=>e.get(t)?.forEach((e,t)=>r.set(e,t)),c=[...e.keys()].sort((e,t)=>e-t);c.forEach(n);let d=e=>{let t=l.get(e)??[],a=0;for(let[e,[s,l]]of t.entries())for(let[i,o]of t.slice(e+1))(r.get(s)-r.get(i))*(r.get(l)-r.get(o))<0&&(a+=1);return a},p=()=>c.reduce((e,t)=>e+d(t),0),g=p(),h=()=>new Map([...e].map(([e,t])=>[e,t.filter(e=>!i.has(e))])),u=h();if(0===g)return u;let f=new Map;for(let e of l.values())for(let[t,a]of e){let e=f.get(t)??{above:[],below:[]};e.below.push(a),f.set(t,e);let s=f.get(a)??{above:[],below:[]};s.above.push(t),f.set(a,s)}let v={crossings:g,order:u};for(let t=0;t<8&&v.crossings>0;t+=1){let a=t%2==0;for(let t of a?c.slice(1):c.slice(0,-1).reverse()){let s=e.get(t),l=new Map(s.map((e,t)=>{let s=(a?f.get(e)?.above:f.get(e)?.below)??[];return[e,s.length>0?s.reduce((e,t)=>e+r.get(t),0)/s.length:t]}));s.sort((e,t)=>l.get(e)-l.get(t)),n(t)}for(let t=!0;t;)for(let a of(t=!1,c)){let s=e.get(a);for(let e=0;e+1<s.length;e+=1){let l=d(a-1)+d(a);[s[e],s[e+1]]=[s[e+1],s[e]],n(a),d(a-1)+d(a)<l?t=!0:([s[e],s[e+1]]=[s[e+1],s[e]],n(a))}}let s=p();s<v.crossings&&(v={crossings:s,order:h()})}return v.order}(new Map([...o].map(([e,t])=>[e,t.map(e=>e.nodeId)])),r,n,c),iM.set(r,d)),p=new Map([...o.values()].flat().map(e=>[e.nodeId,e])),new Map([...o.keys()].map(e=>[e,(d.get(e)??[]).flatMap(e=>p.has(e)?[p.get(e)]:[])]))):h})(e,c,p,n,d,s).entries()).sort(([e],[t])=>e-t).map(([e,t])=>({breadth:t.reduce((e,a,s)=>e+(l?a.width:a.height)+(s>0?r(t[s-1],a):0),0),depth:Math.max(...t.map(e=>l?e.height:e.width)),rank:e,shapes:t})),h=iC[e.layout.direction],u=(e,t)=>Math.max(0,...e.map(e=>a.get(iG(e.nodeId,t))??0));return{feedbackEdges:d,gapAfter:g.map((t,s)=>{let i=l?0:Math.max(0,...e.edges.filter(e=>t.shapes.some(t=>t.nodeId===e.source)&&e.label).map(e=>or(e.label,c.get(e.source)?.kind==="decision").width+16+72)),o=g[s+1];return Math.max(96,i,o&&a.size>0?u(t.shapes,h)+u(o.shapes,iD[h])+18:0)}),gapBetween:r,highSide:o,lowSide:i,rankByNodeId:p,rankMetrics:g,reachOf:u,vertical:l}}let i_={bandOf:new Map,continuations:new Set},iL={crossingRepair:!1,reorder:!1,wrap:i_},iB={TB:"LR",BT:"LR",LR:"TB",RL:"TB"};function iA(e,t){let[a,s]=e>t?[e,t]:[t,e];return(a+40)/(s+40)}function iP(e,t=new Map,a=new Map,{reorder:s,wrap:l}=iL){let{gapAfter:i,gapBetween:o,highSide:r,lowSide:n,rankMetrics:c,reachOf:d,vertical:p}=iz(e,t,a,s),g=[];for(let[e,t]of c.entries()){let a=l.bandOf.get(t.shapes[0].nodeId)??0;(g[a]??=[]).push({index:e,metric:t})}let h=[],u=48;for(let[e,t]of g.entries()){let a=Math.max(...t.map(({metric:e})=>e.breadth)),s=48;for(let{index:e,metric:l}of t){let t=u+Math.max(0,a-l.breadth)/2;for(let[e,a]of l.shapes.entries()){let i=l.shapes[e+1];p?(h.push({...a,x:t,y:s+Math.max(0,l.depth-a.height)/2}),t+=a.width):(h.push({...a,x:s+Math.max(0,l.depth-a.width)/2,y:t}),t+=a.height),i&&(t+=o(a,i))}s+=l.depth+i[e]}let l=g[e+1];l&&(u+=a+Math.max(144,d(t.flatMap(({metric:e})=>e.shapes),r)+d(l.flatMap(({metric:e})=>e.shapes),n)+72))}if("BT"===e.layout.direction){let e=Math.max(...h.map(e=>e.y+e.height));return h.map(t=>({...t,y:48+e-t.y-t.height}))}if("RL"===e.layout.direction){let e=Math.max(...h.map(e=>e.x+e.width));return h.map(t=>({...t,x:48+e-t.x-t.width}))}return h}function iS(e,t=new Map,a=new Map,s=iL,l=new Map){let i=ib(e);return i?function(e,t,a,s,l,i){let o="TB"===e.layout.direction||"BT"===e.layout.direction,r=new Set(t.crossEdges.flatMap(e=>[e.source,e.target])),n=t.groups.map(({across:e,diagram:t,group:n})=>{let c,d,p=iP(l.groupsAcross?e:t,a,s,{...iL,reorder:l.reorder}),g=(c=Math.min(...p.map(e=>e.x)),{x:c,y:d=Math.min(...p.map(e=>e.y)),width:Math.max(...p.map(e=>e.x+e.width))-c,height:Math.max(...p.map(e=>e.y+e.height))-d}),h=(e,t)=>"top"===t?e.y-g.y:"bottom"===t?g.y+g.height-e.y-e.height:"left"===t?e.x-g.x:g.x+g.width-e.x-e.width,u=e=>Math.max(40,...p.map(t=>(s.get(iG(t.nodeId,e))??0)-h(t,e)+18))+(i.get(n.id)??0),f=t_(n.label),v=p.filter(e=>r.has(e.nodeId)&&.01>=h(e,"top")).map(e=>e.x-g.x+e.width/2-36),m={top:u("top"),bottom:u("bottom"),right:u("right"),left:o&&v.length>0?Math.max(u("left"),f+2*tk.clearance+18-Math.min(...v)):u("left")};return{content:g,group:n,height:g.height+m.top+m.bottom,nodes:p,padding:m,width:Math.max(g.width+m.left+m.right,f+2*tk.clearance+16)}}),c=new Map(a),d=new Map(s);for(let e of n){let t=ix(e.group.id);c.set(t,{width:e.width,height:e.height+28});let a=(e.width-e.content.width-e.padding.left-e.padding.right)/2,l=(t,s)=>"top"===s?t.y-e.content.y+e.padding.top+28:"bottom"===s?e.content.y+e.content.height-t.y-t.height+e.padding.bottom:"left"===s?t.x-e.content.x+e.padding.left+a:e.content.x+e.content.width-t.x-t.width+e.padding.right+a;for(let a of["top","right","bottom","left"]){let i=Math.max(0,...e.nodes.map(e=>(s.get(iG(e.nodeId,a))??0)-l(e,a)));i>0&&d.set(iG(t,a),i)}}let p=iP(t.top,c,d,{...l,wrap:i_}),g=new Map;for(let e of p)e.nodeId.startsWith(iy)||g.set(e.nodeId,{nodes:[e]});for(let e of n){let t=ix(e.group.id),a=p.find(e=>e.nodeId===t),s={x:a.x,y:a.y+28,width:a.width,height:a.height-28},l=s.x+e.padding.left+(s.width-e.content.width-e.padding.left-e.padding.right)/2-e.content.x,i=s.y+e.padding.top+(s.height-e.content.height-e.padding.top-e.padding.bottom)/2-e.content.y;g.set(t,{frame:s,nodes:e.nodes.map(e=>({...e,x:e.x+l,y:e.y+i}))})}!function(e,t,a){let{crossEdges:s,top:l}=e,i=im(l),o=ik(l,ig(l.edges),i),r=new Map;for(let e of l.nodes){let t=o.get(e.id)??0;r.set(t,[...r.get(t)??[],e.id])}let n=a?"x":"y",c=a?"width":"height",d=e=>(r.get(e)??[]).reduce((e,a)=>{let s=t.get(a);return e+(s.frame??s.nodes[0])[c]},0),p=[...r.keys()].sort((e,t)=>e-t),g=p.reduce((e,t)=>d(t)>d(e)?t:e),h=e=>[...t.values()].flatMap(e=>e.nodes).find(t=>t.nodeId===e),u=e=>e[n]+e[c]/2,f=(e,a,c)=>{var d;let p,[g]=r.get(e)??[];if(!g||1!==r.get(e).length)return;let f=l.edges.find(e=>!i.has(e.id)&&(c?e.target:e.source)===g&&o.get(c?e.source:e.target)===a);if(!f)return;let v=s[l.edges.indexOf(f)],[m,y]=c?[v.target,v.source]:[v.source,v.target];d=u(h(y))-u(h(m)),(p=t.get(g)).nodes=p.nodes.map(e=>({...e,[n]:e[n]+d})),p.frame&&(p.frame={...p.frame,[n]:p.frame[n]+d})};for(let e of p.filter(e=>e>g))f(e,e-1,!0);for(let e of p.filter(e=>e<g).reverse())f(e,e+1,!1)}(t,g,o);let h=[...g.values()].flatMap(e=>e.nodes),u=ih(e.nodes);return h.sort((e,t)=>u.get(e.nodeId)-u.get(t.nodeId)),{groups:{frames:n.map(({group:e})=>{let t=g.get(ix(e.id)).frame;return{box:t,elementId:`group:${e.id}`,id:e.id,label:e.label,labelBox:function(e){let{clearance:t,height:a}=tk,s=t_(e.name??"Frame");return{x:e.x-t,y:e.y-a-t,width:s+2*t,height:a+t-1}}({...t,name:e.label})}}),groupOf:t.groupOf},nodes:h}}(e,i,t,a,s,l):{nodes:iP(e,t,a,s)}}function iV(e,t){return{type:"node",id:e,nodeId:e,shape:"rectangle",label:"",x:t.x,y:t.y,width:t.width,height:t.height}}function iH(e){return(e?.frames??[]).map(e=>iV(e.elementId,{...e.box,y:e.box.y-28,height:e.box.height+28}))}let iq="group-outline:";function iF(e){return e9([{x:e.x,y:e.y},{x:e.x+e.width,y:e.y},{x:e.x+e.width,y:e.y+e.height},{x:e.x,y:e.y+e.height},{x:e.x,y:e.y}])}function iI(e,t){return e.x>=t.x-.01&&e.x<=t.x+t.width+.01&&e.y>=t.y-.01&&e.y<=t.y+t.height+.01}function iU(e){return{type:"text",id:`label:${e.nodeId}`,containerId:e.id,x:e.x+e.width/2,y:e.y+e.height/2,text:e.label,fontSize:14,maxWidth:Math.max(1,e.width-36),...e.icon?{verticalAlign:"bottom"}:{}}}function iO(e){return{x:e.x+e.width/2,y:e.y+e.height/2}}function iE(e,t,a){let s=iO(e),l=iO(t),i=l.x-s.x,o=l.y-s.y,r=e.kind?.toLowerCase();if("LR"===a||"RL"===a)return i>=0?{sourceEdge:"right",targetEdge:"left"}:{sourceEdge:"left",targetEdge:"right"};if(o<0)return!(Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)>.01)&&Math.abs(i)>Math.abs(o)?{sourceEdge:i>0?"right":"left",targetEdge:"bottom"}:{sourceEdge:"top",targetEdge:"bottom"};let n="decision"===r&&o>e.height+96;return"decision"===r&&o>0&&(0!==i||n)?{sourceEdge:i<0?"left":"right",targetEdge:"top"}:o>0?{sourceEdge:"bottom",targetEdge:"top"}:Math.abs(i)>Math.abs(o)?i>0?{sourceEdge:"right",targetEdge:"left"}:{sourceEdge:"left",targetEdge:"right"}:{sourceEdge:"top",targetEdge:"bottom"}}function iX(e,t,a){return Math.min(a,Math.max(t,e))}function iY(e,t,a=0){let s,l=(s="top"===t||"bottom"===t?e.width/2-16:e.height/2-16)>0?iX(a,-s,s):0,i=iO(e),o=e.width/2,r=e.height/2;if("diamond"===e.shape&&o>0&&r>0){if("top"===t||"bottom"===t){let e=i.x+l,a=r*(1-Math.abs(l)/o);return{x:e,y:"top"===t?i.y-a:i.y+a}}let e=i.y+l,a=o*(1-Math.abs(l)/r);return{x:"left"===t?i.x-a:i.x+a,y:e}}if(("ellipse"===e.shape||"circle"===e.shape)&&o>0&&r>0){if("top"===t||"bottom"===t){let e=i.x+l,a=r*Math.sqrt(Math.max(0,1-(l/o)**2));return{x:e,y:"top"===t?i.y-a:i.y+a}}let e=i.y+l,a=o*Math.sqrt(Math.max(0,1-(l/r)**2));return{x:"left"===t?i.x-a:i.x+a,y:e}}switch(t){case"top":return{x:e.x+e.width/2+l,y:e.y};case"right":return{x:e.x+e.width,y:e.y+e.height/2+l};case"bottom":return{x:e.x+e.width/2+l,y:e.y+e.height};case"left":return{x:e.x,y:e.y+e.height/2+l}}}function iZ(e){return`${e.edgeId}:${e.endpoint}`}function iG(e,t){return`${e}:${t}`}function iT(e,t=!1){let a=new Map;for(let t of e){let e=iG(t.source.nodeId,t.sourceEdge),s=iG(t.target.nodeId,t.targetEdge);a.set(e,[...a.get(e)??[],{edgeId:t.edge.id,endpoint:"source",coordinate:"top"===t.sourceEdge||"bottom"===t.sourceEdge?iO(t.target).x:iO(t.target).y}]),a.set(s,[...a.get(s)??[],{edgeId:t.edge.id,endpoint:"target",coordinate:"top"===t.targetEdge||"bottom"===t.targetEdge?iO(t.source).x:iO(t.source).y}])}let s=new Map;for(let l of a.values()){let a=l.filter(e=>"source"===e.endpoint),i=a.map(t=>e.find(e=>e.edge.id===t.edgeId)).filter(e=>e.edge.label),o=a.length>1&&i.length>0&&("decision"!==i[0].source.kind||t&&i.length>1)?Math.max(18,...i.map(e=>{let t=or(e.edge.label);return("top"===e.sourceEdge||"bottom"===e.sourceEdge?t.width:t.height)+24})):18;l.sort((e,t)=>e.coordinate-t.coordinate).forEach((e,t)=>{s.set(iZ(e),(t-(l.length-1)/2)*18*o/18)})}return s}let iD={top:"bottom",right:"left",bottom:"top",left:"right"},iR={top:{x:0,y:-1},right:{x:1,y:0},bottom:{x:0,y:1},left:{x:-1,y:0}};function ij(e){return"source"===e.endpoint?e.route.sourceEdge:e.route.targetEdge}function i$(e){return"top"===e||"bottom"===e?"x":"y"}function iN(e,t){return("x"===i$(t)?e.width:e.height)/2-16}function iW(e,t){return"source"===e.endpoint?ol(e.route,t,36):os(e.route.target,t,e.route.targetEdge,36)}let iJ={desired:0,high:1/0,low:-1/0,priority:0};function iK(e,t){let{edge:a,source:s,sourceEdge:l,target:i,targetEdge:o}=e;return{start:iY(s,l,t.get(iZ({edgeId:a.id,endpoint:"source"}))??0),end:iY(i,o,t.get(iZ({edgeId:a.id,endpoint:"target"}))??0)}}function iQ(e,t,a){let s=0,l=1;for(let[i,o]of[["x","width"],["y","height"]]){let r=a[i]+.01,n=a[i]+a[o]-.01,c=t[i]-e[i];if(.01>=Math.abs(c)){if(e[i]<=r||e[i]>=n)return!1}else{let t=(r-e[i])/c,a=(n-e[i])/c;s=Math.max(s,Math.min(t,a)),l=Math.min(l,Math.max(t,a))}}return s<l}function i1(e,t,a,s){let l=(a.x-iO(e).x)/(e.width/2),i=(a.y-iO(e).y)/(e.height/2),o="ellipse"===e.shape||"circle"===e.shape?{x:l/e.width,y:i/e.height}:"diamond"===e.shape?{x:Math.sign(l)/e.width,y:Math.sign(i)/e.height}:{x:"left"===t?-1:+("right"===t),y:"top"===t?-1:+("bottom"===t)};return(o.x*(s.x-a.x)+o.y*(s.y-a.y))/Math.hypot(o.x,o.y)>=-.01}function i0(e,t,a,s=!1){let l=new Map,i=im(t),o="TB"===t.layout.direction||"BT"===t.layout.direction?["right","left","top","bottom"]:["bottom","top","left","right"],r=iT(e);for(let n of e.filter(e=>i.has(e.edge.id)||s&&(e=>{let{start:t,end:s}=iK(e,r);return!i1(e.source,e.sourceEdge,t,s)||!i1(e.target,e.targetEdge,s,t)||a.some(a=>a!==e.source&&a!==e.target&&iQ(t,s,a))})(e))){let s,c={sourceEdge:n.sourceEdge,targetEdge:n.targetEdge},d=iZ({edgeId:n.edge.id,endpoint:"source"}),p=iZ({edgeId:n.edge.id,endpoint:"target"}),g=[c,...o.map(e=>({sourceEdge:e,targetEdge:e})),...o.flatMap(e=>o.map(t=>({sourceEdge:e,targetEdge:t})))],h=[!1,!0].flatMap(e=>g.map(t=>({...t,spread:e}))),u=!1;for(let t of h){Object.assign(n,{sourceEdge:t.sourceEdge,targetEdge:t.targetEdge});let l=new Map(r),i=(e,a,s)=>{let i=("top"===a||"bottom"===a?e.width:e.height)/2-16;return t.spread?[l.get(s)??0,-i,i]:[l.get(s)??0]},o=i(n.source,n.sourceEdge,d),c=i(n.target,n.targetEdge,p);for(let i of o){for(let o of c){l.set(d,i),l.set(p,o);let{start:c,end:g}=iK(n,l);if(!i1(n.source,n.sourceEdge,c,g)||!i1(n.target,n.targetEdge,g,c)||a.some(e=>e!==n.source&&e!==n.target&&iQ(c,g,e))||e.some(e=>{if(e===n)return!1;let{start:t,end:a}=iK(e,l);return[[n.source,c,e.source,t],[n.source,c,e.target,a],[n.target,g,e.source,t],[n.target,g,e.target,a]].some(([e,t,a,s])=>e===a&&.01>=Math.hypot(t.x-s.x,t.y-s.y))||function(e,t,a,s){let l=t.x-e.x,i=t.y-e.y,o=Math.hypot(l,i);if(o<=.01)return!1;let r=t=>Math.abs(l*(t.y-e.y)-i*(t.x-e.x))/o;if(r(a)>.01||r(s)>.01)return!1;let n=t=>((t.x-e.x)*l+(t.y-e.y)*i)/o,c=n(a),d=n(s);return Math.min(o,Math.max(c,d))-Math.max(0,Math.min(c,d))>.01}(c,g,t,a)}))continue;let h=oc(e,l),f=h.find(e=>e.nodeId===`branch-label:${n.edge.id}`);if(!(f&&iQ(c,g,f))&&(s??={sides:t,sourceOffset:i,targetOffset:o},!h.some(e=>e.nodeId!==`branch-label:${n.edge.id}`&&iQ(c,g,e)))){r.set(d,i),r.set(p,o),u=!0;break}}if(u)break}if(u)break}if(u||i.has(n.edge.id)){if(!u)if(Object.assign(n,s?.sides??c),s)r.set(d,s.sourceOffset),r.set(p,s.targetOffset);else{let e="TB"===t.layout.direction||"BT"===t.layout.direction,s=e?"x":"y",i=e?"width":"height",o=iO(n.source)[s],r=Math.max(...a.flatMap(e=>[Math.abs(e[s]-o),Math.abs(e[s]+e[i]-o)]));l.set(n.source.nodeId,{width:n.source.width,height:n.source.height,[i]:2*(r+16+18)})}}else Object.assign(n,s?.sides??c),s&&(r.set(d,s.sourceOffset),r.set(p,s.targetOffset))}return{offsets:r,minimumSizes:l}}function i2(e){let t=[];for(let a of e){let e=t[t.length-1];e&&e.x===a.x&&e.y===a.y||t.push(a)}let a=t[0];return a?[a,...t.slice(1)]:[{x:0,y:0}]}function i3(e,t){return e.x>=t.x&&e.x<=t.x+t.width&&e.y>=t.y&&e.y<=t.y+t.height}function i5(e,t,a){let s=0;for(let[l,i]of e9(e).entries())for(let o of t)!(a.has(o.nodeId)&&(0===l&&i3(e[0],o)||l===e.length-2&&i3(e.at(-1),o)))&&ta(i,o)&&(s+=1);return s}function i4(e){return e9(e.points).map(t=>({...t,arrowId:e.arrowId,startBindingId:e.sourceNodeId,endBindingId:e.targetNodeId}))}function i6(e){return e.flatMap(e=>i4({arrowId:e.id,points:e.points,sourceNodeId:e.sourceNodeId,targetNodeId:e.targetNodeId}))}function i7(e,t,a){let s=i4({arrowId:`edge:${a.edge.id}`,points:e,sourceNodeId:a.edge.source,targetNodeId:a.edge.target}),l=0;for(let e of s)for(let a of t)e.arrowId!==a.arrowId&&tt(e,a)&&(l+=1);return l}function i8(e,t){let a=i4({arrowId:`edge:${t.edge.id}`,points:e,sourceNodeId:t.edge.source,targetNodeId:t.edge.target}),s=0;for(let e=0;e<a.length;e+=1){let t=a[e];if(t)for(let l=e+1;l<a.length;l+=1){let e=a[l];e&&tt(t,e)&&(s+=1)}}return s}function i9(e,t,a){switch(a){case"top":return t.x===e.x&&e.y-t.y>=36;case"right":return t.y===e.y&&t.x-e.x>=36;case"bottom":return t.x===e.x&&t.y-e.y>=36;case"left":return t.y===e.y&&e.x-t.x>=36}}function oe(e,t,a){switch(t){case"top":return{x:e.x,y:e.y-a};case"right":return{x:e.x+a,y:e.y};case"bottom":return{x:e.x,y:e.y+a};case"left":return{x:e.x-a,y:e.y}}}function ot(e,t){return 0===t.length?0:e9(e).filter(e=>t.some(t=>t.orientation===e.orientation&&8>Math.abs(t.staticCoordinate-e.staticCoordinate)&&te(t,e)>8)).length}function oa(e,t,a,s,l){let i=e[0];if(!i)return[{x:0,y:0}];let o=e=>{let i,o,r,n,c,d=l.quality?.({id:`edge:${s.edge.id}`,points:e,sourceId:s.edge.source,targetId:s.edge.target})??{arrowheadsCrossed:0,corridors:0,jogs:0};return[-(i=e[0],o=e[1],r=e[e.length-1],n=e[e.length-2],c=0,o&&i9(i,o,s.sourceEdge)&&(c+=1),n&&r&&i9(r,n,s.targetEdge)&&(c+=1),c),i5(e,t,a),i8(e,s),i7(e,l.segments,s),ot(e,l.outlines),d.corridors,d.arrowheadsCrossed,function(e){let t=e[0],a=e[e.length-1];if(!t||!a)return 0;let s=e.map(e=>e.x),l=e.map(e=>e.y),i=0;return a.x<t.x?i+=Math.max(0,Math.max(...s)-t.x):a.x>t.x&&(i+=Math.max(0,t.x-Math.min(...s))),a.y<t.y?i+=Math.max(0,Math.max(...l)-t.y):a.y>t.y&&(i+=Math.max(0,t.y-Math.min(...l))),i}(e),function(e){let t=e[0],a=e[e.length-1];if(!t||!a)return 0;let s=e.map(e=>e.x),l=e.map(e=>e.y),i=0;return a.x<t.x?i+=Math.max(0,a.x-Math.min(...s)):a.x>t.x&&(i+=Math.max(0,Math.max(...s)-a.x)),a.y<t.y?i+=Math.max(0,a.y-Math.min(...l)):a.y>t.y&&(i+=Math.max(0,Math.max(...l)-a.y)),i}(e),d.jogs,function(e){let t=0;for(let a=0;a<e.length-1;a+=1){let s=e[a],l=e[a+1];s&&l&&(t+=Math.abs(l.x-s.x)+Math.abs(l.y-s.y))}return t}(e),l.quality?e9(e).filter((e,t,a)=>t>0&&e.orientation!==a[t-1].orientation).length:0]},r=(e,t)=>{for(let a=0;a<e.length;a+=1){let s=(e[a]??0)-(t[a]??0);if(0!==s)return s<0}return!1},n=i,c=o(i);for(let t of e.slice(1)){let e=o(t);r(e,c)&&(n=t,c=e)}return n}function os(e,t,a,s){switch(a){case"left":return s+t.x-e.x;case"right":return s+e.x+e.width-t.x;case"top":return s+t.y-e.y;case"bottom":return s+e.y+e.height-t.y}}function ol(e,t,a){let s=e.edge.label?"left"===e.sourceEdge||"right"===e.sourceEdge?or(e.edge.label,"decision"===e.source.kind).width+16:Math.max(40,or(e.edge.label,"decision"===e.source.kind).height+24):0;return os(e.source,t,e.sourceEdge,Math.max(a,s))}function oi(e,t,a=!1){let s="TB"===t||"BT"===t;if(!s&&!a)return;let l=s?"x":"y",i=s?"y":"x",[o,r]=s?["left","right"]:["top","bottom"],n="TB"===t?"bottom":"BT"===t?"top":"LR"===t?"right":"left";for(let t of new Set(e.filter(e=>"decision"===e.source.kind).map(e=>e.source))){let a=e.filter(e=>e.source===t).sort((e,t)=>iO(e.target)[l]-iO(t.target)[l]||iO(e.target)[i]-iO(t.target)[i]||e.index-t.index);a.length<2||a.forEach((e,s)=>{let c=a.filter(e=>1>Math.abs(iO(e.target)[l]-iO(t)[l])).sort((e,a)=>Math.abs(iO(e.target)[i]-iO(t)[i])-Math.abs(iO(a.target)[i]-iO(t)[i]))[0],d=2===a.length&&e===c,p=2===a.length&&void 0!==c&&!d;e.sourceEdge=d?n:p?iO(e.target)[l]<iO(t)[l]?o:r:0===s?o:s===a.length-1?r:n})}}function oo(e,t){let a=eX(e,t,13);return{width:eO(a,13,t),height:Math.ceil(13*a.split("\n").length*1.35)}}function or(e,t=!1){return oo(e,t?80:160)}function on(e,t){let a=oe(t,e.sourceEdge,ol(e,t,36)),s="left"===e.sourceEdge||"right"===e.sourceEdge;return{x:(t.x+a.x)/2+(s?0:or(e.edge.label??"","decision"===e.source.kind).width/2+8),y:(t.y+a.y)/2-(s?or(e.edge.label??"","decision"===e.source.kind).height/2+5:0)}}function oc(e,t){return e.filter(e=>e.edge.label).map(e=>{let a=iY(e.source,e.sourceEdge,t.get(iZ({edgeId:e.edge.id,endpoint:"source"}))??0),s=on(e,a),l=or(e.edge.label,"decision"===e.source.kind),i=l.width+12;return{...e.source,id:`branch-label:${e.edge.id}`,nodeId:`branch-label:${e.edge.id}`,x:s.x-i/2,y:s.y-l.height/2-4,width:i,height:l.height+8,shape:"rectangle"}})}function od(e,t){return{x:e.x-t.width/2,y:e.y-t.height/2,width:t.width,height:t.height}}function op(e,t){return e.x<t.x+t.width&&t.x<e.x+e.width&&e.y<t.y+t.height&&t.y<e.y+e.height}function og(e,t){return{x:e.x-t,y:e.y-t,width:e.width+2*t,height:e.height+2*t}}function oh(e,t,a,s){let l=[],i=e.map(e=>e9(e.points)),o=[...a,...(s?.frames??[]).map(e=>iV(`group-label:${e.id}`,e.labelBox))],r=(s?.frames??[]).flatMap(e=>iF(e.box)),n=[],c=e.map((e,a)=>e.label?or(e.label,t[a]?.source.kind==="decision"):void 0),d=e.map((e,a)=>e.label?on(t[a],e.points[0]):void 0);for(let[t,a]of e.entries()){let e=c[t],s=d[t];if(!e||!s)continue;let l=d.flatMap((e,a)=>e&&a!==t&&!n.some(e=>e.index===a)?[od(e,c[a])]:[]),p=a=>(function(e,t,a,s,l){let i=og(e,3),o=og(e,8);return t.filter(e=>ta(e,i)).length+a.filter(e=>ta(e,o)).length+s.filter(t=>(function(e,t){let[a,s]=[t.x+t.width/2,t.y+t.height/2],l=Math.max(e.x,Math.min(a,e.x+e.width))-a,i=Math.max(e.y,Math.min(s,e.y+e.height))-s,[o,r]=[Math.abs(l)/(t.width/2),Math.abs(i)/(t.height/2)];return"diamond"===t.shape?o+r<1:"ellipse"===t.shape||"circle"===t.shape?o*o+r*r<1:o<1&&r<1})(e,t)).length+l.filter(e=>op(i,e)).length})(od(a,e),i[t],[...i.flatMap((e,a)=>a===t?[]:e),...r],o,[...l,...n.map(e=>e.box)]),g=s;if(p(s)>0){let t=p(s);for(let s of function(e,t){let a=[],s=0;for(let l of e9(e)){if(s>240)break;let i=e[l.segmentIndex],o=e[l.segmentIndex+1],r=l.max-l.min,n="horizontal"===l.orientation,c=n?t.width/2+4:t.height/2+4;for(let e=Math.min(c,r/2);e<=r-Math.min(c,r/2)&&!(s+e>240);e+=12){let s=e/r,l={x:i.x+(o.x-i.x)*s,y:i.y+(o.y-i.y)*s};for(let e of[1,-1])a.push(n?{x:l.x,y:l.y-e*(t.height/2+5)}:{x:l.x+e*(t.width/2+8),y:l.y})}s+=r}return a}(a.points,e)){let e=p(s);if(e<t&&([g,t]=[s,e]),0===t)break}}d[t]=g,n.push({box:od(g,e),index:t})}for(let[a,s]of e.entries()){let i=d[a];if(!s.label||!i)continue;let o=[`branch:${s.edgeId}`];l.push({type:"text",id:`${s.id}:label`,text:s.label,fontSize:13,x:i.x,y:i.y,maxWidth:t[a]?.source.kind==="decision"?80:160,groupIds:o}),e[a]={...s,groupIds:o}}return l}function ou(e,t){let a=new Map([["horizontal",[]],["vertical",[]]]);for(let t of e)a.get(t.orientation).push(t);for(let e of a.values())e.sort((e,t)=>e.staticCoordinate-t.staticCoordinate);return(e,s)=>{let l=a.get(e.orientation),i=Math.max(t,.02),o=0,r=l.length;for(;o<r;){let t=o+r>>1;l[t].staticCoordinate<e.staticCoordinate-i?o=t+1:r=t}let n=0,c=0;for(let a=o;a<l.length&&l[a].staticCoordinate<=e.staticCoordinate+i;a+=1){let i=l[a];i.arrowId!==s&&(tt(e,i)?n+=1:Math.abs(i.staticCoordinate-e.staticCoordinate)<t&&te(e,i)>.01&&(c+=1))}return{beside:c,overlaps:n}}}function of(e,t,a,s,l,i=e.map((e,t)=>t)){var o;let r=oc(e,a),n="orthogonal"===t?e.flatMap(e=>{let{start:t,end:s}=iK(e,a),l={type:"arrow",id:`edge:${e.edge.id}`,edgeId:e.edge.id,sourceNodeId:e.edge.source,targetNodeId:e.edge.target};return[{...l,endArrowhead:null,points:[t,oe(t,e.sourceEdge,ol(e,t,36))]},{...l,points:[oe(s,e.targetEdge,os(e.target,s,e.targetEdge,36)),s]}]}):[],c=(o=l.groups,(o?.frames??[]).map(e=>{let{x:t,y:a,width:s,height:l}=e.box;return{type:"arrow",id:`${iq}${e.id}`,edgeId:`${iq}${e.id}`,sourceNodeId:"",targetNodeId:"",endArrowhead:null,points:[{x:t,y:a},{x:t+s,y:a},{x:t+s,y:a+l},{x:t,y:a+l},{x:t,y:a}]}})),d=[];for(let o of i.map(t=>e[t]))d.push(function(e,t,a,s,l,i){let{edge:o}=e,{start:r,end:n}=iK(e,a),c="orthogonal"===t?function(e,t,a,s,l,{readerScale:i,guided:o,bandOf:r}){let n=Math.abs(a.x-t.x)>=Math.abs(a.y-t.y),c=new Set([e.source.nodeId,e.target.nodeId]),d=r?.get(e.source.nodeId),p=void 0===d?s:s.filter(e=>r.get(e.nodeId)===d),g=Math.min(...p.map(e=>e.x)),h=Math.max(...p.map(e=>e.x+e.width)),u=Math.min(...p.map(e=>e.y)),f=Math.max(...p.map(e=>e.y+e.height)),v="left"===e.sourceEdge||"left"===e.targetEdge||iO(e.target).x<iO(e.source).x,m=iO(e.target).y<iO(e.source).y,y=18*e.index,w=g-56-y,x=h+56+y,b=u-48-y,k=f+48+y,M=e.index%4*18/2,C=Math.min(e.source.x,e.target.x)-56-M,z=Math.max(e.source.x+e.source.width,e.target.x+e.target.width)+56+M,_=Math.min(e.source.y,e.target.y)-48-M,L=Math.max(e.source.y+e.source.height,e.target.y+e.target.height)+48+M,B=36+e.index%4*18,A=void 0===i?[B]:[...new Set([B,36])],P=(s,l)=>{let i=l>0?oe(t,e.sourceEdge,ol(e,t,36)):t,o=l>0?oe(a,e.targetEdge,os(e.target,a,e.targetEdge,l)):a;return i2([t,i,{x:s,y:i.y},{x:s,y:o.y},o,a])},S=(s,l)=>{let i=l>0?oe(t,e.sourceEdge,ol(e,t,36)):t,o=l>0?oe(a,e.targetEdge,os(e.target,a,e.targetEdge,l)):a;return i2([t,i,{x:i.x,y:s},{x:o.x,y:s},o,a])},V=[[m?_:L,S],[m?L:_,S],[m?b:k,S],[m?k:b,S]],H=[[v?C:z,P],[v?z:C,P],[v?w:x,P],[v?x:w,P]],[q,F]=n?[V,H]:[H,V],I=[...q.slice(0,2),...F.slice(0,2),...q.slice(2),...F.slice(2)],U=oe(t,e.sourceEdge,ol(e,t,36)),O=oe(a,e.targetEdge,os(e.target,a,e.targetEdge,36)),E=[...void 0===e.lane?[]:A.map(t=>"top"===e.sourceEdge||"bottom"===e.sourceEdge?P(e.lane,t):S(e.lane,t)),i2([t,a]),i2([t,U,{x:U.x,y:O.y},O,a]),i2([t,U,{x:O.x,y:U.y},O,a]),...I.flatMap(([e,t])=>A.map(a=>t(e,a)))],X={...void 0===i?{}:{quality:tw(l.map(e=>({id:e.id,points:e.points,sourceId:e.sourceNodeId,targetId:e.targetNodeId,endArrowhead:null!==e.endArrowhead})),i)},outlines:i6(l.filter(e=>e.id.startsWith(iq))),segments:i6(l)},Y=oa(E,s,c,e,X),Z=void 0===i?0:24/i,G=Z?oa([Y,...function(e,t,a,s){let l=`edge:${a.edge.id}`,i=[];for(let a of e9(e))if(!a.isFirstSegment&&!a.isLastSegment){for(let o of t)if(!(o.arrowId===l||o.orientation!==a.orientation||Math.abs(o.staticCoordinate-a.staticCoordinate)>=s||.01>=te(a,o)))for(let t of[o.staticCoordinate-s-1,o.staticCoordinate+s+1]){let s=e.map((e,s)=>s===a.segmentIndex||s===a.segmentIndex+1?"horizontal"===a.orientation?{x:e.x,y:t}:{x:t,y:e.y}:e);i.push(i2(s))}}return i}(Y,X.segments,e,Z)],s,c,e,X):Y,T=i5(G,s,c)||i8(G,e)||i7(G,X.segments,e)||ot(G,X.outlines);if(T||X.quality?.({id:`edge:${e.edge.id}`,points:G,sourceId:e.edge.source,targetId:e.edge.target}).corridors){let i=function(e,t,a,s,l,i,o,r,n,c=0,d=1/0,p=!0){let g,h,u,f,v=e=>[...new Set([18,Math.max(18,c+1)])].flatMap(t=>[e-t,e+t]),m=[...new Set([a.x,s.x,...l.flatMap(e=>[e.x-18,e.x+e.width+18]),...o.flatMap(e=>e.points.flatMap(e=>v(e.x)))])].sort((e,t)=>e-t),y=[...new Set([a.y,s.y,...l.flatMap(e=>[e.y-18,e.y+e.height+18]),...o.flatMap(e=>e.points.flatMap(e=>v(e.y)))])].sort((e,t)=>e-t),w=(e,t,a)=>(e*y.length+t)*2+a,x=`edge:${i.edge.id}`,b=ou(r,c),k=n.length>0?ou(n,8):void 0,M=[...e9([e,a]),...e9([s,t])],C=(e,t)=>p?Math.abs(m[e]-s.x)+Math.abs(y[t]-s.y):0,z=m.indexOf(a.x),_=y.indexOf(a.y),L={x:z,y:_,axis:+(e.x===a.x),cost:0,estimate:C(z,_)},B=(g=[],h=0,u=(e,t)=>e.item.estimate<t.item.estimate||e.item.estimate===t.item.estimate&&e.order>t.order,f=(e,t)=>{[g[e],g[t]]=[g[t],g[e]]},{get size(){return g.length},push(e){g.push({item:e,order:h++});for(let e=g.length-1;e>0;){let t=e-1>>1;if(!u(g[e],g[t]))break;f(e,t),e=t}},pop(){let e=g[0],t=g.pop();if(g.length>0){g[0]=t;for(let e=0;;){let t=2*e+1,a=t+1,s=e;if(t<g.length&&u(g[t],g[s])&&(s=t),a<g.length&&u(g[a],g[s])&&(s=a),s===e)break;f(e,s),e=s}}return e.item}});B.push(L);let A=new Map([[w(L.x,L.y,L.axis),0]]),P=new Map;for(let a=0;B.size&&a<d;a+=1){let a=B.pop();if(a.cost!==A.get(w(a.x,a.y,a.axis)))continue;let i={x:m[a.x],y:y[a.y]};if(i.x===s.x&&i.y===s.y){let s=[];for(let e=a;e;e=e.previous)s.unshift({x:m[e.x],y:y[e.y]});return i2([e,...s.filter((e,t)=>0===t||t===s.length-1||(s[t-1].x!==e.x||e.x!==s[t+1].x)&&(s[t-1].y!==e.y||e.y!==s[t+1].y)),t])}for(let[e,t,s]of[[-1,0,0],[1,0,0],[0,-1,1],[0,1,1]]){let o=a.x+e,r=a.y+t;if(o<0||r<0||o>=m.length||r>=y.length)continue;let n={x:m[o],y:y[r]},c=(Math.min(o,a.x)*y.length+Math.min(r,a.y))*2+s;if(!P.has(c)){let e=e9([i,n],0)[0],t=e9([i,n])[0],{beside:a,overlaps:s}=t?b(t,x):{beside:0,overlaps:0},o=t&&k?k(t,x):void 0;P.set(c,l.some(t=>ta(e,t))||M.some(t=>tt(e,t))?void 0:Math.abs(n.x-i.x)+Math.abs(n.y-i.y)+1e4*s+1e3*a+(o?(o.beside+o.overlaps)*1e3:0))}let d=P.get(c);if(void 0===d)continue;let p=a.cost+d+24*(s!==a.axis),g=w(o,r,s);p>=(A.get(g)??1/0)||(A.set(g,p),B.push({x:o,y:r,axis:s,cost:p,estimate:p+C(o,r),previous:a}))}}}(t,a,U,O,s,e,l,X.segments,X.outlines,T?0:Z,T?1/0:5e3,o);if(i)return oa([G,i],s,c,e,X)}return G}(e,r,n,s,l,i):i2([r,n]);return{type:"arrow",id:`edge:${o.id}`,edgeId:o.id,sourceNodeId:o.source,targetNodeId:o.target,points:c,...o.label?{label:o.label}:{}}}(o,t,a,[...s,...r.filter(e=>e.nodeId!==`branch-label:${o.edge.id}`),...function(e,t){if(!e)return[];let a=e.groupOf.get(t.source.nodeId),s=e.groupOf.get(t.target.nodeId);return e.frames.flatMap(e=>{let t=iV(`group-label:${e.id}`,e.labelBox);if(e.id===a&&e.id===s){let{x:a,y:s,width:l,height:i}=e.box;return[t,iV(`group-wall:${e.id}:top`,{x:a-4,y:s-4,width:l+8,height:4}),iV(`group-wall:${e.id}:bottom`,{x:a-4,y:s+i,width:l+8,height:4}),iV(`group-wall:${e.id}:left`,{x:a-4,y:s-4,width:4,height:i+8}),iV(`group-wall:${e.id}:right`,{x:a+l,y:s-4,width:4,height:i+8})]}return e.id===a||e.id===s?[t]:[t,iV(e.elementId,e.box)]})}(l.groups,o)],[...c,...n,...d],l));return e.map(e=>d.find(t=>t.edgeId===e.edge.id))}function ov(e,t,a,s,l){let i=im(a),o=new Set(e.flatMap(e=>[iG(e.source.nodeId,e.sourceEdge),iG(e.target.nodeId,e.targetEdge)])),r=[];for(let[a,n]of t.entries()){let c=e[a];if(i.has(c.edge.id)||!("hooked"===l?ty([{id:n.id,points:n.points}],s).some(e=>"endpoint-jog"===e.kind&&"end"===e.endpoint):t.some(e=>e!==n&&oz(n.points,e.points,n.points.length-3)>0)))continue;let d=e9(n.points),p=d.at(-1),g=d.findLast(e=>e.orientation!==p?.orientation);if(!p||!g)continue;let h=n.points[g.segmentIndex],u=n.points[g.segmentIndex+1],f="horizontal"===g.orientation?u.x>h.x?"left":"right":u.y>h.y?"top":"bottom";f===c.targetEdge||o.has(iG(c.target.nodeId,f))||(r.push({route:c,side:c.targetEdge}),o.add(iG(c.target.nodeId,f)),c.targetEdge=f)}return r}function om(e,t,a){let s=e.flatMap(e=>e9(e.points).map(t=>{let a=e.points[t.segmentIndex],s=e.points[t.segmentIndex+1];return{...t,arrowId:e.id,startBindingId:e.sourceNodeId,endBindingId:e.targetNodeId,from:"horizontal"===t.orientation?a.x:a.y,to:"horizontal"===t.orientation?s.x:s.y}})),l=[];for(let[e,a]of s.entries()){for(let t of s.slice(e+1)){if(a.arrowId===t.arrowId||!tt(a,t))continue;let e=a.isFirstSegment&&t.isFirstSegment&&a.startBindingId===t.startBindingId;ts(a,t)&&.01>=Math.abs((e?a.from:a.to)-(e?t.from:t.to))&&Math.sign(a.to-a.from)===Math.sign(t.to-t.from)||l.push([a.arrowId,t.arrowId])}for(let e of t)e.nodeId!==a.startBindingId&&e.nodeId!==a.endBindingId&&ta(a,e)&&l.push([a.arrowId])}return a?[...l,...function(e,t){let a=[],s=t.frames.map(e=>iF(e.box));for(let l of e){let e=e9(l.points),i=t.groupOf.get(l.sourceNodeId),o=t.groupOf.get(l.targetNodeId);for(let[r,n]of t.frames.entries()){let t=n.id===i||n.id===o;(e.some(e=>ta(e,n.labelBox)||!t&&ta(e,n.box)||s[r].some(t=>t.orientation===e.orientation&&8>Math.abs(t.staticCoordinate-e.staticCoordinate)&&te(t,e)>8))||n.id===i&&n.id===o&&l.points.some(e=>!iI(e,n.box)))&&a.push([l.id])}}return a}(e,a)]:l}function oy(e){return e.flatMap(e=>{if("arrow"===e.type||"line"===e.type)return[...e.points];if("text"===e.type){if(e.containerId)return[];let t=(e.maxWidth??e.text.length)/2,a=e.text.split("\n").length*e.fontSize*1.35/2;return[{x:e.x-t,y:e.y-a},{x:e.x+t,y:e.y+a}]}return[{x:e.x,y:e.y},{x:e.x+e.width,y:e.y+e.height}]})}function ow(e,t,a){return{x:e.x+t,y:e.y+a}}let ox={ports:!1,reader:!1,sides:!1,repair:!1};function ob(e){let{edgeArrows:t,groups:a,nodeShapes:s,routedEdges:l}=e,i=new Set;if(!a)return i;let o=new Map(t.map(e=>[e.id,e]));for(let e of om(t,s,a))for(let t of e){let e=o.get(t);for(let t of e?[e.sourceNodeId,e.targetNodeId]:[]){let e=a.groupOf.get(t);void 0!==e&&i.add(e)}}let r=oh([...t],l,s,a),n=a.frames.flatMap(e=>iF(e.box));for(let e of r){let t=o.get(e.id.slice(0,-6)),s=t?a.groupOf.get(t.sourceNodeId):void 0;if(void 0===s)continue;let l=od(e,oo(e.text,e.maxWidth??160));(n.some(e=>ta(e,l))||a.frames.some(e=>op(l,e.labelBox)))&&i.add(s)}return i}function ok(e,t,a=iL){let s=oM(e,t,a,new Map);if(!s.groups)return s;let l=e=>om(e.edgeArrows,e.nodeShapes,e.groups).length+ob(e).size,i=new Map,o=l(s);for(let r=0;r<3&&o>0;r+=1){let r=ob(s);if(0===r.size)break;let n=oM(e,t,a,i=new Map([...i,...[...r].map(e=>[e,(i.get(e)??0)+36])])),c=l(n);c<o&&([s,o]=[n,c])}return s}function oM(e,t,a,s){let l,i,o="orthogonal"===e.layout.edgeRouting,r=e=>t.ports?function(e,t,a=!1){let s=iT(e,t),l=new Map;for(let t of e)for(let e of["source","target"]){let a=iG(t[e].nodeId,"source"===e?t.sourceEdge:t.targetEdge);l.set(a,[...l.get(a)??[],{endpoint:e,key:iZ({edgeId:t.edge.id,endpoint:e}),route:t}])}let i=[...l.values()].sort((e,t)=>t.length-e.length);for(let e=0;e<3;e+=1)for(let e of i){let i=ij(e[0]),o=e[0].route[e[0].endpoint],r=new Map(e.map(e=>[e,function(e,t,a){let s={endpoint:"source"===e.endpoint?"target":"source",key:iZ({edgeId:e.route.edge.id,endpoint:"source"===e.endpoint?"target":"source"}),route:e.route},l=e.route[e.endpoint],i=ij(e),o=ij(s),r=i$(i),n=iR[i],c=iY(l,i,t.get(e.key)??0),d=iY(e.route[s.endpoint],o,t.get(s.key)??0),p=(d.x-c.x)*n.x+(d.y-c.y)*n.y;if(i$(o)!==r&&p>=iW(e,c)){let e=oe(d,o,iW(s,d)),t=iR[o][r],a=e[r]-iO(l)[r];return{desired:0,high:t<0?a:1/0,lane:t*p,low:t>0?a:-1/0,priority:1}}let g=(e,t)=>"rectangle"!==e.route[e.endpoint].shape&&a.get(iG(e.route[e.endpoint].nodeId,t))?.length===1,h=o===iD[i]&&p>0;if(g(e,i)&&!(h&&"target"===e.endpoint&&g(s,o)))return{desired:0,high:0,low:0,priority:2};let u=d[r]-iO(l)[r];return h&&Math.abs(u)<=iN(l,i)?{desired:u,high:u,low:u,priority:2}:iJ}(e,s,l)])),n=function(e,t,a,s){let l=e=>{let t="source"===e.endpoint?"target":"source";if(!s)return iO(e.route[t])[i$(ij(e))];let l=e.route[t],i="source"===t?e.route.sourceEdge:e.route.targetEdge,o=iZ({edgeId:e.route.edge.id,endpoint:t});return oe(iY(l,i,a.get(o)??0),i,36)[i$(ij(e))]},i=[...e].sort((e,t)=>l(e)-l(t));for(let e of[1,-1]){let a=i.map((e,a)=>({index:a,lane:t.get(e).lane,slot:e})).filter(({lane:t})=>void 0!==t&&Math.sign(t)===e),s=[...a].sort((e,t)=>e.lane-t.lane);a.forEach(({index:e},t)=>{i[e]=s[t].slot})}return i}(e,r,s,a),c=n.filter(e=>"source"===e.endpoint),d=c.filter(e=>e.route.edge.label),p=c.length>1&&d.length>0&&("decision"!==d[0].route.source.kind||t&&d.length>1)?Math.max(...d.map(e=>{let t=or(e.route.edge.label);return("x"===i$(i)?t.width:t.height)+24})):0,g=function(e,t,a){let s=e.map((e,a)=>t.slice(0,a).reduce((e,t)=>e+t,0)),l=s.at(-1)??0;if(l>2*a)return s.map(e=>e-l/2);let i=e.map(()=>-1/0),o=e.map(()=>1/0),r=()=>{let e=i.map((e,t)=>Math.max(e-s[t],-a)),t=o.map((e,t)=>Math.min(e-s[t],a-l));for(let t=1;t<e.length;t+=1)e[t]=Math.max(e[t],e[t-1]);for(let e=t.length-2;e>=0;e-=1)t[e]=Math.min(t[e],t[e+1]);return{highs:t,lows:e}};for(let{index:t}of e.map((e,t)=>({index:t,priority:e.priority})).filter(({priority:e})=>e>0).sort((e,t)=>t.priority-e.priority||e.index-t.index)){i[t]=e[t].low,o[t]=e[t].high;let{highs:a,lows:s}=r();s.some((e,t)=>e>a[t]+.01)&&(i[t]=-1/0,o[t]=1/0)}let{highs:n,lows:c}=r();return(function(e,t,a){let s=[];for(let[l,i]of e.entries())for(s.push({count:1,high:a[l],low:t[l],sum:i,value:iX(i,t[l],Math.max(t[l],a[l]))});s.length>1&&s.at(-2).value>s.at(-1).value;){let e=s.pop(),t=s.at(-1);t.count+=e.count,t.sum+=e.sum,t.low=Math.max(t.low,e.low),t.high=Math.min(t.high,e.high),t.value=iX(t.sum/t.count,t.low,Math.max(t.low,t.high))}return s.flatMap(e=>Array(e.count).fill(e.value))})(e.map((e,t)=>e.desired-s[t]),c,n).map((e,t)=>e+s[t])}(n.map(e=>r.get(e)),n.slice(1).map((e,t)=>Math.max(p,"target"===e.endpoint||"target"===n[t].endpoint?36:18)),iN(o,i));n.forEach((e,t)=>s.set(e.key,g[t]))}return s}(e,t.repair,a.crossingRepair):iT(e,t.repair),{wrap:n}=a,{groups:c,nodes:d}=iS(e,new Map,new Map,a,s),{direction:p}=e.layout,g=e=>a.groupsAcross?c?.groupOf.get(e):void 0,h=e=>void 0===g(e)?p:iB[p],u=e=>void 0!==g(e.source)&&g(e.source)===g(e.target)?iB[p]:p,f=new Map(d.map(e=>[e.nodeId,e])),v=e.edges.map((e,t)=>(function(e,t,a,s,l=!1){let i=a.get(e.source),o=a.get(e.target);if(!i||!o)throw Error(`Cannot render edge "${e.id}" with unresolved nodes.`);let{sourceEdge:r,targetEdge:n}=l?{sourceEdge:iC[s],targetEdge:iD[iC[s]]}:iE(i,o,s);return{edge:e,index:t,source:i,sourceEdge:r,target:o,targetEdge:n}})(e,t,f,u(e),n.continuations.has(e.id))),m=o&&t.ports;for(let e of new Set(v.map(e=>h(e.source.nodeId))))oi(v.filter(t=>h(t.source.nodeId)===e),e,m);if(o)!function(e,t,a=()=>t.layout.direction){let s=im(t);for(let t of e.filter(e=>s.has(e.edge.id))){let s=a(t),l="LR"===s||"RL"===s,i=l?iO(t.source).y<iO(t.target).y:iO(t.source).x<iO(t.target).x,o=[...l?i?["top","bottom"]:["bottom","top"]:i?["left","right"]:["right","left"],...l?["left","right"]:["top","bottom"]],r=new Set(e.filter(e=>e!==t&&e.source===t.target).map(e=>e.sourceEdge)),n=new Set(e.filter(e=>e!==t&&e.target===t.source).map(e=>e.targetEdge)),c=new Set(e.filter(e=>e!==t&&e.target===t.target).map(e=>e.targetEdge)),d=new Set(e.filter(e=>e!==t&&e.source===t.source).map(e=>e.sourceEdge)),p="decision"===t.source.kind?[t.sourceEdge,...o]:o;t.targetEdge=o.find(e=>!r.has(e)&&!c.has(e))??o.find(e=>!r.has(e))??t.targetEdge,t.sourceEdge=p.find(e=>!n.has(e)&&("decision"!==t.source.kind||!d.has(e))&&(t.source!==t.target||e!==t.targetEdge))??t.sourceEdge}}(v,e,e=>u(e.edge)),l=r(v),i=function(e,t){let a=new Map;for(let s of e)for(let e of["source","target"]){let l=s[e],i="source"===e?s.sourceEdge:s.targetEdge,o="top"===i||"bottom"===i?"width":"height",r=2*(16+Math.abs(t.get(iZ({edgeId:s.edge.id,endpoint:e}))??0));if(r<=(a.get(l.nodeId)?.[o]??l[o]))continue;let n=a.get(l.nodeId)??{width:l.width,height:l.height};n[o]=r,a.set(l.nodeId,n)}return a}(v,l);else{let a=i0(v,e,d,t.repair);l=a.offsets,i=a.minimumSizes}let y=o&&(t.repair||c)?function(e,t){let a=new Map;for(let s of e){let{start:e,end:l}=iK(s,t);for(let[t,i,o]of[[s.source,s.sourceEdge,ol(s,e,36)],[s.target,s.targetEdge,os(s.target,l,s.targetEdge,36)]]){let r=oe(t===s.source?e:l,i,o),n="left"===i?t.x-r.x:"right"===i?r.x-t.x-t.width:"top"===i?t.y-r.y:r.y-t.y-t.height,c=iG(t.nodeId,i);a.set(c,Math.max(a.get(c)??0,n))}}return a}(v,l):new Map;if(i.size>0||y.size>0){({groups:c,nodes:d}=iS(e,i,y,a,s));let n=new Map(d.map(e=>[e.nodeId,e]));for(let t of v)t.source=n.get(t.source.nodeId),t.target=n.get(t.target.nodeId),o||Object.assign(t,iE(t.source,t.target,e.layout.direction));o?l=r(v):(oi(v,e.layout.direction,m),l=i0(v,e,d,t.repair).offsets)}var w=v,x=d,b=n;for(let e of w){if(!b.continuations.has(e.edge.id))continue;let t=b.bandOf.get(e.source.nodeId)??0,a="top"===e.sourceEdge||"bottom"===e.sourceEdge?"x":"y",s="x"===a?"width":"height",l=e=>x.filter(t=>(b.bandOf.get(t.nodeId)??0)===e);e.lane=(Math.max(...l(t).map(e=>e[a]+e[s]))+Math.min(...l(t+1).map(e=>e[a])))/2}let k=[...d,...iH(c)],M=td({width:Math.max(...k.map(e=>e.x+e.width))-Math.min(...k.map(e=>e.x)),height:Math.max(...k.map(e=>e.y+e.height))-Math.min(...k.map(e=>e.y))}),C={guided:t.repair,...t.reader?{readerScale:M}:{},...n.continuations.size>0?{bandOf:n.bandOf}:{},...c?{groups:c}:{}},z=of(v,e.layout.edgeRouting,l,d,C);if(o&&t.sides){let t=ov(v,z,e,M,"hooked");if(t.length>0){let e=r(v),a=of(v,"orthogonal",e,d,C),[s,i]=[z,a].map(e=>{var t,a;let s;return t=d,a=c,s=ty(e.map(e=>({id:e.id,points:e.points,sourceId:e.sourceNodeId,targetId:e.targetNodeId})),M).length,{hard:om(e,t,a).length,reader:s}});if(i.hard<=s.hard&&i.reader<s.reader)[z,l]=[a,e];else for(let{route:e,side:a}of t)e.targetEdge=a}let s=a.crossingRepair?ov(v,z,e,M,"crossed"):[];if(s.length>0){let e=r(v),t=of(v,"orthogonal",e,d,C);if(om(t,d,c).length<=om(z,d,c).length&&oB({edgeArrows:t,...c?{groups:c}:{},nodeShapes:d},{edgeArrows:z,...c?{groups:c}:{},nodeShapes:d},!0))[z,l]=[t,e];else for(let{route:e,side:t}of s)e.targetEdge=t}}return o&&t.repair&&(z=function(e,t,a,s,l){let i=om(e,s,l.groups),o=t.map((e,t)=>t);for(let r=0;r<4&&i.length>0;r+=1){let r=e=>o.findIndex(a=>`edge:${t[a].edge.id}`===e),[n,c]=i[0],[d,p]=void 0===c?[0,r(n)]:[Math.min(r(n),r(c)),Math.max(r(n),r(c))];if(p<=d)break;let g=[...o];g.splice(d,0,...g.splice(p,1));let h=of(t,"orthogonal",a,s,l,g),u=om(h,s,l.groups);if(u.length>=i.length)break;[e,i,o]=[h,u,g]}return e}(z,v,l,d,C)),{edgeArrows:z,...c?{groups:c}:{},nodeShapes:d,routedEdges:v}}function oC(e,t,a=[]){let s=[...e.flatMap(e=>[{x:e.x,y:e.y},{x:e.x+e.width,y:e.y+e.height}]),...t.flatMap(e=>e.points),...a.flatMap(e=>{let{width:t,height:a}=oo(e.text,e.maxWidth??160);return[{x:e.x-t/2,y:e.y-a/2},{x:e.x+t/2,y:e.y+a/2}]})];return{width:Math.max(...s.map(e=>e.x))-Math.min(...s.map(e=>e.x)),height:Math.max(...s.map(e=>e.y))-Math.min(...s.map(e=>e.y))}}function oz(e,t,a=0){let s=(e,t,a)=>e>Math.min(t,a)+.01&&e<Math.max(t,a)-.01,l=(e,t)=>.01>=Math.abs(e.y-t.y)&&Math.abs(e.x-t.x)>.01,i=(e,t)=>.01>=Math.abs(e.x-t.x)&&Math.abs(e.y-t.y)>.01,o=0;for(let r=Math.max(0,a);r<e.length-1;r+=1)for(let a=0;a<t.length-1;a+=1){let[n,c,d,p]=[e[r],e[r+1],t[a],t[a+1]],[g,h]=l(n,c)&&i(d,p)?[[n,c],[d,p]]:i(n,c)&&l(d,p)?[[d,p],[n,c]]:[];g&&h&&s(h[0].x,g[0].x,g[1].x)&&s(g[0].y,h[0].y,h[1].y)&&(o+=1)}return o}function o_(e){return e.reduce((t,a,s)=>t+e.slice(s+1).reduce((e,t)=>e+oz(a.points,t.points),0),0)}function oL(e,t){let a=td(oC(t,e)),s=e.map(e=>({id:e.id,points:e.points,sourceId:e.sourceNodeId,targetId:e.targetNodeId})),l=tw(s,a);return ty(s,a).length+s.filter(e=>l(e).arrowheadsCrossed>0).length}function oB(e,t,a=!1){let[s,l]=[e,t].map(e=>o_(e.edgeArrows)),[i,o]=[e,t].map(e=>{let{width:t,height:a}=oC([...e.nodeShapes,...iH(e.groups)],e.edgeArrows);return iA(t,a)});return(a?s<l:s<=l)&&(i<2.45||i<=o+.01)&&oL(e.edgeArrows,[...e.nodeShapes,...iH(e.groups)])<=oL(t.edgeArrows,[...t.nodeShapes,...iH(t.groups)])}function oA(e){var t;let a,s,i,o,r,n,c=H(l.svK(P,{errors:"all"})(e)),d=e=>[om(e.edgeArrows,e.nodeShapes,e.groups).length,function(e,t){let a=new Map(t.map(e=>[e.nodeId,e])),s=0;for(let t of e)for(let[e,l,i]of[[t.sourceNodeId,t.points[0],t.points[1]],[t.targetNodeId,t.points.at(-1),t.points.at(-2)]]){let t=a.get(e);if(!t||!l||!i)continue;let o=(l.x+(i.x-l.x)*1e-4-iO(t).x)/(t.width/2),r=(l.y+(i.y-l.y)*1e-4-iO(t).y)/(t.height/2);("diamond"===t.shape?Math.abs(o)+Math.abs(r):"ellipse"===t.shape||"circle"===t.shape?Math.hypot(o,r):Math.max(Math.abs(o),Math.abs(r)))<1-1e-6&&(s+=1)}return s}(e.edgeArrows,e.nodeShapes)],p=(e,t)=>e[0]<t[0]||e[0]===t[0]&&e[1]<t[1],g="orthogonal"===c.layout.edgeRouting?[{ports:!0,reader:!0,sides:!0,repair:!0},{ports:!0,reader:!0,sides:!1,repair:!0},{ports:!0,reader:!1,sides:!1,repair:!0},{ports:!1,reader:!1,sides:!1,repair:!0},ox]:[{...ox,repair:!0},ox],h=(e=>{let[t,...a]=g,s=ok(c,t,e),l=d(s);for(let t of a){if(0===l[0]&&0===l[1])break;let a=ok(c,t,e),i=d(a);p(i,l)&&([s,l]=[a,i])}return{arrangement:e,defects:l,layout:s}})(iL),u=(e,t)=>{let a=ok(c,g[0],e),s=d(a);!p(h.defects,s)&&oB(a,h.layout,t)&&(h={arrangement:e,defects:s,layout:a})},f="orthogonal"===c.layout.edgeRouting,v=f&&c.edges.length<=24;v&&o_(h.layout.edgeArrows)>0&&u({...h.arrangement,crossingRepair:!0},!1),v&&o_(h.layout.edgeArrows)>0&&((r=ib(c))?[r.top,...r.groups.map(e=>e.diagram)]:[c]).some(e=>{let[t,a]=[!1,!0].map(t=>iz(e,new Map,new Map,t).rankMetrics.map(e=>e.shapes.map(e=>e.nodeId).join("\n")).join("\n\n"));return t!==a})&&u({...h.arrangement,reorder:!0},!0);let m=oC([...h.layout.nodeShapes,...iH(h.layout.groups)],h.layout.edgeArrows,[...oh([...h.layout.edgeArrows],h.layout.routedEdges,h.layout.nodeShapes,h.layout.groups)]),y="TB"===c.layout.direction||"BT"===c.layout.direction,[w,x]=y?[m.height,m.width]:[m.width,m.height],b=(w+40)/(x+40),k=28e3/(Math.max(w,x)+40),M=b>=4||b>=2.45&&(y?k<14:w>=1200),C=f&&M?function(e,t){let a;if("orthogonal"!==e.layout.edgeRouting||ib(e))return i_;let{feedbackEdges:s,gapAfter:l,rankByNodeId:i,rankMetrics:o}=iz(e,new Map,new Map,t),r="TB"===e.layout.direction||"BT"===e.layout.direction,n=(e,t)=>o.slice(e,t+1).reduce((e,t)=>e+t.depth,0)+l.slice(e,t).reduce((e,t)=>e+t,0),c=(e,t)=>Math.max(...o.slice(e,t+1).map(e=>e.breadth)),d=o.length-1,p=iA(n(0,d),c(0,d));if(o.length<5||n(0,d)<=c(0,d))return i_;let g=new Map(e.nodes.map(e=>[e.id,e.kind])),h=e=>i.get(e)??0,u=new Map;for(let[t,a]of o.entries()){let l=e.edges.filter(e=>Math.min(h(e.source),h(e.target))<=a.rank&&Math.max(h(e.source),h(e.target))>a.rank),[i]=l;1===l.length&&i&&!s.has(i.id)&&h(i.source)===a.rank&&h(i.target)===a.rank+1&&"decision"!==g.get(i.source)&&u.set(t,i.id)}let f=new Map(e.edges.map(e=>[e.id,e.label])),v=(e,t)=>{let a=f.get(u.get(t)??""),s=a?or(a):void 0,l=t===d?0:Math.max(36,s?r?Math.max(40,s.height+24):s.width+16:0);return n(e,t)+36*(e>0)+l},m=[...u.keys(),d].sort((e,t)=>e-t);for(let e=2;e<=Math.min(6,m.length);e+=1){let t=new Map;for(let e of m)e>=1&&e<d&&t.set(e,{ends:[e],longest:v(0,e),squares:v(0,e)**2});for(let a=2;a<=e;a+=1){let s=new Map;for(let l of m)if(a===e?l===d:l!==d)for(let[e,a]of[...t].reverse()){if(l<e+2)continue;let t=v(e+1,l),i={ends:[...a.ends,l],longest:Math.max(a.longest,t),squares:a.squares+t**2},o=s.get(l);(!o||i.longest<o.longest||i.longest===o.longest&&i.squares<o.squares)&&s.set(l,i)}t=s}let s=t.get(d);if(!s)continue;let l=[0,...s.ends.slice(0,-1).map(e=>e+1)].reduce((e,t,a)=>e+c(t,s.ends[a]),0)+(e-1)*144,i=iA(s.longest,l);if((!a||i<a.aspect)&&(a={aspect:i,ends:s.ends}),i<=2)break}if(!a||a.aspect>=p)return i_;let y=new Map,w=0;for(let[e,t]of o.entries()){for(let e of t.shapes)y.set(e.nodeId,w);a.ends.includes(e)&&e!==d&&(w+=1)}return{bandOf:y,continuations:new Set(a.ends.filter(e=>e!==d).map(e=>u.get(e)))}}(c,h.arrangement.reorder):i_;for(let e of v&&!h.arrangement.crossingRepair?[!0,!1]:[h.arrangement.crossingRepair]){if(0===C.continuations.size||h.arrangement.wrap===C)break;u({...h.arrangement,crossingRepair:e,wrap:C},!1)}let z=f&&M&&void 0!==ib(c);for(let e of v&&!h.arrangement.crossingRepair?[!0,!1]:[h.arrangement.crossingRepair]){if(!z||h.arrangement.groupsAcross)break;u({...h.arrangement,crossingRepair:e,groupsAcross:!0},!1)}let{layout:_}=h,{groups:L,routedEdges:B}=_,A=[..._.edgeArrows],S={arrows:A,frames:[],labels:[..._.nodeShapes.map(iU),...oh(A,B,_.nodeShapes,L)],nodes:_.nodeShapes},{arrows:V,frames:q,labels:F,nodes:I}=L?function(e,t){let a=new Map(e.frames.map(e=>[e.id,e])),s=t=>{let s=e.groupOf.get(t);return void 0===s?void 0:a.get(s)},l=new Map(t.labels.map(e=>[e.id,e])),i=new Map;for(let e of t.arrows){let t=s(e.sourceNodeId);if(!t||t!==s(e.targetNodeId))continue;let a=l.get(`${e.id}:label`),o=a?oo(a.text,a.maxWidth??160):void 0;(!a||!o||[{x:a.x-o.width/2,y:a.y-o.height/2},{x:a.x+o.width/2,y:a.y+o.height/2}].every(e=>iI(e,t.box)))&&e.points.every(e=>iI(e,t.box))&&i.set(e.id,t.elementId)}let o=new Map(t.nodes.flatMap(e=>{let t=s(e.nodeId);return t?[[e.id,t.elementId]]:[]}));return{arrows:t.arrows.map(e=>{let t=i.get(e.id);return t?{...e,frameId:t}:e}),frames:e.frames.map(e=>({type:"frame",id:e.elementId,name:e.label,...e.box})),labels:t.labels.map(e=>{let t=e.containerId?o.get(e.containerId):i.get(e.id.slice(0,-6));return t?{...e,frameId:t}:e}),nodes:t.nodes.map(e=>{let t=o.get(e.id);return t?{...e,frameId:t}:e})}}(L,S):S,U=(i=Math.max(0,48-(s={x:Math.min(...(a=oy(t=[...q,...V,...I,...F])).map(e=>e.x)),y:Math.min(...a.map(e=>e.y))}).x),o=Math.max(0,48-s.y),0===i&&0===o?[...t]:t.map(e=>"arrow"===e.type?{...e,points:function(e,t,a){let[s,...l]=e;return[ow(s,t,a),...l.map(e=>ow(e,t,a))]}(e.points,i,o)}:"line"===e.type?{...e,points:function(e,t,a){let[s,l,...i]=e;return[ow(s,t,a),ow(l,t,a),...i.map(e=>ow(e,t,a))]}(e.points,i,o)}:{...e,x:e.x+i,y:e.y+o})),O={width:Math.max(...(n=oy(U)).map(e=>e.x))+48,height:Math.max(...n.map(e=>e.y))+48},E=[...q.map(e=>e.id),...I.map(e=>e.id),...F.map(e=>e.id),...V.map(e=>e.id)];return{kind:"canvas",version:1,diagramId:c.id,title:c.title,width:O.width,height:O.height,accentColor:c.style.accentColor,backgroundColor:c.style.backgroundColor,elements:U,layers:[],layouts:[],zOrder:E}}function oP(e,t){if(!t.nodeId.endsWith(ey)||t.id!==`node:${t.nodeId}`||"rectangle"!==t.shape||2!==t.width||t.height<120)return!1;let a=t.nodeId.slice(0,-ey.length);if(0===a.length)return!1;let s=e.elements.find(e=>"node"===e.type&&e.id===`node:${a}`&&e.nodeId===a);return!!s&&.01>=Math.abs(t.x+t.width/2-(s.x+s.width/2))&&t.y>=s.y+s.height-.01}var oS=a(664);a(3614);var oV=a(1594),oH=a(6297),oq=a(7258),oF=a(2275),oI=a(2860),oU=a(1554),oO=a(4233);let oE=i.Or("effect/Metric/CurrentMetricAttributes",{defaultValue:()=>({})}),oX=i.Or("effect/Metric/MetricRegistry",{defaultValue:()=>new Map}),oY="~effect/Metric";class oZ{[oY]=oY;#e;#t="";id;description;attributes;constructor(e,t,a){this.id=e,this.description=t,this.attributes=a}valueUnsafe(e){return this.hook(e).get(e)}modifyUnsafe(e,t){return this.hook(t).modify(e,t)}updateUnsafe(e,t){return this.hook(t).update(e,t)}hook(e){var t;let a,s=i.Jt(e,oE);s!==this.#e&&(this.#e=s,this.#t=(t=this,a=Object.entries(oW(this.attributes,s)).sort((e,t)=>e[0]<t[0]?-1:+(e[0]>t[0])),JSON.stringify([t.type,t.id,t.description,a])));let l=i.Jt(e,oX),o=l.get(this.#t);return oO.b0(o)&&(o={id:this.id,type:this.type,description:this.description,attributes:Object.keys(s).length>0?oW(this.attributes,s):this.attributes,hooks:this.createHooks()},l.set(this.#t,o)),o.hooks}pipe(){return(0,oU.tT)(this,arguments)}}let oG=BigInt(0);class oT extends oZ{type="Counter";#a;#s;constructor(e,t){super(e,t?.description,oJ(t?.attributes)),this.#a=t?.bigint??!1,this.#s=t?.incremental??!1}createHooks(){let e=this.#a?oG:0,t=this.#s?this.#a?e=>e>=oG:e=>e>=0:e=>!0;return oN(()=>({count:e,incremental:this.#s}),a=>{t(a)&&(e+=a)})}}class oD extends oZ{type;metric;valueUnsafe;updateUnsafe;modifyUnsafe;constructor(e,t,a,s){super(e.id,e.description,e.attributes),this.metric=e,this.valueUnsafe=t,this.updateUnsafe=a,this.modifyUnsafe=s,this.type=e.type}createHooks(){return this.metric.createHooks()}}let oR=(e,t)=>new oT(e,t),oj=(0,oV.XY)(2,(e,t)=>oH.sxi(a=>oH.OH5(()=>e.updateUnsafe(t,a)))),o$=(0,oV.XY)(2,(e,t)=>{var a;let s,l,o=(a=t,l={},e=>{let t=i.Jt(e,oE);return t!==s&&(s=t,l=oW(t,a)),i.WQ(e,oE,l)});return new oD(e,t=>e.valueUnsafe(o(t)),(t,a)=>e.updateUnsafe(t,o(a)),(t,a)=>e.modifyUnsafe(t,o(a)))});function oN(e,t,a){return{get:e,update:t,modify:a??t}}function oW(e,t){return{...oJ(e),...oJ(t)}}function oJ(e){return oO.EA(e)&&Array.isArray(e)?e.reduce((e,[t,a])=>(oF.x(e,t,a),e),{}):e}oq.F,oq.F,oV.MN;var oK=a(1587),oQ=(a(6526),a(719),a(2707));let o1=[["artifactId","sketchi.artifact_id"],["attemptId","sketchi.attempt_id"],["projectId","sketchi.project_id"],["requestId","sketchi.request_id"],["runId","sketchi.run_id"],["scenarioId","sketchi.scenario_id"],["traceId","sketchi.trace_id"]],o0=new Set(["artifact_count","artifact_format","artifact_kind","attempt","cache_mode","duration_ms","error_category","error_tag","failure_category","format_count","method","model","operation","outcome","provider","request_kind","retry_kind","sink","status","status_code","surface","timeout_kind","timeout_ms"]),o2=([...o1.map(([,e])=>e),...o0],{metric:()=>void 0}),o3=i.Or("@sketchi/observability/TelemetryExporter",{defaultValue:()=>o2}),o5=i.Or("@sketchi/observability/TelemetryCorrelation",{defaultValue:()=>({})});function o4(e){let t=e?.trim();if(t&&!(t.length>128)&&/^[A-Za-z0-9][A-Za-z0-9._:-]*$/.test(t))return t}function o6(e,t){return o.JkU(function*(){let a={...yield*o5,...function(e){let t={};for(let[a]of o1){let s=o4(e[a]);s&&(t[a]=s)}return t}(t)},s=function(e){let t={};for(let[a,s]of o1){let l=e[a];l&&(t[s]=l)}return t}(a);return yield*e.pipe(o.PfK(o5,a),o.Muk(s),o.swY(s))})}i.Or("@sketchi/observability/TelemetryResource",{defaultValue:()=>({serviceName:"sketchi"})});let o7=o.fn(function*(e,t,a={}){let s=function(e){let t={artifact_kind:e.artifactKind,failure_category:e.failureCategory,operation:e.operation,outcome:e.outcome,provider:e.provider,retry_kind:e.retryKind,sink:e.sink,surface:e.surface,timeout_kind:e.timeoutKind},a={};for(let[e,s]of Object.entries(t)){let t=o4(s);t&&(a[e]=t)}return a}(a);yield*oj(o$(e,s),t);let l=yield*o3,i=oK.getOrUndefined((yield*o._32.pipe(o.uKv)));yield*o.OH5(()=>l.metric({attributes:s,metric:e.id,metricType:e.type,...i?{spanId:i.spanId,traceId:i.traceId}:{},value:t}))});oQ.W1;var o8=a(9315),o9=a(8713),re=a(4733);let rt=new Set([...JSON.parse('["access","ace","active","addresses","administration","adobe","advanced","affinity","agent","agents","alloy","amazon","amp","analysis","analyzer","and","android","angular","apple","appliance","application","approvals","arc","armor","arrow","artifact","artifacts","asset","assist","assistant","assured","atom","audit","augment","authority","authorization","automatic","automation","autopilot","aware","axiom","azure","babel","balancing","bare","bash","basic","batch","bedrock","big","billing","binary","blitz","bolt","branching","brave","brunch","build","builder","business","c","capture","carbon","catalog","center","certificate","channel","checkpoints","chrome","chromium","cipher","clerk","cloud","code","codex","cohere","collaboration","command","composer","compute","computing","configuration","connect","connection","connectivity","connectors","console","contact","container","containers","context","contour","control","convex","copilot","core","crystal","cursor","custom","cypress","dart","dashboard","data","database","databases","db","debugger","default","deploy","deployed","deployment","design","designer","developer","director","directory","discovery","disk","distributed","document","dolphin","domains","dovetail","drizzle","early","edge","elastic","electron","elixir","ember","enforcement","engine","enterprise","error","expo","external","financial","firefly","firewall","fireworks","flask","fleet","flora","flow","flutter","flux","for","form","foundry","framer","frameworks","free","functions","fusion","game","gateway","generic","go","google","goose","graph","graphite","gulp","health","healthcare","home","hub","hybrid","hyper","hyperbolic","id","identity","ideogram","ids","illustrator","inception","inference","inflection","insights","insomnia","inspection","integration","intelligence","interconnect","inventory","jest","job","jobs","justifications","key","lab","labeling","lambda","language","launcher","layers","learning","legacy","less","linear","liquid","lit","load","local","lockup","logging","logic","logs","loss","lovable","lunacy","machine","machinery","magic","make","managed","management","manager","map","maps","marionette","markdown","marketing","marketplace","media","mesh","metal","migrate","migration","mixed","mobile","model","modeling","module","mongoose","monitoring","monocle","moonshot","motion","my","native","natural","neon","net","network","networking","next","nomad","notepad","notes","notion","nova","object","objective","obsidian","on","opera","operations","optimization","optimized","oracle","packaging","packer","palm","pandas","panel","partner","passport","patch","payload","performance","permissions","perplexity","persistent","phishing","phoenix","pipeline","platform","playwright","plus","poetry","policy","pool","portal","positron","postman","preferences","premium","preparation","presto","prettier","prevention","private","processing","producer","project","protection","protractor","providers","proxy","pulsar","puppeteer","putty","python","quantum","quasar","query","quiver","quotas","r","racket","rails","railway","rancher","react","real","reality","realm","recommendations","reflex","registry","release","render","replicate","reporting","resend","resource","restricted","retail","retention","rider","risk","router","routes","routing","ruby","rules","run","runway","rust","safari","sanity","sass","scanner","scheduler","search","secret","security","segment","selenium","sense","sentry","series","servers","service","services","sharp","shell","showcase","sketch","slack","slate","snowflake","solidity","solution","solutions","spanner","spark","speech","spring","stability","standard","stimulus","storage","storybook","stream","structured","studio","stylus","sublime","subversion","suite","support","swagger","swift","sync","systems","tables","tailwind","tasks","templates","test","text","threads","threat","tier","tiers","time","to","together","tomcat","tools","topology","trace","tracker","traffic","training","transfer","translation","trial","tutorials","twitter","type","types","typescript","unified","unity","unstructured","upgrade","upstage","user","vagrant","value","vapor","vault","vertex","video","view","vim","virtual","vision","visual","vortex","voyage","web","windsurf","wolfram","workbook","workflow","workflows","workload","workloads","workshop","world","yarn","yoga","zed"]'),"antigravity","api","dataflow","datastore","datastream","filestore","genomics","json","memorystore","meta","nitro","observability","onboarding","ontology","profiler","pubsub","pwa","remix","serverless","submodel","turbo"]),ra=/[A-Za-z0-9.+#]+/gu;function rs(e){return/[0-9.+#]/u.test(e)||e.length>=3&&!rt.has(e)}function rl(e){return e.trim().toLocaleLowerCase().replace(/\s+/gu," ")}function ri(e,t){return e.some(e=>rl(e).includes(t))}function ro(e,t){let a=rl(e.slug),s=rl(e.name),l=rl(e.collection),i=rl((0,re.y)(e.collection));return a===t?0:s.startsWith(t)?1:ri(e.aliases,t)?2:a.includes(t)||s.includes(t)||ri(e.keywords,t)?3:l.includes(t)||i.includes(t)?4:null}let rr=new Set(["cloud-platforms","cloud-vendors"]);function rn(e){return e.toLocaleLowerCase().replace(/[^a-z0-9+#]/gu,"")}let rc=new WeakMap;class rd extends l.rNF()("CodeModeIconLoadError",{cause:l.kld(),message:l.QfV,slug:l.QfV}){}function rp(e){return{collection:e.collection,name:e.name,slug:e.slug}}function rg(e){let t=e.icons.filter(o9.nC),a=new Map(t.map(e=>[e.slug,rp(e)]));return{get:e=>a.get(e),search:(e,a)=>(function(e,t={}){let a=rl(t.query??""),s=t.collection?.trim(),l=Math.max(0,t.limit??1/0),i=e.flatMap(e=>{if(s&&e.collection!==s)return[];let t=function(e,t){if(0===t.length)return 5;let a=ro(e,t);if(null!==a)return a;let s=t.split(/\s+/u);if(1===s.length)return null;let l=0;for(let t of s){let a=ro(e,t);if(null===a)return null;l=Math.max(l,a)}return l}(e,a);return null===t?[]:[{icon:e,rank:t}]}).sort((e,t)=>e.rank-t.rank||e.icon.name.localeCompare(t.icon.name)||e.icon.slug.localeCompare(t.icon.slug));return(i.length>0?i:function(e,t,a){let s=[...t.matchAll(ra)].map(([e])=>e.replace(/^\.+|\.+$/gu,"")).filter(Boolean).map(e=>e.toLocaleLowerCase()),l=function(e){let t=rc.get(e);if(t)return t;let a=new Map;for(let t of e)for(let e of new Set([t.slug,t.name,...t.aliases].map(rn))){if(!e)continue;let s=a.get(e)??[];s.push(t),a.set(e,s)}return rc.set(e,a),a}(e),i=new Map;for(let e=Math.min(4,s.length);e>0;e-=1)for(let t=0;t+e<=s.length;t+=1){let o=s.slice(t,t+e),r=o.some(rs);for(let s of l.get(rn(o.join("")))??[]){let l=rr.has(s.collection);if(i.has(s.slug)||!r&&!l||a&&s.collection!==a)continue;let n=ro(s,o.join(" "))??6;i.set(s.slug,{icon:s,length:e,start:t,termRank:n,vendor:l})}}return[...i.values()].sort((e,t)=>t.length-e.length||Number(e.vendor)-Number(t.vendor)||e.start-t.start||e.termRank-t.termRank||e.icon.name.localeCompare(t.icon.name)||e.icon.slug.localeCompare(t.icon.slug)).map(({icon:e})=>({icon:e,rank:6}))}(e,a,s)).slice(0,l)})(t,{limit:a,query:e}).map(({icon:e})=>rp(e)),loadSvg:e.loadSvg,slugLookup:e.slugLookup}}function rh(e){return tB(e).toLowerCase()}function ru(e){var t;let a;return{code:"unknown_icon",severity:"warning",stage:"input",...e.ref?{ref:e.ref}:{},message:e.message,hint:e.catalog?(a=function(e,t){let a=t.split(/[-_\s]+/u).filter(Boolean),s=new Set,l=[];for(let t of[a.join(" "),...a])if(t){for(let a of e.search(t,3))s.has(a.slug)||(s.add(a.slug),l.push(a));if(l.length>=3)break}return l.slice(0,3)}(t=e.catalog,e.slug)).length>0?`Use an exact slug, for example ${a.map(e=>`"${e.slug}" (${e.name})`).join(", ")}, or look one up with ${t.slugLookup}.`:`Look up an exact slug with ${t.slugLookup}, or omit icon.`:"This Sketchi runtime has no icon catalog; omit icon or retry on a host with logos."}}function rf(e,t,a={noun:"node",path:"nodes"}){let s=[],l=e.map(e=>{if(!e.icon)return e;let l=rh(e.icon.slug);if(u(l)&&t?.get(l))return{...e,icon:{slug:l}};s.push(ru({catalog:t,message:`Icon "${e.icon.slug}" on ${a.noun} "${e.id}" is not a Sketchi node logo; the ${a.noun} renders without a logo.`,ref:{kind:"node",id:e.id,path:`${a.path}.icon.slug`},slug:l}));let{icon:i,...o}=e;return o});return{issues:s,nodes:l}}let rv=o.fn("codeMode.icons.embedScene")(function*(e,t){let a=e.elements.map(e=>"node"===e.type&&e.icon?{...e,icon:{...e.icon,slug:rh(e.icon.slug)}}:e),s=new Map([...new Set(a.flatMap(e=>"node"===e.type&&e.icon?[e.icon.slug]:[]))].flatMap(e=>{let a=u(e)?t?.get(e):void 0;return a?[[e,a]]:[]})),l=new Map((yield*o.jJl([...s.values()],e=>t?t.loadSvg(e).pipe(o.TjK(e=>(0,o9.Bn)(e)),o.TjK(t=>[e.slug,{name:e.name,svg:t}]),o.Tyx(t=>o.FFw("Code Mode icon asset unavailable",{slug:e.slug,cause:t}).pipe(o.as(void 0)))):o.PyW(void 0),{concurrency:8})).flatMap(e=>e?[e]:[])),i=function(e,t){let a=new Map,s=[],l=eK(e),i=eQ(e,l),o=0,r=e.elements.map((e,r)=>{if("node"!==e.type||!e.icon)return e;let n=e.icon,c=t=>(s.push({elementId:e.id,index:r,reason:t,slug:n.slug}),function(e){let{icon:t,...a}=e;return a}(e)),d=a.get(n.slug),p=d??(u(n.slug)?t(n.slug):void 0);if("string"!=typeof p?.svg||e$(p.svg)>eZ.maxAssetBytes)return c("unavailable");if(e.rendererRole)return c("lifeline");if("polygon"!==e.shape&&l(e)){let t=i.get(e.id)?.element;if(e1(e,t,n)&&!e1(e,t,void 0))return c("no_room")}if(!d){let e=e$(p.svg);if(o+e>eZ.maxTotalAssetBytes)return c("budget");o+=e,a.set(n.slug,{name:p.name,svg:p.svg})}return e}),{icons:n,...c}=e;return{dropped:s,scene:a.size>0?{...c,elements:r,icons:Object.fromEntries(a)}:{...c,elements:r}}}({...e,elements:a},e=>l.get(e));return{issues:i.dropped.map(e=>(function(e){let{dropped:t}=e,a={kind:"element",id:t.elementId,path:`elements[${t.index}].icon${"unavailable"===t.reason?".slug":""}`},s=`Icon "${t.slug}" on node "${t.elementId}"`;if("unavailable"===t.reason&&!e.known)return ru({catalog:e.catalog,message:`${s} is not a Sketchi node logo; the node renders without a logo.`,ref:a,slug:t.slug});let l=e.element?.type==="node"?eJ(e.element.icon):0,i={budget:{message:`${s} exceeds the per-diagram logo budget; the node renders without a logo.`,hint:"Use fewer distinct logos in one diagram."},lifeline:{message:`Sequence lifeline or activation "${t.elementId}" cannot carry a logo; the logo was dropped.`,hint:"Put logos on nodes or sequence participants, not on lifelines."},no_room:{message:`${s} does not fit above its label; the node renders without a logo.`,hint:`Make node "${t.elementId}" about ${l}px taller or shorten its label to keep the logo.`},unavailable:{message:`${s} could not be loaded; the node renders without a logo.`,hint:"Retry the request; if the logo stays unavailable, omit icon."}}[t.reason];return{code:"icon_dropped",severity:"warning",stage:"input",ref:a,message:i.message,hint:i.hint}})({catalog:t,dropped:e,element:a[e.index],known:s.has(e.slug)})),scene:i.scene}}),rm=/^(node|step|item|box|thing|process|task)\s*\d*$/i,ry=/^(diagram|untitled|flowchart|chart|sketch)$/i;function rw(e){return e.map(e=>({kind:"node",id:e.id}))}function rx(e){if(void 0===e)return;let t=tB(e);return t.length>0?t:void 0}let rb=["excalidraw","scene"],rk=["scene"],rM=oR("sketchi_codemode_requests",{description:"Code Mode boundary requests by terminal outcome",incremental:!0}),rC=oR("sketchi_codemode_failures",{description:"Code Mode boundary failures by typed status",incremental:!0}),rz=oR("sketchi_codemode_artifacts",{description:"Code Mode artifacts accepted at workflow boundaries",incremental:!0}),r_=new class e extends oZ{type="Histogram";#l;constructor(e,t){super(e,t?.description,oJ(t?.attributes)),this.#l=t.boundaries}createHooks(){let e=this.#l,t=e.length,a=new Uint32Array(t+1),s=new Float64Array(t),l=0,i=0,o=Number.MAX_VALUE,r=-Number.MAX_VALUE;return oS.Tj(oS.di(e,oI.wN),(e,t)=>{s[t]=e}),oN(()=>({buckets:(()=>{let e=oS.CN(t),l=0;for(let i=0;i<t;i++){let t=s[i];l+=a[i],e[i]=[t,l]}return e})(),count:l,min:o,max:r,sum:i}),e=>{let n=0,c=t;for(;n!==c;){let t=Math.floor(n+(c-n)/2);e<=s[t]?c=t:n=t,c===n+1&&(e<=s[n]?c=n:n=c)}a[n]=a[n]+1,l+=1,i+=e,e<o&&(o=e),e>r&&(r=e)})}}("sketchi_codemode_duration_ms",{description:"Code Mode boundary duration in milliseconds",boundaries:(s=[1,5,10,25,50,100,250,500,1e3,2500,5e3,1e4],oS.BC(oS.pb(new Set(s),e=>e>0),1/0))});class rL extends i.kl()("@sketchi/diagram-agent/CodeModeRuntimeEnvironment"){}function rB(e={}){return n.Py(rL,{createId:e.createId??r$,...e.icons?{icons:e.icons}:{},...e.renderer?{renderer:e.renderer}:{},...e.artifactUrl?{artifactUrl:e.artifactUrl}:{}})}function rA(e){return null===e||"object"!=typeof e||Array.isArray(e)?void 0:Object.fromEntries(Object.entries(e))}function rP(e){return{...e,type:"timeline"}}function rS(e){return{id:e.id,title:e.title,type:"sequence",participants:e.participants,messages:e.messages,style:e.style}}n.Py(rL,{createId:r$});let rV={sequence_too_large:"sequence_too_large",duplicate_participant_id:"duplicate_node_id",lifeline_id_collision:"duplicate_node_id",duplicate_message_id:"duplicate_edge_id",missing_message_source:"missing_edge_source",missing_message_target:"missing_edge_target",self_message:"self_loop"},rH={missing_message_source:"Use the id of a participant declared in spec.participants.",missing_message_target:"Use the id of a participant declared in spec.participants."};class rq extends l.rNF()("CodeModeArtifactRenderFailed",{cause:l.kld(),message:l.QfV}){}class rF extends l.rNF()("CodeModeArtifactRendererNotConfigured",{message:l.QfV}){}let rI=l._kM({issues:l.O31(l.O3D(ai)).pipe(l.fXn)});class rU extends l.rNF()("ArtifactExportFailure",{status:l.uSQ("export_failed"),issues:rI.fields.issues}){}class rO extends l.rNF()("ArtifactStorageFailure",{status:l.uSQ("storage_failed"),cause:l.kld(),issues:rI.fields.issues}){}function rE(e,t,a){class s extends l.rNF()(e,{message:l.QfV,status:t,context:a}){constructor(e){super({...e,message:e.context.issues[0]?.message??e.status},{disableChecks:!0})}}return s}let rX=rE("BuildFlowchartFailure",s4.fields.status,s4.mapFields(({ok:e,status:t,...a})=>({...a,...rI.fields}))),rY=rE("BuildMindmapFailure",s7.fields.status,s7.mapFields(({ok:e,status:t,...a})=>({...a,...rI.fields}))),rZ=rE("BuildSequenceDiagramFailure",s9.fields.status,s9.mapFields(({ok:e,status:t,...a})=>({...a,...rI.fields}))),rG=rE("BuildTimelineFailure",lt.fields.status,lt.mapFields(({ok:e,status:t,...a})=>({...a,...rI.fields}))),rT=rE("CreateCanvasFailure",lr.fields.status,lr.mapFields(({ok:e,status:t,...a})=>({...a,...rI.fields}))),rD=rE("GetArtifactFailure",ls.fields.status,ls.mapFields(({ok:e,status:t,...a})=>({...a,...rI.fields}))),rR=rE("SearchIconsFailure",lf.fields.status,lf.mapFields(({ok:e,status:t,...a})=>({...a,...rI.fields}))),rj=rE("ApplyDiagramPatchFailure",li.fields.status,li.mapFields(({ok:e,status:t,...a})=>({...a,...rI.fields})));function r$(e){return`${e}_${globalThis.crypto.randomUUID()}`}function rN(e){return{code:e.code,severity:e.severity??"error",stage:e.stage,...e.ref?{ref:e.ref}:{},message:e.message,hint:e.hint}}function rW(e){return 0===e.length?"input":e.map(e=>"number"==typeof e?`[${e}]`:String(e)).join(".")}function rJ(e){let t=rW(e.path);return rK(t)?"unsupported_patch_operation":"InvalidType"===e.issueTag||"MissingKey"===e.issueTag&&"invalid_type"===e.missingKeyCode?"invalid_type":"LiteralUnion"===e.astKind&&"AnyOf"===e.issueTag?"invalid_enum":t.toLowerCase().includes("color")?"invalid_color":"input"===t?"invalid_type":"missing_field"}function rK(e){return/^operations\.\[\d+\]\.op$/.test(e)}function rQ(e){let t=e.issues.slice(0,20).map(e=>{let t=rW(e.path);return rN({code:rJ(e),stage:"input",ref:{kind:"request",path:t},message:e.message,hint:rK(t)?`Use one of: ${an.join(", ")}. For label edits, use replaceText with selector plus text.`:"source"===t?"Pass source: { artifactId } from an accepted build or patch, or source: { scene } for inline Sketchi scene patching.":`Fix ${t} so it matches the Code Mode API contract.`})});return e.issues.length>20&&t.push(rN({code:"invalid_type",stage:"input",ref:{kind:"request",path:"input"},message:`${e.issues.length-20} additional input issues were omitted.`,hint:"Fix the summarized request shape before retrying."})),t}function r1(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,48)}function r0(e){if(void 0===e)return;let t=tB(e);return t.length>0?t:void 0}function r2(e){return e.checks.map(e=>{var t;return rN({code:"generic_label"===(t=e.code)||"label_too_long"===t||"disconnected_graph"===t?t:"quality_below_threshold",severity:e.severity,stage:"quality",message:e.message,hint:"error"===e.severity?"Repair the structural issue and call buildFlowchart again.":"Improve the labels or scope before styling the artifact."})})}function r3(e){return e?.artifactFormats??rb}function r5(e){return e?.inlineArtifacts??rk}let r4=o.fn("codeMode.artifacts.exportFormats")(function*(e){let t=[];for(let i of e.formats){var a,s,l;let r=yield*(a=e,"scene"===(s=i)?o.PyW(a.scene):"excalidraw"===s?o.PyW(function(e,t={}){return{type:"excalidraw",version:2,source:t.source??"https://sketchi.app",elements:e.elements,appState:e.appState,files:e.files??{}}}(a.excalidraw)):a.renderer?a.renderer.renderPng({scene:a.scene,excalidraw:a.excalidraw}).pipe(o.xm_(e=>rq.make({cause:e,message:e.message}))):o.fJG(rF.make({message:"PNG artifact rendering is not configured for this runtime."})));t.push({format:i,mimeType:lw[i],data:r,sizeBytes:(l=r)instanceof ArrayBuffer||l instanceof Uint8Array?l.byteLength:lk(l)})}return t});function r6(e){return e.map(e=>rN({code:"overlapping-arrow-segment"===e.code?"arrow_overlap":"text-overflow"===e.code?"text_overflow":e.code.includes("binding")||e.code.includes("bound")||e.code.includes("endpoint")?"arrow_binding_invalid":"export_invalid_scene",stage:"export",ref:e.elementId?{kind:"artifact",id:e.elementId}:{kind:"artifact"},message:e.message,hint:"Inspect the rendered scene and retry with a simpler layout or patch."}))}function r7(e){return e.slice(0,20).map(e=>rN({code:function(e){switch(e.code){case"duplicate_element_id":return"duplicate_element_id";case"duplicate_layer_id":return"duplicate_layer_id";case"empty_canvas":case"invalid_geometry":case"label_overflow":return"invalid_canvas_geometry";case"invalid_binding":return"invalid_canvas_binding";case"invalid_composition":return"invalid_canvas_composition";case"invalid_icon":return"invalid_canvas_icon";case"invalid_polygon":return"invalid_polygon";case"limit_exceeded":return"canvas_limit_exceeded";case"missing_z_order_element":case"duplicate_z_order_element":case"unknown_z_order_element":return"invalid_z_order";case"unknown_layout_target":return"unknown_layout_target"}}(e),stage:"canvas",ref:e.elementId?{kind:"element",id:e.elementId,path:e.path}:{kind:"diagram",path:e.path},message:e.message,hint:"Repair the referenced CanvasSpec field and call createCanvas again."}))}function r8(e){return r6(e.filter(e=>"overlapping-arrow-segment"!==e.code&&"arrow-segment-through-node"!==e.code))}function r9(e){let t=[];for(let s of e.elements){if("arrow"===s.type){let e=s.points[0],a=s.points[1],l=s.points.slice(2);if(!e||!a)return null;let i=[e,a,...l];t.push({...s,type:"arrow",id:s.id,edgeId:s.edgeId,sourceNodeId:s.sourceNodeId,targetNodeId:s.targetNodeId,...s.strokeColor?{strokeColor:s.strokeColor}:{},...s.strokeStyle?{strokeStyle:s.strokeStyle}:{},...s.textColor?{textColor:s.textColor}:{},points:i,...s.label?{label:s.label}:{}});continue}if("node"===s.type){var a;let l=s.points;if("polygon"===s.shape&&(!l||!l[0]||!l[1]||!l[2]))return null;t.push({type:"node",id:s.id,nodeId:s.nodeId,...s.kind?{kind:s.kind}:{},...s.icon?{icon:{slug:s.icon.slug,size:s.icon.size}}:{},shape:s.shape,...s.fillColor?{fillColor:s.fillColor}:{},...s.strokeColor?{strokeColor:s.strokeColor}:{},x:s.x,y:s.y,width:s.width,height:s.height,label:s.label,...s.frameId?{frameId:s.frameId}:{},...s.groupIds?{groupIds:[...s.groupIds]}:{},...s.layerId?{layerId:s.layerId}:{},...void 0!==s.locked?{locked:s.locked}:{},...void 0!==s.opacity?{opacity:s.opacity}:{},...void 0!==s.zIndex?{zIndex:s.zIndex}:{},...s.fillStyle?{fillStyle:s.fillStyle}:{},...void 0!==s.roughness?{roughness:s.roughness}:{},...s.strokeStyle?{strokeStyle:s.strokeStyle}:{},...void 0!==s.strokeWidth?{strokeWidth:s.strokeWidth}:{},..."sequence-lifeline"===s.rendererRole&&oP(e,s)||"sequence-activation"===s.rendererRole&&function(e,t){let a=`${ey}:activation:`,s=t.nodeId.indexOf(a);if(s<=0||s+a.length===t.nodeId.length||t.id!==`node:${t.nodeId}`||"rectangle"!==t.shape||12!==t.width)return!1;let l=t.nodeId.slice(0,s+ey.length),i=e.elements.find(e=>"node"===e.type&&e.id===`node:${l}`&&e.nodeId===l);if(!i||!oP(e,i))return!1;let o=i.x+i.width/2,r=(t.x-(o-6))/6,n=e.elements.filter(e=>"node"===e.type&&e.nodeId.startsWith(`${l}:activation:`)).length;return r>=-.01&&.01>=Math.abs(r-Math.round(r))&&Math.round(r)<n&&t.y>=i.y-.01&&t.y+t.height<=i.y+i.height+.01}(e,s)||"timeline-marker"===s.rendererRole&&(a=s).nodeId.startsWith("event:")&&a.id===`node:${a.nodeId}`&&a.height<=18&&void 0===a.icon?{rendererRole:s.rendererRole}:{},...s.textColor?{textColor:s.textColor}:{},..."polygon"===s.shape&&l?.[0]&&l[1]&&l[2]?{points:[l[0],l[1],l[2],...l.slice(3)]}:{}});continue}if("line"===s.type){let e=s.points[0],a=s.points[1];if(!e||!a)return null;t.push({...s,points:[e,a,...s.points.slice(2)]});continue}t.push(structuredClone(s))}return{kind:e.kind,version:e.version,diagramId:e.diagramId,title:e.title,width:e.width,height:e.height,accentColor:e.accentColor,backgroundColor:e.backgroundColor,elements:t,layers:structuredClone(e.layers),layouts:structuredClone(e.layouts),zOrder:[...e.zOrder]}}function ne(e){return structuredClone(e)}function nt(e){return e.elements.flatMap(e=>"arrow"===e.type?[`arrow:${e.id}:${e.sourceNodeId}->${e.targetNodeId}`]:"line"===e.type?[`line:${e.id}:${e.startBinding?.elementId??""}->${e.endBinding?.elementId??""}`]:[]).sort()}function na(e){return e.elements.filter(e=>"node"===e.type)}function ns(e){return e.elements.filter(e=>"text"===e.type)}function nl(e){return e.elements.filter(e=>"arrow"===e.type)}function ni(e,t){if(!e||0===e.length||!t)return!1;let a=t.trim().toLowerCase();return e.some(e=>e.trim().toLowerCase()===a)}function no(e,t){let a=t?.scope??"all",s=!!(t&&((t.ids?.length??0)>0||(t.nodeIds?.length??0)>0||(t.edgeIds?.length??0)>0||(t.kinds?.length??0)>0||(t.labels?.length??0)>0)),l=new Set(t?.ids??[]),i=new Set(t?.nodeIds??[]),o=new Set(t?.edgeIds??[]),r=new Set(t?.kinds??[]),n=na(e).filter(e=>"edges"!==a&&(!t||!s||l.has(e.id)||i.has(e.nodeId)||!!e.kind&&[...r].some(t=>t===e.kind)||ni(t.labels,e.label))),c=nl(e).filter(e=>"nodes"!==a&&(!t||!s||l.has(e.id)||o.has(e.edgeId)||ni(t.labels,e.label))),d=new Set(n.map(e=>e.id)),p=new Set(c.map(e=>e.id));return{arrows:c,nodes:n,texts:ns(e).filter(e=>t&&s?l.has(e.id)||!!e.containerId&&d.has(e.containerId)||!!e.containerId&&p.has(e.containerId)||ni(t.labels,e.text):"nodes"===a?!!e.containerId&&d.has(e.containerId):"edges"!==a||!!e.containerId&&p.has(e.containerId))}}function nr(e){return rN({code:"unknown_patch_target",stage:"flowchart",ref:{kind:"request",path:"operations.selector"},message:`Patch operation "${e.op}" did not match any scene element.`,hint:"Use nodeIds, edgeIds, ids, kinds, labels, or scope values that exist in the accepted artifact."})}function nn(e,t){return ns(e).find(e=>e.containerId===t||e.id===`${t}:label`)}function nc(e,t){let a=new Set(t);for(let t of nl(e))(a.has(t.sourceNodeId)||a.has(t.targetNodeId))&&ng(e,t)}function nd(e){return{x:e.x+e.width/2,y:e.y+e.height/2}}function np(e,t,a){let s=nd(e),l=nd(t),i=l.x-s.x,o=l.y-s.y;return 0===i&&0===o?{x:s.x,y:"source"===a?e.y+e.height:e.y}:Math.abs(i)>Math.abs(o)?i>=0?{x:e.x+e.width,y:s.y}:{x:e.x,y:s.y}:o>=0?{x:s.x,y:e.y+e.height}:{x:s.x,y:e.y}}function ng(e,t){let a=new Map(na(e).map(e=>[e.nodeId,e])),s=a.get(t.sourceNodeId),l=a.get(t.targetNodeId);if(!s||!l)return[rN({code:"patch_output_invalid",stage:"render",ref:{kind:"edge",id:t.edgeId},message:`Arrow "${t.id}" references a node that is not in the scene.`,hint:"Rebuild the diagram with buildFlowchart or buildMindmap before applying visual patches."})];let i=np(s,l,"source"),o=np(l,s,"target");if(Math.abs(o.y-i.y)>=Math.abs(o.x-i.x)){let e=(i.y+o.y)/2;t.points=[i,{x:i.x,y:e},{x:o.x,y:e},o]}else{let e=(i.x+o.x)/2;t.points=[i,{x:e,y:i.y},{x:e,y:o.y},o]}return!function(e,t){let a=nn(e,t.id),s=function(e){let t=e[0],a=e[e.length-1];if(t&&a)return{x:(t.x+a.x)/2,y:(t.y+a.y)/2-10}}(t.points);if(a&&!a.containerId){let e=t.points[0];if(!e)return;let s=t.points.find(t=>t.x!==e.x||t.y!==e.y);if(!s)return;let l=eX(a.text,a.maxWidth??160,a.fontSize),i=eO(l,a.fontSize,a.maxWidth??160),o=Math.ceil(l.split("\n").length*a.fontSize*1.35);a.x=(e.x+s.x)/2+(e.x===s.x?i/2+8:0),a.y=(e.y+s.y)/2-(e.y===s.y?o/2+5:0);return}a&&s&&(a.x=s.x,a.y=s.y)}(e,t),[]}function nh(e){let t=e.width,a=e.height;for(let s of e.elements)if("arrow"===s.type||"line"===s.type)for(let e of s.points)t=Math.max(t,e.x),a=Math.max(a,e.y);else"text"===s.type?(t=Math.max(t,s.x+(s.maxWidth??0)),a=Math.max(a,s.y+s.fontSize)):(t=Math.max(t,s.x+s.width),a=Math.max(a,s.y+s.height));e.width=t+48,e.height=a+48}function nu(e,t,a){if(!t||!a){if(t){let a=e.indexOf(t);return a>=0?a:void 0}if(a){let t=e.indexOf(a);return t>=0?t+1:void 0}return e.length}}function nf(e,t){return[rN({code:"patch_output_invalid",stage:"canvas",ref:{kind:"request",path:"operations"},message:t,hint:`Repair the ${e.op} operation and preserve unique, stable element ids.`})]}let nv=o.fn("codeMode.patch.resolveSource")(function*(e){if("scene"in e.source)return{scene:ne(e.source.scene)};let t=yield*ly,a=yield*t.readManifest(e.source.artifactId).pipe(o.xm_(e=>new rj({status:"storage_failed",context:{issues:[lC(e.message,"storage_read_failed")]}})));if(!a||a.artifactId!==e.source.artifactId||!a.formats.some(e=>"scene"===e.format))return yield*new rj({status:"source_unavailable",context:{issues:[rN({code:"patch_source_unavailable",stage:"storage",ref:{kind:"artifact",id:e.source.artifactId},message:`Artifact "${e.source.artifactId}" does not have a valid source manifest.`,hint:"Rebuild with the appropriate build operation and patch the accepted artifact id."})]}});let s=yield*t.read(e.source.artifactId,"scene").pipe(o.xm_(e=>new rj({status:"storage_failed",context:{issues:[lC(e.message,"storage_read_failed")]}})));if(!s)return yield*new rj({status:"source_unavailable",context:{issues:[rN({code:"patch_source_unavailable",stage:"storage",ref:{kind:"artifact",id:e.source.artifactId},message:`Scene artifact "${e.source.artifactId}" is not available.`,hint:"Call buildFlowchart or buildMindmap first, then patch the accepted artifact id."})]}});let i=l.q$Z(sy,{errors:"all",reportInput:!0})(s.data);return o8.oJ(i)?{scene:ne(i.success),sourceArtifactId:e.source.artifactId}:yield*new rj({status:"source_unavailable",context:{issues:[rN({code:"patch_source_unavailable",stage:"storage",ref:{kind:"artifact",id:e.source.artifactId},message:`Scene artifact "${e.source.artifactId}" could not be decoded.`,hint:"Rebuild with the appropriate build operation and patch the new artifact."})]}})});function nm(e){return e?{requestId:e}:{}}function ny(e){return{diagramId:e.diagramId,formats:[{format:"scene",mimeType:lw.scene,inline:e,sizeBytes:lk(e)}]}}function nw(e){return{ok:!1,status:e.status,...e.context}}function nx(e,t){return lC(e.message,t)}let nb=o.fn("codeMode.artifacts.exportAndStore")(function*(e){let t=yield*rL,a=yield*ly,{excalidraw:s,validation:l}=yield*o.OH5(()=>{let t=function(e){let t,a,s,l,i,o,r,n=(t=new Map(e.layers.map(e=>[e.id,e])),s=new Set((a=e.elements.filter(e=>{let a=e.layerId?t.get(e.layerId):void 0;return a?.visible!==!1})).flatMap(e=>"node"===e.type?[e.nodeId]:[])),i=new Set((l=a.filter(e=>"arrow"!==e.type||s.has(e.sourceNodeId)&&s.has(e.targetNodeId))).flatMap(e=>"text"===e.type?[]:[e.id])),r=new Set((o=l.filter(e=>"text"!==e.type||!e.containerId||i.has(e.containerId))).map(e=>e.id)),o.map(e=>{let a=e.layerId?t.get(e.layerId):void 0,{frameId:s,...l}=e;return{...e.frameId&&!r.has(e.frameId)?l:e,...a?.locked===!0?{locked:!0}:{}}})),{textElements:c,generatedLabelSourceIds:d}=function(e){let t=e.filter(l1),a=e.filter(l0),s=new Set(e.map(e=>e.id)),l=new Map,i=new Set(a.flatMap(e=>e.containerId?[e.containerId]:[]));for(let e of t){if(i.has(e.id)||e.rendererRole)continue;let t=`__sketchi_node_label__${e.id}`,o=t,r=2;for(;s.has(o);)o=`${t}:${r}`,r+=1;s.add(o),l.set(o,e.id),a.push({type:"text",id:o,containerId:e.id,...e.frameId?{frameId:e.frameId}:{},...e.groupIds?{groupIds:[...e.groupIds]}:{},...e.layerId?{layerId:e.layerId}:{},...void 0!==e.locked?{locked:e.locked}:{},...void 0!==e.opacity?{opacity:e.opacity}:{},...e.textColor?{textColor:e.textColor}:{},x:e.x+e.width/2,y:e.y+e.height/2,text:e.label,fontSize:16,maxWidth:Math.max(1,e.width-24)})}return{textElements:a,generatedLabelSourceIds:l}}(n),p={},g=new Map(d),h=function(e,t,a,s,l){var i,o,r,n;let c=t.filter(l1),d=new Set([...t.map(e=>e.id),...a.map(e=>e.id)]),p=new Map,g=new Map;for(let e of a)e.containerId&&g.set(e.containerId,e);let h=t.filter(l2),u=t.filter(l3),f=function(e,t,a){let s=new Map,l=new Map(e.map(e=>[e.nodeId,e.id]));for(let e of t)for(let t of[e.sourceNodeId,e.targetNodeId]){let a=l.get(t);a&&s.set(a,[...s.get(a)??[],e.id])}for(let e of a)for(let t of[e.startBinding,e.endBinding])t&&s.set(t.elementId,[...s.get(t.elementId)??[],e.id]);return s}(c,h,u),v=new Map,m=[];for(let t of c){let a=g.get(t.id),n=function(e){let t=e.shape.height,a="circle"===e.shape.shape?"ellipse":e.shape.shape,s=[...e.text&&"polygon"!==e.shape.shape?[{id:e.text.id,type:"text"}]:[],...e.arrowIds.map(e=>({id:e,type:"arrow"}))];if("polygon"===e.shape.shape){let t=e.shape.points??[{x:e.shape.width/2,y:0},{x:e.shape.width,y:e.shape.height},{x:0,y:e.shape.height}],[a]=t;return{...lN(e.shape.id,e.shape),type:"line",x:e.shape.x,y:e.shape.y,width:e.shape.width,height:e.shape.height,backgroundColor:e.shape.fillColor??"transparent",boundElements:e.arrowIds.map(e=>({id:e,type:"arrow"})),customData:{sketchiShape:"polygon"},endArrowhead:null,endBinding:null,lastCommittedPoint:null,points:[...t,a].map(e=>[e.x,e.y]),roundness:null,startArrowhead:null,startBinding:null,strokeColor:e.shape.strokeColor??e.scene.accentColor}}return{...lN(e.shape.id,e.shape),type:a,x:e.shape.x,y:e.shape.y,width:e.shape.width,height:t,backgroundColor:e.shape.fillColor??"transparent",boundElements:s.length>0?s:null,roundness:"rectangle"===a?{type:3}:null,strokeColor:e.shape.strokeColor??e.scene.accentColor,...e.shape.rendererRole?{customData:{sketchiRendererRole:e.shape.rendererRole}}:{}}}({scene:e,shape:t,arrowIds:f.get(t.id)??[],...a?{text:a}:{}});v.set(t.nodeId,n),m.push(n);let c=t.icon&&e.icons&&Object.hasOwn(e.icons,t.icon.slug)?e.icons[t.icon.slug]:void 0;if(!t.icon||"string"!=typeof c?.svg)continue;let h=(i=t.icon.slug,o=c.svg,`sketchi-icon-${i}-${tl(o,"hex","utf16")}`),u=function(e,t){let a=`${e.id.replace(/[^\w-]/gu,"-")}-icon`,s=a,l=2;for(;t.has(s);)s=`${a}-${l}`,l+=1;return t.add(s),s}(t,d),y=function(e){let t=function(e){if(!e.icon)return;let t=eN(e);return{x:e.x+(e.width-e.icon.size)/2,y:e.y+t.y+eZ.gap,width:e.icon.size,height:e.icon.size}}(e.node);return t&&e.node.icon?{...lN(e.id,e.node),groupIds:[lJ(e.node),...e.node.groupIds??[]],type:"image",x:t.x,y:t.y,width:t.width,height:t.height,backgroundColor:"transparent",boundElements:null,crop:null,customData:{sketchiNodeIcon:e.node.icon.slug},fileId:e.fileId,roundness:null,scale:[1,1],status:"saved",strokeColor:"transparent"}:null}({fileId:h,id:u,node:t});y&&(s[h]??=(r=c.svg,{id:h,mimeType:"image/svg+xml",dataURL:`data:image/svg+xml;base64,${function(e){let t=new TextEncoder().encode(e),a="";for(let e=0;e<t.length;e+=32768)a+=String.fromCharCode(...t.subarray(e,e+32768));return btoa(a)}(r)}`,created:1,lastRetrieved:1}),n.groupIds=[lJ(t),...t.groupIds??[]],l.set(u,t.id),p.set(t.id,t),m.push(y))}for(let a of t.filter(l5)){let t={...lN((n={element:a,scene:e}).element.id,n.element),type:"frame",x:n.element.x,y:n.element.y,width:n.element.width,height:n.element.height,backgroundColor:n.element.fillColor??"transparent",boundElements:null,name:n.element.name??null,roundness:null,strokeColor:n.element.strokeColor??n.scene.accentColor},s=f.get(a.id)??[];t.boundElements=s.length?s.map(e=>({id:e,type:"arrow"})):null,m.push(t)}for(let e of a){let t=c.find(t=>t.id===e.containerId&&"polygon"!==t.shape),a=h.some(t=>t.id===e.containerId),s=h.find(t=>e.id===`${t.id}:label`),l=e.containerId&&(t||a),i=e.textColor??s?.textColor,o=lW({...t?{container:t}:{},element:e,id:e.id,...l?{containerId:e.containerId}:{},fontSize:e.fontSize,maxWidth:e.maxWidth??160,...i?{textColor:i}:{},text:e.text,wrap:a||!!s,x:e.x,y:e.y}),r=t?p.get(t.id):void 0;r&&(o.groupIds=[lJ(r),...e.groupIds??[]]),m.push(o)}for(let t of h){let s=g.get(t.id)??a.find(e=>e.id===`${t.id}:label`);m.push(function(e){let t=e.arrow.points[0],a=lK(e.arrow),s=e.arrow.points.length>2;return{...lN(e.arrow.id,e.arrow),type:"arrow",x:t.x,y:t.y,width:a.x-t.x,height:a.y-t.y,backgroundColor:"transparent",boundElements:e.text?e.text.containerId===e.arrow.id?[{id:e.text.id,type:"text"}]:null:e.arrow.label?[{id:`${e.arrow.id}:label`,type:"text"}]:null,elbowed:s,endArrowhead:void 0===e.arrow.endArrowhead?"arrow":e.arrow.endArrowhead,endBinding:l$(e.targetShape,a),...s?{fixedSegments:[],startIsSpecial:null,endIsSpecial:null}:{},points:e.arrow.points.map(e=>[e.x-t.x,e.y-t.y]),roundness:s?null:{type:2},startArrowhead:e.arrow.startArrowhead??null,startBinding:l$(e.sourceShape,t),strokeColor:e.arrow.strokeColor??e.scene.accentColor,strokeStyle:e.arrow.strokeStyle??"solid"}}({arrow:t,scene:e,sourceShape:v.get(t.sourceNodeId),targetShape:v.get(t.targetNodeId),...s?{text:s}:{}}));let l=t.label&&!s?function(e){if(!e.arrow.label)return null;let t=e.arrow.points[0],a=lK(e.arrow);return lW({id:`${e.arrow.id}:label`,containerId:e.arrow.id,fontSize:13,...void 0===e.arrow.locked?{}:{locked:e.arrow.locked},maxWidth:160,...e.arrow.textColor?{textColor:e.arrow.textColor}:{},text:e.arrow.label,wrap:!0,x:(t.x+a.x)/2,y:(t.y+a.y)/2-10})}({arrow:t}):null;l&&m.push(l)}let y=new Map(m.map(e=>[e.id,e]));for(let t of u)if(m.push(function(e){let[t,...a]=e.element.points,s=a[a.length-1]??t,l=void 0!==e.element.startArrowhead||void 0!==e.element.endArrowhead||void 0!==e.element.startBinding||void 0!==e.element.endBinding,i=l&&e.element.points.length>2;return{...lN(e.element.id,e.element),type:l?"arrow":"line",x:t.x,y:t.y,width:s.x-t.x,height:s.y-t.y,backgroundColor:e.element.fillColor??"transparent",boundElements:null,...l?{elbowed:i}:{},endArrowhead:e.element.endArrowhead??null,endBinding:lQ(e.element.endBinding,e.elementsById,s),...i?{fixedSegments:[],startIsSpecial:null,endIsSpecial:null}:{},points:e.element.points.map(e=>[e.x-t.x,e.y-t.y]),roundness:e.element.points.length>2&&!i?{type:2}:null,startArrowhead:e.element.startArrowhead??null,startBinding:lQ(e.element.startBinding,e.elementsById,t),strokeColor:e.element.strokeColor??e.scene.accentColor}}({element:t,elementsById:y,scene:e})),t.label){let e=t.points[0],a=t.points[t.points.length-1]??e;m.push(lW({id:`${t.id}:label`,fontSize:13,...void 0===t.locked?{}:{locked:t.locked},maxWidth:160,...t.textColor?{textColor:t.textColor}:{},text:t.label,wrap:!0,x:(e.x+a.x)/2,y:(e.y+a.y)/2-10}))}return m}(e,n,c,p,g),u=new Map(e.zOrder.map((e,t)=>[e,t])),f=e=>{if(u.has(e.id))return e.id;let t=g.get(e.id);return t||(e.id.endsWith(":label")?e.id.slice(0,-6):e.id)};h.sort((e,t)=>(u.get(f(e))??Number.MAX_SAFE_INTEGER)-(u.get(f(t))??Number.MAX_SAFE_INTEGER));let v=null;for(let e of h){let t=function(e,t,a,s){if(void 0!==s){var l=s;if(!lX.has(l)){if(l.length<2||l.length%2!=0||!lU(l))throw Error("intDigits must be an even number of at least 2 characters in strictly ascending character code order: "+l);if(!lO(l))throw Error("intDigits must be single-byte (char code 0-255): "+l);lX.add(l)}}else s=a??l_;if(void 0!==a){var i=a;if(!lE.has(i)){if(i.length<2||!lU(i))throw Error("digits must be at least 2 characters in strictly ascending character code order: "+i);if(!lO(i))throw Error("digits must be single-byte (char code 0-255): "+i);lE.add(i)}}else a=lz;let o=lB(a),r=lB(s);if(null!=e&&lH(e,a,s,r),null!=t&&lH(t,a,s,r),null!=e&&null!=t&&e>t){let a=e;e=t,t=a}if(null==e){if(null==t)return s[s.length/2]+a[0];let e=lV(t,s,r),l=t.slice(e.length);if(lI(e,a,s))return e+lA("",l,a,o);if(e<t)return e;let i=function(e,t,a,s,l){lP(e,s,l);let i=e[0],o=t[t.length-1],r="";for(let s=e.length-1;s>=1;s--){let l=a[e.charCodeAt(s)]-1;if(-1!==l)return i+e.slice(1,s)+t[l]+r;r=o+r}let n=l[i.charCodeAt(0)];if(0===n)return null;let c=s[n-1],d=lS(c,s,l)-lS(i,s,l);return c+(d>0?r+o:d<0?r.slice(1):r)}(e,a,o,s,r);if(null==i)throw Error("cannot decrement any more");return i}if(null==t){let t=lV(e,s,r),l=e.slice(t.length),i=lq(t,a,o,s,r);return null==i?t+lA(l,null,a,o):i}let n=lV(e,s,r),c=e.slice(n.length),d=lV(t,s,r),p=t.slice(d.length);if(n===d)return n+lA(c,p,a,o);let g=lq(n,a,o,s,r);if(null==g)throw Error("cannot increment any more");return g<t?g:n+lA(c,null,a,o)}(v,null);e.index=t,v=t}return{appState:{viewBackgroundColor:e.backgroundColor,zoom:{value:Math.max(.42,Math.round(100*Math.min(1,860/Math.max(e.width,1),340/Math.max(e.height,1)))/100)}},elements:h,files:p}}(e.scene);return{excalidraw:t,validation:function(e){let t=[],a=new Map(e.elements.map(e=>[e.id,e])),s=new Set(e.elements.filter(l7).map(e=>e.id));for(let l of(0===e.elements.length&&t.push({code:"empty-scene",message:"Excalidraw scene must contain at least one shape."}),e.elements)){if("image"!==l.type||"string"==typeof l.fileId&&e.files&&Object.hasOwn(e.files,l.fileId)||t.push({code:"missing-image-file",elementId:l.id,message:`Image "${l.id}" references a file missing from the scene.`}),"arrow"===l.type){let e=!0===l.elbowed;for(let i of((Array.isArray(l.points)?l.points:[]).length>2&&!e&&t.push({code:"invalid-elbow-binding",elementId:l.id,message:`Arrow "${l.id}" has an orthogonal route but is not marked elbowed.`}),e&&null!==l.fixedSegments&&!Array.isArray(l.fixedSegments)&&t.push({code:"invalid-elbow-binding",elementId:l.id,message:`Elbow arrow "${l.id}" is missing fixedSegments metadata.`}),["startBinding","endBinding"])){if(null===l[i]||void 0===l[i])continue;let o=l4(l,i);if(!(o&&s.has(o))){t.push({code:"missing-arrow-binding",elementId:l.id,message:`Arrow "${l.id}" has invalid ${i}.`});continue}let r=a.get(o);r&&!function(e,t,a){let s=e.boundElements;return!!Array.isArray(s)&&s.some(e=>!!(e&&"object"==typeof e)&&e.id===t&&e.type===a)}(r,l.id,"arrow")&&t.push({code:"missing-bound-arrow",elementId:r.id,message:`Shape "${r.id}" does not include bound arrow "${l.id}".`});let n=function(e,t){let a=lG(e.x)??0,s=lG(e.y)??0,l=Array.isArray(e.points)?e.points.map(lT).filter(e=>!!e):[],i="startBinding"===t?l[0]:l[l.length-1];return i?{x:a+i[0],y:s+i[1]}:null}(l,i);if(r&&n&&!function(e,t){let a=lD(t);if(!a)return!1;if("diamond"===t.type){let t=a.width/2,s=a.height/2;if(0===t||0===s)return!1;let l=a.x+t,i=a.y+s;return l9(Math.abs(e.x-l)/t+Math.abs(e.y-i)/s,1)}if("ellipse"===t.type){let t=a.width/2,s=a.height/2;if(0===t||0===s)return!1;let l=a.x+t,i=a.y+s;return l9(((e.x-l)/t)**2+((e.y-i)/s)**2,1)}let s=(l9(e.x,a.x)||l9(e.x,a.x+a.width))&&l8(e.y,a.y,a.y+a.height),l=(l9(e.y,a.y)||l9(e.y,a.y+a.height))&&l8(e.x,a.x,a.x+a.width);return s||l}(n,r)&&t.push({code:"arrow-endpoint-off-shape",elementId:l.id,message:`Arrow "${l.id}" ${i} endpoint does not land on "${r.id}".`}),r&&n&&e){let e=function(e,t){let a=e[t];return a&&"object"==typeof a?lT(a.fixedPoint):null}(l,i);e&&function(e,t,a){let s=lD(a);if(!s)return!1;let l=1e-4>Math.abs(e[0]-.5001)?.5:e[0],i=1e-4>Math.abs(e[1]-.5001)?.5:e[1];return l9(s.x+l*s.width,t.x)&&l9(s.y+i*s.height,t.y)}(e,n,r)||t.push({code:"invalid-elbow-binding",elementId:l.id,message:`Elbow arrow "${l.id}" has invalid ${i} fixedPoint metadata.`})}}}if("text"===l.type){let e=l.containerId;if("string"!=typeof e)continue;let s=a.get(e);if(!s){t.push({code:"missing-container",elementId:l.id,message:`Text "${l.id}" references missing container "${e}".`});continue}let i=("number"==typeof l.width?l.width:0)-("number"==typeof l.fontSize?l.fontSize:0),o="number"==typeof l.height?l.height:0,r="number"==typeof s.width?s.width:0,n="number"==typeof s.height?s.height:0;l7(s)&&(i+24>r||o+18>n)&&t.push({code:"text-overflow",elementId:l.id,message:`Text "${l.id}" does not fit inside "${e}".`})}}return t.push(...function(e){let t=e.filter(e=>"arrow"===e.type).flatMap(l6),a=e.filter(l7),s=new Map(e.flatMap(e=>"string"==typeof e.frameId?[[e.id,e.frameId]]:[])),l=[],i=new Set;for(let e of t)for(let t of a){if(function(e){let t=e.customData;if(null===t||"object"!=typeof t)return!1;let a=t.sketchiRendererRole;return eG.some(e=>e===a)}(t)||t.id===e.startBindingId||t.id===e.endBindingId||function(e,t,a){return"frame"===e.type&&[t.arrowId,t.startBindingId,t.endBindingId].some(t=>null!==t&&a.get(t)===e.id)}(t,e,s))continue;let a=lD(t);if(!a||!ta(e,a))continue;let o=`${e.arrowId}:${e.segmentIndex}:${t.id}`;i.has(o)||(i.add(o),l.push({code:"arrow-segment-through-node",elementId:e.arrowId,message:`Arrow "${e.arrowId}" passes through shape "${t.id}".`}))}return l}(e.elements)),t.push(...function(e){let t=e.filter(e=>"arrow"===e.type).flatMap(l6),a=[],s=new Set;for(let e=0;e<t.length;e+=1){let l=t[e];if(l)for(let i=e+1;i<t.length;i+=1){let e=t[i];if(!e||l.arrowId===e.arrowId||function(e,t){if(!ts(e,t))return!1;let a=e.isFirstSegment&&t.isFirstSegment&&null!==e.startBindingId&&e.startBindingId===t.startBindingId;return .01>=Math.abs((a?e.startCoordinate:e.endCoordinate)-(a?t.startCoordinate:t.endCoordinate))&&Math.sign(e.endCoordinate-e.startCoordinate)===Math.sign(t.endCoordinate-t.startCoordinate)}(l,e)||!tt(l,e))continue;let o=[l.arrowId,String(l.segmentIndex),e.arrowId,String(e.segmentIndex)].sort().join(":");s.has(o)||(s.add(o),a.push({code:"overlapping-arrow-segment",elementId:l.arrowId,message:`Arrow "${l.arrowId}" overlaps arrow "${e.arrowId}".`}))}}return a}(e.elements)),{ok:0===t.length,issues:t}}(t)}}).pipe(o.fRP("codeMode.artifacts.exportValidate")),i=e.validationIssues(l.issues);if(i.length>0)return yield*new rU({status:"export_failed",issues:i});let r=yield*r4({formats:e.formats,scene:e.scene,excalidraw:s,renderer:t.renderer}).pipe(o.xm_(e=>new rU({status:"export_failed",issues:[rN({code:"render_failed",stage:"export",..."CodeModeArtifactRendererNotConfigured"===e._tag?{ref:{kind:"artifact",path:"options.artifactFormats"}}:{},message:e.message,hint:"CodeModeArtifactRendererNotConfigured"===e._tag?"Use the hosted Studio Code Mode runtime with its Cloudflare Browser Run binding, or omit png from artifactFormats.":"Retry the request; if it keeps failing, inspect the configured renderer."})]}))),n=yield*o.OH5(()=>t.createId("artifact"));var c=yield*o6(a.write({artifactId:n,diagramId:e.scene.diagramId,formats:r,inlineFormats:e.inlineFormats,...e.provenance?{provenance:e.provenance}:{}}).pipe(o.fRP("codeMode.artifacts.store")),{artifactId:n,...e.requestId?{requestId:e.requestId}:{}}).pipe(o.xm_(e=>new rO({status:"storage_failed",cause:e,issues:[nx(e,"storage_write_failed")]}))),d=t.artifactUrl;if(!d)return c;let p=c.formats.map(e=>({...e,url:d({artifactId:c.artifactId,format:e.format})})),g=c.preview?p.find(e=>e.format===c.preview?.format):void 0;return{...c,formats:p,...g?{preview:g}:{}}}),nk=o.fn("codeMode.buildMindmap.workflow")(function*(e){var t,a;let s,i,r,n,c,d,p,g,h,u=function(e){let t=rA(rA(rA(e)?.spec)?.root);if(!t)return[];let a=[{depth:0,topic:t}],s=1;for(;a.length>0;){let e=a.pop();if(!e)continue;if(e.depth>8)return[rN({code:"mindmap_too_deep",stage:"mindmap",ref:{kind:"request",path:"spec.root.children"},message:"Mindmap depth exceeds the supported maximum of 8.",hint:"Combine overly deep topics into a shallower hierarchy."})];let t=e.topic.children;if(Array.isArray(t)){if((s+=t.length)>100)return[rN({code:"mindmap_too_large",stage:"mindmap",ref:{kind:"request",path:"spec.root"},message:"Mindmap exceeds the supported maximum of 100 topic slots.",hint:"Split this hierarchy into smaller focused mindmaps."})];for(let s=t.length-1;s>=0;s-=1){let l=rA(t[s]);l&&a.push({depth:e.depth+1,topic:l})}}}return[]}(e);if(u.length>0)return yield*new rY({status:"invalid_mindmap",context:{issues:u}});let f=l.q$Z(a2,{errors:"all",reportInput:!0})(e);if(!o8.oJ(f))return yield*new rY({status:"invalid_input",context:{issues:rQ(tH(f.failure))}});let v=yield*rL,m=f.success,w=yield*o.OH5(()=>v.createId("build")),x=(t=m.spec,s=(e,t)=>({id:`topic-${t.join("-")}`,label:tB(e.label),children:(e.children??[]).map((e,a)=>s(e,[...t,a]))}),i=tB(t.title),{id:r0(t.id)??(r1(i)||"sketchi-mindmap"),title:i,root:s(t.root,[0]),layout:{direction:t.layout.direction},style:{...y}}),b={buildId:w,...nm(m.requestId),normalizedSpec:x},k=(r=0,n=0,(c=(e,t)=>{r+=1,n=Math.max(n,t),e.children.forEach(e=>c(e,t+1))})(x.root,0),p=[],(d={count:r,depth:n}).count<2&&p.push(rN({code:"disconnected_graph",stage:"mindmap",ref:{kind:"diagram",id:x.id},message:"Mindmap root must contain at least one child topic.",hint:"Add one or more nested topics under spec.root.children."})),d.depth>8&&p.push(rN({code:"mindmap_too_deep",stage:"mindmap",ref:{kind:"diagram",id:x.id},message:`Mindmap depth ${d.depth} exceeds the supported maximum of 8.`,hint:"Combine overly deep topics into a shallower hierarchy."})),d.count>100&&p.push(rN({code:"mindmap_too_large",stage:"mindmap",ref:{kind:"diagram",id:x.id},message:`Mindmap has ${d.count} topics; the supported maximum is 100.`,hint:"Split this hierarchy into smaller focused mindmaps."})),p);if(k.length>0)return yield*new rY({status:"invalid_mindmap",context:{...b,issues:k}});let M=yield*o.SvU({try:()=>{let e,t,a;return e=[],t=[],(a=(s,l,i,o)=>{e.push({id:s.id,label:s.label,kind:0===l?"root":"topic",metadata:{depth:l,siblingIndex:i}}),o&&t.push({id:`branch-${s.id.slice(6)}`,source:o,target:s.id,metadata:{depth:l,siblingIndex:i}}),s.children.forEach((e,t)=>a(e,l+1,t,s.id))})(x.root,0,0),eu({id:x.id,title:x.title,type:"mindmap",nodes:e,edges:t,layout:{direction:x.layout.direction,edgeRouting:"curved"},style:{...y}})},catch:e=>new rY({status:"invalid_mindmap",context:{...b,issues:[rN({code:"disconnected_graph",stage:"mindmap",ref:{kind:"diagram",id:x.id},message:e instanceof Error?e.message:"Mindmap failed core validation.",hint:"Repair the nested topic hierarchy and call buildMindmap again."})]}})}),C=(a=m.options?.minQualityScore??8,{accepted:(h=Math.max(0,10-2*(g=M.nodes.filter(e=>/^(topic|branch|item|mindmap)$/i.test(e.label.trim()))).length))>=a,score:h,threshold:a,summary:{nodeCount:M.nodes.length,edgeCount:M.edges.length},checks:g.map(e=>({code:"generic_label",passed:!1,severity:"warning",message:`Topic "${e.label}" is too generic.`,refs:[{kind:"node",id:e.id}]}))}),z={...b,quality:C};if(!C.accepted)return yield*new rY({status:"quality_failed",context:{...z,issues:r2(C)}});let _=yield*o.SvU({try:()=>oA(M),catch:e=>new rY({status:"render_failed",context:{...z,issues:[rN({code:"render_failed",stage:"render",ref:{kind:"diagram",id:x.id},message:e instanceof Error?e.message:"Unable to render mindmap scene.",hint:"Simplify the hierarchy or retry with a smaller mindmap."})]}})}).pipe(o.fRP("codeMode.buildMindmap.render")),L={...z,partial:ny(_)},B=yield*nb({scene:_,formats:r3(m.options),inlineFormats:r5(m.options),...m.requestId?{requestId:m.requestId}:{},validationIssues:r6}).pipe(o.xm_(e=>new rY({status:e.status,context:{..."export_failed"===e.status?L:{...z,partial:{diagramId:_.diagramId}},issues:e.issues}})));return{ok:!0,status:"accepted",buildId:w,...nm(m.requestId),normalizedSpec:x,quality:C,artifact:B,issues:[]}}),nM=o.fn("codeMode.buildSequenceDiagram.workflow")(function*(e){var t,a;let s,i=l.q$Z(aR,{errors:"all",reportInput:!0})(e);if(!o8.oJ(i))return yield*new rZ({status:"invalid_input",context:{issues:rQ(tH(i.failure))}});let r=yield*rL,n=i.success,c=yield*o.OH5(()=>r.createId("build")),d=(s=tB((t=n.spec).title),{id:r0(t.id)??(r1(s)||"sketchi-sequence"),title:s,participants:t.participants.map(e=>({id:tB(e.id),label:tB(e.label),...e.kind?{kind:tB(e.kind)}:{},...e.icon?{icon:{slug:e.icon.slug}}:{}})),messages:t.messages.map((e,t)=>({id:r0(e.id)??`message-${t+1}-${r1(e.source)}-${r1(e.target)}`,source:tB(e.source),target:tB(e.target),label:tB(e.label),...e.type?{type:e.type}:{},...e.style?{style:e.style}:{}})),style:{...y}}),p=rf(d.participants,r.icons,{noun:"participant",path:"participants"}),g={...d,participants:p.nodes},h={buildId:c,...nm(n.requestId),normalizedSpec:g},u=e_(rS(g)).map(e=>rN({code:rV[e.code],stage:"input",ref:{kind:"request",path:`spec.${e.path}`},message:e.message,hint:rH[e.code]??e.hint}));if(u.length>0)return yield*new rZ({status:"invalid_sequence",context:{...h,issues:u}});let f={accepted:10>=(a=n.options?.minQualityScore??8),score:10,threshold:a,summary:{nodeCount:g.participants.length,edgeCount:g.messages.length},checks:[]},v={...h,quality:f};if(!f.accepted)return yield*new rZ({status:"quality_failed",context:{...v,issues:r2(f)}});let m=yield*o.SvU({try:()=>{let e,t,a,s,l,i,o,r,n,c,d,p,h,u,f,v,m,y,w,x;return s=(a=Math.max(180,...[...(t=new Map((e=eB(rS(g))).participants.map(e=>[e.id,eX(e.label,156,14)]))).values()].map(e=>Math.ceil(eI(e,14))+24)))+140,r=(o=(i=48+(l=e.participants.reduce((e,a)=>Math.max(e,Math.ceil(14*(t.get(a.id)??a.label).split("\n").length*1.35)+18+eJ(a.icon?{slug:a.icon.slug,size:28}:void 0)),72)))+64)+88*Math.max(0,e.messages.length-1),n=Math.max(o,r)-i+56,c=new Map,d=[],p=[],h=[],e.participants.forEach((o,r)=>{let g=48+r*s,u=g+a/2;c.set(o.id,u),d.push({type:"node",id:`node:${o.id}`,nodeId:o.id,...o.kind?{kind:o.kind}:{},...o.icon?{icon:{slug:o.icon.slug,size:28}}:{},shape:"rectangle",x:g,y:48,width:a,height:l,label:t.get(o.id)??o.label}),p.push({type:"text",id:`label:${o.id}`,containerId:`node:${o.id}`,x:u,y:48+l/2,text:t.get(o.id)??o.label,fontSize:14,maxWidth:a-24,...o.icon?{verticalAlign:"bottom"}:{}}),h.push({type:"node",id:`node:${ew(o.id)}`,nodeId:ew(o.id),rendererRole:"sequence-lifeline",shape:"rectangle",fillColor:e.style.backgroundColor,strokeColor:e.style.accentColor,x:u-1,y:i,width:2,height:n,label:`${o.label} lifeline`})}),u=new Map(e.participants.map(e=>[e.id,e.label])),f=(function(e){let t=new Map,a=[];e.messages.forEach((e,s)=>{if("return"!==e.type)return void t.set(e.target,[...t.get(e.target)??[],{caller:e.source,index:s,messageId:e.id}]);let l=t.get(e.source)??[],i=l.findLastIndex(t=>t.caller===e.target),o=l[i];o&&(t.set(e.source,l.filter((e,t)=>t!==i)),a.push({participantId:e.source,callMessageId:o.messageId,returnMessageId:e.id,startIndex:o.index,endIndex:s}))});let s=[];for(let e of a.toSorted((e,t)=>e.startIndex-t.startIndex)){let t=s.filter(t=>t.participantId===e.participantId&&t.endIndex>e.startIndex),a=new Set(t.map(e=>e.depth)),l=Math.max(0,...t.filter(t=>t.endIndex>e.endIndex).map(e=>e.depth+1));for(;a.has(l);)l+=1;s.push({...e,depth:l})}return s})(e).map(t=>{var a,s;let l=(a=t.participantId,s=t.callMessageId,`${ew(a)}:activation:${s}`),i=c.get(t.participantId)??0,r=o+88*t.startIndex-12;return{activation:t,node:{type:"node",id:`node:${l}`,nodeId:l,rendererRole:"sequence-activation",shape:"rectangle",fillColor:e.style.backgroundColor,strokeColor:e.style.accentColor,x:i-6+6*t.depth,y:r,width:12,height:o+88*t.endIndex+12-r,label:`${u.get(t.participantId)??t.participantId} active`}}}),v=(e,t,a,s)=>{let l=c.get(e)??0,i=s>l,o=f.filter(({activation:a})=>a.participantId===e&&a.startIndex<=t&&t<=a.endIndex),r=o.find(({activation:e})=>e.callMessageId===a||e.returnMessageId===a)??o.reduce((e,t)=>!e||t.activation.depth>e.activation.depth?t:e,void 0);return r?{nodeId:r.node.nodeId,x:i?r.node.x+r.node.width:r.node.x}:{nodeId:ew(e),x:l+(i?1:-1)*2/2}},m=e.messages.map((e,t)=>{let a,l=c.get(e.source)??0,i=c.get(e.target)??0,r=v(e.source,t,e.id,i),n=v(e.target,t,e.id,l),d=o+88*t;return{type:"arrow",id:`arrow:${e.id}`,edgeId:e.id,sourceNodeId:r.nodeId,targetNodeId:n.nodeId,..."return"===e.type?{strokeColor:"#6b7280"}:{},..."dashed"===e.style||"return"===e.type?{strokeStyle:"dashed"}:{},points:[{x:r.x,y:d},...(a=Math.round(Math.abs(i-l)/s))<2||a%2==1?[]:[{x:(l+i)/2-Math.sign(i-l)*s/2,y:d}],{x:n.x,y:d}],label:e.label}}),y=f.map(({node:e})=>e),w=[...m,...h,...y,...d,...p],x=[...h.map(e=>e.id),...y.map(e=>e.id),...d.map(e=>e.id),...p.map(e=>e.id),...m.map(e=>e.id)],{kind:"canvas",version:1,diagramId:e.id,title:e.title,width:96+a+Math.max(0,e.participants.length-1)*s,height:i+n+48,accentColor:e.style.accentColor,backgroundColor:e.style.backgroundColor,elements:w,layers:[],layouts:[],zOrder:x}},catch:e=>new rZ({status:"render_failed",context:{...v,issues:[rN({code:"render_failed",stage:"render",ref:{kind:"diagram",id:g.id},message:e instanceof Error?e.message:"Unable to render sequence diagram scene.",hint:"Repair the participant/message structure and retry."})]}})}).pipe(o.fRP("codeMode.buildSequenceDiagram.render")),w=yield*rv(m,r.icons),x=w.scene,b=e0(x);if(b.length>0)return yield*new rZ({status:"render_failed",context:{...v,issues:r7(b).map(e=>({...e,hint:"Reduce participant label lines, participants, or messages and retry buildSequenceDiagram."}))}});let k={...v,partial:ny(x)},M=yield*nb({scene:x,formats:r3(n.options),inlineFormats:r5(n.options),...n.requestId?{requestId:n.requestId}:{},validationIssues:r6}).pipe(o.xm_(e=>new rZ({status:e.status,context:{..."export_failed"===e.status?k:v,issues:e.issues}})));return{ok:!0,status:"accepted",buildId:c,...nm(n.requestId),normalizedSpec:g,quality:f,artifact:M,issues:[...p.issues,...w.issues]}}),nC=o.fn("codeMode.buildTimeline.workflow")(function*(e){var t,a;let s,i,r=l.q$Z(aj,{errors:"all",reportInput:!0})(e);if(!o8.oJ(r))return yield*new rG({status:"invalid_input",context:{issues:rQ(tH(r.failure))}});let n=yield*rL,c=r.success,d=yield*o.OH5(()=>n.createId("build")),p=(s=tB((t=c.spec).title),{id:(i={id:r0(t.id)??(r1(s)||"sketchi-timeline"),title:s,type:"timeline",style:{...y},events:t.events.map(e=>({...e}))}).id,title:s,events:$(i),...t.lanes?{lanes:[...t.lanes]}:{},...t.today?{today:t.today}:{},style:i.style}),g={buildId:d,...nm(c.requestId),normalizedSpec:p},h=T(rP(p)).map(e=>rN({code:e.code,stage:"input",ref:{kind:"request",path:`spec.${e.path}`},message:e.message,hint:e.hint}));if(h.length>0)return yield*new rG({status:"invalid_timeline",context:{...g,issues:h}});let u={accepted:10>=(a=c.options?.minQualityScore??8),score:10,threshold:a,summary:{nodeCount:p.events.length,edgeCount:0},checks:[]},f={...g,quality:u};if(!u.accepted)return yield*new rG({status:"quality_failed",context:{...f,issues:r2(u)}});let v=yield*o.SvU({try:()=>(function(e){let t,a,s=R(e),l=$(s),i=function(e){let t,a=new Map;for(let t of[...e.events.flatMap(e=>[e.date,e.end]),e.today]){let e=void 0===t?void 0:Y(t);void 0!==t&&e&&a.set(t,e)}if(0===a.size)return{events:new Map};let s=new Set([...a.values()].flatMap(e=>void 0===e.offsetMinutes?[]:[e.offsetMinutes])),l=1===s.size?[...s][0]??0:0,i=s.size>0?function(e){if(0===e)return"UTC";let t=Math.abs(e);return`UTC${e<0?"-":"+"}${it(Math.floor(t/60))}:${it(t%60)}`}(l):void 0,o=new Map([...a].map(([e,t])=>[e,function(e,t){if("instant"!==e.granularity)return{granularity:e.granularity,...e.fields};let a=new Date(e.start+6e4*t);return{granularity:"instant",year:a.getUTCFullYear(),month:a.getUTCMonth()+1,day:a.getUTCDate(),hour:a.getUTCHours(),minute:a.getUTCMinutes(),second:a.getUTCSeconds(),millisecond:a.getUTCMilliseconds()}}(t,l)])),r=[...o.values()],n=r[0],c=r.some(e=>"instant"===e.granularity)&&r.every(e=>("day"===e.granularity||"instant"===e.granularity)&&e.year===n.year&&e.month===n.month&&e.day===n.day),d=r.some(e=>e.year!==n.year),p=r.some(e=>"instant"===e.granularity&&e.second>0),g=r.some(e=>"instant"===e.granularity&&e.millisecond>0),h=e=>`${it(e.hour)}:${it(e.minute)}${p||g?`:${it(e.second)}`:""}${g?`.${it(e.millisecond,3)}`:""}`,u=e=>`${ie[e.month-1]} ${e.day}`,f=(e,t)=>{if(c)return"instant"===e.granularity?h(e):u(e);let a=t?` ${e.year}`:"";switch(e.granularity){case"year":return String(e.year);case"month":return`${ie[e.month-1]}${a}`;case"day":return`${u(e)}${t?`, ${e.year}`:""}`;case"instant":return`${u(e)}${t?`, ${e.year}`:""}, ${h(e)}`}},v=(e,t,a)=>{if(c)return`${f(e,!1)}–${f(t,!1)}`;if(e.year!==t.year)return`${f(e,!0)} – ${f(t,!0)}`;let s=a&&"year"!==t.granularity?`, ${t.year}`:"";return"day"===e.granularity&&"day"===t.granularity&&e.month===t.month?`${u(e)}–${t.day}${s}`:"month"===e.granularity&&"month"===t.granularity?`${ie[e.month-1]} – ${ie[t.month-1]}${a?` ${t.year}`:""}`:`${f(e,!1)} – ${f(t,!1)}${s}`},m=new Map;for(let a of $(e)){let e=void 0===a.date?void 0:o.get(a.date);if(!e)continue;let s=void 0===a.end?void 0:o.get(a.end),l=e.year!==t?.year||"month"===e.granularity&&"month"!==t.granularity;m.set(a.id,s?v(e,s,l):f(e,l)),t=s??e}let y=c?`${u(n)}, ${n.year}${i?` \xb7 ${i}`:""}`:i?`Times in ${i}`:void 0,w=void 0===e.today?void 0:o.get(e.today);return{...y?{header:y}:{},events:m,...w?{today:`Today \xb7 ${f(w,d)}`}:{}}}(s),o=G(s),r=(o.length?o:[""]).map((e,t)=>{let a=io[t%io.length];return{...a,stroke:a.stroke||s.style.accentColor}}),n=l[0]?.date!==void 0,c=[],d=e=>{let t=c.findIndex(t=>t.time===e.time&&t.tie===e.tie);return t>=0?t:(c.push(e),c.length-1)},p=void 0===s.today?void 0:Y(s.today),g=new Map,h=new Map,u=[!1,!0].flatMap(e=>l.flatMap((t,a)=>{let s,l,i=void 0!==t.end;if(i!==e)return[];let o=n?Y(t.date):void 0,r=void 0===t.end?void 0:Y(t.end),c=o?o.start:t.order??a,u=t.lane??"",f=r?(c+r.end)/2:c,v=p&&r&&p.start>c&&p.start<r.end,m=r&&(v||g.has(`${u}\0${f}`))?function(e,t,a){let s=[e,...a.filter(a=>a>e&&a<t),t].toSorted((e,t)=>e-t),l={from:e,to:e};for(let[e,t]of s.slice(1).entries())t-s[e]>l.to-l.from&&(l={from:s[e],to:t});return(l.from+l.to)/2}(c,r.end,[...h.get(u)??[],...v?[p.start]:[]]):f,y=d({time:m,tie:(s=`${u}\0${m}`,l=g.get(s)??0,g.set(s,l+1),h.set(u,[...h.get(u)??[],m]),l)});return[{event:t,index:a,span:i,start:i?d({time:c,tie:0}):y,end:r?d({time:r.end,tie:0}):void 0,stem:y}]})).toSorted((e,t)=>e.index-t.index),f=p?d({time:p.start,tie:0}):void 0,v=c.map((e,t)=>({anchor:e,key:t})).toSorted((e,t)=>e.anchor.time-t.anchor.time||e.anchor.tie-t.anchor.tie),y=new Map(v.map((e,t)=>[e.key,t])),w=v.map(e=>e.anchor),x=u.map(e=>{let t=r[e.event.lane?o.indexOf(e.event.lane):0],a=`event:${e.event.id}`,s=i.events.get(e.event.id),l=[...s?[ir(`date:${a}`,s,14,t.ink)]:[],ir(`label:${a}`,e.event.label,16,m.ink),...e.event.description?[ir(`description:${a}`,e.event.description,13,il)]:[]];return{event:e.event,index:e.index,lane:e.event.lane?o.indexOf(e.event.lane):0,span:e.span,startKey:y.get(e.start),endKey:y.get(e.end??e.start),stemKey:y.get(e.stem),inset:Math.max(10,(s?l[0].width:0)/2-12),parts:l,width:Math.max(...l.map(e=>e.width)),height:l.reduce((e,t)=>e+t.height,0)+2*(l.length-1)}}),b=void 0===f?void 0:y.get(f),k=Math.min(128,Math.max(72,Math.round((a=Math.floor((t=x.map(e=>e.width).toSorted((e,t)=>e-t)).length/2),((t.length%2?t[a]:(t[a-1]+t[a])/2)+16)/2+8)))),M=1.5*k,C=e=>x.some(t=>t.span&&t.startKey<=e&&t.endKey>e),z=w.slice(1).map((e,t)=>e.time-w[t].time),_=e=>{let t=new Set(e);if(!n)return{x:w.map((e,t)=>t*k),breaks:t};if(w.length<2)return{x:w.map(()=>0),breaks:t};let a=z.reduce((e,t)=>e+t,0),s=x.length*k,l=10*k,i=a>0?s/a:0,o=[...r.flatMap((e,t)=>x.filter(e=>e.lane===t).toSorted((e,t)=>e.stemKey-t.stemKey).flatMap((e,t,a)=>{let s=a[t-1];return s&&s.stemKey!==e.stemKey?[{from:s.stemKey,to:e.stemKey,min:Math.max(28,e.inset+is+1)}]:[]})),...x.filter(e=>e.span).map(e=>({from:e.startKey,to:e.endKey,min:12}))].filter(e=>e.to>e.from),c=Math.max(28,...o.map(e=>e.min)),d=e=>{let a=[0],s=0,l=0;return z.forEach((i,o)=>{let r=w[o+1];r.tie>0?a.push(s+r.tie*c):(s=t.has(o)?l+M:s+i*e,a.push(s)),l=Math.max(l,a[o+1])}),a},p=()=>{let[e,t]=[d(0),d(1)];return o.map(({from:a,to:s,min:l})=>{let i=e[s]-e[a];return{from:a,to:s,min:l,fixed:i,perScale:t[s]-e[s]-(t[a]-e[a])}})},g=Math.max(0,...x.filter(e=>e.span).map(e=>w[e.endKey].time-w[e.startKey].time)),h=g>0?Math.max(i,2*l/g):1/0,u=i;for(;;){let e=z.reduce((e,a,s)=>e+(t.has(s)?0:a),0),a=t.size&&e>0?Math.min(2*i,Math.max(i,(s-t.size*M)/e)):i,o=p();u=Math.min(Math.max(a,...o.map(({min:e,fixed:t,perScale:a})=>a>0&&t<e?(e-t)/a:0)),h);let r=z.flatMap((e,a)=>t.has(a)||!(e*u>l)||C(a)?[]:[a]);for(let{from:e,to:a,min:s,fixed:l,perScale:i}of o)if(l+i*u<s-1e-6){let s=z.map((e,t)=>({gap:e,key:t})).slice(e,a).filter(({gap:e,key:a})=>e>0&&!t.has(a)).toSorted((e,t)=>t.gap-e.gap||e.key-t.key)[0];s&&r.push(s.key)}if(!r.length)break;for(let e of r)t.add(e)}return{x:d(u),breaks:t}},L=({x:e,breaks:t})=>{let a=e.map((t,a)=>Math.max(...e.slice(0,a+1))),s=e.map((t,a)=>Math.min(...e.slice(a))),l=w.slice(0,-1).flatMap((e,l)=>{if(C(l))return[];if(t.has(l)){let e=a[l]+24+4;return[{key:l,low:e,high:e,resume:s[l+1]-24}]}let i=a[l]+14,o=s[l+1]-14;return i<=o?[{key:l,low:i,high:o,resume:void 0}]:[]}),i=new Set(x.flatMap(t=>{if(!t.span)return[];let a=e[t.startKey]+Math.max(12,e[t.endKey]-e[t.startKey]);return x.some(s=>!s.span&&s.lane===t.lane&&(s.startKey<t.startKey||s.startKey>=t.endKey)&&e[s.startKey]+id(s)>e[t.startKey]&&e[s.startKey]-id(s)<a)?[t.lane]:[]}));return{x:e,breaks:t,reachBefore:a,rowsFor:t=>{let a=e[e.length-1],s=[],i=0,o=-24;for(let e=1;e<t;e+=1){let r=a*e/t,n=l.filter(e=>e.key>=i).map(e=>{let t=Math.min(e.high,Math.max(e.low,r));return{cut:e,at:t,cost:Math.abs(t-r)-(void 0===e.resume?0:k)-Math.min(e.high-e.low,2*k)/4}}).toSorted((e,t)=>e.cost-t.cost||e.cut.key-t.cut.key)[0];if(!n)break;s.push({first:i,last:n.cut.key,start:o,end:n.at}),i=n.cut.key+1,o=n.cut.resume??n.at}return s.push({first:i,last:w.length-1,start:o,end:Math.max(...e)+24}),s},layout:t=>{let s=Math.max(1,o.length);return t.map((t,l)=>{let o=t.start-32*(l>0),r=t=>e[t]-o,n=void 0!==b&&b>=t.first&&b<=t.last?r(b):void 0,c=Array.from({length:s},(e,a)=>(function(e,t,a,s){let l;for(let i of ic){let o=function(e,t,a,s,l){let i=[],o=new Map;for(let t of e.filter(e=>e.span).toSorted((e,t)=>e.startKey-t.startKey)){let e=i.findIndex((e,a)=>a>=s&&e<=t.startKey);for(e<0&&(e=Math.max(s,i.length));i.length<e;)i.push(-1/0);i[e]=t.endKey,o.set(t,e)}let r=i.length,n=22+16*Math.max(0,r-1),c=e=>t(e.stemKey),d=e.toSorted((e,t)=>c(t)-c(e)||t.index-e.index),p={"-1":[],1:[]},g={"-1":[],1:[]},h=[],u=(e,t,a=is)=>t>e.left-a&&t<e.right+a,f=-1;d.forEach((e,t)=>{let s=c(e),i=d.slice(t+1).map(c),r=l.lookahead?d[t+2]:void 0,v=(e,t,a)=>{if(!r||t>a)return 0;let s=c(r);return s+10+16>e?1e3:Math.max(0,s+r.width/2+16-e)/2},m=s-e.width+e.inset,y=s-e.inset,w=(o.get(e)??0)>0,x=w?1:f,b=e=>e.option.near-(e.side===x?w?120:1:0),k=t=>[x,-x].flatMap(o=>{let d=((t,o)=>{let d=t<0?22:n,h=p[t],f=p[-t],w=[...g[t],...o&&void 0!==a&&Math.abs(a-s)>=14?[{x:a,reach:1/0}]:[]],x=[d,...h.map(e=>e.far+10)].filter(e=>e>=d).toSorted((e,t)=>e-t),b=s-e.width/2,k=[b,m,y,...h.flatMap(t=>[t.right+16,t.left-16-e.width]),...[...w,...i.map(e=>({x:e,reach:0}))].flatMap(t=>{let a=1/0===t.reach?3*is:is;return[t.x+a,t.x-a-e.width]}),...r?[c(r)+10+16,c(r)+r.width/2+16]:[]].map(e=>Math.min(y,Math.max(m,e)));for(let t of x){let a=t+e.height,o=a=>Math.abs(a-b)+v(a,t,d)+l.coverPenalty*i.slice(1).filter(t=>u({left:a,right:a+e.width},t)).length;for(let l of k.toSorted((e,t)=>o(e)-o(t)||e-t)){let o=l+e.width,r={left:l,right:o};if(h.every(e=>l>=e.right+16||e.left>=o+16||t>=e.far+10||e.near>=a+10)&&h.every(e=>!u(e,s)||e.near>t)&&w.every(e=>!u(r,e.x,1/0===e.reach?3*is:is)||e.reach<=t)&&i.every(e=>!u(r,e)||f.every(t=>!u(t,e))))return{near:t,left:l}}}})(o,t);return d?[{side:o,option:d}]:[]}).toSorted((e,t)=>b(e)-b(t))[0],M=k(!0)??k(!1);if(!M)throw Error(`Timeline label for "${e.event.id}" has no clear placement.`);let{side:C,option:z}=M,{near:_,left:L}=z;p[C].push({left:L,right:L+e.width,near:_,far:_+e.height}),g[C].push({x:s,reach:_});let B=o.get(e)??0,A=16*B;h.push({item:e,stemX:s,side:C,near:_,left:L,stemStart:C>0?A+id(e):id(e)-A,track:B}),f=-C});let v=(e,t)=>Math.max(t,...p[e].map(e=>e.far));return{placements:h,above:v(-1,15),below:v(1,Math.max(9,n-22+6)+6),tracks:r}}(e,t,a,s,i);(!l||o.above+o.below<l.above+l.below)&&(l=o)}return l})(x.filter(e=>e.lane===a&&e.startKey>=t.first&&e.startKey<=t.last),r,n,+!!i.has(a)));return{row:t,localX:r,reachX:e=>a[e]-o,todayX:n,lanes:c,axisStart:t.start-o,axisEnd:t.end-o}})}}},B=o.length?Math.max(...o.map(e=>eU(e,15,160)))+20:0,A=i.header,P=i.today,S=(e,t)=>{var a,s;let l,i,n,c,d,p,g,h,u,f,v=e.rowsFor(t);if(v.length<t)return;let m=(a=e.breaks,s=e.layout(v),l=[],i=[],n=[],c=[],d=(e,t)=>{l.push(e),t.push(e.id)},p=(e,t,a={})=>({type:"line",id:e,points:t,...a}),g=(e,t,a,s,l,i,o={})=>({type:"text",id:e,x:a,y:s,text:t,fontSize:l,maxWidth:200,textColor:i,...o}),h=A?Math.ceil(14*1.35):0,u=18*!!P,f=A?h+18:0,s.forEach((e,t)=>{let l=f,h=void 0!==e.todayX;h&&(f+=u+6);let v=t<s.length-1,m=t>0;if(e.lanes.forEach((s,l)=>{let h=r[l],u=f+s.above,y=`${l}:${t}`,w={strokeColor:h.stroke,strokeWidth:2,roughness:0},x=[...a].toSorted((e,t)=>e-t).filter(t=>t>=e.row.first&&t<e.row.last).map(t=>B+(e.reachX(t)+e.localX(t+1))/2).concat(v&&a.has(e.row.last)?[B+e.axisEnd-4]:[]),b=[B+e.axisStart,...x.flatMap(e=>[e-4,e+4]),B+e.axisEnd];for(let e=0;e<b.length;e+=2)b[e+1]>b[e]&&d(p(`axis:${y}${e?`:${e/2}`:""}`,[{x:b[e],y:u},{x:b[e+1],y:u}],w),i);for(let t of(x.forEach((e,t)=>[-1,1].forEach(a=>d(p(`break:${y}:${t}:${a<0?"a":"b"}`,[{x:e+4*a-3,y:u+7},{x:e+4*a+3,y:u-7}],w),c))),m&&d(p(`continue-in:${y}`,[{x:B,y:u},{x:B+32,y:u}],{...w,strokeStyle:"dashed"}),i),v&&d(p(`continue-out:${y}`,[{x:B+e.axisEnd,y:u},{x:B+e.axisEnd+32,y:u}],{...w,strokeStyle:"dashed",endArrowhead:"arrow"}),i),o.length&&d(g(`lane:${y}`,o[l],B-16-eU(o[l],15,160)/2,u,15,h.ink,{maxWidth:160,textAlign:"right"}),c),s.placements)){let{item:a}=t,s=`event:${a.event.id}`,l={groupIds:[s]},o=u+16*t.track,r=B+t.stemX;if(a.span){let t=B+e.localX(a.startKey);d({type:"node",id:`node:${s}`,nodeId:s,rendererRole:ia,shape:"rectangle",x:t,y:o-6,width:Math.max(12,B+e.localX(a.endKey)-t),height:12,label:a.event.label,fillColor:h.wash,strokeColor:h.stroke,...l},n)}else{let e="milestone"===a.event.kind,t=e?18:12;d({type:"node",id:`node:${s}`,nodeId:s,rendererRole:ia,shape:e?"diamond":"ellipse",x:r-t/2,y:u-t/2,width:t,height:t,label:a.event.label,fillColor:h.stroke,strokeColor:h.stroke,...l},c)}let f=u+t.side*t.near;d(p(`stem:${s}`,[{x:r,y:u+t.side*t.stemStart},{x:r,y:f}],{strokeColor:"#b9ad95",strokeWidth:1,roughness:0,...l}),i);let v=B+t.left,m=t.side<0?f-a.height:f;for(let e of a.parts){let t=eU(e.text,e.fontSize,200),s=Math.min(Math.max(r,v+t/2),v+a.width-t/2),i=s===r?"center":s<r?"right":"left";d(g(e.id,e.text,s,m+e.height/2,e.fontSize,e.color,{textAlign:i,...l}),c),m+=e.height+2}}f=u+s.below+28*(l<e.lanes.length-1)}),h){let a=B+e.todayX;d(p(`today:${t}`,[{x:a,y:l+u+3},{x:a,y:f}],{strokeColor:ii,strokeWidth:1,strokeStyle:"dashed",roughness:0}),i),d(g(`today-label:${t}`,P,a,l+u/2,13,ii),c)}f+=48}),f-=48,A&&d(g("header",A,eU(A,14,400)/2,h/2,14,il,{maxWidth:400,textAlign:"left"}),c),{elements:l,zOrder:[...i,...n,...c],height:f}),y=(e=>{let t=1/0,a=-1/0,s=1/0,l=-1/0,i=(e,i,o,r)=>{t=Math.min(t,e),a=Math.max(a,o),s=Math.min(s,i),l=Math.max(l,r)};for(let t of e)if("line"===t.type||"arrow"===t.type)for(let e of t.points)i(e.x,e.y,e.x,e.y);else if("text"===t.type){let e=eU(t.text,t.fontSize,t.maxWidth??200),a=t.text.split("\n").length*t.fontSize*1.35;i(t.x-e/2,t.y-a/2,t.x+e/2,t.y+a/2)}else("node"===t.type||"frame"===t.type)&&i(t.x,t.y,t.x+t.width,t.y+t.height);return{minX:t,maxX:a,minY:s,maxY:l}})(m.elements),w=Math.abs(Math.log((y.maxX-y.minX+80)/(y.maxY-y.minY+80)/2))+.3*(t-1);return{count:t,composed:m,box:y,score:w}},V=e=>e.reduce((e,t)=>!e||t.score<e.score-1e-9?t:e,void 0),H=({box:e})=>(e.maxX-e.minX+40)/(e.maxY-e.minY+40),q=({x:e,breaks:t,reachBefore:a})=>z.map((t,s)=>({gap:t,key:s,free:e[s+1]-a[s]})).filter(({gap:e,key:a,free:s})=>e>0&&!t.has(a)&&!C(a)&&s>=2*M).toSorted((e,t)=>t.free-e.free||e.key-t.key)[0],F=Math.max(1,Math.min(12,Math.ceil(x.length/2))),I=L(_(new Set)),U=[];for(let e=1;e<=F;e+=1){let t=S(I,e);if(!t)break;U.push(t)}let O=V(U);if(n&&1===O.count&&H(O)>3.5){let e=new Set,t=I,a=O;for(let s=q(t);s&&H(a)>3.5;s=q(t))e.add(s.key),a=S(t=L(_(e)),1);O=3.5>=H(a)?a:V(U.slice(1))??a}let{composed:E,box:X}=O,Z=40-X.minX,T=40-X.minY,D=E.elements.map(e=>{if("line"===e.type||"arrow"===e.type){let[t,...a]=e.points.map(e=>({x:e.x+Z,y:e.y+T}));return"line"===e.type?{...e,points:[t,a[0],...a.slice(1)]}:{...e,points:[t,...a]}}return{...e,x:e.x+Z,y:e.y+T}});return{kind:"canvas",version:1,diagramId:s.id,title:s.title,width:Math.ceil(X.maxX-X.minX+80),height:Math.ceil(X.maxY-X.minY+80),accentColor:s.style.accentColor,backgroundColor:s.style.backgroundColor,elements:D,layers:[],layouts:[],zOrder:E.zOrder}})(rP(p)),catch:e=>new rG({status:"render_failed",context:{...f,issues:[rN({code:"render_failed",stage:"render",ref:{kind:"diagram",id:p.id},message:e instanceof Error?e.message:"Unable to render timeline scene.",hint:"Repair the event dates and ordering and retry."})]}})}).pipe(o.fRP("codeMode.buildTimeline.render")),w=e0(v);if(w.length>0)return yield*new rG({status:"render_failed",context:{...f,issues:r7(w).map(e=>({...e,hint:"Split the chronology into smaller timelines and retry buildTimeline."}))}});let x={...f,partial:ny(v)},b=yield*nb({scene:v,formats:r3(c.options),inlineFormats:r5(c.options),...c.requestId?{requestId:c.requestId}:{},validationIssues:r6}).pipe(o.xm_(e=>new rG({status:e.status,context:{..."export_failed"===e.status?x:f,issues:e.issues}})));return{ok:!0,status:"accepted",buildId:d,...nm(c.requestId),normalizedSpec:p,quality:u,artifact:b,issues:[]}}),nz=l._kM({spec:l.$r1,requestId:l.Qrq(l.$r1)}),n_=l._kM({source:l._kM({scene:l.$r1})}),nL=o.fn("codeMode.canvas.serializedLimit")((e,t)=>o.SvU(()=>lk(e)).pipe(o.YWq({onFailure:()=>rN({code:"invalid_type",stage:"input",ref:{kind:"request",path:t},message:"CanvasSpec could not be serialized as JSON.",hint:"Remove non-JSON values or reduce deeply nested fields and retry."}),onSuccess:e=>e<=eY.maxSerializedBytes?void 0:rN({code:"canvas_limit_exceeded",stage:"canvas",ref:{kind:"request",path:t},message:`CanvasSpec exceeds ${eY.maxSerializedBytes} serialized bytes.`,hint:"Split the visualization into a smaller canvas or reduce repeated text and points."})}))),nB=o.fn("codeMode.createCanvas.workflow")(function*(e){let t=yield*rL,a=yield*o.OH5(()=>t.createId("build")),s=l.q$Z(nz)(e),i=o8.oJ(s)?{spec:s.success.spec,requestId:l.is(l.QfV)(s.success.requestId)?s.success.requestId:void 0}:void 0;if(i){let e=yield*nL(i.spec,"spec");if(e)return yield*new rT({status:"canvas_limit_exceeded"===e.code?"limit_exceeded":"invalid_input",context:{buildId:a,...nm(i.requestId),issues:[e]}})}let r=l.q$Z(sw,{errors:"all",reportInput:!0})(e);if(!o8.oJ(r))return yield*new rT({status:"invalid_input",context:{issues:rQ(tH(r.failure))}});let n=r.success,c={buildId:a,...nm(n.requestId)},d=r9(n.spec);if(!d)return yield*new rT({status:"invalid_canvas",context:{...c,issues:[rN({code:"invalid_canvas_geometry",stage:"canvas",ref:{kind:"request",path:"spec.elements"},message:"CanvasSpec contains an invalid point list.",hint:"Provide at least two points for lines/connectors and three points for polygons."})]}});let p=e0(d).filter(e=>"limit_exceeded"===e.code);if(p.length>0)return yield*new rT({status:"limit_exceeded",context:{...c,issues:r7(p)}});let g=yield*rv(function(e){let t=[...e.elements];for(let a of e.layouts)t=function(e,t){switch(t.type){case"row":case"column":case"stack":return function(e,t){let a=e3(e,t.ids),s=a[0];if(!s)return[...e];let l=e2(s),i=t.x??l.x,o=t.y??l.y,r="stack"===t.type?t.gap??0:t.gap??32,n=new Map,c="column"===t.type?o:i;for(let e of a){let a=e2(e);n.set(e.id,{x:"column"===t.type||"stack"===t.type?i:c,y:"column"===t.type?c:o}),"stack"!==t.type&&(c+=("column"===t.type?a.height:a.width)+r)}return e5(e,n)}(e,t);case"grid":return function(e,t){let a=e3(e,t.ids);if(0===a.length)return[...e];let s=Math.max(1,Math.floor(t.columns)),l=a.map(e2),i=Array.from({length:s},(e,t)=>Math.max(0,...l.filter((e,a)=>a%s===t).map(e=>e.width))),o=Array.from({length:Math.ceil(a.length/s)},(e,t)=>Math.max(0,...l.filter((e,a)=>Math.floor(a/s)===t).map(e=>e.height))),r=l[0];if(!r)return[...e];let n=t.x??r.x,c=t.y??r.y,d=t.columnGap??32,p=t.rowGap??32,g=new Map;return a.forEach((e,t)=>{let a=t%s,l=Math.floor(t/s);g.set(e.id,{x:n+i.slice(0,a).reduce((e,t)=>e+t,0)+d*a,y:c+o.slice(0,l).reduce((e,t)=>e+t,0)+p*l})}),e5(e,g)}(e,t);case"align":return function(e,t){let a=e3(e,t.ids);if(0===a.length)return[...e];let s=a.map(e2),l=s.map(e=>e4(e,t.axis)),i=s.map(e=>e4(e,t.axis)+e6(e,t.axis)),o=s.map(e=>e4(e,t.axis)+e6(e,t.axis)/2),r="start"===t.alignment?Math.min(...l):"end"===t.alignment?Math.max(...i):o.reduce((e,t)=>e+t,0)/o.length,n=new Map;return a.forEach((e,a)=>{let l=s[a];if(!l)return;let i="start"===t.alignment?r:"end"===t.alignment?r-e6(l,t.axis):r-e6(l,t.axis)/2;n.set(e.id,{x:"x"===t.axis?i:l.x,y:"y"===t.axis?i:l.y})}),e5(e,n)}(e,t);case"distribute":return function(e,t){let a=e3(e,t.ids).sort((e,a)=>e4(e2(e),t.axis)-e4(e2(a),t.axis));if(a.length<2)return[...e];let s=a.map(e2),l=s[0],i=s[s.length-1];if(!l||!i)return[...e];let o=e4(l,t.axis),r=e4(i,t.axis)+e6(i,t.axis),n=s.reduce((e,a)=>e+e6(a,t.axis),0),c=t.gap??Math.max(0,(r-o-n)/(a.length-1)),d=new Map,p=o;return a.forEach((e,a)=>{let l=s[a];l&&(d.set(e.id,{x:"x"===t.axis?p:l.x,y:"y"===t.axis?p:l.y}),p+=e6(l,t.axis)+c)}),e5(e,d)}(e,t)}}(t,a);let a=function(e){let t=1,a=1;for(let s of e)if(eR(s)){let e=e2(s);t=Math.max(t,e.x+e.width),a=Math.max(a,e.y+e.height)}else if("arrow"===s.type||"line"===s.type)for(let e of s.points)t=Math.max(t,e.x),a=Math.max(a,e.y);return{width:t+48,height:a+48}}(t=function(e){let t=new Map(e.filter(e=>"node"===e.type).map(e=>[e.nodeId,e])),a=new Map;for(let t of e)("node"===t.type||"frame"===t.type)&&a.set(t.id,t);let s=e.map(e=>{if("arrow"===e.type){let a=t.get(e.sourceNodeId),s=t.get(e.targetNodeId);return a&&s?{...e,points:[e8(a,e7(s)),...e.points.slice(1,-1),e8(s,e7(a))]}:e}if("line"===e.type){let t=e.startBinding?a.get(e.startBinding.elementId):void 0,s=e.endBinding?a.get(e.endBinding.elementId):void 0;if(!t&&!s)return e;let l=[e.points[0],e.points[1],...e.points.slice(2)];return t&&(l[0]=e8(t,s?e7(s):l[l.length-1]??l[0])),s&&(l[l.length-1]=e8(s,t?e7(t):l[0])),{...e,points:l}}return e}),l=new Map(s.map(e=>[e.id,e]));return s.map(e=>{if("text"!==e.type||!e.containerId)return e;let t=l.get(e.containerId);if(t?.type==="node"){let a=e7(t);return{...e,x:a.x,y:a.y}}if(t?.type==="arrow"){let a=t.points[0],s=t.points[t.points.length-1]??a;return{...e,x:(a.x+s.x)/2,y:(a.y+s.y)/2}}return e})}(t)),s=e.zOrder.length?[...e.zOrder]:t.map((e,t)=>({element:e,index:t})).sort((e,t)=>(e.element.zIndex??e.index)-(t.element.zIndex??t.index)).map(({element:e})=>e.id);return{...e,width:Math.max(e.width,a.width),height:Math.max(e.height,a.height),elements:t,zOrder:s}}(d),t.icons),h=g.scene,u=function(e){let{icons:t,...a}=e;return a}(h),f=e0(h);if(f.length>0){let e=r7(f);return yield*new rT({status:e.some(e=>"canvas_limit_exceeded"===e.code)?"limit_exceeded":"invalid_canvas",context:{...c,normalizedSpec:u,issues:[...g.issues,...e]}})}let v={...c,normalizedSpec:u,partial:ny(h)},m=yield*nb({scene:h,formats:r3(n.options),inlineFormats:r5(n.options),...n.requestId?{requestId:n.requestId}:{},validationIssues:r8}).pipe(o.xm_(e=>new rT({status:e.status,context:{...v,issues:e.issues}})));return{ok:!0,status:"accepted",buildId:a,...nm(n.requestId),normalizedSpec:u,artifact:m,issues:g.issues}}),nA=o.fn("codeMode.buildFlowchart.workflow")(function*(e){var t,a;let s,i=l.q$Z(aD,{errors:"all",reportInput:!0})(e);if(!o8.oJ(i))return yield*new rX({status:"invalid_input",context:{issues:rQ(tH(i.failure))}});let r=yield*rL,n=i.success,c=yield*o.OH5(()=>r.createId("build")),d=(s=tB((a=n.spec).title),{id:rx(a.id)??(s.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,48)||"sketchi-flowchart"),title:s,nodes:a.nodes.map(e=>({id:tB(e.id),label:tB(e.label),kind:e.kind,...e.description?{description:tB(e.description)}:{},...e.icon?{icon:{slug:tB(e.icon.slug)}}:{},...e.group?{group:tB(e.group)}:{}})),edges:a.edges.map((e,t)=>({id:rx(e.id)??`edge-${t+1}`,source:tB(e.source),target:tB(e.target),...e.label?{label:tB(e.label)}:{}})),...a.groups?{groups:a.groups.map(e=>({id:tB(e.id),label:tB(e.label)}))}:{},layout:{direction:a.layout.direction},style:{...y}}),p=rf(d.nodes,r.icons),g={...d,nodes:p.nodes},h={buildId:c,...nm(n.requestId),normalizedSpec:g},u=l.q$Z(et,{errors:"all",reportInput:!0})({id:g.id,title:g.title,type:"flowchart",nodes:g.nodes.map(e=>({...e,metadata:{}})),edges:g.edges.map(e=>({...e,metadata:{}})),...g.groups?{groups:g.groups.map(e=>({...e}))}:{},layout:{direction:g.layout.direction,edgeRouting:"orthogonal"},style:g.style,metadata:{}});if(!o8.oJ(u))return yield*new rX({status:"invalid_flowchart",context:{...h,issues:(t=tH(u.failure),t.issues.slice(0,20).map(e=>{let t=function(e,t){let a=rW(e.path),s="input"===a?"spec":`spec.${a}`,[l,i]=e.path;if("nodes"===l&&"number"==typeof i){let e=t.nodes[i]?.id;return{kind:"node",...e?{id:e}:{},path:s}}if("edges"===l&&"number"==typeof i){let e=t.edges[i]?.id;return{kind:"edge",...e?{id:e}:{},path:s}}if("groups"===l&&"number"==typeof i){let e=t.groups?.[i]?.id;return{kind:"group",...e?{id:e}:{},path:s}}return{kind:"diagram",id:t.id,path:s}}(e,g);return rN({code:rJ(e),stage:"flowchart",ref:t,message:e.message,hint:`Fix ${t.path??"spec"} so normalization produces a valid canonical flowchart value.`})}))}});let f=u.success,v=el(f).map(e=>{let t=function(e){if(e)return{kind:e.kind,...e.id?{id:e.id}:{},...e.path?{path:`spec.${e.path}`}:{}}}(e.ref);return rN({code:e.code,stage:"flowchart",...t?{ref:t}:{},message:e.message,hint:e.hint})});if(v.length>0)return yield*new rX({status:"invalid_flowchart",context:{...h,issues:v}});eo(f);let m=function(e,t){let a=[],s=0,l=(e,t,l,i=!1)=>{s+=e,a.push({...l,passed:!1,severity:i?"error":"warning",message:t})},i=new Map,o=new Map;for(let t of e.edges)i.set(t.source,(i.get(t.source)??0)+1),i.set(t.target,(i.get(t.target)??0)+1),o.set(t.source,[...o.get(t.source)??[],t]);if(e.nodes.length>1&&0===e.edges.length)l(5,"no edges at all — every node floats unconnected",{code:"disconnected_graph",refs:rw(e.nodes)},!0);else{let t=e.nodes.filter(e=>(i.get(e.id)??0)===0);t.length>0&&e.nodes.length>1&&l(Math.min(1.5*t.length,4.5),`unconnected node(s): ${t.map(e=>e.id).join(", ")}`,{code:"disconnected_graph",refs:rw(t)},!0);let a=function(e){let t=new Map;for(let a of e.nodes)t.set(a.id,[]);for(let a of e.edges)t.get(a.source)?.push(a.target),t.get(a.target)?.push(a.source);let a=new Set,s=0;for(let l of e.nodes){if(a.has(l.id))continue;s+=1;let e=[l.id];for(a.add(l.id);e.length>0;){let s=e.pop();if(void 0===s)break;for(let l of t.get(s)??[])a.has(l)||(a.add(l),e.push(l))}}return s}(e);a>1&&0===t.length&&l(2,`diagram splits into ${a} disconnected islands`,{code:"disconnected_graph",refs:rw(e.nodes)},!0)}e.nodes.length<3?l(2,"too sparse — a useful flow needs at least 3 nodes",{code:"graph_too_sparse",refs:[{kind:"diagram",id:e.id,path:"spec.nodes"}]}):e.nodes.length>24&&l(2,"too dense — trim or merge nodes (24 max)",{code:"graph_too_dense",refs:[{kind:"diagram",id:e.id,path:"spec.nodes"}]});let r=new Map;for(let t of e.nodes){let e=t.label.trim().toLowerCase();r.set(e,(r.get(e)??0)+1)}let n=[...r.entries()].filter(([,e])=>e>1);n.length>0&&l(Math.min(n.length,3),`duplicate label(s): ${n.map(([e])=>`"${e}"`).join(", ")}`,{code:"duplicate_label",refs:rw(e.nodes.filter(e=>(r.get(e.label.trim().toLowerCase())??0)>1))});let c=0,d=0;for(let t of e.nodes){if("decision"!==t.kind){t.label.endsWith("?")&&l(0,`question label on non-decision node "${t.id}"; use kind "decision" only for branch points`,{code:"question_label_not_decision",refs:rw([t])});continue}let e=o.get(t.id)??[];e.length<2?(c+=1,l(0,`decision "${t.id}" needs at least 2 outgoing branches`,{code:"underbranched_decision",refs:rw([t])},!0)):e.some(e=>!e.label)&&(d+=1,l(0,`label every branch out of decision "${t.id}" (yes/no, …)`,{code:"unlabeled_decision_branch",refs:rw([t])}))}s+=Math.min(1.5*c,4.5)+Math.min(d,3);let p=e.nodes.filter(e=>e.label.length>42);p.length>0&&l(Math.min(.5*p.length,2),`shorten label(s): ${p.map(e=>e.id).join(", ")}`,{code:"label_too_long",refs:rw(p)});let g=e.nodes.filter(e=>rm.test(e.label.trim()));g.length>0&&l(Math.min(g.length,3),`generic label(s) say nothing: ${g.map(e=>`"${e.label}"`).join(", ")}`,{code:"generic_label",refs:rw(g)}),(e.title.trim().length<4||ry.test(e.title.trim()))&&l(.5,"give the diagram a specific title",{code:"weak_title",refs:[{kind:"diagram",id:e.id,path:"spec.title"}]});let h=Math.max(0,Math.round((10-s)*10)/10);return{accepted:h>=t&&!a.some(e=>"error"===e.severity),score:h,threshold:t,summary:{nodeCount:e.nodes.length,edgeCount:e.edges.length},checks:a}}(f,n.options?.minQualityScore??8),w={...h,quality:m};if(!m.accepted)return yield*new rX({status:"quality_failed",context:{...w,issues:r2(m)}});let x=yield*o.SvU({try:()=>oA(f),catch:e=>new rX({status:"render_failed",context:{...w,issues:[rN({code:"render_failed",stage:"render",ref:{kind:"diagram",id:g.id},message:e instanceof Error?e.message:"Unable to render flowchart scene.",hint:"Simplify the graph or retry with a smaller flowchart."})]}})}).pipe(o.fRP("codeMode.buildFlowchart.render")),b=yield*rv(x,r.icons),k=b.scene,M={...w,partial:ny(k)},C=yield*nb({scene:k,formats:r3(n.options),inlineFormats:r5(n.options),...n.requestId?{requestId:n.requestId}:{},validationIssues:r6}).pipe(o.xm_(e=>new rX({status:e.status,context:{..."export_failed"===e.status?M:w,issues:e.issues}})));return{ok:!0,status:"accepted",buildId:c,...nm(n.requestId),normalizedSpec:g,quality:m,artifact:C,issues:[...p.issues,...b.issues]}}),nP=o.fn("codeMode.getArtifact.workflow")(function*(e){let t=l.q$Z(sC,{errors:"all",reportInput:!0})(e);if(!o8.oJ(t))return yield*new rD({status:"invalid_input",context:{issues:rQ(tH(t.failure))}});let a=yield*rL,s=yield*ly,i=t.success,r=yield*s.readManifest(i.artifactId).pipe(o.xm_(e=>new rD({status:"storage_failed",context:{issues:[nx(e,"storage_read_failed")]}})));if(!r)return yield*new rD({status:"not_found",context:{issues:[rN({code:"patch_source_unavailable",stage:"storage",ref:{kind:"artifact",id:i.artifactId},message:`Artifact "${i.artifactId}" was not found.`,hint:"Use the artifactId returned by buildFlowchart or applyDiagramPatch."})]}});let n=i.format??"scene";if(!r.formats.some(e=>e.format===n))return yield*new rD({status:"format_unavailable",context:{issues:[rN({code:"unsupported_artifact_format",stage:"storage",ref:{kind:"artifact",id:i.artifactId},message:`Artifact "${i.artifactId}" does not include format "${n}".`,hint:"Request a format listed in the artifact bundle."})]}});let c=yield*s.read(i.artifactId,n).pipe(o.xm_(e=>new rD({status:"storage_failed",context:{issues:[nx(e,"storage_read_failed")]}})));return c?{ok:!0,artifactId:i.artifactId,diagramId:r.diagramId,format:n,mimeType:c.mimeType,...a.artifactUrl?{url:a.artifactUrl({artifactId:i.artifactId,format:n})}:{},...!0!==i.inline||!lx(n)?{}:{inline:c.data},sizeBytes:c.sizeBytes,...r.provenance?{provenance:r.provenance}:{}}:yield*new rD({status:"format_unavailable",context:{issues:[rN({code:"patch_source_unavailable",stage:"storage",ref:{kind:"artifact",id:i.artifactId},message:`Artifact "${i.artifactId}" format "${n}" could not be read.`,hint:"Retry retrieval or rebuild the artifact."})]}})}),nS=o.fn("codeMode.applyDiagramPatch.workflow")(function*(e){let t,a=l.q$Z(n_)(e),s=o8.oJ(a)?yield*nL(a.success.source.scene,"source.scene"):void 0;if(s)return yield*new rj({status:"invalid_input",context:{issues:[s]}});let i=l.q$Z(sj,{errors:"all",reportInput:!0})(e);if(!o8.oJ(i))return yield*new rj({status:"invalid_input",context:{issues:rQ(tH(i.failure))}});let r=yield*rL,n=i.success,c=yield*o.OH5(()=>r.createId("patch")),d={patchId:c,...nm(n.requestId)},p=yield*nv(n).pipe(o.xm_(e=>new rj({status:e.status,context:{...d,...e.context}}))),g={...d,...p.sourceArtifactId?{sourceArtifactId:p.sourceArtifactId}:{}},h=p.scene;if(h.elements.length>eY.maxElements)t=[{code:"limit_exceeded",message:`Canvas exceeds ${eY.maxElements} elements.`,path:"elements"}];else{let e=r9(h);t=e?e0(e).filter(e=>"limit_exceeded"===e.code):[]}if(t.length>0)return yield*new rj({status:"invalid_input",context:{...g,issues:r7(t)}});let u=nt(h),f=[];for(let e of n.operations)if((f=function(e,t){switch(t.op){case"setDefaultStyle":case"setStyle":if(t.style.backgroundColor&&(e.backgroundColor=t.style.backgroundColor),"setDefaultStyle"===t.op){for(let a of(t.style.strokeColor&&(e.accentColor=t.style.strokeColor),na(e)))t.style.fillColor&&(a.fillColor=t.style.fillColor),t.style.strokeColor&&(a.strokeColor=t.style.strokeColor),t.style.textColor&&(a.textColor=t.style.textColor);for(let a of nl(e))t.style.strokeColor&&(a.strokeColor=t.style.strokeColor),t.style.textColor&&(a.textColor=t.style.textColor);for(let a of ns(e))t.style.textColor&&(a.textColor=t.style.textColor);return[]}let a=no(e,t.selector);if(0===a.nodes.length&&0===a.arrows.length&&0===a.texts.length)return[nr(t)];for(let s of a.nodes)if(t.style.fillColor&&(s.fillColor=t.style.fillColor),t.style.strokeColor&&(s.strokeColor=t.style.strokeColor),t.style.textColor){s.textColor=t.style.textColor;let a=nn(e,s.id);a&&(a.textColor=t.style.textColor)}for(let s of a.arrows)if(t.style.strokeColor&&(s.strokeColor=t.style.strokeColor),t.style.textColor){s.textColor=t.style.textColor;let a=nn(e,s.id);a&&(a.textColor=t.style.textColor)}for(let e of a.texts)t.style.textColor&&(e.textColor=t.style.textColor);return[];case"setShape":let s=no(e,t.selector);if(0===s.nodes.length)return[nr(t)];let l=[];for(let a of s.nodes){if(a.shape=t.shape,"polygon"===t.shape?a.points=[{x:a.width/2,y:0},{x:a.width,y:a.height/2},{x:a.width/2,y:a.height},{x:0,y:a.height/2}]:delete a.points,"circle"===t.shape){let e=Math.max(a.width,a.height);a.x-=(e-a.width)/2,a.y-=(e-a.height)/2,a.width=e,a.height=e,l.push(a.nodeId)}!function(e,t){let a=nn(e,t.id);a&&(a.x=t.x+t.width/2,a.y=t.y+t.height/2)}(e,a)}return nc(e,l),[];case"translate":return function(e,t){let a=no(e,t.selector);if(0===a.nodes.length&&0===a.arrows.length&&0===a.texts.length)return[nr(t)];let s=new Set,l=new Set;for(let i of a.nodes){i.x+=t.dx,i.y+=t.dy,s.add(i.nodeId);let a=nn(e,i.id);a&&(a.x+=t.dx,a.y+=t.dy,l.add(a.id))}for(let s of a.arrows){s.points=s.points.map(e=>{var a,s;return a=t.dx,s=t.dy,{x:e.x+a,y:e.y+s}});let a=nn(e,s.id);a&&(a.x+=t.dx,a.y+=t.dy,l.add(a.id))}for(let e of a.texts)l.has(e.id)||(e.x+=t.dx,e.y+=t.dy);return nc(e,[...s]),nh(e),[]}(e,t);case"replaceText":let i=no(e,t.selector);if(0===i.nodes.length&&0===i.arrows.length&&0===i.texts.length)return[nr(t)];for(let a of i.nodes){a.label=t.text;let s=nn(e,a.id);s&&(s.text=t.text)}for(let a of i.arrows){a.label=t.text;let s=nn(e,a.id);s&&(s.text=t.text)}for(let e of i.texts)e.text=t.text;return[];case"rerouteEdges":let o;return 0===(o=no(e,t.selector)).arrows.length?[nr(t)]:o.arrows.flatMap(t=>ng(e,t));case"insert":let r=new Set(e.elements.map(e=>e.id)),n=t.elements.map(e=>e.id);if(new Set(n).size!==n.length||n.some(e=>r.has(e)))return nf(t,"Inserted elements must use ids that are unique within the canvas.");let c=nu(e.zOrder,t.beforeId,t.afterId);return void 0===c?nf(t,"Insert specifies an unknown anchor or both beforeId and afterId."):(e.elements.push(...t.elements.map(e=>structuredClone(e))),e.zOrder.splice(c,0,...n),[]);case"remove":return function(e,t){let a,s=function(e,t){let a=no(e,t),s=new Set([...a.nodes.map(e=>e.id),...a.arrows.map(e=>e.id),...a.texts.map(e=>e.id)]),l=new Set(t.ids??[]);for(let t of e.elements)l.has(t.id)&&s.add(t.id);return s}(e,t.selector);if(0===s.size)return[nr(t)];let l=new Set(e.elements.flatMap(e=>"node"===e.type&&s.has(e.id)?[e.nodeId]:[]));do for(let t of(a=s.size,e.elements))("text"===t.type&&(t.containerId&&s.has(t.containerId)||nl(e).some(a=>s.has(a.id)&&nn(e,a.id)?.id===t.id))||"arrow"===t.type&&(l.has(t.sourceNodeId)||l.has(t.targetNodeId))||"line"===t.type&&(t.startBinding&&s.has(t.startBinding.elementId)||t.endBinding&&s.has(t.endBinding.elementId)))&&s.add(t.id);while(s.size!==a)let i=e.elements.filter(e=>!s.has(e.id)).map(e=>{if(e.frameId&&s.has(e.frameId)){let{frameId:t,...a}=e;return a}return e});e.elements.splice(0,e.elements.length,...i);let o=e.zOrder.filter(e=>!s.has(e));e.zOrder.splice(0,e.zOrder.length,...o);let r=e.layouts.map(e=>({...e,ids:e.ids.filter(e=>!s.has(e))})).filter(e=>e.ids.length>0);return e.layouts.splice(0,e.layouts.length,...r),nh(e),[]}(e,t);case"replace":let d;return(d=e.elements.findIndex(e=>e.id===t.id))<0?[nr(t)]:t.element.id!==t.id?nf(t,"Replacement element id must match the stable id being replaced."):(e.elements.splice(d,1,structuredClone(t.element)),nh(e),[]);case"reorder":let p=new Set(t.ids);if(p.size!==t.ids.length||t.ids.some(t=>!e.zOrder.includes(t)))return nf(t,"Reorder ids must be unique ids already present in zOrder.");let g=e.zOrder.filter(e=>!p.has(e)),h=nu(g,t.beforeId,t.afterId);return void 0===h?nf(t,"Reorder specifies an unknown anchor or both beforeId and afterId."):(g.splice(h,0,...t.ids),e.zOrder.splice(0,e.zOrder.length,...g),[]);case"group":case"ungroup":let u=new Set(t.ids);if(t.ids.some(t=>!e.elements.some(e=>e.id===t)))return[nr(t)];let f=e.elements.map(e=>u.has(e.id)?"group"===t.op?{...e,groupIds:[...new Set([...e.groupIds??[],t.groupId])]}:{...e,groupIds:t.groupId?(e.groupIds??[]).filter(e=>e!==t.groupId):[]}:e);return e.elements.splice(0,e.elements.length,...f),[]}}(h,e)).length>0)break;if(f.length>0)return yield*new rj({status:f[0]?.code==="unknown_patch_target"?"target_not_found":"unsupported_operation",context:{...g,issues:f}});if(n.options?.preserveConnectivity!==!1){let e=nt(h);if(!(u.length===e.length&&u.every((t,a)=>t===e[a])))return yield*new rj({status:"connectivity_changed",context:{...g,issues:[rN({code:"patch_preserve_connectivity_failed",stage:"flowchart",ref:{kind:"diagram",id:h.diagramId},message:"Patch changed the diagram edge connectivity.",hint:"Use buildFlowchart for process-graph structure or buildMindmap for hierarchy structure."})]}})}let v=r9(h);if(!v)return yield*new rj({status:"render_failed",context:{...g,issues:[rN({code:"patch_output_invalid",stage:"render",ref:{kind:"diagram",id:h.diagramId},message:"Patched scene has an invalid arrow point list.",hint:"Reroute edges or rebuild the flowchart artifact."})]}});let m=yield*rv(v,r.icons),y=m.scene,w=e0(y);if(w.length>0)return yield*new rj({status:"render_failed",context:{...g,partial:ny(y),issues:[...m.issues,...r7(w)]}});let x={...g,partial:ny(y)},b=yield*nb({scene:y,formats:r3(n.options),inlineFormats:r5(n.options),...n.requestId?{requestId:n.requestId}:{},validationIssues:r8,...p.sourceArtifactId?{provenance:{sourceArtifactId:p.sourceArtifactId}}:{}}).pipe(o.xm_(e=>new rj({status:e.status,context:{..."export_failed"===e.status?x:g,issues:e.issues}})));return{ok:!0,status:"accepted",patchId:c,...nm(n.requestId),...p.sourceArtifactId?{sourceArtifactId:p.sourceArtifactId}:{},artifact:b,issues:m.issues}}),nV=o.fn("codeMode.searchIcons.workflow")(function*(e){let t=l.q$Z(lg,{errors:"all",reportInput:!0})(e);if(!o8.oJ(t))return yield*new rR({status:"invalid_input",context:{issues:rQ(tH(t.failure))}});let a=yield*rL,s=tB(t.success.q),i=a.icons?.search(s,t.success.limit??10)??[];return{ok:!0,status:"accepted",query:s,icons:i.map(({collection:e,name:t,slug:a})=>({collection:e,name:t,slug:a})),issues:a.icons?[]:[rN({code:"unknown_icon",severity:"warning",stage:"input",ref:{kind:"request",path:"q"},message:"This Sketchi runtime has no icon catalog.",hint:"Omit node icons on this host."})]}});function nH(e,t,a){return o.fn(`codeMode.${e}`)(s=>{var l,i,n;let c,d,p,g;return l=e,i=s,n=t(s).pipe(o.YWq({onFailure:a,onSuccess:e=>e})),o6(o.JkU(function*(){let e=yield*r.Ru,t=yield*n,a=yield*r.Ru,s=t.ok?"success":"failure",i=t.ok?void 0:t.status??"unknown_failure";yield*o7(rM,1,{...i?{failureCategory:i}:{},operation:l,outcome:s,surface:"code_mode"}),yield*o7(r_,a-e,{...i?{failureCategory:i}:{},operation:l,outcome:s,surface:"code_mode"}),i&&(yield*o7(rC,1,{failureCategory:i,operation:l,surface:"code_mode"}));let o="buildFlowchart"===l?"flowchart":"buildMindmap"===l?"mindmap":"buildSequenceDiagram"===l?"sequence":"buildTimeline"===l?"timeline":"createCanvas"===l?"canvas":"applyDiagramPatch"===l?"patch":void 0;return t.ok&&o&&(yield*o7(rz,1,{artifactKind:o,operation:l,surface:"code_mode"})),t}),(c=rA(i),d=rA(c?.source),p="string"==typeof c?.artifactId?c.artifactId:"string"==typeof d?.artifactId?d.artifactId:void 0,g="string"==typeof c?.requestId?c.requestId:void 0,{...p?{artifactId:p}:{},...g?{requestId:g}:{}}))})}let nq=nH("buildFlowchart",nA,nw),nF=nH("buildMindmap",nk,nw),nI=nH("buildSequenceDiagram",nM,nw),nU=nH("buildTimeline",nC,nw);nH("createCanvas",nB,nw),nH("getArtifact",nP,nw),nH("searchIcons",nV,nw);let nO=nH("applyDiagramPatch",nS,nw),nE=g,nX={flowchart:aB,mindmap:a0,sequence:aH,timeline:aF};function nY(e){return nE.some(t=>t===e)}function nZ(e,t){let a={spec:e.spec,...t?{options:t}:{}};switch(e.type){case"flowchart":return nq(a);case"mindmap":return nF(a);case"sequence":return nI(a);case"timeline":return nU(a)}}},4733(e,t,a){function s(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function l(e){return Array.isArray(e)&&e.every(e=>"string"==typeof e)}function i(e){var t;return s(e)&&l(e.aliases)&&"number"==typeof e.bytes&&"string"==typeof e.collection&&l(e.keywords)&&"string"==typeof e.name&&"string"==typeof e.slug&&"string"==typeof e.svgPath&&(void 0===e.variant||"string"==typeof e.variant)&&s(t=e.viewBox)&&"number"==typeof t.height&&"number"==typeof t.minX&&"number"==typeof t.minY&&"number"==typeof t.width}function o(e){if(!s(e)||1!==e.version||!Array.isArray(e.icons)||!e.icons.every(i)||!s(e.summary)||"number"!=typeof e.summary.totalIcons||void 0!==e.generatedAt&&"string"!=typeof e.generatedAt)throw Error("Icon manifest does not match the public contract.");return{..."string"==typeof e.generatedAt?{generatedAt:e.generatedAt}:{},icons:e.icons,summary:{collectionCounts:function(e){if(!s(e))throw Error("Icon manifest collection counts are invalid.");let t={};for(let[a,s]of Object.entries(e)){if("number"!=typeof s)throw Error(`Icon manifest count for ${a} is invalid.`);t[a]=s}return t}(e.summary.collectionCounts),totalIcons:e.summary.totalIcons},version:1}}function r(e){return"gcp"===e?"Google Cloud":"gcp-legacy"===e?"Google Cloud Classic":e.split("-").map(e=>["ai","ci","iot","paas"].includes(e)?e.toUpperCase():e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}a.d(t,{L:()=>o,y:()=>r})},8713(e,t,a){let s=/<svg\b[^>]*>/u,l=/\sviewBox\s*=\s*(["'])([^"']*)\1/u;function i(e){return void 0===e.variant&&e.bytes<=65536}function o(e){let t=s.exec(e);if(!t)throw Error("Node logo source has no <svg> root element.");let a=t[0],i=l.exec(a)?.[2]?.trim().split(/[\s,]+/u).map(Number);if(!i||4!==i.length||i.some(e=>!Number.isFinite(e))||!((i[2]??0)>0&&(i[3]??0)>0))throw Error("Node logo source has no valid viewBox.");let o=[/\sxmlns\s*=/u.test(a)?"":' xmlns="http://www.w3.org/2000/svg"',/\swidth\s*=/u.test(a)?"":` width="${i[2]}"`,/\sheight\s*=/u.test(a)?"":` height="${i[3]}"`].join("");if(!o)return e;let r=t.index+4;return`${e.slice(0,r)}${o}${e.slice(r)}`}a.d(t,{Bn:()=>o,nC:()=>i})},9095(e){e.exports=JSON.parse('[{"name":"Agola CI","constant":"AGOLA","env":"AGOLA_GIT_REF","pr":"AGOLA_PULL_REQUEST_ID"},{"name":"Alpic","constant":"ALPIC","env":"ALPIC_HOST"},{"name":"Appcircle","constant":"APPCIRCLE","env":"AC_APPCIRCLE","pr":{"env":"AC_GIT_PR","ne":"false"}},{"name":"AppVeyor","constant":"APPVEYOR","env":"APPVEYOR","pr":"APPVEYOR_PULL_REQUEST_NUMBER"},{"name":"AWS CodeBuild","constant":"CODEBUILD","env":"CODEBUILD_BUILD_ARN","pr":{"env":"CODEBUILD_WEBHOOK_EVENT","any":["PULL_REQUEST_CREATED","PULL_REQUEST_UPDATED","PULL_REQUEST_REOPENED"]}},{"name":"Azure Pipelines","constant":"AZURE_PIPELINES","env":"TF_BUILD","pr":{"BUILD_REASON":"PullRequest"}},{"name":"Bamboo","constant":"BAMBOO","env":"bamboo_planKey"},{"name":"Bitbucket Pipelines","constant":"BITBUCKET","env":"BITBUCKET_COMMIT","pr":"BITBUCKET_PR_ID"},{"name":"Bitrise","constant":"BITRISE","env":"BITRISE_IO","pr":"BITRISE_PULL_REQUEST"},{"name":"Buddy","constant":"BUDDY","env":"BUDDY_WORKSPACE_ID","pr":"BUDDY_EXECUTION_PULL_REQUEST_ID"},{"name":"Buildkite","constant":"BUILDKITE","env":"BUILDKITE","pr":{"env":"BUILDKITE_PULL_REQUEST","ne":"false"}},{"name":"CircleCI","constant":"CIRCLE","env":"CIRCLECI","pr":"CIRCLE_PULL_REQUEST"},{"name":"Cirrus CI","constant":"CIRRUS","env":"CIRRUS_CI","pr":"CIRRUS_PR"},{"name":"Cloudflare Pages","constant":"CLOUDFLARE_PAGES","env":"CF_PAGES"},{"name":"Cloudflare Workers","constant":"CLOUDFLARE_WORKERS","env":"WORKERS_CI"},{"name":"Codefresh","constant":"CODEFRESH","env":"CF_BUILD_ID","pr":{"any":["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{"name":"Codemagic","constant":"CODEMAGIC","env":"CM_BUILD_ID","pr":"CM_PULL_REQUEST"},{"name":"Codeship","constant":"CODESHIP","env":{"CI_NAME":"codeship"}},{"name":"Drone","constant":"DRONE","env":"DRONE","pr":{"DRONE_BUILD_EVENT":"pull_request"}},{"name":"dsari","constant":"DSARI","env":"DSARI"},{"name":"Earthly","constant":"EARTHLY","env":"EARTHLY_CI"},{"name":"Expo Application Services","constant":"EAS","env":"EAS_BUILD"},{"name":"Gerrit","constant":"GERRIT","env":"GERRIT_PROJECT"},{"name":"Gitea Actions","constant":"GITEA_ACTIONS","env":"GITEA_ACTIONS"},{"name":"GitHub Actions","constant":"GITHUB_ACTIONS","env":"GITHUB_ACTIONS","pr":{"GITHUB_EVENT_NAME":"pull_request"}},{"name":"GitLab CI","constant":"GITLAB","env":"GITLAB_CI","pr":"CI_MERGE_REQUEST_ID"},{"name":"GoCD","constant":"GOCD","env":"GO_PIPELINE_LABEL"},{"name":"Google Cloud Build","constant":"GOOGLE_CLOUD_BUILD","env":"BUILDER_OUTPUT"},{"name":"Harness CI","constant":"HARNESS","env":"HARNESS_BUILD_ID"},{"name":"Heroku","constant":"HEROKU","env":{"env":"NODE","includes":"/app/.heroku/node/bin/node"}},{"name":"Hudson","constant":"HUDSON","env":"HUDSON_URL"},{"name":"Jenkins","constant":"JENKINS","env":["JENKINS_URL","BUILD_ID"],"pr":{"any":["ghprbPullId","CHANGE_ID"]}},{"name":"LayerCI","constant":"LAYERCI","env":"LAYERCI","pr":"LAYERCI_PULL_REQUEST"},{"name":"Magnum CI","constant":"MAGNUM","env":"MAGNUM"},{"name":"Netlify CI","constant":"NETLIFY","env":"NETLIFY","pr":{"env":"PULL_REQUEST","ne":"false"}},{"name":"Nevercode","constant":"NEVERCODE","env":"NEVERCODE","pr":{"env":"NEVERCODE_PULL_REQUEST","ne":"false"}},{"name":"Prow","constant":"PROW","env":"PROW_JOB_ID"},{"name":"ReleaseHub","constant":"RELEASEHUB","env":"RELEASE_BUILD_ID"},{"name":"Render","constant":"RENDER","env":"RENDER","pr":{"IS_PULL_REQUEST":"true"}},{"name":"Sail CI","constant":"SAIL","env":"SAILCI","pr":"SAIL_PULL_REQUEST_NUMBER"},{"name":"Screwdriver","constant":"SCREWDRIVER","env":"SCREWDRIVER","pr":{"env":"SD_PULL_REQUEST","ne":"false"}},{"name":"Semaphore","constant":"SEMAPHORE","env":"SEMAPHORE","pr":"PULL_REQUEST_NUMBER"},{"name":"Sourcehut","constant":"SOURCEHUT","env":{"CI_NAME":"sourcehut"}},{"name":"Strider CD","constant":"STRIDER","env":"STRIDER"},{"name":"TaskCluster","constant":"TASKCLUSTER","env":["TASK_ID","RUN_ID"]},{"name":"TeamCity","constant":"TEAMCITY","env":"TEAMCITY_VERSION"},{"name":"Travis CI","constant":"TRAVIS","env":"TRAVIS","pr":{"env":"TRAVIS_PULL_REQUEST","ne":"false"}},{"name":"Vela","constant":"VELA","env":"VELA","pr":{"VELA_PULL_REQUEST":"1"}},{"name":"Vercel","constant":"VERCEL","env":{"any":["NOW_BUILDER","VERCEL"]},"pr":"VERCEL_GIT_PULL_REQUEST_ID"},{"name":"Visual Studio App Center","constant":"APPCENTER","env":"APPCENTER_BUILD_ID"},{"name":"Woodpecker","constant":"WOODPECKER","env":{"CI":"woodpecker"},"pr":{"CI_BUILD_EVENT":"pull_request"}},{"name":"Xcode Cloud","constant":"XCODE_CLOUD","env":"CI_XCODE_PROJECT","pr":"CI_PULL_REQUEST_NUMBER"},{"name":"Xcode Server","constant":"XCODE_SERVER","env":"XCS"}]')}},r={};function n(e){var t=r[e];if(void 0!==t)return t.exports;var a=r[e]={exports:{}};return o[e].call(a.exports,a,a.exports,n),a.exports}n.m=o,n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},s=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,n.t=function(e,t){if(1&t&&(e=this(e)),8&t||"object"==typeof e&&e&&(4&t&&e.__esModule||16&t&&"function"==typeof e.then))return e;var l=Object.create(null);n.r(l);var i={};a=a||[null,s({}),s([]),s(s)];for(var o=2&t&&e;("object"==typeof o||"function"==typeof o)&&!~a.indexOf(o);o=s(o))Object.getOwnPropertyNames(o).forEach(t=>{i[t]=()=>e[t]});return i.default=()=>e,n.d(l,i),l},n.d=(e,t,a)=>{var s=(t,a)=>{for(var s in t)n.o(t,s)&&!n.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,[a]:t[s]})};s(t,"get"),s(a,"value")},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce((t,a)=>(n.f[a](e,t),t),[])),n.u=e=>"chunks/"+e+"."+({548:"7c734cd41f2be66d",712:"c9f90bea59c7bb4a"})[e]+".js",n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nc=void 0,l={889:0},i=e=>{var t,a,s=e.__rspack_esm_ids,i=e.__webpack_modules__,o=e.__rspack_esm_runtime,r=0;for(t in i)n.o(i,t)&&(n.m[t]=i[t]);for(o&&o(n);r<s.length;r++)a=s[r],n.o(l,a)&&l[a]&&l[a][0](),l[s[r]]=0},n.f.j=function(e,t){var a=n.o(l,e)?l[e]:void 0;if(0!==a)if(a)t.push(a[1]);else{var s=import("./"+n.u(e)).then(i,t=>{throw 0!==l[e]&&(l[e]=void 0),t}),s=Promise.race([s,new Promise(t=>{a=l[e]=[t]})]);t.push(a[1]=s)}},n(2141);
248
+ ${t}}`),s},ey="~effect/Fiber",ew={_A:m.D_,_E:m.D_},ex={id:0},eb=(()=>{try{return globalThis.process?.getBuiltinModule?.("node:async_hooks")?.AsyncResource}catch{return}})(),ek=()=>void 0===eb?void 0:new eb("effect/Fiber"),eM=()=>globalThis[B.fL];class eC{constructor(e,t=!0){this.setContext(e),this.id=++ex.id,this.currentOpCount=0,this.interruptible=t,this._stack=[],this._observers=void 0,this._exit=void 0,this._children=void 0,this._interruptedCause=void 0,this._yielded=void 0,this._running=!1,this._deferredInterrupt=!1,this._parent=void 0,this._asyncContext=void 0,this.cache.runtimeMetrics?.recordFiberStart(this.context)}get[ey](){return ew}get currentDispatcher(){return this._dispatcher??=this.cache.scheduler.makeDispatcher()}getRef(e){return u.Jt(this.context,e)}addObserver(e){return this._exit?(e(this._exit),m.Yi):(void 0===this._observers?this._observers=[e]:this._observers.push(e),()=>this.removeObserver(e))}removeObserver(e){if(this._exit||void 0===this._observers)return;let t=this._observers.indexOf(e);t>=0&&this._observers.splice(t,1)}interruptUnsafe(e,t){if(this._exit)return;let a=G(e);this.cache.stackFrame&&(a=(0,V.Eh)(a,u.L8(V.z8,this.cache.stackFrame))),t&&(a=(0,V.Eh)(a,t)),this._interruptedCause=this._interruptedCause?(0,V.h2)(this._interruptedCause,a):a,this.interruptible&&(this._running?this._deferredInterrupt=!0:this.evaluate(eX(this._interruptedCause)))}pollUnsafe(){return this._exit}evaluate(e){if(this._exit)return;if(void 0!==this._asyncContext){let t=this._asyncContext;return this._asyncContext=void 0,t.runInAsyncScope(this.evaluate,this,e)}if(void 0!==this._yielded){let e=this._yielded;this._yielded=void 0,e()}let t=this.runLoop(e);if(t===V.GN){this._asyncContext=ek();return}let a=eB.interruptChildren&&eB.interruptChildren(this);if(void 0!==a)return this.evaluate(tV(a,()=>t));if(this._exit=t,this.cache.runtimeMetrics?.recordFiberEnd(this.context,this._exit),this._parent&&(this._parent._children?.delete(this),this._parent=void 0),void 0!==this._observers){let e=this._observers;this._observers=void 0;for(let a=0;a<e.length;a++)e[a](t)}this._stack.length=0,this._children=void 0,this.context=u.Ie()}runLoop(e){let t=globalThis[B.fL];globalThis[B.fL]=this;let a=this._running;this._running=!0;let s=!1,l=e;this.currentOpCount=0;try{for(;;){this._deferredInterrupt&&(this._deferredInterrupt=!1,l=eX(this._interruptedCause)),this.currentOpCount++;let e=this.cache;if(!s&&!e.preventYield&&e.scheduler.shouldYield(this)){s=!0;let e=l;l=tV(e$,()=>e)}if((l=e.tracerContext?e.tracerContext(l,this):l[V._3](this))===V.GN){let e=this._yielded;if(V.IH in e)return this._deferredInterrupt=!1,this._yielded=void 0,e;if(this._deferredInterrupt){this._yielded=void 0,e();continue}return V.GN}}}catch(e){if(!(0,w.i5)(l,V._3))return(0,V.V2)(`Fiber.runLoop: Not a valid effect: ${String(l)}`);return this.runLoop((0,V.V2)(e))}finally{this._running=a,globalThis[B.fL]=t}}getCont(e){if(this._deferredInterrupt)return this._deferredInterrupt=!1,e_;for(;;){let t=this._stack.pop();if(!t)return;let a=t[V.u4];if(void 0!==a){let s=a.call(t,this);if(s)return s[e]=s,s}if(t[e])return t}}succeedWith(e){if((++this.currentOpCount&eL-1)==0)return(0,V.xt)(e);let t=this.getCont(V.ee);return t?t[V.ee](e,this):this.yieldWith((0,V.xt)(e))}yieldWith(e){return this._yielded=e,V.GN}children(){return this._children??=new Set}pipe(){return(0,L.tT)(this,arguments)}setContext(e){let t=this.context;if(this.context=e,void 0!==t&&u.Pf(t,e))return;let a=e.cacheRoot,s=a._fiberCache??=ez(e);this.cache?.scheduler!==s.scheduler&&(this._dispatcher=void 0),this.cache=s}get currentSpanLocal(){let e=this.cache.span;return e?._tag==="Span"?e:void 0}}let ez=e=>{let t=u.Ub(e,P.RL);return{scheduler:u.Jt(e,A._F),tracer:t,tracerContext:t?t.context:void 0,tracerEnabled:u.Jt(e,I.rf),span:u.Ub(e,P.WG),logLevel:u.Jt(e,I.Gl),minimumLogLevel:u.Jt(e,I.zQ),stackFrame:u.Jt(e,I.vA),runtimeMetrics:u.Ub(e,q.F),maxOpsBeforeYield:u.Jt(e,A.Zm),preventYield:u.Jt(e,A.hf)}},e_={[V.ee]:(e,t)=>eX(t._interruptedCause),[V.Sc]:(e,t)=>eX(t._interruptedCause)},eL=32,eB={interruptChildren:void 0},eA=e=>{if(!e.cache.stackFrame)return;let t=new Map;return t.set(V.QJ.key,e.cache.stackFrame),u.LZ(t)},eP=e=>{if(void 0!==e._children&&0!==e._children.size)return eU(e._children)},eS=e=>e._exit?eE(e._exit):te(t=>e._exit?t(eE(e._exit)):eZ(e.addObserver(e=>t(eE(e))))),eV=e=>te(t=>{let a,s=e[Symbol.iterator](),l=[];return!function e(){let i=s.next();for(;!i.done;){if(i.value._exit){l.push(i.value._exit),i=s.next();continue}a=i.value.addObserver(t=>{l.push(t),e()});return}t(eE(l))}(),eZ(()=>a?.())}),eH=e=>e._exit?e._exit:te(t=>e._exit?t(e._exit):eZ(e.addObserver(t))),eq=e=>te(t=>{let a=Array.from(e);if(0===a.length)return t(eE(h.Ie()));let s=Array(a.length),l=h.Ie(),i=()=>{for(let e=0;e<l.length;e++)a[e].removeObserver(l[e])},o=0,r=!1;for(let e=0;e<a.length&&!r;e++){let n=l=>{if(o++,"Failure"===l._tag)return r=!0,i(),t(l);s[e]=l.value,o===a.length&&t(eE(s))};l.push(n),a[e].addObserver(n)}return eZ(()=>{r=!0,i()})}),eF=e=>(0,V.R6)(t=>eI(e,t.id)),eI=(0,m.XY)(e=>(0,w.i5)(e[0],ey),(e,t,a)=>(0,V.R6)(s=>{let l=eA(s);return l=l&&a?u.h1(l,a):l??a,e.interruptUnsafe(t,l),t_(eS(e))})),eU=e=>(0,V.R6)(t=>{let a=eA(t),s=h.Ie();for(let l of e)l.interruptUnsafe(t.id,a),s.push(l);return t_(eV(s))}),eO=(0,m.XY)(2,(e,t)=>(0,V.R6)(a=>{let s=eA(a),l=h.Ie();for(let a of e)a.interruptUnsafe(t,s),l.push(a);return t_(eV(l))})),eE=V.xt,eX=V.cb,eY=V.Rk,eZ=(0,V.Uf)({op:"Sync",[V._3](e){let t=this[V.a2](),a=e.getCont(V.ee);return a?a[V.ee](t,e):e.yieldWith((0,V.xt)(t))}}),eG=(0,V.Uf)({op:"Suspend",[V._3](e){return this[V.a2]()}}),eT=(0,m.XY)(e=>e.length>=2||y.isOption(e[0]),(e,t)=>y.isNone(e)?eY(t?t():new V.Xm("Effect.fromOption: Option.none")):eE(e.value)),eD=x.YW({onFailure:eY,onSuccess:eE}),eR=e=>null==e?eY(new V.Xm):eE(e),ej=(0,V.Uf)({op:"Yield",[V._3](e){let t=!1;return e.currentDispatcher.scheduleTask(()=>{t||e.evaluate(t1)},this[V.a2]??0),e.yieldWith(()=>{t=!0})}}),e$=ej(0),eN=e=>eE(y.some(e)),eW=eE(y.none()),eJ=e=>y.isNone(e)?eW:tU(e.value,y.some),eK=e=>eG(()=>eX(e())),eQ=e=>(0,V.V2)(e),e1=e=>eG(()=>eY(e())),e0=eE(void 0),e2=e=>{let t="function"==typeof e?e:e.try,a="function"==typeof e?e=>new iI(e,"An error occurred in Effect.try"):e.catch;return eG(()=>{try{return eE(t())}catch(e){return eY(a(e))}})},e3=e=>e8(function(t,a){e(a).then(e=>t(eE(e)),e=>t(eQ(e)))},0!==e.length),e5=e=>{let t="function"==typeof e?e:e.try,a="function"==typeof e?e=>new iI(e,"An error occurred in Effect.tryPromise"):e.catch;return e8(function(e,s){let l=e=>eG(()=>{try{return eY((0,S.s)(()=>a(e)))}catch(e){return eQ(e)}});try{t(s).then(t=>e(eE(t)),t=>e(l(t)))}catch(t){e(l(t))}},0!==t.length)},e4=e=>(0,V.R6)(t=>e(t.id)),e6=(0,V.R6)(eE),e7=e4(eE),e8=(s=(0,V.yj)({op:"Async",[V._3](e){let t=!1,a=!1,s=this.withSignal?new AbortController:void 0,l=this.register.call(e.cache.scheduler,s=>{t||(t=!0,a?e.evaluate(s):a=s)},s?.signal);return!1!==a?a:(a=!0,e._yielded=()=>{t=!0},void 0===s&&void 0===l||e._stack.push(e9(()=>(t=!0,s?.abort(),l??t1))),V.GN)}}),(l=function(e,t){this.register=e,this.withSignal=t}).prototype=s,function(e,t){return new l(e,t)}),e9=(0,V.Uf)({op:"AsyncFinalizer",[V.u4](e){e.interruptible&&(e.interruptible=!1,e._stack.push(s2))},[V.Sc](e,t){return J(e)?tV(sv((0,V.cb)(e),this[V.a2]()),()=>eX(e)):eX(e)}}),te=e=>e8(e,e.length>=2),tt=te(m.Yi),ta=(...e)=>{if(1===e.length){let t=e[0];return eG(()=>td(t()))}let[t,a]=e;return eG(()=>td(a.call(t.self)))},ts=(e,...t)=>{let a=0===t.length?function(){return eG(()=>td(e.apply(this,arguments)))}:function(){let a=eG(()=>td(e.apply(this,arguments)));for(let e=0;e<t.length;e++)a=t[e](a,...arguments);return a};return tl(e.length,a)},tl=(e,t)=>Object.defineProperty(t,"length",{value:e,configurable:!0}),ti=E(2),to=function(){let e,t="string"==typeof arguments[0],a=t?arguments[0]:"Effect.fn",s=t?arguments[1]:void 0,l=(0,U.jt)();return(0!==l&&((0,U.ft)(2),e=new globalThis.Error,(0,U.ft)(l)),t)?(l,...i)=>tr(a,l,e,i,t,s):tr(a,arguments[0],e,Array.prototype.slice.call(arguments,1),t,s)},tr=(e,t,a,s,l,i)=>{let o="function"==typeof t?t:s.shift().bind(t.self),r=`${e} (definition)`,n=a?ti(()=>a.stack):m.MN;return tl(o.length,function(...t){let a,c=eG(()=>{let e=o.apply(this,arguments);return(0,V.yw)(e)?e:td(e)});for(let e=0;e<s.length;e++)c=s[e](c,...t);if(!(0,V.yw)(c))return c;let d=(0,U.jt)();return 0!==d&&((0,U.ft)(2),a=new globalThis.Error,(0,U.ft)(d)),ai(l?ia(e,i,e=>is(c,e)):c,I.vA,t=>({name:e,stack:a?ti(()=>a.stack):m.MN,parent:{name:r,stack:n,parent:t}}))})},tn=(e,...t)=>tl(e.length,0===t.length?function(){return tc(()=>e.apply(this,arguments))}:function(){let a=tc(()=>e.apply(this,arguments));for(let e of t)a=e(a,...arguments);return a}),tc=e=>{try{let t,a=e();for(;;){let s=a.next(t);if(s.done)return eE(s.value);let l=s.value;if(l&&"Success"===l._tag){t=l.value;continue}{if(l&&"Failure"===l._tag)return s.value;let t=!0;return eG(()=>t?(t=!1,tV(s.value,e=>td(a,e))):eG(()=>td(e())))}}}catch(e){return eQ(e)}},td=(i=(0,V.yj)({op:"Iterator",[V.ee](e,t){let a=this.iterator;for(;;){let s=a.next(e);if(s.done)return eE(s.value);if(!tq(s.value))return t._stack.push(this),s.value;if("Failure"===s.value._tag)return s.value;e=s.value.value}},[V._3](e){return this[V.ee](this.initial,e)}}),(o=function(e,t){this.iterator=e,this.initial=t}).prototype=i,function(e,t){return new o(e,t)}),tp=(0,m.XY)(2,(e,t)=>new tu(e,tf,eE(t))),tg=function(e){return e._stack.push(this),this[V.a2]},th=(0,V.yj)({op:"OnSuccess",[V._3]:tg}),tu=function(e,t,a){this[V.a2]=e,this[V.ee]=t,this.payload=a};tu.prototype=th;let tf=function(){return this.payload},tv=function(e,t){return t.succeedWith(this.payload)},tm=(r="~effect/Effect/stackProbe",({[r]:function(){return Error().stack}})[r]()?.includes("[as "+r+"]")===!0),ty=function(e,t){let a=this.payload;return t.succeedWith(tm?a(e):(0,S.s)(()=>a(e)))},tw=function(e){return(0,this.payload)(e)},tx=function(e){return new tu((0,this.payload)(e),tv,e)},tb=function(e){return new tu(this.payload,tv,e)},tk=e=>tU(e,y.some),tM=e=>a7(e,{onFailure:eE,onSuccess:eY}),tC=(0,m.XY)(2,(e,t)=>new tu(e,(0,V.yw)(t)?tf:tw,t)),tz=(0,m.XY)(2,(e,t)=>new tu(e,(0,V.yw)(t)?tb:tx,t)),t_=e=>new tu(e,tf,t1),tL=e=>ak(e,eY),tB=(e,t)=>(0,V.R6)(a=>{let s=new Set;return sU(a,()=>0===s.size?void 0:eU(s)),te(l=>{let i=h.Ts(e),o=i.length,r=0,n=!1,c=[],d=(e,s,i)=>{if(r++,"Failure"===e._tag){c.push(...e.cause.reasons),r>=o&&l(eX((0,V.b5)(c)));return}let d=!n;n=!0,l(e),d&&t?.onWinner&&t.onWinner({fiber:s,index:i,parentFiber:a})};for(let e=0;e<o;e++){let t=lB(a,i[e],!0,!0,!1);if(s.add(t),t.addObserver(a=>{s.delete(t),d(a,t,e)}),n)break}})}),tA=(e,t)=>(0,V.R6)(a=>{let s=new Set;return sU(a,()=>0===s.size?void 0:eU(s)),te(l=>{let i=!1,o=0;for(let r of e){if(i)break;let e=o++,n=lB(a,r,!0,!0,!1);s.add(n),n.addObserver(o=>{s.delete(n);let r=!i;i=!0,l(o),r&&t?.onWinner&&t.onWinner({fiber:n,index:e,parentFiber:a})})}})}),tP=(0,m.XY)(e=>(0,V.yw)(e[1]),(e,t,a)=>tB([e,t],a)),tS=(0,m.XY)(e=>(0,V.yw)(e[1]),(e,t,a)=>tA([e,t],a)),tV=(0,m.XY)(2,(e,t)=>new tu(e,tw,t)),tH=(0,m.XY)(2,(e,t)=>tq(e)?"Success"===e._tag?t.onSuccess(e.value):t.onFailure(e.cause):aQ(e,t)),tq=e=>void 0!==e[V.IH],tF=(0,m.XY)(2,(e,t)=>tq(e)?"Success"===e._tag?t(e.value):e:tV(e,t)),tI=e=>tV(e,m.D_),tU=(0,m.XY)(2,(e,t)=>new tu(e,ty,t)),tO=(0,m.XY)(2,(e,t)=>tq(e)?t0(e,t):tU(e,t)),tE=(0,m.XY)(2,(e,t)=>tq(e)?t2(e,t):aG(e,t)),tX=(0,m.XY)(2,(e,t)=>tq(e)?t3(e,t):aT(e,t)),tY=(0,m.XY)(2,(e,t)=>{if(tq(e)){if("Success"===e._tag)return e;let a=R(e.cause);return x.N6(a)?e:t(a.success)}return aL(e,t)}),tZ=e=>(0,V.cb)(G(e)),tG=e=>"Success"===e._tag,tT=e=>"Success"===e._tag?x.Py(e):x.fJ(e),tD=e=>"Success"===e._tag?x.Py(e.value):x.fJ(e),tR=e=>"Failure"===e._tag,tj=e=>"Failure"===e._tag?x.Py(e):x.fJ(e),t$=e=>"Failure"===e._tag?x.Py(e.cause):x.fJ(e),tN=b(t$,R),tW=b(t$,W),tJ=e=>"Failure"===e._tag&&J(e.cause),tK=e=>"Failure"===e._tag&&$(e.cause),tQ=e=>"Failure"===e._tag&&T(e.cause),t1=(0,V.xt)(void 0),t0=(0,m.XY)(2,(e,t)=>"Success"===e._tag?(0,V.xt)(t(e.value)):e),t2=(0,m.XY)(2,(e,t)=>{if("Success"===e._tag)return e;let a=R(e.cause);return x.N6(a)?e:(0,V.Rk)(t(a.success))}),t3=(0,m.XY)(2,(e,t)=>{if("Success"===e._tag)return(0,V.xt)(t.onSuccess(e.value));let a=R(e.cause);return x.N6(a)?e:(0,V.Rk)(t.onFailure(a.success))}),t5=(0,m.XY)(2,(e,t)=>tG(e)?(0,V.xt)(t):e),t4=(0,m.XY)(2,(e,t)=>tG(e)?t:e),t6=(0,m.XY)(2,(e,t)=>tG(e)?t.onSuccess(e.value):t.onFailure(e.cause)),t7=t5(void 0),t8=e=>{let t=[];for(let a of e)"Failure"===a._tag&&t.push(...a.cause.reasons);return 0===t.length?t1:(0,V.cb)((0,V.b5)(t))},t9=e=>tG(e)?y.some(e.value):y.none(),ae=e=>tR(e)?y.some(e.cause):y.none(),at=e=>{let t=tN(e);return x.N6(t)?y.none():y.some(t.success)},aa=e=>e,as=e=>(0,V.R6)(t=>eE(u.om(t.context,e))),al=(0,m.XY)(2,(e,t)=>(0,V.R6)(a=>{let s=a.context,l=t(s);return s===l||(a.setContext(l),sU(a,()=>{a.setContext(s)})),e})),ai=(0,m.XY)(3,(e,t,a)=>al(e,e=>{let s=u.fp(e,t),l=a(s);return s===l?e:u.WQ(e,t,l)})),ao=(e,t,a)=>s1((0,V.R6)(s=>{let l=u.fp(s.context,e),i=t(l);return s.setContext(u.WQ(s.context,e,i)),sx(u.fp(s.context,sg),t=>{let o,r=u.om(s.context,e);if(y.isNone(r))return e0;let n=r.value;if(a?.reset===void 0){if(n!==i)return e0;o=l}else o=a.reset(l,i,n);return s.setContext(u.WQ(s.context,e,o)),e0})})),ar=()=>an,an=(0,V.R6)(e=>eE(e.context)),ac=e=>(0,V.R6)(t=>e(t.context)),ad=(0,m.XY)(2,(e,t)=>al(e,(0,m.dY)(t))),ap=(0,m.XY)(2,(e,t)=>tq(e)?e:al(e,u.h1(t))),ag=function(){return 1==arguments.length?(0,m.XY)(2,(e,t)=>ah(e,arguments[0],t)):(0,m.XY)(3,(e,t,a)=>ah(e,t,a)).apply(this,arguments)},ah=(e,t,a)=>al(e,u.WQ(t,a)),au=(0,m.XY)(3,(e,t,a)=>tV(a,a=>ag(e,t,a))),af=(0,m.XY)(e=>(0,V.yw)(e[1]),(e,t,a)=>av(e,t,(e,t)=>[e,t],a)),av=(0,m.XY)(e=>(0,V.yw)(e[1]),(e,t,a,s)=>s?.concurrent?tU(le([e,t],{concurrency:2}),([e,t])=>a(e,t)):tV(e,e=>tU(t,t=>a(e,t)))),am=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t,a)=>lm(e,t,a?e=>eY(a(e)):()=>eY(new V.Xm))),ay=(0,m.XY)(2,(e,t)=>tV(t,t=>t?tk(e):eW)),aw=(0,m.XY)(2,(e,t)=>Array.from({length:t},()=>e)),ax=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t,a)=>le(aw(e,t),a)),ab=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t)=>ln({while:m.ue,body:(0,m.dY)(t?.disableYield?e:tV(e,e=>e$)),step:m.Yi})),ak=(0,m.XY)(2,(e,t)=>new aC(e,1!==t.length?e=>t(e):t)),aM=(0,V.yj)({op:"OnFailure",[V._3]:tg}),aC=function(e,t){this[V.a2]=e,this[V.Sc]=t};aC.prototype=aM;let az=(0,m.XY)(3,(e,t,a)=>ak(e,e=>t(e)?a(e):eX(e))),a_=(0,m.XY)(3,(e,t,a)=>ak(e,e=>{let s=t(e);return x.N6(s)?eX(s.failure):a(s.success,e)})),aL=(0,m.XY)(2,(e,t)=>a_(e,R,e=>t(e))),aB=e=>a7(e,{onFailure:e=>(0,V.PW)(e)?eW:eY(e),onSuccess:eN}),aA=(0,m.XY)(2,(e,t)=>a_(e,W,t)),aP=(0,m.XY)(2,(e,t)=>ak(e,e=>tC(t(e),eX(e)))),aS=(0,m.XY)(3,(e,t,a)=>az(e,t,e=>tC(a(e),eX(e)))),aV=(0,m.XY)(3,(e,t,a)=>ak(e,e=>{let s=t(e);return x.N6(s)?eX(e):tC(a(s.success,e),eX(e))})),aH=(0,m.XY)(2,(e,t)=>aV(e,R,e=>t(e))),aq=(0,m.XY)(3,(e,t,a)=>{let s=Array.isArray(t)?e=>(0,w.i5)(e,"_tag")&&t.includes(e._tag):(0,w.$J)(t);return aH(e,e=>s(e)?a(e):e0)}),aF=(0,m.XY)(2,(e,t)=>aV(e,W,e=>t(e))),aI=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t,a,s)=>ak(e,e=>{let l=R(e);return x.N6(l)?eX(l.failure):t(l.success)?a(l.success):s?s(l.success):eX(e)})),aU=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t,a,s)=>ak(e,e=>{let l=R(e);if(x.N6(l))return eX(l.failure);let i=t(l.success);return x.N6(i)?s?s(i.failure):eX(e):a(i.success)})),aO=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t,a,s)=>aI(e,Array.isArray(t)?e=>(0,w.i5)(e,"_tag")&&t.includes(e._tag):(0,w.$J)(t),a,s)),aE=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t,a)=>{let s;return aU(e,e=>(s??=Object.keys(t),(0,w.i5)(e,"_tag")&&(0,w.Kg)(e._tag)&&s.includes(e._tag)?x.Py(e):x.fJ(e)),e=>t[e._tag](e),a)}),aX=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t,a,s,l)=>aI(e,e=>(0,w.$J)(e,t)&&(0,w.i5)(e,"reason")&&(void 0!==l||(0,w.$J)(e.reason,a)),e=>{let t=e.reason;return(0,w.$J)(t,a)?s(t,e):l?l(t,e):eY(e)})),aY=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t,a,s)=>{let l;return aI(e,e=>(0,w.$J)(e,t)&&(0,w.i5)(e,"reason")&&(0,w.i5)(e.reason,"_tag")&&(0,w.Kg)(e.reason._tag)&&(void 0!==s||(l??=Object.keys(a)).includes(e.reason._tag)),e=>{let t=e.reason;return(l??=Object.keys(a)).includes(t._tag)?a[t._tag](t,e):s?s(t,e):eY(e)})}),aZ=(0,m.XY)(2,(e,t)=>aU(e,e=>(0,w.$J)(e,t)&&(0,w.i5)(e,"reason")?x.Py(e.reason):x.fJ(e),eY)),aG=(0,m.XY)(2,(e,t)=>aL(e,e=>e1(()=>t(e)))),aT=(0,m.XY)(2,(e,t)=>a7(e,{onFailure:e=>e1(()=>t.onFailure(e)),onSuccess:e=>eZ(()=>t.onSuccess(e))})),aD=e=>aL(e,eQ),aR=(0,m.XY)(2,(e,t)=>aL(e,e=>eZ(()=>t(e)))),aj=e=>eG(()=>{let t=e[Symbol.iterator](),a=t.next();return a.done?eQ(Error("Received an empty collection of effects")):function e(a){let s=t.next();return s.done?a.value:aL(a.value,t=>e(s))}(a)}),a$=e=>aL(e,t=>tV(e$,()=>a$(e))),aN=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t)=>{if(!t?.log)return a7(e,{onFailure:e=>e0,onSuccess:e=>e0});let a=iR(!0===t.log?void 0:t.log);return aQ(e,{onFailure(e){let s=D(e);return x.N6(s)?eX(s.failure):void 0===t.message?a(e):a(t.message,e)},onSuccess:e=>e0})}),aW=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t)=>{if(!t?.log)return aQ(e,{onFailure:e=>e0,onSuccess:e=>e0});let a=iR(!0===t.log?void 0:t.log);return aQ(e,{onFailure:e=>void 0===t.message?a(e):a(t.message,e),onSuccess:e=>e0})}),aJ=e=>a8(e,{onFailure:y.none,onSuccess:y.some}),aK=e=>a9(e,{onFailure:x.fJ,onSuccess:x.Py}),aQ=(0,m.XY)(2,(e,t)=>new a0(e,1!==t.onSuccess.length?e=>t.onSuccess(e):t.onSuccess,1!==t.onFailure.length?e=>t.onFailure(e):t.onFailure)),a1=(0,V.yj)({op:"OnSuccessAndFailure",[V._3]:tg}),a0=function(e,t,a){this[V.a2]=e,this[V.ee]=t,this[V.Sc]=a};a0.prototype=a1;let a2=function(e,t){let a=this.payload;return t.succeedWith(tm?a.onSuccess(e):(0,S.s)(()=>a.onSuccess(e)))},a3=(e,t)=>{let a=(0,V.yj)({op:e,[V._3]:tg,[V.ee]:a2,[V.Sc]:t}),s=function(e,t){this[V.a2]=e,this.payload=t};return s.prototype=a,s},a5=a3("Match",function(e,t){let a=e.reasons.find(V.lC);if(void 0===a)return eX(e);let s=this.payload;return t.succeedWith(tm?s.onFailure(a.error):(0,S.s)(()=>s.onFailure(a.error)))}),a4=a3("MatchCause",function(e,t){let a=this.payload;return t.succeedWith(tm?a.onFailure(e):(0,S.s)(()=>a.onFailure(e)))}),a6=(0,m.XY)(2,(e,t)=>new a4(e,t)),a7=(0,m.XY)(2,(e,t)=>aQ(e,{onFailure:e=>{let a=e.reasons.find(V.lC);return a?t.onFailure(a.error):eX(e)},onSuccess:t.onSuccess})),a8=(0,m.XY)(2,(e,t)=>new a5(e,t)),a9=(0,m.XY)(2,(e,t)=>{if(tq(e)){if("Success"===e._tag)return(0,V.xt)(t.onSuccess(e.value));let a=R(e.cause);return x.N6(a)?e:(0,V.xt)(t.onFailure(a.success))}return a8(e,t)}),se=(0,m.XY)(2,(e,t)=>tq(e)?"Success"===e._tag?(0,V.xt)(t.onSuccess(e.value)):(0,V.xt)(t.onFailure(e.cause)):a6(e,t)),st=e=>tq(e)?(0,V.xt)(e):sa(e),sa=(0,V.Uf)({op:"Exit",[V._3](e){return e._stack.push(this),this[V.a2]},[V.ee]:(e,t,a)=>t.succeedWith(a??(0,V.xt)(e)),[V.Sc]:(e,t,a)=>t.succeedWith(a??(0,V.cb)(e))}),ss=a9({onFailure:()=>!0,onSuccess:()=>!1}),sl=a9({onFailure:()=>!1,onSuccess:()=>!0}),si=(0,m.XY)(2,(e,t)=>tC(iy(t),e)),so=(0,m.XY)(2,(e,t)=>tV(sn(e,t.duration),e=>y.isNone(e)?t.orElse():eE(e.value))),sr=(0,m.XY)(2,(e,t)=>{let a=f.bN(t);return so(e,{duration:a,orElse:()=>eY(new iC(`Operation timed out after '${f.GP(a)}'`))})}),sn=(0,m.XY)(2,(e,t)=>tS(tk(e),tp(iy(t),y.none()))),sc=e=>im(t=>{let a=t.monotonicTimeNanosUnsafe();return tU(e,e=>[f.cF(t.monotonicTimeNanosUnsafe()-a),e])}),sd="~effect/Scope",sp="~effect/Scope/Closeable",sg=u.kl("effect/Scope"),sh=(e,t)=>(0,V.R6)(a=>{let s=su(e,t);return void 0===s?e0:(s4(a),s)}),su=(e,t)=>{let a=e.state;if("Closed"===a._tag||(e.state={_tag:"Closed",exit:t},void 0!==e.parent&&sM(e.parent,e),"Empty"===a._tag))return;if(void 0!==a.finalizer)return sf(a.finalizer,t);let s=a.finalizers;return 1===s.size?sf(s.values().next().value,t):sm(e,s,t)},sf=(e,t)=>{try{return e(t)}catch(e){return(0,V.V2)(e)}},sv=(e,t)=>tG(e)?t:ak(t,t=>eX((0,V.h2)(e.cause,t))),sm=ts(function*(e,t,a){let s=[],l=[],i=Array.from(t.values()),o=eM();for(let t=i.length-1;t>=0;t--){let r=i[t];"sequential"===e.strategy?s.push((yield*st(sf(r,a)))):l.push(lB(o,sf(r,a),!0,!0,"inherit"))}return l.length>0&&(s=yield*eV(l)),yield*t8(s)}),sy=(e,t)=>eZ(()=>sw(e,t)),sw=(e,t)=>{let a=sz(t,e);return"Closed"===e.state._tag?a.state=e.state:sk(e,a,e=>sh(a,e)),a},sx=(e,t)=>eG(()=>"Closed"===e.state._tag?t(e.state.exit):(sk(e,{},t),e0)),sb=(e,t)=>sx(e,(0,m.dY)(t)),sk=(e,t,a)=>{if("Empty"===e.state._tag)e.state={_tag:"Open",finalizerKey:t,finalizer:a,finalizers:void 0};else if("Open"===e.state._tag){let s=e.state;void 0!==s.finalizer&&(s.finalizers=new Map([[s.finalizerKey,s.finalizer]]),s.finalizerKey=void 0,s.finalizer=void 0),s.finalizers.set(t,a)}},sM=(e,t)=>{if("Open"!==e.state._tag)return;let a=e.state;a.finalizerKey===t?e.state=s_:void 0!==a.finalizers&&(a.finalizers.delete(t),0===a.finalizers.size&&(e.state=s_))},sC=e=>sz(e,void 0),sz=(e="sequential",t)=>({[sp]:sp,[sd]:sd,strategy:e,parent:t,state:s_}),s_={_tag:"Empty"},sL=e=>eZ(()=>sC(e)),sB=sg,sA=ag(sg),sP=e=>(0,V.R6)(t=>{let a=t.context,s=sC();return t.setContext(u.WQ(t.context,sg,s)),sU(t,e=>(t.setContext(a),su(s,e))),e}),sS=(0,m.XY)(2,(e,t)=>sO(sA(e,t),e=>eG(()=>su(t,e)??e0))),sV=e=>eG(()=>{let t=sC();return sO(e(t),e=>eG(()=>su(t,e)??e0))}),sH=(e,t,a)=>ac(s=>s7(l=>tV(sB,i=>tz(a?.interruptible?l(e):e,e=>sx(i,a=>ap(t(e,a),s)))))),sq=e=>tV(sB,t=>ac(a=>sx(t,t=>ap(e(t),a)))),sF=(n=(0,V.yj)({op:"OnExit",[V._3](e){return e._stack.push(this),this.effect},[V.u4](e){e.interruptible&&!0!==this.interruptible&&(e._stack.push(s2),e.interruptible=!1)},[V.ee](e,t,a){let s;a??=(0,V.xt)(e);try{s=this.onExit(a)}catch(e){s=(0,V.V2)(e)}return s?tV(s,e=>a):a},[V.Sc](e,t,a){let s;a??=(0,V.cb)(e);try{s=this.onExit(a)}catch(e){s=(0,V.V2)(e)}return s?tV(sv(a,s),e=>a):a}}),(c=function(e,t,a){this.effect=e,this.onExit=t,this.interruptible=a}).prototype=n,c),sI=(e,t,a)=>new sF(e,t,a),sU=(e,t)=>{e._stack.push(new sF(void 0,t,void 0))},sO=(0,m.XY)(2,sI),sE=(0,m.XY)(2,(e,t)=>sO(e,e=>t)),sX=(0,m.XY)(3,(e,t,a)=>sO(e,e=>t(e)?a(e):e0)),sY=(0,m.XY)(3,(e,t,a)=>sO(e,e=>{let s=t(e);return x.N6(s)?e0:a(s.success,e)})),sZ=(0,m.XY)(2,(e,t)=>sY(e,t$,t)),sG=(0,m.XY)(3,(e,t,a)=>sX(e,e=>"Failure"===e._tag&&t(e.cause),e=>a(e.cause))),sT=(0,m.XY)(3,(e,t,a)=>sO(e,e=>{if("Failure"!==e._tag)return e0;let s=t(e.cause);return x.N6(s)?e0:a(s.success,e.cause)})),sD=(0,m.XY)(2,(e,t)=>sT(Q,t)(e)),sR=(e,t,a)=>s7(s=>tV(e,e=>sI(eG(()=>s(t(e))),t=>a(e,t),!0))),sj=e=>sH(e,e=>(0,w.i5)(e,Symbol.asyncDispose)?e3(()=>e[Symbol.asyncDispose]()):eZ(()=>e[Symbol.dispose]())),s$=(0,m.XY)(2,(e,t)=>eZ(()=>sW(e,"function"==typeof t?e=>f.kE(f.bN(t(e))):(0,m.dY)(f.kE(f.bN(t)))))),sN=(0,m.dY)(1/0),sW=(e,t)=>{let a,s,l=0,i=(e,t)=>(t.awaiters++,sU(e,()=>{if(!(--t.awaiters>0)&&s===t)return s=void 0,eF(t.fiber)}),eH(t.fiber));return[(0,V.R6)(o=>{if(void 0!==s)return i(o,s);if(void 0!==a&&(1/0===l||o.getRef(ip).currentTimeMillisUnsafe()<l))return a;a=void 0;let r=o.getRef(ip),n={fiber:void 0,awaiters:0};return s=n,n.fiber=lB(o,sI(e,e=>{if(s!==n||(s=void 0,tJ(e)))return;let i=t(e);l=1/0===i?1/0:r.currentTimeMillisUnsafe()+i,a=e}),!0,!0),n.fiber._exit??i(o,n)}),eZ(()=>{a=void 0})]},sJ=(0,m.XY)(2,(e,t)=>tU(s$(e,t),e=>e[0])),sK=e=>eZ(()=>sW(e,sN)[0]),sQ=(0,V.R6)(e=>eX(G(e.id))),s1=e=>(0,V.R6)(t=>(t.interruptible&&(t.interruptible=!1,t._stack.push(s2)),e)),s0=(0,V.Uf)({op:"SetInterruptible",[V.u4](e){if(e.interruptible=this[V.a2],e._interruptedCause&&e.interruptible)return()=>eX(e._interruptedCause)}}),s2=s0(!0),s3=s0(!1),s5=e=>{if(e.interruptible=!0,e._stack.push(s3),e._interruptedCause)return eX(e._interruptedCause)},s4=e=>{e.interruptible&&(e.interruptible=!1,e._stack.push(s2))},s6=e=>(0,V.R6)(t=>t.interruptible?e:s5(t)??e),s7=e=>(0,V.R6)(t=>t.interruptible?(t.interruptible=!1,t._stack.push(s2),e(s6)):e(m.D_)),s8=e=>(0,V.R6)(t=>{if(t.interruptible)return e(m.D_);let a=s5(t),s=e(s1);return a??s}),s9=tU(sH(eZ(()=>new AbortController),e=>eZ(()=>e.abort())),e=>e.signal),le=(e,t)=>(0,w.xZ)(e)?t?.mode==="result"?lc(e,aK,t):lc(e,m.D_,t):t?.discard?"result"===t.mode?lc(Object.values(e),aK,t):lc(Object.values(e),m.D_,t):eG(()=>{let a={};return tp(lc(Object.entries(e),([e,s])=>tU(t?.mode==="result"?aK(s):s,t=>{F.x(a,e,t)}),{discard:!0,concurrency:t?.concurrency}),a)}),lt=(0,m.XY)(e=>(0,w.xZ)(e[0])&&!(0,V.yw)(e[0]),(e,t,a)=>tU(lc(e,(e,a)=>aK(t(e,a)),a),e=>h.jB(e,m.D_))),la=(0,m.XY)(3,(e,t,a)=>{let s=h.Ts(e);return 0===s.length?eZ(t):eG(()=>{let e=0,l=t();return tU(ln({while:()=>e<s.length,body:()=>a(l,s[e],e),step(t){l=t,e++}}),()=>l)})}),ls=(0,m.XY)(e=>(0,w.xZ)(e[0])&&!(0,V.yw)(e[0]),(e,t,a)=>tV(lt(e,t,{concurrency:a?.concurrency}),([e,t])=>h.CZ(t)?eY(t):a?.discard?e0:eE(e))),ll=(0,m.XY)(e=>(0,w.xZ)(e[0])&&!(0,V.yw)(e[0]),(e,t)=>eG(()=>{let a=e[Symbol.iterator](),s=a.next();return s.done?eE(y.none()):li(a,0,t,s.value)})),li=(e,t,a,s)=>tV(a(s,t),l=>{if(l)return eE(y.some(s));let i=e.next();return i.done?eE(y.none()):li(e,t+1,a,i.value)}),lo=(0,m.XY)(e=>(0,w.xZ)(e[0])&&!(0,V.yw)(e[0]),(e,t)=>eG(()=>{let a=e[Symbol.iterator](),s=a.next();return s.done?eE(y.none()):lr(a,0,t,s.value)})),lr=(e,t,a,s)=>tV(a(s,t),s=>{if(x.oJ(s))return eE(y.some(s.success));let l=e.next();return l.done?eE(y.none()):lr(e,t+1,a,l.value)}),ln=(0,V.Uf)({op:"While",[V.ee](e,t){return(this[V.a2].step(e),this[V.a2].while())?(t._stack.push(this),this[V.a2].body()):t1},[V._3](e){return this[V.a2].while()?(e._stack.push(this),this[V.a2].body()):t1}}),lc=(0,m.XY)(e=>"function"==typeof e[1],(e,t,a)=>eG(()=>{let s=lg(a?.concurrency);if(1===s)return lp(e,t,a);let l=h.Ts(e),i=l.length;if(0===i)return a?.discard?e0:eE([]);let o=a?.discard?void 0:Array(i),r=lv({f:t,out:o},l,{concurrency:s});return r?tp(r,o):eE(o)})),ld=e=>tV(e,e=>{let t=e[Symbol.iterator]().next();return t.done?eY(new V.Xm):eE(t.value)}),lp=(e,t,a)=>eG(()=>{let s=a?.discard?void 0:[],l=e[Symbol.iterator](),i=l.next(),o=0;return tp(ln({while:()=>!i.done,body:()=>t(i.value,o++),step:e=>{s&&s.push(e),i=l.next()}}),s)}),lg=e=>"unbounded"===e?1/0:Math.max(1,e??1),lh=()=>e=>{let t=e.onItem,a=e.step,s=(e,t,s,i,o)=>tV(st(o),o=>a(e,t[s],o,s)??l(e,t,s+1,i)??e0),l=(e,l,i=0,o=l.length)=>{for(;i<o;i++){let r=l[i],n=t(e,r,i);if(!tq(n))return s(e,l,i,o,n);let c=a(e,r,n,i);if(c)return"Failure"===c._tag?c:void 0}};return l},lu=e=>{let t=e.onItem,a=e.step;return(e,s,l)=>{let i,o,r,n,c,d=0,p=l.end??s.length,g=l.concurrency,h=!1,u=e=>{let t=(0,V.V2)(e);return n=t,h=!0,o&&o.size>0?tV(s1(eU(Array.from(o))),()=>n??t):t},f=()=>{let l=!1;for(;!n&&d<p;d++){let p=s[d],v=c??t(e,p,d);if(tq(v)){if(n=a(e,p,v,d))break}else{if(!i)return te(e=>{let t;i=eM(),o=new Set,c=v,r=e;try{t=f()}catch(t){return e(u(t))}return t?e(t):eG(()=>(n??=t1,tV(o?eU(o):e0,()=>n?._tag==="Failure"?n:e0)))});c=void 0;let t=lB(i,v,!0,!0,"inherit");if(t._exit){if(n=a(e,p,t._exit,d))break;continue}o.add(t);let s=d;if(t.addObserver(i=>{o.delete(t);try{if(n){if("Failure"===i._tag){let e=i.cause.reasons.filter(e=>"Interrupt"!==e._tag);if(e.length>0){let t=(0,V.b5)(e);n=(0,V.cb)("Failure"===n._tag?(0,V.h2)(n.cause,t):t)}}}else{let t=a(e,p,i,s);t&&(n=t,f())}if(l){let e=f();e&&r(e)}else h&&0===o.size&&r(n??e0)}catch(e){r(u(e))}}),o.size<g)continue;l=!0,d++;return}}if(h=!0,n){if(o&&o.size>0){let e=eA(i);o.forEach(t=>t.interruptUnsafe(i.id,e));return}if(r||"Failure"===n._tag)return n}else if(r)if(!o)return t1;else 0===o.size&&r(e0)};return f()}},lf=()=>e=>lu(e),lv=lu({onItem:(e,t,a)=>e.f(t,a),step(e,t,a,s){if("Failure"===a._tag)return a;e.out&&(e.out[s]=a.value)}}),lm=(0,m.XY)(3,(e,t,a)=>tV(e,e=>t(e)?eE(e):a(e))),ly=(0,m.XY)(3,(e,t,a)=>tV(e,e=>{let s=t(e);return x.N6(s)?a(s.failure):eE(s.success)})),lw=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t,a)=>ly(e,t,a?e=>eY(a(e)):()=>eY(new V.Xm))),lx=(0,m.XY)(e=>(0,w.xZ)(e[0])&&!(0,V.yw)(e[0]),(e,t,a)=>eG(()=>{let s=[];return tp(lc(e,(e,a)=>{let l=t(e,a);return"boolean"==typeof l?(l&&s.push(e),e0):tU(l,t=>{t&&s.push(e)})},{discard:!0,concurrency:a?.concurrency}),s)})),lb=(0,m.XY)(e=>(0,w.xZ)(e[0])&&!(0,V.yw)(e[0]),(e,t)=>eG(()=>{let a=[];for(let s of e){let e=t(s);x.oJ(e)&&a.push(e.success)}return eE(a)})),lk=(0,m.XY)(e=>(0,w.xZ)(e[0])&&!(0,V.yw)(e[0]),(e,t,a)=>eG(()=>{let s=[];return tp(lc(e,e=>tU(t(e),e=>{x.oJ(e)&&s.push(e.success)}),{discard:!0,concurrency:a?.concurrency}),s)})),lM=eE({}),lC=H.Jr(tU),lz=H.oI(tU,tV),l_=H.zM(tU),lL=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t)=>(0,V.R6)(a=>(eB.interruptChildren??=eP,eE(lB(a,e,t?.startImmediately,!1,t?.uninterruptible??!1))))),lB=(e,t,a=!1,s=!1,l=!1)=>{let i="inherit"===l?e.interruptible:!l,o=new eC(e.context,i);return a?o.evaluate(t):(o._asyncContext=ek(),e.currentDispatcher.scheduleTask(()=>o.evaluate(t),0)),s||o._exit||(e.children().add(o),o._parent=e),o},lA=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t)=>(0,V.R6)(a=>eE(lB(a,e,t?.startImmediately,!0,t?.uninterruptible)))),lP=e=>(0,V.R6)(t=>{let a=t._children&&new Set(t._children),s=t.interruptible;return sI(e,e=>{let l=t._children;if(void 0===l||0===l.size)return e0;a&&(l=z.pb(l,e=>!a.has(e)));let i=t_(eV(l));return s?s6(i):i})}),lS=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t,a)=>(0,V.R6)(s=>{let l=lB(s,e,a?.startImmediately,!0,a?.uninterruptible);if(!l._exit)if("Closed"!==t.state._tag){let e={};sk(t,e,()=>e4(e=>e===l.id?e0:eF(l))),l.addObserver(()=>sM(t,e))}else l.interruptUnsafe(s.id,eA(s));return eE(l)})),lV=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t)=>tV(sB,a=>lS(e,a,t))),lH=e=>(t,a)=>{let s=new eC(a?.scheduler?u.WQ(e,A._F,a.scheduler):e,a?.uninterruptible!==!0);if(s.evaluate(t),s._exit)return s;if(a?.signal)if(a.signal.aborted)s.interruptUnsafe();else{let e=()=>s.interruptUnsafe();a.signal.addEventListener("abort",e,{once:!0}),s.addObserver(()=>a.signal.removeEventListener("abort",e))}return a?.onFiberStart&&a.onFiberStart(s),s},lq=(0,m.XY)(2,(e,t)=>{if(e._exit)return e;if("Closed"===t.state._tag)return e.interruptUnsafe(e.id),e;let a={};return sk(t,a,()=>eF(e)),e.addObserver(()=>sM(t,a)),e}),lF=lH(u.Ie()),lI=e=>{let t=lH(e);return(e,a)=>{let s=t(e,a);return a?.onExit&&s.addObserver(a.onExit),e=>s.interruptUnsafe(e)}},lU=lI(u.Ie()),lO=e=>{let t=lH(e);return(e,a)=>{let s=t(e,a);return new Promise(e=>{s.addObserver(t=>e(t))})}},lE=lO(u.Ie()),lX=e=>{let t=lO(e);return(e,a)=>t(e,a).then(e=>{if("Failure"===e._tag)throw eo(e.cause);return e.value})},lY=lX(u.Ie()),lZ=e=>{let t=lH(e);return e=>{if(tq(e))return e;let a=t(e,{scheduler:new A.FG("sync")});return a._dispatcher?.flush(),a._exit??(0,V.V2)(new iH(a))}},lG=lZ(u.Ie()),lT=e=>{let t=lZ(e);return e=>{let a=t(e);if("Failure"===a._tag)throw eo(a.cause);return a.value}},lD=lT(u.Ie()),lR=eE(!0),lj=eE(!1);class l${waiters=[];scheduled=void 0;_isOpen;constructor(e){this._isOpen=e}scheduleUnsafe(e){if(0===this.waiters.length)return lR;if(void 0===this.scheduled)this.scheduled=this.waiters,e.currentDispatcher.scheduleTask(this.flushScheduled,0);else for(let e=0;e<this.waiters.length;e++)this.scheduled.push(this.waiters[e]);return this.waiters=[],lR}flushScheduled=()=>{if(void 0===this.scheduled)return;let e=this.scheduled;this.scheduled=void 0;for(let t=0;t<e.length;t++)e[t](t1)};flushWaiters(){let e=this.waiters;this.waiters=[],this.flushScheduled();for(let t=0;t<e.length;t++)e[t](t1)}open=(0,V.R6)(e=>this._isOpen?lj:(this._isOpen=!0,this.scheduleUnsafe(e)));release=(0,V.R6)(e=>this._isOpen?lj:this.scheduleUnsafe(e));openUnsafe(){return!this._isOpen&&(this._isOpen=!0,this.flushWaiters(),!0)}await=te(e=>this._isOpen?e(e0):(this.waiters.push(e),eZ(()=>{let t=this.waiters.indexOf(e);-1!==t?this.waiters.splice(t,1):void 0!==this.scheduled&&-1!==(t=this.scheduled.indexOf(e))&&this.scheduled.splice(t,1)})));closeUnsafe(){return!!this._isOpen&&(this._isOpen=!1,!0)}close=eZ(()=>this.closeUnsafe());whenOpen=e=>tV(this.await,()=>e);isOpen(){return this._isOpen}}let lN=e=>new l$(e??!1),lW=e=>eZ(()=>lN(e)),lJ=(0,V.R6)(e=>eE(e.getRef(P.sh))),lK=(0,m.XY)(2,(e,t)=>ag(e,P.sh,t)),lQ=ag(I.rf),l1=ag(I.nU),l0=BigInt(0),l2={_tag:"Span",spanId:"noop",traceId:"noop",sampled:!1,status:{_tag:"Ended",startTime:l0,endTime:l0,exit:t1},attributes:new Map,links:[],kind:"internal",attribute(){},event(){},end(){},addLinks(){}},l3=e=>e?u.Jt(e.annotations,P.DW)?"Span"===e._tag?l3(y.getOrUndefined(e.parent)):y.none():y.some(e):y.none(),l5=(e,t,a)=>{let s,l=!e.cache.tracerEnabled||a?.annotations&&u.Jt(a.annotations,P.DW),i=a?.parent!==void 0?y.some(a.parent):a?.root?y.none():l3(e.cache.span);if(l){let e;e={name:t,parent:i,annotations:u.WQ(a?.annotations??u.Ie(),P.DW,!0)},s=Object.assign(Object.create(l2),e)}else{let l=e.cache.tracer??P.Vv,o=e.getRef(ip),r=e.getRef(I.nU),n=e.getRef(I.ce),c=e.getRef(I.ls),d=a?.level??e.getRef(P.pX),p=a?.links!==void 0?[...c,...a.links]:0===c.length?[]:c.slice();for(let c in s=l.span({name:t,parent:i,annotations:a?.annotations??u.Ie(),links:p,startTime:r?o.currentTimeNanosUnsafe():l0,kind:a?.kind??"internal",root:a?.root??y.isNone(i),sampled:a?.sampled??((!y.isSome(i)||!1!==i.value.sampled)&&!iE(e.getRef(P.EW),d))}),n)s.attribute(c,n[c]);if(a?.attributes!==void 0)for(let e in a.attributes)s.attribute(e,a.attributes[e])}return s},l4=(e,t)=>(0,V.R6)(a=>eE(l5(a,e,t))),l6=(e,t)=>s1((0,V.R6)(a=>{let s=u.fp(a.context,sg),l=l5(a,e,t??{}),i=a.getRef(ip),o=a.getRef(I.nU);return tp(sx(s,e=>it(l,e,i,o)),l)})),l7=function(){let e="string"!=typeof arguments[0],t=e?arguments[1]:arguments[0],a=O(e?arguments[2]:arguments[1]);if(e){let e=arguments[0];return tV(l6(t,a),t=>il(e,t,a))}return e=>tV(l6(t,a),t=>il(e,t,a))},l8=I.ce,l9=I.ls,ie=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t,a={})=>{let s=(Array.isArray(t)?t:[t]).map(e=>({span:e,attributes:a}));return ai(e,I.ls,e=>[...e,...s])}),it=(e,t,a,s)=>eZ(()=>{"Ended"!==e.status._tag&&e.end(s?a.currentTimeNanosUnsafe():l0,t)}),ia=(e,...t)=>{let a=1===t.length?void 0:t[0],s=t[t.length-1];return(0,V.R6)(t=>{let l=l5(t,e,a),i=t.getRef(ip),o=t.getRef(I.nU);return sU(t,e=>it(l,e,i,o)),s(l)})},is=ag(P.Tv),il=function(){let e=(0,V.yw)(arguments[0]),t=e?arguments[1]:arguments[0],a=e?arguments[2]:arguments[1],s=m.D_;if("Span"===t._tag){var l,i;a=O(a),l=t.name,i="function"==typeof(i=a?.captureStackTrace)?i:m.MN,s=ai(I.vA,e=>({name:l,stack:i,parent:e}))}return e?is(s(arguments[0]),t):e=>is(s(e),t)},ii=function(){let e="string"!=typeof arguments[0],t=e?arguments[1]:arguments[0],a=O(arguments[2]);if(e){let e=arguments[0];return ia(t,arguments[2],t=>il(e,t,a))}let s="function"==typeof arguments[1]?arguments[1]:void 0,l=s?void 0:arguments[1];return(e,...i)=>ia(t,s?s(...i):l,t=>il(e,t,a))},io=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,...t)=>ai(e,I.ce,e=>{let a=1===t.length?{...e,...t[0]}:{...e};return 1===t.length||F.x(a,t[0],t[1]),a})),ir=(...e)=>(0,V.R6)(t=>{let a=t.currentSpanLocal;if(a)if(1===e.length)for(let[t,s]of Object.entries(e[0]))a.attribute(t,s);else a.attribute(e[0],e[1]);return e0}),ic=(0,V.R6)(e=>{let t=e.currentSpanLocal;return t?eE(t):eY(new V.Xm)}),id=(d=P.Tv,(0,V.R6)(e=>eT(u.om(e.context,d)))),ip=u.Or("effect/Clock",{defaultValue:()=>new ig});class ig{currentTimeMillisUnsafe(){return Date.now()}currentTimeMillis=eZ(()=>this.currentTimeMillisUnsafe());currentTimeNanosUnsafe(){return iv()}currentTimeNanos=eZ(()=>this.currentTimeNanosUnsafe());monotonicTimeNanosUnsafe(){return iu()}monotonicTimeNanos=eZ(()=>this.monotonicTimeNanosUnsafe());sleep(e){return this.sleepMillis(f.kE(e))}sleepMillis(e){return e<=0?e$:Number.isFinite(e)?te(t=>{let a=e>0x7fffffff?this.sleepMillis(e-0x7fffffff):e0,s=setTimeout(()=>t(a),Math.min(e,0x7fffffff));return eZ(()=>clearTimeout(s))}):tt}}let ih=BigInt(1e6),iu=function(){let e=globalThis.process?.hrtime;if("function"==typeof e?.bigint)return()=>e.bigint();if("u">typeof performance&&"function"==typeof performance.now)return()=>BigInt(Math.round(1e6*performance.now()));let t=BigInt(0);return()=>{let e=BigInt(Date.now())*ih;return e>t&&(t=e),t}}(),iv=(g=BigInt(1e9),()=>{let e=iu(),t=BigInt(Date.now())*ih;if(void 0===p)p=t-e;else{let a=p+e;(t>a?t-a:a-t)>g&&(p=t-e)}return p+e}),im=e=>(0,V.R6)(t=>e(t.getRef(ip))),iy=e=>im(t=>t.sleep(f.bN(e))),iw=im(e=>e.currentTimeMillis),ix=im(e=>e.currentTimeNanos),ib=im(e=>e.monotonicTimeNanos),ik="~effect/Cause/TimeoutError",iM=e=>(0,w.i5)(e,ik);class iC extends(0,V.rN)("TimeoutError"){[ik]=ik;constructor(e){super({message:e})}}let iz="~effect/Cause/IllegalArgumentError",i_=e=>(0,w.i5)(e,iz);class iL extends(0,V.rN)("IllegalArgumentError"){[iz]=iz;constructor(e){super({message:e})}}let iB="~effect/Cause/ExceededCapacityError",iA=e=>(0,w.i5)(e,iB);class iP extends(0,V.rN)("ExceededCapacityError"){[iB]=iB;constructor(e){super({message:e})}}let iS="~effect/Cause/AsyncFiberError",iV=e=>(0,w.i5)(e,iS);class iH extends(0,V.rN)("AsyncFiberError"){[iS]=iS;constructor(e){super({message:"An asynchronous Effect was executed with Effect.runSync",fiber:e})}}let iq="~effect/Cause/UnknownError",iF=e=>(0,w.i5)(e,iq);class iI extends(0,V.rN)("UnknownError"){[iq]=iq;constructor(e,t){super({message:t,cause:e})}}let iU=u.Or("effect/Console",{defaultValue:()=>globalThis.console}),iO=_.zQ(_.wN,e=>{switch(e){case"All":return Number.MIN_SAFE_INTEGER;case"Fatal":return 5e4;case"Error":return 4e4;case"Warn":return 3e4;case"Info":return 2e4;case"Debug":return 1e4;case"Trace":return 0;case"None":return Number.MAX_SAFE_INTEGER}}),iE=_.yJ(iO),iX=u.Or("effect/Logger/CurrentLoggers",{defaultValue:()=>new Set([ij,i$])}),iY=u.Or("effect/Logger/LogToStderr",{defaultValue:m.f4}),iZ=function(){let e="string"==typeof arguments[0]?[[arguments[0],arguments[1]]]:Object.entries(arguments[0]);return s1((0,V.R6)(t=>{let a=t.getRef(I.iL),s={...a};for(let t=0;t<e.length;t++){let[a,l]=e[t];F.x(s,a,l)}return t.setContext(u.WQ(t.context,I.iL,s)),sx(u.fp(t.context,sg),s=>{let l=t.getRef(I.iL),i={...l};for(let t=0;t<e.length;t++){let[s,o]=e[t];(l[s]===o||Object.is(l[s],o))&&(Object.hasOwn(a,s)?F.x(i,s,a[s]):delete i[s])}return t.setContext(u.WQ(t.context,I.iL,i)),e0})}))},iG={"~effect/Logger":{_Message:m.D_,_Output:m.D_},pipe(){return(0,L.tT)(this,arguments)}},iT=e=>{let t=Object.create(iG);return t.log=e,t},iD=(e,t)=>{let a=e[0].replace(/[\s="]/g,"_");return`${a}=${t-e[1]}ms`},iR=e=>(...t)=>{let a;for(let e=0,s=t.length;e<s;e++){let s=t[e];(0,V.Aj)(s)&&(a?t.splice(e,1):t=t.slice(0,e).concat(t.slice(e+1)),a=a?(0,V.b5)(a.reasons.concat(s.reasons)):s,e--)}return void 0===a&&(a=V.DH),(0,V.R6)(s=>{let l=e??s.cache.logLevel;if(iE(s.cache.minimumLogLevel,l))return e0;let i=s.getRef(ip),o=s.getRef(iX);if(o.size>0){let e=new Date(i.currentTimeMillisUnsafe());for(let i of o)i.log({cause:a,fiber:s,date:e,logLevel:l,message:t})}return e0})},ij=iT(({cause:e,date:t,fiber:a,logLevel:s,message:l})=>{let i=Array.isArray(l)?l.slice():[l];e.reasons.length>0&&i.push(ef(e));let o=t.getTime(),r=a.getRef(I.d8),n="";for(let e of r)n+=` ${iD(e,o)}`;let c=a.getRef(I.iL);Object.keys(c).length>0&&i.push(c);let d=a.getRef(iU);(a.getRef(iY)?d.error:d.log)(`[${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}:${t.getSeconds().toString().padStart(2,"0")}.${t.getMilliseconds().toString().padStart(3,"0")}] ${s.toUpperCase()} (#${a.id})${n}:`,...i)}),i$=iT(({cause:e,fiber:t,logLevel:a,message:s})=>{let l=t.getRef(ip),i=t.getRef(I.iL),o=t.cache.span;if(void 0===o||"ExternalSpan"===o._tag)return;let r={};for(let[e,t]of Object.entries(i))F.x(r,e,t);r["effect.fiberId"]=t.id,r["effect.logLevel"]=a.toUpperCase(),e.reasons.length>0&&(r["effect.cause"]=ef(e)),o.event((0,C.ZK)(Array.isArray(s)&&1===s.length?s[0]:s),l.currentTimeNanosUnsafe(),r)}),iN=eE(void 0),iW=(0,m.XY)(e=>(0,V.yw)(e[0]),(e,t)=>sZ(e,e=>(0,V.R6)(a=>(iJ(a,e,t?.defectsOnly),e0)))),iJ=(e,t,a)=>{let s=e.getRef(I.oQ);if(0===s.size||a&&!$(t))return;let l={cause:t,fiber:e,timestamp:e.getRef(ip).currentTimeNanosUnsafe()};s.forEach(e=>e.report(l))}},5844(e,t,a){let s=new WeakSet;a.d(t,{},{J3:s,Xp:e=>{let t=new Set(Reflect.ownKeys(e));if(e.constructor===Object)return t;e instanceof Error&&t.delete("stack");let a=Object.getPrototypeOf(e),s=a;for(;null!==s&&s!==Object.prototype;){let e=Reflect.ownKeys(s);for(let a=0;a<e.length;a++)t.add(e[a]);s=Object.getPrototypeOf(s)}return t.has("constructor")&&"function"==typeof e.constructor&&a===e.constructor.prototype&&t.delete("constructor"),t},j:e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength)})},7258(e,t,a){a.d(t,{},{F:"effect/Metric/FiberRuntimeMetrics"})},7731(e,t,a){var s=a(3332),l=a(1958),i=a(5033),o=a(3952),r=a(4233),n=a(6481),c=a(2449);let d="~effect/Option",p={[d]:{_A:e=>e},...c.fU,[Symbol.iterator](){return new n.B(this)}},g=Object.defineProperty(Object.assign(Object.create(p),{_tag:"Some",_op:"Some",[s.HR](e){return f(e)&&m(e)&&s.aI(this.value,e.value)},[i.HR](){return i.kg(i.tW(this._tag))(i.tW(this.value))},toString(){return`some(${(0,l.GP)(this.value)})`},toJSON(){return{_id:"Option",_tag:this._tag,value:(0,o.aB)(this.value)}}}),"valueOrUndefined",{get(){return this.value}}),h=i.tW("None"),u=Object.assign(Object.create(p),{_tag:"None",_op:"None",valueOrUndefined:void 0,[s.HR]:e=>f(e)&&v(e),[i.HR]:()=>h,toString:()=>"none()",toJSON(){return{_id:"Option",_tag:this._tag}}}),f=e=>(0,r.i5)(e,d),v=e=>"None"===e._tag,m=e=>"Some"===e._tag,y=Object.create(u),w=function(e){this.value=e};w.prototype=g,a.d(t,{},{$I:v,Ru:m,dv:y,oL:f,zN:e=>new w(e)})},2275(e,t,a){function s(e,t,a){"__proto__"===t?Object.defineProperty(e,t,{value:a,writable:!0,enumerable:!0,configurable:!0}):e[t]=a}function l(e,t){for(let a of Reflect.ownKeys(t))Object.prototype.propertyIsEnumerable.call(t,a)&&s(e,a,t[a])}a.d(t,{x:()=>s,z:()=>l})},6712(e,t,a){var s=a(1179),l=a(1594);let i=s.Or("effect/ErrorReporter/CurrentErrorReporters",{defaultValue:()=>new Set}),o=s.Or("effect/References/CurrentStackFrame",{fiberCached:!0,defaultValue:l.MN}),r=s.Or("effect/References/TracerEnabled",{fiberCached:!0,defaultValue:l.ue}),n=s.Or("effect/References/TracerTimingEnabled",{defaultValue:l.ue}),c=s.Or("effect/References/TracerSpanAnnotations",{defaultValue:()=>({})}),d=s.Or("effect/References/TracerSpanLinks",{defaultValue:()=>[]}),p=s.Or("effect/References/CurrentLogAnnotations",{defaultValue:()=>({})}),g=s.Or("effect/References/CurrentLogLevel",{fiberCached:!0,defaultValue:()=>"Info"}),h=s.Or("effect/References/MinimumLogLevel",{fiberCached:!0,defaultValue:()=>"Info"}),u=s.Or("effect/References/UnhandledLogLevel",{defaultValue:()=>"Error"}),f=s.Or("effect/References/CurrentLogSpans",{defaultValue:()=>[]});a.d(t,{},{Gl:g,aG:u,ce:c,d8:f,iL:p,ls:d,nU:n,oQ:i,rf:r,vA:o,zQ:h})},2563(e,t,a){var s=a(3332),l=a(1958),i=a(1594),o=a(5033),r=a(3952),n=a(4233),c=a(6481),d=a(2449),p=a(7731);let g="~effect/Result",h={[g]:{_A:e=>e,_E:e=>e},...d.fU,[Symbol.iterator](){return new c.B(this)}},u=Object.assign(Object.create(h),{_tag:"Success",_op:"Success",[s.HR](e){return v(e)&&y(e)&&s.aI(this.success,e.success)},[o.HR](){return o.kg(o.tW(this._tag))(o.tW(this.success))},toString(){return`success(${(0,l.GP)(this.success)})`},toJSON(){return{_id:"Result",_tag:this._tag,value:(0,r.aB)(this.success)}}}),f=Object.assign(Object.create(h),{_tag:"Failure",_op:"Failure",[s.HR](e){return v(e)&&m(e)&&s.aI(this.failure,e.failure)},[o.HR](){return o.kg(o.tW(this._tag))(o.tW(this.failure))},toString(){return`failure(${(0,l.GP)(this.failure)})`},toJSON(){return{_id:"Result",_tag:this._tag,failure:(0,r.aB)(this.failure)}}}),v=e=>(0,n.i5)(e,g),m=e=>"Failure"===e._tag,y=e=>"Success"===e._tag,w=function(e){this.failure=e};w.prototype=f;let x=e=>new w(e),b=function(e){this.success=e};b.prototype=u;let k=e=>new b(e),M=(0,i.XY)(2,(e,t)=>p.$I(e)?x(t()):k(e.value));a.d(t,{},{L8:e=>y(e)?p.dv:p.zN(e.failure),N6:m,Oz:e=>m(e)?p.dv:p.zN(e.success),Py:k,aI:v,fJ:x,oJ:y,sV:M})},2840(e,t,a){var s=a(1594);function l(e){return e.checks?e.checks[e.checks.length-1].annotations:e.annotations}function i(e){return t=>l(t)?.[e]}let o="~structural",r="~identifier",n="~sentinels",c=i("identifier"),d=i(r),p=i("title"),g=i("description"),h=(0,s.Bj)(e=>{let t=l(e)?.identifier;return"string"==typeof t?t:e.getExpected(h)}),u=new Set([n,o,"representation","arbitraryConstraint","toJsonSchema","toCode","toEquivalence","toFormatter","toCodec","toCodecJson","toCodecStringTree","toCodecIso","toCodecArbitrary"]);a.d(t,{hd:()=>l,ip:()=>i},{C3:o,CD:d,DQ:p,I_:n,KE:c,L1:["title","description","default","examples","readOnly","writeOnly","format","contentEncoding","contentMediaType","contentSchema"],Pk:g,R4:r,UI:u,bo:h,py:"~constructor"})},8253(e,t,a){var s=a(719),l=a(7086);function i(e){let t;for(let a of e.reasons){if(!s.lC(a)||!l.gh(a.error))return;t??=a.error}return t}function o(e,t){let a=i(e);if(void 0===a)throw Error(t,{cause:e});return a}a.d(t,{R:()=>i,q:()=>o})},587(e,t,a){var s=a(6526),l=a(1587);let i=Symbol(),o=s.Py,r=o(i),n=o(i);a.d(t,{},{LO:i,Py:o,Rr:n,e8:e=>"None"===e._tag?r:o(e.value),r2:r,zL:e=>e===i?l.none():l.some(e)})},5340(e,t,a){let s,l=void 0===(s=Object.getOwnPropertyDescriptor(Error,"stackTraceLimit"))?Object.isExtensible(Error):Object.hasOwn(s,"writable")?!0===s.writable:void 0!==s.set;a.d(t,{},{ft:e=>{l&&(Error.stackTraceLimit=e)},jt:()=>Error.stackTraceLimit})},8689(e,t,a){let s,l,i,o,r;function n(e){let t=e.length;for(;--t>=0;)e[t]=0}let c=573,d=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),p=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),g=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),h=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),u=Array(576);n(u);let f=Array(60);n(f);let v=Array(512);n(v);let m=Array(256);n(m);let y=Array(29);n(y);let w=Array(30);function x(e,t,a,s,l){this.static_tree=e,this.extra_bits=t,this.extra_base=a,this.elems=s,this.max_length=l,this.has_stree=e&&e.length}function b(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}n(w);let k=e=>e<256?v[e]:v[256+(e>>>7)],M=(e,t)=>{e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},C=(e,t,a)=>{e.bi_valid>16-a?(e.bi_buf|=t<<e.bi_valid&65535,M(e,e.bi_buf),e.bi_buf=t>>16-e.bi_valid,e.bi_valid+=a-16):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=a)},z=(e,t,a)=>{C(e,a[2*t],a[2*t+1])},_=(e,t)=>{let a=0;do a|=1&e,e>>>=1,a<<=1;while(--t>0)return a>>>1},L=(e,t,a)=>{let s,l,i=Array(16),o=0;for(s=1;s<=15;s++)i[s]=o=o+a[s-1]<<1;for(l=0;l<=t;l++){let t=e[2*l+1];0!==t&&(e[2*l]=_(i[t]++,t))}},B=e=>{let t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0},A=e=>{e.bi_valid>8?M(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},P=(e,t,a,s)=>{let l=2*t,i=2*a;return e[l]<e[i]||e[l]===e[i]&&s[t]<=s[a]},S=(e,t,a)=>{let s=e.heap[a],l=a<<1;for(;l<=e.heap_len&&(l<e.heap_len&&P(t,e.heap[l+1],e.heap[l],e.depth)&&l++,!P(t,s,e.heap[l],e.depth));)e.heap[a]=e.heap[l],a=l,l<<=1;e.heap[a]=s},V=(e,t,a)=>{let s,l,i,o,r=0;if(0!==e.last_lit)do s=e.pending_buf[e.d_buf+2*r]<<8|e.pending_buf[e.d_buf+2*r+1],l=e.pending_buf[e.l_buf+r],r++,0===s?z(e,l,t):(z(e,(i=m[l])+256+1,t),0!==(o=d[i])&&C(e,l-=y[i],o),z(e,i=k(--s),a),0!==(o=p[i])&&C(e,s-=w[i],o));while(r<e.last_lit)z(e,256,t)},H=(e,t)=>{let a,s,l,i=t.dyn_tree,o=t.stat_desc.static_tree,r=t.stat_desc.has_stree,n=t.stat_desc.elems,d=-1;for(e.heap_len=0,e.heap_max=c,a=0;a<n;a++)0!==i[2*a]?(e.heap[++e.heap_len]=d=a,e.depth[a]=0):i[2*a+1]=0;for(;e.heap_len<2;)i[2*(l=e.heap[++e.heap_len]=d<2?++d:0)]=1,e.depth[l]=0,e.opt_len--,r&&(e.static_len-=o[2*l+1]);for(t.max_code=d,a=e.heap_len>>1;a>=1;a--)S(e,i,a);l=n;do a=e.heap[1],e.heap[1]=e.heap[e.heap_len--],S(e,i,1),s=e.heap[1],e.heap[--e.heap_max]=a,e.heap[--e.heap_max]=s,i[2*l]=i[2*a]+i[2*s],e.depth[l]=(e.depth[a]>=e.depth[s]?e.depth[a]:e.depth[s])+1,i[2*a+1]=i[2*s+1]=l,e.heap[1]=l++,S(e,i,1);while(e.heap_len>=2)e.heap[--e.heap_max]=e.heap[1],((e,t)=>{let a,s,l,i,o,r,n=t.dyn_tree,d=t.max_code,p=t.stat_desc.static_tree,g=t.stat_desc.has_stree,h=t.stat_desc.extra_bits,u=t.stat_desc.extra_base,f=t.stat_desc.max_length,v=0;for(i=0;i<=15;i++)e.bl_count[i]=0;for(n[2*e.heap[e.heap_max]+1]=0,a=e.heap_max+1;a<c;a++)(i=n[2*n[2*(s=e.heap[a])+1]+1]+1)>f&&(i=f,v++),n[2*s+1]=i,!(s>d)&&(e.bl_count[i]++,o=0,s>=u&&(o=h[s-u]),r=n[2*s],e.opt_len+=r*(i+o),g&&(e.static_len+=r*(p[2*s+1]+o)));if(0!==v){do{for(i=f-1;0===e.bl_count[i];)i--;e.bl_count[i]--,e.bl_count[i+1]+=2,e.bl_count[f]--,v-=2}while(v>0)for(i=f;0!==i;i--)for(s=e.bl_count[i];0!==s;)!((l=e.heap[--a])>d)&&(n[2*l+1]!==i&&(e.opt_len+=(i-n[2*l+1])*n[2*l],n[2*l+1]=i),s--)}})(e,t),L(i,d,e.bl_count)},q=(e,t,a)=>{let s,l,i=-1,o=t[1],r=0,n=7,c=4;for(0===o&&(n=138,c=3),t[(a+1)*2+1]=65535,s=0;s<=a;s++)l=o,o=t[(s+1)*2+1],++r<n&&l===o||(r<c?e.bl_tree[2*l]+=r:0!==l?(l!==i&&e.bl_tree[2*l]++,e.bl_tree[32]++):r<=10?e.bl_tree[34]++:e.bl_tree[36]++,r=0,i=l,0===o?(n=138,c=3):l===o?(n=6,c=3):(n=7,c=4))},F=(e,t,a)=>{let s,l,i=-1,o=t[1],r=0,n=7,c=4;for(0===o&&(n=138,c=3),s=0;s<=a;s++)if(l=o,o=t[(s+1)*2+1],!(++r<n)||l!==o){if(r<c)do z(e,l,e.bl_tree);while(0!=--r)else 0!==l?(l!==i&&(z(e,l,e.bl_tree),r--),z(e,16,e.bl_tree),C(e,r-3,2)):r<=10?(z(e,17,e.bl_tree),C(e,r-3,3)):(z(e,18,e.bl_tree),C(e,r-11,7));r=0,i=l,0===o?(n=138,c=3):l===o?(n=6,c=3):(n=7,c=4)}},I=!1,U=(e,t,a,s)=>{C(e,0+ +!!s,3),A(e),M(e,a),M(e,~a),e.pending_buf.set(e.window.subarray(t,t+a),e.pending),e.pending+=a};var O={_tr_init:e=>{I||((()=>{let e,t,a,o,r,n=Array(16);for(o=0,a=0;o<28;o++)for(y[o]=a,e=0;e<1<<d[o];e++)m[a++]=o;for(m[a-1]=o,r=0,o=0;o<16;o++)for(w[o]=r,e=0;e<1<<p[o];e++)v[r++]=o;for(r>>=7;o<30;o++)for(w[o]=r<<7,e=0;e<1<<p[o]-7;e++)v[256+r++]=o;for(t=0;t<=15;t++)n[t]=0;for(e=0;e<=143;)u[2*e+1]=8,e++,n[8]++;for(;e<=255;)u[2*e+1]=9,e++,n[9]++;for(;e<=279;)u[2*e+1]=7,e++,n[7]++;for(;e<=287;)u[2*e+1]=8,e++,n[8]++;for(L(u,287,n),e=0;e<30;e++)f[2*e+1]=5,f[2*e]=_(e,5);s=new x(u,d,257,286,15),l=new x(f,p,0,30,15),i=new x([],g,0,19,7)})(),I=!0),e.l_desc=new b(e.dyn_ltree,s),e.d_desc=new b(e.dyn_dtree,l),e.bl_desc=new b(e.bl_tree,i),e.bi_buf=0,e.bi_valid=0,B(e)},_tr_stored_block:U,_tr_flush_block:(e,t,a,s)=>{let l,i,o=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=(e=>{let t,a=0xf3ffc07f;for(t=0;t<=31;t++,a>>>=1)if(1&a&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0})(e)),H(e,e.l_desc),H(e,e.d_desc),o=(e=>{let t;for(q(e,e.dyn_ltree,e.l_desc.max_code),q(e,e.dyn_dtree,e.d_desc.max_code),H(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*h[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(e),l=e.opt_len+3+7>>>3,(i=e.static_len+3+7>>>3)<=l&&(l=i)):l=i=a+5,a+4<=l&&-1!==t?U(e,t,a,s):4===e.strategy||i===l?(C(e,2+ +!!s,3),V(e,u,f)):(C(e,4+ +!!s,3),((e,t,a,s)=>{let l;for(C(e,t-257,5),C(e,a-1,5),C(e,s-4,4),l=0;l<s;l++)C(e,e.bl_tree[2*h[l]+1],3);F(e,e.dyn_ltree,t-1),F(e,e.dyn_dtree,a-1)})(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),V(e,e.dyn_ltree,e.dyn_dtree)),B(e),s&&A(e)},_tr_tally:(e,t,a)=>(e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&a,e.last_lit++,0===t?e.dyn_ltree[2*a]++:(e.matches++,t--,e.dyn_ltree[(m[a]+256+1)*2]++,e.dyn_dtree[2*k(t)]++),e.last_lit===e.lit_bufsize-1),_tr_align:e=>{C(e,2,3),z(e,256,u),16===e.bi_valid?(M(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}},E=(e,t,a,s)=>{let l=65535&e,i=e>>>16&65535,o=0;for(;0!==a;){o=a>2e3?2e3:a,a-=o;do i=i+(l=l+t[s++]|0)|0;while(--o)l%=65521,i%=65521}return l|i<<16};let X=new Uint32Array((()=>{let e,t=[];for(var a=0;a<256;a++){e=a;for(var s=0;s<8;s++)e=1&e?0xedb88320^e>>>1:e>>>1;t[a]=e}return t})());var Y=(e,t,a,s)=>{let l=s+a;e^=-1;for(let a=s;a<l;a++)e=e>>>8^X[(e^t[a])&255];return -1^e},Z={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},G={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};let{_tr_init:T,_tr_stored_block:D,_tr_flush_block:R,_tr_tally:j,_tr_align:$}=O,{Z_NO_FLUSH:N,Z_PARTIAL_FLUSH:W,Z_FULL_FLUSH:J,Z_FINISH:K,Z_BLOCK:Q,Z_OK:ee,Z_STREAM_END:et,Z_STREAM_ERROR:ea,Z_DATA_ERROR:es,Z_BUF_ERROR:el,Z_DEFAULT_COMPRESSION:ei,Z_FILTERED:eo,Z_HUFFMAN_ONLY:er,Z_RLE:en,Z_FIXED:ec,Z_DEFAULT_STRATEGY:ed,Z_UNKNOWN:ep,Z_DEFLATED:eg}=G,eh=573,eu=(e,t)=>(e.msg=Z[t],t),ef=e=>(e<<1)-9*(e>4),ev=e=>{let t=e.length;for(;--t>=0;)e[t]=0},em=(e,t,a)=>(t<<e.hash_shift^a)&e.hash_mask,ey=e=>{let t=e.state,a=t.pending;a>e.avail_out&&(a=e.avail_out),0!==a&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+a),e.next_out),e.next_out+=a,t.pending_out+=a,e.total_out+=a,e.avail_out-=a,t.pending-=a,0===t.pending&&(t.pending_out=0))},ew=(e,t)=>{R(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ey(e.strm)},ex=(e,t)=>{e.pending_buf[e.pending++]=t},eb=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},ek=(e,t,a,s)=>{let l=e.avail_in;return(l>s&&(l=s),0===l)?0:(e.avail_in-=l,t.set(e.input.subarray(e.next_in,e.next_in+l),a),1===e.state.wrap?e.adler=E(e.adler,t,l,a):2===e.state.wrap&&(e.adler=Y(e.adler,t,l,a)),e.next_in+=l,e.total_in+=l,l)},eM=(e,t)=>{let a,s,l=e.max_chain_length,i=e.strstart,o=e.prev_length,r=e.nice_match,n=e.strstart>e.w_size-262?e.strstart-(e.w_size-262):0,c=e.window,d=e.w_mask,p=e.prev,g=e.strstart+258,h=c[i+o-1],u=c[i+o];e.prev_length>=e.good_match&&(l>>=2),r>e.lookahead&&(r=e.lookahead);do{if(c[(a=t)+o]!==u||c[a+o-1]!==h||c[a]!==c[i]||c[++a]!==c[i+1])continue;i+=2,a++;do;while(c[++i]===c[++a]&&c[++i]===c[++a]&&c[++i]===c[++a]&&c[++i]===c[++a]&&c[++i]===c[++a]&&c[++i]===c[++a]&&c[++i]===c[++a]&&c[++i]===c[++a]&&i<g)if(s=258-(g-i),i=g-258,s>o){if(e.match_start=t,o=s,s>=r)break;h=c[i+o-1],u=c[i+o]}}while((t=p[t&d])>n&&0!=--l)return o<=e.lookahead?o:e.lookahead},eC=e=>{let t,a,s,l,i,o=e.w_size;do{if(l=e.window_size-e.lookahead-e.strstart,e.strstart>=o+(o-262)){e.window.set(e.window.subarray(o,o+o),0),e.match_start-=o,e.strstart-=o,e.block_start-=o,t=a=e.hash_size;do s=e.head[--t],e.head[t]=s>=o?s-o:0;while(--a)t=a=o;do s=e.prev[--t],e.prev[t]=s>=o?s-o:0;while(--a)l+=o}if(0===e.strm.avail_in)break;if(a=ek(e.strm,e.window,e.strstart+e.lookahead,l),e.lookahead+=a,e.lookahead+e.insert>=3)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=em(e,e.ins_h,e.window[i+1]);e.insert&&(e.ins_h=em(e,e.ins_h,e.window[i+3-1]),e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<262&&0!==e.strm.avail_in)},ez=(e,t)=>{let a,s;for(;;){if(e.lookahead<262){if(eC(e),e.lookahead<262&&t===N)return 1;if(0===e.lookahead)break}if(a=0,e.lookahead>=3&&(e.ins_h=em(e,e.ins_h,e.window[e.strstart+3-1]),a=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==a&&e.strstart-a<=e.w_size-262&&(e.match_length=eM(e,a)),e.match_length>=3)if(s=j(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do e.strstart++,e.ins_h=em(e,e.ins_h,e.window[e.strstart+3-1]),a=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(0!=--e.match_length)e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=em(e,e.ins_h,e.window[e.strstart+1]);else s=j(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(s&&(ew(e,!1),0===e.strm.avail_out))return 1}return(e.insert=e.strstart<2?e.strstart:2,t===K)?(ew(e,!0),0===e.strm.avail_out)?3:4:e.last_lit&&(ew(e,!1),0===e.strm.avail_out)?1:2},e_=(e,t)=>{let a,s,l;for(;;){if(e.lookahead<262){if(eC(e),e.lookahead<262&&t===N)return 1;if(0===e.lookahead)break}if(a=0,e.lookahead>=3&&(e.ins_h=em(e,e.ins_h,e.window[e.strstart+3-1]),a=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==a&&e.prev_length<e.max_lazy_match&&e.strstart-a<=e.w_size-262&&(e.match_length=eM(e,a),e.match_length<=5&&(e.strategy===eo||3===e.match_length&&e.strstart-e.match_start>4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){l=e.strstart+e.lookahead-3,s=j(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=l&&(e.ins_h=em(e,e.ins_h,e.window[e.strstart+3-1]),a=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(0!=--e.prev_length)if(e.match_available=0,e.match_length=2,e.strstart++,s&&(ew(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((s=j(e,0,e.window[e.strstart-1]))&&ew(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return(e.match_available&&(s=j(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,t===K)?(ew(e,!0),0===e.strm.avail_out)?3:4:e.last_lit&&(ew(e,!1),0===e.strm.avail_out)?1:2};function eL(e,t,a,s,l){this.good_length=e,this.max_lazy=t,this.nice_length=a,this.max_chain=s,this.func=l}let eB=[new eL(0,0,0,0,(e,t)=>{let a=65535;for(65535>e.pending_buf_size-5&&(a=e.pending_buf_size-5);;){if(e.lookahead<=1){if(eC(e),0===e.lookahead&&t===N)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;let s=e.block_start+a;if((0===e.strstart||e.strstart>=s)&&(e.lookahead=e.strstart-s,e.strstart=s,ew(e,!1),0===e.strm.avail_out)||e.strstart-e.block_start>=e.w_size-262&&(ew(e,!1),0===e.strm.avail_out))return 1}return(e.insert=0,t===K)?(ew(e,!0),0===e.strm.avail_out)?3:4:(e.strstart>e.block_start&&(ew(e,!1),e.strm.avail_out),1)}),new eL(4,4,8,4,ez),new eL(4,5,16,8,ez),new eL(4,6,32,32,ez),new eL(4,4,16,16,e_),new eL(8,16,32,32,e_),new eL(8,16,128,128,e_),new eL(8,32,128,256,e_),new eL(32,128,258,1024,e_),new eL(32,258,258,4096,e_)];function eA(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=eg,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(2*eh),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),ev(this.dyn_ltree),ev(this.dyn_dtree),ev(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),ev(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),ev(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var eP=(e,t)=>{let a,s;if(!e||!e.state||t>Q||t<0)return e?eu(e,ea):ea;let l=e.state;if(!e.output||!e.input&&0!==e.avail_in||666===l.status&&t!==K)return eu(e,0===e.avail_out?el:ea);l.strm=e;let i=l.last_flush;if(l.last_flush=t,42===l.status)if(2===l.wrap)e.adler=0,ex(l,31),ex(l,139),ex(l,8),l.gzhead?(ex(l,+!!l.gzhead.text+2*!!l.gzhead.hcrc+4*!!l.gzhead.extra+8*!!l.gzhead.name+16*!!l.gzhead.comment),ex(l,255&l.gzhead.time),ex(l,l.gzhead.time>>8&255),ex(l,l.gzhead.time>>16&255),ex(l,l.gzhead.time>>24&255),ex(l,9===l.level?2:4*(l.strategy>=er||l.level<2)),ex(l,255&l.gzhead.os),l.gzhead.extra&&l.gzhead.extra.length&&(ex(l,255&l.gzhead.extra.length),ex(l,l.gzhead.extra.length>>8&255)),l.gzhead.hcrc&&(e.adler=Y(e.adler,l.pending_buf,l.pending,0)),l.gzindex=0,l.status=69):(ex(l,0),ex(l,0),ex(l,0),ex(l,0),ex(l,0),ex(l,9===l.level?2:4*(l.strategy>=er||l.level<2)),ex(l,3),l.status=113);else{let t=eg+(l.w_bits-8<<4)<<8;t|=(l.strategy>=er||l.level<2?0:l.level<6?1:6===l.level?2:3)<<6,0!==l.strstart&&(t|=32),t+=31-t%31,l.status=113,eb(l,t),0!==l.strstart&&(eb(l,e.adler>>>16),eb(l,65535&e.adler)),e.adler=1}if(69===l.status)if(l.gzhead.extra){for(a=l.pending;l.gzindex<(65535&l.gzhead.extra.length)&&(l.pending!==l.pending_buf_size||(l.gzhead.hcrc&&l.pending>a&&(e.adler=Y(e.adler,l.pending_buf,l.pending-a,a)),ey(e),a=l.pending,l.pending!==l.pending_buf_size));)ex(l,255&l.gzhead.extra[l.gzindex]),l.gzindex++;l.gzhead.hcrc&&l.pending>a&&(e.adler=Y(e.adler,l.pending_buf,l.pending-a,a)),l.gzindex===l.gzhead.extra.length&&(l.gzindex=0,l.status=73)}else l.status=73;if(73===l.status)if(l.gzhead.name){a=l.pending;do{if(l.pending===l.pending_buf_size&&(l.gzhead.hcrc&&l.pending>a&&(e.adler=Y(e.adler,l.pending_buf,l.pending-a,a)),ey(e),a=l.pending,l.pending===l.pending_buf_size)){s=1;break}s=l.gzindex<l.gzhead.name.length?255&l.gzhead.name.charCodeAt(l.gzindex++):0,ex(l,s)}while(0!==s)l.gzhead.hcrc&&l.pending>a&&(e.adler=Y(e.adler,l.pending_buf,l.pending-a,a)),0===s&&(l.gzindex=0,l.status=91)}else l.status=91;if(91===l.status)if(l.gzhead.comment){a=l.pending;do{if(l.pending===l.pending_buf_size&&(l.gzhead.hcrc&&l.pending>a&&(e.adler=Y(e.adler,l.pending_buf,l.pending-a,a)),ey(e),a=l.pending,l.pending===l.pending_buf_size)){s=1;break}s=l.gzindex<l.gzhead.comment.length?255&l.gzhead.comment.charCodeAt(l.gzindex++):0,ex(l,s)}while(0!==s)l.gzhead.hcrc&&l.pending>a&&(e.adler=Y(e.adler,l.pending_buf,l.pending-a,a)),0===s&&(l.status=103)}else l.status=103;if(103===l.status&&(l.gzhead.hcrc?(l.pending+2>l.pending_buf_size&&ey(e),l.pending+2<=l.pending_buf_size&&(ex(l,255&e.adler),ex(l,e.adler>>8&255),e.adler=0,l.status=113)):l.status=113),0!==l.pending){if(ey(e),0===e.avail_out)return l.last_flush=-1,ee}else if(0===e.avail_in&&ef(t)<=ef(i)&&t!==K)return eu(e,el);if(666===l.status&&0!==e.avail_in)return eu(e,el);if(0!==e.avail_in||0!==l.lookahead||t!==N&&666!==l.status){let a=l.strategy===er?((e,t)=>{let a;for(;;){if(0===e.lookahead&&(eC(e),0===e.lookahead)){if(t===N)return 1;break}if(e.match_length=0,a=j(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,a&&(ew(e,!1),0===e.strm.avail_out))return 1}return(e.insert=0,t===K)?(ew(e,!0),0===e.strm.avail_out)?3:4:e.last_lit&&(ew(e,!1),0===e.strm.avail_out)?1:2})(l,t):l.strategy===en?((e,t)=>{let a,s,l,i,o=e.window;for(;;){if(e.lookahead<=258){if(eC(e),e.lookahead<=258&&t===N)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(s=o[l=e.strstart-1])===o[++l]&&s===o[++l]&&s===o[++l]){i=e.strstart+258;do;while(s===o[++l]&&s===o[++l]&&s===o[++l]&&s===o[++l]&&s===o[++l]&&s===o[++l]&&s===o[++l]&&s===o[++l]&&l<i)e.match_length=258-(i-l),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(a=j(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(a=j(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),a&&(ew(e,!1),0===e.strm.avail_out))return 1}return(e.insert=0,t===K)?(ew(e,!0),0===e.strm.avail_out)?3:4:e.last_lit&&(ew(e,!1),0===e.strm.avail_out)?1:2})(l,t):eB[l.level].func(l,t);if((3===a||4===a)&&(l.status=666),1===a||3===a)return 0===e.avail_out&&(l.last_flush=-1),ee;if(2===a&&(t===W?$(l):t!==Q&&(D(l,0,0,!1),t===J&&(ev(l.head),0===l.lookahead&&(l.strstart=0,l.block_start=0,l.insert=0))),ey(e),0===e.avail_out))return l.last_flush=-1,ee}return t!==K?ee:l.wrap<=0?et:(2===l.wrap?(ex(l,255&e.adler),ex(l,e.adler>>8&255),ex(l,e.adler>>16&255),ex(l,e.adler>>24&255),ex(l,255&e.total_in),ex(l,e.total_in>>8&255),ex(l,e.total_in>>16&255),ex(l,e.total_in>>24&255)):(eb(l,e.adler>>>16),eb(l,65535&e.adler)),ey(e),l.wrap>0&&(l.wrap=-l.wrap),0!==l.pending?ee:et)},eS=e=>{if(!e||!e.state)return ea;let t=e.state.status;return 42!==t&&69!==t&&73!==t&&91!==t&&103!==t&&113!==t&&666!==t?eu(e,ea):(e.state=null,113===t?eu(e,es):ee)};let eV=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var eH=function(e){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let a=t.shift();if(a){if("object"!=typeof a)throw TypeError(a+"must be non-object");for(let t in a)eV(a,t)&&(e[t]=a[t])}}return e},eq=e=>{let t=0;for(let a=0,s=e.length;a<s;a++)t+=e[a].length;let a=new Uint8Array(t);for(let t=0,s=0,l=e.length;t<l;t++){let l=e[t];a.set(l,s),s+=l.length}return a};let eF=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){eF=!1}let eI=new Uint8Array(256);for(let e=0;e<256;e++)eI[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;eI[254]=eI[254]=1;var eU=e=>{let t,a,s,l,i,o=e.length,r=0;for(l=0;l<o;l++)(64512&(a=e.charCodeAt(l)))==55296&&l+1<o&&(64512&(s=e.charCodeAt(l+1)))==56320&&(a=65536+(a-55296<<10)+(s-56320),l++),r+=a<128?1:a<2048?2:a<65536?3:4;for(t=new Uint8Array(r),i=0,l=0;i<r;l++)(64512&(a=e.charCodeAt(l)))==55296&&l+1<o&&(64512&(s=e.charCodeAt(l+1)))==56320&&(a=65536+(a-55296<<10)+(s-56320),l++),a<128?t[i++]=a:(a<2048?t[i++]=192|a>>>6:(a<65536?t[i++]=224|a>>>12:(t[i++]=240|a>>>18,t[i++]=128|a>>>12&63),t[i++]=128|a>>>6&63),t[i++]=128|63&a);return t},eO=(e,t)=>{let a,s,l=t||e.length,i=Array(2*l);for(s=0,a=0;a<l;){let t=e[a++];if(t<128){i[s++]=t;continue}let o=eI[t];if(o>4){i[s++]=65533,a+=o-1;continue}for(t&=2===o?31:3===o?15:7;o>1&&a<l;)t=t<<6|63&e[a++],o--;if(o>1){i[s++]=65533;continue}t<65536?i[s++]=t:(t-=65536,i[s++]=55296|t>>10&1023,i[s++]=56320|1023&t)}var o=s;if(o<65534&&i.subarray&&eF)return String.fromCharCode.apply(null,i.length===o?i:i.subarray(0,o));let r="";for(let e=0;e<o;e++)r+=String.fromCharCode(i[e]);return r},eE=(e,t)=>{(t=t||e.length)>e.length&&(t=e.length);let a=t-1;for(;a>=0&&(192&e[a])==128;)a--;return a<0||0===a?t:a+eI[e[a]]>t?a:t},eX=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};let eY=Object.prototype.toString,{Z_NO_FLUSH:eZ,Z_SYNC_FLUSH:eG,Z_FULL_FLUSH:eT,Z_FINISH:eD,Z_OK:eR,Z_STREAM_END:ej,Z_DEFAULT_COMPRESSION:e$,Z_DEFAULT_STRATEGY:eN,Z_DEFLATED:eW}=G;function eJ(e){let t,a;this.options=eH({level:e$,method:eW,chunkSize:16384,windowBits:15,memLevel:8,strategy:eN},e||{});let s=this.options;s.raw&&s.windowBits>0?s.windowBits=-s.windowBits:s.gzip&&s.windowBits>0&&s.windowBits<16&&(s.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new eX,this.strm.avail_out=0;let l=((e,t,a,s,l,i)=>{var o,r;let n;if(!e)return ea;let c=1;if(t===ei&&(t=6),s<0?(c=0,s=-s):s>15&&(c=2,s-=16),l<1||l>9||a!==eg||s<8||s>15||t<0||t>9||i<0||i>ec)return eu(e,ea);8===s&&(s=9);let d=new eA;return e.state=d,d.strm=e,d.wrap=c,d.gzhead=null,d.w_bits=s,d.w_size=1<<d.w_bits,d.w_mask=d.w_size-1,d.hash_bits=l+7,d.hash_size=1<<d.hash_bits,d.hash_mask=d.hash_size-1,d.hash_shift=~~((d.hash_bits+3-1)/3),d.window=new Uint8Array(2*d.w_size),d.head=new Uint16Array(d.hash_size),d.prev=new Uint16Array(d.w_size),d.lit_bufsize=1<<l+6,d.pending_buf_size=4*d.lit_bufsize,d.pending_buf=new Uint8Array(d.pending_buf_size),d.d_buf=+d.lit_bufsize,d.l_buf=3*d.lit_bufsize,d.level=t,d.strategy=i,d.method=a,(n=(e=>{if(!e||!e.state)return eu(e,ea);e.total_in=e.total_out=0,e.data_type=ep;let t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?42:113,e.adler=+(2!==t.wrap),t.last_flush=N,T(t),ee})(o=e))===ee&&((r=o.state).window_size=2*r.w_size,ev(r.head),r.max_lazy_match=eB[r.level].max_lazy,r.good_match=eB[r.level].good_length,r.nice_match=eB[r.level].nice_length,r.max_chain_length=eB[r.level].max_chain,r.strstart=0,r.block_start=0,r.lookahead=0,r.insert=0,r.match_length=r.prev_length=2,r.match_available=0,r.ins_h=0),n})(this.strm,s.level,s.method,s.windowBits,s.memLevel,s.strategy);if(l!==eR)throw Error(Z[l]);if(s.header&&(t=this.strm,a=s.header,t&&t.state&&2===t.state.wrap&&(t.state.gzhead=a)),s.dictionary){let e;if(e="string"==typeof s.dictionary?eU(s.dictionary):"[object ArrayBuffer]"===eY.call(s.dictionary)?new Uint8Array(s.dictionary):s.dictionary,(l=((e,t)=>{let a=t.length;if(!e||!e.state)return ea;let s=e.state,l=s.wrap;if(2===l||1===l&&42!==s.status||s.lookahead)return ea;if(1===l&&(e.adler=E(e.adler,t,a,0)),s.wrap=0,a>=s.w_size){0===l&&(ev(s.head),s.strstart=0,s.block_start=0,s.insert=0);let e=new Uint8Array(s.w_size);e.set(t.subarray(a-s.w_size,a),0),t=e,a=s.w_size}let i=e.avail_in,o=e.next_in,r=e.input;for(e.avail_in=a,e.next_in=0,e.input=t,eC(s);s.lookahead>=3;){let e=s.strstart,t=s.lookahead-2;do s.ins_h=em(s,s.ins_h,s.window[e+3-1]),s.prev[e&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=e,e++;while(--t)s.strstart=e,s.lookahead=2,eC(s)}return s.strstart+=s.lookahead,s.block_start=s.strstart,s.insert=s.lookahead,s.lookahead=0,s.match_length=s.prev_length=2,s.match_available=0,e.next_in=o,e.input=r,e.avail_in=i,s.wrap=l,ee})(this.strm,e))!==eR)throw Error(Z[l]);this._dict_set=!0}}function eK(e,t){let a=new eJ(t);if(a.push(e,!0),a.err)throw a.msg||Z[a.err];return a.result}eJ.prototype.push=function(e,t){let a,s,l=this.strm,i=this.options.chunkSize;if(this.ended)return!1;for(s=t===~~t?t:!0===t?eD:eZ,"string"==typeof e?l.input=eU(e):"[object ArrayBuffer]"===eY.call(e)?l.input=new Uint8Array(e):l.input=e,l.next_in=0,l.avail_in=l.input.length;;){if(0===l.avail_out&&(l.output=new Uint8Array(i),l.next_out=0,l.avail_out=i),(s===eG||s===eT)&&l.avail_out<=6){this.onData(l.output.subarray(0,l.next_out)),l.avail_out=0;continue}if((a=eP(l,s))===ej)return l.next_out>0&&this.onData(l.output.subarray(0,l.next_out)),a=eS(this.strm),this.onEnd(a),this.ended=!0,a===eR;if(0===l.avail_out){this.onData(l.output);continue}if(s>0&&l.next_out>0){this.onData(l.output.subarray(0,l.next_out)),l.avail_out=0;continue}if(0===l.avail_in)break}return!0},eJ.prototype.onData=function(e){this.chunks.push(e)},eJ.prototype.onEnd=function(e){e===eR&&(this.result=eq(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var eQ=function(e,t){let a,s,l,i,o,r,n,c,d,p,g,h,u,f,v,m,y,w,x,b,k,M,C,z,_=e.state;a=e.next_in,C=e.input,s=a+(e.avail_in-5),l=e.next_out,z=e.output,i=l-(t-e.avail_out),o=l+(e.avail_out-257),r=_.dmax,n=_.wsize,c=_.whave,d=_.wnext,p=_.window,g=_.hold,h=_.bits,u=_.lencode,f=_.distcode,v=(1<<_.lenbits)-1,m=(1<<_.distbits)-1;t:do for(h<15&&(g+=C[a++]<<h,h+=8,g+=C[a++]<<h,h+=8),y=u[g&v];;){if(g>>>=w=y>>>24,h-=w,0==(w=y>>>16&255))z[l++]=65535&y;else if(16&w)for(x=65535&y,(w&=15)&&(h<w&&(g+=C[a++]<<h,h+=8),x+=g&(1<<w)-1,g>>>=w,h-=w),h<15&&(g+=C[a++]<<h,h+=8,g+=C[a++]<<h,h+=8),y=f[g&m];;){if(g>>>=w=y>>>24,h-=w,16&(w=y>>>16&255)){if(b=65535&y,h<(w&=15)&&(g+=C[a++]<<h,(h+=8)<w&&(g+=C[a++]<<h,h+=8)),(b+=g&(1<<w)-1)>r){e.msg="invalid distance too far back",_.mode=30;break t}if(g>>>=w,h-=w,b>(w=l-i)){if((w=b-w)>c&&_.sane){e.msg="invalid distance too far back",_.mode=30;break t}if(k=0,M=p,0===d){if(k+=n-w,w<x){x-=w;do z[l++]=p[k++];while(--w)k=l-b,M=z}}else if(d<w){if(k+=n+d-w,(w-=d)<x){x-=w;do z[l++]=p[k++];while(--w)if(k=0,d<x){x-=w=d;do z[l++]=p[k++];while(--w)k=l-b,M=z}}}else if(k+=d-w,w<x){x-=w;do z[l++]=p[k++];while(--w)k=l-b,M=z}for(;x>2;)z[l++]=M[k++],z[l++]=M[k++],z[l++]=M[k++],x-=3;x&&(z[l++]=M[k++],x>1&&(z[l++]=M[k++]))}else{k=l-b;do z[l++]=z[k++],z[l++]=z[k++],z[l++]=z[k++],x-=3;while(x>2)x&&(z[l++]=z[k++],x>1&&(z[l++]=z[k++]))}}else if((64&w)==0){y=f[(65535&y)+(g&(1<<w)-1)];continue}else{e.msg="invalid distance code",_.mode=30;break t}break}else if((64&w)==0){y=u[(65535&y)+(g&(1<<w)-1)];continue}else if(32&w){_.mode=12;break t}else{e.msg="invalid literal/length code",_.mode=30;break t}break}while(a<s&&l<o)a-=x=h>>3,h-=x<<3,g&=(1<<h)-1,e.next_in=a,e.next_out=l,e.avail_in=a<s?5+(s-a):5-(a-s),e.avail_out=l<o?257+(o-l):257-(l-o),_.hold=g,_.bits=h};let e1=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),e0=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),e2=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),e3=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var e5=(e,t,a,s,l,i,o,r)=>{let n,c,d,p,g,h,u,f,v,m=r.bits,y=0,w=0,x=0,b=0,k=0,M=0,C=0,z=0,_=0,L=0,B=null,A=0,P=new Uint16Array(16),S=new Uint16Array(16),V=null,H=0;for(y=0;y<=15;y++)P[y]=0;for(w=0;w<s;w++)P[t[a+w]]++;for(k=m,b=15;b>=1&&0===P[b];b--);if(k>b&&(k=b),0===b)return l[i++]=0x1400000,l[i++]=0x1400000,r.bits=1,0;for(x=1;x<b&&0===P[x];x++);for(k<x&&(k=x),z=1,y=1;y<=15;y++)if(z<<=1,(z-=P[y])<0)return -1;if(z>0&&(0===e||1!==b))return -1;for(S[1]=0,y=1;y<15;y++)S[y+1]=S[y]+P[y];for(w=0;w<s;w++)0!==t[a+w]&&(o[S[t[a+w]]++]=w);if(0===e?(B=V=o,h=19):1===e?(B=e1,A-=257,V=e0,H-=257,h=256):(B=e2,V=e3,h=-1),L=0,w=0,y=x,g=i,M=k,C=0,d=-1,p=(_=1<<k)-1,1===e&&_>852||2===e&&_>592)return 1;for(;;){u=y-C,o[w]<h?(f=0,v=o[w]):o[w]>h?(f=V[H+o[w]],v=B[A+o[w]]):(f=96,v=0),n=1<<y-C,x=c=1<<M;do l[g+(L>>C)+(c-=n)]=u<<24|f<<16|v;while(0!==c)for(n=1<<y-1;L&n;)n>>=1;if(0!==n?(L&=n-1,L+=n):L=0,w++,0==--P[y]){if(y===b)break;y=t[a+o[w]]}if(y>k&&(L&p)!==d){for(0===C&&(C=k),g+=x,z=1<<(M=y-C);M+C<b&&!((z-=P[M+C])<=0);)M++,z<<=1;if(_+=1<<M,1===e&&_>852||2===e&&_>592)return 1;l[d=L&p]=k<<24|M<<16|g-i}}return 0!==L&&(l[g+L]=y-C<<24|4194304),r.bits=k,0};let{Z_FINISH:e4,Z_BLOCK:e6,Z_TREES:e7,Z_OK:e8,Z_STREAM_END:e9,Z_NEED_DICT:te,Z_STREAM_ERROR:tt,Z_DATA_ERROR:ta,Z_MEM_ERROR:ts,Z_BUF_ERROR:tl,Z_DEFLATED:ti}=G,to=e=>(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24);function tr(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}let tn=e=>{if(!e||!e.state)return tt;let t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,(e=>{if(!e||!e.state)return tt;let t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,e8})(e)},tc=!0,td=e=>{if(tc){o=new Int32Array(512),r=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(e5(1,e.lens,0,288,o,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;e5(2,e.lens,0,32,r,0,e.work,{bits:5}),tc=!1}e.lencode=o,e.lenbits=9,e.distcode=r,e.distbits=5},tp=(e,t,a,s)=>{let l,i=e.state;return null===i.window&&(i.wsize=1<<i.wbits,i.wnext=0,i.whave=0,i.window=new Uint8Array(i.wsize)),s>=i.wsize?(i.window.set(t.subarray(a-i.wsize,a),0),i.wnext=0,i.whave=i.wsize):((l=i.wsize-i.wnext)>s&&(l=s),i.window.set(t.subarray(a-s,a-s+l),i.wnext),(s-=l)?(i.window.set(t.subarray(a-s,a),0),i.wnext=s,i.whave=i.wsize):(i.wnext+=l,i.wnext===i.wsize&&(i.wnext=0),i.whave<i.wsize&&(i.whave+=l))),0};var tg=(e,t)=>{let a,s,l,i,o,r,n,c,d,p,g,h,u,f,v,m,y,w,x,b,k,M,C,z,_=0,L=new Uint8Array(4),B=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return tt;12===(a=e.state).mode&&(a.mode=13),o=e.next_out,l=e.output,n=e.avail_out,i=e.next_in,s=e.input,r=e.avail_in,c=a.hold,d=a.bits,p=r,g=n,M=e8;a:for(;;)switch(a.mode){case 1:if(0===a.wrap){a.mode=13;break}for(;d<16;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}if(2&a.wrap&&35615===c){a.check=0,L[0]=255&c,L[1]=c>>>8&255,a.check=Y(a.check,L,2,0),c=0,d=0,a.mode=2;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&c)<<8)+(c>>8))%31){e.msg="incorrect header check",a.mode=30;break}if((15&c)!==ti){e.msg="unknown compression method",a.mode=30;break}if(c>>>=4,d-=4,k=(15&c)+8,0===a.wbits)a.wbits=k;else if(k>a.wbits){e.msg="invalid window size",a.mode=30;break}a.dmax=1<<a.wbits,e.adler=a.check=1,a.mode=512&c?10:12,c=0,d=0;break;case 2:for(;d<16;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}if(a.flags=c,(255&a.flags)!==ti){e.msg="unknown compression method",a.mode=30;break}if(57344&a.flags){e.msg="unknown header flags set",a.mode=30;break}a.head&&(a.head.text=c>>8&1),512&a.flags&&(L[0]=255&c,L[1]=c>>>8&255,a.check=Y(a.check,L,2,0)),c=0,d=0,a.mode=3;case 3:for(;d<32;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}a.head&&(a.head.time=c),512&a.flags&&(L[0]=255&c,L[1]=c>>>8&255,L[2]=c>>>16&255,L[3]=c>>>24&255,a.check=Y(a.check,L,4,0)),c=0,d=0,a.mode=4;case 4:for(;d<16;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}a.head&&(a.head.xflags=255&c,a.head.os=c>>8),512&a.flags&&(L[0]=255&c,L[1]=c>>>8&255,a.check=Y(a.check,L,2,0)),c=0,d=0,a.mode=5;case 5:if(1024&a.flags){for(;d<16;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}a.length=c,a.head&&(a.head.extra_len=c),512&a.flags&&(L[0]=255&c,L[1]=c>>>8&255,a.check=Y(a.check,L,2,0)),c=0,d=0}else a.head&&(a.head.extra=null);a.mode=6;case 6:if(1024&a.flags&&((h=a.length)>r&&(h=r),h&&(a.head&&(k=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Uint8Array(a.head.extra_len)),a.head.extra.set(s.subarray(i,i+h),k)),512&a.flags&&(a.check=Y(a.check,s,h,i)),r-=h,i+=h,a.length-=h),a.length))break a;a.length=0,a.mode=7;case 7:if(2048&a.flags){if(0===r)break a;h=0;do k=s[i+h++],a.head&&k&&a.length<65536&&(a.head.name+=String.fromCharCode(k));while(k&&h<r)if(512&a.flags&&(a.check=Y(a.check,s,h,i)),r-=h,i+=h,k)break a}else a.head&&(a.head.name=null);a.length=0,a.mode=8;case 8:if(4096&a.flags){if(0===r)break a;h=0;do k=s[i+h++],a.head&&k&&a.length<65536&&(a.head.comment+=String.fromCharCode(k));while(k&&h<r)if(512&a.flags&&(a.check=Y(a.check,s,h,i)),r-=h,i+=h,k)break a}else a.head&&(a.head.comment=null);a.mode=9;case 9:if(512&a.flags){for(;d<16;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}if(c!==(65535&a.check)){e.msg="header crc mismatch",a.mode=30;break}c=0,d=0}a.head&&(a.head.hcrc=a.flags>>9&1,a.head.done=!0),e.adler=a.check=0,a.mode=12;break;case 10:for(;d<32;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}e.adler=a.check=to(c),c=0,d=0,a.mode=11;case 11:if(0===a.havedict)return e.next_out=o,e.avail_out=n,e.next_in=i,e.avail_in=r,a.hold=c,a.bits=d,te;e.adler=a.check=1,a.mode=12;case 12:if(t===e6||t===e7)break a;case 13:if(a.last){c>>>=7&d,d-=7&d,a.mode=27;break}for(;d<3;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}switch(a.last=1&c,d-=1,3&(c>>>=1)){case 0:a.mode=14;break;case 1:if(td(a),a.mode=20,t===e7){c>>>=2,d-=2;break a}break;case 2:a.mode=17;break;case 3:e.msg="invalid block type",a.mode=30}c>>>=2,d-=2;break;case 14:for(c>>>=7&d,d-=7&d;d<32;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}if((65535&c)!=(c>>>16^65535)){e.msg="invalid stored block lengths",a.mode=30;break}if(a.length=65535&c,c=0,d=0,a.mode=15,t===e7)break a;case 15:a.mode=16;case 16:if(h=a.length){if(h>r&&(h=r),h>n&&(h=n),0===h)break a;l.set(s.subarray(i,i+h),o),r-=h,i+=h,n-=h,o+=h,a.length-=h;break}a.mode=12;break;case 17:for(;d<14;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}if(a.nlen=(31&c)+257,d-=5,a.ndist=(31&(c>>>=5))+1,d-=5,a.ncode=(15&(c>>>=5))+4,c>>>=4,d-=4,a.nlen>286||a.ndist>30){e.msg="too many length or distance symbols",a.mode=30;break}a.have=0,a.mode=18;case 18:for(;a.have<a.ncode;){for(;d<3;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}a.lens[B[a.have++]]=7&c,c>>>=3,d-=3}for(;a.have<19;)a.lens[B[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,C={bits:a.lenbits},M=e5(0,a.lens,0,19,a.lencode,0,a.work,C),a.lenbits=C.bits,M){e.msg="invalid code lengths set",a.mode=30;break}a.have=0,a.mode=19;case 19:for(;a.have<a.nlen+a.ndist;){for(;v=(_=a.lencode[c&(1<<a.lenbits)-1])>>>24,m=_>>>16&255,y=65535&_,!(v<=d);){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}if(y<16)c>>>=v,d-=v,a.lens[a.have++]=y;else{if(16===y){for(z=v+2;d<z;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}if(c>>>=v,d-=v,0===a.have){e.msg="invalid bit length repeat",a.mode=30;break}k=a.lens[a.have-1],h=3+(3&c),c>>>=2,d-=2}else if(17===y){for(z=v+3;d<z;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}c>>>=v,d-=v,k=0,h=3+(7&c),c>>>=3,d-=3}else{for(z=v+7;d<z;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}c>>>=v,d-=v,k=0,h=11+(127&c),c>>>=7,d-=7}if(a.have+h>a.nlen+a.ndist){e.msg="invalid bit length repeat",a.mode=30;break}for(;h--;)a.lens[a.have++]=k}}if(30===a.mode)break;if(0===a.lens[256]){e.msg="invalid code -- missing end-of-block",a.mode=30;break}if(a.lenbits=9,C={bits:a.lenbits},M=e5(1,a.lens,0,a.nlen,a.lencode,0,a.work,C),a.lenbits=C.bits,M){e.msg="invalid literal/lengths set",a.mode=30;break}if(a.distbits=6,a.distcode=a.distdyn,C={bits:a.distbits},M=e5(2,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,C),a.distbits=C.bits,M){e.msg="invalid distances set",a.mode=30;break}if(a.mode=20,t===e7)break a;case 20:a.mode=21;case 21:if(r>=6&&n>=258){e.next_out=o,e.avail_out=n,e.next_in=i,e.avail_in=r,a.hold=c,a.bits=d,eQ(e,g),o=e.next_out,l=e.output,n=e.avail_out,i=e.next_in,s=e.input,r=e.avail_in,c=a.hold,d=a.bits,12===a.mode&&(a.back=-1);break}for(a.back=0;v=(_=a.lencode[c&(1<<a.lenbits)-1])>>>24,m=_>>>16&255,y=65535&_,!(v<=d);){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}if(m&&(240&m)==0){for(w=v,x=m,b=y;v=(_=a.lencode[b+((c&(1<<w+x)-1)>>w)])>>>24,m=_>>>16&255,y=65535&_,!(w+v<=d);){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}c>>>=w,d-=w,a.back+=w}if(c>>>=v,d-=v,a.back+=v,a.length=y,0===m){a.mode=26;break}if(32&m){a.back=-1,a.mode=12;break}if(64&m){e.msg="invalid literal/length code",a.mode=30;break}a.extra=15&m,a.mode=22;case 22:if(a.extra){for(z=a.extra;d<z;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}a.length+=c&(1<<a.extra)-1,c>>>=a.extra,d-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=23;case 23:for(;v=(_=a.distcode[c&(1<<a.distbits)-1])>>>24,m=_>>>16&255,y=65535&_,!(v<=d);){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}if((240&m)==0){for(w=v,x=m,b=y;v=(_=a.distcode[b+((c&(1<<w+x)-1)>>w)])>>>24,m=_>>>16&255,y=65535&_,!(w+v<=d);){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}c>>>=w,d-=w,a.back+=w}if(c>>>=v,d-=v,a.back+=v,64&m){e.msg="invalid distance code",a.mode=30;break}a.offset=y,a.extra=15&m,a.mode=24;case 24:if(a.extra){for(z=a.extra;d<z;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}a.offset+=c&(1<<a.extra)-1,c>>>=a.extra,d-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){e.msg="invalid distance too far back",a.mode=30;break}a.mode=25;case 25:if(0===n)break a;if(h=g-n,a.offset>h){if((h=a.offset-h)>a.whave&&a.sane){e.msg="invalid distance too far back",a.mode=30;break}h>a.wnext?(h-=a.wnext,u=a.wsize-h):u=a.wnext-h,h>a.length&&(h=a.length),f=a.window}else f=l,u=o-a.offset,h=a.length;h>n&&(h=n),n-=h,a.length-=h;do l[o++]=f[u++];while(--h)0===a.length&&(a.mode=21);break;case 26:if(0===n)break a;l[o++]=a.length,n--,a.mode=21;break;case 27:if(a.wrap){for(;d<32;){if(0===r)break a;r--,c|=s[i++]<<d,d+=8}if(g-=n,e.total_out+=g,a.total+=g,g&&(e.adler=a.check=a.flags?Y(a.check,l,g,o-g):E(a.check,l,g,o-g)),g=n,(a.flags?c:to(c))!==a.check){e.msg="incorrect data check",a.mode=30;break}c=0,d=0}a.mode=28;case 28:if(a.wrap&&a.flags){for(;d<32;){if(0===r)break a;r--,c+=s[i++]<<d,d+=8}if(c!==(0|a.total)){e.msg="incorrect length check",a.mode=30;break}c=0,d=0}a.mode=29;case 29:M=e9;break a;case 30:M=ta;break a;case 31:return ts;default:return tt}return e.next_out=o,e.avail_out=n,e.next_in=i,e.avail_in=r,a.hold=c,a.bits=d,(a.wsize||g!==e.avail_out&&a.mode<30&&(a.mode<27||t!==e4))&&tp(e,e.output,e.next_out,g-e.avail_out),p-=e.avail_in,g-=e.avail_out,e.total_in+=p,e.total_out+=g,a.total+=g,a.wrap&&g&&(e.adler=a.check=a.flags?Y(a.check,l,g,e.next_out-g):E(a.check,l,g,e.next_out-g)),e.data_type=a.bits+64*!!a.last+128*(12===a.mode)+256*(20===a.mode||15===a.mode),(0===p&&0===g||t===e4)&&M===e8&&(M=tl),M},th=e=>{if(!e||!e.state)return tt;let t=e.state;return t.window&&(t.window=null),e.state=null,e8},tu=(e,t)=>{let a,s=t.length;return e&&e.state&&(0===(a=e.state).wrap||11===a.mode)?11===a.mode&&E(1,t,s,0)!==a.check?ta:tp(e,t,s,s)?(a.mode=31,ts):(a.havedict=1,e8):tt},tf=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};let tv=Object.prototype.toString,{Z_NO_FLUSH:tm,Z_FINISH:ty,Z_OK:tw,Z_STREAM_END:tx,Z_NEED_DICT:tb,Z_STREAM_ERROR:tk,Z_DATA_ERROR:tM,Z_MEM_ERROR:tC}=G;function tz(e){this.options=eH({chunkSize:65536,windowBits:15,to:""},e||{});let t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(15&t.windowBits)==0&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new eX,this.strm.avail_out=0;let a=((e,t)=>{if(!e)return tt;let a=new tr;e.state=a,a.window=null;let s=((e,t)=>{let a;if(!e||!e.state)return tt;let s=e.state;return(t<0?(a=0,t=-t):(a=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?tt:(null!==s.window&&s.wbits!==t&&(s.window=null),s.wrap=a,s.wbits=t,tn(e))})(e,t);return s!==e8&&(e.state=null),s})(this.strm,t.windowBits);if(a!==tw||(this.header=new tf,((e,t)=>{if(!e||!e.state)return;let a=e.state;return(2&a.wrap)==0||(a.head=t,t.done=!1)})(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=eU(t.dictionary):"[object ArrayBuffer]"===tv.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw)&&(a=tu(this.strm,t.dictionary))!==tw))throw Error(Z[a])}function t_(e,t){let a=new tz(t);if(a.push(e),a.err)throw a.msg||Z[a.err];return a.result}tz.prototype.push=function(e,t){let a,s,l,i=this.strm,o=this.options.chunkSize,r=this.options.dictionary;if(this.ended)return!1;for(s=t===~~t?t:!0===t?ty:tm,"[object ArrayBuffer]"===tv.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;;){for(0===i.avail_out&&(i.output=new Uint8Array(o),i.next_out=0,i.avail_out=o),(a=tg(i,s))===tb&&r&&((a=tu(i,r))===tw?a=tg(i,s):a===tM&&(a=tb));i.avail_in>0&&a===tx&&i.state.wrap>0&&0!==e[i.next_in];)tn(i),a=tg(i,s);switch(a){case tk:case tM:case tb:case tC:return this.onEnd(a),this.ended=!0,!1}if(l=i.avail_out,i.next_out&&(0===i.avail_out||a===tx))if("string"===this.options.to){let e=eE(i.output,i.next_out),t=i.next_out-e,a=eO(i.output,e);i.next_out=t,i.avail_out=o-t,t&&i.output.set(i.output.subarray(e,e+t),0),this.onData(a)}else this.onData(i.output.length===i.next_out?i.output:i.output.subarray(0,i.next_out));if(a!==tw||0!==l){if(a===tx)return a=th(this.strm),this.onEnd(a),this.ended=!0,!0;if(0===i.avail_in)break}}return!0},tz.prototype.onData=function(e){this.chunks.push(e)},tz.prototype.onEnd=function(e){e===tw&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=eq(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};let{Deflate:tL,deflate:tB,deflateRaw:tA,gzip:tP}={Deflate:eJ,deflate:eK,deflateRaw:function(e,t){return(t=t||{}).raw=!0,eK(e,t)},gzip:function(e,t){return(t=t||{}).gzip=!0,eK(e,t)},constants:G},{Inflate:tS,inflate:tV,inflateRaw:tH,ungzip:tq}={Inflate:tz,inflate:t_,inflateRaw:function(e,t){return(t=t||{}).raw=!0,t_(e,t)},ungzip:t_,constants:G};a.d(t,{Gy:()=>tL,Kc:()=>tB,UD:()=>tV})},6484(e,t,a){let s;a.d(t,{x3j:()=>sj,aoY:()=>nY,$BZ:()=>nX,y15:()=>sm,OvW:()=>ly,Txp:()=>lM,Q5o:()=>rp,UA7:()=>rB,JHX:()=>ln,yEg:()=>sM,UhG:()=>sy,OFB:()=>nE,Yep:()=>nG,z4o:()=>tH,Ahp:()=>nZ,txp:()=>rh,rRT:()=>rA});var l=a(2718),i=a(1179),o=a(2842),r=a(4238),n=a(5633),c=a(2109),d=a(7086),p=a(2981);let g=["flowchart","mindmap","sequence","timeline"],h=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function u(e){return e.length<=64&&h.test(e)}let f=l.ukk,v=l.mSG(l.QfV,l.$r1),m=Object.freeze({paper:"#f6f1e7",card:"#fffdf8",ink:"#1a1712",accent:"#8f707f"}),y=Object.freeze({accentColor:m.accent,backgroundColor:m.card});function w(e,t){return e.pipe(l.tiU(o.PyW(t)))}l.xCb(g);let x=l.xCb(["flowchart","mindmap"]),b=l.xCb(["TB","BT","LR","RL"]),k=l.xCb(["straight","orthogonal","curved"]);class M extends l.Xsx("DiagramIconRef")({slug:f.check(l.Pto(h),l.NYj(64))}){}class C extends l.Xsx("DiagramGroup")({id:f,label:f}){}class z extends l.Xsx("DiagramNode")({id:f,label:f,group:l.lqM(f),kind:l.lqM(f),icon:l.lqM(M),metadata:w(v,{})}){}class _ extends l.Xsx("DiagramEdge")({id:f,source:f,target:f,label:l.lqM(f),metadata:w(v,{})}){}let L=l.QfV.check(l.Pto(/^#[0-9a-fA-F]{6}$/));class B extends l.Xsx("DiagramStyle")({accentColor:w(L,y.accentColor),backgroundColor:w(L,y.backgroundColor)}){}class A extends l.Xsx("DiagramLayout")({direction:w(b,"LR"),edgeRouting:w(k,"orthogonal")}){}class P extends l.Xsx("IntermediateDiagram")({id:f,title:f,type:w(x,"flowchart"),nodes:l.O31(z).pipe(l.fXn).check(l.tJb(1)),edges:w(l.O31(_).pipe(l.fXn),[]),groups:l.lqM(l.O31(C).pipe(l.fXn)),layout:w(A,{direction:"LR",edgeRouting:"orthogonal"}),style:w(B,y),metadata:w(v,{})}){}class S extends Error{constructor(e){super(e),this.name="DiagramValidationError"}}let V=e=>{let t=new Set;for(let a of e){if(t.has(a))return a;t.add(a)}};function H(e){let t=V(e.nodes.map(e=>e.id));if(t)throw new S(`Duplicate node id "${t}" is not allowed.`);let a=V(e.edges.map(e=>e.id));if(a)throw new S(`Duplicate edge id "${a}" is not allowed.`);let s=V((e.groups??[]).map(e=>e.id));if(s)throw new S(`Duplicate group id "${s}" is not allowed.`);let l=new Set((e.groups??[]).map(e=>e.id));for(let t of e.nodes)if(void 0!==t.group&&!l.has(t.group))throw new S(`Node "${t.id}" references missing group "${t.group}".`);let i=new Set(e.nodes.map(e=>e.id));for(let t of e.edges){if(!i.has(t.source))throw new S(`Edge "${t.id}" references missing source node "${t.source}".`);if(!i.has(t.target))throw new S(`Edge "${t.id}" references missing target node "${t.target}".`);if(t.source===t.target)throw new S(`Edge "${t.id}" cannot connect node "${t.source}" to itself.`)}return e}let q="timeline",F=["event","milestone"],I=l.xCb(F);class U extends l.Xsx("TimelineEvent")({id:l.ukk,label:l.ukk,date:l.Qrq(l.ukk),end:l.Qrq(l.ukk),order:l.Qrq(l.wYs),kind:l.Qrq(I),lane:l.Qrq(l.ukk),description:l.Qrq(l.ukk)}){}class O extends l.Xsx("TimelineDiagram")({id:l.ukk,title:l.ukk,type:l.uSQ(q),events:l.O31(U).pipe(l.fXn,l.Sr8(l.tJb(1))),lanes:l.Qrq(l.O31(l.ukk).pipe(l.fXn)),today:l.Qrq(l.ukk),style:B.pipe(l.tiU(o.PyW({...y})))}){}let E=/^(\d{4})(?:-(\d{2})(?:-(\d{2})(?:T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,3}))?)?(Z|[+-]\d{2}:\d{2}))?)?)?$/u;function X(e,t,a,s=0,l=0,i=0,o=0){let r=new Date(0);return r.setUTCFullYear(e,t-1,a),r.setUTCHours(s,l,i,o),r.getTime()}function Y(e){let t=E.exec(e);if(!t)return;let[,a,s,l,i,o,r,n,c]=t,d=Number(a),p=void 0===s?1:Number(s),g=void 0===l?1:Number(l);if(p<1||p>12||g<1||g>new Date(X(d,p+1,0)).getUTCDate())return;if(void 0===i){let e=void 0!==l?"day":void 0!==s?"month":"year",t=X(d,p,g),a="day"===e?X(d,p,g+1):"month"===e?X(d,p+1,1):X(d+1,1,1);return{granularity:e,start:t,end:a,fields:{year:d,month:p,day:g,hour:0,minute:0,second:0,millisecond:0}}}let h=Number(i),u=Number(o),f=void 0===r?0:Number(r),v=void 0===n?0:Number(n.padEnd(3,"0"));if(h>23||u>59||f>59||void 0===c)return;let m=0;if("Z"!==c){let e=Number(c.slice(1,3)),t=Number(c.slice(4,6));if(e>14||t>59)return;m=(c.startsWith("-")?-1:1)*(60*e+t)}let y=X(d,p,g,h,u,f,v)-6e4*m;return{granularity:"instant",start:y,end:y,fields:{year:d,month:p,day:g,hour:h,minute:u,second:f,millisecond:v},offsetMinutes:m}}let Z="Use YYYY, YYYY-MM, YYYY-MM-DD, or YYYY-MM-DDTHH:mm[:ss] with Z or ±HH:MM, copied from the source.";function G(e){if(e.lanes)return[...e.lanes];let t=[];for(let a of $(e))void 0===a.lane||t.includes(a.lane)||t.push(a.lane);return t}function T(e){let t=[];(0===e.events.length||e.events.length>60)&&t.push({code:"timeline_too_large",path:"events",message:"Timeline needs 1–60 events.",hint:"Provide at least one event, or split a longer chronology into timelines."});let a=new Set,s=e.events[0]?.date!==void 0,l=void 0!==e.lanes||e.events.some(e=>e.lane);return e.events.forEach((i,o)=>{let r=`events.[${o}]`;a.has(i.id)&&t.push({code:"duplicate_event_id",path:`${r}.id`,message:`Event id "${i.id}" is duplicated.`,hint:"Give each event a unique stable id."}),a.add(i.id);let n=void 0===i.date?void 0:Y(i.date);if(void 0===i.date||n||t.push({code:"invalid_timeline_date",path:`${r}.date`,message:`Event "${i.id}" has invalid date "${i.date}".`,hint:Z}),(void 0!==i.date==(void 0!==i.order)||void 0!==i.date!==s)&&t.push({code:"invalid_timeline_order",path:r,message:"Every event must use exactly one chronology field, with the same date or order mode throughout.",hint:"Supply dates for all events, or numeric order for all events; never invent a missing date."}),void 0!==i.end){let e=Y(i.end);e?(void 0===i.date||"milestone"===i.kind||n&&e.end<=n.start)&&t.push({code:"invalid_timeline_span",path:`${r}.end`,message:`Span "${i.id}" needs a date, an end on or after it, and no milestone kind.`,hint:"Use end only for dated phases; a milestone is a single point."}):t.push({code:"invalid_timeline_date",path:`${r}.end`,message:`Event "${i.id}" has invalid end "${i.end}".`,hint:Z})}l&&(void 0===i.lane||e.lanes&&!e.lanes.includes(i.lane))&&t.push({code:"invalid_timeline_lane",path:`${r}.lane`,message:`Event "${i.id}" needs one of the timeline's lanes.`,hint:"Give every event a lane listed in lanes, or omit lanes everywhere."})}),e.lanes&&new Set(e.lanes).size!==e.lanes.length&&t.push({code:"invalid_timeline_lane",path:"lanes",message:"Lane names must be unique.",hint:"List each lane once, in top-to-bottom order."}),G(e).length>6&&t.push({code:"timeline_too_large",path:"lanes",message:"Timeline supports at most 6 lanes.",hint:"Merge related tracks or split the chronology into timelines."}),void 0===e.today||s&&void 0!==Y(e.today)||t.push({code:"invalid_timeline_date",path:"today",message:`Today "${e.today}" must be a valid date on a dated timeline.`,hint:`${Z} Omit today unless the source states it.`}),t.slice(0,20)}class D extends S{issues;constructor(e){super(e[0]?.message??"Timeline failed validation."),this.issues=e,this.name="TimelineValidationError"}}function R(e){let t=T(e);if(t.length)throw new D(t);return e}function j(e){return void 0!==e.date?Y(e.date)?.start??0/0:e.order??0}function $(e){return e.events.toSorted((e,t)=>j(e)-j(t)||0)}R(l.svK(O,{errors:"all"})({id:"release-timeline",title:"Release milestones",type:"timeline",events:[{id:"plan",label:"Scope agreed",date:"2026-09-01"},{id:"beta",label:"Public beta",date:"2026-09-15",description:"Collect feedback from early users."},{id:"release",label:"General availability",date:"2026-10-01",kind:"milestone"}]}));let N="flowchart",W=l.xCb(["duplicate_node_id","duplicate_edge_id","missing_edge_source","missing_edge_target","self_loop","missing_start","multiple_starts","missing_end","start_has_incoming","end_has_outgoing","unreachable_node","missing_outgoing_edge","underbranched_decision","unlabeled_decision_branch","duplicate_decision_branch_label","nonterminating_node","flowchart_too_large","duplicate_group_id","unknown_node_group","empty_group"]);class J extends l.Xsx("FlowchartValidationIssueRef")({kind:l.xCb(["diagram","node","edge","group"]),id:l.lqM(l.ukk),path:l.lqM(l.ukk)}){}l.Xsx("FlowchartValidationIssue")({code:W,ref:l.lqM(J),message:l.ukk,hint:l.ukk});let K=l.xCb(["start","process","decision","end"]);class Q extends z.extend("FlowchartNode")({kind:K,description:l.lqM(l.ukk)}){}class ee extends _.extend("FlowchartEdge")({label:l.lqM(l.ukk)}){}class et extends P.extend("FlowchartDiagram")({type:l.uSQ(N),nodes:l.O31(Q).pipe(l.fXn).check(l.tJb(2)),edges:l.O31(ee).pipe(l.fXn).check(l.tJb(1))}){}function ea(e){let t=new Set,a=new Set;for(let s of e)t.has(s)?a.add(s):t.add(s);return[...a]}function es(e,t,a){let s=new Set,l=[...e];for(let e=0;e<l.length;e+=1){let i=l[e];if(!(void 0===i||s.has(i)))for(let e of(s.add(i),t.get(i)??[]))l.push(a(e))}return s}function el(e){let t=[],a=new Set(e.nodes.map(e=>e.id)),{incoming:s,outgoing:l}=function(e){let t=new Map,a=new Map;for(let s of e)t.set(s.target,[...t.get(s.target)??[],s]),a.set(s.source,[...a.get(s.source)??[],s]);return{incoming:t,outgoing:a}}(e.edges);e.nodes.length>24&&t.push({code:"flowchart_too_large",ref:{kind:"diagram",id:e.id,path:"nodes"},message:`Flowchart has ${e.nodes.length} nodes; the supported maximum is 24.`,hint:"Split the workflow or combine lower-signal steps."}),e.edges.length>64&&t.push({code:"flowchart_too_large",ref:{kind:"diagram",id:e.id,path:"edges"},message:`Flowchart has ${e.edges.length} edges; the supported maximum is 64.`,hint:"Split the workflow or remove lower-signal connections."});let i=e.groups??[];for(let a of(i.length>8&&t.push({code:"flowchart_too_large",ref:{kind:"diagram",id:e.id,path:"groups"},message:`Flowchart has ${i.length} groups; the supported maximum is 8.`,hint:"Merge related groups or leave minor steps ungrouped."}),ea(i.map(e=>e.id))))t.push({code:"duplicate_group_id",ref:{kind:"group",id:a,path:"groups"},message:`Group id "${a}" is used more than once.`,hint:"Give every group a stable unique id."});let o=new Set(i.map(e=>e.id));for(let a of e.nodes)void 0===a.group||o.has(a.group)||t.push({code:"unknown_node_group",ref:{kind:"node",id:a.id,path:"nodes.group"},message:`Node "${a.id}" references undeclared group "${a.group}".`,hint:o.size>0?`Set group to a declared group id (${[...o].map(e=>`"${e}"`).join(", ")}) or declare "${a.group}" in groups.`:`Declare "${a.group}" in groups as { id, label }, or remove the node's group.`});let r=new Set(e.nodes.map(e=>e.group));for(let e of i.filter(e=>!r.has(e.id)))t.push({code:"empty_group",ref:{kind:"group",id:e.id,path:"groups"},message:`Group "${e.id}" has no nodes.`,hint:"Set group on the nodes it holds, or remove the group."});for(let a of ea(e.nodes.map(e=>e.id)))t.push({code:"duplicate_node_id",ref:{kind:"node",id:a,path:"nodes"},message:`Node id "${a}" is used more than once.`,hint:"Give every node a stable unique id."});for(let a of ea(e.edges.map(e=>e.id)))t.push({code:"duplicate_edge_id",ref:{kind:"edge",id:a,path:"edges"},message:`Edge id "${a}" is used more than once.`,hint:"Give every edge a stable unique id."});for(let s of e.edges)a.has(s.source)||t.push({code:"missing_edge_source",ref:{kind:"edge",id:s.id,path:"edges.source"},message:`Edge "${s.id}" references missing source node "${s.source}".`,hint:"Set edge.source to one of the diagram node ids."}),a.has(s.target)||t.push({code:"missing_edge_target",ref:{kind:"edge",id:s.id,path:"edges.target"},message:`Edge "${s.id}" references missing target node "${s.target}".`,hint:"Set edge.target to one of the diagram node ids."}),s.source===s.target&&t.push({code:"self_loop",ref:{kind:"edge",id:s.id},message:`Edge "${s.id}" connects node "${s.source}" to itself.`,hint:"Connect the edge to a different target node."});let n=e.nodes.filter(e=>"start"===e.kind),c=e.nodes.filter(e=>"end"===e.kind);for(let a of(0===n.length?t.push({code:"missing_start",ref:{kind:"diagram",id:e.id,path:"nodes"},message:"Flowchart must contain exactly one start node.",hint:'Mark the first node in the flow with kind: "start".'}):n.length>1&&t.push({code:"multiple_starts",ref:{kind:"diagram",id:e.id,path:"nodes"},message:`Flowchart has ${n.length} start nodes.`,hint:"Keep one start node and change the others to process, decision, or end."}),0===c.length&&t.push({code:"missing_end",ref:{kind:"diagram",id:e.id,path:"nodes"},message:"Flowchart must contain at least one end node.",hint:'Add an end node or mark terminal outcomes with kind: "end".'}),e.nodes)){let e=s.get(a.id)??[],i=l.get(a.id)??[];"start"===a.kind&&e.length>0&&t.push({code:"start_has_incoming",ref:{kind:"node",id:a.id},message:`Start node "${a.id}" cannot have incoming edges.`,hint:"Route the start node only to later nodes."}),"end"===a.kind&&i.length>0&&t.push({code:"end_has_outgoing",ref:{kind:"node",id:a.id},message:`End node "${a.id}" cannot have outgoing edges.`,hint:"End nodes must be terminal outcomes."}),"end"!==a.kind&&0===i.length&&t.push({code:"missing_outgoing_edge",ref:{kind:"node",id:a.id},message:`Node "${a.id}" must have at least one outgoing edge.`,hint:'Connect it to the next step, or mark it as kind: "end".'}),"decision"===a.kind&&t.push(...function(e,t){let a=[];t.length<2&&a.push({code:"underbranched_decision",ref:{kind:"node",id:e.id},message:`Decision node "${e.id}" must have at least two outgoing branches.`,hint:"Add at least two outgoing edges for the decision outcomes."});let s=t.map(e=>e.label?.trim()??"");for(let s of t.filter(e=>!e.label?.trim()))a.push({code:"unlabeled_decision_branch",ref:{kind:"edge",id:s.id,path:"edges.label"},message:`Decision node "${e.id}" has an outgoing branch without a label.`,hint:'Add a short branch label such as "yes", "no", "approved", or "rejected".'});for(let t of ea(s.filter(e=>e.length>0).map(e=>e.toLowerCase())))a.push({code:"duplicate_decision_branch_label",ref:{kind:"node",id:e.id},message:`Decision node "${e.id}" repeats branch label "${t}".`,hint:"Make every outgoing branch label from the same decision unique."});return a}(a,i))}let d=1===n.length?n[0]:void 0;if(d){let a=es([d.id],l,e=>e.target);for(let s of e.nodes)a.has(s.id)||t.push({code:"unreachable_node",ref:{kind:"node",id:s.id},message:`Node "${s.id}" is not reachable from the start node.`,hint:"Connect every node to the flow that begins at the single start node."});if(c.length>0){let i=es(c.map(e=>e.id),s,e=>e.source);for(let s of e.nodes)a.has(s.id)&&!i.has(s.id)&&(l.get(s.id)?.length??0)>0&&t.push({code:"nonterminating_node",ref:{kind:"node",id:s.id},message:`Node "${s.id}" cannot reach an end node.`,hint:"Add an eventual exit from this path to an end node; retry loops are valid when they retain an exit."})}}return t.slice(0,20)}class ei extends S{issues;constructor(e){super(e[0]?.message??"Flowchart failed semantic validation."),this.issues=e,this.name="FlowchartValidationError"}}function eo(e){let t=el(e);if(t.length>0)throw new ei(t);return e}function er(e){return eo(l.svK(et,{errors:"all"})(e))}er({id:"onboarding-flow",title:"Sketchi onboarding decision flow",type:N,nodes:[{id:"prompt",label:"Prompt received",kind:"start"},{id:"requirements",label:"Extract requirements",kind:"process"},{id:"clear",label:"Scope clear?",kind:"decision"},{id:"draft",label:"Draft typed IR",kind:"process"},{id:"review",label:"Review diagram",kind:"end"}],edges:[{id:"prompt-requirements",source:"prompt",target:"requirements"},{id:"requirements-clear",source:"requirements",target:"clear"},{id:"clear-draft",source:"clear",target:"draft",label:"yes"},{id:"clear-review",source:"clear",target:"review",label:"no"},{id:"draft-review",source:"draft",target:"review"}],layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"pharma-batch-disposition",title:"Pharma batch disposition flow",type:N,nodes:[{id:"batch-received",label:"Batch received",kind:"start"},{id:"qa-review",label:"QA reviews Certificate of Analysis",kind:"process"},{id:"passes-specs",label:"Passes specs?",kind:"decision"},{id:"final-review",label:"QA Manager final review",kind:"process"},{id:"packaging",label:"Send to packaging",kind:"end"},{id:"investigate",label:"Investigate retesting",kind:"process"},{id:"reject",label:"Reject batch",kind:"end"}],edges:[{id:"batch-qa",source:"batch-received",target:"qa-review"},{id:"qa-specs",source:"qa-review",target:"passes-specs"},{id:"specs-pass",source:"passes-specs",target:"final-review",label:"yes"},{id:"specs-investigate",source:"passes-specs",target:"investigate",label:"retest"},{id:"specs-reject",source:"passes-specs",target:"reject",label:"reject"},{id:"review-packaging",source:"final-review",target:"packaging"},{id:"investigate-review",source:"investigate",target:"final-review"}],layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"deploy-pipeline-logos",title:"Deploy pipeline",type:N,nodes:[{id:"push",label:"Push to GitHub",kind:"start",icon:{slug:"github"}},{id:"build",label:"Build the Docker image",kind:"process",icon:{slug:"docker"}},{id:"tests",label:"Tests pass?",kind:"decision",icon:{slug:"vitest"}},{id:"fix",label:"Fix the failing tests",kind:"process"},{id:"ship",label:"Ship to Cloudflare Workers",kind:"end",icon:{slug:"cloudflare"}}],edges:[{id:"push-build",source:"push",target:"build"},{id:"build-tests",source:"build",target:"tests"},{id:"tests-ship",source:"tests",target:"ship",label:"yes"},{id:"tests-fix",source:"tests",target:"fix",label:"no"},{id:"fix-build",source:"fix",target:"build"}],layout:{direction:"TB",edgeRouting:"orthogonal"}});let en="mindmap";class ec extends l.Xsx("MindmapNodeMetadata")({depth:l.Aiz.check(l.OWK(0)),siblingIndex:l.Aiz.check(l.OWK(0))}){}class ed extends z.extend("MindmapNode")({kind:l.xCb(["root","topic"]),metadata:ec}){}class ep extends l.Xsx("MindmapEdgeMetadata")({depth:l.Aiz.check(l.yJO(0)),siblingIndex:l.Aiz.check(l.OWK(0))}){}class eg extends _.extend("MindmapEdge")({metadata:ep}){}class eh extends P.extend("MindmapDiagram")({type:l.uSQ(en),nodes:l.O31(ed).pipe(l.fXn).check(l.tJb(2)),edges:l.O31(eg).pipe(l.fXn).check(l.tJb(1))}){}function eu(e){return function(e){H(e);let t=e.nodes.filter(e=>"root"===e.kind);if(1!==t.length)throw new S(`Mindmap must contain exactly one root topic; found ${t.length}.`);let a=t[0];if(!a||0!==a.metadata.depth)throw new S("Mindmap root topic must have depth 0.");let s=new Map,l=new Map(e.nodes.map(e=>[e.id,e])),i=new Map;for(let t of e.edges){s.set(t.target,(s.get(t.target)??0)+1);let e=l.get(t.source)?.metadata.depth,a=l.get(t.target),o=a?.metadata.depth;if(void 0===e||o!==e+1)throw new S(`Mindmap edge "${t.id}" must connect a topic to its immediate child.`);if(!a||t.metadata.depth!==a.metadata.depth||t.metadata.siblingIndex!==a.metadata.siblingIndex)throw new S(`Mindmap edge "${t.id}" metadata must match its child topic.`);i.set(t.source,[...i.get(t.source)??[],a.metadata.siblingIndex])}for(let t of e.nodes){let e=s.get(t.id)??0;if(t.id===a.id?0!==e:1!==e)throw new S(`Mindmap topic "${t.id}" must have ${t.id===a.id?"no parent":"exactly one parent"}.`)}for(let[e,t]of i){let a=t.map((e,t)=>t);if([...t].sort((e,t)=>e-t).some((e,t)=>e!==a[t]))throw new S(`Mindmap children of "${e}" must use contiguous sibling ordering from 0.`)}return e}(l.svK(eh,{errors:"all"})(e))}eu({id:"public-mindmap-capability",title:"Public mindmap generation",type:en,nodes:[{id:"topic-0",label:"Public mindmaps",kind:"root",metadata:{depth:0,siblingIndex:0}},{id:"topic-0-0",label:"Semantic input",kind:"topic",metadata:{depth:1,siblingIndex:0}},{id:"topic-0-0-0",label:"Nested topics",kind:"topic",metadata:{depth:2,siblingIndex:0}},{id:"topic-0-0-1",label:"Stable ordering",kind:"topic",metadata:{depth:2,siblingIndex:1}},{id:"topic-0-1",label:"Artifact output",kind:"topic",metadata:{depth:1,siblingIndex:1}},{id:"topic-0-1-0",label:"Scene",kind:"topic",metadata:{depth:2,siblingIndex:0}},{id:"topic-0-1-1",label:"Excalidraw",kind:"topic",metadata:{depth:2,siblingIndex:1}}],edges:[{id:"branch-0-0",source:"topic-0",target:"topic-0-0",metadata:{depth:1,siblingIndex:0}},{id:"branch-0-0-0",source:"topic-0-0",target:"topic-0-0-0",metadata:{depth:2,siblingIndex:0}},{id:"branch-0-0-1",source:"topic-0-0",target:"topic-0-0-1",metadata:{depth:2,siblingIndex:1}},{id:"branch-0-1",source:"topic-0",target:"topic-0-1",metadata:{depth:1,siblingIndex:1}},{id:"branch-0-1-0",source:"topic-0-1",target:"topic-0-1-0",metadata:{depth:2,siblingIndex:0}},{id:"branch-0-1-1",source:"topic-0-1",target:"topic-0-1-1",metadata:{depth:2,siblingIndex:1}}],layout:{direction:"LR",edgeRouting:"curved"}});let ef="sequence",ev=["message","return"],em=["solid","dashed"],ey=":lifeline";function ew(e){return`${e}${ey}`}let ex=l.xCb(ev),eb=l.xCb(em);class ek extends l.Xsx("SequenceParticipant")({id:l.ukk,label:l.ukk,kind:l.Qrq(l.ukk),icon:l.Qrq(M)}){}class eM extends l.Xsx("SequenceMessage")({id:l.ukk,source:l.ukk,target:l.ukk,label:l.ukk,type:l.Qrq(ex),style:l.Qrq(eb)}){}class eC extends l.Xsx("SequenceDiagram")({id:l.ukk,title:l.ukk,type:l.uSQ(ef),participants:l.O31(ek).pipe(l.fXn,l.Sr8(l.tJb(1))),messages:l.O31(eM).pipe(l.fXn,l.tiU(o.PyW([]))),style:B.pipe(l.tiU(o.PyW({...y})))}){}let ez=l.xCb(["sequence_too_large","duplicate_participant_id","lifeline_id_collision","duplicate_message_id","missing_message_source","missing_message_target","self_message"]);function e_(e){let t=[];e.participants.length>12&&t.push({code:"sequence_too_large",path:"participants",message:`Sequence diagram has ${e.participants.length} participants; the supported maximum is 12.`,hint:"Combine minor actors or split the interaction into several diagrams."}),e.messages.length>40&&t.push({code:"sequence_too_large",path:"messages",message:`Sequence diagram has ${e.messages.length} messages; the supported maximum is 40.`,hint:"Split the interaction into phases or drop lower-signal messages."});let a=new Map;for(let s of(e.participants.forEach((e,s)=>{a.has(e.id)?t.push({code:"duplicate_participant_id",path:`participants.[${s}].id`,message:`Participant id "${e.id}" is duplicated.`,hint:"Give every participant a unique stable id and update message references."}):a.set(e.id,s)}),e.participants)){let a=ew(s.id);e.participants.forEach((e,l)=>{(e.id===a||e.id.startsWith(`${a}:`))&&t.push({code:"lifeline_id_collision",path:`participants.[${l}].id`,message:`Participant id "${e.id}" collides with the generated lifeline for "${s.id}".`,hint:`Rename the participant so its id does not start with another participant id followed by ${ey}.`})})}let s=new Set;return e.messages.forEach((e,l)=>{s.has(e.id)&&t.push({code:"duplicate_message_id",path:`messages.[${l}].id`,message:`Message id "${e.id}" is duplicated.`,hint:"Give every message a unique id or omit message ids to generate them deterministically."}),s.add(e.id),a.has(e.source)||t.push({code:"missing_message_source",path:`messages.[${l}].source`,message:`Message source "${e.source}" is not a participant.`,hint:"Use the id of a participant declared in participants."}),a.has(e.target)||t.push({code:"missing_message_target",path:`messages.[${l}].target`,message:`Message target "${e.target}" is not a participant.`,hint:"Use the id of a participant declared in participants."}),e.source===e.target&&t.push({code:"self_message",path:`messages.[${l}]`,message:`Message "${e.id}" is self-referential.`,hint:"Choose a different target participant; self messages are not supported."})}),t.slice(0,20)}l.Xsx("SequenceValidationIssue")({code:ez,path:l.ukk,message:l.ukk,hint:l.ukk});class eL extends S{issues;constructor(e){super(e[0]?.message??"Sequence diagram failed semantic validation."),this.issues=e,this.name="SequenceValidationError"}}function eB(e){let t=e_(e);if(t.length>0)throw new eL(t);return e}function eA(e){return eB(l.svK(eC,{errors:"all"})(e))}eA({id:"checkout-sequence",title:"Checkout sequence",type:ef,participants:[{id:"customer",label:"Customer"},{id:"store",label:"Store"},{id:"payments",label:"Payments"}],messages:[{id:"checkout",source:"customer",target:"store",label:"Submit checkout"},{id:"charge",source:"store",target:"payments",label:"Charge card"},{id:"charged",source:"payments",target:"store",label:"Payment approved",type:"return"},{id:"receipt",source:"store",target:"customer",label:"Order receipt",type:"return"}]}),eA({id:"api-request-sequence",title:"API request with cache miss",type:ef,participants:[{id:"browser",label:"Browser"},{id:"api",label:"API Worker"},{id:"cache",label:"Cache"},{id:"database",label:"Database"},{id:"analytics",label:"Analytics"}],messages:[{id:"request",source:"browser",target:"api",label:"GET /orders"},{id:"lookup",source:"api",target:"cache",label:"Look up orders"},{id:"miss",source:"cache",target:"api",label:"Cache miss",type:"return"},{id:"query",source:"api",target:"database",label:"Query orders"},{id:"rows",source:"database",target:"api",label:"Order rows",type:"return"},{id:"track",source:"api",target:"analytics",label:"Track request"},{id:"response",source:"api",target:"browser",label:"200 OK",type:"return"}]}),eA({id:"deploy-webhook-logos",title:"Deploy webhook",type:ef,participants:[{id:"developer",label:"Developer"},{id:"github",label:"GitHub",icon:{slug:"github"}},{id:"worker",label:"Cloudflare Worker",icon:{slug:"cloudflare"}},{id:"docker",label:"Docker build",icon:{slug:"docker"}}],messages:[{id:"push",source:"developer",target:"github",label:"git push"},{id:"webhook",source:"github",target:"worker",label:"Push webhook"},{id:"build",source:"worker",target:"docker",label:"Build image"},{id:"digest",source:"docker",target:"worker",label:"Image digest",type:"return"},{id:"accepted",source:"worker",target:"github",label:"202 Accepted",type:"return"}]});let eP=new Intl.Segmenter(void 0,{granularity:"grapheme"}),eS=/\p{Emoji_Presentation}|\uFE0F|\p{Regional_Indicator}|\u20E3/u,eV=/^[\uFE00-\uFE0F\u200B-\u200D\u2060]+$/u;function eH(e){return Array.from(eP.segment(e),e=>e.segment)}function eq(e){var t;return eV.test(e)?0:eS.test(e)?130:(t=e.codePointAt(0)??0)>=4352&&t<=4447||t>=11904&&t<=12350||t>=12353&&t<=13311||t>=13312&&t<=19903||t>=19968&&t<=40959||t>=40960&&t<=42191||t>=44032&&t<=55203||t>=63744&&t<=64255||t>=65072&&t<=65103||t>=65280&&t<=65376||t>=65504&&t<=65510||t>=131072&&t<=262141?100:62}function eF(e){return eH(e).reduce((e,t)=>e+eq(t),0)}function eI(e,t){return Math.max(...e.split("\n").map(e=>(function(e,t){let a=0,s=0;for(let t of eH(e)){let e=eq(t);62===e?a+=1:s+=e}return a*t*.62+s*t/100})(e,t)))}function eU(e,t,a){let s=eI(e,t);return Math.max(1,Math.min(a,Math.ceil(s)),Math.ceil(s-t))}function eO(e,t,a){return Math.max(eU(e,t,a),Math.ceil(eI(e,t)))}function eE(e,t){return e.split("\n").flatMap(e=>(function(e,t){if(eF(e)<=t)return[e];let a=[],s="";for(let l of e.split(" ")){if(eF(l)>t){s&&(a.push(s),s=""),a.push(...function(e,t){let a=(function(e){let t=[],a="";for(let s of eH(e)){if(!(eq(s)>62)){a+=s;continue}a&&t.push(a),t.push(s),a=""}return a&&t.push(a),t})(e).flatMap(e=>eF(e)>t?function(e,t){let a=Math.max(t,1488);return eF(e)<=a?[e]:e.split(/(?<=[/\-_.])(?=.)|(?<=\p{Ll})(?=\p{Lu})/u).flatMap(e=>eF(e)<=a?[e]:function(e,t){let a=[],s="",l=0;for(let i of eH(e)){let e=eq(i);s&&l+e>t&&(a.push(s),s="",l=0),s+=i,l+=e}return s&&a.push(s),a}(e,t))}(e,t):[e]),s=[],l="";for(let e of a){if(eF(e)>t){l&&s.push(l),s.push(e),l="";continue}l&&eF(l+e)>t&&(s.push(l),l=""),l+=e}return l&&s.push(l),s}(l,t));continue}let e=s?`${s} ${l}`:l;if(eF(e)<=t){s=e;continue}a.push(s),s=l}return s&&a.push(s),a})(e,t)).join("\n")}function eX(e,t,a){return eE(e,Math.floor(100*t/a+1e-6))}let eY=Object.freeze({maxDimension:16384,maxElements:600,maxGroupsPerElement:16,maxLayouts:128,maxLayers:64,maxPointsPerElement:256,maxSerializedBytes:15e5,maxTextLength:4096,maxZOrderEntries:600}),eZ=Object.freeze({boundTextPadding:5,gap:4,maxAssetBytes:65536,maxSize:64,maxTotalAssetBytes:786432,minSize:16}),eG=["sequence-lifeline","sequence-activation","timeline-marker"],eT={"sequence-activation":"Sequence activation","sequence-lifeline":"Sequence lifeline","timeline-marker":"Timeline marker"};function eD(e){let t=new Set;for(let a of e){if(t.has(a))return a;t.add(a)}}function eR(e){return"x"in e&&"y"in e}let ej=new TextEncoder;function e$(e){return ej.encode(e).byteLength}function eN(e){let t=eZ.boundTextPadding;if("ellipse"===e.shape||"circle"===e.shape){let a=1-Math.SQRT1_2;return{x:t+e.width/2*a,y:t+e.height/2*a}}return"diamond"===e.shape?{x:t+e.width/4,y:t+e.height/4}:{x:t,y:t}}function eW(e){let t=2*eZ.boundTextPadding;return"ellipse"===e.shape||"circle"===e.shape?{width:Math.round(e.width/2*Math.SQRT2)-t,height:Math.round(e.height/2*Math.SQRT2)-t}:"diamond"===e.shape?{width:Math.round(e.width/2)-t,height:Math.round(e.height/2)-t}:{width:e.width-t,height:e.height-t}}function eJ(e){return e?e.size+2*eZ.gap:0}function eK(e){let t=new Map(e.layers.map(e=>[e.id,e]));return e=>!e.layerId||t.get(e.layerId)?.visible!==!1}function eQ(e,t){let a=new Map;for(let[s,l]of e.elements.entries())"text"===l.type&&l.containerId&&t(l)&&a.set(l.containerId,{element:l,index:s});return a}function e1(e,t,a){let s=t?.text??e.label,l=t?.fontSize??16,i=t?t.maxWidth??160:Math.max(1,e.width-24),o=s.split("\n"),r=eI(s,l),n=Math.max(1,Math.min(i,r)),c=Math.ceil(o.length*l*1.35);if(eU(s,l,i)-l+24>e.width)return!0;if(a){let t=eW(e);return r>t.width||c+eJ(a)>t.height}return n+24>e.width||c+18>e.height}function e0(e){let t=[];0===e.elements.length&&t.push({code:"empty_canvas",message:"CanvasSpec must contain at least one element.",path:"elements"}),e.elements.length>eY.maxElements&&t.push({code:"limit_exceeded",message:`Canvas exceeds ${eY.maxElements} elements.`,path:"elements"}),e.layers.length>eY.maxLayers&&t.push({code:"limit_exceeded",message:`Canvas exceeds ${eY.maxLayers} layers.`,path:"layers"}),e.layouts.length>eY.maxLayouts&&t.push({code:"limit_exceeded",message:`Canvas exceeds ${eY.maxLayouts} layout primitives.`,path:"layouts"}),(e.width>eY.maxDimension||e.height>eY.maxDimension)&&t.push({code:"limit_exceeded",message:`Canvas dimensions may not exceed ${eY.maxDimension}.`,path:"width"});let a=eD(e.elements.map(e=>e.id));a&&t.push({code:"duplicate_element_id",elementId:a,message:`Duplicate element id "${a}" is not allowed.`,path:"elements"});let s=eD(e.layers.map(e=>e.id));s&&t.push({code:"duplicate_layer_id",message:`Duplicate layer id "${s}" is not allowed.`,path:"layers"});let l=eD(e.zOrder);l&&t.push({code:"duplicate_z_order_element",elementId:l,message:`zOrder contains duplicate element "${l}".`,path:"zOrder"}),e.zOrder.length>eY.maxZOrderEntries&&t.push({code:"limit_exceeded",message:`zOrder exceeds ${eY.maxZOrderEntries} entries.`,path:"zOrder"});let i=new Map(e.elements.map(e=>[e.id,e])),o=e.elements.filter(e=>"node"===e.type),r=new Map(o.map(e=>[e.nodeId,e])),n=eD(o.map(e=>e.nodeId));n&&t.push({code:"invalid_binding",message:`Duplicate nodeId "${n}" makes connector bindings ambiguous.`,path:"elements"});let c=eD(e.elements.flatMap(e=>"arrow"===e.type?[e.edgeId]:[]));c&&t.push({code:"invalid_binding",message:`Duplicate edgeId "${c}" makes connector selection ambiguous.`,path:"elements"});let d=eD(e.elements.flatMap(e=>"text"===e.type&&e.containerId?[e.containerId]:[]));d&&t.push({code:"invalid_binding",elementId:d,message:`Container "${d}" has more than one bound text element.`,path:"elements"});let p=new Set(e.layers.map(e=>e.id)),g=eK(e),h=eQ(e,g);t.push(...function(e){let t=[],a=0;for(let[s,l]of Object.entries(e.icons??{})){let e=e$(l.svg);a+=e,e>eZ.maxAssetBytes&&t.push({code:"limit_exceeded",message:`Icon asset "${s}" exceeds ${eZ.maxAssetBytes} bytes.`,path:`icons.${s}`})}return a>eZ.maxTotalAssetBytes&&t.push({code:"limit_exceeded",message:`Icon assets exceed ${eZ.maxTotalAssetBytes} bytes per canvas.`,path:"icons"}),t}(e)),e.elements.forEach((a,s)=>{let l,o;if(t.push(...(l=[],o=`elements[${s}]`,"width"in a&&"height"in a&&(!(a.width>0)||!(a.height>0))&&l.push({code:"invalid_geometry",elementId:a.id,message:`Element "${a.id}" must have positive width and height.`,path:o}),"points"in a&&void 0!==a.points&&a.points.length>eY.maxPointsPerElement&&l.push({code:"limit_exceeded",elementId:a.id,message:`Element "${a.id}" exceeds ${eY.maxPointsPerElement} points.`,path:`${o}.points`}),"text"in a&&a.text.length>eY.maxTextLength&&l.push({code:"limit_exceeded",elementId:a.id,message:`Text element "${a.id}" exceeds ${eY.maxTextLength} characters.`,path:`${o}.text`}),"node"===a.type&&"polygon"===a.shape&&(!a.points||a.points.length<3)&&l.push({code:"invalid_polygon",elementId:a.id,message:`Polygon "${a.id}" requires at least three points.`,path:`${o}.points`}),a.groupIds&&a.groupIds.length>eY.maxGroupsPerElement&&l.push({code:"limit_exceeded",elementId:a.id,message:`Element "${a.id}" exceeds ${eY.maxGroupsPerElement} groups.`,path:`${o}.groupIds`}),l)),"node"===a.type&&t.push(...function(e,t,a){let s=t.icon;if(!s)return[];let l=`elements[${a}].icon`,i=[];return t.rendererRole&&i.push({code:"invalid_icon",elementId:t.id,message:`${eT[t.rendererRole]} "${t.id}" cannot carry an icon.`,path:l}),u(s.slug)?e.icons&&Object.hasOwn(e.icons,s.slug)||i.push({code:"invalid_icon",elementId:t.id,message:`Node "${t.id}" references icon "${s.slug}" without an embedded asset.`,path:`${l}.slug`}):i.push({code:"invalid_icon",elementId:t.id,message:`Node "${t.id}" has an invalid icon slug "${s.slug}".`,path:`${l}.slug`}),(!Number.isFinite(s.size)||s.size<eZ.minSize||s.size>eZ.maxSize)&&i.push({code:"invalid_icon",elementId:t.id,message:`Node "${t.id}" icon size must be ${eZ.minSize}-${eZ.maxSize}.`,path:`${l}.size`}),i}(e,a,s)),"node"===a.type&&"polygon"!==a.shape&&g(a)){let e=h.get(a.id);(e||void 0===a.rendererRole)&&e1(a,e?.element,a.icon)&&t.push({code:"label_overflow",elementId:e?.element.id??a.id,message:`Label does not fit inside node "${a.id}" without changing its geometry.`,path:e?`elements[${e.index}].text`:`elements[${s}].label`})}if(a.frameId){let e=i.get(a.frameId);e&&"frame"===e.type||t.push({code:"invalid_composition",elementId:a.id,message:`Element "${a.id}" references missing frame "${a.frameId}".`,path:`elements[${s}].frameId`})}if(a.layerId&&!p.has(a.layerId)&&t.push({code:"invalid_composition",elementId:a.id,message:`Element "${a.id}" references missing layer "${a.layerId}".`,path:`elements[${s}].layerId`}),a.groupIds&&eD(a.groupIds)&&t.push({code:"invalid_composition",elementId:a.id,message:`Element "${a.id}" contains duplicate group ids.`,path:`elements[${s}].groupIds`}),"text"===a.type&&a.containerId){let e=i.get(a.containerId);e&&("node"===e.type||"arrow"===e.type)||t.push({code:"invalid_binding",elementId:a.id,message:`Text "${a.id}" references unsupported container "${a.containerId}".`,path:`elements[${s}].containerId`})}if("arrow"===a.type&&(r.has(a.sourceNodeId)||t.push({code:"invalid_binding",elementId:a.id,message:`Connector "${a.id}" references missing source "${a.sourceNodeId}".`,path:`elements[${s}].sourceNodeId`}),r.has(a.targetNodeId)||t.push({code:"invalid_binding",elementId:a.id,message:`Connector "${a.id}" references missing target "${a.targetNodeId}".`,path:`elements[${s}].targetNodeId`})),"line"===a.type)for(let[e,l]of[["startBinding",a.startBinding],["endBinding",a.endBinding]]){let o=l?i.get(l.elementId):void 0;l&&(!o||"node"!==o.type&&"frame"!==o.type)&&t.push({code:"invalid_binding",elementId:a.id,message:`Line "${a.id}" references missing binding "${l.elementId}".`,path:`elements[${s}].${e}`})}});let f=new Set(e.zOrder);for(let a of e.elements)f.has(a.id)||t.push({code:"missing_z_order_element",elementId:a.id,message:`Element "${a.id}" is missing from zOrder.`,path:"zOrder"});for(let a of e.zOrder)i.has(a)||t.push({code:"unknown_z_order_element",elementId:a,message:`zOrder references missing element "${a}".`,path:"zOrder"});for(let[a,s]of e.layouts.entries())for(let e of s.ids){let s=i.get(e);s&&eR(s)||t.push({code:"unknown_layout_target",elementId:e,message:`Layout references missing or non-positioned element "${e}".`,path:`layouts[${a}].ids`})}for(let a of e.elements.filter(e=>"frame"===e.type)){let e=new Set([a.id]),s=a.frameId;for(;s;){if(e.has(s)){t.push({code:"invalid_composition",elementId:a.id,message:`Frame "${a.id}" participates in a frame nesting cycle.`,path:"elements"});break}e.add(s);let l=i.get(s);s=l?.type==="frame"?l.frameId:void 0}}return t}function e2(e){if("text"===e.type){let t=e.text.split("\n");return{x:e.x,y:e.y,width:e.maxWidth??eI(e.text,e.fontSize),height:t.length*e.fontSize*1.35}}return{x:e.x,y:e.y,width:e.width,height:e.height}}function e3(e,t){let a=new Map(e.map(e=>[e.id,e]));return t.flatMap(e=>{let t=a.get(e);return t&&eR(t)?[t]:[]})}function e5(e,t){return e.map(e=>{var a,s;let l=t.get(e.id);return l?(a=l.x,s=l.y,eR(e)?{...e,x:a,y:s}:e):e})}function e4(e,t){return"x"===t?e.x:e.y}function e6(e,t){return"x"===t?e.width:e.height}function e7(e){return{x:e.x+e.width/2,y:e.y+e.height/2}}function e8(e,t){let a=e7(e),s=t.x-a.x,l=t.y-a.y;return Math.abs(s)>=Math.abs(l)?{x:s>=0?e.x+e.width:e.x,y:a.y}:{x:a.x,y:l>=0?e.y+e.height:e.y}}function e9(e,t=.01){let a=[];for(let s=0;s<e.length-1;s+=1){let l=e[s],i=e[s+1];if(!l||!i)continue;let o=Math.abs(l.y-i.y)<=t,r=Math.abs(l.x-i.x)<=t;if(!o&&!r)continue;let n=Math.min(o?l.x:l.y,o?i.x:i.y),c=Math.max(o?l.x:l.y,o?i.x:i.y);c-n<=t||a.push({min:n,max:c,orientation:o?"horizontal":"vertical",staticCoordinate:o?l.y:l.x,segmentIndex:s,isFirstSegment:0===s,isLastSegment:s===e.length-2})}return a}function te(e,t){return Math.min(e.max,t.max)-Math.max(e.min,t.min)}function tt(e,t,a=.01){return e.orientation===t.orientation&&Math.abs(e.staticCoordinate-t.staticCoordinate)<=a&&te(e,t)>a}function ta(e,t,a=.01){let s="horizontal"===e.orientation,l=s?t.y:t.x,i=l+(s?t.height:t.width),o=s?t.x:t.y,r=o+(s?t.width:t.height);return e.staticCoordinate>l+a&&e.staticCoordinate<i-a&&Math.min(e.max,r)-Math.max(e.min,o)>a}function ts(e,t){return e.isFirstSegment&&t.isFirstSegment&&null!==e.startBindingId&&e.startBindingId===t.startBindingId||e.isLastSegment&&t.isLastSegment&&null!==e.endBindingId&&e.endBindingId===t.endBindingId}function tl(e,t,a="characters"){let s=0x811c9dc5;for(let t=0;t<e.length;t+=1)s^=e.charCodeAt(t),s=Math.imul(s,0x1000193),"characters"===a&&(e.codePointAt(t)??0)>65535&&(t+=1);return"seed"===t?Math.abs(s)||1:(s>>>0).toString(16).padStart(8,"0")}l.gPz([et,eh,eC,O]);let ti={id:"multi-stage-rework",title:"Rework earlier stages",nodes:[{id:"start",label:"Received",kind:"start"},...["Intake","Validate","Assemble","Review","Rework","Release"].map((e,t)=>({id:String(t),label:e,kind:5===t?"end":"process"}))],edges:[{id:"start",source:"start",target:"0"},...Array.from({length:5},(e,t)=>({id:`e${t}`,source:String(t),target:String(t+1)})),...Array.from({length:4},(e,t)=>({id:`back${t}`,source:"4",target:String(t),...0===t?{label:"Retry"}:{}}))]},to={id:"two-stage-retry",title:"Revisit earlier checks",nodes:[{id:"s",label:"Received",kind:"start"},...["Prepare","Inspect","Review","Rework"].map((e,t)=>({id:["a","b","c","d"][t],label:e,kind:"process"})),{id:"end",label:"Released",kind:"end"}],edges:[["s","a"],["a","b"],["b","c"],["c","d"],["d","end"],["d","a"],["d","b"]].map(([e,t],a)=>({id:`e${a}`,source:e,target:t}))};function tr(e){return er({...e,type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}})}function tn(e,t="TB"){return er({...e,type:"flowchart",layout:{direction:t,edgeRouting:"orthogonal"}})}er({id:"package-chain",title:"Request to hosted artifact",nodes:[{id:"app",label:"App request",kind:"start"},{id:"agent",label:"Agent / orchestration",kind:"process"},{id:"core",label:"Core diagram model",kind:"process"},{id:"renderer",label:"Renderer",kind:"process"},{id:"export",label:"Excalidraw export",kind:"process"},{id:"host",label:"Artifact hosting / storage",kind:"process"},{id:"response",label:"Hosted artifact response",kind:"end"}],edges:[{id:"request",source:"app",target:"agent",label:"Request contract"},{id:"build",source:"agent",target:"core",label:"Semantic builder input"},{id:"validate",source:"core",target:"renderer",label:"Validated diagram spec"},{id:"render",source:"renderer",target:"export",label:"CanvasSpec scene"},{id:"store",source:"export",target:"host",label:"Exported artifact bundle"},{id:"respond",source:"host",target:"response",label:"Artifact ID + hosted URLs"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"scope-bypass",title:"Diagram request",nodes:[{id:"received",label:"Prompt received",kind:"start"},{id:"requirements",label:"Extract requirements",kind:"process"},{id:"scope",label:"Is the scope clear?",kind:"decision"},{id:"draft",label:"Draft typed IR",kind:"process"},{id:"review",label:"Review",kind:"end"}],edges:[{id:"extract",source:"received",target:"requirements"},{id:"assess",source:"requirements",target:"scope"},{id:"clear",source:"scope",target:"draft",label:"Yes"},{id:"unclear",source:"scope",target:"review",label:"No"},{id:"submit",source:"draft",target:"review"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"rollout-failures",title:"Feature flag rollout",nodes:[{id:"ready",label:"Flag is ready",kind:"start"},{id:"internal",label:"Enable internally",kind:"process"},{id:"internal-health",label:"Internal checks healthy?",kind:"decision"},{id:"beta",label:"Enable beta cohort",kind:"process"},{id:"beta-health",label:"Beta checks healthy?",kind:"decision"},{id:"ramp",label:"Ramp to all users",kind:"process"},{id:"complete",label:"Rollout complete",kind:"end"},{id:"rollback",label:"Roll back the feature",kind:"end"}],edges:[{id:"enable",source:"ready",target:"internal"},{id:"check-internal",source:"internal",target:"internal-health"},{id:"internal-healthy",source:"internal-health",target:"beta",label:"Healthy"},{id:"internal-fail",source:"internal-health",target:"rollback",label:"Fail"},{id:"check-beta",source:"beta",target:"beta-health"},{id:"beta-healthy",source:"beta-health",target:"ramp",label:"Healthy"},{id:"beta-unhealthy",source:"beta-health",target:"rollback",label:"Unhealthy"},{id:"finish",source:"ramp",target:"complete"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"release-fan-in",title:"Fix release",nodes:[{id:"confirmed",label:"Bug confirmed",kind:"start"},{id:"security",label:"Security impact?",kind:"decision"},{id:"triage",label:"Security triage",kind:"process"},{id:"hotfix",label:"Hotfix branch",kind:"process"},{id:"priority",label:"High priority?",kind:"decision"},{id:"sprint",label:"Sprint backlog",kind:"process"},{id:"release",label:"Release fix",kind:"end"},{id:"backlog",label:"Regular backlog",kind:"end"}],edges:[{id:"assess",source:"confirmed",target:"security"},{id:"secure",source:"security",target:"triage",label:"Yes"},{id:"branch",source:"triage",target:"hotfix"},{id:"ship-hotfix",source:"hotfix",target:"release"},{id:"prioritize",source:"security",target:"priority",label:"No"},{id:"plan",source:"priority",target:"sprint",label:"Yes"},{id:"ship-sprint",source:"sprint",target:"release"},{id:"defer",source:"priority",target:"backlog",label:"No"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"stability-fan-in",title:"Incident remediation",nodes:[{id:"evidence",label:"Collect evidence",kind:"start"},{id:"cause",label:"Classify root cause",kind:"decision"},{id:"rollback",label:"Roll back deploy",kind:"process"},{id:"hotfix",label:"Prepare hotfix",kind:"process"},{id:"provider",label:"Escalate to provider",kind:"process"},{id:"stable",label:"Service stable?",kind:"decision"},{id:"monitor",label:"Monitor service",kind:"end"},{id:"escalate",label:"Escalate unstable service",kind:"process"},{id:"fresh",label:"Collect fresh evidence",kind:"process"}],edges:[{id:"classify",source:"evidence",target:"cause"},{id:"deploy",source:"cause",target:"rollback",label:"Deploy"},{id:"code",source:"cause",target:"hotfix",label:"Code"},{id:"vendor",source:"cause",target:"provider",label:"Provider"},{id:"check-rollback",source:"rollback",target:"stable"},{id:"check-hotfix",source:"hotfix",target:"stable"},{id:"check-provider",source:"provider",target:"stable"},{id:"healthy",source:"stable",target:"monitor",label:"Yes"},{id:"unhealthy",source:"stable",target:"escalate",label:"No"},{id:"gather",source:"escalate",target:"fresh"},{id:"retry",source:"fresh",target:"cause"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"renewal-retry",title:"Subscription renewal",nodes:[{id:"due",label:"Renewal due",kind:"start"},{id:"charge",label:"Charge payment",kind:"process"},{id:"paid",label:"Payment succeeded?",kind:"decision"},{id:"renew",label:"Renew subscription",kind:"end"},{id:"remind",label:"Send reminder",kind:"process"},{id:"updated",label:"Payment updated?",kind:"decision"},{id:"pause",label:"Pause subscription",kind:"end"}],edges:[{id:"bill",source:"due",target:"charge"},{id:"confirm",source:"charge",target:"paid"},{id:"renewed",source:"paid",target:"renew",label:"Yes"},{id:"declined",source:"paid",target:"remind",label:"No"},{id:"wait",source:"remind",target:"updated"},{id:"retry",source:"updated",target:"charge",label:"Yes"},{id:"expired",source:"updated",target:"pause",label:"No"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"cancellation-convergence",title:"Subscription cancellation",nodes:[{id:"requested",label:"Member requests cancellation",kind:"start"},{id:"reason",label:"Collect the cancellation reason",kind:"process"},{id:"eligible",label:"Eligible for a retention offer?",kind:"decision"},{id:"offer",label:"Present retention offer",kind:"process"},{id:"accepted",label:"Offer accepted?",kind:"decision"},{id:"keep",label:"Retain member",kind:"end"},{id:"confirm",label:"Confirm cancellation",kind:"process"},{id:"close",label:"Close account",kind:"end"}],edges:[{id:"record",source:"requested",target:"reason"},{id:"check",source:"reason",target:"eligible"},{id:"offer-save",source:"eligible",target:"offer",label:"Yes"},{id:"not-eligible",source:"eligible",target:"confirm",label:"No"},{id:"decide",source:"offer",target:"accepted"},{id:"kept",source:"accepted",target:"keep",label:"Yes"},{id:"declined",source:"accepted",target:"confirm",label:"No"},{id:"close-account",source:"confirm",target:"close"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"shared-feedback-returns",title:"Revisit earlier checks",nodes:[{id:"start",label:"Received",kind:"start"},{id:"a",label:"Intake",kind:"process"},{id:"b",label:"Inspect",kind:"process"},{id:"c",label:"Review",kind:"process"},{id:"d",label:"Approve",kind:"process"},{id:"end",label:"Released",kind:"end"}],edges:[{id:"entry",source:"start",target:"a"},{id:"ab",source:"a",target:"b"},{id:"bc",source:"b",target:"c"},{id:"cd",source:"c",target:"d"},{id:"release",source:"d",target:"end"},{id:"ba",source:"b",target:"a"},{id:"ca",source:"c",target:"a",label:"Retry"},{id:"da",source:"d",target:"a"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({...to,type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"feedback-chain",title:"Repeat inspection",nodes:[{id:"start",label:"Received",kind:"start"},{id:"a",label:"Prepare",kind:"process"},{id:"b",label:"Inspect",kind:"process"},{id:"c",label:"Approve",kind:"process"},{id:"end",label:"Released",kind:"end"}],edges:[{id:"start",source:"start",target:"a"},{id:"ab",source:"a",target:"b"},{id:"bc",source:"b",target:"c"},{id:"ca",source:"c",target:"a",label:"Retry"},{id:"end",source:"c",target:"end"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({...ti,type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"feedback-skip-stubs",title:"Retry with skipped stages",nodes:[{id:"0",label:"Step 0",kind:"start"},{id:"1",label:"Step 1",kind:"process"},{id:"2",label:"Step 2",kind:"process"},{id:"3",label:"Step 3",kind:"process"},{id:"4",label:"Step 4",kind:"process"},{id:"5",label:"Step 5",kind:"end"}],edges:[{id:"e0",source:"0",target:"1"},{id:"e1",source:"1",target:"2"},{id:"e2",source:"2",target:"3"},{id:"e3",source:"3",target:"4",label:"Path 3"},{id:"e4",source:"4",target:"5"},{id:"e5",source:"3",target:"5"},{id:"feedback",source:"4",target:"1"},{id:"e7",source:"2",target:"4"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"decision-feedback",title:"Retry a failed attempt",nodes:[{id:"start",label:"Start",kind:"start"},{id:"attempt",label:"Attempt",kind:"process"},{id:"check",label:"Success?",kind:"decision"},{id:"done",label:"Done",kind:"end"}],edges:[{id:"start",source:"start",target:"attempt"},{id:"check",source:"attempt",target:"check"},{id:"yes",source:"check",target:"done",label:"Yes"},{id:"feedback",source:"check",target:"attempt",label:"Retry"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"review-feedback",title:"Review feedback",nodes:[{id:"start",label:"Received",kind:"start"},{id:"prepare",label:"Prepare submission",kind:"process"},{id:"review",label:"Ready?",kind:"decision"},{id:"revise",label:"Request changes",kind:"process"},{id:"done",label:"Accepted",kind:"end"}],edges:[{id:"start",source:"start",target:"prepare"},{id:"review",source:"prepare",target:"review"},{id:"no",source:"review",target:"revise",label:"No"},{id:"feedback",source:"revise",target:"prepare",label:"Changes ready"},{id:"yes",source:"review",target:"done",label:"Yes"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"wait-retry",title:"Wait and retry",nodes:[{id:"start",label:"Join queue",kind:"start"},{id:"responds",label:"Responds?",kind:"decision"},{id:"leave",label:"Leave queue",kind:"end"},{id:"ready",label:"Ready?",kind:"decision"},{id:"done",label:"Continue",kind:"end"},{id:"wait",label:"Keep waiting",kind:"process"}],edges:[{id:"start",source:"start",target:"responds"},{id:"leave",source:"responds",target:"leave",label:"No"},{id:"ready",source:"responds",target:"ready",label:"Yes"},{id:"done",source:"ready",target:"done",label:"Yes"},{id:"wait",source:"ready",target:"wait",label:"No"},{id:"feedback",source:"wait",target:"responds"}],type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"content-moderation-flow",title:"Content moderation flow",nodes:[{id:"report",label:"Report received",kind:"start"},{id:"scan",label:"Automated scan runs",kind:"process"},{id:"severe",label:"Severe harm detected?",kind:"decision"},{id:"remove",label:"Remove content",kind:"process"},{id:"escalate",label:"Escalate to safety",kind:"process"},{id:"violation",label:"Policy violation?",kind:"decision"},{id:"restore_none",label:"Restore content",kind:"end"},{id:"review",label:"Human review",kind:"process"},{id:"action",label:"Action needed?",kind:"decision"},{id:"limit",label:"Limit content",kind:"end"},{id:"restore_review",label:"Restore content",kind:"end"},{id:"closed_severe",label:"Severe case closed",kind:"end"}],edges:[{id:"edge-1",source:"report",target:"scan"},{id:"edge-2",source:"scan",target:"severe"},{id:"edge-3",source:"severe",target:"remove",label:"Yes"},{id:"edge-4",source:"severe",target:"violation",label:"No"},{id:"edge-5",source:"remove",target:"escalate"},{id:"edge-6",source:"escalate",target:"closed_severe"},{id:"edge-7",source:"violation",target:"restore_none",label:"No"},{id:"edge-8",source:"violation",target:"review",label:"Yes"},{id:"edge-9",source:"review",target:"action"},{id:"edge-10",source:"action",target:"limit",label:"Yes"},{id:"edge-11",source:"action",target:"restore_review",label:"No"}],layout:{direction:"TB"},style:{accentColor:"#8f707f",backgroundColor:"#fffdf8"},type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"data-import-validation",title:"Data import validation",nodes:[{id:"upload",label:"File uploaded",kind:"start"},{id:"parse",label:"Parse file",kind:"process"},{id:"parse_ok",label:"Parsing succeeded?",kind:"decision"},{id:"reject",label:"Reject file",kind:"process"},{id:"rejected_end",label:"File rejected",kind:"end"},{id:"validate",label:"Validate schema",kind:"process"},{id:"schema_ok",label:"Schema valid?",kind:"decision"},{id:"mapping_errors",label:"Return mapping errors",kind:"process"},{id:"mapping_end",label:"Mapping errors returned",kind:"end"},{id:"dedupe",label:"Deduplicate records",kind:"process"},{id:"dup_found",label:"Duplicates found?",kind:"decision"},{id:"merge",label:"Merge duplicates",kind:"process"},{id:"import",label:"Import records",kind:"process"},{id:"done",label:"Import complete",kind:"end"}],edges:[{id:"edge-1",source:"upload",target:"parse"},{id:"edge-2",source:"parse",target:"parse_ok"},{id:"edge-3",source:"parse_ok",target:"reject",label:"No"},{id:"edge-4",source:"reject",target:"rejected_end"},{id:"edge-5",source:"parse_ok",target:"validate",label:"Yes"},{id:"edge-6",source:"validate",target:"schema_ok"},{id:"edge-7",source:"schema_ok",target:"mapping_errors",label:"No"},{id:"edge-8",source:"mapping_errors",target:"mapping_end"},{id:"edge-9",source:"schema_ok",target:"dedupe",label:"Yes"},{id:"edge-10",source:"dedupe",target:"dup_found"},{id:"edge-11",source:"dup_found",target:"merge",label:"Yes"},{id:"edge-12",source:"merge",target:"import"},{id:"edge-13",source:"dup_found",target:"import",label:"No"},{id:"edge-14",source:"import",target:"done"}],layout:{direction:"TB"},style:{accentColor:"#8f707f",backgroundColor:"#fffdf8"},type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"incident-escalation-flowchart",title:"Incident Escalation Flowchart",nodes:[{id:"alert",label:"Monitoring creates alert",kind:"start"},{id:"ack",label:"Responder acknowledges alert",kind:"process"},{id:"severity",label:"Severity?",kind:"decision"},{id:"bridge",label:"Incident bridge",kind:"process"},{id:"triage",label:"Triage queue",kind:"process"},{id:"monitor_low",label:"Monitoring: low-severity incident",kind:"process"},{id:"mitigate",label:"Mitigate impact",kind:"process"},{id:"comms",label:"Send customer communications",kind:"process"},{id:"resolve_bridge",label:"Resolve incident",kind:"end"},{id:"fix",label:"Fix available?",kind:"decision"},{id:"resolve_fix",label:"Resolve incident (fix found)",kind:"end"},{id:"escalate",label:"Escalate to incident bridge",kind:"process"},{id:"resolved_low",label:"Resolved",kind:"end"}],edges:[{id:"edge-1",source:"alert",target:"ack"},{id:"edge-2",source:"ack",target:"severity"},{id:"edge-3",source:"severity",target:"bridge",label:"High"},{id:"edge-4",source:"severity",target:"triage",label:"Medium"},{id:"edge-5",source:"severity",target:"monitor_low",label:"Low"},{id:"edge-6",source:"bridge",target:"mitigate"},{id:"edge-7",source:"mitigate",target:"comms"},{id:"edge-8",source:"comms",target:"resolve_bridge"},{id:"edge-9",source:"triage",target:"fix"},{id:"edge-10",source:"fix",target:"resolve_fix",label:"Yes"},{id:"edge-11",source:"fix",target:"escalate",label:"No"},{id:"edge-12",source:"escalate",target:"bridge"},{id:"edge-13",source:"monitor_low",target:"resolved_low"}],layout:{direction:"TB"},style:{accentColor:"#8f707f",backgroundColor:"#fffdf8"},type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"invoice-approval",title:"Invoice approval",nodes:[{id:"received",label:"Invoice received",kind:"start"},{id:"match_po",label:"Match invoice to purchase order",kind:"process"},{id:"po_matched",label:"Invoice matches PO?",kind:"decision"},{id:"exception_review",label:"Route to exception review",kind:"process"},{id:"exception_resolved",label:"Exception resolved?",kind:"decision"},{id:"reject",label:"Reject invoice",kind:"end"},{id:"over_threshold",label:"Amount over approval threshold?",kind:"decision"},{id:"director_approval",label:"Director approval before payment",kind:"process"},{id:"schedule_payment",label:"Schedule payment",kind:"process"},{id:"paid",label:"Payment scheduled",kind:"end"}],edges:[{id:"e1",source:"received",target:"match_po"},{id:"e2",source:"match_po",target:"po_matched"},{id:"e3",source:"po_matched",target:"over_threshold",label:"Yes"},{id:"e4",source:"po_matched",target:"exception_review",label:"No"},{id:"e5",source:"exception_review",target:"exception_resolved"},{id:"e6",source:"exception_resolved",target:"over_threshold",label:"Yes"},{id:"e7",source:"exception_resolved",target:"reject",label:"No"},{id:"e8",source:"over_threshold",target:"director_approval",label:"Yes"},{id:"e9",source:"over_threshold",target:"schedule_payment",label:"No"},{id:"e10",source:"director_approval",target:"schedule_payment"},{id:"e11",source:"schedule_payment",target:"paid"}],layout:{direction:"TB"},style:{accentColor:"#8f707f",backgroundColor:"#fffdf8"},type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"loan-underwriting",title:"Loan Application Underwriting",nodes:[{id:"submit",label:"Application submitted",kind:"start"},{id:"verify_id",label:"Verify identity",kind:"process"},{id:"id_ok",label:"Identity verified?",kind:"decision"},{id:"credit_review",label:"Credit review",kind:"process"},{id:"credit_ok",label:"Credit acceptable?",kind:"decision"},{id:"manual_uw",label:"Manual underwriting",kind:"process"},{id:"exception",label:"Exception approved?",kind:"decision"},{id:"income",label:"Income verification",kind:"process"},{id:"approve",label:"Loan approved",kind:"end"},{id:"decline",label:"Decline application",kind:"end"}],edges:[{id:"e1",source:"submit",target:"verify_id"},{id:"e2",source:"verify_id",target:"id_ok"},{id:"e3",source:"id_ok",target:"credit_review",label:"Yes"},{id:"e4",source:"id_ok",target:"decline",label:"No"},{id:"e5",source:"credit_review",target:"credit_ok"},{id:"e6",source:"credit_ok",target:"income",label:"Yes"},{id:"e7",source:"credit_ok",target:"manual_uw",label:"No"},{id:"e8",source:"manual_uw",target:"exception"},{id:"e9",source:"exception",target:"income",label:"Yes"},{id:"e10",source:"exception",target:"decline",label:"No"},{id:"e11",source:"income",target:"approve"}],layout:{direction:"TB"},style:{accentColor:"#8f707f",backgroundColor:"#fffdf8"},type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"patient-intake-scheduling",title:"Patient Intake Scheduling",nodes:[{id:"request",label:"Patient requests appointment",kind:"start"},{id:"collect",label:"Clinic collects intake information",kind:"process"},{id:"urgent",label:"Urgent symptoms?",kind:"decision"},{id:"triage",label:"Nurse triage",kind:"process"},{id:"same_day",label:"Schedule same-day appointment",kind:"process"},{id:"insurance",label:"Is insurance valid?",kind:"decision"},{id:"routine",label:"Schedule routine appointment",kind:"process"},{id:"self_pay_q",label:"Patient accepts self-pay?",kind:"decision"},{id:"self_pay",label:"Schedule routine care (self-pay)",kind:"process"},{id:"billing",label:"Refer to billing",kind:"process"},{id:"end_same_day",label:"Same-day visit booked",kind:"end"},{id:"end_routine",label:"Routine visit booked",kind:"end"},{id:"end_self_pay",label:"Self-pay visit booked",kind:"end"},{id:"end_billing",label:"Billing referral made",kind:"end"}],edges:[{id:"e1",source:"request",target:"collect"},{id:"e2",source:"collect",target:"urgent"},{id:"e3",source:"urgent",target:"triage",label:"Yes"},{id:"e4",source:"triage",target:"same_day"},{id:"e5",source:"same_day",target:"end_same_day"},{id:"e6",source:"urgent",target:"insurance",label:"No"},{id:"e7",source:"insurance",target:"routine",label:"Valid"},{id:"e8",source:"routine",target:"end_routine"},{id:"e9",source:"insurance",target:"self_pay_q",label:"Invalid"},{id:"e10",source:"self_pay_q",target:"self_pay",label:"Yes"},{id:"e11",source:"self_pay",target:"end_self_pay"},{id:"e12",source:"self_pay_q",target:"billing",label:"No"},{id:"e13",source:"billing",target:"end_billing"}],layout:{direction:"TB"},style:{accentColor:"#8f707f",backgroundColor:"#fffdf8"},type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"pharma-batch-disposition",title:"Pharma Batch Disposition",nodes:[{id:"received",label:"Batch received",kind:"start"},{id:"coa_review",label:"QA reviews Certificate of Analysis (CoA)",kind:"process"},{id:"spec_check",label:"Batch passes specs?",kind:"decision"},{id:"final_review",label:"QA Manager final review",kind:"process"},{id:"packaging",label:"Packaging",kind:"process"},{id:"released",label:"Packaged batch released",kind:"end"},{id:"investigation",label:"Investigation",kind:"process"},{id:"rejected",label:"Reject batch",kind:"end"}],edges:[{id:"e1",source:"received",target:"coa_review"},{id:"e2",source:"coa_review",target:"spec_check"},{id:"e3",source:"spec_check",target:"final_review",label:"Pass"},{id:"e4",source:"spec_check",target:"investigation",label:"Retest"},{id:"e5",source:"spec_check",target:"rejected",label:"Reject"},{id:"e6",source:"final_review",target:"packaging"},{id:"e7",source:"packaging",target:"released"},{id:"e8",source:"investigation",target:"final_review",label:"Returns to final review"}],layout:{direction:"TB"},style:{accentColor:"#8f707f",backgroundColor:"#fffdf8"},type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),er({id:"warehouse-reorder-flow",title:"Warehouse reorder flow",nodes:[{id:"count",label:"Stock count updated",kind:"start"},{id:"reorder_check",label:"Inventory below reorder point?",kind:"decision"},{id:"monitor",label:"Monitor stock",kind:"process"},{id:"monitor_end",label:"Stock monitoring continues",kind:"end"},{id:"check_supplier",label:"Check supplier availability",kind:"process"},{id:"supplier_check",label:"Supplier available?",kind:"decision"},{id:"substitute",label:"Use substitute supplier",kind:"process"},{id:"create_po",label:"Create purchase order",kind:"process"},{id:"await_delivery",label:"Await delivery",kind:"process"},{id:"reorder_end",label:"Reorder cycle complete",kind:"end"}],edges:[{id:"e1",source:"count",target:"reorder_check"},{id:"e2",source:"reorder_check",target:"monitor",label:"No"},{id:"e3",source:"monitor",target:"monitor_end"},{id:"e4",source:"reorder_check",target:"check_supplier",label:"Yes"},{id:"e5",source:"check_supplier",target:"supplier_check"},{id:"e6",source:"supplier_check",target:"create_po",label:"Yes"},{id:"e7",source:"supplier_check",target:"substitute",label:"No"},{id:"e8",source:"substitute",target:"create_po"},{id:"e9",source:"create_po",target:"await_delivery"},{id:"e10",source:"await_delivery",target:"reorder_end"}],layout:{direction:"TB"},style:{accentColor:"#8f707f",backgroundColor:"#fffdf8"},type:"flowchart",layout:{direction:"TB",edgeRouting:"orthogonal"}}),tr({id:"loan-application-underwriting",title:"Loan Application Underwriting",nodes:[{id:"submitted",label:"Application submitted",kind:"start"},{id:"identity",label:"Verify identity",kind:"process"},{id:"identity_decision",label:"Identity verified?",kind:"decision"},{id:"identity_decline",label:"Decline application",kind:"end"},{id:"credit",label:"Credit review",kind:"process"},{id:"credit_decision",label:"Acceptable credit?",kind:"decision"},{id:"manual",label:"Manual underwriting",kind:"process"},{id:"exception",label:"Exception approved?",kind:"decision"},{id:"exception_decline",label:"Decline application",kind:"end"},{id:"income",label:"Income verification",kind:"process"},{id:"approved",label:"Approve loan",kind:"end"}],edges:[{id:"edge-1",source:"submitted",target:"identity"},{id:"edge-2",source:"identity",target:"identity_decision"},{id:"edge-3",source:"identity_decision",target:"identity_decline",label:"Failed"},{id:"edge-4",source:"identity_decision",target:"credit",label:"Verified"},{id:"edge-5",source:"credit",target:"credit_decision"},{id:"edge-6",source:"credit_decision",target:"income",label:"Acceptable"},{id:"edge-7",source:"credit_decision",target:"manual",label:"Unacceptable"},{id:"edge-8",source:"manual",target:"exception"},{id:"edge-9",source:"exception",target:"income",label:"Yes"},{id:"edge-10",source:"exception",target:"exception_decline",label:"No"},{id:"edge-11",source:"income",target:"approved"}],layout:{direction:"TB"}}),tr({id:"invoice-approval-flowchart",title:"Invoice approval flowchart",nodes:[{id:"received",label:"Invoice received",kind:"start"},{id:"match",label:"Match to purchase order",kind:"process"},{id:"matches",label:"Matches purchase order?",kind:"decision"},{id:"review",label:"Exception review",kind:"process"},{id:"resolved",label:"Exception resolved?",kind:"decision"},{id:"reject",label:"Reject invoice",kind:"end"},{id:"threshold",label:"Amount over approval threshold?",kind:"decision"},{id:"director",label:"Director approval",kind:"process"},{id:"schedule",label:"Schedule payment",kind:"process"},{id:"payment",label:"Payment",kind:"end"}],edges:[{id:"edge-1",source:"received",target:"match"},{id:"edge-2",source:"match",target:"matches"},{id:"edge-3",source:"matches",target:"review",label:"No"},{id:"edge-4",source:"review",target:"resolved"},{id:"edge-5",source:"resolved",target:"reject",label:"No — unresolved"},{id:"edge-6",source:"resolved",target:"threshold",label:"Yes — resolved"},{id:"edge-7",source:"matches",target:"threshold",label:"Yes — matched"},{id:"edge-8",source:"threshold",target:"director",label:"Yes — over threshold"},{id:"edge-9",source:"threshold",target:"schedule",label:"No — at or below threshold"},{id:"edge-10",source:"director",target:"schedule"},{id:"edge-11",source:"schedule",target:"payment"}],layout:{direction:"TB"}}),tr({id:"identifier-labels",title:"Identifier labels",nodes:[{id:"call",label:"buildSequenceDiagram",kind:"start"},{id:"check",label:"Layout renderer-independent?",kind:"decision"},{id:"export",label:"exportToExcalidrawScene(spec)",kind:"process"},{id:"fetch",label:"Fetch https://playground.sketchi.app/api/v1/artifacts/download",kind:"process"},{id:"cjk",label:"品質保証レビュー承認待ち",kind:"process"},{id:"done",label:"Ship 🚀 release",kind:"end"}],edges:[{id:"e1",source:"call",target:"check"},{id:"e2",source:"check",target:"export",label:"renderer-independent"},{id:"e3",source:"check",target:"fetch",label:"buildSequenceDiagram"},{id:"e4",source:"export",target:"cjk",label:"品質保証レビュー承認待ち"},{id:"e5",source:"fetch",target:"done",label:"https://example.com/api/v1/artifacts/download"},{id:"e6",source:"cjk",target:"done",label:"🚀🚀 shipped"}],layout:{direction:"TB"}}),tr({id:"multiline-labels",title:"Multi-line labels",nodes:[{id:"request",label:"Refund requested",kind:"start"},{id:"eligible",label:"Refund within the policy window?",kind:"decision"},{id:"provider",label:"Ask the payment provider",kind:"process"},{id:"confirmed",label:"Provider confirmed?",kind:"decision"},{id:"refund",label:"Issue the refund",kind:"process"},{id:"deny",label:"Explain the decision to the customer",kind:"end"},{id:"closed",label:"Refund closed",kind:"end"}],edges:[{id:"e1",source:"request",target:"eligible"},{id:"e2",source:"eligible",target:"provider",label:"Yes, within the window and eligible for a full refund"},{id:"e3",source:"eligible",target:"deny",label:"No — outside\nthe policy window"},{id:"e4",source:"provider",target:"confirmed",label:"Request sent to the provider"},{id:"e5",source:"confirmed",target:"refund",label:"Confirmed by the provider"},{id:"e6",source:"confirmed",target:"provider",label:"Retry after the provider\nconfirms the hold"},{id:"e7",source:"refund",target:"closed"}],layout:{direction:"TB"}}),tr({id:"competing-branch-labels",title:"Competing branch labels",nodes:[{id:"triage",label:"Triage the report",kind:"start"},{id:"kind",label:"Which kind of report?",kind:"decision"},{id:"bug",label:"Reproduce the bug",kind:"process"},{id:"feature",label:"Log the feature",kind:"process"},{id:"question",label:"Answer the question",kind:"process"},{id:"duplicate",label:"Link the duplicate",kind:"process"},{id:"reproduced",label:"Reproduced?",kind:"decision"},{id:"fix",label:"Fix and verify",kind:"process"},{id:"closed",label:"Close the report",kind:"end"}],edges:[{id:"e1",source:"triage",target:"kind"},{id:"e2",source:"kind",target:"bug",label:"Unexpected behavior"},{id:"e3",source:"kind",target:"feature",label:"Enhancement"},{id:"e4",source:"kind",target:"question",label:"Unanswered question"},{id:"e5",source:"kind",target:"duplicate",label:"Duplicate"},{id:"e6",source:"bug",target:"reproduced"},{id:"e7",source:"reproduced",target:"fix",label:"Reproduced"},{id:"e8",source:"reproduced",target:"bug",label:"Unreproducible"},{id:"e9",source:"fix",target:"closed"},{id:"e10",source:"feature",target:"closed"},{id:"e11",source:"question",target:"closed"},{id:"e12",source:"duplicate",target:"closed"}],layout:{direction:"TB"}}),tn({id:"grouped-approval",title:"Expense approval by team",groups:[{id:"employee",label:"Employee"},{id:"manager",label:"Manager"},{id:"finance",label:"Finance"}],nodes:[{id:"incurred",label:"Expense incurred",kind:"start"},{id:"submit",label:"Submit expense report",kind:"process",group:"employee"},{id:"review",label:"Review the report",kind:"process",group:"manager"},{id:"approved",label:"Approved?",kind:"decision",group:"manager"},{id:"revise",label:"Revise the report",kind:"process",group:"employee"},{id:"verify",label:"Verify receipts",kind:"process",group:"finance"},{id:"pay",label:"Pay the employee",kind:"process",group:"finance"},{id:"paid",label:"Expense paid",kind:"end"}],edges:[{id:"e1",source:"incurred",target:"submit"},{id:"e2",source:"submit",target:"review"},{id:"e3",source:"review",target:"approved"},{id:"e4",source:"approved",target:"verify",label:"yes"},{id:"e5",source:"approved",target:"revise",label:"no"},{id:"e6",source:"revise",target:"submit"},{id:"e7",source:"verify",target:"pay"},{id:"e8",source:"pay",target:"paid"}]}),tn({id:"three-zone-service",title:"Request path across network zones",groups:[{id:"internet",label:"Public internet"},{id:"edge",label:"Edge network"},{id:"private",label:"Private subnet"}],nodes:[{id:"browser",label:"Browser sends request",kind:"start",group:"internet"},{id:"cdn",label:"CDN serves cache",kind:"process",group:"edge"},{id:"cached",label:"Cache hit?",kind:"decision",group:"edge"},{id:"waf",label:"WAF filters traffic",kind:"process",group:"edge"},{id:"api",label:"API handles request",kind:"process",group:"private"},{id:"db",label:"Query the database",kind:"process",group:"private"},{id:"response",label:"Response returned",kind:"end"}],edges:[{id:"e1",source:"browser",target:"cdn"},{id:"e2",source:"cdn",target:"cached"},{id:"e3",source:"cached",target:"response",label:"hit"},{id:"e4",source:"cached",target:"waf",label:"miss"},{id:"e5",source:"waf",target:"api"},{id:"e6",source:"api",target:"db"},{id:"e7",source:"db",target:"response"}]},"LR"),tn({id:"mixed-membership",title:"Order fulfilment with partial grouping",groups:[{id:"warehouse",label:"Warehouse"},{id:"shipping",label:"Shipping partner"}],nodes:[{id:"order",label:"Order placed",kind:"start"},{id:"fraud",label:"Fraud check passed?",kind:"decision"},{id:"pick",label:"Pick items",kind:"process",group:"warehouse"},{id:"pack",label:"Pack the order",kind:"process",group:"warehouse"},{id:"label",label:"Print shipping label",kind:"process",group:"warehouse"},{id:"collect",label:"Collect parcel",kind:"process",group:"shipping"},{id:"deliver",label:"Deliver to customer",kind:"end",group:"shipping"},{id:"cancel",label:"Cancel the order",kind:"end"}],edges:[{id:"e1",source:"order",target:"fraud"},{id:"e2",source:"fraud",target:"pick",label:"yes"},{id:"e3",source:"fraud",target:"cancel",label:"no"},{id:"e4",source:"pick",target:"pack"},{id:"e5",source:"pack",target:"label"},{id:"e6",source:"label",target:"collect"},{id:"e7",source:"collect",target:"deliver"}]}),tn({id:"scattered-members",title:"Incident handling across on-call and support",groups:[{id:"support",label:"Customer support desk and escalation team"},{id:"oncall",label:"On-call"},{id:"comms",label:"Comms"}],nodes:[{id:"report",label:"Customer reports issue",kind:"start",group:"support"},{id:"triage",label:"Triage the report",kind:"process",group:"support"},{id:"outage",label:"Outage?",kind:"decision"},{id:"page",label:"Page on-call",kind:"process",group:"oncall"},{id:"mitigate",label:"Mitigate impact",kind:"process",group:"oncall"},{id:"fixed",label:"Fixed?",kind:"decision",group:"oncall"},{id:"status",label:"Post status update",kind:"process",group:"comms"},{id:"reply",label:"Reply to customer",kind:"process",group:"support"},{id:"closed",label:"Ticket closed",kind:"end",group:"support"}],edges:[{id:"e1",source:"report",target:"triage"},{id:"e2",source:"triage",target:"outage"},{id:"e3",source:"outage",target:"page",label:"yes"},{id:"e4",source:"outage",target:"reply",label:"no"},{id:"e5",source:"page",target:"mitigate"},{id:"e6",source:"mitigate",target:"fixed"},{id:"e7",source:"fixed",target:"status",label:"yes"},{id:"e8",source:"fixed",target:"mitigate",label:"not yet"},{id:"e9",source:"status",target:"reply"},{id:"e10",source:"reply",target:"closed"}]}),tn({id:"many-groups",title:"Release train across teams",groups:[{id:"product",label:"Product"},{id:"web",label:"Web team"},{id:"mobile",label:"Mobile team"},{id:"qa",label:"QA"},{id:"ops",label:"Ops"},{id:"marketing",label:"Marketing"}],nodes:[{id:"plan",label:"Plan the release",kind:"start",group:"product"},{id:"web-build",label:"Build web app",kind:"process",group:"web"},{id:"mobile-build",label:"Build mobile app",kind:"process",group:"mobile"},{id:"store",label:"Submit to app stores",kind:"process",group:"mobile"},{id:"test",label:"Regression tests",kind:"process",group:"qa"},{id:"pass",label:"Tests pass?",kind:"decision",group:"qa"},{id:"deploy",label:"Deploy to production",kind:"process",group:"ops"},{id:"announce",label:"Announce the release",kind:"end",group:"marketing"}],edges:[{id:"e1",source:"plan",target:"web-build"},{id:"e2",source:"plan",target:"mobile-build"},{id:"e3",source:"mobile-build",target:"store"},{id:"e4",source:"web-build",target:"test"},{id:"e5",source:"store",target:"test"},{id:"e6",source:"test",target:"pass"},{id:"e7",source:"pass",target:"deploy",label:"yes"},{id:"e8",source:"pass",target:"web-build",label:"no"},{id:"e9",source:"deploy",target:"announce"}]}),tn({id:"single-group",title:"Payment retries inside the billing service",groups:[{id:"billing",label:"Billing service"}],nodes:[{id:"charge",label:"Charge the card",kind:"start",group:"billing"},{id:"ok",label:"Charge succeeded?",kind:"decision",group:"billing"},{id:"wait",label:"Wait and retry",kind:"process",group:"billing"},{id:"receipt",label:"Send receipt",kind:"end",group:"billing"}],edges:[{id:"e1",source:"charge",target:"ok"},{id:"e2",source:"ok",target:"receipt",label:"yes"},{id:"e3",source:"ok",target:"wait",label:"no"},{id:"e4",source:"wait",target:"ok"}]});let tc=20*Math.PI/180;function td(e){return 2e3/(Math.max(e.width,e.height,1)+40)}function tp(e){let t=[];for(let a of e){let e=t.at(-1);if(e&&.01>=Math.hypot(a.x-e.x,a.y-e.y))continue;let s=t.at(-2);if(s&&e&&.01>=Math.abs((e.x-s.x)*(a.y-e.y)-(e.y-s.y)*(a.x-e.x))&&(e.x-s.x)*(a.x-e.x)+(e.y-s.y)*(a.y-e.y)>0){t[t.length-1]=a;continue}t.push(a)}return t}function tg(e){let t=[];for(let a=0;a<e.length-1;a+=1){let s=e[a],l=e[a+1],i=.01>=Math.abs(s.y-l.y);!i&&Math.abs(s.x-l.x)>.01||t.push({horizontal:i,at:i?s.y:s.x,min:Math.min(i?s.x:s.y,i?l.x:l.y),max:Math.max(i?s.x:s.y,i?l.x:l.y),first:0===a,last:a===e.length-2})}return t}function th(e,t){let a=tp(e.points),s=a[0],l=a.at(-1);if(!s||!l)return[];let i=new Map;for(let e=1;e<a.length-2;e+=1){let[o,r,n,c]=[a[e-1],a[e],a[e+1],a[e+2]],d={x:r.x-o.x,y:r.y-o.y},p={x:n.x-r.x,y:n.y-r.y},g={x:c.x-n.x,y:c.y-n.y},h=[d,p,g].every(e=>.01>=Math.abs(e.x)||.01>=Math.abs(e.y)),u=.01>=Math.abs(d.x*g.y-d.y*g.x)&&d.x*g.x+d.y*g.y>0,f=.01>=Math.abs(d.x*p.x+d.y*p.y),v=Math.hypot(p.x,p.y);h&&u&&f&&!(v*t>=150)&&(!i.has("end")&&Math.hypot(l.x-n.x,l.y-n.y)*t<=90&&2*v<=Math.hypot(d.x,d.y)?i.set("end",v):!i.has("start")&&Math.hypot(r.x-s.x,r.y-s.y)*t<=90&&2*v<=Math.hypot(g.x,g.y)&&i.set("start",v))}return[...i].map(([t,a])=>({kind:"endpoint-jog",arrowIds:[e.id],endpoint:t,message:`Arrow "${e.id}" steps ${a.toFixed(1)} units sideways near its ${"end"===t?"arrowhead":"start"}.`}))}function tu(e,t,a,s,l){return t.some(t=>s.some(s=>{if(t.horizontal!==s.horizontal||Math.abs(t.at-s.at)*l>=24)return!1;let i=Math.min(t.max,s.max)-Math.max(t.min,s.min);return!(i*l<30)&&!((t.first&&s.first&&e.sourceId&&e.sourceId===a.sourceId||t.last&&s.last&&e.targetId&&e.targetId===a.targetId)&&i*l<=90)}))}function tf(e){if(!1===e.endArrowhead)return;let t=e.points.filter((e,t,a)=>0===t||Math.hypot(e.x-a[t-1].x,e.y-a[t-1].y)>.01),a=t.at(-1),s=t.at(-2);if(!a||!s)return;let l=Math.hypot(a.x-s.x,a.y-s.y),i=Math.min(25,l/2),o=(a.x-s.x)/l,r=(a.y-s.y)/l,n=e=>({x:a.x-i*(o*Math.cos(e)-r*Math.sin(e)),y:a.y-i*(r*Math.cos(e)+o*Math.sin(e))});return[a,n(tc),n(-tc)]}function tv(e,t,a){let s=a.x-t.x,l=a.y-t.y,i=0===s&&0===l?0:Math.max(0,Math.min(1,((e.x-t.x)*s+(e.y-t.y)*l)/(s*s+l*l)));return Math.hypot(e.x-(t.x+i*s),e.y-(t.y+i*l))}function tm(e,t,a,s){let l=(e,t,a)=>(t.x-e.x)*(a.y-e.y)-(t.y-e.y)*(a.x-e.x);return l(e,t,a)*l(e,t,s)<0&&l(a,s,e)*l(a,s,t)<0}function ty(e,t){let a=e.flatMap((a,s)=>e.slice(s+1).flatMap(e=>{let s,l;return[tu(a,tg(tp(a.points)),e,tg(tp(e.points)),t)?{kind:"near-coincident-corridor",arrowIds:[a.id,e.id],message:`Arrows "${a.id}" and "${e.id}" run side by side closer than 24 px.`}:void 0,(s=tf(a),l=tf(e),s&&l&&(function(e,t){let a=e=>e.map((t,a)=>[t,e[(a+1)%e.length]]),s=1/0;for(let[l,i]of a(e))for(let[e,o]of a(t)){if(tm(l,i,e,o))return 0;s=Math.min(s,tv(l,e,o),tv(i,e,o),tv(e,l,i),tv(o,l,i))}return s}(s,l)-2)*t<8?{kind:"touching-arrowheads",arrowIds:[a.id,e.id],message:`Arrowheads of "${a.id}" and "${e.id}" touch.`}:void 0)].filter(e=>void 0!==e)}));return[...e.flatMap(e=>th(e,t)),...a.filter(e=>"near-coincident-corridor"===e.kind),...a.filter(e=>"touching-arrowheads"===e.kind)]}function tw(e,t){let a=24/t+2,s=e.map(e=>{let t=tf(e);return{arrow:e,bounds:tx([...e.points,...t??[]]),head:t,headBounds:t?tx(t):void 0,runs:tg(tp(e.points))}});return e=>{let l=tg(tp(e.points)),i=tx(e.points,a),o=e.points.slice(1).map((t,s)=>{let l=e.points[s];return{bounds:tx([l,t],a),from:l,to:t}}),r=s.filter(({arrow:t,bounds:a})=>t.id!==e.id&&tb(i,a)),n=new Set(r.filter(({arrow:a,runs:s})=>tu(e,l,a,s,t)).map(({arrow:e})=>e.id));return{arrowheadsCrossed:new Set(r.filter(({head:e,headBounds:a})=>e&&o.some(({bounds:s,from:l,to:i})=>tb(s,a)&&(function(e,t,a){let s=1/0;for(let[l,i]of a.entries()){let o=a[(l+1)%a.length];if(tm(e,t,i,o))return 0;s=Math.min(s,tv(e,i,o),tv(t,i,o),tv(i,e,t),tv(o,e,t))}return s}(l,i,e)-2)*t<8)).map(({arrow:e})=>e.id)).size,corridors:n.size,jogs:th(e,t).length}}}function tx(e,t=0){let a=e.map(e=>e.x),s=e.map(e=>e.y);return{maxX:Math.max(...a)+t,maxY:Math.max(...s)+t,minX:Math.min(...a)-t,minY:Math.min(...s)-t}}function tb(e,t){return e.minX<=t.maxX&&t.minX<=e.maxX&&e.minY<=t.maxY&&t.minY<=e.maxY}let tk=Object.freeze({clearance:4,fontSize:14,height:21}),tM=/[@%MW]/u,tC=/[A-Z0-9mw#$&_~]/u,tz=new Intl.Segmenter(void 0,{granularity:"grapheme"});function t_(e){let{fontSize:t}=tk,a=0;for(let{segment:s}of tz.segment(e))a+=tM.test(s)?1.02*t:tC.test(s)?.86*t:/^[\x20-\x7e]$/u.test(s)?eI(s,t):Math.max(.86*t,eI(s,t));return Math.ceil(a)}let tL=/[,;]\s*(?:id|label|kind|group|source|target|title|direction|nodes|edges)\s*:?\s*$/i;function tB(e){let t=e.trim();for(;;){let e=t.replace(tL,"").trim();if(e===t)return t;t=e}}class tA extends l.Xsx("ContractSchemaIssue")({code:t$("custom"),issueTag:l.xCb(["Filter","InvalidType","InvalidValue","MissingKey","UnexpectedKey","Forbidden","OneOf","AnyOf"]),astKind:l.Qrq(l.QfV),missingKeyCode:l.Qrq(l.uSQ("invalid_type")),message:l.QfV,path:l.O31(l.pHd)},{identifier:void 0}){}class tP extends l.rNF()("ContractSchemaError",{issues:l.O31(l.O3D(tA))}){}let tS=e=>{var t;if("InvalidType"!==e._tag)return d.vp(e);let a=d.bZ(e)?e.input:void 0;return`Invalid input: expected ${t=e.ast,c.Kg(t)?"string":c.Et(t)?"number":c.Lm(t)?"boolean":c.tF(t)?"array":c.RP(t)?"object":c.c$(t)?JSON.stringify(t.literal):"value"}, received ${null===a?"null":Array.isArray(a)?"array":typeof a}`},tV=d.ID({leafHook:tS});function tH(e){let t,a;return new tP({issues:(t=[],((a=(e,s,l)=>{switch(e._tag){case"Pointer":return a(e.issue,[...s,...e.path],l);case"Encoding":return a(e.issue,s,l);case"Composite":for(let t of e.issues)a(t,s,e.ast);return;case"AnyOf":if(e.issues.length>0){for(let t of e.issues)a(t,s,e.ast);return}break;case"Filter":if(void 0===d.VY(e)&&"InvalidValue"!==e.issue._tag)return a(e.issue,s,l)}let i="ast"in e?e.ast:l,o="MissingKey"===e._tag&&e.annotations?.[tO]==="invalid_type"?"invalid_type":void 0,r=i&&c.mi(i)&&i.types.every(c.c$)?"LiteralUnion":i?._tag,n=i?.annotations?.[tU],p="string"==typeof n?[...s,n]:s;for(let a of tV(e).issues)t.push({code:"custom",issueTag:e._tag,...o?{missingKeyCode:o}:{},...r?{astKind:r}:{},message:a.message,path:p})})(e.issue,[]),t.length>1&&t.every(e=>"source"===e.path[0]))?[{code:"custom",issueTag:"AnyOf",astKind:"Union",message:"Invalid input",path:["source"]}]:t)})}let tq=new Set(["x-sketchi-default","x-sketchi-one-of","const","exclusiveMaximum","exclusiveMinimum","maximum","maxLength","maxItems","minimum","minItems","minLength","pattern"]),tF="x-sketchi-default",tI="x-sketchi-one-of",tU="codeModeDiscriminator",tO="codeModeMissingKeyCode";function tE(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function tX(e){let t=l._oz(l.AxX(e),{includeAnnotationKey:e=>tq.has(e),onExcessProperty:"error"});return function e(t){if(Array.isArray(t))return t.map(e);if(!tE(t))return t;let a=Object.fromEntries(Object.entries(t).map(([t,a])=>[t,e(a)])),s=!0===a[tI];delete a[tI],s&&Array.isArray(a.anyOf)&&(a.oneOf=a.anyOf,delete a.anyOf);let l=a.allOf;if(Array.isArray(l)){let e=[];for(let t of l)tE(t)&&Object.hasOwn(t,tF)?a.default=t[tF]:e.push(t);0===e.length?delete a.allOf:a.allOf=e}return a}({$schema:"https://json-schema.org/draft/2020-12/schema",...t.schema,...0===Object.keys(t.definitions).length?{}:{$defs:t.definitions}})}function tY(){return l.QfV.check(l.tJb(1,{message:"Too small: expected string to have >=1 characters"}))}function tZ(e){return l.O31(e).pipe(l.fXn).check(l.tJb(1,{message:"Too small: expected array to have >=1 items"}))}function tG(e){return l.Qrq(e)}function tT(e){return e.pipe(l.usV({[tO]:"invalid_type",messageMissingKey:"Invalid input: expected string, received undefined"}))}function tD(e){return e.pipe(l.usV({[tO]:"invalid_type",messageMissingKey:"Invalid input: expected object, received undefined"}))}function tR(e){return e.pipe(l.usV({[tO]:"invalid_type",messageMissingKey:"Invalid input: expected array, received undefined"}))}function tj(e){return l.xCb(e).annotate({message:`Invalid option: expected one of ${e.map(e=>JSON.stringify(e)).join("|")}`})}function t$(e){return tJ(e,l.QfV)}function tN(e){return tJ(e,l.wNn)}function tW(e){return tJ(e,l.v8c)}function tJ(e,t){let a=l.hzj()([],()=>(t,a,s)=>t===e?o.PyW(e):o.fJG(new d.eE(a,t,s)),{message:`Invalid literal value, expected ${JSON.stringify(e)}`,toCodecJson:()=>l.nfo()(t.annotate({const:e}),{decode:p.pd(()=>e),encode:p.pd(e=>e)})});return l.uSQ(e).pipe(l.GLL(a))}let tK=tY(),tQ=tT(tK),t1=l.wYs,t0=l.wNn.check(l.MIs(),l.yJO(0,{message:"Too small: expected number to be >0"})),t2=/^#[0-9a-fA-F]{6}$/u;function t3(e){return l.QfV.annotate(void 0===e?{}:{default:e}).check(l.Pto(t2,{message:`Invalid string: must match pattern /${t2.source}/`}))}let t5=t3(),t4=["excalidraw","scene","png"],t6=["excalidraw","scene"],t7=Object.assign(tj(t4),{options:t4}),t8=Object.assign(tj(t6),{options:t6});class t9 extends l.Xsx("ArtifactProvenance")({sourceArtifactId:tQ.pipe(l.Wa3)},{identifier:void 0}){}let ae=["missing_field","invalid_type","invalid_enum","invalid_color","duplicate_node_id","duplicate_edge_id","missing_edge_source","missing_edge_target","self_loop","missing_start","multiple_starts","missing_end","start_has_incoming","end_has_outgoing","unreachable_node","nonterminating_node","missing_outgoing_edge","underbranched_decision","unlabeled_decision_branch","duplicate_decision_branch_label","disconnected_graph","flowchart_too_large","duplicate_group_id","unknown_node_group","empty_group","mindmap_too_deep","mindmap_too_large","sequence_too_large","invalid_timeline_date","duplicate_event_id","invalid_timeline_order","timeline_too_large","invalid_timeline_span","invalid_timeline_lane","request_too_large","generic_label","label_too_long","quality_below_threshold","render_failed","text_overflow","arrow_binding_invalid","arrow_overlap","export_invalid_scene","storage_read_failed","storage_write_failed","unsupported_artifact_format","patch_source_unavailable","unknown_patch_target","unsupported_patch_operation","patch_preserve_connectivity_failed","patch_output_invalid","duplicate_element_id","duplicate_layer_id","invalid_canvas_binding","invalid_canvas_composition","invalid_canvas_geometry","invalid_polygon","canvas_limit_exceeded","invalid_z_order","unknown_layout_target","unknown_icon","invalid_canvas_icon","icon_dropped"],at=Object.assign(tj(ae),{options:ae}),aa=tj(["request","diagram","node","edge","group","element","layer","artifact"]),as=tj(["input","canvas","flowchart","mindmap","quality","render","export","storage"]);class al extends l.Xsx("CodeModeIssueRef")({kind:aa,id:tG(tK),path:tG(tK)},{identifier:void 0}){}class ai extends l.Xsx("CodeModeIssue")({code:at,severity:tj(["error","warning"]),stage:as,ref:tG(al),message:tQ,hint:tQ},{identifier:void 0}){}let ao=["start","process","decision","end"],ar=Object.assign(tj(ao),{options:ao}),an=["setDefaultStyle","setStyle","setShape","translate","replaceText","rerouteEdges","insert","remove","replace","reorder","group","ungroup"];Object.assign(tj(an),{options:an});let ac=tT(tY().check(l.NYj(128,{message:"Too big: expected string to have <=128 characters"})));class ad extends l.Xsx("NodeIconSpec")({slug:ac},{identifier:void 0}){}class ap extends l.Xsx("FlowchartSpecNode")({id:tQ,label:tQ,kind:ar,description:tG(tK),icon:tG(ad),group:tG(tK)},{identifier:void 0}){}class ag extends l.Xsx("FlowchartSpecGroup")({id:tQ,label:tQ},{identifier:void 0}){}class ah extends l.Xsx("FlowchartSpecEdge")({id:tG(tK),source:tQ,target:tQ,label:tG(tK)},{identifier:void 0}){}let au=tj(["TB","LR"]),af=au.annotate({default:"TB"}).pipe(l.E$i(o.PyW("TB")));class av extends l.Xsx("FlowchartSpecLayout")({direction:af},{identifier:void 0}){}let am=y.accentColor,ay=t3(am).pipe(l.E$i(o.PyW(am))),aw=y.backgroundColor,ax=t3(aw).pipe(l.E$i(o.PyW(aw)));class ab extends l.Xsx("FlowchartSpecStyle")({accentColor:ay,backgroundColor:ax},{identifier:void 0}){}let ak=[],aM=l.O31(ah).pipe(l.fXn).annotate({default:ak}).pipe(l.E$i(o.PyW(ak))),aC={direction:"TB"},az=av.annotate({default:aC}).pipe(l.E$i(o.PyW(aC)),l.usV({[tF]:aC})),a_={accentColor:y.accentColor,backgroundColor:y.backgroundColor},aL=ab.annotate({default:a_}).pipe(l.E$i(o.PyW(a_)),l.usV({[tF]:a_}));class aB extends l.Xsx("FlowchartSpec")({id:tG(tK),title:tQ,nodes:tR(tZ(ap)),edges:aM,groups:tG(l.O31(ag).pipe(l.fXn)),layout:az,style:aL},{identifier:void 0}){}class aA extends l.Xsx("SequenceParticipantSpec")({id:tQ,label:tQ,kind:tG(tK),icon:tG(ad)},{identifier:void 0}){}class aP extends l.Xsx("SequenceMessageSpec")({id:tG(tK),source:tQ,target:tQ,label:tQ,type:tG(tj(ev)),style:tG(tj(em))},{identifier:void 0}){}let aS=[],aV=l.O31(aP).pipe(l.fXn).annotate({default:aS}).pipe(l.E$i(o.PyW(aS)));class aH extends l.Xsx("SequenceDiagramSpec")({id:tG(tK),title:tQ,participants:tR(tZ(aA)),messages:aV,style:aL},{identifier:void 0}){}class aq extends l.Xsx("TimelineEventSpec")({id:tQ,label:tQ,date:tG(tK),end:tG(tK),order:tG(t1),kind:tG(tj(F)),lane:tG(tK),description:tG(tK)},{identifier:void 0}){}class aF extends l.Xsx("TimelineSpec")({id:tG(tK),title:tQ,events:tR(tZ(aq)),lanes:tG(l.O31(tK).pipe(l.fXn)),today:tG(tK),style:aL},{identifier:void 0}){}let aI=tG(tZ(t7)),aU=tG(l.O31(t8).pipe(l.fXn)),aO=tG(l.wNn.check(l.MIs(),l.OWK(0,{message:"Too small: expected number to be >=0"}),l.biW(10,{message:"Too big: expected number to be <=10"})));class aE extends l.Xsx("BuildFlowchartOptions")({artifactFormats:aI,inlineArtifacts:aU,minQualityScore:aO},{identifier:void 0}){}tG(aE);class aX extends l.Xsx("BuildFlowchartRequest")({requestId:tG(tK),spec:tD(aB),options:tG(aE)},{identifier:void 0}){}let aY=aB.mapFields(({id:e,title:t,nodes:a,edges:s,layout:l})=>({id:e,title:t,nodes:a,edges:s,layout:l})),aZ=l._kM({requestId:tG(tK),spec:tD(aY)}),aG=l.rcy(aZ,{leafHook:tS,parseOptions:{errors:"all"}}),aT=Object.assign(aG,{"~standard":{...aG["~standard"],jsonSchema:{input:()=>tX(aZ),output:()=>tX(aZ)}}}),aD=Object.assign(aX,{omit:e=>aT});class aR extends l.Xsx("BuildSequenceDiagramRequest")({requestId:tG(tK),spec:tD(aH),options:tG(aE)},{identifier:void 0}){}l._kM({requestId:tG(tK),spec:tD(aH.mapFields(({id:e,title:t,participants:a,messages:s})=>({id:e,title:t,participants:a,messages:s})))});class aj extends l.Xsx("BuildTimelineRequest")({requestId:tG(tK),spec:tD(aF),options:tG(aE)},{identifier:void 0}){}l._kM({requestId:tG(tK),spec:tD(aF.mapFields(({id:e,title:t,events:a,lanes:s,today:l})=>({id:e,title:t,events:a,lanes:s,today:l})))});let a$=l.QfV.check(l.tJb(1,{message:"Too small: expected string to have >=1 characters"}),l.HNH(function(e){let t=tB(e);return t.length>0&&!/^(?:""|''|``)$/.test(t)},{message:"Must contain semantic text after normalization."})),aN=tD(l.DYE(()=>aW).annotate({identifier:"__schema0"})),aW=l._kM({label:tT(a$),children:l.Qrq(l.O31(aN).pipe(l.fXn))});class aJ extends l.Xsx("MindmapSpecLayout")({direction:tj(["LR","RL"]).annotate({default:"LR"}).pipe(l.E$i(o.PyW("LR")))},{identifier:void 0}){}let aK={direction:"LR"},aQ=aJ.annotate({default:aK}).pipe(l.E$i(o.PyW(aK)),l.usV({[tF]:aK})),a1=l._kM({id:tG(tK),title:tT(a$),root:aN,layout:aQ,style:aL});class a0 extends l.Xsx("MindmapSpec")(a1,{identifier:void 0}){}let a2=l._kM({requestId:tG(tK),spec:tD(a1),options:tG(aE)});l.Xsx("BuildMindmapRequest")(a2,{identifier:void 0});class a3 extends l.Xsx("ScenePoint")({x:t1.pipe(l.Wa3),y:t1.pipe(l.Wa3)},{identifier:void 0}){}let a5={frameId:tG(tK).pipe(l.Wa3),groupIds:tG(l.O31(tK).pipe(l.fXn).annotate({maxItems:eY.maxGroupsPerElement})).pipe(l.Wa3),layerId:tG(tK).pipe(l.Wa3),locked:tG(l.v8c).pipe(l.Wa3),opacity:tG(l.wNn.check(l.MIs(),l.Bt9({minimum:0,maximum:100}))).pipe(l.Wa3),zIndex:tG(l.Aiz).pipe(l.Wa3)},a4={fillColor:tG(t5).pipe(l.Wa3),fillStyle:tG(tj(["cross-hatch","hachure","solid"])).pipe(l.Wa3),roughness:tG(tj([0,1,2])).pipe(l.Wa3),strokeColor:tG(t5).pipe(l.Wa3),strokeStyle:tG(tj(["dashed","dotted","solid"])).pipe(l.Wa3),strokeWidth:tG(tj([1,2,4])).pipe(l.Wa3)},a6=l.T9y(tj(["arrow","bar","circle","diamond","triangle"])),a7=l.O31(a3).pipe(l.fXn).check(l.tJb(2,{message:"Too small: expected array to have >=2 items"}),l.NYj(eY.maxPointsPerElement,{message:`Too big: expected array to have <=${eY.maxPointsPerElement} items`}));class a8 extends l.Xsx("CanvasNodeIcon")({slug:ac.pipe(l.Wa3),size:l.wNn.check(l.MIs(),l.Bt9({minimum:eZ.minSize,maximum:eZ.maxSize},{message:`Expected a number between ${eZ.minSize} and ${eZ.maxSize}`})).pipe(l.Wa3)},{identifier:void 0}){}class a9 extends l.Xsx("CanvasIconAsset")({name:l.QfV,svg:l.QfV},{identifier:void 0}){}class se extends l.Xsx("NodeSceneElement")({...a5,...a4,type:t$("node"),id:tQ,nodeId:tQ,kind:tG(tK),icon:tG(a8).pipe(l.Wa3),rendererRole:tG(tj(eG)),shape:tj(["rectangle","ellipse","diamond","circle","polygon"]).pipe(l.Wa3),points:tG(a7).pipe(l.Wa3),textColor:tG(t5).pipe(l.Wa3),x:t1.pipe(l.Wa3),y:t1.pipe(l.Wa3),width:t0.pipe(l.Wa3),height:t0.pipe(l.Wa3),label:tQ.pipe(l.Wa3)},{identifier:void 0}){}class st extends l.Xsx("TextSceneElement")({...a5,type:t$("text"),id:tQ,containerId:tG(tK),textColor:tG(t5).pipe(l.Wa3),x:t1.pipe(l.Wa3),y:t1.pipe(l.Wa3),text:tQ.pipe(l.Wa3),fontSize:t0,fontFamily:tG(tj(["hand","mono","sans"])),maxWidth:tG(t0),textAlign:tG(tj(["center","left","right"])),verticalAlign:tG(tj(["bottom","middle","top"]))},{identifier:void 0}){}class sa extends l.Xsx("ArrowSceneElement")({...a5,...a4,type:t$("arrow"),id:tQ,edgeId:tQ,sourceNodeId:tQ,targetNodeId:tQ.pipe(l.Wa3),startArrowhead:tG(a6).pipe(l.Wa3),endArrowhead:tG(a6).pipe(l.Wa3),textColor:tG(t5).pipe(l.Wa3),points:tR(a7).pipe(l.Wa3),label:tG(tK).pipe(l.Wa3)},{identifier:void 0}){}class ss extends l.Xsx("CanvasLineBinding")({elementId:tQ,focus:tG(t1),gap:tG(t1)},{identifier:void 0}){}class sl extends l.Xsx("LineSceneElement")({...a5,...a4,type:t$("line"),id:tQ,points:tR(a7).pipe(l.Wa3),startBinding:tG(ss).pipe(l.Wa3),endBinding:tG(ss).pipe(l.Wa3),startArrowhead:tG(a6).pipe(l.Wa3),endArrowhead:tG(a6).pipe(l.Wa3),label:tG(tK).pipe(l.Wa3),textColor:tG(t5).pipe(l.Wa3)},{identifier:void 0}){}class si extends l.Xsx("FrameSceneElement")({...a5,...a4,type:t$("frame"),id:tQ,name:tG(tK).pipe(l.Wa3),x:t1.pipe(l.Wa3),y:t1.pipe(l.Wa3),width:t0.pipe(l.Wa3),height:t0.pipe(l.Wa3)},{identifier:void 0}){}class so extends l.Xsx("CanvasLayer")({id:tQ,name:tG(tK),locked:tG(l.v8c),visible:tG(l.v8c)},{identifier:void 0}){}let sr=tR(tZ(tK));class sn extends l.Xsx("CanvasFlowLayout")({type:tj(["row","column","stack"]),ids:sr,x:tG(t1),y:tG(t1),gap:tG(t1)},{identifier:void 0}){}class sc extends l.Xsx("CanvasGridLayout")({type:t$("grid"),ids:sr,columns:l.Aiz.check(l.OWK(1,{message:"Too small: expected number to be >=1"})),x:tG(t1),y:tG(t1),columnGap:tG(t1),rowGap:tG(t1)},{identifier:void 0}){}class sd extends l.Xsx("CanvasAlignLayout")({type:t$("align"),ids:sr,axis:tj(["x","y"]),alignment:tj(["center","end","start"])},{identifier:void 0}){}class sp extends l.Xsx("CanvasDistributeLayout")({type:t$("distribute"),ids:sr,axis:tj(["x","y"]),gap:tG(t1)},{identifier:void 0}){}let sg=l.gPz([se,st,sa,sl,si],{mode:"oneOf"}).annotate({[tI]:!0}),sh=l.gPz([sn,sc,sd,sp],{mode:"oneOf"}),su=l.O31(so).pipe(l.fXn).annotate({default:[],maxItems:eY.maxLayers}).pipe(l.E$i(o.PyW([]))),sf=l.O31(sh).pipe(l.fXn).annotate({default:[],maxItems:eY.maxLayouts}).pipe(l.E$i(o.PyW([]))),sv=l.O31(tK).pipe(l.fXn).annotate({default:[],maxItems:eY.maxZOrderEntries}).pipe(l.E$i(o.PyW([])));class sm extends l.Xsx("CanvasSpec")({kind:t$("canvas"),version:tN(1),diagramId:tQ,title:tQ,width:t0.pipe(l.Wa3),height:t0.pipe(l.Wa3),accentColor:t5.pipe(l.Wa3),backgroundColor:t5.pipe(l.Wa3),elements:tR(l.O31(sg).pipe(l.fXn).annotate({maxItems:eY.maxElements})),icons:tG(l.mSG(l.QfV,a9)).pipe(l.Wa3),layers:su,layouts:sf,zOrder:sv},{identifier:void 0}){}let sy=sm;class sw extends l.Xsx("CreateCanvasRequest")({requestId:tG(tK),spec:tD(sm),options:tG(aE)},{identifier:void 0}){}let sx=l.mSG(l.QfV,l.$r1).check(l.HNH(e=>"string"==typeof e.id&&e.id.length>0&&"string"==typeof e.type&&e.type.length>0,{message:"Invalid input"}));class sb extends l.Xsx("ExcalidrawScene")({appState:l.mSG(l.QfV,l.$r1),elements:l.O31(sx).pipe(l.fXn)},{identifier:void 0}){}class sk extends sb.extend("ExcalidrawFile")({files:l.mSG(l.QfV,l.$r1),source:tQ,type:t$("excalidraw"),version:tN(2)},{identifier:void 0}){}let sM=sk;class sC extends l.Xsx("GetArtifactRequest")({artifactId:tQ,format:tG(t7),inline:tG(l.v8c)},{identifier:void 0}){}class sz extends l.Xsx("DiagramSelector")({ids:tG(l.O31(tK).pipe(l.fXn)),nodeIds:tG(l.O31(tK).pipe(l.fXn)),edgeIds:tG(l.O31(tK).pipe(l.fXn)),kinds:tG(l.O31(ar).pipe(l.fXn)),labels:tG(l.O31(tK).pipe(l.fXn)),scope:tG(tj(["all","nodes","edges"]))},{identifier:void 0}){}class s_ extends l.Xsx("DiagramStylePatch")({strokeColor:tG(t5),fillColor:tG(t5),textColor:tG(t5),backgroundColor:tG(t5)},{identifier:void 0}){}let sL=["rectangle","diamond","ellipse","circle","polygon"],sB=Object.assign(tj(sL),{options:sL});class sA extends l.Xsx("SetDefaultStyleOperation")({op:t$("setDefaultStyle"),style:tD(s_)},{identifier:void 0}){}class sP extends l.Xsx("SetStyleOperation")({op:t$("setStyle"),selector:tD(sz),style:tD(s_)},{identifier:void 0}){}class sS extends l.Xsx("SetShapeOperation")({op:t$("setShape"),selector:tD(sz),shape:sB},{identifier:void 0}){}class sV extends l.Xsx("TranslateOperation")({op:t$("translate"),selector:tD(sz),dx:t1,dy:t1},{identifier:void 0}){}class sH extends l.Xsx("ReplaceTextOperation")({op:t$("replaceText"),selector:tD(sz),text:tQ},{identifier:void 0}){}class sq extends l.Xsx("RerouteEdgesOperation")({op:t$("rerouteEdges"),selector:tG(sz)},{identifier:void 0}){}let sF=tR(tZ(tK));class sI extends l.Xsx("InsertElementsOperation")({op:t$("insert"),elements:tR(tZ(sg)),beforeId:tG(tK),afterId:tG(tK)},{identifier:void 0}){}class sU extends l.Xsx("RemoveElementsOperation")({op:t$("remove"),selector:tD(sz)},{identifier:void 0}){}class sO extends l.Xsx("ReplaceElementOperation")({op:t$("replace"),id:tQ,element:tD(sg)},{identifier:void 0}){}class sE extends l.Xsx("ReorderElementsOperation")({op:t$("reorder"),ids:sF,beforeId:tG(tK),afterId:tG(tK)},{identifier:void 0}){}class sX extends l.Xsx("GroupElementsOperation")({op:t$("group"),ids:sF,groupId:tQ},{identifier:void 0}){}class sY extends l.Xsx("UngroupElementsOperation")({op:t$("ungroup"),ids:sF,groupId:tG(tK)},{identifier:void 0}){}let sZ=l.gPz([sA,sP,sS,sV,sH,sq,sI,sU,sO,sE,sX,sY],{mode:"oneOf"}).annotate({[tI]:!0,[tU]:"op",message:`Invalid discriminator value. Expected ${an.map(e=>`'${e}'`).join(" | ")}`});class sG extends l.Xsx("ArtifactPatchSource")({artifactId:tQ,format:tG(t$("scene"))},{identifier:void 0}){}class sT extends l.Xsx("InlineScenePatchSource")({scene:tD(sm)},{identifier:void 0}){}let sD=l.gPz([sG,sT]).annotate({message:"Invalid input"});class sR extends l.Xsx("ApplyDiagramPatchOptions")({artifactFormats:aI,inlineArtifacts:aU,preserveConnectivity:tG(l.v8c)},{identifier:void 0}){}tG(sR);class sj extends l.Xsx("ApplyDiagramPatchRequest")({requestId:tG(tK),source:sD.annotateKey({messageMissingKey:"Invalid input"}),operations:tR(tZ(sZ)),options:tG(sR),intent:tG(tK)},{identifier:void 0}){}class s$ extends l.Xsx("NormalizedMindmapTopic")({id:tK,label:tK,children:l.O31(l.DYE(()=>s$)).pipe(l.fXn)},{identifier:void 0}){}let sN=l._kM({id:tK,title:tK,nodes:l.O31(ap).pipe(l.fXn),edges:l.O31(ah.mapFields(e=>({...e,id:tK}))).pipe(l.fXn),groups:l.Qrq(l.O31(ag).pipe(l.fXn)),layout:l._kM({direction:au}),style:l._kM({accentColor:t5,backgroundColor:t5})}),sW=l._kM({id:tK,title:tK,root:s$,layout:l._kM({direction:tj(["LR","RL"])}),style:l._kM({accentColor:t5,backgroundColor:t5})}),sJ=l._kM({id:tK,title:tK,participants:l.O31(aA).pipe(l.fXn),messages:l.O31(aP.mapFields(e=>({...e,id:tK}))).pipe(l.fXn),style:l._kM({accentColor:t5,backgroundColor:t5})}),sK=l._kM({id:tK,title:tK,events:l.O31(aq).pipe(l.fXn),lanes:tG(l.O31(tK).pipe(l.fXn)),today:tG(tK),style:l._kM({accentColor:t5,backgroundColor:t5})}),sQ=l._kM({code:l.QfV,passed:l.v8c,severity:tj(["error","warning"]),message:l.QfV,refs:l.O31(al).pipe(l.fXn)}),s1=l._kM({accepted:l.v8c,score:l.wNn,threshold:l.wNn,summary:l._kM({nodeCount:l.wNn,edgeCount:l.wNn}),checks:l.O31(sQ).pipe(l.fXn)}),s0=l._kM({format:t7,mimeType:l.QfV,url:tG(l.QfV),expiresAt:tG(l.QfV),inline:tG(l.$r1),sizeBytes:tG(l.wNn)}),s2=l._kM({artifactId:l.QfV,diagramId:l.QfV,formats:l.O31(s0).pipe(l.fXn),provenance:tG(t9),preview:tG(s0)}),s3=l._kM({artifactId:tG(l.QfV),diagramId:tG(l.QfV),formats:tG(l.O31(s0).pipe(l.fXn))});class s5 extends l.Xsx("BuildFlowchartAccepted")({ok:tW(!0),status:t$("accepted"),buildId:l.QfV,requestId:tG(l.QfV),normalizedSpec:sN,quality:s1,artifact:s2,issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}class s4 extends l.Xsx("BuildFlowchartRejected")({ok:tW(!1),status:tj(["invalid_input","invalid_flowchart","quality_failed","render_failed","export_failed","storage_failed"]),buildId:tG(l.QfV),requestId:tG(l.QfV),normalizedSpec:tG(sN),quality:tG(s1),partial:tG(s3),issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}l.gPz([s5,s4]);class s6 extends l.Xsx("BuildMindmapAccepted")({ok:tW(!0),status:t$("accepted"),buildId:l.QfV,requestId:tG(l.QfV),normalizedSpec:sW,quality:s1,artifact:s2,issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}class s7 extends l.Xsx("BuildMindmapRejected")({ok:tW(!1),status:tj(["invalid_input","invalid_mindmap","quality_failed","render_failed","export_failed","storage_failed"]),buildId:tG(l.QfV),requestId:tG(l.QfV),normalizedSpec:tG(sW),quality:tG(s1),partial:tG(s3),issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}l.gPz([s6,s7]);class s8 extends l.Xsx("BuildSequenceDiagramAccepted")({ok:tW(!0),status:t$("accepted"),buildId:l.QfV,requestId:tG(l.QfV),normalizedSpec:sJ,quality:s1,artifact:s2,issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}class s9 extends l.Xsx("BuildSequenceDiagramRejected")({ok:tW(!1),status:tj(["invalid_input","invalid_sequence","quality_failed","render_failed","export_failed","storage_failed"]),buildId:tG(l.QfV),requestId:tG(l.QfV),normalizedSpec:tG(sJ),quality:tG(s1),partial:tG(s3),issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}l.gPz([s8,s9]);class le extends l.Xsx("BuildTimelineAccepted")({ok:tW(!0),status:t$("accepted"),buildId:l.QfV,requestId:tG(l.QfV),normalizedSpec:sK,quality:s1,artifact:s2,issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}class lt extends l.Xsx("BuildTimelineRejected")({ok:tW(!1),status:tj(["invalid_input","invalid_timeline","quality_failed","render_failed","export_failed","storage_failed"]),buildId:tG(l.QfV),requestId:tG(l.QfV),normalizedSpec:tG(sK),quality:tG(s1),partial:tG(s3),issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}l.gPz([le,lt]);class la extends l.Xsx("GetArtifactAccepted")({ok:tW(!0),artifactId:l.QfV,diagramId:l.QfV,format:t7,mimeType:l.QfV,url:tG(l.QfV),expiresAt:tG(l.QfV),inline:tG(l.$r1),sizeBytes:tG(l.wNn),provenance:tG(t9)},{identifier:void 0}){}class ls extends l.Xsx("GetArtifactRejected")({ok:tW(!1),status:tj(["invalid_input","not_found","format_unavailable","expired","storage_failed"]),issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}l.gPz([la,ls]);class ll extends l.Xsx("ApplyDiagramPatchAccepted")({ok:tW(!0),status:t$("accepted"),patchId:l.QfV,requestId:tG(l.QfV),sourceArtifactId:tG(l.QfV),artifact:s2,issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}class li extends l.Xsx("ApplyDiagramPatchRejected")({ok:tW(!1),status:tj(["invalid_input","source_unavailable","target_not_found","unsupported_operation","connectivity_changed","render_failed","export_failed","storage_failed"]),patchId:tG(l.QfV),requestId:tG(l.QfV),sourceArtifactId:tG(l.QfV),partial:tG(s3),issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}l.gPz([ll,li]);class lo extends l.Xsx("CreateCanvasAccepted")({ok:tW(!0),status:t$("accepted"),buildId:l.QfV,requestId:tG(l.QfV),normalizedSpec:sm,artifact:s2,issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}class lr extends l.Xsx("CreateCanvasRejected")({ok:tW(!1),status:tj(["invalid_input","invalid_canvas","limit_exceeded","render_failed","export_failed","storage_failed"]),buildId:tG(l.QfV),requestId:tG(l.QfV),normalizedSpec:tG(sm),partial:tG(s3),issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}let ln=l.gPz([lo,lr]),lc=120,ld=1,lp=25;class lg extends l.Xsx("SearchIconsRequest")({q:tT(tY().check(l.NYj(lc,{message:`Too big: expected string to have <=${lc} characters`}))),limit:tG(l.Aiz.check(l.Bt9({minimum:ld,maximum:lp},{message:`Expected an integer between ${ld} and ${lp}`})))},{identifier:void 0}){}class lh extends l.Xsx("SearchIconsMatch")({slug:l.QfV,name:l.QfV,collection:l.QfV},{identifier:void 0}){}class lu extends l.Xsx("SearchIconsAccepted")({ok:tW(!0),status:t$("accepted"),query:l.QfV,icons:l.O31(lh).pipe(l.fXn),issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}class lf extends l.Xsx("SearchIconsRejected")({ok:tW(!1),status:tj(["invalid_input"]),issues:l.O31(ai).pipe(l.fXn)},{identifier:void 0}){}l.gPz([lu,lf]);let lv=l.xCb(["read","readManifest","write"]);class lm extends l.rNF()("CodeModeArtifactStorageError",{cause:l.kld(),message:l.QfV,operation:lv}){}class ly extends i.kl()("@sketchi/diagram-agent/CodeModeArtifactStorage"){}let lw={excalidraw:"application/vnd.excalidraw+json",png:"image/png",scene:"application/vnd.sketchi.scene+json"};function lx(e){return"excalidraw"===e||"scene"===e}function lb(e){return{format:e.format,mimeType:e.mimeType,sizeBytes:e.sizeBytes}}function lk(e){return new TextEncoder().encode(JSON.stringify(e)).length}let lM=n.QZ(ly)(o.Q56(o.OH5(function(){let e=new Map,t=new Map;return{close:o.OH5(()=>{t.clear(),e.clear()}),storage:{read:o.fn("codeMode.artifacts.memory.read")(function*(e,a){return yield*o.OH5(()=>{let s=t.get(`${e}:${a}`);return s?{...s,data:structuredClone(s.data)}:null})}),readManifest:o.fn("codeMode.artifacts.memory.readManifest")(function*(t){return yield*o.OH5(()=>{let a=e.get(t);return a?structuredClone(a):null})}),write:o.fn("codeMode.artifacts.memory.write")(function*(a){var s;let l=yield*r.Ru;return yield*o.SvU({try:()=>{var s;let i,o=a.formats.map(lb),r=a.provenance?structuredClone(a.provenance):void 0,n={artifactId:a.artifactId,diagramId:a.diagramId,formats:o,...r?{provenance:r}:{},createdAt:new Date(l).toISOString()};for(let s of(e.set(a.artifactId,n),a.formats))t.set(`${a.artifactId}:${s.format}`,{...s,data:structuredClone(s.data)});let c=a.formats.map(e=>{var t;return t=a.inlineFormats,{format:e.format,mimeType:e.mimeType,...lx(e.format)&&t.includes(e.format)?{inline:e.data}:{},sizeBytes:e.sizeBytes}});return i=(s={artifactId:a.artifactId,diagramId:a.diagramId,formats:c,...a.provenance?{provenance:structuredClone(a.provenance)}:{}}).formats.find(e=>"scene"===e.format),{artifactId:s.artifactId,diagramId:s.diagramId,formats:s.formats,...s.provenance?{provenance:s.provenance}:{},...i?{preview:i}:{}}},catch:(s="write",e=>{var t;return lm.make({cause:e,message:(t="Artifact storage failed.",e instanceof Error?e.message:t),operation:s})})})})}}}),e=>e.close).pipe(o.TjK(e=>e.storage)));function lC(e,t="storage_write_failed"){return{code:t,severity:"error",stage:"storage",message:e,hint:"Retry the request; if it keeps failing, inspect the artifact store binding."}}let lz="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",l_=lz.slice(10),lL=new Map;function lB(e){let t=lL.get(e);if(void 0===t){t=new Uint8Array(256);for(let a=0;a<e.length;a++)t[e.charCodeAt(a)]=a;lL.set(e,t)}return t}function lA(e,t,a,s){let l=a[0];if(null!=t&&e>=t)throw Error(e+" >= "+t);if(e.slice(-1)===l||t&&t.slice(-1)===l)throw Error("trailing zero");if(t){let i=0;for(;(e[i]||l)===t[i];)i++;if(i>0)return t.slice(0,i)+lA(e.slice(i),t.slice(i),a,s)}let i=e?s[e.charCodeAt(0)]:0,o=null!=t?s[t.charCodeAt(0)]:a.length;return o-i>1?a[Math.round(.5*(i+o))]:t&&t.length>1?t.slice(0,1):a[i]+lA(e.slice(1),null,a,s)}function lP(e,t,a){if(e.length!==lS(e[0],t,a))throw Error("invalid integer part of order key: "+e)}function lS(e,t,a){let s=a[e.charCodeAt(0)];if(t[s]===e){let e=t.length/2;return s<e?e-s+1:s-e+2}throw Error("invalid order key head: "+e)}function lV(e,t,a){let s=lS(e[0],t,a);if(s>e.length)throw Error("invalid order key: "+e);return e.slice(0,s)}function lH(e,t,a,s){if(lI(e,t,a))throw Error("invalid order key: "+e);let l=lV(e,a,s);if(e.slice(l.length).slice(-1)===t[0])throw Error("invalid order key: "+e)}function lq(e,t,a,s,l){lP(e,s,l);let i=e[0],o=t[0],r="";for(let s=e.length-1;s>=1;s--){let l=a[e.charCodeAt(s)]+1;if(l!==t.length)return i+e.slice(1,s)+t[l]+r;r=o+r}let n=l[i.charCodeAt(0)];if(n===s.length-1)return null;let c=s[n+1],d=lS(c,s,l)-lS(i,s,l);return c+(d>0?r+o:d<0?r.slice(1):r)}let lF=new Map;function lI(e,t,a){let s=lF.get(a);void 0===s&&(s=new Map,lF.set(a,s));let l=t.charCodeAt(0),i=s.get(l);return void 0===i&&(i=a[0]+t[0].repeat(a.length/2),s.set(l,i)),e===i}function lU(e){for(let t=1;t<e.length;t++)if(e.charCodeAt(t-1)>=e.charCodeAt(t))return!1;return!0}function lO(e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>255)return!1;return!0}let lE=new Set,lX=new Set,lY=new Set(["rectangle","ellipse","diamond"]),lZ=m.ink;function lG(e){return"number"==typeof e&&Number.isFinite(e)?e:null}function lT(e){if(!Array.isArray(e)||e.length<2)return null;let t=lG(e[0]),a=lG(e[1]);return null===t||null===a?null:[t,a]}function lD(e){let t=lG(e.x),a=lG(e.y),s=lG(e.width),l=lG(e.height);return null===t||null===a||null===s||null===l?null:{x:t,y:a,width:s,height:l}}function lR(e){return 1e-4>Math.abs(e-.5)?.5001:e}function lj(e,t){let a=lD(e);return a&&0!==a.width&&0!==a.height?[lR((t.x-a.x)/a.width),lR((t.y-a.y)/a.height)]:null}function l$(e,t){return{elementId:e?.id??"",focus:0,gap:0,fixedPoint:e?lj(e,t):null}}function lN(e,t){let a=tl(e,"seed");return{id:e,angle:0,fillStyle:t&&"fillStyle"in t?t.fillStyle??"solid":"solid",frameId:t?.frameId??null,groupIds:[...t?.groupIds??[]],index:null,isDeleted:!1,link:null,locked:t?.locked??!1,opacity:t?.opacity??100,roughness:t&&"roughness"in t?t.roughness??1:1,seed:a,strokeStyle:t&&"strokeStyle"in t?t.strokeStyle??"solid":"solid",strokeWidth:t&&"strokeWidth"in t?t.strokeWidth??2:2,updated:1,version:1,versionNonce:a+1}}function lW(e){var t,a;let s,l=e.wrap?eX(e.text,e.maxWidth,e.fontSize):e.text,i=e.wrap?eO(l,e.fontSize,e.maxWidth):eU(l,e.fontSize,e.maxWidth),o=(t=e.fontSize,Math.ceil(l.split("\n").length*t*1.35)),r=e.element?.verticalAlign;return{...lN(e.id,e.element),...void 0===e.locked?{}:{locked:e.locked},type:"text",x:e.x-i/2,y:e.container&&("bottom"===r||"top"===r)?(a=e.container,s=a.y+eN(a).y,"top"===r?s:s+eW(a).height-o):e.y-o/2,width:i,height:o,backgroundColor:"transparent",boundElements:null,containerId:e.containerId??null,fontFamily:e.element?.fontFamily==="mono"?3:e.element?.fontFamily==="sans"?2:5,fontSize:e.fontSize,lineHeight:1.35,originalText:e.text,roundness:null,strokeColor:e.textColor??lZ,text:l,textAlign:e.element?.textAlign??"center",verticalAlign:e.element?.verticalAlign??"middle",autoResize:!(e.wrap&&!e.containerId)}}function lJ(e){return`${e.id}:logo`}function lK(e){return e.points[e.points.length-1]??e.points[0]}function lQ(e,t,a){if(!e)return null;let s=t.get(e.elementId);return s?{elementId:e.elementId,focus:e.focus??0,gap:e.gap??0,fixedPoint:lj(s,a)}:null}function l1(e){return"node"===e.type}function l0(e){return"text"===e.type}function l2(e){return"arrow"===e.type}function l3(e){return"line"===e.type}function l5(e){return"frame"===e.type}function l4(e,t){let a=e[t];if(!(a&&"object"==typeof a))return null;let s=a.elementId;return"string"==typeof s?s:null}function l6(e){let t=lG(e.x)??0,a=lG(e.y)??0,s=l4(e,"startBinding"),l=l4(e,"endBinding"),i=Array.isArray(e.points)?e.points.map(lT).filter(e=>null!==e).map(([e,s])=>({x:t+e,y:a+s})):[];return e9(i).map(t=>({...t,arrowId:e.id,startBindingId:s,endBindingId:l,startCoordinate:"horizontal"===t.orientation?i[t.segmentIndex].x:i[t.segmentIndex].y,endCoordinate:"horizontal"===t.orientation?i[t.segmentIndex+1].x:i[t.segmentIndex+1].y}))}function l7(e){if(lY.has(e.type)||"frame"===e.type)return!0;let t=e.customData;return"line"===e.type&&null!==t&&"object"==typeof t&&"polygon"===t.sketchiShape}function l8(e,t,a){return e>=t-.01&&e<=a+.01}function l9(e,t){return .01>=Math.abs(e-t)}let ie=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],it=(e,t=2)=>String(e).padStart(t,"0"),ia={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,month:2629746e3,year:31556952e3},is="timeline-marker",il=6,ii="#4c4639",io="#c0392b",ir=[{stroke:"",ink:"#6a4e5c",wash:"#efe6ec"},{stroke:"#1f44c9",ink:"#1a39a8",wash:"#e6eafb"},{stroke:"#1c7a4d",ink:"#15613c",wash:"#def0e5"},{stroke:"#9a6a1f",ink:"#7a5216",wash:"#f6e8cf"}];function ic(e,t,a,s){let l=function(e,t){let a=e=>e.split("\n").length,s=eX(e,200,t);if(1===a(s))return s;let l=t,i=200;for(;i-l>1;){let o=Math.floor((l+i)/2);a(eX(e,o,t))<=a(s)?i=o:l=o}return eX(e,i,t)}(t,a);return{id:e,text:l,fontSize:a,color:s,width:Math.ceil(Math.max(eI(l,a),eU(l,a,200))),height:Math.ceil(l.split("\n").length*a*1.35)}}let id=[{lookahead:!0,coverPenalty:0},{lookahead:!0,coverPenalty:80},{lookahead:!1,coverPenalty:0},{lookahead:!1,coverPenalty:240}];function ip(e){return e.span?6:("milestone"===e.event.kind?18:12)/2}let ig={circle:24,diamond:20,ellipse:24,polygon:28,rectangle:28};function ih(e){let t=new Map,a=new Map;for(let s of e)t.set(s.target,[...t.get(s.target)??[],s]),a.set(s.source,[...a.get(s.source)??[],s]);return{incoming:t,outgoing:a}}function iu(e){return new Map(e.map((e,t)=>[e.id,t]))}function iv(e,t,a){let s=new Map,l=new Set;function i(e){for(let t of(s.set(e,"visiting"),a.get(e)??[])){let e=s.get(t.target);if("visiting"===e){l.add(t.id);continue}e||i(t.target)}s.set(e,"visited")}let o=e.nodes.find(e=>0===(t.get(e.id)??[]).length)??e.nodes[0];for(let t of(o&&i(o.id),e.nodes))s.has(t.id)||i(t.id);return l}let im=new WeakMap;function iy(e){let t=im.get(e);if(t||(ik(e),t=im.get(e)))return t;let a=ih(e.edges);return t=iv(e,a.incoming,a.outgoing),im.set(e,t),t}let iw="\0group:",ix=new WeakMap;function ib(e){return`${iw}${e}`}function ik(e){let t=ix.get(e);if(void 0!==t)return t??void 0;let a=(e.groups??[]).filter(t=>e.nodes.some(e=>e.group===t.id));if(0===a.length)return void ix.set(e,null);let s=new Set(a.map(e=>e.id)),l=new Map(e.nodes.flatMap(e=>void 0!==e.group&&s.has(e.group)?[[e.id,e.group]]:[])),i=e=>{let t=l.get(e);return void 0===t?e:ib(t)},o=ih(e.edges),r=iv(e,o.incoming,o.outgoing),n=new Set,c=a.map(t=>{let a=e.edges.filter(e=>l.get(e.source)===t.id&&l.get(e.target)===t.id),s={...e,groups:[],nodes:e.nodes.filter(e=>l.get(e.id)===t.id),edges:a},i={...s,layout:{...e.layout,direction:iA[e.layout.direction]}},o=new Set(a.flatMap(e=>r.has(e.id)?[e.id]:[]));for(let e of(im.set(s,o),im.set(i,o),o))n.add(e);return{across:i,diagram:s,group:t}}),d=[],p=new Set;for(let t of e.nodes){let e=i(t.id);if(p.has(e))continue;p.add(e);let s=l.get(t.id);d.push(void 0===s?t:{id:e,label:a.find(e=>e.id===s).label,kind:"process",metadata:{}})}let g=e.edges.filter(e=>i(e.source)!==i(e.target)),h={...e,groups:[],nodes:d,edges:g.map(e=>({...e,source:i(e.source),target:i(e.target)}))},u=ih(h.edges),f=iv(h,u.incoming,u.outgoing);for(let e of(im.set(h,f),f))n.add(e);im.set(e,n);let v={crossEdges:g,groupOf:l,groups:c,top:h};return ix.set(e,v),v}function iM(e,t,a){let s=iu(e.nodes),l=new Map(e.nodes.map(e=>[e.id,0])),i=new Map(e.nodes.map(e=>[e.id,0]));for(let t of e.edges)a.has(t.id)||l.set(t.target,(l.get(t.target)??0)+1);let o=[];for(let t of e.nodes)(l.get(t.id)??0)===0&&o.push(t.id);let r=new Set;for(let e=0;e<o.length;e+=1){let n=o[e];if(!n||r.has(n))continue;r.add(n);let c=i.get(n)??0;for(let r of t.outgoing.get(n)??[]){if(a.has(r.id))continue;i.set(r.target,Math.max(i.get(r.target)??0,c+1));let t=(l.get(r.target)??0)-1;l.set(r.target,t),0===t&&function(e,t,a,s){let l=a.get(t)??Number.MAX_SAFE_INTEGER,i=e.findIndex((e,t)=>t>s&&(a.get(e)??Number.MAX_SAFE_INTEGER)>l);-1===i?e.push(t):e.splice(i,0,t)}(o,r.target,s,e)}}for(let s of e.nodes)!function e(s){if(r.has(s))return i.get(s)??0;let l=0;for(let i of t.incoming.get(s)??[])a.has(i.id)||(l=Math.max(l,e(i.source)+1));return r.add(s),i.set(s,l),l}(s.id);return i}let iC=new WeakMap,iz={TB:"bottom",BT:"top",LR:"right",RL:"left"};function i_(e,t,a,s=!1){let l="TB"===e.layout.direction||"BT"===e.layout.direction,[i,o]=l?["left","right"]:["top","bottom"],r=(e,t)=>Math.max(112,(a.get(iT(e.nodeId,o))??0)+(a.get(iT(t.nodeId,i))??0)+18),n=ih(e.edges),c=new Map(e.nodes.map(e=>{let a,s,i,o,r,c,d,p,g,h,u,f,v,m=(s="start"===(a=e.kind?.toLowerCase())||"end"===a?"ellipse":"decision"===a?"diamond":"rectangle",o=(i=eE(e.label,"diamond"===s?744:1116)).split("\n"),r=eI(i,14),c=Math.ceil(14*o.length*1.35),d=Math.ceil(r+36),p=Math.ceil(c+28),g={text:i,textHeight:c,textWidth:r,width:d,height:p},h=e.icon?{slug:e.icon.slug,size:ig[s]}:void 0,u="diamond"===s?32:20*("ellipse"===s),f=32*("diamond"===s),v=h||"diamond"===s?function(e,t,a){let s=2*eZ.boundTextPadding,l=t.textHeight+eJ(a),i="diamond"===e?2:"ellipse"===e||"circle"===e?Math.SQRT2:1,o=Math.ceil((t.textWidth+s)*i),r=Math.ceil((l+s)*i);for(;eW({height:r,shape:e,width:o}).width<t.textWidth;)o+=1;for(;eW({height:r,shape:e,width:o}).height<l;)r+=1;return{width:o,height:r}}(s,g,h):{height:0,width:0},{type:"node",id:`node:${e.id}`,nodeId:e.id,...e.kind?{kind:e.kind}:{},...h?{icon:h}:{},shape:s,x:0,y:0,width:Math.max(184,g.width+u,v.width),height:h?Math.max(72,v.height):Math.max(72,g.height+f,v.height),label:g.text}),y=t.get(e.id),w={...m,width:Math.max(m.width,y?.width??0),height:Math.max(m.height,y?.height??0)},x=(n.incoming.get(e.id)?.length??0)+(n.outgoing.get(e.id)?.length??0),b=n.outgoing.get(e.id)??[],k=32+Math.max(0,x-1)*("decision"!==e.kind&&b.length>1&&b.some(e=>e.label)?Math.max(18,...b.map(e=>{let t=on(e.label??"");return(l?t.width:t.height)+24})):18);return[e.id,{...w,...l?{width:Math.max(w.width,k)}:{height:Math.max(w.height,k)}}]})),d=iy(e),p=iM(e,n,d),g=Array.from((function(e,t,a,s,l,i=!1){var o,r,n,c;let d,p,g=iu(e.nodes),h=new Map;for(let s of e.nodes){let e=a.get(s.id)??0,l=t.get(s.id);l&&h.set(e,[...h.get(e)??[],l])}for(let e=0;e<4;e+=1)for(let e of Array.from(h.keys()).sort((e,t)=>e-t)){let t=h.get(e);if(!t||t.length<2)continue;let a=new Map;(h.get(e-1)??[]).forEach((e,t)=>{a.set(e.nodeId,t)});let i=new Map;(h.get(e+1)??[]).forEach((e,t)=>{i.set(e.nodeId,t)});let o=e=>{let t=[...(s.incoming.get(e.nodeId)??[]).filter(e=>!l.has(e.id)).map(e=>a.get(e.source)).filter(e=>void 0!==e),...(s.outgoing.get(e.nodeId)??[]).filter(e=>!l.has(e.id)).map(e=>i.get(e.target)).filter(e=>void 0!==e)];return 0===t.length?g.get(e.nodeId)??Number.MAX_SAFE_INTEGER:t.reduce((e,t)=>e+t,0)/t.length};h.set(e,[...t].sort((e,t)=>{let a=o(e)-o(t);return Math.abs(a)>.001?a:(g.get(e.nodeId)??Number.MAX_SAFE_INTEGER)-(g.get(t.nodeId)??Number.MAX_SAFE_INTEGER)}))}return i?(o=h,r=e,n=a,c=l,(d=iC.get(r))||(d=function(e,t,a,s){let l=new Map,i=new Set,o=(e,t,a)=>l.set(a,[...l.get(a)??[],[e,t]]);for(let l of t.edges){let[t,r]=s.has(l.id)?[l.target,l.source]:[l.source,l.target],[n,c]=(a.get(t)??0)<=(a.get(r)??0)?[t,r]:[r,t],d=a.get(n)??0,p=a.get(c)??0;if(d===p)continue;let g=n;for(let t=d+1;t<p;t+=1){let a=`\0${l.id}\0${t}`;i.add(a);let s=e.get(t-1),r=e.get(t);r.splice(Math.round((s.indexOf(g)+.5)/s.length*r.length),0,a),o(g,a,t-1),g=a}o(g,c,p-1)}let r=new Map,n=t=>e.get(t)?.forEach((e,t)=>r.set(e,t)),c=[...e.keys()].sort((e,t)=>e-t);c.forEach(n);let d=e=>{let t=l.get(e)??[],a=0;for(let[e,[s,l]]of t.entries())for(let[i,o]of t.slice(e+1))(r.get(s)-r.get(i))*(r.get(l)-r.get(o))<0&&(a+=1);return a},p=()=>c.reduce((e,t)=>e+d(t),0),g=p(),h=()=>new Map([...e].map(([e,t])=>[e,t.filter(e=>!i.has(e))])),u=h();if(0===g)return u;let f=new Map;for(let e of l.values())for(let[t,a]of e){let e=f.get(t)??{above:[],below:[]};e.below.push(a),f.set(t,e);let s=f.get(a)??{above:[],below:[]};s.above.push(t),f.set(a,s)}let v={crossings:g,order:u};for(let t=0;t<8&&v.crossings>0;t+=1){let a=t%2==0;for(let t of a?c.slice(1):c.slice(0,-1).reverse()){let s=e.get(t),l=new Map(s.map((e,t)=>{let s=(a?f.get(e)?.above:f.get(e)?.below)??[];return[e,s.length>0?s.reduce((e,t)=>e+r.get(t),0)/s.length:t]}));s.sort((e,t)=>l.get(e)-l.get(t)),n(t)}for(let t=!0;t;)for(let a of(t=!1,c)){let s=e.get(a);for(let e=0;e+1<s.length;e+=1){let l=d(a-1)+d(a);[s[e],s[e+1]]=[s[e+1],s[e]],n(a),d(a-1)+d(a)<l?t=!0:([s[e],s[e+1]]=[s[e+1],s[e]],n(a))}}let s=p();s<v.crossings&&(v={crossings:s,order:h()})}return v.order}(new Map([...o].map(([e,t])=>[e,t.map(e=>e.nodeId)])),r,n,c),iC.set(r,d)),p=new Map([...o.values()].flat().map(e=>[e.nodeId,e])),new Map([...o.keys()].map(e=>[e,(d.get(e)??[]).flatMap(e=>p.has(e)?[p.get(e)]:[])]))):h})(e,c,p,n,d,s).entries()).sort(([e],[t])=>e-t).map(([e,t])=>({breadth:t.reduce((e,a,s)=>e+(l?a.width:a.height)+(s>0?r(t[s-1],a):0),0),depth:Math.max(...t.map(e=>l?e.height:e.width)),rank:e,shapes:t})),h=iz[e.layout.direction],u=(e,t)=>Math.max(0,...e.map(e=>a.get(iT(e.nodeId,t))??0));return{feedbackEdges:d,gapAfter:g.map((t,s)=>{let i=l?0:Math.max(0,...e.edges.filter(e=>t.shapes.some(t=>t.nodeId===e.source)&&e.label).map(e=>on(e.label,c.get(e.source)?.kind==="decision").width+16+72)),o=g[s+1];return Math.max(96,i,o&&a.size>0?u(t.shapes,h)+u(o.shapes,iR[h])+18:0)}),gapBetween:r,highSide:o,lowSide:i,rankByNodeId:p,rankMetrics:g,reachOf:u,vertical:l}}let iL={bandOf:new Map,continuations:new Set},iB={crossingRepair:!1,reorder:!1,wrap:iL},iA={TB:"LR",BT:"LR",LR:"TB",RL:"TB"};function iP(e,t){let[a,s]=e>t?[e,t]:[t,e];return(a+40)/(s+40)}function iS(e,t=new Map,a=new Map,{reorder:s,wrap:l}=iB){let{gapAfter:i,gapBetween:o,highSide:r,lowSide:n,rankMetrics:c,reachOf:d,vertical:p}=i_(e,t,a,s),g=[];for(let[e,t]of c.entries()){let a=l.bandOf.get(t.shapes[0].nodeId)??0;(g[a]??=[]).push({index:e,metric:t})}let h=[],u=48;for(let[e,t]of g.entries()){let a=Math.max(...t.map(({metric:e})=>e.breadth)),s=48;for(let{index:e,metric:l}of t){let t=u+Math.max(0,a-l.breadth)/2;for(let[e,a]of l.shapes.entries()){let i=l.shapes[e+1];p?(h.push({...a,x:t,y:s+Math.max(0,l.depth-a.height)/2}),t+=a.width):(h.push({...a,x:s+Math.max(0,l.depth-a.width)/2,y:t}),t+=a.height),i&&(t+=o(a,i))}s+=l.depth+i[e]}let l=g[e+1];l&&(u+=a+Math.max(144,d(t.flatMap(({metric:e})=>e.shapes),r)+d(l.flatMap(({metric:e})=>e.shapes),n)+72))}if("BT"===e.layout.direction){let e=Math.max(...h.map(e=>e.y+e.height));return h.map(t=>({...t,y:48+e-t.y-t.height}))}if("RL"===e.layout.direction){let e=Math.max(...h.map(e=>e.x+e.width));return h.map(t=>({...t,x:48+e-t.x-t.width}))}return h}function iV(e,t=new Map,a=new Map,s=iB,l=new Map){let i=ik(e);return i?function(e,t,a,s,l,i){let o="TB"===e.layout.direction||"BT"===e.layout.direction,r=new Set(t.crossEdges.flatMap(e=>[e.source,e.target])),n=t.groups.map(({across:e,diagram:t,group:n})=>{let c,d,p=iS(l.groupsAcross?e:t,a,s,{...iB,reorder:l.reorder}),g=(c=Math.min(...p.map(e=>e.x)),{x:c,y:d=Math.min(...p.map(e=>e.y)),width:Math.max(...p.map(e=>e.x+e.width))-c,height:Math.max(...p.map(e=>e.y+e.height))-d}),h=(e,t)=>"top"===t?e.y-g.y:"bottom"===t?g.y+g.height-e.y-e.height:"left"===t?e.x-g.x:g.x+g.width-e.x-e.width,u=e=>Math.max(40,...p.map(t=>(s.get(iT(t.nodeId,e))??0)-h(t,e)+18))+(i.get(n.id)??0),f=t_(n.label),v=p.filter(e=>r.has(e.nodeId)&&.01>=h(e,"top")).map(e=>e.x-g.x+e.width/2-36),m={top:u("top"),bottom:u("bottom"),right:u("right"),left:o&&v.length>0?Math.max(u("left"),f+2*tk.clearance+18-Math.min(...v)):u("left")};return{content:g,group:n,height:g.height+m.top+m.bottom,nodes:p,padding:m,width:Math.max(g.width+m.left+m.right,f+2*tk.clearance+16)}}),c=new Map(a),d=new Map(s);for(let e of n){let t=ib(e.group.id);c.set(t,{width:e.width,height:e.height+28});let a=(e.width-e.content.width-e.padding.left-e.padding.right)/2,l=(t,s)=>"top"===s?t.y-e.content.y+e.padding.top+28:"bottom"===s?e.content.y+e.content.height-t.y-t.height+e.padding.bottom:"left"===s?t.x-e.content.x+e.padding.left+a:e.content.x+e.content.width-t.x-t.width+e.padding.right+a;for(let a of["top","right","bottom","left"]){let i=Math.max(0,...e.nodes.map(e=>(s.get(iT(e.nodeId,a))??0)-l(e,a)));i>0&&d.set(iT(t,a),i)}}let p=iS(t.top,c,d,{...l,wrap:iL}),g=new Map;for(let e of p)e.nodeId.startsWith(iw)||g.set(e.nodeId,{nodes:[e]});for(let e of n){let t=ib(e.group.id),a=p.find(e=>e.nodeId===t),s={x:a.x,y:a.y+28,width:a.width,height:a.height-28},l=s.x+e.padding.left+(s.width-e.content.width-e.padding.left-e.padding.right)/2-e.content.x,i=s.y+e.padding.top+(s.height-e.content.height-e.padding.top-e.padding.bottom)/2-e.content.y;g.set(t,{frame:s,nodes:e.nodes.map(e=>({...e,x:e.x+l,y:e.y+i}))})}!function(e,t,a){let{crossEdges:s,top:l}=e,i=iy(l),o=iM(l,ih(l.edges),i),r=new Map;for(let e of l.nodes){let t=o.get(e.id)??0;r.set(t,[...r.get(t)??[],e.id])}let n=a?"x":"y",c=a?"width":"height",d=e=>(r.get(e)??[]).reduce((e,a)=>{let s=t.get(a);return e+(s.frame??s.nodes[0])[c]},0),p=[...r.keys()].sort((e,t)=>e-t),g=p.reduce((e,t)=>d(t)>d(e)?t:e),h=e=>[...t.values()].flatMap(e=>e.nodes).find(t=>t.nodeId===e),u=e=>e[n]+e[c]/2,f=(e,a,c)=>{var d;let p,[g]=r.get(e)??[];if(!g||1!==r.get(e).length)return;let f=l.edges.find(e=>!i.has(e.id)&&(c?e.target:e.source)===g&&o.get(c?e.source:e.target)===a);if(!f)return;let v=s[l.edges.indexOf(f)],[m,y]=c?[v.target,v.source]:[v.source,v.target];d=u(h(y))-u(h(m)),(p=t.get(g)).nodes=p.nodes.map(e=>({...e,[n]:e[n]+d})),p.frame&&(p.frame={...p.frame,[n]:p.frame[n]+d})};for(let e of p.filter(e=>e>g))f(e,e-1,!0);for(let e of p.filter(e=>e<g).reverse())f(e,e+1,!1)}(t,g,o);let h=[...g.values()].flatMap(e=>e.nodes),u=iu(e.nodes);return h.sort((e,t)=>u.get(e.nodeId)-u.get(t.nodeId)),{groups:{frames:n.map(({group:e})=>{let t=g.get(ib(e.id)).frame;return{box:t,elementId:`group:${e.id}`,id:e.id,label:e.label,labelBox:function(e){let{clearance:t,height:a}=tk,s=t_(e.name??"Frame");return{x:e.x-t,y:e.y-a-t,width:s+2*t,height:a+t-1}}({...t,name:e.label})}}),groupOf:t.groupOf},nodes:h}}(e,i,t,a,s,l):{nodes:iS(e,t,a,s)}}function iH(e,t){return{type:"node",id:e,nodeId:e,shape:"rectangle",label:"",x:t.x,y:t.y,width:t.width,height:t.height}}function iq(e){return(e?.frames??[]).map(e=>iH(e.elementId,{...e.box,y:e.box.y-28,height:e.box.height+28}))}let iF="group-outline:";function iI(e){return e9([{x:e.x,y:e.y},{x:e.x+e.width,y:e.y},{x:e.x+e.width,y:e.y+e.height},{x:e.x,y:e.y+e.height},{x:e.x,y:e.y}])}function iU(e,t){return e.x>=t.x-.01&&e.x<=t.x+t.width+.01&&e.y>=t.y-.01&&e.y<=t.y+t.height+.01}function iO(e){return{type:"text",id:`label:${e.nodeId}`,containerId:e.id,x:e.x+e.width/2,y:e.y+e.height/2,text:e.label,fontSize:14,maxWidth:Math.max(1,e.width-36),...e.icon?{verticalAlign:"bottom"}:{}}}function iE(e){return{x:e.x+e.width/2,y:e.y+e.height/2}}function iX(e,t,a){let s=iE(e),l=iE(t),i=l.x-s.x,o=l.y-s.y,r=e.kind?.toLowerCase();if("LR"===a||"RL"===a)return i>=0?{sourceEdge:"right",targetEdge:"left"}:{sourceEdge:"left",targetEdge:"right"};if(o<0)return!(Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)>.01)&&Math.abs(i)>Math.abs(o)?{sourceEdge:i>0?"right":"left",targetEdge:"bottom"}:{sourceEdge:"top",targetEdge:"bottom"};let n="decision"===r&&o>e.height+96;return"decision"===r&&o>0&&(0!==i||n)?{sourceEdge:i<0?"left":"right",targetEdge:"top"}:o>0?{sourceEdge:"bottom",targetEdge:"top"}:Math.abs(i)>Math.abs(o)?i>0?{sourceEdge:"right",targetEdge:"left"}:{sourceEdge:"left",targetEdge:"right"}:{sourceEdge:"top",targetEdge:"bottom"}}function iY(e,t,a){return Math.min(a,Math.max(t,e))}function iZ(e,t,a=0){let s,l=(s="top"===t||"bottom"===t?e.width/2-16:e.height/2-16)>0?iY(a,-s,s):0,i=iE(e),o=e.width/2,r=e.height/2;if("diamond"===e.shape&&o>0&&r>0){if("top"===t||"bottom"===t){let e=i.x+l,a=r*(1-Math.abs(l)/o);return{x:e,y:"top"===t?i.y-a:i.y+a}}let e=i.y+l,a=o*(1-Math.abs(l)/r);return{x:"left"===t?i.x-a:i.x+a,y:e}}if(("ellipse"===e.shape||"circle"===e.shape)&&o>0&&r>0){if("top"===t||"bottom"===t){let e=i.x+l,a=r*Math.sqrt(Math.max(0,1-(l/o)**2));return{x:e,y:"top"===t?i.y-a:i.y+a}}let e=i.y+l,a=o*Math.sqrt(Math.max(0,1-(l/r)**2));return{x:"left"===t?i.x-a:i.x+a,y:e}}switch(t){case"top":return{x:e.x+e.width/2+l,y:e.y};case"right":return{x:e.x+e.width,y:e.y+e.height/2+l};case"bottom":return{x:e.x+e.width/2+l,y:e.y+e.height};case"left":return{x:e.x,y:e.y+e.height/2+l}}}function iG(e){return`${e.edgeId}:${e.endpoint}`}function iT(e,t){return`${e}:${t}`}function iD(e,t=!1){let a=new Map;for(let t of e){let e=iT(t.source.nodeId,t.sourceEdge),s=iT(t.target.nodeId,t.targetEdge);a.set(e,[...a.get(e)??[],{edgeId:t.edge.id,endpoint:"source",coordinate:"top"===t.sourceEdge||"bottom"===t.sourceEdge?iE(t.target).x:iE(t.target).y}]),a.set(s,[...a.get(s)??[],{edgeId:t.edge.id,endpoint:"target",coordinate:"top"===t.targetEdge||"bottom"===t.targetEdge?iE(t.source).x:iE(t.source).y}])}let s=new Map;for(let l of a.values()){let a=l.filter(e=>"source"===e.endpoint),i=a.map(t=>e.find(e=>e.edge.id===t.edgeId)).filter(e=>e.edge.label),o=a.length>1&&i.length>0&&("decision"!==i[0].source.kind||t&&i.length>1)?Math.max(18,...i.map(e=>{let t=on(e.edge.label);return("top"===e.sourceEdge||"bottom"===e.sourceEdge?t.width:t.height)+24})):18;l.sort((e,t)=>e.coordinate-t.coordinate).forEach((e,t)=>{s.set(iG(e),(t-(l.length-1)/2)*18*o/18)})}return s}let iR={top:"bottom",right:"left",bottom:"top",left:"right"},ij={top:{x:0,y:-1},right:{x:1,y:0},bottom:{x:0,y:1},left:{x:-1,y:0}};function i$(e){return"source"===e.endpoint?e.route.sourceEdge:e.route.targetEdge}function iN(e){return"top"===e||"bottom"===e?"x":"y"}function iW(e,t){return("x"===iN(t)?e.width:e.height)/2-16}function iJ(e,t){return"source"===e.endpoint?oi(e.route,t,36):ol(e.route.target,t,e.route.targetEdge,36)}let iK={desired:0,high:1/0,low:-1/0,priority:0};function iQ(e,t){let{edge:a,source:s,sourceEdge:l,target:i,targetEdge:o}=e;return{start:iZ(s,l,t.get(iG({edgeId:a.id,endpoint:"source"}))??0),end:iZ(i,o,t.get(iG({edgeId:a.id,endpoint:"target"}))??0)}}function i1(e,t,a){let s=0,l=1;for(let[i,o]of[["x","width"],["y","height"]]){let r=a[i]+.01,n=a[i]+a[o]-.01,c=t[i]-e[i];if(.01>=Math.abs(c)){if(e[i]<=r||e[i]>=n)return!1}else{let t=(r-e[i])/c,a=(n-e[i])/c;s=Math.max(s,Math.min(t,a)),l=Math.min(l,Math.max(t,a))}}return s<l}function i0(e,t,a,s){let l=(a.x-iE(e).x)/(e.width/2),i=(a.y-iE(e).y)/(e.height/2),o="ellipse"===e.shape||"circle"===e.shape?{x:l/e.width,y:i/e.height}:"diamond"===e.shape?{x:Math.sign(l)/e.width,y:Math.sign(i)/e.height}:{x:"left"===t?-1:+("right"===t),y:"top"===t?-1:+("bottom"===t)};return(o.x*(s.x-a.x)+o.y*(s.y-a.y))/Math.hypot(o.x,o.y)>=-.01}function i2(e,t,a,s=!1){let l=new Map,i=iy(t),o="TB"===t.layout.direction||"BT"===t.layout.direction?["right","left","top","bottom"]:["bottom","top","left","right"],r=iD(e);for(let n of e.filter(e=>i.has(e.edge.id)||s&&(e=>{let{start:t,end:s}=iQ(e,r);return!i0(e.source,e.sourceEdge,t,s)||!i0(e.target,e.targetEdge,s,t)||a.some(a=>a!==e.source&&a!==e.target&&i1(t,s,a))})(e))){let s,c={sourceEdge:n.sourceEdge,targetEdge:n.targetEdge},d=iG({edgeId:n.edge.id,endpoint:"source"}),p=iG({edgeId:n.edge.id,endpoint:"target"}),g=[c,...o.map(e=>({sourceEdge:e,targetEdge:e})),...o.flatMap(e=>o.map(t=>({sourceEdge:e,targetEdge:t})))],h=[!1,!0].flatMap(e=>g.map(t=>({...t,spread:e}))),u=!1;for(let t of h){Object.assign(n,{sourceEdge:t.sourceEdge,targetEdge:t.targetEdge});let l=new Map(r),i=(e,a,s)=>{let i=("top"===a||"bottom"===a?e.width:e.height)/2-16;return t.spread?[l.get(s)??0,-i,i]:[l.get(s)??0]},o=i(n.source,n.sourceEdge,d),c=i(n.target,n.targetEdge,p);for(let i of o){for(let o of c){l.set(d,i),l.set(p,o);let{start:c,end:g}=iQ(n,l);if(!i0(n.source,n.sourceEdge,c,g)||!i0(n.target,n.targetEdge,g,c)||a.some(e=>e!==n.source&&e!==n.target&&i1(c,g,e))||e.some(e=>{if(e===n)return!1;let{start:t,end:a}=iQ(e,l);return[[n.source,c,e.source,t],[n.source,c,e.target,a],[n.target,g,e.source,t],[n.target,g,e.target,a]].some(([e,t,a,s])=>e===a&&.01>=Math.hypot(t.x-s.x,t.y-s.y))||function(e,t,a,s){let l=t.x-e.x,i=t.y-e.y,o=Math.hypot(l,i);if(o<=.01)return!1;let r=t=>Math.abs(l*(t.y-e.y)-i*(t.x-e.x))/o;if(r(a)>.01||r(s)>.01)return!1;let n=t=>((t.x-e.x)*l+(t.y-e.y)*i)/o,c=n(a),d=n(s);return Math.min(o,Math.max(c,d))-Math.max(0,Math.min(c,d))>.01}(c,g,t,a)}))continue;let h=od(e,l),f=h.find(e=>e.nodeId===`branch-label:${n.edge.id}`);if(!(f&&i1(c,g,f))&&(s??={sides:t,sourceOffset:i,targetOffset:o},!h.some(e=>e.nodeId!==`branch-label:${n.edge.id}`&&i1(c,g,e)))){r.set(d,i),r.set(p,o),u=!0;break}}if(u)break}if(u)break}if(u||i.has(n.edge.id)){if(!u)if(Object.assign(n,s?.sides??c),s)r.set(d,s.sourceOffset),r.set(p,s.targetOffset);else{let e="TB"===t.layout.direction||"BT"===t.layout.direction,s=e?"x":"y",i=e?"width":"height",o=iE(n.source)[s],r=Math.max(...a.flatMap(e=>[Math.abs(e[s]-o),Math.abs(e[s]+e[i]-o)]));l.set(n.source.nodeId,{width:n.source.width,height:n.source.height,[i]:2*(r+16+18)})}}else Object.assign(n,s?.sides??c),s&&(r.set(d,s.sourceOffset),r.set(p,s.targetOffset))}return{offsets:r,minimumSizes:l}}function i3(e){let t=[];for(let a of e){let e=t[t.length-1];e&&e.x===a.x&&e.y===a.y||t.push(a)}let a=t[0];return a?[a,...t.slice(1)]:[{x:0,y:0}]}function i5(e,t){return e.x>=t.x&&e.x<=t.x+t.width&&e.y>=t.y&&e.y<=t.y+t.height}function i4(e,t,a){let s=0;for(let[l,i]of e9(e).entries())for(let o of t)!(a.has(o.nodeId)&&(0===l&&i5(e[0],o)||l===e.length-2&&i5(e.at(-1),o)))&&ta(i,o)&&(s+=1);return s}function i6(e){return e9(e.points).map(t=>({...t,arrowId:e.arrowId,startBindingId:e.sourceNodeId,endBindingId:e.targetNodeId}))}function i7(e){return e.flatMap(e=>i6({arrowId:e.id,points:e.points,sourceNodeId:e.sourceNodeId,targetNodeId:e.targetNodeId}))}function i8(e,t,a){let s=i6({arrowId:`edge:${a.edge.id}`,points:e,sourceNodeId:a.edge.source,targetNodeId:a.edge.target}),l=0;for(let e of s)for(let a of t)e.arrowId!==a.arrowId&&tt(e,a)&&(l+=1);return l}function i9(e,t){let a=i6({arrowId:`edge:${t.edge.id}`,points:e,sourceNodeId:t.edge.source,targetNodeId:t.edge.target}),s=0;for(let e=0;e<a.length;e+=1){let t=a[e];if(t)for(let l=e+1;l<a.length;l+=1){let e=a[l];e&&tt(t,e)&&(s+=1)}}return s}function oe(e,t,a){switch(a){case"top":return t.x===e.x&&e.y-t.y>=36;case"right":return t.y===e.y&&t.x-e.x>=36;case"bottom":return t.x===e.x&&t.y-e.y>=36;case"left":return t.y===e.y&&e.x-t.x>=36}}function ot(e,t,a){switch(t){case"top":return{x:e.x,y:e.y-a};case"right":return{x:e.x+a,y:e.y};case"bottom":return{x:e.x,y:e.y+a};case"left":return{x:e.x-a,y:e.y}}}function oa(e,t){return 0===t.length?0:e9(e).filter(e=>t.some(t=>t.orientation===e.orientation&&8>Math.abs(t.staticCoordinate-e.staticCoordinate)&&te(t,e)>8)).length}function os(e,t,a,s,l){let i=e[0];if(!i)return[{x:0,y:0}];let o=e=>{let i,o,r,n,c,d=l.quality?.({id:`edge:${s.edge.id}`,points:e,sourceId:s.edge.source,targetId:s.edge.target})??{arrowheadsCrossed:0,corridors:0,jogs:0};return[-(i=e[0],o=e[1],r=e[e.length-1],n=e[e.length-2],c=0,o&&oe(i,o,s.sourceEdge)&&(c+=1),n&&r&&oe(r,n,s.targetEdge)&&(c+=1),c),i4(e,t,a),i9(e,s),i8(e,l.segments,s),oa(e,l.outlines),d.corridors,d.arrowheadsCrossed,function(e){let t=e[0],a=e[e.length-1];if(!t||!a)return 0;let s=e.map(e=>e.x),l=e.map(e=>e.y),i=0;return a.x<t.x?i+=Math.max(0,Math.max(...s)-t.x):a.x>t.x&&(i+=Math.max(0,t.x-Math.min(...s))),a.y<t.y?i+=Math.max(0,Math.max(...l)-t.y):a.y>t.y&&(i+=Math.max(0,t.y-Math.min(...l))),i}(e),function(e){let t=e[0],a=e[e.length-1];if(!t||!a)return 0;let s=e.map(e=>e.x),l=e.map(e=>e.y),i=0;return a.x<t.x?i+=Math.max(0,a.x-Math.min(...s)):a.x>t.x&&(i+=Math.max(0,Math.max(...s)-a.x)),a.y<t.y?i+=Math.max(0,a.y-Math.min(...l)):a.y>t.y&&(i+=Math.max(0,Math.max(...l)-a.y)),i}(e),d.jogs,function(e){let t=0;for(let a=0;a<e.length-1;a+=1){let s=e[a],l=e[a+1];s&&l&&(t+=Math.abs(l.x-s.x)+Math.abs(l.y-s.y))}return t}(e),l.quality?e9(e).filter((e,t,a)=>t>0&&e.orientation!==a[t-1].orientation).length:0]},r=(e,t)=>{for(let a=0;a<e.length;a+=1){let s=(e[a]??0)-(t[a]??0);if(0!==s)return s<0}return!1},n=i,c=o(i);for(let t of e.slice(1)){let e=o(t);r(e,c)&&(n=t,c=e)}return n}function ol(e,t,a,s){switch(a){case"left":return s+t.x-e.x;case"right":return s+e.x+e.width-t.x;case"top":return s+t.y-e.y;case"bottom":return s+e.y+e.height-t.y}}function oi(e,t,a){let s=e.edge.label?"left"===e.sourceEdge||"right"===e.sourceEdge?on(e.edge.label,"decision"===e.source.kind).width+16:Math.max(40,on(e.edge.label,"decision"===e.source.kind).height+24):0;return ol(e.source,t,e.sourceEdge,Math.max(a,s))}function oo(e,t,a=!1){let s="TB"===t||"BT"===t;if(!s&&!a)return;let l=s?"x":"y",i=s?"y":"x",[o,r]=s?["left","right"]:["top","bottom"],n="TB"===t?"bottom":"BT"===t?"top":"LR"===t?"right":"left";for(let t of new Set(e.filter(e=>"decision"===e.source.kind).map(e=>e.source))){let a=e.filter(e=>e.source===t).sort((e,t)=>iE(e.target)[l]-iE(t.target)[l]||iE(e.target)[i]-iE(t.target)[i]||e.index-t.index);a.length<2||a.forEach((e,s)=>{let c=a.filter(e=>1>Math.abs(iE(e.target)[l]-iE(t)[l])).sort((e,a)=>Math.abs(iE(e.target)[i]-iE(t)[i])-Math.abs(iE(a.target)[i]-iE(t)[i]))[0],d=2===a.length&&e===c,p=2===a.length&&void 0!==c&&!d;e.sourceEdge=d?n:p?iE(e.target)[l]<iE(t)[l]?o:r:0===s?o:s===a.length-1?r:n})}}function or(e,t){let a=eX(e,t,13);return{width:eO(a,13,t),height:Math.ceil(13*a.split("\n").length*1.35)}}function on(e,t=!1){return or(e,t?80:160)}function oc(e,t){let a=ot(t,e.sourceEdge,oi(e,t,36)),s="left"===e.sourceEdge||"right"===e.sourceEdge;return{x:(t.x+a.x)/2+(s?0:on(e.edge.label??"","decision"===e.source.kind).width/2+8),y:(t.y+a.y)/2-(s?on(e.edge.label??"","decision"===e.source.kind).height/2+5:0)}}function od(e,t){return e.filter(e=>e.edge.label).map(e=>{let a=iZ(e.source,e.sourceEdge,t.get(iG({edgeId:e.edge.id,endpoint:"source"}))??0),s=oc(e,a),l=on(e.edge.label,"decision"===e.source.kind),i=l.width+12;return{...e.source,id:`branch-label:${e.edge.id}`,nodeId:`branch-label:${e.edge.id}`,x:s.x-i/2,y:s.y-l.height/2-4,width:i,height:l.height+8,shape:"rectangle"}})}function op(e,t){return{x:e.x-t.width/2,y:e.y-t.height/2,width:t.width,height:t.height}}function og(e,t){return e.x<t.x+t.width&&t.x<e.x+e.width&&e.y<t.y+t.height&&t.y<e.y+e.height}function oh(e,t){return{x:e.x-t,y:e.y-t,width:e.width+2*t,height:e.height+2*t}}function ou(e,t,a,s){let l=[],i=e.map(e=>e9(e.points)),o=[...a,...(s?.frames??[]).map(e=>iH(`group-label:${e.id}`,e.labelBox))],r=(s?.frames??[]).flatMap(e=>iI(e.box)),n=[],c=e.map((e,a)=>e.label?on(e.label,t[a]?.source.kind==="decision"):void 0),d=e.map((e,a)=>e.label?oc(t[a],e.points[0]):void 0);for(let[t,a]of e.entries()){let e=c[t],s=d[t];if(!e||!s)continue;let l=d.flatMap((e,a)=>e&&a!==t&&!n.some(e=>e.index===a)?[op(e,c[a])]:[]),p=a=>(function(e,t,a,s,l){let i=oh(e,3),o=oh(e,8);return t.filter(e=>ta(e,i)).length+a.filter(e=>ta(e,o)).length+s.filter(t=>(function(e,t){let[a,s]=[t.x+t.width/2,t.y+t.height/2],l=Math.max(e.x,Math.min(a,e.x+e.width))-a,i=Math.max(e.y,Math.min(s,e.y+e.height))-s,[o,r]=[Math.abs(l)/(t.width/2),Math.abs(i)/(t.height/2)];return"diamond"===t.shape?o+r<1:"ellipse"===t.shape||"circle"===t.shape?o*o+r*r<1:o<1&&r<1})(e,t)).length+l.filter(e=>og(i,e)).length})(op(a,e),i[t],[...i.flatMap((e,a)=>a===t?[]:e),...r],o,[...l,...n.map(e=>e.box)]),g=s;if(p(s)>0){let t=p(s);for(let s of function(e,t){let a=[],s=0;for(let l of e9(e)){if(s>240)break;let i=e[l.segmentIndex],o=e[l.segmentIndex+1],r=l.max-l.min,n="horizontal"===l.orientation,c=n?t.width/2+4:t.height/2+4;for(let e=Math.min(c,r/2);e<=r-Math.min(c,r/2)&&!(s+e>240);e+=12){let s=e/r,l={x:i.x+(o.x-i.x)*s,y:i.y+(o.y-i.y)*s};for(let e of[1,-1])a.push(n?{x:l.x,y:l.y-e*(t.height/2+5)}:{x:l.x+e*(t.width/2+8),y:l.y})}s+=r}return a}(a.points,e)){let e=p(s);if(e<t&&([g,t]=[s,e]),0===t)break}}d[t]=g,n.push({box:op(g,e),index:t})}for(let[a,s]of e.entries()){let i=d[a];if(!s.label||!i)continue;let o=[`branch:${s.edgeId}`];l.push({type:"text",id:`${s.id}:label`,text:s.label,fontSize:13,x:i.x,y:i.y,maxWidth:t[a]?.source.kind==="decision"?80:160,groupIds:o}),e[a]={...s,groupIds:o}}return l}function of(e,t){let a=new Map([["horizontal",[]],["vertical",[]]]);for(let t of e)a.get(t.orientation).push(t);for(let e of a.values())e.sort((e,t)=>e.staticCoordinate-t.staticCoordinate);return(e,s)=>{let l=a.get(e.orientation),i=Math.max(t,.02),o=0,r=l.length;for(;o<r;){let t=o+r>>1;l[t].staticCoordinate<e.staticCoordinate-i?o=t+1:r=t}let n=0,c=0;for(let a=o;a<l.length&&l[a].staticCoordinate<=e.staticCoordinate+i;a+=1){let i=l[a];i.arrowId!==s&&(tt(e,i)?n+=1:Math.abs(i.staticCoordinate-e.staticCoordinate)<t&&te(e,i)>.01&&(c+=1))}return{beside:c,overlaps:n}}}function ov(e,t,a,s,l,i=e.map((e,t)=>t)){var o;let r=od(e,a),n="orthogonal"===t?e.flatMap(e=>{let{start:t,end:s}=iQ(e,a),l={type:"arrow",id:`edge:${e.edge.id}`,edgeId:e.edge.id,sourceNodeId:e.edge.source,targetNodeId:e.edge.target};return[{...l,endArrowhead:null,points:[t,ot(t,e.sourceEdge,oi(e,t,36))]},{...l,points:[ot(s,e.targetEdge,ol(e.target,s,e.targetEdge,36)),s]}]}):[],c=(o=l.groups,(o?.frames??[]).map(e=>{let{x:t,y:a,width:s,height:l}=e.box;return{type:"arrow",id:`${iF}${e.id}`,edgeId:`${iF}${e.id}`,sourceNodeId:"",targetNodeId:"",endArrowhead:null,points:[{x:t,y:a},{x:t+s,y:a},{x:t+s,y:a+l},{x:t,y:a+l},{x:t,y:a}]}})),d=[];for(let o of i.map(t=>e[t]))d.push(function(e,t,a,s,l,i){let{edge:o}=e,{start:r,end:n}=iQ(e,a),c="orthogonal"===t?function(e,t,a,s,l,{readerScale:i,guided:o,bandOf:r}){let n=Math.abs(a.x-t.x)>=Math.abs(a.y-t.y),c=new Set([e.source.nodeId,e.target.nodeId]),d=r?.get(e.source.nodeId),p=void 0===d?s:s.filter(e=>r.get(e.nodeId)===d),g=Math.min(...p.map(e=>e.x)),h=Math.max(...p.map(e=>e.x+e.width)),u=Math.min(...p.map(e=>e.y)),f=Math.max(...p.map(e=>e.y+e.height)),v="left"===e.sourceEdge||"left"===e.targetEdge||iE(e.target).x<iE(e.source).x,m=iE(e.target).y<iE(e.source).y,y=18*e.index,w=g-56-y,x=h+56+y,b=u-48-y,k=f+48+y,M=e.index%4*18/2,C=Math.min(e.source.x,e.target.x)-56-M,z=Math.max(e.source.x+e.source.width,e.target.x+e.target.width)+56+M,_=Math.min(e.source.y,e.target.y)-48-M,L=Math.max(e.source.y+e.source.height,e.target.y+e.target.height)+48+M,B=36+e.index%4*18,A=void 0===i?[B]:[...new Set([B,36])],P=(s,l)=>{let i=l>0?ot(t,e.sourceEdge,oi(e,t,36)):t,o=l>0?ot(a,e.targetEdge,ol(e.target,a,e.targetEdge,l)):a;return i3([t,i,{x:s,y:i.y},{x:s,y:o.y},o,a])},S=(s,l)=>{let i=l>0?ot(t,e.sourceEdge,oi(e,t,36)):t,o=l>0?ot(a,e.targetEdge,ol(e.target,a,e.targetEdge,l)):a;return i3([t,i,{x:i.x,y:s},{x:o.x,y:s},o,a])},V=[[m?_:L,S],[m?L:_,S],[m?b:k,S],[m?k:b,S]],H=[[v?C:z,P],[v?z:C,P],[v?w:x,P],[v?x:w,P]],[q,F]=n?[V,H]:[H,V],I=[...q.slice(0,2),...F.slice(0,2),...q.slice(2),...F.slice(2)],U=ot(t,e.sourceEdge,oi(e,t,36)),O=ot(a,e.targetEdge,ol(e.target,a,e.targetEdge,36)),E=[...void 0===e.lane?[]:A.map(t=>"top"===e.sourceEdge||"bottom"===e.sourceEdge?P(e.lane,t):S(e.lane,t)),i3([t,a]),i3([t,U,{x:U.x,y:O.y},O,a]),i3([t,U,{x:O.x,y:U.y},O,a]),...I.flatMap(([e,t])=>A.map(a=>t(e,a)))],X={...void 0===i?{}:{quality:tw(l.map(e=>({id:e.id,points:e.points,sourceId:e.sourceNodeId,targetId:e.targetNodeId,endArrowhead:null!==e.endArrowhead})),i)},outlines:i7(l.filter(e=>e.id.startsWith(iF))),segments:i7(l)},Y=os(E,s,c,e,X),Z=void 0===i?0:24/i,G=Z?os([Y,...function(e,t,a,s){let l=`edge:${a.edge.id}`,i=[];for(let a of e9(e))if(!a.isFirstSegment&&!a.isLastSegment){for(let o of t)if(!(o.arrowId===l||o.orientation!==a.orientation||Math.abs(o.staticCoordinate-a.staticCoordinate)>=s||.01>=te(a,o)))for(let t of[o.staticCoordinate-s-1,o.staticCoordinate+s+1]){let s=e.map((e,s)=>s===a.segmentIndex||s===a.segmentIndex+1?"horizontal"===a.orientation?{x:e.x,y:t}:{x:t,y:e.y}:e);i.push(i3(s))}}return i}(Y,X.segments,e,Z)],s,c,e,X):Y,T=i4(G,s,c)||i9(G,e)||i8(G,X.segments,e)||oa(G,X.outlines);if(T||X.quality?.({id:`edge:${e.edge.id}`,points:G,sourceId:e.edge.source,targetId:e.edge.target}).corridors){let i=function(e,t,a,s,l,i,o,r,n,c=0,d=1/0,p=!0){let g,h,u,f,v=e=>[...new Set([18,Math.max(18,c+1)])].flatMap(t=>[e-t,e+t]),m=[...new Set([a.x,s.x,...l.flatMap(e=>[e.x-18,e.x+e.width+18]),...o.flatMap(e=>e.points.flatMap(e=>v(e.x)))])].sort((e,t)=>e-t),y=[...new Set([a.y,s.y,...l.flatMap(e=>[e.y-18,e.y+e.height+18]),...o.flatMap(e=>e.points.flatMap(e=>v(e.y)))])].sort((e,t)=>e-t),w=(e,t,a)=>(e*y.length+t)*2+a,x=`edge:${i.edge.id}`,b=of(r,c),k=n.length>0?of(n,8):void 0,M=[...e9([e,a]),...e9([s,t])],C=(e,t)=>p?Math.abs(m[e]-s.x)+Math.abs(y[t]-s.y):0,z=m.indexOf(a.x),_=y.indexOf(a.y),L={x:z,y:_,axis:+(e.x===a.x),cost:0,estimate:C(z,_)},B=(g=[],h=0,u=(e,t)=>e.item.estimate<t.item.estimate||e.item.estimate===t.item.estimate&&e.order>t.order,f=(e,t)=>{[g[e],g[t]]=[g[t],g[e]]},{get size(){return g.length},push(e){g.push({item:e,order:h++});for(let e=g.length-1;e>0;){let t=e-1>>1;if(!u(g[e],g[t]))break;f(e,t),e=t}},pop(){let e=g[0],t=g.pop();if(g.length>0){g[0]=t;for(let e=0;;){let t=2*e+1,a=t+1,s=e;if(t<g.length&&u(g[t],g[s])&&(s=t),a<g.length&&u(g[a],g[s])&&(s=a),s===e)break;f(e,s),e=s}}return e.item}});B.push(L);let A=new Map([[w(L.x,L.y,L.axis),0]]),P=new Map;for(let a=0;B.size&&a<d;a+=1){let a=B.pop();if(a.cost!==A.get(w(a.x,a.y,a.axis)))continue;let i={x:m[a.x],y:y[a.y]};if(i.x===s.x&&i.y===s.y){let s=[];for(let e=a;e;e=e.previous)s.unshift({x:m[e.x],y:y[e.y]});return i3([e,...s.filter((e,t)=>0===t||t===s.length-1||(s[t-1].x!==e.x||e.x!==s[t+1].x)&&(s[t-1].y!==e.y||e.y!==s[t+1].y)),t])}for(let[e,t,s]of[[-1,0,0],[1,0,0],[0,-1,1],[0,1,1]]){let o=a.x+e,r=a.y+t;if(o<0||r<0||o>=m.length||r>=y.length)continue;let n={x:m[o],y:y[r]},c=(Math.min(o,a.x)*y.length+Math.min(r,a.y))*2+s;if(!P.has(c)){let e=e9([i,n],0)[0],t=e9([i,n])[0],{beside:a,overlaps:s}=t?b(t,x):{beside:0,overlaps:0},o=t&&k?k(t,x):void 0;P.set(c,l.some(t=>ta(e,t))||M.some(t=>tt(e,t))?void 0:Math.abs(n.x-i.x)+Math.abs(n.y-i.y)+1e4*s+1e3*a+(o?(o.beside+o.overlaps)*1e3:0))}let d=P.get(c);if(void 0===d)continue;let p=a.cost+d+24*(s!==a.axis),g=w(o,r,s);p>=(A.get(g)??1/0)||(A.set(g,p),B.push({x:o,y:r,axis:s,cost:p,estimate:p+C(o,r),previous:a}))}}}(t,a,U,O,s,e,l,X.segments,X.outlines,T?0:Z,T?1/0:5e3,o);if(i)return os([G,i],s,c,e,X)}return G}(e,r,n,s,l,i):i3([r,n]);return{type:"arrow",id:`edge:${o.id}`,edgeId:o.id,sourceNodeId:o.source,targetNodeId:o.target,points:c,...o.label?{label:o.label}:{}}}(o,t,a,[...s,...r.filter(e=>e.nodeId!==`branch-label:${o.edge.id}`),...function(e,t){if(!e)return[];let a=e.groupOf.get(t.source.nodeId),s=e.groupOf.get(t.target.nodeId);return e.frames.flatMap(e=>{let t=iH(`group-label:${e.id}`,e.labelBox);if(e.id===a&&e.id===s){let{x:a,y:s,width:l,height:i}=e.box;return[t,iH(`group-wall:${e.id}:top`,{x:a-4,y:s-4,width:l+8,height:4}),iH(`group-wall:${e.id}:bottom`,{x:a-4,y:s+i,width:l+8,height:4}),iH(`group-wall:${e.id}:left`,{x:a-4,y:s-4,width:4,height:i+8}),iH(`group-wall:${e.id}:right`,{x:a+l,y:s-4,width:4,height:i+8})]}return e.id===a||e.id===s?[t]:[t,iH(e.elementId,e.box)]})}(l.groups,o)],[...c,...n,...d],l));return e.map(e=>d.find(t=>t.edgeId===e.edge.id))}function om(e,t,a,s,l){let i=iy(a),o=new Set(e.flatMap(e=>[iT(e.source.nodeId,e.sourceEdge),iT(e.target.nodeId,e.targetEdge)])),r=[];for(let[a,n]of t.entries()){let c=e[a];if(i.has(c.edge.id)||!("hooked"===l?ty([{id:n.id,points:n.points}],s).some(e=>"endpoint-jog"===e.kind&&"end"===e.endpoint):t.some(e=>e!==n&&o_(n.points,e.points,n.points.length-3)>0)))continue;let d=e9(n.points),p=d.at(-1),g=d.findLast(e=>e.orientation!==p?.orientation);if(!p||!g)continue;let h=n.points[g.segmentIndex],u=n.points[g.segmentIndex+1],f="horizontal"===g.orientation?u.x>h.x?"left":"right":u.y>h.y?"top":"bottom";f===c.targetEdge||o.has(iT(c.target.nodeId,f))||(r.push({route:c,side:c.targetEdge}),o.add(iT(c.target.nodeId,f)),c.targetEdge=f)}return r}function oy(e,t,a){let s=e.flatMap(e=>e9(e.points).map(t=>{let a=e.points[t.segmentIndex],s=e.points[t.segmentIndex+1];return{...t,arrowId:e.id,startBindingId:e.sourceNodeId,endBindingId:e.targetNodeId,from:"horizontal"===t.orientation?a.x:a.y,to:"horizontal"===t.orientation?s.x:s.y}})),l=[];for(let[e,a]of s.entries()){for(let t of s.slice(e+1)){if(a.arrowId===t.arrowId||!tt(a,t))continue;let e=a.isFirstSegment&&t.isFirstSegment&&a.startBindingId===t.startBindingId;ts(a,t)&&.01>=Math.abs((e?a.from:a.to)-(e?t.from:t.to))&&Math.sign(a.to-a.from)===Math.sign(t.to-t.from)||l.push([a.arrowId,t.arrowId])}for(let e of t)e.nodeId!==a.startBindingId&&e.nodeId!==a.endBindingId&&ta(a,e)&&l.push([a.arrowId])}return a?[...l,...function(e,t){let a=[],s=t.frames.map(e=>iI(e.box));for(let l of e){let e=e9(l.points),i=t.groupOf.get(l.sourceNodeId),o=t.groupOf.get(l.targetNodeId);for(let[r,n]of t.frames.entries()){let t=n.id===i||n.id===o;(e.some(e=>ta(e,n.labelBox)||!t&&ta(e,n.box)||s[r].some(t=>t.orientation===e.orientation&&8>Math.abs(t.staticCoordinate-e.staticCoordinate)&&te(t,e)>8))||n.id===i&&n.id===o&&l.points.some(e=>!iU(e,n.box)))&&a.push([l.id])}}return a}(e,a)]:l}function ow(e){return e.flatMap(e=>{if("arrow"===e.type||"line"===e.type)return[...e.points];if("text"===e.type){if(e.containerId)return[];let t=(e.maxWidth??e.text.length)/2,a=e.text.split("\n").length*e.fontSize*1.35/2;return[{x:e.x-t,y:e.y-a},{x:e.x+t,y:e.y+a}]}return[{x:e.x,y:e.y},{x:e.x+e.width,y:e.y+e.height}]})}function ox(e,t,a){return{x:e.x+t,y:e.y+a}}let ob={ports:!1,reader:!1,sides:!1,repair:!1};function ok(e){let{edgeArrows:t,groups:a,nodeShapes:s,routedEdges:l}=e,i=new Set;if(!a)return i;let o=new Map(t.map(e=>[e.id,e]));for(let e of oy(t,s,a))for(let t of e){let e=o.get(t);for(let t of e?[e.sourceNodeId,e.targetNodeId]:[]){let e=a.groupOf.get(t);void 0!==e&&i.add(e)}}let r=ou([...t],l,s,a),n=a.frames.flatMap(e=>iI(e.box));for(let e of r){let t=o.get(e.id.slice(0,-6)),s=t?a.groupOf.get(t.sourceNodeId):void 0;if(void 0===s)continue;let l=op(e,or(e.text,e.maxWidth??160));(n.some(e=>ta(e,l))||a.frames.some(e=>og(l,e.labelBox)))&&i.add(s)}return i}function oM(e,t,a=iB){let s=oC(e,t,a,new Map);if(!s.groups)return s;let l=e=>oy(e.edgeArrows,e.nodeShapes,e.groups).length+ok(e).size,i=new Map,o=l(s);for(let r=0;r<3&&o>0;r+=1){let r=ok(s);if(0===r.size)break;let n=oC(e,t,a,i=new Map([...i,...[...r].map(e=>[e,(i.get(e)??0)+36])])),c=l(n);c<o&&([s,o]=[n,c])}return s}function oC(e,t,a,s){let l,i,o="orthogonal"===e.layout.edgeRouting,r=e=>t.ports?function(e,t,a=!1){let s=iD(e,t),l=new Map;for(let t of e)for(let e of["source","target"]){let a=iT(t[e].nodeId,"source"===e?t.sourceEdge:t.targetEdge);l.set(a,[...l.get(a)??[],{endpoint:e,key:iG({edgeId:t.edge.id,endpoint:e}),route:t}])}let i=[...l.values()].sort((e,t)=>t.length-e.length);for(let e=0;e<3;e+=1)for(let e of i){let i=i$(e[0]),o=e[0].route[e[0].endpoint],r=new Map(e.map(e=>[e,function(e,t,a){let s={endpoint:"source"===e.endpoint?"target":"source",key:iG({edgeId:e.route.edge.id,endpoint:"source"===e.endpoint?"target":"source"}),route:e.route},l=e.route[e.endpoint],i=i$(e),o=i$(s),r=iN(i),n=ij[i],c=iZ(l,i,t.get(e.key)??0),d=iZ(e.route[s.endpoint],o,t.get(s.key)??0),p=(d.x-c.x)*n.x+(d.y-c.y)*n.y;if(iN(o)!==r&&p>=iJ(e,c)){let e=ot(d,o,iJ(s,d)),t=ij[o][r],a=e[r]-iE(l)[r];return{desired:0,high:t<0?a:1/0,lane:t*p,low:t>0?a:-1/0,priority:1}}let g=(e,t)=>"rectangle"!==e.route[e.endpoint].shape&&a.get(iT(e.route[e.endpoint].nodeId,t))?.length===1,h=o===iR[i]&&p>0;if(g(e,i)&&!(h&&"target"===e.endpoint&&g(s,o)))return{desired:0,high:0,low:0,priority:2};let u=d[r]-iE(l)[r];return h&&Math.abs(u)<=iW(l,i)?{desired:u,high:u,low:u,priority:2}:iK}(e,s,l)])),n=function(e,t,a,s){let l=e=>{let t="source"===e.endpoint?"target":"source";if(!s)return iE(e.route[t])[iN(i$(e))];let l=e.route[t],i="source"===t?e.route.sourceEdge:e.route.targetEdge,o=iG({edgeId:e.route.edge.id,endpoint:t});return ot(iZ(l,i,a.get(o)??0),i,36)[iN(i$(e))]},i=[...e].sort((e,t)=>l(e)-l(t));for(let e of[1,-1]){let a=i.map((e,a)=>({index:a,lane:t.get(e).lane,slot:e})).filter(({lane:t})=>void 0!==t&&Math.sign(t)===e),s=[...a].sort((e,t)=>e.lane-t.lane);a.forEach(({index:e},t)=>{i[e]=s[t].slot})}return i}(e,r,s,a),c=n.filter(e=>"source"===e.endpoint),d=c.filter(e=>e.route.edge.label),p=c.length>1&&d.length>0&&("decision"!==d[0].route.source.kind||t&&d.length>1)?Math.max(...d.map(e=>{let t=on(e.route.edge.label);return("x"===iN(i)?t.width:t.height)+24})):0,g=function(e,t,a){let s=e.map((e,a)=>t.slice(0,a).reduce((e,t)=>e+t,0)),l=s.at(-1)??0;if(l>2*a)return s.map(e=>e-l/2);let i=e.map(()=>-1/0),o=e.map(()=>1/0),r=()=>{let e=i.map((e,t)=>Math.max(e-s[t],-a)),t=o.map((e,t)=>Math.min(e-s[t],a-l));for(let t=1;t<e.length;t+=1)e[t]=Math.max(e[t],e[t-1]);for(let e=t.length-2;e>=0;e-=1)t[e]=Math.min(t[e],t[e+1]);return{highs:t,lows:e}};for(let{index:t}of e.map((e,t)=>({index:t,priority:e.priority})).filter(({priority:e})=>e>0).sort((e,t)=>t.priority-e.priority||e.index-t.index)){i[t]=e[t].low,o[t]=e[t].high;let{highs:a,lows:s}=r();s.some((e,t)=>e>a[t]+.01)&&(i[t]=-1/0,o[t]=1/0)}let{highs:n,lows:c}=r();return(function(e,t,a){let s=[];for(let[l,i]of e.entries())for(s.push({count:1,high:a[l],low:t[l],sum:i,value:iY(i,t[l],Math.max(t[l],a[l]))});s.length>1&&s.at(-2).value>s.at(-1).value;){let e=s.pop(),t=s.at(-1);t.count+=e.count,t.sum+=e.sum,t.low=Math.max(t.low,e.low),t.high=Math.min(t.high,e.high),t.value=iY(t.sum/t.count,t.low,Math.max(t.low,t.high))}return s.flatMap(e=>Array(e.count).fill(e.value))})(e.map((e,t)=>e.desired-s[t]),c,n).map((e,t)=>e+s[t])}(n.map(e=>r.get(e)),n.slice(1).map((e,t)=>Math.max(p,"target"===e.endpoint||"target"===n[t].endpoint?36:18)),iW(o,i));n.forEach((e,t)=>s.set(e.key,g[t]))}return s}(e,t.repair,a.crossingRepair):iD(e,t.repair),{wrap:n}=a,{groups:c,nodes:d}=iV(e,new Map,new Map,a,s),{direction:p}=e.layout,g=e=>a.groupsAcross?c?.groupOf.get(e):void 0,h=e=>void 0===g(e)?p:iA[p],u=e=>void 0!==g(e.source)&&g(e.source)===g(e.target)?iA[p]:p,f=new Map(d.map(e=>[e.nodeId,e])),v=e.edges.map((e,t)=>(function(e,t,a,s,l=!1){let i=a.get(e.source),o=a.get(e.target);if(!i||!o)throw Error(`Cannot render edge "${e.id}" with unresolved nodes.`);let{sourceEdge:r,targetEdge:n}=l?{sourceEdge:iz[s],targetEdge:iR[iz[s]]}:iX(i,o,s);return{edge:e,index:t,source:i,sourceEdge:r,target:o,targetEdge:n}})(e,t,f,u(e),n.continuations.has(e.id))),m=o&&t.ports;for(let e of new Set(v.map(e=>h(e.source.nodeId))))oo(v.filter(t=>h(t.source.nodeId)===e),e,m);if(o)!function(e,t,a=()=>t.layout.direction){let s=iy(t);for(let t of e.filter(e=>s.has(e.edge.id))){let s=a(t),l="LR"===s||"RL"===s,i=l?iE(t.source).y<iE(t.target).y:iE(t.source).x<iE(t.target).x,o=[...l?i?["top","bottom"]:["bottom","top"]:i?["left","right"]:["right","left"],...l?["left","right"]:["top","bottom"]],r=new Set(e.filter(e=>e!==t&&e.source===t.target).map(e=>e.sourceEdge)),n=new Set(e.filter(e=>e!==t&&e.target===t.source).map(e=>e.targetEdge)),c=new Set(e.filter(e=>e!==t&&e.target===t.target).map(e=>e.targetEdge)),d=new Set(e.filter(e=>e!==t&&e.source===t.source).map(e=>e.sourceEdge)),p="decision"===t.source.kind?[t.sourceEdge,...o]:o;t.targetEdge=o.find(e=>!r.has(e)&&!c.has(e))??o.find(e=>!r.has(e))??t.targetEdge,t.sourceEdge=p.find(e=>!n.has(e)&&("decision"!==t.source.kind||!d.has(e))&&(t.source!==t.target||e!==t.targetEdge))??t.sourceEdge}}(v,e,e=>u(e.edge)),l=r(v),i=function(e,t){let a=new Map;for(let s of e)for(let e of["source","target"]){let l=s[e],i="source"===e?s.sourceEdge:s.targetEdge,o="top"===i||"bottom"===i?"width":"height",r=2*(16+Math.abs(t.get(iG({edgeId:s.edge.id,endpoint:e}))??0));if(r<=(a.get(l.nodeId)?.[o]??l[o]))continue;let n=a.get(l.nodeId)??{width:l.width,height:l.height};n[o]=r,a.set(l.nodeId,n)}return a}(v,l);else{let a=i2(v,e,d,t.repair);l=a.offsets,i=a.minimumSizes}let y=o&&(t.repair||c)?function(e,t){let a=new Map;for(let s of e){let{start:e,end:l}=iQ(s,t);for(let[t,i,o]of[[s.source,s.sourceEdge,oi(s,e,36)],[s.target,s.targetEdge,ol(s.target,l,s.targetEdge,36)]]){let r=ot(t===s.source?e:l,i,o),n="left"===i?t.x-r.x:"right"===i?r.x-t.x-t.width:"top"===i?t.y-r.y:r.y-t.y-t.height,c=iT(t.nodeId,i);a.set(c,Math.max(a.get(c)??0,n))}}return a}(v,l):new Map;if(i.size>0||y.size>0){({groups:c,nodes:d}=iV(e,i,y,a,s));let n=new Map(d.map(e=>[e.nodeId,e]));for(let t of v)t.source=n.get(t.source.nodeId),t.target=n.get(t.target.nodeId),o||Object.assign(t,iX(t.source,t.target,e.layout.direction));o?l=r(v):(oo(v,e.layout.direction,m),l=i2(v,e,d,t.repair).offsets)}var w=v,x=d,b=n;for(let e of w){if(!b.continuations.has(e.edge.id))continue;let t=b.bandOf.get(e.source.nodeId)??0,a="top"===e.sourceEdge||"bottom"===e.sourceEdge?"x":"y",s="x"===a?"width":"height",l=e=>x.filter(t=>(b.bandOf.get(t.nodeId)??0)===e);e.lane=(Math.max(...l(t).map(e=>e[a]+e[s]))+Math.min(...l(t+1).map(e=>e[a])))/2}let k=[...d,...iq(c)],M=td({width:Math.max(...k.map(e=>e.x+e.width))-Math.min(...k.map(e=>e.x)),height:Math.max(...k.map(e=>e.y+e.height))-Math.min(...k.map(e=>e.y))}),C={guided:t.repair,...t.reader?{readerScale:M}:{},...n.continuations.size>0?{bandOf:n.bandOf}:{},...c?{groups:c}:{}},z=ov(v,e.layout.edgeRouting,l,d,C);if(o&&t.sides){let t=om(v,z,e,M,"hooked");if(t.length>0){let e=r(v),a=ov(v,"orthogonal",e,d,C),[s,i]=[z,a].map(e=>{var t,a;let s;return t=d,a=c,s=ty(e.map(e=>({id:e.id,points:e.points,sourceId:e.sourceNodeId,targetId:e.targetNodeId})),M).length,{hard:oy(e,t,a).length,reader:s}});if(i.hard<=s.hard&&i.reader<s.reader)[z,l]=[a,e];else for(let{route:e,side:a}of t)e.targetEdge=a}let s=a.crossingRepair?om(v,z,e,M,"crossed"):[];if(s.length>0){let e=r(v),t=ov(v,"orthogonal",e,d,C);if(oy(t,d,c).length<=oy(z,d,c).length&&oA({edgeArrows:t,...c?{groups:c}:{},nodeShapes:d},{edgeArrows:z,...c?{groups:c}:{},nodeShapes:d},!0))[z,l]=[t,e];else for(let{route:e,side:t}of s)e.targetEdge=t}}return o&&t.repair&&(z=function(e,t,a,s,l){let i=oy(e,s,l.groups),o=t.map((e,t)=>t);for(let r=0;r<4&&i.length>0;r+=1){let r=e=>o.findIndex(a=>`edge:${t[a].edge.id}`===e),[n,c]=i[0],[d,p]=void 0===c?[0,r(n)]:[Math.min(r(n),r(c)),Math.max(r(n),r(c))];if(p<=d)break;let g=[...o];g.splice(d,0,...g.splice(p,1));let h=ov(t,"orthogonal",a,s,l,g),u=oy(h,s,l.groups);if(u.length>=i.length)break;[e,i,o]=[h,u,g]}return e}(z,v,l,d,C)),{edgeArrows:z,...c?{groups:c}:{},nodeShapes:d,routedEdges:v}}function oz(e,t,a=[]){let s=[...e.flatMap(e=>[{x:e.x,y:e.y},{x:e.x+e.width,y:e.y+e.height}]),...t.flatMap(e=>e.points),...a.flatMap(e=>{let{width:t,height:a}=or(e.text,e.maxWidth??160);return[{x:e.x-t/2,y:e.y-a/2},{x:e.x+t/2,y:e.y+a/2}]})];return{width:Math.max(...s.map(e=>e.x))-Math.min(...s.map(e=>e.x)),height:Math.max(...s.map(e=>e.y))-Math.min(...s.map(e=>e.y))}}function o_(e,t,a=0){let s=(e,t,a)=>e>Math.min(t,a)+.01&&e<Math.max(t,a)-.01,l=(e,t)=>.01>=Math.abs(e.y-t.y)&&Math.abs(e.x-t.x)>.01,i=(e,t)=>.01>=Math.abs(e.x-t.x)&&Math.abs(e.y-t.y)>.01,o=0;for(let r=Math.max(0,a);r<e.length-1;r+=1)for(let a=0;a<t.length-1;a+=1){let[n,c,d,p]=[e[r],e[r+1],t[a],t[a+1]],[g,h]=l(n,c)&&i(d,p)?[[n,c],[d,p]]:i(n,c)&&l(d,p)?[[d,p],[n,c]]:[];g&&h&&s(h[0].x,g[0].x,g[1].x)&&s(g[0].y,h[0].y,h[1].y)&&(o+=1)}return o}function oL(e){return e.reduce((t,a,s)=>t+e.slice(s+1).reduce((e,t)=>e+o_(a.points,t.points),0),0)}function oB(e,t){let a=td(oz(t,e)),s=e.map(e=>({id:e.id,points:e.points,sourceId:e.sourceNodeId,targetId:e.targetNodeId})),l=tw(s,a);return ty(s,a).length+s.filter(e=>l(e).arrowheadsCrossed>0).length}function oA(e,t,a=!1){let[s,l]=[e,t].map(e=>oL(e.edgeArrows)),[i,o]=[e,t].map(e=>{let{width:t,height:a}=oz([...e.nodeShapes,...iq(e.groups)],e.edgeArrows);return iP(t,a)});return(a?s<l:s<=l)&&(i<2.45||i<=o+.01)&&oB(e.edgeArrows,[...e.nodeShapes,...iq(e.groups)])<=oB(t.edgeArrows,[...t.nodeShapes,...iq(t.groups)])}function oP(e){var t;let a,s,i,o,r,n,c=H(l.svK(P,{errors:"all"})(e)),d=e=>[oy(e.edgeArrows,e.nodeShapes,e.groups).length,function(e,t){let a=new Map(t.map(e=>[e.nodeId,e])),s=0;for(let t of e)for(let[e,l,i]of[[t.sourceNodeId,t.points[0],t.points[1]],[t.targetNodeId,t.points.at(-1),t.points.at(-2)]]){let t=a.get(e);if(!t||!l||!i)continue;let o=(l.x+(i.x-l.x)*1e-4-iE(t).x)/(t.width/2),r=(l.y+(i.y-l.y)*1e-4-iE(t).y)/(t.height/2);("diamond"===t.shape?Math.abs(o)+Math.abs(r):"ellipse"===t.shape||"circle"===t.shape?Math.hypot(o,r):Math.max(Math.abs(o),Math.abs(r)))<1-1e-6&&(s+=1)}return s}(e.edgeArrows,e.nodeShapes)],p=(e,t)=>e[0]<t[0]||e[0]===t[0]&&e[1]<t[1],g="orthogonal"===c.layout.edgeRouting?[{ports:!0,reader:!0,sides:!0,repair:!0},{ports:!0,reader:!0,sides:!1,repair:!0},{ports:!0,reader:!1,sides:!1,repair:!0},{ports:!1,reader:!1,sides:!1,repair:!0},ob]:[{...ob,repair:!0},ob],h=(e=>{let[t,...a]=g,s=oM(c,t,e),l=d(s);for(let t of a){if(0===l[0]&&0===l[1])break;let a=oM(c,t,e),i=d(a);p(i,l)&&([s,l]=[a,i])}return{arrangement:e,defects:l,layout:s}})(iB),u=(e,t)=>{let a=oM(c,g[0],e),s=d(a);!p(h.defects,s)&&oA(a,h.layout,t)&&(h={arrangement:e,defects:s,layout:a})},f="orthogonal"===c.layout.edgeRouting,v=f&&c.edges.length<=24;v&&oL(h.layout.edgeArrows)>0&&u({...h.arrangement,crossingRepair:!0},!1),v&&oL(h.layout.edgeArrows)>0&&((r=ik(c))?[r.top,...r.groups.map(e=>e.diagram)]:[c]).some(e=>{let[t,a]=[!1,!0].map(t=>i_(e,new Map,new Map,t).rankMetrics.map(e=>e.shapes.map(e=>e.nodeId).join("\n")).join("\n\n"));return t!==a})&&u({...h.arrangement,reorder:!0},!0);let m=oz([...h.layout.nodeShapes,...iq(h.layout.groups)],h.layout.edgeArrows,[...ou([...h.layout.edgeArrows],h.layout.routedEdges,h.layout.nodeShapes,h.layout.groups)]),y="TB"===c.layout.direction||"BT"===c.layout.direction,[w,x]=y?[m.height,m.width]:[m.width,m.height],b=(w+40)/(x+40),k=28e3/(Math.max(w,x)+40),M=b>=4||b>=2.45&&(y?k<14:w>=1200),C=f&&M?function(e,t){let a;if("orthogonal"!==e.layout.edgeRouting||ik(e))return iL;let{feedbackEdges:s,gapAfter:l,rankByNodeId:i,rankMetrics:o}=i_(e,new Map,new Map,t),r="TB"===e.layout.direction||"BT"===e.layout.direction,n=(e,t)=>o.slice(e,t+1).reduce((e,t)=>e+t.depth,0)+l.slice(e,t).reduce((e,t)=>e+t,0),c=(e,t)=>Math.max(...o.slice(e,t+1).map(e=>e.breadth)),d=o.length-1,p=iP(n(0,d),c(0,d));if(o.length<5||n(0,d)<=c(0,d))return iL;let g=new Map(e.nodes.map(e=>[e.id,e.kind])),h=e=>i.get(e)??0,u=new Map;for(let[t,a]of o.entries()){let l=e.edges.filter(e=>Math.min(h(e.source),h(e.target))<=a.rank&&Math.max(h(e.source),h(e.target))>a.rank),[i]=l;1===l.length&&i&&!s.has(i.id)&&h(i.source)===a.rank&&h(i.target)===a.rank+1&&"decision"!==g.get(i.source)&&u.set(t,i.id)}let f=new Map(e.edges.map(e=>[e.id,e.label])),v=(e,t)=>{let a=f.get(u.get(t)??""),s=a?on(a):void 0,l=t===d?0:Math.max(36,s?r?Math.max(40,s.height+24):s.width+16:0);return n(e,t)+36*(e>0)+l},m=[...u.keys(),d].sort((e,t)=>e-t);for(let e=2;e<=Math.min(6,m.length);e+=1){let t=new Map;for(let e of m)e>=1&&e<d&&t.set(e,{ends:[e],longest:v(0,e),squares:v(0,e)**2});for(let a=2;a<=e;a+=1){let s=new Map;for(let l of m)if(a===e?l===d:l!==d)for(let[e,a]of[...t].reverse()){if(l<e+2)continue;let t=v(e+1,l),i={ends:[...a.ends,l],longest:Math.max(a.longest,t),squares:a.squares+t**2},o=s.get(l);(!o||i.longest<o.longest||i.longest===o.longest&&i.squares<o.squares)&&s.set(l,i)}t=s}let s=t.get(d);if(!s)continue;let l=[0,...s.ends.slice(0,-1).map(e=>e+1)].reduce((e,t,a)=>e+c(t,s.ends[a]),0)+(e-1)*144,i=iP(s.longest,l);if((!a||i<a.aspect)&&(a={aspect:i,ends:s.ends}),i<=2)break}if(!a||a.aspect>=p)return iL;let y=new Map,w=0;for(let[e,t]of o.entries()){for(let e of t.shapes)y.set(e.nodeId,w);a.ends.includes(e)&&e!==d&&(w+=1)}return{bandOf:y,continuations:new Set(a.ends.filter(e=>e!==d).map(e=>u.get(e)))}}(c,h.arrangement.reorder):iL;for(let e of v&&!h.arrangement.crossingRepair?[!0,!1]:[h.arrangement.crossingRepair]){if(0===C.continuations.size||h.arrangement.wrap===C)break;u({...h.arrangement,crossingRepair:e,wrap:C},!1)}let z=f&&M&&void 0!==ik(c);for(let e of v&&!h.arrangement.crossingRepair?[!0,!1]:[h.arrangement.crossingRepair]){if(!z||h.arrangement.groupsAcross)break;u({...h.arrangement,crossingRepair:e,groupsAcross:!0},!1)}let{layout:_}=h,{groups:L,routedEdges:B}=_,A=[..._.edgeArrows],S={arrows:A,frames:[],labels:[..._.nodeShapes.map(iO),...ou(A,B,_.nodeShapes,L)],nodes:_.nodeShapes},{arrows:V,frames:q,labels:F,nodes:I}=L?function(e,t){let a=new Map(e.frames.map(e=>[e.id,e])),s=t=>{let s=e.groupOf.get(t);return void 0===s?void 0:a.get(s)},l=new Map(t.labels.map(e=>[e.id,e])),i=new Map;for(let e of t.arrows){let t=s(e.sourceNodeId);if(!t||t!==s(e.targetNodeId))continue;let a=l.get(`${e.id}:label`),o=a?or(a.text,a.maxWidth??160):void 0;(!a||!o||[{x:a.x-o.width/2,y:a.y-o.height/2},{x:a.x+o.width/2,y:a.y+o.height/2}].every(e=>iU(e,t.box)))&&e.points.every(e=>iU(e,t.box))&&i.set(e.id,t.elementId)}let o=new Map(t.nodes.flatMap(e=>{let t=s(e.nodeId);return t?[[e.id,t.elementId]]:[]}));return{arrows:t.arrows.map(e=>{let t=i.get(e.id);return t?{...e,frameId:t}:e}),frames:e.frames.map(e=>({type:"frame",id:e.elementId,name:e.label,...e.box})),labels:t.labels.map(e=>{let t=e.containerId?o.get(e.containerId):i.get(e.id.slice(0,-6));return t?{...e,frameId:t}:e}),nodes:t.nodes.map(e=>{let t=o.get(e.id);return t?{...e,frameId:t}:e})}}(L,S):S,U=(i=Math.max(0,48-(s={x:Math.min(...(a=ow(t=[...q,...V,...I,...F])).map(e=>e.x)),y:Math.min(...a.map(e=>e.y))}).x),o=Math.max(0,48-s.y),0===i&&0===o?[...t]:t.map(e=>"arrow"===e.type?{...e,points:function(e,t,a){let[s,...l]=e;return[ox(s,t,a),...l.map(e=>ox(e,t,a))]}(e.points,i,o)}:"line"===e.type?{...e,points:function(e,t,a){let[s,l,...i]=e;return[ox(s,t,a),ox(l,t,a),...i.map(e=>ox(e,t,a))]}(e.points,i,o)}:{...e,x:e.x+i,y:e.y+o})),O={width:Math.max(...(n=ow(U)).map(e=>e.x))+48,height:Math.max(...n.map(e=>e.y))+48},E=[...q.map(e=>e.id),...I.map(e=>e.id),...F.map(e=>e.id),...V.map(e=>e.id)];return{kind:"canvas",version:1,diagramId:c.id,title:c.title,width:O.width,height:O.height,accentColor:c.style.accentColor,backgroundColor:c.style.backgroundColor,elements:U,layers:[],layouts:[],zOrder:E}}function oS(e,t){if(!t.nodeId.endsWith(ey)||t.id!==`node:${t.nodeId}`||"rectangle"!==t.shape||2!==t.width||t.height<120)return!1;let a=t.nodeId.slice(0,-ey.length);if(0===a.length)return!1;let s=e.elements.find(e=>"node"===e.type&&e.id===`node:${a}`&&e.nodeId===a);return!!s&&.01>=Math.abs(t.x+t.width/2-(s.x+s.width/2))&&t.y>=s.y+s.height-.01}var oV=a(664);a(3614);var oH=a(1594),oq=a(6297),oF=a(7258),oI=a(2275),oU=a(2860),oO=a(1554),oE=a(4233);let oX=i.Or("effect/Metric/CurrentMetricAttributes",{defaultValue:()=>({})}),oY=i.Or("effect/Metric/MetricRegistry",{defaultValue:()=>new Map}),oZ="~effect/Metric";class oG{[oZ]=oZ;#e;#t="";id;description;attributes;constructor(e,t,a){this.id=e,this.description=t,this.attributes=a}valueUnsafe(e){return this.hook(e).get(e)}modifyUnsafe(e,t){return this.hook(t).modify(e,t)}updateUnsafe(e,t){return this.hook(t).update(e,t)}hook(e){var t;let a,s=i.Jt(e,oX);s!==this.#e&&(this.#e=s,this.#t=(t=this,a=Object.entries(oJ(this.attributes,s)).sort((e,t)=>e[0]<t[0]?-1:+(e[0]>t[0])),JSON.stringify([t.type,t.id,t.description,a])));let l=i.Jt(e,oY),o=l.get(this.#t);return oE.b0(o)&&(o={id:this.id,type:this.type,description:this.description,attributes:Object.keys(s).length>0?oJ(this.attributes,s):this.attributes,hooks:this.createHooks()},l.set(this.#t,o)),o.hooks}pipe(){return(0,oO.tT)(this,arguments)}}let oT=BigInt(0);class oD extends oG{type="Counter";#a;#s;constructor(e,t){super(e,t?.description,oK(t?.attributes)),this.#a=t?.bigint??!1,this.#s=t?.incremental??!1}createHooks(){let e=this.#a?oT:0,t=this.#s?this.#a?e=>e>=oT:e=>e>=0:e=>!0;return oW(()=>({count:e,incremental:this.#s}),a=>{t(a)&&(e+=a)})}}class oR extends oG{type;metric;valueUnsafe;updateUnsafe;modifyUnsafe;constructor(e,t,a,s){super(e.id,e.description,e.attributes),this.metric=e,this.valueUnsafe=t,this.updateUnsafe=a,this.modifyUnsafe=s,this.type=e.type}createHooks(){return this.metric.createHooks()}}let oj=(e,t)=>new oD(e,t),o$=(0,oH.XY)(2,(e,t)=>oq.sxi(a=>oq.OH5(()=>e.updateUnsafe(t,a)))),oN=(0,oH.XY)(2,(e,t)=>{var a;let s,l,o=(a=t,l={},e=>{let t=i.Jt(e,oX);return t!==s&&(s=t,l=oJ(t,a)),i.WQ(e,oX,l)});return new oR(e,t=>e.valueUnsafe(o(t)),(t,a)=>e.updateUnsafe(t,o(a)),(t,a)=>e.modifyUnsafe(t,o(a)))});function oW(e,t,a){return{get:e,update:t,modify:a??t}}function oJ(e,t){return{...oK(e),...oK(t)}}function oK(e){return oE.EA(e)&&Array.isArray(e)?e.reduce((e,[t,a])=>(oI.x(e,t,a),e),{}):e}oF.F,oF.F,oH.MN;var oQ=a(1587),o1=(a(6526),a(719),a(2707));let o0=[["artifactId","sketchi.artifact_id"],["attemptId","sketchi.attempt_id"],["projectId","sketchi.project_id"],["requestId","sketchi.request_id"],["runId","sketchi.run_id"],["scenarioId","sketchi.scenario_id"],["traceId","sketchi.trace_id"]],o2=new Set(["artifact_count","artifact_format","artifact_kind","attempt","cache_mode","duration_ms","error_category","error_tag","failure_category","format_count","method","model","operation","outcome","provider","request_kind","retry_kind","sink","status","status_code","surface","timeout_kind","timeout_ms"]),o3=([...o0.map(([,e])=>e),...o2],{metric:()=>void 0}),o5=i.Or("@sketchi/observability/TelemetryExporter",{defaultValue:()=>o3}),o4=i.Or("@sketchi/observability/TelemetryCorrelation",{defaultValue:()=>({})});function o6(e){let t=e?.trim();if(t&&!(t.length>128)&&/^[A-Za-z0-9][A-Za-z0-9._:-]*$/.test(t))return t}function o7(e,t){return o.JkU(function*(){let a={...yield*o4,...function(e){let t={};for(let[a]of o0){let s=o6(e[a]);s&&(t[a]=s)}return t}(t)},s=function(e){let t={};for(let[a,s]of o0){let l=e[a];l&&(t[s]=l)}return t}(a);return yield*e.pipe(o.PfK(o4,a),o.Muk(s),o.swY(s))})}i.Or("@sketchi/observability/TelemetryResource",{defaultValue:()=>({serviceName:"sketchi"})});let o8=o.fn(function*(e,t,a={}){let s=function(e){let t={artifact_kind:e.artifactKind,failure_category:e.failureCategory,operation:e.operation,outcome:e.outcome,provider:e.provider,retry_kind:e.retryKind,sink:e.sink,surface:e.surface,timeout_kind:e.timeoutKind},a={};for(let[e,s]of Object.entries(t)){let t=o6(s);t&&(a[e]=t)}return a}(a);yield*o$(oN(e,s),t);let l=yield*o5,i=oQ.getOrUndefined((yield*o._32.pipe(o.uKv)));yield*o.OH5(()=>l.metric({attributes:s,metric:e.id,metricType:e.type,...i?{spanId:i.spanId,traceId:i.traceId}:{},value:t}))});o1.W1;var o9=a(9315),re=a(8713),rt=a(4733);let ra=new Set([...JSON.parse('["access","ace","active","addresses","administration","adobe","advanced","affinity","agent","agents","alloy","amazon","amp","analysis","analyzer","and","android","angular","apple","appliance","application","approvals","arc","armor","arrow","artifact","artifacts","asset","assist","assistant","assured","atom","audit","augment","authority","authorization","automatic","automation","autopilot","aware","axiom","azure","babel","balancing","bare","bash","basic","batch","bedrock","big","billing","binary","blitz","bolt","branching","brave","brunch","build","builder","business","c","capture","carbon","catalog","center","certificate","channel","checkpoints","chrome","chromium","cipher","clerk","cloud","code","codex","cohere","collaboration","command","composer","compute","computing","configuration","connect","connection","connectivity","connectors","console","contact","container","containers","context","contour","control","convex","copilot","core","crystal","cursor","custom","cypress","dart","dashboard","data","database","databases","db","debugger","default","deploy","deployed","deployment","design","designer","developer","director","directory","discovery","disk","distributed","document","dolphin","domains","dovetail","drizzle","early","edge","elastic","electron","elixir","ember","enforcement","engine","enterprise","error","expo","external","financial","firefly","firewall","fireworks","flask","fleet","flora","flow","flutter","flux","for","form","foundry","framer","frameworks","free","functions","fusion","game","gateway","generic","go","google","goose","graph","graphite","gulp","health","healthcare","home","hub","hybrid","hyper","hyperbolic","id","identity","ideogram","ids","illustrator","inception","inference","inflection","insights","insomnia","inspection","integration","intelligence","interconnect","inventory","jest","job","jobs","justifications","key","lab","labeling","lambda","language","launcher","layers","learning","legacy","less","linear","liquid","lit","load","local","lockup","logging","logic","logs","loss","lovable","lunacy","machine","machinery","magic","make","managed","management","manager","map","maps","marionette","markdown","marketing","marketplace","media","mesh","metal","migrate","migration","mixed","mobile","model","modeling","module","mongoose","monitoring","monocle","moonshot","motion","my","native","natural","neon","net","network","networking","next","nomad","notepad","notes","notion","nova","object","objective","obsidian","on","opera","operations","optimization","optimized","oracle","packaging","packer","palm","pandas","panel","partner","passport","patch","payload","performance","permissions","perplexity","persistent","phishing","phoenix","pipeline","platform","playwright","plus","poetry","policy","pool","portal","positron","postman","preferences","premium","preparation","presto","prettier","prevention","private","processing","producer","project","protection","protractor","providers","proxy","pulsar","puppeteer","putty","python","quantum","quasar","query","quiver","quotas","r","racket","rails","railway","rancher","react","real","reality","realm","recommendations","reflex","registry","release","render","replicate","reporting","resend","resource","restricted","retail","retention","rider","risk","router","routes","routing","ruby","rules","run","runway","rust","safari","sanity","sass","scanner","scheduler","search","secret","security","segment","selenium","sense","sentry","series","servers","service","services","sharp","shell","showcase","sketch","slack","slate","snowflake","solidity","solution","solutions","spanner","spark","speech","spring","stability","standard","stimulus","storage","storybook","stream","structured","studio","stylus","sublime","subversion","suite","support","swagger","swift","sync","systems","tables","tailwind","tasks","templates","test","text","threads","threat","tier","tiers","time","to","together","tomcat","tools","topology","trace","tracker","traffic","training","transfer","translation","trial","tutorials","twitter","type","types","typescript","unified","unity","unstructured","upgrade","upstage","user","vagrant","value","vapor","vault","vertex","video","view","vim","virtual","vision","visual","vortex","voyage","web","windsurf","wolfram","workbook","workflow","workflows","workload","workloads","workshop","world","yarn","yoga","zed"]'),"antigravity","api","dataflow","datastore","datastream","filestore","genomics","json","memorystore","meta","nitro","observability","onboarding","ontology","profiler","pubsub","pwa","remix","serverless","submodel","turbo"]),rs=/[A-Za-z0-9.+#]+/gu;function rl(e){return/[0-9.+#]/u.test(e)||e.length>=3&&!ra.has(e)}function ri(e){return e.trim().toLocaleLowerCase().replace(/\s+/gu," ")}function ro(e,t){return e.some(e=>ri(e).includes(t))}function rr(e,t){let a=ri(e.slug),s=ri(e.name),l=ri(e.collection),i=ri((0,rt.y)(e.collection));return a===t?0:s.startsWith(t)?1:ro(e.aliases,t)?2:a.includes(t)||s.includes(t)||ro(e.keywords,t)?3:l.includes(t)||i.includes(t)?4:null}let rn=new Set(["cloud-platforms","cloud-vendors"]);function rc(e){return e.toLocaleLowerCase().replace(/[^a-z0-9+#]/gu,"")}let rd=new WeakMap;class rp extends l.rNF()("CodeModeIconLoadError",{cause:l.kld(),message:l.QfV,slug:l.QfV}){}function rg(e){return{collection:e.collection,name:e.name,slug:e.slug}}function rh(e){let t=e.icons.filter(re.nC),a=new Map(t.map(e=>[e.slug,rg(e)]));return{get:e=>a.get(e),search:(e,a)=>(function(e,t={}){let a=ri(t.query??""),s=t.collection?.trim(),l=Math.max(0,t.limit??1/0),i=e.flatMap(e=>{if(s&&e.collection!==s)return[];let t=function(e,t){if(0===t.length)return 5;let a=rr(e,t);if(null!==a)return a;let s=t.split(/\s+/u);if(1===s.length)return null;let l=0;for(let t of s){let a=rr(e,t);if(null===a)return null;l=Math.max(l,a)}return l}(e,a);return null===t?[]:[{icon:e,rank:t}]}).sort((e,t)=>e.rank-t.rank||e.icon.name.localeCompare(t.icon.name)||e.icon.slug.localeCompare(t.icon.slug));return(i.length>0?i:function(e,t,a){let s=[...t.matchAll(rs)].map(([e])=>e.replace(/^\.+|\.+$/gu,"")).filter(Boolean).map(e=>e.toLocaleLowerCase()),l=function(e){let t=rd.get(e);if(t)return t;let a=new Map;for(let t of e)for(let e of new Set([t.slug,t.name,...t.aliases].map(rc))){if(!e)continue;let s=a.get(e)??[];s.push(t),a.set(e,s)}return rd.set(e,a),a}(e),i=new Map;for(let e=Math.min(4,s.length);e>0;e-=1)for(let t=0;t+e<=s.length;t+=1){let o=s.slice(t,t+e),r=o.some(rl);for(let s of l.get(rc(o.join("")))??[]){let l=rn.has(s.collection);if(i.has(s.slug)||!r&&!l||a&&s.collection!==a)continue;let n=rr(s,o.join(" "))??6;i.set(s.slug,{icon:s,length:e,start:t,termRank:n,vendor:l})}}return[...i.values()].sort((e,t)=>t.length-e.length||Number(e.vendor)-Number(t.vendor)||e.start-t.start||e.termRank-t.termRank||e.icon.name.localeCompare(t.icon.name)||e.icon.slug.localeCompare(t.icon.slug)).map(({icon:e})=>({icon:e,rank:6}))}(e,a,s)).slice(0,l)})(t,{limit:a,query:e}).map(({icon:e})=>rg(e)),loadSvg:e.loadSvg,slugLookup:e.slugLookup}}function ru(e){return tB(e).toLowerCase()}function rf(e){var t;let a;return{code:"unknown_icon",severity:"warning",stage:"input",...e.ref?{ref:e.ref}:{},message:e.message,hint:e.catalog?(a=function(e,t){let a=t.split(/[-_\s]+/u).filter(Boolean),s=new Set,l=[];for(let t of[a.join(" "),...a])if(t){for(let a of e.search(t,3))s.has(a.slug)||(s.add(a.slug),l.push(a));if(l.length>=3)break}return l.slice(0,3)}(t=e.catalog,e.slug)).length>0?`Use an exact slug, for example ${a.map(e=>`"${e.slug}" (${e.name})`).join(", ")}, or look one up with ${t.slugLookup}.`:`Look up an exact slug with ${t.slugLookup}, or omit icon.`:"This Sketchi runtime has no icon catalog; omit icon or retry on a host with logos."}}function rv(e,t,a={noun:"node",path:"nodes"}){let s=[],l=e.map(e=>{if(!e.icon)return e;let l=ru(e.icon.slug);if(u(l)&&t?.get(l))return{...e,icon:{slug:l}};s.push(rf({catalog:t,message:`Icon "${e.icon.slug}" on ${a.noun} "${e.id}" is not a Sketchi node logo; the ${a.noun} renders without a logo.`,ref:{kind:"node",id:e.id,path:`${a.path}.icon.slug`},slug:l}));let{icon:i,...o}=e;return o});return{issues:s,nodes:l}}let rm=o.fn("codeMode.icons.embedScene")(function*(e,t){let a=e.elements.map(e=>"node"===e.type&&e.icon?{...e,icon:{...e.icon,slug:ru(e.icon.slug)}}:e),s=new Map([...new Set(a.flatMap(e=>"node"===e.type&&e.icon?[e.icon.slug]:[]))].flatMap(e=>{let a=u(e)?t?.get(e):void 0;return a?[[e,a]]:[]})),l=new Map((yield*o.jJl([...s.values()],e=>t?t.loadSvg(e).pipe(o.TjK(e=>(0,re.Bn)(e)),o.TjK(t=>[e.slug,{name:e.name,svg:t}]),o.Tyx(t=>o.FFw("Code Mode icon asset unavailable",{slug:e.slug,cause:t}).pipe(o.as(void 0)))):o.PyW(void 0),{concurrency:8})).flatMap(e=>e?[e]:[])),i=function(e,t){let a=new Map,s=[],l=eK(e),i=eQ(e,l),o=0,r=e.elements.map((e,r)=>{if("node"!==e.type||!e.icon)return e;let n=e.icon,c=t=>(s.push({elementId:e.id,index:r,reason:t,slug:n.slug}),function(e){let{icon:t,...a}=e;return a}(e)),d=a.get(n.slug),p=d??(u(n.slug)?t(n.slug):void 0);if("string"!=typeof p?.svg||e$(p.svg)>eZ.maxAssetBytes)return c("unavailable");if(e.rendererRole)return c("lifeline");if("polygon"!==e.shape&&l(e)){let t=i.get(e.id)?.element;if(e1(e,t,n)&&!e1(e,t,void 0))return c("no_room")}if(!d){let e=e$(p.svg);if(o+e>eZ.maxTotalAssetBytes)return c("budget");o+=e,a.set(n.slug,{name:p.name,svg:p.svg})}return e}),{icons:n,...c}=e;return{dropped:s,scene:a.size>0?{...c,elements:r,icons:Object.fromEntries(a)}:{...c,elements:r}}}({...e,elements:a},e=>l.get(e));return{issues:i.dropped.map(e=>(function(e){let{dropped:t}=e,a={kind:"element",id:t.elementId,path:`elements[${t.index}].icon${"unavailable"===t.reason?".slug":""}`},s=`Icon "${t.slug}" on node "${t.elementId}"`;if("unavailable"===t.reason&&!e.known)return rf({catalog:e.catalog,message:`${s} is not a Sketchi node logo; the node renders without a logo.`,ref:a,slug:t.slug});let l=e.element?.type==="node"?eJ(e.element.icon):0,i={budget:{message:`${s} exceeds the per-diagram logo budget; the node renders without a logo.`,hint:"Use fewer distinct logos in one diagram."},lifeline:{message:`Sequence lifeline or activation "${t.elementId}" cannot carry a logo; the logo was dropped.`,hint:"Put logos on nodes or sequence participants, not on lifelines."},no_room:{message:`${s} does not fit above its label; the node renders without a logo.`,hint:`Make node "${t.elementId}" about ${l}px taller or shorten its label to keep the logo.`},unavailable:{message:`${s} could not be loaded; the node renders without a logo.`,hint:"Retry the request; if the logo stays unavailable, omit icon."}}[t.reason];return{code:"icon_dropped",severity:"warning",stage:"input",ref:a,message:i.message,hint:i.hint}})({catalog:t,dropped:e,element:a[e.index],known:s.has(e.slug)})),scene:i.scene}}),ry=/^(node|step|item|box|thing|process|task)\s*\d*$/i,rw=/^(diagram|untitled|flowchart|chart|sketch)$/i;function rx(e){return e.map(e=>({kind:"node",id:e.id}))}function rb(e){if(void 0===e)return;let t=tB(e);return t.length>0?t:void 0}let rk=["excalidraw","scene"],rM=["scene"],rC=oj("sketchi_codemode_requests",{description:"Code Mode boundary requests by terminal outcome",incremental:!0}),rz=oj("sketchi_codemode_failures",{description:"Code Mode boundary failures by typed status",incremental:!0}),r_=oj("sketchi_codemode_artifacts",{description:"Code Mode artifacts accepted at workflow boundaries",incremental:!0}),rL=new class e extends oG{type="Histogram";#l;constructor(e,t){super(e,t?.description,oK(t?.attributes)),this.#l=t.boundaries}createHooks(){let e=this.#l,t=e.length,a=new Uint32Array(t+1),s=new Float64Array(t),l=0,i=0,o=Number.MAX_VALUE,r=-Number.MAX_VALUE;return oV.Tj(oV.di(e,oU.wN),(e,t)=>{s[t]=e}),oW(()=>({buckets:(()=>{let e=oV.CN(t),l=0;for(let i=0;i<t;i++){let t=s[i];l+=a[i],e[i]=[t,l]}return e})(),count:l,min:o,max:r,sum:i}),e=>{let n=0,c=t;for(;n!==c;){let t=Math.floor(n+(c-n)/2);e<=s[t]?c=t:n=t,c===n+1&&(e<=s[n]?c=n:n=c)}a[n]=a[n]+1,l+=1,i+=e,e<o&&(o=e),e>r&&(r=e)})}}("sketchi_codemode_duration_ms",{description:"Code Mode boundary duration in milliseconds",boundaries:(s=[1,5,10,25,50,100,250,500,1e3,2500,5e3,1e4],oV.BC(oV.pb(new Set(s),e=>e>0),1/0))});class rB extends i.kl()("@sketchi/diagram-agent/CodeModeRuntimeEnvironment"){}function rA(e={}){return n.Py(rB,{createId:e.createId??rN,...e.icons?{icons:e.icons}:{},...e.renderer?{renderer:e.renderer}:{},...e.artifactUrl?{artifactUrl:e.artifactUrl}:{}})}function rP(e){return null===e||"object"!=typeof e||Array.isArray(e)?void 0:Object.fromEntries(Object.entries(e))}function rS(e){return{...e,type:"timeline"}}function rV(e){return{id:e.id,title:e.title,type:"sequence",participants:e.participants,messages:e.messages,style:e.style}}n.Py(rB,{createId:rN});let rH={sequence_too_large:"sequence_too_large",duplicate_participant_id:"duplicate_node_id",lifeline_id_collision:"duplicate_node_id",duplicate_message_id:"duplicate_edge_id",missing_message_source:"missing_edge_source",missing_message_target:"missing_edge_target",self_message:"self_loop"},rq={missing_message_source:"Use the id of a participant declared in spec.participants.",missing_message_target:"Use the id of a participant declared in spec.participants."};class rF extends l.rNF()("CodeModeArtifactRenderFailed",{cause:l.kld(),message:l.QfV}){}class rI extends l.rNF()("CodeModeArtifactRendererNotConfigured",{message:l.QfV}){}let rU=l._kM({issues:l.O31(l.O3D(ai)).pipe(l.fXn)});class rO extends l.rNF()("ArtifactExportFailure",{status:l.uSQ("export_failed"),issues:rU.fields.issues}){}class rE extends l.rNF()("ArtifactStorageFailure",{status:l.uSQ("storage_failed"),cause:l.kld(),issues:rU.fields.issues}){}function rX(e,t,a){class s extends l.rNF()(e,{message:l.QfV,status:t,context:a}){constructor(e){super({...e,message:e.context.issues[0]?.message??e.status},{disableChecks:!0})}}return s}let rY=rX("BuildFlowchartFailure",s4.fields.status,s4.mapFields(({ok:e,status:t,...a})=>({...a,...rU.fields}))),rZ=rX("BuildMindmapFailure",s7.fields.status,s7.mapFields(({ok:e,status:t,...a})=>({...a,...rU.fields}))),rG=rX("BuildSequenceDiagramFailure",s9.fields.status,s9.mapFields(({ok:e,status:t,...a})=>({...a,...rU.fields}))),rT=rX("BuildTimelineFailure",lt.fields.status,lt.mapFields(({ok:e,status:t,...a})=>({...a,...rU.fields}))),rD=rX("CreateCanvasFailure",lr.fields.status,lr.mapFields(({ok:e,status:t,...a})=>({...a,...rU.fields}))),rR=rX("GetArtifactFailure",ls.fields.status,ls.mapFields(({ok:e,status:t,...a})=>({...a,...rU.fields}))),rj=rX("SearchIconsFailure",lf.fields.status,lf.mapFields(({ok:e,status:t,...a})=>({...a,...rU.fields}))),r$=rX("ApplyDiagramPatchFailure",li.fields.status,li.mapFields(({ok:e,status:t,...a})=>({...a,...rU.fields})));function rN(e){return`${e}_${globalThis.crypto.randomUUID()}`}function rW(e){return{code:e.code,severity:e.severity??"error",stage:e.stage,...e.ref?{ref:e.ref}:{},message:e.message,hint:e.hint}}function rJ(e){return 0===e.length?"input":e.map(e=>"number"==typeof e?`[${e}]`:String(e)).join(".")}function rK(e){let t=rJ(e.path);return rQ(t)?"unsupported_patch_operation":"InvalidType"===e.issueTag||"MissingKey"===e.issueTag&&"invalid_type"===e.missingKeyCode?"invalid_type":"LiteralUnion"===e.astKind&&"AnyOf"===e.issueTag?"invalid_enum":t.toLowerCase().includes("color")?"invalid_color":"input"===t?"invalid_type":"missing_field"}function rQ(e){return/^operations\.\[\d+\]\.op$/.test(e)}function r1(e){let t=e.issues.slice(0,20).map(e=>{let t=rJ(e.path);return rW({code:rK(e),stage:"input",ref:{kind:"request",path:t},message:e.message,hint:rQ(t)?`Use one of: ${an.join(", ")}. For label edits, use replaceText with selector plus text.`:"source"===t?"Pass source: { artifactId } from an accepted build or patch, or source: { scene } for inline Sketchi scene patching.":`Fix ${t} so it matches the Code Mode API contract.`})});return e.issues.length>20&&t.push(rW({code:"invalid_type",stage:"input",ref:{kind:"request",path:"input"},message:`${e.issues.length-20} additional input issues were omitted.`,hint:"Fix the summarized request shape before retrying."})),t}function r0(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,48)}function r2(e){if(void 0===e)return;let t=tB(e);return t.length>0?t:void 0}function r3(e){return e.checks.map(e=>{var t;return rW({code:"generic_label"===(t=e.code)||"label_too_long"===t||"disconnected_graph"===t?t:"quality_below_threshold",severity:e.severity,stage:"quality",message:e.message,hint:"error"===e.severity?"Repair the structural issue and call buildFlowchart again.":"Improve the labels or scope before styling the artifact."})})}function r5(e){return e?.artifactFormats??rk}function r4(e){return e?.inlineArtifacts??rM}let r6=o.fn("codeMode.artifacts.exportFormats")(function*(e){let t=[];for(let i of e.formats){var a,s,l;let r=yield*(a=e,"scene"===(s=i)?o.PyW(a.scene):"excalidraw"===s?o.PyW(function(e,t={}){return{type:"excalidraw",version:2,source:t.source??"https://sketchi.app",elements:e.elements,appState:e.appState,files:e.files??{}}}(a.excalidraw)):a.renderer?a.renderer.renderPng({scene:a.scene,excalidraw:a.excalidraw}).pipe(o.xm_(e=>rF.make({cause:e,message:e.message}))):o.fJG(rI.make({message:"PNG artifact rendering is not configured for this runtime."})));t.push({format:i,mimeType:lw[i],data:r,sizeBytes:(l=r)instanceof ArrayBuffer||l instanceof Uint8Array?l.byteLength:lk(l)})}return t});function r7(e){return e.map(e=>rW({code:"overlapping-arrow-segment"===e.code?"arrow_overlap":"text-overflow"===e.code?"text_overflow":e.code.includes("binding")||e.code.includes("bound")||e.code.includes("endpoint")?"arrow_binding_invalid":"export_invalid_scene",stage:"export",ref:e.elementId?{kind:"artifact",id:e.elementId}:{kind:"artifact"},message:e.message,hint:"Inspect the rendered scene and retry with a simpler layout or patch."}))}function r8(e){return e.slice(0,20).map(e=>rW({code:function(e){switch(e.code){case"duplicate_element_id":return"duplicate_element_id";case"duplicate_layer_id":return"duplicate_layer_id";case"empty_canvas":case"invalid_geometry":case"label_overflow":return"invalid_canvas_geometry";case"invalid_binding":return"invalid_canvas_binding";case"invalid_composition":return"invalid_canvas_composition";case"invalid_icon":return"invalid_canvas_icon";case"invalid_polygon":return"invalid_polygon";case"limit_exceeded":return"canvas_limit_exceeded";case"missing_z_order_element":case"duplicate_z_order_element":case"unknown_z_order_element":return"invalid_z_order";case"unknown_layout_target":return"unknown_layout_target"}}(e),stage:"canvas",ref:e.elementId?{kind:"element",id:e.elementId,path:e.path}:{kind:"diagram",path:e.path},message:e.message,hint:"Repair the referenced CanvasSpec field and call createCanvas again."}))}function r9(e){return r7(e.filter(e=>"overlapping-arrow-segment"!==e.code&&"arrow-segment-through-node"!==e.code))}function ne(e){let t=[];for(let s of e.elements){if("arrow"===s.type){let e=s.points[0],a=s.points[1],l=s.points.slice(2);if(!e||!a)return null;let i=[e,a,...l];t.push({...s,type:"arrow",id:s.id,edgeId:s.edgeId,sourceNodeId:s.sourceNodeId,targetNodeId:s.targetNodeId,...s.strokeColor?{strokeColor:s.strokeColor}:{},...s.strokeStyle?{strokeStyle:s.strokeStyle}:{},...s.textColor?{textColor:s.textColor}:{},points:i,...s.label?{label:s.label}:{}});continue}if("node"===s.type){var a;let l=s.points;if("polygon"===s.shape&&(!l||!l[0]||!l[1]||!l[2]))return null;t.push({type:"node",id:s.id,nodeId:s.nodeId,...s.kind?{kind:s.kind}:{},...s.icon?{icon:{slug:s.icon.slug,size:s.icon.size}}:{},shape:s.shape,...s.fillColor?{fillColor:s.fillColor}:{},...s.strokeColor?{strokeColor:s.strokeColor}:{},x:s.x,y:s.y,width:s.width,height:s.height,label:s.label,...s.frameId?{frameId:s.frameId}:{},...s.groupIds?{groupIds:[...s.groupIds]}:{},...s.layerId?{layerId:s.layerId}:{},...void 0!==s.locked?{locked:s.locked}:{},...void 0!==s.opacity?{opacity:s.opacity}:{},...void 0!==s.zIndex?{zIndex:s.zIndex}:{},...s.fillStyle?{fillStyle:s.fillStyle}:{},...void 0!==s.roughness?{roughness:s.roughness}:{},...s.strokeStyle?{strokeStyle:s.strokeStyle}:{},...void 0!==s.strokeWidth?{strokeWidth:s.strokeWidth}:{},..."sequence-lifeline"===s.rendererRole&&oS(e,s)||"sequence-activation"===s.rendererRole&&function(e,t){let a=`${ey}:activation:`,s=t.nodeId.indexOf(a);if(s<=0||s+a.length===t.nodeId.length||t.id!==`node:${t.nodeId}`||"rectangle"!==t.shape||12!==t.width)return!1;let l=t.nodeId.slice(0,s+ey.length),i=e.elements.find(e=>"node"===e.type&&e.id===`node:${l}`&&e.nodeId===l);if(!i||!oS(e,i))return!1;let o=i.x+i.width/2,r=(t.x-(o-6))/6,n=e.elements.filter(e=>"node"===e.type&&e.nodeId.startsWith(`${l}:activation:`)).length;return r>=-.01&&.01>=Math.abs(r-Math.round(r))&&Math.round(r)<n&&t.y>=i.y-.01&&t.y+t.height<=i.y+i.height+.01}(e,s)||"timeline-marker"===s.rendererRole&&(a=s).nodeId.startsWith("event:")&&a.id===`node:${a.nodeId}`&&a.height<=18&&void 0===a.icon?{rendererRole:s.rendererRole}:{},...s.textColor?{textColor:s.textColor}:{},..."polygon"===s.shape&&l?.[0]&&l[1]&&l[2]?{points:[l[0],l[1],l[2],...l.slice(3)]}:{}});continue}if("line"===s.type){let e=s.points[0],a=s.points[1];if(!e||!a)return null;t.push({...s,points:[e,a,...s.points.slice(2)]});continue}t.push(structuredClone(s))}return{kind:e.kind,version:e.version,diagramId:e.diagramId,title:e.title,width:e.width,height:e.height,accentColor:e.accentColor,backgroundColor:e.backgroundColor,elements:t,layers:structuredClone(e.layers),layouts:structuredClone(e.layouts),zOrder:[...e.zOrder]}}function nt(e){return structuredClone(e)}function na(e){return e.elements.flatMap(e=>"arrow"===e.type?[`arrow:${e.id}:${e.sourceNodeId}->${e.targetNodeId}`]:"line"===e.type?[`line:${e.id}:${e.startBinding?.elementId??""}->${e.endBinding?.elementId??""}`]:[]).sort()}function ns(e){return e.elements.filter(e=>"node"===e.type)}function nl(e){return e.elements.filter(e=>"text"===e.type)}function ni(e){return e.elements.filter(e=>"arrow"===e.type)}function no(e,t){if(!e||0===e.length||!t)return!1;let a=t.trim().toLowerCase();return e.some(e=>e.trim().toLowerCase()===a)}function nr(e,t){let a=t?.scope??"all",s=!!(t&&((t.ids?.length??0)>0||(t.nodeIds?.length??0)>0||(t.edgeIds?.length??0)>0||(t.kinds?.length??0)>0||(t.labels?.length??0)>0)),l=new Set(t?.ids??[]),i=new Set(t?.nodeIds??[]),o=new Set(t?.edgeIds??[]),r=new Set(t?.kinds??[]),n=ns(e).filter(e=>"edges"!==a&&(!t||!s||l.has(e.id)||i.has(e.nodeId)||!!e.kind&&[...r].some(t=>t===e.kind)||no(t.labels,e.label))),c=ni(e).filter(e=>"nodes"!==a&&(!t||!s||l.has(e.id)||o.has(e.edgeId)||no(t.labels,e.label))),d=new Set(n.map(e=>e.id)),p=new Set(c.map(e=>e.id));return{arrows:c,nodes:n,texts:nl(e).filter(e=>t&&s?l.has(e.id)||!!e.containerId&&d.has(e.containerId)||!!e.containerId&&p.has(e.containerId)||no(t.labels,e.text):"nodes"===a?!!e.containerId&&d.has(e.containerId):"edges"!==a||!!e.containerId&&p.has(e.containerId))}}function nn(e){return rW({code:"unknown_patch_target",stage:"flowchart",ref:{kind:"request",path:"operations.selector"},message:`Patch operation "${e.op}" did not match any scene element.`,hint:"Use nodeIds, edgeIds, ids, kinds, labels, or scope values that exist in the accepted artifact."})}function nc(e,t){return nl(e).find(e=>e.containerId===t||e.id===`${t}:label`)}function nd(e,t){let a=new Set(t);for(let t of ni(e))(a.has(t.sourceNodeId)||a.has(t.targetNodeId))&&nh(e,t)}function np(e){return{x:e.x+e.width/2,y:e.y+e.height/2}}function ng(e,t,a){let s=np(e),l=np(t),i=l.x-s.x,o=l.y-s.y;return 0===i&&0===o?{x:s.x,y:"source"===a?e.y+e.height:e.y}:Math.abs(i)>Math.abs(o)?i>=0?{x:e.x+e.width,y:s.y}:{x:e.x,y:s.y}:o>=0?{x:s.x,y:e.y+e.height}:{x:s.x,y:e.y}}function nh(e,t){let a=new Map(ns(e).map(e=>[e.nodeId,e])),s=a.get(t.sourceNodeId),l=a.get(t.targetNodeId);if(!s||!l)return[rW({code:"patch_output_invalid",stage:"render",ref:{kind:"edge",id:t.edgeId},message:`Arrow "${t.id}" references a node that is not in the scene.`,hint:"Rebuild the diagram with buildFlowchart or buildMindmap before applying visual patches."})];let i=ng(s,l,"source"),o=ng(l,s,"target");if(Math.abs(o.y-i.y)>=Math.abs(o.x-i.x)){let e=(i.y+o.y)/2;t.points=[i,{x:i.x,y:e},{x:o.x,y:e},o]}else{let e=(i.x+o.x)/2;t.points=[i,{x:e,y:i.y},{x:e,y:o.y},o]}return!function(e,t){let a=nc(e,t.id),s=function(e){let t=e[0],a=e[e.length-1];if(t&&a)return{x:(t.x+a.x)/2,y:(t.y+a.y)/2-10}}(t.points);if(a&&!a.containerId){let e=t.points[0];if(!e)return;let s=t.points.find(t=>t.x!==e.x||t.y!==e.y);if(!s)return;let l=eX(a.text,a.maxWidth??160,a.fontSize),i=eO(l,a.fontSize,a.maxWidth??160),o=Math.ceil(l.split("\n").length*a.fontSize*1.35);a.x=(e.x+s.x)/2+(e.x===s.x?i/2+8:0),a.y=(e.y+s.y)/2-(e.y===s.y?o/2+5:0);return}a&&s&&(a.x=s.x,a.y=s.y)}(e,t),[]}function nu(e){let t=e.width,a=e.height;for(let s of e.elements)if("arrow"===s.type||"line"===s.type)for(let e of s.points)t=Math.max(t,e.x),a=Math.max(a,e.y);else"text"===s.type?(t=Math.max(t,s.x+(s.maxWidth??0)),a=Math.max(a,s.y+s.fontSize)):(t=Math.max(t,s.x+s.width),a=Math.max(a,s.y+s.height));e.width=t+48,e.height=a+48}function nf(e,t,a){if(!t||!a){if(t){let a=e.indexOf(t);return a>=0?a:void 0}if(a){let t=e.indexOf(a);return t>=0?t+1:void 0}return e.length}}function nv(e,t){return[rW({code:"patch_output_invalid",stage:"canvas",ref:{kind:"request",path:"operations"},message:t,hint:`Repair the ${e.op} operation and preserve unique, stable element ids.`})]}let nm=o.fn("codeMode.patch.resolveSource")(function*(e){if("scene"in e.source)return{scene:nt(e.source.scene)};let t=yield*ly,a=yield*t.readManifest(e.source.artifactId).pipe(o.xm_(e=>new r$({status:"storage_failed",context:{issues:[lC(e.message,"storage_read_failed")]}})));if(!a||a.artifactId!==e.source.artifactId||!a.formats.some(e=>"scene"===e.format))return yield*new r$({status:"source_unavailable",context:{issues:[rW({code:"patch_source_unavailable",stage:"storage",ref:{kind:"artifact",id:e.source.artifactId},message:`Artifact "${e.source.artifactId}" does not have a valid source manifest.`,hint:"Rebuild with the appropriate build operation and patch the accepted artifact id."})]}});let s=yield*t.read(e.source.artifactId,"scene").pipe(o.xm_(e=>new r$({status:"storage_failed",context:{issues:[lC(e.message,"storage_read_failed")]}})));if(!s)return yield*new r$({status:"source_unavailable",context:{issues:[rW({code:"patch_source_unavailable",stage:"storage",ref:{kind:"artifact",id:e.source.artifactId},message:`Scene artifact "${e.source.artifactId}" is not available.`,hint:"Call buildFlowchart or buildMindmap first, then patch the accepted artifact id."})]}});let i=l.q$Z(sy,{errors:"all",reportInput:!0})(s.data);return o9.oJ(i)?{scene:nt(i.success),sourceArtifactId:e.source.artifactId}:yield*new r$({status:"source_unavailable",context:{issues:[rW({code:"patch_source_unavailable",stage:"storage",ref:{kind:"artifact",id:e.source.artifactId},message:`Scene artifact "${e.source.artifactId}" could not be decoded.`,hint:"Rebuild with the appropriate build operation and patch the new artifact."})]}})});function ny(e){return e?{requestId:e}:{}}function nw(e){return{diagramId:e.diagramId,formats:[{format:"scene",mimeType:lw.scene,inline:e,sizeBytes:lk(e)}]}}function nx(e){return{ok:!1,status:e.status,...e.context}}function nb(e,t){return lC(e.message,t)}let nk=o.fn("codeMode.artifacts.exportAndStore")(function*(e){let t=yield*rB,a=yield*ly,{excalidraw:s,validation:l}=yield*o.OH5(()=>{let t=function(e){let t,a,s,l,i,o,r,n=(t=new Map(e.layers.map(e=>[e.id,e])),s=new Set((a=e.elements.filter(e=>{let a=e.layerId?t.get(e.layerId):void 0;return a?.visible!==!1})).flatMap(e=>"node"===e.type?[e.nodeId]:[])),i=new Set((l=a.filter(e=>"arrow"!==e.type||s.has(e.sourceNodeId)&&s.has(e.targetNodeId))).flatMap(e=>"text"===e.type?[]:[e.id])),r=new Set((o=l.filter(e=>"text"!==e.type||!e.containerId||i.has(e.containerId))).map(e=>e.id)),o.map(e=>{let a=e.layerId?t.get(e.layerId):void 0,{frameId:s,...l}=e;return{...e.frameId&&!r.has(e.frameId)?l:e,...a?.locked===!0?{locked:!0}:{}}})),{textElements:c,generatedLabelSourceIds:d}=function(e){let t=e.filter(l1),a=e.filter(l0),s=new Set(e.map(e=>e.id)),l=new Map,i=new Set(a.flatMap(e=>e.containerId?[e.containerId]:[]));for(let e of t){if(i.has(e.id)||e.rendererRole)continue;let t=`__sketchi_node_label__${e.id}`,o=t,r=2;for(;s.has(o);)o=`${t}:${r}`,r+=1;s.add(o),l.set(o,e.id),a.push({type:"text",id:o,containerId:e.id,...e.frameId?{frameId:e.frameId}:{},...e.groupIds?{groupIds:[...e.groupIds]}:{},...e.layerId?{layerId:e.layerId}:{},...void 0!==e.locked?{locked:e.locked}:{},...void 0!==e.opacity?{opacity:e.opacity}:{},...e.textColor?{textColor:e.textColor}:{},x:e.x+e.width/2,y:e.y+e.height/2,text:e.label,fontSize:16,maxWidth:Math.max(1,e.width-24)})}return{textElements:a,generatedLabelSourceIds:l}}(n),p={},g=new Map(d),h=function(e,t,a,s,l){var i,o,r,n;let c=t.filter(l1),d=new Set([...t.map(e=>e.id),...a.map(e=>e.id)]),p=new Map,g=new Map;for(let e of a)e.containerId&&g.set(e.containerId,e);let h=t.filter(l2),u=t.filter(l3),f=function(e,t,a){let s=new Map,l=new Map(e.map(e=>[e.nodeId,e.id]));for(let e of t)for(let t of[e.sourceNodeId,e.targetNodeId]){let a=l.get(t);a&&s.set(a,[...s.get(a)??[],e.id])}for(let e of a)for(let t of[e.startBinding,e.endBinding])t&&s.set(t.elementId,[...s.get(t.elementId)??[],e.id]);return s}(c,h,u),v=new Map,m=[];for(let t of c){let a=g.get(t.id),n=function(e){let t=e.shape.height,a="circle"===e.shape.shape?"ellipse":e.shape.shape,s=[...e.text&&"polygon"!==e.shape.shape?[{id:e.text.id,type:"text"}]:[],...e.arrowIds.map(e=>({id:e,type:"arrow"}))];if("polygon"===e.shape.shape){let t=e.shape.points??[{x:e.shape.width/2,y:0},{x:e.shape.width,y:e.shape.height},{x:0,y:e.shape.height}],[a]=t;return{...lN(e.shape.id,e.shape),type:"line",x:e.shape.x,y:e.shape.y,width:e.shape.width,height:e.shape.height,backgroundColor:e.shape.fillColor??"transparent",boundElements:e.arrowIds.map(e=>({id:e,type:"arrow"})),customData:{sketchiShape:"polygon"},endArrowhead:null,endBinding:null,lastCommittedPoint:null,points:[...t,a].map(e=>[e.x,e.y]),roundness:null,startArrowhead:null,startBinding:null,strokeColor:e.shape.strokeColor??e.scene.accentColor}}return{...lN(e.shape.id,e.shape),type:a,x:e.shape.x,y:e.shape.y,width:e.shape.width,height:t,backgroundColor:e.shape.fillColor??"transparent",boundElements:s.length>0?s:null,roundness:"rectangle"===a?{type:3}:null,strokeColor:e.shape.strokeColor??e.scene.accentColor,...e.shape.rendererRole?{customData:{sketchiRendererRole:e.shape.rendererRole}}:{}}}({scene:e,shape:t,arrowIds:f.get(t.id)??[],...a?{text:a}:{}});v.set(t.nodeId,n),m.push(n);let c=t.icon&&e.icons&&Object.hasOwn(e.icons,t.icon.slug)?e.icons[t.icon.slug]:void 0;if(!t.icon||"string"!=typeof c?.svg)continue;let h=(i=t.icon.slug,o=c.svg,`sketchi-icon-${i}-${tl(o,"hex","utf16")}`),u=function(e,t){let a=`${e.id.replace(/[^\w-]/gu,"-")}-icon`,s=a,l=2;for(;t.has(s);)s=`${a}-${l}`,l+=1;return t.add(s),s}(t,d),y=function(e){let t=function(e){if(!e.icon)return;let t=eN(e);return{x:e.x+(e.width-e.icon.size)/2,y:e.y+t.y+eZ.gap,width:e.icon.size,height:e.icon.size}}(e.node);return t&&e.node.icon?{...lN(e.id,e.node),groupIds:[lJ(e.node),...e.node.groupIds??[]],type:"image",x:t.x,y:t.y,width:t.width,height:t.height,backgroundColor:"transparent",boundElements:null,crop:null,customData:{sketchiNodeIcon:e.node.icon.slug},fileId:e.fileId,roundness:null,scale:[1,1],status:"saved",strokeColor:"transparent"}:null}({fileId:h,id:u,node:t});y&&(s[h]??=(r=c.svg,{id:h,mimeType:"image/svg+xml",dataURL:`data:image/svg+xml;base64,${function(e){let t=new TextEncoder().encode(e),a="";for(let e=0;e<t.length;e+=32768)a+=String.fromCharCode(...t.subarray(e,e+32768));return btoa(a)}(r)}`,created:1,lastRetrieved:1}),n.groupIds=[lJ(t),...t.groupIds??[]],l.set(u,t.id),p.set(t.id,t),m.push(y))}for(let a of t.filter(l5)){let t={...lN((n={element:a,scene:e}).element.id,n.element),type:"frame",x:n.element.x,y:n.element.y,width:n.element.width,height:n.element.height,backgroundColor:n.element.fillColor??"transparent",boundElements:null,name:n.element.name??null,roundness:null,strokeColor:n.element.strokeColor??n.scene.accentColor},s=f.get(a.id)??[];t.boundElements=s.length?s.map(e=>({id:e,type:"arrow"})):null,m.push(t)}for(let e of a){let t=c.find(t=>t.id===e.containerId&&"polygon"!==t.shape),a=h.some(t=>t.id===e.containerId),s=h.find(t=>e.id===`${t.id}:label`),l=e.containerId&&(t||a),i=e.textColor??s?.textColor,o=lW({...t?{container:t}:{},element:e,id:e.id,...l?{containerId:e.containerId}:{},fontSize:e.fontSize,maxWidth:e.maxWidth??160,...i?{textColor:i}:{},text:e.text,wrap:a||!!s,x:e.x,y:e.y}),r=t?p.get(t.id):void 0;r&&(o.groupIds=[lJ(r),...e.groupIds??[]]),m.push(o)}for(let t of h){let s=g.get(t.id)??a.find(e=>e.id===`${t.id}:label`);m.push(function(e){let t=e.arrow.points[0],a=lK(e.arrow),s=e.arrow.points.length>2;return{...lN(e.arrow.id,e.arrow),type:"arrow",x:t.x,y:t.y,width:a.x-t.x,height:a.y-t.y,backgroundColor:"transparent",boundElements:e.text?e.text.containerId===e.arrow.id?[{id:e.text.id,type:"text"}]:null:e.arrow.label?[{id:`${e.arrow.id}:label`,type:"text"}]:null,elbowed:s,endArrowhead:void 0===e.arrow.endArrowhead?"arrow":e.arrow.endArrowhead,endBinding:l$(e.targetShape,a),...s?{fixedSegments:[],startIsSpecial:null,endIsSpecial:null}:{},points:e.arrow.points.map(e=>[e.x-t.x,e.y-t.y]),roundness:s?null:{type:2},startArrowhead:e.arrow.startArrowhead??null,startBinding:l$(e.sourceShape,t),strokeColor:e.arrow.strokeColor??e.scene.accentColor,strokeStyle:e.arrow.strokeStyle??"solid"}}({arrow:t,scene:e,sourceShape:v.get(t.sourceNodeId),targetShape:v.get(t.targetNodeId),...s?{text:s}:{}}));let l=t.label&&!s?function(e){if(!e.arrow.label)return null;let t=e.arrow.points[0],a=lK(e.arrow);return lW({id:`${e.arrow.id}:label`,containerId:e.arrow.id,fontSize:13,...void 0===e.arrow.locked?{}:{locked:e.arrow.locked},maxWidth:160,...e.arrow.textColor?{textColor:e.arrow.textColor}:{},text:e.arrow.label,wrap:!0,x:(t.x+a.x)/2,y:(t.y+a.y)/2-10})}({arrow:t}):null;l&&m.push(l)}let y=new Map(m.map(e=>[e.id,e]));for(let t of u)if(m.push(function(e){let[t,...a]=e.element.points,s=a[a.length-1]??t,l=void 0!==e.element.startArrowhead||void 0!==e.element.endArrowhead||void 0!==e.element.startBinding||void 0!==e.element.endBinding,i=l&&e.element.points.length>2;return{...lN(e.element.id,e.element),type:l?"arrow":"line",x:t.x,y:t.y,width:s.x-t.x,height:s.y-t.y,backgroundColor:e.element.fillColor??"transparent",boundElements:null,...l?{elbowed:i}:{},endArrowhead:e.element.endArrowhead??null,endBinding:lQ(e.element.endBinding,e.elementsById,s),...i?{fixedSegments:[],startIsSpecial:null,endIsSpecial:null}:{},points:e.element.points.map(e=>[e.x-t.x,e.y-t.y]),roundness:e.element.points.length>2&&!i?{type:2}:null,startArrowhead:e.element.startArrowhead??null,startBinding:lQ(e.element.startBinding,e.elementsById,t),strokeColor:e.element.strokeColor??e.scene.accentColor}}({element:t,elementsById:y,scene:e})),t.label){let e=t.points[0],a=t.points[t.points.length-1]??e;m.push(lW({id:`${t.id}:label`,fontSize:13,...void 0===t.locked?{}:{locked:t.locked},maxWidth:160,...t.textColor?{textColor:t.textColor}:{},text:t.label,wrap:!0,x:(e.x+a.x)/2,y:(e.y+a.y)/2-10}))}return m}(e,n,c,p,g),u=new Map(e.zOrder.map((e,t)=>[e,t])),f=e=>{if(u.has(e.id))return e.id;let t=g.get(e.id);return t||(e.id.endsWith(":label")?e.id.slice(0,-6):e.id)};h.sort((e,t)=>(u.get(f(e))??Number.MAX_SAFE_INTEGER)-(u.get(f(t))??Number.MAX_SAFE_INTEGER));let v=null;for(let e of h){let t=function(e,t,a,s){if(void 0!==s){var l=s;if(!lX.has(l)){if(l.length<2||l.length%2!=0||!lU(l))throw Error("intDigits must be an even number of at least 2 characters in strictly ascending character code order: "+l);if(!lO(l))throw Error("intDigits must be single-byte (char code 0-255): "+l);lX.add(l)}}else s=a??l_;if(void 0!==a){var i=a;if(!lE.has(i)){if(i.length<2||!lU(i))throw Error("digits must be at least 2 characters in strictly ascending character code order: "+i);if(!lO(i))throw Error("digits must be single-byte (char code 0-255): "+i);lE.add(i)}}else a=lz;let o=lB(a),r=lB(s);if(null!=e&&lH(e,a,s,r),null!=t&&lH(t,a,s,r),null!=e&&null!=t&&e>t){let a=e;e=t,t=a}if(null==e){if(null==t)return s[s.length/2]+a[0];let e=lV(t,s,r),l=t.slice(e.length);if(lI(e,a,s))return e+lA("",l,a,o);if(e<t)return e;let i=function(e,t,a,s,l){lP(e,s,l);let i=e[0],o=t[t.length-1],r="";for(let s=e.length-1;s>=1;s--){let l=a[e.charCodeAt(s)]-1;if(-1!==l)return i+e.slice(1,s)+t[l]+r;r=o+r}let n=l[i.charCodeAt(0)];if(0===n)return null;let c=s[n-1],d=lS(c,s,l)-lS(i,s,l);return c+(d>0?r+o:d<0?r.slice(1):r)}(e,a,o,s,r);if(null==i)throw Error("cannot decrement any more");return i}if(null==t){let t=lV(e,s,r),l=e.slice(t.length),i=lq(t,a,o,s,r);return null==i?t+lA(l,null,a,o):i}let n=lV(e,s,r),c=e.slice(n.length),d=lV(t,s,r),p=t.slice(d.length);if(n===d)return n+lA(c,p,a,o);let g=lq(n,a,o,s,r);if(null==g)throw Error("cannot increment any more");return g<t?g:n+lA(c,null,a,o)}(v,null);e.index=t,v=t}return{appState:{viewBackgroundColor:e.backgroundColor,zoom:{value:Math.max(.42,Math.round(100*Math.min(1,860/Math.max(e.width,1),340/Math.max(e.height,1)))/100)}},elements:h,files:p}}(e.scene);return{excalidraw:t,validation:function(e){let t=[],a=new Map(e.elements.map(e=>[e.id,e])),s=new Set(e.elements.filter(l7).map(e=>e.id));for(let l of(0===e.elements.length&&t.push({code:"empty-scene",message:"Excalidraw scene must contain at least one shape."}),e.elements)){if("image"!==l.type||"string"==typeof l.fileId&&e.files&&Object.hasOwn(e.files,l.fileId)||t.push({code:"missing-image-file",elementId:l.id,message:`Image "${l.id}" references a file missing from the scene.`}),"arrow"===l.type){let e=!0===l.elbowed;for(let i of((Array.isArray(l.points)?l.points:[]).length>2&&!e&&t.push({code:"invalid-elbow-binding",elementId:l.id,message:`Arrow "${l.id}" has an orthogonal route but is not marked elbowed.`}),e&&null!==l.fixedSegments&&!Array.isArray(l.fixedSegments)&&t.push({code:"invalid-elbow-binding",elementId:l.id,message:`Elbow arrow "${l.id}" is missing fixedSegments metadata.`}),["startBinding","endBinding"])){if(null===l[i]||void 0===l[i])continue;let o=l4(l,i);if(!(o&&s.has(o))){t.push({code:"missing-arrow-binding",elementId:l.id,message:`Arrow "${l.id}" has invalid ${i}.`});continue}let r=a.get(o);r&&!function(e,t,a){let s=e.boundElements;return!!Array.isArray(s)&&s.some(e=>!!(e&&"object"==typeof e)&&e.id===t&&e.type===a)}(r,l.id,"arrow")&&t.push({code:"missing-bound-arrow",elementId:r.id,message:`Shape "${r.id}" does not include bound arrow "${l.id}".`});let n=function(e,t){let a=lG(e.x)??0,s=lG(e.y)??0,l=Array.isArray(e.points)?e.points.map(lT).filter(e=>!!e):[],i="startBinding"===t?l[0]:l[l.length-1];return i?{x:a+i[0],y:s+i[1]}:null}(l,i);if(r&&n&&!function(e,t){let a=lD(t);if(!a)return!1;if("diamond"===t.type){let t=a.width/2,s=a.height/2;if(0===t||0===s)return!1;let l=a.x+t,i=a.y+s;return l9(Math.abs(e.x-l)/t+Math.abs(e.y-i)/s,1)}if("ellipse"===t.type){let t=a.width/2,s=a.height/2;if(0===t||0===s)return!1;let l=a.x+t,i=a.y+s;return l9(((e.x-l)/t)**2+((e.y-i)/s)**2,1)}let s=(l9(e.x,a.x)||l9(e.x,a.x+a.width))&&l8(e.y,a.y,a.y+a.height),l=(l9(e.y,a.y)||l9(e.y,a.y+a.height))&&l8(e.x,a.x,a.x+a.width);return s||l}(n,r)&&t.push({code:"arrow-endpoint-off-shape",elementId:l.id,message:`Arrow "${l.id}" ${i} endpoint does not land on "${r.id}".`}),r&&n&&e){let e=function(e,t){let a=e[t];return a&&"object"==typeof a?lT(a.fixedPoint):null}(l,i);e&&function(e,t,a){let s=lD(a);if(!s)return!1;let l=1e-4>Math.abs(e[0]-.5001)?.5:e[0],i=1e-4>Math.abs(e[1]-.5001)?.5:e[1];return l9(s.x+l*s.width,t.x)&&l9(s.y+i*s.height,t.y)}(e,n,r)||t.push({code:"invalid-elbow-binding",elementId:l.id,message:`Elbow arrow "${l.id}" has invalid ${i} fixedPoint metadata.`})}}}if("text"===l.type){let e=l.containerId;if("string"!=typeof e)continue;let s=a.get(e);if(!s){t.push({code:"missing-container",elementId:l.id,message:`Text "${l.id}" references missing container "${e}".`});continue}let i=("number"==typeof l.width?l.width:0)-("number"==typeof l.fontSize?l.fontSize:0),o="number"==typeof l.height?l.height:0,r="number"==typeof s.width?s.width:0,n="number"==typeof s.height?s.height:0;l7(s)&&(i+24>r||o+18>n)&&t.push({code:"text-overflow",elementId:l.id,message:`Text "${l.id}" does not fit inside "${e}".`})}}return t.push(...function(e){let t=e.filter(e=>"arrow"===e.type).flatMap(l6),a=e.filter(l7),s=new Map(e.flatMap(e=>"string"==typeof e.frameId?[[e.id,e.frameId]]:[])),l=[],i=new Set;for(let e of t)for(let t of a){if(function(e){let t=e.customData;if(null===t||"object"!=typeof t)return!1;let a=t.sketchiRendererRole;return eG.some(e=>e===a)}(t)||t.id===e.startBindingId||t.id===e.endBindingId||function(e,t,a){return"frame"===e.type&&[t.arrowId,t.startBindingId,t.endBindingId].some(t=>null!==t&&a.get(t)===e.id)}(t,e,s))continue;let a=lD(t);if(!a||!ta(e,a))continue;let o=`${e.arrowId}:${e.segmentIndex}:${t.id}`;i.has(o)||(i.add(o),l.push({code:"arrow-segment-through-node",elementId:e.arrowId,message:`Arrow "${e.arrowId}" passes through shape "${t.id}".`}))}return l}(e.elements)),t.push(...function(e){let t=e.filter(e=>"arrow"===e.type).flatMap(l6),a=[],s=new Set;for(let e=0;e<t.length;e+=1){let l=t[e];if(l)for(let i=e+1;i<t.length;i+=1){let e=t[i];if(!e||l.arrowId===e.arrowId||function(e,t){if(!ts(e,t))return!1;let a=e.isFirstSegment&&t.isFirstSegment&&null!==e.startBindingId&&e.startBindingId===t.startBindingId;return .01>=Math.abs((a?e.startCoordinate:e.endCoordinate)-(a?t.startCoordinate:t.endCoordinate))&&Math.sign(e.endCoordinate-e.startCoordinate)===Math.sign(t.endCoordinate-t.startCoordinate)}(l,e)||!tt(l,e))continue;let o=[l.arrowId,String(l.segmentIndex),e.arrowId,String(e.segmentIndex)].sort().join(":");s.has(o)||(s.add(o),a.push({code:"overlapping-arrow-segment",elementId:l.arrowId,message:`Arrow "${l.arrowId}" overlaps arrow "${e.arrowId}".`}))}}return a}(e.elements)),{ok:0===t.length,issues:t}}(t)}}).pipe(o.fRP("codeMode.artifacts.exportValidate")),i=e.validationIssues(l.issues);if(i.length>0)return yield*new rO({status:"export_failed",issues:i});let r=yield*r6({formats:e.formats,scene:e.scene,excalidraw:s,renderer:t.renderer}).pipe(o.xm_(e=>new rO({status:"export_failed",issues:[rW({code:"render_failed",stage:"export",..."CodeModeArtifactRendererNotConfigured"===e._tag?{ref:{kind:"artifact",path:"options.artifactFormats"}}:{},message:e.message,hint:"CodeModeArtifactRendererNotConfigured"===e._tag?"Use the hosted Studio Code Mode runtime with its Cloudflare Browser Run binding, or omit png from artifactFormats.":"Retry the request; if it keeps failing, inspect the configured renderer."})]}))),n=yield*o.OH5(()=>t.createId("artifact"));var c=yield*o7(a.write({artifactId:n,diagramId:e.scene.diagramId,formats:r,inlineFormats:e.inlineFormats,...e.provenance?{provenance:e.provenance}:{}}).pipe(o.fRP("codeMode.artifacts.store")),{artifactId:n,...e.requestId?{requestId:e.requestId}:{}}).pipe(o.xm_(e=>new rE({status:"storage_failed",cause:e,issues:[nb(e,"storage_write_failed")]}))),d=t.artifactUrl;if(!d)return c;let p=c.formats.map(e=>({...e,url:d({artifactId:c.artifactId,format:e.format})})),g=c.preview?p.find(e=>e.format===c.preview?.format):void 0;return{...c,formats:p,...g?{preview:g}:{}}}),nM=o.fn("codeMode.buildMindmap.workflow")(function*(e){var t,a;let s,i,r,n,c,d,p,g,h,u=function(e){let t=rP(rP(rP(e)?.spec)?.root);if(!t)return[];let a=[{depth:0,topic:t}],s=1;for(;a.length>0;){let e=a.pop();if(!e)continue;if(e.depth>8)return[rW({code:"mindmap_too_deep",stage:"mindmap",ref:{kind:"request",path:"spec.root.children"},message:"Mindmap depth exceeds the supported maximum of 8.",hint:"Combine overly deep topics into a shallower hierarchy."})];let t=e.topic.children;if(Array.isArray(t)){if((s+=t.length)>100)return[rW({code:"mindmap_too_large",stage:"mindmap",ref:{kind:"request",path:"spec.root"},message:"Mindmap exceeds the supported maximum of 100 topic slots.",hint:"Split this hierarchy into smaller focused mindmaps."})];for(let s=t.length-1;s>=0;s-=1){let l=rP(t[s]);l&&a.push({depth:e.depth+1,topic:l})}}}return[]}(e);if(u.length>0)return yield*new rZ({status:"invalid_mindmap",context:{issues:u}});let f=l.q$Z(a2,{errors:"all",reportInput:!0})(e);if(!o9.oJ(f))return yield*new rZ({status:"invalid_input",context:{issues:r1(tH(f.failure))}});let v=yield*rB,m=f.success,w=yield*o.OH5(()=>v.createId("build")),x=(t=m.spec,s=(e,t)=>({id:`topic-${t.join("-")}`,label:tB(e.label),children:(e.children??[]).map((e,a)=>s(e,[...t,a]))}),i=tB(t.title),{id:r2(t.id)??(r0(i)||"sketchi-mindmap"),title:i,root:s(t.root,[0]),layout:{direction:t.layout.direction},style:{...y}}),b={buildId:w,...ny(m.requestId),normalizedSpec:x},k=(r=0,n=0,(c=(e,t)=>{r+=1,n=Math.max(n,t),e.children.forEach(e=>c(e,t+1))})(x.root,0),p=[],(d={count:r,depth:n}).count<2&&p.push(rW({code:"disconnected_graph",stage:"mindmap",ref:{kind:"diagram",id:x.id},message:"Mindmap root must contain at least one child topic.",hint:"Add one or more nested topics under spec.root.children."})),d.depth>8&&p.push(rW({code:"mindmap_too_deep",stage:"mindmap",ref:{kind:"diagram",id:x.id},message:`Mindmap depth ${d.depth} exceeds the supported maximum of 8.`,hint:"Combine overly deep topics into a shallower hierarchy."})),d.count>100&&p.push(rW({code:"mindmap_too_large",stage:"mindmap",ref:{kind:"diagram",id:x.id},message:`Mindmap has ${d.count} topics; the supported maximum is 100.`,hint:"Split this hierarchy into smaller focused mindmaps."})),p);if(k.length>0)return yield*new rZ({status:"invalid_mindmap",context:{...b,issues:k}});let M=yield*o.SvU({try:()=>{let e,t,a;return e=[],t=[],(a=(s,l,i,o)=>{e.push({id:s.id,label:s.label,kind:0===l?"root":"topic",metadata:{depth:l,siblingIndex:i}}),o&&t.push({id:`branch-${s.id.slice(6)}`,source:o,target:s.id,metadata:{depth:l,siblingIndex:i}}),s.children.forEach((e,t)=>a(e,l+1,t,s.id))})(x.root,0,0),eu({id:x.id,title:x.title,type:"mindmap",nodes:e,edges:t,layout:{direction:x.layout.direction,edgeRouting:"curved"},style:{...y}})},catch:e=>new rZ({status:"invalid_mindmap",context:{...b,issues:[rW({code:"disconnected_graph",stage:"mindmap",ref:{kind:"diagram",id:x.id},message:e instanceof Error?e.message:"Mindmap failed core validation.",hint:"Repair the nested topic hierarchy and call buildMindmap again."})]}})}),C=(a=m.options?.minQualityScore??8,{accepted:(h=Math.max(0,10-2*(g=M.nodes.filter(e=>/^(topic|branch|item|mindmap)$/i.test(e.label.trim()))).length))>=a,score:h,threshold:a,summary:{nodeCount:M.nodes.length,edgeCount:M.edges.length},checks:g.map(e=>({code:"generic_label",passed:!1,severity:"warning",message:`Topic "${e.label}" is too generic.`,refs:[{kind:"node",id:e.id}]}))}),z={...b,quality:C};if(!C.accepted)return yield*new rZ({status:"quality_failed",context:{...z,issues:r3(C)}});let _=yield*o.SvU({try:()=>oP(M),catch:e=>new rZ({status:"render_failed",context:{...z,issues:[rW({code:"render_failed",stage:"render",ref:{kind:"diagram",id:x.id},message:e instanceof Error?e.message:"Unable to render mindmap scene.",hint:"Simplify the hierarchy or retry with a smaller mindmap."})]}})}).pipe(o.fRP("codeMode.buildMindmap.render")),L={...z,partial:nw(_)},B=yield*nk({scene:_,formats:r5(m.options),inlineFormats:r4(m.options),...m.requestId?{requestId:m.requestId}:{},validationIssues:r7}).pipe(o.xm_(e=>new rZ({status:e.status,context:{..."export_failed"===e.status?L:{...z,partial:{diagramId:_.diagramId}},issues:e.issues}})));return{ok:!0,status:"accepted",buildId:w,...ny(m.requestId),normalizedSpec:x,quality:C,artifact:B,issues:[]}}),nC=o.fn("codeMode.buildSequenceDiagram.workflow")(function*(e){var t,a;let s,i=l.q$Z(aR,{errors:"all",reportInput:!0})(e);if(!o9.oJ(i))return yield*new rG({status:"invalid_input",context:{issues:r1(tH(i.failure))}});let r=yield*rB,n=i.success,c=yield*o.OH5(()=>r.createId("build")),d=(s=tB((t=n.spec).title),{id:r2(t.id)??(r0(s)||"sketchi-sequence"),title:s,participants:t.participants.map(e=>({id:tB(e.id),label:tB(e.label),...e.kind?{kind:tB(e.kind)}:{},...e.icon?{icon:{slug:e.icon.slug}}:{}})),messages:t.messages.map((e,t)=>({id:r2(e.id)??`message-${t+1}-${r0(e.source)}-${r0(e.target)}`,source:tB(e.source),target:tB(e.target),label:tB(e.label),...e.type?{type:e.type}:{},...e.style?{style:e.style}:{}})),style:{...y}}),p=rv(d.participants,r.icons,{noun:"participant",path:"participants"}),g={...d,participants:p.nodes},h={buildId:c,...ny(n.requestId),normalizedSpec:g},u=e_(rV(g)).map(e=>rW({code:rH[e.code],stage:"input",ref:{kind:"request",path:`spec.${e.path}`},message:e.message,hint:rq[e.code]??e.hint}));if(u.length>0)return yield*new rG({status:"invalid_sequence",context:{...h,issues:u}});let f={accepted:10>=(a=n.options?.minQualityScore??8),score:10,threshold:a,summary:{nodeCount:g.participants.length,edgeCount:g.messages.length},checks:[]},v={...h,quality:f};if(!f.accepted)return yield*new rG({status:"quality_failed",context:{...v,issues:r3(f)}});let m=yield*o.SvU({try:()=>{let e,t,a,s,l,i,o,r,n,c,d,p,h,u,f,v,m,y,w,x;return s=(a=Math.max(180,...[...(t=new Map((e=eB(rV(g))).participants.map(e=>[e.id,eX(e.label,156,14)]))).values()].map(e=>Math.ceil(eI(e,14))+24)))+140,r=(o=(i=48+(l=e.participants.reduce((e,a)=>Math.max(e,Math.ceil(14*(t.get(a.id)??a.label).split("\n").length*1.35)+18+eJ(a.icon?{slug:a.icon.slug,size:28}:void 0)),72)))+64)+88*Math.max(0,e.messages.length-1),n=Math.max(o,r)-i+56,c=new Map,d=[],p=[],h=[],e.participants.forEach((o,r)=>{let g=48+r*s,u=g+a/2;c.set(o.id,u),d.push({type:"node",id:`node:${o.id}`,nodeId:o.id,...o.kind?{kind:o.kind}:{},...o.icon?{icon:{slug:o.icon.slug,size:28}}:{},shape:"rectangle",x:g,y:48,width:a,height:l,label:t.get(o.id)??o.label}),p.push({type:"text",id:`label:${o.id}`,containerId:`node:${o.id}`,x:u,y:48+l/2,text:t.get(o.id)??o.label,fontSize:14,maxWidth:a-24,...o.icon?{verticalAlign:"bottom"}:{}}),h.push({type:"node",id:`node:${ew(o.id)}`,nodeId:ew(o.id),rendererRole:"sequence-lifeline",shape:"rectangle",fillColor:e.style.backgroundColor,strokeColor:e.style.accentColor,x:u-1,y:i,width:2,height:n,label:`${o.label} lifeline`})}),u=new Map(e.participants.map(e=>[e.id,e.label])),f=(function(e){let t=new Map,a=[];e.messages.forEach((e,s)=>{if("return"!==e.type)return void t.set(e.target,[...t.get(e.target)??[],{caller:e.source,index:s,messageId:e.id}]);let l=t.get(e.source)??[],i=l.findLastIndex(t=>t.caller===e.target),o=l[i];o&&(t.set(e.source,l.filter((e,t)=>t!==i)),a.push({participantId:e.source,callMessageId:o.messageId,returnMessageId:e.id,startIndex:o.index,endIndex:s}))});let s=[];for(let e of a.toSorted((e,t)=>e.startIndex-t.startIndex)){let t=s.filter(t=>t.participantId===e.participantId&&t.endIndex>e.startIndex),a=new Set(t.map(e=>e.depth)),l=Math.max(0,...t.filter(t=>t.endIndex>e.endIndex).map(e=>e.depth+1));for(;a.has(l);)l+=1;s.push({...e,depth:l})}return s})(e).map(t=>{var a,s;let l=(a=t.participantId,s=t.callMessageId,`${ew(a)}:activation:${s}`),i=c.get(t.participantId)??0,r=o+88*t.startIndex-12;return{activation:t,node:{type:"node",id:`node:${l}`,nodeId:l,rendererRole:"sequence-activation",shape:"rectangle",fillColor:e.style.backgroundColor,strokeColor:e.style.accentColor,x:i-6+6*t.depth,y:r,width:12,height:o+88*t.endIndex+12-r,label:`${u.get(t.participantId)??t.participantId} active`}}}),v=(e,t,a,s)=>{let l=c.get(e)??0,i=s>l,o=f.filter(({activation:a})=>a.participantId===e&&a.startIndex<=t&&t<=a.endIndex),r=o.find(({activation:e})=>e.callMessageId===a||e.returnMessageId===a)??o.reduce((e,t)=>!e||t.activation.depth>e.activation.depth?t:e,void 0);return r?{nodeId:r.node.nodeId,x:i?r.node.x+r.node.width:r.node.x}:{nodeId:ew(e),x:l+(i?1:-1)*2/2}},m=e.messages.map((e,t)=>{let a,l=c.get(e.source)??0,i=c.get(e.target)??0,r=v(e.source,t,e.id,i),n=v(e.target,t,e.id,l),d=o+88*t;return{type:"arrow",id:`arrow:${e.id}`,edgeId:e.id,sourceNodeId:r.nodeId,targetNodeId:n.nodeId,..."return"===e.type?{strokeColor:"#6b7280"}:{},..."dashed"===e.style||"return"===e.type?{strokeStyle:"dashed"}:{},points:[{x:r.x,y:d},...(a=Math.round(Math.abs(i-l)/s))<2||a%2==1?[]:[{x:(l+i)/2-Math.sign(i-l)*s/2,y:d}],{x:n.x,y:d}],label:e.label}}),y=f.map(({node:e})=>e),w=[...m,...h,...y,...d,...p],x=[...h.map(e=>e.id),...y.map(e=>e.id),...d.map(e=>e.id),...p.map(e=>e.id),...m.map(e=>e.id)],{kind:"canvas",version:1,diagramId:e.id,title:e.title,width:96+a+Math.max(0,e.participants.length-1)*s,height:i+n+48,accentColor:e.style.accentColor,backgroundColor:e.style.backgroundColor,elements:w,layers:[],layouts:[],zOrder:x}},catch:e=>new rG({status:"render_failed",context:{...v,issues:[rW({code:"render_failed",stage:"render",ref:{kind:"diagram",id:g.id},message:e instanceof Error?e.message:"Unable to render sequence diagram scene.",hint:"Repair the participant/message structure and retry."})]}})}).pipe(o.fRP("codeMode.buildSequenceDiagram.render")),w=yield*rm(m,r.icons),x=w.scene,b=e0(x);if(b.length>0)return yield*new rG({status:"render_failed",context:{...v,issues:r8(b).map(e=>({...e,hint:"Reduce participant label lines, participants, or messages and retry buildSequenceDiagram."}))}});let k={...v,partial:nw(x)},M=yield*nk({scene:x,formats:r5(n.options),inlineFormats:r4(n.options),...n.requestId?{requestId:n.requestId}:{},validationIssues:r7}).pipe(o.xm_(e=>new rG({status:e.status,context:{..."export_failed"===e.status?k:v,issues:e.issues}})));return{ok:!0,status:"accepted",buildId:c,...ny(n.requestId),normalizedSpec:g,quality:f,artifact:M,issues:[...p.issues,...w.issues]}}),nz=o.fn("codeMode.buildTimeline.workflow")(function*(e){var t,a;let s,i,r=l.q$Z(aj,{errors:"all",reportInput:!0})(e);if(!o9.oJ(r))return yield*new rT({status:"invalid_input",context:{issues:r1(tH(r.failure))}});let n=yield*rB,c=r.success,d=yield*o.OH5(()=>n.createId("build")),p=(s=tB((t=c.spec).title),{id:(i={id:r2(t.id)??(r0(s)||"sketchi-timeline"),title:s,type:"timeline",style:{...y},events:t.events.map(e=>({...e}))}).id,title:s,events:$(i),...t.lanes?{lanes:[...t.lanes]}:{},...t.today?{today:t.today}:{},style:i.style}),g={buildId:d,...ny(c.requestId),normalizedSpec:p},h=T(rS(p)).map(e=>rW({code:e.code,stage:"input",ref:{kind:"request",path:`spec.${e.path}`},message:e.message,hint:e.hint}));if(h.length>0)return yield*new rT({status:"invalid_timeline",context:{...g,issues:h}});let u={accepted:10>=(a=c.options?.minQualityScore??8),score:10,threshold:a,summary:{nodeCount:p.events.length,edgeCount:0},checks:[]},f={...g,quality:u};if(!u.accepted)return yield*new rT({status:"quality_failed",context:{...f,issues:r3(u)}});let v=yield*o.SvU({try:()=>(function(e){let t,a,s=R(e),l=$(s),i=function(e){let t,a=new Map;for(let t of[...e.events.flatMap(e=>[e.date,e.end]),e.today]){let e=void 0===t?void 0:Y(t);void 0!==t&&e&&a.set(t,e)}if(0===a.size)return{events:new Map};let s=new Set([...a.values()].flatMap(e=>void 0===e.offsetMinutes?[]:[e.offsetMinutes])),l=1===s.size?[...s][0]??0:0,i=s.size>0?function(e){if(0===e)return"UTC";let t=Math.abs(e);return`UTC${e<0?"-":"+"}${it(Math.floor(t/60))}:${it(t%60)}`}(l):void 0,o=new Map([...a].map(([e,t])=>[e,function(e,t){if("instant"!==e.granularity)return{granularity:e.granularity,...e.fields};let a=new Date(e.start+6e4*t);return{granularity:"instant",year:a.getUTCFullYear(),month:a.getUTCMonth()+1,day:a.getUTCDate(),hour:a.getUTCHours(),minute:a.getUTCMinutes(),second:a.getUTCSeconds(),millisecond:a.getUTCMilliseconds()}}(t,l)])),r=[...o.values()],n=r[0],c=r.some(e=>"instant"===e.granularity)&&r.every(e=>("day"===e.granularity||"instant"===e.granularity)&&e.year===n.year&&e.month===n.month&&e.day===n.day),d=r.some(e=>e.year!==n.year),p=r.some(e=>"instant"===e.granularity&&e.second>0),g=r.some(e=>"instant"===e.granularity&&e.millisecond>0),h=e=>`${it(e.hour)}:${it(e.minute)}${p||g?`:${it(e.second)}`:""}${g?`.${it(e.millisecond,3)}`:""}`,u=e=>`${ie[e.month-1]} ${e.day}`,f=(e,t)=>{if(c)return"instant"===e.granularity?h(e):u(e);let a=t?` ${e.year}`:"";switch(e.granularity){case"year":return String(e.year);case"month":return`${ie[e.month-1]}${a}`;case"day":return`${u(e)}${t?`, ${e.year}`:""}`;case"instant":return`${u(e)}${t?`, ${e.year}`:""}, ${h(e)}`}},v=(e,t,a)=>{if(c)return`${f(e,!1)}–${f(t,!1)}`;if(e.year!==t.year)return`${f(e,!0)} – ${f(t,!0)}`;let s=a&&"year"!==t.granularity?`, ${t.year}`:"";return"day"===e.granularity&&"day"===t.granularity&&e.month===t.month?`${u(e)}–${t.day}${s}`:"month"===e.granularity&&"month"===t.granularity?`${ie[e.month-1]} – ${ie[t.month-1]}${a?` ${t.year}`:""}`:`${f(e,!1)} – ${f(t,!1)}${s}`},m=new Map;for(let a of $(e)){let e=void 0===a.date?void 0:o.get(a.date);if(!e)continue;let s=void 0===a.end?void 0:o.get(a.end),l=e.year!==t?.year||"month"===e.granularity&&"month"!==t.granularity;m.set(a.id,s?v(e,s,l):f(e,l)),t=s??e}let y=c?`${u(n)}, ${n.year}${i?` \xb7 ${i}`:""}`:i?`Times in ${i}`:void 0,w=void 0===e.today?void 0:o.get(e.today);return{...y?{header:y}:{},events:m,...w?{today:`Today \xb7 ${f(w,d)}`}:{}}}(s),o=G(s),r=(o.length?o:[""]).map((e,t)=>{let a=ir[t%ir.length];return{...a,stroke:a.stroke||s.style.accentColor}}),n=l[0]?.date!==void 0,c=[],d=e=>{let t=c.findIndex(t=>t.time===e.time&&t.tie===e.tie);return t>=0?t:(c.push(e),c.length-1)},p=void 0===s.today?void 0:Y(s.today),g=new Map,h=new Map,u=[!1,!0].flatMap(e=>l.flatMap((t,a)=>{let s,l,i=void 0!==t.end;if(i!==e)return[];let o=n?Y(t.date):void 0,r=void 0===t.end?void 0:Y(t.end),c=o?o.start:t.order??a,u=t.lane??"",f=r?(c+r.end)/2:c,v=p&&r&&p.start>c&&p.start<r.end,m=r&&(v||g.has(`${u}\0${f}`))?function(e,t,a){let s=[e,...a.filter(a=>a>e&&a<t),t].toSorted((e,t)=>e-t),l={from:e,to:e};for(let[e,t]of s.slice(1).entries())t-s[e]>l.to-l.from&&(l={from:s[e],to:t});return(l.from+l.to)/2}(c,r.end,[...h.get(u)??[],...v?[p.start]:[]]):f,y=d({time:m,tie:(s=`${u}\0${m}`,l=g.get(s)??0,g.set(s,l+1),h.set(u,[...h.get(u)??[],m]),l)});return[{event:t,index:a,span:i,start:i?d({time:c,tie:0}):y,end:r?d({time:r.end,tie:0}):void 0,stem:y}]})).toSorted((e,t)=>e.index-t.index),f=p?d({time:p.start,tie:0}):void 0,v=c.map((e,t)=>({anchor:e,key:t})).toSorted((e,t)=>e.anchor.time-t.anchor.time||e.anchor.tie-t.anchor.tie),y=new Map(v.map((e,t)=>[e.key,t])),w=v.map(e=>e.anchor),x=u.map(e=>{let t=r[e.event.lane?o.indexOf(e.event.lane):0],a=`event:${e.event.id}`,s=i.events.get(e.event.id),l=[...s?[ic(`date:${a}`,s,14,t.ink)]:[],ic(`label:${a}`,e.event.label,16,m.ink),...e.event.description?[ic(`description:${a}`,e.event.description,13,ii)]:[]];return{event:e.event,index:e.index,lane:e.event.lane?o.indexOf(e.event.lane):0,span:e.span,startKey:y.get(e.start),endKey:y.get(e.end??e.start),stemKey:y.get(e.stem),inset:Math.max(10,(s?l[0].width:0)/2-12),parts:l,width:Math.max(...l.map(e=>e.width)),height:l.reduce((e,t)=>e+t.height,0)+2*(l.length-1)}}),b=void 0===f?void 0:y.get(f),k=Math.min(128,Math.max(72,Math.round((a=Math.floor((t=x.map(e=>e.width).toSorted((e,t)=>e-t)).length/2),((t.length%2?t[a]:(t[a-1]+t[a])/2)+16)/2+8)))),M=1.5*k,C=e=>x.some(t=>t.span&&t.startKey<=e&&t.endKey>e),z=w.slice(1).map((e,t)=>e.time-w[t].time),_=new Map,L=e=>{let t=_.get(e);if(!t){var a;let s,l,i,o=(a=z[e],s=(e,t)=>`${e} ${t}${1===e?"":"s"}`,l=e=>s(Math.max(1,Math.round(a/ia[e])),e),i=e=>{let t=a/ia[e];return s(t<10?Math.round(10*t)/10:Math.round(t),e)},a<1e3?l("millisecond"):a<12e4?i("second"):a<72e5?l("minute"):a<1728e5?l("hour"):a<5184e6?l("day"):a<63113904e3?l("month"):i("year"));t={text:o,half:eU(o,13,200)/2+6},_.set(e,t)}return t},B=[...new Set(x.flatMap(e=>[e.startKey,e.endKey]).map(e=>w.findIndex(t=>t.time===w[e].time)))].toSorted((e,t)=>e-t),A=e=>{let t=new Set(e);if(!n)return{x:w.map((e,t)=>t*k),breaks:t};if(w.length<2)return{x:w.map(()=>0),breaks:t};let a=z.reduce((e,t)=>e+t,0),s=x.length*k,l=10*k,i=a>0?s/a:0,o=[...r.flatMap((e,t)=>x.filter(e=>e.lane===t).toSorted((e,t)=>e.stemKey-t.stemKey).flatMap((e,t,a)=>{let s=a[t-1];return s&&s.stemKey!==e.stemKey?[{from:s.stemKey,to:e.stemKey,min:Math.max(28,e.inset+il+1)}]:[]})),...x.filter(e=>e.span).map(e=>({from:e.startKey,to:e.endKey,min:12}))].filter(e=>e.to>e.from),c=Math.max(28,...o.map(e=>e.min)),d=(e,a)=>{let s=[0],l=0,i=0;return z.forEach((o,r)=>{let n=w[r+1];n.tie>0?s.push(l+n.tie*c):(l=t.has(r)?a?Math.max(l+a.get(r),i+Math.max(M,2*(L(r).half+3+16))):i+M:l+o*e,s.push(l)),i=Math.max(i,s[r+1])}),s},p=()=>{let[e,t]=[d(0),d(1)];return o.map(({from:a,to:s,min:l})=>{let i=e[s]-e[a];return{from:a,to:s,min:l,fixed:i,perScale:t[s]-e[s]-(t[a]-e[a])}})},g=Math.max(0,...x.filter(e=>e.span).map(e=>w[e.endKey].time-w[e.startKey].time)),h=g>0?Math.max(i,2*l/g):1/0,u=i;for(;;){let e=z.reduce((e,a,s)=>e+(t.has(s)?0:a),0),a=t.size&&e>0?Math.min(2*i,Math.max(i,(s-t.size*M)/e)):i,o=p();u=Math.min(Math.max(a,...o.map(({min:e,fixed:t,perScale:a})=>a>0&&t<e?(e-t)/a:0)),h);let r=t.size?2*M:l,n=z.flatMap((e,a)=>t.has(a)||!(e*u>r)||C(a)?[]:[a]);for(let{from:e,to:a,min:s,fixed:l,perScale:i}of o)if(l+i*u<s-1e-6){let s=z.map((e,t)=>({gap:e,key:t})).slice(e,a).filter(({gap:e,key:a})=>e>0&&!t.has(a)).toSorted((e,t)=>t.gap-e.gap||e.key-t.key)[0];s&&n.push(s.key)}if(!n.length)break;for(let e of n)t.add(e)}if(!t.size)return{x:d(u),breaks:t};let f=Math.max(M,...z.map((e,a)=>t.has(a)||C(a)?0:e*u)),v=[...t].filter(e=>z[e]*u>=M),m=Math.min(...v.map(e=>z[e])),y=Math.log2(Math.max(...v.map(e=>z[e]))/m),b=Math.min(.5,y>0?1/y:1/0),_=new Map([...t].map(e=>[e,f*(1+b*Math.log2(Math.max(1,z[e]/m)))])),A=d(u,_),P=new Set(v),S=B.slice(1).flatMap((e,a)=>{let s=B[a],l=z.slice(s,e).map((e,t)=>s+t),i=l.filter(e=>P.has(e)).at(-1);return void 0===i&&l.some(e=>t.has(e))?[]:[{from:s,to:e,elapsed:w[e].time-w[s].time,broken:i}]}),V=e=>A[e.to]-A[e.from];for(let e of S.toSorted((e,t)=>e.elapsed-t.elapsed)){if(void 0===e.broken)continue;let{elapsed:t}=e,a=Math.max(...S.map(e=>1.5*e.elapsed<=t?V(e)+12:e.elapsed<t?V(e):0)),s=Math.min(...S.map(e=>void 0!==e.broken?1/0:e.elapsed>=1.5*t?V(e)-12:e.elapsed>t?V(e):1/0)),l=Math.min(Math.max(V(e),a),s);if(1e-9>Math.abs(l-V(e)))continue;let i=e.broken,o=w.findIndex(e=>e.time===w[i].time);_.set(i,A[i+1]-A[o]+l-V(e)),A=d(u,_)}return{x:A,breaks:t}},P=({x:e,breaks:t})=>{let a=e.map((t,a)=>Math.max(...e.slice(0,a+1))),s=e.map((t,a)=>Math.min(...e.slice(a))),l=t=>(a[t]+e[t+1])/2,i=w.slice(0,-1).flatMap((e,i)=>{if(C(i))return[];let o=s[i+1]-14;if(t.has(i)){let e=l(i)+L(i).half+3+7;return[{key:i,low:e,high:Math.max(e,o),broken:!0}]}let r=a[i]+14;return r<=o?[{key:i,low:r,high:o,broken:!1}]:[]}),r=new Set(x.flatMap(t=>{if(!t.span)return[];let a=e[t.startKey]+Math.max(12,e[t.endKey]-e[t.startKey]);return x.some(s=>!s.span&&s.lane===t.lane&&(s.startKey<t.startKey||s.startKey>=t.endKey)&&e[s.startKey]+ip(s)>e[t.startKey]&&e[s.startKey]-ip(s)<a)?[t.lane]:[]}));return{x:e,breaks:t,reachBefore:a,rowsFor:t=>{let a=e[e.length-1],s=[],l=0,o=-24;for(let e=1;e<t;e+=1){let r=a*e/t,n=i.filter(e=>e.key>=l).map(e=>{let t=Math.min(e.high,Math.max(e.low,r));return{cut:e,at:t,cost:Math.abs(t-r)-(e.broken?k:0)-Math.min(e.high-e.low,2*k)/4}}).toSorted((e,t)=>e.cost-t.cost||e.cut.key-t.cut.key)[0];if(!n)break;s.push({first:l,last:n.cut.key,start:o,end:n.at}),l=n.cut.key+1,o=n.at}return s.push({first:l,last:w.length-1,start:o,end:Math.max(...e)+24}),s},layout:t=>{let a=Math.max(1,o.length);return t.map((t,s)=>{let i=t.start-32*(s>0),o=t=>e[t]-i,n=void 0!==b&&b>=t.first&&b<=t.last?o(b):void 0,c=Array.from({length:a},(e,a)=>(function(e,t,a,s){let l;for(let i of id){let o=function(e,t,a,s,l){let i=[],o=new Map;for(let t of e.filter(e=>e.span).toSorted((e,t)=>e.startKey-t.startKey)){let e=i.findIndex((e,a)=>a>=s&&e<=t.startKey);for(e<0&&(e=Math.max(s,i.length));i.length<e;)i.push(-1/0);i[e]=t.endKey,o.set(t,e)}let r=i.length,n=22+16*Math.max(0,r-1),c=e=>t(e.stemKey),d=e.toSorted((e,t)=>c(t)-c(e)||t.index-e.index),p={"-1":[],1:[]},g={"-1":[],1:[]},h=[],u=(e,t,a=il)=>t>e.left-a&&t<e.right+a,f=-1;d.forEach((e,t)=>{let s=c(e),i=d.slice(t+1).map(c),r=l.lookahead?d[t+2]:void 0,v=(e,t,a)=>{if(!r||t>a)return 0;let s=c(r);return s+10+16>e?1e3:Math.max(0,s+r.width/2+16-e)/2},m=s-e.width+e.inset,y=s-e.inset,w=(o.get(e)??0)>0,x=w?1:f,b=e=>e.option.near-(e.side===x?w?120:1:0),k=t=>[x,-x].flatMap(o=>{let d=((t,o)=>{let d=t<0?22:n,h=p[t],f=p[-t],w=[...g[t],...o&&void 0!==a&&Math.abs(a-s)>=14?[{x:a,reach:1/0}]:[]],x=[d,...h.map(e=>e.far+10)].filter(e=>e>=d).toSorted((e,t)=>e-t),b=s-e.width/2,k=[b,m,y,...h.flatMap(t=>[t.right+16,t.left-16-e.width]),...[...w,...i.map(e=>({x:e,reach:0}))].flatMap(t=>{let a=1/0===t.reach?3*il:il;return[t.x+a,t.x-a-e.width]}),...r?[c(r)+10+16,c(r)+r.width/2+16]:[]].map(e=>Math.min(y,Math.max(m,e)));for(let t of x){let a=t+e.height,o=a=>Math.abs(a-b)+v(a,t,d)+l.coverPenalty*i.slice(1).filter(t=>u({left:a,right:a+e.width},t)).length;for(let l of k.toSorted((e,t)=>o(e)-o(t)||e-t)){let o=l+e.width,r={left:l,right:o};if(h.every(e=>l>=e.right+16||e.left>=o+16||t>=e.far+10||e.near>=a+10)&&h.every(e=>!u(e,s)||e.near>t)&&w.every(e=>!u(r,e.x,1/0===e.reach?3*il:il)||e.reach<=t)&&i.every(e=>!u(r,e)||f.every(t=>!u(t,e))))return{near:t,left:l}}}})(o,t);return d?[{side:o,option:d}]:[]}).toSorted((e,t)=>b(e)-b(t))[0],M=k(!0)??k(!1);if(!M)throw Error(`Timeline label for "${e.event.id}" has no clear placement.`);let{side:C,option:z}=M,{near:_,left:L}=z;p[C].push({left:L,right:L+e.width,near:_,far:_+e.height}),g[C].push({x:s,reach:_});let B=o.get(e)??0,A=16*B;h.push({item:e,stemX:s,side:C,near:_,left:L,stemStart:C>0?A+ip(e):ip(e)-A,track:B}),f=-C});let v=(e,t)=>Math.max(t,...p[e].map(e=>e.far));return{placements:h,above:v(-1,15),below:v(1,Math.max(9,n-22+6)+6),tracks:r}}(e,t,a,s,i);(!l||o.above+o.below<l.above+l.below)&&(l=o)}return l})(x.filter(e=>e.lane===a&&e.startKey>=t.first&&e.startKey<=t.last),o,n,+!!r.has(a)));return{row:t,localX:o,breakX:e=>l(e)-i,todayX:n,lanes:c,axisStart:t.start-i,axisEnd:t.end-i}})}}},S=o.length?Math.max(...o.map(e=>eU(e,15,160)))+20:0,V=i.header,H=i.today,q=(e,t)=>{var a,s;let l,i,n,c,d,p,g,h,u,f,v=e.rowsFor(t);if(v.length<t)return;let m=(a=e.breaks,s=e.layout(v),l=[],i=[],n=[],c=[],d=(e,t)=>{l.push(e),t.push(e.id)},p=(e,t,a={})=>({type:"line",id:e,points:t,...a}),g=(e,t,a,s,l,i,o={})=>({type:"text",id:e,x:a,y:s,text:t,fontSize:l,maxWidth:200,textColor:i,...o}),h=V?Math.ceil(14*1.35):0,u=18*!!H,f=V?h+18:0,s.forEach((e,t)=>{let l=f,h=void 0!==e.todayX;h&&(f+=u+6);let v=t<s.length-1,m=t>0;if(e.lanes.forEach((s,l)=>{let h=r[l],u=f+s.above,y=`${l}:${t}`,w={strokeColor:h.stroke,strokeWidth:2,roughness:0},x=[...a].toSorted((e,t)=>e-t).filter(t=>t>=e.row.first&&t<=e.row.last).map(t=>({x:S+e.breakX(t),...L(t)})),b=[S+e.axisStart,...x.flatMap(e=>[e.x-e.half,e.x+e.half]),S+e.axisEnd];for(let e=0;e<b.length;e+=2)b[e+1]>b[e]&&d(p(`axis:${y}${e?`:${e/2}`:""}`,[{x:b[e],y:u},{x:b[e+1],y:u}],w),i);for(let t of(x.forEach((e,t)=>{for(let a of[-1,1])d(p(`break:${y}:${t}:${a<0?"a":"b"}`,[{x:e.x+a*e.half-3,y:u+7},{x:e.x+a*e.half+3,y:u-7}],w),c);d(g(`break-label:${y}:${t}`,e.text,e.x,u,13,h.ink),c)}),m&&d(p(`continue-in:${y}`,[{x:S,y:u},{x:S+32,y:u}],{...w,strokeStyle:"dashed"}),i),v&&d(p(`continue-out:${y}`,[{x:S+e.axisEnd,y:u},{x:S+e.axisEnd+32,y:u}],{...w,strokeStyle:"dashed",endArrowhead:"arrow"}),i),o.length&&d(g(`lane:${y}`,o[l],S-16-eU(o[l],15,160)/2,u,15,h.ink,{maxWidth:160,textAlign:"right"}),c),s.placements)){let{item:a}=t,s=`event:${a.event.id}`,l={groupIds:[s]},o=u+16*t.track,r=S+t.stemX;if(a.span){let t=S+e.localX(a.startKey);d({type:"node",id:`node:${s}`,nodeId:s,rendererRole:is,shape:"rectangle",x:t,y:o-6,width:Math.max(12,S+e.localX(a.endKey)-t),height:12,label:a.event.label,fillColor:h.wash,strokeColor:h.stroke,...l},n)}else{let e="milestone"===a.event.kind,t=e?18:12;d({type:"node",id:`node:${s}`,nodeId:s,rendererRole:is,shape:e?"diamond":"ellipse",x:r-t/2,y:u-t/2,width:t,height:t,label:a.event.label,fillColor:h.stroke,strokeColor:h.stroke,...l},c)}let f=u+t.side*t.near;d(p(`stem:${s}`,[{x:r,y:u+t.side*t.stemStart},{x:r,y:f}],{strokeColor:"#b9ad95",strokeWidth:1,roughness:0,...l}),i);let v=S+t.left,m=t.side<0?f-a.height:f;for(let e of a.parts){let t=eU(e.text,e.fontSize,200),s=Math.min(Math.max(r,v+t/2),v+a.width-t/2),i=s===r?"center":s<r?"right":"left";d(g(e.id,e.text,s,m+e.height/2,e.fontSize,e.color,{textAlign:i,...l}),c),m+=e.height+2}}f=u+s.below+28*(l<e.lanes.length-1)}),h){let a=S+e.todayX;d(p(`today:${t}`,[{x:a,y:l+u+3},{x:a,y:f}],{strokeColor:io,strokeWidth:1,strokeStyle:"dashed",roughness:0}),i),d(g(`today-label:${t}`,H,a,l+u/2,13,io),c)}f+=48}),f-=48,V&&d(g("header",V,eU(V,14,400)/2,h/2,14,ii,{maxWidth:400,textAlign:"left"}),c),{elements:l,zOrder:[...i,...n,...c],height:f}),y=(e=>{let t=1/0,a=-1/0,s=1/0,l=-1/0,i=(e,i,o,r)=>{t=Math.min(t,e),a=Math.max(a,o),s=Math.min(s,i),l=Math.max(l,r)};for(let t of e)if("line"===t.type||"arrow"===t.type)for(let e of t.points)i(e.x,e.y,e.x,e.y);else if("text"===t.type){let e=eU(t.text,t.fontSize,t.maxWidth??200),a=t.text.split("\n").length*t.fontSize*1.35;i(t.x-e/2,t.y-a/2,t.x+e/2,t.y+a/2)}else("node"===t.type||"frame"===t.type)&&i(t.x,t.y,t.x+t.width,t.y+t.height);return{minX:t,maxX:a,minY:s,maxY:l}})(m.elements),w=Math.abs(Math.log((y.maxX-y.minX+80)/(y.maxY-y.minY+80)/2))+.3*(t-1);return{count:t,composed:m,box:y,score:w}},F=e=>e.reduce((e,t)=>!e||t.score<e.score-1e-9?t:e,void 0),I=({box:e})=>(e.maxX-e.minX+40)/(e.maxY-e.minY+40),U=({x:e,breaks:t,reachBefore:a})=>z.map((t,s)=>({gap:t,key:s,free:e[s+1]-a[s]})).filter(({gap:e,key:a,free:s})=>e>0&&!t.has(a)&&!C(a)&&s>=2*M).toSorted((e,t)=>t.free-e.free||e.key-t.key)[0],O=Math.max(1,Math.min(12,Math.ceil(x.length/2))),E=P(A(new Set)),X=[];for(let e=1;e<=O;e+=1){let t=q(E,e);if(!t)break;X.push(t)}let Z=F(X);if(n&&1===Z.count&&I(Z)>3.5){let e=new Set,t=E,a=Z;for(let s=U(t);s&&I(a)>3.5;s=U(t))e.add(s.key),a=q(t=P(A(e)),1);Z=3.5>=I(a)?a:F(X.slice(1))??a}let{composed:T,box:D}=Z,j=40-D.minX,N=40-D.minY,W=T.elements.map(e=>{if("line"===e.type||"arrow"===e.type){let[t,...a]=e.points.map(e=>({x:e.x+j,y:e.y+N}));return"line"===e.type?{...e,points:[t,a[0],...a.slice(1)]}:{...e,points:[t,...a]}}return{...e,x:e.x+j,y:e.y+N}});return{kind:"canvas",version:1,diagramId:s.id,title:s.title,width:Math.ceil(D.maxX-D.minX+80),height:Math.ceil(D.maxY-D.minY+80),accentColor:s.style.accentColor,backgroundColor:s.style.backgroundColor,elements:W,layers:[],layouts:[],zOrder:T.zOrder}})(rS(p)),catch:e=>new rT({status:"render_failed",context:{...f,issues:[rW({code:"render_failed",stage:"render",ref:{kind:"diagram",id:p.id},message:e instanceof Error?e.message:"Unable to render timeline scene.",hint:"Repair the event dates and ordering and retry."})]}})}).pipe(o.fRP("codeMode.buildTimeline.render")),w=e0(v);if(w.length>0)return yield*new rT({status:"render_failed",context:{...f,issues:r8(w).map(e=>({...e,hint:"Split the chronology into smaller timelines and retry buildTimeline."}))}});let x={...f,partial:nw(v)},b=yield*nk({scene:v,formats:r5(c.options),inlineFormats:r4(c.options),...c.requestId?{requestId:c.requestId}:{},validationIssues:r7}).pipe(o.xm_(e=>new rT({status:e.status,context:{..."export_failed"===e.status?x:f,issues:e.issues}})));return{ok:!0,status:"accepted",buildId:d,...ny(c.requestId),normalizedSpec:p,quality:u,artifact:b,issues:[]}}),n_=l._kM({spec:l.$r1,requestId:l.Qrq(l.$r1)}),nL=l._kM({source:l._kM({scene:l.$r1})}),nB=o.fn("codeMode.canvas.serializedLimit")((e,t)=>o.SvU(()=>lk(e)).pipe(o.YWq({onFailure:()=>rW({code:"invalid_type",stage:"input",ref:{kind:"request",path:t},message:"CanvasSpec could not be serialized as JSON.",hint:"Remove non-JSON values or reduce deeply nested fields and retry."}),onSuccess:e=>e<=eY.maxSerializedBytes?void 0:rW({code:"canvas_limit_exceeded",stage:"canvas",ref:{kind:"request",path:t},message:`CanvasSpec exceeds ${eY.maxSerializedBytes} serialized bytes.`,hint:"Split the visualization into a smaller canvas or reduce repeated text and points."})}))),nA=o.fn("codeMode.createCanvas.workflow")(function*(e){let t=yield*rB,a=yield*o.OH5(()=>t.createId("build")),s=l.q$Z(n_)(e),i=o9.oJ(s)?{spec:s.success.spec,requestId:l.is(l.QfV)(s.success.requestId)?s.success.requestId:void 0}:void 0;if(i){let e=yield*nB(i.spec,"spec");if(e)return yield*new rD({status:"canvas_limit_exceeded"===e.code?"limit_exceeded":"invalid_input",context:{buildId:a,...ny(i.requestId),issues:[e]}})}let r=l.q$Z(sw,{errors:"all",reportInput:!0})(e);if(!o9.oJ(r))return yield*new rD({status:"invalid_input",context:{issues:r1(tH(r.failure))}});let n=r.success,c={buildId:a,...ny(n.requestId)},d=ne(n.spec);if(!d)return yield*new rD({status:"invalid_canvas",context:{...c,issues:[rW({code:"invalid_canvas_geometry",stage:"canvas",ref:{kind:"request",path:"spec.elements"},message:"CanvasSpec contains an invalid point list.",hint:"Provide at least two points for lines/connectors and three points for polygons."})]}});let p=e0(d).filter(e=>"limit_exceeded"===e.code);if(p.length>0)return yield*new rD({status:"limit_exceeded",context:{...c,issues:r8(p)}});let g=yield*rm(function(e){let t=[...e.elements];for(let a of e.layouts)t=function(e,t){switch(t.type){case"row":case"column":case"stack":return function(e,t){let a=e3(e,t.ids),s=a[0];if(!s)return[...e];let l=e2(s),i=t.x??l.x,o=t.y??l.y,r="stack"===t.type?t.gap??0:t.gap??32,n=new Map,c="column"===t.type?o:i;for(let e of a){let a=e2(e);n.set(e.id,{x:"column"===t.type||"stack"===t.type?i:c,y:"column"===t.type?c:o}),"stack"!==t.type&&(c+=("column"===t.type?a.height:a.width)+r)}return e5(e,n)}(e,t);case"grid":return function(e,t){let a=e3(e,t.ids);if(0===a.length)return[...e];let s=Math.max(1,Math.floor(t.columns)),l=a.map(e2),i=Array.from({length:s},(e,t)=>Math.max(0,...l.filter((e,a)=>a%s===t).map(e=>e.width))),o=Array.from({length:Math.ceil(a.length/s)},(e,t)=>Math.max(0,...l.filter((e,a)=>Math.floor(a/s)===t).map(e=>e.height))),r=l[0];if(!r)return[...e];let n=t.x??r.x,c=t.y??r.y,d=t.columnGap??32,p=t.rowGap??32,g=new Map;return a.forEach((e,t)=>{let a=t%s,l=Math.floor(t/s);g.set(e.id,{x:n+i.slice(0,a).reduce((e,t)=>e+t,0)+d*a,y:c+o.slice(0,l).reduce((e,t)=>e+t,0)+p*l})}),e5(e,g)}(e,t);case"align":return function(e,t){let a=e3(e,t.ids);if(0===a.length)return[...e];let s=a.map(e2),l=s.map(e=>e4(e,t.axis)),i=s.map(e=>e4(e,t.axis)+e6(e,t.axis)),o=s.map(e=>e4(e,t.axis)+e6(e,t.axis)/2),r="start"===t.alignment?Math.min(...l):"end"===t.alignment?Math.max(...i):o.reduce((e,t)=>e+t,0)/o.length,n=new Map;return a.forEach((e,a)=>{let l=s[a];if(!l)return;let i="start"===t.alignment?r:"end"===t.alignment?r-e6(l,t.axis):r-e6(l,t.axis)/2;n.set(e.id,{x:"x"===t.axis?i:l.x,y:"y"===t.axis?i:l.y})}),e5(e,n)}(e,t);case"distribute":return function(e,t){let a=e3(e,t.ids).sort((e,a)=>e4(e2(e),t.axis)-e4(e2(a),t.axis));if(a.length<2)return[...e];let s=a.map(e2),l=s[0],i=s[s.length-1];if(!l||!i)return[...e];let o=e4(l,t.axis),r=e4(i,t.axis)+e6(i,t.axis),n=s.reduce((e,a)=>e+e6(a,t.axis),0),c=t.gap??Math.max(0,(r-o-n)/(a.length-1)),d=new Map,p=o;return a.forEach((e,a)=>{let l=s[a];l&&(d.set(e.id,{x:"x"===t.axis?p:l.x,y:"y"===t.axis?p:l.y}),p+=e6(l,t.axis)+c)}),e5(e,d)}(e,t)}}(t,a);let a=function(e){let t=1,a=1;for(let s of e)if(eR(s)){let e=e2(s);t=Math.max(t,e.x+e.width),a=Math.max(a,e.y+e.height)}else if("arrow"===s.type||"line"===s.type)for(let e of s.points)t=Math.max(t,e.x),a=Math.max(a,e.y);return{width:t+48,height:a+48}}(t=function(e){let t=new Map(e.filter(e=>"node"===e.type).map(e=>[e.nodeId,e])),a=new Map;for(let t of e)("node"===t.type||"frame"===t.type)&&a.set(t.id,t);let s=e.map(e=>{if("arrow"===e.type){let a=t.get(e.sourceNodeId),s=t.get(e.targetNodeId);return a&&s?{...e,points:[e8(a,e7(s)),...e.points.slice(1,-1),e8(s,e7(a))]}:e}if("line"===e.type){let t=e.startBinding?a.get(e.startBinding.elementId):void 0,s=e.endBinding?a.get(e.endBinding.elementId):void 0;if(!t&&!s)return e;let l=[e.points[0],e.points[1],...e.points.slice(2)];return t&&(l[0]=e8(t,s?e7(s):l[l.length-1]??l[0])),s&&(l[l.length-1]=e8(s,t?e7(t):l[0])),{...e,points:l}}return e}),l=new Map(s.map(e=>[e.id,e]));return s.map(e=>{if("text"!==e.type||!e.containerId)return e;let t=l.get(e.containerId);if(t?.type==="node"){let a=e7(t);return{...e,x:a.x,y:a.y}}if(t?.type==="arrow"){let a=t.points[0],s=t.points[t.points.length-1]??a;return{...e,x:(a.x+s.x)/2,y:(a.y+s.y)/2}}return e})}(t)),s=e.zOrder.length?[...e.zOrder]:t.map((e,t)=>({element:e,index:t})).sort((e,t)=>(e.element.zIndex??e.index)-(t.element.zIndex??t.index)).map(({element:e})=>e.id);return{...e,width:Math.max(e.width,a.width),height:Math.max(e.height,a.height),elements:t,zOrder:s}}(d),t.icons),h=g.scene,u=function(e){let{icons:t,...a}=e;return a}(h),f=e0(h);if(f.length>0){let e=r8(f);return yield*new rD({status:e.some(e=>"canvas_limit_exceeded"===e.code)?"limit_exceeded":"invalid_canvas",context:{...c,normalizedSpec:u,issues:[...g.issues,...e]}})}let v={...c,normalizedSpec:u,partial:nw(h)},m=yield*nk({scene:h,formats:r5(n.options),inlineFormats:r4(n.options),...n.requestId?{requestId:n.requestId}:{},validationIssues:r9}).pipe(o.xm_(e=>new rD({status:e.status,context:{...v,issues:e.issues}})));return{ok:!0,status:"accepted",buildId:a,...ny(n.requestId),normalizedSpec:u,artifact:m,issues:g.issues}}),nP=o.fn("codeMode.buildFlowchart.workflow")(function*(e){var t,a;let s,i=l.q$Z(aD,{errors:"all",reportInput:!0})(e);if(!o9.oJ(i))return yield*new rY({status:"invalid_input",context:{issues:r1(tH(i.failure))}});let r=yield*rB,n=i.success,c=yield*o.OH5(()=>r.createId("build")),d=(s=tB((a=n.spec).title),{id:rb(a.id)??(s.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,48)||"sketchi-flowchart"),title:s,nodes:a.nodes.map(e=>({id:tB(e.id),label:tB(e.label),kind:e.kind,...e.description?{description:tB(e.description)}:{},...e.icon?{icon:{slug:tB(e.icon.slug)}}:{},...e.group?{group:tB(e.group)}:{}})),edges:a.edges.map((e,t)=>({id:rb(e.id)??`edge-${t+1}`,source:tB(e.source),target:tB(e.target),...e.label?{label:tB(e.label)}:{}})),...a.groups?{groups:a.groups.map(e=>({id:tB(e.id),label:tB(e.label)}))}:{},layout:{direction:a.layout.direction},style:{...y}}),p=rv(d.nodes,r.icons),g={...d,nodes:p.nodes},h={buildId:c,...ny(n.requestId),normalizedSpec:g},u=l.q$Z(et,{errors:"all",reportInput:!0})({id:g.id,title:g.title,type:"flowchart",nodes:g.nodes.map(e=>({...e,metadata:{}})),edges:g.edges.map(e=>({...e,metadata:{}})),...g.groups?{groups:g.groups.map(e=>({...e}))}:{},layout:{direction:g.layout.direction,edgeRouting:"orthogonal"},style:g.style,metadata:{}});if(!o9.oJ(u))return yield*new rY({status:"invalid_flowchart",context:{...h,issues:(t=tH(u.failure),t.issues.slice(0,20).map(e=>{let t=function(e,t){let a=rJ(e.path),s="input"===a?"spec":`spec.${a}`,[l,i]=e.path;if("nodes"===l&&"number"==typeof i){let e=t.nodes[i]?.id;return{kind:"node",...e?{id:e}:{},path:s}}if("edges"===l&&"number"==typeof i){let e=t.edges[i]?.id;return{kind:"edge",...e?{id:e}:{},path:s}}if("groups"===l&&"number"==typeof i){let e=t.groups?.[i]?.id;return{kind:"group",...e?{id:e}:{},path:s}}return{kind:"diagram",id:t.id,path:s}}(e,g);return rW({code:rK(e),stage:"flowchart",ref:t,message:e.message,hint:`Fix ${t.path??"spec"} so normalization produces a valid canonical flowchart value.`})}))}});let f=u.success,v=el(f).map(e=>{let t=function(e){if(e)return{kind:e.kind,...e.id?{id:e.id}:{},...e.path?{path:`spec.${e.path}`}:{}}}(e.ref);return rW({code:e.code,stage:"flowchart",...t?{ref:t}:{},message:e.message,hint:e.hint})});if(v.length>0)return yield*new rY({status:"invalid_flowchart",context:{...h,issues:v}});eo(f);let m=function(e,t){let a=[],s=0,l=(e,t,l,i=!1)=>{s+=e,a.push({...l,passed:!1,severity:i?"error":"warning",message:t})},i=new Map,o=new Map;for(let t of e.edges)i.set(t.source,(i.get(t.source)??0)+1),i.set(t.target,(i.get(t.target)??0)+1),o.set(t.source,[...o.get(t.source)??[],t]);if(e.nodes.length>1&&0===e.edges.length)l(5,"no edges at all — every node floats unconnected",{code:"disconnected_graph",refs:rx(e.nodes)},!0);else{let t=e.nodes.filter(e=>(i.get(e.id)??0)===0);t.length>0&&e.nodes.length>1&&l(Math.min(1.5*t.length,4.5),`unconnected node(s): ${t.map(e=>e.id).join(", ")}`,{code:"disconnected_graph",refs:rx(t)},!0);let a=function(e){let t=new Map;for(let a of e.nodes)t.set(a.id,[]);for(let a of e.edges)t.get(a.source)?.push(a.target),t.get(a.target)?.push(a.source);let a=new Set,s=0;for(let l of e.nodes){if(a.has(l.id))continue;s+=1;let e=[l.id];for(a.add(l.id);e.length>0;){let s=e.pop();if(void 0===s)break;for(let l of t.get(s)??[])a.has(l)||(a.add(l),e.push(l))}}return s}(e);a>1&&0===t.length&&l(2,`diagram splits into ${a} disconnected islands`,{code:"disconnected_graph",refs:rx(e.nodes)},!0)}e.nodes.length<3?l(2,"too sparse — a useful flow needs at least 3 nodes",{code:"graph_too_sparse",refs:[{kind:"diagram",id:e.id,path:"spec.nodes"}]}):e.nodes.length>24&&l(2,"too dense — trim or merge nodes (24 max)",{code:"graph_too_dense",refs:[{kind:"diagram",id:e.id,path:"spec.nodes"}]});let r=new Map;for(let t of e.nodes){let e=t.label.trim().toLowerCase();r.set(e,(r.get(e)??0)+1)}let n=[...r.entries()].filter(([,e])=>e>1);n.length>0&&l(Math.min(n.length,3),`duplicate label(s): ${n.map(([e])=>`"${e}"`).join(", ")}`,{code:"duplicate_label",refs:rx(e.nodes.filter(e=>(r.get(e.label.trim().toLowerCase())??0)>1))});let c=0,d=0;for(let t of e.nodes){if("decision"!==t.kind){t.label.endsWith("?")&&l(0,`question label on non-decision node "${t.id}"; use kind "decision" only for branch points`,{code:"question_label_not_decision",refs:rx([t])});continue}let e=o.get(t.id)??[];e.length<2?(c+=1,l(0,`decision "${t.id}" needs at least 2 outgoing branches`,{code:"underbranched_decision",refs:rx([t])},!0)):e.some(e=>!e.label)&&(d+=1,l(0,`label every branch out of decision "${t.id}" (yes/no, …)`,{code:"unlabeled_decision_branch",refs:rx([t])}))}s+=Math.min(1.5*c,4.5)+Math.min(d,3);let p=e.nodes.filter(e=>e.label.length>42);p.length>0&&l(Math.min(.5*p.length,2),`shorten label(s): ${p.map(e=>e.id).join(", ")}`,{code:"label_too_long",refs:rx(p)});let g=e.nodes.filter(e=>ry.test(e.label.trim()));g.length>0&&l(Math.min(g.length,3),`generic label(s) say nothing: ${g.map(e=>`"${e.label}"`).join(", ")}`,{code:"generic_label",refs:rx(g)}),(e.title.trim().length<4||rw.test(e.title.trim()))&&l(.5,"give the diagram a specific title",{code:"weak_title",refs:[{kind:"diagram",id:e.id,path:"spec.title"}]});let h=Math.max(0,Math.round((10-s)*10)/10);return{accepted:h>=t&&!a.some(e=>"error"===e.severity),score:h,threshold:t,summary:{nodeCount:e.nodes.length,edgeCount:e.edges.length},checks:a}}(f,n.options?.minQualityScore??8),w={...h,quality:m};if(!m.accepted)return yield*new rY({status:"quality_failed",context:{...w,issues:r3(m)}});let x=yield*o.SvU({try:()=>oP(f),catch:e=>new rY({status:"render_failed",context:{...w,issues:[rW({code:"render_failed",stage:"render",ref:{kind:"diagram",id:g.id},message:e instanceof Error?e.message:"Unable to render flowchart scene.",hint:"Simplify the graph or retry with a smaller flowchart."})]}})}).pipe(o.fRP("codeMode.buildFlowchart.render")),b=yield*rm(x,r.icons),k=b.scene,M={...w,partial:nw(k)},C=yield*nk({scene:k,formats:r5(n.options),inlineFormats:r4(n.options),...n.requestId?{requestId:n.requestId}:{},validationIssues:r7}).pipe(o.xm_(e=>new rY({status:e.status,context:{..."export_failed"===e.status?M:w,issues:e.issues}})));return{ok:!0,status:"accepted",buildId:c,...ny(n.requestId),normalizedSpec:g,quality:m,artifact:C,issues:[...p.issues,...b.issues]}}),nS=o.fn("codeMode.getArtifact.workflow")(function*(e){let t=l.q$Z(sC,{errors:"all",reportInput:!0})(e);if(!o9.oJ(t))return yield*new rR({status:"invalid_input",context:{issues:r1(tH(t.failure))}});let a=yield*rB,s=yield*ly,i=t.success,r=yield*s.readManifest(i.artifactId).pipe(o.xm_(e=>new rR({status:"storage_failed",context:{issues:[nb(e,"storage_read_failed")]}})));if(!r)return yield*new rR({status:"not_found",context:{issues:[rW({code:"patch_source_unavailable",stage:"storage",ref:{kind:"artifact",id:i.artifactId},message:`Artifact "${i.artifactId}" was not found.`,hint:"Use the artifactId returned by buildFlowchart or applyDiagramPatch."})]}});let n=i.format??"scene";if(!r.formats.some(e=>e.format===n))return yield*new rR({status:"format_unavailable",context:{issues:[rW({code:"unsupported_artifact_format",stage:"storage",ref:{kind:"artifact",id:i.artifactId},message:`Artifact "${i.artifactId}" does not include format "${n}".`,hint:"Request a format listed in the artifact bundle."})]}});let c=yield*s.read(i.artifactId,n).pipe(o.xm_(e=>new rR({status:"storage_failed",context:{issues:[nb(e,"storage_read_failed")]}})));return c?{ok:!0,artifactId:i.artifactId,diagramId:r.diagramId,format:n,mimeType:c.mimeType,...a.artifactUrl?{url:a.artifactUrl({artifactId:i.artifactId,format:n})}:{},...!0!==i.inline||!lx(n)?{}:{inline:c.data},sizeBytes:c.sizeBytes,...r.provenance?{provenance:r.provenance}:{}}:yield*new rR({status:"format_unavailable",context:{issues:[rW({code:"patch_source_unavailable",stage:"storage",ref:{kind:"artifact",id:i.artifactId},message:`Artifact "${i.artifactId}" format "${n}" could not be read.`,hint:"Retry retrieval or rebuild the artifact."})]}})}),nV=o.fn("codeMode.applyDiagramPatch.workflow")(function*(e){let t,a=l.q$Z(nL)(e),s=o9.oJ(a)?yield*nB(a.success.source.scene,"source.scene"):void 0;if(s)return yield*new r$({status:"invalid_input",context:{issues:[s]}});let i=l.q$Z(sj,{errors:"all",reportInput:!0})(e);if(!o9.oJ(i))return yield*new r$({status:"invalid_input",context:{issues:r1(tH(i.failure))}});let r=yield*rB,n=i.success,c=yield*o.OH5(()=>r.createId("patch")),d={patchId:c,...ny(n.requestId)},p=yield*nm(n).pipe(o.xm_(e=>new r$({status:e.status,context:{...d,...e.context}}))),g={...d,...p.sourceArtifactId?{sourceArtifactId:p.sourceArtifactId}:{}},h=p.scene;if(h.elements.length>eY.maxElements)t=[{code:"limit_exceeded",message:`Canvas exceeds ${eY.maxElements} elements.`,path:"elements"}];else{let e=ne(h);t=e?e0(e).filter(e=>"limit_exceeded"===e.code):[]}if(t.length>0)return yield*new r$({status:"invalid_input",context:{...g,issues:r8(t)}});let u=na(h),f=[];for(let e of n.operations)if((f=function(e,t){switch(t.op){case"setDefaultStyle":case"setStyle":if(t.style.backgroundColor&&(e.backgroundColor=t.style.backgroundColor),"setDefaultStyle"===t.op){for(let a of(t.style.strokeColor&&(e.accentColor=t.style.strokeColor),ns(e)))t.style.fillColor&&(a.fillColor=t.style.fillColor),t.style.strokeColor&&(a.strokeColor=t.style.strokeColor),t.style.textColor&&(a.textColor=t.style.textColor);for(let a of ni(e))t.style.strokeColor&&(a.strokeColor=t.style.strokeColor),t.style.textColor&&(a.textColor=t.style.textColor);for(let a of nl(e))t.style.textColor&&(a.textColor=t.style.textColor);return[]}let a=nr(e,t.selector);if(0===a.nodes.length&&0===a.arrows.length&&0===a.texts.length)return[nn(t)];for(let s of a.nodes)if(t.style.fillColor&&(s.fillColor=t.style.fillColor),t.style.strokeColor&&(s.strokeColor=t.style.strokeColor),t.style.textColor){s.textColor=t.style.textColor;let a=nc(e,s.id);a&&(a.textColor=t.style.textColor)}for(let s of a.arrows)if(t.style.strokeColor&&(s.strokeColor=t.style.strokeColor),t.style.textColor){s.textColor=t.style.textColor;let a=nc(e,s.id);a&&(a.textColor=t.style.textColor)}for(let e of a.texts)t.style.textColor&&(e.textColor=t.style.textColor);return[];case"setShape":let s=nr(e,t.selector);if(0===s.nodes.length)return[nn(t)];let l=[];for(let a of s.nodes){if(a.shape=t.shape,"polygon"===t.shape?a.points=[{x:a.width/2,y:0},{x:a.width,y:a.height/2},{x:a.width/2,y:a.height},{x:0,y:a.height/2}]:delete a.points,"circle"===t.shape){let e=Math.max(a.width,a.height);a.x-=(e-a.width)/2,a.y-=(e-a.height)/2,a.width=e,a.height=e,l.push(a.nodeId)}!function(e,t){let a=nc(e,t.id);a&&(a.x=t.x+t.width/2,a.y=t.y+t.height/2)}(e,a)}return nd(e,l),[];case"translate":return function(e,t){let a=nr(e,t.selector);if(0===a.nodes.length&&0===a.arrows.length&&0===a.texts.length)return[nn(t)];let s=new Set,l=new Set;for(let i of a.nodes){i.x+=t.dx,i.y+=t.dy,s.add(i.nodeId);let a=nc(e,i.id);a&&(a.x+=t.dx,a.y+=t.dy,l.add(a.id))}for(let s of a.arrows){s.points=s.points.map(e=>{var a,s;return a=t.dx,s=t.dy,{x:e.x+a,y:e.y+s}});let a=nc(e,s.id);a&&(a.x+=t.dx,a.y+=t.dy,l.add(a.id))}for(let e of a.texts)l.has(e.id)||(e.x+=t.dx,e.y+=t.dy);return nd(e,[...s]),nu(e),[]}(e,t);case"replaceText":let i=nr(e,t.selector);if(0===i.nodes.length&&0===i.arrows.length&&0===i.texts.length)return[nn(t)];for(let a of i.nodes){a.label=t.text;let s=nc(e,a.id);s&&(s.text=t.text)}for(let a of i.arrows){a.label=t.text;let s=nc(e,a.id);s&&(s.text=t.text)}for(let e of i.texts)e.text=t.text;return[];case"rerouteEdges":let o;return 0===(o=nr(e,t.selector)).arrows.length?[nn(t)]:o.arrows.flatMap(t=>nh(e,t));case"insert":let r=new Set(e.elements.map(e=>e.id)),n=t.elements.map(e=>e.id);if(new Set(n).size!==n.length||n.some(e=>r.has(e)))return nv(t,"Inserted elements must use ids that are unique within the canvas.");let c=nf(e.zOrder,t.beforeId,t.afterId);return void 0===c?nv(t,"Insert specifies an unknown anchor or both beforeId and afterId."):(e.elements.push(...t.elements.map(e=>structuredClone(e))),e.zOrder.splice(c,0,...n),[]);case"remove":return function(e,t){let a,s=function(e,t){let a=nr(e,t),s=new Set([...a.nodes.map(e=>e.id),...a.arrows.map(e=>e.id),...a.texts.map(e=>e.id)]),l=new Set(t.ids??[]);for(let t of e.elements)l.has(t.id)&&s.add(t.id);return s}(e,t.selector);if(0===s.size)return[nn(t)];let l=new Set(e.elements.flatMap(e=>"node"===e.type&&s.has(e.id)?[e.nodeId]:[]));do for(let t of(a=s.size,e.elements))("text"===t.type&&(t.containerId&&s.has(t.containerId)||ni(e).some(a=>s.has(a.id)&&nc(e,a.id)?.id===t.id))||"arrow"===t.type&&(l.has(t.sourceNodeId)||l.has(t.targetNodeId))||"line"===t.type&&(t.startBinding&&s.has(t.startBinding.elementId)||t.endBinding&&s.has(t.endBinding.elementId)))&&s.add(t.id);while(s.size!==a)let i=e.elements.filter(e=>!s.has(e.id)).map(e=>{if(e.frameId&&s.has(e.frameId)){let{frameId:t,...a}=e;return a}return e});e.elements.splice(0,e.elements.length,...i);let o=e.zOrder.filter(e=>!s.has(e));e.zOrder.splice(0,e.zOrder.length,...o);let r=e.layouts.map(e=>({...e,ids:e.ids.filter(e=>!s.has(e))})).filter(e=>e.ids.length>0);return e.layouts.splice(0,e.layouts.length,...r),nu(e),[]}(e,t);case"replace":let d;return(d=e.elements.findIndex(e=>e.id===t.id))<0?[nn(t)]:t.element.id!==t.id?nv(t,"Replacement element id must match the stable id being replaced."):(e.elements.splice(d,1,structuredClone(t.element)),nu(e),[]);case"reorder":let p=new Set(t.ids);if(p.size!==t.ids.length||t.ids.some(t=>!e.zOrder.includes(t)))return nv(t,"Reorder ids must be unique ids already present in zOrder.");let g=e.zOrder.filter(e=>!p.has(e)),h=nf(g,t.beforeId,t.afterId);return void 0===h?nv(t,"Reorder specifies an unknown anchor or both beforeId and afterId."):(g.splice(h,0,...t.ids),e.zOrder.splice(0,e.zOrder.length,...g),[]);case"group":case"ungroup":let u=new Set(t.ids);if(t.ids.some(t=>!e.elements.some(e=>e.id===t)))return[nn(t)];let f=e.elements.map(e=>u.has(e.id)?"group"===t.op?{...e,groupIds:[...new Set([...e.groupIds??[],t.groupId])]}:{...e,groupIds:t.groupId?(e.groupIds??[]).filter(e=>e!==t.groupId):[]}:e);return e.elements.splice(0,e.elements.length,...f),[]}}(h,e)).length>0)break;if(f.length>0)return yield*new r$({status:f[0]?.code==="unknown_patch_target"?"target_not_found":"unsupported_operation",context:{...g,issues:f}});if(n.options?.preserveConnectivity!==!1){let e=na(h);if(!(u.length===e.length&&u.every((t,a)=>t===e[a])))return yield*new r$({status:"connectivity_changed",context:{...g,issues:[rW({code:"patch_preserve_connectivity_failed",stage:"flowchart",ref:{kind:"diagram",id:h.diagramId},message:"Patch changed the diagram edge connectivity.",hint:"Use buildFlowchart for process-graph structure or buildMindmap for hierarchy structure."})]}})}let v=ne(h);if(!v)return yield*new r$({status:"render_failed",context:{...g,issues:[rW({code:"patch_output_invalid",stage:"render",ref:{kind:"diagram",id:h.diagramId},message:"Patched scene has an invalid arrow point list.",hint:"Reroute edges or rebuild the flowchart artifact."})]}});let m=yield*rm(v,r.icons),y=m.scene,w=e0(y);if(w.length>0)return yield*new r$({status:"render_failed",context:{...g,partial:nw(y),issues:[...m.issues,...r8(w)]}});let x={...g,partial:nw(y)},b=yield*nk({scene:y,formats:r5(n.options),inlineFormats:r4(n.options),...n.requestId?{requestId:n.requestId}:{},validationIssues:r9,...p.sourceArtifactId?{provenance:{sourceArtifactId:p.sourceArtifactId}}:{}}).pipe(o.xm_(e=>new r$({status:e.status,context:{..."export_failed"===e.status?x:g,issues:e.issues}})));return{ok:!0,status:"accepted",patchId:c,...ny(n.requestId),...p.sourceArtifactId?{sourceArtifactId:p.sourceArtifactId}:{},artifact:b,issues:m.issues}}),nH=o.fn("codeMode.searchIcons.workflow")(function*(e){let t=l.q$Z(lg,{errors:"all",reportInput:!0})(e);if(!o9.oJ(t))return yield*new rj({status:"invalid_input",context:{issues:r1(tH(t.failure))}});let a=yield*rB,s=tB(t.success.q),i=a.icons?.search(s,t.success.limit??10)??[];return{ok:!0,status:"accepted",query:s,icons:i.map(({collection:e,name:t,slug:a})=>({collection:e,name:t,slug:a})),issues:a.icons?[]:[rW({code:"unknown_icon",severity:"warning",stage:"input",ref:{kind:"request",path:"q"},message:"This Sketchi runtime has no icon catalog.",hint:"Omit node icons on this host."})]}});function nq(e,t,a){return o.fn(`codeMode.${e}`)(s=>{var l,i,n;let c,d,p,g;return l=e,i=s,n=t(s).pipe(o.YWq({onFailure:a,onSuccess:e=>e})),o7(o.JkU(function*(){let e=yield*r.Ru,t=yield*n,a=yield*r.Ru,s=t.ok?"success":"failure",i=t.ok?void 0:t.status??"unknown_failure";yield*o8(rC,1,{...i?{failureCategory:i}:{},operation:l,outcome:s,surface:"code_mode"}),yield*o8(rL,a-e,{...i?{failureCategory:i}:{},operation:l,outcome:s,surface:"code_mode"}),i&&(yield*o8(rz,1,{failureCategory:i,operation:l,surface:"code_mode"}));let o="buildFlowchart"===l?"flowchart":"buildMindmap"===l?"mindmap":"buildSequenceDiagram"===l?"sequence":"buildTimeline"===l?"timeline":"createCanvas"===l?"canvas":"applyDiagramPatch"===l?"patch":void 0;return t.ok&&o&&(yield*o8(r_,1,{artifactKind:o,operation:l,surface:"code_mode"})),t}),(c=rP(i),d=rP(c?.source),p="string"==typeof c?.artifactId?c.artifactId:"string"==typeof d?.artifactId?d.artifactId:void 0,g="string"==typeof c?.requestId?c.requestId:void 0,{...p?{artifactId:p}:{},...g?{requestId:g}:{}}))})}let nF=nq("buildFlowchart",nP,nx),nI=nq("buildMindmap",nM,nx),nU=nq("buildSequenceDiagram",nC,nx),nO=nq("buildTimeline",nz,nx);nq("createCanvas",nA,nx),nq("getArtifact",nS,nx),nq("searchIcons",nH,nx);let nE=nq("applyDiagramPatch",nV,nx),nX=g,nY={flowchart:aB,mindmap:a0,sequence:aH,timeline:aF};function nZ(e){return nX.some(t=>t===e)}function nG(e,t){let a={spec:e.spec,...t?{options:t}:{}};switch(e.type){case"flowchart":return nF(a);case"mindmap":return nI(a);case"sequence":return nU(a);case"timeline":return nO(a)}}},4733(e,t,a){function s(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function l(e){return Array.isArray(e)&&e.every(e=>"string"==typeof e)}function i(e){var t;return s(e)&&l(e.aliases)&&"number"==typeof e.bytes&&"string"==typeof e.collection&&l(e.keywords)&&"string"==typeof e.name&&"string"==typeof e.slug&&"string"==typeof e.svgPath&&(void 0===e.variant||"string"==typeof e.variant)&&s(t=e.viewBox)&&"number"==typeof t.height&&"number"==typeof t.minX&&"number"==typeof t.minY&&"number"==typeof t.width}function o(e){if(!s(e)||1!==e.version||!Array.isArray(e.icons)||!e.icons.every(i)||!s(e.summary)||"number"!=typeof e.summary.totalIcons||void 0!==e.generatedAt&&"string"!=typeof e.generatedAt)throw Error("Icon manifest does not match the public contract.");return{..."string"==typeof e.generatedAt?{generatedAt:e.generatedAt}:{},icons:e.icons,summary:{collectionCounts:function(e){if(!s(e))throw Error("Icon manifest collection counts are invalid.");let t={};for(let[a,s]of Object.entries(e)){if("number"!=typeof s)throw Error(`Icon manifest count for ${a} is invalid.`);t[a]=s}return t}(e.summary.collectionCounts),totalIcons:e.summary.totalIcons},version:1}}function r(e){return"gcp"===e?"Google Cloud":"gcp-legacy"===e?"Google Cloud Classic":e.split("-").map(e=>["ai","ci","iot","paas"].includes(e)?e.toUpperCase():e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}a.d(t,{L:()=>o,y:()=>r})},8713(e,t,a){let s=/<svg\b[^>]*>/u,l=/\sviewBox\s*=\s*(["'])([^"']*)\1/u;function i(e){return void 0===e.variant&&e.bytes<=65536}function o(e){let t=s.exec(e);if(!t)throw Error("Node logo source has no <svg> root element.");let a=t[0],i=l.exec(a)?.[2]?.trim().split(/[\s,]+/u).map(Number);if(!i||4!==i.length||i.some(e=>!Number.isFinite(e))||!((i[2]??0)>0&&(i[3]??0)>0))throw Error("Node logo source has no valid viewBox.");let o=[/\sxmlns\s*=/u.test(a)?"":' xmlns="http://www.w3.org/2000/svg"',/\swidth\s*=/u.test(a)?"":` width="${i[2]}"`,/\sheight\s*=/u.test(a)?"":` height="${i[3]}"`].join("");if(!o)return e;let r=t.index+4;return`${e.slice(0,r)}${o}${e.slice(r)}`}a.d(t,{Bn:()=>o,nC:()=>i})},9095(e){e.exports=JSON.parse('[{"name":"Agola CI","constant":"AGOLA","env":"AGOLA_GIT_REF","pr":"AGOLA_PULL_REQUEST_ID"},{"name":"Alpic","constant":"ALPIC","env":"ALPIC_HOST"},{"name":"Appcircle","constant":"APPCIRCLE","env":"AC_APPCIRCLE","pr":{"env":"AC_GIT_PR","ne":"false"}},{"name":"AppVeyor","constant":"APPVEYOR","env":"APPVEYOR","pr":"APPVEYOR_PULL_REQUEST_NUMBER"},{"name":"AWS CodeBuild","constant":"CODEBUILD","env":"CODEBUILD_BUILD_ARN","pr":{"env":"CODEBUILD_WEBHOOK_EVENT","any":["PULL_REQUEST_CREATED","PULL_REQUEST_UPDATED","PULL_REQUEST_REOPENED"]}},{"name":"Azure Pipelines","constant":"AZURE_PIPELINES","env":"TF_BUILD","pr":{"BUILD_REASON":"PullRequest"}},{"name":"Bamboo","constant":"BAMBOO","env":"bamboo_planKey"},{"name":"Bitbucket Pipelines","constant":"BITBUCKET","env":"BITBUCKET_COMMIT","pr":"BITBUCKET_PR_ID"},{"name":"Bitrise","constant":"BITRISE","env":"BITRISE_IO","pr":"BITRISE_PULL_REQUEST"},{"name":"Buddy","constant":"BUDDY","env":"BUDDY_WORKSPACE_ID","pr":"BUDDY_EXECUTION_PULL_REQUEST_ID"},{"name":"Buildkite","constant":"BUILDKITE","env":"BUILDKITE","pr":{"env":"BUILDKITE_PULL_REQUEST","ne":"false"}},{"name":"CircleCI","constant":"CIRCLE","env":"CIRCLECI","pr":"CIRCLE_PULL_REQUEST"},{"name":"Cirrus CI","constant":"CIRRUS","env":"CIRRUS_CI","pr":"CIRRUS_PR"},{"name":"Cloudflare Pages","constant":"CLOUDFLARE_PAGES","env":"CF_PAGES"},{"name":"Cloudflare Workers","constant":"CLOUDFLARE_WORKERS","env":"WORKERS_CI"},{"name":"Codefresh","constant":"CODEFRESH","env":"CF_BUILD_ID","pr":{"any":["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{"name":"Codemagic","constant":"CODEMAGIC","env":"CM_BUILD_ID","pr":"CM_PULL_REQUEST"},{"name":"Codeship","constant":"CODESHIP","env":{"CI_NAME":"codeship"}},{"name":"Drone","constant":"DRONE","env":"DRONE","pr":{"DRONE_BUILD_EVENT":"pull_request"}},{"name":"dsari","constant":"DSARI","env":"DSARI"},{"name":"Earthly","constant":"EARTHLY","env":"EARTHLY_CI"},{"name":"Expo Application Services","constant":"EAS","env":"EAS_BUILD"},{"name":"Gerrit","constant":"GERRIT","env":"GERRIT_PROJECT"},{"name":"Gitea Actions","constant":"GITEA_ACTIONS","env":"GITEA_ACTIONS"},{"name":"GitHub Actions","constant":"GITHUB_ACTIONS","env":"GITHUB_ACTIONS","pr":{"GITHUB_EVENT_NAME":"pull_request"}},{"name":"GitLab CI","constant":"GITLAB","env":"GITLAB_CI","pr":"CI_MERGE_REQUEST_ID"},{"name":"GoCD","constant":"GOCD","env":"GO_PIPELINE_LABEL"},{"name":"Google Cloud Build","constant":"GOOGLE_CLOUD_BUILD","env":"BUILDER_OUTPUT"},{"name":"Harness CI","constant":"HARNESS","env":"HARNESS_BUILD_ID"},{"name":"Heroku","constant":"HEROKU","env":{"env":"NODE","includes":"/app/.heroku/node/bin/node"}},{"name":"Hudson","constant":"HUDSON","env":"HUDSON_URL"},{"name":"Jenkins","constant":"JENKINS","env":["JENKINS_URL","BUILD_ID"],"pr":{"any":["ghprbPullId","CHANGE_ID"]}},{"name":"LayerCI","constant":"LAYERCI","env":"LAYERCI","pr":"LAYERCI_PULL_REQUEST"},{"name":"Magnum CI","constant":"MAGNUM","env":"MAGNUM"},{"name":"Netlify CI","constant":"NETLIFY","env":"NETLIFY","pr":{"env":"PULL_REQUEST","ne":"false"}},{"name":"Nevercode","constant":"NEVERCODE","env":"NEVERCODE","pr":{"env":"NEVERCODE_PULL_REQUEST","ne":"false"}},{"name":"Prow","constant":"PROW","env":"PROW_JOB_ID"},{"name":"ReleaseHub","constant":"RELEASEHUB","env":"RELEASE_BUILD_ID"},{"name":"Render","constant":"RENDER","env":"RENDER","pr":{"IS_PULL_REQUEST":"true"}},{"name":"Sail CI","constant":"SAIL","env":"SAILCI","pr":"SAIL_PULL_REQUEST_NUMBER"},{"name":"Screwdriver","constant":"SCREWDRIVER","env":"SCREWDRIVER","pr":{"env":"SD_PULL_REQUEST","ne":"false"}},{"name":"Semaphore","constant":"SEMAPHORE","env":"SEMAPHORE","pr":"PULL_REQUEST_NUMBER"},{"name":"Sourcehut","constant":"SOURCEHUT","env":{"CI_NAME":"sourcehut"}},{"name":"Strider CD","constant":"STRIDER","env":"STRIDER"},{"name":"TaskCluster","constant":"TASKCLUSTER","env":["TASK_ID","RUN_ID"]},{"name":"TeamCity","constant":"TEAMCITY","env":"TEAMCITY_VERSION"},{"name":"Travis CI","constant":"TRAVIS","env":"TRAVIS","pr":{"env":"TRAVIS_PULL_REQUEST","ne":"false"}},{"name":"Vela","constant":"VELA","env":"VELA","pr":{"VELA_PULL_REQUEST":"1"}},{"name":"Vercel","constant":"VERCEL","env":{"any":["NOW_BUILDER","VERCEL"]},"pr":"VERCEL_GIT_PULL_REQUEST_ID"},{"name":"Visual Studio App Center","constant":"APPCENTER","env":"APPCENTER_BUILD_ID"},{"name":"Woodpecker","constant":"WOODPECKER","env":{"CI":"woodpecker"},"pr":{"CI_BUILD_EVENT":"pull_request"}},{"name":"Xcode Cloud","constant":"XCODE_CLOUD","env":"CI_XCODE_PROJECT","pr":"CI_PULL_REQUEST_NUMBER"},{"name":"Xcode Server","constant":"XCODE_SERVER","env":"XCS"}]')}},r={};function n(e){var t=r[e];if(void 0!==t)return t.exports;var a=r[e]={exports:{}};return o[e].call(a.exports,a,a.exports,n),a.exports}n.m=o,n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},s=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,n.t=function(e,t){if(1&t&&(e=this(e)),8&t||"object"==typeof e&&e&&(4&t&&e.__esModule||16&t&&"function"==typeof e.then))return e;var l=Object.create(null);n.r(l);var i={};a=a||[null,s({}),s([]),s(s)];for(var o=2&t&&e;("object"==typeof o||"function"==typeof o)&&!~a.indexOf(o);o=s(o))Object.getOwnPropertyNames(o).forEach(t=>{i[t]=()=>e[t]});return i.default=()=>e,n.d(l,i),l},n.d=(e,t,a)=>{var s=(t,a)=>{for(var s in t)n.o(t,s)&&!n.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,[a]:t[s]})};s(t,"get"),s(a,"value")},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce((t,a)=>(n.f[a](e,t),t),[])),n.u=e=>"chunks/"+e+"."+({548:"7c734cd41f2be66d",712:"c9f90bea59c7bb4a"})[e]+".js",n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nc=void 0,l={889:0},i=e=>{var t,a,s=e.__rspack_esm_ids,i=e.__webpack_modules__,o=e.__rspack_esm_runtime,r=0;for(t in i)n.o(i,t)&&(n.m[t]=i[t]);for(o&&o(n);r<s.length;r++)a=s[r],n.o(l,a)&&l[a]&&l[a][0](),l[s[r]]=0},n.f.j=function(e,t){var a=n.o(l,e)?l[e]:void 0;if(0!==a)if(a)t.push(a[1]);else{var s=import("./"+n.u(e)).then(i,t=>{throw 0!==l[e]&&(l[e]=void 0),t}),s=Promise.race([s,new Promise(t=>{a=l[e]=[t]})]);t.push(a[1]=s)}},n(2141);