builder.io 1.6.87 → 1.6.89

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cli/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- var t$=Object.create;var Xp=Object.defineProperty;var r$=Object.getOwnPropertyDescriptor;var n$=Object.getOwnPropertyNames;var i$=Object.getPrototypeOf,s$=Object.prototype.hasOwnProperty;var o$=(e,t)=>()=>(e&&(t=e(e=0)),t);var D=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),P1=(e,t)=>{for(var r in t)Xp(e,r,{get:t[r],enumerable:!0})},I1=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of n$(t))!s$.call(e,i)&&i!==r&&Xp(e,i,{get:()=>t[i],enumerable:!(n=r$(t,i))||n.enumerable});return e};var q=(e,t,r)=>(r=e!=null?t$(i$(e)):{},I1(t||!e||!e.__esModule?Xp(r,"default",{value:e,enumerable:!0}):r,e)),a$=e=>I1(Xp({},"__esModule",{value:!0}),e);var f=o$(()=>{{let e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"3ee63d7177847df83500d43b77f5fe6f8f3a8b62"}}});var k1=D((wfe,_1)=>{f();function yg(e){return e==null?[]:Array.isArray(e)?e:[e]}function c$(e,t,r,n){var i,s=e[t],o=~n.string.indexOf(t)?r==null||r===!0?"":String(r):typeof r=="boolean"?r:~n.boolean.indexOf(t)?r==="false"?!1:r==="true"||(e._.push((i=+r,i*0===0?i:r)),!!r):(i=+r,i*0===0?i:r);e[t]=s==null?o:Array.isArray(s)?s.concat(o):[s,o]}_1.exports=function(e,t){e=e||[],t=t||{};var r,n,i,s,o,a={_:[]},c=0,l=0,u=0,p=e.length;let d=t.alias!==void 0,h=t.unknown!==void 0,m=t.default!==void 0;if(t.alias=t.alias||{},t.string=yg(t.string),t.boolean=yg(t.boolean),d)for(r in t.alias)for(n=t.alias[r]=yg(t.alias[r]),c=0;c<n.length;c++)(t.alias[n[c]]=n.concat(r)).splice(c,1);for(c=t.boolean.length;c-- >0;)for(n=t.alias[t.boolean[c]]||[],l=n.length;l-- >0;)t.boolean.push(n[l]);for(c=t.string.length;c-- >0;)for(n=t.alias[t.string[c]]||[],l=n.length;l-- >0;)t.string.push(n[l]);if(m){for(r in t.default)if(s=typeof t.default[r],n=t.alias[r]=t.alias[r]||[],t[s]!==void 0)for(t[s].push(r),c=0;c<n.length;c++)t[s].push(n[c])}let g=h?Object.keys(t.alias):[];for(c=0;c<p;c++){if(i=e[c],i==="--"){a._=a._.concat(e.slice(++c));break}for(l=0;l<i.length&&i.charCodeAt(l)===45;l++);if(l===0)a._.push(i);else if(i.substring(l,l+3)==="no-"){if(s=i.substring(l+3),h&&!~g.indexOf(s))return t.unknown(i);a[s]=!1}else{for(u=l+1;u<i.length&&i.charCodeAt(u)!==61;u++);for(s=i.substring(l,u),o=i.substring(++u)||c+1===p||(""+e[c+1]).charCodeAt(0)===45||e[++c],n=l===2?[s]:s,u=0;u<n.length;u++){if(s=n[u],h&&!~g.indexOf(s))return t.unknown("-".repeat(l)+s);c$(a,s,u+1<n.length||o,t)}}}if(m)for(r in t.default)a[r]===void 0&&(a[r]=t.default[r]);if(d)for(r in a)for(n=t.alias[r]||[];n.length>0;)a[n.shift()]=a[r];return a}});var ed=D((Pfe,L1)=>{"use strict";f();var wg="\x1B",Dt=`${wg}[`,u$="\x07",Cg={to(e,t){return t?`${Dt}${t+1};${e+1}H`:`${Dt}${e+1}G`},move(e,t){let r="";return e<0?r+=`${Dt}${-e}D`:e>0&&(r+=`${Dt}${e}C`),t<0?r+=`${Dt}${-t}A`:t>0&&(r+=`${Dt}${t}B`),r},up:(e=1)=>`${Dt}${e}A`,down:(e=1)=>`${Dt}${e}B`,forward:(e=1)=>`${Dt}${e}C`,backward:(e=1)=>`${Dt}${e}D`,nextLine:(e=1)=>`${Dt}E`.repeat(e),prevLine:(e=1)=>`${Dt}F`.repeat(e),left:`${Dt}G`,hide:`${Dt}?25l`,show:`${Dt}?25h`,save:`${wg}7`,restore:`${wg}8`},p$={up:(e=1)=>`${Dt}S`.repeat(e),down:(e=1)=>`${Dt}T`.repeat(e)},d$={screen:`${Dt}2J`,up:(e=1)=>`${Dt}1J`.repeat(e),down:(e=1)=>`${Dt}J`.repeat(e),line:`${Dt}2K`,lineEnd:`${Dt}K`,lineStart:`${Dt}1K`,lines(e){let t="";for(let r=0;r<e;r++)t+=this.line+(r<e-1?Cg.up():"");return e&&(t+=Cg.left),t}};L1.exports={cursor:Cg,scroll:p$,erase:d$,beep:u$}});var it=D((_fe,Dg)=>{f();var rd=process||{},B1=rd.argv||[],td=rd.env||{},f$=!(td.NO_COLOR||B1.includes("--no-color"))&&(!!td.FORCE_COLOR||B1.includes("--color")||rd.platform==="win32"||(rd.stdout||{}).isTTY&&td.TERM!=="dumb"||!!td.CI),m$=(e,t,r=e)=>n=>{let i=""+n,s=i.indexOf(t,e.length);return~s?e+h$(i,t,r,s)+t:e+i+t},h$=(e,t,r,n)=>{let i="",s=0;do i+=e.substring(s,n)+r,s=n+t.length,n=e.indexOf(t,s);while(~n);return i+e.substring(s)},M1=(e=f$)=>{let t=e?m$:()=>String;return{isColorSupported:e,reset:t("\x1B[0m","\x1B[0m"),bold:t("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:t("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:t("\x1B[3m","\x1B[23m"),underline:t("\x1B[4m","\x1B[24m"),inverse:t("\x1B[7m","\x1B[27m"),hidden:t("\x1B[8m","\x1B[28m"),strikethrough:t("\x1B[9m","\x1B[29m"),black:t("\x1B[30m","\x1B[39m"),red:t("\x1B[31m","\x1B[39m"),green:t("\x1B[32m","\x1B[39m"),yellow:t("\x1B[33m","\x1B[39m"),blue:t("\x1B[34m","\x1B[39m"),magenta:t("\x1B[35m","\x1B[39m"),cyan:t("\x1B[36m","\x1B[39m"),white:t("\x1B[37m","\x1B[39m"),gray:t("\x1B[90m","\x1B[39m"),bgBlack:t("\x1B[40m","\x1B[49m"),bgRed:t("\x1B[41m","\x1B[49m"),bgGreen:t("\x1B[42m","\x1B[49m"),bgYellow:t("\x1B[43m","\x1B[49m"),bgBlue:t("\x1B[44m","\x1B[49m"),bgMagenta:t("\x1B[45m","\x1B[49m"),bgCyan:t("\x1B[46m","\x1B[49m"),bgWhite:t("\x1B[47m","\x1B[49m"),blackBright:t("\x1B[90m","\x1B[39m"),redBright:t("\x1B[91m","\x1B[39m"),greenBright:t("\x1B[92m","\x1B[39m"),yellowBright:t("\x1B[93m","\x1B[39m"),blueBright:t("\x1B[94m","\x1B[39m"),magentaBright:t("\x1B[95m","\x1B[39m"),cyanBright:t("\x1B[96m","\x1B[39m"),whiteBright:t("\x1B[97m","\x1B[39m"),bgBlackBright:t("\x1B[100m","\x1B[49m"),bgRedBright:t("\x1B[101m","\x1B[49m"),bgGreenBright:t("\x1B[102m","\x1B[49m"),bgYellowBright:t("\x1B[103m","\x1B[49m"),bgBlueBright:t("\x1B[104m","\x1B[49m"),bgMagentaBright:t("\x1B[105m","\x1B[49m"),bgCyanBright:t("\x1B[106m","\x1B[49m"),bgWhiteBright:t("\x1B[107m","\x1B[49m")}};Dg.exports=M1();Dg.exports.createColors=M1});var Lg=D((Yfe,pC)=>{"use strict";f();pC.exports=function(){if(process.env.npm_config_user_agent)return H$(process.env.npm_config_user_agent)};function H$(e){let t=e.split(" ")[0],r=t.lastIndexOf("/"),n=t.substring(0,r);return{name:n==="npminstall"?"cnpm":n,version:t.substring(r+1)}}});var $D=D((Fxe,Sd)=>{f();Sd.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;Sd.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;Sd.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/});var oy=D((Oxe,UD)=>{f();var sy=$D();UD.exports={isSpaceSeparator(e){return typeof e=="string"&&sy.Space_Separator.test(e)},isIdStartChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||sy.ID_Start.test(e))},isIdContinueChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="\u200C"||e==="\u200D"||sy.ID_Continue.test(e))},isDigit(e){return typeof e=="string"&&/[0-9]/.test(e)},isHexDigit(e){return typeof e=="string"&&/[0-9A-Fa-f]/.test(e)}}});var KD=D((Bxe,zD)=>{f();var zt=oy(),cy,Cr,Wi,Ad,Ps,zn,Kt,py,Cl;zD.exports=function(t,r){cy=String(t),Cr="start",Wi=[],Ad=0,Ps=1,zn=0,Kt=void 0,py=void 0,Cl=void 0;do Kt=dj(),hj[Cr]();while(Kt.type!=="eof");return typeof r=="function"?ly({"":Cl},"",r):Cl};function ly(e,t,r){let n=e[t];if(n!=null&&typeof n=="object")if(Array.isArray(n))for(let i=0;i<n.length;i++){let s=String(i),o=ly(n,s,r);o===void 0?delete n[s]:Object.defineProperty(n,s,{value:o,writable:!0,enumerable:!0,configurable:!0})}else for(let i in n){let s=ly(n,i,r);s===void 0?delete n[i]:Object.defineProperty(n,i,{value:s,writable:!0,enumerable:!0,configurable:!0})}return r.call(e,t,n)}var ve,ge,wl,Vi,Te;function dj(){for(ve="default",ge="",wl=!1,Vi=1;;){Te=Ji();let e=qD[ve]();if(e)return e}}function Ji(){if(cy[Ad])return String.fromCodePoint(cy.codePointAt(Ad))}function z(){let e=Ji();return e===`
1
+ var t$=Object.create;var Xp=Object.defineProperty;var r$=Object.getOwnPropertyDescriptor;var n$=Object.getOwnPropertyNames;var i$=Object.getPrototypeOf,s$=Object.prototype.hasOwnProperty;var o$=(e,t)=>()=>(e&&(t=e(e=0)),t);var D=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),P1=(e,t)=>{for(var r in t)Xp(e,r,{get:t[r],enumerable:!0})},I1=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of n$(t))!s$.call(e,i)&&i!==r&&Xp(e,i,{get:()=>t[i],enumerable:!(n=r$(t,i))||n.enumerable});return e};var q=(e,t,r)=>(r=e!=null?t$(i$(e)):{},I1(t||!e||!e.__esModule?Xp(r,"default",{value:e,enumerable:!0}):r,e)),a$=e=>I1(Xp({},"__esModule",{value:!0}),e);var f=o$(()=>{{let e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"cd7cb32e67779114643fd051e404fe087e520b4b"}}});var k1=D((wfe,_1)=>{f();function yg(e){return e==null?[]:Array.isArray(e)?e:[e]}function c$(e,t,r,n){var i,s=e[t],o=~n.string.indexOf(t)?r==null||r===!0?"":String(r):typeof r=="boolean"?r:~n.boolean.indexOf(t)?r==="false"?!1:r==="true"||(e._.push((i=+r,i*0===0?i:r)),!!r):(i=+r,i*0===0?i:r);e[t]=s==null?o:Array.isArray(s)?s.concat(o):[s,o]}_1.exports=function(e,t){e=e||[],t=t||{};var r,n,i,s,o,a={_:[]},c=0,l=0,u=0,p=e.length;let d=t.alias!==void 0,h=t.unknown!==void 0,m=t.default!==void 0;if(t.alias=t.alias||{},t.string=yg(t.string),t.boolean=yg(t.boolean),d)for(r in t.alias)for(n=t.alias[r]=yg(t.alias[r]),c=0;c<n.length;c++)(t.alias[n[c]]=n.concat(r)).splice(c,1);for(c=t.boolean.length;c-- >0;)for(n=t.alias[t.boolean[c]]||[],l=n.length;l-- >0;)t.boolean.push(n[l]);for(c=t.string.length;c-- >0;)for(n=t.alias[t.string[c]]||[],l=n.length;l-- >0;)t.string.push(n[l]);if(m){for(r in t.default)if(s=typeof t.default[r],n=t.alias[r]=t.alias[r]||[],t[s]!==void 0)for(t[s].push(r),c=0;c<n.length;c++)t[s].push(n[c])}let g=h?Object.keys(t.alias):[];for(c=0;c<p;c++){if(i=e[c],i==="--"){a._=a._.concat(e.slice(++c));break}for(l=0;l<i.length&&i.charCodeAt(l)===45;l++);if(l===0)a._.push(i);else if(i.substring(l,l+3)==="no-"){if(s=i.substring(l+3),h&&!~g.indexOf(s))return t.unknown(i);a[s]=!1}else{for(u=l+1;u<i.length&&i.charCodeAt(u)!==61;u++);for(s=i.substring(l,u),o=i.substring(++u)||c+1===p||(""+e[c+1]).charCodeAt(0)===45||e[++c],n=l===2?[s]:s,u=0;u<n.length;u++){if(s=n[u],h&&!~g.indexOf(s))return t.unknown("-".repeat(l)+s);c$(a,s,u+1<n.length||o,t)}}}if(m)for(r in t.default)a[r]===void 0&&(a[r]=t.default[r]);if(d)for(r in a)for(n=t.alias[r]||[];n.length>0;)a[n.shift()]=a[r];return a}});var ed=D((Pfe,L1)=>{"use strict";f();var wg="\x1B",Dt=`${wg}[`,u$="\x07",Cg={to(e,t){return t?`${Dt}${t+1};${e+1}H`:`${Dt}${e+1}G`},move(e,t){let r="";return e<0?r+=`${Dt}${-e}D`:e>0&&(r+=`${Dt}${e}C`),t<0?r+=`${Dt}${-t}A`:t>0&&(r+=`${Dt}${t}B`),r},up:(e=1)=>`${Dt}${e}A`,down:(e=1)=>`${Dt}${e}B`,forward:(e=1)=>`${Dt}${e}C`,backward:(e=1)=>`${Dt}${e}D`,nextLine:(e=1)=>`${Dt}E`.repeat(e),prevLine:(e=1)=>`${Dt}F`.repeat(e),left:`${Dt}G`,hide:`${Dt}?25l`,show:`${Dt}?25h`,save:`${wg}7`,restore:`${wg}8`},p$={up:(e=1)=>`${Dt}S`.repeat(e),down:(e=1)=>`${Dt}T`.repeat(e)},d$={screen:`${Dt}2J`,up:(e=1)=>`${Dt}1J`.repeat(e),down:(e=1)=>`${Dt}J`.repeat(e),line:`${Dt}2K`,lineEnd:`${Dt}K`,lineStart:`${Dt}1K`,lines(e){let t="";for(let r=0;r<e;r++)t+=this.line+(r<e-1?Cg.up():"");return e&&(t+=Cg.left),t}};L1.exports={cursor:Cg,scroll:p$,erase:d$,beep:u$}});var it=D((_fe,Dg)=>{f();var rd=process||{},B1=rd.argv||[],td=rd.env||{},f$=!(td.NO_COLOR||B1.includes("--no-color"))&&(!!td.FORCE_COLOR||B1.includes("--color")||rd.platform==="win32"||(rd.stdout||{}).isTTY&&td.TERM!=="dumb"||!!td.CI),m$=(e,t,r=e)=>n=>{let i=""+n,s=i.indexOf(t,e.length);return~s?e+h$(i,t,r,s)+t:e+i+t},h$=(e,t,r,n)=>{let i="",s=0;do i+=e.substring(s,n)+r,s=n+t.length,n=e.indexOf(t,s);while(~n);return i+e.substring(s)},M1=(e=f$)=>{let t=e?m$:()=>String;return{isColorSupported:e,reset:t("\x1B[0m","\x1B[0m"),bold:t("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:t("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:t("\x1B[3m","\x1B[23m"),underline:t("\x1B[4m","\x1B[24m"),inverse:t("\x1B[7m","\x1B[27m"),hidden:t("\x1B[8m","\x1B[28m"),strikethrough:t("\x1B[9m","\x1B[29m"),black:t("\x1B[30m","\x1B[39m"),red:t("\x1B[31m","\x1B[39m"),green:t("\x1B[32m","\x1B[39m"),yellow:t("\x1B[33m","\x1B[39m"),blue:t("\x1B[34m","\x1B[39m"),magenta:t("\x1B[35m","\x1B[39m"),cyan:t("\x1B[36m","\x1B[39m"),white:t("\x1B[37m","\x1B[39m"),gray:t("\x1B[90m","\x1B[39m"),bgBlack:t("\x1B[40m","\x1B[49m"),bgRed:t("\x1B[41m","\x1B[49m"),bgGreen:t("\x1B[42m","\x1B[49m"),bgYellow:t("\x1B[43m","\x1B[49m"),bgBlue:t("\x1B[44m","\x1B[49m"),bgMagenta:t("\x1B[45m","\x1B[49m"),bgCyan:t("\x1B[46m","\x1B[49m"),bgWhite:t("\x1B[47m","\x1B[49m"),blackBright:t("\x1B[90m","\x1B[39m"),redBright:t("\x1B[91m","\x1B[39m"),greenBright:t("\x1B[92m","\x1B[39m"),yellowBright:t("\x1B[93m","\x1B[39m"),blueBright:t("\x1B[94m","\x1B[39m"),magentaBright:t("\x1B[95m","\x1B[39m"),cyanBright:t("\x1B[96m","\x1B[39m"),whiteBright:t("\x1B[97m","\x1B[39m"),bgBlackBright:t("\x1B[100m","\x1B[49m"),bgRedBright:t("\x1B[101m","\x1B[49m"),bgGreenBright:t("\x1B[102m","\x1B[49m"),bgYellowBright:t("\x1B[103m","\x1B[49m"),bgBlueBright:t("\x1B[104m","\x1B[49m"),bgMagentaBright:t("\x1B[105m","\x1B[49m"),bgCyanBright:t("\x1B[106m","\x1B[49m"),bgWhiteBright:t("\x1B[107m","\x1B[49m")}};Dg.exports=M1();Dg.exports.createColors=M1});var Lg=D((Yfe,pC)=>{"use strict";f();pC.exports=function(){if(process.env.npm_config_user_agent)return H$(process.env.npm_config_user_agent)};function H$(e){let t=e.split(" ")[0],r=t.lastIndexOf("/"),n=t.substring(0,r);return{name:n==="npminstall"?"cnpm":n,version:t.substring(r+1)}}});var $D=D((Fxe,Sd)=>{f();Sd.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;Sd.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;Sd.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/});var oy=D((Oxe,UD)=>{f();var sy=$D();UD.exports={isSpaceSeparator(e){return typeof e=="string"&&sy.Space_Separator.test(e)},isIdStartChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||sy.ID_Start.test(e))},isIdContinueChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="\u200C"||e==="\u200D"||sy.ID_Continue.test(e))},isDigit(e){return typeof e=="string"&&/[0-9]/.test(e)},isHexDigit(e){return typeof e=="string"&&/[0-9A-Fa-f]/.test(e)}}});var KD=D((Bxe,zD)=>{f();var zt=oy(),cy,Cr,Wi,Ad,Ps,zn,Kt,py,Cl;zD.exports=function(t,r){cy=String(t),Cr="start",Wi=[],Ad=0,Ps=1,zn=0,Kt=void 0,py=void 0,Cl=void 0;do Kt=dj(),hj[Cr]();while(Kt.type!=="eof");return typeof r=="function"?ly({"":Cl},"",r):Cl};function ly(e,t,r){let n=e[t];if(n!=null&&typeof n=="object")if(Array.isArray(n))for(let i=0;i<n.length;i++){let s=String(i),o=ly(n,s,r);o===void 0?delete n[s]:Object.defineProperty(n,s,{value:o,writable:!0,enumerable:!0,configurable:!0})}else for(let i in n){let s=ly(n,i,r);s===void 0?delete n[i]:Object.defineProperty(n,i,{value:s,writable:!0,enumerable:!0,configurable:!0})}return r.call(e,t,n)}var ve,ge,wl,Vi,Te;function dj(){for(ve="default",ge="",wl=!1,Vi=1;;){Te=Ji();let e=qD[ve]();if(e)return e}}function Ji(){if(cy[Ad])return String.fromCodePoint(cy.codePointAt(Ad))}function z(){let e=Ji();return e===`
2
2
  `?(Ps++,zn=0):e?zn+=e.length:zn++,e&&(Ad+=e.length),e}var qD={default(){switch(Te){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
3
3
  `:case"\r":case"\u2028":case"\u2029":z();return;case"/":z(),ve="comment";return;case void 0:return z(),ft("eof")}if(zt.isSpaceSeparator(Te)){z();return}return qD[Cr]()},comment(){switch(Te){case"*":z(),ve="multiLineComment";return;case"/":z(),ve="singleLineComment";return}throw mt(z())},multiLineComment(){switch(Te){case"*":z(),ve="multiLineCommentAsterisk";return;case void 0:throw mt(z())}z()},multiLineCommentAsterisk(){switch(Te){case"*":z();return;case"/":z(),ve="default";return;case void 0:throw mt(z())}z(),ve="multiLineComment"},singleLineComment(){switch(Te){case`
4
4
  `:case"\r":case"\u2028":case"\u2029":z(),ve="default";return;case void 0:return z(),ft("eof")}z()},value(){switch(Te){case"{":case"[":return ft("punctuator",z());case"n":return z(),uo("ull"),ft("null",null);case"t":return z(),uo("rue"),ft("boolean",!0);case"f":return z(),uo("alse"),ft("boolean",!1);case"-":case"+":z()==="-"&&(Vi=-1),ve="sign";return;case".":ge=z(),ve="decimalPointLeading";return;case"0":ge=z(),ve="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":ge=z(),ve="decimalInteger";return;case"I":return z(),uo("nfinity"),ft("numeric",1/0);case"N":return z(),uo("aN"),ft("numeric",NaN);case'"':case"'":wl=z()==='"',ge="",ve="string";return}throw mt(z())},identifierNameStartEscape(){if(Te!=="u")throw mt(z());z();let e=uy();switch(e){case"$":case"_":break;default:if(!zt.isIdStartChar(e))throw jD();break}ge+=e,ve="identifierName"},identifierName(){switch(Te){case"$":case"_":case"\u200C":case"\u200D":ge+=z();return;case"\\":z(),ve="identifierNameEscape";return}if(zt.isIdContinueChar(Te)){ge+=z();return}return ft("identifier",ge)},identifierNameEscape(){if(Te!=="u")throw mt(z());z();let e=uy();switch(e){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!zt.isIdContinueChar(e))throw jD();break}ge+=e,ve="identifierName"},sign(){switch(Te){case".":ge=z(),ve="decimalPointLeading";return;case"0":ge=z(),ve="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":ge=z(),ve="decimalInteger";return;case"I":return z(),uo("nfinity"),ft("numeric",Vi*(1/0));case"N":return z(),uo("aN"),ft("numeric",NaN)}throw mt(z())},zero(){switch(Te){case".":ge+=z(),ve="decimalPoint";return;case"e":case"E":ge+=z(),ve="decimalExponent";return;case"x":case"X":ge+=z(),ve="hexadecimal";return}return ft("numeric",Vi*0)},decimalInteger(){switch(Te){case".":ge+=z(),ve="decimalPoint";return;case"e":case"E":ge+=z(),ve="decimalExponent";return}if(zt.isDigit(Te)){ge+=z();return}return ft("numeric",Vi*Number(ge))},decimalPointLeading(){if(zt.isDigit(Te)){ge+=z(),ve="decimalFraction";return}throw mt(z())},decimalPoint(){switch(Te){case"e":case"E":ge+=z(),ve="decimalExponent";return}if(zt.isDigit(Te)){ge+=z(),ve="decimalFraction";return}return ft("numeric",Vi*Number(ge))},decimalFraction(){switch(Te){case"e":case"E":ge+=z(),ve="decimalExponent";return}if(zt.isDigit(Te)){ge+=z();return}return ft("numeric",Vi*Number(ge))},decimalExponent(){switch(Te){case"+":case"-":ge+=z(),ve="decimalExponentSign";return}if(zt.isDigit(Te)){ge+=z(),ve="decimalExponentInteger";return}throw mt(z())},decimalExponentSign(){if(zt.isDigit(Te)){ge+=z(),ve="decimalExponentInteger";return}throw mt(z())},decimalExponentInteger(){if(zt.isDigit(Te)){ge+=z();return}return ft("numeric",Vi*Number(ge))},hexadecimal(){if(zt.isHexDigit(Te)){ge+=z(),ve="hexadecimalInteger";return}throw mt(z())},hexadecimalInteger(){if(zt.isHexDigit(Te)){ge+=z();return}return ft("numeric",Vi*Number(ge))},string(){switch(Te){case"\\":z(),ge+=fj();return;case'"':if(wl)return z(),ft("string",ge);ge+=z();return;case"'":if(!wl)return z(),ft("string",ge);ge+=z();return;case`
@@ -102,7 +102,7 @@ Please see the 3.x to 4.x migration guide for details on how to update your app.
102
102
  `+Object.keys(n).map(i=>`${i}: ${n[i]}`).join(`\r
103
103
  `)+`\r
104
104
  \r
105
- `+r)}function ea(e,t,r,n,i){if(e.listenerCount("wsClientError")){let s=new Error(i);Error.captureStackTrace(s,ea),e.emit("wsClientError",s,r,t)}else Vp(r,n,i)}});var xfe={};P1(xfe,{default:()=>bfe});module.exports=a$(xfe);f();f();try{let e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="27285b6c-cc77-4d93-b7a7-4f97edd22c0f",e._sentryDebugIdIdentifier="sentry-dbid-27285b6c-cc77-4d93-b7a7-4f97edd22c0f")}catch{}f();var K9=require("../core/index.cjs"),H9=require("../node/index.cjs"),V9=require("../server/index.cjs"),W9=q(k1(),1);f();f();var Wh=require("fs/promises");f();var bg=q(require("prettier"),1),N1=require("module"),F1=q(require("path"),1);function l$(e){if(!e)return bg.default;try{let r=(0,N1.createRequire)(e)("prettier");if(!r)throw new Error("Prettier not found");return r}catch{return bg.default}}async function Zr(e,t,r,n){try{let i=F1.default.resolve(e,n??"file.tsx"),s=l$(i),o=await s.resolveConfig(i);return o?await s.format(t,{...o,filepath:n,parser:r}):await s.format(t,{filepath:n,parser:r})}catch{return t}}f();var FB=require("http");f();var xg="preview-url";var sa="framework",Qp="platform",Zp="node",R1="/~builder-connect",so="/~builder-connected",vg="/~builder-dev-tools",Eg="/~builder-dev-tools.js",oo="/~builder-dev-tools-close",O1="/mappings";var RB=require("os"),$i=require("path"),ni=require("fs");f();var ld=require("util");f();var lr=q(ed(),1),aa=require("process"),ws=q(require("readline"),1),Ag=q(require("readline"),1),V1=require("stream"),W1=q(it(),1);function g$({onlyFirst:e=!1}={}){let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}var y$=g$();function J1(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(y$,"")}function Y1(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var X1={exports:{}};(function(e){var t={};e.exports=t,t.eastAsianWidth=function(n){var i=n.charCodeAt(0),s=n.length==2?n.charCodeAt(1):0,o=i;return 55296<=i&&i<=56319&&56320<=s&&s<=57343&&(i&=1023,s&=1023,o=i<<10|s,o+=65536),o==12288||65281<=o&&o<=65376||65504<=o&&o<=65510?"F":o==8361||65377<=o&&o<=65470||65474<=o&&o<=65479||65482<=o&&o<=65487||65490<=o&&o<=65495||65498<=o&&o<=65500||65512<=o&&o<=65518?"H":4352<=o&&o<=4447||4515<=o&&o<=4519||4602<=o&&o<=4607||9001<=o&&o<=9002||11904<=o&&o<=11929||11931<=o&&o<=12019||12032<=o&&o<=12245||12272<=o&&o<=12283||12289<=o&&o<=12350||12353<=o&&o<=12438||12441<=o&&o<=12543||12549<=o&&o<=12589||12593<=o&&o<=12686||12688<=o&&o<=12730||12736<=o&&o<=12771||12784<=o&&o<=12830||12832<=o&&o<=12871||12880<=o&&o<=13054||13056<=o&&o<=19903||19968<=o&&o<=42124||42128<=o&&o<=42182||43360<=o&&o<=43388||44032<=o&&o<=55203||55216<=o&&o<=55238||55243<=o&&o<=55291||63744<=o&&o<=64255||65040<=o&&o<=65049||65072<=o&&o<=65106||65108<=o&&o<=65126||65128<=o&&o<=65131||110592<=o&&o<=110593||127488<=o&&o<=127490||127504<=o&&o<=127546||127552<=o&&o<=127560||127568<=o&&o<=127569||131072<=o&&o<=194367||177984<=o&&o<=196605||196608<=o&&o<=262141?"W":32<=o&&o<=126||162<=o&&o<=163||165<=o&&o<=166||o==172||o==175||10214<=o&&o<=10221||10629<=o&&o<=10630?"Na":o==161||o==164||167<=o&&o<=168||o==170||173<=o&&o<=174||176<=o&&o<=180||182<=o&&o<=186||188<=o&&o<=191||o==198||o==208||215<=o&&o<=216||222<=o&&o<=225||o==230||232<=o&&o<=234||236<=o&&o<=237||o==240||242<=o&&o<=243||247<=o&&o<=250||o==252||o==254||o==257||o==273||o==275||o==283||294<=o&&o<=295||o==299||305<=o&&o<=307||o==312||319<=o&&o<=322||o==324||328<=o&&o<=331||o==333||338<=o&&o<=339||358<=o&&o<=359||o==363||o==462||o==464||o==466||o==468||o==470||o==472||o==474||o==476||o==593||o==609||o==708||o==711||713<=o&&o<=715||o==717||o==720||728<=o&&o<=731||o==733||o==735||768<=o&&o<=879||913<=o&&o<=929||931<=o&&o<=937||945<=o&&o<=961||963<=o&&o<=969||o==1025||1040<=o&&o<=1103||o==1105||o==8208||8211<=o&&o<=8214||8216<=o&&o<=8217||8220<=o&&o<=8221||8224<=o&&o<=8226||8228<=o&&o<=8231||o==8240||8242<=o&&o<=8243||o==8245||o==8251||o==8254||o==8308||o==8319||8321<=o&&o<=8324||o==8364||o==8451||o==8453||o==8457||o==8467||o==8470||8481<=o&&o<=8482||o==8486||o==8491||8531<=o&&o<=8532||8539<=o&&o<=8542||8544<=o&&o<=8555||8560<=o&&o<=8569||o==8585||8592<=o&&o<=8601||8632<=o&&o<=8633||o==8658||o==8660||o==8679||o==8704||8706<=o&&o<=8707||8711<=o&&o<=8712||o==8715||o==8719||o==8721||o==8725||o==8730||8733<=o&&o<=8736||o==8739||o==8741||8743<=o&&o<=8748||o==8750||8756<=o&&o<=8759||8764<=o&&o<=8765||o==8776||o==8780||o==8786||8800<=o&&o<=8801||8804<=o&&o<=8807||8810<=o&&o<=8811||8814<=o&&o<=8815||8834<=o&&o<=8835||8838<=o&&o<=8839||o==8853||o==8857||o==8869||o==8895||o==8978||9312<=o&&o<=9449||9451<=o&&o<=9547||9552<=o&&o<=9587||9600<=o&&o<=9615||9618<=o&&o<=9621||9632<=o&&o<=9633||9635<=o&&o<=9641||9650<=o&&o<=9651||9654<=o&&o<=9655||9660<=o&&o<=9661||9664<=o&&o<=9665||9670<=o&&o<=9672||o==9675||9678<=o&&o<=9681||9698<=o&&o<=9701||o==9711||9733<=o&&o<=9734||o==9737||9742<=o&&o<=9743||9748<=o&&o<=9749||o==9756||o==9758||o==9792||o==9794||9824<=o&&o<=9825||9827<=o&&o<=9829||9831<=o&&o<=9834||9836<=o&&o<=9837||o==9839||9886<=o&&o<=9887||9918<=o&&o<=9919||9924<=o&&o<=9933||9935<=o&&o<=9953||o==9955||9960<=o&&o<=9983||o==10045||o==10071||10102<=o&&o<=10111||11093<=o&&o<=11097||12872<=o&&o<=12879||57344<=o&&o<=63743||65024<=o&&o<=65039||o==65533||127232<=o&&o<=127242||127248<=o&&o<=127277||127280<=o&&o<=127337||127344<=o&&o<=127386||917760<=o&&o<=917999||983040<=o&&o<=1048573||1048576<=o&&o<=1114109?"A":"N"},t.characterLength=function(n){var i=this.eastAsianWidth(n);return i=="F"||i=="W"||i=="A"?2:1};function r(n){return n.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}t.length=function(n){for(var i=r(n),s=0,o=0;o<i.length;o++)s=s+this.characterLength(i[o]);return s},t.slice=function(n,i,s){textLen=t.length(n),i=i||0,s=s||1,i<0&&(i=textLen+i),s<0&&(s=textLen+s);for(var o="",a=0,c=r(n),l=0;l<c.length;l++){var u=c[l],p=t.length(u);if(a>=i-(p==2?1:0))if(a+p<=s)o+=u;else break;a+=p}return o}})(X1);var b$=X1.exports,x$=Y1(b$),v$=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},E$=Y1(v$);function al(e,t={}){if(typeof e!="string"||e.length===0||(t={ambiguousIsNarrow:!0,...t},e=J1(e),e.length===0))return 0;e=e.replace(E$()," ");let r=t.ambiguousIsNarrow?1:2,n=0;for(let i of e){let s=i.codePointAt(0);if(!(s<=31||s>=127&&s<=159||s>=768&&s<=879))switch(x$.eastAsianWidth(i)){case"F":case"W":n+=2;break;case"A":n+=r;break;default:n+=1}}return n}var Sg=10,$1=(e=0)=>t=>`\x1B[${t+e}m`,U1=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,j1=(e=0)=>(t,r,n)=>`\x1B[${38+e};2;${t};${r};${n}m`,bt={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(bt.modifier);var w$=Object.keys(bt.color),C$=Object.keys(bt.bgColor);[...w$,...C$];function D$(){let e=new Map;for(let[t,r]of Object.entries(bt)){for(let[n,i]of Object.entries(r))bt[n]={open:`\x1B[${i[0]}m`,close:`\x1B[${i[1]}m`},r[n]=bt[n],e.set(i[0],i[1]);Object.defineProperty(bt,t,{value:r,enumerable:!1})}return Object.defineProperty(bt,"codes",{value:e,enumerable:!1}),bt.color.close="\x1B[39m",bt.bgColor.close="\x1B[49m",bt.color.ansi=$1(),bt.color.ansi256=U1(),bt.color.ansi16m=j1(),bt.bgColor.ansi=$1(Sg),bt.bgColor.ansi256=U1(Sg),bt.bgColor.ansi16m=j1(Sg),Object.defineProperties(bt,{rgbToAnsi256:{value:(t,r,n)=>t===r&&r===n?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5),enumerable:!1},hexToRgb:{value:t=>{let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!r)return[0,0,0];let[n]=r;n.length===3&&(n=[...n].map(s=>s+s).join(""));let i=Number.parseInt(n,16);return[i>>16&255,i>>8&255,i&255]},enumerable:!1},hexToAnsi256:{value:t=>bt.rgbToAnsi256(...bt.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value:t=>{if(t<8)return 30+t;if(t<16)return 90+(t-8);let r,n,i;if(t>=232)r=((t-232)*10+8)/255,n=r,i=r;else{t-=16;let a=t%36;r=Math.floor(t/36)/5,n=Math.floor(a/6)/5,i=a%6/5}let s=Math.max(r,n,i)*2;if(s===0)return 30;let o=30+(Math.round(i)<<2|Math.round(n)<<1|Math.round(r));return s===2&&(o+=60),o},enumerable:!1},rgbToAnsi:{value:(t,r,n)=>bt.ansi256ToAnsi(bt.rgbToAnsi256(t,r,n)),enumerable:!1},hexToAnsi:{value:t=>bt.ansi256ToAnsi(bt.hexToAnsi256(t)),enumerable:!1}}),bt}var S$=D$(),cd=new Set(["\x1B","\x9B"]),T$=39,Ig="\x07",Q1="[",A$="]",Z1="m",_g=`${A$}8;;`,q1=e=>`${cd.values().next().value}${Q1}${e}${Z1}`,G1=e=>`${cd.values().next().value}${_g}${e}${Ig}`,P$=e=>e.split(" ").map(t=>al(t)),Tg=(e,t,r)=>{let n=[...t],i=!1,s=!1,o=al(J1(e[e.length-1]));for(let[a,c]of n.entries()){let l=al(c);if(o+l<=r?e[e.length-1]+=c:(e.push(c),o=0),cd.has(c)&&(i=!0,s=n.slice(a+1).join("").startsWith(_g)),i){s?c===Ig&&(i=!1,s=!1):c===Z1&&(i=!1);continue}o+=l,o===r&&a<n.length-1&&(e.push(""),o=0)}!o&&e[e.length-1].length>0&&e.length>1&&(e[e.length-2]+=e.pop())},I$=e=>{let t=e.split(" "),r=t.length;for(;r>0&&!(al(t[r-1])>0);)r--;return r===t.length?e:t.slice(0,r).join(" ")+t.slice(r).join("")},_$=(e,t,r={})=>{if(r.trim!==!1&&e.trim()==="")return"";let n="",i,s,o=P$(e),a=[""];for(let[l,u]of e.split(" ").entries()){r.trim!==!1&&(a[a.length-1]=a[a.length-1].trimStart());let p=al(a[a.length-1]);if(l!==0&&(p>=t&&(r.wordWrap===!1||r.trim===!1)&&(a.push(""),p=0),(p>0||r.trim===!1)&&(a[a.length-1]+=" ",p++)),r.hard&&o[l]>t){let d=t-p,h=1+Math.floor((o[l]-d-1)/t);Math.floor((o[l]-1)/t)<h&&a.push(""),Tg(a,u,t);continue}if(p+o[l]>t&&p>0&&o[l]>0){if(r.wordWrap===!1&&p<t){Tg(a,u,t);continue}a.push("")}if(p+o[l]>t&&r.wordWrap===!1){Tg(a,u,t);continue}a[a.length-1]+=u}r.trim!==!1&&(a=a.map(l=>I$(l)));let c=[...a.join(`
105
+ `+r)}function ea(e,t,r,n,i){if(e.listenerCount("wsClientError")){let s=new Error(i);Error.captureStackTrace(s,ea),e.emit("wsClientError",s,r,t)}else Vp(r,n,i)}});var xfe={};P1(xfe,{default:()=>bfe});module.exports=a$(xfe);f();f();try{let e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="cc944e7d-506e-41ad-8dd6-7cc600242b87",e._sentryDebugIdIdentifier="sentry-dbid-cc944e7d-506e-41ad-8dd6-7cc600242b87")}catch{}f();var K9=require("../core/index.cjs"),H9=require("../node/index.cjs"),V9=require("../server/index.cjs"),W9=q(k1(),1);f();f();var Wh=require("fs/promises");f();var bg=q(require("prettier"),1),N1=require("module"),F1=q(require("path"),1);function l$(e){if(!e)return bg.default;try{let r=(0,N1.createRequire)(e)("prettier");if(!r)throw new Error("Prettier not found");return r}catch{return bg.default}}async function Zr(e,t,r,n){try{let i=F1.default.resolve(e,n??"file.tsx"),s=l$(i),o=await s.resolveConfig(i);return o?await s.format(t,{...o,filepath:n,parser:r}):await s.format(t,{filepath:n,parser:r})}catch{return t}}f();var FB=require("http");f();var xg="preview-url";var sa="framework",Qp="platform",Zp="node",R1="/~builder-connect",so="/~builder-connected",vg="/~builder-dev-tools",Eg="/~builder-dev-tools.js",oo="/~builder-dev-tools-close",O1="/mappings";var RB=require("os"),$i=require("path"),ni=require("fs");f();var ld=require("util");f();var lr=q(ed(),1),aa=require("process"),ws=q(require("readline"),1),Ag=q(require("readline"),1),V1=require("stream"),W1=q(it(),1);function g$({onlyFirst:e=!1}={}){let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}var y$=g$();function J1(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(y$,"")}function Y1(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var X1={exports:{}};(function(e){var t={};e.exports=t,t.eastAsianWidth=function(n){var i=n.charCodeAt(0),s=n.length==2?n.charCodeAt(1):0,o=i;return 55296<=i&&i<=56319&&56320<=s&&s<=57343&&(i&=1023,s&=1023,o=i<<10|s,o+=65536),o==12288||65281<=o&&o<=65376||65504<=o&&o<=65510?"F":o==8361||65377<=o&&o<=65470||65474<=o&&o<=65479||65482<=o&&o<=65487||65490<=o&&o<=65495||65498<=o&&o<=65500||65512<=o&&o<=65518?"H":4352<=o&&o<=4447||4515<=o&&o<=4519||4602<=o&&o<=4607||9001<=o&&o<=9002||11904<=o&&o<=11929||11931<=o&&o<=12019||12032<=o&&o<=12245||12272<=o&&o<=12283||12289<=o&&o<=12350||12353<=o&&o<=12438||12441<=o&&o<=12543||12549<=o&&o<=12589||12593<=o&&o<=12686||12688<=o&&o<=12730||12736<=o&&o<=12771||12784<=o&&o<=12830||12832<=o&&o<=12871||12880<=o&&o<=13054||13056<=o&&o<=19903||19968<=o&&o<=42124||42128<=o&&o<=42182||43360<=o&&o<=43388||44032<=o&&o<=55203||55216<=o&&o<=55238||55243<=o&&o<=55291||63744<=o&&o<=64255||65040<=o&&o<=65049||65072<=o&&o<=65106||65108<=o&&o<=65126||65128<=o&&o<=65131||110592<=o&&o<=110593||127488<=o&&o<=127490||127504<=o&&o<=127546||127552<=o&&o<=127560||127568<=o&&o<=127569||131072<=o&&o<=194367||177984<=o&&o<=196605||196608<=o&&o<=262141?"W":32<=o&&o<=126||162<=o&&o<=163||165<=o&&o<=166||o==172||o==175||10214<=o&&o<=10221||10629<=o&&o<=10630?"Na":o==161||o==164||167<=o&&o<=168||o==170||173<=o&&o<=174||176<=o&&o<=180||182<=o&&o<=186||188<=o&&o<=191||o==198||o==208||215<=o&&o<=216||222<=o&&o<=225||o==230||232<=o&&o<=234||236<=o&&o<=237||o==240||242<=o&&o<=243||247<=o&&o<=250||o==252||o==254||o==257||o==273||o==275||o==283||294<=o&&o<=295||o==299||305<=o&&o<=307||o==312||319<=o&&o<=322||o==324||328<=o&&o<=331||o==333||338<=o&&o<=339||358<=o&&o<=359||o==363||o==462||o==464||o==466||o==468||o==470||o==472||o==474||o==476||o==593||o==609||o==708||o==711||713<=o&&o<=715||o==717||o==720||728<=o&&o<=731||o==733||o==735||768<=o&&o<=879||913<=o&&o<=929||931<=o&&o<=937||945<=o&&o<=961||963<=o&&o<=969||o==1025||1040<=o&&o<=1103||o==1105||o==8208||8211<=o&&o<=8214||8216<=o&&o<=8217||8220<=o&&o<=8221||8224<=o&&o<=8226||8228<=o&&o<=8231||o==8240||8242<=o&&o<=8243||o==8245||o==8251||o==8254||o==8308||o==8319||8321<=o&&o<=8324||o==8364||o==8451||o==8453||o==8457||o==8467||o==8470||8481<=o&&o<=8482||o==8486||o==8491||8531<=o&&o<=8532||8539<=o&&o<=8542||8544<=o&&o<=8555||8560<=o&&o<=8569||o==8585||8592<=o&&o<=8601||8632<=o&&o<=8633||o==8658||o==8660||o==8679||o==8704||8706<=o&&o<=8707||8711<=o&&o<=8712||o==8715||o==8719||o==8721||o==8725||o==8730||8733<=o&&o<=8736||o==8739||o==8741||8743<=o&&o<=8748||o==8750||8756<=o&&o<=8759||8764<=o&&o<=8765||o==8776||o==8780||o==8786||8800<=o&&o<=8801||8804<=o&&o<=8807||8810<=o&&o<=8811||8814<=o&&o<=8815||8834<=o&&o<=8835||8838<=o&&o<=8839||o==8853||o==8857||o==8869||o==8895||o==8978||9312<=o&&o<=9449||9451<=o&&o<=9547||9552<=o&&o<=9587||9600<=o&&o<=9615||9618<=o&&o<=9621||9632<=o&&o<=9633||9635<=o&&o<=9641||9650<=o&&o<=9651||9654<=o&&o<=9655||9660<=o&&o<=9661||9664<=o&&o<=9665||9670<=o&&o<=9672||o==9675||9678<=o&&o<=9681||9698<=o&&o<=9701||o==9711||9733<=o&&o<=9734||o==9737||9742<=o&&o<=9743||9748<=o&&o<=9749||o==9756||o==9758||o==9792||o==9794||9824<=o&&o<=9825||9827<=o&&o<=9829||9831<=o&&o<=9834||9836<=o&&o<=9837||o==9839||9886<=o&&o<=9887||9918<=o&&o<=9919||9924<=o&&o<=9933||9935<=o&&o<=9953||o==9955||9960<=o&&o<=9983||o==10045||o==10071||10102<=o&&o<=10111||11093<=o&&o<=11097||12872<=o&&o<=12879||57344<=o&&o<=63743||65024<=o&&o<=65039||o==65533||127232<=o&&o<=127242||127248<=o&&o<=127277||127280<=o&&o<=127337||127344<=o&&o<=127386||917760<=o&&o<=917999||983040<=o&&o<=1048573||1048576<=o&&o<=1114109?"A":"N"},t.characterLength=function(n){var i=this.eastAsianWidth(n);return i=="F"||i=="W"||i=="A"?2:1};function r(n){return n.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}t.length=function(n){for(var i=r(n),s=0,o=0;o<i.length;o++)s=s+this.characterLength(i[o]);return s},t.slice=function(n,i,s){textLen=t.length(n),i=i||0,s=s||1,i<0&&(i=textLen+i),s<0&&(s=textLen+s);for(var o="",a=0,c=r(n),l=0;l<c.length;l++){var u=c[l],p=t.length(u);if(a>=i-(p==2?1:0))if(a+p<=s)o+=u;else break;a+=p}return o}})(X1);var b$=X1.exports,x$=Y1(b$),v$=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},E$=Y1(v$);function al(e,t={}){if(typeof e!="string"||e.length===0||(t={ambiguousIsNarrow:!0,...t},e=J1(e),e.length===0))return 0;e=e.replace(E$()," ");let r=t.ambiguousIsNarrow?1:2,n=0;for(let i of e){let s=i.codePointAt(0);if(!(s<=31||s>=127&&s<=159||s>=768&&s<=879))switch(x$.eastAsianWidth(i)){case"F":case"W":n+=2;break;case"A":n+=r;break;default:n+=1}}return n}var Sg=10,$1=(e=0)=>t=>`\x1B[${t+e}m`,U1=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,j1=(e=0)=>(t,r,n)=>`\x1B[${38+e};2;${t};${r};${n}m`,bt={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(bt.modifier);var w$=Object.keys(bt.color),C$=Object.keys(bt.bgColor);[...w$,...C$];function D$(){let e=new Map;for(let[t,r]of Object.entries(bt)){for(let[n,i]of Object.entries(r))bt[n]={open:`\x1B[${i[0]}m`,close:`\x1B[${i[1]}m`},r[n]=bt[n],e.set(i[0],i[1]);Object.defineProperty(bt,t,{value:r,enumerable:!1})}return Object.defineProperty(bt,"codes",{value:e,enumerable:!1}),bt.color.close="\x1B[39m",bt.bgColor.close="\x1B[49m",bt.color.ansi=$1(),bt.color.ansi256=U1(),bt.color.ansi16m=j1(),bt.bgColor.ansi=$1(Sg),bt.bgColor.ansi256=U1(Sg),bt.bgColor.ansi16m=j1(Sg),Object.defineProperties(bt,{rgbToAnsi256:{value:(t,r,n)=>t===r&&r===n?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5),enumerable:!1},hexToRgb:{value:t=>{let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!r)return[0,0,0];let[n]=r;n.length===3&&(n=[...n].map(s=>s+s).join(""));let i=Number.parseInt(n,16);return[i>>16&255,i>>8&255,i&255]},enumerable:!1},hexToAnsi256:{value:t=>bt.rgbToAnsi256(...bt.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value:t=>{if(t<8)return 30+t;if(t<16)return 90+(t-8);let r,n,i;if(t>=232)r=((t-232)*10+8)/255,n=r,i=r;else{t-=16;let a=t%36;r=Math.floor(t/36)/5,n=Math.floor(a/6)/5,i=a%6/5}let s=Math.max(r,n,i)*2;if(s===0)return 30;let o=30+(Math.round(i)<<2|Math.round(n)<<1|Math.round(r));return s===2&&(o+=60),o},enumerable:!1},rgbToAnsi:{value:(t,r,n)=>bt.ansi256ToAnsi(bt.rgbToAnsi256(t,r,n)),enumerable:!1},hexToAnsi:{value:t=>bt.ansi256ToAnsi(bt.hexToAnsi256(t)),enumerable:!1}}),bt}var S$=D$(),cd=new Set(["\x1B","\x9B"]),T$=39,Ig="\x07",Q1="[",A$="]",Z1="m",_g=`${A$}8;;`,q1=e=>`${cd.values().next().value}${Q1}${e}${Z1}`,G1=e=>`${cd.values().next().value}${_g}${e}${Ig}`,P$=e=>e.split(" ").map(t=>al(t)),Tg=(e,t,r)=>{let n=[...t],i=!1,s=!1,o=al(J1(e[e.length-1]));for(let[a,c]of n.entries()){let l=al(c);if(o+l<=r?e[e.length-1]+=c:(e.push(c),o=0),cd.has(c)&&(i=!0,s=n.slice(a+1).join("").startsWith(_g)),i){s?c===Ig&&(i=!1,s=!1):c===Z1&&(i=!1);continue}o+=l,o===r&&a<n.length-1&&(e.push(""),o=0)}!o&&e[e.length-1].length>0&&e.length>1&&(e[e.length-2]+=e.pop())},I$=e=>{let t=e.split(" "),r=t.length;for(;r>0&&!(al(t[r-1])>0);)r--;return r===t.length?e:t.slice(0,r).join(" ")+t.slice(r).join("")},_$=(e,t,r={})=>{if(r.trim!==!1&&e.trim()==="")return"";let n="",i,s,o=P$(e),a=[""];for(let[l,u]of e.split(" ").entries()){r.trim!==!1&&(a[a.length-1]=a[a.length-1].trimStart());let p=al(a[a.length-1]);if(l!==0&&(p>=t&&(r.wordWrap===!1||r.trim===!1)&&(a.push(""),p=0),(p>0||r.trim===!1)&&(a[a.length-1]+=" ",p++)),r.hard&&o[l]>t){let d=t-p,h=1+Math.floor((o[l]-d-1)/t);Math.floor((o[l]-1)/t)<h&&a.push(""),Tg(a,u,t);continue}if(p+o[l]>t&&p>0&&o[l]>0){if(r.wordWrap===!1&&p<t){Tg(a,u,t);continue}a.push("")}if(p+o[l]>t&&r.wordWrap===!1){Tg(a,u,t);continue}a[a.length-1]+=u}r.trim!==!1&&(a=a.map(l=>I$(l)));let c=[...a.join(`
106
106
  `)];for(let[l,u]of c.entries()){if(n+=u,cd.has(u)){let{groups:d}=new RegExp(`(?:\\${Q1}(?<code>\\d+)m|\\${_g}(?<uri>.*)${Ig})`).exec(c.slice(l).join(""))||{groups:{}};if(d.code!==void 0){let h=Number.parseFloat(d.code);i=h===T$?void 0:h}else d.uri!==void 0&&(s=d.uri.length===0?void 0:d.uri)}let p=S$.codes.get(Number(i));c[l+1]===`
107
107
  `?(s&&(n+=G1("")),i&&p&&(n+=q1(p))):u===`
108
108
  `&&(i&&p&&(n+=q1(i)),s&&(n+=G1(s)))}return n};function z1(e,t,r){return String(e).normalize().replace(/\r\n/g,`
@@ -169,7 +169,7 @@ ${nC}${n.trimStart()}`),r=3+(0,ld.stripVTControlCharacters)(n.trimStart()).lengt
169
169
  `),m(),i()};return{start:v,stop:E,message:(x="")=>{a=y(x??a)}}};var eo=q(it(),1);f();var xe=q(require("typescript"),1);var me=q(it(),1);f();f();function be(e,t=""){return e.ts.createSourceFile("module.tsx",typeof t=="string"?t:"",e.ts.ScriptTarget.Latest,void 0)}function md(e,t=""){let r=be(e,t?.trim());if(r.statements.length===0)throw new Error(`No statements found in code: ${t}`);return r.statements[0]}function Me(e,t,r){if(t){let n=e.ts.createPrinter({newLine:e.ts.NewLineKind.LineFeed,removeComments:r});return e.ts.isSourceFile(t)?n.printFile(t).trim()+`
170
170
  `:n.printNode(e.ts.EmitHint.Unspecified,t,e.ts.createSourceFile("module.tsx","",e.ts.ScriptTarget.Latest)).trim()+`
171
171
  `}return""}f();var fC=q(Lg(),1);function ur(e){return e.endsWith(".mapper.tsx")||e.endsWith(".mapper.jsx")||e.endsWith(".mapper.ts")||e.endsWith(".mapper.js")||e.endsWith(".mapper.mjs")}function Re(e,t,r){t=jn(t),r=jn(r),t=e.dirname(t);let n=e.basename(r,e.extname(r));r=e.dirname(r);let i;return n==="index"?i=e.relative(t,r):i=e.relative(t,e.join(r,n)),i=jn(e.normalize(i)),i.startsWith(".")||(i="./"+i),i}function jn(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}function ao(e,t){let r=e.extname(t),n=e.basename(t,r).split(/[\/\\]/),i=n[n.length-1];return dC(i==="index"?e.basename(e.dirname(t)):i)}function dC(e){return at(e).replace(/ /g,"")}function hn(e,t){let r=e.extname(t),n=jn(e.basename(t,r)).split("/").pop();return at(n==="index"?e.basename(e.dirname(t)):n)}function ct(e,t){let r=jn(e.relative(e.getAppRootDir(),t));r=r.split("/").filter(i=>i!=="."&&i!==".."&&i!=="").join("/"),r.endsWith(".tsx")||r.endsWith(".jsx")?r=r.slice(0,-4):(r.endsWith(".ts")||r.endsWith(".js"))&&(r=r.slice(0,-3));let n=e.getFrameworks();return r.startsWith("src/")&&(r=r.slice(4)),n.some(i=>i.name.includes("next"))?"@/"+r:"~/"+r}function qe(e,t){let r=t,n=[];for(let i=0;i<2;i++){let s=e.basename(r);if(!s||s==="components")break;n.unshift(s),r=e.dirname(r)}return n.join("/")}function at(e){for(e=e.replace(/([A-Z])/g," $1").replace(/\./g," ").replace(/_/g," ").replace(/-/g," ").replace(/\s/g," ").trim();e.includes(" ");)e=e.replace(/ /g," ");return e.split(" ").map(t=>t.length>2?t[0].toUpperCase()+t.slice(1):t).join("").trim()}function Mr(e){return e.sort((t,r)=>t.name.toLocaleLowerCase().localeCompare(r.name.toLocaleLowerCase()))}async function st(e,t,r,n){if(typeof r!="string"||r==="")throw new Error(`getComponentId(), exportName must be a non-empty string, received: ${r}, ${t}`);return n&&(t=n),t=e.normalize(t),(await e.hash(t+"#"+r)).substring(0,8)}async function mC(e){return(await e.hash(e.getAppRootDir())).substring(0,8)}function cl(e){return typeof e=="number"}function la(e){return typeof e=="boolean"}function vr(e){return typeof e=="string"}function ua(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function tn(e){return JSON.parse(JSON.stringify(e))}function hd(e,t,r){for(let n of t)if(e.dirname(r).includes(n))return!0;return!1}function hC(){try{let e=(0,fC.default)();if(e?.name)return e.name}catch{}return"npm"}function V$(){return process.platform.startsWith("win")}function Er(){return V$()?'"@builder.io/dev-tools"':"builder.io"}function Bg(e){return e.replace(/[^a-zA-Z0-9-_]/g,"_")}f();function wr(e){let t=e.join(e.getAppRootDir(),"tsconfig.json");return e.exists(t)}var W$=["node_modules","dist","build","public"];async function $r(e,t){async function r(i,s){if(s>10)return;let o=await e.readdir(i);for(let a of o){if(W$.includes(a))continue;let c=e.join(i,a),l=await e.stat(c);if(l){if(l.isFile()&&a.startsWith("builder-registry."))return c;if(l.isDirectory()){let u=await r(c,s+1);if(u)return u}}}}let n=await r(e.getAppRootDir(),0);if(!n){let s=`builder-registry.${await wr(e)?"ts":"js"}`;return e.join(t,s)}return n}async function Ur(e,t){let r=e.resolve("/");for(let n=0;n<20;n++){let i=e.join(t,"package.json"),s=await e.readFile(i);if(s)return JSON.parse(s);if(t===r)break;t=e.dirname(t)}return null}async function gC(e,t){for(let r=0;r<20;r++){let n=e.dirname(t),i=e.join(n,"node_modules");if(await e.exists(i))return i;if(t===e.getAppRootDir())break;t=e.dirname(t)}return e.join(e.getAppRootDir(),"node_modules")}async function ll(e,t,r){let n=await e.readdir(t);return n.includes(r)?e.join(t,r):(await Promise.all(n.map(async s=>{if(s.startsWith(".")||s==="node_modules")return;let o=e.join(t,s);if((await e.stat(o)).isDirectory()){let c=await ll(e,o,r);if(c)return c}}))).find(s=>typeof s=="string")}async function jt(e,t,r){if(!Array.isArray(t)||t.length===0)throw new Error(`createTsProgram() Invalid filePaths: ${t}`);let n=await gC(e,t[0]),i=e.join(n,"typescript","lib"),s=new Map,o={fileExists:a=>{if(a=e.normalize(a),a.includes("node_modules")){let c=ul.get(a);if(!c){try{e.statSync(a).isFile()?c={exists:!0,content:e.readFileSync(a)}:c={exists:!1}}catch{c={exists:!1}}ul.set(a,c)}return c.exists}if(!s.has(a))if(e.existsSync(a)){let l=e.statSync(a);s.set(a,l.isFile())}else s.set(a,!1);return s.get(a)},getCanonicalFileName:a=>e.normalize(a),getCurrentDirectory:()=>e.cwd(),getDefaultLibFileName:()=>e.join(i,"lib.d.ts"),getDefaultLibLocation:()=>i,getNewLine:()=>`
172
- `,getSourceFile:a=>{if(a=e.normalize(a),a.includes("node_modules")){let l=ul.get(a);if(l)return be(e,l.content)}let c;try{c=e.readFileSync(a)}catch{console.error(`Could not read: ${a}`),c==null}if(c==null){let l=e.basename(a),u=e.extname(l).toLowerCase();if(a.startsWith(i)&&u===".ts"&&(c=bC.get(l),c==null&&typeof self<"u"&&typeof fetch=="function"))throw new yd(l)}return a.includes("node_modules")&&(c?ul.set(a,{exists:!0,content:c}):ul.set(a,{exists:!1})),be(e,c)},readFile:a=>{let c=e.readFileSync(a);return typeof c=="string"?c:void 0},useCaseSensitiveFileNames:()=>!1,writeFile:()=>{}};for(;;)try{return J$(e,o,t,r)}catch(a){if(a instanceof yd){await Y$(e,a.libName);continue}throw e.Sentry?.captureException(a),new Error(`createTsProgram() Could not create program for: ${t[0]}`,{cause:a})}}function J$(e,t,r,n){let i={rootNames:[...r],host:t,options:{}},s=e.ts.findConfigFile(e.dirname(r[0]),o=>e.existsSync(o));if(s){let o=yC.get(s);if(!o){let a=e.ts.readConfigFile(s,c=>{let l=e.readFileSync(c);return typeof l=="string"?l:void 0});a.error?e.Sentry?.captureException(new Error("Error reading tsconfig for createTsProgram"),{extra:{error:a.error,tsConfigPath:s}}):(o=e.ts.parseJsonConfigFileContent(a.config,e.ts.sys||{useCaseSensitiveFileNames:!1,readDirectory:(l,u)=>e.readdirSync(l),fileExists:l=>e.existsSync(l),readFile:l=>e.readFileSync(l)||void 0},e.dirname(s),void 0,s).options,yC.set(s,o))}o&&(i.options=tn(o))}return i.options.noEmit=!0,i.options.isolatedModules=!1,i.options.strict=!1,i.options.jsx=e.ts.JsxEmit.Preserve,i.options.allowJs=!0,Object.assign(i.options,n),e.ts.createProgram(i)}async function pa(e,t,r){r||(r=await jt(e,[t]));let n=r.getSourceFile(t);if(!n)throw new Error(`getTypeChecker() Could not find source file: ${t}`);return{typeChecker:r.getTypeChecker(),sourceFile:n}}var yd=class{constructor(t){this.libName=t}};async function Y$(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;gd.has(t)||gd.set(t,fetch(r).then(n=>n.text()).then(n=>{bC.set(t,n)})),await gd.get(t),gd.delete(t)}var bC=new Map,gd=new Map,ul=new Map,yC=new Map;async function xC(e,t){let r=await e.readFile(t.filePath);return r==null?{diagnostics:[{messageText:`Error reading: ${t.filePath}`}],code:null,output:null}:Mg(e,{code:r,filePath:t.filePath,compilerOptions:t.compilerOptions})}function Mg(e,t){let r={diagnostics:[],code:t.code,output:null};try{let n=e.ts.transpileModule(t.code,{compilerOptions:t.compilerOptions,fileName:t.filePath??"module.tsx",reportDiagnostics:!0});n.diagnostics?.forEach(i=>{r.diagnostics.push({messageText:String(i.messageText)})}),r.output=n.outputText}catch(n){console.error("transpileModule",n),r.diagnostics.push({messageText:String(n)})}return r}f();f();var X$="1.6.87",Ie=process.env.OVERRIDE_VERSION??X$;f();f();async function Ss(e){let t=[],r=await Ur(e,e.getRepoRootDir());if(r){let n=await wC(r,e);t.push(...n)}return t}async function EC(e){let t=await Ur(e,e.getRepoRootDir());return t?.scripts?.dev?t.scripts.dev.includes("--turbopack"):!1}async function wC(e,t){let r=[];if(e&&typeof e=="object"){let n=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let i of Q$)if(n.has(i)&&!r.some(s=>s.name===i)){let s={name:i};vC.has(i)&&(s.version=await vC.get(i)(t)),r.push(s)}}return r}function $g(e){let t=parseInt(e);return Number.isNaN(t)?void 0:t}var vC=new Map([["next",async e=>{if(!e.spawnSync)return;let t=hC(),r=t==="npm"?"npx":t,{stdout:n}=e.spawnSync(r,["next","-v"],{encoding:"utf8"});if(!n)return;let i=n.match(/(Next.js v)([\d.]+)/g);if(!i)return;let s=i[0].split("Next.js v")[1],[o,a,c]=s.split(".");return{major:$g(o),minor:$g(a),patch:$g(c)}}]]),Q$=["@shopify/remix-oxygen","@shopify/hydrogen","@builder.io/qwik-city","@remix-run/react","@sveltejs/kit","astro","gatsby","next","nuxt","@builder.io/qwik","@angular/core","react","solid-js","svelte","vue"];f();f();async function gn(e){let t=CC(e),r=await e.readFile(t);return typeof r=="string"?JSON.parse(r):{}}async function yn(e,t){t=typeof t=="object"&&t!=null?t:{};let r=CC(e);await e.writeFile(r,JSON.stringify(t??{},null,2))}function CC(e){let t=e.getAppRootDir();return e.join(t,"node_modules",".builder","builder-cache.json")}f();f();async function ai(e,t,r){let n={envKey:r,envValue:null,file:""};for(let i of t){let s=e.join(e.getAppRootDir(),i),o=await Z$(e,s);if(o){let a=o[r];if(typeof a=="string"&&a.length>0&&a!=="YOUR_API_KEY")return n.envValue=a,n.file=s,n}}return n.file=e.join(e.getAppRootDir(),t[t.length-1]),n}async function Z$(e,t){let r=await e.readFile(t);return typeof r=="string"?DC(r):null}function DC(e){let t={},r=e.replace(/\r\n?/gm,`
172
+ `,getSourceFile:a=>{if(a=e.normalize(a),a.includes("node_modules")){let l=ul.get(a);if(l)return be(e,l.content)}let c;try{c=e.readFileSync(a)}catch{console.error(`Could not read: ${a}`),c==null}if(c==null){let l=e.basename(a),u=e.extname(l).toLowerCase();if(a.startsWith(i)&&u===".ts"&&(c=bC.get(l),c==null&&typeof self<"u"&&typeof fetch=="function"))throw new yd(l)}return a.includes("node_modules")&&(c?ul.set(a,{exists:!0,content:c}):ul.set(a,{exists:!1})),be(e,c)},readFile:a=>{let c=e.readFileSync(a);return typeof c=="string"?c:void 0},useCaseSensitiveFileNames:()=>!1,writeFile:()=>{}};for(;;)try{return J$(e,o,t,r)}catch(a){if(a instanceof yd){await Y$(e,a.libName);continue}throw e.Sentry?.captureException(a),new Error(`createTsProgram() Could not create program for: ${t[0]}`,{cause:a})}}function J$(e,t,r,n){let i={rootNames:[...r],host:t,options:{}},s=e.ts.findConfigFile(e.dirname(r[0]),o=>e.existsSync(o));if(s){let o=yC.get(s);if(!o){let a=e.ts.readConfigFile(s,c=>{let l=e.readFileSync(c);return typeof l=="string"?l:void 0});a.error?e.Sentry?.captureException(new Error("Error reading tsconfig for createTsProgram"),{extra:{error:a.error,tsConfigPath:s}}):(o=e.ts.parseJsonConfigFileContent(a.config,e.ts.sys||{useCaseSensitiveFileNames:!1,readDirectory:(l,u)=>e.readdirSync(l),fileExists:l=>e.existsSync(l),readFile:l=>e.readFileSync(l)||void 0},e.dirname(s),void 0,s).options,yC.set(s,o))}o&&(i.options=tn(o))}return i.options.noEmit=!0,i.options.isolatedModules=!1,i.options.strict=!1,i.options.jsx=e.ts.JsxEmit.Preserve,i.options.allowJs=!0,Object.assign(i.options,n),e.ts.createProgram(i)}async function pa(e,t,r){r||(r=await jt(e,[t]));let n=r.getSourceFile(t);if(!n)throw new Error(`getTypeChecker() Could not find source file: ${t}`);return{typeChecker:r.getTypeChecker(),sourceFile:n}}var yd=class{constructor(t){this.libName=t}};async function Y$(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;gd.has(t)||gd.set(t,fetch(r).then(n=>n.text()).then(n=>{bC.set(t,n)})),await gd.get(t),gd.delete(t)}var bC=new Map,gd=new Map,ul=new Map,yC=new Map;async function xC(e,t){let r=await e.readFile(t.filePath);return r==null?{diagnostics:[{messageText:`Error reading: ${t.filePath}`}],code:null,output:null}:Mg(e,{code:r,filePath:t.filePath,compilerOptions:t.compilerOptions})}function Mg(e,t){let r={diagnostics:[],code:t.code,output:null};try{let n=e.ts.transpileModule(t.code,{compilerOptions:t.compilerOptions,fileName:t.filePath??"module.tsx",reportDiagnostics:!0});n.diagnostics?.forEach(i=>{r.diagnostics.push({messageText:String(i.messageText)})}),r.output=n.outputText}catch(n){console.error("transpileModule",n),r.diagnostics.push({messageText:String(n)})}return r}f();f();var X$="1.6.89",Ie=process.env.OVERRIDE_VERSION??X$;f();f();async function Ss(e){let t=[],r=await Ur(e,e.getRepoRootDir());if(r){let n=await wC(r,e);t.push(...n)}return t}async function EC(e){let t=await Ur(e,e.getRepoRootDir());return t?.scripts?.dev?t.scripts.dev.includes("--turbopack"):!1}async function wC(e,t){let r=[];if(e&&typeof e=="object"){let n=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let i of Q$)if(n.has(i)&&!r.some(s=>s.name===i)){let s={name:i};vC.has(i)&&(s.version=await vC.get(i)(t)),r.push(s)}}return r}function $g(e){let t=parseInt(e);return Number.isNaN(t)?void 0:t}var vC=new Map([["next",async e=>{if(!e.spawnSync)return;let t=hC(),r=t==="npm"?"npx":t,{stdout:n}=e.spawnSync(r,["next","-v"],{encoding:"utf8"});if(!n)return;let i=n.match(/(Next.js v)([\d.]+)/g);if(!i)return;let s=i[0].split("Next.js v")[1],[o,a,c]=s.split(".");return{major:$g(o),minor:$g(a),patch:$g(c)}}]]),Q$=["@shopify/remix-oxygen","@shopify/hydrogen","@builder.io/qwik-city","@remix-run/react","@sveltejs/kit","astro","gatsby","next","nuxt","@builder.io/qwik","@angular/core","react","solid-js","svelte","vue"];f();f();async function gn(e){let t=CC(e),r=await e.readFile(t);return typeof r=="string"?JSON.parse(r):{}}async function yn(e,t){t=typeof t=="object"&&t!=null?t:{};let r=CC(e);await e.writeFile(r,JSON.stringify(t??{},null,2))}function CC(e){let t=e.getAppRootDir();return e.join(t,"node_modules",".builder","builder-cache.json")}f();f();async function ai(e,t,r){let n={envKey:r,envValue:null,file:""};for(let i of t){let s=e.join(e.getAppRootDir(),i),o=await Z$(e,s);if(o){let a=o[r];if(typeof a=="string"&&a.length>0&&a!=="YOUR_API_KEY")return n.envValue=a,n.file=s,n}}return n.file=e.join(e.getAppRootDir(),t[t.length-1]),n}async function Z$(e,t){let r=await e.readFile(t);return typeof r=="string"?DC(r):null}function DC(e){let t={},r=e.replace(/\r\n?/gm,`
173
173
  `),n;for(;(n=e7.exec(r))!=null;){let i=n[1],s=n[2]||"";s=s.trim();let o=s[0];s=s.replace(/^(['"`])([\s\S]*)\1$/gm,"$2"),o==='"'&&(s=s.replace(/\\n/g,`
174
174
  `),s=s.replace(/\\r/g,"\r")),t[i]=s}return t}var e7=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;async function ci(e,t,r,n){let i="# https://www.builder.io/c/docs/using-your-api-key",s=await e.readFile(t);try{if(s)if(s.includes(r))if(s.includes(n))e.debug(`"${r}" with "${n}" already set in ${t}`);else return e.debug(`Replace "${r}" in ${t}`),s=s.replace(new RegExp(`${r}=.*`),`${r}=${n}`),await e.writeFile(t,s),"update";else return e.debug(`Append "${r}" to ${t}`),s+=`
175
175
 
@@ -1228,7 +1228,7 @@ module.exports = nextConfig
1228
1228
  `:`
1229
1229
  `)+r,i=n+1,n=e.indexOf(`
1230
1230
  `,i)}while(n!==-1);return s+=e.slice(i),s}var{stdout:EA,stderr:wA}=bA,Yy=Symbol("GENERATOR"),Aa=Symbol("STYLER"),_l=Symbol("IS_EMPTY"),CA=["ansi","ansi","ansi256","ansi16m"],Pa=Object.create(null),rz=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=EA?EA.level:0;e.level=t.level===void 0?r:t.level},Jd=class{constructor(t){return DA(t)}},DA=e=>{let t=(...r)=>r.join(" ");return rz(t,e),Object.setPrototypeOf(t,kl.prototype),t};function kl(e){return DA(e)}Object.setPrototypeOf(kl.prototype,Function.prototype);for(let[e,t]of Object.entries(Kn))Pa[e]={get(){let r=Yd(this,Qy(t.open,t.close,this[Aa]),this[_l]);return Object.defineProperty(this,e,{value:r}),r}};Pa.visible={get(){let e=Yd(this,this[Aa],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var Xy=(e,t,r,...n)=>e==="rgb"?t==="ansi16m"?Kn[r].ansi16m(...n):t==="ansi256"?Kn[r].ansi256(Kn.rgbToAnsi256(...n)):Kn[r].ansi(Kn.rgbToAnsi(...n)):e==="hex"?Xy("rgb",t,r,...Kn.hexToRgb(...n)):Kn[r][e](...n),nz=["rgb","hex","ansi256"];for(let e of nz){Pa[e]={get(){let{level:r}=this;return function(...n){let i=Qy(Xy(e,CA[r],"color",...n),Kn.color.close,this[Aa]);return Yd(this,i,this[_l])}}};let t="bg"+e[0].toUpperCase()+e.slice(1);Pa[t]={get(){let{level:r}=this;return function(...n){let i=Qy(Xy(e,CA[r],"bgColor",...n),Kn.bgColor.close,this[Aa]);return Yd(this,i,this[_l])}}}}var iz=Object.defineProperties(()=>{},{...Pa,level:{enumerable:!0,get(){return this[Yy].level},set(e){this[Yy].level=e}}}),Qy=(e,t,r)=>{let n,i;return r===void 0?(n=e,i=t):(n=r.openAll+e,i=t+r.closeAll),{open:e,close:t,openAll:n,closeAll:i,parent:r}},Yd=(e,t,r)=>{let n=(...i)=>sz(n,i.length===1?""+i[0]:i.join(" "));return Object.setPrototypeOf(n,iz),n[Yy]=e,n[Aa]=t,n[_l]=r,n},sz=(e,t)=>{if(e.level<=0||!t)return e[_l]?"":t;let r=e[Aa];if(r===void 0)return t;let{openAll:n,closeAll:i}=r;if(t.includes("\x1B"))for(;r!==void 0;)t=xA(t,r.close,r.open),r=r.parent;let s=t.indexOf(`
1231
- `);return s!==-1&&(t=vA(t,i,n,s)),n+t+i};Object.defineProperties(kl.prototype,Pa);var dCe=kl(),fCe=kl({level:wA?wA.level:0});var _e=new Jd({level:2}),SA={comment:_e.gray,quote:_e.gray,keyword:_e.green,"selector-tag":_e.green,addition:_e.green,number:_e.cyan,string:_e.cyan,"meta meta-string":_e.cyan,literal:_e.cyan,doctag:_e.cyan,regexp:_e.cyan,title:_e.blue,section:_e.blue,name:_e.blue,"selector-id":_e.blue,"selector-class":_e.blue,attribute:_e.yellow,attr:_e.yellow,variable:_e.yellow,"template-variable":_e.yellow,"class title":_e.yellow,type:_e.yellow,symbol:_e.magenta,bullet:_e.magenta,subst:_e.magenta,meta:_e.magenta,"meta keyword":_e.magenta,"selector-attr":_e.magenta,"selector-pseudo":_e.magenta,link:_e.magenta,built_in:_e.red,deletion:_e.red,emphasis:_e.italic,strong:_e.bold,formula:_e.inverse};function Nl(e){let t=Wy(e);return{highlight:r,highlightAuto:n,listLanguages:t.listLanguages,register:t.register,registerAlias:t.registerAlias,registered:t.registered};function r(i,s,o){let a=t.highlight(i,s),c=a.data;return{language:c.language,relevance:c.relevance,value:Zy(o||SA,a)}}function n(i,s){let o,a;if(s&&("subset"in s||"sheet"in s)){let u=s;a={subset:u.subset},o=u.sheet}else o=s;let c=t.highlightAuto(i,a),l=c.data;return{language:l.language,relevance:l.relevance,value:Zy(o||SA,c)}}}function Zy(e,t){let r=new Set(t.type==="element"&&Array.isArray(t.properties.className)?t.properties.className.map(function(a){return String(a).replace(/^hljs-/,"")}):[]),n={},i,s="",o;for(o in e)if(Object.hasOwn(e,o)){let a=o.split(" "),c=e[o];r.has(a[0])?a.length===1?i=c:n[a.slice(1).join(" ")]=c:n[o]=c}return"value"in t?s=t.value:"children"in t&&(s=oz(n,t.children)),i&&(s=i(s)),s}function oz(e,t){let r=[],n=-1;for(;++n<t.length;)r.push(Zy(e,t[n]));return r.join("")}f();var TA=q(require("@sentry/node"),1),AA=q(require("@amplitude/analytics-node"),1);async function Y(e){if(process.env.NODE_ENV!=="test")try{await Promise.allSettled([TA.flush(2e3),AA.flush().promise])}catch(t){console.error(t)}process.exit(e)}f();var mr=process.env.AIR_HOST||"https://ai.builder.io";f();var Ci=q(require("@amplitude/analytics-node"),1),Xn=q(require("@sentry/node"),1);var PA="1.6.87";f();var Vt=require("fs/promises"),II=require("crypto"),lt=require("fs"),su=require("os"),Ne=q(require("path"),1),_I=q(require("typescript"),1),kI=q(require("launch-editor"),1);var So=require("child_process");var dx={};P1(dx,{MagicastError:()=>hr,builders:()=>SV,detectCodeFormat:()=>TI,generateCode:()=>px,loadFile:()=>CV,parseExpression:()=>PI,parseModule:()=>AI,writeFile:()=>DV});f();var Ef=require("fs");var If=q(eP(),1),HP=q(kP(),1);function an(e){var t=e.use(Pt),r=t.Type,n=t.builtInTypes,i=n.number;function s(l){return r.from(u=>i.check(u)&&u>=l,i+" >= "+l)}let o={null:function(){return null},emptyArray:function(){return[]},false:function(){return!1},true:function(){return!0},undefined:function(){},"use strict":function(){return"use strict"}};var a=r.or(n.string,n.number,n.boolean,n.null,n.undefined);let c=r.from(l=>{if(l===null)return!0;var u=typeof l;return!(u==="object"||u==="function")},a.toString());return{geq:s,defaults:o,isPrimitive:c}}function tt(e){try{var t=e(),r=t.exports,n=r.default}catch{return}n&&n!==r&&typeof r=="object"&&(Object.assign(n,r,{default:n}),r.__esModule&&Object.defineProperty(n,"__esModule",{value:!0}),t.exports=n)}var YK=Object.defineProperty,XK=(e,t,r)=>t in e?YK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Tr=(e,t,r)=>(XK(e,typeof t!="symbol"?t+"":t,r),r),VP=Object.prototype,wf=VP.toString,Cn=VP.hasOwnProperty,Do=class{assert(t,r){if(!this.check(t,r)){var n=ox(t);throw new Error(n+" does not match type "+this)}return!0}arrayOf(){let t=this;return new eu(t)}},eu=class extends Do{constructor(t){super(),this.elemType=t,Tr(this,"kind","ArrayType")}toString(){return"["+this.elemType+"]"}check(t,r){return Array.isArray(t)&&t.every(n=>this.elemType.check(n,r))}},Cf=class extends Do{constructor(t){super(),this.value=t,Tr(this,"kind","IdentityType")}toString(){return String(this.value)}check(t,r){let n=t===this.value;return!n&&typeof r=="function"&&r(this,t),n}},Df=class extends Do{constructor(t){super(),this.fields=t,Tr(this,"kind","ObjectType")}toString(){return"{ "+this.fields.join(", ")+" }"}check(t,r){return wf.call(t)===wf.call({})&&this.fields.every(n=>n.type.check(t[n.name],r))}},Sf=class extends Do{constructor(t){super(),this.types=t,Tr(this,"kind","OrType")}toString(){return this.types.join(" | ")}check(t,r){return this.types.some(n=>n.check(t,!!r))?!0:(typeof r=="function"&&r(this,t),!1)}},Co=class extends Do{constructor(t,r){super(),this.name=t,this.predicate=r,Tr(this,"kind","PredicateType")}toString(){return this.name}check(t,r){let n=this.predicate(t,r);return!n&&typeof r=="function"&&r(this,t),n}},Ql=class e{constructor(t,r){this.type=t,this.typeName=r,Tr(this,"baseNames",[]),Tr(this,"ownFields",Object.create(null)),Tr(this,"allSupertypes",Object.create(null)),Tr(this,"supertypeList",[]),Tr(this,"allFields",Object.create(null)),Tr(this,"fieldNames",[]),Tr(this,"finalized",!1),Tr(this,"buildable",!1),Tr(this,"buildParams",[])}isSupertypeOf(t){if(t instanceof e){if(this.finalized!==!0||t.finalized!==!0)throw new Error("");return Cn.call(t.allSupertypes,this.typeName)}else throw new Error(t+" is not a Def")}checkAllFields(t,r){var n=this.allFields;if(this.finalized!==!0)throw new Error(""+this.typeName);function i(s){var o=n[s],a=o.type,c=o.getValue(t);return a.check(c,r)}return t!==null&&typeof t=="object"&&Object.keys(n).every(i)}bases(...t){var r=this.baseNames;if(this.finalized){if(t.length!==r.length)throw new Error("");for(var n=0;n<t.length;n++)if(t[n]!==r[n])throw new Error("");return this}return t.forEach(i=>{r.indexOf(i)<0&&r.push(i)}),this}},Tf=class{constructor(t,r,n,i){this.name=t,this.type=r,this.defaultFn=n,Tr(this,"hidden"),this.hidden=!!i}toString(){return JSON.stringify(this.name)+": "+this.type}getValue(t){var r=t[this.name];return typeof r<"u"||typeof this.defaultFn=="function"&&(r=this.defaultFn.call(t)),r}};function ox(e){return Array.isArray(e)?"["+e.map(ox).join(", ")+"]":e&&typeof e=="object"?"{ "+Object.keys(e).map(function(t){return t+": "+e[t]}).join(", ")+" }":JSON.stringify(e)}function Pt(e){let t={or(...O){return new Sf(O.map(L=>t.from(L)))},from(O,L){if(O instanceof eu||O instanceof Cf||O instanceof Df||O instanceof Sf||O instanceof Co)return O;if(O instanceof Ql)return O.type;if(a.check(O)){if(O.length!==1)throw new Error("only one element type is permitted for typed arrays");return new eu(t.from(O[0]))}if(c.check(O))return new Df(Object.keys(O).map(ie=>new Tf(ie,t.from(O[ie],ie))));if(typeof O=="function"){var V=r.indexOf(O);if(V>=0)return n[V];if(typeof L!="string")throw new Error("missing name");return new Co(L,O)}return new Cf(O)},def(O){return Cn.call(b,O)?b[O]:b[O]=new E(O)},hasDef(O){return Cn.call(b,O)}};var r=[],n=[];function i(O,L){let V=wf.call(L),ie=new Co(O,Ee=>wf.call(Ee)===V);return L&&typeof L.constructor=="function"&&(r.push(L.constructor),n.push(ie)),ie}let s=i("string","truthy"),o=i("function",function(){}),a=i("array",[]),c=i("object",{}),l=i("RegExp",/./),u=i("Date",new Date),p=i("number",3),d=i("boolean",!0),h=i("null",null),m=i("undefined",void 0),g=typeof BigInt=="function"?i("BigInt",BigInt(1234)):new Co("BigInt",()=>!1),y={string:s,function:o,array:a,object:c,RegExp:l,Date:u,number:p,boolean:d,null:h,undefined:m,BigInt:g};var b=Object.create(null);function v(O){if(O&&typeof O=="object"){var L=O.type;if(typeof L=="string"&&Cn.call(b,L)){var V=b[L];if(V.finalized)return V}}return null}class E extends Ql{constructor(L){super(new Co(L,(V,ie)=>this.check(V,ie)),L)}check(L,V){if(this.finalized!==!0)throw new Error("prematurely checking unfinalized type "+this.typeName);if(L===null||typeof L!="object")return!1;var ie=v(L);return ie?V&&ie===this?this.checkAllFields(L,V):this.isSupertypeOf(ie)?V?ie.checkAllFields(L,V)&&this.checkAllFields(L,!1):!0:!1:this.typeName==="SourceLocation"||this.typeName==="Position"?this.checkAllFields(L,V):!1}build(...L){if(this.buildParams=L,this.buildable)return this;this.field("type",String,()=>this.typeName),this.buildable=!0;let V=(Ee,pe,Q,Tt)=>{if(!Cn.call(Ee,pe)){var rr=this.allFields;if(!Cn.call(rr,pe))throw new Error(""+pe);var J=rr[pe],je=J.type,H;if(Tt)H=Q;else if(J.defaultFn)H=J.defaultFn.call(Ee);else{var fe="no value or default function given for field "+JSON.stringify(pe)+" of "+this.typeName+"("+this.buildParams.map(function(ce){return rr[ce]}).join(", ")+")";throw new Error(fe)}if(!je.check(H))throw new Error(ox(H)+" does not match field "+J+" of type "+this.typeName);Ee[pe]=H}},ie=(...Ee)=>{var pe=Ee.length;if(!this.finalized)throw new Error("attempting to instantiate unfinalized type "+this.typeName);var Q=Object.create(S);if(this.buildParams.forEach(function(Tt,rr){rr<pe?V(Q,Tt,Ee[rr],!0):V(Q,Tt,null,!1)}),Object.keys(this.allFields).forEach(function(Tt){V(Q,Tt,null,!1)}),Q.type!==this.typeName)throw new Error("");return Q};return ie.from=Ee=>{if(!this.finalized)throw new Error("attempting to instantiate unfinalized type "+this.typeName);var pe=Object.create(S);if(Object.keys(this.allFields).forEach(function(Q){Cn.call(Ee,Q)?V(pe,Q,Ee[Q],!0):V(pe,Q,null,!1)}),pe.type!==this.typeName)throw new Error("");return pe},Object.defineProperty(C,F(this.typeName),{enumerable:!0,value:ie}),this}field(L,V,ie,Ee){return this.finalized?(console.error("Ignoring attempt to redefine field "+JSON.stringify(L)+" of finalized type "+JSON.stringify(this.typeName)),this):(this.ownFields[L]=new Tf(L,t.from(V),ie,Ee),this)}finalize(){if(!this.finalized){var L=this.allFields,V=this.allSupertypes;this.baseNames.forEach(Ee=>{var pe=b[Ee];if(pe instanceof Ql)pe.finalize(),B(L,pe.allFields),B(V,pe.allSupertypes);else{var Q="unknown supertype name "+JSON.stringify(Ee)+" for subtype "+JSON.stringify(this.typeName);throw new Error(Q)}}),B(L,this.ownFields),V[this.typeName]=this,this.fieldNames.length=0;for(var ie in L)Cn.call(L,ie)&&!L[ie].hidden&&this.fieldNames.push(ie);Object.defineProperty(A,this.typeName,{enumerable:!0,value:this.type}),this.finalized=!0,R(this.typeName,this.supertypeList),this.buildable&&this.supertypeList.lastIndexOf("Expression")>=0&&N(this.typeName)}}}function x(O){if(!Cn.call(b,O))throw new Error("");var L=b[O];if(L.finalized!==!0)throw new Error("");return L.supertypeList.slice(1)}function w(O){for(var L={},V=Object.keys(b),ie=V.length,Ee=0;Ee<ie;++Ee){var pe=V[Ee],Q=b[pe];if(Q.finalized!==!0)throw new Error(""+pe);for(var Tt=0;Tt<Q.supertypeList.length;++Tt){var rr=Q.supertypeList[Tt];if(Cn.call(O,rr)){L[pe]=rr;break}}}return L}var C=Object.create(null),S={};function _(O,L){var V=S[O];return m.check(L)?delete S[O]:(o.assert(L),Object.defineProperty(S,O,{enumerable:!0,configurable:!0,value:L})),V}function F(O){return O.replace(/^[A-Z]+/,function(L){var V=L.length;switch(V){case 0:return"";case 1:return L.toLowerCase();default:return L.slice(0,V-1).toLowerCase()+L.charAt(V-1)}})}function I(O){return O=F(O),O.replace(/(Expression)?$/,"Statement")}var A={};function M(O){var L=v(O);if(L)return L.fieldNames.slice(0);if("type"in O)throw new Error("did not recognize object of type "+JSON.stringify(O.type));return Object.keys(O)}function K(O,L){var V=v(O);if(V){var ie=V.allFields[L];if(ie)return ie.getValue(O)}return O&&O[L]}function W(O,L,V){M(O).forEach(function(ie){L.call(this,ie,K(O,ie))},V)}function P(O,L,V){return M(O).some(function(ie){return L.call(this,ie,K(O,ie))},V)}function N(O){var L=I(O);if(C[L])return;var V=C[F(O)];if(!V)return;let ie=function(...Ee){return C.expressionStatement(V.apply(C,Ee))};ie.from=function(...Ee){return C.expressionStatement(V.from.apply(C,Ee))},C[L]=ie}function R(O,L){L.length=0,L.push(O);for(var V=Object.create(null),ie=0;ie<L.length;++ie){O=L[ie];var Ee=b[O];if(Ee.finalized!==!0)throw new Error("");Cn.call(V,O)&&delete L[V[O]],V[O]=ie,L.push.apply(L,Ee.baseNames)}for(var pe=0,Q=pe,Tt=L.length;Q<Tt;++Q)Cn.call(L,Q)&&(L[pe++]=L[Q]);L.length=pe}function B(O,L){return Object.keys(L).forEach(function(V){O[V]=L[V]}),O}function Z(){Object.keys(b).forEach(function(O){b[O].finalize()})}return{Type:t,builtInTypes:y,getSupertypeNames:x,computeSupertypeLookupTable:w,builders:C,defineMethod:_,getBuilderName:F,getStatementBuilderName:I,namedTypes:A,getFieldNames:M,getFieldValue:K,eachField:W,someField:P,finalize:Z}}tt(()=>module);var QK=Object.prototype,df=QK.hasOwnProperty;function WP(e){var t=e.use(Pt),r=t.builtInTypes.array,n=t.builtInTypes.number;let i=function p(d,h,m){if(!(this instanceof p))throw new Error("Path constructor cannot be invoked without 'new'");if(h){if(!(h instanceof p))throw new Error("")}else h=null,m=null;this.value=d,this.parentPath=h,this.name=m,this.__childCache=null};var s=i.prototype;function o(p){return p.__childCache||(p.__childCache=Object.create(null))}function a(p,d){var h=o(p),m=p.getValueProperty(d),g=h[d];return(!df.call(h,d)||g.value!==m)&&(g=h[d]=new p.constructor(m,p,d)),g}s.getValueProperty=function(d){return this.value[d]},s.get=function(...d){for(var h=this,m=d.length,g=0;g<m;++g)h=a(h,d[g]);return h},s.each=function(d,h){for(var m=[],g=this.value.length,y=0,y=0;y<g;++y)df.call(this.value,y)&&(m[y]=this.get(y));for(h=h||this,y=0;y<g;++y)df.call(m,y)&&d.call(h,m[y])},s.map=function(d,h){var m=[];return this.each(function(g){m.push(d.call(this,g))},h),m},s.filter=function(d,h){var m=[];return this.each(function(g){d.call(this,g)&&m.push(g)},h),m};function c(){}function l(p,d,h,m){if(r.assert(p.value),d===0)return c;var g=p.value.length;if(g<1)return c;var y=arguments.length;y===2?(h=0,m=g):y===3?(h=Math.max(h,0),m=g):(h=Math.max(h,0),m=Math.min(m,g)),n.assert(h),n.assert(m);for(var b=Object.create(null),v=o(p),E=h;E<m;++E)if(df.call(p.value,E)){var x=p.get(E);if(x.name!==E)throw new Error("");var w=E+d;x.name=w,b[w]=x,delete v[E]}return delete v.length,function(){for(var C in b){var S=b[C];if(S.name!==+C)throw new Error("");v[C]=S,p.value[C]=S.value}}}s.shift=function(){var d=l(this,-1),h=this.value.shift();return d(),h},s.unshift=function(...d){var h=l(this,d.length),m=this.value.unshift.apply(this.value,d);return h(),m},s.push=function(...d){return r.assert(this.value),delete o(this).length,this.value.push.apply(this.value,d)},s.pop=function(){r.assert(this.value);var d=o(this);return delete d[this.value.length-1],delete d.length,this.value.pop()},s.insertAt=function(d){var h=arguments.length,m=l(this,h-1,d);if(m===c&&h<=1)return this;d=Math.max(d,0);for(var g=1;g<h;++g)this.value[d+g-1]=arguments[g];return m(),this},s.insertBefore=function(...d){for(var h=this.parentPath,m=d.length,g=[this.name],y=0;y<m;++y)g.push(d[y]);return h.insertAt.apply(h,g)},s.insertAfter=function(...d){for(var h=this.parentPath,m=d.length,g=[this.name+1],y=0;y<m;++y)g.push(d[y]);return h.insertAt.apply(h,g)};function u(p){if(!(p instanceof i))throw new Error("");var d=p.parentPath;if(!d)return p;var h=d.value,m=o(d);if(h[p.name]===p.value)m[p.name]=p;else if(r.check(h)){var g=h.indexOf(p.value);g>=0&&(m[p.name=g]=p)}else h[p.name]=p.value,m[p.name]=p;if(h[p.name]!==p.value)throw new Error("");if(p.parentPath.get(p.name)!==p)throw new Error("");return p}return s.replace=function(d){var h=[],m=this.parentPath.value,g=o(this.parentPath),y=arguments.length;if(u(this),r.check(m)){for(var b=m.length,v=l(this.parentPath,y-1,this.name+1),E=[this.name,1],x=0;x<y;++x)E.push(arguments[x]);var w=m.splice.apply(m,E);if(w[0]!==this.value)throw new Error("");if(m.length!==b-1+y)throw new Error("");if(v(),y===0)delete this.value,delete g[this.name],this.__childCache=null;else{if(m[this.name]!==d)throw new Error("");for(this.value!==d&&(this.value=d,this.__childCache=null),x=0;x<y;++x)h.push(this.parentPath.get(this.name+x));if(h[0]!==this)throw new Error("")}}else if(y===1)this.value!==d&&(this.__childCache=null),this.value=m[this.name]=d,h.push(this);else if(y===0)delete m[this.name],delete this.value,this.__childCache=null;else throw new Error("Could not replace path");return h},i}tt(()=>module);var Ua=Object.prototype.hasOwnProperty;function ZK(e){var t=e.use(Pt),r=t.Type,n=t.namedTypes,i=n.Node,s=n.Expression,o=t.builtInTypes.array,a=t.builders;let c=function x(w,C){if(!(this instanceof x))throw new Error("Scope constructor cannot be invoked without 'new'");u.check(w.value)||l.assert(w.value);var S;if(C){if(!(C instanceof x))throw new Error("");S=C.depth+1}else C=null,S=0;Object.defineProperties(this,{path:{value:w},node:{value:w.value},isGlobal:{value:!C,enumerable:!0},depth:{value:S},parent:{value:C},bindings:{value:{}},types:{value:{}}})};var l=r.or(n.Program,n.Function,n.CatchClause),u=r.or(n.Function,n.ClassDeclaration,n.ClassExpression,n.InterfaceDeclaration,n.TSInterfaceDeclaration,n.TypeAlias,n.TSTypeAliasDeclaration),p=r.or(n.TypeParameter,n.TSTypeParameter);c.isEstablishedBy=function(x){return l.check(x)||u.check(x)};var d=c.prototype;d.didScan=!1,d.declares=function(x){return this.scan(),Ua.call(this.bindings,x)},d.declaresType=function(x){return this.scan(),Ua.call(this.types,x)},d.declareTemporary=function(x){if(x){if(!/^[a-z$_]/i.test(x))throw new Error("")}else x="t$";x+=this.depth.toString(36)+"$",this.scan();for(var w=0;this.declares(x+w);)++w;var C=x+w;return this.bindings[C]=t.builders.identifier(C)},d.injectTemporary=function(x,w){x||(x=this.declareTemporary());var C=this.path.get("body");return n.BlockStatement.check(C.value)&&(C=C.get("body")),C.unshift(a.variableDeclaration("var",[a.variableDeclarator(x,w||null)])),x},d.scan=function(x){if(x||!this.didScan){for(var w in this.bindings)delete this.bindings[w];for(var w in this.types)delete this.types[w];h(this.path,this.bindings,this.types),this.didScan=!0}},d.getBindings=function(){return this.scan(),this.bindings},d.getTypes=function(){return this.scan(),this.types};function h(x,w,C){var S=x.value;if(u.check(S)){let _=x.get("typeParameters","params");o.check(_.value)&&_.each(F=>{E(F,C)})}l.check(S)&&(n.CatchClause.check(S)?b(x.get("param"),w):m(x,w,C))}function m(x,w,C){var S=x.value;x.parent&&n.FunctionExpression.check(x.parent.node)&&x.parent.node.id&&b(x.parent.get("id"),w),S&&(o.check(S)?x.each(_=>{y(_,w,C)}):n.Function.check(S)?(x.get("params").each(_=>{b(_,w)}),y(x.get("body"),w,C),m(x.get("typeParameters"),w,C)):n.TypeAlias&&n.TypeAlias.check(S)||n.InterfaceDeclaration&&n.InterfaceDeclaration.check(S)||n.TSTypeAliasDeclaration&&n.TSTypeAliasDeclaration.check(S)||n.TSInterfaceDeclaration&&n.TSInterfaceDeclaration.check(S)?v(x.get("id"),C):n.VariableDeclarator.check(S)?(b(x.get("id"),w),y(x.get("init"),w,C)):S.type==="ImportSpecifier"||S.type==="ImportNamespaceSpecifier"||S.type==="ImportDefaultSpecifier"?b(x.get(S.local?"local":S.name?"name":"id"),w):i.check(S)&&!s.check(S)&&t.eachField(S,function(_,F){var I=x.get(_);if(!g(I,F))throw new Error("");y(I,w,C)}))}function g(x,w){return!!(x.value===w||Array.isArray(x.value)&&x.value.length===0&&Array.isArray(w)&&w.length===0)}function y(x,w,C){var S=x.value;if(!(!S||s.check(S)))if(n.FunctionDeclaration.check(S)&&S.id!==null)b(x.get("id"),w);else if(n.ClassDeclaration&&n.ClassDeclaration.check(S)&&S.id!==null)b(x.get("id"),w),m(x.get("typeParameters"),w,C);else if(n.InterfaceDeclaration&&n.InterfaceDeclaration.check(S)||n.TSInterfaceDeclaration&&n.TSInterfaceDeclaration.check(S))v(x.get("id"),C);else if(l.check(S)){if(n.CatchClause.check(S)&&n.Identifier.check(S.param)){var _=S.param.name,F=Ua.call(w,_);m(x.get("body"),w,C),F||delete w[_]}}else m(x,w,C)}function b(x,w){var C=x.value;n.Pattern.assert(C),n.Identifier.check(C)?Ua.call(w,C.name)?w[C.name].push(x):w[C.name]=[x]:n.AssignmentPattern&&n.AssignmentPattern.check(C)?b(x.get("left"),w):n.ObjectPattern&&n.ObjectPattern.check(C)?x.get("properties").each(function(S){var _=S.value;n.Pattern.check(_)?b(S,w):n.Property.check(_)||n.ObjectProperty&&n.ObjectProperty.check(_)?b(S.get("value"),w):n.SpreadProperty&&n.SpreadProperty.check(_)&&b(S.get("argument"),w)}):n.ArrayPattern&&n.ArrayPattern.check(C)?x.get("elements").each(function(S){var _=S.value;n.Pattern.check(_)?b(S,w):n.SpreadElement&&n.SpreadElement.check(_)&&b(S.get("argument"),w)}):n.PropertyPattern&&n.PropertyPattern.check(C)?b(x.get("pattern"),w):(n.SpreadElementPattern&&n.SpreadElementPattern.check(C)||n.RestElement&&n.RestElement.check(C)||n.SpreadPropertyPattern&&n.SpreadPropertyPattern.check(C))&&b(x.get("argument"),w)}function v(x,w){var C=x.value;n.Pattern.assert(C),n.Identifier.check(C)&&(Ua.call(w,C.name)?w[C.name].push(x):w[C.name]=[x])}function E(x,w){var C=x.value;p.assert(C),Ua.call(w,C.name)?w[C.name].push(x):w[C.name]=[x]}return d.lookup=function(x){for(var w=this;w&&!w.declares(x);w=w.parent);return w},d.lookupType=function(x){for(var w=this;w&&!w.declaresType(x);w=w.parent);return w},d.getGlobalScope=function(){for(var x=this;!x.isGlobal;)x=x.parent;return x},c}tt(()=>module);function JP(e){var t=e.use(Pt),r=t.namedTypes,n=t.builders,i=t.builtInTypes.number,s=t.builtInTypes.array,o=e.use(WP),a=e.use(ZK);let c=function y(b,v,E){if(!(this instanceof y))throw new Error("NodePath constructor cannot be invoked without 'new'");o.call(this,b,v,E)};var l=c.prototype=Object.create(o.prototype,{constructor:{value:c,enumerable:!1,writable:!0,configurable:!0}});Object.defineProperties(l,{node:{get:function(){return Object.defineProperty(this,"node",{configurable:!0,value:this._computeNode()}),this.node}},parent:{get:function(){return Object.defineProperty(this,"parent",{configurable:!0,value:this._computeParent()}),this.parent}},scope:{get:function(){return Object.defineProperty(this,"scope",{configurable:!0,value:this._computeScope()}),this.scope}}}),l.replace=function(){return delete this.node,delete this.parent,delete this.scope,o.prototype.replace.apply(this,arguments)},l.prune=function(){var y=this.parent;return this.replace(),m(y)},l._computeNode=function(){var y=this.value;if(r.Node.check(y))return y;var b=this.parentPath;return b&&b.node||null},l._computeParent=function(){var y=this.value,b=this.parentPath;if(!r.Node.check(y)){for(;b&&!r.Node.check(b.value);)b=b.parentPath;b&&(b=b.parentPath)}for(;b&&!r.Node.check(b.value);)b=b.parentPath;return b||null},l._computeScope=function(){var y=this.value,b=this.parentPath,v=b&&b.scope;return r.Node.check(y)&&a.isEstablishedBy(y)&&(v=new a(this,v)),v||null},l.getValueProperty=function(y){return t.getFieldValue(this.value,y)},l.needsParens=function(y){var b=this.parentPath;if(!b)return!1;var v=this.value;if(!r.Expression.check(v)||v.type==="Identifier")return!1;for(;!r.Node.check(b.value);)if(b=b.parentPath,!b)return!1;var E=b.value;switch(v.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":return E.type==="MemberExpression"&&this.name==="object"&&E.object===v;case"BinaryExpression":case"LogicalExpression":switch(E.type){case"CallExpression":return this.name==="callee"&&E.callee===v;case"UnaryExpression":case"SpreadElement":case"SpreadProperty":return!0;case"MemberExpression":return this.name==="object"&&E.object===v;case"BinaryExpression":case"LogicalExpression":{let x=v,w=E.operator,C=p[w],S=x.operator,_=p[S];if(C>_)return!0;if(C===_&&this.name==="right"){if(E.right!==x)throw new Error("Nodes must be equal");return!0}}default:return!1}case"SequenceExpression":switch(E.type){case"ForStatement":return!1;case"ExpressionStatement":return this.name!=="expression";default:return!0}case"YieldExpression":switch(E.type){case"BinaryExpression":case"LogicalExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"CallExpression":case"MemberExpression":case"NewExpression":case"ConditionalExpression":case"YieldExpression":return!0;default:return!1}case"Literal":return E.type==="MemberExpression"&&i.check(v.value)&&this.name==="object"&&E.object===v;case"AssignmentExpression":case"ConditionalExpression":switch(E.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":return!0;case"CallExpression":return this.name==="callee"&&E.callee===v;case"ConditionalExpression":return this.name==="test"&&E.test===v;case"MemberExpression":return this.name==="object"&&E.object===v;default:return!1}default:if(E.type==="NewExpression"&&this.name==="callee"&&E.callee===v)return d(v)}return!!(y!==!0&&!this.canBeFirstInStatement()&&this.firstInStatement())};function u(y){return r.BinaryExpression.check(y)||r.LogicalExpression.check(y)}var p={};[["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"]].forEach(function(y,b){y.forEach(function(v){p[v]=b})});function d(y){return r.CallExpression.check(y)?!0:s.check(y)?y.some(d):r.Node.check(y)?t.someField(y,function(b,v){return d(v)}):!1}l.canBeFirstInStatement=function(){var y=this.node;return!r.FunctionExpression.check(y)&&!r.ObjectExpression.check(y)},l.firstInStatement=function(){return h(this)};function h(y){for(var b,v;y.parent;y=y.parent){if(b=y.node,v=y.parent.node,r.BlockStatement.check(v)&&y.parent.name==="body"&&y.name===0){if(v.body[0]!==b)throw new Error("Nodes must be equal");return!0}if(r.ExpressionStatement.check(v)&&y.name==="expression"){if(v.expression!==b)throw new Error("Nodes must be equal");return!0}if(r.SequenceExpression.check(v)&&y.parent.name==="expressions"&&y.name===0){if(v.expressions[0]!==b)throw new Error("Nodes must be equal");continue}if(r.CallExpression.check(v)&&y.name==="callee"){if(v.callee!==b)throw new Error("Nodes must be equal");continue}if(r.MemberExpression.check(v)&&y.name==="object"){if(v.object!==b)throw new Error("Nodes must be equal");continue}if(r.ConditionalExpression.check(v)&&y.name==="test"){if(v.test!==b)throw new Error("Nodes must be equal");continue}if(u(v)&&y.name==="left"){if(v.left!==b)throw new Error("Nodes must be equal");continue}if(r.UnaryExpression.check(v)&&!v.prefix&&y.name==="argument"){if(v.argument!==b)throw new Error("Nodes must be equal");continue}return!1}return!0}function m(y){if(r.VariableDeclaration.check(y.node)){var b=y.get("declarations").value;if(!b||b.length===0)return y.prune()}else if(r.ExpressionStatement.check(y.node)){if(!y.get("expression").value)return y.prune()}else r.IfStatement.check(y.node)&&g(y);return y}function g(y){var b=y.get("test").value,v=y.get("alternate").value,E=y.get("consequent").value;if(!E&&!v){var x=n.expressionStatement(b);y.replace(x)}else if(!E&&v){var w=n.unaryExpression("!",b,!0);r.UnaryExpression.check(b)&&b.operator==="!"&&(w=b.argument),y.get("test").replace(w),y.get("consequent").replace(v),y.get("alternate").replace()}}return c}tt(()=>module);var ff=Object.prototype.hasOwnProperty;function eH(e){var t=e.use(Pt),r=e.use(JP),n=t.builtInTypes.array,i=t.builtInTypes.object,s=t.builtInTypes.function,o;let a=function m(){if(!(this instanceof m))throw new Error("PathVisitor constructor cannot be invoked without 'new'");this._reusableContextStack=[],this._methodNameTable=c(this),this._shouldVisitComments=ff.call(this._methodNameTable,"Block")||ff.call(this._methodNameTable,"Line"),this.Context=d(this),this._visiting=!1,this._changeReported=!1};function c(m){var g=Object.create(null);for(var y in m)/^visit[A-Z]/.test(y)&&(g[y.slice(5)]=!0);for(var b=t.computeSupertypeLookupTable(g),v=Object.create(null),E=Object.keys(b),x=E.length,w=0;w<x;++w){var C=E[w];y="visit"+b[C],s.check(m[y])&&(v[C]=y)}return v}a.fromMethodsObject=function(g){if(g instanceof a)return g;if(!i.check(g))return new a;let y=function v(){if(!(this instanceof v))throw new Error("Visitor constructor cannot be invoked without 'new'");a.call(this)};var b=y.prototype=Object.create(u);return b.constructor=y,l(b,g),l(y,a),s.assert(y.fromMethodsObject),s.assert(y.visit),new y};function l(m,g){for(var y in g)ff.call(g,y)&&(m[y]=g[y]);return m}a.visit=function(g,y){return a.fromMethodsObject(y).visit(g)};var u=a.prototype;u.visit=function(){if(this._visiting)throw new Error("Recursively calling visitor.visit(path) resets visitor state. Try this.visit(path) or this.traverse(path) instead.");this._visiting=!0,this._changeReported=!1,this._abortRequested=!1;for(var m=arguments.length,g=new Array(m),y=0;y<m;++y)g[y]=arguments[y];g[0]instanceof r||(g[0]=new r({root:g[0]}).get("root")),this.reset.apply(this,g);var b;try{var v=this.visitWithoutReset(g[0]);b=!0}finally{if(this._visiting=!1,!b&&this._abortRequested)return g[0].value}return v},u.AbortRequest=function(){},u.abort=function(){var m=this;m._abortRequested=!0;var g=new m.AbortRequest;throw g.cancel=function(){m._abortRequested=!1},g},u.reset=function(m){},u.visitWithoutReset=function(m){if(this instanceof this.Context)return this.visitor.visitWithoutReset(m);if(!(m instanceof r))throw new Error("");var g=m.value,y=g&&typeof g=="object"&&typeof g.type=="string"&&this._methodNameTable[g.type];if(y){var b=this.acquireContext(m);try{return b.invokeVisitorMethod(y)}finally{this.releaseContext(b)}}else return p(m,this)};function p(m,g){if(!(m instanceof r))throw new Error("");if(!(g instanceof a))throw new Error("");var y=m.value;if(n.check(y))m.each(g.visitWithoutReset,g);else if(i.check(y)){var b=t.getFieldNames(y);g._shouldVisitComments&&y.comments&&b.indexOf("comments")<0&&b.push("comments");for(var v=b.length,E=[],x=0;x<v;++x){var w=b[x];ff.call(y,w)||(y[w]=t.getFieldValue(y,w)),E.push(m.get(w))}for(var x=0;x<v;++x)g.visitWithoutReset(E[x])}return m.value}u.acquireContext=function(m){return this._reusableContextStack.length===0?new this.Context(m):this._reusableContextStack.pop().reset(m)},u.releaseContext=function(m){if(!(m instanceof this.Context))throw new Error("");this._reusableContextStack.push(m),m.currentPath=null},u.reportChanged=function(){this._changeReported=!0},u.wasChangeReported=function(){return this._changeReported};function d(m){function g(b){if(!(this instanceof g))throw new Error("");if(!(this instanceof a))throw new Error("");if(!(b instanceof r))throw new Error("");Object.defineProperty(this,"visitor",{value:m,writable:!1,enumerable:!0,configurable:!1}),this.currentPath=b,this.needToCallTraverse=!0,Object.seal(this)}if(!(m instanceof a))throw new Error("");var y=g.prototype=Object.create(m);return y.constructor=g,l(y,h),g}var h=Object.create(null);return h.reset=function(g){if(!(this instanceof this.Context))throw new Error("");if(!(g instanceof r))throw new Error("");return this.currentPath=g,this.needToCallTraverse=!0,this},h.invokeVisitorMethod=function(g){if(!(this instanceof this.Context))throw new Error("");if(!(this.currentPath instanceof r))throw new Error("");var y=this.visitor[g].call(this,this.currentPath);if(y===!1?this.needToCallTraverse=!1:y!==o&&(this.currentPath=this.currentPath.replace(y)[0],this.needToCallTraverse&&this.traverse(this.currentPath)),this.needToCallTraverse!==!1)throw new Error("Must either call this.traverse or return false in "+g);var b=this.currentPath;return b&&b.value},h.traverse=function(g,y){if(!(this instanceof this.Context))throw new Error("");if(!(g instanceof r))throw new Error("");if(!(this.currentPath instanceof r))throw new Error("");return this.needToCallTraverse=!1,p(g,a.fromMethodsObject(y||this.visitor))},h.visit=function(g,y){if(!(this instanceof this.Context))throw new Error("");if(!(g instanceof r))throw new Error("");if(!(this.currentPath instanceof r))throw new Error("");return this.needToCallTraverse=!1,a.fromMethodsObject(y||this.visitor).visitWithoutReset(g)},h.reportChanged=function(){this.visitor.reportChanged()},h.abort=function(){this.needToCallTraverse=!1,this.visitor.abort()},a}tt(()=>module);function tH(e){var t=e.use(Pt),r=t.getFieldNames,n=t.getFieldValue,i=t.builtInTypes.array,s=t.builtInTypes.object,o=t.builtInTypes.Date,a=t.builtInTypes.RegExp,c=Object.prototype.hasOwnProperty;function l(m,g,y){return i.check(y)?y.length=0:y=null,p(m,g,y)}l.assert=function(m,g){var y=[];if(!l(m,g,y))if(y.length===0){if(m!==g)throw new Error("Nodes must be equal")}else throw new Error("Nodes differ in the following path: "+y.map(u).join(""))};function u(m){return/[_$a-z][_$a-z0-9]*/i.test(m)?"."+m:"["+JSON.stringify(m)+"]"}function p(m,g,y){return m===g?!0:i.check(m)?d(m,g,y):s.check(m)?h(m,g,y):o.check(m)?o.check(g)&&+m==+g:a.check(m)?a.check(g)&&m.source===g.source&&m.global===g.global&&m.multiline===g.multiline&&m.ignoreCase===g.ignoreCase:m==g}function d(m,g,y){i.assert(m);var b=m.length;if(!i.check(g)||g.length!==b)return y&&y.push("length"),!1;for(var v=0;v<b;++v){if(y&&y.push(v),v in m!=v in g||!p(m[v],g[v],y))return!1;if(y){var E=y.pop();if(E!==v)throw new Error(""+E)}}return!0}function h(m,g,y){if(s.assert(m),!s.check(g))return!1;if(m.type!==g.type)return y&&y.push("type"),!1;var b=r(m),v=b.length,E=r(g),x=E.length;if(v===x){for(var w=0;w<v;++w){var C=b[w],S=n(m,C),_=n(g,C);if(y&&y.push(C),!p(S,_,y))return!1;if(y){var F=y.pop();if(F!==C)throw new Error(""+F)}}return!0}if(!y)return!1;var I=Object.create(null);for(w=0;w<v;++w)I[b[w]]=!0;for(w=0;w<x;++w){if(C=E[w],!c.call(I,C))return y.push(C),!1;delete I[C]}for(C in I){y.push(C);break}return!1}return l}tt(()=>module);function rH(e){let t=nH(),r=t.use(Pt);e.forEach(t.use),r.finalize();let n=t.use(eH);return{Type:r.Type,builtInTypes:r.builtInTypes,namedTypes:r.namedTypes,builders:r.builders,defineMethod:r.defineMethod,getFieldNames:r.getFieldNames,getFieldValue:r.getFieldValue,eachField:r.eachField,someField:r.someField,getSupertypeNames:r.getSupertypeNames,getBuilderName:r.getBuilderName,astNodesAreEquivalent:t.use(tH),finalize:r.finalize,Path:t.use(WP),NodePath:t.use(JP),PathVisitor:n,use:t.use,visit:n.visit}}function nH(){let e=[],t=[];function r(i){var s=e.indexOf(i);return s===-1&&(s=e.length,e.push(i),t[s]=i(n)),t[s]}var n={use:r};return n}tt(()=>module);function YP(){return{BinaryOperators:["==","!=","===","!==","<","<=",">",">=","<<",">>",">>>","+","-","*","/","%","&","|","^","in","instanceof"],AssignmentOperators:["=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","|=","^=","&="],LogicalOperators:["||","&&"]}}tt(()=>module);function XP(e){let t=e.use(YP);return t.BinaryOperators.indexOf("**")<0&&t.BinaryOperators.push("**"),t.AssignmentOperators.indexOf("**=")<0&&t.AssignmentOperators.push("**="),t}tt(()=>module);function QP(e){let t=e.use(XP);return t.LogicalOperators.indexOf("??")<0&&t.LogicalOperators.push("??"),t}tt(()=>module);function iH(e){let t=e.use(QP);return t.LogicalOperators.forEach(r=>{let n=r+"=";t.AssignmentOperators.indexOf(n)<0&&t.AssignmentOperators.push(n)}),t}tt(()=>module);function sH(e){var t=e.use(Pt),r=t.Type,n=r.def,i=r.or,s=e.use(an),o=s.defaults,a=s.geq;let{BinaryOperators:c,AssignmentOperators:l,LogicalOperators:u}=e.use(YP);n("Printable").field("loc",i(n("SourceLocation"),null),o.null,!0),n("Node").bases("Printable").field("type",String).field("comments",i([n("Comment")],null),o.null,!0),n("SourceLocation").field("start",n("Position")).field("end",n("Position")).field("source",i(String,null),o.null),n("Position").field("line",a(1)).field("column",a(0)),n("File").bases("Node").build("program","name").field("program",n("Program")).field("name",i(String,null),o.null),n("Program").bases("Node").build("body").field("body",[n("Statement")]),n("Function").bases("Node").field("id",i(n("Identifier"),null),o.null).field("params",[n("Pattern")]).field("body",n("BlockStatement")).field("generator",Boolean,o.false).field("async",Boolean,o.false),n("Statement").bases("Node"),n("EmptyStatement").bases("Statement").build(),n("BlockStatement").bases("Statement").build("body").field("body",[n("Statement")]),n("ExpressionStatement").bases("Statement").build("expression").field("expression",n("Expression")),n("IfStatement").bases("Statement").build("test","consequent","alternate").field("test",n("Expression")).field("consequent",n("Statement")).field("alternate",i(n("Statement"),null),o.null),n("LabeledStatement").bases("Statement").build("label","body").field("label",n("Identifier")).field("body",n("Statement")),n("BreakStatement").bases("Statement").build("label").field("label",i(n("Identifier"),null),o.null),n("ContinueStatement").bases("Statement").build("label").field("label",i(n("Identifier"),null),o.null),n("WithStatement").bases("Statement").build("object","body").field("object",n("Expression")).field("body",n("Statement")),n("SwitchStatement").bases("Statement").build("discriminant","cases","lexical").field("discriminant",n("Expression")).field("cases",[n("SwitchCase")]).field("lexical",Boolean,o.false),n("ReturnStatement").bases("Statement").build("argument").field("argument",i(n("Expression"),null)),n("ThrowStatement").bases("Statement").build("argument").field("argument",n("Expression")),n("TryStatement").bases("Statement").build("block","handler","finalizer").field("block",n("BlockStatement")).field("handler",i(n("CatchClause"),null),function(){return this.handlers&&this.handlers[0]||null}).field("handlers",[n("CatchClause")],function(){return this.handler?[this.handler]:[]},!0).field("guardedHandlers",[n("CatchClause")],o.emptyArray).field("finalizer",i(n("BlockStatement"),null),o.null),n("CatchClause").bases("Node").build("param","guard","body").field("param",n("Pattern")).field("guard",i(n("Expression"),null),o.null).field("body",n("BlockStatement")),n("WhileStatement").bases("Statement").build("test","body").field("test",n("Expression")).field("body",n("Statement")),n("DoWhileStatement").bases("Statement").build("body","test").field("body",n("Statement")).field("test",n("Expression")),n("ForStatement").bases("Statement").build("init","test","update","body").field("init",i(n("VariableDeclaration"),n("Expression"),null)).field("test",i(n("Expression"),null)).field("update",i(n("Expression"),null)).field("body",n("Statement")),n("ForInStatement").bases("Statement").build("left","right","body").field("left",i(n("VariableDeclaration"),n("Expression"))).field("right",n("Expression")).field("body",n("Statement")),n("DebuggerStatement").bases("Statement").build(),n("Declaration").bases("Statement"),n("FunctionDeclaration").bases("Function","Declaration").build("id","params","body").field("id",n("Identifier")),n("FunctionExpression").bases("Function","Expression").build("id","params","body"),n("VariableDeclaration").bases("Declaration").build("kind","declarations").field("kind",i("var","let","const")).field("declarations",[n("VariableDeclarator")]),n("VariableDeclarator").bases("Node").build("id","init").field("id",n("Pattern")).field("init",i(n("Expression"),null),o.null),n("Expression").bases("Node"),n("ThisExpression").bases("Expression").build(),n("ArrayExpression").bases("Expression").build("elements").field("elements",[i(n("Expression"),null)]),n("ObjectExpression").bases("Expression").build("properties").field("properties",[n("Property")]),n("Property").bases("Node").build("kind","key","value").field("kind",i("init","get","set")).field("key",i(n("Literal"),n("Identifier"))).field("value",n("Expression")),n("SequenceExpression").bases("Expression").build("expressions").field("expressions",[n("Expression")]);var p=i("-","+","!","~","typeof","void","delete");n("UnaryExpression").bases("Expression").build("operator","argument","prefix").field("operator",p).field("argument",n("Expression")).field("prefix",Boolean,o.true);let d=i(...c);n("BinaryExpression").bases("Expression").build("operator","left","right").field("operator",d).field("left",n("Expression")).field("right",n("Expression"));let h=i(...l);n("AssignmentExpression").bases("Expression").build("operator","left","right").field("operator",h).field("left",i(n("Pattern"),n("MemberExpression"))).field("right",n("Expression"));var m=i("++","--");n("UpdateExpression").bases("Expression").build("operator","argument","prefix").field("operator",m).field("argument",n("Expression")).field("prefix",Boolean);var g=i(...u);n("LogicalExpression").bases("Expression").build("operator","left","right").field("operator",g).field("left",n("Expression")).field("right",n("Expression")),n("ConditionalExpression").bases("Expression").build("test","consequent","alternate").field("test",n("Expression")).field("consequent",n("Expression")).field("alternate",n("Expression")),n("NewExpression").bases("Expression").build("callee","arguments").field("callee",n("Expression")).field("arguments",[n("Expression")]),n("CallExpression").bases("Expression").build("callee","arguments").field("callee",n("Expression")).field("arguments",[n("Expression")]),n("MemberExpression").bases("Expression").build("object","property","computed").field("object",n("Expression")).field("property",i(n("Identifier"),n("Expression"))).field("computed",Boolean,function(){var y=this.property.type;return y==="Literal"||y==="MemberExpression"||y==="BinaryExpression"}),n("Pattern").bases("Node"),n("SwitchCase").bases("Node").build("test","consequent").field("test",i(n("Expression"),null)).field("consequent",[n("Statement")]),n("Identifier").bases("Expression","Pattern").build("name").field("name",String).field("optional",Boolean,o.false),n("Literal").bases("Expression").build("value").field("value",i(String,Boolean,null,Number,RegExp,BigInt)),n("Comment").bases("Printable").field("value",String).field("leading",Boolean,o.true).field("trailing",Boolean,o.false)}tt(()=>module);function oH(e){e.use(sH);let t=e.use(Pt),r=t.Type.def,n=t.Type.or,i=e.use(an).defaults;r("Function").field("generator",Boolean,i.false).field("expression",Boolean,i.false).field("defaults",[n(r("Expression"),null)],i.emptyArray).field("rest",n(r("Identifier"),null),i.null),r("RestElement").bases("Pattern").build("argument").field("argument",r("Pattern")).field("typeAnnotation",n(r("TypeAnnotation"),r("TSTypeAnnotation"),null),i.null),r("SpreadElementPattern").bases("Pattern").build("argument").field("argument",r("Pattern")),r("FunctionDeclaration").build("id","params","body","generator","expression").field("id",n(r("Identifier"),null)),r("FunctionExpression").build("id","params","body","generator","expression"),r("ArrowFunctionExpression").bases("Function","Expression").build("params","body","expression").field("id",null,i.null).field("body",n(r("BlockStatement"),r("Expression"))).field("generator",!1,i.false),r("ForOfStatement").bases("Statement").build("left","right","body").field("left",n(r("VariableDeclaration"),r("Pattern"))).field("right",r("Expression")).field("body",r("Statement")),r("YieldExpression").bases("Expression").build("argument","delegate").field("argument",n(r("Expression"),null)).field("delegate",Boolean,i.false),r("GeneratorExpression").bases("Expression").build("body","blocks","filter").field("body",r("Expression")).field("blocks",[r("ComprehensionBlock")]).field("filter",n(r("Expression"),null)),r("ComprehensionExpression").bases("Expression").build("body","blocks","filter").field("body",r("Expression")).field("blocks",[r("ComprehensionBlock")]).field("filter",n(r("Expression"),null)),r("ComprehensionBlock").bases("Node").build("left","right","each").field("left",r("Pattern")).field("right",r("Expression")).field("each",Boolean),r("Property").field("key",n(r("Literal"),r("Identifier"),r("Expression"))).field("value",n(r("Expression"),r("Pattern"))).field("method",Boolean,i.false).field("shorthand",Boolean,i.false).field("computed",Boolean,i.false),r("ObjectProperty").field("shorthand",Boolean,i.false),r("PropertyPattern").bases("Pattern").build("key","pattern").field("key",n(r("Literal"),r("Identifier"),r("Expression"))).field("pattern",r("Pattern")).field("computed",Boolean,i.false),r("ObjectPattern").bases("Pattern").build("properties").field("properties",[n(r("PropertyPattern"),r("Property"))]),r("ArrayPattern").bases("Pattern").build("elements").field("elements",[n(r("Pattern"),null)]),r("SpreadElement").bases("Node").build("argument").field("argument",r("Expression")),r("ArrayExpression").field("elements",[n(r("Expression"),r("SpreadElement"),r("RestElement"),null)]),r("NewExpression").field("arguments",[n(r("Expression"),r("SpreadElement"))]),r("CallExpression").field("arguments",[n(r("Expression"),r("SpreadElement"))]),r("AssignmentPattern").bases("Pattern").build("left","right").field("left",r("Pattern")).field("right",r("Expression")),r("MethodDefinition").bases("Declaration").build("kind","key","value","static").field("kind",n("constructor","method","get","set")).field("key",r("Expression")).field("value",r("Function")).field("computed",Boolean,i.false).field("static",Boolean,i.false);let s=n(r("MethodDefinition"),r("VariableDeclarator"),r("ClassPropertyDefinition"),r("ClassProperty"),r("StaticBlock"));r("ClassProperty").bases("Declaration").build("key").field("key",n(r("Literal"),r("Identifier"),r("Expression"))).field("computed",Boolean,i.false),r("ClassPropertyDefinition").bases("Declaration").build("definition").field("definition",s),r("ClassBody").bases("Declaration").build("body").field("body",[s]),r("ClassDeclaration").bases("Declaration").build("id","body","superClass").field("id",n(r("Identifier"),null)).field("body",r("ClassBody")).field("superClass",n(r("Expression"),null),i.null),r("ClassExpression").bases("Expression").build("id","body","superClass").field("id",n(r("Identifier"),null),i.null).field("body",r("ClassBody")).field("superClass",n(r("Expression"),null),i.null),r("Super").bases("Expression").build(),r("Specifier").bases("Node"),r("ModuleSpecifier").bases("Specifier").field("local",n(r("Identifier"),null),i.null).field("id",n(r("Identifier"),null),i.null).field("name",n(r("Identifier"),null),i.null),r("ImportSpecifier").bases("ModuleSpecifier").build("imported","local").field("imported",r("Identifier")),r("ImportDefaultSpecifier").bases("ModuleSpecifier").build("local"),r("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("local"),r("ImportDeclaration").bases("Declaration").build("specifiers","source","importKind").field("specifiers",[n(r("ImportSpecifier"),r("ImportNamespaceSpecifier"),r("ImportDefaultSpecifier"))],i.emptyArray).field("source",r("Literal")).field("importKind",n("value","type"),function(){return"value"}),r("ExportNamedDeclaration").bases("Declaration").build("declaration","specifiers","source").field("declaration",n(r("Declaration"),null)).field("specifiers",[r("ExportSpecifier")],i.emptyArray).field("source",n(r("Literal"),null),i.null),r("ExportSpecifier").bases("ModuleSpecifier").build("local","exported").field("exported",r("Identifier")),r("ExportDefaultDeclaration").bases("Declaration").build("declaration").field("declaration",n(r("Declaration"),r("Expression"))),r("ExportAllDeclaration").bases("Declaration").build("source").field("source",r("Literal")),r("TaggedTemplateExpression").bases("Expression").build("tag","quasi").field("tag",r("Expression")).field("quasi",r("TemplateLiteral")),r("TemplateLiteral").bases("Expression").build("quasis","expressions").field("quasis",[r("TemplateElement")]).field("expressions",[r("Expression")]),r("TemplateElement").bases("Node").build("value","tail").field("value",{cooked:String,raw:String}).field("tail",Boolean),r("MetaProperty").bases("Expression").build("meta","property").field("meta",r("Identifier")).field("property",r("Identifier"))}tt(()=>module);function aH(e){e.use(XP),e.use(oH)}tt(()=>module);function cH(e){e.use(aH);let r=e.use(Pt).Type.def,n=e.use(an).defaults;r("Function").field("async",Boolean,n.false),r("AwaitExpression").bases("Expression").build("argument").field("argument",r("Expression"))}tt(()=>module);function lH(e){e.use(cH);let t=e.use(Pt),r=t.Type.def,n=t.Type.or,i=e.use(an).defaults;r("ForOfStatement").field("await",Boolean,i.false),r("SpreadProperty").bases("Node").build("argument").field("argument",r("Expression")),r("ObjectExpression").field("properties",[n(r("Property"),r("SpreadProperty"),r("SpreadElement"))]),r("TemplateElement").field("value",{cooked:n(String,null),raw:String}),r("SpreadPropertyPattern").bases("Pattern").build("argument").field("argument",r("Pattern")),r("ObjectPattern").field("properties",[n(r("PropertyPattern"),r("Property"),r("RestElement"),r("SpreadPropertyPattern"))])}tt(()=>module);function uH(e){e.use(lH);let t=e.use(Pt),r=t.Type.def,n=t.Type.or,i=e.use(an).defaults;r("CatchClause").field("param",n(r("Pattern"),null),i.null)}tt(()=>module);function pH(e){e.use(QP),e.use(uH);let t=e.use(Pt),r=t.Type.def,n=t.Type.or,s=e.use(an).defaults;r("ImportExpression").bases("Expression").build("source").field("source",r("Expression")),r("ExportAllDeclaration").bases("Declaration").build("source","exported").field("source",r("Literal")).field("exported",n(r("Identifier"),null,void 0),s.null),r("ChainElement").bases("Node").field("optional",Boolean,s.false),r("CallExpression").bases("Expression","ChainElement"),r("MemberExpression").bases("Expression","ChainElement"),r("ChainExpression").bases("Expression").build("expression").field("expression",r("ChainElement")),r("OptionalCallExpression").bases("CallExpression").build("callee","arguments","optional").field("optional",Boolean,s.true),r("OptionalMemberExpression").bases("MemberExpression").build("object","property","computed","optional").field("optional",Boolean,s.true)}tt(()=>module);function dH(e){e.use(iH),e.use(pH)}tt(()=>module);function fH(e){e.use(dH);let r=e.use(Pt).Type.def;r("StaticBlock").bases("Declaration").build("body").field("body",[r("Statement")])}tt(()=>module);function iu(e){e.use(fH);let t=e.use(Pt),r=t.Type,n=t.Type.def,i=r.or,o=e.use(an).defaults;n("AwaitExpression").build("argument","all").field("argument",i(n("Expression"),null)).field("all",Boolean,o.false),n("Decorator").bases("Node").build("expression").field("expression",n("Expression")),n("Property").field("decorators",i([n("Decorator")],null),o.null),n("MethodDefinition").field("decorators",i([n("Decorator")],null),o.null),n("PrivateName").bases("Expression","Pattern").build("id").field("id",n("Identifier")),n("ClassPrivateProperty").bases("ClassProperty").build("key","value").field("key",n("PrivateName")).field("value",i(n("Expression"),null),o.null),n("ImportAttribute").bases("Node").build("key","value").field("key",i(n("Identifier"),n("Literal"))).field("value",n("Expression")),["ImportDeclaration","ExportAllDeclaration","ExportNamedDeclaration"].forEach(a=>{n(a).field("assertions",[n("ImportAttribute")],o.emptyArray)}),n("RecordExpression").bases("Expression").build("properties").field("properties",[i(n("ObjectProperty"),n("ObjectMethod"),n("SpreadElement"))]),n("TupleExpression").bases("Expression").build("elements").field("elements",[i(n("Expression"),n("SpreadElement"),null)]),n("ModuleExpression").bases("Node").build("body").field("body",n("Program"))}tt(()=>module);function mH(e){e.use(iu);let t=e.use(Pt),r=t.Type.def,n=t.Type.or,i=e.use(an).defaults;r("JSXAttribute").bases("Node").build("name","value").field("name",n(r("JSXIdentifier"),r("JSXNamespacedName"))).field("value",n(r("Literal"),r("JSXExpressionContainer"),r("JSXElement"),r("JSXFragment"),null),i.null),r("JSXIdentifier").bases("Identifier").build("name").field("name",String),r("JSXNamespacedName").bases("Node").build("namespace","name").field("namespace",r("JSXIdentifier")).field("name",r("JSXIdentifier")),r("JSXMemberExpression").bases("MemberExpression").build("object","property").field("object",n(r("JSXIdentifier"),r("JSXMemberExpression"))).field("property",r("JSXIdentifier")).field("computed",Boolean,i.false);let s=n(r("JSXIdentifier"),r("JSXNamespacedName"),r("JSXMemberExpression"));r("JSXSpreadAttribute").bases("Node").build("argument").field("argument",r("Expression"));let o=[n(r("JSXAttribute"),r("JSXSpreadAttribute"))];r("JSXExpressionContainer").bases("Expression").build("expression").field("expression",n(r("Expression"),r("JSXEmptyExpression")));let a=[n(r("JSXText"),r("JSXExpressionContainer"),r("JSXSpreadChild"),r("JSXElement"),r("JSXFragment"),r("Literal"))];r("JSXElement").bases("Expression").build("openingElement","closingElement","children").field("openingElement",r("JSXOpeningElement")).field("closingElement",n(r("JSXClosingElement"),null),i.null).field("children",a,i.emptyArray).field("name",s,function(){return this.openingElement.name},!0).field("selfClosing",Boolean,function(){return this.openingElement.selfClosing},!0).field("attributes",o,function(){return this.openingElement.attributes},!0),r("JSXOpeningElement").bases("Node").build("name","attributes","selfClosing").field("name",s).field("attributes",o,i.emptyArray).field("selfClosing",Boolean,i.false),r("JSXClosingElement").bases("Node").build("name").field("name",s),r("JSXFragment").bases("Expression").build("openingFragment","closingFragment","children").field("openingFragment",r("JSXOpeningFragment")).field("closingFragment",r("JSXClosingFragment")).field("children",a,i.emptyArray),r("JSXOpeningFragment").bases("Node").build(),r("JSXClosingFragment").bases("Node").build(),r("JSXText").bases("Literal").build("value","raw").field("value",String).field("raw",String,function(){return this.value}),r("JSXEmptyExpression").bases("Node").build(),r("JSXSpreadChild").bases("Node").build("expression").field("expression",r("Expression"))}tt(()=>module);function ZP(e){var t=e.use(Pt),r=t.Type.def,n=t.Type.or,i=e.use(an).defaults,s=n(r("TypeAnnotation"),r("TSTypeAnnotation"),null),o=n(r("TypeParameterDeclaration"),r("TSTypeParameterDeclaration"),null);r("Identifier").field("typeAnnotation",s,i.null),r("ObjectPattern").field("typeAnnotation",s,i.null),r("Function").field("returnType",s,i.null).field("typeParameters",o,i.null),r("ClassProperty").build("key","value","typeAnnotation","static").field("value",n(r("Expression"),null)).field("static",Boolean,i.false).field("typeAnnotation",s,i.null),["ClassDeclaration","ClassExpression"].forEach(a=>{r(a).field("typeParameters",o,i.null).field("superTypeParameters",n(r("TypeParameterInstantiation"),r("TSTypeParameterInstantiation"),null),i.null).field("implements",n([r("ClassImplements")],[r("TSExpressionWithTypeArguments")]),i.emptyArray)})}tt(()=>module);function eI(e){e.use(iu),e.use(ZP);let t=e.use(Pt),r=t.Type.def,n=t.Type.or,i=e.use(an).defaults;r("Flow").bases("Node"),r("FlowType").bases("Flow"),r("AnyTypeAnnotation").bases("FlowType").build(),r("EmptyTypeAnnotation").bases("FlowType").build(),r("MixedTypeAnnotation").bases("FlowType").build(),r("VoidTypeAnnotation").bases("FlowType").build(),r("SymbolTypeAnnotation").bases("FlowType").build(),r("NumberTypeAnnotation").bases("FlowType").build(),r("BigIntTypeAnnotation").bases("FlowType").build(),r("NumberLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Number).field("raw",String),r("NumericLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Number).field("raw",String),r("BigIntLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",null).field("raw",String),r("StringTypeAnnotation").bases("FlowType").build(),r("StringLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",String).field("raw",String),r("BooleanTypeAnnotation").bases("FlowType").build(),r("BooleanLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Boolean).field("raw",String),r("TypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",r("FlowType")),r("NullableTypeAnnotation").bases("FlowType").build("typeAnnotation").field("typeAnnotation",r("FlowType")),r("NullLiteralTypeAnnotation").bases("FlowType").build(),r("NullTypeAnnotation").bases("FlowType").build(),r("ThisTypeAnnotation").bases("FlowType").build(),r("ExistsTypeAnnotation").bases("FlowType").build(),r("ExistentialTypeParam").bases("FlowType").build(),r("FunctionTypeAnnotation").bases("FlowType").build("params","returnType","rest","typeParameters").field("params",[r("FunctionTypeParam")]).field("returnType",r("FlowType")).field("rest",n(r("FunctionTypeParam"),null)).field("typeParameters",n(r("TypeParameterDeclaration"),null)),r("FunctionTypeParam").bases("Node").build("name","typeAnnotation","optional").field("name",n(r("Identifier"),null)).field("typeAnnotation",r("FlowType")).field("optional",Boolean),r("ArrayTypeAnnotation").bases("FlowType").build("elementType").field("elementType",r("FlowType")),r("ObjectTypeAnnotation").bases("FlowType").build("properties","indexers","callProperties").field("properties",[n(r("ObjectTypeProperty"),r("ObjectTypeSpreadProperty"))]).field("indexers",[r("ObjectTypeIndexer")],i.emptyArray).field("callProperties",[r("ObjectTypeCallProperty")],i.emptyArray).field("inexact",n(Boolean,void 0),i.undefined).field("exact",Boolean,i.false).field("internalSlots",[r("ObjectTypeInternalSlot")],i.emptyArray),r("Variance").bases("Node").build("kind").field("kind",n("plus","minus"));let s=n(r("Variance"),"plus","minus",null);r("ObjectTypeProperty").bases("Node").build("key","value","optional").field("key",n(r("Literal"),r("Identifier"))).field("value",r("FlowType")).field("optional",Boolean).field("variance",s,i.null),r("ObjectTypeIndexer").bases("Node").build("id","key","value").field("id",r("Identifier")).field("key",r("FlowType")).field("value",r("FlowType")).field("variance",s,i.null).field("static",Boolean,i.false),r("ObjectTypeCallProperty").bases("Node").build("value").field("value",r("FunctionTypeAnnotation")).field("static",Boolean,i.false),r("QualifiedTypeIdentifier").bases("Node").build("qualification","id").field("qualification",n(r("Identifier"),r("QualifiedTypeIdentifier"))).field("id",r("Identifier")),r("GenericTypeAnnotation").bases("FlowType").build("id","typeParameters").field("id",n(r("Identifier"),r("QualifiedTypeIdentifier"))).field("typeParameters",n(r("TypeParameterInstantiation"),null)),r("MemberTypeAnnotation").bases("FlowType").build("object","property").field("object",r("Identifier")).field("property",n(r("MemberTypeAnnotation"),r("GenericTypeAnnotation"))),r("IndexedAccessType").bases("FlowType").build("objectType","indexType").field("objectType",r("FlowType")).field("indexType",r("FlowType")),r("OptionalIndexedAccessType").bases("FlowType").build("objectType","indexType","optional").field("objectType",r("FlowType")).field("indexType",r("FlowType")).field("optional",Boolean),r("UnionTypeAnnotation").bases("FlowType").build("types").field("types",[r("FlowType")]),r("IntersectionTypeAnnotation").bases("FlowType").build("types").field("types",[r("FlowType")]),r("TypeofTypeAnnotation").bases("FlowType").build("argument").field("argument",r("FlowType")),r("ObjectTypeSpreadProperty").bases("Node").build("argument").field("argument",r("FlowType")),r("ObjectTypeInternalSlot").bases("Node").build("id","value","optional","static","method").field("id",r("Identifier")).field("value",r("FlowType")).field("optional",Boolean).field("static",Boolean).field("method",Boolean),r("TypeParameterDeclaration").bases("Node").build("params").field("params",[r("TypeParameter")]),r("TypeParameterInstantiation").bases("Node").build("params").field("params",[r("FlowType")]),r("TypeParameter").bases("FlowType").build("name","variance","bound","default").field("name",String).field("variance",s,i.null).field("bound",n(r("TypeAnnotation"),null),i.null).field("default",n(r("FlowType"),null),i.null),r("ClassProperty").field("variance",s,i.null),r("ClassImplements").bases("Node").build("id").field("id",r("Identifier")).field("superClass",n(r("Expression"),null),i.null).field("typeParameters",n(r("TypeParameterInstantiation"),null),i.null),r("InterfaceTypeAnnotation").bases("FlowType").build("body","extends").field("body",r("ObjectTypeAnnotation")).field("extends",n([r("InterfaceExtends")],null),i.null),r("InterfaceDeclaration").bases("Declaration").build("id","body","extends").field("id",r("Identifier")).field("typeParameters",n(r("TypeParameterDeclaration"),null),i.null).field("body",r("ObjectTypeAnnotation")).field("extends",[r("InterfaceExtends")]),r("DeclareInterface").bases("InterfaceDeclaration").build("id","body","extends"),r("InterfaceExtends").bases("Node").build("id").field("id",r("Identifier")).field("typeParameters",n(r("TypeParameterInstantiation"),null),i.null),r("TypeAlias").bases("Declaration").build("id","typeParameters","right").field("id",r("Identifier")).field("typeParameters",n(r("TypeParameterDeclaration"),null)).field("right",r("FlowType")),r("DeclareTypeAlias").bases("TypeAlias").build("id","typeParameters","right"),r("OpaqueType").bases("Declaration").build("id","typeParameters","impltype","supertype").field("id",r("Identifier")).field("typeParameters",n(r("TypeParameterDeclaration"),null)).field("impltype",r("FlowType")).field("supertype",n(r("FlowType"),null)),r("DeclareOpaqueType").bases("OpaqueType").build("id","typeParameters","supertype").field("impltype",n(r("FlowType"),null)),r("TypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",r("Expression")).field("typeAnnotation",r("TypeAnnotation")),r("TupleTypeAnnotation").bases("FlowType").build("types").field("types",[r("FlowType")]),r("DeclareVariable").bases("Statement").build("id").field("id",r("Identifier")),r("DeclareFunction").bases("Statement").build("id").field("id",r("Identifier")).field("predicate",n(r("FlowPredicate"),null),i.null),r("DeclareClass").bases("InterfaceDeclaration").build("id"),r("DeclareModule").bases("Statement").build("id","body").field("id",n(r("Identifier"),r("Literal"))).field("body",r("BlockStatement")),r("DeclareModuleExports").bases("Statement").build("typeAnnotation").field("typeAnnotation",r("TypeAnnotation")),r("DeclareExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",n(r("DeclareVariable"),r("DeclareFunction"),r("DeclareClass"),r("FlowType"),r("TypeAlias"),r("DeclareOpaqueType"),r("InterfaceDeclaration"),null)).field("specifiers",[n(r("ExportSpecifier"),r("ExportBatchSpecifier"))],i.emptyArray).field("source",n(r("Literal"),null),i.null),r("DeclareExportAllDeclaration").bases("Declaration").build("source").field("source",n(r("Literal"),null),i.null),r("ImportDeclaration").field("importKind",n("value","type","typeof"),()=>"value"),r("FlowPredicate").bases("Flow"),r("InferredPredicate").bases("FlowPredicate").build(),r("DeclaredPredicate").bases("FlowPredicate").build("value").field("value",r("Expression")),r("Function").field("predicate",n(r("FlowPredicate"),null),i.null),r("CallExpression").field("typeArguments",n(null,r("TypeParameterInstantiation")),i.null),r("NewExpression").field("typeArguments",n(null,r("TypeParameterInstantiation")),i.null),r("EnumDeclaration").bases("Declaration").build("id","body").field("id",r("Identifier")).field("body",n(r("EnumBooleanBody"),r("EnumNumberBody"),r("EnumStringBody"),r("EnumSymbolBody"))),r("EnumBooleanBody").build("members","explicitType").field("members",[r("EnumBooleanMember")]).field("explicitType",Boolean),r("EnumNumberBody").build("members","explicitType").field("members",[r("EnumNumberMember")]).field("explicitType",Boolean),r("EnumStringBody").build("members","explicitType").field("members",n([r("EnumStringMember")],[r("EnumDefaultedMember")])).field("explicitType",Boolean),r("EnumSymbolBody").build("members").field("members",[r("EnumDefaultedMember")]),r("EnumBooleanMember").build("id","init").field("id",r("Identifier")).field("init",n(r("Literal"),Boolean)),r("EnumNumberMember").build("id","init").field("id",r("Identifier")).field("init",r("Literal")),r("EnumStringMember").build("id","init").field("id",r("Identifier")).field("init",r("Literal")),r("EnumDefaultedMember").build("id").field("id",r("Identifier"))}tt(()=>module);function hH(e){e.use(iu);var t=e.use(Pt),r=e.use(an).defaults,n=t.Type.def,i=t.Type.or;n("VariableDeclaration").field("declarations",[i(n("VariableDeclarator"),n("Identifier"))]),n("Property").field("value",i(n("Expression"),n("Pattern"))),n("ArrayPattern").field("elements",[i(n("Pattern"),n("SpreadElement"),null)]),n("ObjectPattern").field("properties",[i(n("Property"),n("PropertyPattern"),n("SpreadPropertyPattern"),n("SpreadProperty"))]),n("ExportSpecifier").bases("ModuleSpecifier").build("id","name"),n("ExportBatchSpecifier").bases("Specifier").build(),n("ExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",i(n("Declaration"),n("Expression"),null)).field("specifiers",[i(n("ExportSpecifier"),n("ExportBatchSpecifier"))],r.emptyArray).field("source",i(n("Literal"),null),r.null),n("Block").bases("Comment").build("value","leading","trailing"),n("Line").bases("Comment").build("value","leading","trailing")}tt(()=>module);function tI(e){e.use(iu);let t=e.use(Pt),r=e.use(an).defaults,n=t.Type.def,i=t.Type.or,{undefined:s}=t.builtInTypes;n("Noop").bases("Statement").build(),n("DoExpression").bases("Expression").build("body").field("body",[n("Statement")]),n("BindExpression").bases("Expression").build("object","callee").field("object",i(n("Expression"),null)).field("callee",n("Expression")),n("ParenthesizedExpression").bases("Expression").build("expression").field("expression",n("Expression")),n("ExportNamespaceSpecifier").bases("Specifier").build("exported").field("exported",n("Identifier")),n("ExportDefaultSpecifier").bases("Specifier").build("exported").field("exported",n("Identifier")),n("CommentBlock").bases("Comment").build("value","leading","trailing"),n("CommentLine").bases("Comment").build("value","leading","trailing"),n("Directive").bases("Node").build("value").field("value",n("DirectiveLiteral")),n("DirectiveLiteral").bases("Node","Expression").build("value").field("value",String,r["use strict"]),n("InterpreterDirective").bases("Node").build("value").field("value",String),n("BlockStatement").bases("Statement").build("body").field("body",[n("Statement")]).field("directives",[n("Directive")],r.emptyArray),n("Program").bases("Node").build("body").field("body",[n("Statement")]).field("directives",[n("Directive")],r.emptyArray).field("interpreter",i(n("InterpreterDirective"),null),r.null);function o(u=String,p){return["extra",{rawValue:u,raw:String},function(){let h=t.getFieldValue(this,"value");return{rawValue:h,raw:p?p(h):String(h)}}]}n("StringLiteral").bases("Literal").build("value").field("value",String).field(...o(String,u=>JSON.stringify(u))),n("NumericLiteral").bases("Literal").build("value").field("value",Number).field("raw",i(String,null),r.null).field(...o(Number)),n("BigIntLiteral").bases("Literal").build("value").field("value",i(String,Number)).field(...o(String,u=>u+"n")),n("DecimalLiteral").bases("Literal").build("value").field("value",String).field(...o(String,u=>u+"m")),n("NullLiteral").bases("Literal").build().field("value",null,r.null),n("BooleanLiteral").bases("Literal").build("value").field("value",Boolean),n("RegExpLiteral").bases("Literal").build("pattern","flags").field("pattern",String).field("flags",String).field("value",RegExp,function(){return new RegExp(this.pattern,this.flags)}).field(...o(i(RegExp,s),u=>`/${u.pattern}/${u.flags||""}`)).field("regex",{pattern:String,flags:String},function(){return{pattern:this.pattern,flags:this.flags}});var a=i(n("Property"),n("ObjectMethod"),n("ObjectProperty"),n("SpreadProperty"),n("SpreadElement"));n("ObjectExpression").bases("Expression").build("properties").field("properties",[a]),n("ObjectMethod").bases("Node","Function").build("kind","key","params","body","computed").field("kind",i("method","get","set")).field("key",i(n("Literal"),n("Identifier"),n("Expression"))).field("params",[n("Pattern")]).field("body",n("BlockStatement")).field("computed",Boolean,r.false).field("generator",Boolean,r.false).field("async",Boolean,r.false).field("accessibility",i(n("Literal"),null),r.null).field("decorators",i([n("Decorator")],null),r.null),n("ObjectProperty").bases("Node").build("key","value").field("key",i(n("Literal"),n("Identifier"),n("Expression"))).field("value",i(n("Expression"),n("Pattern"))).field("accessibility",i(n("Literal"),null),r.null).field("computed",Boolean,r.false);var c=i(n("MethodDefinition"),n("VariableDeclarator"),n("ClassPropertyDefinition"),n("ClassProperty"),n("ClassPrivateProperty"),n("ClassMethod"),n("ClassPrivateMethod"),n("ClassAccessorProperty"),n("StaticBlock"));n("ClassBody").bases("Declaration").build("body").field("body",[c]),n("ClassMethod").bases("Declaration","Function").build("kind","key","params","body","computed","static").field("key",i(n("Literal"),n("Identifier"),n("Expression"))),n("ClassPrivateMethod").bases("Declaration","Function").build("key","params","body","kind","computed","static").field("key",n("PrivateName")),n("ClassAccessorProperty").bases("Declaration").build("key","value","decorators","computed","static").field("key",i(n("Literal"),n("Identifier"),n("PrivateName"),n("Expression"))).field("value",i(n("Expression"),null),r.null),["ClassMethod","ClassPrivateMethod"].forEach(u=>{n(u).field("kind",i("get","set","method","constructor"),()=>"method").field("body",n("BlockStatement")).field("access",i("public","private","protected",null),r.null)}),["ClassMethod","ClassPrivateMethod","ClassAccessorProperty"].forEach(u=>{n(u).field("computed",Boolean,r.false).field("static",Boolean,r.false).field("abstract",Boolean,r.false).field("accessibility",i("public","private","protected",null),r.null).field("decorators",i([n("Decorator")],null),r.null).field("definite",Boolean,r.false).field("optional",Boolean,r.false).field("override",Boolean,r.false).field("readonly",Boolean,r.false)});var l=i(n("Property"),n("PropertyPattern"),n("SpreadPropertyPattern"),n("SpreadProperty"),n("ObjectProperty"),n("RestProperty"),n("RestElement"));n("ObjectPattern").bases("Pattern").build("properties").field("properties",[l]).field("decorators",i([n("Decorator")],null),r.null),n("SpreadProperty").bases("Node").build("argument").field("argument",n("Expression")),n("RestProperty").bases("Node").build("argument").field("argument",n("Expression")),n("ForAwaitStatement").bases("Statement").build("left","right","body").field("left",i(n("VariableDeclaration"),n("Expression"))).field("right",n("Expression")).field("body",n("Statement")),n("Import").bases("Expression").build()}tt(()=>module);function gH(e){let r=e.use(Pt).Type.def;e.use(tI),e.use(eI),r("V8IntrinsicIdentifier").bases("Expression").build("name").field("name",String),r("TopicReference").bases("Expression").build()}tt(()=>module);function yH(e){e.use(tI),e.use(ZP);var t=e.use(Pt),r=t.namedTypes,n=t.Type.def,i=t.Type.or,s=e.use(an).defaults,o=t.Type.from(function(u,p){return!!(r.StringLiteral&&r.StringLiteral.check(u,p)||r.Literal&&r.Literal.check(u,p)&&typeof u.value=="string")},"StringLiteral");n("TSType").bases("Node");var a=i(n("Identifier"),n("TSQualifiedName"));n("TSTypeReference").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("typeName","typeParameters").field("typeName",a),n("TSHasOptionalTypeParameterInstantiation").field("typeParameters",i(n("TSTypeParameterInstantiation"),null),s.null),n("TSHasOptionalTypeParameters").field("typeParameters",i(n("TSTypeParameterDeclaration"),null,void 0),s.null),n("TSHasOptionalTypeAnnotation").field("typeAnnotation",i(n("TSTypeAnnotation"),null),s.null),n("TSQualifiedName").bases("Node").build("left","right").field("left",a).field("right",a),n("TSAsExpression").bases("Expression","Pattern").build("expression","typeAnnotation").field("expression",n("Expression")).field("typeAnnotation",n("TSType")).field("extra",i({parenthesized:Boolean},null),s.null),n("TSTypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",n("Expression")).field("typeAnnotation",n("TSType")),n("TSSatisfiesExpression").bases("Expression","Pattern").build("expression","typeAnnotation").field("expression",n("Expression")).field("typeAnnotation",n("TSType")),n("TSNonNullExpression").bases("Expression","Pattern").build("expression").field("expression",n("Expression")),["TSAnyKeyword","TSBigIntKeyword","TSBooleanKeyword","TSNeverKeyword","TSNullKeyword","TSNumberKeyword","TSObjectKeyword","TSStringKeyword","TSSymbolKeyword","TSUndefinedKeyword","TSUnknownKeyword","TSVoidKeyword","TSIntrinsicKeyword","TSThisType"].forEach(u=>{n(u).bases("TSType").build()}),n("TSArrayType").bases("TSType").build("elementType").field("elementType",n("TSType")),n("TSLiteralType").bases("TSType").build("literal").field("literal",i(n("NumericLiteral"),n("StringLiteral"),n("BooleanLiteral"),n("TemplateLiteral"),n("UnaryExpression"),n("BigIntLiteral"))),n("TemplateLiteral").field("expressions",i([n("Expression")],[n("TSType")])),["TSUnionType","TSIntersectionType"].forEach(u=>{n(u).bases("TSType").build("types").field("types",[n("TSType")])}),n("TSConditionalType").bases("TSType").build("checkType","extendsType","trueType","falseType").field("checkType",n("TSType")).field("extendsType",n("TSType")).field("trueType",n("TSType")).field("falseType",n("TSType")),n("TSInferType").bases("TSType").build("typeParameter").field("typeParameter",n("TSTypeParameter")),n("TSParenthesizedType").bases("TSType").build("typeAnnotation").field("typeAnnotation",n("TSType"));var c=[i(n("Identifier"),n("RestElement"),n("ArrayPattern"),n("ObjectPattern"))];["TSFunctionType","TSConstructorType"].forEach(u=>{n(u).bases("TSType","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("parameters").field("parameters",c)}),n("TSDeclareFunction").bases("Declaration","TSHasOptionalTypeParameters").build("id","params","returnType").field("declare",Boolean,s.false).field("async",Boolean,s.false).field("generator",Boolean,s.false).field("id",i(n("Identifier"),null),s.null).field("params",[n("Pattern")]).field("returnType",i(n("TSTypeAnnotation"),n("Noop"),null),s.null),n("TSDeclareMethod").bases("Declaration","TSHasOptionalTypeParameters").build("key","params","returnType").field("async",Boolean,s.false).field("generator",Boolean,s.false).field("params",[n("Pattern")]).field("abstract",Boolean,s.false).field("accessibility",i("public","private","protected",void 0),s.undefined).field("static",Boolean,s.false).field("computed",Boolean,s.false).field("optional",Boolean,s.false).field("key",i(n("Identifier"),n("StringLiteral"),n("NumericLiteral"),n("Expression"))).field("kind",i("get","set","method","constructor"),function(){return"method"}).field("access",i("public","private","protected",void 0),s.undefined).field("decorators",i([n("Decorator")],null),s.null).field("returnType",i(n("TSTypeAnnotation"),n("Noop"),null),s.null),n("TSMappedType").bases("TSType").build("typeParameter","typeAnnotation").field("readonly",i(Boolean,"+","-"),s.false).field("typeParameter",n("TSTypeParameter")).field("optional",i(Boolean,"+","-"),s.false).field("typeAnnotation",i(n("TSType"),null),s.null),n("TSTupleType").bases("TSType").build("elementTypes").field("elementTypes",[i(n("TSType"),n("TSNamedTupleMember"))]),n("TSNamedTupleMember").bases("TSType").build("label","elementType","optional").field("label",n("Identifier")).field("optional",Boolean,s.false).field("elementType",n("TSType")),n("TSRestType").bases("TSType").build("typeAnnotation").field("typeAnnotation",n("TSType")),n("TSOptionalType").bases("TSType").build("typeAnnotation").field("typeAnnotation",n("TSType")),n("TSIndexedAccessType").bases("TSType").build("objectType","indexType").field("objectType",n("TSType")).field("indexType",n("TSType")),n("TSTypeOperator").bases("TSType").build("operator").field("operator",String).field("typeAnnotation",n("TSType")),n("TSTypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",i(n("TSType"),n("TSTypeAnnotation"))),n("TSIndexSignature").bases("Declaration","TSHasOptionalTypeAnnotation").build("parameters","typeAnnotation").field("parameters",[n("Identifier")]).field("readonly",Boolean,s.false),n("TSPropertySignature").bases("Declaration","TSHasOptionalTypeAnnotation").build("key","typeAnnotation","optional").field("key",n("Expression")).field("computed",Boolean,s.false).field("readonly",Boolean,s.false).field("optional",Boolean,s.false).field("initializer",i(n("Expression"),null),s.null),n("TSMethodSignature").bases("Declaration","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("key","parameters","typeAnnotation").field("key",n("Expression")).field("computed",Boolean,s.false).field("optional",Boolean,s.false).field("parameters",c),n("TSTypePredicate").bases("TSTypeAnnotation","TSType").build("parameterName","typeAnnotation","asserts").field("parameterName",i(n("Identifier"),n("TSThisType"))).field("typeAnnotation",i(n("TSTypeAnnotation"),null),s.null).field("asserts",Boolean,s.false),["TSCallSignatureDeclaration","TSConstructSignatureDeclaration"].forEach(u=>{n(u).bases("Declaration","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("parameters","typeAnnotation").field("parameters",c)}),n("TSEnumMember").bases("Node").build("id","initializer").field("id",i(n("Identifier"),o)).field("initializer",i(n("Expression"),null),s.null),n("TSTypeQuery").bases("TSType").build("exprName").field("exprName",i(a,n("TSImportType")));var l=i(n("TSCallSignatureDeclaration"),n("TSConstructSignatureDeclaration"),n("TSIndexSignature"),n("TSMethodSignature"),n("TSPropertySignature"));n("TSTypeLiteral").bases("TSType").build("members").field("members",[l]),n("TSTypeParameter").bases("Identifier").build("name","constraint","default").field("name",i(n("Identifier"),String)).field("constraint",i(n("TSType"),void 0),s.undefined).field("default",i(n("TSType"),void 0),s.undefined),n("TSTypeAssertion").bases("Expression","Pattern").build("typeAnnotation","expression").field("typeAnnotation",n("TSType")).field("expression",n("Expression")).field("extra",i({parenthesized:Boolean},null),s.null),n("TSTypeParameterDeclaration").bases("Declaration").build("params").field("params",[n("TSTypeParameter")]),n("TSInstantiationExpression").bases("Expression","TSHasOptionalTypeParameterInstantiation").build("expression","typeParameters").field("expression",n("Expression")),n("TSTypeParameterInstantiation").bases("Node").build("params").field("params",[n("TSType")]),n("TSEnumDeclaration").bases("Declaration").build("id","members").field("id",n("Identifier")).field("const",Boolean,s.false).field("declare",Boolean,s.false).field("members",[n("TSEnumMember")]).field("initializer",i(n("Expression"),null),s.null),n("TSTypeAliasDeclaration").bases("Declaration","TSHasOptionalTypeParameters").build("id","typeAnnotation").field("id",n("Identifier")).field("declare",Boolean,s.false).field("typeAnnotation",n("TSType")),n("TSModuleBlock").bases("Node").build("body").field("body",[n("Statement")]),n("TSModuleDeclaration").bases("Declaration").build("id","body").field("id",i(o,a)).field("declare",Boolean,s.false).field("global",Boolean,s.false).field("body",i(n("TSModuleBlock"),n("TSModuleDeclaration"),null),s.null),n("TSImportType").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("argument","qualifier","typeParameters").field("argument",o).field("qualifier",i(a,void 0),s.undefined),n("TSImportEqualsDeclaration").bases("Declaration").build("id","moduleReference").field("id",n("Identifier")).field("isExport",Boolean,s.false).field("moduleReference",i(a,n("TSExternalModuleReference"))),n("TSExternalModuleReference").bases("Declaration").build("expression").field("expression",o),n("TSExportAssignment").bases("Statement").build("expression").field("expression",n("Expression")),n("TSNamespaceExportDeclaration").bases("Declaration").build("id").field("id",n("Identifier")),n("TSInterfaceBody").bases("Node").build("body").field("body",[l]),n("TSExpressionWithTypeArguments").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("expression","typeParameters").field("expression",a),n("TSInterfaceDeclaration").bases("Declaration","TSHasOptionalTypeParameters").build("id","body").field("id",a).field("declare",Boolean,s.false).field("extends",i([n("TSExpressionWithTypeArguments")],null),s.null).field("body",n("TSInterfaceBody")),n("TSParameterProperty").bases("Pattern").build("parameter").field("accessibility",i("public","private","protected",void 0),s.undefined).field("readonly",Boolean,s.false).field("parameter",i(n("Identifier"),n("AssignmentPattern"))),n("ClassProperty").field("access",i("public","private","protected",void 0),s.undefined),n("ClassAccessorProperty").bases("Declaration","TSHasOptionalTypeAnnotation"),n("ClassBody").field("body",[i(n("MethodDefinition"),n("VariableDeclarator"),n("ClassPropertyDefinition"),n("ClassProperty"),n("ClassPrivateProperty"),n("ClassAccessorProperty"),n("ClassMethod"),n("ClassPrivateMethod"),n("StaticBlock"),n("TSDeclareMethod"),l)])}tt(()=>module);var Jn;Jn||(Jn={});var{astNodesAreEquivalent:oDe,builders:Va,builtInTypes:Yn,defineMethod:aDe,eachField:cDe,finalize:lDe,getBuilderName:uDe,getFieldNames:bH,getFieldValue:ss,getSupertypeNames:pDe,namedTypes:xH,NodePath:vH,Path:dDe,PathVisitor:fDe,someField:EH,Type:mDe,use:hDe,visit:gDe}=rH([iu,mH,eI,hH,gH,yH]);Object.assign(Jn,xH);var mf=Jn,NP=If.default.SourceMapConsumer,wH=If.default.SourceMapGenerator,rI=Object.prototype.hasOwnProperty;function CH(){return`
1231
+ `);return s!==-1&&(t=vA(t,i,n,s)),n+t+i};Object.defineProperties(kl.prototype,Pa);var dCe=kl(),fCe=kl({level:wA?wA.level:0});var _e=new Jd({level:2}),SA={comment:_e.gray,quote:_e.gray,keyword:_e.green,"selector-tag":_e.green,addition:_e.green,number:_e.cyan,string:_e.cyan,"meta meta-string":_e.cyan,literal:_e.cyan,doctag:_e.cyan,regexp:_e.cyan,title:_e.blue,section:_e.blue,name:_e.blue,"selector-id":_e.blue,"selector-class":_e.blue,attribute:_e.yellow,attr:_e.yellow,variable:_e.yellow,"template-variable":_e.yellow,"class title":_e.yellow,type:_e.yellow,symbol:_e.magenta,bullet:_e.magenta,subst:_e.magenta,meta:_e.magenta,"meta keyword":_e.magenta,"selector-attr":_e.magenta,"selector-pseudo":_e.magenta,link:_e.magenta,built_in:_e.red,deletion:_e.red,emphasis:_e.italic,strong:_e.bold,formula:_e.inverse};function Nl(e){let t=Wy(e);return{highlight:r,highlightAuto:n,listLanguages:t.listLanguages,register:t.register,registerAlias:t.registerAlias,registered:t.registered};function r(i,s,o){let a=t.highlight(i,s),c=a.data;return{language:c.language,relevance:c.relevance,value:Zy(o||SA,a)}}function n(i,s){let o,a;if(s&&("subset"in s||"sheet"in s)){let u=s;a={subset:u.subset},o=u.sheet}else o=s;let c=t.highlightAuto(i,a),l=c.data;return{language:l.language,relevance:l.relevance,value:Zy(o||SA,c)}}}function Zy(e,t){let r=new Set(t.type==="element"&&Array.isArray(t.properties.className)?t.properties.className.map(function(a){return String(a).replace(/^hljs-/,"")}):[]),n={},i,s="",o;for(o in e)if(Object.hasOwn(e,o)){let a=o.split(" "),c=e[o];r.has(a[0])?a.length===1?i=c:n[a.slice(1).join(" ")]=c:n[o]=c}return"value"in t?s=t.value:"children"in t&&(s=oz(n,t.children)),i&&(s=i(s)),s}function oz(e,t){let r=[],n=-1;for(;++n<t.length;)r.push(Zy(e,t[n]));return r.join("")}f();var TA=q(require("@sentry/node"),1),AA=q(require("@amplitude/analytics-node"),1);async function Y(e){if(process.env.NODE_ENV!=="test")try{await Promise.allSettled([TA.flush(2e3),AA.flush().promise])}catch(t){console.error(t)}process.exit(e)}f();var mr=process.env.AIR_HOST||"https://ai.builder.io";f();var Ci=q(require("@amplitude/analytics-node"),1),Xn=q(require("@sentry/node"),1);var PA="1.6.89";f();var Vt=require("fs/promises"),II=require("crypto"),lt=require("fs"),su=require("os"),Ne=q(require("path"),1),_I=q(require("typescript"),1),kI=q(require("launch-editor"),1);var So=require("child_process");var dx={};P1(dx,{MagicastError:()=>hr,builders:()=>SV,detectCodeFormat:()=>TI,generateCode:()=>px,loadFile:()=>CV,parseExpression:()=>PI,parseModule:()=>AI,writeFile:()=>DV});f();var Ef=require("fs");var If=q(eP(),1),HP=q(kP(),1);function an(e){var t=e.use(Pt),r=t.Type,n=t.builtInTypes,i=n.number;function s(l){return r.from(u=>i.check(u)&&u>=l,i+" >= "+l)}let o={null:function(){return null},emptyArray:function(){return[]},false:function(){return!1},true:function(){return!0},undefined:function(){},"use strict":function(){return"use strict"}};var a=r.or(n.string,n.number,n.boolean,n.null,n.undefined);let c=r.from(l=>{if(l===null)return!0;var u=typeof l;return!(u==="object"||u==="function")},a.toString());return{geq:s,defaults:o,isPrimitive:c}}function tt(e){try{var t=e(),r=t.exports,n=r.default}catch{return}n&&n!==r&&typeof r=="object"&&(Object.assign(n,r,{default:n}),r.__esModule&&Object.defineProperty(n,"__esModule",{value:!0}),t.exports=n)}var YK=Object.defineProperty,XK=(e,t,r)=>t in e?YK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Tr=(e,t,r)=>(XK(e,typeof t!="symbol"?t+"":t,r),r),VP=Object.prototype,wf=VP.toString,Cn=VP.hasOwnProperty,Do=class{assert(t,r){if(!this.check(t,r)){var n=ox(t);throw new Error(n+" does not match type "+this)}return!0}arrayOf(){let t=this;return new eu(t)}},eu=class extends Do{constructor(t){super(),this.elemType=t,Tr(this,"kind","ArrayType")}toString(){return"["+this.elemType+"]"}check(t,r){return Array.isArray(t)&&t.every(n=>this.elemType.check(n,r))}},Cf=class extends Do{constructor(t){super(),this.value=t,Tr(this,"kind","IdentityType")}toString(){return String(this.value)}check(t,r){let n=t===this.value;return!n&&typeof r=="function"&&r(this,t),n}},Df=class extends Do{constructor(t){super(),this.fields=t,Tr(this,"kind","ObjectType")}toString(){return"{ "+this.fields.join(", ")+" }"}check(t,r){return wf.call(t)===wf.call({})&&this.fields.every(n=>n.type.check(t[n.name],r))}},Sf=class extends Do{constructor(t){super(),this.types=t,Tr(this,"kind","OrType")}toString(){return this.types.join(" | ")}check(t,r){return this.types.some(n=>n.check(t,!!r))?!0:(typeof r=="function"&&r(this,t),!1)}},Co=class extends Do{constructor(t,r){super(),this.name=t,this.predicate=r,Tr(this,"kind","PredicateType")}toString(){return this.name}check(t,r){let n=this.predicate(t,r);return!n&&typeof r=="function"&&r(this,t),n}},Ql=class e{constructor(t,r){this.type=t,this.typeName=r,Tr(this,"baseNames",[]),Tr(this,"ownFields",Object.create(null)),Tr(this,"allSupertypes",Object.create(null)),Tr(this,"supertypeList",[]),Tr(this,"allFields",Object.create(null)),Tr(this,"fieldNames",[]),Tr(this,"finalized",!1),Tr(this,"buildable",!1),Tr(this,"buildParams",[])}isSupertypeOf(t){if(t instanceof e){if(this.finalized!==!0||t.finalized!==!0)throw new Error("");return Cn.call(t.allSupertypes,this.typeName)}else throw new Error(t+" is not a Def")}checkAllFields(t,r){var n=this.allFields;if(this.finalized!==!0)throw new Error(""+this.typeName);function i(s){var o=n[s],a=o.type,c=o.getValue(t);return a.check(c,r)}return t!==null&&typeof t=="object"&&Object.keys(n).every(i)}bases(...t){var r=this.baseNames;if(this.finalized){if(t.length!==r.length)throw new Error("");for(var n=0;n<t.length;n++)if(t[n]!==r[n])throw new Error("");return this}return t.forEach(i=>{r.indexOf(i)<0&&r.push(i)}),this}},Tf=class{constructor(t,r,n,i){this.name=t,this.type=r,this.defaultFn=n,Tr(this,"hidden"),this.hidden=!!i}toString(){return JSON.stringify(this.name)+": "+this.type}getValue(t){var r=t[this.name];return typeof r<"u"||typeof this.defaultFn=="function"&&(r=this.defaultFn.call(t)),r}};function ox(e){return Array.isArray(e)?"["+e.map(ox).join(", ")+"]":e&&typeof e=="object"?"{ "+Object.keys(e).map(function(t){return t+": "+e[t]}).join(", ")+" }":JSON.stringify(e)}function Pt(e){let t={or(...O){return new Sf(O.map(L=>t.from(L)))},from(O,L){if(O instanceof eu||O instanceof Cf||O instanceof Df||O instanceof Sf||O instanceof Co)return O;if(O instanceof Ql)return O.type;if(a.check(O)){if(O.length!==1)throw new Error("only one element type is permitted for typed arrays");return new eu(t.from(O[0]))}if(c.check(O))return new Df(Object.keys(O).map(ie=>new Tf(ie,t.from(O[ie],ie))));if(typeof O=="function"){var V=r.indexOf(O);if(V>=0)return n[V];if(typeof L!="string")throw new Error("missing name");return new Co(L,O)}return new Cf(O)},def(O){return Cn.call(b,O)?b[O]:b[O]=new E(O)},hasDef(O){return Cn.call(b,O)}};var r=[],n=[];function i(O,L){let V=wf.call(L),ie=new Co(O,Ee=>wf.call(Ee)===V);return L&&typeof L.constructor=="function"&&(r.push(L.constructor),n.push(ie)),ie}let s=i("string","truthy"),o=i("function",function(){}),a=i("array",[]),c=i("object",{}),l=i("RegExp",/./),u=i("Date",new Date),p=i("number",3),d=i("boolean",!0),h=i("null",null),m=i("undefined",void 0),g=typeof BigInt=="function"?i("BigInt",BigInt(1234)):new Co("BigInt",()=>!1),y={string:s,function:o,array:a,object:c,RegExp:l,Date:u,number:p,boolean:d,null:h,undefined:m,BigInt:g};var b=Object.create(null);function v(O){if(O&&typeof O=="object"){var L=O.type;if(typeof L=="string"&&Cn.call(b,L)){var V=b[L];if(V.finalized)return V}}return null}class E extends Ql{constructor(L){super(new Co(L,(V,ie)=>this.check(V,ie)),L)}check(L,V){if(this.finalized!==!0)throw new Error("prematurely checking unfinalized type "+this.typeName);if(L===null||typeof L!="object")return!1;var ie=v(L);return ie?V&&ie===this?this.checkAllFields(L,V):this.isSupertypeOf(ie)?V?ie.checkAllFields(L,V)&&this.checkAllFields(L,!1):!0:!1:this.typeName==="SourceLocation"||this.typeName==="Position"?this.checkAllFields(L,V):!1}build(...L){if(this.buildParams=L,this.buildable)return this;this.field("type",String,()=>this.typeName),this.buildable=!0;let V=(Ee,pe,Q,Tt)=>{if(!Cn.call(Ee,pe)){var rr=this.allFields;if(!Cn.call(rr,pe))throw new Error(""+pe);var J=rr[pe],je=J.type,H;if(Tt)H=Q;else if(J.defaultFn)H=J.defaultFn.call(Ee);else{var fe="no value or default function given for field "+JSON.stringify(pe)+" of "+this.typeName+"("+this.buildParams.map(function(ce){return rr[ce]}).join(", ")+")";throw new Error(fe)}if(!je.check(H))throw new Error(ox(H)+" does not match field "+J+" of type "+this.typeName);Ee[pe]=H}},ie=(...Ee)=>{var pe=Ee.length;if(!this.finalized)throw new Error("attempting to instantiate unfinalized type "+this.typeName);var Q=Object.create(S);if(this.buildParams.forEach(function(Tt,rr){rr<pe?V(Q,Tt,Ee[rr],!0):V(Q,Tt,null,!1)}),Object.keys(this.allFields).forEach(function(Tt){V(Q,Tt,null,!1)}),Q.type!==this.typeName)throw new Error("");return Q};return ie.from=Ee=>{if(!this.finalized)throw new Error("attempting to instantiate unfinalized type "+this.typeName);var pe=Object.create(S);if(Object.keys(this.allFields).forEach(function(Q){Cn.call(Ee,Q)?V(pe,Q,Ee[Q],!0):V(pe,Q,null,!1)}),pe.type!==this.typeName)throw new Error("");return pe},Object.defineProperty(C,F(this.typeName),{enumerable:!0,value:ie}),this}field(L,V,ie,Ee){return this.finalized?(console.error("Ignoring attempt to redefine field "+JSON.stringify(L)+" of finalized type "+JSON.stringify(this.typeName)),this):(this.ownFields[L]=new Tf(L,t.from(V),ie,Ee),this)}finalize(){if(!this.finalized){var L=this.allFields,V=this.allSupertypes;this.baseNames.forEach(Ee=>{var pe=b[Ee];if(pe instanceof Ql)pe.finalize(),B(L,pe.allFields),B(V,pe.allSupertypes);else{var Q="unknown supertype name "+JSON.stringify(Ee)+" for subtype "+JSON.stringify(this.typeName);throw new Error(Q)}}),B(L,this.ownFields),V[this.typeName]=this,this.fieldNames.length=0;for(var ie in L)Cn.call(L,ie)&&!L[ie].hidden&&this.fieldNames.push(ie);Object.defineProperty(A,this.typeName,{enumerable:!0,value:this.type}),this.finalized=!0,R(this.typeName,this.supertypeList),this.buildable&&this.supertypeList.lastIndexOf("Expression")>=0&&N(this.typeName)}}}function x(O){if(!Cn.call(b,O))throw new Error("");var L=b[O];if(L.finalized!==!0)throw new Error("");return L.supertypeList.slice(1)}function w(O){for(var L={},V=Object.keys(b),ie=V.length,Ee=0;Ee<ie;++Ee){var pe=V[Ee],Q=b[pe];if(Q.finalized!==!0)throw new Error(""+pe);for(var Tt=0;Tt<Q.supertypeList.length;++Tt){var rr=Q.supertypeList[Tt];if(Cn.call(O,rr)){L[pe]=rr;break}}}return L}var C=Object.create(null),S={};function _(O,L){var V=S[O];return m.check(L)?delete S[O]:(o.assert(L),Object.defineProperty(S,O,{enumerable:!0,configurable:!0,value:L})),V}function F(O){return O.replace(/^[A-Z]+/,function(L){var V=L.length;switch(V){case 0:return"";case 1:return L.toLowerCase();default:return L.slice(0,V-1).toLowerCase()+L.charAt(V-1)}})}function I(O){return O=F(O),O.replace(/(Expression)?$/,"Statement")}var A={};function M(O){var L=v(O);if(L)return L.fieldNames.slice(0);if("type"in O)throw new Error("did not recognize object of type "+JSON.stringify(O.type));return Object.keys(O)}function K(O,L){var V=v(O);if(V){var ie=V.allFields[L];if(ie)return ie.getValue(O)}return O&&O[L]}function W(O,L,V){M(O).forEach(function(ie){L.call(this,ie,K(O,ie))},V)}function P(O,L,V){return M(O).some(function(ie){return L.call(this,ie,K(O,ie))},V)}function N(O){var L=I(O);if(C[L])return;var V=C[F(O)];if(!V)return;let ie=function(...Ee){return C.expressionStatement(V.apply(C,Ee))};ie.from=function(...Ee){return C.expressionStatement(V.from.apply(C,Ee))},C[L]=ie}function R(O,L){L.length=0,L.push(O);for(var V=Object.create(null),ie=0;ie<L.length;++ie){O=L[ie];var Ee=b[O];if(Ee.finalized!==!0)throw new Error("");Cn.call(V,O)&&delete L[V[O]],V[O]=ie,L.push.apply(L,Ee.baseNames)}for(var pe=0,Q=pe,Tt=L.length;Q<Tt;++Q)Cn.call(L,Q)&&(L[pe++]=L[Q]);L.length=pe}function B(O,L){return Object.keys(L).forEach(function(V){O[V]=L[V]}),O}function Z(){Object.keys(b).forEach(function(O){b[O].finalize()})}return{Type:t,builtInTypes:y,getSupertypeNames:x,computeSupertypeLookupTable:w,builders:C,defineMethod:_,getBuilderName:F,getStatementBuilderName:I,namedTypes:A,getFieldNames:M,getFieldValue:K,eachField:W,someField:P,finalize:Z}}tt(()=>module);var QK=Object.prototype,df=QK.hasOwnProperty;function WP(e){var t=e.use(Pt),r=t.builtInTypes.array,n=t.builtInTypes.number;let i=function p(d,h,m){if(!(this instanceof p))throw new Error("Path constructor cannot be invoked without 'new'");if(h){if(!(h instanceof p))throw new Error("")}else h=null,m=null;this.value=d,this.parentPath=h,this.name=m,this.__childCache=null};var s=i.prototype;function o(p){return p.__childCache||(p.__childCache=Object.create(null))}function a(p,d){var h=o(p),m=p.getValueProperty(d),g=h[d];return(!df.call(h,d)||g.value!==m)&&(g=h[d]=new p.constructor(m,p,d)),g}s.getValueProperty=function(d){return this.value[d]},s.get=function(...d){for(var h=this,m=d.length,g=0;g<m;++g)h=a(h,d[g]);return h},s.each=function(d,h){for(var m=[],g=this.value.length,y=0,y=0;y<g;++y)df.call(this.value,y)&&(m[y]=this.get(y));for(h=h||this,y=0;y<g;++y)df.call(m,y)&&d.call(h,m[y])},s.map=function(d,h){var m=[];return this.each(function(g){m.push(d.call(this,g))},h),m},s.filter=function(d,h){var m=[];return this.each(function(g){d.call(this,g)&&m.push(g)},h),m};function c(){}function l(p,d,h,m){if(r.assert(p.value),d===0)return c;var g=p.value.length;if(g<1)return c;var y=arguments.length;y===2?(h=0,m=g):y===3?(h=Math.max(h,0),m=g):(h=Math.max(h,0),m=Math.min(m,g)),n.assert(h),n.assert(m);for(var b=Object.create(null),v=o(p),E=h;E<m;++E)if(df.call(p.value,E)){var x=p.get(E);if(x.name!==E)throw new Error("");var w=E+d;x.name=w,b[w]=x,delete v[E]}return delete v.length,function(){for(var C in b){var S=b[C];if(S.name!==+C)throw new Error("");v[C]=S,p.value[C]=S.value}}}s.shift=function(){var d=l(this,-1),h=this.value.shift();return d(),h},s.unshift=function(...d){var h=l(this,d.length),m=this.value.unshift.apply(this.value,d);return h(),m},s.push=function(...d){return r.assert(this.value),delete o(this).length,this.value.push.apply(this.value,d)},s.pop=function(){r.assert(this.value);var d=o(this);return delete d[this.value.length-1],delete d.length,this.value.pop()},s.insertAt=function(d){var h=arguments.length,m=l(this,h-1,d);if(m===c&&h<=1)return this;d=Math.max(d,0);for(var g=1;g<h;++g)this.value[d+g-1]=arguments[g];return m(),this},s.insertBefore=function(...d){for(var h=this.parentPath,m=d.length,g=[this.name],y=0;y<m;++y)g.push(d[y]);return h.insertAt.apply(h,g)},s.insertAfter=function(...d){for(var h=this.parentPath,m=d.length,g=[this.name+1],y=0;y<m;++y)g.push(d[y]);return h.insertAt.apply(h,g)};function u(p){if(!(p instanceof i))throw new Error("");var d=p.parentPath;if(!d)return p;var h=d.value,m=o(d);if(h[p.name]===p.value)m[p.name]=p;else if(r.check(h)){var g=h.indexOf(p.value);g>=0&&(m[p.name=g]=p)}else h[p.name]=p.value,m[p.name]=p;if(h[p.name]!==p.value)throw new Error("");if(p.parentPath.get(p.name)!==p)throw new Error("");return p}return s.replace=function(d){var h=[],m=this.parentPath.value,g=o(this.parentPath),y=arguments.length;if(u(this),r.check(m)){for(var b=m.length,v=l(this.parentPath,y-1,this.name+1),E=[this.name,1],x=0;x<y;++x)E.push(arguments[x]);var w=m.splice.apply(m,E);if(w[0]!==this.value)throw new Error("");if(m.length!==b-1+y)throw new Error("");if(v(),y===0)delete this.value,delete g[this.name],this.__childCache=null;else{if(m[this.name]!==d)throw new Error("");for(this.value!==d&&(this.value=d,this.__childCache=null),x=0;x<y;++x)h.push(this.parentPath.get(this.name+x));if(h[0]!==this)throw new Error("")}}else if(y===1)this.value!==d&&(this.__childCache=null),this.value=m[this.name]=d,h.push(this);else if(y===0)delete m[this.name],delete this.value,this.__childCache=null;else throw new Error("Could not replace path");return h},i}tt(()=>module);var Ua=Object.prototype.hasOwnProperty;function ZK(e){var t=e.use(Pt),r=t.Type,n=t.namedTypes,i=n.Node,s=n.Expression,o=t.builtInTypes.array,a=t.builders;let c=function x(w,C){if(!(this instanceof x))throw new Error("Scope constructor cannot be invoked without 'new'");u.check(w.value)||l.assert(w.value);var S;if(C){if(!(C instanceof x))throw new Error("");S=C.depth+1}else C=null,S=0;Object.defineProperties(this,{path:{value:w},node:{value:w.value},isGlobal:{value:!C,enumerable:!0},depth:{value:S},parent:{value:C},bindings:{value:{}},types:{value:{}}})};var l=r.or(n.Program,n.Function,n.CatchClause),u=r.or(n.Function,n.ClassDeclaration,n.ClassExpression,n.InterfaceDeclaration,n.TSInterfaceDeclaration,n.TypeAlias,n.TSTypeAliasDeclaration),p=r.or(n.TypeParameter,n.TSTypeParameter);c.isEstablishedBy=function(x){return l.check(x)||u.check(x)};var d=c.prototype;d.didScan=!1,d.declares=function(x){return this.scan(),Ua.call(this.bindings,x)},d.declaresType=function(x){return this.scan(),Ua.call(this.types,x)},d.declareTemporary=function(x){if(x){if(!/^[a-z$_]/i.test(x))throw new Error("")}else x="t$";x+=this.depth.toString(36)+"$",this.scan();for(var w=0;this.declares(x+w);)++w;var C=x+w;return this.bindings[C]=t.builders.identifier(C)},d.injectTemporary=function(x,w){x||(x=this.declareTemporary());var C=this.path.get("body");return n.BlockStatement.check(C.value)&&(C=C.get("body")),C.unshift(a.variableDeclaration("var",[a.variableDeclarator(x,w||null)])),x},d.scan=function(x){if(x||!this.didScan){for(var w in this.bindings)delete this.bindings[w];for(var w in this.types)delete this.types[w];h(this.path,this.bindings,this.types),this.didScan=!0}},d.getBindings=function(){return this.scan(),this.bindings},d.getTypes=function(){return this.scan(),this.types};function h(x,w,C){var S=x.value;if(u.check(S)){let _=x.get("typeParameters","params");o.check(_.value)&&_.each(F=>{E(F,C)})}l.check(S)&&(n.CatchClause.check(S)?b(x.get("param"),w):m(x,w,C))}function m(x,w,C){var S=x.value;x.parent&&n.FunctionExpression.check(x.parent.node)&&x.parent.node.id&&b(x.parent.get("id"),w),S&&(o.check(S)?x.each(_=>{y(_,w,C)}):n.Function.check(S)?(x.get("params").each(_=>{b(_,w)}),y(x.get("body"),w,C),m(x.get("typeParameters"),w,C)):n.TypeAlias&&n.TypeAlias.check(S)||n.InterfaceDeclaration&&n.InterfaceDeclaration.check(S)||n.TSTypeAliasDeclaration&&n.TSTypeAliasDeclaration.check(S)||n.TSInterfaceDeclaration&&n.TSInterfaceDeclaration.check(S)?v(x.get("id"),C):n.VariableDeclarator.check(S)?(b(x.get("id"),w),y(x.get("init"),w,C)):S.type==="ImportSpecifier"||S.type==="ImportNamespaceSpecifier"||S.type==="ImportDefaultSpecifier"?b(x.get(S.local?"local":S.name?"name":"id"),w):i.check(S)&&!s.check(S)&&t.eachField(S,function(_,F){var I=x.get(_);if(!g(I,F))throw new Error("");y(I,w,C)}))}function g(x,w){return!!(x.value===w||Array.isArray(x.value)&&x.value.length===0&&Array.isArray(w)&&w.length===0)}function y(x,w,C){var S=x.value;if(!(!S||s.check(S)))if(n.FunctionDeclaration.check(S)&&S.id!==null)b(x.get("id"),w);else if(n.ClassDeclaration&&n.ClassDeclaration.check(S)&&S.id!==null)b(x.get("id"),w),m(x.get("typeParameters"),w,C);else if(n.InterfaceDeclaration&&n.InterfaceDeclaration.check(S)||n.TSInterfaceDeclaration&&n.TSInterfaceDeclaration.check(S))v(x.get("id"),C);else if(l.check(S)){if(n.CatchClause.check(S)&&n.Identifier.check(S.param)){var _=S.param.name,F=Ua.call(w,_);m(x.get("body"),w,C),F||delete w[_]}}else m(x,w,C)}function b(x,w){var C=x.value;n.Pattern.assert(C),n.Identifier.check(C)?Ua.call(w,C.name)?w[C.name].push(x):w[C.name]=[x]:n.AssignmentPattern&&n.AssignmentPattern.check(C)?b(x.get("left"),w):n.ObjectPattern&&n.ObjectPattern.check(C)?x.get("properties").each(function(S){var _=S.value;n.Pattern.check(_)?b(S,w):n.Property.check(_)||n.ObjectProperty&&n.ObjectProperty.check(_)?b(S.get("value"),w):n.SpreadProperty&&n.SpreadProperty.check(_)&&b(S.get("argument"),w)}):n.ArrayPattern&&n.ArrayPattern.check(C)?x.get("elements").each(function(S){var _=S.value;n.Pattern.check(_)?b(S,w):n.SpreadElement&&n.SpreadElement.check(_)&&b(S.get("argument"),w)}):n.PropertyPattern&&n.PropertyPattern.check(C)?b(x.get("pattern"),w):(n.SpreadElementPattern&&n.SpreadElementPattern.check(C)||n.RestElement&&n.RestElement.check(C)||n.SpreadPropertyPattern&&n.SpreadPropertyPattern.check(C))&&b(x.get("argument"),w)}function v(x,w){var C=x.value;n.Pattern.assert(C),n.Identifier.check(C)&&(Ua.call(w,C.name)?w[C.name].push(x):w[C.name]=[x])}function E(x,w){var C=x.value;p.assert(C),Ua.call(w,C.name)?w[C.name].push(x):w[C.name]=[x]}return d.lookup=function(x){for(var w=this;w&&!w.declares(x);w=w.parent);return w},d.lookupType=function(x){for(var w=this;w&&!w.declaresType(x);w=w.parent);return w},d.getGlobalScope=function(){for(var x=this;!x.isGlobal;)x=x.parent;return x},c}tt(()=>module);function JP(e){var t=e.use(Pt),r=t.namedTypes,n=t.builders,i=t.builtInTypes.number,s=t.builtInTypes.array,o=e.use(WP),a=e.use(ZK);let c=function y(b,v,E){if(!(this instanceof y))throw new Error("NodePath constructor cannot be invoked without 'new'");o.call(this,b,v,E)};var l=c.prototype=Object.create(o.prototype,{constructor:{value:c,enumerable:!1,writable:!0,configurable:!0}});Object.defineProperties(l,{node:{get:function(){return Object.defineProperty(this,"node",{configurable:!0,value:this._computeNode()}),this.node}},parent:{get:function(){return Object.defineProperty(this,"parent",{configurable:!0,value:this._computeParent()}),this.parent}},scope:{get:function(){return Object.defineProperty(this,"scope",{configurable:!0,value:this._computeScope()}),this.scope}}}),l.replace=function(){return delete this.node,delete this.parent,delete this.scope,o.prototype.replace.apply(this,arguments)},l.prune=function(){var y=this.parent;return this.replace(),m(y)},l._computeNode=function(){var y=this.value;if(r.Node.check(y))return y;var b=this.parentPath;return b&&b.node||null},l._computeParent=function(){var y=this.value,b=this.parentPath;if(!r.Node.check(y)){for(;b&&!r.Node.check(b.value);)b=b.parentPath;b&&(b=b.parentPath)}for(;b&&!r.Node.check(b.value);)b=b.parentPath;return b||null},l._computeScope=function(){var y=this.value,b=this.parentPath,v=b&&b.scope;return r.Node.check(y)&&a.isEstablishedBy(y)&&(v=new a(this,v)),v||null},l.getValueProperty=function(y){return t.getFieldValue(this.value,y)},l.needsParens=function(y){var b=this.parentPath;if(!b)return!1;var v=this.value;if(!r.Expression.check(v)||v.type==="Identifier")return!1;for(;!r.Node.check(b.value);)if(b=b.parentPath,!b)return!1;var E=b.value;switch(v.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":return E.type==="MemberExpression"&&this.name==="object"&&E.object===v;case"BinaryExpression":case"LogicalExpression":switch(E.type){case"CallExpression":return this.name==="callee"&&E.callee===v;case"UnaryExpression":case"SpreadElement":case"SpreadProperty":return!0;case"MemberExpression":return this.name==="object"&&E.object===v;case"BinaryExpression":case"LogicalExpression":{let x=v,w=E.operator,C=p[w],S=x.operator,_=p[S];if(C>_)return!0;if(C===_&&this.name==="right"){if(E.right!==x)throw new Error("Nodes must be equal");return!0}}default:return!1}case"SequenceExpression":switch(E.type){case"ForStatement":return!1;case"ExpressionStatement":return this.name!=="expression";default:return!0}case"YieldExpression":switch(E.type){case"BinaryExpression":case"LogicalExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"CallExpression":case"MemberExpression":case"NewExpression":case"ConditionalExpression":case"YieldExpression":return!0;default:return!1}case"Literal":return E.type==="MemberExpression"&&i.check(v.value)&&this.name==="object"&&E.object===v;case"AssignmentExpression":case"ConditionalExpression":switch(E.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":return!0;case"CallExpression":return this.name==="callee"&&E.callee===v;case"ConditionalExpression":return this.name==="test"&&E.test===v;case"MemberExpression":return this.name==="object"&&E.object===v;default:return!1}default:if(E.type==="NewExpression"&&this.name==="callee"&&E.callee===v)return d(v)}return!!(y!==!0&&!this.canBeFirstInStatement()&&this.firstInStatement())};function u(y){return r.BinaryExpression.check(y)||r.LogicalExpression.check(y)}var p={};[["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"]].forEach(function(y,b){y.forEach(function(v){p[v]=b})});function d(y){return r.CallExpression.check(y)?!0:s.check(y)?y.some(d):r.Node.check(y)?t.someField(y,function(b,v){return d(v)}):!1}l.canBeFirstInStatement=function(){var y=this.node;return!r.FunctionExpression.check(y)&&!r.ObjectExpression.check(y)},l.firstInStatement=function(){return h(this)};function h(y){for(var b,v;y.parent;y=y.parent){if(b=y.node,v=y.parent.node,r.BlockStatement.check(v)&&y.parent.name==="body"&&y.name===0){if(v.body[0]!==b)throw new Error("Nodes must be equal");return!0}if(r.ExpressionStatement.check(v)&&y.name==="expression"){if(v.expression!==b)throw new Error("Nodes must be equal");return!0}if(r.SequenceExpression.check(v)&&y.parent.name==="expressions"&&y.name===0){if(v.expressions[0]!==b)throw new Error("Nodes must be equal");continue}if(r.CallExpression.check(v)&&y.name==="callee"){if(v.callee!==b)throw new Error("Nodes must be equal");continue}if(r.MemberExpression.check(v)&&y.name==="object"){if(v.object!==b)throw new Error("Nodes must be equal");continue}if(r.ConditionalExpression.check(v)&&y.name==="test"){if(v.test!==b)throw new Error("Nodes must be equal");continue}if(u(v)&&y.name==="left"){if(v.left!==b)throw new Error("Nodes must be equal");continue}if(r.UnaryExpression.check(v)&&!v.prefix&&y.name==="argument"){if(v.argument!==b)throw new Error("Nodes must be equal");continue}return!1}return!0}function m(y){if(r.VariableDeclaration.check(y.node)){var b=y.get("declarations").value;if(!b||b.length===0)return y.prune()}else if(r.ExpressionStatement.check(y.node)){if(!y.get("expression").value)return y.prune()}else r.IfStatement.check(y.node)&&g(y);return y}function g(y){var b=y.get("test").value,v=y.get("alternate").value,E=y.get("consequent").value;if(!E&&!v){var x=n.expressionStatement(b);y.replace(x)}else if(!E&&v){var w=n.unaryExpression("!",b,!0);r.UnaryExpression.check(b)&&b.operator==="!"&&(w=b.argument),y.get("test").replace(w),y.get("consequent").replace(v),y.get("alternate").replace()}}return c}tt(()=>module);var ff=Object.prototype.hasOwnProperty;function eH(e){var t=e.use(Pt),r=e.use(JP),n=t.builtInTypes.array,i=t.builtInTypes.object,s=t.builtInTypes.function,o;let a=function m(){if(!(this instanceof m))throw new Error("PathVisitor constructor cannot be invoked without 'new'");this._reusableContextStack=[],this._methodNameTable=c(this),this._shouldVisitComments=ff.call(this._methodNameTable,"Block")||ff.call(this._methodNameTable,"Line"),this.Context=d(this),this._visiting=!1,this._changeReported=!1};function c(m){var g=Object.create(null);for(var y in m)/^visit[A-Z]/.test(y)&&(g[y.slice(5)]=!0);for(var b=t.computeSupertypeLookupTable(g),v=Object.create(null),E=Object.keys(b),x=E.length,w=0;w<x;++w){var C=E[w];y="visit"+b[C],s.check(m[y])&&(v[C]=y)}return v}a.fromMethodsObject=function(g){if(g instanceof a)return g;if(!i.check(g))return new a;let y=function v(){if(!(this instanceof v))throw new Error("Visitor constructor cannot be invoked without 'new'");a.call(this)};var b=y.prototype=Object.create(u);return b.constructor=y,l(b,g),l(y,a),s.assert(y.fromMethodsObject),s.assert(y.visit),new y};function l(m,g){for(var y in g)ff.call(g,y)&&(m[y]=g[y]);return m}a.visit=function(g,y){return a.fromMethodsObject(y).visit(g)};var u=a.prototype;u.visit=function(){if(this._visiting)throw new Error("Recursively calling visitor.visit(path) resets visitor state. Try this.visit(path) or this.traverse(path) instead.");this._visiting=!0,this._changeReported=!1,this._abortRequested=!1;for(var m=arguments.length,g=new Array(m),y=0;y<m;++y)g[y]=arguments[y];g[0]instanceof r||(g[0]=new r({root:g[0]}).get("root")),this.reset.apply(this,g);var b;try{var v=this.visitWithoutReset(g[0]);b=!0}finally{if(this._visiting=!1,!b&&this._abortRequested)return g[0].value}return v},u.AbortRequest=function(){},u.abort=function(){var m=this;m._abortRequested=!0;var g=new m.AbortRequest;throw g.cancel=function(){m._abortRequested=!1},g},u.reset=function(m){},u.visitWithoutReset=function(m){if(this instanceof this.Context)return this.visitor.visitWithoutReset(m);if(!(m instanceof r))throw new Error("");var g=m.value,y=g&&typeof g=="object"&&typeof g.type=="string"&&this._methodNameTable[g.type];if(y){var b=this.acquireContext(m);try{return b.invokeVisitorMethod(y)}finally{this.releaseContext(b)}}else return p(m,this)};function p(m,g){if(!(m instanceof r))throw new Error("");if(!(g instanceof a))throw new Error("");var y=m.value;if(n.check(y))m.each(g.visitWithoutReset,g);else if(i.check(y)){var b=t.getFieldNames(y);g._shouldVisitComments&&y.comments&&b.indexOf("comments")<0&&b.push("comments");for(var v=b.length,E=[],x=0;x<v;++x){var w=b[x];ff.call(y,w)||(y[w]=t.getFieldValue(y,w)),E.push(m.get(w))}for(var x=0;x<v;++x)g.visitWithoutReset(E[x])}return m.value}u.acquireContext=function(m){return this._reusableContextStack.length===0?new this.Context(m):this._reusableContextStack.pop().reset(m)},u.releaseContext=function(m){if(!(m instanceof this.Context))throw new Error("");this._reusableContextStack.push(m),m.currentPath=null},u.reportChanged=function(){this._changeReported=!0},u.wasChangeReported=function(){return this._changeReported};function d(m){function g(b){if(!(this instanceof g))throw new Error("");if(!(this instanceof a))throw new Error("");if(!(b instanceof r))throw new Error("");Object.defineProperty(this,"visitor",{value:m,writable:!1,enumerable:!0,configurable:!1}),this.currentPath=b,this.needToCallTraverse=!0,Object.seal(this)}if(!(m instanceof a))throw new Error("");var y=g.prototype=Object.create(m);return y.constructor=g,l(y,h),g}var h=Object.create(null);return h.reset=function(g){if(!(this instanceof this.Context))throw new Error("");if(!(g instanceof r))throw new Error("");return this.currentPath=g,this.needToCallTraverse=!0,this},h.invokeVisitorMethod=function(g){if(!(this instanceof this.Context))throw new Error("");if(!(this.currentPath instanceof r))throw new Error("");var y=this.visitor[g].call(this,this.currentPath);if(y===!1?this.needToCallTraverse=!1:y!==o&&(this.currentPath=this.currentPath.replace(y)[0],this.needToCallTraverse&&this.traverse(this.currentPath)),this.needToCallTraverse!==!1)throw new Error("Must either call this.traverse or return false in "+g);var b=this.currentPath;return b&&b.value},h.traverse=function(g,y){if(!(this instanceof this.Context))throw new Error("");if(!(g instanceof r))throw new Error("");if(!(this.currentPath instanceof r))throw new Error("");return this.needToCallTraverse=!1,p(g,a.fromMethodsObject(y||this.visitor))},h.visit=function(g,y){if(!(this instanceof this.Context))throw new Error("");if(!(g instanceof r))throw new Error("");if(!(this.currentPath instanceof r))throw new Error("");return this.needToCallTraverse=!1,a.fromMethodsObject(y||this.visitor).visitWithoutReset(g)},h.reportChanged=function(){this.visitor.reportChanged()},h.abort=function(){this.needToCallTraverse=!1,this.visitor.abort()},a}tt(()=>module);function tH(e){var t=e.use(Pt),r=t.getFieldNames,n=t.getFieldValue,i=t.builtInTypes.array,s=t.builtInTypes.object,o=t.builtInTypes.Date,a=t.builtInTypes.RegExp,c=Object.prototype.hasOwnProperty;function l(m,g,y){return i.check(y)?y.length=0:y=null,p(m,g,y)}l.assert=function(m,g){var y=[];if(!l(m,g,y))if(y.length===0){if(m!==g)throw new Error("Nodes must be equal")}else throw new Error("Nodes differ in the following path: "+y.map(u).join(""))};function u(m){return/[_$a-z][_$a-z0-9]*/i.test(m)?"."+m:"["+JSON.stringify(m)+"]"}function p(m,g,y){return m===g?!0:i.check(m)?d(m,g,y):s.check(m)?h(m,g,y):o.check(m)?o.check(g)&&+m==+g:a.check(m)?a.check(g)&&m.source===g.source&&m.global===g.global&&m.multiline===g.multiline&&m.ignoreCase===g.ignoreCase:m==g}function d(m,g,y){i.assert(m);var b=m.length;if(!i.check(g)||g.length!==b)return y&&y.push("length"),!1;for(var v=0;v<b;++v){if(y&&y.push(v),v in m!=v in g||!p(m[v],g[v],y))return!1;if(y){var E=y.pop();if(E!==v)throw new Error(""+E)}}return!0}function h(m,g,y){if(s.assert(m),!s.check(g))return!1;if(m.type!==g.type)return y&&y.push("type"),!1;var b=r(m),v=b.length,E=r(g),x=E.length;if(v===x){for(var w=0;w<v;++w){var C=b[w],S=n(m,C),_=n(g,C);if(y&&y.push(C),!p(S,_,y))return!1;if(y){var F=y.pop();if(F!==C)throw new Error(""+F)}}return!0}if(!y)return!1;var I=Object.create(null);for(w=0;w<v;++w)I[b[w]]=!0;for(w=0;w<x;++w){if(C=E[w],!c.call(I,C))return y.push(C),!1;delete I[C]}for(C in I){y.push(C);break}return!1}return l}tt(()=>module);function rH(e){let t=nH(),r=t.use(Pt);e.forEach(t.use),r.finalize();let n=t.use(eH);return{Type:r.Type,builtInTypes:r.builtInTypes,namedTypes:r.namedTypes,builders:r.builders,defineMethod:r.defineMethod,getFieldNames:r.getFieldNames,getFieldValue:r.getFieldValue,eachField:r.eachField,someField:r.someField,getSupertypeNames:r.getSupertypeNames,getBuilderName:r.getBuilderName,astNodesAreEquivalent:t.use(tH),finalize:r.finalize,Path:t.use(WP),NodePath:t.use(JP),PathVisitor:n,use:t.use,visit:n.visit}}function nH(){let e=[],t=[];function r(i){var s=e.indexOf(i);return s===-1&&(s=e.length,e.push(i),t[s]=i(n)),t[s]}var n={use:r};return n}tt(()=>module);function YP(){return{BinaryOperators:["==","!=","===","!==","<","<=",">",">=","<<",">>",">>>","+","-","*","/","%","&","|","^","in","instanceof"],AssignmentOperators:["=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","|=","^=","&="],LogicalOperators:["||","&&"]}}tt(()=>module);function XP(e){let t=e.use(YP);return t.BinaryOperators.indexOf("**")<0&&t.BinaryOperators.push("**"),t.AssignmentOperators.indexOf("**=")<0&&t.AssignmentOperators.push("**="),t}tt(()=>module);function QP(e){let t=e.use(XP);return t.LogicalOperators.indexOf("??")<0&&t.LogicalOperators.push("??"),t}tt(()=>module);function iH(e){let t=e.use(QP);return t.LogicalOperators.forEach(r=>{let n=r+"=";t.AssignmentOperators.indexOf(n)<0&&t.AssignmentOperators.push(n)}),t}tt(()=>module);function sH(e){var t=e.use(Pt),r=t.Type,n=r.def,i=r.or,s=e.use(an),o=s.defaults,a=s.geq;let{BinaryOperators:c,AssignmentOperators:l,LogicalOperators:u}=e.use(YP);n("Printable").field("loc",i(n("SourceLocation"),null),o.null,!0),n("Node").bases("Printable").field("type",String).field("comments",i([n("Comment")],null),o.null,!0),n("SourceLocation").field("start",n("Position")).field("end",n("Position")).field("source",i(String,null),o.null),n("Position").field("line",a(1)).field("column",a(0)),n("File").bases("Node").build("program","name").field("program",n("Program")).field("name",i(String,null),o.null),n("Program").bases("Node").build("body").field("body",[n("Statement")]),n("Function").bases("Node").field("id",i(n("Identifier"),null),o.null).field("params",[n("Pattern")]).field("body",n("BlockStatement")).field("generator",Boolean,o.false).field("async",Boolean,o.false),n("Statement").bases("Node"),n("EmptyStatement").bases("Statement").build(),n("BlockStatement").bases("Statement").build("body").field("body",[n("Statement")]),n("ExpressionStatement").bases("Statement").build("expression").field("expression",n("Expression")),n("IfStatement").bases("Statement").build("test","consequent","alternate").field("test",n("Expression")).field("consequent",n("Statement")).field("alternate",i(n("Statement"),null),o.null),n("LabeledStatement").bases("Statement").build("label","body").field("label",n("Identifier")).field("body",n("Statement")),n("BreakStatement").bases("Statement").build("label").field("label",i(n("Identifier"),null),o.null),n("ContinueStatement").bases("Statement").build("label").field("label",i(n("Identifier"),null),o.null),n("WithStatement").bases("Statement").build("object","body").field("object",n("Expression")).field("body",n("Statement")),n("SwitchStatement").bases("Statement").build("discriminant","cases","lexical").field("discriminant",n("Expression")).field("cases",[n("SwitchCase")]).field("lexical",Boolean,o.false),n("ReturnStatement").bases("Statement").build("argument").field("argument",i(n("Expression"),null)),n("ThrowStatement").bases("Statement").build("argument").field("argument",n("Expression")),n("TryStatement").bases("Statement").build("block","handler","finalizer").field("block",n("BlockStatement")).field("handler",i(n("CatchClause"),null),function(){return this.handlers&&this.handlers[0]||null}).field("handlers",[n("CatchClause")],function(){return this.handler?[this.handler]:[]},!0).field("guardedHandlers",[n("CatchClause")],o.emptyArray).field("finalizer",i(n("BlockStatement"),null),o.null),n("CatchClause").bases("Node").build("param","guard","body").field("param",n("Pattern")).field("guard",i(n("Expression"),null),o.null).field("body",n("BlockStatement")),n("WhileStatement").bases("Statement").build("test","body").field("test",n("Expression")).field("body",n("Statement")),n("DoWhileStatement").bases("Statement").build("body","test").field("body",n("Statement")).field("test",n("Expression")),n("ForStatement").bases("Statement").build("init","test","update","body").field("init",i(n("VariableDeclaration"),n("Expression"),null)).field("test",i(n("Expression"),null)).field("update",i(n("Expression"),null)).field("body",n("Statement")),n("ForInStatement").bases("Statement").build("left","right","body").field("left",i(n("VariableDeclaration"),n("Expression"))).field("right",n("Expression")).field("body",n("Statement")),n("DebuggerStatement").bases("Statement").build(),n("Declaration").bases("Statement"),n("FunctionDeclaration").bases("Function","Declaration").build("id","params","body").field("id",n("Identifier")),n("FunctionExpression").bases("Function","Expression").build("id","params","body"),n("VariableDeclaration").bases("Declaration").build("kind","declarations").field("kind",i("var","let","const")).field("declarations",[n("VariableDeclarator")]),n("VariableDeclarator").bases("Node").build("id","init").field("id",n("Pattern")).field("init",i(n("Expression"),null),o.null),n("Expression").bases("Node"),n("ThisExpression").bases("Expression").build(),n("ArrayExpression").bases("Expression").build("elements").field("elements",[i(n("Expression"),null)]),n("ObjectExpression").bases("Expression").build("properties").field("properties",[n("Property")]),n("Property").bases("Node").build("kind","key","value").field("kind",i("init","get","set")).field("key",i(n("Literal"),n("Identifier"))).field("value",n("Expression")),n("SequenceExpression").bases("Expression").build("expressions").field("expressions",[n("Expression")]);var p=i("-","+","!","~","typeof","void","delete");n("UnaryExpression").bases("Expression").build("operator","argument","prefix").field("operator",p).field("argument",n("Expression")).field("prefix",Boolean,o.true);let d=i(...c);n("BinaryExpression").bases("Expression").build("operator","left","right").field("operator",d).field("left",n("Expression")).field("right",n("Expression"));let h=i(...l);n("AssignmentExpression").bases("Expression").build("operator","left","right").field("operator",h).field("left",i(n("Pattern"),n("MemberExpression"))).field("right",n("Expression"));var m=i("++","--");n("UpdateExpression").bases("Expression").build("operator","argument","prefix").field("operator",m).field("argument",n("Expression")).field("prefix",Boolean);var g=i(...u);n("LogicalExpression").bases("Expression").build("operator","left","right").field("operator",g).field("left",n("Expression")).field("right",n("Expression")),n("ConditionalExpression").bases("Expression").build("test","consequent","alternate").field("test",n("Expression")).field("consequent",n("Expression")).field("alternate",n("Expression")),n("NewExpression").bases("Expression").build("callee","arguments").field("callee",n("Expression")).field("arguments",[n("Expression")]),n("CallExpression").bases("Expression").build("callee","arguments").field("callee",n("Expression")).field("arguments",[n("Expression")]),n("MemberExpression").bases("Expression").build("object","property","computed").field("object",n("Expression")).field("property",i(n("Identifier"),n("Expression"))).field("computed",Boolean,function(){var y=this.property.type;return y==="Literal"||y==="MemberExpression"||y==="BinaryExpression"}),n("Pattern").bases("Node"),n("SwitchCase").bases("Node").build("test","consequent").field("test",i(n("Expression"),null)).field("consequent",[n("Statement")]),n("Identifier").bases("Expression","Pattern").build("name").field("name",String).field("optional",Boolean,o.false),n("Literal").bases("Expression").build("value").field("value",i(String,Boolean,null,Number,RegExp,BigInt)),n("Comment").bases("Printable").field("value",String).field("leading",Boolean,o.true).field("trailing",Boolean,o.false)}tt(()=>module);function oH(e){e.use(sH);let t=e.use(Pt),r=t.Type.def,n=t.Type.or,i=e.use(an).defaults;r("Function").field("generator",Boolean,i.false).field("expression",Boolean,i.false).field("defaults",[n(r("Expression"),null)],i.emptyArray).field("rest",n(r("Identifier"),null),i.null),r("RestElement").bases("Pattern").build("argument").field("argument",r("Pattern")).field("typeAnnotation",n(r("TypeAnnotation"),r("TSTypeAnnotation"),null),i.null),r("SpreadElementPattern").bases("Pattern").build("argument").field("argument",r("Pattern")),r("FunctionDeclaration").build("id","params","body","generator","expression").field("id",n(r("Identifier"),null)),r("FunctionExpression").build("id","params","body","generator","expression"),r("ArrowFunctionExpression").bases("Function","Expression").build("params","body","expression").field("id",null,i.null).field("body",n(r("BlockStatement"),r("Expression"))).field("generator",!1,i.false),r("ForOfStatement").bases("Statement").build("left","right","body").field("left",n(r("VariableDeclaration"),r("Pattern"))).field("right",r("Expression")).field("body",r("Statement")),r("YieldExpression").bases("Expression").build("argument","delegate").field("argument",n(r("Expression"),null)).field("delegate",Boolean,i.false),r("GeneratorExpression").bases("Expression").build("body","blocks","filter").field("body",r("Expression")).field("blocks",[r("ComprehensionBlock")]).field("filter",n(r("Expression"),null)),r("ComprehensionExpression").bases("Expression").build("body","blocks","filter").field("body",r("Expression")).field("blocks",[r("ComprehensionBlock")]).field("filter",n(r("Expression"),null)),r("ComprehensionBlock").bases("Node").build("left","right","each").field("left",r("Pattern")).field("right",r("Expression")).field("each",Boolean),r("Property").field("key",n(r("Literal"),r("Identifier"),r("Expression"))).field("value",n(r("Expression"),r("Pattern"))).field("method",Boolean,i.false).field("shorthand",Boolean,i.false).field("computed",Boolean,i.false),r("ObjectProperty").field("shorthand",Boolean,i.false),r("PropertyPattern").bases("Pattern").build("key","pattern").field("key",n(r("Literal"),r("Identifier"),r("Expression"))).field("pattern",r("Pattern")).field("computed",Boolean,i.false),r("ObjectPattern").bases("Pattern").build("properties").field("properties",[n(r("PropertyPattern"),r("Property"))]),r("ArrayPattern").bases("Pattern").build("elements").field("elements",[n(r("Pattern"),null)]),r("SpreadElement").bases("Node").build("argument").field("argument",r("Expression")),r("ArrayExpression").field("elements",[n(r("Expression"),r("SpreadElement"),r("RestElement"),null)]),r("NewExpression").field("arguments",[n(r("Expression"),r("SpreadElement"))]),r("CallExpression").field("arguments",[n(r("Expression"),r("SpreadElement"))]),r("AssignmentPattern").bases("Pattern").build("left","right").field("left",r("Pattern")).field("right",r("Expression")),r("MethodDefinition").bases("Declaration").build("kind","key","value","static").field("kind",n("constructor","method","get","set")).field("key",r("Expression")).field("value",r("Function")).field("computed",Boolean,i.false).field("static",Boolean,i.false);let s=n(r("MethodDefinition"),r("VariableDeclarator"),r("ClassPropertyDefinition"),r("ClassProperty"),r("StaticBlock"));r("ClassProperty").bases("Declaration").build("key").field("key",n(r("Literal"),r("Identifier"),r("Expression"))).field("computed",Boolean,i.false),r("ClassPropertyDefinition").bases("Declaration").build("definition").field("definition",s),r("ClassBody").bases("Declaration").build("body").field("body",[s]),r("ClassDeclaration").bases("Declaration").build("id","body","superClass").field("id",n(r("Identifier"),null)).field("body",r("ClassBody")).field("superClass",n(r("Expression"),null),i.null),r("ClassExpression").bases("Expression").build("id","body","superClass").field("id",n(r("Identifier"),null),i.null).field("body",r("ClassBody")).field("superClass",n(r("Expression"),null),i.null),r("Super").bases("Expression").build(),r("Specifier").bases("Node"),r("ModuleSpecifier").bases("Specifier").field("local",n(r("Identifier"),null),i.null).field("id",n(r("Identifier"),null),i.null).field("name",n(r("Identifier"),null),i.null),r("ImportSpecifier").bases("ModuleSpecifier").build("imported","local").field("imported",r("Identifier")),r("ImportDefaultSpecifier").bases("ModuleSpecifier").build("local"),r("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("local"),r("ImportDeclaration").bases("Declaration").build("specifiers","source","importKind").field("specifiers",[n(r("ImportSpecifier"),r("ImportNamespaceSpecifier"),r("ImportDefaultSpecifier"))],i.emptyArray).field("source",r("Literal")).field("importKind",n("value","type"),function(){return"value"}),r("ExportNamedDeclaration").bases("Declaration").build("declaration","specifiers","source").field("declaration",n(r("Declaration"),null)).field("specifiers",[r("ExportSpecifier")],i.emptyArray).field("source",n(r("Literal"),null),i.null),r("ExportSpecifier").bases("ModuleSpecifier").build("local","exported").field("exported",r("Identifier")),r("ExportDefaultDeclaration").bases("Declaration").build("declaration").field("declaration",n(r("Declaration"),r("Expression"))),r("ExportAllDeclaration").bases("Declaration").build("source").field("source",r("Literal")),r("TaggedTemplateExpression").bases("Expression").build("tag","quasi").field("tag",r("Expression")).field("quasi",r("TemplateLiteral")),r("TemplateLiteral").bases("Expression").build("quasis","expressions").field("quasis",[r("TemplateElement")]).field("expressions",[r("Expression")]),r("TemplateElement").bases("Node").build("value","tail").field("value",{cooked:String,raw:String}).field("tail",Boolean),r("MetaProperty").bases("Expression").build("meta","property").field("meta",r("Identifier")).field("property",r("Identifier"))}tt(()=>module);function aH(e){e.use(XP),e.use(oH)}tt(()=>module);function cH(e){e.use(aH);let r=e.use(Pt).Type.def,n=e.use(an).defaults;r("Function").field("async",Boolean,n.false),r("AwaitExpression").bases("Expression").build("argument").field("argument",r("Expression"))}tt(()=>module);function lH(e){e.use(cH);let t=e.use(Pt),r=t.Type.def,n=t.Type.or,i=e.use(an).defaults;r("ForOfStatement").field("await",Boolean,i.false),r("SpreadProperty").bases("Node").build("argument").field("argument",r("Expression")),r("ObjectExpression").field("properties",[n(r("Property"),r("SpreadProperty"),r("SpreadElement"))]),r("TemplateElement").field("value",{cooked:n(String,null),raw:String}),r("SpreadPropertyPattern").bases("Pattern").build("argument").field("argument",r("Pattern")),r("ObjectPattern").field("properties",[n(r("PropertyPattern"),r("Property"),r("RestElement"),r("SpreadPropertyPattern"))])}tt(()=>module);function uH(e){e.use(lH);let t=e.use(Pt),r=t.Type.def,n=t.Type.or,i=e.use(an).defaults;r("CatchClause").field("param",n(r("Pattern"),null),i.null)}tt(()=>module);function pH(e){e.use(QP),e.use(uH);let t=e.use(Pt),r=t.Type.def,n=t.Type.or,s=e.use(an).defaults;r("ImportExpression").bases("Expression").build("source").field("source",r("Expression")),r("ExportAllDeclaration").bases("Declaration").build("source","exported").field("source",r("Literal")).field("exported",n(r("Identifier"),null,void 0),s.null),r("ChainElement").bases("Node").field("optional",Boolean,s.false),r("CallExpression").bases("Expression","ChainElement"),r("MemberExpression").bases("Expression","ChainElement"),r("ChainExpression").bases("Expression").build("expression").field("expression",r("ChainElement")),r("OptionalCallExpression").bases("CallExpression").build("callee","arguments","optional").field("optional",Boolean,s.true),r("OptionalMemberExpression").bases("MemberExpression").build("object","property","computed","optional").field("optional",Boolean,s.true)}tt(()=>module);function dH(e){e.use(iH),e.use(pH)}tt(()=>module);function fH(e){e.use(dH);let r=e.use(Pt).Type.def;r("StaticBlock").bases("Declaration").build("body").field("body",[r("Statement")])}tt(()=>module);function iu(e){e.use(fH);let t=e.use(Pt),r=t.Type,n=t.Type.def,i=r.or,o=e.use(an).defaults;n("AwaitExpression").build("argument","all").field("argument",i(n("Expression"),null)).field("all",Boolean,o.false),n("Decorator").bases("Node").build("expression").field("expression",n("Expression")),n("Property").field("decorators",i([n("Decorator")],null),o.null),n("MethodDefinition").field("decorators",i([n("Decorator")],null),o.null),n("PrivateName").bases("Expression","Pattern").build("id").field("id",n("Identifier")),n("ClassPrivateProperty").bases("ClassProperty").build("key","value").field("key",n("PrivateName")).field("value",i(n("Expression"),null),o.null),n("ImportAttribute").bases("Node").build("key","value").field("key",i(n("Identifier"),n("Literal"))).field("value",n("Expression")),["ImportDeclaration","ExportAllDeclaration","ExportNamedDeclaration"].forEach(a=>{n(a).field("assertions",[n("ImportAttribute")],o.emptyArray)}),n("RecordExpression").bases("Expression").build("properties").field("properties",[i(n("ObjectProperty"),n("ObjectMethod"),n("SpreadElement"))]),n("TupleExpression").bases("Expression").build("elements").field("elements",[i(n("Expression"),n("SpreadElement"),null)]),n("ModuleExpression").bases("Node").build("body").field("body",n("Program"))}tt(()=>module);function mH(e){e.use(iu);let t=e.use(Pt),r=t.Type.def,n=t.Type.or,i=e.use(an).defaults;r("JSXAttribute").bases("Node").build("name","value").field("name",n(r("JSXIdentifier"),r("JSXNamespacedName"))).field("value",n(r("Literal"),r("JSXExpressionContainer"),r("JSXElement"),r("JSXFragment"),null),i.null),r("JSXIdentifier").bases("Identifier").build("name").field("name",String),r("JSXNamespacedName").bases("Node").build("namespace","name").field("namespace",r("JSXIdentifier")).field("name",r("JSXIdentifier")),r("JSXMemberExpression").bases("MemberExpression").build("object","property").field("object",n(r("JSXIdentifier"),r("JSXMemberExpression"))).field("property",r("JSXIdentifier")).field("computed",Boolean,i.false);let s=n(r("JSXIdentifier"),r("JSXNamespacedName"),r("JSXMemberExpression"));r("JSXSpreadAttribute").bases("Node").build("argument").field("argument",r("Expression"));let o=[n(r("JSXAttribute"),r("JSXSpreadAttribute"))];r("JSXExpressionContainer").bases("Expression").build("expression").field("expression",n(r("Expression"),r("JSXEmptyExpression")));let a=[n(r("JSXText"),r("JSXExpressionContainer"),r("JSXSpreadChild"),r("JSXElement"),r("JSXFragment"),r("Literal"))];r("JSXElement").bases("Expression").build("openingElement","closingElement","children").field("openingElement",r("JSXOpeningElement")).field("closingElement",n(r("JSXClosingElement"),null),i.null).field("children",a,i.emptyArray).field("name",s,function(){return this.openingElement.name},!0).field("selfClosing",Boolean,function(){return this.openingElement.selfClosing},!0).field("attributes",o,function(){return this.openingElement.attributes},!0),r("JSXOpeningElement").bases("Node").build("name","attributes","selfClosing").field("name",s).field("attributes",o,i.emptyArray).field("selfClosing",Boolean,i.false),r("JSXClosingElement").bases("Node").build("name").field("name",s),r("JSXFragment").bases("Expression").build("openingFragment","closingFragment","children").field("openingFragment",r("JSXOpeningFragment")).field("closingFragment",r("JSXClosingFragment")).field("children",a,i.emptyArray),r("JSXOpeningFragment").bases("Node").build(),r("JSXClosingFragment").bases("Node").build(),r("JSXText").bases("Literal").build("value","raw").field("value",String).field("raw",String,function(){return this.value}),r("JSXEmptyExpression").bases("Node").build(),r("JSXSpreadChild").bases("Node").build("expression").field("expression",r("Expression"))}tt(()=>module);function ZP(e){var t=e.use(Pt),r=t.Type.def,n=t.Type.or,i=e.use(an).defaults,s=n(r("TypeAnnotation"),r("TSTypeAnnotation"),null),o=n(r("TypeParameterDeclaration"),r("TSTypeParameterDeclaration"),null);r("Identifier").field("typeAnnotation",s,i.null),r("ObjectPattern").field("typeAnnotation",s,i.null),r("Function").field("returnType",s,i.null).field("typeParameters",o,i.null),r("ClassProperty").build("key","value","typeAnnotation","static").field("value",n(r("Expression"),null)).field("static",Boolean,i.false).field("typeAnnotation",s,i.null),["ClassDeclaration","ClassExpression"].forEach(a=>{r(a).field("typeParameters",o,i.null).field("superTypeParameters",n(r("TypeParameterInstantiation"),r("TSTypeParameterInstantiation"),null),i.null).field("implements",n([r("ClassImplements")],[r("TSExpressionWithTypeArguments")]),i.emptyArray)})}tt(()=>module);function eI(e){e.use(iu),e.use(ZP);let t=e.use(Pt),r=t.Type.def,n=t.Type.or,i=e.use(an).defaults;r("Flow").bases("Node"),r("FlowType").bases("Flow"),r("AnyTypeAnnotation").bases("FlowType").build(),r("EmptyTypeAnnotation").bases("FlowType").build(),r("MixedTypeAnnotation").bases("FlowType").build(),r("VoidTypeAnnotation").bases("FlowType").build(),r("SymbolTypeAnnotation").bases("FlowType").build(),r("NumberTypeAnnotation").bases("FlowType").build(),r("BigIntTypeAnnotation").bases("FlowType").build(),r("NumberLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Number).field("raw",String),r("NumericLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Number).field("raw",String),r("BigIntLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",null).field("raw",String),r("StringTypeAnnotation").bases("FlowType").build(),r("StringLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",String).field("raw",String),r("BooleanTypeAnnotation").bases("FlowType").build(),r("BooleanLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Boolean).field("raw",String),r("TypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",r("FlowType")),r("NullableTypeAnnotation").bases("FlowType").build("typeAnnotation").field("typeAnnotation",r("FlowType")),r("NullLiteralTypeAnnotation").bases("FlowType").build(),r("NullTypeAnnotation").bases("FlowType").build(),r("ThisTypeAnnotation").bases("FlowType").build(),r("ExistsTypeAnnotation").bases("FlowType").build(),r("ExistentialTypeParam").bases("FlowType").build(),r("FunctionTypeAnnotation").bases("FlowType").build("params","returnType","rest","typeParameters").field("params",[r("FunctionTypeParam")]).field("returnType",r("FlowType")).field("rest",n(r("FunctionTypeParam"),null)).field("typeParameters",n(r("TypeParameterDeclaration"),null)),r("FunctionTypeParam").bases("Node").build("name","typeAnnotation","optional").field("name",n(r("Identifier"),null)).field("typeAnnotation",r("FlowType")).field("optional",Boolean),r("ArrayTypeAnnotation").bases("FlowType").build("elementType").field("elementType",r("FlowType")),r("ObjectTypeAnnotation").bases("FlowType").build("properties","indexers","callProperties").field("properties",[n(r("ObjectTypeProperty"),r("ObjectTypeSpreadProperty"))]).field("indexers",[r("ObjectTypeIndexer")],i.emptyArray).field("callProperties",[r("ObjectTypeCallProperty")],i.emptyArray).field("inexact",n(Boolean,void 0),i.undefined).field("exact",Boolean,i.false).field("internalSlots",[r("ObjectTypeInternalSlot")],i.emptyArray),r("Variance").bases("Node").build("kind").field("kind",n("plus","minus"));let s=n(r("Variance"),"plus","minus",null);r("ObjectTypeProperty").bases("Node").build("key","value","optional").field("key",n(r("Literal"),r("Identifier"))).field("value",r("FlowType")).field("optional",Boolean).field("variance",s,i.null),r("ObjectTypeIndexer").bases("Node").build("id","key","value").field("id",r("Identifier")).field("key",r("FlowType")).field("value",r("FlowType")).field("variance",s,i.null).field("static",Boolean,i.false),r("ObjectTypeCallProperty").bases("Node").build("value").field("value",r("FunctionTypeAnnotation")).field("static",Boolean,i.false),r("QualifiedTypeIdentifier").bases("Node").build("qualification","id").field("qualification",n(r("Identifier"),r("QualifiedTypeIdentifier"))).field("id",r("Identifier")),r("GenericTypeAnnotation").bases("FlowType").build("id","typeParameters").field("id",n(r("Identifier"),r("QualifiedTypeIdentifier"))).field("typeParameters",n(r("TypeParameterInstantiation"),null)),r("MemberTypeAnnotation").bases("FlowType").build("object","property").field("object",r("Identifier")).field("property",n(r("MemberTypeAnnotation"),r("GenericTypeAnnotation"))),r("IndexedAccessType").bases("FlowType").build("objectType","indexType").field("objectType",r("FlowType")).field("indexType",r("FlowType")),r("OptionalIndexedAccessType").bases("FlowType").build("objectType","indexType","optional").field("objectType",r("FlowType")).field("indexType",r("FlowType")).field("optional",Boolean),r("UnionTypeAnnotation").bases("FlowType").build("types").field("types",[r("FlowType")]),r("IntersectionTypeAnnotation").bases("FlowType").build("types").field("types",[r("FlowType")]),r("TypeofTypeAnnotation").bases("FlowType").build("argument").field("argument",r("FlowType")),r("ObjectTypeSpreadProperty").bases("Node").build("argument").field("argument",r("FlowType")),r("ObjectTypeInternalSlot").bases("Node").build("id","value","optional","static","method").field("id",r("Identifier")).field("value",r("FlowType")).field("optional",Boolean).field("static",Boolean).field("method",Boolean),r("TypeParameterDeclaration").bases("Node").build("params").field("params",[r("TypeParameter")]),r("TypeParameterInstantiation").bases("Node").build("params").field("params",[r("FlowType")]),r("TypeParameter").bases("FlowType").build("name","variance","bound","default").field("name",String).field("variance",s,i.null).field("bound",n(r("TypeAnnotation"),null),i.null).field("default",n(r("FlowType"),null),i.null),r("ClassProperty").field("variance",s,i.null),r("ClassImplements").bases("Node").build("id").field("id",r("Identifier")).field("superClass",n(r("Expression"),null),i.null).field("typeParameters",n(r("TypeParameterInstantiation"),null),i.null),r("InterfaceTypeAnnotation").bases("FlowType").build("body","extends").field("body",r("ObjectTypeAnnotation")).field("extends",n([r("InterfaceExtends")],null),i.null),r("InterfaceDeclaration").bases("Declaration").build("id","body","extends").field("id",r("Identifier")).field("typeParameters",n(r("TypeParameterDeclaration"),null),i.null).field("body",r("ObjectTypeAnnotation")).field("extends",[r("InterfaceExtends")]),r("DeclareInterface").bases("InterfaceDeclaration").build("id","body","extends"),r("InterfaceExtends").bases("Node").build("id").field("id",r("Identifier")).field("typeParameters",n(r("TypeParameterInstantiation"),null),i.null),r("TypeAlias").bases("Declaration").build("id","typeParameters","right").field("id",r("Identifier")).field("typeParameters",n(r("TypeParameterDeclaration"),null)).field("right",r("FlowType")),r("DeclareTypeAlias").bases("TypeAlias").build("id","typeParameters","right"),r("OpaqueType").bases("Declaration").build("id","typeParameters","impltype","supertype").field("id",r("Identifier")).field("typeParameters",n(r("TypeParameterDeclaration"),null)).field("impltype",r("FlowType")).field("supertype",n(r("FlowType"),null)),r("DeclareOpaqueType").bases("OpaqueType").build("id","typeParameters","supertype").field("impltype",n(r("FlowType"),null)),r("TypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",r("Expression")).field("typeAnnotation",r("TypeAnnotation")),r("TupleTypeAnnotation").bases("FlowType").build("types").field("types",[r("FlowType")]),r("DeclareVariable").bases("Statement").build("id").field("id",r("Identifier")),r("DeclareFunction").bases("Statement").build("id").field("id",r("Identifier")).field("predicate",n(r("FlowPredicate"),null),i.null),r("DeclareClass").bases("InterfaceDeclaration").build("id"),r("DeclareModule").bases("Statement").build("id","body").field("id",n(r("Identifier"),r("Literal"))).field("body",r("BlockStatement")),r("DeclareModuleExports").bases("Statement").build("typeAnnotation").field("typeAnnotation",r("TypeAnnotation")),r("DeclareExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",n(r("DeclareVariable"),r("DeclareFunction"),r("DeclareClass"),r("FlowType"),r("TypeAlias"),r("DeclareOpaqueType"),r("InterfaceDeclaration"),null)).field("specifiers",[n(r("ExportSpecifier"),r("ExportBatchSpecifier"))],i.emptyArray).field("source",n(r("Literal"),null),i.null),r("DeclareExportAllDeclaration").bases("Declaration").build("source").field("source",n(r("Literal"),null),i.null),r("ImportDeclaration").field("importKind",n("value","type","typeof"),()=>"value"),r("FlowPredicate").bases("Flow"),r("InferredPredicate").bases("FlowPredicate").build(),r("DeclaredPredicate").bases("FlowPredicate").build("value").field("value",r("Expression")),r("Function").field("predicate",n(r("FlowPredicate"),null),i.null),r("CallExpression").field("typeArguments",n(null,r("TypeParameterInstantiation")),i.null),r("NewExpression").field("typeArguments",n(null,r("TypeParameterInstantiation")),i.null),r("EnumDeclaration").bases("Declaration").build("id","body").field("id",r("Identifier")).field("body",n(r("EnumBooleanBody"),r("EnumNumberBody"),r("EnumStringBody"),r("EnumSymbolBody"))),r("EnumBooleanBody").build("members","explicitType").field("members",[r("EnumBooleanMember")]).field("explicitType",Boolean),r("EnumNumberBody").build("members","explicitType").field("members",[r("EnumNumberMember")]).field("explicitType",Boolean),r("EnumStringBody").build("members","explicitType").field("members",n([r("EnumStringMember")],[r("EnumDefaultedMember")])).field("explicitType",Boolean),r("EnumSymbolBody").build("members").field("members",[r("EnumDefaultedMember")]),r("EnumBooleanMember").build("id","init").field("id",r("Identifier")).field("init",n(r("Literal"),Boolean)),r("EnumNumberMember").build("id","init").field("id",r("Identifier")).field("init",r("Literal")),r("EnumStringMember").build("id","init").field("id",r("Identifier")).field("init",r("Literal")),r("EnumDefaultedMember").build("id").field("id",r("Identifier"))}tt(()=>module);function hH(e){e.use(iu);var t=e.use(Pt),r=e.use(an).defaults,n=t.Type.def,i=t.Type.or;n("VariableDeclaration").field("declarations",[i(n("VariableDeclarator"),n("Identifier"))]),n("Property").field("value",i(n("Expression"),n("Pattern"))),n("ArrayPattern").field("elements",[i(n("Pattern"),n("SpreadElement"),null)]),n("ObjectPattern").field("properties",[i(n("Property"),n("PropertyPattern"),n("SpreadPropertyPattern"),n("SpreadProperty"))]),n("ExportSpecifier").bases("ModuleSpecifier").build("id","name"),n("ExportBatchSpecifier").bases("Specifier").build(),n("ExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",i(n("Declaration"),n("Expression"),null)).field("specifiers",[i(n("ExportSpecifier"),n("ExportBatchSpecifier"))],r.emptyArray).field("source",i(n("Literal"),null),r.null),n("Block").bases("Comment").build("value","leading","trailing"),n("Line").bases("Comment").build("value","leading","trailing")}tt(()=>module);function tI(e){e.use(iu);let t=e.use(Pt),r=e.use(an).defaults,n=t.Type.def,i=t.Type.or,{undefined:s}=t.builtInTypes;n("Noop").bases("Statement").build(),n("DoExpression").bases("Expression").build("body").field("body",[n("Statement")]),n("BindExpression").bases("Expression").build("object","callee").field("object",i(n("Expression"),null)).field("callee",n("Expression")),n("ParenthesizedExpression").bases("Expression").build("expression").field("expression",n("Expression")),n("ExportNamespaceSpecifier").bases("Specifier").build("exported").field("exported",n("Identifier")),n("ExportDefaultSpecifier").bases("Specifier").build("exported").field("exported",n("Identifier")),n("CommentBlock").bases("Comment").build("value","leading","trailing"),n("CommentLine").bases("Comment").build("value","leading","trailing"),n("Directive").bases("Node").build("value").field("value",n("DirectiveLiteral")),n("DirectiveLiteral").bases("Node","Expression").build("value").field("value",String,r["use strict"]),n("InterpreterDirective").bases("Node").build("value").field("value",String),n("BlockStatement").bases("Statement").build("body").field("body",[n("Statement")]).field("directives",[n("Directive")],r.emptyArray),n("Program").bases("Node").build("body").field("body",[n("Statement")]).field("directives",[n("Directive")],r.emptyArray).field("interpreter",i(n("InterpreterDirective"),null),r.null);function o(u=String,p){return["extra",{rawValue:u,raw:String},function(){let h=t.getFieldValue(this,"value");return{rawValue:h,raw:p?p(h):String(h)}}]}n("StringLiteral").bases("Literal").build("value").field("value",String).field(...o(String,u=>JSON.stringify(u))),n("NumericLiteral").bases("Literal").build("value").field("value",Number).field("raw",i(String,null),r.null).field(...o(Number)),n("BigIntLiteral").bases("Literal").build("value").field("value",i(String,Number)).field(...o(String,u=>u+"n")),n("DecimalLiteral").bases("Literal").build("value").field("value",String).field(...o(String,u=>u+"m")),n("NullLiteral").bases("Literal").build().field("value",null,r.null),n("BooleanLiteral").bases("Literal").build("value").field("value",Boolean),n("RegExpLiteral").bases("Literal").build("pattern","flags").field("pattern",String).field("flags",String).field("value",RegExp,function(){return new RegExp(this.pattern,this.flags)}).field(...o(i(RegExp,s),u=>`/${u.pattern}/${u.flags||""}`)).field("regex",{pattern:String,flags:String},function(){return{pattern:this.pattern,flags:this.flags}});var a=i(n("Property"),n("ObjectMethod"),n("ObjectProperty"),n("SpreadProperty"),n("SpreadElement"));n("ObjectExpression").bases("Expression").build("properties").field("properties",[a]),n("ObjectMethod").bases("Node","Function").build("kind","key","params","body","computed").field("kind",i("method","get","set")).field("key",i(n("Literal"),n("Identifier"),n("Expression"))).field("params",[n("Pattern")]).field("body",n("BlockStatement")).field("computed",Boolean,r.false).field("generator",Boolean,r.false).field("async",Boolean,r.false).field("accessibility",i(n("Literal"),null),r.null).field("decorators",i([n("Decorator")],null),r.null),n("ObjectProperty").bases("Node").build("key","value").field("key",i(n("Literal"),n("Identifier"),n("Expression"))).field("value",i(n("Expression"),n("Pattern"))).field("accessibility",i(n("Literal"),null),r.null).field("computed",Boolean,r.false);var c=i(n("MethodDefinition"),n("VariableDeclarator"),n("ClassPropertyDefinition"),n("ClassProperty"),n("ClassPrivateProperty"),n("ClassMethod"),n("ClassPrivateMethod"),n("ClassAccessorProperty"),n("StaticBlock"));n("ClassBody").bases("Declaration").build("body").field("body",[c]),n("ClassMethod").bases("Declaration","Function").build("kind","key","params","body","computed","static").field("key",i(n("Literal"),n("Identifier"),n("Expression"))),n("ClassPrivateMethod").bases("Declaration","Function").build("key","params","body","kind","computed","static").field("key",n("PrivateName")),n("ClassAccessorProperty").bases("Declaration").build("key","value","decorators","computed","static").field("key",i(n("Literal"),n("Identifier"),n("PrivateName"),n("Expression"))).field("value",i(n("Expression"),null),r.null),["ClassMethod","ClassPrivateMethod"].forEach(u=>{n(u).field("kind",i("get","set","method","constructor"),()=>"method").field("body",n("BlockStatement")).field("access",i("public","private","protected",null),r.null)}),["ClassMethod","ClassPrivateMethod","ClassAccessorProperty"].forEach(u=>{n(u).field("computed",Boolean,r.false).field("static",Boolean,r.false).field("abstract",Boolean,r.false).field("accessibility",i("public","private","protected",null),r.null).field("decorators",i([n("Decorator")],null),r.null).field("definite",Boolean,r.false).field("optional",Boolean,r.false).field("override",Boolean,r.false).field("readonly",Boolean,r.false)});var l=i(n("Property"),n("PropertyPattern"),n("SpreadPropertyPattern"),n("SpreadProperty"),n("ObjectProperty"),n("RestProperty"),n("RestElement"));n("ObjectPattern").bases("Pattern").build("properties").field("properties",[l]).field("decorators",i([n("Decorator")],null),r.null),n("SpreadProperty").bases("Node").build("argument").field("argument",n("Expression")),n("RestProperty").bases("Node").build("argument").field("argument",n("Expression")),n("ForAwaitStatement").bases("Statement").build("left","right","body").field("left",i(n("VariableDeclaration"),n("Expression"))).field("right",n("Expression")).field("body",n("Statement")),n("Import").bases("Expression").build()}tt(()=>module);function gH(e){let r=e.use(Pt).Type.def;e.use(tI),e.use(eI),r("V8IntrinsicIdentifier").bases("Expression").build("name").field("name",String),r("TopicReference").bases("Expression").build()}tt(()=>module);function yH(e){e.use(tI),e.use(ZP);var t=e.use(Pt),r=t.namedTypes,n=t.Type.def,i=t.Type.or,s=e.use(an).defaults,o=t.Type.from(function(u,p){return!!(r.StringLiteral&&r.StringLiteral.check(u,p)||r.Literal&&r.Literal.check(u,p)&&typeof u.value=="string")},"StringLiteral");n("TSType").bases("Node");var a=i(n("Identifier"),n("TSQualifiedName"));n("TSTypeReference").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("typeName","typeParameters").field("typeName",a),n("TSHasOptionalTypeParameterInstantiation").field("typeParameters",i(n("TSTypeParameterInstantiation"),null),s.null),n("TSHasOptionalTypeParameters").field("typeParameters",i(n("TSTypeParameterDeclaration"),null,void 0),s.null),n("TSHasOptionalTypeAnnotation").field("typeAnnotation",i(n("TSTypeAnnotation"),null),s.null),n("TSQualifiedName").bases("Node").build("left","right").field("left",a).field("right",a),n("TSAsExpression").bases("Expression","Pattern").build("expression","typeAnnotation").field("expression",n("Expression")).field("typeAnnotation",n("TSType")).field("extra",i({parenthesized:Boolean},null),s.null),n("TSTypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",n("Expression")).field("typeAnnotation",n("TSType")),n("TSSatisfiesExpression").bases("Expression","Pattern").build("expression","typeAnnotation").field("expression",n("Expression")).field("typeAnnotation",n("TSType")),n("TSNonNullExpression").bases("Expression","Pattern").build("expression").field("expression",n("Expression")),["TSAnyKeyword","TSBigIntKeyword","TSBooleanKeyword","TSNeverKeyword","TSNullKeyword","TSNumberKeyword","TSObjectKeyword","TSStringKeyword","TSSymbolKeyword","TSUndefinedKeyword","TSUnknownKeyword","TSVoidKeyword","TSIntrinsicKeyword","TSThisType"].forEach(u=>{n(u).bases("TSType").build()}),n("TSArrayType").bases("TSType").build("elementType").field("elementType",n("TSType")),n("TSLiteralType").bases("TSType").build("literal").field("literal",i(n("NumericLiteral"),n("StringLiteral"),n("BooleanLiteral"),n("TemplateLiteral"),n("UnaryExpression"),n("BigIntLiteral"))),n("TemplateLiteral").field("expressions",i([n("Expression")],[n("TSType")])),["TSUnionType","TSIntersectionType"].forEach(u=>{n(u).bases("TSType").build("types").field("types",[n("TSType")])}),n("TSConditionalType").bases("TSType").build("checkType","extendsType","trueType","falseType").field("checkType",n("TSType")).field("extendsType",n("TSType")).field("trueType",n("TSType")).field("falseType",n("TSType")),n("TSInferType").bases("TSType").build("typeParameter").field("typeParameter",n("TSTypeParameter")),n("TSParenthesizedType").bases("TSType").build("typeAnnotation").field("typeAnnotation",n("TSType"));var c=[i(n("Identifier"),n("RestElement"),n("ArrayPattern"),n("ObjectPattern"))];["TSFunctionType","TSConstructorType"].forEach(u=>{n(u).bases("TSType","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("parameters").field("parameters",c)}),n("TSDeclareFunction").bases("Declaration","TSHasOptionalTypeParameters").build("id","params","returnType").field("declare",Boolean,s.false).field("async",Boolean,s.false).field("generator",Boolean,s.false).field("id",i(n("Identifier"),null),s.null).field("params",[n("Pattern")]).field("returnType",i(n("TSTypeAnnotation"),n("Noop"),null),s.null),n("TSDeclareMethod").bases("Declaration","TSHasOptionalTypeParameters").build("key","params","returnType").field("async",Boolean,s.false).field("generator",Boolean,s.false).field("params",[n("Pattern")]).field("abstract",Boolean,s.false).field("accessibility",i("public","private","protected",void 0),s.undefined).field("static",Boolean,s.false).field("computed",Boolean,s.false).field("optional",Boolean,s.false).field("key",i(n("Identifier"),n("StringLiteral"),n("NumericLiteral"),n("Expression"))).field("kind",i("get","set","method","constructor"),function(){return"method"}).field("access",i("public","private","protected",void 0),s.undefined).field("decorators",i([n("Decorator")],null),s.null).field("returnType",i(n("TSTypeAnnotation"),n("Noop"),null),s.null),n("TSMappedType").bases("TSType").build("typeParameter","typeAnnotation").field("readonly",i(Boolean,"+","-"),s.false).field("typeParameter",n("TSTypeParameter")).field("optional",i(Boolean,"+","-"),s.false).field("typeAnnotation",i(n("TSType"),null),s.null),n("TSTupleType").bases("TSType").build("elementTypes").field("elementTypes",[i(n("TSType"),n("TSNamedTupleMember"))]),n("TSNamedTupleMember").bases("TSType").build("label","elementType","optional").field("label",n("Identifier")).field("optional",Boolean,s.false).field("elementType",n("TSType")),n("TSRestType").bases("TSType").build("typeAnnotation").field("typeAnnotation",n("TSType")),n("TSOptionalType").bases("TSType").build("typeAnnotation").field("typeAnnotation",n("TSType")),n("TSIndexedAccessType").bases("TSType").build("objectType","indexType").field("objectType",n("TSType")).field("indexType",n("TSType")),n("TSTypeOperator").bases("TSType").build("operator").field("operator",String).field("typeAnnotation",n("TSType")),n("TSTypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",i(n("TSType"),n("TSTypeAnnotation"))),n("TSIndexSignature").bases("Declaration","TSHasOptionalTypeAnnotation").build("parameters","typeAnnotation").field("parameters",[n("Identifier")]).field("readonly",Boolean,s.false),n("TSPropertySignature").bases("Declaration","TSHasOptionalTypeAnnotation").build("key","typeAnnotation","optional").field("key",n("Expression")).field("computed",Boolean,s.false).field("readonly",Boolean,s.false).field("optional",Boolean,s.false).field("initializer",i(n("Expression"),null),s.null),n("TSMethodSignature").bases("Declaration","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("key","parameters","typeAnnotation").field("key",n("Expression")).field("computed",Boolean,s.false).field("optional",Boolean,s.false).field("parameters",c),n("TSTypePredicate").bases("TSTypeAnnotation","TSType").build("parameterName","typeAnnotation","asserts").field("parameterName",i(n("Identifier"),n("TSThisType"))).field("typeAnnotation",i(n("TSTypeAnnotation"),null),s.null).field("asserts",Boolean,s.false),["TSCallSignatureDeclaration","TSConstructSignatureDeclaration"].forEach(u=>{n(u).bases("Declaration","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("parameters","typeAnnotation").field("parameters",c)}),n("TSEnumMember").bases("Node").build("id","initializer").field("id",i(n("Identifier"),o)).field("initializer",i(n("Expression"),null),s.null),n("TSTypeQuery").bases("TSType").build("exprName").field("exprName",i(a,n("TSImportType")));var l=i(n("TSCallSignatureDeclaration"),n("TSConstructSignatureDeclaration"),n("TSIndexSignature"),n("TSMethodSignature"),n("TSPropertySignature"));n("TSTypeLiteral").bases("TSType").build("members").field("members",[l]),n("TSTypeParameter").bases("Identifier").build("name","constraint","default").field("name",i(n("Identifier"),String)).field("constraint",i(n("TSType"),void 0),s.undefined).field("default",i(n("TSType"),void 0),s.undefined),n("TSTypeAssertion").bases("Expression","Pattern").build("typeAnnotation","expression").field("typeAnnotation",n("TSType")).field("expression",n("Expression")).field("extra",i({parenthesized:Boolean},null),s.null),n("TSTypeParameterDeclaration").bases("Declaration").build("params").field("params",[n("TSTypeParameter")]),n("TSInstantiationExpression").bases("Expression","TSHasOptionalTypeParameterInstantiation").build("expression","typeParameters").field("expression",n("Expression")),n("TSTypeParameterInstantiation").bases("Node").build("params").field("params",[n("TSType")]),n("TSEnumDeclaration").bases("Declaration").build("id","members").field("id",n("Identifier")).field("const",Boolean,s.false).field("declare",Boolean,s.false).field("members",[n("TSEnumMember")]).field("initializer",i(n("Expression"),null),s.null),n("TSTypeAliasDeclaration").bases("Declaration","TSHasOptionalTypeParameters").build("id","typeAnnotation").field("id",n("Identifier")).field("declare",Boolean,s.false).field("typeAnnotation",n("TSType")),n("TSModuleBlock").bases("Node").build("body").field("body",[n("Statement")]),n("TSModuleDeclaration").bases("Declaration").build("id","body").field("id",i(o,a)).field("declare",Boolean,s.false).field("global",Boolean,s.false).field("body",i(n("TSModuleBlock"),n("TSModuleDeclaration"),null),s.null),n("TSImportType").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("argument","qualifier","typeParameters").field("argument",o).field("qualifier",i(a,void 0),s.undefined),n("TSImportEqualsDeclaration").bases("Declaration").build("id","moduleReference").field("id",n("Identifier")).field("isExport",Boolean,s.false).field("moduleReference",i(a,n("TSExternalModuleReference"))),n("TSExternalModuleReference").bases("Declaration").build("expression").field("expression",o),n("TSExportAssignment").bases("Statement").build("expression").field("expression",n("Expression")),n("TSNamespaceExportDeclaration").bases("Declaration").build("id").field("id",n("Identifier")),n("TSInterfaceBody").bases("Node").build("body").field("body",[l]),n("TSExpressionWithTypeArguments").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("expression","typeParameters").field("expression",a),n("TSInterfaceDeclaration").bases("Declaration","TSHasOptionalTypeParameters").build("id","body").field("id",a).field("declare",Boolean,s.false).field("extends",i([n("TSExpressionWithTypeArguments")],null),s.null).field("body",n("TSInterfaceBody")),n("TSParameterProperty").bases("Pattern").build("parameter").field("accessibility",i("public","private","protected",void 0),s.undefined).field("readonly",Boolean,s.false).field("parameter",i(n("Identifier"),n("AssignmentPattern"))),n("ClassProperty").field("access",i("public","private","protected",void 0),s.undefined),n("ClassAccessorProperty").bases("Declaration","TSHasOptionalTypeAnnotation"),n("ClassBody").field("body",[i(n("MethodDefinition"),n("VariableDeclarator"),n("ClassPropertyDefinition"),n("ClassProperty"),n("ClassPrivateProperty"),n("ClassAccessorProperty"),n("ClassMethod"),n("ClassPrivateMethod"),n("StaticBlock"),n("TSDeclareMethod"),l)])}tt(()=>module);var Jn;Jn||(Jn={});var{astNodesAreEquivalent:oDe,builders:Va,builtInTypes:Yn,defineMethod:aDe,eachField:cDe,finalize:lDe,getBuilderName:uDe,getFieldNames:bH,getFieldValue:ss,getSupertypeNames:pDe,namedTypes:xH,NodePath:vH,Path:dDe,PathVisitor:fDe,someField:EH,Type:mDe,use:hDe,visit:gDe}=rH([iu,mH,eI,hH,gH,yH]);Object.assign(Jn,xH);var mf=Jn,NP=If.default.SourceMapConsumer,wH=If.default.SourceMapGenerator,rI=Object.prototype.hasOwnProperty;function CH(){return`
1232
1232
  `}function FP(e,t,r){return e&&rI.call(e,t)?e[t]:r}function DH(...e){let t={},r=e.length;for(let n=0;n<r;++n){let i=Object.keys(e[n]),s=i.length;for(let o=0;o<s;++o)t[i[o]]=!0}return t}function Ue(e,t){return e.line-t.line||e.column-t.column}function Bs(e){return{line:e.line,column:e.column}}function SH(e,t){if(e){if(!t)return e}else return t||null;let r=new NP(e),n=new NP(t),i=new wH({file:t.file,sourceRoot:t.sourceRoot}),s={};return n.eachMapping(function(o){let a=r.originalPositionFor({line:o.originalLine,column:o.originalColumn}),c=a.source;if(c===null)return;i.addMapping({source:c,original:Bs(a),generated:{line:o.generatedLine,column:o.generatedColumn},name:o.name});let l=r.sourceContentFor(c);l&&!rI.call(s,c)&&(s[c]=l,i.setSourceContent(c,l))}),i.toJSON()}function nI(e,t){if(!e.loc)return null;let r={start:e.loc.start,end:e.loc.end};function n(i){Xb(r,i.loc)}return e.declaration&&e.declaration.decorators&&_f(e)&&e.declaration.decorators.forEach(n),Ue(r.start,r.end)<0&&(r.start=Bs(r.start),t.skipSpaces(r.start,!1,!0),Ue(r.start,r.end)<0&&(r.end=Bs(r.end),t.skipSpaces(r.end,!0,!0))),e.comments&&e.comments.forEach(n),r}function Xb(e,t){e&&t&&(Ue(t.start,e.start)<0&&(e.start=t.start),Ue(e.end,t.end)<0&&(e.end=t.end))}function ax(e,t){let r=e.loc;if(r&&(r.start.line<1&&(r.start.line=1),r.end.line<1&&(r.end.line=1)),e.type==="File"&&(r.start=t.firstPos(),r.end=t.lastPos()),TH(e,t),AH(e,t),r&&e.decorators)e.decorators.forEach(function(n){Xb(r,n.loc)});else if(e.declaration&&_f(e)){e.declaration.loc=null;let n=e.declaration.decorators;n&&n.forEach(function(i){Xb(r,i.loc)})}else if(mf.MethodDefinition&&mf.MethodDefinition.check(e)||mf.Property.check(e)&&(e.method||e.shorthand))e.value.loc=null,mf.FunctionExpression.check(e.value)&&(e.value.id=null);else if(e.type==="ObjectTypeProperty"){let n=e.loc,i=n&&n.end;i&&(i=Bs(i),t.prevPos(i)&&t.charAt(i)===","&&(i=t.skipSpaces(i,!0,!0))&&(n.end=i))}}function TH(e,t){if(e.type!=="ForStatement")return;function r(n){let i=n&&n.loc,s=i&&i.start,o=i&&Bs(i.end);for(;s&&o&&Ue(s,o)<0&&(t.prevPos(o),t.charAt(o)===";");)i.end.line=o.line,i.end.column=o.column}r(e.init),r(e.test),r(e.update)}function AH(e,t){if(e.type==="TemplateLiteral"&&e.quasis.length!==0){if(e.loc){let r=Bs(e.loc.start),n=e.quasis[0];Ue(n.loc.start,r)<0&&(n.loc.start=r);let i=Bs(e.loc.end),s=e.quasis[e.quasis.length-1];Ue(i,s.loc.end)<0&&(s.loc.end=i)}e.expressions.forEach(function(r,n){let i=t.skipSpaces(r.loc.start,!0,!1);if(t.prevPos(i)&&t.charAt(i)==="{"&&t.prevPos(i)&&t.charAt(i)==="$"){let o=e.quasis[n];Ue(i,o.loc.end)<0&&(o.loc.end=i)}let s=t.skipSpaces(r.loc.end,!1,!1);if(t.charAt(s)==="}"){let o=e.quasis[n+1];Ue(o.loc.start,s)<0&&(o.loc.start=s)}})}}function _f(e){if(e)switch(e.type){case"ExportDeclaration":case"ExportDefaultDeclaration":case"ExportDefaultSpecifier":case"DeclareExportDeclaration":case"ExportNamedDeclaration":case"ExportAllDeclaration":return!0}return!1}function iI(e){let t=e.getParentNode();return e.getName()==="declaration"&&_f(t)?t:null}function Zl(e,t){let r=e.trailingComma;return typeof r=="object"?!!r[t]:!!r}var Qb={tabWidth:4,useTabs:!1,reuseWhitespace:!0,lineTerminator:CH(),wrapColumn:74,sourceFileName:null,sourceMapName:null,sourceRoot:null,inputSourceMap:null,range:!1,tolerant:!0,quote:null,trailingComma:!1,arrayBracketSpacing:!1,objectCurlySpacing:!0,arrowParensAlways:!1,flowObjectCommas:!0,tokens:!0},PH=Qb.hasOwnProperty;function kf(e){let t=e||Qb;function r(n){return PH.call(t,n)?t[n]:Qb[n]}return{tabWidth:+r("tabWidth"),useTabs:!!r("useTabs"),reuseWhitespace:!!r("reuseWhitespace"),lineTerminator:r("lineTerminator"),wrapColumn:Math.max(r("wrapColumn"),0),sourceFileName:r("sourceFileName"),sourceMapName:r("sourceMapName"),sourceRoot:r("sourceRoot"),inputSourceMap:r("inputSourceMap"),parser:r("esprima")||r("parser"),range:r("range"),tolerant:r("tolerant"),quote:r("quote"),trailingComma:r("trailingComma"),arrayBracketSpacing:r("arrayBracketSpacing"),objectCurlySpacing:r("objectCurlySpacing"),arrowParensAlways:r("arrowParensAlways"),flowObjectCommas:r("flowObjectCommas"),tokens:!!r("tokens")}}var Zb=class e{constructor(t,r,n=r){this.sourceLines=t,this.sourceLoc=r,this.targetLoc=n}slice(t,r,n=t.lastPos()){let i=this.sourceLines,s=this.sourceLoc,o=this.targetLoc;function a(c){let l=s[c],u=o[c],p=r;return c==="end"&&(p=n),IH(i,l,t,u,p)}if(Ue(r,o.start)<=0)if(Ue(o.end,n)<=0)o={start:Ls(o.start,r.line,r.column),end:Ls(o.end,r.line,r.column)};else{if(Ue(n,o.start)<=0)return null;s={start:s.start,end:a("end")},o={start:Ls(o.start,r.line,r.column),end:Ls(n,r.line,r.column)}}else{if(Ue(o.end,r)<=0)return null;Ue(o.end,n)<=0?(s={start:a("start"),end:s.end},o={start:{line:1,column:0},end:Ls(o.end,r.line,r.column)}):(s={start:a("start"),end:a("end")},o={start:{line:1,column:0},end:Ls(n,r.line,r.column)})}return new e(this.sourceLines,s,o)}add(t,r){return new e(this.sourceLines,this.sourceLoc,{start:RP(this.targetLoc.start,t,r),end:RP(this.targetLoc.end,t,r)})}subtract(t,r){return new e(this.sourceLines,this.sourceLoc,{start:Ls(this.targetLoc.start,t,r),end:Ls(this.targetLoc.end,t,r)})}indent(t,r=!1,n=!1){if(t===0)return this;let i=this.targetLoc,s=i.start.line,o=i.end.line;if(r&&s===1&&o===1)return this;if(i={start:i.start,end:i.end},!r||s>1){let a=i.start.column+t;i.start={line:s,column:n?Math.max(0,a):a}}if(!r||o>1){let a=i.end.column+t;i.end={line:o,column:n?Math.max(0,a):a}}return new e(this.sourceLines,this.sourceLoc,i)}};function RP(e,t,r){return{line:e.line+t-1,column:e.line===1?e.column+r:e.column}}function Ls(e,t,r){return{line:e.line-t+1,column:e.line===t?e.column-r:e.column}}function IH(e,t,r,n,i){let s=Ue(n,i);if(s===0)return t;let o,a;if(s<0){o=e.skipSpaces(t)||e.lastPos(),a=r.skipSpaces(n)||r.lastPos();let c=i.line-a.line;for(o.line+=c,a.line+=c,c>0&&(o.column=0,a.column=0);Ue(a,i)<0&&r.nextPos(a,!0););}else{o=e.skipSpaces(t,!0)||e.firstPos(),a=r.skipSpaces(n,!0)||r.firstPos();let c=i.line-a.line;for(o.line+=c,a.line+=c,c<0&&(o.column=e.getLineLength(o.line),a.column=r.getLineLength(a.line));Ue(i,a)<0&&r.prevPos(a,!0););}return o}var _H=Object.defineProperty,kH=(e,t,r)=>t in e?_H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Hl=(e,t,r)=>(kH(e,typeof t!="symbol"?t+"":t,r),r),Ka=class e{constructor(t,r=null){this.infos=t,Hl(this,"length"),Hl(this,"name"),Hl(this,"mappings",[]),Hl(this,"cachedSourceMap",null),Hl(this,"cachedTabWidth"),this.length=t.length,this.name=r||null,this.name&&this.mappings.push(new Zb(this,{start:this.firstPos(),end:this.lastPos()}))}toString(t){return this.sliceString(this.firstPos(),this.lastPos(),t)}getSourceMap(t,r){if(!t)return null;let n=this;function i(a){return a=a||{},a.file=t,r&&(a.sourceRoot=r),a}if(n.cachedSourceMap)return i(n.cachedSourceMap.toJSON());let s=new If.default.SourceMapGenerator(i()),o={};return n.mappings.forEach(function(a){let c=a.sourceLines.skipSpaces(a.sourceLoc.start)||a.sourceLines.lastPos(),l=n.skipSpaces(a.targetLoc.start)||n.lastPos();for(;Ue(c,a.sourceLoc.end)<0&&Ue(l,a.targetLoc.end)<0;){a.sourceLines.charAt(c),n.charAt(l);let u=a.sourceLines.name;if(s.addMapping({source:u,original:{line:c.line,column:c.column},generated:{line:l.line,column:l.column}}),!ex.call(o,u)){let p=a.sourceLines.toString();s.setSourceContent(u,p),o[u]=p}n.nextPos(l,!0),a.sourceLines.nextPos(c,!0)}}),n.cachedSourceMap=s,s.toJSON()}bootstrapCharAt(t){let r=t.line,n=t.column,i=this.toString().split(tx),s=i[r-1];return typeof s>"u"?"":n===s.length&&r<i.length?`
1233
1233
  `:n>=s.length?"":s.charAt(n)}charAt(t){let r=t.line,n=t.column,i=this,s=i.infos,o=s[r-1],a=n;if(typeof o>"u"||a<0)return"";let c=this.getIndentAt(r);return a<c?" ":(a+=o.sliceStart-c,a===o.sliceEnd&&r<this.length?`
1234
1234
  `:a>=o.sliceEnd?"":o.line.charAt(a))}stripMargin(t,r){if(t===0)return this;if(r&&this.length===1)return this;let n=new e(this.infos.map(function(i,s){return i.line&&(s>0||!r)&&(i={...i,indent:Math.max(0,i.indent-t)}),i}));if(this.mappings.length>0){let i=n.mappings;this.mappings.forEach(function(s){i.push(s.indent(t,r,!0))})}return n}indent(t){if(t===0)return this;let r=new e(this.infos.map(function(n){return n.line&&!n.locked&&(n={...n,indent:n.indent+t}),n}));if(this.mappings.length>0){let n=r.mappings;this.mappings.forEach(function(i){n.push(i.indent(t))})}return r}indentTail(t){if(t===0)return this;if(this.length<2)return this;let r=new e(this.infos.map(function(n,i){return i>0&&n.line&&!n.locked&&(n={...n,indent:n.indent+t}),n}));if(this.mappings.length>0){let n=r.mappings;this.mappings.forEach(function(i){n.push(i.indent(t,!0))})}return r}lockIndentTail(){return this.length<2?this:new e(this.infos.map((t,r)=>({...t,locked:r>0})))}getIndentAt(t){return Math.max(this.infos[t-1].indent,0)}guessTabWidth(){if(typeof this.cachedTabWidth=="number")return this.cachedTabWidth;let t=[],r=0;for(let s=1,o=this.length;s<=o;++s){let a=this.infos[s-1],c=a.line.slice(a.sliceStart,a.sliceEnd);if(ja(c))continue;let l=Math.abs(a.indent-r);t[l]=~~t[l]+1,r=a.indent}let n=-1,i=2;for(let s=1;s<t.length;s+=1)ex.call(t,s)&&t[s]>n&&(n=t[s],i=s);return this.cachedTabWidth=i}startsWithComment(){if(this.infos.length===0)return!1;let t=this.infos[0],r=t.sliceStart,n=t.sliceEnd,i=t.line.slice(r,n).trim();return i.length===0||i.slice(0,2)==="//"||i.slice(0,2)==="/*"}isOnlyWhitespace(){return ja(this.toString())}isPrecededOnlyByWhitespace(t){let r=this.infos[t.line-1],n=Math.max(r.indent,0),i=t.column-n;if(i<=0)return!0;let s=r.sliceStart,o=Math.min(s+i,r.sliceEnd),a=r.line.slice(s,o);return ja(a)}getLineLength(t){let r=this.infos[t-1];return this.getIndentAt(t)+r.sliceEnd-r.sliceStart}nextPos(t,r=!1){let n=Math.max(t.line,0);return Math.max(t.column,0)<this.getLineLength(n)?(t.column+=1,r?!!this.skipSpaces(t,!1,!0):!0):n<this.length?(t.line+=1,t.column=0,r?!!this.skipSpaces(t,!1,!0):!0):!1}prevPos(t,r=!1){let n=t.line,i=t.column;if(i<1){if(n-=1,n<1)return!1;i=this.getLineLength(n)}else i=Math.min(i-1,this.getLineLength(n));return t.line=n,t.column=i,r?!!this.skipSpaces(t,!0,!0):!0}firstPos(){return{line:1,column:0}}lastPos(){return{line:this.length,column:this.getLineLength(this.length)}}skipSpaces(t,r=!1,n=!1){if(t?t=n?t:{line:t.line,column:t.column}:r?t=this.lastPos():t=this.firstPos(),r){for(;this.prevPos(t);)if(!ja(this.charAt(t))&&this.nextPos(t))return t;return null}else{for(;ja(this.charAt(t));)if(!this.nextPos(t))return null;return t}}trimLeft(){let t=this.skipSpaces(this.firstPos(),!1,!0);return t?this.slice(t):wo}trimRight(){let t=this.skipSpaces(this.lastPos(),!0,!0);return t?this.slice(this.firstPos(),t):wo}trim(){let t=this.skipSpaces(this.firstPos(),!1,!0);if(t===null)return wo;let r=this.skipSpaces(this.lastPos(),!0,!0);return r===null?wo:this.slice(t,r)}eachPos(t,r=this.firstPos(),n=!1){let i=this.firstPos();if(r&&(i.line=r.line,i.column=r.column),!(n&&!this.skipSpaces(i,!1,!0)))do t.call(this,i);while(this.nextPos(i,n))}bootstrapSlice(t,r){let n=this.toString().split(tx).slice(t.line-1,r.line);return n.length>0&&(n.push(n.pop().slice(0,r.column)),n[0]=n[0].slice(t.column)),$(n.join(`
@@ -1361,7 +1361,7 @@ Restarting server after Builder Devtools update...
1361
1361
  <h3>How's Devtools working for you?</h3>
1362
1362
  <p>We'd love your feedback!</p>
1363
1363
  </div>
1364
- \`,t.appendChild(e),setTimeout(()=>{e.classList.add("menu-toggle-tooltip-show"),e.addEventListener("click",()=>{e.classList.remove("menu-toggle-tooltip-show")})},1e3)};function ui(t){t.getElementById("go-to-builder").addEventListener("click",s=>{s.preventDefault(),s.stopPropagation(),Ee(t,!1),window.open(Nr(),"builder")}),t.getElementById("components-link").addEventListener("click",s=>{s.preventDefault(),s.stopPropagation();let u=t.querySelector(".nav-cmp-list .section-content");u.scrollTop=0,oe(t,"nav-cmp-list"),si(t)}),t.getElementById("settings-link").addEventListener("click",s=>{s.preventDefault(),s.stopPropagation(),oe(t,"nav-settings")}),t.getElementById("add-page-link").addEventListener("click",s=>{s.preventDefault(),s.stopPropagation(),Ee(t,!1),window.open(je(),"builder")}),t.getElementById("import-from-figma").addEventListener("click",s=>{s.preventDefault(),s.stopPropagation(),Ee(t,!1),window.open("https://www.figma.com/community/plugin/747985167520967365/builder-io-ai-powered-figma-to-code-react-vue-tailwind-more")})}function ci(t){let e=t.getElementById("enable-edit");e.addEventListener("change",r=>{r.stopPropagation(),Ft(e.checked)}),e.checked=it(),Ft(e.checked)}var At=class extends HTMLElement{constructor(){super()}connectedCallback(){let e=this.attachShadow({mode:"open"});e.innerHTML=\`<style>*,*:before,*:after{box-sizing:border-box}:host{--background-color: rgba(40, 40, 40, 1);--primary-color: rgba(72, 161, 255, 1);--primary-color-subdued: rgb(72, 161, 255, .6);--primary-color-highlight: rgb(126, 188, 255);--primary-contrast-color: white;--edit-color: #1d74e2;--edit-color-highlight: #1c6bd1;--edit-color-alpha: rgb(72, 161, 255, .15);--error-color: #ff2b55;--text-color: white;--text-color-highlight: white;--border-color: #454545;--button-background-color-hover: rgba(255, 255, 255, .1);--menu-width: 320px;--transition-time: .15s;--font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";font-family:var(--font-family);line-height:1.6}button{cursor:pointer;color:var(--text-color);-webkit-tap-highlight-color:transparent}input,select,button{font-family:var(--font-family)}.menu-toggle{position:absolute;right:0;bottom:0;pointer-events:auto;padding:8px;background:transparent;border:none;appearance:none}.menu-toggle div{position:relative;width:64px;height:64px;pointer-events:none;border-radius:50%;background:#000;border:1px solid white;box-shadow:#00000054 0 0 8px}.menu-toggle:hover div{background-color:var(--background-color);border:1px solid rgb(220,220,220)}.menu-toggle svg{position:absolute;top:15px;left:15px;width:33px;height:32px}div.highlight-bg{position:absolute;top:-1px;left:-1px;background-color:#1a1a1a;pointer-events:none;transition:all .4s ease-out;opacity:0}.menu-toggle-highlight-no-transition div.highlight-bg{transition:none}.menu-toggle-highlight div.highlight-bg{opacity:1}.menu-toggle-tooltip{position:absolute;bottom:0;right:0;width:382px;height:72px;padding:0;text-align:left;appearance:none;background-color:transparent;border:none;pointer-events:none;transform:translate3d(320px,0,0);opacity:0;transition:all .15s ease-in-out;color:#fff}.menu-toggle-tooltip.menu-toggle-tooltip-show{pointer-events:auto;opacity:1;transform:translateZ(0)}.menu-toggle-tooltip-content{position:absolute;inset:0 95px 10px 0;padding:8px 12px;background-color:var(--primary-color);box-shadow:#00000054 0 0 20px;border-radius:2px}.menu-toggle-tooltip-content:before{content:"";position:absolute;bottom:15px;right:-6px;width:30px;height:30px;background-color:var(--primary-color);transform:rotate(45deg)}.menu-toggle-tooltip:hover .menu-toggle-tooltip-content,.menu-toggle-tooltip:hover .menu-toggle-tooltip-content:before{background-color:var(--primary-color-highlight)}.menu-toggle-tooltip-content h3{margin:0;font-size:16px}.menu-toggle-tooltip-content p{margin:0;font-size:12px}section{position:absolute;display:grid;grid-template-rows:64px auto 64px;top:0;left:0;width:100%;height:100%;padding:0;pointer-events:none}.section-content{margin:0;padding:0 0 10px;font-weight:300;transform:translate3d(105%,0,0);transition:transform var(--transition-time) ease-in-out;overflow-y:auto}.section-content .error{color:var(--error-color);font-weight:700}section a{text-decoration:none;color:var(--text-color)}section h3,section p{margin-left:16px;margin-right:16px}.info{font-size:12px}ul.list{list-style:none;padding:0;margin:0}ul.list li{display:block;padding:0;margin:0}ul.list a,ul.list button{display:grid;grid-template-columns:24px auto;grid-gap:16px;padding:12px;margin:8px 0;border:none;background:transparent;appearance:none;width:100%;font-weight:300;text-align:left;text-decoration:none;color:var(--text-color)}ul.list a:hover,ul.list button:hover{text-decoration:none;color:var(--text-color);background-color:var(--button-background-color-hover)}ul.list a span,ul.list button span{display:block;font-size:16px;font-weight:500;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}header{position:relative;display:grid;grid-template-columns:44px 1fr;gap:8px;padding-left:8px;border-bottom:1px solid var(--border-color);transition:opacity var(--transition-time) ease-in-out;opacity:0;pointer-events:none}header>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-home header>div{margin-right:56px}header h2{margin:7px 0 0;font-size:18px;font-weight:500;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header p{margin:2px 0 0;font-size:12px;font-weight:300;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header p button{display:block;margin:0;padding:0;width:100%;font-size:12px;font-weight:300;text-decoration:none;appearance:none;text-align:left;background-color:transparent;border:none;color:var(--primary-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header p button:hover{text-decoration:underline;color:var(--primary-color)}.builder-logo{margin:12px 0 0 8px}#close{display:block;position:absolute;appearance:none;background:transparent;border:none;border-radius:50%;margin:0;padding:0;right:4px;top:8px;width:48px;height:48px;z-index:1;opacity:.7}#close:hover{opacity:1;background-color:var(--button-background-color-hover)}#close svg{position:absolute;top:12px;left:12px;width:24px;height:24px;fill:currentColor;pointer-events:none}.back-button{position:relative;display:block;margin:7px 0 0 -2px;width:48px;height:48px;background:transparent;border:none;appearance:none;border-radius:50%}.back-button:hover{background-color:var(--button-background-color-hover)}.back-button svg{position:absolute;top:12px;left:12px;width:24px;height:24px;fill:currentColor;pointer-events:none}footer{border-top:1px solid var(--border-color);transition:opacity var(--transition-time) ease-in-out;opacity:0;pointer-events:none}section.nav-cmp-list{grid-template-rows:64px auto 120px}footer a{text-decoration:underline;color:var(--primary-color)}footer a:hover{color:var(--primary-color);text-decoration:none}.nav-list{padding:2px 0}.nav-loading{pointer-events:none}.nav-loading-icon{position:absolute;display:inline-block;top:170px;left:0;width:100%;transform:translateZ(0);pointer-events:auto;opacity:0;transition:all 50ms ease-in-out;transition-delay:50ms;pointer-events:none}.nav-loading .nav-loading-icon{opacity:.5}.nav-list h4{margin:8px 8px 8px 10px;font-size:14px;font-weight:600}.nav-list .nav-list-item+h4{margin-top:30px}.nav-list-item{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:relative;margin:2px 0;padding:8px 28px 8px 46px;width:100%;font-size:14px;font-weight:300;text-align:left;border:none;background:transparent;appearance:none}.nav-list-item:hover{background-color:var(--button-background-color-hover)}.nav-list-item-icon{position:absolute;top:4px;left:10px;width:24px;height:24px;object-fit:contain;filter:invert(100%);background-size:24px 24px;background-repeat:no-repeat;background-position:center center}.nav-list-item span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.nav-list-item:after{display:block;position:absolute;content:"";background-image:url('data:image/svg+xml,<svg width="8" height="14" viewBox="0 0 8 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L7 7L1 13" stroke="%23F2F2F2" stroke-opacity="0.5" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/></svg>');background-repeat:no-repeat;background-position:12px 9px;top:0;right:0;width:32px;height:32px;pointer-events:none}.nav-list-item-note{opacity:0;font-size:12px;padding-top:1px;text-align:right}.nav-list-item:hover .nav-list-item-note{opacity:.5}.ui-select{display:block;margin:8px 0 16px;padding:8px 16px;cursor:pointer}.ui-select h3{margin:0;font-size:14px;font-weight:500}.ui-select p{margin:8px 0;font-size:12px;font-weight:300}.ui-select .select{position:relative;margin:8px 0;border-radius:4px;padding:0;line-height:1.1;overflow:hidden;border:1px solid var(--border-color)}.ui-select select{appearance:none;background-color:transparent;border:none;outline:none;padding:8px 32px 8px 8px;margin:0;width:100%;font-size:14px;cursor:pointer;text-overflow:ellipsis;opacity:.6;color:var(--text-color)}.ui-select .select:after{content:"";top:6px;right:5px;width:24px;height:24px;position:absolute;background-image:url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="%23F2F2F2" d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"/></svg>');background-repeat:no-repeat;background-position:center;pointer-events:none;opacity:.6}.ui-select .select:hover{border-color:var(--primary-color-subdued)}.ui-text-input .select:focus-within{border-color:var(--primary-color)}.ui-text-input .select:focus-within select{opacity:1}.spinner:after{content:" ";display:block;width:32px;height:32px;margin:0 auto;pointer-events:auto;border-radius:50%;border:3px solid var(--text-color);border-color:var(--text-color) transparent var(--text-color) transparent;animation:spinner .75s linear infinite}@keyframes spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ui-switch{display:grid;grid-template-columns:auto 48px;grid-gap:20px;margin:8px 0 16px;padding:8px 0 8px 16px;cursor:pointer}.ui-switch>*{pointer-events:none}.ui-switch input{display:none;visibility:hidden}.ui-switch .switcher{display:inline-block;border-radius:100px;width:35px;height:14px;background-color:#ccc;position:relative;top:6px;vertical-align:middle;cursor:pointer}.ui-switch input[type=checkbox]:checked+.switcher{background-color:var(--primary-color-subdued)}.ui-switch .switcher:before{content:"";display:block;width:20px;height:20px;background-color:var(--text-color);box-shadow:0 1px 3px #0009;border-radius:50%;position:absolute;top:-3px;left:0;margin-right:0;transition:all .15s}.ui-switch input[type=checkbox]:checked+.switcher:before{left:100%;margin-left:-20px;background-color:var(--primary-color)}.ui-switch h3{margin:0;font-size:14px;font-weight:500}.ui-switch p{margin:4px 0 0;font-size:12px;font-weight:300}.ui-text-input{display:block;margin:8px 0 16px;padding:8px 16px;cursor:pointer}.ui-text-input h3{margin:0;font-size:14px;font-weight:500}.ui-text-input p{margin:8px 0;font-size:12px;font-weight:300}.ui-text-input .input{position:relative;margin:8px 0;border:1px solid var(--border-color);border-radius:4px;background:transparent;padding:2px;overflow:hidden}.ui-text-input input{display:block;width:235px;font-size:14px;border:none;background:transparent;padding:6px;appearance:none;color:var(--text-color);opacity:.6;outline:none}.ui-text-input .input:hover{border-color:var(--primary-color-subdued)}.ui-text-input .input:focus-within{border-color:var(--primary-color)}.ui-text-input .input:focus-within input{opacity:1}.ui-text-input .input:after{content:"";position:absolute;top:5px;right:14px;width:8px;height:17px;border:2px solid rgba(51,181,51,1);border-top:none;border-left:none;transform:rotate(45deg);opacity:0;transition:opacity 80ms ease-in-out;pointer-events:none}.ui-text-input.saved .input:after{opacity:1}.ui-toast{position:fixed;bottom:8px;left:8px;right:8px;padding:6px 12px;font-size:14px;border-radius:4px;transform:translate3d(0,150%,0);opacity:0;transition:all var(--transition-time) ease-in-out;background-color:var(--primary-color-subdued);color:var(--text-color);pointer-events:none}.ui-toast.ui-toast-show{transform:translateZ(0);opacity:1;pointer-events:auto}[data-view=nav-home] .nav-home .section-content,[data-view=nav-cmp-list] .nav-cmp-list .section-content,[data-view=nav-cmp-detail] .nav-cmp-detail .section-content,[data-view=nav-cmp-input] .nav-cmp-input .section-content,[data-view=nav-settings] .nav-settings .section-content{transform:translateZ(0);pointer-events:auto}[data-view=nav-home] .nav-home header,[data-view=nav-home] .nav-home footer,[data-view=nav-cmp-list] .nav-cmp-list header,[data-view=nav-cmp-list] .nav-cmp-list footer,[data-view=nav-cmp-detail] .nav-cmp-detail header,[data-view=nav-cmp-detail] .nav-cmp-detail footer,[data-view=nav-cmp-input] .nav-cmp-input header,[data-view=nav-cmp-input] .nav-cmp-input footer,[data-view=nav-settings] .nav-settings header,[data-view=nav-settings] .nav-settings footer{opacity:1;pointer-events:auto}[data-view=nav-cmp-list] .nav-home .section-content,[data-view=nav-cmp-detail] .nav-home .section-content,[data-view=nav-cmp-detail] .nav-cmp-list .section-content,[data-view=nav-cmp-input] .nav-home .section-content,[data-view=nav-cmp-input] .nav-cmp-list .section-content,[data-view=nav-cmp-input] .nav-cmp-detail .section-content,[data-view=nav-settings] .nav-home .section-content{transform:translate3d(-105%,0,0)}.cmp-item .nav-list-item-icon{background-image:url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20.83 16.809C20.94 16.561 21 16.289 21 16.008V7.99001C20.9994 7.64108 20.9066 7.29851 20.731 6.99699C20.5554 6.69547 20.3032 6.44571 20 6.27301L13 2.26501C12.6954 2.09103 12.3508 1.99951 12 1.99951C11.6492 1.99951 11.3046 2.09103 11 2.26501L7.988 3.99001M5.441 5.44801L4 6.27301C3.381 6.62801 3 7.28301 3 7.99101V16.009C3 16.718 3.381 17.372 4 17.726L11 21.734C11.3046 21.908 11.6492 21.9995 12 21.9995C12.3508 21.9995 12.6954 21.908 13 21.734L18.544 18.56" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 22V12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M14.532 10.538L20.73 6.95996" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M3.27002 6.95996L12 12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M3 3L21 21" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/></svg>');opacity:.3}.cmp-item.registered .nav-list-item-icon{background-image:url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21 16.008V7.99001C20.9994 7.64108 20.9066 7.29851 20.731 6.99699C20.5554 6.69547 20.3032 6.44571 20 6.27301L13 2.26501C12.6954 2.09103 12.3508 1.99951 12 1.99951C11.6492 1.99951 11.3046 2.09103 11 2.26501L4 6.27301C3.381 6.62801 3 7.28301 3 7.99101V16.009C3 16.718 3.381 17.372 4 17.726L11 21.734C11.3046 21.908 11.6492 21.9995 12 21.9995C12.3508 21.9995 12.6954 21.908 13 21.734L20 17.726C20.619 17.371 21 16.716 21 16.008Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 22V12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 12L20.73 6.95996" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M3.26999 6.95996L12 12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /></svg>');opacity:.8}.search-highlight{background-color:var(--primary-color-alpha);padding:0 2px;border-radius:2px;font-weight:500}.search-container{position:sticky;top:0;z-index:10;padding:12px 16px;background:var(--background-color);border-bottom:1px solid var(--border-color)}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:var(--text-color-secondary);pointer-events:none}.component-search-input{width:100%;height:36px;padding:8px 36px;border:1px solid var(--border-color);border-radius:6px;background:var(--input-background);color:var(--text-color);font-size:14px;transition:border-color .2s,box-shadow .2s}.component-search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-alpha)}.component-search-input::placeholder{color:var(--text-color-tertiary)}.clear-search-button{position:absolute;right:8px;padding:4px;color:var(--text-color-secondary);border:none;background:transparent;border-radius:4px;cursor:pointer;opacity:0;transition:opacity .2s,background-color .2s;display:flex;align-items:center;justify-content:center}.clear-search-button:hover{background-color:var(--hover-color)}.component-search-input:not(:placeholder-shown)+.clear-search-button{opacity:1}.no-results{padding:32px 16px;text-align:center;color:var(--text-color-secondary);font-size:14px}#cmp-detail{position:relative}.cmp-loading{pointer-events:none!important}.cmp-loading-icon{position:absolute;display:inline-block;top:170px;left:0;width:100%;transform:translateZ(0);pointer-events:auto;opacity:0;transition:all 50ms ease-in-out;transition-delay:50ms;pointer-events:none}.cmp-loading .cmp-loading-icon{opacity:.5}.cmp-cover{position:absolute;top:160px;left:0;width:100%;height:100vh;background:var(--background-color);transform:translateZ(0);pointer-events:none;display:none}[data-view=nav-cmp-detail] .cmp-cover{display:block;pointer-events:auto}.cmp-enabled .cmp-cover{transform:translate3d(0,105%,0);pointer-events:none}.section-ready .cmp-cover{transition:all var(--transition-time) ease-in-out}.cmp-detail-inputs-container{margin:8px 0 16px;padding:0}.cmp-detail-inputs-container h3{margin:0 0 6px;padding-left:16px;padding-right:8px;font-size:14px;font-weight:500;display:flex;justify-content:space-between;align-items:center}.cmp-detail-inputs-reload{font-weight:300;font-size:.9em;text-decoration:none;appearance:none;text-align:left;background-color:transparent;border:none;color:var(--primary-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmp-detail-inputs-reload:hover{text-decoration:underline;color:var(--primary-color)}.cmp-detail-inputs-container .cmp-inputs-empty{padding:0;margin-top:12px;font-size:12px;font-weight:300;opacity:.5;font-style:italic}.cmp-detail-inputs-container .nav-list-item-icon{opacity:.8;background-size:20px 20px;background-position:4px center}.input-icon{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path></svg>')}.input-icon-array{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 16v-6a2 2 0 1 1 4 0v6"></path> <path d="M10 13h4"></path></svg>')}.input-icon-boolean{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 16h2a2 2 0 1 0 0 -4h-2h2a2 2 0 1 0 0 -4h-2v8z"></path></svg>')}.input-icon-number{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 16v-8l4 8v-8"></path></svg>')}.input-icon-object{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M12 8a2 2 0 0 1 2 2v4a2 2 0 1 1 -4 0v-4a2 2 0 0 1 2 -2z"></path></svg>')}.input-icon-string{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 15a1 1 0 0 0 1 1h2a1 1 0 0 0 1 -1v-2a1 1 0 0 0 -1 -1h-2a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1"></path></svg>')}.cmp-input-item-unregistered{opacity:.4}.cmp-input-item-unregistered .input-icon:after{content:"";position:absolute;top:11px;left:4px;width:20px;height:2px;background-color:#000;transform:rotate(-45deg)}.cmp-prop-info{border-bottom:1px solid var(--border-color)}.cmp-input-readonly{margin:16px 0;padding:0 16px;display:grid;grid-template-columns:50% 50%;gap:12px}.cmp-input-readonly h3{margin:0;font-size:14px;font-weight:500}.cmp-input-readonly span{margin-top:2px;font-size:12px;font-weight:300;opacity:.8}.cmp-input-detail{margin:16px 0}.cmp-input-detail a{color:var(--primary-color);text-decoration:none}.cmp-input-detail a:hover{text-decoration:underline}.input-cover{position:absolute;top:175px;left:0;width:100%;height:100%;background:var(--background-color);transform:translateZ(0);transition:all var(--transition-time) ease-in-out;pointer-events:auto}.input-enabled .input-cover{transform:translate3d(0,105%,0);pointer-events:none}.input-loading-icon{position:absolute;display:inline-block;top:190px;left:0;width:100%;transform:translateZ(0);pointer-events:auto;opacity:0;transition:all 50ms ease-in-out;transition-delay:50ms;pointer-events:none}.input-loading .input-loading-icon{opacity:.5}:host{position:fixed;inset:0;z-index:2147483646;user-select:none;pointer-events:none;color:var(--text-color)}aside{position:absolute;top:0;right:0;width:var(--menu-width);height:100%;transform:translate3d(105%,0,0);transition:transform var(--transition-time) ease-in-out;background:var(--background-color);box-shadow:#000000c9 5px 0 20px;overflow:hidden;z-index:1}:host(.show-builder-menu) aside{pointer-events:auto;transform:translateZ(0)}#hit{position:absolute;inset:0;display:none}:host(.show-builder-menu) #hit{display:block;pointer-events:auto}#version{position:absolute;bottom:6px;right:6px;font-size:8px;color:#9b9b9b}</style><div id="hit"></div> <aside data-view="nav-home"> <section class="nav-home"> <header> <svg class="builder-logo" viewBox="0 0 31 36" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M31 9.96854C31.0016 11.4553 30.6701 12.9236 30.03 14.2654C29.3898 15.6072 28.4572 16.7884 27.3007 17.7221L0.702841 2.61812C0.601104 2.56012 0.506714 2.49008 0.421705 2.40951C0.288323 2.27871 0.182333 2.12263 0.109928 1.95039C0.0375215 1.77814 0.000151253 1.59319 0 1.40633C0 1.03335 0.148098 0.675643 0.411715 0.411905C0.675332 0.148167 1.03287 0 1.40568 0L21.036 0C23.6786 0 26.213 1.05025 28.0816 2.91972C29.9502 4.78918 31 7.32472 31 9.96854Z" fill="#18B4F4" /> <path d="M31 25.4757C31.0004 26.7849 30.7429 28.0815 30.2423 29.2912C29.7417 30.5009 29.0078 31.6001 28.0825 32.526C27.1572 33.4519 26.0587 34.1864 24.8497 34.6875C23.6406 35.1886 22.3448 35.4465 21.0361 35.4465H1.40573C1.12766 35.4436 0.856725 35.3581 0.627199 35.201C0.397672 35.044 0.219871 34.8223 0.116289 34.5641C0.0127078 34.3059 -0.011999 34.0228 0.0452946 33.7505C0.102588 33.4783 0.239308 33.2292 0.438156 33.0347C0.517415 32.9551 0.606358 32.8858 0.702893 32.8284L11.1705 26.8843L27.2984 17.7244C28.4548 18.6579 29.3874 19.8387 30.028 21.18C30.6685 22.5213 31.0007 23.9891 31 25.4757Z" fill="#FD6B3C" /> <path d="M27.3011 17.7221L11.1709 26.8843L0.703209 32.8284C0.602697 32.8843 0.509784 32.9528 0.426758 33.0323C4.41799 28.9369 6.6496 23.442 6.64456 17.7221C6.65208 12.0015 4.42111 6.50517 0.429101 2.40948C0.51411 2.49005 0.6085 2.56009 0.710237 2.61809L27.3011 17.7221Z" fill="#A97FF2" /> </svg> <div> <h2 class="builder-home-title">Builder Devtools</h2> <p><button id="go-to-builder">Go to Builder</button></p> </div> <button id="close" aria-label="Close Menu"> <svg viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" > <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M18 6l-12 12" /> <path d="M6 6l12 12" /> </svg> </button> </header> <div class="section-content"> <ul class="list"> <li> <button id="components-link"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M21 16.008V7.99001C20.9994 7.64108 20.9066 7.29851 20.731 6.99699C20.5554 6.69547 20.3032 6.44571 20 6.27301L13 2.26501C12.6954 2.09103 12.3508 1.99951 12 1.99951C11.6492 1.99951 11.3046 2.09103 11 2.26501L4 6.27301C3.381 6.62801 3 7.28301 3 7.99101V16.009C3 16.718 3.381 17.372 4 17.726L11 21.734C11.3046 21.908 11.6492 21.9995 12 21.9995C12.3508 21.9995 12.6954 21.908 13 21.734L20 17.726C20.619 17.371 21 16.716 21 16.008Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 22V12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 12L20.73 6.95996" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M3.26999 6.95996L12 12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> </svg> <span>Components</span> </button> </li> <li> <button id="settings-link"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M10.325 4.317C10.751 2.561 13.249 2.561 13.675 4.317C13.7389 4.5808 13.8642 4.82578 14.0407 5.032C14.2172 5.23822 14.4399 5.39985 14.6907 5.50375C14.9414 5.60764 15.2132 5.65085 15.4838 5.62987C15.7544 5.60889 16.0162 5.5243 16.248 5.383C17.791 4.443 19.558 6.209 18.618 7.753C18.4769 7.98466 18.3924 8.24634 18.3715 8.51677C18.3506 8.78721 18.3938 9.05877 18.4975 9.30938C18.6013 9.55999 18.7627 9.78258 18.9687 9.95905C19.1747 10.1355 19.4194 10.2609 19.683 10.325C21.439 10.751 21.439 13.249 19.683 13.675C19.4192 13.7389 19.1742 13.8642 18.968 14.0407C18.7618 14.2172 18.6001 14.4399 18.4963 14.6907C18.3924 14.9414 18.3491 15.2132 18.3701 15.4838C18.3911 15.7544 18.4757 16.0162 18.617 16.248C19.557 17.791 17.791 19.558 16.247 18.618C16.0153 18.4769 15.7537 18.3924 15.4832 18.3715C15.2128 18.3506 14.9412 18.3938 14.6906 18.4975C14.44 18.6013 14.2174 18.7627 14.0409 18.9687C13.8645 19.1747 13.7391 19.4194 13.675 19.683C13.249 21.439 10.751 21.439 10.325 19.683C10.2611 19.4192 10.1358 19.1742 9.95929 18.968C9.7828 18.7618 9.56011 18.6001 9.30935 18.4963C9.05859 18.3924 8.78683 18.3491 8.51621 18.3701C8.24559 18.3911 7.98375 18.4757 7.752 18.617C6.209 19.557 4.442 17.791 5.382 16.247C5.5231 16.0153 5.60755 15.7537 5.62848 15.4832C5.64942 15.2128 5.60624 14.9412 5.50247 14.6906C5.3987 14.44 5.23726 14.2174 5.03127 14.0409C4.82529 13.8645 4.58056 13.7391 4.317 13.675C2.561 13.249 2.561 10.751 4.317 10.325C4.5808 10.2611 4.82578 10.1358 5.032 9.95929C5.23822 9.7828 5.39985 9.56011 5.50375 9.30935C5.60764 9.05859 5.65085 8.78683 5.62987 8.51621C5.60889 8.24559 5.5243 7.98375 5.383 7.752C4.443 6.209 6.209 4.442 7.753 5.382C8.753 5.99 10.049 5.452 10.325 4.317Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M9 12C9 12.7956 9.31607 13.5587 9.87868 14.1213C10.4413 14.6839 11.2044 15 12 15C12.7956 15 13.5587 14.6839 14.1213 14.1213C14.6839 13.5587 15 12.7956 15 12C15 11.2044 14.6839 10.4413 14.1213 9.87868C13.5587 9.31607 12.7956 9 12 9C11.2044 9 10.4413 9.31607 9.87868 9.87868C9.31607 10.4413 9 11.2044 9 12Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> </svg> <span>Settings</span> </button> </li> <li> <button id="add-page-link"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" > <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M14 3v4a1 1 0 0 0 1 1h4" /> <path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z" /> <path d="M12 11l0 6" /> <path d="M9 14l6 0" /> </svg> <span>Add Builder Page</span> </button> </li> <li> <button id="import-from-figma"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-figma" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" > <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M15 12m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" /> <path d="M6 3m0 3a3 3 0 0 1 3 -3h6a3 3 0 0 1 3 3v0a3 3 0 0 1 -3 3h-6a3 3 0 0 1 -3 -3z" /> <path d="M9 9a3 3 0 0 0 0 6h3m-3 0a3 3 0 1 0 3 3v-15" /> </svg> <span>Import From Figma</span> </button> </li> </ul> </div> <footer> <ul class="list"> <li> <a href="https://docs.google.com/forms/d/e/1FAIpQLSdqZcJpRtm_Ia5DTHP6SDY9Xa6LID3KiTjRWkjMzWyJRUtSHw/viewform" target="_blank" > <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M11.013 17.0114L10.013 18.0114L2.513 10.5834C2.0183 10.102 1.62864 9.52342 1.36854 8.88404C1.10845 8.24466 0.983558 7.55836 1.00173 6.86834C1.01991 6.17832 1.18076 5.49954 1.47415 4.87474C1.76755 4.24994 2.18713 3.69266 2.70648 3.23799C3.22583 2.78331 3.8337 2.4411 4.49181 2.23289C5.14991 2.02468 5.844 1.95499 6.53036 2.02821C7.21673 2.10143 7.8805 2.31596 8.47987 2.65831C9.07925 3.00066 9.60124 3.46341 10.013 4.01741C10.8086 2.95654 11.9931 2.2552 13.3059 2.06766C14.6186 1.88012 15.9521 2.22176 17.013 3.01741C18.0739 3.81306 18.7752 4.99755 18.9627 6.3103C19.1503 7.62305 18.8086 8.95654 18.013 10.0174" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> <path d="M18.2006 19.8175L16.0286 20.9555C15.9642 20.989 15.8917 21.004 15.8192 20.9987C15.7467 20.9934 15.6771 20.9681 15.6182 20.9256C15.5593 20.8831 15.5134 20.825 15.4855 20.7579C15.4577 20.6907 15.4491 20.6172 15.4606 20.5455L15.8756 18.1345L14.1186 16.4275C14.0662 16.3768 14.0291 16.3123 14.0115 16.2416C13.9939 16.1708 13.9966 16.0965 14.0192 16.0271C14.0418 15.9578 14.0835 15.8962 14.1394 15.8494C14.1954 15.8026 14.2634 15.7725 14.3356 15.7625L16.7636 15.4105L17.8496 13.2175C17.8821 13.1521 17.9322 13.0972 17.9942 13.0588C18.0562 13.0204 18.1277 13 18.2006 13C18.2736 13 18.3451 13.0204 18.4071 13.0588C18.4691 13.0972 18.5191 13.1521 18.5516 13.2175L19.6376 15.4105L22.0656 15.7625C22.1377 15.7728 22.2054 15.8031 22.2611 15.85C22.3168 15.8968 22.3583 15.9583 22.3809 16.0275C22.4034 16.0967 22.4062 16.1708 22.3888 16.2415C22.3715 16.3122 22.3347 16.3766 22.2826 16.4275L20.5256 18.1345L20.9396 20.5445C20.9521 20.6163 20.9441 20.6902 20.9166 20.7578C20.8891 20.8254 20.8433 20.8839 20.7842 20.9267C20.7252 20.9695 20.6553 20.9949 20.5825 21C20.5098 21.005 20.4371 20.9896 20.3726 20.9555L18.2006 19.8175Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> </svg> <span>Give Feedback</span> </a> </li> </ul> <div id="version"></div> </footer> </section> <section class="nav-cmp-list"> <header> <button class="back-button"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div class="search-container"> <div class="search-input-wrapper"> <svg class="search-icon" viewBox="0 0 24 24" width="16" height="16"> <path fill="none" stroke="currentColor" stroke-width="2" d="M15.5 15.5L20 20M10 17C6.13401 17 3 13.866 3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10C17 13.866 13.866 17 10 17Z" /> </svg> <input type="text" id="component-search" class="component-search-input" placeholder="Search components..." autocomplete="off" spellcheck="false" /> <button id="clear-search" class="clear-search-button" type="button" aria-label="Clear search" > <svg viewBox="0 0 24 24" width="16" height="16"> <path fill="none" stroke="currentColor" stroke-width="2" d="M6 6l12 12M6 18L18 6" /> </svg> </button> </div> </div> <div> <h2>Custom Components</h2> <p> <button id="open-builder-registry"></button> </p> </div> </header> <div class="section-content"> <div id="cmp-list" class="cmp-list nav-list"></div> </div> <div class="nav-loading-icon spinner"></div> <footer> <p class="info"> Expand on Builder's selection of built-in blocks by <a target="_blank" href="https://www.builder.io/c/docs/custom-components-intro" >registering components</a > from your codebase. This way, teammates can drag and drop your components within Builder's Visual Editor just like any other block. </p> </footer> </section> <section class="nav-cmp-detail"> <header> <button class="back-button" data-back="nav-cmp-list"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div> <h2 id="cmp-detail-title"></h2> <p> <button id="cmp-open-source"></button> </p> </div> </header> <div class="section-content"> <div id="cmp-error"></div> <label class="ui-switch"> <div> <h3>Register Component</h3> <p> Registers this component so it can be used within Builder Visual CMS </p> </div> <input type="checkbox" role="switch" id="cmp-register" /> <span class="switcher"></span> </label> <div id="cmp-detail"> <label class="ui-text-input"> <h3>Component Name</h3> <div class="input"> <input type="text" id="cmp-name" autocapitalize="off" autocorrect="off" spellcheck="false" autocomplete="off" minlength="2" maxlength="30" required placeholder="e.g. My Counter" /> </div> <p> Unique name to identify this custom component within Builder. Press ESC to cancel </p> </label> <div class="cmp-detail-inputs-container"> <h3> <span>Builder Inputs (Props)</span> <button class="cmp-detail-inputs-reload" id="btn-inputs-reload"> Reload </button> </h3> <div id="cmp-detail-inputs"></div> </div> </div> </div> <div class="cmp-cover"></div> <div class="cmp-loading-icon spinner"></div> </section> <section class="nav-cmp-input"> <header> <button class="back-button" data-back="nav-cmp-detail"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div> <h2 id="cmp-input-title"></h2> <p> <button id="input-open-source"></button> </p> </div> </header> <div class="section-content"> <label class="ui-switch"> <div> <h3>Enable Input</h3> <p>Add this component prop as a Builder input</p> </div> <input type="checkbox" role="switch" id="input-register" /> <span class="switcher"></span> </label> <div class="cmp-prop-info"> <div class="cmp-input-readonly"> <h3>Prop Name</h3> <span id="cmp-prop-name"></span> </div> <div class="cmp-input-readonly"> <h3>Prop Type</h3> <span id="cmp-prop-type"></span> </div> </div> <div class="cmp-input-detail"> <label class="ui-text-input"> <h3>Builder Input Name</h3> <div class="input"> <input type="text" id="input-name" autocapitalize="off" autocorrect="off" spellcheck="false" autocomplete="off" minlength="1" maxlength="30" required placeholder="e.g. Text" /> </div> <p> Friendly name to identify this component prop as a Builder input. Press ESC to cancel </p> </label> <label class="ui-select"> <h3>Builder Input Type</h3> <div class="select"> <select id="input-type"></select> </div> <p> Correlate to what editing UI is appropriate for this Builder input. <a href="https://www.builder.io/c/docs/custom-components-input-types" target="_blank" >Read more about input types.</a > </p> </label> </div> <div class="input-cover"></div> <div class="input-loading-icon spinner"></div> </div> </section> <section class="nav-settings"> <header> <button class="back-button"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div> <h2>Settings</h2> <p>Configure Builder's Devtools</p> </div> </header> <div class="section-content"> <label class="ui-switch"> <div> <h3>Enable edit button in UI</h3> <p>Enables the edit button so you can edit content in Builder</p> </div> <input type="checkbox" role="switch" id="enable-edit" /> <span class="switcher"></span> </label> </div> </section> <div class="ui-toast" id="toast"></div> </aside> <button class="menu-toggle" aria-label="Toggle Builder Devtools"> <div> <div class="highlight-bg"></div> <svg viewBox="0 0 31 36" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M31 9.96854C31.0016 11.4553 30.6701 12.9236 30.03 14.2654C29.3898 15.6072 28.4572 16.7884 27.3007 17.7221L0.702841 2.61812C0.601104 2.56012 0.506714 2.49008 0.421705 2.40951C0.288323 2.27871 0.182333 2.12263 0.109928 1.95039C0.0375215 1.77814 0.000151253 1.59319 0 1.40633C0 1.03335 0.148098 0.675643 0.411715 0.411905C0.675332 0.148167 1.03287 0 1.40568 0L21.036 0C23.6786 0 26.213 1.05025 28.0816 2.91972C29.9502 4.78918 31 7.32472 31 9.96854Z" fill="#18B4F4" /> <path d="M31 25.4757C31.0004 26.7849 30.7429 28.0815 30.2423 29.2912C29.7417 30.5009 29.0078 31.6001 28.0825 32.526C27.1572 33.4519 26.0587 34.1864 24.8497 34.6875C23.6406 35.1886 22.3448 35.4465 21.0361 35.4465H1.40573C1.12766 35.4436 0.856725 35.3581 0.627199 35.201C0.397672 35.044 0.219871 34.8223 0.116289 34.5641C0.0127078 34.3059 -0.011999 34.0228 0.0452946 33.7505C0.102588 33.4783 0.239308 33.2292 0.438156 33.0347C0.517415 32.9551 0.606358 32.8858 0.702893 32.8284L11.1705 26.8843L27.2984 17.7244C28.4548 18.6579 29.3874 19.8387 30.028 21.18C30.6685 22.5213 31.0007 23.9891 31 25.4757Z" fill="#FD6B3C" /> <path d="M27.3011 17.7221L11.1709 26.8843L0.703209 32.8284C0.602697 32.8843 0.509784 32.9528 0.426758 33.0323C4.41799 28.9369 6.6496 23.442 6.64456 17.7221C6.65208 12.0015 4.42111 6.50517 0.429101 2.40948C0.51411 2.49005 0.6085 2.56009 0.710237 2.61809L27.3011 17.7221Z" fill="#A97FF2" /> </svg> </div> </button>\`,ai(e),ui(e),oi(e),ri(e),ti(e),ci(e),this.setAttribute("aria-hidden","true"),e.getElementById("version").textContent="v1.6.87"}highlightOpener(){let e=this.shadowRoot.querySelector(".menu-toggle");e.classList.add("menu-toggle-highlight"),e.classList.add("menu-toggle-highlight-no-transition"),setTimeout(()=>{e.classList.remove("menu-toggle-highlight-no-transition"),setTimeout(()=>{e.classList.remove("menu-toggle-highlight")},20)},20)}};var lo=\`<style>*,*:before,*:after{box-sizing:border-box}html,body,:host{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:2147483646;margin:0;padding:0;line-height:1.8;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";background-color:#252525;color:#fff;transition:opacity .25s ease-in-out}:host([aria-hidden="true"]){opacity:0;pointer-events:none}main{position:absolute;top:0;left:0;width:100%;height:100vh}h1{margin-top:0;font-size:24px;font-weight:300;line-height:1.4}p{margin:20px 0;font-weight:300}button{cursor:pointer}aside{position:absolute;top:0;left:0;width:350px;height:100vh;padding:60px 0 0 50px;background-color:#121212}aside ul{margin:30px 0 0;padding:0;list-style:none}aside li{position:relative;margin:0;padding:20px 10px;font-weight:300}aside li.highlight{color:#48a1ff}aside li.active{font-weight:700}aside li .circle{position:absolute;top:20px;left:10px;width:24px;height:24px;border:3px solid white;border-radius:50%;font-size:14px}aside li.highlight .circle{border-color:#48a1ff}aside li.active .circle:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background-color:#48a1ff}aside li.completed .circle{background-color:#48a1ff}aside li.completed .circle:after{content:"";position:absolute;top:2px;left:6px;width:6px;height:13px;border:3px solid black;border-top:none;border-left:none;transform:rotate(45deg)}aside li .line{position:absolute;top:44px;left:21px;width:3px;height:45px;background-color:#fff}aside li.completed .line{background-color:#48a1ff}aside li span{display:block;margin-left:44px}nav{margin-top:30px}section{position:absolute;top:135px;left:350px;padding:0 80px 0 140px;transition:opacity .15s ease-in-out}section[aria-hidden=true]{pointer-events:none;opacity:0}section h1,section p{min-width:300px;max-width:600px}.button{position:relative;display:inline-block;color:#fff;background-color:#48a1ff;border-radius:4px;text-decoration:none;padding:10px 40px 10px 20px;white-space:nowrap}.button:hover{background-color:#48a1ffd9}#button-icon{position:absolute;top:1px;right:5px;bottom:0;width:30px;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="none" stroke="white" stroke-linecap="square" stroke-miterlimit="10" stroke-width="48" d="M184 112l144 144-144 144"/></svg>');background-repeat:no-repeat;background-position:center;background-size:24px 24px}.button[aria-disabled=true]{opacity:.9;background-color:#ffffff4d;pointer-events:none;padding-right:60px}.button[aria-disabled=true] #button-icon{top:21px;right:29px;width:8px;height:8px;border-radius:4px;background:#fff;color:#fff;animation:dot-flashing .5s infinite linear alternate;animation-delay:.25s}.button[aria-disabled=true] #button-icon:before,.button[aria-disabled=true] #button-icon:after{content:"";display:inline-block;position:absolute;top:0}.button[aria-disabled=true] #button-icon:before{left:-12px;width:8px;height:8px;border-radius:4px;background-color:#fff;color:#fff;animation:dot-flashing .5s infinite alternate;animation-delay:0s}.button[aria-disabled=true] #button-icon:after{left:12px;width:8px;height:8px;border-radius:4px;background-color:#fff;color:#fff;animation:dot-flashing .5s infinite alternate;animation-delay:.5s}@keyframes dot-flashing{0%{background-color:#fff}50%,to{background-color:#ffffff4d}}.logo{margin-left:9px;background:url('data:image/svg+xml,<svg viewBox="0 0 150 32" fill="none" xmlns="http://www.w3.org/2000/svg" > <g clip-path="url(%23clip0_4_304)"> <path d="M27.9858 8.99927C27.9872 10.3415 27.688 11.667 27.1101 12.8783C26.5321 14.0896 25.6902 15.156 24.6462 15.9989V15.9989L0.634502 2.36355C0.542657 2.31119 0.457444 2.24796 0.380701 2.17523C0.260289 2.05715 0.164605 1.91624 0.0992389 1.76075C0.0338732 1.60525 0.000136546 1.43828 0 1.26959C0 0.932873 0.133698 0.609948 0.371683 0.371854C0.609667 0.13376 0.932443 0 1.269 0L18.9906 0C21.3763 0 23.6642 0.948135 25.3512 2.63583C27.0381 4.32352 27.9858 6.61252 27.9858 8.99927V8.99927Z" fill="%2318B4F4" /> <path d="M27.9858 22.9986C27.9861 24.1806 27.7536 25.351 27.3017 26.4431C26.8498 27.5352 26.1873 28.5275 25.352 29.3634C24.5167 30.1993 23.5249 30.8624 22.4335 31.3147C21.342 31.7671 20.1721 32 18.9907 32H1.26906C1.01802 31.9973 0.77343 31.9202 0.566221 31.7784C0.359012 31.6366 0.198499 31.4364 0.104989 31.2034C0.0114791 30.9703 -0.0108254 30.7147 0.0408974 30.4689C0.0926201 30.2231 0.216046 29.9982 0.395559 29.8226V29.8226C0.467112 29.7508 0.547407 29.6882 0.634555 29.6364L10.0844 24.2703L24.6441 16.001C25.688 16.8438 26.53 17.9097 27.1083 19.1206C27.6866 20.3315 27.9864 21.6566 27.9858 22.9986V22.9986Z" fill="%23FD6B3C" /> <path d="M24.6461 15.9989L10.0843 24.2703L0.634458 29.6365C0.54372 29.6868 0.459841 29.7487 0.384888 29.8205C3.98804 26.1233 6.00266 21.1627 5.99812 15.9989C6.0049 10.8346 3.99085 5.87268 0.387003 2.17523C0.463746 2.24796 0.548959 2.31119 0.640803 2.36355L24.6461 15.9989Z" fill="%23A97FF2" /> <path d="M47.6659 11.7352C51.8177 11.7352 54.1632 15.0531 54.1632 19.0714C54.1632 23.0896 51.8177 26.3821 47.6659 26.3821C45.5086 26.3821 43.8589 25.5188 42.9473 24.0545L42.5709 26.052H39.9736V6.77115H43.1884V13.8914C43.971 12.6959 45.5086 11.7352 47.6659 11.7352ZM47.0187 23.5488C49.4446 23.5488 50.9547 21.5809 50.9547 19.0714C50.9547 16.5089 49.4446 14.5664 47.0187 14.5664C44.5928 14.5664 43.0806 16.5047 43.0806 19.0714C43.0806 21.583 44.5653 23.5488 47.0187 23.5488V23.5488Z" fill="white" /> <path d="M65.4595 20.2859V12.0611H68.668V20.123C68.668 23.7202 67.0246 26.3821 62.4943 26.3821C57.9639 26.3821 56.3206 23.7117 56.3206 20.123V12.0611H59.529V20.2859C59.529 22.4696 60.5527 23.5488 62.49 23.5488C64.4274 23.5488 65.4595 22.4696 65.4595 20.2859Z" fill="white" /> <path d="M71.2355 7.74451C71.2247 7.46284 71.2724 7.18199 71.3755 6.91968C71.4787 6.65737 71.6351 6.41929 71.8348 6.22047C72.0345 6.02165 72.2732 5.8664 72.5359 5.76452C72.7986 5.66264 73.0796 5.61633 73.3611 5.62853C74.5793 5.62853 75.4571 6.50666 75.4571 7.75509C75.4571 9.00352 74.5793 9.8224 73.3611 9.8224C72.1428 9.8224 71.2355 8.9612 71.2355 7.74451Z" fill="white" /> <path d="M128.476 7.74451C128.465 7.46376 128.513 7.18383 128.615 6.92227C128.718 6.66071 128.873 6.42315 129.072 6.22449C129.27 6.02583 129.508 5.87035 129.769 5.7678C130.031 5.66524 130.31 5.61783 130.591 5.62852C131.809 5.62852 132.687 6.50666 132.687 7.75509C132.687 9.00352 131.809 9.8224 130.591 9.8224C129.373 9.8224 128.476 8.9612 128.476 7.74451Z" fill="white" /> <path d="M122.302 24.1031C122.291 23.8223 122.339 23.5422 122.441 23.2805C122.543 23.0188 122.699 22.7811 122.897 22.5824C123.096 22.3837 123.334 22.2282 123.595 22.1258C123.857 22.0233 124.137 21.9761 124.417 21.9872C125.636 21.9872 126.513 22.8653 126.513 24.1031C126.513 25.341 125.636 26.1726 124.417 26.1726C123.199 26.1726 122.302 25.3219 122.302 24.1031Z" fill="white" /> <path d="M74.9516 12.059H71.7432V26.0583H74.9516V12.059Z" fill="white" /> <path d="M78.16 26.0583V6.77115H81.3685V26.0626L78.16 26.0583Z" fill="white" /> <path d="M94.6063 6.77115H97.8148V26.0626H95.2239L94.8474 24.0651C93.9591 25.523 92.3094 26.3927 90.131 26.3927C86.0046 26.3927 83.6591 23.0748 83.6591 19.0819C83.6591 15.0891 86.0046 11.7458 90.131 11.7458C92.3137 11.7458 93.8238 12.7149 94.6063 13.902V6.77115ZM90.7993 14.5707C88.3734 14.5707 86.8633 16.5131 86.8633 19.0756C86.8633 21.5851 88.3734 23.553 90.7993 23.553C93.2252 23.553 94.7354 21.5851 94.7354 19.0756C94.7396 16.5047 93.257 14.5664 90.8036 14.5664L90.7993 14.5707Z" fill="white" /> <path d="M113.479 22.2284C112.482 24.7359 110.162 26.3821 107.117 26.3821C102.887 26.3821 100.137 23.225 100.137 19.0439C100.137 14.9706 102.942 11.7353 107.093 11.7353C111.245 11.7353 113.969 14.8902 113.969 18.991C113.982 19.3255 113.953 19.6604 113.883 19.9876H103.288C103.53 22.2009 104.959 23.6292 107.197 23.6292C108.735 23.6292 110.001 22.8738 110.594 21.473L113.479 22.2284ZM103.341 17.6156H110.784C110.513 15.6731 109.166 14.3506 107.089 14.3506C105.012 14.3506 103.665 15.7006 103.341 17.6156V17.6156Z" fill="white" /> <path d="M123.779 14.9452C123.538 14.9117 123.295 14.8933 123.051 14.8902C120.786 14.8902 119.439 16.0772 119.439 18.7751V26.0583H116.23V12.0611H118.821L119.195 14.0014C119.707 13.1127 120.887 11.9257 123.322 11.9257C123.455 11.9257 123.779 11.9532 123.779 11.9532V14.9452Z" fill="white" /> <path d="M132.192 12.059H128.984V26.0583H132.192V12.059Z" fill="white" /> <path d="M134.483 19.0714C134.483 15.1335 137.287 11.7353 141.735 11.7353C146.183 11.7353 149.015 15.1335 149.015 19.0714C149.015 23.0092 146.213 26.3821 141.735 26.3821C137.258 26.3821 134.483 23.0092 134.483 19.0714ZM141.735 23.5488C144.083 23.5488 145.806 21.7692 145.806 19.0714C145.806 16.3735 144.083 14.5664 141.735 14.5664C139.387 14.5664 137.687 16.346 137.687 19.0714C137.687 21.7968 139.417 23.5488 141.735 23.5488V23.5488Z" fill="white" /> </g> <defs> <clipPath id="clip0_4_304"> <rect width="149.015" height="32" fill="white" /> </clipPath> </defs> </svg>');background-repeat:no-repeat;width:150px;height:32px}@media (max-width: 840px){aside{width:250px;padding:60px 0 0 20px}section{left:250px;padding:0 80px}}@media (max-width: 590px){aside{width:230px;padding:60px 0 0 10px}section{left:230px;padding:0 40px}}#modified-files-message a{color:#cbcbcb;font-weight:300;text-decoration:underline}#modified-files-message a:hover{color:#fff;text-decoration:none}#restart-warning{border-radius:4px;padding:8px 16px;border:1px solid #fd6b3c;background:#fd6b3c1a}#react-router-steps{margin:0 0 5px;padding:0 20px}#need-help{color:#48a1ff;text-decoration:none}#router-message{border-radius:4px;padding:16px;border:1px solid #48a1ff}#router-finish-button{margin-top:12px}#router-checkbox-div{display:flex;align-items:center}#router-checkbox{margin-right:10px;width:15px;height:15px}#success-title{display:flex;align-items:center;gap:10px}#success-title .check-icon{display:inline-block;width:24px;height:24px;border:2px solid #28a745;border-radius:50%;position:relative}#success-title .check-icon:before{content:"";position:absolute;top:50%;left:50%;width:6px;height:12px;border:solid #28a745;border-width:0 2px 2px 0;transform:translate(-50%,-60%) rotate(45deg)}
1364
+ \`,t.appendChild(e),setTimeout(()=>{e.classList.add("menu-toggle-tooltip-show"),e.addEventListener("click",()=>{e.classList.remove("menu-toggle-tooltip-show")})},1e3)};function ui(t){t.getElementById("go-to-builder").addEventListener("click",s=>{s.preventDefault(),s.stopPropagation(),Ee(t,!1),window.open(Nr(),"builder")}),t.getElementById("components-link").addEventListener("click",s=>{s.preventDefault(),s.stopPropagation();let u=t.querySelector(".nav-cmp-list .section-content");u.scrollTop=0,oe(t,"nav-cmp-list"),si(t)}),t.getElementById("settings-link").addEventListener("click",s=>{s.preventDefault(),s.stopPropagation(),oe(t,"nav-settings")}),t.getElementById("add-page-link").addEventListener("click",s=>{s.preventDefault(),s.stopPropagation(),Ee(t,!1),window.open(je(),"builder")}),t.getElementById("import-from-figma").addEventListener("click",s=>{s.preventDefault(),s.stopPropagation(),Ee(t,!1),window.open("https://www.figma.com/community/plugin/747985167520967365/builder-io-ai-powered-figma-to-code-react-vue-tailwind-more")})}function ci(t){let e=t.getElementById("enable-edit");e.addEventListener("change",r=>{r.stopPropagation(),Ft(e.checked)}),e.checked=it(),Ft(e.checked)}var At=class extends HTMLElement{constructor(){super()}connectedCallback(){let e=this.attachShadow({mode:"open"});e.innerHTML=\`<style>*,*:before,*:after{box-sizing:border-box}:host{--background-color: rgba(40, 40, 40, 1);--primary-color: rgba(72, 161, 255, 1);--primary-color-subdued: rgb(72, 161, 255, .6);--primary-color-highlight: rgb(126, 188, 255);--primary-contrast-color: white;--edit-color: #1d74e2;--edit-color-highlight: #1c6bd1;--edit-color-alpha: rgb(72, 161, 255, .15);--error-color: #ff2b55;--text-color: white;--text-color-highlight: white;--border-color: #454545;--button-background-color-hover: rgba(255, 255, 255, .1);--menu-width: 320px;--transition-time: .15s;--font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";font-family:var(--font-family);line-height:1.6}button{cursor:pointer;color:var(--text-color);-webkit-tap-highlight-color:transparent}input,select,button{font-family:var(--font-family)}.menu-toggle{position:absolute;right:0;bottom:0;pointer-events:auto;padding:8px;background:transparent;border:none;appearance:none}.menu-toggle div{position:relative;width:64px;height:64px;pointer-events:none;border-radius:50%;background:#000;border:1px solid white;box-shadow:#00000054 0 0 8px}.menu-toggle:hover div{background-color:var(--background-color);border:1px solid rgb(220,220,220)}.menu-toggle svg{position:absolute;top:15px;left:15px;width:33px;height:32px}div.highlight-bg{position:absolute;top:-1px;left:-1px;background-color:#1a1a1a;pointer-events:none;transition:all .4s ease-out;opacity:0}.menu-toggle-highlight-no-transition div.highlight-bg{transition:none}.menu-toggle-highlight div.highlight-bg{opacity:1}.menu-toggle-tooltip{position:absolute;bottom:0;right:0;width:382px;height:72px;padding:0;text-align:left;appearance:none;background-color:transparent;border:none;pointer-events:none;transform:translate3d(320px,0,0);opacity:0;transition:all .15s ease-in-out;color:#fff}.menu-toggle-tooltip.menu-toggle-tooltip-show{pointer-events:auto;opacity:1;transform:translateZ(0)}.menu-toggle-tooltip-content{position:absolute;inset:0 95px 10px 0;padding:8px 12px;background-color:var(--primary-color);box-shadow:#00000054 0 0 20px;border-radius:2px}.menu-toggle-tooltip-content:before{content:"";position:absolute;bottom:15px;right:-6px;width:30px;height:30px;background-color:var(--primary-color);transform:rotate(45deg)}.menu-toggle-tooltip:hover .menu-toggle-tooltip-content,.menu-toggle-tooltip:hover .menu-toggle-tooltip-content:before{background-color:var(--primary-color-highlight)}.menu-toggle-tooltip-content h3{margin:0;font-size:16px}.menu-toggle-tooltip-content p{margin:0;font-size:12px}section{position:absolute;display:grid;grid-template-rows:64px auto 64px;top:0;left:0;width:100%;height:100%;padding:0;pointer-events:none}.section-content{margin:0;padding:0 0 10px;font-weight:300;transform:translate3d(105%,0,0);transition:transform var(--transition-time) ease-in-out;overflow-y:auto}.section-content .error{color:var(--error-color);font-weight:700}section a{text-decoration:none;color:var(--text-color)}section h3,section p{margin-left:16px;margin-right:16px}.info{font-size:12px}ul.list{list-style:none;padding:0;margin:0}ul.list li{display:block;padding:0;margin:0}ul.list a,ul.list button{display:grid;grid-template-columns:24px auto;grid-gap:16px;padding:12px;margin:8px 0;border:none;background:transparent;appearance:none;width:100%;font-weight:300;text-align:left;text-decoration:none;color:var(--text-color)}ul.list a:hover,ul.list button:hover{text-decoration:none;color:var(--text-color);background-color:var(--button-background-color-hover)}ul.list a span,ul.list button span{display:block;font-size:16px;font-weight:500;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}header{position:relative;display:grid;grid-template-columns:44px 1fr;gap:8px;padding-left:8px;border-bottom:1px solid var(--border-color);transition:opacity var(--transition-time) ease-in-out;opacity:0;pointer-events:none}header>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-home header>div{margin-right:56px}header h2{margin:7px 0 0;font-size:18px;font-weight:500;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header p{margin:2px 0 0;font-size:12px;font-weight:300;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header p button{display:block;margin:0;padding:0;width:100%;font-size:12px;font-weight:300;text-decoration:none;appearance:none;text-align:left;background-color:transparent;border:none;color:var(--primary-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header p button:hover{text-decoration:underline;color:var(--primary-color)}.builder-logo{margin:12px 0 0 8px}#close{display:block;position:absolute;appearance:none;background:transparent;border:none;border-radius:50%;margin:0;padding:0;right:4px;top:8px;width:48px;height:48px;z-index:1;opacity:.7}#close:hover{opacity:1;background-color:var(--button-background-color-hover)}#close svg{position:absolute;top:12px;left:12px;width:24px;height:24px;fill:currentColor;pointer-events:none}.back-button{position:relative;display:block;margin:7px 0 0 -2px;width:48px;height:48px;background:transparent;border:none;appearance:none;border-radius:50%}.back-button:hover{background-color:var(--button-background-color-hover)}.back-button svg{position:absolute;top:12px;left:12px;width:24px;height:24px;fill:currentColor;pointer-events:none}footer{border-top:1px solid var(--border-color);transition:opacity var(--transition-time) ease-in-out;opacity:0;pointer-events:none}section.nav-cmp-list{grid-template-rows:64px auto 120px}footer a{text-decoration:underline;color:var(--primary-color)}footer a:hover{color:var(--primary-color);text-decoration:none}.nav-list{padding:2px 0}.nav-loading{pointer-events:none}.nav-loading-icon{position:absolute;display:inline-block;top:170px;left:0;width:100%;transform:translateZ(0);pointer-events:auto;opacity:0;transition:all 50ms ease-in-out;transition-delay:50ms;pointer-events:none}.nav-loading .nav-loading-icon{opacity:.5}.nav-list h4{margin:8px 8px 8px 10px;font-size:14px;font-weight:600}.nav-list .nav-list-item+h4{margin-top:30px}.nav-list-item{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:relative;margin:2px 0;padding:8px 28px 8px 46px;width:100%;font-size:14px;font-weight:300;text-align:left;border:none;background:transparent;appearance:none}.nav-list-item:hover{background-color:var(--button-background-color-hover)}.nav-list-item-icon{position:absolute;top:4px;left:10px;width:24px;height:24px;object-fit:contain;filter:invert(100%);background-size:24px 24px;background-repeat:no-repeat;background-position:center center}.nav-list-item span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.nav-list-item:after{display:block;position:absolute;content:"";background-image:url('data:image/svg+xml,<svg width="8" height="14" viewBox="0 0 8 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L7 7L1 13" stroke="%23F2F2F2" stroke-opacity="0.5" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/></svg>');background-repeat:no-repeat;background-position:12px 9px;top:0;right:0;width:32px;height:32px;pointer-events:none}.nav-list-item-note{opacity:0;font-size:12px;padding-top:1px;text-align:right}.nav-list-item:hover .nav-list-item-note{opacity:.5}.ui-select{display:block;margin:8px 0 16px;padding:8px 16px;cursor:pointer}.ui-select h3{margin:0;font-size:14px;font-weight:500}.ui-select p{margin:8px 0;font-size:12px;font-weight:300}.ui-select .select{position:relative;margin:8px 0;border-radius:4px;padding:0;line-height:1.1;overflow:hidden;border:1px solid var(--border-color)}.ui-select select{appearance:none;background-color:transparent;border:none;outline:none;padding:8px 32px 8px 8px;margin:0;width:100%;font-size:14px;cursor:pointer;text-overflow:ellipsis;opacity:.6;color:var(--text-color)}.ui-select .select:after{content:"";top:6px;right:5px;width:24px;height:24px;position:absolute;background-image:url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="%23F2F2F2" d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"/></svg>');background-repeat:no-repeat;background-position:center;pointer-events:none;opacity:.6}.ui-select .select:hover{border-color:var(--primary-color-subdued)}.ui-text-input .select:focus-within{border-color:var(--primary-color)}.ui-text-input .select:focus-within select{opacity:1}.spinner:after{content:" ";display:block;width:32px;height:32px;margin:0 auto;pointer-events:auto;border-radius:50%;border:3px solid var(--text-color);border-color:var(--text-color) transparent var(--text-color) transparent;animation:spinner .75s linear infinite}@keyframes spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ui-switch{display:grid;grid-template-columns:auto 48px;grid-gap:20px;margin:8px 0 16px;padding:8px 0 8px 16px;cursor:pointer}.ui-switch>*{pointer-events:none}.ui-switch input{display:none;visibility:hidden}.ui-switch .switcher{display:inline-block;border-radius:100px;width:35px;height:14px;background-color:#ccc;position:relative;top:6px;vertical-align:middle;cursor:pointer}.ui-switch input[type=checkbox]:checked+.switcher{background-color:var(--primary-color-subdued)}.ui-switch .switcher:before{content:"";display:block;width:20px;height:20px;background-color:var(--text-color);box-shadow:0 1px 3px #0009;border-radius:50%;position:absolute;top:-3px;left:0;margin-right:0;transition:all .15s}.ui-switch input[type=checkbox]:checked+.switcher:before{left:100%;margin-left:-20px;background-color:var(--primary-color)}.ui-switch h3{margin:0;font-size:14px;font-weight:500}.ui-switch p{margin:4px 0 0;font-size:12px;font-weight:300}.ui-text-input{display:block;margin:8px 0 16px;padding:8px 16px;cursor:pointer}.ui-text-input h3{margin:0;font-size:14px;font-weight:500}.ui-text-input p{margin:8px 0;font-size:12px;font-weight:300}.ui-text-input .input{position:relative;margin:8px 0;border:1px solid var(--border-color);border-radius:4px;background:transparent;padding:2px;overflow:hidden}.ui-text-input input{display:block;width:235px;font-size:14px;border:none;background:transparent;padding:6px;appearance:none;color:var(--text-color);opacity:.6;outline:none}.ui-text-input .input:hover{border-color:var(--primary-color-subdued)}.ui-text-input .input:focus-within{border-color:var(--primary-color)}.ui-text-input .input:focus-within input{opacity:1}.ui-text-input .input:after{content:"";position:absolute;top:5px;right:14px;width:8px;height:17px;border:2px solid rgba(51,181,51,1);border-top:none;border-left:none;transform:rotate(45deg);opacity:0;transition:opacity 80ms ease-in-out;pointer-events:none}.ui-text-input.saved .input:after{opacity:1}.ui-toast{position:fixed;bottom:8px;left:8px;right:8px;padding:6px 12px;font-size:14px;border-radius:4px;transform:translate3d(0,150%,0);opacity:0;transition:all var(--transition-time) ease-in-out;background-color:var(--primary-color-subdued);color:var(--text-color);pointer-events:none}.ui-toast.ui-toast-show{transform:translateZ(0);opacity:1;pointer-events:auto}[data-view=nav-home] .nav-home .section-content,[data-view=nav-cmp-list] .nav-cmp-list .section-content,[data-view=nav-cmp-detail] .nav-cmp-detail .section-content,[data-view=nav-cmp-input] .nav-cmp-input .section-content,[data-view=nav-settings] .nav-settings .section-content{transform:translateZ(0);pointer-events:auto}[data-view=nav-home] .nav-home header,[data-view=nav-home] .nav-home footer,[data-view=nav-cmp-list] .nav-cmp-list header,[data-view=nav-cmp-list] .nav-cmp-list footer,[data-view=nav-cmp-detail] .nav-cmp-detail header,[data-view=nav-cmp-detail] .nav-cmp-detail footer,[data-view=nav-cmp-input] .nav-cmp-input header,[data-view=nav-cmp-input] .nav-cmp-input footer,[data-view=nav-settings] .nav-settings header,[data-view=nav-settings] .nav-settings footer{opacity:1;pointer-events:auto}[data-view=nav-cmp-list] .nav-home .section-content,[data-view=nav-cmp-detail] .nav-home .section-content,[data-view=nav-cmp-detail] .nav-cmp-list .section-content,[data-view=nav-cmp-input] .nav-home .section-content,[data-view=nav-cmp-input] .nav-cmp-list .section-content,[data-view=nav-cmp-input] .nav-cmp-detail .section-content,[data-view=nav-settings] .nav-home .section-content{transform:translate3d(-105%,0,0)}.cmp-item .nav-list-item-icon{background-image:url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20.83 16.809C20.94 16.561 21 16.289 21 16.008V7.99001C20.9994 7.64108 20.9066 7.29851 20.731 6.99699C20.5554 6.69547 20.3032 6.44571 20 6.27301L13 2.26501C12.6954 2.09103 12.3508 1.99951 12 1.99951C11.6492 1.99951 11.3046 2.09103 11 2.26501L7.988 3.99001M5.441 5.44801L4 6.27301C3.381 6.62801 3 7.28301 3 7.99101V16.009C3 16.718 3.381 17.372 4 17.726L11 21.734C11.3046 21.908 11.6492 21.9995 12 21.9995C12.3508 21.9995 12.6954 21.908 13 21.734L18.544 18.56" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 22V12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M14.532 10.538L20.73 6.95996" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M3.27002 6.95996L12 12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M3 3L21 21" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/></svg>');opacity:.3}.cmp-item.registered .nav-list-item-icon{background-image:url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21 16.008V7.99001C20.9994 7.64108 20.9066 7.29851 20.731 6.99699C20.5554 6.69547 20.3032 6.44571 20 6.27301L13 2.26501C12.6954 2.09103 12.3508 1.99951 12 1.99951C11.6492 1.99951 11.3046 2.09103 11 2.26501L4 6.27301C3.381 6.62801 3 7.28301 3 7.99101V16.009C3 16.718 3.381 17.372 4 17.726L11 21.734C11.3046 21.908 11.6492 21.9995 12 21.9995C12.3508 21.9995 12.6954 21.908 13 21.734L20 17.726C20.619 17.371 21 16.716 21 16.008Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 22V12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 12L20.73 6.95996" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M3.26999 6.95996L12 12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /></svg>');opacity:.8}.search-highlight{background-color:var(--primary-color-alpha);padding:0 2px;border-radius:2px;font-weight:500}.search-container{position:sticky;top:0;z-index:10;padding:12px 16px;background:var(--background-color);border-bottom:1px solid var(--border-color)}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:var(--text-color-secondary);pointer-events:none}.component-search-input{width:100%;height:36px;padding:8px 36px;border:1px solid var(--border-color);border-radius:6px;background:var(--input-background);color:var(--text-color);font-size:14px;transition:border-color .2s,box-shadow .2s}.component-search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-alpha)}.component-search-input::placeholder{color:var(--text-color-tertiary)}.clear-search-button{position:absolute;right:8px;padding:4px;color:var(--text-color-secondary);border:none;background:transparent;border-radius:4px;cursor:pointer;opacity:0;transition:opacity .2s,background-color .2s;display:flex;align-items:center;justify-content:center}.clear-search-button:hover{background-color:var(--hover-color)}.component-search-input:not(:placeholder-shown)+.clear-search-button{opacity:1}.no-results{padding:32px 16px;text-align:center;color:var(--text-color-secondary);font-size:14px}#cmp-detail{position:relative}.cmp-loading{pointer-events:none!important}.cmp-loading-icon{position:absolute;display:inline-block;top:170px;left:0;width:100%;transform:translateZ(0);pointer-events:auto;opacity:0;transition:all 50ms ease-in-out;transition-delay:50ms;pointer-events:none}.cmp-loading .cmp-loading-icon{opacity:.5}.cmp-cover{position:absolute;top:160px;left:0;width:100%;height:100vh;background:var(--background-color);transform:translateZ(0);pointer-events:none;display:none}[data-view=nav-cmp-detail] .cmp-cover{display:block;pointer-events:auto}.cmp-enabled .cmp-cover{transform:translate3d(0,105%,0);pointer-events:none}.section-ready .cmp-cover{transition:all var(--transition-time) ease-in-out}.cmp-detail-inputs-container{margin:8px 0 16px;padding:0}.cmp-detail-inputs-container h3{margin:0 0 6px;padding-left:16px;padding-right:8px;font-size:14px;font-weight:500;display:flex;justify-content:space-between;align-items:center}.cmp-detail-inputs-reload{font-weight:300;font-size:.9em;text-decoration:none;appearance:none;text-align:left;background-color:transparent;border:none;color:var(--primary-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmp-detail-inputs-reload:hover{text-decoration:underline;color:var(--primary-color)}.cmp-detail-inputs-container .cmp-inputs-empty{padding:0;margin-top:12px;font-size:12px;font-weight:300;opacity:.5;font-style:italic}.cmp-detail-inputs-container .nav-list-item-icon{opacity:.8;background-size:20px 20px;background-position:4px center}.input-icon{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path></svg>')}.input-icon-array{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 16v-6a2 2 0 1 1 4 0v6"></path> <path d="M10 13h4"></path></svg>')}.input-icon-boolean{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 16h2a2 2 0 1 0 0 -4h-2h2a2 2 0 1 0 0 -4h-2v8z"></path></svg>')}.input-icon-number{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 16v-8l4 8v-8"></path></svg>')}.input-icon-object{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M12 8a2 2 0 0 1 2 2v4a2 2 0 1 1 -4 0v-4a2 2 0 0 1 2 -2z"></path></svg>')}.input-icon-string{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 15a1 1 0 0 0 1 1h2a1 1 0 0 0 1 -1v-2a1 1 0 0 0 -1 -1h-2a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1"></path></svg>')}.cmp-input-item-unregistered{opacity:.4}.cmp-input-item-unregistered .input-icon:after{content:"";position:absolute;top:11px;left:4px;width:20px;height:2px;background-color:#000;transform:rotate(-45deg)}.cmp-prop-info{border-bottom:1px solid var(--border-color)}.cmp-input-readonly{margin:16px 0;padding:0 16px;display:grid;grid-template-columns:50% 50%;gap:12px}.cmp-input-readonly h3{margin:0;font-size:14px;font-weight:500}.cmp-input-readonly span{margin-top:2px;font-size:12px;font-weight:300;opacity:.8}.cmp-input-detail{margin:16px 0}.cmp-input-detail a{color:var(--primary-color);text-decoration:none}.cmp-input-detail a:hover{text-decoration:underline}.input-cover{position:absolute;top:175px;left:0;width:100%;height:100%;background:var(--background-color);transform:translateZ(0);transition:all var(--transition-time) ease-in-out;pointer-events:auto}.input-enabled .input-cover{transform:translate3d(0,105%,0);pointer-events:none}.input-loading-icon{position:absolute;display:inline-block;top:190px;left:0;width:100%;transform:translateZ(0);pointer-events:auto;opacity:0;transition:all 50ms ease-in-out;transition-delay:50ms;pointer-events:none}.input-loading .input-loading-icon{opacity:.5}:host{position:fixed;inset:0;z-index:2147483646;user-select:none;pointer-events:none;color:var(--text-color)}aside{position:absolute;top:0;right:0;width:var(--menu-width);height:100%;transform:translate3d(105%,0,0);transition:transform var(--transition-time) ease-in-out;background:var(--background-color);box-shadow:#000000c9 5px 0 20px;overflow:hidden;z-index:1}:host(.show-builder-menu) aside{pointer-events:auto;transform:translateZ(0)}#hit{position:absolute;inset:0;display:none}:host(.show-builder-menu) #hit{display:block;pointer-events:auto}#version{position:absolute;bottom:6px;right:6px;font-size:8px;color:#9b9b9b}</style><div id="hit"></div> <aside data-view="nav-home"> <section class="nav-home"> <header> <svg class="builder-logo" viewBox="0 0 31 36" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M31 9.96854C31.0016 11.4553 30.6701 12.9236 30.03 14.2654C29.3898 15.6072 28.4572 16.7884 27.3007 17.7221L0.702841 2.61812C0.601104 2.56012 0.506714 2.49008 0.421705 2.40951C0.288323 2.27871 0.182333 2.12263 0.109928 1.95039C0.0375215 1.77814 0.000151253 1.59319 0 1.40633C0 1.03335 0.148098 0.675643 0.411715 0.411905C0.675332 0.148167 1.03287 0 1.40568 0L21.036 0C23.6786 0 26.213 1.05025 28.0816 2.91972C29.9502 4.78918 31 7.32472 31 9.96854Z" fill="#18B4F4" /> <path d="M31 25.4757C31.0004 26.7849 30.7429 28.0815 30.2423 29.2912C29.7417 30.5009 29.0078 31.6001 28.0825 32.526C27.1572 33.4519 26.0587 34.1864 24.8497 34.6875C23.6406 35.1886 22.3448 35.4465 21.0361 35.4465H1.40573C1.12766 35.4436 0.856725 35.3581 0.627199 35.201C0.397672 35.044 0.219871 34.8223 0.116289 34.5641C0.0127078 34.3059 -0.011999 34.0228 0.0452946 33.7505C0.102588 33.4783 0.239308 33.2292 0.438156 33.0347C0.517415 32.9551 0.606358 32.8858 0.702893 32.8284L11.1705 26.8843L27.2984 17.7244C28.4548 18.6579 29.3874 19.8387 30.028 21.18C30.6685 22.5213 31.0007 23.9891 31 25.4757Z" fill="#FD6B3C" /> <path d="M27.3011 17.7221L11.1709 26.8843L0.703209 32.8284C0.602697 32.8843 0.509784 32.9528 0.426758 33.0323C4.41799 28.9369 6.6496 23.442 6.64456 17.7221C6.65208 12.0015 4.42111 6.50517 0.429101 2.40948C0.51411 2.49005 0.6085 2.56009 0.710237 2.61809L27.3011 17.7221Z" fill="#A97FF2" /> </svg> <div> <h2 class="builder-home-title">Builder Devtools</h2> <p><button id="go-to-builder">Go to Builder</button></p> </div> <button id="close" aria-label="Close Menu"> <svg viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" > <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M18 6l-12 12" /> <path d="M6 6l12 12" /> </svg> </button> </header> <div class="section-content"> <ul class="list"> <li> <button id="components-link"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M21 16.008V7.99001C20.9994 7.64108 20.9066 7.29851 20.731 6.99699C20.5554 6.69547 20.3032 6.44571 20 6.27301L13 2.26501C12.6954 2.09103 12.3508 1.99951 12 1.99951C11.6492 1.99951 11.3046 2.09103 11 2.26501L4 6.27301C3.381 6.62801 3 7.28301 3 7.99101V16.009C3 16.718 3.381 17.372 4 17.726L11 21.734C11.3046 21.908 11.6492 21.9995 12 21.9995C12.3508 21.9995 12.6954 21.908 13 21.734L20 17.726C20.619 17.371 21 16.716 21 16.008Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 22V12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 12L20.73 6.95996" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M3.26999 6.95996L12 12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> </svg> <span>Components</span> </button> </li> <li> <button id="settings-link"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M10.325 4.317C10.751 2.561 13.249 2.561 13.675 4.317C13.7389 4.5808 13.8642 4.82578 14.0407 5.032C14.2172 5.23822 14.4399 5.39985 14.6907 5.50375C14.9414 5.60764 15.2132 5.65085 15.4838 5.62987C15.7544 5.60889 16.0162 5.5243 16.248 5.383C17.791 4.443 19.558 6.209 18.618 7.753C18.4769 7.98466 18.3924 8.24634 18.3715 8.51677C18.3506 8.78721 18.3938 9.05877 18.4975 9.30938C18.6013 9.55999 18.7627 9.78258 18.9687 9.95905C19.1747 10.1355 19.4194 10.2609 19.683 10.325C21.439 10.751 21.439 13.249 19.683 13.675C19.4192 13.7389 19.1742 13.8642 18.968 14.0407C18.7618 14.2172 18.6001 14.4399 18.4963 14.6907C18.3924 14.9414 18.3491 15.2132 18.3701 15.4838C18.3911 15.7544 18.4757 16.0162 18.617 16.248C19.557 17.791 17.791 19.558 16.247 18.618C16.0153 18.4769 15.7537 18.3924 15.4832 18.3715C15.2128 18.3506 14.9412 18.3938 14.6906 18.4975C14.44 18.6013 14.2174 18.7627 14.0409 18.9687C13.8645 19.1747 13.7391 19.4194 13.675 19.683C13.249 21.439 10.751 21.439 10.325 19.683C10.2611 19.4192 10.1358 19.1742 9.95929 18.968C9.7828 18.7618 9.56011 18.6001 9.30935 18.4963C9.05859 18.3924 8.78683 18.3491 8.51621 18.3701C8.24559 18.3911 7.98375 18.4757 7.752 18.617C6.209 19.557 4.442 17.791 5.382 16.247C5.5231 16.0153 5.60755 15.7537 5.62848 15.4832C5.64942 15.2128 5.60624 14.9412 5.50247 14.6906C5.3987 14.44 5.23726 14.2174 5.03127 14.0409C4.82529 13.8645 4.58056 13.7391 4.317 13.675C2.561 13.249 2.561 10.751 4.317 10.325C4.5808 10.2611 4.82578 10.1358 5.032 9.95929C5.23822 9.7828 5.39985 9.56011 5.50375 9.30935C5.60764 9.05859 5.65085 8.78683 5.62987 8.51621C5.60889 8.24559 5.5243 7.98375 5.383 7.752C4.443 6.209 6.209 4.442 7.753 5.382C8.753 5.99 10.049 5.452 10.325 4.317Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M9 12C9 12.7956 9.31607 13.5587 9.87868 14.1213C10.4413 14.6839 11.2044 15 12 15C12.7956 15 13.5587 14.6839 14.1213 14.1213C14.6839 13.5587 15 12.7956 15 12C15 11.2044 14.6839 10.4413 14.1213 9.87868C13.5587 9.31607 12.7956 9 12 9C11.2044 9 10.4413 9.31607 9.87868 9.87868C9.31607 10.4413 9 11.2044 9 12Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> </svg> <span>Settings</span> </button> </li> <li> <button id="add-page-link"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" > <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M14 3v4a1 1 0 0 0 1 1h4" /> <path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z" /> <path d="M12 11l0 6" /> <path d="M9 14l6 0" /> </svg> <span>Add Builder Page</span> </button> </li> <li> <button id="import-from-figma"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-figma" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" > <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M15 12m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" /> <path d="M6 3m0 3a3 3 0 0 1 3 -3h6a3 3 0 0 1 3 3v0a3 3 0 0 1 -3 3h-6a3 3 0 0 1 -3 -3z" /> <path d="M9 9a3 3 0 0 0 0 6h3m-3 0a3 3 0 1 0 3 3v-15" /> </svg> <span>Import From Figma</span> </button> </li> </ul> </div> <footer> <ul class="list"> <li> <a href="https://docs.google.com/forms/d/e/1FAIpQLSdqZcJpRtm_Ia5DTHP6SDY9Xa6LID3KiTjRWkjMzWyJRUtSHw/viewform" target="_blank" > <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M11.013 17.0114L10.013 18.0114L2.513 10.5834C2.0183 10.102 1.62864 9.52342 1.36854 8.88404C1.10845 8.24466 0.983558 7.55836 1.00173 6.86834C1.01991 6.17832 1.18076 5.49954 1.47415 4.87474C1.76755 4.24994 2.18713 3.69266 2.70648 3.23799C3.22583 2.78331 3.8337 2.4411 4.49181 2.23289C5.14991 2.02468 5.844 1.95499 6.53036 2.02821C7.21673 2.10143 7.8805 2.31596 8.47987 2.65831C9.07925 3.00066 9.60124 3.46341 10.013 4.01741C10.8086 2.95654 11.9931 2.2552 13.3059 2.06766C14.6186 1.88012 15.9521 2.22176 17.013 3.01741C18.0739 3.81306 18.7752 4.99755 18.9627 6.3103C19.1503 7.62305 18.8086 8.95654 18.013 10.0174" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> <path d="M18.2006 19.8175L16.0286 20.9555C15.9642 20.989 15.8917 21.004 15.8192 20.9987C15.7467 20.9934 15.6771 20.9681 15.6182 20.9256C15.5593 20.8831 15.5134 20.825 15.4855 20.7579C15.4577 20.6907 15.4491 20.6172 15.4606 20.5455L15.8756 18.1345L14.1186 16.4275C14.0662 16.3768 14.0291 16.3123 14.0115 16.2416C13.9939 16.1708 13.9966 16.0965 14.0192 16.0271C14.0418 15.9578 14.0835 15.8962 14.1394 15.8494C14.1954 15.8026 14.2634 15.7725 14.3356 15.7625L16.7636 15.4105L17.8496 13.2175C17.8821 13.1521 17.9322 13.0972 17.9942 13.0588C18.0562 13.0204 18.1277 13 18.2006 13C18.2736 13 18.3451 13.0204 18.4071 13.0588C18.4691 13.0972 18.5191 13.1521 18.5516 13.2175L19.6376 15.4105L22.0656 15.7625C22.1377 15.7728 22.2054 15.8031 22.2611 15.85C22.3168 15.8968 22.3583 15.9583 22.3809 16.0275C22.4034 16.0967 22.4062 16.1708 22.3888 16.2415C22.3715 16.3122 22.3347 16.3766 22.2826 16.4275L20.5256 18.1345L20.9396 20.5445C20.9521 20.6163 20.9441 20.6902 20.9166 20.7578C20.8891 20.8254 20.8433 20.8839 20.7842 20.9267C20.7252 20.9695 20.6553 20.9949 20.5825 21C20.5098 21.005 20.4371 20.9896 20.3726 20.9555L18.2006 19.8175Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> </svg> <span>Give Feedback</span> </a> </li> </ul> <div id="version"></div> </footer> </section> <section class="nav-cmp-list"> <header> <button class="back-button"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div class="search-container"> <div class="search-input-wrapper"> <svg class="search-icon" viewBox="0 0 24 24" width="16" height="16"> <path fill="none" stroke="currentColor" stroke-width="2" d="M15.5 15.5L20 20M10 17C6.13401 17 3 13.866 3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10C17 13.866 13.866 17 10 17Z" /> </svg> <input type="text" id="component-search" class="component-search-input" placeholder="Search components..." autocomplete="off" spellcheck="false" /> <button id="clear-search" class="clear-search-button" type="button" aria-label="Clear search" > <svg viewBox="0 0 24 24" width="16" height="16"> <path fill="none" stroke="currentColor" stroke-width="2" d="M6 6l12 12M6 18L18 6" /> </svg> </button> </div> </div> <div> <h2>Custom Components</h2> <p> <button id="open-builder-registry"></button> </p> </div> </header> <div class="section-content"> <div id="cmp-list" class="cmp-list nav-list"></div> </div> <div class="nav-loading-icon spinner"></div> <footer> <p class="info"> Expand on Builder's selection of built-in blocks by <a target="_blank" href="https://www.builder.io/c/docs/custom-components-intro" >registering components</a > from your codebase. This way, teammates can drag and drop your components within Builder's Visual Editor just like any other block. </p> </footer> </section> <section class="nav-cmp-detail"> <header> <button class="back-button" data-back="nav-cmp-list"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div> <h2 id="cmp-detail-title"></h2> <p> <button id="cmp-open-source"></button> </p> </div> </header> <div class="section-content"> <div id="cmp-error"></div> <label class="ui-switch"> <div> <h3>Register Component</h3> <p> Registers this component so it can be used within Builder Visual CMS </p> </div> <input type="checkbox" role="switch" id="cmp-register" /> <span class="switcher"></span> </label> <div id="cmp-detail"> <label class="ui-text-input"> <h3>Component Name</h3> <div class="input"> <input type="text" id="cmp-name" autocapitalize="off" autocorrect="off" spellcheck="false" autocomplete="off" minlength="2" maxlength="30" required placeholder="e.g. My Counter" /> </div> <p> Unique name to identify this custom component within Builder. Press ESC to cancel </p> </label> <div class="cmp-detail-inputs-container"> <h3> <span>Builder Inputs (Props)</span> <button class="cmp-detail-inputs-reload" id="btn-inputs-reload"> Reload </button> </h3> <div id="cmp-detail-inputs"></div> </div> </div> </div> <div class="cmp-cover"></div> <div class="cmp-loading-icon spinner"></div> </section> <section class="nav-cmp-input"> <header> <button class="back-button" data-back="nav-cmp-detail"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div> <h2 id="cmp-input-title"></h2> <p> <button id="input-open-source"></button> </p> </div> </header> <div class="section-content"> <label class="ui-switch"> <div> <h3>Enable Input</h3> <p>Add this component prop as a Builder input</p> </div> <input type="checkbox" role="switch" id="input-register" /> <span class="switcher"></span> </label> <div class="cmp-prop-info"> <div class="cmp-input-readonly"> <h3>Prop Name</h3> <span id="cmp-prop-name"></span> </div> <div class="cmp-input-readonly"> <h3>Prop Type</h3> <span id="cmp-prop-type"></span> </div> </div> <div class="cmp-input-detail"> <label class="ui-text-input"> <h3>Builder Input Name</h3> <div class="input"> <input type="text" id="input-name" autocapitalize="off" autocorrect="off" spellcheck="false" autocomplete="off" minlength="1" maxlength="30" required placeholder="e.g. Text" /> </div> <p> Friendly name to identify this component prop as a Builder input. Press ESC to cancel </p> </label> <label class="ui-select"> <h3>Builder Input Type</h3> <div class="select"> <select id="input-type"></select> </div> <p> Correlate to what editing UI is appropriate for this Builder input. <a href="https://www.builder.io/c/docs/custom-components-input-types" target="_blank" >Read more about input types.</a > </p> </label> </div> <div class="input-cover"></div> <div class="input-loading-icon spinner"></div> </div> </section> <section class="nav-settings"> <header> <button class="back-button"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div> <h2>Settings</h2> <p>Configure Builder's Devtools</p> </div> </header> <div class="section-content"> <label class="ui-switch"> <div> <h3>Enable edit button in UI</h3> <p>Enables the edit button so you can edit content in Builder</p> </div> <input type="checkbox" role="switch" id="enable-edit" /> <span class="switcher"></span> </label> </div> </section> <div class="ui-toast" id="toast"></div> </aside> <button class="menu-toggle" aria-label="Toggle Builder Devtools"> <div> <div class="highlight-bg"></div> <svg viewBox="0 0 31 36" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M31 9.96854C31.0016 11.4553 30.6701 12.9236 30.03 14.2654C29.3898 15.6072 28.4572 16.7884 27.3007 17.7221L0.702841 2.61812C0.601104 2.56012 0.506714 2.49008 0.421705 2.40951C0.288323 2.27871 0.182333 2.12263 0.109928 1.95039C0.0375215 1.77814 0.000151253 1.59319 0 1.40633C0 1.03335 0.148098 0.675643 0.411715 0.411905C0.675332 0.148167 1.03287 0 1.40568 0L21.036 0C23.6786 0 26.213 1.05025 28.0816 2.91972C29.9502 4.78918 31 7.32472 31 9.96854Z" fill="#18B4F4" /> <path d="M31 25.4757C31.0004 26.7849 30.7429 28.0815 30.2423 29.2912C29.7417 30.5009 29.0078 31.6001 28.0825 32.526C27.1572 33.4519 26.0587 34.1864 24.8497 34.6875C23.6406 35.1886 22.3448 35.4465 21.0361 35.4465H1.40573C1.12766 35.4436 0.856725 35.3581 0.627199 35.201C0.397672 35.044 0.219871 34.8223 0.116289 34.5641C0.0127078 34.3059 -0.011999 34.0228 0.0452946 33.7505C0.102588 33.4783 0.239308 33.2292 0.438156 33.0347C0.517415 32.9551 0.606358 32.8858 0.702893 32.8284L11.1705 26.8843L27.2984 17.7244C28.4548 18.6579 29.3874 19.8387 30.028 21.18C30.6685 22.5213 31.0007 23.9891 31 25.4757Z" fill="#FD6B3C" /> <path d="M27.3011 17.7221L11.1709 26.8843L0.703209 32.8284C0.602697 32.8843 0.509784 32.9528 0.426758 33.0323C4.41799 28.9369 6.6496 23.442 6.64456 17.7221C6.65208 12.0015 4.42111 6.50517 0.429101 2.40948C0.51411 2.49005 0.6085 2.56009 0.710237 2.61809L27.3011 17.7221Z" fill="#A97FF2" /> </svg> </div> </button>\`,ai(e),ui(e),oi(e),ri(e),ti(e),ci(e),this.setAttribute("aria-hidden","true"),e.getElementById("version").textContent="v1.6.89"}highlightOpener(){let e=this.shadowRoot.querySelector(".menu-toggle");e.classList.add("menu-toggle-highlight"),e.classList.add("menu-toggle-highlight-no-transition"),setTimeout(()=>{e.classList.remove("menu-toggle-highlight-no-transition"),setTimeout(()=>{e.classList.remove("menu-toggle-highlight")},20)},20)}};var lo=\`<style>*,*:before,*:after{box-sizing:border-box}html,body,:host{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:2147483646;margin:0;padding:0;line-height:1.8;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";background-color:#252525;color:#fff;transition:opacity .25s ease-in-out}:host([aria-hidden="true"]){opacity:0;pointer-events:none}main{position:absolute;top:0;left:0;width:100%;height:100vh}h1{margin-top:0;font-size:24px;font-weight:300;line-height:1.4}p{margin:20px 0;font-weight:300}button{cursor:pointer}aside{position:absolute;top:0;left:0;width:350px;height:100vh;padding:60px 0 0 50px;background-color:#121212}aside ul{margin:30px 0 0;padding:0;list-style:none}aside li{position:relative;margin:0;padding:20px 10px;font-weight:300}aside li.highlight{color:#48a1ff}aside li.active{font-weight:700}aside li .circle{position:absolute;top:20px;left:10px;width:24px;height:24px;border:3px solid white;border-radius:50%;font-size:14px}aside li.highlight .circle{border-color:#48a1ff}aside li.active .circle:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background-color:#48a1ff}aside li.completed .circle{background-color:#48a1ff}aside li.completed .circle:after{content:"";position:absolute;top:2px;left:6px;width:6px;height:13px;border:3px solid black;border-top:none;border-left:none;transform:rotate(45deg)}aside li .line{position:absolute;top:44px;left:21px;width:3px;height:45px;background-color:#fff}aside li.completed .line{background-color:#48a1ff}aside li span{display:block;margin-left:44px}nav{margin-top:30px}section{position:absolute;top:135px;left:350px;padding:0 80px 0 140px;transition:opacity .15s ease-in-out}section[aria-hidden=true]{pointer-events:none;opacity:0}section h1,section p{min-width:300px;max-width:600px}.button{position:relative;display:inline-block;color:#fff;background-color:#48a1ff;border-radius:4px;text-decoration:none;padding:10px 40px 10px 20px;white-space:nowrap}.button:hover{background-color:#48a1ffd9}#button-icon{position:absolute;top:1px;right:5px;bottom:0;width:30px;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="none" stroke="white" stroke-linecap="square" stroke-miterlimit="10" stroke-width="48" d="M184 112l144 144-144 144"/></svg>');background-repeat:no-repeat;background-position:center;background-size:24px 24px}.button[aria-disabled=true]{opacity:.9;background-color:#ffffff4d;pointer-events:none;padding-right:60px}.button[aria-disabled=true] #button-icon{top:21px;right:29px;width:8px;height:8px;border-radius:4px;background:#fff;color:#fff;animation:dot-flashing .5s infinite linear alternate;animation-delay:.25s}.button[aria-disabled=true] #button-icon:before,.button[aria-disabled=true] #button-icon:after{content:"";display:inline-block;position:absolute;top:0}.button[aria-disabled=true] #button-icon:before{left:-12px;width:8px;height:8px;border-radius:4px;background-color:#fff;color:#fff;animation:dot-flashing .5s infinite alternate;animation-delay:0s}.button[aria-disabled=true] #button-icon:after{left:12px;width:8px;height:8px;border-radius:4px;background-color:#fff;color:#fff;animation:dot-flashing .5s infinite alternate;animation-delay:.5s}@keyframes dot-flashing{0%{background-color:#fff}50%,to{background-color:#ffffff4d}}.logo{margin-left:9px;background:url('data:image/svg+xml,<svg viewBox="0 0 150 32" fill="none" xmlns="http://www.w3.org/2000/svg" > <g clip-path="url(%23clip0_4_304)"> <path d="M27.9858 8.99927C27.9872 10.3415 27.688 11.667 27.1101 12.8783C26.5321 14.0896 25.6902 15.156 24.6462 15.9989V15.9989L0.634502 2.36355C0.542657 2.31119 0.457444 2.24796 0.380701 2.17523C0.260289 2.05715 0.164605 1.91624 0.0992389 1.76075C0.0338732 1.60525 0.000136546 1.43828 0 1.26959C0 0.932873 0.133698 0.609948 0.371683 0.371854C0.609667 0.13376 0.932443 0 1.269 0L18.9906 0C21.3763 0 23.6642 0.948135 25.3512 2.63583C27.0381 4.32352 27.9858 6.61252 27.9858 8.99927V8.99927Z" fill="%2318B4F4" /> <path d="M27.9858 22.9986C27.9861 24.1806 27.7536 25.351 27.3017 26.4431C26.8498 27.5352 26.1873 28.5275 25.352 29.3634C24.5167 30.1993 23.5249 30.8624 22.4335 31.3147C21.342 31.7671 20.1721 32 18.9907 32H1.26906C1.01802 31.9973 0.77343 31.9202 0.566221 31.7784C0.359012 31.6366 0.198499 31.4364 0.104989 31.2034C0.0114791 30.9703 -0.0108254 30.7147 0.0408974 30.4689C0.0926201 30.2231 0.216046 29.9982 0.395559 29.8226V29.8226C0.467112 29.7508 0.547407 29.6882 0.634555 29.6364L10.0844 24.2703L24.6441 16.001C25.688 16.8438 26.53 17.9097 27.1083 19.1206C27.6866 20.3315 27.9864 21.6566 27.9858 22.9986V22.9986Z" fill="%23FD6B3C" /> <path d="M24.6461 15.9989L10.0843 24.2703L0.634458 29.6365C0.54372 29.6868 0.459841 29.7487 0.384888 29.8205C3.98804 26.1233 6.00266 21.1627 5.99812 15.9989C6.0049 10.8346 3.99085 5.87268 0.387003 2.17523C0.463746 2.24796 0.548959 2.31119 0.640803 2.36355L24.6461 15.9989Z" fill="%23A97FF2" /> <path d="M47.6659 11.7352C51.8177 11.7352 54.1632 15.0531 54.1632 19.0714C54.1632 23.0896 51.8177 26.3821 47.6659 26.3821C45.5086 26.3821 43.8589 25.5188 42.9473 24.0545L42.5709 26.052H39.9736V6.77115H43.1884V13.8914C43.971 12.6959 45.5086 11.7352 47.6659 11.7352ZM47.0187 23.5488C49.4446 23.5488 50.9547 21.5809 50.9547 19.0714C50.9547 16.5089 49.4446 14.5664 47.0187 14.5664C44.5928 14.5664 43.0806 16.5047 43.0806 19.0714C43.0806 21.583 44.5653 23.5488 47.0187 23.5488V23.5488Z" fill="white" /> <path d="M65.4595 20.2859V12.0611H68.668V20.123C68.668 23.7202 67.0246 26.3821 62.4943 26.3821C57.9639 26.3821 56.3206 23.7117 56.3206 20.123V12.0611H59.529V20.2859C59.529 22.4696 60.5527 23.5488 62.49 23.5488C64.4274 23.5488 65.4595 22.4696 65.4595 20.2859Z" fill="white" /> <path d="M71.2355 7.74451C71.2247 7.46284 71.2724 7.18199 71.3755 6.91968C71.4787 6.65737 71.6351 6.41929 71.8348 6.22047C72.0345 6.02165 72.2732 5.8664 72.5359 5.76452C72.7986 5.66264 73.0796 5.61633 73.3611 5.62853C74.5793 5.62853 75.4571 6.50666 75.4571 7.75509C75.4571 9.00352 74.5793 9.8224 73.3611 9.8224C72.1428 9.8224 71.2355 8.9612 71.2355 7.74451Z" fill="white" /> <path d="M128.476 7.74451C128.465 7.46376 128.513 7.18383 128.615 6.92227C128.718 6.66071 128.873 6.42315 129.072 6.22449C129.27 6.02583 129.508 5.87035 129.769 5.7678C130.031 5.66524 130.31 5.61783 130.591 5.62852C131.809 5.62852 132.687 6.50666 132.687 7.75509C132.687 9.00352 131.809 9.8224 130.591 9.8224C129.373 9.8224 128.476 8.9612 128.476 7.74451Z" fill="white" /> <path d="M122.302 24.1031C122.291 23.8223 122.339 23.5422 122.441 23.2805C122.543 23.0188 122.699 22.7811 122.897 22.5824C123.096 22.3837 123.334 22.2282 123.595 22.1258C123.857 22.0233 124.137 21.9761 124.417 21.9872C125.636 21.9872 126.513 22.8653 126.513 24.1031C126.513 25.341 125.636 26.1726 124.417 26.1726C123.199 26.1726 122.302 25.3219 122.302 24.1031Z" fill="white" /> <path d="M74.9516 12.059H71.7432V26.0583H74.9516V12.059Z" fill="white" /> <path d="M78.16 26.0583V6.77115H81.3685V26.0626L78.16 26.0583Z" fill="white" /> <path d="M94.6063 6.77115H97.8148V26.0626H95.2239L94.8474 24.0651C93.9591 25.523 92.3094 26.3927 90.131 26.3927C86.0046 26.3927 83.6591 23.0748 83.6591 19.0819C83.6591 15.0891 86.0046 11.7458 90.131 11.7458C92.3137 11.7458 93.8238 12.7149 94.6063 13.902V6.77115ZM90.7993 14.5707C88.3734 14.5707 86.8633 16.5131 86.8633 19.0756C86.8633 21.5851 88.3734 23.553 90.7993 23.553C93.2252 23.553 94.7354 21.5851 94.7354 19.0756C94.7396 16.5047 93.257 14.5664 90.8036 14.5664L90.7993 14.5707Z" fill="white" /> <path d="M113.479 22.2284C112.482 24.7359 110.162 26.3821 107.117 26.3821C102.887 26.3821 100.137 23.225 100.137 19.0439C100.137 14.9706 102.942 11.7353 107.093 11.7353C111.245 11.7353 113.969 14.8902 113.969 18.991C113.982 19.3255 113.953 19.6604 113.883 19.9876H103.288C103.53 22.2009 104.959 23.6292 107.197 23.6292C108.735 23.6292 110.001 22.8738 110.594 21.473L113.479 22.2284ZM103.341 17.6156H110.784C110.513 15.6731 109.166 14.3506 107.089 14.3506C105.012 14.3506 103.665 15.7006 103.341 17.6156V17.6156Z" fill="white" /> <path d="M123.779 14.9452C123.538 14.9117 123.295 14.8933 123.051 14.8902C120.786 14.8902 119.439 16.0772 119.439 18.7751V26.0583H116.23V12.0611H118.821L119.195 14.0014C119.707 13.1127 120.887 11.9257 123.322 11.9257C123.455 11.9257 123.779 11.9532 123.779 11.9532V14.9452Z" fill="white" /> <path d="M132.192 12.059H128.984V26.0583H132.192V12.059Z" fill="white" /> <path d="M134.483 19.0714C134.483 15.1335 137.287 11.7353 141.735 11.7353C146.183 11.7353 149.015 15.1335 149.015 19.0714C149.015 23.0092 146.213 26.3821 141.735 26.3821C137.258 26.3821 134.483 23.0092 134.483 19.0714ZM141.735 23.5488C144.083 23.5488 145.806 21.7692 145.806 19.0714C145.806 16.3735 144.083 14.5664 141.735 14.5664C139.387 14.5664 137.687 16.346 137.687 19.0714C137.687 21.7968 139.417 23.5488 141.735 23.5488V23.5488Z" fill="white" /> </g> <defs> <clipPath id="clip0_4_304"> <rect width="149.015" height="32" fill="white" /> </clipPath> </defs> </svg>');background-repeat:no-repeat;width:150px;height:32px}@media (max-width: 840px){aside{width:250px;padding:60px 0 0 20px}section{left:250px;padding:0 80px}}@media (max-width: 590px){aside{width:230px;padding:60px 0 0 10px}section{left:230px;padding:0 40px}}#modified-files-message a{color:#cbcbcb;font-weight:300;text-decoration:underline}#modified-files-message a:hover{color:#fff;text-decoration:none}#restart-warning{border-radius:4px;padding:8px 16px;border:1px solid #fd6b3c;background:#fd6b3c1a}#react-router-steps{margin:0 0 5px;padding:0 20px}#need-help{color:#48a1ff;text-decoration:none}#router-message{border-radius:4px;padding:16px;border:1px solid #48a1ff}#router-finish-button{margin-top:12px}#router-checkbox-div{display:flex;align-items:center}#router-checkbox{margin-right:10px;width:15px;height:15px}#success-title{display:flex;align-items:center;gap:10px}#success-title .check-icon{display:inline-block;width:24px;height:24px;border:2px solid #28a745;border-radius:50%;position:relative}#success-title .check-icon:before{content:"";position:absolute;top:50%;left:50%;width:6px;height:12px;border:solid #28a745;border-width:0 2px 2px 0;transform:translate(-50%,-60%) rotate(45deg)}
1365
1365
  </style>\`,Dt=class extends HTMLElement{constructor(){super()}connectedCallback(){let e=this.attachShadow({mode:"open"});e.innerHTML=lo+\`<main>
1366
1366
  <aside>
1367
1367
  <div class="logo"></div>
@@ -1400,7 +1400,7 @@ Restarting server after Builder Devtools update...
1400
1400
  </nav>
1401
1401
  </section>
1402
1402
  </main>
1403
- \`,po();let r=new URL(Vr,ot);r.searchParams.set(Mr,location.href);let n=e.querySelectorAll(".next-step");for(let i of n)i.setAttribute("href",r.href);ye("overview step viewed")}},po=()=>{let t=document.head.querySelector("link[rel='icon'], link[rel='icon shortcut']");t?(t.href="https://cdn.builder.io/favicon.ico",t.removeAttribute("type")):(t=document.createElement("link"),t.rel="icon",t.href="https://cdn.builder.io/favicon.ico",document.head.appendChild(t))};var li=async()=>{(await qr()).isValid||fo()},fo=()=>{customElements.get("builder-dev-tools-overview")||customElements.define("builder-dev-tools-overview",Dt);let t=document.querySelector("builder-dev-tools-overview");t||(t=document.createElement("builder-dev-tools-overview"),t.setAttribute("aria-hidden","true"),document.body.appendChild(t)),setTimeout(()=>{t.removeAttribute("aria-hidden")},32)};var mo=()=>{try{customElements.get("builder-dev-tools-edit")||customElements.define("builder-dev-tools-edit",st),customElements.get("builder-dev-tools-menu")||customElements.define("builder-dev-tools-menu",At);let t=document.querySelector("builder-dev-tools-menu");t||(t=document.createElement("builder-dev-tools-menu"),t.setAttribute("data-version","1.6.87"),document.body.appendChild(t));let e=document.querySelector("builder-dev-tools-edit");e||(e=document.createElement("builder-dev-tools-edit"),document.body.appendChild(e));let r=document.getElementById("builder-dev-tools-style");r||(r=document.createElement("style"),r.id="builder-dev-tools-style",r.innerHTML=".builder-no-scroll{overflow:hidden !important}",document.head.appendChild(r)),li(),Jn()}catch(t){console.error("Builder Devtools:",t)}};window.location===window.parent.location&&(console.debug("Builder.io Devtools v1.6.87"),mo());})();`)}async function h_(e){return g_(e,`<!doctype html>
1403
+ \`,po();let r=new URL(Vr,ot);r.searchParams.set(Mr,location.href);let n=e.querySelectorAll(".next-step");for(let i of n)i.setAttribute("href",r.href);ye("overview step viewed")}},po=()=>{let t=document.head.querySelector("link[rel='icon'], link[rel='icon shortcut']");t?(t.href="https://cdn.builder.io/favicon.ico",t.removeAttribute("type")):(t=document.createElement("link"),t.rel="icon",t.href="https://cdn.builder.io/favicon.ico",document.head.appendChild(t))};var li=async()=>{(await qr()).isValid||fo()},fo=()=>{customElements.get("builder-dev-tools-overview")||customElements.define("builder-dev-tools-overview",Dt);let t=document.querySelector("builder-dev-tools-overview");t||(t=document.createElement("builder-dev-tools-overview"),t.setAttribute("aria-hidden","true"),document.body.appendChild(t)),setTimeout(()=>{t.removeAttribute("aria-hidden")},32)};var mo=()=>{try{customElements.get("builder-dev-tools-edit")||customElements.define("builder-dev-tools-edit",st),customElements.get("builder-dev-tools-menu")||customElements.define("builder-dev-tools-menu",At);let t=document.querySelector("builder-dev-tools-menu");t||(t=document.createElement("builder-dev-tools-menu"),t.setAttribute("data-version","1.6.89"),document.body.appendChild(t));let e=document.querySelector("builder-dev-tools-edit");e||(e=document.createElement("builder-dev-tools-edit"),document.body.appendChild(e));let r=document.getElementById("builder-dev-tools-style");r||(r=document.createElement("style"),r.id="builder-dev-tools-style",r.innerHTML=".builder-no-scroll{overflow:hidden !important}",document.head.appendChild(r)),li(),Jn()}catch(t){console.error("Builder Devtools:",t)}};window.location===window.parent.location&&(console.debug("Builder.io Devtools v1.6.89"),mo());})();`)}async function h_(e){return g_(e,`<!doctype html>
1404
1404
  <html lang="en" dir="ltr">
1405
1405
  <head>
1406
1406
  <meta charset="utf-8" />
@@ -1776,10 +1776,10 @@ To clone this PR locally use the [Github CLI](https://cli.github.com/) with comm
1776
1776
  ${m}
1777
1777
  `),s&&(b+=`- Here are the logs from the check command:
1778
1778
  ${s.slice(0,5e3)}
1779
- `),{devServerState:a,setupState:n,logs:m,checkLogs:s,checkPassed:i,prompt:b,message:y}):null}async#G(){if(this.#t?.git)try{U.info("\u{1F504} Initializing Fusion session for AI side-car branch workflow...");let t=await this.#e.getRepoInfo(this.#i);if(!t.hasGit)if(this.#t.gitAutoInit){U.warn("\u{1F6E0}\uFE0F No git repository detected. Initializing a new git repository...");try{await this.runGitCommand("git init"),await this.runGitCommand("git add ."),await this.runGitCommand("git commit --allow-empty --quiet --no-verify -m 'Initial commit for Fusion workflow'"),U.info("\u2705 Successfully initialized a new git repository")}catch(i){console.error("\u274C Failed to initialize git repository:",i);return}}else{U.error("\u274C Error: Not in a git repository. Fusion requires a git repository.");return}if(t=await this.#e.getRepoInfo(this.#i),!t.hasGit)throw new Error("Git could not be initialized");let r=t.currentBranch,n=bB(r);return{featureBranch:n.featureBranch,sessionId:n.sessionId}}catch(t){U.error(`\u274C Error initializing Fusion session: ${t}`),this.#e.Sentry?.captureException(t)}return{featureBranch:void 0,sessionId:void 0}}async#z(t){if(this.#t?.git){let r=`ai_${this.#d}_${t.sessionId}`;if(this.#N=r.trim(),(await this.#e.getRepoInfo(this.#i)).currentBranch!==r)try{await this.runGitCommand(`git checkout ${r}`)}catch{await this.runGitCommand(`git checkout -b ${r}`)}}}setRepoUrl(t){this.#R=t}getRepoUrl(){return this.#R}setPrUrl(t){this.#F=t}prExists(){return!!this.#F}async pushRepo(t,r){if(!this.#t?.git)throw new Error("Can not push to repo");try{if(!t||!r)return{success:!1,error:"Missing required fields"};let n=hu({repoFullName:t,githubToken:r}),i;try{i=(await this.runGitCommand("git remote get-url origin")).trim()}catch{}i?(this.#e.Sentry?.captureException(new Error(`Remote origin already set to ${i}`)),await this.runGitCommand(`git remote set-url origin ${n}`)):await this.runGitCommand(`git remote add origin ${n}`),this.setRepoUrl(n);try{return{success:!0,...await this.pushChanges(!1)}}catch(s){return U.error(`Error pushing initial changes to remote: ${s}`),this.#e.Sentry?.captureException(s),{success:!0,error:"Successfully set remote, but failed to push initial changes.",details:s instanceof Error?s.toString():String(s)}}}catch(n){return this.#e.Sentry?.captureException(n),{success:!1,error:"Failed to push repo",details:n instanceof Error?n.toString():String(n)}}}async createPR(...t){if(!this.#t?.git)throw new Error("Can not create PR in non git mode");let r,n,i,s;typeof t[0]=="object"&&t[0]?{repoFullName:r,githubToken:n,branchName:i,projectId:s}=t[0]:(typeof t[0]=="string"&&(r=t[0]),typeof t[1]=="string"&&(n=t[1]),typeof t[2]=="string"&&(i=t[2]),typeof t[3]=="string"&&(s=t[3]));try{if(console.log("Starting PR creation process..."),!r||!i||!s)throw new Error("Missing required fields");if(!n)throw new Error("GitHub token not found. Please connect your GitHub account.");let o=await fetch(`https://api.github.com/repos/${r}`,{headers:{Authorization:`Bearer ${n}`,Accept:"application/vnd.github.v3+json"}});if(!o.ok)throw new Error(`Failed to get repo info: ${await o.text()}`);let{default_branch:a}=await o.json();try{let c="Builder.io: Update from Visual Editor",l=Ew(s),u=await this.pushChanges(!1),p=(await this.runGitCommand(Mx())).toString().trim(),d={title:c,body:l,head:p,base:a,draft:this.#t?.commitMode==="draft-prs"},h=await fetch(`https://api.github.com/repos/${r}/pulls`,{method:"POST",headers:{Authorization:`Bearer ${n}`,Accept:"application/vnd.github.v3+json","Content-Type":"application/json"},body:JSON.stringify(d)});if(!h.ok)throw new Error(`Failed to create PR: ${await h.text()}`);let m=await h.json();console.log("PR created successfully!");let g=Ew(s).replace("gh pr checkout",`gh pr checkout ${m.number}`);return await fetch(`https://api.github.com/repos/${r}/pulls/${m.number}`,{method:"PATCH",headers:{Authorization:`Bearer ${n}`,Accept:"application/vnd.github.v3+json","Content-Type":"application/json"},body:JSON.stringify({body:g})}),jh({repoFullName:r,githubToken:n,prNumber:m.number,projectId:s,sys:this.#e,credentials:this.#a,builderProjectBranchName:i,gitWorkingDirectory:this.#i}).catch(y=>{console.error("Error updating PR description:",y),this.#e.Sentry?.captureException(y)}),this.setPrUrl(m.html_url),{success:!0,prUrl:m.html_url,prNumber:m.number,...u}}catch(c){return this.#e.Sentry?.captureException(c),{success:!1,error:"Failed to commit changes",details:c instanceof Error?c.toString():String(c)}}}catch(o){return this.#e.Sentry?.captureException(o,{extra:{repoFullName:r,githubToken:n,branchName:i,projectId:s}}),{success:!1,error:"Failed to create pull request",details:o}}}getCommitMode(){return this.#t?.commitMode}setCommitMode(t){this.#t&&(this.#t.commitMode=t)}async#P(){let t=this.#t?.commitMode,r=(await this.#e.getRepoInfo(this.#i)).currentBranch,n=(this.getAiBranch()||r)?.trim();if(!n)throw new Error("AI branch not found");let i=this.#d?.trim();return i||(i=bB(n).featureBranch),t==="commits"?`${i}`:`${n}`}async#K(){let t=this.getCommitMode(),r=await this.#P(),n=(await this.#e.getRepoInfo(this.#i)).currentBranch;return t==="commits"?`git push --no-verify --set-upstream -f origin ${n}:${r}`:`git push --no-verify --set-upstream -f origin ${r}`}async pushChanges(t=!0){if(!this.#t?.git)throw new Error("Can not push changes in non-git mode");t&&await this.pullLatestFromRemote();let r=await this.#K();try{let n=await this.runGitCommand(r),i=n.toLowerCase().trim(),s=i.includes("everything up-to-date"),o=i.includes("[new branch]"),a=i.includes("set up to track"),c=await this.emitGitStatus();return{output:n,upToDate:s,createdBranch:o,setUpToStream:a,status:c}}catch(n){throw this.#e.Sentry?.captureException(new Error(`Push failed: ${r}`,{cause:n}),{extra:{pullFirst:t,commitMode:this.getCommitMode()}}),n}}async hasChangesRelativeToRemote(){if(!this.#t?.git)return!1;let t=this.#E;return t?t.canSync:!1}async pullLatestFromRemote(){if(!this.#t?.git)throw new Error("Can not pull changes in non-git mode");let t=await this.#P();try{await this.runGitCommand(`git pull --no-rebase origin ${t}`)}catch(r){this.#e.Sentry?.captureException(new Error(`Pull failed: ${t}`,{cause:r}))}}async getCurrentCommitHash(){if(this.#t?.git)try{return(await this.runGitCommand("git rev-parse HEAD")).trim()}catch{return}}getFeatureBranch(){return this.#d}getAiBranch(){return this.#N}async runGitCommand(t){if(!this.#t?.git)throw new Error(`Can not execute git command in non-git mode: ${t}`);return this.#s&&console.log(`RUN GIT: ${t}`),this.#x&&this.#e.Sentry?.captureException(new Error(`currentGitCommand is not finished yet. Current command: ${this.#x}, New command Received: ${t}`),{extra:{oldCommand:this.#x,newCommand:t}}),new Promise((r,n)=>{this.#x=t,(0,Dw.exec)(t,{cwd:this.#i,maxBuffer:1024*1024*2},(i,s,o)=>{this.#x=void 0,i?(this.#s&&console.error(`GIT ERROR: ${i.code} ${s} ${o}`),n(i)):o&&!s?(this.#s&&console.log(`GIT(stderr): ${o}`),r(o)):(this.#s&&console.log(`GIT: ${s} ${o}`),r(s))})})}async runCheckCommand(){let t=this.#t?.checkCommand;return t?new Promise(r=>{(0,Dw.exec)(t,{cwd:this.#n},(n,i,s)=>{r(n?{code:n.code??-1,logs:`${n.message}
1779
+ `),{devServerState:a,setupState:n,logs:m,checkLogs:s,checkPassed:i,prompt:b,message:y}):null}async#G(){if(this.#t?.git)try{U.info("\u{1F504} Initializing Fusion session for AI side-car branch workflow...");let t=await this.#e.getRepoInfo(this.#i);if(!t.hasGit)if(this.#t.gitAutoInit){U.warn("\u{1F6E0}\uFE0F No git repository detected. Initializing a new git repository...");try{await this.runGitCommand("git init"),await this.runGitCommand("git add ."),await this.runGitCommand("git commit --allow-empty --quiet --no-verify -m 'Initial commit for Fusion workflow'"),U.info("\u2705 Successfully initialized a new git repository")}catch(i){console.error("\u274C Failed to initialize git repository:",i);return}}else{U.error("\u274C Error: Not in a git repository. Fusion requires a git repository.");return}if(t=await this.#e.getRepoInfo(this.#i),!t.hasGit)throw new Error("Git could not be initialized");let r=t.currentBranch,n=bB(r);return{featureBranch:n.featureBranch,sessionId:n.sessionId}}catch(t){U.error(`\u274C Error initializing Fusion session: ${t}`),this.#e.Sentry?.captureException(t)}return{featureBranch:void 0,sessionId:void 0}}async#z(t){if(this.#t?.git){let r=`ai_${this.#d}_${t.sessionId}`;if(this.#N=r.trim(),(await this.#e.getRepoInfo(this.#i)).currentBranch!==r)try{await this.runGitCommand(`git checkout ${r}`)}catch{await this.runGitCommand(`git checkout -b ${r}`)}}}setRepoUrl(t){this.#R=t}getRepoUrl(){return this.#R}setPrUrl(t){this.#F=t}prExists(){return!!this.#F}async pushRepo(t,r){if(!this.#t?.git)throw new Error("Can not push to repo");try{if(!t||!r)return{success:!1,error:"Missing required fields"};let n=hu({repoFullName:t,githubToken:r}),i;try{i=(await this.runGitCommand("git remote get-url origin")).trim()}catch{}i?await this.runGitCommand(`git remote set-url origin ${n}`):await this.runGitCommand(`git remote add origin ${n}`),this.setRepoUrl(n);try{return{success:!0,...await this.pushChanges(!1)}}catch(s){return U.error(`Error pushing initial changes to remote: ${s}`),this.#e.Sentry?.captureException(s),{success:!0,error:"Successfully set remote, but failed to push initial changes.",details:s instanceof Error?s.toString():String(s)}}}catch(n){return this.#e.Sentry?.captureException(n),{success:!1,error:"Failed to push repo",details:n instanceof Error?n.toString():String(n)}}}async createPR(...t){if(!this.#t?.git)throw new Error("Can not create PR in non git mode");let r,n,i,s;typeof t[0]=="object"&&t[0]?{repoFullName:r,githubToken:n,branchName:i,projectId:s}=t[0]:(typeof t[0]=="string"&&(r=t[0]),typeof t[1]=="string"&&(n=t[1]),typeof t[2]=="string"&&(i=t[2]),typeof t[3]=="string"&&(s=t[3]));try{if(console.log("Starting PR creation process..."),!r||!i||!s)throw new Error("Missing required fields");if(!n)throw new Error("GitHub token not found. Please connect your GitHub account.");let o=await fetch(`https://api.github.com/repos/${r}`,{headers:{Authorization:`Bearer ${n}`,Accept:"application/vnd.github.v3+json"}});if(!o.ok)throw new Error(`Failed to get repo info: ${await o.text()}`);let{default_branch:a}=await o.json();try{let c="Builder.io: Update from Visual Editor",l=Ew(s),u=await this.pushChanges(!1),p=(await this.runGitCommand(Mx())).toString().trim(),d={title:c,body:l,head:p,base:a,draft:this.#t?.commitMode==="draft-prs"},h=await fetch(`https://api.github.com/repos/${r}/pulls`,{method:"POST",headers:{Authorization:`Bearer ${n}`,Accept:"application/vnd.github.v3+json","Content-Type":"application/json"},body:JSON.stringify(d)});if(!h.ok)throw new Error(`Failed to create PR: ${await h.text()}`);let m=await h.json();console.log("PR created successfully!");let g=Ew(s).replace("gh pr checkout",`gh pr checkout ${m.number}`);return await fetch(`https://api.github.com/repos/${r}/pulls/${m.number}`,{method:"PATCH",headers:{Authorization:`Bearer ${n}`,Accept:"application/vnd.github.v3+json","Content-Type":"application/json"},body:JSON.stringify({body:g})}),jh({repoFullName:r,githubToken:n,prNumber:m.number,projectId:s,sys:this.#e,credentials:this.#a,builderProjectBranchName:i,gitWorkingDirectory:this.#i}).catch(y=>{console.error("Error updating PR description:",y),this.#e.Sentry?.captureException(y)}),this.setPrUrl(m.html_url),{success:!0,prUrl:m.html_url,prNumber:m.number,...u}}catch(c){return this.#e.Sentry?.captureException(c),{success:!1,error:"Failed to commit changes",details:c instanceof Error?c.toString():String(c)}}}catch(o){return this.#e.Sentry?.captureException(o,{extra:{repoFullName:r,githubToken:n,branchName:i,projectId:s}}),{success:!1,error:"Failed to create pull request",details:o}}}getCommitMode(){return this.#t?.commitMode}setCommitMode(t){this.#t&&(this.#t.commitMode=t)}async#P(){let t=this.#t?.commitMode,r=(await this.#e.getRepoInfo(this.#i)).currentBranch,n=(this.getAiBranch()||r)?.trim();if(!n)throw new Error("AI branch not found");let i=this.#d?.trim();return i||(i=bB(n).featureBranch),t==="commits"?`${i}`:`${n}`}async#K(){let t=this.getCommitMode(),r=await this.#P(),n=(await this.#e.getRepoInfo(this.#i)).currentBranch;return t==="commits"?`git push --no-verify --set-upstream -f origin ${n}:${r}`:`git push --no-verify --set-upstream -f origin ${r}`}async pushChanges(t=!0){if(!this.#t?.git)throw new Error("Can not push changes in non-git mode");t&&await this.pullLatestFromRemote();let r=await this.#K();try{let n=await this.runGitCommand(r),i=n.toLowerCase().trim(),s=i.includes("everything up-to-date"),o=i.includes("[new branch]"),a=i.includes("set up to track"),c=await this.emitGitStatus();return{output:n,upToDate:s,createdBranch:o,setUpToStream:a,status:c}}catch(n){throw this.#e.Sentry?.captureException(new Error(`Push failed: ${r}`,{cause:n}),{extra:{pullFirst:t,commitMode:this.getCommitMode()}}),n}}async hasChangesRelativeToRemote(){if(!this.#t?.git)return!1;let t=this.#E;return t?t.canSync:!1}async pullLatestFromRemote(){if(!this.#t?.git)throw new Error("Can not pull changes in non-git mode");let t=await this.#P();try{await this.runGitCommand(`git pull --no-rebase origin ${t}`)}catch(r){this.#e.Sentry?.captureException(new Error(`Pull failed: ${t}`,{cause:r}))}}async getCurrentCommitHash(){if(this.#t?.git)try{return(await this.runGitCommand("git rev-parse HEAD")).trim()}catch{return}}getFeatureBranch(){return this.#d}getAiBranch(){return this.#N}async runGitCommand(t){if(!this.#t?.git)throw new Error(`Can not execute git command in non-git mode: ${t}`);return this.#s&&console.log(`RUN GIT: ${t}`),this.#x&&this.#e.Sentry?.captureException(new Error(`currentGitCommand is not finished yet. Current command: ${this.#x}, New command Received: ${t}`),{extra:{oldCommand:this.#x,newCommand:t}}),new Promise((r,n)=>{this.#x=t,(0,Dw.exec)(t,{cwd:this.#i,maxBuffer:1024*1024*2},(i,s,o)=>{this.#x=void 0,i?(this.#s&&console.error(`GIT ERROR: ${i.code} ${s} ${o}`),n(i)):o&&!s?(this.#s&&console.log(`GIT(stderr): ${o}`),r(o)):(this.#s&&console.log(`GIT: ${s} ${o}`),r(s))})})}async runCheckCommand(){let t=this.#t?.checkCommand;return t?new Promise(r=>{(0,Dw.exec)(t,{cwd:this.#n},(n,i,s)=>{r(n?{code:n.code??-1,logs:`${n.message}
1780
1780
  ${i}
1781
1781
  ${s}`}:{code:0,logs:`${i}
1782
- ${s}`})})}):null}setDebug(t){this.#s=t}async getAllFiles(){if(!this.#o?.folders?.length)return Qa(this.#n);let t=[];for(let n of this.#o.folders){let i=this.#e.resolve(this.#n,n.path),s=await Qa(i),o=this.#_()?".":n.name||this.#e.basename(i);for(let a of s)o!=="."?t.push(this.#e.join(o,a)):t.push(a)}let r=await this.#e.readdir(this.#n);for(let n of r)yB(n)&&t.push(n);return t}getSessionId(){return this.getSessionContext().sessionId}getSpaceId(){return this.#a.builderPublicKey}async restore(t,r,n=!1){let i=this.getSessionContext(),s=i.turns.length,o=null;for(let p=s-1;p>=-1;p--)if(r(p>=0?i.turns[p]:null,p)){o=p;break}if(o===null)return null;await this.abort();let a=new Map,c=!!this.#t?.git,l=i.turns,u=Math.max(0,t==="before"?o:o+1);for(let p=l.length-1;p>=u;p--){let d=l[p];for(let h of d.applyResults)a.set(h.filePath,h.oldContent??"")}if(!n){let p;if(c){if(o===-1?i.beforeCommit?p=i.beforeCommit:l.length>0&&(p=l[0].beforeCommit):o<l.length&&(t==="after"?(p=l[o].afterCommit,!p&&o+1<l.length&&(p=l[o+1].beforeCommit)):p=l[o].beforeCommit),!p)return[];await this.runGitCommand(`git reset --quiet --hard ${p}`)}else for(let[g,y]of a.entries())y?await this.writeFile(g,y):await this.deleteFile(g);let d=l.splice(u,l.length-u);this.#s&&console.log("Remaining turns",l);let m=l[l.length-1]?.completionId;d.length>0&&(await kle(this.#e,this.#a,{lastCompletionId:m,sessionId:i.sessionId},!!this.#s),i.updatedUnixTime=Date.now(),this.#r.emit("step",{type:"restore",files:Array.from(a.keys()),lastCompletionId:m,location:t,commitHash:p}))}return await this.#I(),Array.from(a.keys())}async#I(t){let r=await this.#t?.devServerOrchestrator?.ensureDevCommand(t);return r&&(await new Promise(n=>setTimeout(n,500)),this.requestRefresh()),r}async restoreHEAD(){return this.restore("after",()=>!0)}async restoreAll(){return this.restore("before",(t,r)=>r===-1)}async restoreBeforeCompletionId(t){return this.restore("before",r=>r?.completionId===t)}async undoLastUserMessage(t=!1){return this.restore("before",r=>r?.user.role==="user",t)}getLastCompletionId(){let t=this.getSessionContext();return ww(t)?.completionId}getCurrentState(){return this.getSessionContext().state}getLastApplyResultsTurn(){let t=this.getSessionContext();return Ple(t)}getLastTurn(){let t=this.getSessionContext();return ww(t)}getNextUrl(){let t=this.getSessionContext();return ww(t)?.nextUrl}getNextMessage(){let t=new Promise(r=>{this.#l?r():this.#b=r}).then(()=>{let r=this.#l;if(r)return!r.dropAbortedPrompt&&this.#u&&(r=Ble(this.#u,r)),this.#l=void 0,this.#u=r,r});return{shouldWait:!this.#l,promise:t}}async sendFeedback(t){if(process.env.NODE_ENV==="test")return;Be("quality code feedback given",{spaceId:this.#a.builderPublicKey,sentiment:t.feedbackSentiment,mode:"cli"});let r=t.id??this.getLastCompletionId();r&&await gB(this.#e,this.#a,{...t,id:r},!!this.#s)}async lastTurnHasChanges(){let t=await this.undoLastUserMessage(!0);return t?t.length>0:!1}#g(t){let r=this.getSessionContext(),n=r.state;n!==t&&(r.state=t,this.#r.emit("step",{type:"state",abortable:t==="generating",previousState:n,newState:t}))}async sendMessage(t,r=!0){r&&await this.abort(!1),this.#l=t,this.#b&&this.#b()}getTurns(){let t=this.getSessionContext();return structuredClone(t.turns)}getSessionContext(){if(!this.#y)throw new Error("Session context not initialized");return this.#y}async runSetupCommand(){return await this.#t?.devServerOrchestrator?.runSetupCommand()}abortSetupCommand(){this.#t?.devServerOrchestrator?.abortSetupCommand()}async abort(t=!0){if(t&&(this.#u=void 0),this.#c){if(this.#c.abort(),this.#c=void 0,this.hasChanges()){let r=this.getNetLinesChanged();await this.sendFeedback({acceptedLines:r})}return await this.restoreHEAD(),!0}return!1}async stopEventLoop(){this.abortSetupCommand(),await this.abort(),this.#p?.abort(),this.#p=void 0,this.#b&&this.#b()}requestRefresh(){this.#r.emit("step",{type:"builder-action",action:"refresh",metadata:{}})}async close(){U.warn("Closing code session"),await this.stopEventLoop(),this.#r.removeAllListeners()}async emitGitStatus(){let t=await this.#H();return t&&(this.#E=t,this.#r.emit("step",t)),t}async#H(){if(!this.#t?.git)return null;this.#C++;let t=this.hasChanges(),r=await this.#P(),n=!1,i="",s=null;try{let l=await this.runGitCommand("git rev-parse --absolute-git-dir");s=this.#e.join(l,"FETCH_HEAD"),Sw.default.existsSync(s)&&Sw.default.unlinkSync(s)}catch(l){this.#e.Sentry?.captureException(l,{extra:{fetchHeadFilePath:s,isCheckingGitStatus:this.#C}}),s=null}try{i=await this.runGitCommand(`git fetch --no-tags origin ${r}`),n=!0}catch{n=!1}let o=await this.#e.getRepoInfo(this.#i),a=t?1:0,c=0;if(n)try{let l=$le(await this.runGitCommand("git rev-list --left-right --count HEAD...FETCH_HEAD"));a=l.ahead,c=l.behind}catch(l){let u=null;if(s)try{u=await this.#e.readFile(this.#e.join(this.#i,".git/FETCH_HEAD")),u=`FETCH_HEAD: ${u}`}catch(p){u=`FETCH_HEAD FAILED: ${String(p)}`}else u="FETCH_HEAD MISSING";this.#e.Sentry?.captureException(l,{extra:{fetchOutput:i,fetchHead:u,remoteBranch:r,currentBranch:o.currentBranch,currentCommit:o.commit,isCheckingGitStatus:this.#C}})}return this.#C--,{type:"git",remoteBranchExists:n,isSessionDirty:t,canSync:a>0||c>0,canPush:a>0,canPull:c>0,ahead:a,behind:c,currentCommit:o.commit,currentBranch:o.currentBranch,remoteBranch:r}}connectToEventLoop(t,r){if(t){let n=this.getSessionContext(),i=n.turns;r({type:"state",newState:"replay",abortable:!1,previousState:n.state}),r({type:"session",title:n.title,beforeCommit:n.beforeCommit,createdUnixTime:n.createdUnixTime,updatedUnixTime:n.updatedUnixTime,id:n.sessionId,hasChanges:this.hasChanges()}),this.#S&&r(this.#S),this.#E&&r(this.#E);for(let o of i){r({type:"user",displayPrompt:o.userMessage?o.userMessage.displayPrompt??o.userMessage.userPrompt:void 0,attachments:o.userMessage?.attachments,id:o.completionId,user:o.user,role:o.user.role});for(let a of o.actions)(a.type==="file"||a.type==="diff"||a.type==="text"||a.type==="thinking")&&(r({type:"start",name:a.type,content:"",id:a.id??"",filePath:a.filePath??"",title:a.actionTitle??a.artifactTitle??""}),r({type:"delta",name:a.type,delta:a.content}),a.type==="file"?r({type:a.type,id:o.completionId,filePath:a.filePath??"",content:a.content,title:a.actionTitle??a.artifactTitle??"Created"}):a.type==="diff"?r({type:"diff",id:o.completionId,filePath:a.filePath??"",content:a.content,title:a.actionTitle??a.artifactTitle??"Updated"}):a.type==="thinking"?r({type:"planning",content:a.content}):a.type==="text"&&r({type:"text",content:a.content}))}if(this.#h){let o=this.#h[this.#h.length-1];switch(o.type){case"file":case"diff":case"text":case"thinking":case"suggestion":case"tool":r({type:"start",id:o.id,name:o.type,title:o.actionTitle??o.artifactTitle??"",content:""}),r({type:"delta",name:o.type,delta:o.content});break}}let s=this.#t?.devServerOrchestrator;s&&(r({type:"dev-server",devServerState:s.devState,setupState:s.setupState}),s.setupState!=="installed"&&r({type:"stdio",id:"setupCommand",command:s.setupCommand??"",content:s.getSetupOutput(),source:"run-command",stream:"stdout"}),r({type:"stdio",id:"devServer",command:s.devCommand,content:s.getOutput(),source:"run-command",stream:"stdout"})),r({type:"state",newState:n.state,abortable:n.state==="generating",previousState:"replay"}),this.#f&&n.state!=="generating"&&r({type:"wait-for-input",state:n.state,suggestion:this.#w})}return this.#r.on("step",r),this.waitForEventLoop(),()=>{this.#r.off("step",r)}}waitUntilIdle(){return this.waitForEventLoop(),(0,Gh.once)(this.#r,"idle").then(()=>{})}waitForEventLoop(){return this.#f?this.#f:this.#f=this.#V()}async#V(){if(this.#f||this.#p)throw new Error("Event loop already started");let t=Mle(),r=a=>{this.#r.emit("step",a)};this.#p=new AbortController;let n=this.#p.signal,i=this.#t?.devServerOrchestrator,s=this.getSessionContext();this.#e.Sentry?.setContext("codeGen",{sessionId:s.sessionId}),await this.emitGitStatus(),i?.setupState==="not-installed"&&this.runSetupCommand();let o=0;try{for(;!n.aborted;){this.#c=void 0;let a=this.getNextMessage(),c=!1;if(a.shouldWait){let u,p=await this.#q(!1);if(p){o++,c=!0;let d=!this.#l&&Ale.includes(s.state)&&o<2;u=this.#w={actionButtonText:"Try to fix",type:"build-error",level:"error",canAutoApply:d,healthStatus:p,message:p.message,userMessage:{userPrompt:p.prompt,skipSearch:!0,displayPrompt:"The app seems to be in a broken state, please fix and debug."}}}this.#r.emit("idle"),r({type:"wait-for-input",state:s.state,suggestion:u})}let l=await a.promise;if(n.aborted)break;if(l){try{this.#w=void 0,l.logsCheckpoint&&i?.addCheckpoint(),this.#c=new AbortController;let u=$h([n,this.#c.signal]);if(u?.aborted)throw Qs();this.#g("generating"),await this.#$(l,u,r),this.#g("success"),this.#w=void 0,c||(o=0)}catch(u){u instanceof Error?u.name==="AbortError"?(r({type:"user-abort"}),this.#g("abort")):(this.#u=void 0,r({type:"error",message:u.message,metadata:{error:u}}),this.#e.Sentry?.captureException(u),this.#g("error")):this.#g("error")}this.#U++}}}catch(a){throw this.#e.Sentry?.captureException(a,{level:"fatal"}),a}finally{this.#p=void 0,this.#f=void 0,t()}this.#g("close")}async agentCompletion(t,r,n){if(this.#s){let i=n;n=s=>{s.type!=="delta"&&U.info(`Event: ${JSON.stringify(s,void 0,2)}`),i(s)}}return this.#$(t,r,n)}async#$(t,r,n){let i=this.getSessionContext(),s=0;for(;;){if(r?.aborted)throw Qs();try{let o=await this.#J(s===0?t:void 0,r,n);if(o.role==="user"){let c=o.files.filter(l=>(l.importance??0)>2.5&&l.content).map(l=>({filePath:l.filePath,size:l.content?.length??0,isCustomInstruction:!1,wasIncluded:l.wasIncluded}));i.customInstructions.forEach(l=>{l.filePath&&c.push({filePath:l.filePath,size:l.content?.length??0,isCustomInstruction:!0,wasIncluded:!0})}),n({type:"user-input",prompt:o.userPrompt,files:c})}else n({type:"agent-input",toolResults:o.toolResults});let a=await this.#W(i,o,r,n);if(this.#u=void 0,await this.#I(),!a)break}finally{Ile(i.turns),s++}}}async#W(t,r,n,i){if(this.#h)throw new Error("generateCompletion already started");let s=this.getLastTurn()?.nextUrl??this.#D;i({type:"start",id:"",name:"thinking",title:"Thinking",content:""});try{let o=this.#h=[],a=await this.getCurrentCommitHash();!t.beforeCommit&&a&&(t.beforeCommit=a);let c=[...this.#M??[],"view_path","get_rule","get_style_inspiration","bash","grep_search","web_search"];this.#t?.devServerOrchestrator&&c.push("dev_server_control");let l={url:s,position:this.#k,eventName:"cli code",maxPages:2,autoContinue:1,codeGenMode:this.#v,userContext:t.userContext,files:r.files,mcpServers:this.#B,maxTokens:this.#L,attachments:r.attachments,customInstructions:t.customInstructions,sessionId:t.sessionId,userPrompt:r.userPrompt,ephemeralUserPrompt:r.userMessage?.ephemeralUserPrompt,displayUserPrompt:r.userMessage?.displayPrompt,prettierConfig:t.prettierConfig??void 0,diffActions:!0,pingEvents:!0,workingDirectory:this.#n,beforeCommit:a,toolResults:r.toolResults,role:r.role,user:r.userMessage?.user,enabledTools:c,conclusionText:!0,searchResponse:r.searchResponse},u=_le(this.#e,this.#a,l,this.#s,n),p;for await(let d of u){let h=async y=>{if(y.type==="user"){let b=p={state:"running",unixTime:Date.now(),title:"",sentiment:void 0,userMessage:r.userMessage,afterCommit:a,beforeCommit:a,actions:[],applyResults:[],completionId:y.id??"",nextUrl:void 0,user:y.user};p=b,t.turns.push(b),i({type:"user",displayPrompt:y.displayPrompt,id:y.id,user:y.user,role:y.user.role})}else if(y.type==="mcp-status")this.#S=y,i(y);else if(y.type==="error")i(y);else if(y.type==="done"){let b=p=await this.#Y(t,y,p,a);b.applyResults.length>0&&this.#t?.devServerOrchestrator?.addCheckpoint();let v=await this.#X(this.#e,b),E=await this.commitWorkInProgress(b);E&&(v=!0,b.afterCommit=E),i({type:"done",stopReason:y.stopReason,id:y.id,applyResults:b.applyResults,actions:y.actions??[],usage:y.usage,url:y.nextUrl,hasChanges:v})}else{if(y.type==="continue")return p&&gB(this.#e,this.#a,{id:p.completionId,afterCommit:p.afterCommit},this.#s),i({type:"continue",id:y.id,url:y.nextUrl}),!0;y.type==="thinking"&&(y.actionTitle="Planning"),"content"in y&&y.type!=="delta"&&i({type:"start",name:y.type,id:"id"in y?y.id:void 0,title:y.actionTitle??y.artifactTitle??y.filePath??"",content:y.content})}return!1},m=async y=>{y.type==="user"&&i({type:"user",displayPrompt:y.displayPrompt,id:y.id,role:y.user.role,user:y.user}),y.type==="thinking"&&i({type:"planning",content:y.content}),y.type==="server_tool_result"&&i({type:"server_tool_result",content:JSON.parse(y.content),title:y.actionTitle??y.artifactTitle??"Server Tool Result",id:y.id}),y.type==="file"&&y.filePath&&!y.synthetic&&i({type:"file",filePath:y.filePath,content:y.content,title:y.actionTitle??y.artifactTitle??"Created",id:y.id}),y.type==="diff"&&y.filePath&&!y.synthetic&&i({type:"diff",filePath:y.filePath,title:y.actionTitle??y.artifactTitle??"Updated",content:y.content,id:y.id}),y.type==="tool"&&y.filePath?i({type:"tool",name:y.filePath,id:y.id,content:y.content}):y.type==="text"&&i({type:"text",content:y.content})},g=async(y,b)=>{i({type:"delta",name:y.type,delta:b})};if(d.type!=="ping")if(d.type==="delta"){let y=d.content,b=Cw(o);b&&"content"in b&&(b.content+=y,await g(b,y))}else{let y=Cw(o);if(y&&"content"in y&&(y.incomplete=!1,await m(y)),o.push(d),await h(d))break}}return p?p.actions.some(d=>d.type==="tool"):!1}finally{this.#h=void 0}}async commitWorkInProgress(t){if(this.#t?.git){if(await this.isCleanWorkTree())return;try{await this.runGitCommand("git add .");let n=`${t.title}
1782
+ ${s}`})})}):null}setDebug(t){this.#s=t}async getAllFiles(){if(!this.#o?.folders?.length)return Qa(this.#n);let t=[];for(let n of this.#o.folders){let i=this.#e.resolve(this.#n,n.path),s=await Qa(i),o=this.#_()?".":n.name||this.#e.basename(i);for(let a of s)o!=="."?t.push(this.#e.join(o,a)):t.push(a)}let r=await this.#e.readdir(this.#n);for(let n of r)yB(n)&&t.push(n);return t}getSessionId(){return this.getSessionContext().sessionId}getSpaceId(){return this.#a.builderPublicKey}async restore(t,r,n=!1){let i=this.getSessionContext(),s=i.turns.length,o=null;for(let p=s-1;p>=-1;p--)if(r(p>=0?i.turns[p]:null,p)){o=p;break}if(o===null)return null;await this.abort();let a=new Map,c=!!this.#t?.git,l=i.turns,u=Math.max(0,t==="before"?o:o+1);for(let p=l.length-1;p>=u;p--){let d=l[p];for(let h of d.applyResults)a.set(h.filePath,h.oldContent??"")}if(!n){let p;if(c){if(o===-1?i.beforeCommit?p=i.beforeCommit:l.length>0&&(p=l[0].beforeCommit):o<l.length&&(t==="after"?(p=l[o].afterCommit,!p&&o+1<l.length&&(p=l[o+1].beforeCommit)):p=l[o].beforeCommit),!p)return[];await this.runGitCommand(`git reset --quiet --hard ${p}`)}else for(let[g,y]of a.entries())y?await this.writeFile(g,y):await this.deleteFile(g);let d=l.splice(u,l.length-u);this.#s&&console.log("Remaining turns",l);let m=l[l.length-1]?.completionId;d.length>0&&(await kle(this.#e,this.#a,{lastCompletionId:m,sessionId:i.sessionId},!!this.#s),i.updatedUnixTime=Date.now(),this.#r.emit("step",{type:"restore",files:Array.from(a.keys()),lastCompletionId:m,location:t,commitHash:p}))}return await this.#I(),Array.from(a.keys())}async#I(t){let r=await this.#t?.devServerOrchestrator?.ensureDevCommand(t);return r&&(await new Promise(n=>setTimeout(n,500)),this.requestRefresh()),r}async restoreHEAD(){return this.restore("after",()=>!0)}async restoreAll(){return this.restore("before",(t,r)=>r===-1)}async restoreBeforeCompletionId(t){return this.restore("before",r=>r?.completionId===t)}async undoLastUserMessage(t=!1){return this.restore("before",r=>r?.user.role==="user",t)}getLastCompletionId(){let t=this.getSessionContext();return ww(t)?.completionId}getCurrentState(){return this.getSessionContext().state}getLastApplyResultsTurn(){let t=this.getSessionContext();return Ple(t)}getLastTurn(){let t=this.getSessionContext();return ww(t)}getNextUrl(){let t=this.getSessionContext();return ww(t)?.nextUrl}getNextMessage(){let t=new Promise(r=>{this.#l?r():this.#b=r}).then(()=>{let r=this.#l;if(r)return!r.dropAbortedPrompt&&this.#u&&(r=Ble(this.#u,r)),this.#l=void 0,this.#u=r,r});return{shouldWait:!this.#l,promise:t}}async sendFeedback(t){if(process.env.NODE_ENV==="test")return;Be("quality code feedback given",{spaceId:this.#a.builderPublicKey,sentiment:t.feedbackSentiment,mode:"cli"});let r=t.id??this.getLastCompletionId();r&&await gB(this.#e,this.#a,{...t,id:r},!!this.#s)}async lastTurnHasChanges(){let t=await this.undoLastUserMessage(!0);return t?t.length>0:!1}#g(t){let r=this.getSessionContext(),n=r.state;n!==t&&(r.state=t,this.#r.emit("step",{type:"state",abortable:t==="generating",previousState:n,newState:t}))}async sendMessage(t,r=!0){r&&await this.abort(!1),this.#l=t,this.#b&&this.#b()}getTurns(){let t=this.getSessionContext();return structuredClone(t.turns)}getSessionContext(){if(!this.#y)throw new Error("Session context not initialized");return this.#y}async runSetupCommand(){return await this.#t?.devServerOrchestrator?.runSetupCommand()}abortSetupCommand(){this.#t?.devServerOrchestrator?.abortSetupCommand()}async abort(t=!0){if(t&&(this.#u=void 0),this.#c){if(this.#c.abort(),this.#c=void 0,this.hasChanges()){let r=this.getNetLinesChanged();await this.sendFeedback({acceptedLines:r})}return await this.restoreHEAD(),!0}return!1}async stopEventLoop(){this.abortSetupCommand(),await this.abort(),this.#p?.abort(),this.#p=void 0,this.#b&&this.#b()}requestRefresh(){this.#r.emit("step",{type:"builder-action",action:"refresh",metadata:{}})}async close(){U.warn("Closing code session"),await this.stopEventLoop(),this.#r.removeAllListeners()}async emitGitStatus(){let t=await this.#H();return t&&(this.#E=t,this.#r.emit("step",t)),t}async#H(){if(!this.#t?.git)return null;this.#C++;let t=this.hasChanges(),r=await this.#P(),n=!1,i="",s=null;try{let l=await this.runGitCommand("git rev-parse --absolute-git-dir");s=this.#e.join(l,"FETCH_HEAD"),Sw.default.existsSync(s)&&Sw.default.unlinkSync(s)}catch(l){this.#e.Sentry?.captureException(l,{extra:{fetchHeadFilePath:s,isCheckingGitStatus:this.#C}}),s=null}try{i=await this.runGitCommand(`git fetch --no-tags origin ${r}`),n=!0}catch{n=!1}let o=await this.#e.getRepoInfo(this.#i),a=t?1:0,c=0;if(n)try{let l=$le(await this.runGitCommand("git rev-list --left-right --count HEAD...FETCH_HEAD"));a=l.ahead,c=l.behind}catch(l){let u=null;if(s)try{u=await this.#e.readFile(this.#e.join(this.#i,".git/FETCH_HEAD")),u=`FETCH_HEAD: ${u}`}catch(p){u=`FETCH_HEAD FAILED: ${String(p)}`}else u="FETCH_HEAD MISSING";this.#e.Sentry?.captureException(l,{extra:{fetchOutput:i,fetchHead:u,remoteBranch:r,currentBranch:o.currentBranch,currentCommit:o.commit,isCheckingGitStatus:this.#C}})}return this.#C--,{type:"git",remoteBranchExists:n,isSessionDirty:t,canSync:a>0||c>0,canPush:a>0,canPull:c>0,ahead:a,behind:c,currentCommit:o.commit,currentBranch:o.currentBranch,remoteBranch:r}}connectToEventLoop(t,r){if(t){let n=this.getSessionContext(),i=n.turns;r({type:"state",newState:"replay",abortable:!1,previousState:n.state}),r({type:"session",title:n.title,beforeCommit:n.beforeCommit,createdUnixTime:n.createdUnixTime,updatedUnixTime:n.updatedUnixTime,id:n.sessionId,hasChanges:this.hasChanges()}),this.#S&&r(this.#S),this.#E&&r(this.#E);for(let o of i){r({type:"user",displayPrompt:o.userMessage?o.userMessage.displayPrompt??o.userMessage.userPrompt:void 0,attachments:o.userMessage?.attachments,id:o.completionId,user:o.user,role:o.user.role});for(let a of o.actions)(a.type==="file"||a.type==="diff"||a.type==="text"||a.type==="thinking")&&(r({type:"start",name:a.type,content:"",id:a.id??"",filePath:a.filePath??"",title:a.actionTitle??a.artifactTitle??""}),r({type:"delta",name:a.type,delta:a.content}),a.type==="file"?r({type:a.type,id:o.completionId,filePath:a.filePath??"",content:a.content,title:a.actionTitle??a.artifactTitle??"Created"}):a.type==="diff"?r({type:"diff",id:o.completionId,filePath:a.filePath??"",content:a.content,title:a.actionTitle??a.artifactTitle??"Updated"}):a.type==="thinking"?r({type:"planning",content:a.content}):a.type==="text"&&r({type:"text",content:a.content}))}if(this.#h){let o=this.#h[this.#h.length-1];switch(o.type){case"file":case"diff":case"text":case"thinking":case"suggestion":case"tool":r({type:"start",id:o.id,name:o.type,title:o.actionTitle??o.artifactTitle??"",content:""}),r({type:"delta",name:o.type,delta:o.content});break}}let s=this.#t?.devServerOrchestrator;s?(r({type:"dev-server",devServerState:s.devState,setupState:s.setupState}),s.setupState!=="installed"&&r({type:"stdio",id:"setupCommand",command:s.setupCommand??"",content:s.getSetupOutput(),source:"run-command",stream:"stdout"}),r({type:"stdio",id:"devServer",command:s.devCommand,content:s.getOutput(),source:"run-command",stream:"stdout"})):r({type:"dev-server",devServerState:"running",setupState:"installed"}),r({type:"state",newState:n.state,abortable:n.state==="generating",previousState:"replay"}),this.#f&&n.state!=="generating"&&r({type:"wait-for-input",state:n.state,suggestion:this.#w})}return this.#r.on("step",r),this.waitForEventLoop(),()=>{this.#r.off("step",r)}}waitUntilIdle(){return this.waitForEventLoop(),(0,Gh.once)(this.#r,"idle").then(()=>{})}waitForEventLoop(){return this.#f?this.#f:this.#f=this.#V()}async#V(){if(this.#f||this.#p)throw new Error("Event loop already started");let t=Mle(),r=a=>{this.#r.emit("step",a)};this.#p=new AbortController;let n=this.#p.signal,i=this.#t?.devServerOrchestrator,s=this.getSessionContext();this.#e.Sentry?.setContext("codeGen",{sessionId:s.sessionId}),await this.emitGitStatus(),i?.setupState==="not-installed"&&this.runSetupCommand();let o=0;try{for(;!n.aborted;){this.#c=void 0;let a=this.getNextMessage(),c=!1;if(a.shouldWait){let u,p=await this.#q(!1);if(p){o++,c=!0;let d=!this.#l&&Ale.includes(s.state)&&o<2;u=this.#w={actionButtonText:"Try to fix",type:"build-error",level:"error",canAutoApply:d,healthStatus:p,message:p.message,userMessage:{userPrompt:p.prompt,skipSearch:!0,displayPrompt:"The app seems to be in a broken state, please fix and debug."}}}this.#r.emit("idle"),r({type:"wait-for-input",state:s.state,suggestion:u})}let l=await a.promise;if(n.aborted)break;if(l){try{this.#w=void 0,l.logsCheckpoint&&i?.addCheckpoint(),this.#c=new AbortController;let u=$h([n,this.#c.signal]);if(u?.aborted)throw Qs();this.#g("generating"),await this.#$(l,u,r),this.#g("success"),this.#w=void 0,c||(o=0)}catch(u){u instanceof Error?u.name==="AbortError"?(r({type:"user-abort"}),this.#g("abort")):(this.#u=void 0,r({type:"error",message:u.message,metadata:{error:u}}),this.#e.Sentry?.captureException(u),this.#g("error")):this.#g("error")}this.#U++}}}catch(a){throw this.#e.Sentry?.captureException(a,{level:"fatal"}),a}finally{this.#p=void 0,this.#f=void 0,t()}this.#g("close")}async agentCompletion(t,r,n){if(this.#s){let i=n;n=s=>{s.type!=="delta"&&U.info(`Event: ${JSON.stringify(s,void 0,2)}`),i(s)}}return this.#$(t,r,n)}async#$(t,r,n){let i=this.getSessionContext(),s=0;for(;;){if(r?.aborted)throw Qs();try{let o=await this.#J(s===0?t:void 0,r,n);if(o.role==="user"){let c=o.files.filter(l=>(l.importance??0)>2.5&&l.content).map(l=>({filePath:l.filePath,size:l.content?.length??0,isCustomInstruction:!1,wasIncluded:l.wasIncluded}));i.customInstructions.forEach(l=>{l.filePath&&c.push({filePath:l.filePath,size:l.content?.length??0,isCustomInstruction:!0,wasIncluded:!0})}),n({type:"user-input",prompt:o.userPrompt,files:c})}else n({type:"agent-input",toolResults:o.toolResults});let a=await this.#W(i,o,r,n);if(this.#u=void 0,await this.#I(),!a)break}finally{Ile(i.turns),s++}}}async#W(t,r,n,i){if(this.#h)throw new Error("generateCompletion already started");let s=this.getLastTurn()?.nextUrl??this.#D;i({type:"start",id:"",name:"thinking",title:"Thinking",content:""});try{let o=this.#h=[],a=await this.getCurrentCommitHash();!t.beforeCommit&&a&&(t.beforeCommit=a);let c=[...this.#M??[],"view_path","get_rule","get_style_inspiration","bash","grep_search","web_search"];this.#t?.devServerOrchestrator&&c.push("dev_server_control");let l={url:s,position:this.#k,eventName:"cli code",maxPages:2,autoContinue:1,codeGenMode:this.#v,userContext:t.userContext,files:r.files,mcpServers:this.#B,maxTokens:this.#L,attachments:r.attachments,customInstructions:t.customInstructions,sessionId:t.sessionId,userPrompt:r.userPrompt,ephemeralUserPrompt:r.userMessage?.ephemeralUserPrompt,displayUserPrompt:r.userMessage?.displayPrompt,prettierConfig:t.prettierConfig??void 0,diffActions:!0,pingEvents:!0,workingDirectory:this.#n,beforeCommit:a,toolResults:r.toolResults,role:r.role,user:r.userMessage?.user,enabledTools:c,conclusionText:!0,searchResponse:r.searchResponse},u=_le(this.#e,this.#a,l,this.#s,n),p;for await(let d of u){let h=async y=>{if(y.type==="user"){let b=p={state:"running",unixTime:Date.now(),title:"",sentiment:void 0,userMessage:r.userMessage,afterCommit:a,beforeCommit:a,actions:[],applyResults:[],completionId:y.id??"",nextUrl:void 0,user:y.user};p=b,t.turns.push(b),i({type:"user",displayPrompt:y.displayPrompt,id:y.id,user:y.user,role:y.user.role})}else if(y.type==="mcp-status")this.#S=y,i(y);else if(y.type==="error")i(y);else if(y.type==="done"){let b=p=await this.#Y(t,y,p,a);b.applyResults.length>0&&this.#t?.devServerOrchestrator?.addCheckpoint();let v=await this.#X(this.#e,b),E=await this.commitWorkInProgress(b);E&&(v=!0,b.afterCommit=E),i({type:"done",stopReason:y.stopReason,id:y.id,applyResults:b.applyResults,actions:y.actions??[],usage:y.usage,url:y.nextUrl,hasChanges:v})}else{if(y.type==="continue")return p&&gB(this.#e,this.#a,{id:p.completionId,afterCommit:p.afterCommit},this.#s),i({type:"continue",id:y.id,url:y.nextUrl}),!0;y.type==="thinking"&&(y.actionTitle="Planning"),"content"in y&&y.type!=="delta"&&i({type:"start",name:y.type,id:"id"in y?y.id:void 0,title:y.actionTitle??y.artifactTitle??y.filePath??"",content:y.content})}return!1},m=async y=>{y.type==="user"&&i({type:"user",displayPrompt:y.displayPrompt,id:y.id,role:y.user.role,user:y.user}),y.type==="thinking"&&i({type:"planning",content:y.content}),y.type==="server_tool_result"&&i({type:"server_tool_result",content:JSON.parse(y.content),title:y.actionTitle??y.artifactTitle??"Server Tool Result",id:y.id}),y.type==="file"&&y.filePath&&!y.synthetic&&i({type:"file",filePath:y.filePath,content:y.content,title:y.actionTitle??y.artifactTitle??"Created",id:y.id}),y.type==="diff"&&y.filePath&&!y.synthetic&&i({type:"diff",filePath:y.filePath,title:y.actionTitle??y.artifactTitle??"Updated",content:y.content,id:y.id}),y.type==="tool"&&y.filePath?i({type:"tool",name:y.filePath,id:y.id,content:y.content}):y.type==="text"&&i({type:"text",content:y.content})},g=async(y,b)=>{i({type:"delta",name:y.type,delta:b})};if(d.type!=="ping")if(d.type==="delta"){let y=d.content,b=Cw(o);b&&"content"in b&&(b.content+=y,await g(b,y))}else{let y=Cw(o);if(y&&"content"in y&&(y.incomplete=!1,await m(y)),o.push(d),await h(d))break}}return p?p.actions.some(d=>d.type==="tool"):!1}finally{this.#h=void 0}}async commitWorkInProgress(t){if(this.#t?.git){if(await this.isCleanWorkTree())return;try{await this.runGitCommand("git add .");let n=`${t.title}
1783
1783
  ${t.completionId}`.split(`
1784
1784
  `).map(s=>`-m ${JSON.stringify(s)}`).join(" ");await this.runGitCommand(`git commit --allow-empty --quiet --no-verify ${n}`);let i=await this.getCurrentCommitHash();return await this.emitGitStatus(),i}catch(r){console.error("Error in Fusion commit process:",r),this.#e.Sentry?.captureException(r)}}}async#J(t,r,n){let i=this.getSessionContext(),s=Cw(i.turns),o=s?.actions.filter(l=>l.type==="tool").map(l=>{let u=l.content.trim();return{id:l.id,name:l.filePath,input:u?JSON.parse(u):{}}})??[],a={userMessage:t,userPrompt:t?.userPrompt??"",files:[],attachments:[],searchResponse:null,rerankFiles:0,mostRelevantFile:null,toolResults:[],role:t?.user?.role??"agent"};if(t){let b=function(E){return g&&yB(E)?5:p.has(E)||y.some(x=>E.toLowerCase().startsWith(x.toLowerCase()))?2:0};var c=b;let l=k_(await this.getAllFiles()),u=new Set,p=new Set,d=i.sessionId,h=t.skipSearch??this.#v==="quality-v3",m=null;if(!h&&o.length===0){n({type:"start",title:"Searching codebase",id:"",content:"",name:"search"});let E=await this.#e.getRepoInfo(this.#i),x=await Ur(this.#e,this.#i);if(r?.aborted)throw Qs();if(m=await $_(this.#e,this.#a,r,{query:t.userPrompt,selectedFiles:t.files,repoInfo:E,limit:10,files:l.slice(0,300),packageJson:x?JSON.stringify(x):void 0,sessionId:d}),r?.aborted)throw Qs();if(this.#s&&U.info(`Search Codebase results: ${JSON.stringify(m,void 0,2)}`),m){for(let w of m.relevantPaths)u.add(Op(w));for(let w of m.ranked)u.add(Op(w.filePath));if(this.#v==="quality"){let w=0;for(let C of m.grepQueries){let S=await dB(this.#e,this.#n,C);for(let _ of S.matches)w===0?u.add(Op(_.path)):p.add(Op(_.path));w++}}}}if(t.files)for(let E of t.files)u.add(Op(E));let g=t.includeBaseFiles??i.turns.length===0,y=Array.from(u),v=r?.aborted?[]:l.map(E=>{let x=b(E);if(x===0)return{filePath:E};let w=this.readFileSync(E);if(!w)return{filePath:E};let C=w.length<3e4;return{filePath:E,content:w,importance:C?x:2}});a.role="user",a.files=v,a.attachments=t.attachments??[],a.searchResponse=m,a.rerankFiles=0,a.mostRelevantFile=null,a.toolResults=[]}if(o.length>0){let l,u={sys:this.#e,files:a.files,signal:r,emitter:this.#r,workingDirectory:this.#n,bashWorkingDirectory:this.#A,workspaceFolders:this.#o?.folders??[],patchFusionConfig:p=>{l||(l={});let d=l.envVariables;Object.assign(l,p),l.envVariables={...d,...p.envVariables}},readFile:p=>this.readFile(p),writeFile:(p,d)=>this.writeFile(p,d),deleteFile:p=>this.deleteFile(p),fileExists:p=>this.fileExists(p),listDir:p=>this.listDir(p),stat:p=>this.stat(p),resolveWorkspacePath:(p,d)=>this.resolveWorkspacePath(p,d),...this.#t};if(r?.aborted)throw Qs();if(s){s.state="running";let p=await pB(u,o);l&&this.#r.emit("step",{type:"fusion-config-patch",patch:l}),s.state="done",a.files=u.files,a.toolResults=p}}return a}async#Y(t,r,n,i){let{actions:s}=r,o=n||{state:"done",unixTime:r.unixTime??Date.now(),title:r.actionTitle,user:{source:"agent",role:"agent"},completionId:r.id??"",nextUrl:r.nextUrl,applyResults:[],actions:s??[],userMessage:void 0,beforeCommit:i,afterCommit:i,sentiment:void 0};if(o.state="done",o.title=r.actionTitle??"",o.nextUrl=r.nextUrl,o.actions=s??[],n||t.turns.push(o),Array.isArray(s))for(let a of s){let c=a.filePath;if(a.type==="file"&&c&&!a.incomplete){let u=await this.fileExists(c)?this.readFileSync(c):null;if(u)if(a.content.trim()==="")o.applyResults.push({action:"delete",filePath:c,addedLines:0,removedLines:u.split(`
1785
1785
  `).length,content:"",oldContent:u});else{let p=B_(u,a.content);o.applyResults.push({action:"update",filePath:c,addedLines:p.filter(d=>d.added).reduce((d,h)=>d+(h.count??0),0),removedLines:p.filter(d=>d.removed).reduce((d,h)=>d+(h.count??0),0),content:a.content,oldContent:u})}else o.applyResults.push({action:"create",filePath:c,addedLines:a.content.split(`
@@ -3954,7 +3954,7 @@ Come up with a minimal set of changes to fix the problems
3954
3954
  ## Make changes
3955
3955
  Make the necessary changes to fix the problem.
3956
3956
  Those could be file changes, or dev-server command changes, or proxy port changes, etc. or a combination of them.
3957
- `;f();var C1=require("process");async function dg(e,t){let r=["builder.config.json","fusion.config.json"],n=e.cwd(),i=!!(t.local||!t.projectId),s,o={devCommand:"",authenticateProxy:!i,workingDirectory:n,projectId:t.projectId,serverUrl:"",commitMode:"commits",isLocal:i,allowedCommands:["npm *","pnpm *","yarn *","git diff *","git log *","git status *","echo *","cd *","rm *","find *","ls *","curl *","npx tsc *","head *","lsof *","kill *","ps *","awk *","cat *","grep *","sed *","tail *","touch *","mkdir *"]};if(t.configJson)try{let d=JSON.parse(t.configJson);o=Object.assign({},o,d)}catch(d){e.Sentry?.captureException(d)}else{for(let d of r){let h=e.join(n,d);if(await e.exists(h)){s=h;break}}if(s)try{let d=await e.readFile(s);if(d){let h=JSON.parse(d);o=Object.assign({},o,h)}}catch(d){e.Sentry?.captureException(d)}}o.command&&(o.devCommand||(o.devCommand=o.command),delete o.command);let a=t.c||t.command,c=t.p||t.port,l=t.installCommand,u=t.serverUrl,p=t.interactive&&!t.configJson&&!t.fusionInit&&i;if(u?(p=!1,o.serverUrl=u,a||(o.devCommand="")):a&&c&&(p=!1,o.serverUrl=`http://localhost:${c}`,o.devCommand=a),a&&c&&(p=!1),c&&!u&&(o.serverUrl=`http://localhost:${c}`),l&&(o.setupCommand=l),a&&(o.devCommand=a),typeof t.authenticateProxy=="boolean"&&(o.authenticateProxy=t.authenticateProxy),p){if(!o.devCommand){let d=await xt({message:"Enter the command to run for the dev server (e.g. 'npm run dev')",placeholder:"npm run dev",validate:h=>{if(h.trim()===""||h.length===0)return"Command cannot be empty"}});if(Pe(d))return Ce("Goodbye! \u{1F44B}"),await(0,C1.exit)(1);o.devCommand=d}if(!o.serverUrl){let d=await xt({message:"Enter the port number for the dev server",placeholder:"3000",validate:h=>{let m=Number(h);if(isNaN(m)||m<0||m>65535||Math.floor(m)!==m)return"Invalid port number, must be an integer between 0 and 65535"}});if(Pe(d))return Ce("Goodbye! \u{1F44B}"),await(0,C1.exit)(1);o.serverUrl=`http://localhost:${d}`}await e.writeFile(s??e.join(n,r[0]),JSON.stringify(Yde(o,"workingDirectory","projectId","authenticateProxy"),null,2))}return o}var Yde=(e,...t)=>{let r={};if(e&&typeof e=="object")for(let n in e)(!e.hasOwnProperty||e.hasOwnProperty(n))&&(t.includes(n)||(r[n]=e[n]));return r};f();var oi=require("child_process"),il=q(require("fs"),1),Wp=q(require("path"),1),si=q(require("@sentry/node"),1),D9=require("util"),S9=require("events");f();var w9=e=>["could not read Username","could not read Password","No such device or address","Authentication failed","Permission denied","fatal: Authentication failed for","fatal: could not read Username for 'https://github.com'","remote: Support for password authentication was removed","remote: Please use a personal access token instead"].some(r=>e.toLowerCase().includes(r.toLowerCase())),C9=(e,t)=>t?`Failed to clone repository ${e}. Something went wrong with your GitHub authentication. Please try to authenticate Builder.io with GitHub again.`:`Failed to clone repository ${e}. You need to authenticate Builder.io with GitHub first.`,D1=e=>{let t=e.toLowerCase().includes("package.json")&&(e.toLowerCase().includes("no such file")||e.toLowerCase().includes("not found")||e.toLowerCase().includes("enoent")||e.toLowerCase().includes("cannot find")),r=e.toLowerCase().includes("ebadplatform")||e.toLowerCase().includes("unsupported platform")||e.toLowerCase().includes("unsupported os")||e.toLowerCase().includes("unsupported arch")||e.toLowerCase().includes("unsupported cpu"),n="Failed to install dependencies";switch(!0){case t:n="Could not find package.json file. Please check if the setupCommand needs to be updated or provide a repository with a package.json file to run.";break;case r:n="There is a platform specific dependency that is not supported on this platform.";break;default:n="Failed to install dependencies";break}return n};var Xde=["steve8708/mui-vite","steve8708/carbon-vite","steve8708/vite-react-shopify-polaris","steve8708/cloudscape-demos"],sl=class extends S9.EventEmitter{currentState="IDLE";config;retryCount=new Map;metadata={};abortController=null;activeChildProcesses=new Set;baseRetryDelay;maxRetryDelay;execAsync=(0,D9.promisify)(oi.exec);operationLog=[];operationCounter=0;repositories;allInitErrors=[];constructor(t){if(super(),this.config=t,this.baseRetryDelay=t.retryDelayMs??1e3,this.maxRetryDelay=t.maxRetryDelayMs??3e4,this.repositories=(t.fusionConfig.workspace?.folders??[]).filter(r=>r.branchName&&r.repoUrl&&r.name&&r.path&&r.repoName),this.config.debug&&(console.log("[DEBUG] constructor: Initializing InitStateMachine"),console.log("[DEBUG] constructor: Debug mode enabled"),console.log(`[DEBUG] constructor: Base retry delay: ${this.baseRetryDelay}ms`),console.log(`[DEBUG] constructor: Max retry delay: ${this.maxRetryDelay}ms`),console.log(`[DEBUG] constructor: Filtered repositories: ${this.repositories.length}`),this.repositories.forEach((r,n)=>{console.log(`[DEBUG] constructor: Repository ${n+1}: ${r.repoName} (${r.path}) - branch: ${r.branchName}`)})),!this.repositories.length)throw this.config.debug&&console.log("[DEBUG] constructor: ERROR - No repositories configured"),new Error("At least one repository must be configured");if(!t.sys)throw this.config.debug&&console.log("[DEBUG] constructor: ERROR - DevToolsSys not provided"),new Error("DevToolsSys is required in config");this.config.debug&&console.log("[DEBUG] constructor: InitStateMachine initialized successfully")}updateStatus(t,r,n,i,s){this.config.debug&&(console.log(`[DEBUG] updateStatus: ${t} -> ${r} (${n}%)`),i&&console.error(`[DEBUG] updateStatus error: ${i}`),s&&console.log("[DEBUG] updateStatus metadata:",s));let o=this.startOperation(`status_update_${t.toLowerCase()}`,{state:t,progress:n,message:r,error:i,...s}),a={state:t,progress:n,message:r,error:i?this.sanitizeError(i):void 0,metadata:{...this.metadata,...s,operationLog:this.operationLog,performanceStats:this.getPerformanceStats()}};this.currentState=t,this.completeOperation(o),this.emit("status",a)}sanitizeError(t){let r=t;return r=r.replace(/https:\/\/[^@]+@/g,"https://REDACTED@"),r}async delay(t){return new Promise((r,n)=>{let i=setTimeout(r,t);this.abortController?.signal.addEventListener("abort",()=>{clearTimeout(i),n(new DOMException("Delay aborted","AbortError"))},{once:!0})})}calculateRetryDelay(t){let r=Math.min(this.baseRetryDelay*Math.pow(2,t),this.maxRetryDelay),n=Math.random()*.3*r;return Math.floor(r+n)}async executeWithRetry(t){if(this.config.debug&&console.log(`[DEBUG] executeWithRetry: Starting transition from ${t.from} to ${t.to}`),this.abortController?.signal.aborted)return this.config.debug&&console.log("[DEBUG] executeWithRetry: Operation already aborted, cancelling"),this.updateStatus("CANCELLED","Operation cancelled",this.getProgress(this.currentState)),!1;let r=this.retryCount.get(t.from)||0;this.config.debug&&console.log(`[DEBUG] executeWithRetry: Retry count for ${t.from}: ${r}`);try{this.config.debug&&console.log(`[DEBUG] executeWithRetry: Executing action for ${t.from}`);let n=await t.action();if(this.config.debug&&console.log(`[DEBUG] executeWithRetry: Action result for ${t.from}: ${n}`),n)return this.retryCount.delete(t.from),this.config.debug&&console.log(`[DEBUG] executeWithRetry: Success! Cleared retry count for ${t.from}`),!0;if(t.retryable&&r<t.maxRetries&&!this.abortController?.signal.aborted){let i=r+1;this.retryCount.set(t.from,i);let s=this.calculateRetryDelay(r);if(this.config.debug&&console.log(`[DEBUG] executeWithRetry: Scheduling retry ${i}/${t.maxRetries} for ${t.from} in ${s}ms`),this.updateStatus(t.from,`Retrying in ${Math.round(s/1e3)}s... (${i}/${t.maxRetries})`,this.getProgress(t.from),void 0,{retryCount:i,retryDelayMs:s}),await this.delay(s),!this.abortController?.signal.aborted)return this.executeWithRetry(t)}return this.config.debug&&console.error(`[DEBUG] executeWithRetry: No more retries available for ${t.from}, failing`),!1}catch(n){if(n instanceof DOMException&&n.name==="AbortError")return this.config.debug&&console.error(`[DEBUG] executeWithRetry: Abort error caught for ${t.from}`),this.updateStatus("CANCELLED","Operation cancelled",this.getProgress(this.currentState)),!1;let i=n instanceof Error?n.message:String(n);if(this.config.debug&&console.error(`[DEBUG] executeWithRetry: Exception caught for ${t.from}: ${i}`),si.captureException(n,{tags:{state:t.from,action:t.action.name},extra:{config:{...this.config,githubToken:"REDACTED"},retries:r}}),t.retryable&&r<t.maxRetries&&!this.abortController?.signal.aborted){let s=r+1;this.retryCount.set(t.from,s);let o=this.calculateRetryDelay(r);this.config.debug&&console.error(`[DEBUG] executeWithRetry: Exception occurred, scheduling retry ${s}/${t.maxRetries} for ${t.from} in ${o}ms`),this.updateStatus(t.from,`Error occurred, retrying in ${Math.round(o/1e3)}s... (${s}/${t.maxRetries})`,this.getProgress(t.from),i,{retryCount:s,retryDelayMs:o,error:i});try{await this.delay(o)}catch(a){if(a instanceof DOMException&&a.name==="AbortError")return this.config.debug&&console.log(`[DEBUG] executeWithRetry: Delay aborted for ${t.from}`),this.updateStatus("CANCELLED","Operation cancelled",this.getProgress(this.currentState)),!1;throw a}if(!this.abortController?.signal.aborted)return this.executeWithRetry(t)}return this.config.debug&&console.error(`[DEBUG] executeWithRetry: Final failure for ${t.from}, no more retries`),this.updateStatus("FAILED",`Failed at ${t.from}`,this.getProgress(t.from),i),this.emit("error",i,t.from),!1}}getProgress(t){return{IDLE:0,CHECKING_DIRECTORIES:10,CONFIGURING_GIT_REPO:30,CONFIGURING_GIT_USER:50,INSTALLING_DEPENDENCIES:70,STASHING_CHANGES:90,COMPLETED:100,FAILED:0,CANCELLED:0}[t]||0}checkAborted(){return this.abortController?.signal.aborted??!1}async checkDirectories(){if(this.checkAborted())return!1;this.config.debug&&(console.log("[DEBUG] checkDirectories: Starting directory checks"),console.log(`[DEBUG] checkDirectories: Volume path: ${this.config.fusionConfig.workingDirectory}`),console.log(`[DEBUG] checkDirectories: Repositories to check: ${this.repositories.length}`));let t=this.startOperation("check_directories_overall");this.updateStatus("CHECKING_DIRECTORIES","Checking directories...",10);let r=this.config.fusionConfig.workingDirectory,n=this.startOperation("check_volume_directory",{path:r});if(!il.existsSync(r))return this.config.debug&&console.log(`[DEBUG] checkDirectories: Volume directory does not exist: ${r}`),this.failOperation(n,"Volume directory does not exist"),this.failOperation(t,"Volume directory missing"),this.updateStatus("FAILED",`Volume directory ${this.config.fusionConfig.workingDirectory} does not exist`,10,"Directory not found"),!1;this.config.debug&&console.log(`[DEBUG] checkDirectories: Volume directory exists: ${r}`),this.completeOperation(n);for(let i of this.repositories){if(this.checkAborted())return this.config.debug&&console.log(`[DEBUG] checkDirectories: Aborted during repo check for ${i.path}`),this.abortOperation(t),!1;let s=Wp.join(this.config.fusionConfig.workingDirectory,i.path);this.config.debug&&console.log(`[DEBUG] checkDirectories: Checking repo directory: ${s}`);let o=this.startOperation("check_repo_directory",{repo:i.path,path:s}),a=il.existsSync(s);if(this.metadata[`repo_${i.path}_exists`]=a,this.config.debug&&console.log(`[DEBUG] checkDirectories: Repo ${i.path} exists: ${a}`),a)this.completeOperation(o,{created:!1});else{let c=this.startOperation("create_repo_directory",{repo:i.path,path:s});this.config.debug&&console.log(`[DEBUG] checkDirectories: Creating directory: ${s}`);try{il.mkdirSync(s,{recursive:!0}),this.config.debug&&console.log(`[DEBUG] checkDirectories: Successfully created directory: ${s}`),this.completeOperation(c),this.completeOperation(o,{created:!0}),this.updateStatus("CHECKING_DIRECTORIES",`Created directory ${i.path}`,15)}catch(l){let u=l instanceof Error?l.message:String(l);return this.config.debug&&console.log(`[DEBUG] checkDirectories: Failed to create directory ${s}: ${u}`),this.failOperation(c,u),this.failOperation(o,u),this.failOperation(t,u),si.captureException(new Error(`Failed to create directory ${i.path}`,{cause:l}),{tags:{operation:"mkdir",folder:i.path}}),this.updateStatus("FAILED",`Failed to create directory ${i.path}`,15,u),!1}}}return this.completeOperation(t),this.updateStatus("CHECKING_DIRECTORIES","All directories checked",20),this.config.debug&&console.log("[DEBUG] checkDirectories: Completed successfully"),!0}isGitConfigured(t){try{return(0,oi.execSync)("git rev-parse --is-inside-work-tree",{cwd:t,stdio:["ignore","pipe","pipe"]}),!0}catch{return!1}}getGitRemoteUrl(t){try{return(0,oi.execSync)("git config --get remote.origin.url",{cwd:t,stdio:["ignore","pipe","pipe"]}).toString().trim()}catch{return null}}sanitizeGitRemoteUrl(t){return t.replace(/https:\/\/[^@]+@/,"https://")}async cloneRepository(t,r){if(this.checkAborted())return!1;this.config.debug&&(console.log(`[DEBUG] cloneRepository: Starting clone for ${t.repoName}`),console.log(`[DEBUG] cloneRepository: Target path: ${r}`),console.log(`[DEBUG] cloneRepository: Repository URL: ${this.sanitizeGitRemoteUrl(t.repoUrl)}`),console.log(`[DEBUG] cloneRepository: Preferred branch: ${t.branchName}`));let n=new Set([t.branchName??"main",null,"main","master"]);this.config.debug&&console.log(`[DEBUG] cloneRepository: Will try branches in order: ${Array.from(n).map(i=>i||"default").join(", ")}`);for(let i of n){if(this.checkAborted())return this.config.debug&&console.log(`[DEBUG] cloneRepository: Aborted during branch ${i||"default"} attempt`),!1;this.config.debug&&console.log(`[DEBUG] cloneRepository: Attempting clone with branch: ${i||"default"}`);try{if(il.existsSync("/template")&&t.repoName==="BuilderIO/fusion-starter"){this.config.debug&&console.log("[DEBUG] cloneRepository: Template directory exists, copying from /template instead of cloning");let s=this.startOperation("copy_from_template",{repo:t.repoUrl,sourcePath:"/template",targetPath:r});return this.updateStatus("CONFIGURING_GIT_REPO","Copying from template...",35),await this.execAsync(`rm -rf ${r} && cp -a /template ${r}`,{signal:this.abortController?.signal}),this.config.debug&&console.log(`[DEBUG] cloneRepository: Successfully copied from template to ${r}`),this.completeOperation(s),!0}else{let s=i?` -b ${i}`:"",o=`git clone${s} ${JSON.stringify(t.repoUrl)} ${JSON.stringify(r)}`;this.config.debug&&console.log(`[DEBUG] cloneRepository: Executing git clone command: git clone${s} --depth 1 [REPO_URL] [REPO_PATH]`);let a=this.startOperation("git_clone",{repo:t.name,repoUrl:this.sanitizeGitRemoteUrl(t.repoUrl),branch:i||"default",targetPath:r});if(this.updateStatus("CONFIGURING_GIT_REPO",`Cloning repository${i?` (branch: ${i})`:""}...`,35),await this.execAsync(o,{signal:this.abortController?.signal}),Xde.includes(t.repoName)){this.config.debug&&console.log(`[DEBUG] cloneRepository: Clearing commit history for example repo ${t.repoName}`);let c=[`cd ${JSON.stringify(r)}`,"rm -rf .git","git init","git add .","git branch -M main",'git commit -m "Initial setup"'].join(" && ");await this.execAsync(c,{signal:this.abortController?.signal}),this.config.debug&&console.log(`[DEBUG] cloneRepository: Successfully cleared commit history for ${t.repoName}`),this.metadata[`repo_${t.repoName}_history_cleared`]=!0}return this.config.debug&&console.log(`[DEBUG] cloneRepository: Successfully cloned ${t.repoName} with branch ${i||"default"}`),this.metadata[`repo_${t.repoName}_branch`]=i||"default",this.completeOperation(a,{actualBranch:i||"default"}),!0}}catch(s){if(s instanceof Error&&s.name==="AbortError")return this.config.debug&&console.log(`[DEBUG] cloneRepository: Clone aborted for ${t.repoName}`),!1;let o=s instanceof Error?s.message:String(s),a=this.sanitizeError(o);if(w9(o)){this.config.debug&&console.log(`[DEBUG] cloneRepository: GitHub authentication error detected for ${t.repoName}`);let c=t.repoUrl.includes("x-access-token")&&t.repoUrl.includes("ghp_"),l=C9(t.repoName,c);this.allInitErrors.push({userMessage:l,type:"hard-error"}),this.config.debug&&console.log(`[DEBUG] cloneRepository: GitHub auth error for branch ${i||"default"}: ${l}`),console.error(`GitHub authentication error: ${l}`),si.captureException(new Error(`GitHub authentication failed for repository ${t.repoName}`,{cause:s}),{tags:{operation:"git-clone-auth",repo:t.repoName},extra:{hasGhToken:c,authErrorMessage:l}})}else this.allInitErrors.push({userMessage:`Failed to clone repository ${t.repoName}. Error: ${a}`,type:"hard-error"}),this.config.debug&&console.log(`[DEBUG] cloneRepository: Clone failed for branch ${i||"default"}: ${a}`),console.error(`Clone failed: ${a}`),si.captureException(new Error(`Failed to clone repository ${t.repoName}`,{cause:s}),{tags:{operation:"git-clone",repo:t.repoName}});continue}}return this.config.debug&&console.log(`[DEBUG] cloneRepository: All clone attempts failed for ${t.repoName}`),!1}async configureGitRepos(){if(this.checkAborted())return!1;this.config.debug&&(console.log("[DEBUG] configureGitRepos: Starting git repository configuration"),console.log(`[DEBUG] configureGitRepos: Processing ${this.repositories.length} repositories`)),this.updateStatus("CONFIGURING_GIT_REPO","Configuring git repositories...",30);for(let t of this.repositories){if(this.checkAborted())return this.config.debug&&console.log(`[DEBUG] configureGitRepos: Aborted during processing of ${t.repoName}`),!1;let r=Wp.join(this.config.fusionConfig.workingDirectory,t.path);if(this.config.debug&&console.log(`[DEBUG] configureGitRepos: Processing repository ${t.repoName} at ${r}`),this.isGitConfigured(r)){this.config.debug&&console.log(`[DEBUG] configureGitRepos: Repository ${t.repoName} already has git configuration`);let n=this.getGitRemoteUrl(r),i=t.repoUrl;if(this.config.debug&&(console.log(`[DEBUG] configureGitRepos: Current remote URL: ${n?this.sanitizeGitRemoteUrl(n):"none"}`),console.log(`[DEBUG] configureGitRepos: Expected remote URL: ${this.sanitizeGitRemoteUrl(i)}`)),n){let s=this.sanitizeGitRemoteUrl(n),o=this.sanitizeGitRemoteUrl(i);if(s!==o){this.config.debug&&console.log(`[DEBUG] configureGitRepos: Remote URL mismatch for ${t.repoName}, updating...`);try{(0,oi.execSync)(`git remote set-url origin ${JSON.stringify(i)}`,{cwd:r,stdio:["ignore","pipe","pipe"]}),this.config.debug&&console.log(`[DEBUG] configureGitRepos: Successfully updated remote URL for ${t.repoName}`),this.updateStatus("CONFIGURING_GIT_REPO",`Updated git remote for ${t.repoName}`,40)}catch(a){return this.config.debug&&console.log(`[DEBUG] configureGitRepos: Failed to update remote URL for ${t.repoName}: ${a instanceof Error?a.message:String(a)}`),si.captureException(new Error(`Failed to update remote URL for ${t.repoName}`,{cause:a}),{tags:{operation:"git-remote-set-url",repo:t.repoName},extra:{expectedUrl:o,currentUrl:s}}),!1}}else this.config.debug&&console.log(`[DEBUG] configureGitRepos: Remote URL already correct for ${t.repoName}`)}else{this.config.debug&&console.log(`[DEBUG] configureGitRepos: No remote URL found for ${t.repoName}, adding origin...`);try{(0,oi.execSync)(`git remote add origin ${JSON.stringify(i)}`,{cwd:r,stdio:"pipe"}),this.config.debug&&console.log(`[DEBUG] configureGitRepos: Successfully added remote origin for ${t.repoName}`)}catch(s){return this.config.debug&&console.log(`[DEBUG] configureGitRepos: Failed to add remote origin for ${t.repoName}: ${s instanceof Error?s.message:String(s)}`),si.captureException(new Error(`Failed to add remote origin for ${t.repoName}`,{cause:s}),{tags:{operation:"git-remote-add",repo:t.repoName}}),!1}}}else{if(this.config.debug&&console.log(`[DEBUG] configureGitRepos: Repository ${t.repoName} not configured as git repo, cloning...`),!await this.cloneRepository(t,r))return this.config.debug&&console.log(`[DEBUG] configureGitRepos: Failed to clone repository ${t.repoName}`),this.updateStatus("FAILED",`Failed to clone repository ${t.repoName}`,40,"Clone failed"),!1;this.config.debug&&console.log(`[DEBUG] configureGitRepos: Successfully cloned repository ${t.repoName}`)}}return this.updateStatus("CONFIGURING_GIT_REPO","Git repositories configured",45),this.config.debug&&console.log("[DEBUG] configureGitRepos: Completed successfully"),!0}async configureGitUser(){if(this.checkAborted())return!1;this.config.debug&&(console.log("[DEBUG] configureGitUser: Starting git user configuration"),console.log(`[DEBUG] configureGitUser: Configuring for ${this.repositories.length} repositories`)),this.updateStatus("CONFIGURING_GIT_USER","Configuring git user...",50);for(let t of this.repositories){if(this.checkAborted())return this.config.debug&&console.log(`[DEBUG] configureGitUser: Aborted during configuration of ${t.repoName}`),!1;let r=Wp.join(this.config.fusionConfig.workingDirectory,t.path);this.config.debug&&console.log(`[DEBUG] configureGitUser: Configuring git user for ${t.repoName} at ${r}`);try{(0,oi.execSync)('git config user.email "builder-bot@builder.io" && git config user.name "Builder.io"',{cwd:r,stdio:["ignore","pipe","pipe"]}),this.config.debug&&console.log(`[DEBUG] configureGitUser: Successfully configured git user for ${t.repoName}`)}catch(n){return this.config.debug&&console.log(`[DEBUG] configureGitUser: Failed to configure git user for ${t.repoName}: ${n instanceof Error?n.message:String(n)}`),si.captureException(new Error(`Failed to configure git user for ${t.repoName}`,{cause:n}),{tags:{operation:"git-config-user",repo:t.repoName}}),this.updateStatus("FAILED",`Failed to configure git user for ${t.repoName}`,55,n instanceof Error?n.message:String(n)),!1}}return this.updateStatus("CONFIGURING_GIT_USER","Git user configured",60),this.config.debug&&console.log("[DEBUG] configureGitUser: Completed successfully"),!0}async installDependencies(){if(this.checkAborted())return!1;this.config.debug&&console.log("[DEBUG] installDependencies: Starting dependency installation"),this.updateStatus("INSTALLING_DEPENDENCIES","Installing dependencies...",70);let t=this.config.fusionConfig.setupCommand;if(!t)return this.config.debug&&console.log("[DEBUG] installDependencies: No setup command provided, skipping installation"),this.updateStatus("INSTALLING_DEPENDENCIES","No setup command provided, skipping...",85),!0;let r=this.config.fusionConfig.workingDirectory,n=t.includes("npm install")?t.replace("npm install","npm install --no-audit --prefer-offline"):t;return this.config.debug&&(console.log(`[DEBUG] installDependencies: Original command: ${t}`),console.log(`[DEBUG] installDependencies: Modified command: ${n}`),console.log(`[DEBUG] installDependencies: Working directory: ${r}`)),new Promise(i=>{if(this.checkAborted()){this.config.debug&&console.log("[DEBUG] installDependencies: Aborted before starting process"),i(!0);return}this.config.debug&&console.log("[DEBUG] installDependencies: Spawning child process for dependency installation");let s=(0,oi.spawn)(n,{shell:!0,stdio:["ignore","pipe","pipe"],cwd:r,env:{...process.env,NO_COLOR:"1",FORCE_COLOR:"0",NPM_CONFIG_PROGRESS:"false",TERM:"dumb",CI:"true"},signal:this.abortController?.signal});this.activeChildProcesses.add(s),this.config.debug&&console.error(`[DEBUG] installDependencies: Child process started with PID: ${s.pid}`);let o="";s.stdout?.on("data",a=>{o+=a.toString(),this.config.debug&&console.log(`[DEBUG] installDependencies stdout: ${a.toString().trim()}`)}),s.stderr?.on("data",a=>{o+=a.toString(),this.config.debug&&console.log(`[DEBUG] installDependencies stderr: ${a.toString().trim()}`)}),s.on("close",a=>{if(this.activeChildProcesses.delete(s),this.config.debug&&console.log(`[DEBUG] installDependencies: Child process closed with code: ${a}`),this.checkAborted()){this.config.debug&&console.log("[DEBUG] installDependencies: Process was aborted"),i(!0);return}if(a===0)this.config.debug&&console.log("[DEBUG] installDependencies: Dependencies installed successfully"),this.updateStatus("INSTALLING_DEPENDENCIES","Dependencies installed",85),i(!0);else{this.config.debug&&(console.error(`[DEBUG] installDependencies: Installation failed with exit code ${a}`),console.error(`[DEBUG] installDependencies: Output: ${o.substring(0,500)}...`)),si.captureException(new Error("Failed to install dependencies."),{tags:{operation:"install-dependencies"},level:"warning",extra:{command:n,workingDirectory:r,output:o.substring(0,500)}});let c=D1(o);this.allInitErrors.push({userMessage:c,contextForLLMs:`npm install process error: ${o}`,type:"soft-error"}),this.updateStatus("INSTALLING_DEPENDENCIES","Failed to install dependencies, continuing...",85),i(!0)}}),s.on("error",a=>{this.activeChildProcesses.delete(s),this.config.debug&&console.error(`[DEBUG] installDependencies: Child process error: ${a.message}`),si.captureException(new Error("Failed to install dependencies",{cause:a}),{tags:{operation:"install-dependencies"},level:"warning",extra:{command:n,workingDirectory:r}});let c=D1(a.message);this.allInitErrors.push({userMessage:c,contextForLLMs:`npm install process error: ${a.message}`,type:"soft-error"}),this.updateStatus("INSTALLING_DEPENDENCIES","Failed to install dependencies, continuing...",85),i(!0)})})}async stashChanges(){if(this.checkAborted())return!1;this.config.debug&&console.log(`[DEBUG] stashChanges: Starting git stash for ${this.repositories.length} repositories`),this.updateStatus("STASHING_CHANGES","Stashing changes...",90);for(let t of this.repositories){if(this.checkAborted())return this.config.debug&&console.error(`[DEBUG] stashChanges: Aborted during stashing of ${t.repoName}`),!1;let r=Wp.join(this.config.fusionConfig.workingDirectory,t.path);this.config.debug&&console.log(`[DEBUG] stashChanges: Stashing changes for ${t.repoName} at ${r}`);try{(0,oi.execSync)("git stash --include-untracked",{cwd:r,stdio:["ignore","pipe","pipe"]}),this.config.debug&&console.log(`[DEBUG] stashChanges: Successfully stashed changes for ${t.repoName}`)}catch(n){this.config.debug&&console.error(`[DEBUG] stashChanges: Failed to stash changes for ${t.repoName} (this is usually fine if no changes exist): ${n instanceof Error?n.message:String(n)}`),si.captureException(new Error("Failed to stash changes",{cause:n}),{level:"warning",extra:{repoName:t.repoName}})}}return this.updateStatus("STASHING_CHANGES","Changes stashed",95),this.config.debug&&console.log("[DEBUG] stashChanges: Completed successfully"),!0}async execute(t){if(this.config.debug&&(console.log("[DEBUG] execute: Starting InitStateMachine execution"),console.log(`[DEBUG] execute: Signal provided: ${t?"yes":"no"}`),console.log(`[DEBUG] execute: Repositories configured: ${this.repositories.length}`),console.log(`[DEBUG] execute: Working directory: ${this.config.fusionConfig.workingDirectory}`)),this.abortController=t?new AbortController:null,t&&(this.config.debug&&console.log("[DEBUG] execute: Linking provided signal to internal abort controller"),t.addEventListener("abort",()=>{this.config.debug&&console.error("[DEBUG] execute: External signal aborted, aborting internal controller"),this.abortController?.abort()},{once:!0})),this.checkAborted())return this.config.debug&&console.log("[DEBUG] execute: Already aborted before starting"),this.updateStatus("CANCELLED","Already cancelled",0),this.emit("abort","CANCELLED"),{success:!1,errors:[...this.allInitErrors]};let r=[{from:"IDLE",to:"CHECKING_DIRECTORIES",action:()=>this.checkDirectories(),retryable:!1,maxRetries:0},{from:"CHECKING_DIRECTORIES",to:"CONFIGURING_GIT_REPO",action:()=>this.configureGitRepos(),retryable:!0,maxRetries:3},{from:"CONFIGURING_GIT_REPO",to:"CONFIGURING_GIT_USER",action:()=>this.configureGitUser(),retryable:!0,maxRetries:2}];this.config.runSetupCommand?r.push({from:"CONFIGURING_GIT_USER",to:"INSTALLING_DEPENDENCIES",action:()=>this.installDependencies(),retryable:!0,maxRetries:0},{from:"INSTALLING_DEPENDENCIES",to:"STASHING_CHANGES",action:()=>this.stashChanges(),retryable:!1,maxRetries:0}):r.push({from:"CONFIGURING_GIT_USER",to:"STASHING_CHANGES",action:()=>this.stashChanges(),retryable:!1,maxRetries:0}),this.config.debug&&(console.log(`[DEBUG] execute: Configured ${r.length} state transitions`),r.forEach((n,i)=>{console.log(`[DEBUG] execute: Transition ${i+1}: ${n.from} -> ${n.to} (retryable: ${n.retryable}, maxRetries: ${n.maxRetries})`)})),this.updateStatus("IDLE","Starting initialization...",0);for(let n of r){if(this.checkAborted())return this.config.debug&&console.log(`[DEBUG] execute: Aborted during transition processing, current state: ${this.currentState}`),this.updateStatus("CANCELLED","Operation cancelled",this.getProgress(this.currentState)),this.emit("abort",this.currentState),await this.cleanup(),{success:!1,errors:[...this.allInitErrors]};if(this.currentState!==n.from){this.config.debug&&console.log(`[DEBUG] execute: Skipping transition ${n.from} -> ${n.to} (current state: ${this.currentState})`);continue}this.config.debug&&console.log(`[DEBUG] execute: Executing transition ${n.from} -> ${n.to}`);let i=await this.executeWithRetry(n);if(this.config.debug&&console.log(`[DEBUG] execute: Transition ${n.from} -> ${n.to} result: ${i}`),!i)return this.config.debug&&console.error("[DEBUG] execute: Transition failed, emitting complete event with failure"),this.emit("complete",!1,this.currentState),await this.cleanup(),{success:!1,errors:[...this.allInitErrors]};this.currentState=n.to,this.config.debug&&console.log(`[DEBUG] execute: State updated to: ${this.currentState}`)}return this.checkAborted()?(this.config.debug&&console.log("[DEBUG] execute: Aborted after all transitions completed"),this.updateStatus("CANCELLED","Operation cancelled",this.getProgress(this.currentState)),this.emit("abort",this.currentState),await this.cleanup(),{success:!1,errors:[...this.allInitErrors]}):(this.config.debug&&(console.log("[DEBUG] execute: All transitions completed successfully"),console.log("[DEBUG] execute: Final state: COMPLETED")),this.updateStatus("COMPLETED","Initialization completed successfully",100,void 0,{completedAt:new Date().toISOString(),repositories:this.repositories.map(n=>n.repoUrl)}),this.emit("complete",!0,"COMPLETED"),this.config.debug&&console.log("[DEBUG] execute: InitStateMachine execution completed successfully"),{success:!0,errors:[...this.allInitErrors]})}getCurrentState(){return this.currentState}getMetadata(){return{...this.metadata}}getOperationLog(){return[...this.operationLog]}async cleanup(){this.config.debug&&(console.log("[DEBUG] cleanup: Starting cleanup process"),console.log(`[DEBUG] cleanup: Active operations: ${this.operationLog.filter(t=>t.status==="started").length}`),console.log(`[DEBUG] cleanup: Active child processes: ${this.activeChildProcesses.size}`));for(let t of this.operationLog)t.status==="started"&&(this.config.debug&&console.log(`[DEBUG] cleanup: Aborting operation: ${t.operation} (ID: ${t.id})`),this.abortOperation(t.id));for(let t of this.activeChildProcesses)this.config.debug&&console.log(`[DEBUG] cleanup: Killing child process with PID: ${t.pid}`),await Hc(this.config.sys,t,this.abortController?.signal),this.config.debug&&console.log(`[DEBUG] cleanup: Child process killed: ${t.pid}`);this.activeChildProcesses.clear(),this.retryCount.clear(),this.metadata={},this.operationLog=[],this.operationCounter=0,this.allInitErrors=[],this.config.debug&&console.log("[DEBUG] cleanup: Cleanup completed - cleared all state")}startOperation(t,r){let n=`op_${++this.operationCounter}`,i={id:n,operation:t,state:this.currentState,startTime:Date.now(),status:"started",metadata:r};return this.operationLog.push(i),this.config.debug&&(console.log(`[DEBUG] startOperation: Started operation '${t}' with ID ${n} in state ${this.currentState}`),r&&console.log("[DEBUG] startOperation metadata:",r)),this.emit("operation",i),n}completeOperation(t,r){let n=this.operationLog.find(i=>i.id===t);n?(n.endTime=Date.now(),n.duration=n.endTime-n.startTime,n.status="completed",r&&(n.metadata={...n.metadata,...r}),this.config.debug&&(console.log(`[DEBUG] completeOperation: Completed operation '${n.operation}' (ID: ${t}) in ${n.duration}ms`),r&&console.log("[DEBUG] completeOperation completion metadata:",r)),this.emit("operation",n)):this.config.debug&&console.log(`[DEBUG] completeOperation: Warning - operation with ID ${t} not found`)}failOperation(t,r,n){let i=this.operationLog.find(s=>s.id===t);i?(i.endTime=Date.now(),i.duration=i.endTime-i.startTime,i.status="failed",i.error=r,n&&(i.metadata={...i.metadata,...n}),this.config.debug&&(console.log(`[DEBUG] failOperation: Failed operation '${i.operation}' (ID: ${t}) after ${i.duration}ms`),console.log(`[DEBUG] failOperation error: ${r}`),n&&console.log("[DEBUG] failOperation failure metadata:",n)),this.emit("operation",i)):this.config.debug&&console.log(`[DEBUG] failOperation: Warning - operation with ID ${t} not found`)}abortOperation(t){let r=this.operationLog.find(n=>n.id===t);r&&r.status==="started"?(r.endTime=Date.now(),r.duration=r.endTime-r.startTime,r.status="aborted",this.config.debug&&console.log(`[DEBUG] abortOperation: Aborted operation '${r.operation}' (ID: ${t}) after ${r.duration}ms`),this.emit("operation",r)):this.config.debug&&console.log(r?`[DEBUG] abortOperation: Warning - operation '${r.operation}' (ID: ${t}) was not in started state (status: ${r.status})`:`[DEBUG] abortOperation: Warning - operation with ID ${t} not found`)}getPerformanceStats(){let t=this.operationLog.filter(i=>i.duration!==void 0),r=t.reduce((i,s)=>i+(s.duration||0),0),n=new Map;for(let i of t){n.has(i.state)||n.set(i.state,{count:0,totalTime:0,operations:[]});let s=n.get(i.state);s.count++,s.totalTime+=i.duration||0,s.operations.push(i.operation)}return{totalOperations:this.operationLog.length,completedOperations:t.length,totalDurationMs:r,avgOperationTimeMs:t.length>0?r/t.length:0,operationsByState:Object.fromEntries(Array.from(n.entries()).map(([i,s])=>[i,{...s,avgTimeMs:s.count>0?s.totalTime/s.count:0}])),slowestOperations:t.sort((i,s)=>(s.duration||0)-(i.duration||0)).slice(0,5).map(i=>({operation:i.operation,state:i.state,durationMs:i.duration}))}}};var zi=48752,Qde=!1;async function Zde(e){return new Promise(t=>{let r=_9.createServer();r.listen(e,()=>{r.once("close",()=>{t(!0)}),r.close()}),r.on("error",()=>{t(!1)})})}async function efe(e){let t=e,r=100;for(let n=0;n<r;n++){if(await Zde(t))return t;t=Math.floor(Math.random()*16384)+49152}throw new Error(`Could not find an available port after ${r} attempts`)}function T9(e,t,r){if(e.jsonOutput){let n={type:"server_error",data:{error:t,details:r,timestamp:Date.now()}};console.log(JSON.stringify(n))}}var Bt;async function k9({sys:e,args:t}){process.env.FLY_APP_NAME&&A9.getCurrentScope().setContext("flyIo",{flyAppName:process.env.FLY_APP_NAME,flyMachineId:process.env.FLY_MACHINE_ID,flyRegion:process.env.FLY_REGION,flyPublicIp:process.env.FLY_PUBLIC_IP,flyVmMemoryMb:process.env.FLY_VM_MEMORY_MB,flyPrimaryRegion:process.env.PRIMARY_REGION}),console.log(),Gc((0,Mn.bgCyan)((0,Mn.bold)((0,Mn.white)(" fusion ")))+" "+(0,Mn.dim)(au));let r=await tfe(e,t),n=await dg(e,t),{app:i,proxyUrl:s,server:o}=await rfe(r,n);await nfe(e,n,t);let a=await ife(e,n,t);t.fusionInit&&a&&await Promise.race([a.ensureSetupCommand(),new Promise(c=>setTimeout(c,2e3))]),await sfe({sys:e,credentials:r,args:t,fusionConfig:n,proxyUrl:s,server:o,app:i,devServer:a}),await Be("launch",{...n,dev:!!t.dev})}async function tfe(e,t){let r;try{if(r=await rt(e,t,{builderPrivateKey:!0,builderPublicKey:!0}),!r.builderPublicKey||!r.builderPrivateKey){let n="You need to be logged in to use the fusion command.";return T9(t,n),te.error(n),Ce("Please login first with: npx builder.io login"),await Y(1)}te.success(`Logged in as space: ${r.spaceName||r.builderPublicKey}`)}catch(n){let i="Authentication failed.";return T9(t,i,n instanceof Error?n.message:String(n)),te.error(i),Ce("Please login first with: npx builder.io login"),await Y(1)}return r}async function rfe(e,t){let r=!!t.isLocal,n=zi;r&&(n=await efe(zi),n!==zi&&te.info(`\u26A0\uFE0F Port ${zi} is in use, using port ${n} instead`)),te.info(`\u{1F50D} Setting up Builder.io server on port ${n}`);let i=(0,S1.default)(),s=I9.createServer(i),o=e.builderPrivateKey,a=t.authenticateProxy??!1;Kc({app:i,validBuilderPrivateKey:o,authenticateProxy:a,isLocal:r});let c=`http://localhost:${n}`;return await new Promise((u,p)=>{s.listen(n,async()=>{te.success(`\u{1F680} Builder.io server running at ${c}`),u(!0)})}),{app:i,proxyUrl:c,server:s,availablePort:n}}async function nfe(e,t,r){let n=[];if(r.fusionInit){let a=function(u){let p="\u2588".repeat(Math.floor(u.progress/5)),d="\u2591".repeat(20-Math.floor(u.progress/5));te.info(`[${p}${d}] ${u.progress}% - ${u.message}`),u.error&&te.error(`Error: ${u.error}`),o=u};var i=a;let s=new sl({sys:e,fusionConfig:t,debug:!0,runSetupCommand:!1}),o;s.on("status",a);let c=await s.execute();if(c.errors.length===0||c.errors.every(u=>u.type==="soft-error"))n=c.errors;else{let u=s.getMetadata();return e.Sentry?.captureException(new Error(`Initialization failed: ${o?.message}`,{cause:new Error(JSON.stringify(u))}),{level:"fatal",contexts:{initStatus:{...o},initMetadata:u},extra:u}),await Y(1)}}return n}async function ife(e,t,r){if(r.serverUrl&&!r.command){te.info(`Proxying to existing dev server at ${(0,Mn.cyan)(t.serverUrl)}...`);return}else return te.info(`Running ${(0,Mn.cyan)(t.devCommand)} on host ${(0,Mn.cyan)(t.serverUrl)}...`),await uB(e,t,r.fusionInit?"not-installed":"installed")}async function sfe({sys:e,credentials:t,args:r,fusionConfig:n,app:i,server:s,proxyUrl:o,devServer:a}){try{let c=S1.default.Router();c.get("/status",(y,b)=>{b.status(200).json({status:"ok",editorReady:!0,state:a?.state,setupState:a?.setupState,devState:a?.devState})}),c.get("/proxy-status",async(y,b)=>{try{let v=a?.proxyTarget??n.serverUrl;(await fetch(v,{method:"HEAD"})).status===200?b.status(200).json({status:"ok"}):b.status(500).json({error:"Failed to check proxy status"})}catch{b.status(500).json({error:"Failed to check proxy status"})}}),c.post("/install-plugin",async(y,b)=>{try{let v=ec();if(v.jsxPlugin?.timestamp)return b.status(200).json({error:"JSX Plugin install already attempted. No action performed.",installStatus:v.jsxPlugin});let{installOutcome:E,error:x,timestamp:w}=await KM(e);Fe("jsxPlugin",{outcome:E,error:x,timestamp:w}),b.json({installOutcome:E})}catch(v){e.Sentry?.captureException(v),b.status(500).json({error:"Failed to install plugin"})}}),c.post("/git/pull-latest",async(y,b)=>{try{(0,P9.execSync)("git pull --rebase"),b.json({status:"ok"})}catch(v){e.Sentry?.captureException(v),b.status(500).json({error:"Failed to pull latest changes"})}}),c.post("/generate",async(y,b)=>{try{let{prompt:v,userMessage:E,context:{pushChanges:x}}=y.body;if(!v)return b.status(400).json({error:"No prompt provided"});b.setHeader("Content-Type","text/event-stream"),b.setHeader("Cache-Control","no-cache"),b.setHeader("Connection","keep-alive");let w=await N9(e,t,n,a,void 0,void 0),C=w.connectToEventLoop(!1,S=>{b.write(`data: ${JSON.stringify(S)}
3957
+ `;f();var C1=require("process");async function dg(e,t){let r=["builder.config.json","fusion.config.json"],n=e.cwd(),i=!!t.local||!t.projectId,s,o={devCommand:"",authenticateProxy:!i,workingDirectory:n,projectId:t.projectId,serverUrl:"",commitMode:"commits",isLocal:i,allowedCommands:["npm *","pnpm *","yarn *","git diff *","git log *","git status *","git add *","git commit *","git pull *","git fetch *","git merge *","git rebase *","echo *","cd *","rm *","find *","ls *","curl *","npx tsc *","head *","lsof *","kill *","ps *","awk *","cat *","grep *","sed *","tail *","touch *","mkdir *"]};if(t.configJson)try{let d=JSON.parse(t.configJson);o=Object.assign({},o,d)}catch(d){e.Sentry?.captureException(d)}else{for(let d of r){let h=e.join(n,d);if(await e.exists(h)){s=h;break}}if(s)try{let d=await e.readFile(s);if(d){let h=JSON.parse(d);o=Object.assign({},o,h)}}catch(d){e.Sentry?.captureException(d)}}o.command&&(o.devCommand||(o.devCommand=o.command),delete o.command);let a=t.c||t.command,c=t.p||t.port,l=t.installCommand,u=t.serverUrl,p=t.interactive&&!t.configJson&&!t.fusionInit&&i;if(u?(p=!1,o.serverUrl=u,a||(o.devCommand="")):a&&c&&(p=!1,o.serverUrl=`http://localhost:${c}`,o.devCommand=a),a&&c&&(p=!1),c&&!u&&(o.serverUrl=`http://localhost:${c}`),l&&(o.setupCommand=l),a&&(o.devCommand=a),typeof t.authenticateProxy=="boolean"&&(o.authenticateProxy=t.authenticateProxy),p){if(!o.devCommand){let d=await xt({message:"Enter the command to run for the dev server (e.g. 'npm run dev')",placeholder:"npm run dev",validate:h=>{if(h.trim()===""||h.length===0)return"Command cannot be empty"}});if(Pe(d))return Ce("Goodbye! \u{1F44B}"),await(0,C1.exit)(1);o.devCommand=d}if(!o.serverUrl){let d=await xt({message:"Enter the port number for the dev server",placeholder:"3000",validate:h=>{let m=Number(h);if(isNaN(m)||m<0||m>65535||Math.floor(m)!==m)return"Invalid port number, must be an integer between 0 and 65535"}});if(Pe(d))return Ce("Goodbye! \u{1F44B}"),await(0,C1.exit)(1);o.serverUrl=`http://localhost:${d}`}await e.writeFile(s??e.join(n,r[0]),JSON.stringify(Yde(o,"workingDirectory","projectId","authenticateProxy"),null,2))}return o}var Yde=(e,...t)=>{let r={};if(e&&typeof e=="object")for(let n in e)(!e.hasOwnProperty||e.hasOwnProperty(n))&&(t.includes(n)||(r[n]=e[n]));return r};f();var oi=require("child_process"),il=q(require("fs"),1),Wp=q(require("path"),1),si=q(require("@sentry/node"),1),D9=require("util"),S9=require("events");f();var w9=e=>["could not read Username","could not read Password","No such device or address","Authentication failed","Permission denied","fatal: Authentication failed for","fatal: could not read Username for 'https://github.com'","remote: Support for password authentication was removed","remote: Please use a personal access token instead"].some(r=>e.toLowerCase().includes(r.toLowerCase())),C9=(e,t)=>t?`Failed to clone repository ${e}. Something went wrong with your GitHub authentication. Please try to authenticate Builder.io with GitHub again.`:`Failed to clone repository ${e}. You need to authenticate Builder.io with GitHub first.`,D1=e=>{let t=e.toLowerCase().includes("package.json")&&(e.toLowerCase().includes("no such file")||e.toLowerCase().includes("not found")||e.toLowerCase().includes("enoent")||e.toLowerCase().includes("cannot find")),r=e.toLowerCase().includes("ebadplatform")||e.toLowerCase().includes("unsupported platform")||e.toLowerCase().includes("unsupported os")||e.toLowerCase().includes("unsupported arch")||e.toLowerCase().includes("unsupported cpu"),n="Failed to install dependencies";switch(!0){case t:n="Could not find package.json file. Please check if the setupCommand needs to be updated or provide a repository with a package.json file to run.";break;case r:n="There is a platform specific dependency that is not supported on this platform.";break;default:n="Failed to install dependencies";break}return n};var Xde=["steve8708/mui-vite","steve8708/carbon-vite","steve8708/vite-react-shopify-polaris","steve8708/cloudscape-demos"],sl=class extends S9.EventEmitter{currentState="IDLE";config;retryCount=new Map;metadata={};abortController=null;activeChildProcesses=new Set;baseRetryDelay;maxRetryDelay;execAsync=(0,D9.promisify)(oi.exec);operationLog=[];operationCounter=0;repositories;allInitErrors=[];constructor(t){if(super(),this.config=t,this.baseRetryDelay=t.retryDelayMs??1e3,this.maxRetryDelay=t.maxRetryDelayMs??3e4,this.repositories=(t.fusionConfig.workspace?.folders??[]).filter(r=>r.branchName&&r.repoUrl&&r.name&&r.path&&r.repoName),this.config.debug&&(console.log("[DEBUG] constructor: Initializing InitStateMachine"),console.log("[DEBUG] constructor: Debug mode enabled"),console.log(`[DEBUG] constructor: Base retry delay: ${this.baseRetryDelay}ms`),console.log(`[DEBUG] constructor: Max retry delay: ${this.maxRetryDelay}ms`),console.log(`[DEBUG] constructor: Filtered repositories: ${this.repositories.length}`),this.repositories.forEach((r,n)=>{console.log(`[DEBUG] constructor: Repository ${n+1}: ${r.repoName} (${r.path}) - branch: ${r.branchName}`)})),!this.repositories.length)throw this.config.debug&&console.log("[DEBUG] constructor: ERROR - No repositories configured"),new Error("At least one repository must be configured");if(!t.sys)throw this.config.debug&&console.log("[DEBUG] constructor: ERROR - DevToolsSys not provided"),new Error("DevToolsSys is required in config");this.config.debug&&console.log("[DEBUG] constructor: InitStateMachine initialized successfully")}updateStatus(t,r,n,i,s){this.config.debug&&(console.log(`[DEBUG] updateStatus: ${t} -> ${r} (${n}%)`),i&&console.error(`[DEBUG] updateStatus error: ${i}`),s&&console.log("[DEBUG] updateStatus metadata:",s));let o=this.startOperation(`status_update_${t.toLowerCase()}`,{state:t,progress:n,message:r,error:i,...s}),a={state:t,progress:n,message:r,error:i?this.sanitizeError(i):void 0,metadata:{...this.metadata,...s,operationLog:this.operationLog,performanceStats:this.getPerformanceStats()}};this.currentState=t,this.completeOperation(o),this.emit("status",a)}sanitizeError(t){let r=t;return r=r.replace(/https:\/\/[^@]+@/g,"https://REDACTED@"),r}async delay(t){return new Promise((r,n)=>{let i=setTimeout(r,t);this.abortController?.signal.addEventListener("abort",()=>{clearTimeout(i),n(new DOMException("Delay aborted","AbortError"))},{once:!0})})}calculateRetryDelay(t){let r=Math.min(this.baseRetryDelay*Math.pow(2,t),this.maxRetryDelay),n=Math.random()*.3*r;return Math.floor(r+n)}async executeWithRetry(t){if(this.config.debug&&console.log(`[DEBUG] executeWithRetry: Starting transition from ${t.from} to ${t.to}`),this.abortController?.signal.aborted)return this.config.debug&&console.log("[DEBUG] executeWithRetry: Operation already aborted, cancelling"),this.updateStatus("CANCELLED","Operation cancelled",this.getProgress(this.currentState)),!1;let r=this.retryCount.get(t.from)||0;this.config.debug&&console.log(`[DEBUG] executeWithRetry: Retry count for ${t.from}: ${r}`);try{this.config.debug&&console.log(`[DEBUG] executeWithRetry: Executing action for ${t.from}`);let n=await t.action();if(this.config.debug&&console.log(`[DEBUG] executeWithRetry: Action result for ${t.from}: ${n}`),n)return this.retryCount.delete(t.from),this.config.debug&&console.log(`[DEBUG] executeWithRetry: Success! Cleared retry count for ${t.from}`),!0;if(t.retryable&&r<t.maxRetries&&!this.abortController?.signal.aborted){let i=r+1;this.retryCount.set(t.from,i);let s=this.calculateRetryDelay(r);if(this.config.debug&&console.log(`[DEBUG] executeWithRetry: Scheduling retry ${i}/${t.maxRetries} for ${t.from} in ${s}ms`),this.updateStatus(t.from,`Retrying in ${Math.round(s/1e3)}s... (${i}/${t.maxRetries})`,this.getProgress(t.from),void 0,{retryCount:i,retryDelayMs:s}),await this.delay(s),!this.abortController?.signal.aborted)return this.executeWithRetry(t)}return this.config.debug&&console.error(`[DEBUG] executeWithRetry: No more retries available for ${t.from}, failing`),!1}catch(n){if(n instanceof DOMException&&n.name==="AbortError")return this.config.debug&&console.error(`[DEBUG] executeWithRetry: Abort error caught for ${t.from}`),this.updateStatus("CANCELLED","Operation cancelled",this.getProgress(this.currentState)),!1;let i=n instanceof Error?n.message:String(n);if(this.config.debug&&console.error(`[DEBUG] executeWithRetry: Exception caught for ${t.from}: ${i}`),si.captureException(n,{tags:{state:t.from,action:t.action.name},extra:{config:{...this.config,githubToken:"REDACTED"},retries:r}}),t.retryable&&r<t.maxRetries&&!this.abortController?.signal.aborted){let s=r+1;this.retryCount.set(t.from,s);let o=this.calculateRetryDelay(r);this.config.debug&&console.error(`[DEBUG] executeWithRetry: Exception occurred, scheduling retry ${s}/${t.maxRetries} for ${t.from} in ${o}ms`),this.updateStatus(t.from,`Error occurred, retrying in ${Math.round(o/1e3)}s... (${s}/${t.maxRetries})`,this.getProgress(t.from),i,{retryCount:s,retryDelayMs:o,error:i});try{await this.delay(o)}catch(a){if(a instanceof DOMException&&a.name==="AbortError")return this.config.debug&&console.log(`[DEBUG] executeWithRetry: Delay aborted for ${t.from}`),this.updateStatus("CANCELLED","Operation cancelled",this.getProgress(this.currentState)),!1;throw a}if(!this.abortController?.signal.aborted)return this.executeWithRetry(t)}return this.config.debug&&console.error(`[DEBUG] executeWithRetry: Final failure for ${t.from}, no more retries`),this.updateStatus("FAILED",`Failed at ${t.from}`,this.getProgress(t.from),i),this.emit("error",i,t.from),!1}}getProgress(t){return{IDLE:0,CHECKING_DIRECTORIES:10,CONFIGURING_GIT_REPO:30,CONFIGURING_GIT_USER:50,INSTALLING_DEPENDENCIES:70,STASHING_CHANGES:90,COMPLETED:100,FAILED:0,CANCELLED:0}[t]||0}checkAborted(){return this.abortController?.signal.aborted??!1}async checkDirectories(){if(this.checkAborted())return!1;this.config.debug&&(console.log("[DEBUG] checkDirectories: Starting directory checks"),console.log(`[DEBUG] checkDirectories: Volume path: ${this.config.fusionConfig.workingDirectory}`),console.log(`[DEBUG] checkDirectories: Repositories to check: ${this.repositories.length}`));let t=this.startOperation("check_directories_overall");this.updateStatus("CHECKING_DIRECTORIES","Checking directories...",10);let r=this.config.fusionConfig.workingDirectory,n=this.startOperation("check_volume_directory",{path:r});if(!il.existsSync(r))return this.config.debug&&console.log(`[DEBUG] checkDirectories: Volume directory does not exist: ${r}`),this.failOperation(n,"Volume directory does not exist"),this.failOperation(t,"Volume directory missing"),this.updateStatus("FAILED",`Volume directory ${this.config.fusionConfig.workingDirectory} does not exist`,10,"Directory not found"),!1;this.config.debug&&console.log(`[DEBUG] checkDirectories: Volume directory exists: ${r}`),this.completeOperation(n);for(let i of this.repositories){if(this.checkAborted())return this.config.debug&&console.log(`[DEBUG] checkDirectories: Aborted during repo check for ${i.path}`),this.abortOperation(t),!1;let s=Wp.join(this.config.fusionConfig.workingDirectory,i.path);this.config.debug&&console.log(`[DEBUG] checkDirectories: Checking repo directory: ${s}`);let o=this.startOperation("check_repo_directory",{repo:i.path,path:s}),a=il.existsSync(s);if(this.metadata[`repo_${i.path}_exists`]=a,this.config.debug&&console.log(`[DEBUG] checkDirectories: Repo ${i.path} exists: ${a}`),a)this.completeOperation(o,{created:!1});else{let c=this.startOperation("create_repo_directory",{repo:i.path,path:s});this.config.debug&&console.log(`[DEBUG] checkDirectories: Creating directory: ${s}`);try{il.mkdirSync(s,{recursive:!0}),this.config.debug&&console.log(`[DEBUG] checkDirectories: Successfully created directory: ${s}`),this.completeOperation(c),this.completeOperation(o,{created:!0}),this.updateStatus("CHECKING_DIRECTORIES",`Created directory ${i.path}`,15)}catch(l){let u=l instanceof Error?l.message:String(l);return this.config.debug&&console.log(`[DEBUG] checkDirectories: Failed to create directory ${s}: ${u}`),this.failOperation(c,u),this.failOperation(o,u),this.failOperation(t,u),si.captureException(new Error(`Failed to create directory ${i.path}`,{cause:l}),{tags:{operation:"mkdir",folder:i.path}}),this.updateStatus("FAILED",`Failed to create directory ${i.path}`,15,u),!1}}}return this.completeOperation(t),this.updateStatus("CHECKING_DIRECTORIES","All directories checked",20),this.config.debug&&console.log("[DEBUG] checkDirectories: Completed successfully"),!0}isGitConfigured(t){try{return(0,oi.execSync)("git rev-parse --is-inside-work-tree",{cwd:t,stdio:["ignore","pipe","pipe"]}),!0}catch{return!1}}getGitRemoteUrl(t){try{return(0,oi.execSync)("git config --get remote.origin.url",{cwd:t,stdio:["ignore","pipe","pipe"]}).toString().trim()}catch{return null}}sanitizeGitRemoteUrl(t){return t.replace(/https:\/\/[^@]+@/,"https://")}async cloneRepository(t,r){if(this.checkAborted())return!1;this.config.debug&&(console.log(`[DEBUG] cloneRepository: Starting clone for ${t.repoName}`),console.log(`[DEBUG] cloneRepository: Target path: ${r}`),console.log(`[DEBUG] cloneRepository: Repository URL: ${this.sanitizeGitRemoteUrl(t.repoUrl)}`),console.log(`[DEBUG] cloneRepository: Preferred branch: ${t.branchName}`));let n=new Set([t.branchName??"main",null,"main","master"]);this.config.debug&&console.log(`[DEBUG] cloneRepository: Will try branches in order: ${Array.from(n).map(i=>i||"default").join(", ")}`);for(let i of n){if(this.checkAborted())return this.config.debug&&console.log(`[DEBUG] cloneRepository: Aborted during branch ${i||"default"} attempt`),!1;this.config.debug&&console.log(`[DEBUG] cloneRepository: Attempting clone with branch: ${i||"default"}`);try{if(il.existsSync("/template")&&t.repoName==="BuilderIO/fusion-starter"){this.config.debug&&console.log("[DEBUG] cloneRepository: Template directory exists, copying from /template instead of cloning");let s=this.startOperation("copy_from_template",{repo:t.repoUrl,sourcePath:"/template",targetPath:r});return this.updateStatus("CONFIGURING_GIT_REPO","Copying from template...",35),await this.execAsync(`rm -rf ${r} && cp -a /template ${r}`,{signal:this.abortController?.signal}),this.config.debug&&console.log(`[DEBUG] cloneRepository: Successfully copied from template to ${r}`),this.completeOperation(s),!0}else{let s=i?` -b ${i}`:"",o=`git clone${s} ${JSON.stringify(t.repoUrl)} ${JSON.stringify(r)}`;this.config.debug&&console.log(`[DEBUG] cloneRepository: Executing git clone command: git clone${s} --depth 1 [REPO_URL] [REPO_PATH]`);let a=this.startOperation("git_clone",{repo:t.name,repoUrl:this.sanitizeGitRemoteUrl(t.repoUrl),branch:i||"default",targetPath:r});if(this.updateStatus("CONFIGURING_GIT_REPO",`Cloning repository${i?` (branch: ${i})`:""}...`,35),await this.execAsync(o,{signal:this.abortController?.signal}),Xde.includes(t.repoName)){this.config.debug&&console.log(`[DEBUG] cloneRepository: Clearing commit history for example repo ${t.repoName}`);let c=[`cd ${JSON.stringify(r)}`,"rm -rf .git","git init","git add .","git branch -M main",'git commit -m "Initial setup"'].join(" && ");await this.execAsync(c,{signal:this.abortController?.signal}),this.config.debug&&console.log(`[DEBUG] cloneRepository: Successfully cleared commit history for ${t.repoName}`),this.metadata[`repo_${t.repoName}_history_cleared`]=!0}return this.config.debug&&console.log(`[DEBUG] cloneRepository: Successfully cloned ${t.repoName} with branch ${i||"default"}`),this.metadata[`repo_${t.repoName}_branch`]=i||"default",this.completeOperation(a,{actualBranch:i||"default"}),!0}}catch(s){if(s instanceof Error&&s.name==="AbortError")return this.config.debug&&console.log(`[DEBUG] cloneRepository: Clone aborted for ${t.repoName}`),!1;let o=s instanceof Error?s.message:String(s),a=this.sanitizeError(o);if(w9(o)){this.config.debug&&console.log(`[DEBUG] cloneRepository: GitHub authentication error detected for ${t.repoName}`);let c=t.repoUrl.includes("x-access-token")&&t.repoUrl.includes("ghp_"),l=C9(t.repoName,c);this.allInitErrors.push({userMessage:l,type:"hard-error"}),this.config.debug&&console.log(`[DEBUG] cloneRepository: GitHub auth error for branch ${i||"default"}: ${l}`),console.error(`GitHub authentication error: ${l}`),si.captureException(new Error(`GitHub authentication failed for repository ${t.repoName}`,{cause:s}),{tags:{operation:"git-clone-auth",repo:t.repoName},extra:{hasGhToken:c,authErrorMessage:l}})}else this.allInitErrors.push({userMessage:`Failed to clone repository ${t.repoName}. Error: ${a}`,type:"hard-error"}),this.config.debug&&console.log(`[DEBUG] cloneRepository: Clone failed for branch ${i||"default"}: ${a}`),console.error(`Clone failed: ${a}`),si.captureException(new Error(`Failed to clone repository ${t.repoName}`,{cause:s}),{tags:{operation:"git-clone",repo:t.repoName}});continue}}return this.config.debug&&console.log(`[DEBUG] cloneRepository: All clone attempts failed for ${t.repoName}`),!1}async configureGitRepos(){if(this.checkAborted())return!1;this.config.debug&&(console.log("[DEBUG] configureGitRepos: Starting git repository configuration"),console.log(`[DEBUG] configureGitRepos: Processing ${this.repositories.length} repositories`)),this.updateStatus("CONFIGURING_GIT_REPO","Configuring git repositories...",30);for(let t of this.repositories){if(this.checkAborted())return this.config.debug&&console.log(`[DEBUG] configureGitRepos: Aborted during processing of ${t.repoName}`),!1;let r=Wp.join(this.config.fusionConfig.workingDirectory,t.path);if(this.config.debug&&console.log(`[DEBUG] configureGitRepos: Processing repository ${t.repoName} at ${r}`),this.isGitConfigured(r)){this.config.debug&&console.log(`[DEBUG] configureGitRepos: Repository ${t.repoName} already has git configuration`);let n=this.getGitRemoteUrl(r),i=t.repoUrl;if(this.config.debug&&(console.log(`[DEBUG] configureGitRepos: Current remote URL: ${n?this.sanitizeGitRemoteUrl(n):"none"}`),console.log(`[DEBUG] configureGitRepos: Expected remote URL: ${this.sanitizeGitRemoteUrl(i)}`)),n){let s=this.sanitizeGitRemoteUrl(n),o=this.sanitizeGitRemoteUrl(i);if(s!==o){this.config.debug&&console.log(`[DEBUG] configureGitRepos: Remote URL mismatch for ${t.repoName}, updating...`);try{(0,oi.execSync)(`git remote set-url origin ${JSON.stringify(i)}`,{cwd:r,stdio:["ignore","pipe","pipe"]}),this.config.debug&&console.log(`[DEBUG] configureGitRepos: Successfully updated remote URL for ${t.repoName}`),this.updateStatus("CONFIGURING_GIT_REPO",`Updated git remote for ${t.repoName}`,40)}catch(a){return this.config.debug&&console.log(`[DEBUG] configureGitRepos: Failed to update remote URL for ${t.repoName}: ${a instanceof Error?a.message:String(a)}`),si.captureException(new Error(`Failed to update remote URL for ${t.repoName}`,{cause:a}),{tags:{operation:"git-remote-set-url",repo:t.repoName},extra:{expectedUrl:o,currentUrl:s}}),!1}}else this.config.debug&&console.log(`[DEBUG] configureGitRepos: Remote URL already correct for ${t.repoName}`)}else{this.config.debug&&console.log(`[DEBUG] configureGitRepos: No remote URL found for ${t.repoName}, adding origin...`);try{(0,oi.execSync)(`git remote add origin ${JSON.stringify(i)}`,{cwd:r,stdio:"pipe"}),this.config.debug&&console.log(`[DEBUG] configureGitRepos: Successfully added remote origin for ${t.repoName}`)}catch(s){return this.config.debug&&console.log(`[DEBUG] configureGitRepos: Failed to add remote origin for ${t.repoName}: ${s instanceof Error?s.message:String(s)}`),si.captureException(new Error(`Failed to add remote origin for ${t.repoName}`,{cause:s}),{tags:{operation:"git-remote-add",repo:t.repoName}}),!1}}}else{if(this.config.debug&&console.log(`[DEBUG] configureGitRepos: Repository ${t.repoName} not configured as git repo, cloning...`),!await this.cloneRepository(t,r))return this.config.debug&&console.log(`[DEBUG] configureGitRepos: Failed to clone repository ${t.repoName}`),this.updateStatus("FAILED",`Failed to clone repository ${t.repoName}`,40,"Clone failed"),!1;this.config.debug&&console.log(`[DEBUG] configureGitRepos: Successfully cloned repository ${t.repoName}`)}}return this.updateStatus("CONFIGURING_GIT_REPO","Git repositories configured",45),this.config.debug&&console.log("[DEBUG] configureGitRepos: Completed successfully"),!0}async configureGitUser(){if(this.checkAborted())return!1;this.config.debug&&(console.log("[DEBUG] configureGitUser: Starting git user configuration"),console.log(`[DEBUG] configureGitUser: Configuring for ${this.repositories.length} repositories`)),this.updateStatus("CONFIGURING_GIT_USER","Configuring git user...",50);for(let t of this.repositories){if(this.checkAborted())return this.config.debug&&console.log(`[DEBUG] configureGitUser: Aborted during configuration of ${t.repoName}`),!1;let r=Wp.join(this.config.fusionConfig.workingDirectory,t.path);this.config.debug&&console.log(`[DEBUG] configureGitUser: Configuring git user for ${t.repoName} at ${r}`);try{(0,oi.execSync)('git config user.email "builder-bot@builder.io" && git config user.name "Builder.io"',{cwd:r,stdio:["ignore","pipe","pipe"]}),this.config.debug&&console.log(`[DEBUG] configureGitUser: Successfully configured git user for ${t.repoName}`)}catch(n){return this.config.debug&&console.log(`[DEBUG] configureGitUser: Failed to configure git user for ${t.repoName}: ${n instanceof Error?n.message:String(n)}`),si.captureException(new Error(`Failed to configure git user for ${t.repoName}`,{cause:n}),{tags:{operation:"git-config-user",repo:t.repoName}}),this.updateStatus("FAILED",`Failed to configure git user for ${t.repoName}`,55,n instanceof Error?n.message:String(n)),!1}}return this.updateStatus("CONFIGURING_GIT_USER","Git user configured",60),this.config.debug&&console.log("[DEBUG] configureGitUser: Completed successfully"),!0}async installDependencies(){if(this.checkAborted())return!1;this.config.debug&&console.log("[DEBUG] installDependencies: Starting dependency installation"),this.updateStatus("INSTALLING_DEPENDENCIES","Installing dependencies...",70);let t=this.config.fusionConfig.setupCommand;if(!t)return this.config.debug&&console.log("[DEBUG] installDependencies: No setup command provided, skipping installation"),this.updateStatus("INSTALLING_DEPENDENCIES","No setup command provided, skipping...",85),!0;let r=this.config.fusionConfig.workingDirectory,n=t.includes("npm install")?t.replace("npm install","npm install --no-audit --prefer-offline"):t;return this.config.debug&&(console.log(`[DEBUG] installDependencies: Original command: ${t}`),console.log(`[DEBUG] installDependencies: Modified command: ${n}`),console.log(`[DEBUG] installDependencies: Working directory: ${r}`)),new Promise(i=>{if(this.checkAborted()){this.config.debug&&console.log("[DEBUG] installDependencies: Aborted before starting process"),i(!0);return}this.config.debug&&console.log("[DEBUG] installDependencies: Spawning child process for dependency installation");let s=(0,oi.spawn)(n,{shell:!0,stdio:["ignore","pipe","pipe"],cwd:r,env:{...process.env,NO_COLOR:"1",FORCE_COLOR:"0",NPM_CONFIG_PROGRESS:"false",TERM:"dumb",CI:"true"},signal:this.abortController?.signal});this.activeChildProcesses.add(s),this.config.debug&&console.error(`[DEBUG] installDependencies: Child process started with PID: ${s.pid}`);let o="";s.stdout?.on("data",a=>{o+=a.toString(),this.config.debug&&console.log(`[DEBUG] installDependencies stdout: ${a.toString().trim()}`)}),s.stderr?.on("data",a=>{o+=a.toString(),this.config.debug&&console.log(`[DEBUG] installDependencies stderr: ${a.toString().trim()}`)}),s.on("close",a=>{if(this.activeChildProcesses.delete(s),this.config.debug&&console.log(`[DEBUG] installDependencies: Child process closed with code: ${a}`),this.checkAborted()){this.config.debug&&console.log("[DEBUG] installDependencies: Process was aborted"),i(!0);return}if(a===0)this.config.debug&&console.log("[DEBUG] installDependencies: Dependencies installed successfully"),this.updateStatus("INSTALLING_DEPENDENCIES","Dependencies installed",85),i(!0);else{this.config.debug&&(console.error(`[DEBUG] installDependencies: Installation failed with exit code ${a}`),console.error(`[DEBUG] installDependencies: Output: ${o.substring(0,500)}...`)),si.captureException(new Error("Failed to install dependencies."),{tags:{operation:"install-dependencies"},level:"warning",extra:{command:n,workingDirectory:r,output:o.substring(0,500)}});let c=D1(o);this.allInitErrors.push({userMessage:c,contextForLLMs:`npm install process error: ${o}`,type:"soft-error"}),this.updateStatus("INSTALLING_DEPENDENCIES","Failed to install dependencies, continuing...",85),i(!0)}}),s.on("error",a=>{this.activeChildProcesses.delete(s),this.config.debug&&console.error(`[DEBUG] installDependencies: Child process error: ${a.message}`),si.captureException(new Error("Failed to install dependencies",{cause:a}),{tags:{operation:"install-dependencies"},level:"warning",extra:{command:n,workingDirectory:r}});let c=D1(a.message);this.allInitErrors.push({userMessage:c,contextForLLMs:`npm install process error: ${a.message}`,type:"soft-error"}),this.updateStatus("INSTALLING_DEPENDENCIES","Failed to install dependencies, continuing...",85),i(!0)})})}async stashChanges(){if(this.checkAborted())return!1;this.config.debug&&console.log(`[DEBUG] stashChanges: Starting git stash for ${this.repositories.length} repositories`),this.updateStatus("STASHING_CHANGES","Stashing changes...",90);for(let t of this.repositories){if(this.checkAborted())return this.config.debug&&console.error(`[DEBUG] stashChanges: Aborted during stashing of ${t.repoName}`),!1;let r=Wp.join(this.config.fusionConfig.workingDirectory,t.path);this.config.debug&&console.log(`[DEBUG] stashChanges: Stashing changes for ${t.repoName} at ${r}`);try{(0,oi.execSync)("git stash --include-untracked",{cwd:r,stdio:["ignore","pipe","pipe"]}),this.config.debug&&console.log(`[DEBUG] stashChanges: Successfully stashed changes for ${t.repoName}`)}catch(n){this.config.debug&&console.error(`[DEBUG] stashChanges: Failed to stash changes for ${t.repoName} (this is usually fine if no changes exist): ${n instanceof Error?n.message:String(n)}`),si.captureException(new Error("Failed to stash changes",{cause:n}),{level:"warning",extra:{repoName:t.repoName}})}}return this.updateStatus("STASHING_CHANGES","Changes stashed",95),this.config.debug&&console.log("[DEBUG] stashChanges: Completed successfully"),!0}async execute(t){if(this.config.debug&&(console.log("[DEBUG] execute: Starting InitStateMachine execution"),console.log(`[DEBUG] execute: Signal provided: ${t?"yes":"no"}`),console.log(`[DEBUG] execute: Repositories configured: ${this.repositories.length}`),console.log(`[DEBUG] execute: Working directory: ${this.config.fusionConfig.workingDirectory}`)),this.abortController=t?new AbortController:null,t&&(this.config.debug&&console.log("[DEBUG] execute: Linking provided signal to internal abort controller"),t.addEventListener("abort",()=>{this.config.debug&&console.error("[DEBUG] execute: External signal aborted, aborting internal controller"),this.abortController?.abort()},{once:!0})),this.checkAborted())return this.config.debug&&console.log("[DEBUG] execute: Already aborted before starting"),this.updateStatus("CANCELLED","Already cancelled",0),this.emit("abort","CANCELLED"),{success:!1,errors:[...this.allInitErrors]};let r=[{from:"IDLE",to:"CHECKING_DIRECTORIES",action:()=>this.checkDirectories(),retryable:!1,maxRetries:0},{from:"CHECKING_DIRECTORIES",to:"CONFIGURING_GIT_REPO",action:()=>this.configureGitRepos(),retryable:!0,maxRetries:3},{from:"CONFIGURING_GIT_REPO",to:"CONFIGURING_GIT_USER",action:()=>this.configureGitUser(),retryable:!0,maxRetries:2}];this.config.runSetupCommand?r.push({from:"CONFIGURING_GIT_USER",to:"INSTALLING_DEPENDENCIES",action:()=>this.installDependencies(),retryable:!0,maxRetries:0},{from:"INSTALLING_DEPENDENCIES",to:"STASHING_CHANGES",action:()=>this.stashChanges(),retryable:!1,maxRetries:0}):r.push({from:"CONFIGURING_GIT_USER",to:"STASHING_CHANGES",action:()=>this.stashChanges(),retryable:!1,maxRetries:0}),this.config.debug&&(console.log(`[DEBUG] execute: Configured ${r.length} state transitions`),r.forEach((n,i)=>{console.log(`[DEBUG] execute: Transition ${i+1}: ${n.from} -> ${n.to} (retryable: ${n.retryable}, maxRetries: ${n.maxRetries})`)})),this.updateStatus("IDLE","Starting initialization...",0);for(let n of r){if(this.checkAborted())return this.config.debug&&console.log(`[DEBUG] execute: Aborted during transition processing, current state: ${this.currentState}`),this.updateStatus("CANCELLED","Operation cancelled",this.getProgress(this.currentState)),this.emit("abort",this.currentState),await this.cleanup(),{success:!1,errors:[...this.allInitErrors]};if(this.currentState!==n.from){this.config.debug&&console.log(`[DEBUG] execute: Skipping transition ${n.from} -> ${n.to} (current state: ${this.currentState})`);continue}this.config.debug&&console.log(`[DEBUG] execute: Executing transition ${n.from} -> ${n.to}`);let i=await this.executeWithRetry(n);if(this.config.debug&&console.log(`[DEBUG] execute: Transition ${n.from} -> ${n.to} result: ${i}`),!i)return this.config.debug&&console.error("[DEBUG] execute: Transition failed, emitting complete event with failure"),this.emit("complete",!1,this.currentState),await this.cleanup(),{success:!1,errors:[...this.allInitErrors]};this.currentState=n.to,this.config.debug&&console.log(`[DEBUG] execute: State updated to: ${this.currentState}`)}return this.checkAborted()?(this.config.debug&&console.log("[DEBUG] execute: Aborted after all transitions completed"),this.updateStatus("CANCELLED","Operation cancelled",this.getProgress(this.currentState)),this.emit("abort",this.currentState),await this.cleanup(),{success:!1,errors:[...this.allInitErrors]}):(this.config.debug&&(console.log("[DEBUG] execute: All transitions completed successfully"),console.log("[DEBUG] execute: Final state: COMPLETED")),this.updateStatus("COMPLETED","Initialization completed successfully",100,void 0,{completedAt:new Date().toISOString(),repositories:this.repositories.map(n=>n.repoUrl)}),this.emit("complete",!0,"COMPLETED"),this.config.debug&&console.log("[DEBUG] execute: InitStateMachine execution completed successfully"),{success:!0,errors:[...this.allInitErrors]})}getCurrentState(){return this.currentState}getMetadata(){return{...this.metadata}}getOperationLog(){return[...this.operationLog]}async cleanup(){this.config.debug&&(console.log("[DEBUG] cleanup: Starting cleanup process"),console.log(`[DEBUG] cleanup: Active operations: ${this.operationLog.filter(t=>t.status==="started").length}`),console.log(`[DEBUG] cleanup: Active child processes: ${this.activeChildProcesses.size}`));for(let t of this.operationLog)t.status==="started"&&(this.config.debug&&console.log(`[DEBUG] cleanup: Aborting operation: ${t.operation} (ID: ${t.id})`),this.abortOperation(t.id));for(let t of this.activeChildProcesses)this.config.debug&&console.log(`[DEBUG] cleanup: Killing child process with PID: ${t.pid}`),await Hc(this.config.sys,t,this.abortController?.signal),this.config.debug&&console.log(`[DEBUG] cleanup: Child process killed: ${t.pid}`);this.activeChildProcesses.clear(),this.retryCount.clear(),this.metadata={},this.operationLog=[],this.operationCounter=0,this.allInitErrors=[],this.config.debug&&console.log("[DEBUG] cleanup: Cleanup completed - cleared all state")}startOperation(t,r){let n=`op_${++this.operationCounter}`,i={id:n,operation:t,state:this.currentState,startTime:Date.now(),status:"started",metadata:r};return this.operationLog.push(i),this.config.debug&&(console.log(`[DEBUG] startOperation: Started operation '${t}' with ID ${n} in state ${this.currentState}`),r&&console.log("[DEBUG] startOperation metadata:",r)),this.emit("operation",i),n}completeOperation(t,r){let n=this.operationLog.find(i=>i.id===t);n?(n.endTime=Date.now(),n.duration=n.endTime-n.startTime,n.status="completed",r&&(n.metadata={...n.metadata,...r}),this.config.debug&&(console.log(`[DEBUG] completeOperation: Completed operation '${n.operation}' (ID: ${t}) in ${n.duration}ms`),r&&console.log("[DEBUG] completeOperation completion metadata:",r)),this.emit("operation",n)):this.config.debug&&console.log(`[DEBUG] completeOperation: Warning - operation with ID ${t} not found`)}failOperation(t,r,n){let i=this.operationLog.find(s=>s.id===t);i?(i.endTime=Date.now(),i.duration=i.endTime-i.startTime,i.status="failed",i.error=r,n&&(i.metadata={...i.metadata,...n}),this.config.debug&&(console.log(`[DEBUG] failOperation: Failed operation '${i.operation}' (ID: ${t}) after ${i.duration}ms`),console.log(`[DEBUG] failOperation error: ${r}`),n&&console.log("[DEBUG] failOperation failure metadata:",n)),this.emit("operation",i)):this.config.debug&&console.log(`[DEBUG] failOperation: Warning - operation with ID ${t} not found`)}abortOperation(t){let r=this.operationLog.find(n=>n.id===t);r&&r.status==="started"?(r.endTime=Date.now(),r.duration=r.endTime-r.startTime,r.status="aborted",this.config.debug&&console.log(`[DEBUG] abortOperation: Aborted operation '${r.operation}' (ID: ${t}) after ${r.duration}ms`),this.emit("operation",r)):this.config.debug&&console.log(r?`[DEBUG] abortOperation: Warning - operation '${r.operation}' (ID: ${t}) was not in started state (status: ${r.status})`:`[DEBUG] abortOperation: Warning - operation with ID ${t} not found`)}getPerformanceStats(){let t=this.operationLog.filter(i=>i.duration!==void 0),r=t.reduce((i,s)=>i+(s.duration||0),0),n=new Map;for(let i of t){n.has(i.state)||n.set(i.state,{count:0,totalTime:0,operations:[]});let s=n.get(i.state);s.count++,s.totalTime+=i.duration||0,s.operations.push(i.operation)}return{totalOperations:this.operationLog.length,completedOperations:t.length,totalDurationMs:r,avgOperationTimeMs:t.length>0?r/t.length:0,operationsByState:Object.fromEntries(Array.from(n.entries()).map(([i,s])=>[i,{...s,avgTimeMs:s.count>0?s.totalTime/s.count:0}])),slowestOperations:t.sort((i,s)=>(s.duration||0)-(i.duration||0)).slice(0,5).map(i=>({operation:i.operation,state:i.state,durationMs:i.duration}))}}};var zi=48752,Qde=!1;async function Zde(e){return new Promise(t=>{let r=_9.createServer();r.listen(e,()=>{r.once("close",()=>{t(!0)}),r.close()}),r.on("error",()=>{t(!1)})})}async function efe(e){let t=e,r=100;for(let n=0;n<r;n++){if(await Zde(t))return t;t=Math.floor(Math.random()*16384)+49152}throw new Error(`Could not find an available port after ${r} attempts`)}function T9(e,t,r){if(e.jsonOutput){let n={type:"server_error",data:{error:t,details:r,timestamp:Date.now()}};console.log(JSON.stringify(n))}}var Bt;async function k9({sys:e,args:t}){process.env.FLY_APP_NAME&&A9.getCurrentScope().setContext("flyIo",{flyAppName:process.env.FLY_APP_NAME,flyMachineId:process.env.FLY_MACHINE_ID,flyRegion:process.env.FLY_REGION,flyPublicIp:process.env.FLY_PUBLIC_IP,flyVmMemoryMb:process.env.FLY_VM_MEMORY_MB,flyPrimaryRegion:process.env.PRIMARY_REGION}),console.log(),Gc((0,Mn.bgCyan)((0,Mn.bold)((0,Mn.white)(" fusion ")))+" "+(0,Mn.dim)(au));let r=await tfe(e,t),n=await dg(e,t),{app:i,proxyUrl:s,server:o}=await rfe(r,n);await nfe(e,n,t);let a=await ife(e,n,t);t.fusionInit&&a&&await Promise.race([a.ensureSetupCommand(),new Promise(c=>setTimeout(c,2e3))]),await sfe({sys:e,credentials:r,args:t,fusionConfig:n,proxyUrl:s,server:o,app:i,devServer:a}),await Be("launch",{...n,dev:!!t.dev})}async function tfe(e,t){let r;try{if(r=await rt(e,t,{builderPrivateKey:!0,builderPublicKey:!0}),!r.builderPublicKey||!r.builderPrivateKey){let n="You need to be logged in to use the fusion command.";return T9(t,n),te.error(n),Ce("Please login first with: npx builder.io login"),await Y(1)}te.success(`Logged in as space: ${r.spaceName||r.builderPublicKey}`)}catch(n){let i="Authentication failed.";return T9(t,i,n instanceof Error?n.message:String(n)),te.error(i),Ce("Please login first with: npx builder.io login"),await Y(1)}return r}async function rfe(e,t){let r=!!t.isLocal,n=zi;r&&(n=await efe(zi),n!==zi&&te.info(`\u26A0\uFE0F Port ${zi} is in use, using port ${n} instead`)),te.info(`\u{1F50D} Setting up Builder.io server on port ${n}`);let i=(0,S1.default)(),s=I9.createServer(i),o=e.builderPrivateKey,a=t.authenticateProxy??!1;Kc({app:i,validBuilderPrivateKey:o,authenticateProxy:a,isLocal:r});let c=`http://localhost:${n}`;return await new Promise((u,p)=>{s.listen(n,async()=>{te.success(`\u{1F680} Builder.io server running at ${c}`),u(!0)})}),{app:i,proxyUrl:c,server:s,availablePort:n}}async function nfe(e,t,r){let n=[];if(r.fusionInit){let a=function(u){let p="\u2588".repeat(Math.floor(u.progress/5)),d="\u2591".repeat(20-Math.floor(u.progress/5));te.info(`[${p}${d}] ${u.progress}% - ${u.message}`),u.error&&te.error(`Error: ${u.error}`),o=u};var i=a;let s=new sl({sys:e,fusionConfig:t,debug:!0,runSetupCommand:!1}),o;s.on("status",a);let c=await s.execute();if(c.errors.length===0||c.errors.every(u=>u.type==="soft-error"))n=c.errors;else{let u=s.getMetadata();return e.Sentry?.captureException(new Error(`Initialization failed: ${o?.message}`,{cause:new Error(JSON.stringify(u))}),{level:"fatal",contexts:{initStatus:{...o},initMetadata:u},extra:u}),await Y(1)}}return n}async function ife(e,t,r){if(r.serverUrl&&!r.command){te.info(`Proxying to existing dev server at ${(0,Mn.cyan)(t.serverUrl)}...`);return}else return te.info(`Running ${(0,Mn.cyan)(t.devCommand)} on host ${(0,Mn.cyan)(t.serverUrl)}...`),await uB(e,t,r.fusionInit?"not-installed":"installed")}async function sfe({sys:e,credentials:t,args:r,fusionConfig:n,app:i,server:s,proxyUrl:o,devServer:a}){try{let c=S1.default.Router();c.get("/status",(y,b)=>{b.status(200).json({status:"ok",editorReady:!0,state:a?.state,setupState:a?.setupState,devState:a?.devState})}),c.get("/proxy-status",async(y,b)=>{try{let v=a?.proxyTarget??n.serverUrl;(await fetch(v,{method:"HEAD"})).status===200?b.status(200).json({status:"ok"}):b.status(500).json({error:"Failed to check proxy status"})}catch{b.status(500).json({error:"Failed to check proxy status"})}}),c.post("/install-plugin",async(y,b)=>{try{let v=ec();if(v.jsxPlugin?.timestamp)return b.status(200).json({error:"JSX Plugin install already attempted. No action performed.",installStatus:v.jsxPlugin});let{installOutcome:E,error:x,timestamp:w}=await KM(e);Fe("jsxPlugin",{outcome:E,error:x,timestamp:w}),b.json({installOutcome:E})}catch(v){e.Sentry?.captureException(v),b.status(500).json({error:"Failed to install plugin"})}}),c.post("/git/pull-latest",async(y,b)=>{try{(0,P9.execSync)("git pull --rebase"),b.json({status:"ok"})}catch(v){e.Sentry?.captureException(v),b.status(500).json({error:"Failed to pull latest changes"})}}),c.post("/generate",async(y,b)=>{try{let{prompt:v,userMessage:E,context:{pushChanges:x}}=y.body;if(!v)return b.status(400).json({error:"No prompt provided"});b.setHeader("Content-Type","text/event-stream"),b.setHeader("Cache-Control","no-cache"),b.setHeader("Connection","keep-alive");let w=await N9(e,t,n,a,void 0,void 0),C=w.connectToEventLoop(!1,S=>{b.write(`data: ${JSON.stringify(S)}
3958
3958
 
3959
3959
  `)});try{let S=v;v.includes("[Visual Copilot Chat Message]")?S=`${v}
3960
3960
  Please respond in a conversational manner as Visual Copilot. If any code changes are needed, implement them.`:v.includes("Please apply this diff")?S=`${v}
@@ -3965,7 +3965,7 @@ Given that this is PR feedback, it is a one-way conversation. You should not exp
3965
3965
 
3966
3966
  `),b.end()):b.status(500).json({error:E})}}),c.post("/git/update-pr-description",async(y,b)=>{try{let{repoFullName:v,githubToken:E,prNumber:x,projectId:w,builderProjectBranchName:C}=y.body;if(!v||!E||!x)return b.status(400).json({error:"Missing required fields"});let S=await jh({repoFullName:v,githubToken:E,prNumber:x,projectId:w,sys:e,credentials:t,builderProjectBranchName:C,gitWorkingDirectory:Bt?.workingDirectory});b.json(S)}catch(v){console.error("Error updating PR description:",v),b.status(500).json({error:"Failed to update PR description",details:v instanceof Error?v.toString():String(v)})}});let l=Mh(n.serverUrl,e),u=a?(y,b,v)=>{let E=a.proxyMiddleware;E?E(y,b,v):b.status(500).json({error:"PROJECT NOT SET UP"})}:l;i.use("/",u),i.use(Bh,c);let p=v9({noServer:!0});s.on("upgrade",function(b,v,E){let{pathname:x}=new URL(b.url??"/","wss://base.url"),C=(a?.proxyMiddleware??l).upgrade;if(x===zc+"/ws"){let S=b.headers["sec-websocket-protocol"];if((!S||S!==t.builderPrivateKey)&&(e.Sentry?.captureMessage(`Unauthorized WebSocket connection attempt with key: ${S}`,"warning"),console.warn(`Unauthorized WebSocket connection attempt with key: ${S}`),Qde)){v.write(`HTTP/1.1 401 Unauthorized\r
3967
3967
  \r
3968
- `),v.destroy();return}p.handleUpgrade(b,v,E,function(F){F.emit("connection",F,b)})}else C?C(b,v,E):v.destroy()}),ofe({ws:p,sys:e,credentials:t,fusionConfig:n,devServer:a});let d=r.dev?"http://localhost:1234":"https://builder.io",h=new URL(`${d}/app/projects/local`);if(h.searchParams.set("localEditUrl",o),r.jsonOutput){let y={type:"server_ready",data:{proxyUrl:o,fusionEditorUrl:h.href,urlHost:d,command:n.devCommand,serverUrl:n.serverUrl,credentials:t}};console.log(JSON.stringify(y))}h.searchParams.set("localEditUrl",o);let m=await e.getDeviceId();m&&h.searchParams.set("host",m),t.builderPublicKey&&h.searchParams.set("spaceId",t.builderPublicKey),r.open===!1?console.log(`\u{1F517} Access Builder.io at: ${h.href}`):(te.info(`OPEN BROWSER: ${h.href}`),await Vc(h.href))}catch(c){e.Sentry?.captureException(c)}}function ofe({ws:e,sys:t,fusionConfig:r,credentials:n,devServer:i}){e.register("initializeSession",async o=>{let a,c;return typeof o[0]=="object"&&o[0]?{sessionId:a,commitMode:c}=o[0]:typeof o[0]=="string"&&(a=o[0]),typeof o[2]=="string"&&(c=o[2]),(await N9(t,n,r,i,a,c)).getSessionId()}),e.register("connectToEventLoop",async(o,a)=>{if(!Bt)throw new Error("Server not found");let c=e.clients().get(a);if(!c)throw new Error("Client not found");let l=Bt.getSessionId(),u=Bt.connectToEventLoop(!0,p=>{p&&!p.timestamp&&(p.timestamp=Date.now()),e.notify(`${l}/event`,a,[JSON.stringify(p)])});c.on("close",u)});function s(o){e.register(o,async([a,...c])=>{if(!Bt)throw new Error("Server not found");try{let l=Bt[o];if(typeof l!="function")throw new Error(`Method ${o} not found on codeGenServer`);return l.apply(Bt,c)}catch(l){throw t.Sentry?.captureException(l,{tags:{functionName:o},extra:{args:c}}),l}})}s("stopEventLoop"),s("abort"),s("abortSetupCommand"),s("getAllFiles"),s("sendFeedback"),s("sendMessage"),s("restoreBeforeCompletionId"),s("restoreAll"),s("restoreHEAD"),s("undoLastUserMessage"),s("pushChanges"),s("pullLatestFromRemote"),s("hasChangesRelativeToRemote"),s("setCommitMode"),s("createPR"),s("pushRepo"),s("setRepoUrl"),s("setPrUrl"),s("readFile"),s("writeFile"),s("deleteFile"),s("fileExists"),e.register("ping",()=>({version:au,supports:["customInstructions","newChat"]})),e.register("getBuilderRules",async()=>await t.readFile(t.resolve(Bt?.workingDirectory??t.getAppRootDir(),".builderrules"))),e.register("setBuilderRules",async o=>{let a=o[1];a?await t.writeFile(t.resolve(Bt?.workingDirectory??t.getAppRootDir(),".builderrules"),a):await t.unlink(t.resolve(Bt?.workingDirectory??t.getAppRootDir(),".builderrules"))})}async function N9(e,t,r,n,i,s){if(Bt&&i&&!r.isLocal&&Bt.getSessionId()!==i){if(Bt.prExists())throw new Error("You have an existing PR. Please close it before starting a new session.");Bt.close(),Bt=void 0}if(!Bt){let o;if(typeof r.workspace=="string"){let a=await Kh(e,r.workspace);o=a.workspace,r.workingDirectory=a.workingDirectory}else o=r.workspace;return Bt=new Mi({sys:e,credentials:t,position:"fusion",sessionOrCompletionId:i,mode:"quality-v3",maxTokens:8e4,workspace:o,mcpServers:!0,workingDirectory:r.workingDirectory,builtInCustomInstructions:[{id:"debugging-errors",name:"debugging-errors",type:"agent-mode",description:"If the user is experiencing an error, or debugging is mentioned by the user.",content:E9}],fusionContext:{devServerOrchestrator:n,allowedCommands:Gf(r.allowedCommands??[]),commitMode:s??r.commitMode,checkCommand:r.checkCommand,git:!!r.projectId,gitAutoInit:!0}}),r.projectId&&Bt.setDebug(!0),await Bt.initializeSession(),Bt}return Bt}f();var ta=q(require("@sentry/node"),1),O9=q(_p(),1),br=require("child_process"),ra=q(require("fs"),1),Es=q(it(),1);var T1=q(require("path"),1);var L9=e=>e==="BuilderIO/fusion-starter",afe=()=>{try{return(0,br.execSync)("git rev-parse --is-inside-work-tree",{cwd:Tn,stdio:"pipe"}),!0}catch{return!1}},F9=e=>e.replace(/https:\/\/[^@]+@/,"https://"),cfe=()=>{try{return(0,br.execSync)("git config --get remote.origin.url",{cwd:Tn,stdio:"pipe"}).toString().trim()}catch{return null}},R9=({args:e,repoFullName:t,sys:r})=>{try{te.info("Setting up git repository...");let n=new Set([e.branchName,null,"main","master"]),i=!1,s=0;for(let l of n){if(i)break;try{let u=L9(t),p=performance.now();if(ra.existsSync("/template"))te.info("Copying template..."),(0,br.execSync)("rm -rf /app/code && cp -a /template /app/code",{stdio:"ignore"});else{te.info("Cloning repository...");let d=l?` -b ${l}`:"",h=u?`git clone https://github.com/BuilderIO/fusion-starter.git ${Tn}`:`git clone${d} --depth 1 "${hu({repoFullName:t,githubToken:e.githubToken})}" ${Tn}`;te.info(`Cloning repository for branch "${l}"...`),(0,br.execSync)(h,{stdio:"pipe"})}s=performance.now()-p,i=!0,te.info(`Preparing repository took ${s}ms`);break}catch(u){let p=e.githubToken?u?.toString().replace(e.githubToken,"REDACTED_TOKEN"):u;l===null?(r.Sentry?.captureException(new Error("Error cloning repository's default branch",{cause:u}),{level:"warning"}),console.error(`Error cloning repository's default branch. ${p}`)):(r.Sentry?.captureException(new Error(`Error cloning repository for branch "${l}"`,{cause:u}),{level:"warning"}),console.error(`Error cloning repository for branch "${l}". ${p}`)),te.info("Trying next branch...")}}if(!i)return te.error("Failed to clone repository"),r.Sentry?.captureException(new Error("Failed to clone repository"),{level:"fatal",extra:{repoFullName:t,possibleBranches:Array.from(n),elapsedTime:s}}),Fe("gitRepo",{configured:!1,repo:t,error:"Failed to clone repository",elapsedTime:s}),!1;te.success("Repository cloned successfully");let o=process.cwd(),a=T1.default.join(o,Tn),c=X_(a);return Fe("gitRepo",{configured:!0,repo:t,branch:c,elapsedTime:s}),!0}catch(n){return r.Sentry?.captureException(n),te.error("Failed to clone repository"),!1}},lfe=e=>{try{return te.info("Setting up git user..."),(0,br.execSync)('git config user.email "builder-bot@builder.io" && git config user.name "Builder.io"',{stdio:"pipe"}),te.success("Git user configured"),Fe("gitUser",{configured:!0}),!0}catch(t){return e.Sentry?.captureException(t),te.error("Failed to set git user"),!1}},ufe=async({sys:e,_installCommand:t})=>{try{te.info("Installing dependencies...");let r=t||"npm install",n=r.includes("npm install")?r.replace("npm install","npm install --no-audit --prefer-offline"):r,i=(0,br.spawn)(n,{shell:!0,stdio:["ignore","pipe","pipe"],env:{...process.env,NO_COLOR:"1",FORCE_COLOR:"0",NPM_CONFIG_PROGRESS:"false",TERM:"dumb",CI:"true"}});return new Promise((s,o)=>{i.on("close",a=>{te.success("Dependencies installed successfully"),Fe("dependencies",{installed:!0}),s(!0)}),i.on("error",a=>{e.Sentry?.captureException(a),te.error("Failed to install dependencies"),o(a)})})}catch(r){return e.Sentry?.captureException(r),te.error("Failed to install dependencies"),!1}},pfe=e=>async t=>(console.log("Closing logs server..."),e.close(),await Y(t)),dfe=()=>{try{let e=process.env._;if(!e)return;let t=T1.default.join(e,"..","..","@builder.io/dev-tools/package.json");return ra.existsSync(t)?JSON.parse(ra.readFileSync(t,"utf8")).version:void 0}catch{return}};async function B9({args:e,sys:t}){process.env.FLY_APP_NAME&&(ta.getCurrentScope().setTag("flyAppName",process.env.FLY_APP_NAME),ta.getCurrentScope().setTag("flyMachineId",process.env.FLY_MACHINE_ID),ta.getCurrentScope().setTag("flyRegion",process.env.FLY_REGION),ta.getCurrentScope().setTag("flyPublicIp",process.env.FLY_PUBLIC_IP),ta.getCurrentScope().setTag("flyVmMemoryMb",process.env.FLY_VM_MEMORY_MB),ta.getCurrentScope().setTag("flyPrimaryRegion",process.env.PRIMARY_REGION));let r=dfe();Lh(),r&&Fe("devTools",{version:r}),console.log(`
3968
+ `),v.destroy();return}p.handleUpgrade(b,v,E,function(F){F.emit("connection",F,b)})}else C?C(b,v,E):v.destroy()}),ofe({ws:p,sys:e,credentials:t,fusionConfig:n,devServer:a});let d=r.dev?"http://localhost:1234":"https://builder.io",h=new URL(`${d}/app/projects/local`);if(h.searchParams.set("localEditUrl",o),r.jsonOutput){let y={type:"server_ready",data:{proxyUrl:o,fusionEditorUrl:h.href,urlHost:d,command:n.devCommand,serverUrl:n.serverUrl,credentials:t}};console.log(JSON.stringify(y))}h.searchParams.set("localEditUrl",o);let m=await e.getDeviceId();m&&h.searchParams.set("host",m),t.builderPublicKey&&h.searchParams.set("spaceId",t.builderPublicKey),r.open===!1?console.log(`\u{1F517} Access Builder.io at: ${h.href}`):(te.info(`OPEN BROWSER: ${h.href}`),await Vc(h.href))}catch(c){e.Sentry?.captureException(c)}}function ofe({ws:e,sys:t,fusionConfig:r,credentials:n,devServer:i}){e.register("initializeSession",async o=>{let a,c;return typeof o[0]=="object"&&o[0]?{sessionId:a,commitMode:c}=o[0]:typeof o[0]=="string"&&(a=o[0]),typeof o[2]=="string"&&(c=o[2]),(await N9(t,n,r,i,a,c)).getSessionId()}),e.register("connectToEventLoop",async(o,a)=>{if(!Bt)throw new Error("Server not found");let c=e.clients().get(a);if(!c)throw new Error("Client not found");let l=Bt.getSessionId(),u=Bt.connectToEventLoop(!0,p=>{p&&!p.timestamp&&(p.timestamp=Date.now()),e.notify(`${l}/event`,a,[JSON.stringify(p)])});c.on("close",u)});function s(o){e.register(o,async([a,...c])=>{if(!Bt)throw new Error("Server not found");try{let l=Bt[o];if(typeof l!="function")throw new Error(`Method ${o} not found on codeGenServer`);return l.apply(Bt,c)}catch(l){throw t.Sentry?.captureException(l,{tags:{functionName:o},extra:{args:c}}),l}})}s("stopEventLoop"),s("abort"),s("abortSetupCommand"),s("getAllFiles"),s("sendFeedback"),s("sendMessage"),s("restoreBeforeCompletionId"),s("restoreAll"),s("restoreHEAD"),s("undoLastUserMessage"),s("pushChanges"),s("pullLatestFromRemote"),s("hasChangesRelativeToRemote"),s("setCommitMode"),s("createPR"),s("pushRepo"),s("setRepoUrl"),s("setPrUrl"),s("readFile"),s("writeFile"),s("deleteFile"),s("fileExists"),e.register("ping",()=>({version:au,supports:["customInstructions","newChat"]})),e.register("getBuilderRules",async()=>await t.readFile(t.resolve(Bt?.workingDirectory??t.getAppRootDir(),".builderrules"))),e.register("setBuilderRules",async o=>{let a=o[1];a?await t.writeFile(t.resolve(Bt?.workingDirectory??t.getAppRootDir(),".builderrules"),a):await t.unlink(t.resolve(Bt?.workingDirectory??t.getAppRootDir(),".builderrules"))})}async function N9(e,t,r,n,i,s){if(Bt&&i&&Bt.getSessionId()!==i){if(Bt.prExists())throw new Error("You have an existing PR. Please close it before starting a new session.");await Bt.close(),Bt=void 0}if(!Bt){let o;if(typeof r.workspace=="string"){let a=await Kh(e,r.workspace);o=a.workspace,r.workingDirectory=a.workingDirectory}else o=r.workspace;return Bt=new Mi({sys:e,credentials:t,position:"fusion",sessionOrCompletionId:i,mode:"quality-v3",maxTokens:8e4,workspace:o,mcpServers:!0,workingDirectory:r.workingDirectory,builtInCustomInstructions:[{id:"debugging-errors",name:"debugging-errors",type:"agent-mode",description:"If the user is experiencing an error, or debugging is mentioned by the user.",content:E9}],fusionContext:{devServerOrchestrator:n,allowedCommands:Gf(r.allowedCommands??[]),commitMode:s??r.commitMode,checkCommand:r.checkCommand,git:!!r.projectId,gitAutoInit:!0}}),r.projectId&&Bt.setDebug(!0),await Bt.initializeSession(),Bt}return Bt}f();var ta=q(require("@sentry/node"),1),O9=q(_p(),1),br=require("child_process"),ra=q(require("fs"),1),Es=q(it(),1);var T1=q(require("path"),1);var L9=e=>e==="BuilderIO/fusion-starter",afe=()=>{try{return(0,br.execSync)("git rev-parse --is-inside-work-tree",{cwd:Tn,stdio:"pipe"}),!0}catch{return!1}},F9=e=>e.replace(/https:\/\/[^@]+@/,"https://"),cfe=()=>{try{return(0,br.execSync)("git config --get remote.origin.url",{cwd:Tn,stdio:"pipe"}).toString().trim()}catch{return null}},R9=({args:e,repoFullName:t,sys:r})=>{try{te.info("Setting up git repository...");let n=new Set([e.branchName,null,"main","master"]),i=!1,s=0;for(let l of n){if(i)break;try{let u=L9(t),p=performance.now();if(ra.existsSync("/template"))te.info("Copying template..."),(0,br.execSync)("rm -rf /app/code && cp -a /template /app/code",{stdio:"ignore"});else{te.info("Cloning repository...");let d=l?` -b ${l}`:"",h=u?`git clone https://github.com/BuilderIO/fusion-starter.git ${Tn}`:`git clone${d} --depth 1 "${hu({repoFullName:t,githubToken:e.githubToken})}" ${Tn}`;te.info(`Cloning repository for branch "${l}"...`),(0,br.execSync)(h,{stdio:"pipe"})}s=performance.now()-p,i=!0,te.info(`Preparing repository took ${s}ms`);break}catch(u){let p=e.githubToken?u?.toString().replace(e.githubToken,"REDACTED_TOKEN"):u;l===null?(r.Sentry?.captureException(new Error("Error cloning repository's default branch",{cause:u}),{level:"warning"}),console.error(`Error cloning repository's default branch. ${p}`)):(r.Sentry?.captureException(new Error(`Error cloning repository for branch "${l}"`,{cause:u}),{level:"warning"}),console.error(`Error cloning repository for branch "${l}". ${p}`)),te.info("Trying next branch...")}}if(!i)return te.error("Failed to clone repository"),r.Sentry?.captureException(new Error("Failed to clone repository"),{level:"fatal",extra:{repoFullName:t,possibleBranches:Array.from(n),elapsedTime:s}}),Fe("gitRepo",{configured:!1,repo:t,error:"Failed to clone repository",elapsedTime:s}),!1;te.success("Repository cloned successfully");let o=process.cwd(),a=T1.default.join(o,Tn),c=X_(a);return Fe("gitRepo",{configured:!0,repo:t,branch:c,elapsedTime:s}),!0}catch(n){return r.Sentry?.captureException(n),te.error("Failed to clone repository"),!1}},lfe=e=>{try{return te.info("Setting up git user..."),(0,br.execSync)('git config user.email "builder-bot@builder.io" && git config user.name "Builder.io"',{stdio:"pipe"}),te.success("Git user configured"),Fe("gitUser",{configured:!0}),!0}catch(t){return e.Sentry?.captureException(t),te.error("Failed to set git user"),!1}},ufe=async({sys:e,_installCommand:t})=>{try{te.info("Installing dependencies...");let r=t||"npm install",n=r.includes("npm install")?r.replace("npm install","npm install --no-audit --prefer-offline"):r,i=(0,br.spawn)(n,{shell:!0,stdio:["ignore","pipe","pipe"],env:{...process.env,NO_COLOR:"1",FORCE_COLOR:"0",NPM_CONFIG_PROGRESS:"false",TERM:"dumb",CI:"true"}});return new Promise((s,o)=>{i.on("close",a=>{te.success("Dependencies installed successfully"),Fe("dependencies",{installed:!0}),s(!0)}),i.on("error",a=>{e.Sentry?.captureException(a),te.error("Failed to install dependencies"),o(a)})})}catch(r){return e.Sentry?.captureException(r),te.error("Failed to install dependencies"),!1}},pfe=e=>async t=>(console.log("Closing logs server..."),e.close(),await Y(t)),dfe=()=>{try{let e=process.env._;if(!e)return;let t=T1.default.join(e,"..","..","@builder.io/dev-tools/package.json");return ra.existsSync(t)?JSON.parse(ra.readFileSync(t,"utf8")).version:void 0}catch{return}};async function B9({args:e,sys:t}){process.env.FLY_APP_NAME&&(ta.getCurrentScope().setTag("flyAppName",process.env.FLY_APP_NAME),ta.getCurrentScope().setTag("flyMachineId",process.env.FLY_MACHINE_ID),ta.getCurrentScope().setTag("flyRegion",process.env.FLY_REGION),ta.getCurrentScope().setTag("flyPublicIp",process.env.FLY_PUBLIC_IP),ta.getCurrentScope().setTag("flyVmMemoryMb",process.env.FLY_VM_MEMORY_MB),ta.getCurrentScope().setTag("flyPrimaryRegion",process.env.PRIMARY_REGION));let r=dfe();Lh(),r&&Fe("devTools",{version:r}),console.log(`
3969
3969
  Verifying authentication...`);let n;try{if(n=await rt(t,e,{builderPrivateKey:!0,builderPublicKey:!0}),!n.builderPublicKey||!n.builderPrivateKey)return te.error("You need to be logged in to use the launch command."),te.info("Please login first with: npx builder.io login"),await Y(1);te.success(`Logged in as space: ${n.spaceName||n.builderPublicKey}`)}catch{return te.error("Authentication failed."),te.info("Please login first with: npx builder.io login"),await Y(1)}let i=(0,O9.default)();Kc({app:i,validBuilderPrivateKey:n?.builderPrivateKey,authenticateProxy:!0,isLocal:!1}),console.log("Starting logs server...");let s=i.listen(zi,()=>{console.log(`\u{1F680} Builder.io logs server running at http://localhost:${zi}`)}),o=pfe(s),a=e.repoFullName||"BuilderIO/fusion-starter";try{Gc((0,Es.bgGreen)((0,Es.bold)((0,Es.white)(" Builder.io Initialization "))));let c=W_(e.volumePath);if(Fe("initialization",{started:!0,timestamp:new Date().toISOString()}),Fe("args",{repoFullName:e.repoFullName,branchName:e.branchName,volumePath:c}),!ra.existsSync(c))return te.error(`Directory ${c} does not exist`),Fe("volumeDirectory",{exists:!1}),await o(1);J_(c);let u=ra.existsSync(Tn);try{if(u)if(te.info(`Directory ${Tn} exists`),Fe("gitDirectory",{exists:!0}),afe()){te.info("Git is configured in directory"),Fe("gitRepo",{exists:!0});let p=cfe(),d=hu({repoFullName:a,githubToken:e.githubToken});if(p){let h=F9(p),m=F9(d);if(h===m)te.success("Git remote is already set to the correct repository"),Fe("gitRepo",{configured:!0,repo:a});else return te.warn(`Git remote is set to a different repository. Current: "${h}". Expected: "${m}".`),Fe("gitRepo",{configured:!1,error:"Remote mismatch",current:h,expected:m}),te.info("Attempting to set git remote to the correct URL..."),(0,br.execSync)(`git remote set-url origin ${d}`,{cwd:Tn,stdio:"pipe"}),te.success("Git remote set to the correct repository"),Fe("gitRepo",{configured:!0,repo:a}),await o(0)}else return te.warn("No git remote found."),Fe("gitRepo",{configured:!1,error:"No remote found"}),te.info("Attempting to fix by setting git remote..."),(0,br.execSync)(`git remote add origin ${d}`,{cwd:Tn,stdio:"pipe"}),te.success("Git remote set to the correct repository"),Fe("gitRepo",{configured:!0,repo:a}),await o(0)}else{te.info("Directory exists but is not a git repository"),te.info("Initializing git repository..."),Fe("gitRepo",{exists:!1});try{if(!R9({sys:t,args:e,repoFullName:a}))return Fe("gitRepo",{configured:!1,error:"Failed to configure"}),await o(1)}catch(p){return t.Sentry?.captureException(p),te.error("Failed to initialize git repository"),Fe("gitRepo",{configured:!1,error:"Initialization failed"}),await o(1)}}else if(te.info(`Directory ${Tn} does not exist, creating it...`),Fe("gitDirectory",{exists:!1,creating:!0}),!R9({sys:t,args:e,repoFullName:a}))return Fe("gitRepo",{configured:!1,error:"Failed to configure"}),await o(1)}catch(p){let d=p instanceof Error?p.message:typeof p=="string"?p:"Failed to configure git repository";return te.error(d),Fe("gitRepo",{configured:!1,error:d}),await o(1)}if(Y_(),!lfe(t))return Fe("gitUser",{configured:!1}),await o(1);L9(a)&&((0,br.execSync)("git checkout --orphan temp_branch",{stdio:"pipe"}),(0,br.execSync)("git add .",{stdio:"pipe"}),(0,br.execSync)("git commit -m 'initialize project'",{stdio:"pipe"}),(0,br.execSync)("git branch -D main",{stdio:"pipe"}),(0,br.execSync)("git branch -m main",{stdio:"pipe"}));try{await ufe({sys:t,_installCommand:e.installCommand})||Fe("dependencies",{installed:!1});try{(0,br.execSync)("git stash --include-untracked",{stdio:"pipe"})}catch{return te.warn("Failed to stash changes. Ignoring error"),Fe("stash",{completed:!1}),await o(0)}Fe("stash",{completed:!0})}catch(p){return t.Sentry?.captureException(p),te.error("Failed to install dependencies"),Fe("dependencies",{installed:!1,error:p.message||"Installation failed"}),await o(1)}return Fe("initialization",{completed:!0,timestamp:new Date().toISOString(),success:!0}),Fp((0,Es.bgGreen)((0,Es.bold)((0,Es.white)(" Initialization complete! ")))),await o(0)}catch(c){t.Sentry?.captureException(c),te.error("Failed to initialize codebase");try{Fe?.("initialization",{completed:!0,timestamp:new Date().toISOString(),success:!1,error:c.message||"Initialization failed"})}catch{}return await o(1)}}var Jp=q(it(),1),Y9=q(it(),1),fg=q(it(),1),ol=q(it(),1);f();var $n=q(it(),1);var j9=q(require("crypto"),1);f();var M9=`# Component Repository Analysis and Grouping
3970
3970
 
3971
3971
  ## Objective